From 386defcc1db8544d5ca2ba4a2f9cb0c9148e756c Mon Sep 17 00:00:00 2001 From: darshan-sj Date: Wed, 18 Oct 2023 15:02:33 +0530 Subject: [PATCH] Pubsub notificaiton setup for low downtime migration (#656) * Pubsub notificaiton setup and cleanup * reverting config json commit * ui resources * Refactoring methods * addressing comments * addressing comments * addressing comments * Introducing DataflowOutput struct for StartMigration method * Documenting required permissions * Documenting architecture * Adding note * Moving notes to top * Updating the note * updating readme and updating subfolder creation logic * updating error log message * using zap logger --- README.md | 5 + conversion/conversion.go | 19 +- docs/index.md | 3 + docs/minimal/minimal.md | 4 +- docs/permissions.md | 22 +- internal/convert.go | 14 + sources/common/infoschema.go | 2 +- sources/dynamodb/schema.go | 4 +- sources/mysql/infoschema.go | 21 +- sources/oracle/infoschema.go | 21 +- sources/postgres/infoschema.go | 23 +- sources/spanner/infoschema.go | 4 +- sources/sqlserver/infoschema.go | 4 +- streaming/streaming.go | 279 ++++++++++++++---- ui/dist/ui/index.html | 2 +- ...9c592f206d.js => main.5614d3df47e8a559.js} | 2 +- .../prepare-migration.component.html | 20 ++ .../prepare-migration.component.ts | 14 +- ui/src/app/model/migrate.ts | 6 + webv2/web.go | 38 ++- 20 files changed, 410 insertions(+), 97 deletions(-) rename ui/dist/ui/{main.28afd99c592f206d.js => main.5614d3df47e8a559.js} (78%) diff --git a/README.md b/README.md index f72aa3cc8..f9af7ba15 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ [![integration-tests-against-emulator](https://github.com/GoogleCloudPlatform/spanner-migration-tool/actions/workflows/integration-tests-against-emulator.yaml/badge.svg)](https://github.com/GoogleCloudPlatform/spanner-migration-tool/actions/workflows/integration-tests-against-emulator.yaml) [![code-coverage-check](https://github.com/GoogleCloudPlatform/spanner-migration-tool/actions/workflows/test-coverage.yaml/badge.svg)](https://github.com/GoogleCloudPlatform/spanner-migration-tool/actions/workflows/test-coverage.yaml) [![codecov](https://codecov.io/gh/GoogleCloudPlatform/spanner-migration-tool/graph/badge.svg?token=HY9RCUlxzm)](https://codecov.io/gh/GoogleCloudPlatform/spanner-migration-tool) + +> [!IMPORTANT] +> We have changed architecture of the minimal downtime migration and added Pub/Sub notifications component. There are some changes in required permissions because of the new component. Please go through [Permissions page](https://googlecloudplatform.github.io/spanner-migration-tool/permissions.html) and [design page](https://googlecloudplatform.github.io/spanner-migration-tool/minimal) of the documentation. + + ## Overview Spanner migration tool is a stand-alone open source tool for Cloud Spanner evaluation and diff --git a/conversion/conversion.go b/conversion/conversion.go index 645f45b9c..3c476e47a 100644 --- a/conversion/conversion.go +++ b/conversion/conversion.go @@ -298,10 +298,14 @@ func dataFromDatabase(ctx context.Context, sourceProfile profiles.SourceProfile, if err != nil { return nil, err } - err = infoSchema.StartStreamingMigration(ctx, client, conv, streamInfo) + dfOutput, err := infoSchema.StartStreamingMigration(ctx, client, conv, streamInfo) if err != nil { return nil, err } + dfJobId := dfOutput.JobID + gcloudCmd := dfOutput.GCloudCmd + streamingCfg, _ := streamInfo["streamingCfg"].(streaming.StreamingCfg) + streaming.StoreGeneratedResources(conv, streamingCfg, dfJobId, gcloudCmd, targetProfile.Conn.Sp.Project, "") return bw, nil } return performSnapshotMigration(config, conv, client, infoSchema, internal.AdditionalDataAttributes{ShardId: ""}), nil @@ -321,6 +325,7 @@ func dataFromDatabaseForDMSMigration() (*writer.BatchWriter, error) { func dataFromDatabaseForDataflowMigration(targetProfile profiles.TargetProfile, ctx context.Context, sourceProfile profiles.SourceProfile, conv *internal.Conv) (*writer.BatchWriter, error) { updateShardsWithDataflowConfig(sourceProfile.Config.ShardConfigurationDataflow) conv.Audit.StreamingStats.ShardToDataStreamNameMap = make(map[string]string) + conv.Audit.StreamingStats.ShardToPubsubIdMap = make(map[string]internal.PubsubCfg) conv.Audit.StreamingStats.ShardToDataflowInfoMap = make(map[string]internal.ShardedDataflowJobResources) tableList, err := common.GetIncludedSrcTablesFromConv(conv) if err != nil { @@ -348,13 +353,21 @@ func dataFromDatabaseForDataflowMigration(targetProfile profiles.TargetProfile, return common.TaskResult[*profiles.DataShard]{Result: p, Err: err} } fmt.Printf("Initiating migration for shard: %v\n", p.DataShardId) - + pubsubCfg, err := streaming.CreatePubsubResources(ctx, targetProfile.Conn.Sp.Project, streamingCfg.DatastreamCfg.DestinationConnectionConfig, targetProfile.Conn.Sp.Dbname) + if err != nil { + return common.TaskResult[*profiles.DataShard]{Result: p, Err: err} + } + streamingCfg.PubsubCfg = *pubsubCfg err = streaming.LaunchStream(ctx, sourceProfile, p.LogicalShards, targetProfile.Conn.Sp.Project, streamingCfg.DatastreamCfg) if err != nil { return common.TaskResult[*profiles.DataShard]{Result: p, Err: err} } streamingCfg.DataflowCfg.DbNameToShardIdMap = dbNameToShardIdMap - err = streaming.StartDataflow(ctx, targetProfile, streamingCfg, conv) + dfOutput, err := streaming.StartDataflow(ctx, targetProfile, streamingCfg, conv) + if err != nil { + return common.TaskResult[*profiles.DataShard]{Result: p, Err: err} + } + streaming.StoreGeneratedResources(conv, streamingCfg, dfOutput.JobID, dfOutput.GCloudCmd, targetProfile.Conn.Sp.Project, p.DataShardId) return common.TaskResult[*profiles.DataShard]{Result: p, Err: err} } _, err = common.RunParallelTasks(sourceProfile.Config.ShardConfigurationDataflow.DataShards, 20, asyncProcessShards, true) diff --git a/docs/index.md b/docs/index.md index 24d6002c9..3b21105b3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,6 +17,9 @@ Spanner migration tool (SMT) is a stand-alone open source tool for Cloud Spanner --- +{: .highlight } +We have changed architecture of the minimal downtime migration and added Pub/Sub notifications component. There are changes on required permissions to run the migrations because of the new component. Please go through [Permissions page](./permissions.md) and [design page](./minimal/minimal.md) of the documentation. + Spanner migration tool is a stand-alone open source tool for Cloud Spanner evaluation and migration, using data from an existing PostgreSQL, MySQL, SQL Server, Oracle or DynamoDB database. The tool ingests schema and data from either a pg_dump/mysqldump file or directly diff --git a/docs/minimal/minimal.md b/docs/minimal/minimal.md index aa8f5636f..e603aa548 100644 --- a/docs/minimal/minimal.md +++ b/docs/minimal/minimal.md @@ -12,7 +12,7 @@ permalink: /minimal {: .note } Minimal downtime migrations are only supported for MySQL, Postgres and Oracle source databases. -A minimal downtime migration consists of two components, migration of existing data from the database and the stream of changes (writes and updates) that are made to the source database during migration, referred to as change database capture (CDC). Using Spanner migration tool, the entire process where Datastream reads data from the source database and writes to a GCS bucket and data flow reads data from GCS bucket and writes to spanner database can be orchestrated using a unified interface. Performing schema changes on the source database during the migration is not supported. This is the suggested mode of migration for most databases. +A minimal downtime migration consists of two components, migration of existing data from the database and the stream of changes (writes and updates) that are made to the source database during migration, referred to as change database capture (CDC). The process of migration involves Datastream reading data from the source database and writing to a GCS bucket, then GCS publishing a notification to Pub/Sub topic on each new file, then a Dataflow job when notified by the Pub/Sub subscription about the new file, reading the data from GCS bucket and writing to spanner database. With Spanner migration tool, this entire process can be orchestrated using a unified interface. Performing schema changes on the source database during the migration is not supported. This is the suggested mode of migration for most databases. ![](https://services.google.com/fh/files/helpcenter/asset-ripjb7eowf.png) @@ -23,7 +23,7 @@ Sharded migrations are currently only supported for MySQL. Spanner migration tool supports sharded migrations for MySQL. Spanner migration tool does this is by multiplexing a minimal downtime migration across multiple shards. It uses the user configured schema while transforming the data read from each shard, at the time of writing to Spanner automatically. This provides an integrated experience to perform an end-to-end sharded migration. Below is the architecture of how sharded migrations work: -![](https://services.google.com/fh/files/misc/smt_shard_arch.png) +![](https://services.google.com/fh/files/misc/hb_sharded_migrations_with_pubsub_1.png) ### Terminology diff --git a/docs/permissions.md b/docs/permissions.md index 0137496d4..48c196ba9 100644 --- a/docs/permissions.md +++ b/docs/permissions.md @@ -39,6 +39,11 @@ Ensure that Datastream and Dataflow apis are enabled on your project. ```sh gcloud services enable storage.googleapis.com ``` +5. Enable the Pub/Sub api by using: + + ```sh + gcloud services enable pubsub.googleapis.com + ``` ### Configuring connectivity for `spanner-migration-tool` @@ -127,6 +132,20 @@ Grant the user **Editor role** to create buckets in the project. Enable access to Datastream, Dataflow and Spanner using [service accounts](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances). +### Pub/Sub + +Grant the user [**Pub/Sub Editor**](https://cloud.google.com/pubsub/docs/access-control#pubsub.editor) to create Pub/Sub topic and subscription for low downtime migrations. + +Additionally, we need to grant Pub/Sub publisher permission to GCS service agent. This will enable GCS to push a notification to a Pub/Sub topic whenever a new file is created. Refer to [this](https://cloud.google.com/storage/docs/reporting-changes#before-you-begin) page for more details. +1. Get the GCS service agent id using the following command: + ```sh + gcloud storage service-agent --project= + ``` +2. Grant pubsub publisher role to the service agent using the following command: + ```sh + gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount: --role=roles/pubsub.publisher + ``` + ### Other Permissions In addition to these, the `DatastreamToSpanner` pipeline created by SMT requires @@ -142,4 +161,5 @@ the following roles as well: - Cloud Spanner Database user - Cloud Spanner Restore Admin - Cloud Spanner Viewer - - Dataflow Worker \ No newline at end of file + - Dataflow Worker + - Pub/Sub Subscriber \ No newline at end of file diff --git a/internal/convert.go b/internal/convert.go index 5f005eeba..115f36721 100644 --- a/internal/convert.go +++ b/internal/convert.go @@ -205,6 +205,20 @@ type streamingStats struct { DataflowGcloudCmd string ShardToDataStreamNameMap map[string]string ShardToDataflowInfoMap map[string]ShardedDataflowJobResources + PubsubCfg PubsubCfg + ShardToPubsubIdMap map[string]PubsubCfg +} + +type PubsubCfg struct { + TopicId string + SubscriptionId string + NotificationId string + BucketName string +} + +type DataflowOutput struct { + JobID string + GCloudCmd string } // Stores information related to rules during schema conversion diff --git a/sources/common/infoschema.go b/sources/common/infoschema.go index 2495fa0ee..3e821b744 100644 --- a/sources/common/infoschema.go +++ b/sources/common/infoschema.go @@ -41,7 +41,7 @@ type InfoSchema interface { GetIndexes(conv *internal.Conv, table SchemaAndName, colNameIdMp map[string]string) ([]schema.Index, error) ProcessData(conv *internal.Conv, tableId string, srcSchema schema.Table, spCols []string, spSchema ddl.CreateTable, additionalAttributes internal.AdditionalDataAttributes) error StartChangeDataCapture(ctx context.Context, conv *internal.Conv) (map[string]interface{}, error) - StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamInfo map[string]interface{}) error + StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamInfo map[string]interface{}) (internal.DataflowOutput, error) } // SchemaAndName contains the schema and name for a table diff --git a/sources/dynamodb/schema.go b/sources/dynamodb/schema.go index 581a7af76..7c332e30e 100644 --- a/sources/dynamodb/schema.go +++ b/sources/dynamodb/schema.go @@ -219,7 +219,7 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte // StartStreamingMigration starts the streaming migration process by creating a seperate // worker thread/goroutine for each table's DynamoDB Stream. It catches Ctrl+C signal if // customer wants to stop the process. -func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, latestStreamArn map[string]interface{}) error { +func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, latestStreamArn map[string]interface{}) (internal.DataflowOutput, error) { fmt.Println("Processing of DynamoDB Streams started...") fmt.Println("Use Ctrl+C to stop the process.") @@ -243,7 +243,7 @@ func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *s fillConvWithStreamingStats(streamInfo, conv) fmt.Println("DynamoDB Streams processed successfully.") - return nil + return internal.DataflowOutput{}, nil } func getSchemaIndexStruct(indexName string, keySchema []*dynamodb.KeySchemaElement, colNameIdMap map[string]string) schema.Index { diff --git a/sources/mysql/infoschema.go b/sources/mysql/infoschema.go index 12e7d1303..a3bd76f66 100644 --- a/sources/mysql/infoschema.go +++ b/sources/mysql/infoschema.go @@ -364,10 +364,19 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte mp := make(map[string]interface{}) var ( tableList []string - err error + err error ) tableList, err = common.GetIncludedSrcTablesFromConv(conv) - streamingCfg, err := streaming.StartDatastream(ctx, isi.SourceProfile, isi.TargetProfile, tableList) + streamingCfg, err := streaming.ReadStreamingConfig(isi.SourceProfile.Conn.Mysql.StreamingConfig, isi.TargetProfile.Conn.Sp.Dbname, tableList) + if err != nil { + return nil, fmt.Errorf("error reading streaming config: %v", err) + } + pubsubCfg, err := streaming.CreatePubsubResources(ctx, isi.TargetProfile.Conn.Sp.Project, streamingCfg.DatastreamCfg.DestinationConnectionConfig, isi.SourceProfile.Conn.Mysql.Db) + if err != nil { + return nil, fmt.Errorf("error creating pubsub resources: %v", err) + } + streamingCfg.PubsubCfg = *pubsubCfg + streamingCfg, err = streaming.StartDatastream(ctx, streamingCfg, isi.SourceProfile, isi.TargetProfile, tableList) if err != nil { err = fmt.Errorf("error starting datastream: %v", err) return nil, err @@ -378,15 +387,15 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte // StartStreamingMigration is used for automatic triggering of Dataflow job when // performing a streaming migration. -func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) error { +func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) (internal.DataflowOutput, error) { streamingCfg, _ := streamingInfo["streamingCfg"].(streaming.StreamingCfg) - err := streaming.StartDataflow(ctx, isi.TargetProfile, streamingCfg, conv) + dfOutput, err := streaming.StartDataflow(ctx, isi.TargetProfile, streamingCfg, conv) if err != nil { err = fmt.Errorf("error starting dataflow: %v", err) - return err + return internal.DataflowOutput{}, err } - return nil + return dfOutput, nil } func toType(dataType string, columnType string, charLen sql.NullInt64, numericPrecision, numericScale sql.NullInt64) schema.Type { diff --git a/sources/oracle/infoschema.go b/sources/oracle/infoschema.go index 8f499cebf..49b2f8622 100644 --- a/sources/oracle/infoschema.go +++ b/sources/oracle/infoschema.go @@ -428,10 +428,19 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte mp := make(map[string]interface{}) var ( tableList []string - err error + err error ) tableList, err = common.GetIncludedSrcTablesFromConv(conv) - streamingCfg, err := streaming.StartDatastream(ctx, isi.SourceProfile, isi.TargetProfile, tableList) + streamingCfg, err := streaming.ReadStreamingConfig(isi.SourceProfile.Conn.Oracle.StreamingConfig, isi.TargetProfile.Conn.Sp.Dbname, tableList) + if err != nil { + return nil, fmt.Errorf("error reading streaming config: %v", err) + } + pubsubCfg, err := streaming.CreatePubsubResources(ctx, isi.TargetProfile.Conn.Sp.Project, streamingCfg.DatastreamCfg.DestinationConnectionConfig, isi.SourceProfile.Conn.Oracle.User) + if err != nil { + return nil, fmt.Errorf("error creating pubsub resources: %v", err) + } + streamingCfg.PubsubCfg = *pubsubCfg + streamingCfg, err = streaming.StartDatastream(ctx, streamingCfg, isi.SourceProfile, isi.TargetProfile, tableList) if err != nil { err = fmt.Errorf("error starting datastream: %v", err) return nil, err @@ -442,13 +451,13 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte // StartStreamingMigration is used for automatic triggering of Dataflow job when // performing a streaming migration. -func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) error { +func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) (internal.DataflowOutput, error) { streamingCfg, _ := streamingInfo["streamingCfg"].(streaming.StreamingCfg) - err := streaming.StartDataflow(ctx, isi.TargetProfile, streamingCfg, conv) + dfOutput, err := streaming.StartDataflow(ctx, isi.TargetProfile, streamingCfg, conv) if err != nil { - return err + return internal.DataflowOutput{}, err } - return nil + return dfOutput, nil } func toType(dataType string, typecode, elementDataType sql.NullString, charLen sql.NullInt64, numericPrecision, numericScale, elementCharMaxLen, elementNumericPrecision, elementNumericScale sql.NullInt64) schema.Type { diff --git a/sources/postgres/infoschema.go b/sources/postgres/infoschema.go index 00bc49dfa..01104710b 100644 --- a/sources/postgres/infoschema.go +++ b/sources/postgres/infoschema.go @@ -63,13 +63,22 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte mp := make(map[string]interface{}) var ( tableList []string - err error + err error ) tableList, err = common.GetIncludedSrcTablesFromConv(conv) if err != nil { err = fmt.Errorf("error fetching the tableList to setup datastream migration, defaulting to all tables: %v", err) } - streamingCfg, err := streaming.StartDatastream(ctx, isi.SourceProfile, isi.TargetProfile, tableList) + streamingCfg, err := streaming.ReadStreamingConfig(isi.SourceProfile.Conn.Pg.StreamingConfig, isi.TargetProfile.Conn.Sp.Dbname, tableList) + if err != nil { + return nil, fmt.Errorf("error reading streaming config: %v", err) + } + pubsubCfg, err := streaming.CreatePubsubResources(ctx, isi.TargetProfile.Conn.Sp.Project, streamingCfg.DatastreamCfg.DestinationConnectionConfig, isi.TargetProfile.Conn.Sp.Dbname) + if err != nil { + return nil, fmt.Errorf("error creating pubsub resources: %v", err) + } + streamingCfg.PubsubCfg = *pubsubCfg + streamingCfg, err = streaming.StartDatastream(ctx, streamingCfg, isi.SourceProfile, isi.TargetProfile, tableList) if err != nil { err = fmt.Errorf("error starting datastream: %v", err) return nil, err @@ -78,19 +87,17 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte return mp, err } - - // StartStreamingMigration is used for automatic triggering of Dataflow job when // performing a streaming migration. -func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) error { +func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) (internal.DataflowOutput, error) { streamingCfg, _ := streamingInfo["streamingCfg"].(streaming.StreamingCfg) - err := streaming.StartDataflow(ctx, isi.TargetProfile, streamingCfg, conv) + dfOutput, err := streaming.StartDataflow(ctx, isi.TargetProfile, streamingCfg, conv) if err != nil { err = fmt.Errorf("error starting dataflow: %v", err) - return err + return internal.DataflowOutput{}, err } - return nil + return dfOutput, nil } // GetToDdl function below implement the common.InfoSchema interface. diff --git a/sources/spanner/infoschema.go b/sources/spanner/infoschema.go index 0dd13e36c..63de7d713 100644 --- a/sources/spanner/infoschema.go +++ b/sources/spanner/infoschema.go @@ -79,8 +79,8 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte return nil, nil } -func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *spanner.Client, conv *internal.Conv, streamingInfo map[string]interface{}) error { - return nil +func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *spanner.Client, conv *internal.Conv, streamingInfo map[string]interface{}) (internal.DataflowOutput, error) { + return internal.DataflowOutput{}, nil } // GetTableName returns table name. diff --git a/sources/sqlserver/infoschema.go b/sources/sqlserver/infoschema.go index 9605c13a5..a5e226647 100644 --- a/sources/sqlserver/infoschema.go +++ b/sources/sqlserver/infoschema.go @@ -58,8 +58,8 @@ func (isi InfoSchemaImpl) StartChangeDataCapture(ctx context.Context, conv *inte return nil, nil } -func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) error { - return nil +func (isi InfoSchemaImpl) StartStreamingMigration(ctx context.Context, client *sp.Client, conv *internal.Conv, streamingInfo map[string]interface{}) (internal.DataflowOutput, error) { + return internal.DataflowOutput{}, nil } // GetTableName returns table name. diff --git a/streaming/streaming.go b/streaming/streaming.go index c333784c7..538c6a443 100644 --- a/streaming/streaming.go +++ b/streaming/streaming.go @@ -25,6 +25,7 @@ import ( dataflow "cloud.google.com/go/dataflow/apiv1beta3" datastream "cloud.google.com/go/datastream/apiv1" + "cloud.google.com/go/pubsub" "cloud.google.com/go/storage" datastreampb "google.golang.org/genproto/googleapis/cloud/datastream/v1" dataflowpb "google.golang.org/genproto/googleapis/dataflow/v1beta3" @@ -85,6 +86,7 @@ type StreamingCfg struct { DatastreamCfg DatastreamCfg DataflowCfg DataflowCfg TmpDir string + PubsubCfg internal.PubsubCfg DataShardId string } @@ -275,6 +277,140 @@ func getSourceStreamConfig(srcCfg *datastreampb.SourceConfig, sourceProfile prof } } +func CreatePubsubResources(ctx context.Context, projectID string, datastreamDestinationConnCfg DstConnCfg, dbName string) (*internal.PubsubCfg, error) { + pubsubClient, err := pubsub.NewClient(ctx, projectID) + if err != nil { + return nil, fmt.Errorf("pubsub client can not be created: %v", err) + } + defer pubsubClient.Close() + + // Create pubsub topic and subscription + pubsubCfg, err := createPubsubTopicAndSubscription(ctx, pubsubClient, dbName) + if err != nil { + logger.Log.Error(fmt.Sprintf("Could not create pubsub resources. Some permissions missing. Please check https://googlecloudplatform.github.io/spanner-migration-tool/permissions.html for required pubsub permissions. error=%v", err)) + return nil, err + } + + // Fetch the created target profile and get the target gcs bucket name and path. + // Then create notification for the target bucket. + // Creating datastream client to fetch target profile. + dsClient, err := datastream.NewClient(ctx) + if err != nil { + return nil, fmt.Errorf("datastream client can not be created: %v", err) + } + defer dsClient.Close() + + bucketName, prefix, err := fetchTargetBucketAndPath(ctx, dsClient, projectID, datastreamDestinationConnCfg) + if err != nil { + return nil, err + } + + // Create pubsub notification on the target gcs path + storageClient, err := storage.NewClient(ctx) + if err != nil { + return nil, fmt.Errorf("GCS client can not be created: %v", err) + } + defer storageClient.Close() + + notificationID, err := createNotificationOnBucket(ctx, storageClient, projectID, pubsubCfg.TopicId, bucketName, prefix) + if err != nil { + logger.Log.Error(fmt.Sprintf("Could not create pubsub resources. Some permissions missing. Please check https://googlecloudplatform.github.io/spanner-migration-tool/permissions.html for required pubsub permissions. error=%v", err)) + return nil, err + } + pubsubCfg.BucketName = bucketName + pubsubCfg.NotificationId = notificationID + logger.Log.Info(fmt.Sprintf("Successfully created pubsub topic id=%s, subscription id=%s, notification for bucket=%s with id=%s.\n", pubsubCfg.TopicId, pubsubCfg.SubscriptionId, bucketName, notificationID)) + return &pubsubCfg, nil +} + +func createPubsubTopicAndSubscription(ctx context.Context, pubsubClient *pubsub.Client, dbName string) (internal.PubsubCfg, error) { + pubsubCfg := internal.PubsubCfg{} + // Generate ID + subscriptionId, err := utils.GenerateName("smt-sub-" + dbName) + if err != nil { + return pubsubCfg, fmt.Errorf("error generating pubsub subscription ID: %v", err) + } + pubsubCfg.SubscriptionId = subscriptionId + + topicId, err := utils.GenerateName("smt-topic-" + dbName) + if err != nil { + return pubsubCfg, fmt.Errorf("error generating pubsub topic ID: %v", err) + } + pubsubCfg.TopicId = topicId + + // Create Topic and Subscription + topicObj, err := pubsubClient.CreateTopic(ctx, pubsubCfg.TopicId) + if err != nil { + return pubsubCfg, fmt.Errorf("pubsub topic could not be created: %v", err) + } + + _, err = pubsubClient.CreateSubscription(ctx, pubsubCfg.SubscriptionId, pubsub.SubscriptionConfig{ + Topic: topicObj, + AckDeadline: time.Minute * 10, + RetentionDuration: time.Hour * 24 * 7, + }) + if err != nil { + return pubsubCfg, fmt.Errorf("pubsub subscription could not be created: %v", err) + } + return pubsubCfg, nil +} + +func fetchTargetBucketAndPath(ctx context.Context, datastreamClient *datastream.Client, projectID string, datastreamDestinationConnCfg DstConnCfg) (string, string, error) { + dstProf := fmt.Sprintf("projects/%s/locations/%s/connectionProfiles/%s", projectID, datastreamDestinationConnCfg.Location, datastreamDestinationConnCfg.Name) + res, err := datastreamClient.GetConnectionProfile(ctx, &datastreampb.GetConnectionProfileRequest{Name: dstProf}) + if err != nil { + return "", "", fmt.Errorf("could not get connection profiles: %v", err) + } + // Fetch the GCS path from the target connection profile. + gcsProfile := res.Profile.(*datastreampb.ConnectionProfile_GcsProfile).GcsProfile + bucketName := gcsProfile.Bucket + prefix := gcsProfile.RootPath + datastreamDestinationConnCfg.Prefix + prefix = concatDirectoryPath(prefix, "data/") + return bucketName, prefix, nil +} + +func createNotificationOnBucket(ctx context.Context, storageClient *storage.Client, projectID, topicID, bucketName, prefix string) (string, error) { + notification := storage.Notification{ + TopicID: topicID, + TopicProjectID: projectID, + PayloadFormat: storage.JSONPayload, + ObjectNamePrefix: prefix, + } + + createdNotification, err := storageClient.Bucket(bucketName).AddNotification(ctx, ¬ification) + if err != nil { + return "", fmt.Errorf("GCS Notification could not be created: %v", err) + } + return createdNotification.ID, nil +} + +func concatDirectoryPath(basePath, subPath string) string { + // ensure basPath doesn't start with '/' and ends with '/' + if basePath == "" || basePath == "/" { + basePath = "" + } else { + if basePath[0] == '/' { + basePath = basePath[1:] + } + if basePath[len(basePath)-1] != '/' { + basePath = basePath + "/" + } + } + // ensure subPath doesn't start with '/' ends with '/' + if subPath == "" || subPath == "/" { + subPath = "" + } else { + if subPath[0] == '/' { + subPath = subPath[1:] + } + if subPath[len(subPath)-1] != '/' { + subPath = subPath + "/" + } + } + path := fmt.Sprintf("%s%s", basePath, subPath) + return path +} + // LaunchStream populates the parameters from the streaming config and triggers a stream on Cloud Datastream. func LaunchStream(ctx context.Context, sourceProfile profiles.SourceProfile, dbList []profiles.LogicalShard, projectID string, datastreamCfg DatastreamCfg) error { fmt.Println("Launching stream ", fmt.Sprintf("projects/%s/locations/%s", projectID, datastreamCfg.StreamLocation)) @@ -284,9 +420,11 @@ func LaunchStream(ctx context.Context, sourceProfile profiles.SourceProfile, dbL } defer dsClient.Close() fmt.Println("Created client...") + prefix := datastreamCfg.DestinationConnectionConfig.Prefix + prefix = concatDirectoryPath(prefix, "data") gcsDstCfg := &datastreampb.GcsDestinationConfig{ - Path: datastreamCfg.DestinationConnectionConfig.Prefix, + Path: prefix, FileFormat: &datastreampb.GcsDestinationConfig_AvroFileFormat{}, } srcCfg := &datastreampb.SourceConfig{ @@ -361,6 +499,17 @@ func CleanUpStreamingJobs(ctx context.Context, conv *internal.Conv, projectID, r return fmt.Errorf("datastream client can not be created: %v", err) } defer dsClient.Close() + pubsubClient, err := pubsub.NewClient(ctx, projectID) + if err != nil { + return fmt.Errorf("pubsub client cannot be created: %v", err) + } + defer pubsubClient.Close() + + storageClient, err := storage.NewClient(ctx) + if err != nil { + return fmt.Errorf("storage client cannot be created: %v", err) + } + defer storageClient.Close() //clean up for single instance migrations if conv.Audit.StreamingStats.DataflowJobId != "" { @@ -369,6 +518,9 @@ func CleanUpStreamingJobs(ctx context.Context, conv *internal.Conv, projectID, r if conv.Audit.StreamingStats.DataStreamName != "" { CleanupDatastream(ctx, dsClient, conv.Audit.StreamingStats.DataStreamName, projectID, region) } + if conv.Audit.StreamingStats.PubsubCfg.TopicId != "" && !conv.IsSharded { + CleanupPubsubResources(ctx, pubsubClient, storageClient, conv.Audit.StreamingStats.PubsubCfg, projectID) + } // clean up jobs for sharded migrations (with error handling) for _, resourceDetails := range conv.Audit.StreamingStats.ShardToDataflowInfoMap { dfId := resourceDetails.JobId @@ -383,10 +535,41 @@ func CleanUpStreamingJobs(ctx context.Context, conv *internal.Conv, projectID, r fmt.Printf("Cleanup of the datastream: %s was unsuccessful, please clean up the stream manually", dsName) } } + for _, pubsubCfg := range conv.Audit.StreamingStats.ShardToPubsubIdMap { + CleanupPubsubResources(ctx, pubsubClient, storageClient, pubsubCfg, projectID) + } fmt.Println("Clean up complete") return nil } +func CleanupPubsubResources(ctx context.Context, pubsubClient *pubsub.Client, storageClient *storage.Client, pubsubCfg internal.PubsubCfg, projectID string) { + subscription := pubsubClient.Subscription(pubsubCfg.SubscriptionId) + + err := subscription.Delete(ctx) + if err != nil { + logger.Log.Error(fmt.Sprintf("Cleanup of the pubsub subscription: %s Failed, please clean up the pubsub subscription manually\n error=%v\n", pubsubCfg.SubscriptionId, err)) + } else { + logger.Log.Info(fmt.Sprintf("Successfully deleted subscription: %s\n\n", pubsubCfg.SubscriptionId)) + } + + topic := pubsubClient.Topic(pubsubCfg.TopicId) + + err = topic.Delete(ctx) + if err != nil { + logger.Log.Error(fmt.Sprintf("Cleanup of the pubsub topic: %s Failed, please clean up the pubsub topic manually\n error=%v\n", pubsubCfg.TopicId, err)) + } else { + logger.Log.Info(fmt.Sprintf("Successfully deleted topic: %s\n\n", pubsubCfg.TopicId)) + } + + bucket := storageClient.Bucket(pubsubCfg.BucketName) + + if err := bucket.DeleteNotification(ctx, pubsubCfg.NotificationId); err != nil { + logger.Log.Error(fmt.Sprintf("Cleanup of GCS pubsub notification: %s failed.\n error=%v\n", pubsubCfg.NotificationId, err)) + } else { + logger.Log.Info(fmt.Sprintf("Successfully deleted GCS pubsub notification: %s\n\n", pubsubCfg.NotificationId)) + } +} + func CleanupDatastream(ctx context.Context, client *datastream.Client, dsName string, projectID, region string) error { req := &datastreampb.DeleteStreamRequest{ Name: fmt.Sprintf("projects/%s/locations/%s/streams/%s", projectID, region, dsName), @@ -420,7 +603,7 @@ func CleanupDataflowJob(ctx context.Context, client *dataflow.JobsV1Beta3Client, } // LaunchDataflowJob populates the parameters from the streaming config and triggers a Dataflow job. -func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile, streamingCfg StreamingCfg, conv *internal.Conv) error { +func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile, streamingCfg StreamingCfg, conv *internal.Conv) (internal.DataflowOutput, error) { project, instance, dbName, _ := targetProfile.GetResourceIds(ctx, time.Now(), "", nil) dataflowCfg := streamingCfg.DataflowCfg datastreamCfg := streamingCfg.DatastreamCfg @@ -428,7 +611,7 @@ func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile c, err := dataflow.NewFlexTemplatesClient(ctx) if err != nil { - return fmt.Errorf("could not create flex template client: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("could not create flex template client: %v", err) } defer c.Close() fmt.Println("Created flex template client...") @@ -436,7 +619,7 @@ func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile //Creating datastream client to fetch the gcs bucket using target profile. dsClient, err := datastream.NewClient(ctx) if err != nil { - return fmt.Errorf("datastream client can not be created: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("datastream client can not be created: %v", err) } defer dsClient.Close() @@ -444,7 +627,7 @@ func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile dstProf := fmt.Sprintf("projects/%s/locations/%s/connectionProfiles/%s", project, datastreamCfg.DestinationConnectionConfig.Location, datastreamCfg.DestinationConnectionConfig.Name) res, err := dsClient.GetConnectionProfile(ctx, &datastreampb.GetConnectionProfileRequest{Name: dstProf}) if err != nil { - return fmt.Errorf("could not get connection profiles: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("could not get connection profiles: %v", err) } gcsProfile := res.Profile.(*datastreampb.ConnectionProfile_GcsProfile).GcsProfile inputFilePattern := "gs://" + gcsProfile.Bucket + gcsProfile.RootPath + datastreamCfg.DestinationConnectionConfig.Prefix @@ -467,7 +650,7 @@ func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile if dataflowCfg.Network != "" { workerIpAddressConfig = dataflowpb.WorkerIPAddressConfiguration_WORKER_IP_PRIVATE if dataflowCfg.Subnetwork == "" { - return fmt.Errorf("if network is specified, subnetwork cannot be empty") + return internal.DataflowOutput{}, fmt.Errorf("if network is specified, subnetwork cannot be empty") } else { dataflowSubnetwork = fmt.Sprintf("https://www.googleapis.com/compute/v1/projects/%s/regions/%s/subnetworks/%s", dataflowHostProjectId, dataflowCfg.Location, dataflowCfg.Subnetwork) } @@ -476,35 +659,35 @@ func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile if dataflowCfg.MaxWorkers != "" { intVal, err := strconv.ParseInt(dataflowCfg.MaxWorkers, 10, 64) if err != nil { - return fmt.Errorf("could not parse MaxWorkers parameter %s, please provide a positive integer as input", dataflowCfg.MaxWorkers) + return internal.DataflowOutput{}, fmt.Errorf("could not parse MaxWorkers parameter %s, please provide a positive integer as input", dataflowCfg.MaxWorkers) } maxWorkers = int32(intVal) if maxWorkers < MIN_WORKER_LIMIT || maxWorkers > MAX_WORKER_LIMIT { - return fmt.Errorf("maxWorkers should lie in the range [%d, %d]", MIN_WORKER_LIMIT, MAX_WORKER_LIMIT) + return internal.DataflowOutput{}, fmt.Errorf("maxWorkers should lie in the range [%d, %d]", MIN_WORKER_LIMIT, MAX_WORKER_LIMIT) } } if dataflowCfg.NumWorkers != "" { intVal, err := strconv.ParseInt(dataflowCfg.NumWorkers, 10, 64) if err != nil { - return fmt.Errorf("could not parse NumWorkers parameter %s, please provide a positive integer as input", dataflowCfg.NumWorkers) + return internal.DataflowOutput{}, fmt.Errorf("could not parse NumWorkers parameter %s, please provide a positive integer as input", dataflowCfg.NumWorkers) } numWorkers = int32(intVal) if numWorkers < MIN_WORKER_LIMIT || numWorkers > MAX_WORKER_LIMIT { - return fmt.Errorf("numWorkers should lie in the range [%d, %d]", MIN_WORKER_LIMIT, MAX_WORKER_LIMIT) + return internal.DataflowOutput{}, fmt.Errorf("numWorkers should lie in the range [%d, %d]", MIN_WORKER_LIMIT, MAX_WORKER_LIMIT) } } launchParameters := &dataflowpb.LaunchFlexTemplateParameter{ JobName: dataflowCfg.JobName, Template: &dataflowpb.LaunchFlexTemplateParameter_ContainerSpecGcsPath{ContainerSpecGcsPath: "gs://dataflow-templates-southamerica-west1/2023-09-12-00_RC00/flex/Cloud_Datastream_to_Spanner"}, Parameters: map[string]string{ - "inputFilePattern": inputFilePattern, - "streamName": fmt.Sprintf("projects/%s/locations/%s/streams/%s", project, datastreamCfg.StreamLocation, datastreamCfg.StreamId), - "instanceId": instance, - "databaseId": dbName, - "sessionFilePath": streamingCfg.TmpDir + "session.json", - "deadLetterQueueDirectory": inputFilePattern + "dlq", - "transformationContextFilePath": streamingCfg.TmpDir + "transformationContext.json", - "directoryWatchDurationInMinutes": "480", // Setting directory watch timeout to 8 hours + "inputFilePattern": concatDirectoryPath(inputFilePattern, "data"), + "streamName": fmt.Sprintf("projects/%s/locations/%s/streams/%s", project, datastreamCfg.StreamLocation, datastreamCfg.StreamId), + "instanceId": instance, + "databaseId": dbName, + "sessionFilePath": streamingCfg.TmpDir + "session.json", + "deadLetterQueueDirectory": inputFilePattern + "dlq", + "transformationContextFilePath": streamingCfg.TmpDir + "transformationContext.json", + "gcsPubSubSubscription": fmt.Sprintf("projects/%s/subscriptions/%s", project, streamingCfg.PubsubCfg.SubscriptionId), }, Environment: &dataflowpb.FlexTemplateRuntimeEnvironment{ MaxWorkers: maxWorkers, @@ -527,45 +710,37 @@ func LaunchDataflowJob(ctx context.Context, targetProfile profiles.TargetProfile respDf, err := c.LaunchFlexTemplate(ctx, req) if err != nil { fmt.Printf("flexTemplateRequest: %+v\n", req) - return fmt.Errorf("unable to launch template: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("unable to launch template: %v", err) } gcloudDfCmd := utils.GetGcloudDataflowCommand(req) logger.Log.Debug(fmt.Sprintf("\nEquivalent gCloud command for job %s:\n%s\n\n", req.LaunchParameter.JobName, gcloudDfCmd)) - storeGeneratedResources(conv, datastreamCfg, respDf, gcloudDfCmd, project, streamingCfg.DataShardId) - return nil + return internal.DataflowOutput{JobID: respDf.Job.Id, GCloudCmd: gcloudDfCmd}, nil } -func storeGeneratedResources(conv *internal.Conv, datastreamCfg DatastreamCfg, respDf *dataflowpb.LaunchFlexTemplateResponse, gcloudDataflowCmd string, project string, dataShardId string) { +func StoreGeneratedResources(conv *internal.Conv, streamingCfg StreamingCfg, dfJobId, gcloudDataflowCmd, project, dataShardId string) { + datastreamCfg := streamingCfg.DatastreamCfg + dataflowCfg := streamingCfg.DataflowCfg conv.Audit.StreamingStats.DataStreamName = datastreamCfg.StreamId - conv.Audit.StreamingStats.DataflowJobId = respDf.Job.Id + conv.Audit.StreamingStats.DataflowJobId = dfJobId conv.Audit.StreamingStats.DataflowGcloudCmd = gcloudDataflowCmd + conv.Audit.StreamingStats.PubsubCfg = streamingCfg.PubsubCfg if dataShardId != "" { var resourceMutex sync.Mutex resourceMutex.Lock() conv.Audit.StreamingStats.ShardToDataStreamNameMap[dataShardId] = datastreamCfg.StreamId - conv.Audit.StreamingStats.ShardToDataflowInfoMap[dataShardId] = internal.ShardedDataflowJobResources{JobId: respDf.Job.Id, GcloudCmd: gcloudDataflowCmd} + conv.Audit.StreamingStats.ShardToDataflowInfoMap[dataShardId] = internal.ShardedDataflowJobResources{JobId: dfJobId, GcloudCmd: gcloudDataflowCmd} + conv.Audit.StreamingStats.ShardToPubsubIdMap[dataShardId] = streamingCfg.PubsubCfg resourceMutex.Unlock() } fullStreamName := fmt.Sprintf("projects/%s/locations/%s/streams/%s", project, datastreamCfg.StreamLocation, datastreamCfg.StreamId) - dfJobDetails := fmt.Sprintf("project: %s, location: %s, name: %s, id: %s", project, respDf.Job.Location, respDf.Job.Name, respDf.Job.Id) - fmt.Println("\n------------------------------------------\n" + - "The Datastream job: " + fullStreamName + "and the Dataflow job: " + dfJobDetails + + dfJobDetails := fmt.Sprintf("project: %s, location: %s, name: %s, id: %s", project, dataflowCfg.Location, dataflowCfg.JobName, dfJobId) + logger.Log.Info("\n------------------------------------------\n") + logger.Log.Info("The Datastream job: " + fullStreamName + " ,the Dataflow job: " + dfJobDetails + + " the Pubsub topic: " + streamingCfg.PubsubCfg.TopicId + " ,the subscription: " + streamingCfg.PubsubCfg.SubscriptionId + + " and the pubsub Notification id:" + streamingCfg.PubsubCfg.NotificationId + " on bucket: " + streamingCfg.PubsubCfg.BucketName + " will have to be manually cleaned up via the UI. Spanner migration tool will not delete them post completion of the migration.") } -func getStreamingConfig(sourceProfile profiles.SourceProfile, targetProfile profiles.TargetProfile, tableList []string) (StreamingCfg, error) { - switch sourceProfile.Conn.Ty { - case profiles.SourceProfileConnectionTypeMySQL: - return ReadStreamingConfig(sourceProfile.Conn.Mysql.StreamingConfig, targetProfile.Conn.Sp.Dbname, tableList) - case profiles.SourceProfileConnectionTypeOracle: - return ReadStreamingConfig(sourceProfile.Conn.Oracle.StreamingConfig, targetProfile.Conn.Sp.Dbname, tableList) - case profiles.SourceProfileConnectionTypePostgreSQL: - return ReadStreamingConfig(sourceProfile.Conn.Pg.StreamingConfig, targetProfile.Conn.Sp.Dbname, tableList) - default: - return StreamingCfg{}, fmt.Errorf("only MySQL, Oracle and PostgreSQL are supported as source streams") - } -} - func CreateStreamingConfig(pl profiles.DataShard) StreamingCfg { //create dataflowcfg from pl receiver object inputDataflowConfig := pl.DataflowConfig @@ -592,11 +767,7 @@ func CreateStreamingConfig(pl profiles.DataShard) StreamingCfg { return streamingCfg } -func StartDatastream(ctx context.Context, sourceProfile profiles.SourceProfile, targetProfile profiles.TargetProfile, tableList []string) (StreamingCfg, error) { - streamingCfg, err := getStreamingConfig(sourceProfile, targetProfile, tableList) - if err != nil { - return streamingCfg, fmt.Errorf("error reading streaming config: %v", err) - } +func StartDatastream(ctx context.Context, streamingCfg StreamingCfg, sourceProfile profiles.SourceProfile, targetProfile profiles.TargetProfile, tableList []string) (StreamingCfg, error) { driver := sourceProfile.Driver var dbList []profiles.LogicalShard switch driver { @@ -607,37 +778,37 @@ func StartDatastream(ctx context.Context, sourceProfile profiles.SourceProfile, case constants.POSTGRES: dbList = append(dbList, profiles.LogicalShard{DbName: streamingCfg.DatastreamCfg.Properties}) } - err = LaunchStream(ctx, sourceProfile, dbList, targetProfile.Conn.Sp.Project, streamingCfg.DatastreamCfg) + err := LaunchStream(ctx, sourceProfile, dbList, targetProfile.Conn.Sp.Project, streamingCfg.DatastreamCfg) if err != nil { return streamingCfg, fmt.Errorf("error launching stream: %v", err) } return streamingCfg, nil } -func StartDataflow(ctx context.Context, targetProfile profiles.TargetProfile, streamingCfg StreamingCfg, conv *internal.Conv) error { +func StartDataflow(ctx context.Context, targetProfile profiles.TargetProfile, streamingCfg StreamingCfg, conv *internal.Conv) (internal.DataflowOutput, error) { convJSON, err := json.MarshalIndent(conv, "", " ") if err != nil { - return fmt.Errorf("can't encode session state to JSON: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("can't encode session state to JSON: %v", err) } err = utils.WriteToGCS(streamingCfg.TmpDir, "session.json", string(convJSON)) if err != nil { - return fmt.Errorf("error while writing to GCS: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("error while writing to GCS: %v", err) } transformationContextMap := map[string]interface{}{ "SchemaToShardId": streamingCfg.DataflowCfg.DbNameToShardIdMap, } transformationContext, err := json.Marshal(transformationContextMap) if err != nil { - return fmt.Errorf("failed to compute transformation context: %s", err.Error()) + return internal.DataflowOutput{}, fmt.Errorf("failed to compute transformation context: %s", err.Error()) } err = utils.WriteToGCS(streamingCfg.TmpDir, "transformationContext.json", string(transformationContext)) if err != nil { - return fmt.Errorf("error while writing to GCS: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("error while writing to GCS: %v", err) } - err = LaunchDataflowJob(ctx, targetProfile, streamingCfg, conv) + dfOutput, err := LaunchDataflowJob(ctx, targetProfile, streamingCfg, conv) if err != nil { - return fmt.Errorf("error launching dataflow: %v", err) + return internal.DataflowOutput{}, fmt.Errorf("error launching dataflow: %v", err) } - return nil + return dfOutput, nil } diff --git a/ui/dist/ui/index.html b/ui/dist/ui/index.html index 6175e2bed..b0f0d539d 100644 --- a/ui/dist/ui/index.html +++ b/ui/dist/ui/index.html @@ -10,6 +10,6 @@ - + \ No newline at end of file diff --git a/ui/dist/ui/main.28afd99c592f206d.js b/ui/dist/ui/main.5614d3df47e8a559.js similarity index 78% rename from ui/dist/ui/main.28afd99c592f206d.js rename to ui/dist/ui/main.5614d3df47e8a559.js index c2cd2074e..ac69f3af6 100644 --- a/ui/dist/ui/main.28afd99c592f206d.js +++ b/ui/dist/ui/main.5614d3df47e8a559.js @@ -1 +1 @@ -(self.webpackChunkui=self.webpackChunkui||[]).push([[179],{640:(Zl,G,Te)=>{"use strict";function H(t){return"function"==typeof t}function R(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const A=R(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,o)=>`${o+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function x(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class k{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const r of e)r.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(H(i))try{i()}catch(r){n=r instanceof A?r.errors:[r]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const r of o)try{U(r)}catch(s){n=null!=n?n:[],s instanceof A?n=[...n,...s.errors]:n.push(s)}}if(n)throw new A(n)}}add(n){var e;if(n&&n!==this)if(this.closed)U(n);else{if(n instanceof k){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&x(e,n)}remove(n){const{_finalizers:e}=this;e&&x(e,n),n instanceof k&&n._removeParent(this)}}k.EMPTY=(()=>{const t=new k;return t.closed=!0,t})();const $=k.EMPTY;function q(t){return t instanceof k||t&&"closed"in t&&H(t.remove)&&H(t.add)&&H(t.unsubscribe)}function U(t){H(t)?t():t.unsubscribe()}const z={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},T={setTimeout(t,n,...e){const{delegate:i}=T;return(null==i?void 0:i.setTimeout)?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=T;return((null==n?void 0:n.clearTimeout)||clearTimeout)(t)},delegate:void 0};function L(t){T.setTimeout(()=>{const{onUnhandledError:n}=z;if(!n)throw t;n(t)})}function S(){}const P=W("C",void 0,void 0);function W(t,n,e){return{kind:t,value:n,error:e}}let te=null;function J(t){if(z.useDeprecatedSynchronousErrorHandling){const n=!te;if(n&&(te={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=te;if(te=null,e)throw i}}else t()}class he extends k{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,q(n)&&n.add(this)):this.destination=ge}static create(n,e,i){return new at(n,e,i)}next(n){this.isStopped?w(function B(t){return W("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?w(function I(t){return W("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?w(P,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ee=Function.prototype.bind;function ue(t,n){return Ee.call(t,n)}class Ve{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){j(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){j(i)}else j(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){j(e)}}}class at extends he{constructor(n,e,i){let o;if(super(),H(n)||!n)o={next:null!=n?n:void 0,error:null!=e?e:void 0,complete:null!=i?i:void 0};else{let r;this&&z.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&ue(n.next,r),error:n.error&&ue(n.error,r),complete:n.complete&&ue(n.complete,r)}):o=n}this.destination=new Ve(o)}}function j(t){z.useDeprecatedSynchronousErrorHandling?function ye(t){z.useDeprecatedSynchronousErrorHandling&&te&&(te.errorThrown=!0,te.error=t)}(t):L(t)}function w(t,n){const{onStoppedNotification:e}=z;e&&T.setTimeout(()=>e(t,n))}const ge={closed:!0,next:S,error:function fe(t){throw t},complete:S},bt="function"==typeof Symbol&&Symbol.observable||"@@observable";function Me(t){return t}let Ue=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,o){const r=function ut(t){return t&&t instanceof he||function re(t){return t&&H(t.next)&&H(t.error)&&H(t.complete)}(t)&&q(t)}(e)?e:new at(e,i,o);return J(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=ae(i))((o,r)=>{const s=new at({next:a=>{try{e(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:o});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[bt](){return this}pipe(...e){return function Ie(t){return 0===t.length?Me:1===t.length?t[0]:function(e){return t.reduce((i,o)=>o(i),e)}}(e)(this)}toPromise(e){return new(e=ae(e))((i,o)=>{let r;this.subscribe(s=>r=s,s=>o(s),()=>i(r))})}}return t.create=n=>new t(n),t})();function ae(t){var n;return null!==(n=null!=t?t:z.Promise)&&void 0!==n?n:Promise}const qe=R(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ie=(()=>{class t extends Ue{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new vn(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new qe}next(e){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:o,observers:r}=this;return i||o?$:(this.currentObservers=null,r.push(e),new k(()=>{this.currentObservers=null,x(r,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:o,isStopped:r}=this;i?e.error(o):r&&e.complete()}asObservable(){const e=new Ue;return e.source=this,e}}return t.create=(n,e)=>new vn(n,e),t})();class vn extends ie{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:$}}function ei(t){return H(null==t?void 0:t.lift)}function nt(t){return n=>{if(ei(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function st(t,n,e,i,o){return new zn(t,n,e,i,o)}class zn extends he{constructor(n,e,i,o,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function je(t,n){return nt((e,i)=>{let o=0;e.subscribe(st(i,r=>{i.next(t.call(n,r,o++))}))})}function Ui(t){return this instanceof Ui?(this.v=t,this):new Ui(t)}function yn(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,i=e.apply(t,n||[]),r=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(v){i[v]&&(o[v]=function(C){return new Promise(function(M,V){r.push([v,C,M,V])>1||a(v,C)})})}function a(v,C){try{!function l(v){v.value instanceof Ui?Promise.resolve(v.value.v).then(u,p):g(r[0][2],v)}(i[v](C))}catch(M){g(r[0][3],M)}}function u(v){a("next",v)}function p(v){a("throw",v)}function g(v,C){v(C),r.shift(),r.length&&a(r[0][0],r[0][1])}}function Ma(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function Xt(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(r){e[r]=t[r]&&function(s){return new Promise(function(a,l){!function o(r,s,a,l){Promise.resolve(l).then(function(u){r({value:u,done:a})},s)}(a,l,(s=t[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Xp=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function jv(t){return H(null==t?void 0:t.then)}function Hv(t){return H(t[bt])}function Uv(t){return Symbol.asyncIterator&&H(null==t?void 0:t[Symbol.asyncIterator])}function zv(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const $v=function CI(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Gv(t){return H(null==t?void 0:t[$v])}function Wv(t){return yn(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:o}=yield Ui(e.read());if(o)return yield Ui(void 0);yield yield Ui(i)}}finally{e.releaseLock()}})}function qv(t){return H(null==t?void 0:t.getReader)}function yi(t){if(t instanceof Ue)return t;if(null!=t){if(Hv(t))return function wI(t){return new Ue(n=>{const e=t[bt]();if(H(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(Xp(t))return function DI(t){return new Ue(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,L)})}(t);if(Uv(t))return Kv(t);if(Gv(t))return function MI(t){return new Ue(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(qv(t))return function xI(t){return Kv(Wv(t))}(t)}throw zv(t)}function Kv(t){return new Ue(n=>{(function TI(t,n){var e,i,o,r;return function Re(t,n,e,i){return new(e||(e=Promise))(function(r,s){function a(p){try{u(i.next(p))}catch(g){s(g)}}function l(p){try{u(i.throw(p))}catch(g){s(g)}}function u(p){p.done?r(p.value):function o(r){return r instanceof e?r:new e(function(s){s(r)})}(p.value).then(a,l)}u((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=Ma(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=e.return)&&(yield r.call(e))}finally{if(o)throw o.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function kr(t,n,e,i=0,o=!1){const r=n.schedule(function(){e(),o?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(r),!o)return r}function $n(t,n,e=1/0){return H(n)?$n((i,o)=>je((r,s)=>n(i,r,o,s))(yi(t(i,o))),e):("number"==typeof n&&(e=n),nt((i,o)=>function kI(t,n,e,i,o,r,s,a){const l=[];let u=0,p=0,g=!1;const v=()=>{g&&!l.length&&!u&&n.complete()},C=V=>u{r&&n.next(V),u++;let K=!1;yi(e(V,p++)).subscribe(st(n,Y=>{null==o||o(Y),r?C(Y):n.next(Y)},()=>{K=!0},void 0,()=>{if(K)try{for(u--;l.length&&uM(Y)):M(Y)}v()}catch(Y){n.error(Y)}}))};return t.subscribe(st(n,C,()=>{g=!0,v()})),()=>{null==a||a()}}(i,o,t,e)))}function Ql(t=1/0){return $n(Me,t)}const vo=new Ue(t=>t.complete());function Zv(t){return t&&H(t.schedule)}function Jp(t){return t[t.length-1]}function Qv(t){return H(Jp(t))?t.pop():void 0}function Yl(t){return Zv(Jp(t))?t.pop():void 0}function Yv(t,n=0){return nt((e,i)=>{e.subscribe(st(i,o=>kr(i,t,()=>i.next(o),n),()=>kr(i,t,()=>i.complete(),n),o=>kr(i,t,()=>i.error(o),n)))})}function Xv(t,n=0){return nt((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function Jv(t,n){if(!t)throw new Error("Iterable cannot be null");return new Ue(e=>{kr(e,n,()=>{const i=t[Symbol.asyncIterator]();kr(e,n,()=>{i.next().then(o=>{o.done?e.complete():e.next(o.value)})},0,!0)})})}function ui(t,n){return n?function NI(t,n){if(null!=t){if(Hv(t))return function OI(t,n){return yi(t).pipe(Xv(n),Yv(n))}(t,n);if(Xp(t))return function PI(t,n){return new Ue(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(jv(t))return function AI(t,n){return yi(t).pipe(Xv(n),Yv(n))}(t,n);if(Uv(t))return Jv(t,n);if(Gv(t))return function RI(t,n){return new Ue(e=>{let i;return kr(e,n,()=>{i=t[$v](),kr(e,n,()=>{let o,r;try{({value:o,done:r}=i.next())}catch(s){return void e.error(s)}r?e.complete():e.next(o)},0,!0)}),()=>H(null==i?void 0:i.return)&&i.return()})}(t,n);if(qv(t))return function FI(t,n){return Jv(Wv(t),n)}(t,n)}throw zv(t)}(t,n):yi(t)}function Tn(...t){const n=Yl(t),e=function II(t,n){return"number"==typeof Jp(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?yi(i[0]):Ql(e)(ui(i,n)):vo}function ey(t={}){const{connector:n=(()=>new ie),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:o=!0}=t;return r=>{let s,a,l,u=0,p=!1,g=!1;const v=()=>{null==a||a.unsubscribe(),a=void 0},C=()=>{v(),s=l=void 0,p=g=!1},M=()=>{const V=s;C(),null==V||V.unsubscribe()};return nt((V,K)=>{u++,!g&&!p&&v();const Y=l=null!=l?l:n();K.add(()=>{u--,0===u&&!g&&!p&&(a=ef(M,o))}),Y.subscribe(K),!s&&u>0&&(s=new at({next:ee=>Y.next(ee),error:ee=>{g=!0,v(),a=ef(C,e,ee),Y.error(ee)},complete:()=>{p=!0,v(),a=ef(C,i),Y.complete()}}),yi(V).subscribe(s))})(r)}}function ef(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new at({next:()=>{i.unsubscribe(),t()}});return yi(n(...e)).subscribe(i)}function ln(t){for(let n in t)if(t[n]===ln)return n;throw Error("Could not find renamed property on target object.")}function tf(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function tn(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(tn).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function nf(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const LI=ln({__forward_ref__:ln});function zt(t){return t.__forward_ref__=zt,t.toString=function(){return tn(this())},t}function Mt(t){return ty(t)?t():t}function ty(t){return"function"==typeof t&&t.hasOwnProperty(LI)&&t.__forward_ref__===zt}class Qe extends Error{constructor(n,e){super(function rf(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function Dt(t){return"string"==typeof t?t:null==t?"":String(t)}function Ii(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():Dt(t)}function $d(t,n){const e=n?` in ${n}`:"";throw new Qe(-201,`No provider for ${Ii(t)} found${e}`)}function no(t,n){null==t&&function mn(t,n,e,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${e} ${i} ${n} <=Actual]`))}(n,t,null,"!=")}function Be(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function it(t){return{providers:t.providers||[],imports:t.imports||[]}}function sf(t){return ny(t,Gd)||ny(t,oy)}function ny(t,n){return t.hasOwnProperty(n)?t[n]:null}function iy(t){return t&&(t.hasOwnProperty(af)||t.hasOwnProperty($I))?t[af]:null}const Gd=ln({\u0275prov:ln}),af=ln({\u0275inj:ln}),oy=ln({ngInjectableDef:ln}),$I=ln({ngInjectorDef:ln});var yt=(()=>((yt=yt||{})[yt.Default=0]="Default",yt[yt.Host=1]="Host",yt[yt.Self=2]="Self",yt[yt.SkipSelf=4]="SkipSelf",yt[yt.Optional=8]="Optional",yt))();let lf;function as(t){const n=lf;return lf=t,n}function ry(t,n,e){const i=sf(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&yt.Optional?null:void 0!==n?n:void $d(tn(t),"Injector")}function ls(t){return{toString:t}.toString()}var Ho=(()=>((Ho=Ho||{})[Ho.OnPush=0]="OnPush",Ho[Ho.Default=1]="Default",Ho))(),Uo=(()=>{return(t=Uo||(Uo={}))[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",Uo;var t})();const WI="undefined"!=typeof globalThis&&globalThis,qI="undefined"!=typeof window&&window,KI="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,on=WI||"undefined"!=typeof global&&global||qI||KI,Ta={},cn=[],Wd=ln({\u0275cmp:ln}),cf=ln({\u0275dir:ln}),df=ln({\u0275pipe:ln}),sy=ln({\u0275mod:ln}),Ir=ln({\u0275fac:ln}),Xl=ln({__NG_ELEMENT_ID__:ln});let ZI=0;function Oe(t){return ls(()=>{const e={},i={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Ho.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||cn,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||Uo.Emulated,id:"c",styles:t.styles||cn,_:null,setInput:null,schemas:t.schemas||null,tView:null},o=t.directives,r=t.features,s=t.pipes;return i.id+=ZI++,i.inputs=dy(t.inputs,e),i.outputs=dy(t.outputs),r&&r.forEach(a=>a(i)),i.directiveDefs=o?()=>("function"==typeof o?o():o).map(ay):null,i.pipeDefs=s?()=>("function"==typeof s?s():s).map(ly):null,i})}function ay(t){return Ci(t)||function cs(t){return t[cf]||null}(t)}function ly(t){return function zs(t){return t[df]||null}(t)}const cy={};function ot(t){return ls(()=>{const n={type:t.type,bootstrap:t.bootstrap||cn,declarations:t.declarations||cn,imports:t.imports||cn,exports:t.exports||cn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(cy[t.id]=t.type),n})}function dy(t,n){if(null==t)return Ta;const e={};for(const i in t)if(t.hasOwnProperty(i)){let o=t[i],r=o;Array.isArray(o)&&(r=o[1],o=o[0]),e[o]=i,n&&(n[o]=r)}return e}const oe=Oe;function zi(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function Ci(t){return t[Wd]||null}function yo(t,n){const e=t[sy]||null;if(!e&&!0===n)throw new Error(`Type ${tn(t)} does not have '\u0275mod' property.`);return e}function sr(t){return Array.isArray(t)&&"object"==typeof t[1]}function $o(t){return Array.isArray(t)&&!0===t[1]}function pf(t){return 0!=(8&t.flags)}function Qd(t){return 2==(2&t.flags)}function Yd(t){return 1==(1&t.flags)}function Go(t){return null!==t.template}function tO(t){return 0!=(512&t[2])}function qs(t,n){return t.hasOwnProperty(Ir)?t[Ir]:null}class oO{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function nn(){return hy}function hy(t){return t.type.prototype.ngOnChanges&&(t.setInput=sO),rO}function rO(){const t=fy(this),n=null==t?void 0:t.current;if(n){const e=t.previous;if(e===Ta)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function sO(t,n,e,i){const o=fy(t)||function aO(t,n){return t[py]=n}(t,{previous:Ta,current:null}),r=o.current||(o.current={}),s=o.previous,a=this.declaredInputs[e],l=s[a];r[a]=new oO(l&&l.currentValue,n,s===Ta),t[i]=n}nn.ngInherit=!0;const py="__ngSimpleChanges__";function fy(t){return t[py]||null}let bf;function Pn(t){return!!t.listen}const my={createRenderer:(t,n)=>function vf(){return void 0!==bf?bf:"undefined"!=typeof document?document:void 0}()};function Gn(t){for(;Array.isArray(t);)t=t[0];return t}function Xd(t,n){return Gn(n[t])}function Do(t,n){return Gn(n[t.index])}function yf(t,n){return t.data[n]}function Aa(t,n){return t[n]}function oo(t,n){const e=n[t];return sr(e)?e:e[0]}function gy(t){return 4==(4&t[2])}function Cf(t){return 128==(128&t[2])}function ds(t,n){return null==n?null:t[n]}function _y(t){t[18]=0}function wf(t,n){t[5]+=n;let e=t,i=t[3];for(;null!==i&&(1===n&&1===e[5]||-1===n&&0===e[5]);)i[5]+=n,e=i,i=i[3]}const Ct={lFrame:My(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function by(){return Ct.bindingsEnabled}function De(){return Ct.lFrame.lView}function Gt(){return Ct.lFrame.tView}function se(t){return Ct.lFrame.contextLView=t,t[8]}function ti(){let t=vy();for(;null!==t&&64===t.type;)t=t.parent;return t}function vy(){return Ct.lFrame.currentTNode}function ar(t,n){const e=Ct.lFrame;e.currentTNode=t,e.isParent=n}function Df(){return Ct.lFrame.isParent}function Sf(){Ct.lFrame.isParent=!1}function Jd(){return Ct.isInCheckNoChangesMode}function eu(t){Ct.isInCheckNoChangesMode=t}function Oi(){const t=Ct.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function Or(){return Ct.lFrame.bindingIndex}function Pa(){return Ct.lFrame.bindingIndex++}function Ar(t){const n=Ct.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function SO(t,n){const e=Ct.lFrame;e.bindingIndex=e.bindingRootIndex=t,Mf(n)}function Mf(t){Ct.lFrame.currentDirectiveIndex=t}function xf(t){const n=Ct.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function wy(){return Ct.lFrame.currentQueryIndex}function Tf(t){Ct.lFrame.currentQueryIndex=t}function xO(t){const n=t[1];return 2===n.type?n.declTNode:1===n.type?t[6]:null}function Dy(t,n,e){if(e&yt.SkipSelf){let o=n,r=t;for(;!(o=o.parent,null!==o||e&yt.Host||(o=xO(r),null===o||(r=r[15],10&o.type))););if(null===o)return!1;n=o,t=r}const i=Ct.lFrame=Sy();return i.currentTNode=n,i.lView=t,!0}function tu(t){const n=Sy(),e=t[1];Ct.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function Sy(){const t=Ct.lFrame,n=null===t?null:t.child;return null===n?My(t):n}function My(t){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function xy(){const t=Ct.lFrame;return Ct.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Ty=xy;function nu(){const t=xy();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Ai(){return Ct.lFrame.selectedIndex}function us(t){Ct.lFrame.selectedIndex=t}function Rn(){const t=Ct.lFrame;return yf(t.tView,t.selectedIndex)}function hn(){Ct.lFrame.currentNamespace="svg"}function Ks(){!function IO(){Ct.lFrame.currentNamespace=null}()}function iu(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[18]+=65536),(a>11>16&&(3&t[2])===n){t[2]+=2048;try{r.call(a)}finally{}}}else try{r.call(a)}finally{}}class ic{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function su(t,n,e){const i=Pn(t);let o=0;for(;on){s=r-1;break}}}for(;r>16}(t),i=n;for(;e>0;)i=i[15],e--;return i}let Of=!0;function lu(t){const n=Of;return Of=t,n}let VO=0;function rc(t,n){const e=Pf(t,n);if(-1!==e)return e;const i=n[1];i.firstCreatePass&&(t.injectorIndex=n.length,Af(i.data,t),Af(n,null),Af(i.blueprint,null));const o=cu(t,n),r=t.injectorIndex;if(Oy(o)){const s=Ra(o),a=Fa(o,n),l=a[1].data;for(let u=0;u<8;u++)n[r+u]=a[s+u]|l[s+u]}return n[r+8]=o,r}function Af(t,n){t.push(0,0,0,0,0,0,0,0,n)}function Pf(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function cu(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,o=n;for(;null!==o;){const r=o[1],s=r.type;if(i=2===s?r.declTNode:1===s?o[6]:null,null===i)return-1;if(e++,o=o[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function du(t,n,e){!function jO(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Xl)&&(i=e[Xl]),null==i&&(i=e[Xl]=VO++);const o=255&i;n.data[t+(o>>5)]|=1<=0?255&n:UO:n}(e);if("function"==typeof r){if(!Dy(n,t,i))return i&yt.Host?Ry(o,e,i):Fy(n,e,i,o);try{const s=r(i);if(null!=s||i&yt.Optional)return s;$d(e)}finally{Ty()}}else if("number"==typeof r){let s=null,a=Pf(t,n),l=-1,u=i&yt.Host?n[16][6]:null;for((-1===a||i&yt.SkipSelf)&&(l=-1===a?cu(t,n):n[a+8],-1!==l&&Vy(i,!1)?(s=n[1],a=Ra(l),n=Fa(l,n)):a=-1);-1!==a;){const p=n[1];if(By(r,a,p.data)){const g=zO(a,n,e,s,i,u);if(g!==Ly)return g}l=n[a+8],-1!==l&&Vy(i,n[1].data[a+8]===u)&&By(r,a,n)?(s=p,a=Ra(l),n=Fa(l,n)):a=-1}}}return Fy(n,e,i,o)}const Ly={};function UO(){return new Na(ti(),De())}function zO(t,n,e,i,o,r){const s=n[1],a=s.data[t+8],p=uu(a,s,e,null==i?Qd(a)&&Of:i!=s&&0!=(3&a.type),o&yt.Host&&r===a);return null!==p?sc(n,s,p,a):Ly}function uu(t,n,e,i,o){const r=t.providerIndexes,s=n.data,a=1048575&r,l=t.directiveStart,p=r>>20,v=o?a+p:t.directiveEnd;for(let C=i?a:a+p;C=l&&M.type===e)return C}if(o){const C=s[l];if(C&&Go(C)&&C.type===e)return l}return null}function sc(t,n,e,i){let o=t[e];const r=n.data;if(function RO(t){return t instanceof ic}(o)){const s=o;s.resolving&&function BI(t,n){const e=n?`. Dependency path: ${n.join(" > ")} > ${t}`:"";throw new Qe(-200,`Circular dependency in DI detected for ${t}${e}`)}(Ii(r[e]));const a=lu(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?as(s.injectImpl):null;Dy(t,i,yt.Default);try{o=t[e]=s.factory(void 0,r,t,i),n.firstCreatePass&&e>=i.directiveStart&&function AO(t,n,e){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:r}=n.type.prototype;if(i){const s=hy(n);(e.preOrderHooks||(e.preOrderHooks=[])).push(t,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(t,s)}o&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-t,o),r&&((e.preOrderHooks||(e.preOrderHooks=[])).push(t,r),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(t,r))}(e,r[e],n)}finally{null!==l&&as(l),lu(a),s.resolving=!1,Ty()}}return o}function By(t,n,e){return!!(e[n+(t>>5)]&1<{const n=t.prototype.constructor,e=n[Ir]||Rf(n),i=Object.prototype;let o=Object.getPrototypeOf(t.prototype).constructor;for(;o&&o!==i;){const r=o[Ir]||Rf(o);if(r&&r!==e)return r;o=Object.getPrototypeOf(o)}return r=>new r})}function Rf(t){return ty(t)?()=>{const n=Rf(Mt(t));return n&&n()}:qs(t)}function Di(t){return function HO(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let o=0;for(;o{const i=function Ff(t){return function(...e){if(t){const i=t(...e);for(const o in i)this[o]=i[o]}}}(n);function o(...r){if(this instanceof o)return i.apply(this,r),this;const s=new o(...r);return a.annotation=s,a;function a(l,u,p){const g=l.hasOwnProperty(Ba)?l[Ba]:Object.defineProperty(l,Ba,{value:[]})[Ba];for(;g.length<=p;)g.push(null);return(g[p]=g[p]||[]).push(s),l}}return e&&(o.prototype=Object.create(e.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o})}class _e{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=Be({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const WO=new _e("AnalyzeForEntryComponents");function So(t,n){void 0===n&&(n=t);for(let e=0;eArray.isArray(e)?lr(e,n):n(e))}function Hy(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function hu(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function cc(t,n){const e=[];for(let i=0;i=0?t[1|i]=e:(i=~i,function ZO(t,n,e,i){let o=t.length;if(o==n)t.push(e,i);else if(1===o)t.push(i,t[0]),t[0]=e;else{for(o--,t.push(t[o-1],t[o]);o>n;)t[o]=t[o-2],o--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function Lf(t,n){const e=Ha(t,n);if(e>=0)return t[1|e]}function Ha(t,n){return function $y(t,n,e){let i=0,o=t.length>>e;for(;o!==i;){const r=i+(o-i>>1),s=t[r<n?o=r:i=r+1}return~(o<({token:t})),-1),Wo=pc(ja("Optional"),8),Ua=pc(ja("SkipSelf"),4);let _u;function $a(t){var n;return(null===(n=function Uf(){if(void 0===_u&&(_u=null,on.trustedTypes))try{_u=on.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return _u}())||void 0===n?void 0:n.createHTML(t))||t}class Zs{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class y2 extends Zs{getTypeName(){return"HTML"}}class C2 extends Zs{getTypeName(){return"Style"}}class w2 extends Zs{getTypeName(){return"Script"}}class D2 extends Zs{getTypeName(){return"URL"}}class S2 extends Zs{getTypeName(){return"ResourceURL"}}function so(t){return t instanceof Zs?t.changingThisBreaksApplicationSecurity:t}function cr(t,n){const e=nC(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see https://g.co/ng/security#xss)`)}return e===n}function nC(t){return t instanceof Zs&&t.getTypeName()||null}class I2{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString($a(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class O2{constructor(n){if(this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(n){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=$a(n),e;const i=this.inertDocument.createElement("body");return i.innerHTML=$a(n),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(n){const e=n.attributes;for(let o=e.length-1;0mc(n.trim())).join(", ")),this.buf.push(" ",s,'="',cC(l),'"')}var t;return this.buf.push(">"),!0}endElement(n){const e=n.nodeName.toLowerCase();$f.hasOwnProperty(e)&&!rC.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(cC(n))}checkClobberedElement(n,e){if(e&&(n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);return e}}const L2=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,B2=/([^\#-~ |!])/g;function cC(t){return t.replace(/&/g,"&").replace(L2,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(B2,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let vu;function dC(t,n){let e=null;try{vu=vu||function iC(t){const n=new O2(t);return function A2(){try{return!!(new window.DOMParser).parseFromString($a(""),"text/html")}catch(t){return!1}}()?new I2(n):n}(t);let i=n?String(n):"";e=vu.getInertBodyElement(i);let o=5,r=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=r,r=e.innerHTML,e=vu.getInertBodyElement(i)}while(i!==r);return $a((new N2).sanitizeChildren(qf(e)||e))}finally{if(e){const i=qf(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qf(t){return"content"in t&&function V2(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Yt=(()=>((Yt=Yt||{})[Yt.NONE=0]="NONE",Yt[Yt.HTML=1]="HTML",Yt[Yt.STYLE=2]="STYLE",Yt[Yt.SCRIPT=3]="SCRIPT",Yt[Yt.URL=4]="URL",Yt[Yt.RESOURCE_URL=5]="RESOURCE_URL",Yt))();function ur(t){const n=function _c(){const t=De();return t&&t[12]}();return n?n.sanitize(Yt.URL,t)||"":cr(t,"URL")?so(t):mc(Dt(t))}const pC="__ngContext__";function Si(t,n){t[pC]=n}function Zf(t){const n=function bc(t){return t[pC]||null}(t);return n?Array.isArray(n)?n:n.lView:null}function Yf(t){return t.ngOriginalError}function nA(t,...n){t.error(...n)}class ps{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n),i=function tA(t){return t&&t.ngErrorLogger||nA}(n);i(this._console,"ERROR",n),e&&i(this._console,"ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&Yf(n);for(;e&&Yf(e);)e=Yf(e);return e||null}}const hA=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(on))();function hr(t){return t instanceof Function?t():t}var ao=(()=>((ao=ao||{})[ao.Important=1]="Important",ao[ao.DashCase=2]="DashCase",ao))();function Jf(t,n){return undefined(t,n)}function vc(t){const n=t[3];return $o(n)?n[3]:n}function em(t){return wC(t[13])}function tm(t){return wC(t[4])}function wC(t){for(;null!==t&&!$o(t);)t=t[4];return t}function Wa(t,n,e,i,o){if(null!=i){let r,s=!1;$o(i)?r=i:sr(i)&&(s=!0,i=i[0]);const a=Gn(i);0===t&&null!==e?null==o?kC(n,e,a):Qs(n,e,a,o||null,!0):1===t&&null!==e?Qs(n,e,a,o||null,!0):2===t?function FC(t,n,e){const i=yu(t,n);i&&function xA(t,n,e,i){Pn(t)?t.removeChild(n,e,i):n.removeChild(e)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=r&&function EA(t,n,e,i,o){const r=e[7];r!==Gn(e)&&Wa(n,t,i,r,o);for(let a=10;a0&&(t[e-1][4]=i[4]);const r=hu(t,10+n);!function bA(t,n){yc(t,n,n[11],2,null,null),n[0]=null,n[6]=null}(i[1],i);const s=r[19];null!==s&&s.detachView(r[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function MC(t,n){if(!(256&n[2])){const e=n[11];Pn(e)&&e.destroyNode&&yc(t,n,e,3,null,null),function CA(t){let n=t[13];if(!n)return rm(t[1],t);for(;n;){let e=null;if(sr(n))e=n[13];else{const i=n[10];i&&(e=i)}if(!e){for(;n&&!n[4]&&n!==t;)sr(n)&&rm(n[1],n),n=n[3];null===n&&(n=t),sr(n)&&rm(n[1],n),e=n&&n[4]}n=e}}(n)}}function rm(t,n){if(!(256&n[2])){n[2]&=-129,n[2]|=256,function MA(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[o=u]():i[o=-u].unsubscribe(),r+=2}else{const s=i[o=e[r+1]];e[r].call(s)}if(null!==i){for(let r=o+1;rr?"":o[g+1].toLowerCase();const C=8&i?v:null;if(C&&-1!==BC(C,u,0)||2&i&&u!==v){if(qo(i))return!1;s=!0}}}}else{if(!s&&!qo(i)&&!qo(l))return!1;if(s&&qo(l))continue;s=!1,i=l|1&i}}return qo(i)||s}function qo(t){return 0==(1&t)}function RA(t,n,e,i){if(null===n)return-1;let o=0;if(i||!e){let r=!1;for(;o-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?o+="."+s:4&i&&(o+=" "+s);else""!==o&&!qo(s)&&(n+=UC(r,o),o=""),i=s,r=r||!qo(i);e++}return""!==o&&(n+=UC(r,o)),n}const St={};function f(t){zC(Gt(),De(),Ai()+t,Jd())}function zC(t,n,e,i){if(!i)if(3==(3&n[2])){const r=t.preOrderCheckHooks;null!==r&&ou(n,r,e)}else{const r=t.preOrderHooks;null!==r&&ru(n,r,0,e)}us(e)}function Du(t,n){return t<<17|n<<2}function Ko(t){return t>>17&32767}function dm(t){return 2|t}function Pr(t){return(131068&t)>>2}function um(t,n){return-131069&t|n<<2}function hm(t){return 1|t}function e0(t,n){const e=t.contentQueries;if(null!==e)for(let i=0;i20&&zC(t,n,20,Jd()),e(i,o)}finally{us(r)}}function n0(t,n,e){if(pf(n)){const o=n.directiveEnd;for(let r=n.directiveStart;r0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(a)!=l&&a.push(l),a.push(i,o,s)}}function u0(t,n){null!==t.hostBindings&&t.hostBindings(1,n)}function h0(t,n){n.flags|=2,(t.components||(t.components=[])).push(n.index)}function fP(t,n,e){if(e){if(n.exportAs)for(let i=0;i0&&xm(e)}}function xm(t){for(let i=em(t);null!==i;i=tm(i))for(let o=10;o0&&xm(r)}const e=t[1].components;if(null!==e)for(let i=0;i0&&xm(o)}}function CP(t,n){const e=oo(n,t),i=e[1];(function wP(t,n){for(let e=n.length;ePromise.resolve(null))();function _0(t){return t[7]||(t[7]=[])}function b0(t){return t.cleanup||(t.cleanup=[])}function v0(t,n,e){return(null===t||Go(t))&&(e=function fO(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(e[n.index])),e[11]}function y0(t,n){const e=t[9],i=e?e.get(ps,null):null;i&&i.handleError(n)}function C0(t,n,e,i,o){for(let r=0;rthis.processProvider(a,n,e)),lr([n],a=>this.processInjectorType(a,[],r)),this.records.set(Om,Qa(void 0,this));const s=this.records.get(Am);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof n?null:tn(n))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(n=>n.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(n,e=dc,i=yt.Default){this.assertNotDestroyed();const o=qy(this),r=as(void 0);try{if(!(i&yt.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function BP(t){return"function"==typeof t||"object"==typeof t&&t instanceof _e}(n)&&sf(n);a=l&&this.injectableDefInScope(l)?Qa(Rm(n),Dc):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(i&yt.Self?D0():this.parent).get(n,e=i&yt.Optional&&e===dc?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[fu]=s[fu]||[]).unshift(tn(n)),o)throw s;return function l2(t,n,e,i){const o=t[fu];throw n[Wy]&&o.unshift(n[Wy]),t.message=function c2(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let o=tn(n);if(Array.isArray(n))o=n.map(tn).join(" -> ");else if("object"==typeof n){let r=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];r.push(s+":"+("string"==typeof a?JSON.stringify(a):tn(a)))}o=`{${r.join(", ")}}`}return`${e}${i?"("+i+")":""}[${o}]: ${t.replace(n2,"\n ")}`}("\n"+t.message,o,e,i),t.ngTokenPath=o,t[fu]=null,t}(s,n,"R3InjectorError",this.source)}throw s}finally{as(r),qy(o)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(n=>this.get(n))}toString(){const n=[];return this.records.forEach((i,o)=>n.push(tn(o))),`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Qe(205,!1)}processInjectorType(n,e,i){if(!(n=Mt(n)))return!1;let o=iy(n);const r=null==o&&n.ngModule||void 0,s=void 0===r?n:r,a=-1!==i.indexOf(s);if(void 0!==r&&(o=iy(r)),null==o)return!1;if(null!=o.imports&&!a){let p;i.push(s);try{lr(o.imports,g=>{this.processInjectorType(g,e,i)&&(void 0===p&&(p=[]),p.push(g))})}finally{}if(void 0!==p)for(let g=0;gthis.processProvider(M,v,C||cn))}}this.injectorDefTypes.add(s);const l=qs(s)||(()=>new s);this.records.set(s,Qa(l,Dc));const u=o.providers;if(null!=u&&!a){const p=n;lr(u,g=>this.processProvider(g,p,u))}return void 0!==r&&void 0!==n.providers}processProvider(n,e,i){let o=Ya(n=Mt(n))?n:Mt(n&&n.provide);const r=function AP(t,n,e){return T0(t)?Qa(void 0,t.useValue):Qa(x0(t),Dc)}(n);if(Ya(n)||!0!==n.multi)this.records.get(o);else{let s=this.records.get(o);s||(s=Qa(void 0,Dc,!0),s.factory=()=>jf(s.multi),this.records.set(o,s)),o=n,s.multi.push(n)}this.records.set(o,r)}hydrate(n,e){return e.value===Dc&&(e.value=EP,e.value=e.factory()),"object"==typeof e.value&&e.value&&function LP(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(n){if(!n.providedIn)return!1;const e=Mt(n.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Rm(t){const n=sf(t),e=null!==n?n.factory:qs(t);if(null!==e)return e;if(t instanceof _e)throw new Qe(204,!1);if(t instanceof Function)return function OP(t){const n=t.length;if(n>0)throw cc(n,"?"),new Qe(204,!1);const e=function UI(t){const n=t&&(t[Gd]||t[oy]);if(n){const e=function zI(t){if(t.hasOwnProperty("name"))return t.name;const n=(""+t).match(/^function\s*([^\s(]+)/);return null===n?"":n[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${e}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${e}" class.`),n}return null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new Qe(204,!1)}function x0(t,n,e){let i;if(Ya(t)){const o=Mt(t);return qs(o)||Rm(o)}if(T0(t))i=()=>Mt(t.useValue);else if(function RP(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...jf(t.deps||[]));else if(function PP(t){return!(!t||!t.useExisting)}(t))i=()=>Q(Mt(t.useExisting));else{const o=Mt(t&&(t.useClass||t.provide));if(!function NP(t){return!!t.deps}(t))return qs(o)||Rm(o);i=()=>new o(...jf(t.deps))}return i}function Qa(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function T0(t){return null!==t&&"object"==typeof t&&r2 in t}function Ya(t){return"function"==typeof t}let pn=(()=>{class t{static create(e,i){var o;if(Array.isArray(e))return S0({name:""},i,e,"");{const r=null!==(o=e.name)&&void 0!==o?o:"";return S0({name:r},e.parent,e.providers,r)}}}return t.THROW_IF_NOT_FOUND=dc,t.NULL=new w0,t.\u0275prov=Be({token:t,providedIn:"any",factory:()=>Q(Om)}),t.__NG_ELEMENT_ID__=-1,t})();function WP(t,n){iu(Zf(t)[1],ti())}function Ce(t){let n=function V0(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),e=!0;const i=[t];for(;n;){let o;if(Go(t))o=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new Qe(903,"");o=n.\u0275dir}if(o){if(e){i.push(o);const s=t;s.inputs=Lm(t.inputs),s.declaredInputs=Lm(t.declaredInputs),s.outputs=Lm(t.outputs);const a=o.hostBindings;a&&QP(t,a);const l=o.viewQuery,u=o.contentQueries;if(l&&KP(t,l),u&&ZP(t,u),tf(t.inputs,o.inputs),tf(t.declaredInputs,o.declaredInputs),tf(t.outputs,o.outputs),Go(o)&&o.data.animation){const p=t.data;p.animation=(p.animation||[]).concat(o.data.animation)}}const r=o.features;if(r)for(let s=0;s=0;i--){const o=t[i];o.hostVars=n+=o.hostVars,o.hostAttrs=au(o.hostAttrs,e=au(e,o.hostAttrs))}}(i)}function Lm(t){return t===Ta?{}:t===cn?[]:t}function KP(t,n){const e=t.viewQuery;t.viewQuery=e?(i,o)=>{n(i,o),e(i,o)}:n}function ZP(t,n){const e=t.contentQueries;t.contentQueries=e?(i,o,r)=>{n(i,o,r),e(i,o,r)}:n}function QP(t,n){const e=t.hostBindings;t.hostBindings=e?(i,o)=>{n(i,o),e(i,o)}:n}let Eu=null;function Xa(){if(!Eu){const t=on.Symbol;if(t&&t.iterator)Eu=t.iterator;else{const n=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Gn(Ze[i.index])):i.index;if(Pn(e)){let Ze=null;if(!a&&l&&(Ze=function xR(t,n,e,i){const o=t.cleanup;if(null!=o)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(t,n,o,i.index)),null!==Ze)(Ze.__ngLastListenerFn__||Ze).__ngNextListenerFn__=r,Ze.__ngLastListenerFn__=r,C=!1;else{r=Gm(i,n,g,r,!1);const Pt=e.listen(Y,o,r);v.push(r,Pt),p&&p.push(o,ke,ee,ee+1)}}else r=Gm(i,n,g,r,!0),Y.addEventListener(o,r,s),v.push(r),p&&p.push(o,ke,ee,s)}else r=Gm(i,n,g,r,!1);const M=i.outputs;let V;if(C&&null!==M&&(V=M[o])){const K=V.length;if(K)for(let Y=0;Y0;)n=n[15],t--;return n}(t,Ct.lFrame.contextLView))[8]}(t)}function TR(t,n){let e=null;const i=function FA(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(0==(1&e))return n[e+1]}return null}(t);for(let o=0;o=0}const ii={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function v1(t){return t.substring(ii.key,ii.keyEnd)}function y1(t,n){const e=ii.textEnd;return e===n?-1:(n=ii.keyEnd=function RR(t,n,e){for(;n32;)n++;return n}(t,ii.key=n,e),cl(t,n,e))}function cl(t,n,e){for(;n=0;e=y1(n,e))ro(t,v1(n),!0)}function Qo(t,n,e,i){const o=De(),r=Gt(),s=Ar(2);r.firstUpdatePass&&x1(r,t,s,i),n!==St&&Mi(o,s,n)&&k1(r,r.data[Ai()],o,o[11],t,o[s+1]=function GR(t,n){return null==t||("string"==typeof n?t+=n:"object"==typeof t&&(t=tn(so(t)))),t}(n,e),i,s)}function M1(t,n){return n>=t.expandoStartIndex}function x1(t,n,e,i){const o=t.data;if(null===o[e+1]){const r=o[Ai()],s=M1(t,e);I1(r,i)&&null===n&&!s&&(n=!1),n=function VR(t,n,e,i){const o=xf(t);let r=i?n.residualClasses:n.residualStyles;if(null===o)0===(i?n.classBindings:n.styleBindings)&&(e=kc(e=qm(null,t,n,e,i),n.attrs,i),r=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==o)if(e=qm(o,t,n,e,i),null===r){let l=function jR(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==Pr(i))return t[Ko(i)]}(t,n,i);void 0!==l&&Array.isArray(l)&&(l=qm(null,t,n,l[1],i),l=kc(l,n.attrs,i),function HR(t,n,e,i){t[Ko(e?n.classBindings:n.styleBindings)]=i}(t,n,i,l))}else r=function UR(t,n,e){let i;const o=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(u=!0)}else p=e;if(o)if(0!==l){const v=Ko(t[a+1]);t[i+1]=Du(v,a),0!==v&&(t[v+1]=um(t[v+1],i)),t[a+1]=function UA(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=Du(a,0),0!==a&&(t[a+1]=um(t[a+1],i)),a=i;else t[i+1]=Du(l,0),0===a?a=i:t[l+1]=um(t[l+1],i),l=i;u&&(t[i+1]=dm(t[i+1])),b1(t,p,i,!0),b1(t,p,i,!1),function ER(t,n,e,i,o){const r=o?t.residualClasses:t.residualStyles;null!=r&&"string"==typeof n&&Ha(r,n)>=0&&(e[i+1]=hm(e[i+1]))}(n,p,t,i,r),s=Du(a,l),r?n.classBindings=s:n.styleBindings=s}(o,r,n,e,s,i)}}function qm(t,n,e,i,o){let r=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=t[o],u=Array.isArray(l),p=u?l[1]:l,g=null===p;let v=e[o+1];v===St&&(v=g?cn:void 0);let C=g?Lf(v,i):p===i?v:void 0;if(u&&!Au(C)&&(C=Lf(l,i)),Au(C)&&(a=C,s))return a;const M=t[o+1];o=s?Ko(M):Pr(M)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=Lf(l,i))}return a}function Au(t){return void 0!==t}function I1(t,n){return 0!=(t.flags&(n?16:32))}function h(t,n=""){const e=De(),i=Gt(),o=t+20,r=i.firstCreatePass?qa(i,o,1,n,null):i.data[o],s=e[o]=function nm(t,n){return Pn(t)?t.createText(n):t.createTextNode(n)}(e[11],n);Cu(i,e,s,r),ar(r,!1)}function Pe(t){return Se("",t,""),Pe}function Se(t,n,e){const i=De(),o=el(i,t,n,e);return o!==St&&Rr(i,Ai(),o),Se}function dl(t,n,e,i,o){const r=De(),s=function tl(t,n,e,i,o,r){const a=Ys(t,Or(),e,o);return Ar(2),a?n+Dt(e)+i+Dt(o)+r:St}(r,t,n,e,i,o);return s!==St&&Rr(r,Ai(),s),dl}function Km(t,n,e,i,o,r,s){const a=De(),l=function nl(t,n,e,i,o,r,s,a){const u=Iu(t,Or(),e,o,s);return Ar(3),u?n+Dt(e)+i+Dt(o)+r+Dt(s)+a:St}(a,t,n,e,i,o,r,s);return l!==St&&Rr(a,Ai(),l),Km}function Zm(t,n,e,i,o,r,s,a,l){const u=De(),p=function il(t,n,e,i,o,r,s,a,l,u){const g=Mo(t,Or(),e,o,s,l);return Ar(4),g?n+Dt(e)+i+Dt(o)+r+Dt(s)+a+Dt(l)+u:St}(u,t,n,e,i,o,r,s,a,l);return p!==St&&Rr(u,Ai(),p),Zm}function N1(t,n,e){!function Yo(t,n,e,i){const o=Gt(),r=Ar(2);o.firstUpdatePass&&x1(o,null,r,i);const s=De();if(e!==St&&Mi(s,r,e)){const a=o.data[Ai()];if(I1(a,i)&&!M1(o,r)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=nf(l,e||"")),zm(o,a,s,e,i)}else!function $R(t,n,e,i,o,r,s,a){o===St&&(o=cn);let l=0,u=0,p=0>20;if(Ya(t)||!t.multi){const C=new ic(l,o,_),M=eg(a,n,o?p:p+v,g);-1===M?(du(rc(u,s),r,a),Jm(r,t,n.length),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),e.push(C),s.push(C)):(e[M]=C,s[M]=C)}else{const C=eg(a,n,p+v,g),M=eg(a,n,p,p+v),V=C>=0&&e[C],K=M>=0&&e[M];if(o&&!K||!o&&!V){du(rc(u,s),r,a);const Y=function cN(t,n,e,i,o){const r=new ic(t,e,_);return r.multi=[],r.index=n,r.componentProviders=0,bw(r,o,i&&!e),r}(o?lN:aN,e.length,o,i,l);!o&&K&&(e[M].providerFactory=Y),Jm(r,t,n.length,0),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),e.push(Y),s.push(Y)}else Jm(r,t,C>-1?C:M,bw(e[o?M:C],l,!o&&i));!o&&i&&K&&e[M].componentProviders++}}}function Jm(t,n,e,i){const o=Ya(n),r=function FP(t){return!!t.useClass}(n);if(o||r){const l=(r?Mt(n.useClass):n).prototype.ngOnDestroy;if(l){const u=t.destroyHooks||(t.destroyHooks=[]);if(!o&&n.multi){const p=u.indexOf(e);-1===p?u.push(e,[i,l]):u[p+1].push(i,l)}else u.push(e,l)}}}function bw(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function eg(t,n,e,i){for(let o=e;o{e.providersResolver=(i,o)=>function sN(t,n,e){const i=Gt();if(i.firstCreatePass){const o=Go(t);Xm(e,i.data,i.blueprint,o,!0),Xm(n,i.data,i.blueprint,o,!1)}}(i,o?o(t):t,n)}}class vw{}class hN{resolveComponentFactory(n){throw function uN(t){const n=Error(`No component factory found for ${tn(t)}. Did you add it to @NgModule.entryComponents?`);return n.ngComponent=t,n}(n)}}let gs=(()=>{class t{}return t.NULL=new hN,t})();function pN(){return pl(ti(),De())}function pl(t,n){return new He(Do(t,n))}let He=(()=>{class t{constructor(e){this.nativeElement=e}}return t.__NG_ELEMENT_ID__=pN,t})();function fN(t){return t instanceof He?t.nativeElement:t}class Rc{}let Nr=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>function gN(){const t=De(),e=oo(ti().index,t);return function mN(t){return t[11]}(sr(e)?e:t)}(),t})(),_N=(()=>{class t{}return t.\u0275prov=Be({token:t,providedIn:"root",factory:()=>null}),t})();class ea{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const bN=new ea("13.2.7"),ng={};function Bu(t,n,e,i,o=!1){for(;null!==e;){const r=n[e.index];if(null!==r&&i.push(Gn(r)),$o(r))for(let a=10;a-1&&(om(n,i),hu(e,i))}this._attachedToViewContainer=!1}MC(this._lView[1],this._lView)}onDestroy(n){a0(this._lView[1],this._lView,null,n)}markForCheck(){Tm(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Em(this._lView[1],this._lView,this.context)}checkNoChanges(){!function SP(t,n,e){eu(!0);try{Em(t,n,e)}finally{eu(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Qe(902,"");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function yA(t,n){yc(t,n,n[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new Qe(902,"");this._appRef=n}}class vN extends Fc{constructor(n){super(n),this._view=n}detectChanges(){g0(this._view)}checkNoChanges(){!function MP(t){eu(!0);try{g0(t)}finally{eu(!1)}}(this._view)}get context(){return null}}class Cw extends gs{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const e=Ci(n);return new ig(e,this.ngModule)}}function ww(t){const n=[];for(let e in t)t.hasOwnProperty(e)&&n.push({propName:t[e],templateName:e});return n}class ig extends vw{constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=function jA(t){return t.map(VA).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return ww(this.componentDef.inputs)}get outputs(){return ww(this.componentDef.outputs)}create(n,e,i,o){const r=(o=o||this.ngModule)?function CN(t,n){return{get:(e,i,o)=>{const r=t.get(e,ng,o);return r!==ng||i===ng?r:n.get(e,i,o)}}}(n,o.injector):n,s=r.get(Rc,my),a=r.get(_N,null),l=s.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",p=i?function s0(t,n,e){if(Pn(t))return t.selectRootElement(n,e===Uo.ShadowDom);let i="string"==typeof n?t.querySelector(n):n;return i.textContent="",i}(l,i,this.componentDef.encapsulation):im(s.createRenderer(null,this.componentDef),u,function yN(t){const n=t.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(u)),g=this.componentDef.onPush?576:528,v=function B0(t,n){return{components:[],scheduler:t||hA,clean:xP,playerHandler:n||null,flags:0}}(),C=xu(0,null,null,1,0,null,null,null,null,null),M=Cc(null,C,v,g,null,null,s,l,a,r);let V,K;tu(M);try{const Y=function N0(t,n,e,i,o,r){const s=e[1];e[20]=t;const l=qa(s,20,2,"#host",null),u=l.mergedAttrs=n.hostAttrs;null!==u&&(ku(l,u,!0),null!==t&&(su(o,t,u),null!==l.classes&&cm(o,t,l.classes),null!==l.styles&&LC(o,t,l.styles)));const p=i.createRenderer(t,n),g=Cc(e,o0(n),null,n.onPush?64:16,e[20],l,i,p,r||null,null);return s.firstCreatePass&&(du(rc(l,e),s,n.type),h0(s,l),p0(l,e.length,1)),Tu(e,g),e[20]=g}(p,this.componentDef,M,s,l);if(p)if(i)su(l,p,["ng-version",bN.full]);else{const{attrs:ee,classes:ke}=function HA(t){const n=[],e=[];let i=1,o=2;for(;i0&&cm(l,p,ke.join(" "))}if(K=yf(C,20),void 0!==e){const ee=K.projection=[];for(let ke=0;kel(s,n)),n.contentQueries){const l=ti();n.contentQueries(1,s,l.directiveStart)}const a=ti();return!r.firstCreatePass||null===n.hostBindings&&null===n.hostAttrs||(us(a.index),d0(e[1],a,0,a.directiveStart,a.directiveEnd,n),u0(n,s)),s}(Y,this.componentDef,M,v,[WP]),wc(C,M,null)}finally{nu()}return new DN(this.componentType,V,pl(K,M),M,K)}}class DN extends class dN{}{constructor(n,e,i,o,r){super(),this.location=i,this._rootLView=o,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new vN(o),this.componentType=n}get injector(){return new Na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}}class Lr{}class Dw{}const fl=new Map;class xw extends Lr{constructor(n,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Cw(this);const i=yo(n);this._bootstrapComponents=hr(i.bootstrap),this._r3Injector=M0(n,e,[{provide:Lr,useValue:this},{provide:gs,useValue:this.componentFactoryResolver}],tn(n)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(n)}get(n,e=pn.THROW_IF_NOT_FOUND,i=yt.Default){return n===pn||n===Lr||n===Om?this:this._r3Injector.get(n,e,i)}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class og extends Dw{constructor(n){super(),this.moduleType=n,null!==yo(n)&&function MN(t){const n=new Set;!function e(i){const o=yo(i,!0),r=o.id;null!==r&&(function Sw(t,n,e){if(n&&n!==e)throw new Error(`Duplicate module registered for ${t} - ${tn(n)} vs ${tn(n.name)}`)}(r,fl.get(r),i),fl.set(r,i));const s=hr(o.imports);for(const a of s)n.has(a)||(n.add(a),e(a))}(t)}(n)}create(n){return new xw(this.moduleType,n)}}function Xo(t,n,e){const i=Oi()+t,o=De();return o[i]===St?fr(o,i,e?n.call(e):n()):Mc(o,i)}function Kt(t,n,e,i){return Ow(De(),Oi(),t,n,e,i)}function Tw(t,n,e,i,o){return function Aw(t,n,e,i,o,r,s){const a=n+e;return Ys(t,a,o,r)?fr(t,a+2,s?i.call(s,o,r):i(o,r)):Nc(t,a+2)}(De(),Oi(),t,n,e,i,o)}function kw(t,n,e,i,o,r){return function Pw(t,n,e,i,o,r,s,a){const l=n+e;return Iu(t,l,o,r,s)?fr(t,l+3,a?i.call(a,o,r,s):i(o,r,s)):Nc(t,l+3)}(De(),Oi(),t,n,e,i,o,r)}function Nc(t,n){const e=t[n];return e===St?void 0:e}function Ow(t,n,e,i,o,r){const s=n+e;return Mi(t,s,o)?fr(t,s+1,r?i.call(r,o):i(o)):Nc(t,s+1)}function ml(t,n){const e=Gt();let i;const o=t+20;e.firstCreatePass?(i=function IN(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[o]=i,i.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(o,i.onDestroy)):i=e.data[o];const r=i.factory||(i.factory=qs(i.type)),s=as(_);try{const a=lu(!1),l=r();return lu(a),function oR(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,De(),o,l),l}finally{as(s)}}function gl(t,n,e){const i=t+20,o=De(),r=Aa(o,i);return function Lc(t,n){return t[1].data[n].pure}(o,i)?Ow(o,Oi(),n,r.transform,e,r):r.transform(e)}function rg(t){return n=>{setTimeout(t,void 0,n)}}const Ae=class FN extends ie{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,e,i){var o,r,s;let a=n,l=e||(()=>null),u=i;if(n&&"object"==typeof n){const g=n;a=null===(o=g.next)||void 0===o?void 0:o.bind(g),l=null===(r=g.error)||void 0===r?void 0:r.bind(g),u=null===(s=g.complete)||void 0===s?void 0:s.bind(g)}this.__isAsync&&(l=rg(l),a&&(a=rg(a)),u&&(u=rg(u)));const p=super.subscribe({next:a,error:l,complete:u});return n instanceof k&&n.add(p),p}};function NN(){return this._results[Xa()]()}class _s{constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Xa(),i=_s.prototype;i[e]||(i[e]=NN)}get changes(){return this._changes||(this._changes=new Ae)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){const i=this;i.dirty=!1;const o=So(n);(this._changesDetected=!function qO(t,n,e){if(t.length!==n.length)return!1;for(let i=0;i{class t{}return t.__NG_ELEMENT_ID__=VN,t})();const LN=rn,BN=class extends LN{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(n){const e=this._declarationTContainer.tViews,i=Cc(this._declarationLView,e,n,16,null,e.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const r=this._declarationLView[19];return null!==r&&(i[19]=r.createEmbeddedView(e)),wc(e,i,n),new Fc(i)}};function VN(){return Vu(ti(),De())}function Vu(t,n){return 4&t.type?new BN(n,t,pl(t,n)):null}let sn=(()=>{class t{}return t.__NG_ELEMENT_ID__=jN,t})();function jN(){return Bw(ti(),De())}const HN=sn,Nw=class extends HN{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return pl(this._hostTNode,this._hostLView)}get injector(){return new Na(this._hostTNode,this._hostLView)}get parentInjector(){const n=cu(this._hostTNode,this._hostLView);if(Oy(n)){const e=Fa(n,this._hostLView),i=Ra(n);return new Na(e[1].data[i+8],e)}return new Na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=Lw(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,e,i){const o=n.createEmbeddedView(e||{});return this.insert(o,i),o}createComponent(n,e,i,o,r){const s=n&&!function lc(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const g=e||{};a=g.index,i=g.injector,o=g.projectableNodes,r=g.ngModuleRef}const l=s?n:new ig(Ci(n)),u=i||this.parentInjector;if(!r&&null==l.ngModule){const v=(s?u:this.parentInjector).get(Lr,null);v&&(r=v)}const p=l.create(u,o,void 0,r);return this.insert(p.hostView,a),p}insert(n,e){const i=n._lView,o=i[1];if(function gO(t){return $o(t[3])}(i)){const p=this.indexOf(n);if(-1!==p)this.detach(p);else{const g=i[3],v=new Nw(g,g[6],g[3]);v.detach(v.indexOf(n))}}const r=this._adjustIndex(e),s=this._lContainer;!function wA(t,n,e,i){const o=10+i,r=e.length;i>0&&(e[o-1][4]=n),i0)i.push(s[a/2]);else{const u=r[a+1],p=n[-l];for(let g=10;g{class t{constructor(e){this.appInits=e,this.resolve=Uu,this.reject=Uu,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,o)=>{this.resolve=i,this.reject=o})}runInitializers(){if(this.initialized)return;const e=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let o=0;o{r.subscribe({complete:a,error:l})});e.push(s)}}Promise.all(e).then(()=>{i()}).catch(o=>{this.reject(o)}),0===e.length&&i(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Q(_g,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const jc=new _e("AppId",{providedIn:"root",factory:function sD(){return`${vg()}${vg()}${vg()}`}});function vg(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const aD=new _e("Platform Initializer"),Hc=new _e("Platform ID"),lD=new _e("appBootstrapListener");let cD=(()=>{class t{log(e){console.log(e)}warn(e){console.warn(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const Br=new _e("LocaleId",{providedIn:"root",factory:()=>hc(Br,yt.Optional|yt.SkipSelf)||function p3(){return"undefined"!=typeof $localize&&$localize.locale||Pu}()});class m3{constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}}let dD=(()=>{class t{compileModuleSync(e){return new og(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){const i=this.compileModuleSync(e),r=hr(yo(e).declarations).reduce((s,a)=>{const l=Ci(a);return l&&s.push(new ig(l)),s},[]);return new m3(i,r)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const _3=(()=>Promise.resolve(0))();function yg(t){"undefined"==typeof Zone?_3.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Je{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function b3(){let t=on.requestAnimationFrame,n=on.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&n){const e=t[Zone.__symbol__("OriginalDelegate")];e&&(t=e);const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function C3(t){const n=()=>{!function y3(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(on,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,wg(t),t.isCheckStableRunning=!0,Cg(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),wg(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,o,r,s,a)=>{try{return uD(t),e.invokeTask(o,r,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===r.type||t.shouldCoalesceRunChangeDetection)&&n(),hD(t)}},onInvoke:(e,i,o,r,s,a,l)=>{try{return uD(t),e.invoke(o,r,s,a,l)}finally{t.shouldCoalesceRunChangeDetection&&n(),hD(t)}},onHasTask:(e,i,o,r)=>{e.hasTask(o,r),i===o&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,wg(t),Cg(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,i,o,r)=>(e.handleError(o,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(o)}static isInAngularZone(){return"undefined"!=typeof Zone&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Je.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Je.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,o){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+o,n,v3,Uu,Uu);try{return r.runTask(s,e,i)}finally{r.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const v3={};function Cg(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function wg(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function uD(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function hD(t){t._nesting--,Cg(t)}class w3{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ae,this.onMicrotaskEmpty=new Ae,this.onStable=new Ae,this.onError=new Ae}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,o){return n.apply(e,i)}}let Dg=(()=>{class t{constructor(e){this._ngZone=e,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Je.assertNotInAngularZone(),yg(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())yg(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,o){let r=-1;i&&i>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:o})}whenStable(e,i,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(e,i,o){return[]}}return t.\u0275fac=function(e){return new(e||t)(Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),pD=(()=>{class t{constructor(){this._applications=new Map,Sg.addToWindow(this)}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return Sg.findTestabilityInTree(this,e,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class D3{addToWindow(n){}findTestabilityInTree(n,e,i){return null}}let Jo,Sg=new D3;const fD=new _e("AllowMultipleToken");class mD{constructor(n,e){this.name=n,this.token=e}}function gD(t,n,e=[]){const i=`Platform: ${n}`,o=new _e(i);return(r=[])=>{let s=_D();if(!s||s.injector.get(fD,!1))if(t)t(e.concat(r).concat({provide:o,useValue:!0}));else{const a=e.concat(r).concat({provide:o,useValue:!0},{provide:Am,useValue:"platform"});!function T3(t){if(Jo&&!Jo.destroyed&&!Jo.injector.get(fD,!1))throw new Qe(400,"");Jo=t.get(bD);const n=t.get(aD,null);n&&n.forEach(e=>e())}(pn.create({providers:a,name:i}))}return function k3(t){const n=_D();if(!n)throw new Qe(401,"");return n}()}}function _D(){return Jo&&!Jo.destroyed?Jo:null}let bD=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const a=function E3(t,n){let e;return e="noop"===t?new w3:("zone.js"===t?void 0:t)||new Je({enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!!(null==n?void 0:n.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==n?void 0:n.ngZoneRunCoalescing)}),e}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:Je,useValue:a}];return a.run(()=>{const u=pn.create({providers:l,parent:this.injector,name:e.moduleType.name}),p=e.create(u),g=p.injector.get(ps,null);if(!g)throw new Qe(402,"");return a.runOutsideAngular(()=>{const v=a.onError.subscribe({next:C=>{g.handleError(C)}});p.onDestroy(()=>{Mg(this._modules,p),v.unsubscribe()})}),function I3(t,n,e){try{const i=e();return xc(i)?i.catch(o=>{throw n.runOutsideAngular(()=>t.handleError(o)),o}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(g,a,()=>{const v=p.injector.get(bg);return v.runInitializers(),v.donePromise.then(()=>(function mF(t){no(t,"Expected localeId to be defined"),"string"==typeof t&&(K1=t.toLowerCase().replace(/_/g,"-"))}(p.injector.get(Br,Pu)||Pu),this._moduleDoBootstrap(p),p))})})}bootstrapModule(e,i=[]){const o=vD({},i);return function M3(t,n,e){const i=new og(e);return Promise.resolve(i)}(0,0,e).then(r=>this.bootstrapModuleFactory(r,o))}_moduleDoBootstrap(e){const i=e.injector.get(zu);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new Qe(403,"");e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Qe(404,"");this._modules.slice().forEach(e=>e.destroy()),this._destroyListeners.forEach(e=>e()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Q(pn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function vD(t,n){return Array.isArray(n)?n.reduce(vD,t):Object.assign(Object.assign({},t),n)}let zu=(()=>{class t{constructor(e,i,o,r,s){this._zone=e,this._injector=i,this._exceptionHandler=o,this._componentFactoryResolver=r,this._initStatus=s,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new Ue(u=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{u.next(this._stable),u.complete()})}),l=new Ue(u=>{let p;this._zone.runOutsideAngular(()=>{p=this._zone.onStable.subscribe(()=>{Je.assertNotInAngularZone(),yg(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,u.next(!0))})})});const g=this._zone.onUnstable.subscribe(()=>{Je.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{u.next(!1)}))});return()=>{p.unsubscribe(),g.unsubscribe()}});this.isStable=Tn(a,l.pipe(ey()))}bootstrap(e,i){if(!this._initStatus.done)throw new Qe(405,"");let o;o=e instanceof vw?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(o.componentType);const r=function x3(t){return t.isBoundToModule}(o)?void 0:this._injector.get(Lr),a=o.create(pn.NULL,[],i||o.selector,r),l=a.location.nativeElement,u=a.injector.get(Dg,null),p=u&&a.injector.get(pD);return u&&p&&p.registerApplication(l,u),a.onDestroy(()=>{this.detachView(a.hostView),Mg(this.components,a),p&&p.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Qe(101,"");try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;Mg(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(lD,[]).concat(this._bootstrapListeners).forEach(o=>o(e))}ngOnDestroy(){this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Q(Je),Q(pn),Q(ps),Q(gs),Q(bg))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function Mg(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}let CD=!0,At=(()=>{class t{}return t.__NG_ELEMENT_ID__=P3,t})();function P3(t){return function R3(t,n,e){if(Qd(t)&&!e){const i=oo(t.index,n);return new Fc(i,i)}return 47&t.type?new Fc(n[16],n):null}(ti(),De(),16==(16&t))}class xD{constructor(){}supports(n){return Sc(n)}create(n){return new j3(n)}}const V3=(t,n)=>n;class j3{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||V3}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,o=0,r=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(o,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,o)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,o),i=!0),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,e,i,o){let r;return null===n?r=this._itTail:(r=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,r,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,r,o)):n=this._addAfter(new H3(e,i),r,o),n}_verifyReinsertion(n,e,i,o){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?n=this._reinsertAfter(r,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,r=n._nextRemoved;return null===o?this._removalsHead=r:o._nextRemoved=r,null===r?this._removalsTail=o:r._prevRemoved=o,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const o=null===e?this._itHead:e._next;return n._next=o,n._prev=e,null===o?this._itTail=n:o._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new TD),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new TD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class H3{constructor(n,e){this.item=n,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class U3{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class TD{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new U3,this.map.set(e,i)),i.add(n)}get(n,e){const o=this.map.get(n);return o?o.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function kD(t,n,e){const i=t.previousIndex;if(null===i)return i;let o=0;return e&&i{if(e&&e.key===o)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const r=this._getOrCreateRecordForKey(o,i);e=this._insertBeforeOrAppend(e,r)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,e){if(n){const i=n._prev;return e._next=n,e._prev=i,n._prev=e,i&&(i._next=e),n===this._mapHead&&(this._mapHead=e),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(n,e){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,e);const r=o._prev,s=o._next;return r&&(r._next=s),s&&(s._prev=r),o._next=null,o._prev=null,o}const i=new $3(n);return this._records.set(n,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,e){Object.is(e,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=e,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,e){n instanceof Map?n.forEach(e):Object.keys(n).forEach(i=>e(n[i],i))}}class $3{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function ID(){return new To([new xD])}let To=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(null!=i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||ID()),deps:[[t,new Ua,new Wo]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(null!=i)return i;throw new Qe(901,"")}}return t.\u0275prov=Be({token:t,providedIn:"root",factory:ID}),t})();function OD(){return new Uc([new ED])}let Uc=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||OD()),deps:[[t,new Ua,new Wo]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(i)return i;throw new Qe(901,"")}}return t.\u0275prov=Be({token:t,providedIn:"root",factory:OD}),t})();const q3=gD(null,"core",[{provide:Hc,useValue:"unknown"},{provide:bD,deps:[pn]},{provide:pD,deps:[]},{provide:cD,deps:[]}]);let K3=(()=>{class t{constructor(e){}}return t.\u0275fac=function(e){return new(e||t)(Q(zu))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),Wu=null;function _r(){return Wu}const ht=new _e("DocumentToken");let na=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:function(){return function X3(){return Q(AD)}()},providedIn:"platform"}),t})();const J3=new _e("Location Initialized");let AD=(()=>{class t extends na{constructor(e){super(),this._doc=e,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return _r().getBaseHref(this._doc)}onPopState(e){const i=_r().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=_r().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(e){this.location.pathname=e}pushState(e,i,o){PD()?this._history.pushState(e,i,o):this.location.hash=o}replaceState(e,i,o){PD()?this._history.replaceState(e,i,o):this.location.hash=o}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:function(){return function eL(){return new AD(Q(ht))}()},providedIn:"platform"}),t})();function PD(){return!!window.history.pushState}function Ig(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function RD(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function Vr(t){return t&&"?"!==t[0]?"?"+t:t}let bl=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:function(){return function tL(t){const n=Q(ht).location;return new FD(Q(na),n&&n.origin||"")}()},providedIn:"root"}),t})();const Og=new _e("appBaseHref");let FD=(()=>{class t extends bl{constructor(e,i){if(super(),this._platformLocation=e,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return Ig(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+Vr(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${i}${o}`:i}pushState(e,i,o,r){const s=this.prepareExternalUrl(o+Vr(r));this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){const s=this.prepareExternalUrl(o+Vr(r));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(e=0){var i,o;null===(o=(i=this._platformLocation).historyGo)||void 0===o||o.call(i,e)}}return t.\u0275fac=function(e){return new(e||t)(Q(na),Q(Og,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),nL=(()=>{class t extends bl{constructor(e,i){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(e){const i=Ig(this._baseHref,e);return i.length>0?"#"+i:i}pushState(e,i,o,r){let s=this.prepareExternalUrl(o+Vr(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){let s=this.prepareExternalUrl(o+Vr(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(e=0){var i,o;null===(o=(i=this._platformLocation).historyGo)||void 0===o||o.call(i,e)}}return t.\u0275fac=function(e){return new(e||t)(Q(na),Q(Og,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),zc=(()=>{class t{constructor(e,i){this._subject=new Ae,this._urlChangeListeners=[],this._platformStrategy=e;const o=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=RD(ND(o)),this._platformStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}path(e=!1){return this.normalize(this._platformStrategy.path(e))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+Vr(i))}normalize(e){return t.stripTrailingSlash(function oL(t,n){return t&&n.startsWith(t)?n.substring(t.length):n}(this._baseHref,ND(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}go(e,i="",o=null){this._platformStrategy.pushState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Vr(i)),o)}replaceState(e,i="",o=null){this._platformStrategy.replaceState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Vr(i)),o)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(e=0){var i,o;null===(o=(i=this._platformStrategy).historyGo)||void 0===o||o.call(i,e)}onUrlChange(e){this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(o=>o(e,i))}subscribe(e,i,o){return this._subject.subscribe({next:e,error:i,complete:o})}}return t.normalizeQueryParams=Vr,t.joinWithSlash=Ig,t.stripTrailingSlash=RD,t.\u0275fac=function(e){return new(e||t)(Q(bl),Q(na))},t.\u0275prov=Be({token:t,factory:function(){return function iL(){return new zc(Q(bl),Q(na))}()},providedIn:"root"}),t})();function ND(t){return t.replace(/\/index.html$/,"")}function GD(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[o,r]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(o.trim()===n)return decodeURIComponent(r)}return null}let tr=(()=>{class t{constructor(e,i,o,r){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=o,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Sc(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){const e=this._keyValueDiffer.diff(this._rawClass);e&&this._applyKeyValueChanges(e)}}_applyKeyValueChanges(e){e.forEachAddedItem(i=>this._toggleClass(i.key,i.currentValue)),e.forEachChangedItem(i=>this._toggleClass(i.key,i.currentValue)),e.forEachRemovedItem(i=>{i.previousValue&&this._toggleClass(i.key,!1)})}_applyIterableChanges(e){e.forEachAddedItem(i=>{if("string"!=typeof i.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${tn(i.item)}`);this._toggleClass(i.item,!0)}),e.forEachRemovedItem(i=>this._toggleClass(i.item,!1))}_applyClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(i=>this._toggleClass(i,!0)):Object.keys(e).forEach(i=>this._toggleClass(i,!!e[i])))}_removeClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(i=>this._toggleClass(i,!1)):Object.keys(e).forEach(i=>this._toggleClass(i,!1)))}_toggleClass(e,i){(e=e.trim())&&e.split(/\s+/g).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return t.\u0275fac=function(e){return new(e||t)(_(To),_(Uc),_(He),_(Nr))},t.\u0275dir=oe({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class UL{constructor(n,e,i,o){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let ri=(()=>{class t{constructor(e,i,o){this._viewContainer=e,this._template=i,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((o,r,s)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new UL(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===r?void 0:r);else if(null!==r){const a=i.get(r);i.move(a,s),WD(a,o)}});for(let o=0,r=i.length;o{WD(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(rn),_(To))},t.\u0275dir=oe({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();function WD(t,n){t.context.$implicit=n.item}let Et=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new zL,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){qD("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){qD("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(rn))},t.\u0275dir=oe({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class zL{constructor(){this.$implicit=null,this.ngIf=null}}function qD(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${tn(n)}'.`)}class Hg{constructor(n,e){this._viewContainerRef=n,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let vl=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews&&e!==this._defaultUsed){this._defaultUsed=e;for(let i=0;i{class t{constructor(e,i,o){this.ngSwitch=o,o._addCase(),this._view=new Hg(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(rn),_(vl,9))},t.\u0275dir=oe({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),KD=(()=>{class t{constructor(e,i,o){o._addDefault(new Hg(e,i))}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(rn),_(vl,9))},t.\u0275dir=oe({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),Ug=(()=>{class t{constructor(e,i,o){this._ngEl=e,this._differs=i,this._renderer=o,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[o,r]=e.split(".");null!=(i=null!=i&&r?`${i}${r}`:i)?this._renderer.setStyle(this._ngEl.nativeElement,o,i):this._renderer.removeStyle(this._ngEl.nativeElement,o)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Uc),_(Nr))},t.\u0275dir=oe({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})();function nr(t,n){return new Qe(2100,"")}class WL{createSubscription(n,e){return n.subscribe({next:e,error:i=>{throw i}})}dispose(n){n.unsubscribe()}onDestroy(n){n.unsubscribe()}}class qL{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}onDestroy(n){}}const KL=new qL,ZL=new WL;let zg=(()=>{class t{constructor(e){this._ref=e,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(e){return this._obj?e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue:(e&&this._subscribe(e),this._latestValue)}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(xc(e))return KL;if(s1(e))return ZL;throw nr()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(_(At,16))},t.\u0275pipe=zi({name:"async",type:t,pure:!1}),t})(),QD=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw nr();return e.toUpperCase()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=zi({name:"uppercase",type:t,pure:!0}),t})(),YD=(()=>{class t{constructor(e){this.differs=e,this.keyValues=[],this.compareFn=XD}transform(e,i=XD){if(!e||!(e instanceof Map)&&"object"!=typeof e)return null;this.differ||(this.differ=this.differs.find(e).create());const o=this.differ.diff(e),r=i!==this.compareFn;return o&&(this.keyValues=[],o.forEachItem(s=>{this.keyValues.push(function s5(t,n){return{key:t,value:n}}(s.key,s.currentValue))})),(o||r)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}}return t.\u0275fac=function(e){return new(e||t)(_(Uc,16))},t.\u0275pipe=zi({name:"keyvalue",type:t,pure:!1}),t})();function XD(t,n){const e=t.key,i=n.key;if(e===i)return 0;if(void 0===e)return 1;if(void 0===i)return-1;if(null===e)return 1;if(null===i)return-1;if("string"==typeof e&&"string"==typeof i)return e{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const JD="browser";let m5=(()=>{class t{}return t.\u0275prov=Be({token:t,providedIn:"root",factory:()=>new g5(Q(ht),window)}),t})();class g5{constructor(n,e){this.document=n,this.window=e,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const e=function _5(t,n){const e=t.getElementById(n)||t.getElementsByName(n)[0];if(e)return e;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const r=o.shadowRoot;if(r){const s=r.getElementById(n)||r.querySelector(`[name="${n}"]`);if(s)return s}o=i.nextNode()}}return null}(this.document,n);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(n){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=n)}}scrollToElement(n){const e=n.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(i-r[0],o-r[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const n=eS(this.window.history)||eS(Object.getPrototypeOf(this.window.history));return!(!n||!n.writable&&!n.set)}catch(n){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(n){return!1}}}function eS(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class tS{}class Wg extends class b5 extends class Y3{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function Q3(t){Wu||(Wu=t)}(new Wg)}onAndCancel(n,e,i){return n.addEventListener(e,i,!1),()=>{n.removeEventListener(e,i,!1)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function v5(){return Wc=Wc||document.querySelector("base"),Wc?Wc.getAttribute("href"):null}();return null==e?null:function y5(t){ih=ih||document.createElement("a"),ih.setAttribute("href",t);const n=ih.pathname;return"/"===n.charAt(0)?n:`/${n}`}(e)}resetBaseElement(){Wc=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return GD(document.cookie,n)}}let ih,Wc=null;const nS=new _e("TRANSITION_ID"),w5=[{provide:_g,useFactory:function C5(t,n,e){return()=>{e.get(bg).donePromise.then(()=>{const i=_r(),o=n.querySelectorAll(`style[ng-transition="${t}"]`);for(let r=0;r{const r=n.findTestabilityInTree(i,o);if(null==r)throw new Error("Could not find testability for element.");return r},on.getAllAngularTestabilities=()=>n.getAllTestabilities(),on.getAllAngularRootElements=()=>n.getAllRootElements(),on.frameworkStabilizers||(on.frameworkStabilizers=[]),on.frameworkStabilizers.push(i=>{const o=on.getAllAngularTestabilities();let r=o.length,s=!1;const a=function(l){s=s||l,r--,0==r&&i(s)};o.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(n,e,i){if(null==e)return null;const o=n.getTestability(e);return null!=o?o:i?_r().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null}}let D5=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const oh=new _e("EventManagerPlugins");let rh=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(o=>o.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,i,o){return this._findPluginFor(i).addEventListener(e,i,o)}addGlobalEventListener(e,i,o){return this._findPluginFor(i).addGlobalEventListener(e,i,o)}getZone(){return this._zone}_findPluginFor(e){const i=this._eventNameToPlugin.get(e);if(i)return i;const o=this._plugins;for(let r=0;r{class t{constructor(){this._stylesSet=new Set}addStyles(e){const i=new Set;e.forEach(o=>{this._stylesSet.has(o)||(this._stylesSet.add(o),i.add(o))}),this.onStylesAdded(i)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),qc=(()=>{class t extends oS{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,i,o){e.forEach(r=>{const s=this._doc.createElement("style");s.textContent=r,o.push(i.appendChild(s))})}addHost(e){const i=[];this._addStylesToHost(this._stylesSet,e,i),this._hostNodes.set(e,i)}removeHost(e){const i=this._hostNodes.get(e);i&&i.forEach(rS),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((i,o)=>{this._addStylesToHost(e,o,i)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach(rS))}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function rS(t){_r().remove(t)}const Kg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Zg=/%COMP%/g;function sh(t,n,e){for(let i=0;i{if("__ngUnwrap__"===n)return t;!1===t(n)&&(n.preventDefault(),n.returnValue=!1)}}let ah=(()=>{class t{constructor(e,i,o){this.eventManager=e,this.sharedStylesHost=i,this.appId=o,this.rendererByCompId=new Map,this.defaultRenderer=new Qg(e)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;switch(i.encapsulation){case Uo.Emulated:{let o=this.rendererByCompId.get(i.id);return o||(o=new E5(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,o)),o.applyToHost(e),o}case 1:case Uo.ShadowDom:return new I5(this.eventManager,this.sharedStylesHost,e,i);default:if(!this.rendererByCompId.has(i.id)){const o=sh(i.id,i.styles,[]);this.sharedStylesHost.addStyles(o),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Q(rh),Q(qc),Q(jc))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class Qg{constructor(n){this.eventManager=n,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,e){return e?document.createElementNS(Kg[e]||e,n):document.createElement(n)}createComment(n){return document.createComment(n)}createText(n){return document.createTextNode(n)}appendChild(n,e){n.appendChild(e)}insertBefore(n,e,i){n&&n.insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?document.querySelector(n):n;if(!i)throw new Error(`The selector "${n}" did not match any elements`);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,o){if(o){e=o+":"+e;const r=Kg[o];r?n.setAttributeNS(r,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const o=Kg[i];o?n.removeAttributeNS(o,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,o){o&(ao.DashCase|ao.Important)?n.style.setProperty(e,i,o&ao.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&ao.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n[e]=i}setValue(n,e){n.nodeValue=e}listen(n,e,i){return"string"==typeof n?this.eventManager.addGlobalEventListener(n,e,lS(i)):this.eventManager.addEventListener(n,e,lS(i))}}class E5 extends Qg{constructor(n,e,i,o){super(n),this.component=i;const r=sh(o+"-"+i.id,i.styles,[]);e.addStyles(r),this.contentAttr=function x5(t){return"_ngcontent-%COMP%".replace(Zg,t)}(o+"-"+i.id),this.hostAttr=function T5(t){return"_nghost-%COMP%".replace(Zg,t)}(o+"-"+i.id)}applyToHost(n){super.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}class I5 extends Qg{constructor(n,e,i,o){super(n),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=sh(o.id,o.styles,[]);for(let s=0;s{class t extends iS{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,o){return e.addEventListener(i,o,!1),()=>this.removeEventListener(e,i,o)}removeEventListener(e,i,o){return e.removeEventListener(i,o)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const dS=["alt","control","meta","shift"],P5={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},uS={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},R5={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let F5=(()=>{class t extends iS{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,o){const r=t.parseEventName(i),s=t.eventCallback(r.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>_r().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const r=t._normalizeKey(i.pop());let s="";if(dS.forEach(l=>{const u=i.indexOf(l);u>-1&&(i.splice(u,1),s+=l+".")}),s+=r,0!=i.length||0===r.length)return null;const a={};return a.domEventName=o,a.fullKey=s,a}static getEventFullKey(e){let i="",o=function N5(t){let n=t.key;if(null==n){if(n=t.keyIdentifier,null==n)return"Unidentified";n.startsWith("U+")&&(n=String.fromCharCode(parseInt(n.substring(2),16)),3===t.location&&uS.hasOwnProperty(n)&&(n=uS[n]))}return P5[n]||n}(e);return o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),dS.forEach(r=>{r!=o&&R5[r](e)&&(i+=r+".")}),i+=o,i}static eventCallback(e,i,o){return r=>{t.getEventFullKey(r)===e&&o.runGuarded(()=>i(r))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const j5=gD(q3,"browser",[{provide:Hc,useValue:JD},{provide:aD,useValue:function L5(){Wg.makeCurrent(),qg.init()},multi:!0},{provide:ht,useFactory:function V5(){return function hO(t){bf=t}(document),document},deps:[]}]),H5=[{provide:Am,useValue:"root"},{provide:ps,useFactory:function B5(){return new ps},deps:[]},{provide:oh,useClass:O5,multi:!0,deps:[ht,Je,Hc]},{provide:oh,useClass:F5,multi:!0,deps:[ht]},{provide:ah,useClass:ah,deps:[rh,qc,jc]},{provide:Rc,useExisting:ah},{provide:oS,useExisting:qc},{provide:qc,useClass:qc,deps:[ht]},{provide:Dg,useClass:Dg,deps:[Je]},{provide:rh,useClass:rh,deps:[oh,Je]},{provide:tS,useClass:D5,deps:[]}];let hS=(()=>{class t{constructor(e){if(e)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:jc,useValue:e.appId},{provide:nS,useExisting:jc},w5]}}}return t.\u0275fac=function(e){return new(e||t)(Q(t,12))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:H5,imports:[Wi,K3]}),t})();"undefined"!=typeof window&&window;let Xg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:function(e){let i=null;return i=e?new(e||t):Q(mS),i},providedIn:"root"}),t})(),mS=(()=>{class t extends Xg{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case Yt.NONE:return i;case Yt.HTML:return cr(i,"HTML")?so(i):dC(this._doc,String(i)).toString();case Yt.STYLE:return cr(i,"Style")?so(i):i;case Yt.SCRIPT:if(cr(i,"Script"))return so(i);throw new Error("unsafe value used in a script context");case Yt.URL:return nC(i),cr(i,"URL")?so(i):mc(String(i));case Yt.RESOURCE_URL:if(cr(i,"ResourceURL"))return so(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${e} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(e){return function M2(t){return new y2(t)}(e)}bypassSecurityTrustStyle(e){return function x2(t){return new C2(t)}(e)}bypassSecurityTrustScript(e){return function T2(t){return new w2(t)}(e)}bypassSecurityTrustUrl(e){return function k2(t){return new D2(t)}(e)}bypassSecurityTrustResourceUrl(e){return function E2(t){return new S2(t)}(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:function(e){let i=null;return i=e?new e:function Y5(t){return new mS(t.get(ht))}(Q(pn)),i},providedIn:"root"}),t})();class gS{}const Hr="*";function Io(t,n){return{type:7,name:t,definitions:n,options:{}}}function si(t,n=null){return{type:4,styles:n,timings:t}}function _S(t,n=null){return{type:3,steps:t,options:n}}function bS(t,n=null){return{type:2,steps:t,options:n}}function Vt(t){return{type:6,styles:t,offset:null}}function jn(t,n,e){return{type:0,name:t,styles:n,options:e}}function Kn(t,n,e=null){return{type:1,expr:t,animation:n,options:e}}function Jg(t=null){return{type:9,options:t}}function e_(t,n,e=null){return{type:11,selector:t,animation:n,options:e}}function vS(t){Promise.resolve(null).then(t)}class Kc{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._onStartFns.push(n)}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){vS(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class yS{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,o=0;const r=this.players.length;0==r?vS(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==r&&this._onFinish()}),s.onDestroy(()=>{++i==r&&this._onDestroy()}),s.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const o=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(o)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}const jt=!1;function CS(t){return new Qe(3e3,jt)}function R4(){return"undefined"!=typeof window&&void 0!==window.document}function n_(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function vs(t){switch(t.length){case 0:return new Kc;case 1:return t[0];default:return new yS(t)}}function wS(t,n,e,i,o={},r={}){const s=[],a=[];let l=-1,u=null;if(i.forEach(p=>{const g=p.offset,v=g==l,C=v&&u||{};Object.keys(p).forEach(M=>{let V=M,K=p[M];if("offset"!==M)switch(V=n.normalizePropertyName(V,s),K){case"!":K=o[M];break;case Hr:K=r[M];break;default:K=n.normalizeStyleValue(M,V,K,s)}C[V]=K}),v||a.push(C),u=C,l=g}),s.length)throw function D4(t){return new Qe(3502,jt)}();return a}function i_(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&o_(e,"start",t)));break;case"done":t.onDone(()=>i(e&&o_(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&o_(e,"destroy",t)))}}function o_(t,n,e){const i=e.totalTime,r=r_(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,null==i?t.totalTime:i,!!e.disabled),s=t._data;return null!=s&&(r._data=s),r}function r_(t,n,e,i,o="",r=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:o,totalTime:r,disabled:!!s}}function co(t,n,e){let i;return t instanceof Map?(i=t.get(n),i||t.set(n,i=e)):(i=t[n],i||(i=t[n]=e)),i}function DS(t){const n=t.indexOf(":");return[t.substring(1,n),t.substr(n+1)]}let s_=(t,n)=>!1,SS=(t,n,e)=>[],MS=null;function a_(t){const n=t.parentNode||t.host;return n===MS?null:n}(n_()||"undefined"!=typeof Element)&&(R4()?(MS=(()=>document.documentElement)(),s_=(t,n)=>{for(;n;){if(n===t)return!0;n=a_(n)}return!1}):s_=(t,n)=>t.contains(n),SS=(t,n,e)=>{if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]});let ia=null,xS=!1;function TS(t){ia||(ia=function N4(){return"undefined"!=typeof document?document.body:null}()||{},xS=!!ia.style&&"WebkitAppearance"in ia.style);let n=!0;return ia.style&&!function F4(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in ia.style,!n&&xS&&(n="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in ia.style)),n}const kS=s_,ES=SS;let IS=(()=>{class t{validateStyleProperty(e){return TS(e)}matchesElement(e,i){return!1}containsElement(e,i){return kS(e,i)}getParentElement(e){return a_(e)}query(e,i,o){return ES(e,i,o)}computeStyle(e,i,o){return o||""}animate(e,i,o,r,s,a=[],l){return new Kc(o,r)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),l_=(()=>{class t{}return t.NOOP=new IS,t})();const c_="ng-enter",ch="ng-leave",dh="ng-trigger",uh=".ng-trigger",AS="ng-animating",d_=".ng-animating";function oa(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:u_(parseFloat(n[1]),n[2])}function u_(t,n){return"s"===n?1e3*t:t}function hh(t,n,e){return t.hasOwnProperty("duration")?t:function V4(t,n,e){let o,r=0,s="";if("string"==typeof t){const a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return n.push(CS()),{duration:0,delay:0,easing:""};o=u_(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(r=u_(parseFloat(l),a[4]));const u=a[5];u&&(s=u)}else o=t;if(!e){let a=!1,l=n.length;o<0&&(n.push(function e4(){return new Qe(3100,jt)}()),a=!0),r<0&&(n.push(function t4(){return new Qe(3101,jt)}()),a=!0),a&&n.splice(l,0,CS())}return{duration:o,delay:r,easing:s}}(t,n,e)}function yl(t,n={}){return Object.keys(t).forEach(e=>{n[e]=t[e]}),n}function ys(t,n,e={}){if(n)for(let i in t)e[i]=t[i];else yl(t,e);return e}function RS(t,n,e){return e?n+":"+e+";":""}function FS(t){let n="";for(let e=0;e{const o=p_(i);e&&!e.hasOwnProperty(i)&&(e[i]=t.style[o]),t.style[o]=n[i]}),n_()&&FS(t))}function ra(t,n){t.style&&(Object.keys(n).forEach(e=>{const i=p_(e);t.style[i]=""}),n_()&&FS(t))}function Zc(t){return Array.isArray(t)?1==t.length?t[0]:bS(t):t}const h_=new RegExp("{{\\s*(.+?)\\s*}}","g");function NS(t){let n=[];if("string"==typeof t){let e;for(;e=h_.exec(t);)n.push(e[1]);h_.lastIndex=0}return n}function ph(t,n,e){const i=t.toString(),o=i.replace(h_,(r,s)=>{let a=n[s];return n.hasOwnProperty(s)||(e.push(function o4(t){return new Qe(3003,jt)}()),a=""),a.toString()});return o==i?t:o}function fh(t){const n=[];let e=t.next();for(;!e.done;)n.push(e.value),e=t.next();return n}const H4=/-+([a-z0-9])/g;function p_(t){return t.replace(H4,(...n)=>n[1].toUpperCase())}function U4(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function uo(t,n,e){switch(n.type){case 7:return t.visitTrigger(n,e);case 0:return t.visitState(n,e);case 1:return t.visitTransition(n,e);case 2:return t.visitSequence(n,e);case 3:return t.visitGroup(n,e);case 4:return t.visitAnimate(n,e);case 5:return t.visitKeyframes(n,e);case 6:return t.visitStyle(n,e);case 8:return t.visitReference(n,e);case 9:return t.visitAnimateChild(n,e);case 10:return t.visitAnimateRef(n,e);case 11:return t.visitQuery(n,e);case 12:return t.visitStagger(n,e);default:throw function r4(t){return new Qe(3004,jt)}()}}function LS(t,n){return window.getComputedStyle(t)[n]}function K4(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function Z4(t,n,e){if(":"==t[0]){const l=function Q4(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof l)return void n.push(l);t=l}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function b4(t){return new Qe(3015,jt)}()),n;const o=i[1],r=i[2],s=i[3];n.push(BS(o,s));"<"==r[0]&&!("*"==o&&"*"==s)&&n.push(BS(s,o))}(i,e,n)):e.push(t),e}const bh=new Set(["true","1"]),vh=new Set(["false","0"]);function BS(t,n){const e=bh.has(t)||vh.has(t),i=bh.has(n)||vh.has(n);return(o,r)=>{let s="*"==t||t==o,a="*"==n||n==r;return!s&&e&&"boolean"==typeof o&&(s=o?bh.has(t):vh.has(t)),!a&&i&&"boolean"==typeof r&&(a=r?bh.has(n):vh.has(n)),s&&a}}const Y4=new RegExp("s*:selfs*,?","g");function f_(t,n,e,i){return new X4(t).build(n,e,i)}class X4{constructor(n){this._driver=n}build(n,e,i){const o=new tB(e);this._resetContextStyleTimingState(o);const r=uo(this,Zc(n),o);return o.unsupportedCSSPropertiesFound.size&&o.unsupportedCSSPropertiesFound.keys(),r}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles={},n.collectedStyles[""]={},n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,o=e.depCount=0;const r=[],s=[];return"@"==n.name.charAt(0)&&e.errors.push(function a4(){return new Qe(3006,jt)}()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),0==a.type){const l=a,u=l.name;u.toString().split(/\s*,\s*/).forEach(p=>{l.name=p,r.push(this.visitState(l,e))}),l.name=u}else if(1==a.type){const l=this.visitTransition(a,e);i+=l.queryCount,o+=l.depCount,s.push(l)}else e.errors.push(function l4(){return new Qe(3007,jt)}())}),{type:7,name:n.name,states:r,transitions:s,queryCount:i,depCount:o,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),o=n.options&&n.options.params||null;if(i.containsDynamicStyles){const r=new Set,s=o||{};i.styles.forEach(a=>{if(yh(a)){const l=a;Object.keys(l).forEach(u=>{NS(l[u]).forEach(p=>{s.hasOwnProperty(p)||r.add(p)})})}}),r.size&&(fh(r.values()),e.errors.push(function c4(t,n){return new Qe(3008,jt)}()))}return{type:0,name:n.name,style:i,options:o?{params:o}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=uo(this,Zc(n.animation),e);return{type:1,matchers:K4(n.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:sa(n.options)}}visitSequence(n,e){return{type:2,steps:n.steps.map(i=>uo(this,i,e)),options:sa(n.options)}}visitGroup(n,e){const i=e.currentTime;let o=0;const r=n.steps.map(s=>{e.currentTime=i;const a=uo(this,s,e);return o=Math.max(o,e.currentTime),a});return e.currentTime=o,{type:3,steps:r,options:sa(n.options)}}visitAnimate(n,e){const i=function iB(t,n){let e=null;if(t.hasOwnProperty("duration"))e=t;else if("number"==typeof t)return m_(hh(t,n).duration,0,"");const i=t;if(i.split(/\s+/).some(r=>"{"==r.charAt(0)&&"{"==r.charAt(1))){const r=m_(0,0,"");return r.dynamic=!0,r.strValue=i,r}return e=e||hh(i,n),m_(e.duration,e.delay,e.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let o,r=n.styles?n.styles:Vt({});if(5==r.type)o=this.visitKeyframes(r,e);else{let s=n.styles,a=!1;if(!s){a=!0;const u={};i.easing&&(u.easing=i.easing),s=Vt(u)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,o=l}return e.currentAnimateTimings=null,{type:4,timings:i,style:o,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[];Array.isArray(n.styles)?n.styles.forEach(s=>{"string"==typeof s?s==Hr?i.push(s):e.errors.push(function d4(t){return new Qe(3002,jt)}()):i.push(s)}):i.push(n.styles);let o=!1,r=null;return i.forEach(s=>{if(yh(s)){const a=s,l=a.easing;if(l&&(r=l,delete a.easing),!o)for(let u in a)if(a[u].toString().indexOf("{{")>=0){o=!0;break}}}),{type:6,styles:i,easing:r,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let o=e.currentTime,r=e.currentTime;i&&r>0&&(r-=i.duration+i.delay),n.styles.forEach(s=>{"string"!=typeof s&&Object.keys(s).forEach(a=>{if(!this._driver.validateStyleProperty(a))return delete s[a],void e.unsupportedCSSPropertiesFound.add(a);const l=e.collectedStyles[e.currentQuerySelector],u=l[a];let p=!0;u&&(r!=o&&r>=u.startTime&&o<=u.endTime&&(e.errors.push(function u4(t,n,e,i,o){return new Qe(3010,jt)}()),p=!1),r=u.startTime),p&&(l[a]={startTime:r,endTime:o}),e.options&&function j4(t,n,e){const i=n.params||{},o=NS(t);o.length&&o.forEach(r=>{i.hasOwnProperty(r)||e.push(function n4(t){return new Qe(3001,jt)}())})}(s[a],e.options,e.errors)})})}visitKeyframes(n,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function h4(){return new Qe(3011,jt)}()),i;let r=0;const s=[];let a=!1,l=!1,u=0;const p=n.steps.map(Y=>{const ee=this._makeStyleAst(Y,e);let ke=null!=ee.offset?ee.offset:function nB(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(yh(e)&&e.hasOwnProperty("offset")){const i=e;n=parseFloat(i.offset),delete i.offset}});else if(yh(t)&&t.hasOwnProperty("offset")){const e=t;n=parseFloat(e.offset),delete e.offset}return n}(ee.styles),Ze=0;return null!=ke&&(r++,Ze=ee.offset=ke),l=l||Ze<0||Ze>1,a=a||Ze0&&r{const ke=v>0?ee==C?1:v*ee:s[ee],Ze=ke*K;e.currentTime=M+V.delay+Ze,V.duration=Ze,this._validateStyleAst(Y,e),Y.offset=ke,i.styles.push(Y)}),i}visitReference(n,e){return{type:8,animation:uo(this,Zc(n.animation),e),options:sa(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:9,options:sa(n.options)}}visitAnimateRef(n,e){return{type:10,animation:this.visitReference(n.animation,e),options:sa(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,o=n.options||{};e.queryCount++,e.currentQuery=n;const[r,s]=function J4(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(Y4,"")),t=t.replace(/@\*/g,uh).replace(/@\w+/g,e=>uh+"-"+e.substr(1)).replace(/:animating/g,d_),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+r:r,co(e.collectedStyles,e.currentQuerySelector,{});const a=uo(this,Zc(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:r,limit:o.limit||0,optional:!!o.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:sa(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function g4(){return new Qe(3013,jt)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:hh(n.timings,e.errors,!0);return{type:12,animation:uo(this,Zc(n.animation),e),timings:i,options:null}}}class tB{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function yh(t){return!Array.isArray(t)&&"object"==typeof t}function sa(t){return t?(t=yl(t)).params&&(t.params=function eB(t){return t?yl(t):null}(t.params)):t={},t}function m_(t,n,e){return{duration:t,delay:n,easing:e}}function g_(t,n,e,i,o,r,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:o,delay:r,totalTime:o+r,easing:s,subTimeline:a}}class Ch{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const sB=new RegExp(":enter","g"),lB=new RegExp(":leave","g");function __(t,n,e,i,o,r={},s={},a,l,u=[]){return(new cB).buildKeyframes(t,n,e,i,o,r,s,a,l,u)}class cB{buildKeyframes(n,e,i,o,r,s,a,l,u,p=[]){u=u||new Ch;const g=new b_(n,e,u,o,r,p,[]);g.options=l,g.currentTimeline.setStyles([s],null,g.errors,l),uo(this,i,g);const v=g.timelines.filter(C=>C.containsAnimation());if(Object.keys(a).length){let C;for(let M=v.length-1;M>=0;M--){const V=v[M];if(V.element===e){C=V;break}}C&&!C.allowOnlyTimelineStyles()&&C.setStyles([a],null,g.errors,l)}return v.length?v.map(C=>C.buildKeyframes()):[g_(e,[],[],[],0,0,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const o=e.createSubContext(n.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,o,o.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_visitSubInstructions(n,e,i){let r=e.currentTimeline.currentTime;const s=null!=i.duration?oa(i.duration):null,a=null!=i.delay?oa(i.delay):null;return 0!==s&&n.forEach(l=>{const u=e.appendInstructionToTimeline(l,s,a);r=Math.max(r,u.duration+u.delay)}),r}visitReference(n,e){e.updateOptions(n.options,!0),uo(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let o=e;const r=n.options;if(r&&(r.params||r.delay)&&(o=e.createSubContext(r),o.transformIntoNewTimeline(),null!=r.delay)){6==o.previousNode.type&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=wh);const s=oa(r.delay);o.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>uo(this,s,o)),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let o=e.currentTimeline.currentTime;const r=n.options&&n.options.delay?oa(n.options.delay):0;n.steps.forEach(s=>{const a=e.createSubContext(n.options);r&&a.delayNextStep(r),uo(this,s,a),o=Math.max(o,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(o),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return hh(e.params?ph(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),o=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),o.snapshotCurrentStyles());const r=n.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(i.duration),this.visitStyle(r,e),o.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,o=e.currentAnimateTimings;!o&&i.getCurrentStyleProperties().length&&i.forwardFrame();const r=o&&o.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(r):i.setStyles(n.styles,r,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,o=e.currentTimeline.duration,r=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(l=>{a.forwardTime((l.offset||0)*r),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(o+r),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,o=n.options||{},r=o.delay?oa(o.delay):0;r&&(6===e.previousNode.type||0==i&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wh);let s=i;const a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!o.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((u,p)=>{e.currentQueryIndex=p;const g=e.createSubContext(n.options,u);r&&g.delayNextStep(r),u===e.element&&(l=g.currentTimeline),uo(this,n.animation,g),g.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,g.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,o=e.currentTimeline,r=n.timings,s=Math.abs(r.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const p=e.currentTimeline;l&&p.delayNextStep(l);const g=p.currentTime;uo(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=o.currentTime-g+(o.startTime-i.currentTimeline.startTime)}}const wh={};class b_{constructor(n,e,i,o,r,s,a,l){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=o,this._leaveClassName=r,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wh,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Dh(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let o=this.options;null!=i.duration&&(o.duration=oa(i.duration)),null!=i.delay&&(o.delay=oa(i.delay));const r=i.params;if(r){let s=o.params;s||(s=this.options.params={}),Object.keys(r).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=ph(r[a],s,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(o=>{i[o]=e[o]})}}return n}createSubContext(n=null,e,i){const o=e||this.element,r=new b_(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(n),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(n){return this.previousNode=wh,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const o={duration:null!=e?e:n.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+n.delay,easing:""},r=new dB(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,o,n.stretchStartingKeyframe);return this.timelines.push(r),o}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,o,r,s){let a=[];if(o&&a.push(this.element),n.length>0){n=(n=n.replace(sB,"."+this._enterClassName)).replace(lB,"."+this._leaveClassName);let u=this._driver.query(this.element,n,1!=i);0!==i&&(u=i<0?u.slice(u.length+i,u.length):u.slice(0,i)),a.push(...u)}return!r&&0==a.length&&s.push(function _4(t){return new Qe(3014,jt)}()),a}}class Dh{constructor(n,e,i,o){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=o,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new Dh(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles[n]=e,this._globalTimelineStyles[n]=e,this._styleSummary[n]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&(this._previousKeyframe.easing=n),Object.keys(this._globalTimelineStyles).forEach(e=>{this._backFill[e]=this._globalTimelineStyles[e]||Hr,this._currentKeyframe[e]=Hr}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,o){e&&(this._previousKeyframe.easing=e);const r=o&&o.params||{},s=function uB(t,n){const e={};let i;return t.forEach(o=>{"*"===o?(i=i||Object.keys(n),i.forEach(r=>{e[r]=Hr})):ys(o,!1,e)}),e}(n,this._globalTimelineStyles);Object.keys(s).forEach(a=>{const l=ph(s[a],r,i);this._pendingStyles[a]=l,this._localTimelineStyles.hasOwnProperty(a)||(this._backFill[a]=this._globalTimelineStyles.hasOwnProperty(a)?this._globalTimelineStyles[a]:Hr),this._updateStyle(a,l)})}applyStylesToKeyframe(){const n=this._pendingStyles,e=Object.keys(n);0!=e.length&&(this._pendingStyles={},e.forEach(i=>{this._currentKeyframe[i]=n[i]}),Object.keys(this._localTimelineStyles).forEach(i=>{this._currentKeyframe.hasOwnProperty(i)||(this._currentKeyframe[i]=this._localTimelineStyles[i])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(n=>{const e=this._localTimelineStyles[n];this._pendingStyles[n]=e,this._updateStyle(n,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){Object.keys(n._styleSummary).forEach(e=>{const i=this._styleSummary[e],o=n._styleSummary[e];(!i||o.time>i.time)&&this._updateStyle(e,o.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let o=[];this._keyframes.forEach((a,l)=>{const u=ys(a,!0);Object.keys(u).forEach(p=>{const g=u[p];"!"==g?n.add(p):g==Hr&&e.add(p)}),i||(u.offset=l/this.duration),o.push(u)});const r=n.size?fh(n.values()):[],s=e.size?fh(e.values()):[];if(i){const a=o[0],l=yl(a);a.offset=0,l.offset=1,o=[a,l]}return g_(this.element,o,r,s,this.duration,this.startTime,this.easing,!1)}}class dB extends Dh{constructor(n,e,i,o,r,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=o,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:o}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=i+e,a=e/s,l=ys(n[0],!1);l.offset=0,r.push(l);const u=ys(n[0],!1);u.offset=HS(a),r.push(u);const p=n.length-1;for(let g=1;g<=p;g++){let v=ys(n[g],!1);v.offset=HS((e+v.offset*i)/s),r.push(v)}i=s,e=0,o="",n=r}return g_(this.element,n,this.preStyleProps,this.postStyleProps,i,e,o,!0)}}function HS(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}class v_{}class hB extends v_{normalizePropertyName(n,e){return p_(n)}normalizeStyleValue(n,e,i,o){let r="";const s=i.toString().trim();if(pB[e]&&0!==i&&"0"!==i)if("number"==typeof i)r="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&o.push(function s4(t,n){return new Qe(3005,jt)}())}return s+r}}const pB=(()=>function fB(t){const n={};return t.forEach(e=>n[e]=!0),n}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function US(t,n,e,i,o,r,s,a,l,u,p,g,v){return{type:0,element:t,triggerName:n,isRemovalTransition:o,fromState:e,fromStyles:r,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:u,postStyleProps:p,totalTime:g,errors:v}}const y_={};class zS{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,o){return function mB(t,n,e,i,o){return t.some(r=>r(n,e,i,o))}(this.ast.matchers,n,e,i,o)}buildStyles(n,e,i){const o=this._stateStyles["*"],r=this._stateStyles[n],s=o?o.buildStyles(e,i):{};return r?r.buildStyles(e,i):s}build(n,e,i,o,r,s,a,l,u,p){const g=[],v=this.ast.options&&this.ast.options.params||y_,M=this.buildStyles(i,a&&a.params||y_,g),V=l&&l.params||y_,K=this.buildStyles(o,V,g),Y=new Set,ee=new Map,ke=new Map,Ze="void"===o,Pt={params:Object.assign(Object.assign({},v),V)},xn=p?[]:__(n,e,this.ast.animation,r,s,M,K,Pt,u,g);let On=0;if(xn.forEach(mo=>{On=Math.max(mo.duration+mo.delay,On)}),g.length)return US(e,this._triggerName,i,o,Ze,M,K,[],[],ee,ke,On,g);xn.forEach(mo=>{const go=mo.element,Wl=co(ee,go,{});mo.preStyleProps.forEach(rr=>Wl[rr]=!0);const ss=co(ke,go,{});mo.postStyleProps.forEach(rr=>ss[rr]=!0),go!==e&&Y.add(go)});const fo=fh(Y.values());return US(e,this._triggerName,i,o,Ze,M,K,xn,fo,ee,ke,On)}}class gB{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i={},o=yl(this.defaultParams);return Object.keys(n).forEach(r=>{const s=n[r];null!=s&&(o[r]=s)}),this.styles.styles.forEach(r=>{if("string"!=typeof r){const s=r;Object.keys(s).forEach(a=>{let l=s[a];l.length>1&&(l=ph(l,o,e));const u=this.normalizer.normalizePropertyName(a,e);l=this.normalizer.normalizeStyleValue(a,u,l,e),i[u]=l})}}),i}}class bB{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states={},e.states.forEach(o=>{this.states[o.name]=new gB(o.style,o.options&&o.options.params||{},i)}),$S(this.states,"true","1"),$S(this.states,"false","0"),e.transitions.forEach(o=>{this.transitionFactories.push(new zS(n,o,this.states))}),this.fallbackTransition=function vB(t,n,e){return new zS(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,o){return this.transitionFactories.find(s=>s.match(n,e,i,o))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function $S(t,n,e){t.hasOwnProperty(n)?t.hasOwnProperty(e)||(t[e]=t[n]):t.hasOwnProperty(e)&&(t[n]=t[e])}const yB=new Ch;class CB{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(n,e){const i=[],r=f_(this._driver,e,i,[]);if(i.length)throw function S4(t){return new Qe(3503,jt)}();this._animations[n]=r}_buildPlayer(n,e,i){const o=n.element,r=wS(0,this._normalizer,0,n.keyframes,e,i);return this._driver.animate(o,r,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const o=[],r=this._animations[n];let s;const a=new Map;if(r?(s=__(this._driver,e,r,c_,ch,{},{},i,yB,o),s.forEach(p=>{const g=co(a,p.element,{});p.postStyleProps.forEach(v=>g[v]=null)})):(o.push(function M4(){return new Qe(3300,jt)}()),s=[]),o.length)throw function x4(t){return new Qe(3504,jt)}();a.forEach((p,g)=>{Object.keys(p).forEach(v=>{p[v]=this._driver.computeStyle(g,v,Hr)})});const u=vs(s.map(p=>{const g=a.get(p.element);return this._buildPlayer(p,{},g)}));return this._playersById[n]=u,u.onDestroy(()=>this.destroy(n)),this.players.push(u),u}destroy(n){const e=this._getPlayer(n);e.destroy(),delete this._playersById[n];const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById[n];if(!e)throw function T4(t){return new Qe(3301,jt)}();return e}listen(n,e,i,o){const r=r_(e,"","","");return i_(this._getPlayer(n),i,r,o),()=>{}}command(n,e,i,o){if("register"==i)return void this.register(n,o[0]);if("create"==i)return void this.create(n,e,o[0]||{});const r=this._getPlayer(n);switch(i){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(o[0]));break;case"destroy":this.destroy(n)}}}const GS="ng-animate-queued",C_="ng-animate-disabled",xB=[],WS={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},TB={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Oo="__ng_removed";class w_{constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function OB(t){return null!=t?t:null}(i?n.value:n),i){const r=yl(n);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(o=>{null==i[o]&&(i[o]=e[o])})}}}const Qc="void",D_=new w_(Qc);class kB{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,Ao(e,this._hostClassName)}listen(n,e,i,o){if(!this._triggers.hasOwnProperty(e))throw function k4(t,n){return new Qe(3302,jt)}();if(null==i||0==i.length)throw function E4(t){return new Qe(3303,jt)}();if(!function AB(t){return"start"==t||"done"==t}(i))throw function I4(t,n){return new Qe(3400,jt)}();const r=co(this._elementListeners,n,[]),s={name:e,phase:i,callback:o};r.push(s);const a=co(this._engine.statesByElement,n,{});return a.hasOwnProperty(e)||(Ao(n,dh),Ao(n,dh+"-"+e),a[e]=D_),()=>{this._engine.afterFlush(()=>{const l=r.indexOf(s);l>=0&&r.splice(l,1),this._triggers[e]||delete a[e]})}}register(n,e){return!this._triggers[n]&&(this._triggers[n]=e,!0)}_getTrigger(n){const e=this._triggers[n];if(!e)throw function O4(t){return new Qe(3401,jt)}();return e}trigger(n,e,i,o=!0){const r=this._getTrigger(e),s=new S_(this.id,e,n);let a=this._engine.statesByElement.get(n);a||(Ao(n,dh),Ao(n,dh+"-"+e),this._engine.statesByElement.set(n,a={}));let l=a[e];const u=new w_(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&u.absorbOptions(l.options),a[e]=u,l||(l=D_),u.value!==Qc&&l.value===u.value){if(!function FB(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let o=0;o{ra(n,K),br(n,Y)})}return}const v=co(this._engine.playersByElement,n,[]);v.forEach(V=>{V.namespaceId==this.id&&V.triggerName==e&&V.queued&&V.destroy()});let C=r.matchTransition(l.value,u.value,n,u.params),M=!1;if(!C){if(!o)return;C=r.fallbackTransition,M=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:C,fromState:l,toState:u,player:s,isFallbackTransition:M}),M||(Ao(n,GS),s.onStart(()=>{Cl(n,GS)})),s.onDone(()=>{let V=this.players.indexOf(s);V>=0&&this.players.splice(V,1);const K=this._engine.playersByElement.get(n);if(K){let Y=K.indexOf(s);Y>=0&&K.splice(Y,1)}}),this.players.push(s),v.push(s),s}deregister(n){delete this._triggers[n],this._engine.statesByElement.forEach((e,i)=>{delete e[n]}),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(o=>o.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,uh,!0);i.forEach(o=>{if(o[Oo])return;const r=this._engine.fetchNamespacesByElement(o);r.size?r.forEach(s=>s.triggerLeaveAnimation(o,e,!1,!0)):this.clearElementCache(o)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(o=>this.clearElementCache(o)))}triggerLeaveAnimation(n,e,i,o){const r=this._engine.statesByElement.get(n),s=new Map;if(r){const a=[];if(Object.keys(r).forEach(l=>{if(s.set(l,r[l].value),this._triggers[l]){const u=this.trigger(n,l,Qc,o);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&vs(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const o=new Set;e.forEach(r=>{const s=r.name;if(o.has(s))return;o.add(s);const l=this._triggers[s].fallbackTransition,u=i[s]||D_,p=new w_(Qc),g=new S_(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:l,fromState:u,toState:p,player:g,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let o=!1;if(i.totalAnimations){const r=i.players.length?i.playersByQueriedElement.get(n):[];if(r&&r.length)o=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){o=!0;break}}}if(this.prepareLeaveAnimationListeners(n),o)i.markElementAsRemoved(this.id,n,!1,e);else{const r=n[Oo];(!r||r===WS)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){Ao(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const o=i.player;if(o.destroyed)return;const r=i.element,s=this._elementListeners.get(r);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=r_(r,i.triggerName,i.fromState.value,i.toState.value);l._data=n,i_(i.player,a.phase,l,a.callback)}}),o.markedForDestroy?this._engine.afterFlush(()=>{o.destroy()}):e.push(i)}),this._queue=[],e.sort((i,o)=>{const r=i.transition.ast.depCount,s=o.transition.ast.depCount;return 0==r||0==s?r-s:this._engine.driver.containsElement(i.element,o.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}elementContainsData(n){let e=!1;return this._elementListeners.has(n)&&(e=!0),e=!!this._queue.find(i=>i.element===n)||e,e}}class EB{constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(o,r)=>{}}_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new kB(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,o=this.namespacesByHostElement,r=i.length-1;if(r>=0){let s=!1;if(void 0!==this.driver.getParentElement){let a=this.driver.getParentElement(e);for(;a;){const l=o.get(a);if(l){const u=i.indexOf(l);i.splice(u+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}}else for(let a=r;a>=0;a--)if(this.driver.containsElement(i[a].hostElement,e)){i.splice(a+1,0,n),s=!0;break}s||i.unshift(n)}else i.push(n);return o.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let o=this._namespaceLookup[n];o&&o.register(e,i)&&this.totalAnimations++}destroy(n,e){if(!n)return;const i=this._fetchNamespace(n);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[n];const o=this._namespaceList.indexOf(i);o>=0&&this._namespaceList.splice(o,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i){const o=Object.keys(i);for(let r=0;r=0&&this.collectedLeaveElements.splice(s,1)}if(n){const s=this._fetchNamespace(n);s&&s.insertNode(e,i)}o&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),Ao(n,C_)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),Cl(n,C_))}removeNode(n,e,i,o){if(Sh(e)){const r=n?this._fetchNamespace(n):null;if(r?r.removeNode(e,o):this.markElementAsRemoved(n,e,!1,o),i){const s=this.namespacesByHostElement.get(e);s&&s.id!==n&&s.removeNode(e,o)}}else this._onRemovalComplete(e,o)}markElementAsRemoved(n,e,i,o,r){this.collectedLeaveElements.push(e),e[Oo]={namespaceId:n,setForRemoval:o,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:r}}listen(n,e,i,o,r){return Sh(e)?this._fetchNamespace(n).listen(e,i,o,r):()=>{}}_buildInstruction(n,e,i,o,r){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,o,n.fromState.options,n.toState.options,e,r)}destroyInnerAnimations(n){let e=this.driver.query(n,uh,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,d_,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return vs(this.players).onDone(()=>n());n()})}processLeaveNode(n){var e;const i=n[Oo];if(i&&i.setForRemoval){if(n[Oo]=WS,i.namespaceId){this.destroyInnerAnimations(n);const o=this._fetchNamespace(i.namespaceId);o&&o.clearElementCache(n)}this._onRemovalComplete(n,i.setForRemoval)}(null===(e=n.classList)||void 0===e?void 0:e.contains(C_))&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(o=>{this.markElementAsDisabled(o,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,o)=>this._balanceNamespaceList(i,o)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?vs(e).onDone(()=>{i.forEach(o=>o())}):i.forEach(o=>o())}}reportError(n){throw function A4(t){return new Qe(3402,jt)}()}_flushAnimations(n,e){const i=new Ch,o=[],r=new Map,s=[],a=new Map,l=new Map,u=new Map,p=new Set;this.disabledNodes.forEach(Ye=>{p.add(Ye);const dt=this.driver.query(Ye,".ng-animate-queued",!0);for(let _t=0;_t{const _t=c_+V++;M.set(dt,_t),Ye.forEach(qt=>Ao(qt,_t))});const K=[],Y=new Set,ee=new Set;for(let Ye=0;YeY.add(qt)):ee.add(dt))}const ke=new Map,Ze=ZS(v,Array.from(Y));Ze.forEach((Ye,dt)=>{const _t=ch+V++;ke.set(dt,_t),Ye.forEach(qt=>Ao(qt,_t))}),n.push(()=>{C.forEach((Ye,dt)=>{const _t=M.get(dt);Ye.forEach(qt=>Cl(qt,_t))}),Ze.forEach((Ye,dt)=>{const _t=ke.get(dt);Ye.forEach(qt=>Cl(qt,_t))}),K.forEach(Ye=>{this.processLeaveNode(Ye)})});const Pt=[],xn=[];for(let Ye=this._namespaceList.length-1;Ye>=0;Ye--)this._namespaceList[Ye].drainQueuedTransitions(e).forEach(_t=>{const qt=_t.player,gi=_t.element;if(Pt.push(qt),this.collectedEnterElements.length){const Vi=gi[Oo];if(Vi&&Vi.setForMove){if(Vi.previousTriggersValues&&Vi.previousTriggersValues.has(_t.triggerName)){const wa=Vi.previousTriggersValues.get(_t.triggerName),js=this.statesByElement.get(_t.element);js&&js[_t.triggerName]&&(js[_t.triggerName].value=wa)}return void qt.destroy()}}const Tr=!g||!this.driver.containsElement(g,gi),_o=ke.get(gi),Vs=M.get(gi),An=this._buildInstruction(_t,i,Vs,_o,Tr);if(An.errors&&An.errors.length)return void xn.push(An);if(Tr)return qt.onStart(()=>ra(gi,An.fromStyles)),qt.onDestroy(()=>br(gi,An.toStyles)),void o.push(qt);if(_t.isFallbackTransition)return qt.onStart(()=>ra(gi,An.fromStyles)),qt.onDestroy(()=>br(gi,An.toStyles)),void o.push(qt);const bI=[];An.timelines.forEach(Vi=>{Vi.stretchStartingKeyframe=!0,this.disabledNodes.has(Vi.element)||bI.push(Vi)}),An.timelines=bI,i.append(gi,An.timelines),s.push({instruction:An,player:qt,element:gi}),An.queriedElements.forEach(Vi=>co(a,Vi,[]).push(qt)),An.preStyleProps.forEach((Vi,wa)=>{const js=Object.keys(Vi);if(js.length){let Da=l.get(wa);Da||l.set(wa,Da=new Set),js.forEach(Vv=>Da.add(Vv))}}),An.postStyleProps.forEach((Vi,wa)=>{const js=Object.keys(Vi);let Da=u.get(wa);Da||u.set(wa,Da=new Set),js.forEach(Vv=>Da.add(Vv))})});if(xn.length){const Ye=[];xn.forEach(dt=>{Ye.push(function P4(t,n){return new Qe(3505,jt)}())}),Pt.forEach(dt=>dt.destroy()),this.reportError(Ye)}const On=new Map,fo=new Map;s.forEach(Ye=>{const dt=Ye.element;i.has(dt)&&(fo.set(dt,dt),this._beforeAnimationBuild(Ye.player.namespaceId,Ye.instruction,On))}),o.forEach(Ye=>{const dt=Ye.element;this._getPreviousPlayers(dt,!1,Ye.namespaceId,Ye.triggerName,null).forEach(qt=>{co(On,dt,[]).push(qt),qt.destroy()})});const mo=K.filter(Ye=>YS(Ye,l,u)),go=new Map;KS(go,this.driver,ee,u,Hr).forEach(Ye=>{YS(Ye,l,u)&&mo.push(Ye)});const ss=new Map;C.forEach((Ye,dt)=>{KS(ss,this.driver,new Set(Ye),l,"!")}),mo.forEach(Ye=>{const dt=go.get(Ye),_t=ss.get(Ye);go.set(Ye,Object.assign(Object.assign({},dt),_t))});const rr=[],ql=[],Kl={};s.forEach(Ye=>{const{element:dt,player:_t,instruction:qt}=Ye;if(i.has(dt)){if(p.has(dt))return _t.onDestroy(()=>br(dt,qt.toStyles)),_t.disabled=!0,_t.overrideTotalTime(qt.totalTime),void o.push(_t);let gi=Kl;if(fo.size>1){let _o=dt;const Vs=[];for(;_o=_o.parentNode;){const An=fo.get(_o);if(An){gi=An;break}Vs.push(_o)}Vs.forEach(An=>fo.set(An,gi))}const Tr=this._buildAnimation(_t.namespaceId,qt,On,r,ss,go);if(_t.setRealPlayer(Tr),gi===Kl)rr.push(_t);else{const _o=this.playersByElement.get(gi);_o&&_o.length&&(_t.parentPlayer=vs(_o)),o.push(_t)}}else ra(dt,qt.fromStyles),_t.onDestroy(()=>br(dt,qt.toStyles)),ql.push(_t),p.has(dt)&&o.push(_t)}),ql.forEach(Ye=>{const dt=r.get(Ye.element);if(dt&&dt.length){const _t=vs(dt);Ye.setRealPlayer(_t)}}),o.forEach(Ye=>{Ye.parentPlayer?Ye.syncPlayerEvents(Ye.parentPlayer):Ye.destroy()});for(let Ye=0;Ye!Tr.destroyed);gi.length?PB(this,dt,gi):this.processLeaveNode(dt)}return K.length=0,rr.forEach(Ye=>{this.players.push(Ye),Ye.onDone(()=>{Ye.destroy();const dt=this.players.indexOf(Ye);this.players.splice(dt,1)}),Ye.play()}),rr}elementContainsData(n,e){let i=!1;const o=e[Oo];return o&&o.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(n).elementContainsData(e)||i}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,o,r){let s=[];if(e){const a=this.playersByQueriedElement.get(n);a&&(s=a)}else{const a=this.playersByElement.get(n);if(a){const l=!r||r==Qc;a.forEach(u=>{u.queued||!l&&u.triggerName!=o||s.push(u)})}}return(i||o)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||o&&o!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){const r=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const u=l.element,p=u!==r,g=co(i,u,[]);this._getPreviousPlayers(u,p,s,a,e.toState).forEach(C=>{const M=C.getRealPlayer();M.beforeDestroy&&M.beforeDestroy(),C.destroy(),g.push(C)})}ra(r,e.fromStyles)}_buildAnimation(n,e,i,o,r,s){const a=e.triggerName,l=e.element,u=[],p=new Set,g=new Set,v=e.timelines.map(M=>{const V=M.element;p.add(V);const K=V[Oo];if(K&&K.removedBeforeQueried)return new Kc(M.duration,M.delay);const Y=V!==l,ee=function RB(t){const n=[];return QS(t,n),n}((i.get(V)||xB).map(On=>On.getRealPlayer())).filter(On=>!!On.element&&On.element===V),ke=r.get(V),Ze=s.get(V),Pt=wS(0,this._normalizer,0,M.keyframes,ke,Ze),xn=this._buildPlayer(M,Pt,ee);if(M.subTimeline&&o&&g.add(V),Y){const On=new S_(n,a,V);On.setRealPlayer(xn),u.push(On)}return xn});u.forEach(M=>{co(this.playersByQueriedElement,M.element,[]).push(M),M.onDone(()=>function IB(t,n,e){let i;if(t instanceof Map){if(i=t.get(n),i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&t.delete(n)}}else if(i=t[n],i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&delete t[n]}return i}(this.playersByQueriedElement,M.element,M))}),p.forEach(M=>Ao(M,AS));const C=vs(v);return C.onDestroy(()=>{p.forEach(M=>Cl(M,AS)),br(l,e.toStyles)}),g.forEach(M=>{co(o,M,[]).push(C)}),C}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new Kc(n.duration,n.delay)}}class S_{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new Kc,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(i=>i_(n,e,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){co(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function Sh(t){return t&&1===t.nodeType}function qS(t,n){const e=t.style.display;return t.style.display=null!=n?n:"none",e}function KS(t,n,e,i,o){const r=[];e.forEach(l=>r.push(qS(l)));const s=[];i.forEach((l,u)=>{const p={};l.forEach(g=>{const v=p[g]=n.computeStyle(u,g,o);(!v||0==v.length)&&(u[Oo]=TB,s.push(u))}),t.set(u,p)});let a=0;return e.forEach(l=>qS(l,r[a++])),s}function ZS(t,n){const e=new Map;if(t.forEach(a=>e.set(a,[])),0==n.length)return e;const o=new Set(n),r=new Map;function s(a){if(!a)return 1;let l=r.get(a);if(l)return l;const u=a.parentNode;return l=e.has(u)?u:o.has(u)?1:s(u),r.set(a,l),l}return n.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Ao(t,n){var e;null===(e=t.classList)||void 0===e||e.add(n)}function Cl(t,n){var e;null===(e=t.classList)||void 0===e||e.remove(n)}function PB(t,n,e){vs(e).onDone(()=>t.processLeaveNode(n))}function QS(t,n){for(let e=0;eo.add(r)):n.set(t,i),e.delete(t),!0}class Mh{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,r)=>{},this._transitionEngine=new EB(n,e,i),this._timelineEngine=new CB(n,e,i),this._transitionEngine.onRemovalComplete=(o,r)=>this.onRemovalComplete(o,r)}registerTrigger(n,e,i,o,r){const s=n+"-"+o;let a=this._triggerCache[s];if(!a){const l=[],p=f_(this._driver,r,l,[]);if(l.length)throw function w4(t,n){return new Qe(3404,jt)}();a=function _B(t,n,e){return new bB(t,n,e)}(o,p,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,o,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,o){this._transitionEngine.insertNode(n,e,i,o)}onRemove(n,e,i,o){this._transitionEngine.removeNode(n,e,o||!1,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,o){if("@"==i.charAt(0)){const[r,s]=DS(i);this._timelineEngine.command(r,e,s,o)}else this._transitionEngine.trigger(n,e,i,o)}listen(n,e,i,o,r){if("@"==i.charAt(0)){const[s,a]=DS(i);return this._timelineEngine.listen(s,e,a,r)}return this._transitionEngine.listen(n,e,i,o,r)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let LB=(()=>{class t{constructor(e,i,o){this._element=e,this._startStyles=i,this._endStyles=o,this._state=0;let r=t.initialStylesByElement.get(e);r||t.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&br(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(br(this._element,this._initialStyles),this._endStyles&&(br(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(ra(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(ra(this._element,this._endStyles),this._endStyles=null),br(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function M_(t){let n=null;const e=Object.keys(t);for(let i=0;in()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(n,e,i){return n.animate(e,i)}onStart(n){this._onStartFns.push(n)}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n={};if(this.hasStarted()){const e=this._finalKeyframe;Object.keys(e).forEach(i=>{"offset"!=i&&(n[i]=this._finished?e[i]:LS(this.element,i))})}this.currentSnapshot=n}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class VB{validateStyleProperty(n){return TS(n)}matchesElement(n,e){return!1}containsElement(n,e){return kS(n,e)}getParentElement(n){return a_(n)}query(n,e,i){return ES(n,e,i)}computeStyle(n,e,i){return window.getComputedStyle(n)[e]}animate(n,e,i,o,r,s=[]){const l={duration:i,delay:o,fill:0==o?"both":"forwards"};r&&(l.easing=r);const u={},p=s.filter(v=>v instanceof XS);(function z4(t,n){return 0===t||0===n})(i,o)&&p.forEach(v=>{let C=v.currentSnapshot;Object.keys(C).forEach(M=>u[M]=C[M])}),e=function $4(t,n,e){const i=Object.keys(e);if(i.length&&n.length){let r=n[0],s=[];if(i.forEach(a=>{r.hasOwnProperty(a)||s.push(a),r[a]=e[a]}),s.length)for(var o=1;oys(v,!1)),u);const g=function NB(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=M_(n[0]),n.length>1&&(i=M_(n[n.length-1]))):n&&(e=M_(n)),e||i?new LB(t,e,i):null}(n,e);return new XS(n,e,l,g)}}let jB=(()=>{class t extends gS{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Uo.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const o=Array.isArray(e)?bS(e):e;return JS(this._renderer,null,i,"register",[o]),new HB(i,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Q(Rc),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class HB extends class X5{}{constructor(n,e){super(),this._id=n,this._renderer=e}create(n,e){return new UB(this._id,n,e||{},this._renderer)}}class UB{constructor(n,e,i,o){this.id=n,this.element=e,this._renderer=o,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(n,e){return this._renderer.listen(this.element,`@@${this.id}:${n}`,e)}_command(n,...e){return JS(this._renderer,this.element,this.id,n,e)}onDone(n){this._listen("done",n)}onStart(n){this._listen("start",n)}onDestroy(n){this._listen("destroy",n)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(n){this._command("setPosition",n)}getPosition(){var n,e;return null!==(e=null===(n=this._renderer.engine.players[+this.id])||void 0===n?void 0:n.getPosition())&&void 0!==e?e:0}}function JS(t,n,e,i,o){return t.setProperty(n,`@@${e}:${i}`,o)}const eM="@.disabled";let zB=(()=>{class t{constructor(e,i,o){this.delegate=e,this.engine=i,this._zone=o,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(r,s)=>{const a=null==s?void 0:s.parentNode(r);a&&s.removeChild(a,r)}}createRenderer(e,i){const r=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let p=this._rendererCache.get(r);return p||(p=new tM("",r,this.engine),this._rendererCache.set(r,p)),p}const s=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);const l=p=>{Array.isArray(p)?p.forEach(l):this.engine.registerTrigger(s,a,e,p.name,p)};return i.data.animation.forEach(l),new $B(this,a,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,o){e>=0&&ei(o)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(r=>{const[s,a]=r;s(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,o]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Q(Rc),Q(Mh),Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class tM{constructor(n,e,i){this.namespaceId=n,this.delegate=e,this.engine=i,this.destroyNode=this.delegate.destroyNode?o=>e.destroyNode(o):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,o=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,o)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,o){this.delegate.setAttribute(n,e,i,o)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,o){this.delegate.setStyle(n,e,i,o)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==eM?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class $B extends tM{constructor(n,e,i,o){super(e,i,o),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==eM?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.substr(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const o=function GB(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function WB(t){const n=t.indexOf(".");return[t.substring(0,n),t.substr(n+1)]}(r)),this.engine.listen(this.namespaceId,o,r,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(n,e,i)}}let qB=(()=>{class t extends Mh{constructor(e,i,o){super(e.body,i,o)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(l_),Q(v_))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const gn=new _e("AnimationModuleType"),nM=[{provide:gS,useClass:jB},{provide:v_,useFactory:function KB(){return new hB}},{provide:Mh,useClass:qB},{provide:Rc,useFactory:function ZB(t,n,e){return new zB(t,n,e)},deps:[ah,Mh,Je]}],iM=[{provide:l_,useFactory:()=>new VB},{provide:gn,useValue:"BrowserAnimations"},...nM],QB=[{provide:l_,useClass:IS},{provide:gn,useValue:"NoopAnimations"},...nM];let YB=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?QB:iM}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:iM,imports:[hS]}),t})();const XB=new _e("cdk-dir-doc",{providedIn:"root",factory:function JB(){return hc(ht)}}),eV=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let x_,ai=(()=>{class t{constructor(e){if(this.value="ltr",this.change=new Ae,e){const o=e.documentElement?e.documentElement.dir:null;this.value=function tV(t){const n=(null==t?void 0:t.toLowerCase())||"";return"auto"===n&&"undefined"!=typeof navigator&&(null==navigator?void 0:navigator.language)?eV.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||o||"ltr")}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Q(XB,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();try{x_="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(t){x_=!1}let wl,dn=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?function f5(t){return t===JD}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!x_)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Q(Hc))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const rM=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function sM(){if(wl)return wl;if("object"!=typeof document||!document)return wl=new Set(rM),wl;let t=document.createElement("input");return wl=new Set(rM.filter(n=>(t.setAttribute("type",n),t.type===n))),wl}let Xc,Th,la,T_;function aa(t){return function nV(){if(null==Xc&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Xc=!0}))}finally{Xc=Xc||!1}return Xc}()?t:!!t.capture}function aM(){if(null==la){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return la=!1,la;if("scrollBehavior"in document.documentElement.style)la=!0;else{const t=Element.prototype.scrollTo;la=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return la}function Jc(){if("object"!=typeof document||!document)return 0;if(null==Th){const t=document.createElement("div"),n=t.style;t.dir="rtl",n.width="1px",n.overflow="auto",n.visibility="hidden",n.pointerEvents="none",n.position="absolute";const e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",t.appendChild(e),document.body.appendChild(t),Th=0,0===t.scrollLeft&&(t.scrollLeft=1,Th=0===t.scrollLeft?1:2),t.remove()}return Th}function lM(t){if(function iV(){if(null==T_){const t="undefined"!=typeof document?document.head:null;T_=!(!t||!t.createShadowRoot&&!t.attachShadow)}return T_}()){const n=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}function k_(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}function Cs(t){return t.composedPath?t.composedPath()[0]:t.target}function E_(){return"undefined"!=typeof __karma__&&!!__karma__||"undefined"!=typeof jasmine&&!!jasmine||"undefined"!=typeof jest&&!!jest||"undefined"!=typeof Mocha&&!!Mocha}class vt extends ie{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function We(...t){return ui(t,Yl(t))}function fi(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}function Zt(t,n,e){const i=H(t)||n||e?{next:t,error:n,complete:e}:t;return i?nt((o,r)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;o.subscribe(st(r,l=>{var u;null===(u=i.next)||void 0===u||u.call(i,l),r.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),r.complete()},l=>{var u;a=!1,null===(u=i.error)||void 0===u||u.call(i,l),r.error(l)},()=>{var l,u;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(u=i.finalize)||void 0===u||u.call(i)}))}):Me}class mV extends k{constructor(n,e){super()}schedule(n,e=0){return this}}const Ih={setInterval(t,n,...e){const{delegate:i}=Ih;return(null==i?void 0:i.setInterval)?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){const{delegate:n}=Ih;return((null==n?void 0:n.clearInterval)||clearInterval)(t)},delegate:void 0};class P_ extends mV{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;const o=this.id,r=this.scheduler;return null!=o&&(this.id=this.recycleAsyncId(r,o,e)),this.pending=!0,this.delay=e,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(r,this.id,e),this}requestAsyncId(n,e,i=0){return Ih.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return e;null!=e&&Ih.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let o,i=!1;try{this.work(n)}catch(r){i=!0,o=r||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o}unsubscribe(){if(!this.closed){const{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,x(i,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}}const cM={now:()=>(cM.delegate||Date).now(),delegate:void 0};class ed{constructor(n,e=ed.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}}ed.now=cM.now;class R_ extends ed{constructor(n,e=ed.now){super(n,e),this.actions=[],this._active=!1}flush(n){const{actions:e}=this;if(this._active)return void e.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this._active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}const td=new R_(P_),gV=td;function Oh(t,n=td){return nt((e,i)=>{let o=null,r=null,s=null;const a=()=>{if(o){o.unsubscribe(),o=null;const u=r;r=null,i.next(u)}};function l(){const u=s+t,p=n.now();if(p{r=u,s=n.now(),o||(o=n.schedule(l,t),i.add(o))},()=>{a(),i.complete()},void 0,()=>{r=o=null}))})}function It(t,n){return nt((e,i)=>{let o=0;e.subscribe(st(i,r=>t.call(n,r,o++)&&i.next(r)))})}function Ot(t){return t<=0?()=>vo:nt((n,e)=>{let i=0;n.subscribe(st(e,o=>{++i<=t&&(e.next(o),t<=i&&e.complete())}))})}function F_(t){return It((n,e)=>t<=e)}function nd(t,n=Me){return t=null!=t?t:_V,nt((e,i)=>{let o,r=!0;e.subscribe(st(i,s=>{const a=n(s);(r||!t(o,a))&&(r=!1,o=a,i.next(s))}))})}function _V(t,n){return t===n}function tt(t){return nt((n,e)=>{yi(t).subscribe(st(e,()=>e.complete(),S)),!e.closed&&n.subscribe(e)})}function Xe(t){return null!=t&&"false"!=`${t}`}function Zn(t,n=0){return function bV(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function Ah(t){return Array.isArray(t)?t:[t]}function Qn(t){return null==t?"":"string"==typeof t?t:`${t}px`}function zr(t){return t instanceof He?t.nativeElement:t}let dM=(()=>{class t{create(e){return"undefined"==typeof MutationObserver?null:new MutationObserver(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),yV=(()=>{class t{constructor(e){this._mutationObserverFactory=e,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((e,i)=>this._cleanupObserver(i))}observe(e){const i=zr(e);return new Ue(o=>{const s=this._observeElement(i).subscribe(o);return()=>{s.unsubscribe(),this._unobserveElement(i)}})}_observeElement(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{const i=new ie,o=this._mutationObserverFactory.create(r=>i.next(r));o&&o.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:o,stream:i,count:1})}return this._observedElements.get(e).stream}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){const{observer:i,stream:o}=this._observedElements.get(e);i&&i.disconnect(),o.complete(),this._observedElements.delete(e)}}}return t.\u0275fac=function(e){return new(e||t)(Q(dM))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),N_=(()=>{class t{constructor(e,i,o){this._contentObserver=e,this._elementRef=i,this._ngZone=o,this.event=new Ae,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(e){this._debounce=Zn(e),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?e.pipe(Oh(this.debounce)):e).subscribe(this.event)})}_unsubscribe(){var e;null===(e=this._currentSubscription)||void 0===e||e.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(_(yV),_(He),_(Je))},t.\u0275dir=oe({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),Ph=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[dM]}),t})();function Rh(t,n){return(t.getAttribute(n)||"").match(/\S+/g)||[]}const hM="cdk-describedby-message",Fh="cdk-describedby-host";let pM=0,DV=(()=>{class t{constructor(e,i){this._platform=i,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+pM++,this._document=e}describe(e,i,o){if(!this._canBeDescribed(e,i))return;const r=L_(i,o);"string"!=typeof i?(fM(i),this._messageRegistry.set(r,{messageElement:i,referenceCount:0})):this._messageRegistry.has(r)||this._createMessageElement(i,o),this._isElementDescribedByMessage(e,r)||this._addMessageReference(e,r)}removeDescription(e,i,o){var r;if(!i||!this._isElementNode(e))return;const s=L_(i,o);if(this._isElementDescribedByMessage(e,s)&&this._removeMessageReference(e,s),"string"==typeof i){const a=this._messageRegistry.get(s);a&&0===a.referenceCount&&this._deleteMessageElement(s)}0===(null===(r=this._messagesContainer)||void 0===r?void 0:r.childNodes.length)&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){var e;const i=this._document.querySelectorAll(`[${Fh}="${this._id}"]`);for(let o=0;o0!=o.indexOf(hM));e.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(e,i){const o=this._messageRegistry.get(i);(function CV(t,n,e){const i=Rh(t,n);i.some(o=>o.trim()==e.trim())||(i.push(e.trim()),t.setAttribute(n,i.join(" ")))})(e,"aria-describedby",o.messageElement.id),e.setAttribute(Fh,this._id),o.referenceCount++}_removeMessageReference(e,i){const o=this._messageRegistry.get(i);o.referenceCount--,function wV(t,n,e){const o=Rh(t,n).filter(r=>r!=e.trim());o.length?t.setAttribute(n,o.join(" ")):t.removeAttribute(n)}(e,"aria-describedby",o.messageElement.id),e.removeAttribute(Fh)}_isElementDescribedByMessage(e,i){const o=Rh(e,"aria-describedby"),r=this._messageRegistry.get(i),s=r&&r.messageElement.id;return!!s&&-1!=o.indexOf(s)}_canBeDescribed(e,i){if(!this._isElementNode(e))return!1;if(i&&"object"==typeof i)return!0;const o=null==i?"":`${i}`.trim(),r=e.getAttribute("aria-label");return!(!o||r&&r.trim()===o)}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(dn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function L_(t,n){return"string"==typeof t?`${n||""}/${t}`:t}function fM(t){t.id||(t.id=`${hM}-${pM++}`)}class mM{constructor(n){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new ie,this._typeaheadSubscription=k.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=e=>e.disabled,this._pressedLetters=[],this.tabOut=new ie,this.change=new ie,n instanceof _s&&n.changes.subscribe(e=>{if(this._activeItem){const o=e.toArray().indexOf(this._activeItem);o>-1&&o!==this._activeItemIndex&&(this._activeItemIndex=o)}})}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Zt(e=>this._pressedLetters.push(e)),Oh(n),It(()=>this._pressedLetters.length>0),je(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let o=1;o!n[r]||this._allowedModifierKeys.indexOf(r)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;default:return void((o||fi(n,"shiftKey"))&&(n.key&&1===n.key.length?this._letterKeyStream.next(n.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n),o=e[i];this._activeItem=null==o?null:o,this._activeItemIndex=i}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const o=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[o]))return void this.setActiveItem(o)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return this._items instanceof _s?this._items.toArray():this._items}}class gM extends mM{setActiveItem(n){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(n),this.activeItem&&this.activeItem.setActiveStyles()}}class Nh extends mM{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let B_=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function MV(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function SV(t){try{return t.frameElement}catch(n){return null}}(function PV(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===bM(i)||!this.isVisible(i)))return!1;let o=e.nodeName.toLowerCase(),r=bM(e);return e.hasAttribute("contenteditable")?-1!==r:!("iframe"===o||"object"===o||this._platform.WEBKIT&&this._platform.IOS&&!function OV(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===o?!!e.hasAttribute("controls")&&-1!==r:"video"===o?-1!==r&&(null!==r||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function AV(t){return!function TV(t){return function EV(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function xV(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function kV(t){return function IV(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||_M(t))}(e)&&!this.isDisabled(e)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(e))}}return t.\u0275fac=function(e){return new(e||t)(Q(dn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function _M(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function bM(t){if(!_M(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class RV{constructor(n,e,i,o,r=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=o,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return null==i||i.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const o=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(o)return o}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._ngZone.isStable?n():this._ngZone.onStable.pipe(Ot(1)).subscribe(n)}}let vM=(()=>{class t{constructor(e,i,o){this._checker=e,this._ngZone=i,this._document=o}create(e,i=!1){return new RV(e,this._checker,this._ngZone,this._document,i)}}return t.\u0275fac=function(e){return new(e||t)(Q(B_),Q(Je),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function V_(t){return 0===t.buttons||0===t.offsetX&&0===t.offsetY}function j_(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const FV=new _e("cdk-input-modality-detector-options"),NV={ignoreKeys:[18,17,224,91,16]},Sl=aa({passive:!0,capture:!0});let LV=(()=>{class t{constructor(e,i,o,r){this._platform=e,this._mostRecentTarget=null,this._modality=new vt(null),this._lastTouchMs=0,this._onKeydown=s=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(u=>u===s.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Cs(s))},this._onMousedown=s=>{Date.now()-this._lastTouchMs<650||(this._modality.next(V_(s)?"keyboard":"mouse"),this._mostRecentTarget=Cs(s))},this._onTouchstart=s=>{j_(s)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Cs(s))},this._options=Object.assign(Object.assign({},NV),r),this.modalityDetected=this._modality.pipe(F_(1)),this.modalityChanged=this.modalityDetected.pipe(nd()),e.isBrowser&&i.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,Sl),o.addEventListener("mousedown",this._onMousedown,Sl),o.addEventListener("touchstart",this._onTouchstart,Sl)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Sl),document.removeEventListener("mousedown",this._onMousedown,Sl),document.removeEventListener("touchstart",this._onTouchstart,Sl))}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(Je),Q(ht),Q(FV,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const BV=new _e("liveAnnouncerElement",{providedIn:"root",factory:function VV(){return null}}),jV=new _e("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let H_=(()=>{class t{constructor(e,i,o,r){this._ngZone=i,this._defaultOptions=r,this._document=o,this._liveElement=e||this._createLiveElement()}announce(e,...i){const o=this._defaultOptions;let r,s;return 1===i.length&&"number"==typeof i[0]?s=i[0]:[r,s]=i,this.clear(),clearTimeout(this._previousTimeout),r||(r=o&&o.politeness?o.politeness:"polite"),null==s&&o&&(s=o.duration),this._liveElement.setAttribute("aria-live",r),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(a=>this._currentResolve=a)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,"number"==typeof s&&(this._previousTimeout=setTimeout(()=>this.clear(),s)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){var e,i;clearTimeout(this._previousTimeout),null===(e=this._liveElement)||void 0===e||e.remove(),this._liveElement=null,null===(i=this._currentResolve)||void 0===i||i.call(this),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const e="cdk-live-announcer-element",i=this._document.getElementsByClassName(e),o=this._document.createElement("div");for(let r=0;r{class t{constructor(e,i,o,r,s){this._ngZone=e,this._platform=i,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new ie,this._rootNodeFocusAndBlurListener=a=>{const l=Cs(a),u="focus"===a.type?this._onFocus:this._onBlur;for(let p=l;p;p=p.parentElement)u.call(this,a,p)},this._document=r,this._detectionMode=(null==s?void 0:s.detectionMode)||0}monitor(e,i=!1){const o=zr(e);if(!this._platform.isBrowser||1!==o.nodeType)return We(null);const r=lM(o)||this._getDocument(),s=this._elementInfo.get(o);if(s)return i&&(s.checkChildren=!0),s.subject;const a={checkChildren:i,subject:new ie,rootNode:r};return this._elementInfo.set(o,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){const i=zr(e),o=this._elementInfo.get(i);o&&(o.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(o))}focusVia(e,i,o){const r=zr(e);r===this._getDocument().activeElement?this._getClosestElementsInfo(r).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof r.focus&&r.focus(o))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(e){return 1===this._detectionMode||!!(null==e?void 0:e.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const o=this._elementInfo.get(i),r=Cs(e);!o||!o.checkChildren&&i!==r||this._originChanged(i,this._getFocusOrigin(r),o)}_onBlur(e,i){const o=this._elementInfo.get(i);!o||o.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(o.subject,null))}_emitOrigin(e,i){this._ngZone.run(()=>e.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,o=this._rootNodeFocusListenerCount.get(i)||0;o||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,Lh),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,Lh)}),this._rootNodeFocusListenerCount.set(i,o+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(tt(this._stopInputModalityDetector)).subscribe(r=>{this._setOrigin(r,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const o=this._rootNodeFocusListenerCount.get(i);o>1?this._rootNodeFocusListenerCount.set(i,o-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Lh),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Lh),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,o){this._setClasses(e,i),this._emitOrigin(o.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((o,r)=>{(r===e||o.checkChildren&&r.contains(e))&&i.push([r,o])}),i}}return t.\u0275fac=function(e){return new(e||t)(Q(Je),Q(dn),Q(LV),Q(ht,8),Q(HV,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),UV=(()=>{class t{constructor(e,i){this._elementRef=e,this._focusMonitor=i,this.cdkFocusChange=new Ae}ngAfterViewInit(){const e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,1===e.nodeType&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>this.cdkFocusChange.emit(i))}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Po))},t.\u0275dir=oe({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"}}),t})();const CM="cdk-high-contrast-black-on-white",wM="cdk-high-contrast-white-on-black",U_="cdk-high-contrast-active";let DM=(()=>{class t{constructor(e,i){this._platform=e,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,o=i&&i.getComputedStyle?i.getComputedStyle(e):null,r=(o&&o.backgroundColor||"").replace(/ /g,"");switch(e.remove(),r){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(U_),e.remove(CM),e.remove(wM),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(e.add(U_),e.add(CM)):2===i&&(e.add(U_),e.add(wM))}}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),SM=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Q(DM))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Ph]]}),t})();function id(...t){return function zV(){return Ql(1)}()(ui(t,Yl(t)))}function Nn(...t){const n=Yl(t);return nt((e,i)=>{(n?id(t,e,n):id(t,e)).subscribe(i)})}function $V(t,n){if(1&t&&E(0,"mat-pseudo-checkbox",4),2&t){const e=D();m("state",e.selected?"checked":"unchecked")("disabled",e.disabled)}}function GV(t,n){if(1&t&&(d(0,"span",5),h(1),c()),2&t){const e=D();f(1),Se("(",e.group.label,")")}}const WV=["*"],KV=new _e("mat-sanity-checks",{providedIn:"root",factory:function qV(){return!0}});let ft=(()=>{class t{constructor(e,i,o){this._sanityChecks=i,this._document=o,this._hasDoneGlobalChecks=!1,e._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(e){return!E_()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}}return t.\u0275fac=function(e){return new(e||t)(Q(DM),Q(KV,8),Q(ht))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Yc],Yc]}),t})();function ua(t){return class extends t{constructor(...n){super(...n),this._disabled=!1}get disabled(){return this._disabled}set disabled(n){this._disabled=Xe(n)}}}function $r(t,n){return class extends t{constructor(...e){super(...e),this.defaultColor=n,this.color=n}get color(){return this._color}set color(e){const i=e||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function vr(t){return class extends t{constructor(...n){super(...n),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(n){this._disableRipple=Xe(n)}}}function Ml(t,n=0){return class extends t{constructor(...e){super(...e),this._tabIndex=n,this.defaultTabIndex=n}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(e){this._tabIndex=null!=e?Zn(e):this.defaultTabIndex}}}function z_(t){return class extends t{constructor(...n){super(...n),this.stateChanges=new ie,this.errorState=!1}updateErrorState(){const n=this.errorState,r=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);r!==n&&(this.errorState=r,this.stateChanges.next())}}}let od=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),xM=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();class XV{constructor(n,e,i){this._renderer=n,this.element=e,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const TM={enterDuration:225,exitDuration:150},$_=aa({passive:!0}),kM=["mousedown","touchstart"],EM=["mouseup","mouseleave","touchend","touchcancel"];class IM{constructor(n,e,i,o){this._target=n,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,o.isBrowser&&(this._containerElement=zr(i))}fadeInRipple(n,e,i={}){const o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},TM),i.animation);i.centered&&(n=o.left+o.width/2,e=o.top+o.height/2);const s=i.radius||function t6(t,n,e){const i=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),o=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(i*i+o*o)}(n,e,o),a=n-o.left,l=e-o.top,u=r.enterDuration,p=document.createElement("div");p.classList.add("mat-ripple-element"),p.style.left=a-s+"px",p.style.top=l-s+"px",p.style.height=2*s+"px",p.style.width=2*s+"px",null!=i.color&&(p.style.backgroundColor=i.color),p.style.transitionDuration=`${u}ms`,this._containerElement.appendChild(p),function e6(t){window.getComputedStyle(t).getPropertyValue("opacity")}(p),p.style.transform="scale(1)";const g=new XV(this,p,i);return g.state=0,this._activeRipples.add(g),i.persistent||(this._mostRecentTransientRipple=g),this._runTimeoutOutsideZone(()=>{const v=g===this._mostRecentTransientRipple;g.state=1,!i.persistent&&(!v||!this._isPointerDown)&&g.fadeOut()},u),g}fadeOutRipple(n){const e=this._activeRipples.delete(n);if(n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const i=n.element,o=Object.assign(Object.assign({},TM),n.config.animation);i.style.transitionDuration=`${o.exitDuration}ms`,i.style.opacity="0",n.state=2,this._runTimeoutOutsideZone(()=>{n.state=3,i.remove()},o.exitDuration)}fadeOutAll(){this._activeRipples.forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){const e=zr(n);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(kM))}handleEvent(n){"mousedown"===n.type?this._onMousedown(n):"touchstart"===n.type?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(EM),this._pointerUpEventsRegistered=!0)}_onMousedown(n){const e=V_(n),i=this._lastTouchStartEvent&&Date.now(){!n.config.persistent&&(1===n.state||n.config.terminateOnPointerUp&&0===n.state)&&n.fadeOut()}))}_runTimeoutOutsideZone(n,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(n,e))}_registerEvents(n){this._ngZone.runOutsideAngular(()=>{n.forEach(e=>{this._triggerElement.addEventListener(e,this,$_)})})}_removeTriggerEvents(){this._triggerElement&&(kM.forEach(n=>{this._triggerElement.removeEventListener(n,this,$_)}),this._pointerUpEventsRegistered&&EM.forEach(n=>{this._triggerElement.removeEventListener(n,this,$_)}))}}const OM=new _e("mat-ripple-global-options");let ir=(()=>{class t{constructor(e,i,o,r,s){this._elementRef=e,this._animationMode=s,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=r||{},this._rippleRenderer=new IM(this,i,e,o)}get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,o){return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,i,Object.assign(Object.assign({},this.rippleConfig),o)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),e))}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Je),_(dn),_(OM,8),_(gn,8))},t.\u0275dir=oe({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-ripple-unbounded",i.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),t})(),ha=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})(),AM=(()=>{class t{constructor(e){this._animationMode=e,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(_(gn,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(e,i){2&e&&rt("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(e,i){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),G_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft]]}),t})();const W_=new _e("MAT_OPTION_PARENT_COMPONENT"),q_=new _e("MatOptgroup");let n6=0;class PM{constructor(n,e=!1){this.source=n,this.isUserInput=e}}let i6=(()=>{class t{constructor(e,i,o,r){this._element=e,this._changeDetectorRef=i,this._parent=o,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+n6++,this.onSelectionChange=new Ae,this._stateChanges=new ie}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(e){this._disabled=Xe(e)}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(e,i){const o=this._getHostElement();"function"==typeof o.focus&&o.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(13===e.keyCode||32===e.keyCode)&&!fi(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue=e,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new PM(this,e))}}return t.\u0275fac=function(e){Xs()},t.\u0275dir=oe({type:t,inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),_i=(()=>{class t extends i6{constructor(e,i,o,r){super(e,i,o,r)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(W_,8),_(q_,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(e,i){1&e&&N("click",function(){return i._selectViaInteraction()})("keydown",function(r){return i._handleKeydown(r)}),2&e&&(Fr("id",i.id),et("tabindex",i._getTabIndex())("aria-selected",i._getAriaSelected())("aria-disabled",i.disabled.toString()),rt("mat-selected",i.selected)("mat-option-multiple",i.multiple)("mat-active",i.active)("mat-option-disabled",i.disabled))},exportAs:["matOption"],features:[Ce],ngContentSelectors:WV,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(e,i){1&e&&(Jt(),b(0,$V,1,2,"mat-pseudo-checkbox",0),d(1,"span",1),ct(2),c(),b(3,GV,2,1,"span",2),E(4,"div",3)),2&e&&(m("ngIf",i.multiple),f(3),m("ngIf",i.group&&i.group._inert),f(1),m("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},directives:[AM,Et,ir],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function K_(t,n,e){if(e.length){let i=n.toArray(),o=e.toArray(),r=0;for(let s=0;se+i?Math.max(0,t-i+n):e}let Bh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ha,Wi,ft,G_]]}),t})();const o6=["*",[["mat-toolbar-row"]]],r6=["*","mat-toolbar-row"],s6=$r(class{constructor(t){this._elementRef=t}});let a6=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),l6=(()=>{class t extends s6{constructor(e,i,o){super(e),this._platform=i,this._document=o}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(dn),_(ht))},t.\u0275cmp=Oe({type:t,selectors:[["mat-toolbar"]],contentQueries:function(e,i,o){if(1&e&&mt(o,a6,5),2&e){let r;Fe(r=Ne())&&(i._toolbarRows=r)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(e,i){2&e&&rt("mat-toolbar-multiple-rows",i._toolbarRows.length>0)("mat-toolbar-single-row",0===i._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[Ce],ngContentSelectors:r6,decls:2,vars:0,template:function(e,i){1&e&&(Jt(o6),ct(0),ct(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),FM=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();const NM=["mat-button",""],LM=["*"],u6=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],h6=$r(ua(vr(class{constructor(t){this._elementRef=t}})));let Ht=(()=>{class t extends h6{constructor(e,i,o){super(e),this._focusMonitor=i,this._animationMode=o,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const r of u6)this._hasHostAttributes(r)&&this._getHostElement().classList.add(r);e.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(e,i){e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...e){return e.some(i=>this._getHostElement().hasAttribute(i))}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Po),_(gn,8))},t.\u0275cmp=Oe({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(e,i){if(1&e&&Tt(ir,5),2&e){let o;Fe(o=Ne())&&(i.ripple=o.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(e,i){2&e&&(et("disabled",i.disabled||null),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[Ce],attrs:NM,ngContentSelectors:LM,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(e,i){1&e&&(Jt(),d(0,"span",0),ct(1),c(),E(2,"span",1)(3,"span",2)),2&e&&(f(2),rt("mat-button-ripple-round",i.isRoundButton||i.isIconButton),m("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[ir],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),t})(),BM=(()=>{class t extends Ht{constructor(e,i,o,r){super(i,e,o),this._ngZone=r,this._haltDisabledEvents=s=>{this.disabled&&(s.preventDefault(),s.stopImmediatePropagation())}}ngAfterViewInit(){super.ngAfterViewInit(),this._ngZone?this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}):this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}ngOnDestroy(){super.ngOnDestroy(),this._elementRef.nativeElement.removeEventListener("click",this._haltDisabledEvents)}}return t.\u0275fac=function(e){return new(e||t)(_(Po),_(He),_(gn,8),_(Je,8))},t.\u0275cmp=Oe({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(e,i){2&e&&(et("tabindex",i.disabled?-1:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString()),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[Ce],attrs:NM,ngContentSelectors:LM,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(e,i){1&e&&(Jt(),d(0,"span",0),ct(1),c(),E(2,"span",1)(3,"span",2)),2&e&&(f(2),rt("mat-button-ripple-round",i.isRoundButton||i.isIconButton),m("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[ir],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),t})(),Z_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ha,ft],ft]}),t})();function sd(t,n){const e=H(t)?t:()=>t,i=o=>o.error(e());return new Ue(n?o=>n.schedule(i,0,o):i)}const{isArray:p6}=Array,{getPrototypeOf:f6,prototype:m6,keys:g6}=Object;function VM(t){if(1===t.length){const n=t[0];if(p6(n))return{args:n,keys:null};if(function _6(t){return t&&"object"==typeof t&&f6(t)===m6}(n)){const e=g6(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}const{isArray:b6}=Array;function Q_(t){return je(n=>function v6(t,n){return b6(n)?t(...n):t(n)}(t,n))}function jM(t,n){return t.reduce((e,i,o)=>(e[i]=n[o],e),{})}function Y_(...t){const n=Qv(t),{args:e,keys:i}=VM(t),o=new Ue(r=>{const{length:s}=e;if(!s)return void r.complete();const a=new Array(s);let l=s,u=s;for(let p=0;p{g||(g=!0,u--),a[p]=v},()=>l--,void 0,()=>{(!l||!g)&&(u||r.next(i?jM(i,a):a),r.complete())}))}});return n?o.pipe(Q_(n)):o}function wn(t){return nt((n,e)=>{let r,i=null,o=!1;i=n.subscribe(st(e,void 0,void 0,s=>{r=yi(t(s,wn(t)(n))),i?(i.unsubscribe(),i=null,r.subscribe(e)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(e))})}function X_(t){return nt((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}function xl(t,n){return H(n)?$n(t,n,1):$n(t,1)}class HM{}class UM{}class Gr{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?this.lazyInit="string"==typeof n?()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const o=e.slice(0,i),r=o.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(o,r),this.headers.has(r)?this.headers.get(r).push(s):this.headers.set(r,[s])}})}:()=>{this.headers=new Map,Object.keys(n).forEach(e=>{let i=n[e];const o=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(o,i),this.maybeSetNormalizedName(e,o))})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof Gr?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new Gr;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Gr?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const o=("a"===n.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const r=n.value;if(r){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===r.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class y6{encodeKey(n){return zM(n)}encodeValue(n){return zM(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const w6=/%(\d[a-f0-9])/gi,D6={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function zM(t){return encodeURIComponent(t).replace(w6,(n,e)=>{var i;return null!==(i=D6[e])&&void 0!==i?i:n})}function $M(t){return`${t}`}class Ds{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new y6,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function C6(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{const r=o.indexOf("="),[s,a]=-1==r?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,r)),n.decodeValue(o.slice(r+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e];this.map.set(e,Array.isArray(i)?i:[i])})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const o=n[i];Array.isArray(o)?o.forEach(r=>{e.push({param:i,value:r,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new Ds({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push($M(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const o=i.indexOf($M(n.value));-1!==o&&i.splice(o,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class S6{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function GM(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function WM(t){return"undefined"!=typeof Blob&&t instanceof Blob}function qM(t){return"undefined"!=typeof FormData&&t instanceof FormData}class ad{constructor(n,e,i,o){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function M6(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,r=o):r=i,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Gr),this.context||(this.context=new S6),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":av.set(C,n.setHeaders[C]),u)),n.setParams&&(p=Object.keys(n.setParams).reduce((v,C)=>v.set(C,n.setParams[C]),p)),new ad(i,o,s,{params:p,headers:u,context:g,reportProgress:l,responseType:r,withCredentials:a})}}var Yn=(()=>((Yn=Yn||{})[Yn.Sent=0]="Sent",Yn[Yn.UploadProgress=1]="UploadProgress",Yn[Yn.ResponseHeader=2]="ResponseHeader",Yn[Yn.DownloadProgress=3]="DownloadProgress",Yn[Yn.Response=4]="Response",Yn[Yn.User=5]="User",Yn))();class J_{constructor(n,e=200,i="OK"){this.headers=n.headers||new Gr,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class eb extends J_{constructor(n={}){super(n),this.type=Yn.ResponseHeader}clone(n={}){return new eb({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Vh extends J_{constructor(n={}){super(n),this.type=Yn.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Vh({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class KM extends J_{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function tb(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let jh=(()=>{class t{constructor(e){this.handler=e}request(e,i,o={}){let r;if(e instanceof ad)r=e;else{let l,u;l=o.headers instanceof Gr?o.headers:new Gr(o.headers),o.params&&(u=o.params instanceof Ds?o.params:new Ds({fromObject:o.params})),r=new ad(e,i,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:u,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=We(r).pipe(xl(l=>this.handler.handle(l)));if(e instanceof ad||"events"===o.observe)return s;const a=s.pipe(It(l=>l instanceof Vh));switch(o.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return a.pipe(je(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(je(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(je(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(je(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new Ds).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,o={}){return this.request("PATCH",e,tb(o,i))}post(e,i,o={}){return this.request("POST",e,tb(o,i))}put(e,i,o={}){return this.request("PUT",e,tb(o,i))}}return t.\u0275fac=function(e){return new(e||t)(Q(HM))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class ZM{constructor(n,e){this.next=n,this.interceptor=e}handle(n){return this.interceptor.intercept(n,this.next)}}const nb=new _e("HTTP_INTERCEPTORS");let T6=(()=>{class t{intercept(e,i){return i.handle(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const k6=/^\)\]\}',?\n/;let QM=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new Ue(i=>{const o=this.xhrFactory.build();if(o.open(e.method,e.urlWithParams),e.withCredentials&&(o.withCredentials=!0),e.headers.forEach((C,M)=>o.setRequestHeader(C,M.join(","))),e.headers.has("Accept")||o.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const C=e.detectContentTypeHeader();null!==C&&o.setRequestHeader("Content-Type",C)}if(e.responseType){const C=e.responseType.toLowerCase();o.responseType="json"!==C?C:"text"}const r=e.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const C=o.statusText||"OK",M=new Gr(o.getAllResponseHeaders()),V=function E6(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(o)||e.url;return s=new eb({headers:M,status:o.status,statusText:C,url:V}),s},l=()=>{let{headers:C,status:M,statusText:V,url:K}=a(),Y=null;204!==M&&(Y=void 0===o.response?o.responseText:o.response),0===M&&(M=Y?200:0);let ee=M>=200&&M<300;if("json"===e.responseType&&"string"==typeof Y){const ke=Y;Y=Y.replace(k6,"");try{Y=""!==Y?JSON.parse(Y):null}catch(Ze){Y=ke,ee&&(ee=!1,Y={error:Ze,text:Y})}}ee?(i.next(new Vh({body:Y,headers:C,status:M,statusText:V,url:K||void 0})),i.complete()):i.error(new KM({error:Y,headers:C,status:M,statusText:V,url:K||void 0}))},u=C=>{const{url:M}=a(),V=new KM({error:C,status:o.status||0,statusText:o.statusText||"Unknown Error",url:M||void 0});i.error(V)};let p=!1;const g=C=>{p||(i.next(a()),p=!0);let M={type:Yn.DownloadProgress,loaded:C.loaded};C.lengthComputable&&(M.total=C.total),"text"===e.responseType&&!!o.responseText&&(M.partialText=o.responseText),i.next(M)},v=C=>{let M={type:Yn.UploadProgress,loaded:C.loaded};C.lengthComputable&&(M.total=C.total),i.next(M)};return o.addEventListener("load",l),o.addEventListener("error",u),o.addEventListener("timeout",u),o.addEventListener("abort",u),e.reportProgress&&(o.addEventListener("progress",g),null!==r&&o.upload&&o.upload.addEventListener("progress",v)),o.send(r),i.next({type:Yn.Sent}),()=>{o.removeEventListener("error",u),o.removeEventListener("abort",u),o.removeEventListener("load",l),o.removeEventListener("timeout",u),e.reportProgress&&(o.removeEventListener("progress",g),null!==r&&o.upload&&o.upload.removeEventListener("progress",v)),o.readyState!==o.DONE&&o.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Q(tS))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const ib=new _e("XSRF_COOKIE_NAME"),ob=new _e("XSRF_HEADER_NAME");class YM{}let I6=(()=>{class t{constructor(e,i,o){this.doc=e,this.platform=i,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=GD(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(Hc),Q(ib))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),rb=(()=>{class t{constructor(e,i){this.tokenService=e,this.headerName=i}intercept(e,i){const o=e.url.toLowerCase();if("GET"===e.method||"HEAD"===e.method||o.startsWith("http://")||o.startsWith("https://"))return i.handle(e);const r=this.tokenService.getToken();return null!==r&&!e.headers.has(this.headerName)&&(e=e.clone({headers:e.headers.set(this.headerName,r)})),i.handle(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(YM),Q(ob))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),O6=(()=>{class t{constructor(e,i){this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=this.injector.get(nb,[]);this.chain=i.reduceRight((o,r)=>new ZM(o,r),this.backend)}return this.chain.handle(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(UM),Q(pn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),A6=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:rb,useClass:T6}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:ib,useValue:e.cookieName}:[],e.headerName?{provide:ob,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[rb,{provide:nb,useExisting:rb,multi:!0},{provide:YM,useClass:I6},{provide:ib,useValue:"XSRF-TOKEN"},{provide:ob,useValue:"X-XSRF-TOKEN"}]}),t})(),P6=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[jh,{provide:HM,useClass:O6},QM,{provide:UM,useExisting:QM}],imports:[[A6.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const R6=["*"];let Hh;function ld(t){var n;return(null===(n=function F6(){if(void 0===Hh&&(Hh=null,"undefined"!=typeof window)){const t=window;void 0!==t.trustedTypes&&(Hh=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return Hh}())||void 0===n?void 0:n.createHTML(t))||t}function XM(t){return Error(`Unable to find icon with the name "${t}"`)}function JM(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function ex(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class pa{constructor(n,e,i){this.url=n,this.svgText=e,this.options=i}}let Uh=(()=>{class t{constructor(e,i,o,r){this._httpClient=e,this._sanitizer=i,this._errorHandler=r,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=o}addSvgIcon(e,i,o){return this.addSvgIconInNamespace("",e,i,o)}addSvgIconLiteral(e,i,o){return this.addSvgIconLiteralInNamespace("",e,i,o)}addSvgIconInNamespace(e,i,o,r){return this._addSvgIconConfig(e,i,new pa(o,null,r))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,i,o,r){const s=this._sanitizer.sanitize(Yt.HTML,o);if(!s)throw ex(o);const a=ld(s);return this._addSvgIconConfig(e,i,new pa("",a,r))}addSvgIconSet(e,i){return this.addSvgIconSetInNamespace("",e,i)}addSvgIconSetLiteral(e,i){return this.addSvgIconSetLiteralInNamespace("",e,i)}addSvgIconSetInNamespace(e,i,o){return this._addSvgIconSetConfig(e,new pa(i,null,o))}addSvgIconSetLiteralInNamespace(e,i,o){const r=this._sanitizer.sanitize(Yt.HTML,i);if(!r)throw ex(i);const s=ld(r);return this._addSvgIconSetConfig(e,new pa("",s,o))}registerFontClassAlias(e,i=e){return this._fontCssClassesByAlias.set(e,i),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){const i=this._sanitizer.sanitize(Yt.RESOURCE_URL,e);if(!i)throw JM(e);const o=this._cachedIconsByUrl.get(i);return o?We(zh(o)):this._loadSvgIconFromConfig(new pa(e,null)).pipe(Zt(r=>this._cachedIconsByUrl.set(i,r)),je(r=>zh(r)))}getNamedSvgIcon(e,i=""){const o=tx(i,e);let r=this._svgIconConfigs.get(o);if(r)return this._getSvgFromConfig(r);if(r=this._getIconConfigFromResolvers(i,e),r)return this._svgIconConfigs.set(o,r),this._getSvgFromConfig(r);const s=this._iconSetConfigs.get(i);return s?this._getSvgFromIconSetConfigs(e,s):sd(XM(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?We(zh(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(je(i=>zh(i)))}_getSvgFromIconSetConfigs(e,i){const o=this._extractIconWithNameFromAnySet(e,i);return o?We(o):Y_(i.filter(s=>!s.svgText).map(s=>this._loadSvgIconSetFromConfig(s).pipe(wn(a=>{const u=`Loading icon set URL: ${this._sanitizer.sanitize(Yt.RESOURCE_URL,s.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(u)),We(null)})))).pipe(je(()=>{const s=this._extractIconWithNameFromAnySet(e,i);if(!s)throw XM(e);return s}))}_extractIconWithNameFromAnySet(e,i){for(let o=i.length-1;o>=0;o--){const r=i[o];if(r.svgText&&r.svgText.toString().indexOf(e)>-1){const s=this._svgElementFromConfig(r),a=this._extractSvgIconFromSet(s,e,r.options);if(a)return a}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(Zt(i=>e.svgText=i),je(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?We(null):this._fetchIcon(e).pipe(Zt(i=>e.svgText=i))}_extractSvgIconFromSet(e,i,o){const r=e.querySelector(`[id="${i}"]`);if(!r)return null;const s=r.cloneNode(!0);if(s.removeAttribute("id"),"svg"===s.nodeName.toLowerCase())return this._setSvgAttributes(s,o);if("symbol"===s.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(s),o);const a=this._svgElementFromString(ld(""));return a.appendChild(s),this._setSvgAttributes(a,o)}_svgElementFromString(e){const i=this._document.createElement("DIV");i.innerHTML=e;const o=i.querySelector("svg");if(!o)throw Error(" tag not found");return o}_toSvgElement(e){const i=this._svgElementFromString(ld("")),o=e.attributes;for(let r=0;rld(p)),X_(()=>this._inProgressUrlFetches.delete(a)),ey());return this._inProgressUrlFetches.set(a,u),u}_addSvgIconConfig(e,i,o){return this._svgIconConfigs.set(tx(e,i),o),this}_addSvgIconSetConfig(e,i){const o=this._iconSetConfigs.get(e);return o?o.push(i):this._iconSetConfigs.set(e,[i]),this}_svgElementFromConfig(e){if(!e.svgElement){const i=this._svgElementFromString(e.svgText);this._setSvgAttributes(i,e.options),e.svgElement=i}return e.svgElement}_getIconConfigFromResolvers(e,i){for(let o=0;on?n.pathname+n.search:""}}}),nx=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],U6=nx.map(t=>`[${t}]`).join(", "),z6=/^url\(['"]?#(.*?)['"]?\)$/;let _n=(()=>{class t extends V6{constructor(e,i,o,r,s){super(e),this._iconRegistry=i,this._location=r,this._errorHandler=s,this._inline=!1,this._currentIconFetch=k.EMPTY,o||e.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(e){this._inline=Xe(e)}get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}get fontSet(){return this._fontSet}set fontSet(e){const i=this._cleanupFontValue(e);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(e){const i=this._cleanupFontValue(e);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(e){if(!e)return["",""];const i=e.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const e=this._elementsWithExternalReferences;if(e&&e.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();const i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){const e=this._elementRef.nativeElement;let i=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){const o=e.childNodes[i];(1!==o.nodeType||"svg"===o.nodeName.toLowerCase())&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const e=this._elementRef.nativeElement,i=this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet):this._iconRegistry.getDefaultFontSetClass();i!=this._previousFontSetClass&&(this._previousFontSetClass&&e.classList.remove(this._previousFontSetClass),i&&e.classList.add(i),this._previousFontSetClass=i),this.fontIcon!=this._previousFontIconClass&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return"string"==typeof e?e.trim().split(" ")[0]:e}_prependPathToReferences(e){const i=this._elementsWithExternalReferences;i&&i.forEach((o,r)=>{o.forEach(s=>{r.setAttribute(s.name,`url('${e}#${s.value}')`)})})}_cacheChildrenWithExternalReferences(e){const i=e.querySelectorAll(U6),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let r=0;r{const a=i[r],l=a.getAttribute(s),u=l?l.match(z6):null;if(u){let p=o.get(a);p||(p=[],o.set(a,p)),p.push({name:s,value:u[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){const[i,o]=this._splitIconName(e);i&&(this._svgNamespace=i),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,i).pipe(Ot(1)).subscribe(r=>this._setSvgElement(r),r=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${o}! ${r.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Uh),Di("aria-hidden"),_(j6),_(ps))},t.\u0275cmp=Oe({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(e,i){2&e&&(et("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),rt("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[Ce],ngContentSelectors:R6,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),ct(0))},styles:[".mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),ix=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();const $6=["*",[["mat-card-footer"]]],G6=["*","mat-card-footer"],W6=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],q6=["[mat-card-avatar], [matCardAvatar]","mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","*"];let ox=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-card-title"]}),t})(),rx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-card-subtitle"],["","mat-card-subtitle",""],["","matCardSubtitle",""]],hostAttrs:[1,"mat-card-subtitle"]}),t})(),$h=(()=>{class t{constructor(e){this._animationMode=e}}return t.\u0275fac=function(e){return new(e||t)(_(gn,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-card","mat-focus-indicator"],hostVars:2,hostBindings:function(e,i){2&e&&rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)},exportAs:["matCard"],ngContentSelectors:G6,decls:2,vars:0,template:function(e,i){1&e&&(Jt($6),ct(0),ct(1,1))},styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:block;position:relative;padding:16px;border-radius:4px}._mat-animation-noopable.mat-card{transition:none;animation:none}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}.cdk-high-contrast-active .mat-card{outline:solid 1px}.mat-card-actions,.mat-card-subtitle,.mat-card-content{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px;display:block;overflow:hidden}.mat-card-image img{width:100%}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button,.mat-card-actions .mat-stroked-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions:not(.mat-card-actions-align-end) .mat-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-raised-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-actions-align-end .mat-button:last-child,.mat-card-actions-align-end .mat-raised-button:last-child,.mat-card-actions-align-end .mat-stroked-button:last-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}\n"],encapsulation:2,changeDetection:0}),t})(),K6=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Oe({type:t,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-card-header"],ngContentSelectors:q6,decls:4,vars:0,consts:[[1,"mat-card-header-text"]],template:function(e,i){1&e&&(Jt(W6),ct(0),d(1,"div",0),ct(2,1),c(),ct(3,2))},encapsulation:2,changeDetection:0}),t})(),sx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();const Z6=["addListener","removeListener"],Q6=["addEventListener","removeEventListener"],Y6=["on","off"];function qi(t,n,e,i){if(H(e)&&(i=e,e=void 0),i)return qi(t,n,e).pipe(Q_(i));const[o,r]=function e8(t){return H(t.addEventListener)&&H(t.removeEventListener)}(t)?Q6.map(s=>a=>t[s](n,a,e)):function X6(t){return H(t.addListener)&&H(t.removeListener)}(t)?Z6.map(ax(t,n)):function J6(t){return H(t.on)&&H(t.off)}(t)?Y6.map(ax(t,n)):[];if(!o&&Xp(t))return $n(s=>qi(s,n,e))(yi(t));if(!o)throw new TypeError("Invalid event target");return new Ue(s=>{const a=(...l)=>s.next(1r(a)})}function ax(t,n){return e=>i=>t[e](n,i)}const t8=["primaryValueBar"],n8=$r(class{constructor(t){this._elementRef=t}},"primary"),i8=new _e("mat-progress-bar-location",{providedIn:"root",factory:function o8(){const t=hc(ht),n=t?t.location:null;return{getPathname:()=>n?n.pathname+n.search:""}}}),r8=new _e("MAT_PROGRESS_BAR_DEFAULT_OPTIONS");let s8=0,lx=(()=>{class t extends n8{constructor(e,i,o,r,s,a){super(e),this._ngZone=i,this._animationMode=o,this._changeDetectorRef=a,this._isNoopAnimation=!1,this._value=0,this._bufferValue=0,this.animationEnd=new Ae,this._animationEndSubscription=k.EMPTY,this.mode="determinate",this.progressbarId="mat-progress-bar-"+s8++;const l=r?r.getPathname().split("#")[0]:"";this._rectangleFillValue=`url('${l}#${this.progressbarId}')`,this._isNoopAnimation="NoopAnimations"===o,s&&(s.color&&(this.color=this.defaultColor=s.color),this.mode=s.mode||this.mode)}get value(){return this._value}set value(e){var i;this._value=cx(Zn(e)||0),null===(i=this._changeDetectorRef)||void 0===i||i.markForCheck()}get bufferValue(){return this._bufferValue}set bufferValue(e){var i;this._bufferValue=cx(e||0),null===(i=this._changeDetectorRef)||void 0===i||i.markForCheck()}_primaryTransform(){return{transform:`scale3d(${this.value/100}, 1, 1)`}}_bufferTransform(){return"buffer"===this.mode?{transform:`scale3d(${this.bufferValue/100}, 1, 1)`}:null}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const e=this._primaryValueBar.nativeElement;this._animationEndSubscription=qi(e,"transitionend").pipe(It(i=>i.target===e)).subscribe(()=>{0!==this.animationEnd.observers.length&&("determinate"===this.mode||"buffer"===this.mode)&&this._ngZone.run(()=>this.animationEnd.next({value:this.value}))})})}ngOnDestroy(){this._animationEndSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Je),_(gn,8),_(i8,8),_(r8,8),_(At))},t.\u0275cmp=Oe({type:t,selectors:[["mat-progress-bar"]],viewQuery:function(e,i){if(1&e&&Tt(t8,5),2&e){let o;Fe(o=Ne())&&(i._primaryValueBar=o.first)}},hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-progress-bar"],hostVars:4,hostBindings:function(e,i){2&e&&(et("aria-valuenow","indeterminate"===i.mode||"query"===i.mode?null:i.value)("mode",i.mode),rt("_mat-animation-noopable",i._isNoopAnimation))},inputs:{color:"color",value:"value",bufferValue:"bufferValue",mode:"mode"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],features:[Ce],decls:10,vars:4,consts:[["aria-hidden","true"],["width","100%","height","4","focusable","false",1,"mat-progress-bar-background","mat-progress-bar-element"],["x","4","y","0","width","8","height","4","patternUnits","userSpaceOnUse",3,"id"],["cx","2","cy","2","r","2"],["width","100%","height","100%"],[1,"mat-progress-bar-buffer","mat-progress-bar-element",3,"ngStyle"],[1,"mat-progress-bar-primary","mat-progress-bar-fill","mat-progress-bar-element",3,"ngStyle"],["primaryValueBar",""],[1,"mat-progress-bar-secondary","mat-progress-bar-fill","mat-progress-bar-element"]],template:function(e,i){1&e&&(d(0,"div",0),hn(),d(1,"svg",1)(2,"defs")(3,"pattern",2),E(4,"circle",3),c()(),E(5,"rect",4),c(),Ks(),E(6,"div",5)(7,"div",6,7)(9,"div",8),c()),2&e&&(f(3),m("id",i.progressbarId),f(2),et("fill",i._rectangleFillValue),f(1),m("ngStyle",i._bufferTransform()),f(1),m("ngStyle",i._primaryTransform()))},directives:[Ug],styles:['.mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-background{display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:"";display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2000ms infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2000ms infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background{animation:none;transition-duration:1ms}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}\n'],encapsulation:2,changeDetection:0}),t})();function cx(t,n=0,e=100){return Math.max(n,Math.min(e,t))}let dx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Wi,ft],ft]}),t})();function Gh(t){return t&&"function"==typeof t.connect}class ux{applyChanges(n,e,i,o,r){n.forEachOperation((s,a,l)=>{let u,p;if(null==s.previousIndex){const g=i(s,a,l);u=e.createEmbeddedView(g.templateRef,g.context,g.index),p=1}else null==l?(e.remove(a),p=3):(u=e.get(a),e.move(u,l),p=2);r&&r({context:null==u?void 0:u.context,operation:p,record:s})})}detach(){}}class Tl{constructor(n=!1,e,i=!0){this._multiple=n,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new ie,e&&e.length&&(n?e.forEach(o=>this._markSelected(o)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...n){this._verifyValueAssignment(n),n.forEach(e=>this._markSelected(e)),this._emitChangeEvent()}deselect(...n){this._verifyValueAssignment(n),n.forEach(e=>this._unmarkSelected(e)),this._emitChangeEvent()}toggle(n){this.isSelected(n)?this.deselect(n):this.select(n)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(n){return this._selection.has(n)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(n){this._multiple&&this.selected&&this._selected.sort(n)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(n){this.isSelected(n)||(this._multiple||this._unmarkAll(),this._selection.add(n),this._emitChanges&&this._selectedToEmit.push(n))}_unmarkSelected(n){this.isSelected(n)&&(this._selection.delete(n),this._emitChanges&&this._deselectedToEmit.push(n))}_unmarkAll(){this.isEmpty()||this._selection.forEach(n=>this._unmarkSelected(n))}_verifyValueAssignment(n){}}let sb=(()=>{class t{constructor(){this._listeners=[]}notify(e,i){for(let o of this._listeners)o(e,i)}listen(e){return this._listeners.push(e),()=>{this._listeners=this._listeners.filter(i=>e!==i)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const cd=new _e("_ViewRepeater");let px=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return t.\u0275fac=function(e){return new(e||t)(_(Nr),_(He))},t.\u0275dir=oe({type:t}),t})(),fa=(()=>{class t extends px{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,features:[Ce]}),t})();const Ki=new _e("NgValueAccessor"),c8={provide:Ki,useExisting:zt(()=>Dn),multi:!0},u8=new _e("CompositionEventMode");let Dn=(()=>{class t extends px{constructor(e,i,o){super(e,i),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function d8(){const t=_r()?_r().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",null==e?"":e)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return t.\u0275fac=function(e){return new(e||t)(_(Nr),_(He),_(u8,8))},t.\u0275dir=oe({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(e,i){1&e&&N("input",function(r){return i._handleInput(r.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(r){return i._compositionEnd(r.target.value)})},features:[ze([c8]),Ce]}),t})();function Ss(t){return null==t||0===t.length}function mx(t){return null!=t&&"number"==typeof t.length}const bi=new _e("NgValidators"),Ms=new _e("NgAsyncValidators"),h8=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class de{static min(n){return function gx(t){return n=>{if(Ss(n.value)||Ss(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(Ss(n.value)||Ss(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return bx(n)}static requiredTrue(n){return function vx(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function yx(t){return Ss(t.value)||h8.test(t.value)?null:{email:!0}}(n)}static minLength(n){return Cx(n)}static maxLength(n){return wx(n)}static pattern(n){return Dx(n)}static nullValidator(n){return null}static compose(n){return Ex(n)}static composeAsync(n){return Ix(n)}}function bx(t){return Ss(t.value)?{required:!0}:null}function Cx(t){return n=>Ss(n.value)||!mx(n.value)?null:n.value.lengthmx(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}function Dx(t){if(!t)return Wh;let n,e;return"string"==typeof t?(e="","^"!==t.charAt(0)&&(e+="^"),e+=t,"$"!==t.charAt(t.length-1)&&(e+="$"),n=new RegExp(e)):(e=t.toString(),n=t),i=>{if(Ss(i.value))return null;const o=i.value;return n.test(o)?null:{pattern:{requiredPattern:e,actualValue:o}}}}function Wh(t){return null}function Sx(t){return null!=t}function Mx(t){const n=xc(t)?ui(t):t;return $m(n),n}function xx(t){let n={};return t.forEach(e=>{n=null!=e?Object.assign(Object.assign({},n),e):n}),0===Object.keys(n).length?null:n}function Tx(t,n){return n.map(e=>e(t))}function kx(t){return t.map(n=>function p8(t){return!t.validate}(n)?n:e=>n.validate(e))}function Ex(t){if(!t)return null;const n=t.filter(Sx);return 0==n.length?null:function(e){return xx(Tx(e,n))}}function ab(t){return null!=t?Ex(kx(t)):null}function Ix(t){if(!t)return null;const n=t.filter(Sx);return 0==n.length?null:function(e){return Y_(Tx(e,n).map(Mx)).pipe(je(xx))}}function lb(t){return null!=t?Ix(kx(t)):null}function Ox(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function Ax(t){return t._rawValidators}function Px(t){return t._rawAsyncValidators}function cb(t){return t?Array.isArray(t)?t:[t]:[]}function qh(t,n){return Array.isArray(t)?t.includes(n):t===n}function Rx(t,n){const e=cb(n);return cb(t).forEach(o=>{qh(e,o)||e.push(o)}),e}function Fx(t,n){return cb(n).filter(e=>!qh(t,e))}class Nx{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=ab(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=lb(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class or extends Nx{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Ni extends Nx{get formDirective(){return null}get path(){return null}}class Lx{constructor(n){this._cd=n}is(n){var e,i,o;return"submitted"===n?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(o=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===o?void 0:o[n])}}let bn=(()=>{class t extends Lx{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(_(or,2))},t.\u0275dir=oe({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&rt("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[Ce]}),t})(),Hn=(()=>{class t extends Lx{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(_(Ni,10))},t.\u0275dir=oe({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&rt("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))("ng-submitted",i.is("submitted"))},features:[Ce]}),t})();function Zh(t,n){return[...n.path,t]}function dd(t,n){hb(t,n),n.valueAccessor.writeValue(t.value),function C8(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&Vx(t,n)})}(t,n),function D8(t,n){const e=(i,o)=>{n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function w8(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&Vx(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function y8(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function Qh(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Xh(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function Yh(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function hb(t,n){const e=Ax(t);null!==n.validator?t.setValidators(Ox(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=Px(t);null!==n.asyncValidator?t.setAsyncValidators(Ox(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const o=()=>t.updateValueAndValidity();Yh(n._rawValidators,o),Yh(n._rawAsyncValidators,o)}function Xh(t,n){let e=!1;if(null!==t){if(null!==n.validator){const o=Ax(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.validator);r.length!==o.length&&(e=!0,t.setValidators(r))}}if(null!==n.asyncValidator){const o=Px(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.asyncValidator);r.length!==o.length&&(e=!0,t.setAsyncValidators(r))}}}const i=()=>{};return Yh(n._rawValidators,i),Yh(n._rawAsyncValidators,i),e}function Vx(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function jx(t,n){hb(t,n)}function pb(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}function Ux(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function fb(t,n){if(!n)return null;let e,i,o;return Array.isArray(n),n.forEach(r=>{r.constructor===Dn?e=r:function x8(t){return Object.getPrototypeOf(t.constructor)===fa}(r)?i=r:o=r}),o||i||e||null}function mb(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}const ud="VALID",Jh="INVALID",kl="PENDING",hd="DISABLED";function _b(t){return(ep(t)?t.validators:t)||null}function zx(t){return Array.isArray(t)?ab(t):t||null}function bb(t,n){return(ep(n)?n.asyncValidators:t)||null}function $x(t){return Array.isArray(t)?lb(t):t||null}function ep(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}const vb=t=>t instanceof X,tp=t=>t instanceof an,Gx=t=>t instanceof ho;function Wx(t){return vb(t)?t.value:t.getRawValue()}function qx(t,n){const e=tp(t),i=t.controls;if(!(e?Object.keys(i):i).length)throw new Qe(1e3,"");if(!i[n])throw new Qe(1001,"")}function Kx(t,n){tp(t),t._forEachChild((i,o)=>{if(void 0===n[o])throw new Qe(1002,"")})}class yb{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=n,this._rawAsyncValidators=e,this._composedValidatorFn=zx(this._rawValidators),this._composedAsyncValidatorFn=$x(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===ud}get invalid(){return this.status===Jh}get pending(){return this.status==kl}get disabled(){return this.status===hd}get enabled(){return this.status!==hd}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._rawValidators=n,this._composedValidatorFn=zx(n)}setAsyncValidators(n){this._rawAsyncValidators=n,this._composedAsyncValidatorFn=$x(n)}addValidators(n){this.setValidators(Rx(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(Rx(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(Fx(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(Fx(n,this._rawAsyncValidators))}hasValidator(n){return qh(this._rawValidators,n)}hasAsyncValidator(n){return qh(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=kl,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=hd,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},n),{onlySelf:!0}))}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},n),{skipPristineCheck:e})),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=ud,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},n),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},n),{skipPristineCheck:e})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ud||this.status===kl)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?hd:ud}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=kl,this._hasOwnPendingAsyncValidator=!0;const e=Mx(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){return function T8(t,n,e){if(null==n||(Array.isArray(n)||(n=n.split(e)),Array.isArray(n)&&0===n.length))return null;let i=t;return n.forEach(o=>{i=tp(i)?i.controls.hasOwnProperty(o)?i.controls[o]:null:Gx(i)&&i.at(o)||null}),i}(this,n,".")}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?hd:this.errors?Jh:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(kl)?kl:this._anyControlsHaveStatus(Jh)?Jh:ud}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_isBoxedValue(n){return"object"==typeof n&&null!==n&&2===Object.keys(n).length&&"value"in n&&"disabled"in n}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){ep(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class X extends yb{constructor(n=null,e,i){super(_b(e),bb(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ep(e)&&e.initialValueIsDefault&&(this.defaultValue=this._isBoxedValue(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){mb(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){mb(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){this._isBoxedValue(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}}class an extends yb{constructor(n,e,i){super(_b(e),bb(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){Kx(this,n),Object.keys(n).forEach(i=>{qx(this,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=Wx(e),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const e of Object.keys(this.controls)){const i=this.controls[e];if(this.contains(e)&&n(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(n,e,i)=>((e.enabled||this.disabled)&&(n[i]=e.value),n))}_reduceChildren(n,e){let i=n;return this._forEachChild((o,r)=>{i=e(i,o,r)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}}class ho extends yb{constructor(n,e,i){super(_b(e),bb(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[n]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),e&&(this.controls.splice(n,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){Kx(this,n),n.forEach((i,o)=>{qx(this,o),this.at(o).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,o)=>{this.at(o)&&this.at(o).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>Wx(n))}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}}const k8={provide:Ni,useExisting:zt(()=>xs)},pd=(()=>Promise.resolve(null))();let xs=(()=>{class t extends Ni{constructor(e,i){super(),this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ae,this.form=new an({},ab(e),lb(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){pd.then(()=>{const i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),dd(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){pd.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){pd.then(()=>{const i=this._findContainer(e.path),o=new an({});jx(o,e),i.registerControl(e.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){pd.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){pd.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,Ux(this.form,this._directives),this.ngSubmit.emit(e),!1}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}}return t.\u0275fac=function(e){return new(e||t)(_(bi,10),_(Ms,10))},t.\u0275dir=oe({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,i){1&e&&N("submit",function(r){return i.onSubmit(r)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ze([k8]),Ce]}),t})(),Zx=(()=>{class t extends Ni{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Zh(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,features:[Ce]}),t})();const I8={provide:or,useExisting:zt(()=>El)},Yx=(()=>Promise.resolve(null))();let El=(()=>{class t extends or{constructor(e,i,o,r,s){super(),this._changeDetectorRef=s,this.control=new X,this._registered=!1,this.update=new Ae,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=fb(0,r)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),pb(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){dd(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(e){Yx.then(()=>{var i;this.control.setValue(e,{emitViewToModelChange:!1}),null===(i=this._changeDetectorRef)||void 0===i||i.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,o=""===i||i&&"false"!==i;Yx.then(()=>{var r;o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),null===(r=this._changeDetectorRef)||void 0===r||r.markForCheck()})}_getPath(e){return this._parent?Zh(e,this._parent):[e]}}return t.\u0275fac=function(e){return new(e||t)(_(Ni,9),_(bi,10),_(Ms,10),_(Ki,10),_(At,8))},t.\u0275dir=oe({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ze([I8]),Ce,nn]}),t})(),xi=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})();const O8={provide:Ki,useExisting:zt(()=>Cb),multi:!0};let Cb=(()=>{class t extends fa{writeValue(e){this.setProperty("value",null==e?"":e)}registerOnChange(e){this.onChange=i=>{e(""==i?null:parseFloat(i))}}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(e,i){1&e&&N("input",function(r){return i.onChange(r.target.value)})("blur",function(){return i.onTouched()})},features:[ze([O8]),Ce]}),t})(),Xx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const wb=new _e("NgModelWithFormControlWarning"),F8={provide:or,useExisting:zt(()=>Il)};let Il=(()=>{class t extends or{constructor(e,i,o,r){super(),this._ngModelWarningConfig=r,this.update=new Ae,this._ngModelWarningSent=!1,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=fb(0,o)}set isDisabled(e){}ngOnChanges(e){if(this._isControlChanged(e)){const i=e.form.previousValue;i&&Qh(i,this,!1),dd(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}pb(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&Qh(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(_(bi,10),_(Ms,10),_(Ki,10),_(wb,8))},t.\u0275dir=oe({type:t,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[ze([F8]),Ce,nn]}),t})();const N8={provide:Ni,useExisting:zt(()=>Sn)};let Sn=(()=>{class t extends Ni{constructor(e,i){super(),this.validators=e,this.asyncValidators=i,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Ae,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Xh(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return dd(i,e),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Qh(e.control||null,e,!1),mb(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,Ux(this.form,this.directives),this.ngSubmit.emit(e),!1}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,o=this.form.get(e.path);i!==o&&(Qh(i||null,e),vb(o)&&(dd(o,e),e.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);jx(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function S8(t,n){return Xh(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){hb(this.form,this),this._oldForm&&Xh(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(_(bi,10),_(Ms,10))},t.\u0275dir=oe({type:t,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&N("submit",function(r){return i.onSubmit(r)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ze([N8]),Ce,nn]}),t})();const L8={provide:Ni,useExisting:zt(()=>fd)};let fd=(()=>{class t extends Zx{constructor(e,i,o){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}_checkParentType(){tT(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(_(Ni,13),_(bi,10),_(Ms,10))},t.\u0275dir=oe({type:t,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[ze([L8]),Ce]}),t})();const B8={provide:Ni,useExisting:zt(()=>md)};let md=(()=>{class t extends Ni{constructor(e,i,o){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Zh(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){tT(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(_(Ni,13),_(bi,10),_(Ms,10))},t.\u0275dir=oe({type:t,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[ze([B8]),Ce]}),t})();function tT(t){return!(t instanceof fd||t instanceof Sn||t instanceof md)}const V8={provide:or,useExisting:zt(()=>Xn)};let Xn=(()=>{class t extends or{constructor(e,i,o,r,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new Ae,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=fb(0,r)}set isDisabled(e){}ngOnChanges(e){this._added||this._setUpControl(),pb(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return Zh(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(_(Ni,13),_(bi,10),_(Ms,10),_(Ki,10),_(wb,8))},t.\u0275dir=oe({type:t,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[ze([V8]),Ce,nn]}),t})();function oT(t){return"number"==typeof t?t:parseInt(t,10)}let ma=(()=>{class t{constructor(){this._validator=Wh}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Wh,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,features:[nn]}),t})();const Z8={provide:bi,useExisting:zt(()=>po),multi:!0};let po=(()=>{class t extends ma{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=e=>function W8(t){return null!=t&&!1!==t&&"false"!=`${t}`}(e),this.createValidator=e=>bx}enabled(e){return e}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(e,i){2&e&&et("required",i._enabled?"":null)},inputs:{required:"required"},features:[ze([Z8]),Ce]}),t})();const X8={provide:bi,useExisting:zt(()=>xb),multi:!0};let xb=(()=>{class t extends ma{constructor(){super(...arguments),this.inputName="minlength",this.normalizeInput=e=>oT(e),this.createValidator=e=>Cx(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&et("minlength",i._enabled?i.minlength:null)},inputs:{minlength:"minlength"},features:[ze([X8]),Ce]}),t})();const J8={provide:bi,useExisting:zt(()=>Tb),multi:!0};let Tb=(()=>{class t extends ma{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>oT(e),this.createValidator=e=>wx(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&et("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},features:[ze([J8]),Ce]}),t})();const ej={provide:bi,useExisting:zt(()=>kb),multi:!0};let kb=(()=>{class t extends ma{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=e=>e,this.createValidator=e=>Dx(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&et("pattern",i._enabled?i.pattern:null)},inputs:{pattern:"pattern"},features:[ze([ej]),Ce]}),t})(),cT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Xx]]}),t})(),tj=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[cT]}),t})(),Eb=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:wb,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[cT]}),t})(),Ts=(()=>{class t{group(e,i=null){const o=this._reduceControls(e);let a,r=null,s=null;return null!=i&&(function nj(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(i)?(r=null!=i.validators?i.validators:null,s=null!=i.asyncValidators?i.asyncValidators:null,a=null!=i.updateOn?i.updateOn:void 0):(r=null!=i.validator?i.validator:null,s=null!=i.asyncValidator?i.asyncValidator:null)),new an(o,{asyncValidators:s,updateOn:a,validators:r})}control(e,i,o){return new X(e,i,o)}array(e,i,o){const r=e.map(s=>this._createControl(s));return new ho(r,i,o)}_reduceControls(e){const i={};return Object.keys(e).forEach(o=>{i[o]=this._createControl(e[o])}),i}_createControl(e){return vb(e)||tp(e)||Gx(e)?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:Eb}),t})(),dT=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(e){this._vertical=Xe(e)}get inset(){return this._inset}set inset(e){this._inset=Xe(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Oe({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,i){2&e&&(et("aria-orientation",i.vertical?"vertical":"horizontal"),rt("mat-divider-vertical",i.vertical)("mat-divider-horizontal",!i.vertical)("mat-divider-inset",i.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,i){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),Ib=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})(),hT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[xM,ha,ft,G_,Wi],xM,ft,G_,Ib]}),t})();const gj=["connectionContainer"],_j=["inputContainer"],bj=["label"];function vj(t,n){1&t&&(be(0),d(1,"div",14),E(2,"div",15)(3,"div",16)(4,"div",17),c(),d(5,"div",18),E(6,"div",15)(7,"div",16)(8,"div",17),c(),ve())}function yj(t,n){if(1&t){const e=pe();d(0,"div",19),N("cdkObserveContent",function(){return se(e),D().updateOutlineGap()}),ct(1,1),c()}2&t&&m("cdkObserveContentDisabled","outline"!=D().appearance)}function Cj(t,n){if(1&t&&(be(0),ct(1,2),d(2,"span"),h(3),c(),ve()),2&t){const e=D(2);f(3),Pe(e._control.placeholder)}}function wj(t,n){1&t&&ct(0,3,["*ngSwitchCase","true"])}function Dj(t,n){1&t&&(d(0,"span",23),h(1," *"),c())}function Sj(t,n){if(1&t){const e=pe();d(0,"label",20,21),N("cdkObserveContent",function(){return se(e),D().updateOutlineGap()}),b(2,Cj,4,1,"ng-container",12),b(3,wj,1,0,"ng-content",12),b(4,Dj,2,0,"span",22),c()}if(2&t){const e=D();rt("mat-empty",e._control.empty&&!e._shouldAlwaysFloat())("mat-form-field-empty",e._control.empty&&!e._shouldAlwaysFloat())("mat-accent","accent"==e.color)("mat-warn","warn"==e.color),m("cdkObserveContentDisabled","outline"!=e.appearance)("id",e._labelId)("ngSwitch",e._hasLabel()),et("for",e._control.id)("aria-owns",e._control.id),f(2),m("ngSwitchCase",!1),f(1),m("ngSwitchCase",!0),f(1),m("ngIf",!e.hideRequiredMarker&&e._control.required&&!e._control.disabled)}}function Mj(t,n){1&t&&(d(0,"div",24),ct(1,4),c())}function xj(t,n){if(1&t&&(d(0,"div",25),E(1,"span",26),c()),2&t){const e=D();f(1),rt("mat-accent","accent"==e.color)("mat-warn","warn"==e.color)}}function Tj(t,n){1&t&&(d(0,"div"),ct(1,5),c()),2&t&&m("@transitionMessages",D()._subscriptAnimationState)}function kj(t,n){if(1&t&&(d(0,"div",30),h(1),c()),2&t){const e=D(2);m("id",e._hintLabelId),f(1),Pe(e.hintLabel)}}function Ej(t,n){if(1&t&&(d(0,"div",27),b(1,kj,2,2,"div",28),ct(2,6),E(3,"div",29),ct(4,7),c()),2&t){const e=D();m("@transitionMessages",e._subscriptAnimationState),f(1),m("ngIf",e.hintLabel)}}const Ij=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],Oj=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"];let Aj=0;const pT=new _e("MatError");let Ob=(()=>{class t{constructor(e,i){this.id="mat-error-"+Aj++,e||i.nativeElement.setAttribute("aria-live","polite")}}return t.\u0275fac=function(e){return new(e||t)(Di("aria-live"),_(He))},t.\u0275dir=oe({type:t,selectors:[["mat-error"]],hostAttrs:["aria-atomic","true",1,"mat-error"],hostVars:1,hostBindings:function(e,i){2&e&&et("id",i.id)},inputs:{id:"id"},features:[ze([{provide:pT,useExisting:t}])]}),t})();const Pj={transitionMessages:Io("transitionMessages",[jn("enter",Vt({opacity:1,transform:"translateY(0%)"})),Kn("void => enter",[Vt({opacity:0,transform:"translateY(-5px)"}),si("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let gd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t}),t})(),Rj=0;const fT=new _e("MatHint");let np=(()=>{class t{constructor(){this.align="start",this.id="mat-hint-"+Rj++}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-hint"],hostVars:4,hostBindings:function(e,i){2&e&&(et("id",i.id)("align",null),rt("mat-form-field-hint-end","end"===i.align))},inputs:{align:"align",id:"id"},features:[ze([{provide:fT,useExisting:t}])]}),t})(),Mn=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-label"]]}),t})(),Fj=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-placeholder"]]}),t})();const Nj=new _e("MatPrefix"),mT=new _e("MatSuffix");let Ab=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["","matSuffix",""]],features:[ze([{provide:mT,useExisting:t}])]}),t})(),gT=0;const Bj=$r(class{constructor(t){this._elementRef=t}},"primary"),Vj=new _e("MAT_FORM_FIELD_DEFAULT_OPTIONS"),ip=new _e("MatFormField");let En=(()=>{class t extends Bj{constructor(e,i,o,r,s,a,l){super(e),this._changeDetectorRef=i,this._dir=o,this._defaults=r,this._platform=s,this._ngZone=a,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new ie,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+gT++,this._labelId="mat-form-field-label-"+gT++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==l,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(e){const i=this._appearance;this._appearance=e||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&i!==e&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=Xe(e)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(e){this._explicitFormFieldControl=e}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${e.controlType}`),e.stateChanges.pipe(Nn(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(tt(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(tt(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Tn(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Nn(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Nn(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(tt(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(e){const i=this._control?this._control.ngControl:null;return i&&i[e]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,qi(this._label.nativeElement,"transitionend").pipe(Ot(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(r=>"start"===r.align):null,o=this._hintChildren?this._hintChildren.find(r=>"end"===r.align):null;i?e.push(i.id):this._hintLabel&&e.push(this._hintLabelId),o&&e.push(o.id)}else this._errorChildren&&e.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(e)}}_validateControlChild(){}updateOutlineGap(){const e=this._label?this._label.nativeElement:null,i=this._connectionContainerRef.nativeElement,o=".mat-form-field-outline-start",r=".mat-form-field-outline-gap";if("outline"!==this.appearance||!this._platform.isBrowser)return;if(!e||!e.children.length||!e.textContent.trim()){const p=i.querySelectorAll(`${o}, ${r}`);for(let g=0;g0?.75*M+10:0}for(let p=0;p{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Wi,ft,Ph],ft]}),t})();function op(t=0,n,e=gV){let i=-1;return null!=n&&(Zv(n)?e=n:i=n),new Ue(o=>{let r=function Hj(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;r<0&&(r=0);let s=0;return e.schedule(function(){o.closed||(o.next(s++),0<=i?this.schedule(void 0,i):o.complete())},r)})}function Pb(t,n=td){return function jj(t){return nt((n,e)=>{let i=!1,o=null,r=null,s=!1;const a=()=>{if(null==r||r.unsubscribe(),r=null,i){i=!1;const u=o;o=null,e.next(u)}s&&e.complete()},l=()=>{r=null,s&&e.complete()};n.subscribe(st(e,u=>{i=!0,o=u,r||yi(t(u)).subscribe(r=st(e,a,l))},()=>{s=!0,(!i||!r||r.closed)&&e.complete()}))})}(()=>op(t,n))}const bT=aa({passive:!0});let Uj=(()=>{class t{constructor(e,i){this._platform=e,this._ngZone=i,this._monitoredElements=new Map}monitor(e){if(!this._platform.isBrowser)return vo;const i=zr(e),o=this._monitoredElements.get(i);if(o)return o.subject;const r=new ie,s="cdk-text-field-autofilled",a=l=>{"cdk-text-field-autofill-start"!==l.animationName||i.classList.contains(s)?"cdk-text-field-autofill-end"===l.animationName&&i.classList.contains(s)&&(i.classList.remove(s),this._ngZone.run(()=>r.next({target:l.target,isAutofilled:!1}))):(i.classList.add(s),this._ngZone.run(()=>r.next({target:l.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,bT),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:r,unlisten:()=>{i.removeEventListener("animationstart",a,bT)}}),r}stopMonitoring(e){const i=zr(e),o=this._monitoredElements.get(i);o&&(o.unlisten(),o.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((e,i)=>this.stopMonitoring(i))}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),vT=(()=>{class t{constructor(e,i,o,r){this._elementRef=e,this._platform=i,this._ngZone=o,this._destroyed=new ie,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._handleFocusEvent=s=>{this._hasFocus="focus"===s.type},this._document=r,this._textareaElement=this._elementRef.nativeElement}get minRows(){return this._minRows}set minRows(e){this._minRows=Zn(e),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(e){this._maxRows=Zn(e),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(e){e=Xe(e),this._enabled!==e&&((this._enabled=e)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(e){this._cachedPlaceholderHeight=void 0,e?this._textareaElement.setAttribute("placeholder",e):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}_setMinHeight(){const e=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;e&&(this._textareaElement.style.minHeight=e)}_setMaxHeight(){const e=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;e&&(this._textareaElement.style.maxHeight=e)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{qi(this._getWindow(),"resize").pipe(Pb(16),tt(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0)),this._textareaElement.addEventListener("focus",this._handleFocusEvent),this._textareaElement.addEventListener("blur",this._handleFocusEvent)}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._textareaElement.removeEventListener("focus",this._handleFocusEvent),this._textareaElement.removeEventListener("blur",this._handleFocusEvent),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let e=this._textareaElement.cloneNode(!1);e.rows=1,e.style.position="absolute",e.style.visibility="hidden",e.style.border="none",e.style.padding="0",e.style.height="",e.style.minHeight="",e.style.maxHeight="",e.style.overflow="hidden",this._textareaElement.parentNode.appendChild(e),this._cachedLineHeight=e.clientHeight,e.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){const e=this._textareaElement,i=e.style.marginBottom||"",o=this._platform.FIREFOX,r=o&&this._hasFocus,s=o?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";r&&(e.style.marginBottom=`${e.clientHeight}px`),e.classList.add(s);const a=e.scrollHeight-4;return e.classList.remove(s),r&&(e.style.marginBottom=i),a}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const e=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=e}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(e=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;const i=this._elementRef.nativeElement,o=i.value;if(!e&&this._minRows===this._previousMinRows&&o===this._previousValue)return;const r=this._measureScrollHeight(),s=Math.max(r,this._cachedPlaceholderHeight||0);i.style.height=`${s}px`,this._ngZone.runOutsideAngular(()=>{"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(()=>this._scrollToCaretPosition(i)):setTimeout(()=>this._scrollToCaretPosition(i))}),this._previousValue=o,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(e){const{selectionStart:i,selectionEnd:o}=e;!this._destroyed.isStopped&&this._hasFocus&&e.setSelectionRange(i,o)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(dn),_(Je),_(ht,8))},t.\u0275dir=oe({type:t,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(e,i){1&e&&N("input",function(){return i._noopInputHandler()})},inputs:{minRows:["cdkAutosizeMinRows","minRows"],maxRows:["cdkAutosizeMaxRows","maxRows"],enabled:["cdkTextareaAutosize","enabled"],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]}),t})(),yT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const zj=new _e("MAT_INPUT_VALUE_ACCESSOR"),$j=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let Gj=0;const Wj=z_(class{constructor(t,n,e,i){this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=e,this.ngControl=i}});let li=(()=>{class t extends Wj{constructor(e,i,o,r,s,a,l,u,p,g){super(a,r,s,o),this._elementRef=e,this._platform=i,this._autofillMonitor=u,this._formField=g,this._uid="mat-input-"+Gj++,this.focused=!1,this.stateChanges=new ie,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(M=>sM().has(M)),this._iOSKeyupListener=M=>{const V=M.target;!V.value&&0===V.selectionStart&&0===V.selectionEnd&&(V.setSelectionRange(1,1),V.setSelectionRange(0,0))};const v=this._elementRef.nativeElement,C=v.nodeName.toLowerCase();this._inputValueAccessor=l||v,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&p.runOutsideAngular(()=>{e.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===C,this._isTextarea="textarea"===C,this._isInFormField=!!g,this._isNativeSelect&&(this.controlType=v.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=Xe(e),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(e){this._id=e||this._uid}get required(){var e,i,o,r;return null!==(r=null!==(e=this._required)&&void 0!==e?e:null===(o=null===(i=this.ngControl)||void 0===i?void 0:i.control)||void 0===o?void 0:o.hasValidator(de.required))&&void 0!==r&&r}set required(e){this._required=Xe(e)}get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&sM().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=Xe(e)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}_focusChanged(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var e,i;const o=(null===(i=null===(e=this._formField)||void 0===e?void 0:e._hideControlPlaceholder)||void 0===i?void 0:i.call(e))?null:this.placeholder;if(o!==this._previousPlaceholder){const r=this._elementRef.nativeElement;this._previousPlaceholder=o,o?r.setAttribute("placeholder",o):r.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_validateType(){$j.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const e=this._elementRef.nativeElement,i=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(dn),_(or,10),_(xs,8),_(Sn,8),_(od),_(zj,10),_(Uj),_(Je),_(ip,8))},t.\u0275dir=oe({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:12,hostBindings:function(e,i){1&e&&N("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&e&&(Fr("disabled",i.disabled)("required",i.required),et("id",i.id)("data-placeholder",i.placeholder)("name",i.name||null)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required),rt("mat-input-server",i._isServer)("mat-native-select-inline",i._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[ze([{provide:gd,useExisting:t}]),Ce,nn]}),t})(),CT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[od],imports:[[yT,_d,ft],yT,_d]}),t})();const bd={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame;const{delegate:i}=bd;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);const o=n(r=>{e=void 0,t(r)});return new k(()=>null==e?void 0:e(o))},requestAnimationFrame(...t){const{delegate:n}=bd;return((null==n?void 0:n.requestAnimationFrame)||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){const{delegate:n}=bd;return((null==n?void 0:n.cancelAnimationFrame)||cancelAnimationFrame)(...t)},delegate:void 0};new class Kj extends R_{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class qj extends P_{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=bd.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(bd.cancelAnimationFrame(e),n._scheduled=void 0)}});let Rb,Qj=1;const rp={};function wT(t){return t in rp&&(delete rp[t],!0)}const Yj={setImmediate(t){const n=Qj++;return rp[n]=!0,Rb||(Rb=Promise.resolve()),Rb.then(()=>wT(n)&&t()),n},clearImmediate(t){wT(t)}},{setImmediate:Xj,clearImmediate:Jj}=Yj,sp={setImmediate(...t){const{delegate:n}=sp;return((null==n?void 0:n.setImmediate)||Xj)(...t)},clearImmediate(t){const{delegate:n}=sp;return((null==n?void 0:n.clearImmediate)||Jj)(t)},delegate:void 0},Fb=new class t7 extends R_{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class e7 extends P_{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=sp.setImmediate(n.flush.bind(n,void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(sp.clearImmediate(e),n._scheduled===e&&(n._scheduled=void 0))}});let vd=(()=>{class t{constructor(e,i,o){this._ngZone=e,this._platform=i,this._scrolled=new ie,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new Ue(i=>{this._globalSubscription||this._addGlobalListener();const o=e>0?this._scrolled.pipe(Pb(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):We()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const o=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(It(r=>!r||o.indexOf(r)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((o,r)=>{this._scrollableContainsElement(r,e)&&i.push(r)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let o=zr(i),r=e.getElementRef().nativeElement;do{if(o==r)return!0}while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>qi(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Q(Je),Q(dn),Q(ht,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),yd=(()=>{class t{constructor(e,i,o,r){this.elementRef=e,this.scrollDispatcher=i,this.ngZone=o,this.dir=r,this._destroyed=new ie,this._elementScrolled=new Ue(s=>this.ngZone.runOutsideAngular(()=>qi(this.elementRef.nativeElement,"scroll").pipe(tt(this._destroyed)).subscribe(s)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){const i=this.elementRef.nativeElement,o=this.dir&&"rtl"==this.dir.value;null==e.left&&(e.left=o?e.end:e.start),null==e.right&&(e.right=o?e.start:e.end),null!=e.bottom&&(e.top=i.scrollHeight-i.clientHeight-e.bottom),o&&0!=Jc()?(null!=e.left&&(e.right=i.scrollWidth-i.clientWidth-e.left),2==Jc()?e.left=e.right:1==Jc()&&(e.left=e.right?-e.right:e.right)):null!=e.right&&(e.left=i.scrollWidth-i.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){const i=this.elementRef.nativeElement;aM()?i.scrollTo(e):(null!=e.top&&(i.scrollTop=e.top),null!=e.left&&(i.scrollLeft=e.left))}measureScrollOffset(e){const i="left",o="right",r=this.elementRef.nativeElement;if("top"==e)return r.scrollTop;if("bottom"==e)return r.scrollHeight-r.clientHeight-r.scrollTop;const s=this.dir&&"rtl"==this.dir.value;return"start"==e?e=s?o:i:"end"==e&&(e=s?i:o),s&&2==Jc()?e==i?r.scrollWidth-r.clientWidth-r.scrollLeft:r.scrollLeft:s&&1==Jc()?e==i?r.scrollLeft+r.scrollWidth-r.clientWidth:-r.scrollLeft:e==i?r.scrollLeft:r.scrollWidth-r.clientWidth-r.scrollLeft}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(vd),_(Je),_(ai,8))},t.\u0275dir=oe({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]}),t})(),yr=(()=>{class t{constructor(e,i,o){this._platform=e,this._change=new ie,this._changeListener=r=>{this._change.next(r)},this._document=o,i.runOutsideAngular(()=>{if(e.isBrowser){const r=this._getWindow();r.addEventListener("resize",this._changeListener),r.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),o=e.documentElement,r=o.getBoundingClientRect();return{top:-r.top||e.body.scrollTop||i.scrollY||o.scrollTop||0,left:-r.left||e.body.scrollLeft||i.scrollX||o.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(Pb(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(Je),Q(ht,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),ks=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),Nb=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Yc,ks],Yc,ks]}),t})();class Lb{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class Ol extends Lb{constructor(n,e,i,o){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=o}}class Wr extends Lb{constructor(n,e,i){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class r7 extends Lb{constructor(n){super(),this.element=n instanceof He?n.nativeElement:n}}class ap{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof Ol?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof Wr?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof r7?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class s7 extends ap{constructor(n,e,i,o,r){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=o,this.attachDomPortal=s=>{const a=s.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=r}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let o;return n.viewContainerRef?(o=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector),this.setDisposeFn(()=>o.destroy())):(o=i.create(n.injector||this._defaultInjector||pn.NULL),this._appRef.attachView(o.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(o.hostView),o.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(o)),this._attachedPortal=n,o}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context);return i.rootNodes.forEach(o=>this.outletElement.appendChild(o)),i.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(i);-1!==o&&e.remove(o)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let a7=(()=>{class t extends Wr{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(_(rn),_(sn))},t.\u0275dir=oe({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[Ce]}),t})(),Es=(()=>{class t extends ap{constructor(e,i,o){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Ae,this.attachDomPortal=r=>{const s=r.element,a=this._document.createComment("dom-portal");r.setAttachedHost(this),s.parentNode.insertBefore(a,s),this._getRootNode().appendChild(s),this._attachedPortal=r,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(s,a)})},this._document=o}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,r=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),s=i.createComponent(r,i.length,e.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(s.hostView.rootNodes[0]),super.setDisposeFn(()=>s.destroy()),this._attachedPortal=e,this._attachedRef=s,this.attached.emit(s),s}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}return t.\u0275fac=function(e){return new(e||t)(_(gs),_(sn),_(ht))},t.\u0275dir=oe({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[Ce]}),t})(),Cd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const DT=aM();class c7{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=Qn(-this._previousScrollPosition.left),n.style.top=Qn(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,o=this._document.body.style,r=i.scrollBehavior||"",s=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),DT&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),DT&&(i.scrollBehavior=r,o.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class d7{constructor(n,e,i,o){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ST{enable(){}disable(){}attach(){}}function Bb(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function MT(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class u7{constructor(n,e,i,o){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();Bb(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let h7=(()=>{class t{constructor(e,i,o,r){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=o,this.noop=()=>new ST,this.close=s=>new d7(this._scrollDispatcher,this._ngZone,this._viewportRuler,s),this.block=()=>new c7(this._viewportRuler,this._document),this.reposition=s=>new u7(this._scrollDispatcher,this._viewportRuler,this._ngZone,s),this._document=r}}return t.\u0275fac=function(e){return new(e||t)(Q(vd),Q(yr),Q(Je),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class Al{constructor(n){if(this.scrollStrategy=new ST,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class p7{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}class f7{constructor(n,e,i,o,r,s,a,l,u){this._portalOutlet=n,this._host=e,this._pane=i,this._config=o,this._ngZone=r,this._keyboardDispatcher=s,this._document=a,this._location=l,this._outsideClickDispatcher=u,this._backdropElement=null,this._backdropClick=new ie,this._attachments=new ie,this._detachments=new ie,this._locationChanges=k.EMPTY,this._backdropClickHandler=p=>this._backdropClick.next(p),this._backdropTransitionendHandler=p=>{this._disposeBackdrop(p.target)},this._keydownEvents=new ie,this._outsidePointerEvents=new ie,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){var n;const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),null===(n=this._host)||void 0===n||n.remove(),this._previousHostParent=this._pane=this._host=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config=Object.assign(Object.assign({},this._config),n),this._updateElementSize()}setDirection(n){this._config=Object.assign(Object.assign({},this._config),{direction:n}),this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=Qn(this._config.width),n.height=Qn(this._config.height),n.minWidth=Qn(this._config.minWidth),n.minHeight=Qn(this._config.minHeight),n.maxWidth=Qn(this._config.maxWidth),n.maxHeight=Qn(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;!n||(n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500)))}_toggleClasses(n,e,i){const o=Ah(e||[]).filter(r=>!!r);o.length&&(i?n.classList.add(...o):n.classList.remove(...o))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const n=this._ngZone.onStable.pipe(tt(Tn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}let Vb=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){var e;null===(e=this._containerElement)||void 0===e||e.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||E_()){const o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let r=0;r{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,r=[];let s;for(let a of this._preferredPositions){let l=this._getOriginPoint(n,o,a),u=this._getOverlayPoint(l,e,a),p=this._getOverlayFit(u,e,i,a);if(p.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(a,l);this._canFitWithFlexibleDimensions(p,u,i)?r.push({position:a,origin:l,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(l,a)}):(!s||s.overlayFit.visibleAreal&&(l=p,a=u)}return this._isPushed=!1,void this._applyPosition(a.position,a.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ga(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(xT),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let o,r;if("center"==i.originX)o=n.left+n.width/2;else{const s=this._isRtl()?n.right:n.left,a=this._isRtl()?n.left:n.right;o="start"==i.originX?s:a}return e.left<0&&(o-=e.left),r="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(r-=e.top),{x:o,y:r}}_getOverlayPoint(n,e,i){let o,r;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+o,y:n.y+r}}_getOverlayFit(n,e,i,o){const r=kT(e);let{x:s,y:a}=n,l=this._getOffset(o,"x"),u=this._getOffset(o,"y");l&&(s+=l),u&&(a+=u);let v=0-a,C=a+r.height-i.height,M=this._subtractOverflows(r.width,0-s,s+r.width-i.width),V=this._subtractOverflows(r.height,v,C),K=M*V;return{visibleArea:K,isCompletelyWithinViewport:r.width*r.height===K,fitsInViewportVertically:V===r.height,fitsInViewportHorizontally:M==r.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const o=i.bottom-e.y,r=i.right-e.x,s=TT(this._overlayRef.getConfig().minHeight),a=TT(this._overlayRef.getConfig().minWidth),u=n.fitsInViewportHorizontally||null!=a&&a<=r;return(n.fitsInViewportVertically||null!=s&&s<=o)&&u}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const o=kT(e),r=this._viewportRect,s=Math.max(n.x+o.width-r.width,0),a=Math.max(n.y+o.height-r.height,0),l=Math.max(r.top-i.top-n.y,0),u=Math.max(r.left-i.left-n.x,0);let p=0,g=0;return p=o.width<=r.width?u||-s:n.xM&&!this._isInitialRender&&!this._growAfterOpen&&(s=n.y-M/2)}if("end"===e.overlayX&&!o||"start"===e.overlayX&&o)v=i.width-n.x+this._viewportMargin,p=n.x-this._viewportMargin;else if("start"===e.overlayX&&!o||"end"===e.overlayX&&o)g=n.x,p=i.right-n.x;else{const C=Math.min(i.right-n.x+i.left,n.x),M=this._lastBoundingBoxSize.width;p=2*C,g=n.x-C,p>M&&!this._isInitialRender&&!this._growAfterOpen&&(g=n.x-M/2)}return{top:s,left:g,bottom:a,right:v,width:p,height:r}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{const r=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;o.height=Qn(i.height),o.top=Qn(i.top),o.bottom=Qn(i.bottom),o.width=Qn(i.width),o.left=Qn(i.left),o.right=Qn(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",r&&(o.maxHeight=Qn(r)),s&&(o.maxWidth=Qn(s))}this._lastBoundingBoxSize=i,ga(this._boundingBox.style,o)}_resetBoundingBoxStyles(){ga(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ga(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},o=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(o){const p=this._viewportRuler.getViewportScrollPosition();ga(i,this._getExactOverlayY(e,n,p)),ga(i,this._getExactOverlayX(e,n,p))}else i.position="static";let a="",l=this._getOffset(e,"x"),u=this._getOffset(e,"y");l&&(a+=`translateX(${l}px) `),u&&(a+=`translateY(${u}px)`),i.transform=a.trim(),s.maxHeight&&(o?i.maxHeight=Qn(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(o?i.maxWidth=Qn(s.maxWidth):r&&(i.maxWidth="")),ga(this._pane.style,i)}_getExactOverlayY(n,e,i){let o={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),"bottom"===n.overlayY?o.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":o.top=Qn(r.y),o}_getExactOverlayX(n,e,i){let s,o={left:"",right:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),s=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===s?o.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":o.left=Qn(r.x),o}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:MT(n,i),isOriginOutsideView:Bb(n,i),isOverlayClipped:MT(e,i),isOverlayOutsideView:Bb(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,o)=>i-Math.max(o,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Ah(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof He)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function ga(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function TT(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(m7);return e&&"px"!==e?null:parseFloat(n)}return t||null}function kT(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const ET="cdk-global-overlay-wrapper";class _7{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(ET),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._rightOffset="",this._leftOffset=n,this._justifyContent="flex-start",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._leftOffset="",this._rightOffset=n,this._justifyContent="flex-end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._justifyContent="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:r,maxWidth:s,maxHeight:a}=i,l=!("100%"!==o&&"100vw"!==o||s&&"100%"!==s&&"100vw"!==s),u=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a);n.position=this._cssPosition,n.marginLeft=l?"0":this._leftOffset,n.marginTop=u?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=this._rightOffset,l?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=u?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(ET),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let b7=(()=>{class t{constructor(e,i,o,r){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=r}global(){return new _7}flexibleConnectedTo(e){return new g7(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Q(yr),Q(ht),Q(dn),Q(Vb))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),IT=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),v7=(()=>{class t extends IT{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=o=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){const a=r[s]._keydownEvents;this._ngZone?this._ngZone.run(()=>a.next(o)):a.next(o);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(Je,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),y7=(()=>{class t extends IT{constructor(e,i,o){super(e),this._platform=i,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=r=>{this._pointerDownEventTarget=Cs(r)},this._clickListener=r=>{const s=Cs(r),a="click"===r.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:s;this._pointerDownEventTarget=null;const l=this._attachedOverlays.slice();for(let u=l.length-1;u>-1;u--){const p=l[u];if(p._outsidePointerEvents.observers.length<1||!p.hasAttached())continue;if(p.overlayElement.contains(s)||p.overlayElement.contains(a))break;const g=p._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>g.next(r)):g.next(r)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(dn),Q(Je,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),C7=0,Zi=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=o,this._positionBuilder=r,this._keyboardDispatcher=s,this._injector=a,this._ngZone=l,this._document=u,this._directionality=p,this._location=g,this._outsideClickDispatcher=v}create(e){const i=this._createHostElement(),o=this._createPaneElement(i),r=this._createPortalOutlet(o),s=new Al(e);return s.direction=s.direction||this._directionality.value,new f7(r,i,o,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+C7++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(zu)),new s7(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Q(h7),Q(Vb),Q(gs),Q(b7),Q(v7),Q(pn),Q(Je),Q(ht),Q(ai),Q(zc),Q(y7))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const w7=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],OT=new _e("cdk-connected-overlay-scroll-strategy");let AT=(()=>{class t{constructor(e){this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(_(He))},t.\u0275dir=oe({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),PT=(()=>{class t{constructor(e,i,o,r,s){this._overlay=e,this._dir=s,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=k.EMPTY,this._attachSubscription=k.EMPTY,this._detachSubscription=k.EMPTY,this._positionSubscription=k.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Ae,this.positionChange=new Ae,this.attach=new Ae,this.detach=new Ae,this.overlayKeydown=new Ae,this.overlayOutsideClick=new Ae,this._templatePortal=new Wr(i,o),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=Xe(e)}get lockPosition(){return this._lockPosition}set lockPosition(e){this._lockPosition=Xe(e)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(e){this._flexibleDimensions=Xe(e)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(e){this._growAfterOpen=Xe(e)}get push(){return this._push}set push(e){this._push=Xe(e)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=w7);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!fi(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new Al({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(e),e}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof AT?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function l7(t,n=!1){return nt((e,i)=>{let o=0;e.subscribe(st(i,r=>{const s=t(r,o++);(s||n)&&i.next(r),!s&&i.complete()}))})}(()=>this.positionChange.observers.length>0)).subscribe(e=>{this.positionChange.emit(e),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(_(Zi),_(rn),_(sn),_(OT),_(ai,8))},t.\u0275dir=oe({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[nn]}),t})();const S7={provide:OT,deps:[Zi],useFactory:function D7(t){return()=>t.scrollStrategies.reposition()}};let Pl=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[Zi,S7],imports:[[Yc,Cd,Nb],Nb]}),t})();function wd(t){return new Ue(n=>{yi(t()).subscribe(n)})}function Li(t,n){return nt((e,i)=>{let o=null,r=0,s=!1;const a=()=>s&&!o&&i.complete();e.subscribe(st(i,l=>{null==o||o.unsubscribe();let u=0;const p=r++;yi(t(l,p)).subscribe(o=st(i,g=>i.next(n?n(l,g,p,u++):g),()=>{o=null,a()}))},()=>{s=!0,a()}))})}const M7=["trigger"],x7=["panel"];function T7(t,n){if(1&t&&(d(0,"span",8),h(1),c()),2&t){const e=D();f(1),Pe(e.placeholder)}}function k7(t,n){if(1&t&&(d(0,"span",12),h(1),c()),2&t){const e=D(2);f(1),Pe(e.triggerValue)}}function E7(t,n){1&t&&ct(0,0,["*ngSwitchCase","true"])}function I7(t,n){1&t&&(d(0,"span",9),b(1,k7,2,1,"span",10),b(2,E7,1,0,"ng-content",11),c()),2&t&&(m("ngSwitch",!!D().customTrigger),f(2),m("ngSwitchCase",!0))}function O7(t,n){if(1&t){const e=pe();d(0,"div",13)(1,"div",14,15),N("@transformPanel.done",function(o){return se(e),D()._panelDoneAnimatingStream.next(o.toState)})("keydown",function(o){return se(e),D()._handleKeydown(o)}),ct(3,1),c()()}if(2&t){const e=D();m("@transformPanelWrap",void 0),f(1),N1("mat-select-panel ",e._getPanelTheme(),""),pi("transform-origin",e._transformOrigin)("font-size",e._triggerFontSize,"px"),m("ngClass",e.panelClass)("@transformPanel",e.multiple?"showing-multiple":"showing"),et("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}const A7=[[["mat-select-trigger"]],"*"],P7=["mat-select-trigger","*"],RT={transformPanelWrap:Io("transformPanelWrap",[Kn("* => void",e_("@transformPanel",[Jg()],{optional:!0}))]),transformPanel:Io("transformPanel",[jn("void",Vt({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),jn("showing",Vt({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),jn("showing-multiple",Vt({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Kn("void => *",si("120ms cubic-bezier(0, 0, 0.2, 1)")),Kn("* => void",si("100ms 25ms linear",Vt({opacity:0})))])};let FT=0;const LT=new _e("mat-select-scroll-strategy"),L7=new _e("MAT_SELECT_CONFIG"),B7={provide:LT,deps:[Zi],useFactory:function N7(t){return()=>t.scrollStrategies.reposition()}};class V7{constructor(n,e){this.source=n,this.value=e}}const j7=vr(Ml(ua(z_(class{constructor(t,n,e,i,o){this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=i,this.ngControl=o}})))),H7=new _e("MatSelectTrigger");let U7=(()=>{class t extends j7{constructor(e,i,o,r,s,a,l,u,p,g,v,C,M,V){var K,Y,ee;super(s,r,l,u,g),this._viewportRuler=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=a,this._parentFormField=p,this._liveAnnouncer=M,this._defaultOptions=V,this._panelOpen=!1,this._compareWith=(ke,Ze)=>ke===Ze,this._uid="mat-select-"+FT++,this._triggerAriaLabelledBy=null,this._destroy=new ie,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+FT++,this._panelDoneAnimatingStream=new ie,this._overlayPanelClass=(null===(K=this._defaultOptions)||void 0===K?void 0:K.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._multiple=!1,this._disableOptionCentering=null!==(ee=null===(Y=this._defaultOptions)||void 0===Y?void 0:Y.disableOptionCentering)&&void 0!==ee&&ee,this.ariaLabel="",this.optionSelectionChanges=wd(()=>{const ke=this.options;return ke?ke.changes.pipe(Nn(ke),Li(()=>Tn(...ke.map(Ze=>Ze.onSelectionChange)))):this._ngZone.onStable.pipe(Ot(1),Li(()=>this.optionSelectionChanges))}),this.openedChange=new Ae,this._openedStream=this.openedChange.pipe(It(ke=>ke),je(()=>{})),this._closedStream=this.openedChange.pipe(It(ke=>!ke),je(()=>{})),this.selectionChange=new Ae,this.valueChange=new Ae,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==V?void 0:V.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=V.typeaheadDebounceInterval),this._scrollStrategyFactory=C,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(v)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get required(){var e,i,o,r;return null!==(r=null!==(e=this._required)&&void 0!==e?e:null===(o=null===(i=this.ngControl)||void 0===i?void 0:i.control)||void 0===o?void 0:o.hasValidator(de.required))&&void 0!==r&&r}set required(e){this._required=Xe(e),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(e){this._multiple=Xe(e)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(e){this._disableOptionCentering=Xe(e)}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(e){this._typeaheadDebounceInterval=Zn(e)}get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Tl(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(nd(),tt(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(tt(this._destroy)).subscribe(e=>{e.added.forEach(i=>i.select()),e.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Nn(null),tt(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const e=this._getTriggerAriaLabelledby(),i=this.ngControl;if(e!==this._triggerAriaLabelledBy){const o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?o.setAttribute("aria-labelledby",e):o.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(void 0!==this._previousControl&&null!==i.disabled&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(e){e.disabled&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){var e,i;return this.multiple?(null===(e=this._selectionModel)||void 0===e?void 0:e.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const e=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){const i=e.keyCode,o=40===i||38===i||37===i||39===i,r=13===i||32===i,s=this._keyManager;if(!s.isTyping()&&r&&!fi(e)||(this.multiple||e.altKey)&&o)e.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;s.onKeydown(e);const l=this.selected;l&&a!==l&&this._liveAnnouncer.announce(l.viewValue,1e4)}}_handleOpenKeydown(e){const i=this._keyManager,o=e.keyCode,r=40===o||38===o,s=i.isTyping();if(r&&e.altKey)e.preventDefault(),this.close();else if(s||13!==o&&32!==o||!i.activeItem||fi(e))if(!s&&this._multiple&&65===o&&e.ctrlKey){e.preventDefault();const a=this.options.some(l=>!l.disabled&&!l.selected);this.options.forEach(l=>{l.disabled||(a?l.select():l.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(e),this._multiple&&r&&e.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else e.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(Ot(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this._selectionModel.selected.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{const i=this._selectOptionByValue(e);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){const i=this.options.find(o=>{if(this._selectionModel.isSelected(o))return!1;try{return null!=o.value&&this._compareWith(o.value,e)}catch(r){return!1}});return i&&this._selectionModel.select(i),i}_assignValue(e){return!!(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e,!0)}_initKeyManager(){this._keyManager=new gM(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(tt(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(tt(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const e=Tn(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(tt(e)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Tn(...this.options.map(i=>i._stateChanges)).pipe(tt(e)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(e,i){const o=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(o!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),i&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),i&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),o!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const e=this.options.toArray();this._selectionModel.sort((i,o)=>this.sortComparator?this.sortComparator(i,o,e):e.indexOf(i)-e.indexOf(o)),this.stateChanges.next()}}_propagateChanges(e){let i=null;i=this.multiple?this.selected.map(o=>o.value):this.selected?this.selected.value:e,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var e;return!this._panelOpen&&!this.disabled&&(null===(e=this.options)||void 0===e?void 0:e.length)>0}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){var e;if(this.ariaLabel)return null;const i=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();return this.ariaLabelledby?(i?i+" ":"")+this.ariaLabelledby:i}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var e;if(this.ariaLabel)return null;const i=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();let o=(i?i+" ":"")+this._valueId;return this.ariaLabelledby&&(o+=" "+this.ariaLabelledby),o}_panelDoneAnimating(e){this.openedChange.emit(e)}setDescribedByIds(e){this._ariaDescribedby=e.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(_(yr),_(At),_(Je),_(od),_(He),_(ai,8),_(xs,8),_(Sn,8),_(ip,8),_(or,10),Di("tabindex"),_(LT),_(H_),_(L7,8))},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&(Tt(M7,5),Tt(x7,5),Tt(PT,5)),2&e){let o;Fe(o=Ne())&&(i.trigger=o.first),Fe(o=Ne())&&(i.panel=o.first),Fe(o=Ne())&&(i._overlayDir=o.first)}},inputs:{panelClass:"panelClass",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:"typeaheadDebounceInterval",sortComparator:"sortComparator",id:"id"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[Ce,nn]}),t})(),Qi=(()=>{class t extends U7{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(e,i,o){const r=this._getItemHeight();return Math.min(Math.max(0,r*e-i+r/2),o)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(tt(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(e){const i=K_(e,this.options,this.optionGroups),o=this._getItemHeight();this.panel.nativeElement.scrollTop=0===e&&1===i?0:RM((e+i)*o,o,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(e){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(e)}_getChangeEvent(e){return new V7(this,e)}_calculateOverlayOffsetX(){const e=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),i=this._viewportRuler.getViewportSize(),o=this._isRtl(),r=this.multiple?56:32;let s;if(this.multiple)s=40;else if(this.disableOptionCentering)s=16;else{let u=this._selectionModel.selected[0]||this.options.first;s=u&&u.group?32:16}o||(s*=-1);const a=0-(e.left+s-(o?r:0)),l=e.right+s-i.width+(o?0:r);a>0?s+=a+8:l>0&&(s-=l+8),this._overlayDir.offsetX=Math.round(s),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(e,i,o){const r=this._getItemHeight(),s=(r-this._triggerRect.height)/2,a=Math.floor(256/r);let l;return this.disableOptionCentering?0:(l=0===this._scrollTop?e*r:this._scrollTop===o?(e-(this._getItemCount()-a))*r+(r-(this._getItemCount()*r-256)%r):i-r/2,Math.round(-1*l-s))}_checkOverlayWithinViewport(e){const i=this._getItemHeight(),o=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,s=o.height-this._triggerRect.bottom-8,a=Math.abs(this._offsetY),u=Math.min(this._getItemCount()*i,256)-a-this._triggerRect.height;u>s?this._adjustPanelUp(u,s):a>r?this._adjustPanelDown(a,r,e):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(e,i){const o=Math.round(e-i);this._scrollTop-=o,this._offsetY-=o,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(e,i,o){const r=Math.round(e-i);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=o)return this._scrollTop=o,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const e=this._getItemHeight(),i=this._getItemCount(),o=Math.min(i*e,256),s=i*e-o;let a;a=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),a+=K_(a,this.options,this.optionGroups);const l=o/2;this._scrollTop=this._calculateOverlayScroll(a,l,s),this._offsetY=this._calculateOverlayOffsetY(a,l,s),this._checkOverlayWithinViewport(s)}_getOriginBasedOnOption(){const e=this._getItemHeight(),i=(e-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-i+e/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-select"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,H7,5),mt(o,_i,5),mt(o,q_,5)),2&e){let r;Fe(r=Ne())&&(i.customTrigger=r.first),Fe(r=Ne())&&(i.options=r),Fe(r=Ne())&&(i.optionGroups=r)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(e,i){1&e&&N("keydown",function(r){return i._handleKeydown(r)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&e&&(et("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-describedby",i._ariaDescribedby||null)("aria-activedescendant",i._getAriaActiveDescendant()),rt("mat-select-disabled",i.disabled)("mat-select-invalid",i.errorState)("mat-select-required",i.required)("mat-select-empty",i.empty)("mat-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[ze([{provide:gd,useExisting:t},{provide:W_,useExisting:t}]),Ce],ngContentSelectors:P7,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,i){if(1&e&&(Jt(A7),d(0,"div",0,1),N("click",function(){return i.toggle()}),d(3,"div",2),b(4,T7,2,1,"span",3),b(5,I7,3,2,"span",4),c(),d(6,"div",5),E(7,"div",6),c()(),b(8,O7,4,14,"ng-template",7),N("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&e){const o=$t(1);et("aria-owns",i.panelOpen?i.id+"-panel":null),f(3),m("ngSwitch",i.empty),et("id",i._valueId),f(1),m("ngSwitchCase",!0),f(1),m("ngSwitchCase",!1),f(3),m("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",o)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayMinWidth",null==i._triggerRect?null:i._triggerRect.width)("cdkConnectedOverlayOffsetY",i._offsetY)}},directives:[AT,vl,nh,KD,PT,tr],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{height:16px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-form-field.mat-focused .mat-select-arrow{transform:translateX(0)}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}\n'],encapsulation:2,data:{animation:[RT.transformPanelWrap,RT.transformPanel]},changeDetection:0}),t})(),BT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[B7],imports:[[Wi,Pl,Bh,ft],ks,_d,Bh,ft]}),t})();function jb(t){return je(()=>t)}function VT(t,n){return n?e=>id(n.pipe(Ot(1),function z7(){return nt((t,n)=>{t.subscribe(st(n,S))})}()),e.pipe(VT(t))):$n((e,i)=>yi(t(e,i)).pipe(Ot(1),jb(e)))}function Hb(t,n=td){const e=op(t,n);return VT(()=>e)}const $7=["mat-menu-item",""];function G7(t,n){1&t&&(hn(),d(0,"svg",2),E(1,"polygon",3),c())}const jT=["*"];function W7(t,n){if(1&t){const e=pe();d(0,"div",0),N("keydown",function(o){return se(e),D()._handleKeydown(o)})("click",function(){return se(e),D().closed.emit("click")})("@transformMenu.start",function(o){return se(e),D()._onAnimationStart(o)})("@transformMenu.done",function(o){return se(e),D()._onAnimationDone(o)}),d(1,"div",1),ct(2),c()()}if(2&t){const e=D();m("id",e.panelId)("ngClass",e._classList)("@transformMenu",e._panelAnimationState),et("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}const cp={transformMenu:Io("transformMenu",[jn("void",Vt({opacity:0,transform:"scale(0.8)"})),Kn("void => enter",si("120ms cubic-bezier(0, 0, 0.2, 1)",Vt({opacity:1,transform:"scale(1)"}))),Kn("* => void",si("100ms 25ms linear",Vt({opacity:0})))]),fadeInItems:Io("fadeInItems",[jn("showing",Vt({opacity:1})),Kn("void => *",[Vt({opacity:0}),si("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},q7=new _e("MatMenuContent"),Ub=new _e("MAT_MENU_PANEL"),K7=vr(ua(class{}));let qr=(()=>{class t extends K7{constructor(e,i,o,r,s){var a;super(),this._elementRef=e,this._document=i,this._focusMonitor=o,this._parentMenu=r,this._changeDetectorRef=s,this.role="menuitem",this._hovered=new ie,this._focused=new ie,this._highlighted=!1,this._triggersSubmenu=!1,null===(a=null==r?void 0:r.addItem)||void 0===a||a.call(r,this)}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){var e;const i=this._elementRef.nativeElement.cloneNode(!0),o=i.querySelectorAll("mat-icon, .material-icons");for(let r=0;r{class t{constructor(e,i,o,r){this._elementRef=e,this._ngZone=i,this._defaultOptions=o,this._changeDetectorRef=r,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._directDescendantItems=new _s,this._tabSubscription=k.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new ie,this.overlayPanelClass=this._defaultOptions.overlayPanelClass||"",this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new Ae,this.close=this.closed,this.panelId="mat-menu-panel-"+Q7++}get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(e){this._overlapTrigger=Xe(e)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=Xe(e)}set panelClass(e){const i=this._previousPanelClass;i&&i.length&&i.split(" ").forEach(o=>{this._classList[o]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(o=>{this._classList[o]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(e){this.panelClass=e}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new Nh(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(Nn(this._directDescendantItems),Li(e=>Tn(...e.map(i=>i._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{var i;const o=this._keyManager;if("enter"===this._panelAnimationState&&(null===(i=o.activeItem)||void 0===i?void 0:i._hasFocus())){const r=e.toArray(),s=Math.max(0,Math.min(r.length-1,o.activeItemIndex||0));r[s]&&!r[s].disabled?o.setActiveItem(s):o.setNextItemActive()}})}ngOnDestroy(){this._directDescendantItems.destroy(),this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._directDescendantItems.changes.pipe(Nn(this._directDescendantItems),Li(i=>Tn(...i.map(o=>o._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){const i=e.keyCode,o=this._keyManager;switch(i){case 27:fi(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(38===i||40===i)&&o.setFocusOrigin("keyboard"),void o.onKeydown(e)}e.stopPropagation()}focusFirstItem(e="program"){this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{let i=null;if(this._directDescendantItems.length&&(i=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!i||!i.contains(document.activeElement)){const o=this._keyManager;o.setFocusOrigin(e).setFirstItemActive(),!o.activeItem&&i&&i.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){const i=Math.min(this._baseElevation+e,24),o=`${this._elevationPrefix}${i}`,r=Object.keys(this._classList).find(s=>s.startsWith(this._elevationPrefix));(!r||r===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[o]=!0,this._previousElevation=o)}setPositionClasses(e=this.xPosition,i=this.yPosition){var o;const r=this._classList;r["mat-menu-before"]="before"===e,r["mat-menu-after"]="after"===e,r["mat-menu-above"]="above"===i,r["mat-menu-below"]="below"===i,null===(o=this._changeDetectorRef)||void 0===o||o.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(e){this._animationDone.next(e),this._isAnimating=!1}_onAnimationStart(e){this._isAnimating=!0,"enter"===e.toState&&0===this._keyManager.activeItemIndex&&(e.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(Nn(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Je),_(HT),_(At))},t.\u0275dir=oe({type:t,contentQueries:function(e,i,o){if(1&e&&(mt(o,q7,5),mt(o,qr,5),mt(o,qr,4)),2&e){let r;Fe(r=Ne())&&(i.lazyContent=r.first),Fe(r=Ne())&&(i._allItems=r),Fe(r=Ne())&&(i.items=r)}},viewQuery:function(e,i){if(1&e&&Tt(rn,5),2&e){let o;Fe(o=Ne())&&(i.templateRef=o.first)}},inputs:{backdropClass:"backdropClass",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"}}),t})(),Fl=(()=>{class t extends Sd{constructor(e,i,o,r){super(e,i,o,r),this._elevationPrefix="mat-elevation-z",this._baseElevation=4}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Je),_(HT),_(At))},t.\u0275cmp=Oe({type:t,selectors:[["mat-menu"]],hostVars:3,hostBindings:function(e,i){2&e&&et("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[ze([{provide:Ub,useExisting:t}]),Ce],ngContentSelectors:jT,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-menu-panel",3,"id","ngClass","keydown","click"],[1,"mat-menu-content"]],template:function(e,i){1&e&&(Jt(),b(0,W7,3,6,"ng-template"))},directives:[tr],styles:['mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]::before{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n'],encapsulation:2,data:{animation:[cp.transformMenu,cp.fadeInItems]},changeDetection:0}),t})();const UT=new _e("mat-menu-scroll-strategy"),X7={provide:UT,deps:[Zi],useFactory:function Y7(t){return()=>t.scrollStrategies.reposition()}},$T=aa({passive:!0});let J7=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p){this._overlay=e,this._element=i,this._viewContainerRef=o,this._menuItemInstance=a,this._dir=l,this._focusMonitor=u,this._ngZone=p,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=k.EMPTY,this._hoverSubscription=k.EMPTY,this._menuCloseSubscription=k.EMPTY,this._handleTouchStart=g=>{j_(g)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new Ae,this.onMenuOpen=this.menuOpened,this.menuClosed=new Ae,this.onMenuClose=this.menuClosed,this._scrollStrategy=r,this._parentMaterialMenu=s instanceof Sd?s:void 0,i.nativeElement.addEventListener("touchstart",this._handleTouchStart,$T),a&&(a._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){e!==this._menu&&(this._menu=e,this._menuCloseSubscription.unsubscribe(),e&&(this._menuCloseSubscription=e.close.subscribe(i=>{this._destroyMenu(i),("click"===i||"tab"===i)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})))}ngAfterContentInit(){this._checkMenu(),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,$T),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMaterialMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;this._checkMenu();const e=this._createOverlay(),i=e.getConfig(),o=i.positionStrategy;this._setPosition(o),i.hasBackdrop=null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,e.attach(this._getPortal()),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof Sd&&(this.menu._startAnimation(),this.menu._directDescendantItems.changes.pipe(tt(this.menu.close)).subscribe(()=>{o.withLockedPosition(!1).reapplyLastPosition(),o.withLockedPosition(!0)}))}closeMenu(){this.menu.close.emit()}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}updatePosition(){var e;null===(e=this._overlayRef)||void 0===e||e.updatePosition()}_destroyMenu(e){if(!this._overlayRef||!this.menuOpen)return;const i=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===e||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,i instanceof Sd?(i._resetAnimation(),i.lazyContent?i._animationDone.pipe(It(o=>"void"===o.toState),Ot(1),tt(i.lazyContent._attached)).subscribe({next:()=>i.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),i.lazyContent&&i.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this.menu.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(){if(this.menu.setElevation){let e=0,i=this.menu.parentMenu;for(;i;)e++,i=i.parentMenu;this.menu.setElevation(e)}}_setIsMenuOpen(e){this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(e)}_checkMenu(){}_createOverlay(){if(!this._overlayRef){const e=this._getOverlayConfig();this._subscribeToPositions(e.positionStrategy),this._overlayRef=this._overlay.create(e),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(){return new Al({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:this.menu.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(e){this.menu.setPositionClasses&&e.positionChanges.subscribe(i=>{const o="start"===i.connectionPair.overlayX?"after":"before",r="top"===i.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>this.menu.setPositionClasses(o,r)):this.menu.setPositionClasses(o,r)})}_setPosition(e){let[i,o]="before"===this.menu.xPosition?["end","start"]:["start","end"],[r,s]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[a,l]=[r,s],[u,p]=[i,o],g=0;this.triggersSubmenu()?(p=i="before"===this.menu.xPosition?"start":"end",o=u="end"===i?"start":"end",g="bottom"===r?8:-8):this.menu.overlapTrigger||(a="top"===r?"bottom":"top",l="top"===s?"bottom":"top"),e.withPositions([{originX:i,originY:a,overlayX:u,overlayY:r,offsetY:g},{originX:o,originY:a,overlayX:p,overlayY:r,offsetY:g},{originX:i,originY:l,overlayX:u,overlayY:s,offsetY:-g},{originX:o,originY:l,overlayX:p,overlayY:s,offsetY:-g}])}_menuClosingActions(){const e=this._overlayRef.backdropClick(),i=this._overlayRef.detachments();return Tn(e,this._parentMaterialMenu?this._parentMaterialMenu.closed:We(),this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(It(s=>s!==this._menuItemInstance),It(()=>this._menuOpen)):We(),i)}_handleMousedown(e){V_(e)||(this._openedBy=0===e.button?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){const i=e.keyCode;(13===i||32===i)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(39===i&&"ltr"===this.dir||37===i&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(It(e=>e===this._menuItemInstance&&!e.disabled),Hb(0,Fb)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof Sd&&this.menu._isAnimating?this.menu._animationDone.pipe(Ot(1),Hb(0,Fb),tt(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(){return(!this._portal||this._portal.templateRef!==this.menu.templateRef)&&(this._portal=new Wr(this.menu.templateRef,this._viewContainerRef)),this._portal}}return t.\u0275fac=function(e){return new(e||t)(_(Zi),_(He),_(sn),_(UT),_(Ub,8),_(qr,10),_(ai,8),_(Po),_(Je))},t.\u0275dir=oe({type:t,hostAttrs:["aria-haspopup","true"],hostVars:2,hostBindings:function(e,i){1&e&&N("click",function(r){return i._handleClick(r)})("mousedown",function(r){return i._handleMousedown(r)})("keydown",function(r){return i._handleKeydown(r)}),2&e&&et("aria-expanded",i.menuOpen||null)("aria-controls",i.menuOpen?i.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"],restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"}}),t})(),Nl=(()=>{class t extends J7{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-menu-trigger"],exportAs:["matMenuTrigger"],features:[Ce]}),t})(),GT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[X7],imports:[[Wi,ft,ha,Pl],ks,ft]}),t})();const eH=[[["caption"]],[["colgroup"],["col"]]],tH=["caption","colgroup, col"];function $b(t){return class extends t{constructor(...n){super(...n),this._sticky=!1,this._hasStickyChanged=!1}get sticky(){return this._sticky}set sticky(n){const e=this._sticky;this._sticky=Xe(n),this._hasStickyChanged=e!==this._sticky}hasStickyChanged(){const n=this._hasStickyChanged;return this._hasStickyChanged=!1,n}resetStickyChanged(){this._hasStickyChanged=!1}}}const Ll=new _e("CDK_TABLE");let Bl=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(_(rn))},t.\u0275dir=oe({type:t,selectors:[["","cdkCellDef",""]]}),t})(),Vl=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(_(rn))},t.\u0275dir=oe({type:t,selectors:[["","cdkHeaderCellDef",""]]}),t})(),dp=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(_(rn))},t.\u0275dir=oe({type:t,selectors:[["","cdkFooterCellDef",""]]}),t})();class rH{}const sH=$b(rH);let Kr=(()=>{class t extends sH{constructor(e){super(),this._table=e,this._stickyEnd=!1}get name(){return this._name}set name(e){this._setNameInput(e)}get stickyEnd(){return this._stickyEnd}set stickyEnd(e){const i=this._stickyEnd;this._stickyEnd=Xe(e),this._hasStickyChanged=i!==this._stickyEnd}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(e){e&&(this._name=e,this.cssClassFriendlyName=e.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}}return t.\u0275fac=function(e){return new(e||t)(_(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkColumnDef",""]],contentQueries:function(e,i,o){if(1&e&&(mt(o,Bl,5),mt(o,Vl,5),mt(o,dp,5)),2&e){let r;Fe(r=Ne())&&(i.cell=r.first),Fe(r=Ne())&&(i.headerCell=r.first),Fe(r=Ne())&&(i.footerCell=r.first)}},inputs:{sticky:"sticky",name:["cdkColumnDef","name"],stickyEnd:"stickyEnd"},features:[ze([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),Ce]}),t})();class Gb{constructor(n,e){e.nativeElement.classList.add(...n._columnCssClassName)}}let Wb=(()=>{class t extends Gb{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(_(Kr),_(He))},t.\u0275dir=oe({type:t,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[Ce]}),t})(),qb=(()=>{class t extends Gb{constructor(e,i){var o;if(super(e,i),1===(null===(o=e._table)||void 0===o?void 0:o._elementRef.nativeElement.nodeType)){const r=e._table._elementRef.nativeElement.getAttribute("role");i.nativeElement.setAttribute("role","grid"===r||"treegrid"===r?"gridcell":"cell")}}}return t.\u0275fac=function(e){return new(e||t)(_(Kr),_(He))},t.\u0275dir=oe({type:t,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[Ce]}),t})();class qT{constructor(){this.tasks=[],this.endTasks=[]}}const Kb=new _e("_COALESCED_STYLE_SCHEDULER");let KT=(()=>{class t{constructor(e){this._ngZone=e,this._currentSchedule=null,this._destroyed=new ie}schedule(e){this._createScheduleIfNeeded(),this._currentSchedule.tasks.push(e)}scheduleEnd(e){this._createScheduleIfNeeded(),this._currentSchedule.endTasks.push(e)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_createScheduleIfNeeded(){this._currentSchedule||(this._currentSchedule=new qT,this._getScheduleObservable().pipe(tt(this._destroyed)).subscribe(()=>{for(;this._currentSchedule.tasks.length||this._currentSchedule.endTasks.length;){const e=this._currentSchedule;this._currentSchedule=new qT;for(const i of e.tasks)i();for(const i of e.endTasks)i()}this._currentSchedule=null}))}_getScheduleObservable(){return this._ngZone.isStable?ui(Promise.resolve(void 0)):this._ngZone.onStable.pipe(Ot(1))}}return t.\u0275fac=function(e){return new(e||t)(Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),Zb=(()=>{class t{constructor(e,i){this.template=e,this._differs=i}ngOnChanges(e){if(!this._columnsDiffer){const i=e.columns&&e.columns.currentValue||[];this._columnsDiffer=this._differs.find(i).create(),this._columnsDiffer.diff(i)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(e){return this instanceof Md?e.headerCell.template:this instanceof xd?e.footerCell.template:e.cell.template}}return t.\u0275fac=function(e){return new(e||t)(_(rn),_(To))},t.\u0275dir=oe({type:t,features:[nn]}),t})();class aH extends Zb{}const lH=$b(aH);let Md=(()=>{class t extends lH{constructor(e,i,o){super(e,i),this._table=o}ngOnChanges(e){super.ngOnChanges(e)}}return t.\u0275fac=function(e){return new(e||t)(_(rn),_(To),_(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:["cdkHeaderRowDef","columns"],sticky:["cdkHeaderRowDefSticky","sticky"]},features:[Ce,nn]}),t})();class cH extends Zb{}const dH=$b(cH);let xd=(()=>{class t extends dH{constructor(e,i,o){super(e,i),this._table=o}ngOnChanges(e){super.ngOnChanges(e)}}return t.\u0275fac=function(e){return new(e||t)(_(rn),_(To),_(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:["cdkFooterRowDef","columns"],sticky:["cdkFooterRowDefSticky","sticky"]},features:[Ce,nn]}),t})(),up=(()=>{class t extends Zb{constructor(e,i,o){super(e,i),this._table=o}}return t.\u0275fac=function(e){return new(e||t)(_(rn),_(To),_(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkRowDef",""]],inputs:{columns:["cdkRowDefColumns","columns"],when:["cdkRowDefWhen","when"]},features:[Ce]}),t})(),Zr=(()=>{class t{constructor(e){this._viewContainer=e,t.mostRecentCellOutlet=this}ngOnDestroy(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)}}return t.mostRecentCellOutlet=null,t.\u0275fac=function(e){return new(e||t)(_(sn))},t.\u0275dir=oe({type:t,selectors:[["","cdkCellOutlet",""]]}),t})(),Qb=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Oe({type:t,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&xo(0,0)},directives:[Zr],encapsulation:2}),t})(),Xb=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Oe({type:t,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&xo(0,0)},directives:[Zr],encapsulation:2}),t})(),hp=(()=>{class t{constructor(e){this.templateRef=e,this._contentClassName="cdk-no-data-row"}}return t.\u0275fac=function(e){return new(e||t)(_(rn))},t.\u0275dir=oe({type:t,selectors:[["ng-template","cdkNoDataRow",""]]}),t})();const ZT=["top","bottom","left","right"];class uH{constructor(n,e,i,o,r=!0,s=!0,a){this._isNativeHtmlTable=n,this._stickCellCss=e,this.direction=i,this._coalescedStyleScheduler=o,this._isBrowser=r,this._needsPositionStickyOnElement=s,this._positionListener=a,this._cachedCellWidths=[],this._borderCellCss={top:`${e}-border-elem-top`,bottom:`${e}-border-elem-bottom`,left:`${e}-border-elem-left`,right:`${e}-border-elem-right`}}clearStickyPositioning(n,e){const i=[];for(const o of n)if(o.nodeType===o.ELEMENT_NODE){i.push(o);for(let r=0;r{for(const o of i)this._removeStickyStyle(o,e)})}updateStickyColumns(n,e,i,o=!0){if(!n.length||!this._isBrowser||!e.some(v=>v)&&!i.some(v=>v))return void(this._positionListener&&(this._positionListener.stickyColumnsUpdated({sizes:[]}),this._positionListener.stickyEndColumnsUpdated({sizes:[]})));const r=n[0],s=r.children.length,a=this._getCellWidths(r,o),l=this._getStickyStartColumnPositions(a,e),u=this._getStickyEndColumnPositions(a,i),p=e.lastIndexOf(!0),g=i.indexOf(!0);this._coalescedStyleScheduler.schedule(()=>{const v="rtl"===this.direction,C=v?"right":"left",M=v?"left":"right";for(const V of n)for(let K=0;Ke[K]?V:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:-1===g?[]:a.slice(g).map((V,K)=>i[K+g]?V:null).reverse()}))})}stickRows(n,e,i){if(!this._isBrowser)return;const o="bottom"===i?n.slice().reverse():n,r="bottom"===i?e.slice().reverse():e,s=[],a=[],l=[];for(let p=0,g=0;p{var p,g;for(let v=0;v{e.some(o=>!o)?this._removeStickyStyle(i,["bottom"]):this._addStickyStyle(i,"bottom",0,!1)})}_removeStickyStyle(n,e){for(const o of e)n.style[o]="",n.classList.remove(this._borderCellCss[o]);ZT.some(o=>-1===e.indexOf(o)&&n.style[o])?n.style.zIndex=this._getCalculatedZIndex(n):(n.style.zIndex="",this._needsPositionStickyOnElement&&(n.style.position=""),n.classList.remove(this._stickCellCss))}_addStickyStyle(n,e,i,o){n.classList.add(this._stickCellCss),o&&n.classList.add(this._borderCellCss[e]),n.style[e]=`${i}px`,n.style.zIndex=this._getCalculatedZIndex(n),this._needsPositionStickyOnElement&&(n.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(n){const e={top:100,bottom:10,left:1,right:1};let i=0;for(const o of ZT)n.style[o]&&(i+=e[o]);return i?`${i}`:""}_getCellWidths(n,e=!0){if(!e&&this._cachedCellWidths.length)return this._cachedCellWidths;const i=[],o=n.children;for(let r=0;r0;r--)e[r]&&(i[r]=o,o+=n[r]);return i}}const Jb=new _e("CDK_SPL");let pp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(He))},t.\u0275dir=oe({type:t,selectors:[["","rowOutlet",""]]}),t})(),fp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(He))},t.\u0275dir=oe({type:t,selectors:[["","headerRowOutlet",""]]}),t})(),mp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(He))},t.\u0275dir=oe({type:t,selectors:[["","footerRowOutlet",""]]}),t})(),gp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(He))},t.\u0275dir=oe({type:t,selectors:[["","noDataRowOutlet",""]]}),t})(),_p=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v,C){this._differs=e,this._changeDetectorRef=i,this._elementRef=o,this._dir=s,this._platform=l,this._viewRepeater=u,this._coalescedStyleScheduler=p,this._viewportRuler=g,this._stickyPositioningListener=v,this._ngZone=C,this._onDestroy=new ie,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._stickyColumnStylesNeedReset=!0,this._forceRecalculateCellWidths=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this.needsPositionStickyOnElement=!0,this._isShowingNoDataRow=!1,this._multiTemplateDataRows=!1,this._fixedLayout=!1,this.contentChanged=new Ae,this.viewChange=new vt({start:0,end:Number.MAX_VALUE}),r||this._elementRef.nativeElement.setAttribute("role","table"),this._document=a,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}get trackBy(){return this._trackByFn}set trackBy(e){this._trackByFn=e}get dataSource(){return this._dataSource}set dataSource(e){this._dataSource!==e&&this._switchDataSource(e)}get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(e){this._multiTemplateDataRows=Xe(e),this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}get fixedLayout(){return this._fixedLayout}set fixedLayout(e){this._fixedLayout=Xe(e),this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}ngOnInit(){this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create((e,i)=>this.trackBy?this.trackBy(i.dataIndex,i.data):i),this._viewportRuler.change().pipe(tt(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentChecked(){this._cacheRowDefs(),this._cacheColumnDefs();const i=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||i,this._forceRecalculateCellWidths=i,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}ngOnDestroy(){[this._rowOutlet.viewContainer,this._headerRowOutlet.viewContainer,this._footerRowOutlet.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(e=>{e.clear()}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._onDestroy.next(),this._onDestroy.complete(),Gh(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();const e=this._dataDiffer.diff(this._renderRows);if(!e)return this._updateNoDataRow(),void this.contentChanged.next();const i=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(e,i,(o,r,s)=>this._getEmbeddedViewArgs(o.item,s),o=>o.item.data,o=>{1===o.operation&&o.context&&this._renderCellTemplateForItem(o.record.item.rowDef,o.context)}),this._updateRowIndexContext(),e.forEachIdentityChange(o=>{i.get(o.currentIndex).context.$implicit=o.item.data}),this._updateNoDataRow(),this._ngZone&&Je.isInAngularZone()?this._ngZone.onStable.pipe(Ot(1),tt(this._onDestroy)).subscribe(()=>{this.updateStickyColumnStyles()}):this.updateStickyColumnStyles(),this.contentChanged.next()}addColumnDef(e){this._customColumnDefs.add(e)}removeColumnDef(e){this._customColumnDefs.delete(e)}addRowDef(e){this._customRowDefs.add(e)}removeRowDef(e){this._customRowDefs.delete(e)}addHeaderRowDef(e){this._customHeaderRowDefs.add(e),this._headerRowDefChanged=!0}removeHeaderRowDef(e){this._customHeaderRowDefs.delete(e),this._headerRowDefChanged=!0}addFooterRowDef(e){this._customFooterRowDefs.add(e),this._footerRowDefChanged=!0}removeFooterRowDef(e){this._customFooterRowDefs.delete(e),this._footerRowDefChanged=!0}setNoDataRow(e){this._customNoDataRow=e}updateStickyHeaderRowStyles(){const e=this._getRenderedRows(this._headerRowOutlet),o=this._elementRef.nativeElement.querySelector("thead");o&&(o.style.display=e.length?"":"none");const r=this._headerRowDefs.map(s=>s.sticky);this._stickyStyler.clearStickyPositioning(e,["top"]),this._stickyStyler.stickRows(e,r,"top"),this._headerRowDefs.forEach(s=>s.resetStickyChanged())}updateStickyFooterRowStyles(){const e=this._getRenderedRows(this._footerRowOutlet),o=this._elementRef.nativeElement.querySelector("tfoot");o&&(o.style.display=e.length?"":"none");const r=this._footerRowDefs.map(s=>s.sticky);this._stickyStyler.clearStickyPositioning(e,["bottom"]),this._stickyStyler.stickRows(e,r,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,r),this._footerRowDefs.forEach(s=>s.resetStickyChanged())}updateStickyColumnStyles(){const e=this._getRenderedRows(this._headerRowOutlet),i=this._getRenderedRows(this._rowOutlet),o=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this._fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...e,...i,...o],["left","right"]),this._stickyColumnStylesNeedReset=!1),e.forEach((r,s)=>{this._addStickyColumnStyles([r],this._headerRowDefs[s])}),this._rowDefs.forEach(r=>{const s=[];for(let a=0;a{this._addStickyColumnStyles([r],this._footerRowDefs[s])}),Array.from(this._columnDefsByName.values()).forEach(r=>r.resetStickyChanged())}_getAllRenderRows(){const e=[],i=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let o=0;o{const a=o&&o.has(s)?o.get(s):[];if(a.length){const l=a.shift();return l.dataIndex=i,l}return{data:e,rowDef:s,dataIndex:i}})}_cacheColumnDefs(){this._columnDefsByName.clear(),bp(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(i=>{this._columnDefsByName.has(i.name),this._columnDefsByName.set(i.name,i)})}_cacheRowDefs(){this._headerRowDefs=bp(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=bp(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=bp(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);const e=this._rowDefs.filter(i=>!i.when);this._defaultRowDef=e[0]}_renderUpdatedColumns(){const e=(s,a)=>s||!!a.getColumnsDiff(),i=this._rowDefs.reduce(e,!1);i&&this._forceRenderDataRows();const o=this._headerRowDefs.reduce(e,!1);o&&this._forceRenderHeaderRows();const r=this._footerRowDefs.reduce(e,!1);return r&&this._forceRenderFooterRows(),i||o||r}_switchDataSource(e){this._data=[],Gh(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),e||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=e}_observeRenderChanges(){if(!this.dataSource)return;let e;Gh(this.dataSource)?e=this.dataSource.connect(this):function zb(t){return!!t&&(t instanceof Ue||H(t.lift)&&H(t.subscribe))}(this.dataSource)?e=this.dataSource:Array.isArray(this.dataSource)&&(e=We(this.dataSource)),this._renderChangeSubscription=e.pipe(tt(this._onDestroy)).subscribe(i=>{this._data=i||[],this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((e,i)=>this._renderRow(this._headerRowOutlet,e,i)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((e,i)=>this._renderRow(this._footerRowOutlet,e,i)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(e,i){const o=Array.from(i.columns||[]).map(a=>this._columnDefsByName.get(a)),r=o.map(a=>a.sticky),s=o.map(a=>a.stickyEnd);this._stickyStyler.updateStickyColumns(e,r,s,!this._fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(e){const i=[];for(let o=0;o!r.when||r.when(i,e));else{let r=this._rowDefs.find(s=>s.when&&s.when(i,e))||this._defaultRowDef;r&&o.push(r)}return o}_getEmbeddedViewArgs(e,i){return{templateRef:e.rowDef.template,context:{$implicit:e.data},index:i}}_renderRow(e,i,o,r={}){const s=e.viewContainer.createEmbeddedView(i.template,r,o);return this._renderCellTemplateForItem(i,r),s}_renderCellTemplateForItem(e,i){for(let o of this._getCellTemplates(e))Zr.mostRecentCellOutlet&&Zr.mostRecentCellOutlet._viewContainer.createEmbeddedView(o,i);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){const e=this._rowOutlet.viewContainer;for(let i=0,o=e.length;i{const o=this._columnDefsByName.get(i);return e.extractCellTemplate(o)}):[]}_applyNativeTableSections(){const e=this._document.createDocumentFragment(),i=[{tag:"thead",outlets:[this._headerRowOutlet]},{tag:"tbody",outlets:[this._rowOutlet,this._noDataRowOutlet]},{tag:"tfoot",outlets:[this._footerRowOutlet]}];for(const o of i){const r=this._document.createElement(o.tag);r.setAttribute("role","rowgroup");for(const s of o.outlets)r.appendChild(s.elementRef.nativeElement);e.appendChild(r)}this._elementRef.nativeElement.appendChild(e)}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){const e=(i,o)=>i||o.hasStickyChanged();this._headerRowDefs.reduce(e,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(e,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(e,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){this._stickyStyler=new uH(this._isNativeHtmlTable,this.stickyCssClass,this._dir?this._dir.value:"ltr",this._coalescedStyleScheduler,this._platform.isBrowser,this.needsPositionStickyOnElement,this._stickyPositioningListener),(this._dir?this._dir.change:We()).pipe(tt(this._onDestroy)).subscribe(i=>{this._stickyStyler.direction=i,this.updateStickyColumnStyles()})}_getOwnDefs(e){return e.filter(i=>!i._table||i._table===this)}_updateNoDataRow(){const e=this._customNoDataRow||this._noDataRow;if(!e)return;const i=0===this._rowOutlet.viewContainer.length;if(i===this._isShowingNoDataRow)return;const o=this._noDataRowOutlet.viewContainer;if(i){const r=o.createEmbeddedView(e.templateRef),s=r.rootNodes[0];1===r.rootNodes.length&&(null==s?void 0:s.nodeType)===this._document.ELEMENT_NODE&&(s.setAttribute("role","row"),s.classList.add(e._contentClassName))}else o.clear();this._isShowingNoDataRow=i}}return t.\u0275fac=function(e){return new(e||t)(_(To),_(At),_(He),Di("role"),_(ai,8),_(ht),_(dn),_(cd),_(Kb),_(yr),_(Jb,12),_(Je,8))},t.\u0275cmp=Oe({type:t,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(e,i,o){if(1&e&&(mt(o,hp,5),mt(o,Kr,5),mt(o,up,5),mt(o,Md,5),mt(o,xd,5)),2&e){let r;Fe(r=Ne())&&(i._noDataRow=r.first),Fe(r=Ne())&&(i._contentColumnDefs=r),Fe(r=Ne())&&(i._contentRowDefs=r),Fe(r=Ne())&&(i._contentHeaderRowDefs=r),Fe(r=Ne())&&(i._contentFooterRowDefs=r)}},viewQuery:function(e,i){if(1&e&&(Tt(pp,7),Tt(fp,7),Tt(mp,7),Tt(gp,7)),2&e){let o;Fe(o=Ne())&&(i._rowOutlet=o.first),Fe(o=Ne())&&(i._headerRowOutlet=o.first),Fe(o=Ne())&&(i._footerRowOutlet=o.first),Fe(o=Ne())&&(i._noDataRowOutlet=o.first)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(e,i){2&e&&rt("cdk-table-fixed-layout",i.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:"multiTemplateDataRows",fixedLayout:"fixedLayout"},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[ze([{provide:Ll,useExisting:t},{provide:cd,useClass:ux},{provide:Kb,useClass:KT},{provide:Jb,useValue:null}])],ngContentSelectors:tH,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(e,i){1&e&&(Jt(eH),ct(0),ct(1,1),xo(2,0)(3,1)(4,2)(5,3))},directives:[fp,pp,gp,mp],styles:[".cdk-table-fixed-layout{table-layout:fixed}\n"],encapsulation:2}),t})();function bp(t,n){return t.concat(Array.from(n))}let pH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Nb]]}),t})();const fH=[[["caption"]],[["colgroup"],["col"]]],mH=["caption","colgroup, col"];let Is=(()=>{class t extends _p{constructor(){super(...arguments),this.stickyCssClass="mat-table-sticky",this.needsPositionStickyOnElement=!1}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-table"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-table-fixed-layout",i.fixedLayout)},exportAs:["matTable"],features:[ze([{provide:cd,useClass:ux},{provide:_p,useExisting:t},{provide:Ll,useExisting:t},{provide:Kb,useClass:KT},{provide:Jb,useValue:null}]),Ce],ngContentSelectors:mH,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(e,i){1&e&&(Jt(fH),ct(0),ct(1,1),xo(2,0)(3,1)(4,2)(5,3))},directives:[fp,pp,gp,mp],styles:["mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\n"],encapsulation:2}),t})(),Qr=(()=>{class t extends Bl{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matCellDef",""]],features:[ze([{provide:Bl,useExisting:t}]),Ce]}),t})(),Yr=(()=>{class t extends Vl{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matHeaderCellDef",""]],features:[ze([{provide:Vl,useExisting:t}]),Ce]}),t})(),Xr=(()=>{class t extends Kr{get name(){return this._name}set name(e){this._setNameInput(e)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matColumnDef",""]],inputs:{sticky:"sticky",name:["matColumnDef","name"]},features:[ze([{provide:Kr,useExisting:t},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),Ce]}),t})(),Jr=(()=>{class t extends Wb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-header-cell"],features:[Ce]}),t})(),es=(()=>{class t extends qb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:["role","gridcell",1,"mat-cell"],features:[Ce]}),t})(),Os=(()=>{class t extends Md{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matHeaderRowDef",""]],inputs:{columns:["matHeaderRowDef","columns"],sticky:["matHeaderRowDefSticky","sticky"]},features:[ze([{provide:Md,useExisting:t}]),Ce]}),t})(),As=(()=>{class t extends up{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matRowDef",""]],inputs:{columns:["matRowDefColumns","columns"],when:["matRowDefWhen","when"]},features:[ze([{provide:up,useExisting:t}]),Ce]}),t})(),Ps=(()=>{class t extends Qb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-header-row"],exportAs:["matHeaderRow"],features:[ze([{provide:Qb,useExisting:t}]),Ce],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&xo(0,0)},directives:[Zr],encapsulation:2}),t})(),Rs=(()=>{class t extends Xb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-row"],exportAs:["matRow"],features:[ze([{provide:Xb,useExisting:t}]),Ce],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&xo(0,0)},directives:[Zr],encapsulation:2}),t})(),vp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[pH,ft],ft]}),t})();const YT=new _e("CdkAccordion");let xH=0,TH=(()=>{class t{constructor(e,i,o){this.accordion=e,this._changeDetectorRef=i,this._expansionDispatcher=o,this._openCloseAllSubscription=k.EMPTY,this.closed=new Ae,this.opened=new Ae,this.destroyed=new Ae,this.expandedChange=new Ae,this.id="cdk-accordion-child-"+xH++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=o.listen((r,s)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===s&&this.id!==r&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(e){e=Xe(e),this._expanded!==e&&(this._expanded=e,this.expandedChange.emit(e),e?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}}return t.\u0275fac=function(e){return new(e||t)(_(YT,12),_(At),_(sb))},t.\u0275dir=oe({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[ze([{provide:YT,useValue:void 0}])]}),t})(),kH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const EH=["body"];function IH(t,n){}const OH=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],AH=["mat-expansion-panel-header","*","mat-action-row"];function PH(t,n){1&t&&E(0,"span",2),2&t&&m("@indicatorRotate",D()._getExpandedState())}const RH=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],FH=["mat-panel-title","mat-panel-description","*"],XT=new _e("MAT_ACCORDION"),JT="225ms cubic-bezier(0.4,0.0,0.2,1)",ek={indicatorRotate:Io("indicatorRotate",[jn("collapsed, void",Vt({transform:"rotate(0deg)"})),jn("expanded",Vt({transform:"rotate(180deg)"})),Kn("expanded <=> collapsed, void => collapsed",si(JT))]),bodyExpansion:Io("bodyExpansion",[jn("collapsed, void",Vt({height:"0px",visibility:"hidden"})),jn("expanded",Vt({height:"*",visibility:"visible"})),Kn("expanded <=> collapsed, void => collapsed",si(JT))])};let NH=(()=>{class t{constructor(e){this._template=e}}return t.\u0275fac=function(e){return new(e||t)(_(rn))},t.\u0275dir=oe({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),LH=0;const tk=new _e("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let nk=(()=>{class t extends TH{constructor(e,i,o,r,s,a,l){super(e,i,o),this._viewContainerRef=r,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new Ae,this.afterCollapse=new Ae,this._inputChanges=new ie,this._headerId="mat-expansion-panel-header-"+LH++,this._bodyAnimationDone=new ie,this.accordion=e,this._document=s,this._bodyAnimationDone.pipe(nd((u,p)=>u.fromState===p.fromState&&u.toState===p.toState)).subscribe(u=>{"void"!==u.fromState&&("expanded"===u.toState?this.afterExpand.emit():"collapsed"===u.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=Xe(e)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Nn(null),It(()=>this.expanded&&!this._portal),Ot(1)).subscribe(()=>{this._portal=new Wr(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const e=this._document.activeElement,i=this._body.nativeElement;return e===i||i.contains(e)}return!1}}return t.\u0275fac=function(e){return new(e||t)(_(XT,12),_(At),_(sb),_(sn),_(ht),_(gn,8),_(tk,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(e,i,o){if(1&e&&mt(o,NH,5),2&e){let r;Fe(r=Ne())&&(i._lazyContent=r.first)}},viewQuery:function(e,i){if(1&e&&Tt(EH,5),2&e){let o;Fe(o=Ne())&&(i._body=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(e,i){2&e&&rt("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[ze([{provide:XT,useValue:void 0}]),Ce,nn],ngContentSelectors:AH,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(e,i){1&e&&(Jt(OH),ct(0),d(1,"div",0,1),N("@bodyExpansion.done",function(r){return i._bodyAnimationDone.next(r)}),d(3,"div",2),ct(4,1),b(5,IH,0,0,"ng-template",3),c(),ct(6,2),c()),2&e&&(f(1),m("@bodyExpansion",i._getExpandedState())("id",i.id),et("aria-labelledby",i._headerId),f(4),m("cdkPortalOutlet",i._portal))},directives:[Es],styles:['.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-content[style*="visibility: hidden"] *{visibility:hidden !important}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\n'],encapsulation:2,data:{animation:[ek.bodyExpansion]},changeDetection:0}),t})();class BH{}const VH=Ml(BH);let jH=(()=>{class t extends VH{constructor(e,i,o,r,s,a,l){super(),this.panel=e,this._element=i,this._focusMonitor=o,this._changeDetectorRef=r,this._animationMode=a,this._parentChangeSubscription=k.EMPTY;const u=e.accordion?e.accordion._stateChanges.pipe(It(p=>!(!p.hideToggle&&!p.togglePosition))):vo;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Tn(e.opened,e.closed,u,e._inputChanges.pipe(It(p=>!!(p.hideToggle||p.disabled||p.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(It(()=>e._containsFocus())).subscribe(()=>o.focusVia(i,"program")),s&&(this.expandedHeight=s.expandedHeight,this.collapsedHeight=s.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:fi(e)||(e.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e))}}focus(e,i){e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(_(nk,1),_(He),_(Po),_(At),_(tk,8),_(gn,8),Di("tabindex"))},t.\u0275cmp=Oe({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(e,i){1&e&&N("click",function(){return i._toggle()})("keydown",function(r){return i._keydown(r)}),2&e&&(et("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),pi("height",i._getHeaderHeight()),rt("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[Ce],ngContentSelectors:FH,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(e,i){1&e&&(Jt(RH),d(0,"span",0),ct(1),ct(2,1),ct(3,2),c(),b(4,PH,1,1,"span",1)),2&e&&(f(4),m("ngIf",i._showToggle()))},directives:[Et],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}.cdk-high-contrast-active .mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}\n'],encapsulation:2,data:{animation:[ek.indicatorRotate]},changeDetection:0}),t})(),HH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),t})(),ik=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Wi,ft,kH,Cd]]}),t})();const UH=["*"],ok=new _e("MatChipRemove"),rk=new _e("MatChipAvatar"),sk=new _e("MatChipTrailingIcon");class zH{constructor(n){this._elementRef=n}}const $H=Ml($r(vr(zH),"primary"),-1);let Td=(()=>{class t extends $H{constructor(e,i,o,r,s,a,l,u){super(e),this._ngZone=i,this._changeDetectorRef=s,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new ie,this._onBlur=new ie,this.selectionChange=new Ae,this.destroyed=new Ae,this.removed=new Ae,this._addHostClassName(),this._chipRippleTarget=a.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new IM(this,i,this._chipRippleTarget,o),this._chipRipple.setupTriggerEvents(e),this.rippleConfig=r||{},this._animationsDisabled="NoopAnimations"===l,this.tabIndex=null!=u&&parseInt(u)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(e){const i=Xe(e);i!==this._selected&&(this._selected=i,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(e){this._value=e}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(e){this._selectable=Xe(e)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(e){this._disabled=Xe(e)}get removable(){return this._removable}set removable(e){this._removable=Xe(e)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const e="mat-basic-chip",i=this._elementRef.nativeElement;i.hasAttribute(e)||i.tagName.toLowerCase()===e?i.classList.add(e):i.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(e=!1){return this._selected=!this.selected,this._dispatchSelectionChange(e),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(e){this.disabled&&e.preventDefault()}_handleKeydown(e){if(!this.disabled)switch(e.keyCode){case 46:case 8:this.remove(),e.preventDefault();break;case 32:this.selectable&&this.toggleSelected(!0),e.preventDefault()}}_blur(){this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(e=!1){this.selectionChange.emit({source:this,isUserInput:e,selected:this._selected})}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Je),_(dn),_(OM,8),_(At),_(ht),_(gn,8),Di("tabindex"))},t.\u0275dir=oe({type:t,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(e,i,o){if(1&e&&(mt(o,rk,5),mt(o,sk,5),mt(o,ok,5)),2&e){let r;Fe(r=Ne())&&(i.avatar=r.first),Fe(r=Ne())&&(i.trailingIcon=r.first),Fe(r=Ne())&&(i.removeIcon=r.first)}},hostAttrs:["role","option",1,"mat-chip","mat-focus-indicator"],hostVars:14,hostBindings:function(e,i){1&e&&N("click",function(r){return i._handleClick(r)})("keydown",function(r){return i._handleKeydown(r)})("focus",function(){return i.focus()})("blur",function(){return i._blur()}),2&e&&(et("tabindex",i.disabled?null:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString())("aria-selected",i.ariaSelected),rt("mat-chip-selected",i.selected)("mat-chip-with-avatar",i.avatar)("mat-chip-with-trailing-icon",i.trailingIcon||i.removeIcon)("mat-chip-disabled",i.disabled)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[Ce]}),t})(),ak=(()=>{class t{constructor(e,i){this._parentChip=e,"BUTTON"===i.nativeElement.nodeName&&i.nativeElement.setAttribute("type","button")}_handleClick(e){const i=this._parentChip;i.removable&&!i.disabled&&i.remove(),e.stopPropagation(),e.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(_(Td),_(He))},t.\u0275dir=oe({type:t,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(e,i){1&e&&N("click",function(r){return i._handleClick(r)})},features:[ze([{provide:ok,useExisting:t}])]}),t})();const lk=new _e("mat-chips-default-options");let qH=0,ck=(()=>{class t{constructor(e,i){this._elementRef=e,this._defaultOptions=i,this.focused=!1,this._addOnBlur=!1,this.separatorKeyCodes=this._defaultOptions.separatorKeyCodes,this.chipEnd=new Ae,this.placeholder="",this.id="mat-chip-list-input-"+qH++,this._disabled=!1,this.inputElement=this._elementRef.nativeElement}set chipList(e){e&&(this._chipList=e,this._chipList.registerInput(this))}get addOnBlur(){return this._addOnBlur}set addOnBlur(e){this._addOnBlur=Xe(e)}get disabled(){return this._disabled||this._chipList&&this._chipList.disabled}set disabled(e){this._disabled=Xe(e)}get empty(){return!this.inputElement.value}ngOnChanges(){this._chipList.stateChanges.next()}ngOnDestroy(){this.chipEnd.complete()}ngAfterContentInit(){this._focusLastChipOnBackspace=this.empty}_keydown(e){if(e){if(9===e.keyCode&&!fi(e,"shiftKey")&&this._chipList._allowFocusEscape(),8===e.keyCode&&this._focusLastChipOnBackspace)return this._chipList._keyManager.setLastItemActive(),void e.preventDefault();this._focusLastChipOnBackspace=!1}this._emitChipEnd(e)}_keyup(e){!this._focusLastChipOnBackspace&&8===e.keyCode&&this.empty&&(this._focusLastChipOnBackspace=!0,e.preventDefault())}_blur(){this.addOnBlur&&this._emitChipEnd(),this.focused=!1,this._chipList.focused||this._chipList._blur(),this._chipList.stateChanges.next()}_focus(){this.focused=!0,this._focusLastChipOnBackspace=this.empty,this._chipList.stateChanges.next()}_emitChipEnd(e){!this.inputElement.value&&!!e&&this._chipList._keydown(e),(!e||this._isSeparatorKey(e))&&(this.chipEnd.emit({input:this.inputElement,value:this.inputElement.value,chipInput:this}),null==e||e.preventDefault())}_onInput(){this._chipList.stateChanges.next()}focus(e){this.inputElement.focus(e)}clear(){this.inputElement.value="",this._focusLastChipOnBackspace=!0}_isSeparatorKey(e){return!fi(e)&&new Set(this.separatorKeyCodes).has(e.keyCode)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(lk))},t.\u0275dir=oe({type:t,selectors:[["input","matChipInputFor",""]],hostAttrs:[1,"mat-chip-input","mat-input-element"],hostVars:5,hostBindings:function(e,i){1&e&&N("keydown",function(r){return i._keydown(r)})("keyup",function(r){return i._keyup(r)})("blur",function(){return i._blur()})("focus",function(){return i._focus()})("input",function(){return i._onInput()}),2&e&&(Fr("id",i.id),et("disabled",i.disabled||null)("placeholder",i.placeholder||null)("aria-invalid",i._chipList&&i._chipList.ngControl?i._chipList.ngControl.invalid:null)("aria-required",i._chipList&&i._chipList.required||null))},inputs:{chipList:["matChipInputFor","chipList"],addOnBlur:["matChipInputAddOnBlur","addOnBlur"],separatorKeyCodes:["matChipInputSeparatorKeyCodes","separatorKeyCodes"],placeholder:"placeholder",id:"id",disabled:"disabled"},outputs:{chipEnd:"matChipInputTokenEnd"},exportAs:["matChipInput","matChipInputFor"],features:[nn]}),t})();const KH=z_(class{constructor(t,n,e,i){this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=e,this.ngControl=i}});let ZH=0;class QH{constructor(n,e){this.source=n,this.value=e}}let dk=(()=>{class t extends KH{constructor(e,i,o,r,s,a,l){super(a,r,s,l),this._elementRef=e,this._changeDetectorRef=i,this._dir=o,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new ie,this._uid="mat-chip-list-"+ZH++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(u,p)=>u===p,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new Ae,this.valueChange=new Ae,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){var e,i;return this.multiple?(null===(e=this._selectionModel)||void 0===e?void 0:e.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get role(){return this.empty?null:"listbox"}get multiple(){return this._multiple}set multiple(e){this._multiple=Xe(e),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this.writeValue(e),this._value=e}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){var e,i,o,r;return null!==(r=null!==(e=this._required)&&void 0!==e?e:null===(o=null===(i=this.ngControl)||void 0===i?void 0:i.control)||void 0===o?void 0:o.hasValidator(de.required))&&void 0!==r&&r}set required(e){this._required=Xe(e),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=Xe(e),this._syncChipsState()}get selectable(){return this._selectable}set selectable(e){this._selectable=Xe(e),this.chips&&this.chips.forEach(i=>i.chipListSelectable=this._selectable)}set tabIndex(e){this._userTabIndex=e,this._tabIndex=e}get chipSelectionChanges(){return Tn(...this.chips.map(e=>e.selectionChange))}get chipFocusChanges(){return Tn(...this.chips.map(e=>e._onFocus))}get chipBlurChanges(){return Tn(...this.chips.map(e=>e._onBlur))}get chipRemoveChanges(){return Tn(...this.chips.map(e=>e.destroyed))}ngAfterContentInit(){this._keyManager=new Nh(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe(tt(this._destroyed)).subscribe(e=>this._keyManager.withHorizontalOrientation(e)),this._keyManager.tabOut.pipe(tt(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe(Nn(null),tt(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new Tl(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(e){this._chipInput=e,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",e.id)}setDescribedByIds(e){this._ariaDescribedby=e.join(" ")}writeValue(e){this.chips&&this._setSelectionByValue(e,!1)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this.stateChanges.next()}onContainerClick(e){this._originatesFromChip(e)||this.focus()}focus(e){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(e),this.stateChanges.next()))}_focusInput(e){this._chipInput&&this._chipInput.focus(e)}_keydown(e){const i=e.target;i&&i.classList.contains("mat-chip")&&(this._keyManager.onKeydown(e),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const e=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(e)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(e){return e>=0&&eo.deselect()),Array.isArray(e))e.forEach(o=>this._selectValue(o,i)),this._sortValues();else{const o=this._selectValue(e,i);o&&i&&this._keyManager.setActiveItem(o)}}_selectValue(e,i=!0){const o=this.chips.find(r=>null!=r.value&&this._compareWith(r.value,e));return o&&(i?o.selectViaInteraction():o.select(),this._selectionModel.select(o)),o}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(e){this._selectionModel.clear(),this.chips.forEach(i=>{i!==e&&i.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(e=>{e.selected&&this._selectionModel.select(e)}),this.stateChanges.next())}_propagateChanges(e){let i=null;i=Array.isArray(this.selected)?this.selected.map(o=>o.value):this.selected?this.selected.value:e,this._value=i,this.change.emit(new QH(this,i)),this.valueChange.emit(i),this._onChange(i),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(e=>{e.source.selected?this._selectionModel.select(e.source):this._selectionModel.deselect(e.source),this.multiple||this.chips.forEach(i=>{!this._selectionModel.isSelected(i)&&i.selected&&i.deselect()}),e.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(e=>{let i=this.chips.toArray().indexOf(e.chip);this._isValidIndex(i)&&this._keyManager.updateActiveItem(i),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(e=>{const i=e.chip,o=this.chips.toArray().indexOf(e.chip);this._isValidIndex(o)&&i._hasFocus&&(this._lastDestroyedChipIndex=o)})}_originatesFromChip(e){let i=e.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-chip"))return!0;i=i.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(e=>e._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(e=>{e._chipListDisabled=this._disabled,e._chipListMultiple=this.multiple})}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(ai,8),_(xs,8),_(Sn,8),_(od),_(or,10))},t.\u0275cmp=Oe({type:t,selectors:[["mat-chip-list"]],contentQueries:function(e,i,o){if(1&e&&mt(o,Td,5),2&e){let r;Fe(r=Ne())&&(i.chips=r)}},hostAttrs:[1,"mat-chip-list"],hostVars:15,hostBindings:function(e,i){1&e&&N("focus",function(){return i.focus()})("blur",function(){return i._blur()})("keydown",function(r){return i._keydown(r)}),2&e&&(Fr("id",i._uid),et("tabindex",i.disabled?null:i._tabIndex)("aria-describedby",i._ariaDescribedby||null)("aria-required",i.role?i.required:null)("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-multiselectable",i.multiple)("role",i.role)("aria-orientation",i.ariaOrientation),rt("mat-chip-list-disabled",i.disabled)("mat-chip-list-invalid",i.errorState)("mat-chip-list-required",i.required))},inputs:{errorStateMatcher:"errorStateMatcher",multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",ariaOrientation:["aria-orientation","ariaOrientation"],selectable:"selectable",tabIndex:"tabIndex"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[ze([{provide:gd,useExisting:t}]),Ce],ngContentSelectors:UH,decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(e,i){1&e&&(Jt(),d(0,"div",0),ct(1),c())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}._mat-animation-noopable.mat-standard-chip{transition:none;animation:none}.mat-standard-chip .mat-chip-remove{border:none;-webkit-appearance:none;-moz-appearance:none;padding:0;background:none}.mat-standard-chip .mat-chip-remove.mat-icon,.mat-standard-chip .mat-chip-remove .mat-icon{width:18px;height:18px;font-size:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip:focus{outline:dotted 2px}.cdk-high-contrast-active .mat-standard-chip.mat-chip-selected{outline-width:3px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden;transform:translateZ(0)}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}\n'],encapsulation:2,changeDetection:0}),t})(),ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[od,{provide:lk,useValue:{separatorKeyCodes:[13]}}],imports:[[ft]]}),t})();class uk extends class YH{constructor(){this.expansionModel=new Tl(!0)}toggle(n){this.expansionModel.toggle(this._trackByValue(n))}expand(n){this.expansionModel.select(this._trackByValue(n))}collapse(n){this.expansionModel.deselect(this._trackByValue(n))}isExpanded(n){return this.expansionModel.isSelected(this._trackByValue(n))}toggleDescendants(n){this.expansionModel.isSelected(this._trackByValue(n))?this.collapseDescendants(n):this.expandDescendants(n)}collapseAll(){this.expansionModel.clear()}expandDescendants(n){let e=[n];e.push(...this.getDescendants(n)),this.expansionModel.select(...e.map(i=>this._trackByValue(i)))}collapseDescendants(n){let e=[n];e.push(...this.getDescendants(n)),this.expansionModel.deselect(...e.map(i=>this._trackByValue(i)))}_trackByValue(n){return this.trackBy?this.trackBy(n):n}}{constructor(n,e,i){super(),this.getLevel=n,this.isExpandable=e,this.options=i,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(n){const i=[];for(let o=this.dataNodes.indexOf(n)+1;othis._trackByValue(n)))}}let n9=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),hk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[n9,ft],ft]}),t})();class d9{constructor(n,e,i,o){this.transformFunction=n,this.getLevel=e,this.isExpandable=i,this.getChildren=o}_flattenNode(n,e,i,o){const r=this.transformFunction(n,e);if(i.push(r),this.isExpandable(r)){const s=this.getChildren(n);s&&(Array.isArray(s)?this._flattenChildren(s,e,i,o):s.pipe(Ot(1)).subscribe(a=>{this._flattenChildren(a,e,i,o)}))}return i}_flattenChildren(n,e,i,o){n.forEach((r,s)=>{let a=o.slice();a.push(s!=n.length-1),this._flattenNode(r,e+1,i,a)})}flattenNodes(n){let e=[];return n.forEach(i=>this._flattenNode(i,0,e,[])),e}expandFlattenedNodes(n,e){let i=[],o=[];return o[0]=!0,n.forEach(r=>{let s=!0;for(let a=0;a<=this.getLevel(r);a++)s=s&&o[a];s&&i.push(r),this.isExpandable(r)&&(o[this.getLevel(r)+1]=e.isExpanded(r))}),i}}class pk extends class a8{}{constructor(n,e,i){super(),this._treeControl=n,this._treeFlattener=e,this._flattenedData=new vt([]),this._expandedData=new vt([]),this._data=new vt([]),i&&(this.data=i)}get data(){return this._data.value}set data(n){this._data.next(n),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(n){return Tn(n.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(je(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}function u9(t,n){1&t&&ct(0)}const fk=["*"];function h9(t,n){}const p9=function(t){return{animationDuration:t}},f9=function(t,n){return{value:t,params:n}},m9=["tabListContainer"],g9=["tabList"],_9=["tabListInner"],b9=["nextPaginator"],v9=["previousPaginator"],y9=["tabBodyWrapper"],C9=["tabHeader"];function w9(t,n){}function D9(t,n){1&t&&b(0,w9,0,0,"ng-template",10),2&t&&m("cdkPortalOutlet",D().$implicit.templateLabel)}function S9(t,n){1&t&&h(0),2&t&&Pe(D().$implicit.textLabel)}function M9(t,n){if(1&t){const e=pe();d(0,"div",6),N("click",function(){const o=se(e),r=o.$implicit,s=o.index,a=D(),l=$t(1);return a._handleClick(r,l,s)})("cdkFocusChange",function(o){const s=se(e).index;return D()._tabFocusChanged(o,s)}),d(1,"div",7),b(2,D9,1,1,"ng-template",8),b(3,S9,1,1,"ng-template",null,9,Bc),c()()}if(2&t){const e=n.$implicit,i=n.index,o=$t(4),r=D();rt("mat-tab-label-active",r.selectedIndex===i),m("id",r._getTabLabelId(i))("ngClass",e.labelClass)("disabled",e.disabled)("matRippleDisabled",e.disabled||r.disableRipple),et("tabIndex",r._getTabIndex(e,i))("aria-posinset",i+1)("aria-setsize",r._tabs.length)("aria-controls",r._getTabContentId(i))("aria-selected",r.selectedIndex===i)("aria-label",e.ariaLabel||null)("aria-labelledby",!e.ariaLabel&&e.ariaLabelledby?e.ariaLabelledby:null),f(2),m("ngIf",e.templateLabel)("ngIfElse",o)}}function x9(t,n){if(1&t){const e=pe();d(0,"mat-tab-body",11),N("_onCentered",function(){return se(e),D()._removeTabBodyWrapperHeight()})("_onCentering",function(o){return se(e),D()._setTabBodyWrapperHeight(o)}),c()}if(2&t){const e=n.$implicit,i=n.index,o=D();rt("mat-tab-body-active",o.selectedIndex===i),m("id",o._getTabContentId(i))("ngClass",e.bodyClass)("content",e.content)("position",e.position)("origin",e.origin)("animationDuration",o.animationDuration),et("tabindex",null!=o.contentTabIndex&&o.selectedIndex===i?o.contentTabIndex:null)("aria-labelledby",o._getTabLabelId(i))}}const T9=new _e("MatInkBarPositioner",{providedIn:"root",factory:function k9(){return n=>({left:n?(n.offsetLeft||0)+"px":"0",width:n?(n.offsetWidth||0)+"px":"0"})}});let mk=(()=>{class t{constructor(e,i,o,r){this._elementRef=e,this._ngZone=i,this._inkBarPositioner=o,this._animationMode=r}alignToElement(e){this.show(),this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{const i=this._inkBarPositioner(e),o=this._elementRef.nativeElement;o.style.left=i.left,o.style.width=i.width})}show(){this._elementRef.nativeElement.style.visibility="visible"}hide(){this._elementRef.nativeElement.style.visibility="hidden"}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Je),_(T9),_(gn,8))},t.\u0275dir=oe({type:t,selectors:[["mat-ink-bar"]],hostAttrs:[1,"mat-ink-bar"],hostVars:2,hostBindings:function(e,i){2&e&&rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)}}),t})();const E9=new _e("MatTabContent"),gk=new _e("MatTabLabel"),_k=new _e("MAT_TAB");let bk=(()=>{class t extends a7{constructor(e,i,o){super(e,i),this._closestTab=o}}return t.\u0275fac=function(e){return new(e||t)(_(rn),_(sn),_(_k,8))},t.\u0275dir=oe({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[ze([{provide:gk,useExisting:t}]),Ce]}),t})();const I9=ua(class{}),vk=new _e("MAT_TAB_GROUP");let wp=(()=>{class t extends I9{constructor(e,i){super(),this._viewContainerRef=e,this._closestTabGroup=i,this.textLabel="",this._contentPortal=null,this._stateChanges=new ie,this.position=null,this.origin=null,this.isActive=!1}get templateLabel(){return this._templateLabel}set templateLabel(e){this._setTemplateLabelInput(e)}get content(){return this._contentPortal}ngOnChanges(e){(e.hasOwnProperty("textLabel")||e.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Wr(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(e){e&&e._closestTab===this&&(this._templateLabel=e)}}return t.\u0275fac=function(e){return new(e||t)(_(sn),_(vk,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-tab"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,gk,5),mt(o,E9,7,rn)),2&e){let r;Fe(r=Ne())&&(i.templateLabel=r.first),Fe(r=Ne())&&(i._explicitContent=r.first)}},viewQuery:function(e,i){if(1&e&&Tt(rn,7),2&e){let o;Fe(o=Ne())&&(i._implicitContent=o.first)}},inputs:{disabled:"disabled",textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},exportAs:["matTab"],features:[ze([{provide:_k,useExisting:t}]),Ce,nn],ngContentSelectors:fk,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),b(0,u9,1,0,"ng-template"))},encapsulation:2}),t})();const O9={translateTab:Io("translateTab",[jn("center, void, left-origin-center, right-origin-center",Vt({transform:"none"})),jn("left",Vt({transform:"translate3d(-100%, 0, 0)",minHeight:"1px"})),jn("right",Vt({transform:"translate3d(100%, 0, 0)",minHeight:"1px"})),Kn("* => left, * => right, left => center, right => center",si("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Kn("void => left-origin-center",[Vt({transform:"translate3d(-100%, 0, 0)"}),si("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Kn("void => right-origin-center",[Vt({transform:"translate3d(100%, 0, 0)"}),si("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let A9=(()=>{class t extends Es{constructor(e,i,o,r){super(e,i,r),this._host=o,this._centeringSub=k.EMPTY,this._leavingSub=k.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(Nn(this._host._isCenterPosition(this._host._position))).subscribe(e=>{e&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(_(gs),_(sn),_(zt(()=>yk)),_(ht))},t.\u0275dir=oe({type:t,selectors:[["","matTabBodyHost",""]],features:[Ce]}),t})(),P9=(()=>{class t{constructor(e,i,o){this._elementRef=e,this._dir=i,this._dirChangeSubscription=k.EMPTY,this._translateTabComplete=new ie,this._onCentering=new Ae,this._beforeCentering=new Ae,this._afterLeavingCenter=new Ae,this._onCentered=new Ae(!0),this.animationDuration="500ms",i&&(this._dirChangeSubscription=i.change.subscribe(r=>{this._computePositionAnimationState(r),o.markForCheck()})),this._translateTabComplete.pipe(nd((r,s)=>r.fromState===s.fromState&&r.toState===s.toState)).subscribe(r=>{this._isCenterPosition(r.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(r.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}set position(e){this._positionIndex=e,this._computePositionAnimationState()}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(e){const i=this._isCenterPosition(e.toState);this._beforeCentering.emit(i),i&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(e){return"center"==e||"left-origin-center"==e||"right-origin-center"==e}_computePositionAnimationState(e=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==e?"left":"right":this._positionIndex>0?"ltr"==e?"right":"left":"center"}_computePositionFromOrigin(e){const i=this._getLayoutDirection();return"ltr"==i&&e<=0||"rtl"==i&&e>0?"left-origin-center":"right-origin-center"}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(ai,8),_(At))},t.\u0275dir=oe({type:t,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),t})(),yk=(()=>{class t extends P9{constructor(e,i,o){super(e,i,o)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(ai,8),_(At))},t.\u0275cmp=Oe({type:t,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(1&e&&Tt(Es,5),2&e){let o;Fe(o=Ne())&&(i._portalHost=o.first)}},hostAttrs:[1,"mat-tab-body"],features:[Ce],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(e,i){1&e&&(d(0,"div",0,1),N("@translateTab.start",function(r){return i._onTranslateTabStarted(r)})("@translateTab.done",function(r){return i._translateTabComplete.next(r)}),b(2,h9,0,0,"ng-template",2),c()),2&e&&m("@translateTab",Tw(3,f9,i._position,Kt(1,p9,i.animationDuration)))},directives:[A9],styles:['.mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*="visibility: hidden"]{display:none}\n'],encapsulation:2,data:{animation:[O9.translateTab]}}),t})();const Ck=new _e("MAT_TABS_CONFIG"),R9=ua(class{});let wk=(()=>{class t extends R9{constructor(e){super(),this.elementRef=e}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return t.\u0275fac=function(e){return new(e||t)(_(He))},t.\u0275dir=oe({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,i){2&e&&(et("aria-disabled",!!i.disabled),rt("mat-tab-disabled",i.disabled))},inputs:{disabled:"disabled"},features:[Ce]}),t})();const Dk=aa({passive:!0});let L9=(()=>{class t{constructor(e,i,o,r,s,a,l){this._elementRef=e,this._changeDetectorRef=i,this._viewportRuler=o,this._dir=r,this._ngZone=s,this._platform=a,this._animationMode=l,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new ie,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new ie,this.disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new Ae,this.indexFocused=new Ae,s.runOutsideAngular(()=>{qi(e.nativeElement,"mouseleave").pipe(tt(this._destroyed)).subscribe(()=>{this._stopInterval()})})}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){e=Zn(e),this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}ngAfterViewInit(){qi(this._previousPaginator.nativeElement,"touchstart",Dk).pipe(tt(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),qi(this._nextPaginator.nativeElement,"touchstart",Dk).pipe(tt(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const e=this._dir?this._dir.change:We("ltr"),i=this._viewportRuler.change(150),o=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new Nh(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap(),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe(Ot(1)).subscribe(o),Tn(e,i,this._items.changes,this._itemsResized()).pipe(tt(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),o()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.pipe(tt(this._destroyed)).subscribe(r=>{this.indexFocused.emit(r),this._setTabFocus(r)})}_itemsResized(){return"function"!=typeof ResizeObserver?vo:this._items.changes.pipe(Nn(this._items),Li(e=>new Ue(i=>this._ngZone.runOutsideAngular(()=>{const o=new ResizeObserver(()=>{i.next()});return e.forEach(r=>{o.observe(r.elementRef.nativeElement)}),()=>{o.disconnect()}}))),F_(1))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(e){if(!fi(e))switch(e.keyCode){case 13:case 32:this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(e));break;default:this._keyManager.onKeydown(e)}}_onContentChanges(){const e=this._elementRef.nativeElement.textContent;e!==this._currentTextContent&&(this._currentTextContent=e||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(e){!this._isValidIndex(e)||this.focusIndex===e||!this._keyManager||this._keyManager.setActiveItem(e)}_isValidIndex(e){if(!this._items)return!0;const i=this._items?this._items.toArray()[e]:null;return!!i&&!i.disabled}_setTabFocus(e){if(this._showPaginationControls&&this._scrollToLabel(e),this._items&&this._items.length){this._items.toArray()[e].focus();const i=this._tabListContainer.nativeElement;i.scrollLeft="ltr"==this._getLayoutDirection()?0:i.scrollWidth-i.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const e=this.scrollDistance,i="ltr"===this._getLayoutDirection()?-e:e;this._tabList.nativeElement.style.transform=`translateX(${Math.round(i)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(e){this._scrollTo(e)}_scrollHeader(e){return this._scrollTo(this._scrollDistance+("before"==e?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(e){this._stopInterval(),this._scrollHeader(e)}_scrollToLabel(e){if(this.disablePagination)return;const i=this._items?this._items.toArray()[e]:null;if(!i)return;const o=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:r,offsetWidth:s}=i.elementRef.nativeElement;let a,l;"ltr"==this._getLayoutDirection()?(a=r,l=a+s):(l=this._tabListInner.nativeElement.offsetWidth-r,a=l-s);const u=this.scrollDistance,p=this.scrollDistance+o;ap&&(this.scrollDistance+=l-p+60)}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const e=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;e||(this.scrollDistance=0),e!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=e}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const e=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,i=e?e.elementRef.nativeElement:null;i?this._inkBar.alignToElement(i):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(e,i){i&&null!=i.button&&0!==i.button||(this._stopInterval(),op(650,100).pipe(tt(Tn(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:o,distance:r}=this._scrollHeader(e);(0===r||r>=o)&&this._stopInterval()}))}_scrollTo(e){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const i=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(i,e)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:i,distance:this._scrollDistance}}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(yr),_(ai,8),_(Je),_(dn),_(gn,8))},t.\u0275dir=oe({type:t,inputs:{disablePagination:"disablePagination"}}),t})(),B9=(()=>{class t extends L9{constructor(e,i,o,r,s,a,l){super(e,i,o,r,s,a,l),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Xe(e)}_itemSelected(e){e.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(yr),_(ai,8),_(Je),_(dn),_(gn,8))},t.\u0275dir=oe({type:t,inputs:{disableRipple:"disableRipple"},features:[Ce]}),t})(),V9=(()=>{class t extends B9{constructor(e,i,o,r,s,a,l){super(e,i,o,r,s,a,l)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(yr),_(ai,8),_(Je),_(dn),_(gn,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-tab-header"]],contentQueries:function(e,i,o){if(1&e&&mt(o,wk,4),2&e){let r;Fe(r=Ne())&&(i._items=r)}},viewQuery:function(e,i){if(1&e&&(Tt(mk,7),Tt(m9,7),Tt(g9,7),Tt(_9,7),Tt(b9,5),Tt(v9,5)),2&e){let o;Fe(o=Ne())&&(i._inkBar=o.first),Fe(o=Ne())&&(i._tabListContainer=o.first),Fe(o=Ne())&&(i._tabList=o.first),Fe(o=Ne())&&(i._tabListInner=o.first),Fe(o=Ne())&&(i._nextPaginator=o.first),Fe(o=Ne())&&(i._previousPaginator=o.first)}},hostAttrs:[1,"mat-tab-header"],hostVars:4,hostBindings:function(e,i){2&e&&rt("mat-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-tab-header-rtl","rtl"==i._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[Ce],ngContentSelectors:fk,decls:14,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(e,i){1&e&&(Jt(),d(0,"button",0,1),N("click",function(){return i._handlePaginatorClick("before")})("mousedown",function(r){return i._handlePaginatorPress("before",r)})("touchend",function(){return i._stopInterval()}),E(2,"div",2),c(),d(3,"div",3,4),N("keydown",function(r){return i._handleKeydown(r)}),d(5,"div",5,6),N("cdkObserveContent",function(){return i._onContentChanges()}),d(7,"div",7,8),ct(9),c(),E(10,"mat-ink-bar"),c()(),d(11,"button",9,10),N("mousedown",function(r){return i._handlePaginatorPress("after",r)})("click",function(){return i._handlePaginatorClick("after")})("touchend",function(){return i._stopInterval()}),E(13,"div",2),c()),2&e&&(rt("mat-tab-header-pagination-disabled",i._disableScrollBefore),m("matRippleDisabled",i._disableScrollBefore||i.disableRipple)("disabled",i._disableScrollBefore||null),f(5),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode),f(6),rt("mat-tab-header-pagination-disabled",i._disableScrollAfter),m("matRippleDisabled",i._disableScrollAfter||i.disableRipple)("disabled",i._disableScrollAfter||null))},directives:[ir,N_,mk],styles:[".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n"],encapsulation:2}),t})(),j9=0;class H9{}const U9=$r(vr(class{constructor(t){this._elementRef=t}}),"primary");let z9=(()=>{class t extends U9{constructor(e,i,o,r){var s;super(e),this._changeDetectorRef=i,this._animationMode=r,this._tabs=new _s,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=k.EMPTY,this._tabLabelSubscription=k.EMPTY,this._selectedIndex=null,this.headerPosition="above",this.selectedIndexChange=new Ae,this.focusChange=new Ae,this.animationDone=new Ae,this.selectedTabChange=new Ae(!0),this._groupId=j9++,this.animationDuration=o&&o.animationDuration?o.animationDuration:"500ms",this.disablePagination=!(!o||null==o.disablePagination)&&o.disablePagination,this.dynamicHeight=!(!o||null==o.dynamicHeight)&&o.dynamicHeight,this.contentTabIndex=null!==(s=null==o?void 0:o.contentTabIndex)&&void 0!==s?s:null}get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(e){this._dynamicHeight=Xe(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){this._indexToSelect=Zn(e,null)}get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e+"")?e+"ms":e}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(e){this._contentTabIndex=Zn(e,null)}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){const i=this._elementRef.nativeElement;i.classList.remove(`mat-background-${this.backgroundColor}`),e&&i.classList.add(`mat-background-${e}`),this._backgroundColor=e}ngAfterContentChecked(){const e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){const i=null==this._selectedIndex;if(!i){this.selectedTabChange.emit(this._createChangeEvent(e));const o=this._tabBodyWrapper.nativeElement;o.style.minHeight=o.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((o,r)=>o.isActive=r===e),i||(this.selectedIndexChange.emit(e),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,o)=>{i.position=o-e,null!=this._selectedIndex&&0==i.position&&!i.origin&&(i.origin=e-this._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const e=this._clampTabIndex(this._indexToSelect);if(e===this._selectedIndex){const i=this._tabs.toArray();let o;for(let r=0;r{i[e].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(e))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(Nn(this._allTabs)).subscribe(e=>{this._tabs.reset(e.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(e){const i=this._tabHeader;i&&(i.focusIndex=e)}_focusChanged(e){this._lastFocusedTabIndex=e,this.focusChange.emit(this._createChangeEvent(e))}_createChangeEvent(e){const i=new H9;return i.index=e,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[e]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=Tn(...this._tabs.map(e=>e._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(e){return Math.min(this._tabs.length-1,Math.max(e||0,0))}_getTabLabelId(e){return`mat-tab-label-${this._groupId}-${e}`}_getTabContentId(e){return`mat-tab-content-${this._groupId}-${e}`}_setTabBodyWrapperHeight(e){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=e+"px")}_removeTabBodyWrapperHeight(){const e=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=e.clientHeight,e.style.height="",this.animationDone.emit()}_handleClick(e,i,o){e.disabled||(this.selectedIndex=i.focusIndex=o)}_getTabIndex(e,i){var o;return e.disabled?null:i===(null!==(o=this._lastFocusedTabIndex)&&void 0!==o?o:this.selectedIndex)?0:-1}_tabFocusChanged(e,i){e&&"mouse"!==e&&"touch"!==e&&(this._tabHeader.focusIndex=i)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(Ck,8),_(gn,8))},t.\u0275dir=oe({type:t,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[Ce]}),t})(),rv=(()=>{class t extends z9{constructor(e,i,o,r){super(e,i,o,r)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(Ck,8),_(gn,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-tab-group"]],contentQueries:function(e,i,o){if(1&e&&mt(o,wp,5),2&e){let r;Fe(r=Ne())&&(i._allTabs=r)}},viewQuery:function(e,i){if(1&e&&(Tt(y9,5),Tt(C9,5)),2&e){let o;Fe(o=Ne())&&(i._tabBodyWrapper=o.first),Fe(o=Ne())&&(i._tabHeader=o.first)}},hostAttrs:[1,"mat-tab-group"],hostVars:4,hostBindings:function(e,i){2&e&&rt("mat-tab-group-dynamic-height",i.dynamicHeight)("mat-tab-group-inverted-header","below"===i.headerPosition)},inputs:{color:"color",disableRipple:"disableRipple"},exportAs:["matTabGroup"],features:[ze([{provide:vk,useExisting:t}]),Ce],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mat-tab-label mat-focus-indicator","role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",3,"id","mat-tab-label-active","ngClass","disabled","matRippleDisabled","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-tab-body-active","ngClass","content","position","origin","animationDuration","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",1,"mat-tab-label","mat-focus-indicator",3,"id","ngClass","disabled","matRippleDisabled","click","cdkFocusChange"],[1,"mat-tab-label-content"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","_onCentered","_onCentering"]],template:function(e,i){1&e&&(d(0,"mat-tab-header",0,1),N("indexFocused",function(r){return i._focusChanged(r)})("selectFocusedIndex",function(r){return i.selectedIndex=r}),b(2,M9,5,15,"div",2),c(),d(3,"div",3,4),b(5,x9,1,10,"mat-tab-body",5),c()),2&e&&(m("selectedIndex",i.selectedIndex||0)("disableRipple",i.disableRipple)("disablePagination",i.disablePagination),f(2),m("ngForOf",i._tabs),f(1),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode),f(2),m("ngForOf",i._tabs))},directives:[V9,yk,ri,wk,ir,UV,tr,Et,Es],styles:[".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\n"],encapsulation:2}),t})(),Mk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Wi,ft,Cd,ha,Ph,SM],ft]}),t})();function xk(...t){const n=Yl(t),e=Qv(t),{args:i,keys:o}=VM(t);if(0===i.length)return ui([],n);const r=new Ue(function $9(t,n,e=Me){return i=>{Tk(n,()=>{const{length:o}=t,r=new Array(o);let s=o,a=o;for(let l=0;l{const u=ui(t[l],n);let p=!1;u.subscribe(st(i,g=>{r[l]=g,p||(p=!0,a--),a||i.next(e(r.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,o?s=>jM(o,s):Me));return e?r.pipe(Q_(e)):r}function Tk(t,n,e){t?kr(e,t,n):n()}const kk=new Set;let jl,G9=(()=>{class t{constructor(e){this._platform=e,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q9}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function W9(t){if(!kk.has(t))try{jl||(jl=document.createElement("style"),jl.setAttribute("type","text/css"),document.head.appendChild(jl)),jl.sheet&&(jl.sheet.insertRule(`@media ${t} {body{ }}`,0),kk.add(t))}catch(n){console.error(n)}}(e),this._matchMedia(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(dn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function q9(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let sv=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new ie}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return Ek(Ah(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let r=xk(Ek(Ah(e)).map(s=>this._registerQuery(s).observable));return r=id(r.pipe(Ot(1)),r.pipe(F_(1),Oh(0))),r.pipe(je(s=>{const a={matches:!1,breakpoints:{}};return s.forEach(({matches:l,query:u})=>{a.matches=a.matches||l,a.breakpoints[u]=l}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),r={observable:new Ue(s=>{const a=l=>this._zone.run(()=>s.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(Nn(i),je(({matches:s})=>({query:e,matches:s})),tt(this._destroySubject)),mql:i};return this._queries.set(e,r),r}}return t.\u0275fac=function(e){return new(e||t)(Q(G9),Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function Ek(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function K9(t,n){if(1&t){const e=pe();d(0,"div",2)(1,"button",3),N("click",function(){return se(e),D().action()}),h(2),c()()}if(2&t){const e=D();f(2),Pe(e.data.action)}}function Z9(t,n){}const Ok=new _e("MatSnackBarData");class Dp{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const Q9=Math.pow(2,31)-1;class av{constructor(n,e){this._overlayRef=e,this._afterDismissed=new ie,this._afterOpened=new ie,this._onAction=new ie,this._dismissedByAction=!1,this.containerInstance=n,n._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(n){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(n,Q9))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let Y9=(()=>{class t{constructor(e,i){this.snackBarRef=e,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(_(av),_(Ok))},t.\u0275cmp=Oe({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[[1,"mat-simple-snack-bar-content"],["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(e,i){1&e&&(d(0,"span",0),h(1),c(),b(2,K9,3,1,"div",1)),2&e&&(f(1),Pe(i.data.message),f(1),m("ngIf",i.hasAction))},directives:[Ht,Et],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0}),t})();const X9={snackBarState:Io("state",[jn("void, hidden",Vt({transform:"scale(0.8)",opacity:0})),jn("visible",Vt({transform:"scale(1)",opacity:1})),Kn("* => visible",si("150ms cubic-bezier(0, 0, 0.2, 1)")),Kn("* => void, * => hidden",si("75ms cubic-bezier(0.4, 0.0, 1, 1)",Vt({opacity:0})))])};let J9=(()=>{class t extends ap{constructor(e,i,o,r,s){super(),this._ngZone=e,this._elementRef=i,this._changeDetectorRef=o,this._platform=r,this.snackBarConfig=s,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new ie,this._onExit=new ie,this._onEnter=new ie,this._animationState="void",this.attachDomPortal=a=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(a)),this._live="assertive"!==s.politeness||s.announcementMessage?"off"===s.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(e)}attachTemplatePortal(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(e)}onAnimationEnd(e){const{fromState:i,toState:o}=e;if(("void"===o&&"void"!==i||"hidden"===o)&&this._completeExit(),"visible"===o){const r=this._onEnter;this._ngZone.run(()=>{r.next(),r.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(Ot(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_applySnackBarClasses(){const e=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(o=>e.classList.add(o)):e.classList.add(i)),"center"===this.snackBarConfig.horizontalPosition&&e.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&e.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const e=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(e&&i){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(o=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),null==o||o.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(_(Je),_(He),_(At),_(dn),_(Dp))},t.\u0275cmp=Oe({type:t,selectors:[["snack-bar-container"]],viewQuery:function(e,i){if(1&e&&Tt(Es,7),2&e){let o;Fe(o=Ne())&&(i._portalOutlet=o.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(e,i){1&e&&Tc("@state.done",function(r){return i.onAnimationEnd(r)}),2&e&&Ec("@state",i._animationState)},features:[Ce],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(d(0,"div",0),b(1,Z9,0,0,"ng-template",1),c(),E(2,"div")),2&e&&(f(2),et("aria-live",i._live)("role",i._role))},directives:[Es],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[X9.snackBarState]}}),t})(),lv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Pl,Cd,Wi,Z_,ft],ft]}),t})();const Ak=new _e("mat-snack-bar-default-options",{providedIn:"root",factory:function eU(){return new Dp}});let tU=(()=>{class t{constructor(e,i,o,r,s,a){this._overlay=e,this._live=i,this._injector=o,this._breakpointObserver=r,this._parentSnackBar=s,this._defaultConfig=a,this._snackBarRefAtThisLevel=null}get _openedSnackBarRef(){const e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}openFromComponent(e,i){return this._attach(e,i)}openFromTemplate(e,i){return this._attach(e,i)}open(e,i="",o){const r=Object.assign(Object.assign({},this._defaultConfig),o);return r.data={message:e,action:i},r.announcementMessage===e&&(r.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,r)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,i){const r=pn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:Dp,useValue:i}]}),s=new Ol(this.snackBarContainerComponent,i.viewContainerRef,r),a=e.attach(s);return a.instance.snackBarConfig=i,a.instance}_attach(e,i){const o=Object.assign(Object.assign(Object.assign({},new Dp),this._defaultConfig),i),r=this._createOverlay(o),s=this._attachSnackBarContainer(r,o),a=new av(s,r);if(e instanceof rn){const l=new Wr(e,null,{$implicit:o.data,snackBarRef:a});a.instance=s.attachTemplatePortal(l)}else{const l=this._createInjector(o,a),u=new Ol(e,void 0,l),p=s.attachComponentPortal(u);a.instance=p.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(tt(r.detachments())).subscribe(l=>{r.overlayElement.classList.toggle(this.handsetCssClass,l.matches)}),o.announcementMessage&&s._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(a,o),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(e,i){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),i.duration&&i.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(i.duration))}_createOverlay(e){const i=new Al;i.direction=e.direction;let o=this._overlay.position().global();const r="rtl"===e.direction,s="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!r||"end"===e.horizontalPosition&&r,a=!s&&"center"!==e.horizontalPosition;return s?o.left("0"):a?o.right("0"):o.centerHorizontally(),"top"===e.verticalPosition?o.top("0"):o.bottom("0"),i.positionStrategy=o,this._overlay.create(i)}_createInjector(e,i){return pn.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:av,useValue:i},{provide:Ok,useValue:e.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Q(Zi),Q(H_),Q(pn),Q(sv),Q(t,12),Q(Ak))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),nU=(()=>{class t extends tU{constructor(e,i,o,r,s,a){super(e,i,o,r,s,a),this.simpleSnackBarComponent=Y9,this.snackBarContainerComponent=J9,this.handsetCssClass="mat-snack-bar-handset"}}return t.\u0275fac=function(e){return new(e||t)(Q(Zi),Q(H_),Q(pn),Q(sv),Q(t,12),Q(Ak))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:lv}),t})();function iU(t,n){}class cv{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}const oU={dialogContainer:Io("dialogContainer",[jn("void, exit",Vt({opacity:0,transform:"scale(0.7)"})),jn("enter",Vt({transform:"none"})),Kn("* => enter",_S([si("150ms cubic-bezier(0, 0, 0.2, 1)",Vt({transform:"none",opacity:1})),e_("@*",Jg(),{optional:!0})])),Kn("* => void, * => exit",_S([si("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",Vt({opacity:0})),e_("@*",Jg(),{optional:!0})]))])};let rU=(()=>{class t extends ap{constructor(e,i,o,r,s,a,l,u){super(),this._elementRef=e,this._focusTrapFactory=i,this._changeDetectorRef=o,this._config=s,this._interactivityChecker=a,this._ngZone=l,this._focusMonitor=u,this._animationStateChanged=new Ae,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=p=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(p)),this._ariaLabelledBy=s.ariaLabelledBy||null,this._document=r}_initializeWithAttachedContent(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=k_())}attachComponentPortal(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(e)}attachTemplatePortal(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(e)}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const o=()=>{e.removeEventListener("blur",o),e.removeEventListener("mousedown",o),e.removeAttribute("tabindex")};e.addEventListener("blur",o),e.addEventListener("mousedown",o)})),e.focus(i)}_focusByCssSelector(e,i){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,i)}_trapFocus(){const e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const e=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&e&&"function"==typeof e.focus){const i=k_(),o=this._elementRef.nativeElement;(!i||i===this._document.body||i===o||o.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const e=this._elementRef.nativeElement,i=k_();return e===i||e.contains(i)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(vM),_(At),_(ht,8),_(cv),_(B_),_(Je),_(Po))},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&Tt(Es,7),2&e){let o;Fe(o=Ne())&&(i._portalOutlet=o.first)}},features:[Ce]}),t})(),sU=(()=>{class t extends rU{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:e,totalTime:i}){"enter"===e?(this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===e&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:e,totalTime:i}){"enter"===e?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===e||"void"===e)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}_initializeWithAttachedContent(){super._initializeWithAttachedContent(),this._config.delayFocusTrap||this._trapFocus()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(e,i){1&e&&Tc("@dialogContainer.start",function(r){return i._onAnimationStart(r)})("@dialogContainer.done",function(r){return i._onAnimationDone(r)}),2&e&&(Fr("id",i._id),et("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),Ec("@dialogContainer",i._state))},features:[Ce],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,i){1&e&&b(0,iU,0,0,"ng-template",0)},directives:[Es],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[oU.dialogContainer]}}),t})(),aU=0;class Ti{constructor(n,e,i="mat-dialog-"+aU++){this._overlayRef=n,this._containerInstance=e,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new ie,this._afterClosed=new ie,this._beforeClosed=new ie,this._state=0,e._id=i,e._animationStateChanged.pipe(It(o=>"opened"===o.state),Ot(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(It(o=>"closed"===o.state),Ot(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),n.keydownEvents().pipe(It(o=>27===o.keyCode&&!this.disableClose&&!fi(o))).subscribe(o=>{o.preventDefault(),dv(this,"keyboard")}),n.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():dv(this,"mouse")})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe(It(e=>"closing"===e.state),Ot(1)).subscribe(e=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(n){let e=this._getPositionStrategy();return n&&(n.left||n.right)?n.left?e.left(n.left):e.right(n.right):e.centerHorizontally(),n&&(n.top||n.bottom)?n.top?e.top(n.top):e.bottom(n.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(n="",e=""){return this._overlayRef.updateSize({width:n,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(n){return this._overlayRef.addPanelClass(n),this}removePanelClass(n){return this._overlayRef.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function dv(t,n,e){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=n),t.close(e)}const Yi=new _e("MatDialogData"),lU=new _e("mat-dialog-default-options"),Pk=new _e("mat-dialog-scroll-strategy"),dU={provide:Pk,deps:[Zi],useFactory:function cU(t){return()=>t.scrollStrategies.block()}};let uU=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g){this._overlay=e,this._injector=i,this._defaultOptions=o,this._parentDialog=r,this._overlayContainer=s,this._dialogRefConstructor=l,this._dialogContainerType=u,this._dialogDataToken=p,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ie,this._afterOpenedAtThisLevel=new ie,this._ariaHiddenElements=new Map,this.afterAllClosed=wd(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Nn(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(e,i){i=function hU(t,n){return Object.assign(Object.assign({},n),t)}(i,this._defaultOptions||new cv),i.id&&this.getDialogById(i.id);const o=this._createOverlay(i),r=this._attachDialogContainer(o,i),s=this._attachDialogContent(e,r,o,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(s),s.afterClosed().subscribe(()=>this._removeOpenDialog(s)),this.afterOpened.next(s),r._initializeWithAttachedContent(),s}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(e){const i=this._getOverlayConfig(e);return this._overlay.create(i)}_getOverlayConfig(e){const i=new Al({positionStrategy:this._overlay.position().global(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(i.backdropClass=e.backdropClass),i}_attachDialogContainer(e,i){const r=pn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:cv,useValue:i}]}),s=new Ol(this._dialogContainerType,i.viewContainerRef,r,i.componentFactoryResolver);return e.attach(s).instance}_attachDialogContent(e,i,o,r){const s=new this._dialogRefConstructor(o,i,r.id);if(e instanceof rn)i.attachTemplatePortal(new Wr(e,null,{$implicit:r.data,dialogRef:s}));else{const a=this._createInjector(r,s,i),l=i.attachComponentPortal(new Ol(e,r.viewContainerRef,a,r.componentFactoryResolver));s.componentInstance=l.instance}return s.updateSize(r.width,r.height).updatePosition(r.position),s}_createInjector(e,i,o){const r=e&&e.viewContainerRef&&e.viewContainerRef.injector,s=[{provide:this._dialogContainerType,useValue:o},{provide:this._dialogDataToken,useValue:e.data},{provide:this._dialogRefConstructor,useValue:i}];return e.direction&&(!r||!r.get(ai,null,yt.Optional))&&s.push({provide:ai,useValue:{value:e.direction,change:We()}}),pn.create({parent:r||this._injector,providers:s})}_removeOpenDialog(e){const i=this.openDialogs.indexOf(e);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,r)=>{o?r.setAttribute("aria-hidden",o):r.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const e=this._overlayContainer.getContainerElement();if(e.parentElement){const i=e.parentElement.children;for(let o=i.length-1;o>-1;o--){let r=i[o];r!==e&&"SCRIPT"!==r.nodeName&&"STYLE"!==r.nodeName&&!r.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}}}_closeDialogs(e){let i=e.length;for(;i--;)e[i].close()}}return t.\u0275fac=function(e){Xs()},t.\u0275dir=oe({type:t}),t})(),ns=(()=>{class t extends uU{constructor(e,i,o,r,s,a,l,u){super(e,i,r,a,l,s,Ti,sU,Yi,u)}}return t.\u0275fac=function(e){return new(e||t)(Q(Zi),Q(pn),Q(zc,8),Q(lU,8),Q(Pk),Q(t,12),Q(Vb),Q(gn,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),pU=0,Xi=(()=>{class t{constructor(e,i,o){this.dialogRef=e,this._elementRef=i,this._dialog=o,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=Rk(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){const i=e._matDialogClose||e._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(e){dv(this.dialogRef,0===e.screenX&&0===e.screenY?"keyboard":"mouse",this.dialogResult)}}return t.\u0275fac=function(e){return new(e||t)(_(Ti,8),_(He),_(ns))},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(e,i){1&e&&N("click",function(r){return i._onButtonClick(r)}),2&e&&et("aria-label",i.ariaLabel||null)("type",i.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[nn]}),t})(),fU=(()=>{class t{constructor(e,i,o){this._dialogRef=e,this._elementRef=i,this._dialog=o,this.id="mat-dialog-title-"+pU++}ngOnInit(){this._dialogRef||(this._dialogRef=Rk(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const e=this._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(_(Ti,8),_(He),_(ns))},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(e,i){2&e&&Fr("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),wr=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})(),Dr=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-dialog-actions"]}),t})();function Rk(t,n){let e=t.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-dialog-container");)e=e.parentElement;return e?n.find(i=>i.id===e.id):null}let Fk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[ns,dU],imports:[[Pl,Cd,ft],ft]}),t})();const mU=["tooltip"],Nk="tooltip-panel",Lk=aa({passive:!0}),Bk=new _e("mat-tooltip-scroll-strategy"),vU={provide:Bk,deps:[Zi],useFactory:function bU(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},yU=new _e("mat-tooltip-default-options",{providedIn:"root",factory:function CU(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let wU=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v,C){this._overlay=e,this._elementRef=i,this._scrollDispatcher=o,this._viewContainerRef=r,this._ngZone=s,this._platform=a,this._ariaDescriber=l,this._focusMonitor=u,this._dir=g,this._defaultOptions=v,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this._showDelay=this._defaultOptions.showDelay,this._hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new ie,this._scrollStrategy=p,this._document=C,v&&(v.position&&(this.position=v.position),v.touchGestures&&(this.touchGestures=v.touchGestures)),g.change.pipe(tt(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}get position(){return this._position}set position(e){var i;e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(i=this._tooltipInstance)||void 0===i||i.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=Zn(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=Zn(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(tt(this._destroyed)).subscribe(e=>{e?"keyboard"===e&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,o])=>{e.removeEventListener(i,o,Lk)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const i=this._createOverlay();this._detach(),this._portal=this._portal||new Ol(this._tooltipComponent,this._viewContainerRef);const o=this._tooltipInstance=i.attach(this._portal).instance;o._triggerElement=this._elementRef.nativeElement,o._mouseLeaveHideDelay=this._hideDelay,o.afterHidden().pipe(tt(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),o.show(e)}hide(e=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(e)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){var e;if(this._overlayRef)return this._overlayRef;const i=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),o=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i);return o.positionChanges.pipe(tt(this._destroyed)).subscribe(r=>{this._updateCurrentPositionClass(r.connectionPair),this._tooltipInstance&&r.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:o,panelClass:`${this._cssClassPrefix}-${Nk}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(tt(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(tt(this._destroyed)).subscribe(()=>{var r;return null===(r=this._tooltipInstance)||void 0===r?void 0:r._handleBodyInteraction()}),this._overlayRef.keydownEvents().pipe(tt(this._destroyed)).subscribe(r=>{this._isTooltipVisible()&&27===r.keyCode&&!fi(r)&&(r.preventDefault(),r.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),(null===(e=this._defaultOptions)||void 0===e?void 0:e.disableTooltipInteractivity)&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(e){const i=e.getConfig().positionStrategy,o=this._getOrigin(),r=this._getOverlayPosition();i.withPositions([this._addOffset(Object.assign(Object.assign({},o.main),r.main)),this._addOffset(Object.assign(Object.assign({},o.fallback),r.fallback))])}_addOffset(e){return e}_getOrigin(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i||"below"==i?o={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={originX:"start",originY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={originX:"end",originY:"center"});const{x:r,y:s}=this._invertPosition(o.originX,o.originY);return{main:o,fallback:{originX:r,originY:s}}}_getOverlayPosition(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i?o={overlayX:"center",overlayY:"bottom"}:"below"==i?o={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={overlayX:"start",overlayY:"center"});const{x:r,y:s}=this._invertPosition(o.overlayX,o.overlayY);return{main:o,fallback:{overlayX:r,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(Ot(1),tt(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}_invertPosition(e,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:i}}_updateCurrentPositionClass(e){const{overlayY:i,originX:o,originY:r}=e;let s;if(s="center"===i?this._dir&&"rtl"===this._dir.value?"end"===o?"left":"right":"start"===o?"left":"right":"bottom"===i&&"top"===r?"above":"below",s!==this._currentPosition){const a=this._overlayRef;if(a){const l=`${this._cssClassPrefix}-${Nk}-`;a.removePanelClass(l+this._currentPosition),a.addPanelClass(l+s)}this._currentPosition=s}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const e=[];if(this._platformSupportsMouseEvents())e.push(["mouseleave",i=>{var o;const r=i.relatedTarget;(!r||!(null===(o=this._overlayRef)||void 0===o?void 0:o.overlayElement.contains(r)))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};e.push(["touchend",i],["touchcancel",i])}this._addListeners(e),this._passiveListeners.push(...e)}_addListeners(e){e.forEach(([i,o])=>{this._elementRef.nativeElement.addEventListener(i,o,Lk)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(e){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(e.clientX,e.clientY),o=this._elementRef.nativeElement;i!==o&&!o.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const e=this.touchGestures;if("off"!==e){const i=this._elementRef.nativeElement,o=i.style;("on"===e||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(o.userSelect=o.msUserSelect=o.webkitUserSelect=o.MozUserSelect="none"),("on"===e||!i.draggable)&&(o.webkitUserDrag="none"),o.touchAction="none",o.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){Xs()},t.\u0275dir=oe({type:t,inputs:{position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),ki=(()=>{class t extends wU{constructor(e,i,o,r,s,a,l,u,p,g,v,C){super(e,i,o,r,s,a,l,u,p,g,v,C),this._tooltipComponent=SU}}return t.\u0275fac=function(e){return new(e||t)(_(Zi),_(He),_(vd),_(sn),_(Je),_(dn),_(DV),_(Po),_(Bk),_(ai,8),_(yU,8),_(ht))},t.\u0275dir=oe({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[Ce]}),t})(),DU=(()=>{class t{constructor(e,i){this._changeDetectorRef=e,this._visibility="initial",this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new ie,this._animationsDisabled="NoopAnimations"===i}show(e){clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},e)}hide(e){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},e)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:e}){(!e||!this._triggerElement.contains(e))&&this.hide(this._mouseLeaveHideDelay)}_onShow(){}_handleAnimationEnd({animationName:e}){(e===this._showAnimation||e===this._hideAnimation)&&this._finalizeAnimation(e===this._showAnimation)}_finalizeAnimation(e){e?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(e){const i=this._tooltip.nativeElement,o=this._showAnimation,r=this._hideAnimation;if(i.classList.remove(e?r:o),i.classList.add(e?o:r),this._isVisible=e,e&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const s=getComputedStyle(i);("0s"===s.getPropertyValue("animation-duration")||"none"===s.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}e&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(e))}}return t.\u0275fac=function(e){return new(e||t)(_(At),_(gn,8))},t.\u0275dir=oe({type:t}),t})(),SU=(()=>{class t extends DU{constructor(e,i,o){super(e,o),this._breakpointObserver=i,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)"),this._showAnimation="mat-tooltip-show",this._hideAnimation="mat-tooltip-hide"}}return t.\u0275fac=function(e){return new(e||t)(_(At),_(sv),_(gn,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(1&e&&Tt(mU,7),2&e){let o;Fe(o=Ne())&&(i._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,i){1&e&&N("mouseleave",function(r){return i._handleMouseLeave(r)}),2&e&&pi("zoom",i.isVisible()?1:null)},features:[Ce],decls:4,vars:6,consts:[[1,"mat-tooltip",3,"ngClass","animationend"],["tooltip",""]],template:function(e,i){if(1&e&&(d(0,"div",0,1),N("animationend",function(r){return i._handleAnimationEnd(r)}),ml(2,"async"),h(3),c()),2&e){let o;rt("mat-tooltip-handset",null==(o=gl(2,4,i._isHandset))?null:o.matches),m("ngClass",i.tooltipClass),f(3),Pe(i.message)}},directives:[tr],pipes:[zg],styles:[".mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis;transform:scale(0)}.mat-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}.mat-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-tooltip-show{0%{opacity:0;transform:scale(0)}50%{opacity:.5;transform:scale(0.99)}100%{opacity:1;transform:scale(1)}}@keyframes mat-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}.mat-tooltip-show{animation:mat-tooltip-show 200ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-tooltip-hide{animation:mat-tooltip-hide 100ms cubic-bezier(0, 0, 0.2, 1) forwards}\n"],encapsulation:2,changeDetection:0}),t})(),Vk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[vU],imports:[[SM,Wi,Pl,ft],ft,ks]}),t})();const MU=["input"],xU=function(t){return{enterDuration:t}},TU=["*"],kU=new _e("mat-checkbox-default-options",{providedIn:"root",factory:jk});function jk(){return{color:"accent",clickAction:"check-indeterminate"}}let EU=0;const Hk=jk(),IU={provide:Ki,useExisting:zt(()=>uv),multi:!0};class OU{}const AU=Ml($r(vr(ua(class{constructor(t){this._elementRef=t}}))));let uv=(()=>{class t extends AU{constructor(e,i,o,r,s,a,l){super(e),this._changeDetectorRef=i,this._focusMonitor=o,this._ngZone=r,this._animationMode=a,this._options=l,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++EU,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Ae,this.indeterminateChange=new Ae,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||Hk,this.color=this.defaultColor=this._options.color||Hk.color,this.tabIndex=parseInt(s)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(e){this._required=Xe(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(e){const i=Xe(e);i!=this.checked&&(this._checked=i,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){const i=Xe(e);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(e){const i=e!=this._indeterminate;this._indeterminate=Xe(e),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(e){let i=this._currentCheckState,o=this._elementRef.nativeElement;if(i!==e&&(this._currentAnimationClass.length>0&&o.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){o.classList.add(this._currentAnimationClass);const r=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{o.classList.remove(r)},1e3)})}}_emitChangeEvent(){const e=new OU;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_onInputClick(e){var i;const o=null===(i=this._options)||void 0===i?void 0:i.clickAction;e.stopPropagation(),this.disabled||"noop"===o?!this.disabled&&"noop"===o&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==o&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(e,i){e?this._focusMonitor.focusVia(this._inputElement,e,i):this._inputElement.nativeElement.focus(i)}_onInteractionEvent(e){e.stopPropagation()}_getAnimationClassForCheckStateTransition(e,i){if("NoopAnimations"===this._animationMode)return"";let o="";switch(e){case 0:if(1===i)o="unchecked-checked";else{if(3!=i)return"";o="unchecked-indeterminate"}break;case 2:o=1===i?"unchecked-checked":"unchecked-indeterminate";break;case 1:o=2===i?"checked-unchecked":"checked-indeterminate";break;case 3:o=1===i?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${o}`}_syncIndeterminate(e){const i=this._inputElement;i&&(i.nativeElement.indeterminate=e)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(At),_(Po),_(Je),Di("tabindex"),_(gn,8),_(kU,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-checkbox"]],viewQuery:function(e,i){if(1&e&&(Tt(MU,5),Tt(ir,5)),2&e){let o;Fe(o=Ne())&&(i._inputElement=o.first),Fe(o=Ne())&&(i.ripple=o.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:14,hostBindings:function(e,i){2&e&&(Fr("id",i.id),et("tabindex",null)("aria-label",null)("aria-labelledby",null),rt("mat-checkbox-indeterminate",i.indeterminate)("mat-checkbox-checked",i.checked)("mat-checkbox-disabled",i.disabled)("mat-checkbox-label-before","before"==i.labelPosition)("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],id:"id",required:"required",labelPosition:"labelPosition",name:"name",value:"value",checked:"checked",disabled:"disabled",indeterminate:"indeterminate"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[ze([IU]),Ce],ngContentSelectors:TU,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(e,i){if(1&e&&(Jt(),d(0,"label",0,1)(2,"span",2)(3,"input",3,4),N("change",function(r){return i._onInteractionEvent(r)})("click",function(r){return i._onInputClick(r)}),c(),d(5,"span",5),E(6,"span",6),c(),E(7,"span",7),d(8,"span",8),hn(),d(9,"svg",9),E(10,"path",10),c(),Ks(),E(11,"span",11),c()(),d(12,"span",12,13),N("cdkObserveContent",function(){return i._onLabelTextChange()}),d(14,"span",14),h(15,"\xa0"),c(),ct(16),c()()),2&e){const o=$t(1),r=$t(13);et("for",i.inputId),f(2),rt("mat-checkbox-inner-container-no-side-margin",!r.textContent||!r.textContent.trim()),f(1),m("id",i.inputId)("required",i.required)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex),et("value",i.value)("name",i.name)("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-checked",i._getAriaChecked())("aria-describedby",i.ariaDescribedby),f(2),m("matRippleTrigger",o)("matRippleDisabled",i._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Kt(19,xU,"NoopAnimations"===i._animationMode?0:150))}},directives:[ir,N_],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),Uk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),zk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ha,ft,Ph,Uk],ft,Uk]}),t})();const Sp=["*"],FU=["content"];function NU(t,n){if(1&t){const e=pe();d(0,"div",2),N("click",function(){return se(e),D()._onBackdropClicked()}),c()}2&t&&rt("mat-drawer-shown",D()._isShowingBackdrop())}function LU(t,n){1&t&&(d(0,"mat-drawer-content"),ct(1,2),c())}const BU=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],VU=["mat-drawer","mat-drawer-content","*"];function jU(t,n){if(1&t){const e=pe();d(0,"div",2),N("click",function(){return se(e),D()._onBackdropClicked()}),c()}2&t&&rt("mat-drawer-shown",D()._isShowingBackdrop())}function HU(t,n){1&t&&(d(0,"mat-sidenav-content"),ct(1,2),c())}const UU=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],zU=["mat-sidenav","mat-sidenav-content","*"],$k={transformDrawer:Io("transform",[jn("open, open-instant",Vt({transform:"none",visibility:"visible"})),jn("void",Vt({"box-shadow":"none",visibility:"hidden"})),Kn("void => open-instant",si("0ms")),Kn("void <=> open, open-instant => void",si("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])},GU=new _e("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function WU(){return!1}}),hv=new _e("MAT_DRAWER_CONTAINER");let Mp=(()=>{class t extends yd{constructor(e,i,o,r,s){super(o,r,s),this._changeDetectorRef=e,this._container=i}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}}return t.\u0275fac=function(e){return new(e||t)(_(At),_(zt(()=>Wk)),_(He),_(vd),_(Je))},t.\u0275cmp=Oe({type:t,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:4,hostBindings:function(e,i){2&e&&pi("margin-left",i._container._contentMargins.left,"px")("margin-right",i._container._contentMargins.right,"px")},features:[ze([{provide:yd,useExisting:t}]),Ce],ngContentSelectors:Sp,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),ct(0))},encapsulation:2,changeDetection:0}),t})(),Gk=(()=>{class t{constructor(e,i,o,r,s,a,l,u){this._elementRef=e,this._focusTrapFactory=i,this._focusMonitor=o,this._platform=r,this._ngZone=s,this._interactivityChecker=a,this._doc=l,this._container=u,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._opened=!1,this._animationStarted=new ie,this._animationEnd=new ie,this._animationState="void",this.openedChange=new Ae(!0),this._openedStream=this.openedChange.pipe(It(p=>p),je(()=>{})),this.openedStart=this._animationStarted.pipe(It(p=>p.fromState!==p.toState&&0===p.toState.indexOf("open")),jb(void 0)),this._closedStream=this.openedChange.pipe(It(p=>!p),je(()=>{})),this.closedStart=this._animationStarted.pipe(It(p=>p.fromState!==p.toState&&"void"===p.toState),jb(void 0)),this._destroyed=new ie,this.onPositionChanged=new Ae,this._modeChanged=new ie,this.openedChange.subscribe(p=>{p?(this._doc&&(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement),this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._ngZone.runOutsideAngular(()=>{qi(this._elementRef.nativeElement,"keydown").pipe(It(p=>27===p.keyCode&&!this.disableClose&&!fi(p)),tt(this._destroyed)).subscribe(p=>this._ngZone.run(()=>{this.close(),p.stopPropagation(),p.preventDefault()}))}),this._animationEnd.pipe(nd((p,g)=>p.fromState===g.fromState&&p.toState===g.toState)).subscribe(p=>{const{fromState:g,toState:v}=p;(0===v.indexOf("open")&&"void"===g||"void"===v&&0===g.indexOf("open"))&&this.openedChange.emit(this._opened)})}get position(){return this._position}set position(e){(e="end"===e?"end":"start")!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=Xe(e)}get autoFocus(){const e=this._autoFocus;return null==e?"side"===this.mode?"dialog":"first-tabbable":e}set autoFocus(e){("true"===e||"false"===e||null==e)&&(e=Xe(e)),this._autoFocus=e}get opened(){return this._opened}set opened(e){this.toggle(Xe(e))}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const o=()=>{e.removeEventListener("blur",o),e.removeEventListener("mousedown",o),e.removeAttribute("tabindex")};e.addEventListener("blur",o),e.addEventListener("mousedown",o)})),e.focus(i)}_focusByCssSelector(e,i){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,i)}_takeFocus(){if(!this._focusTrap)return;const e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(i=>{!i&&"function"==typeof this._elementRef.nativeElement.focus&&e.focus()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus)}}_restoreFocus(e){"dialog"!==this.autoFocus&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){const e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState(),"end"===this._position&&this._updatePositionInParent("end")}ngAfterContentChecked(){this._platform.isBrowser&&(this._enableAnimations=!0)}ngOnDestroy(){var e;this._focusTrap&&this._focusTrap.destroy(),null===(e=this._anchor)||void 0===e||e.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,i){e&&i&&(this._openedVia=i);const o=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),o}_setOpen(e,i,o){return this._opened=e,e?this._animationState=this._enableAnimations?"open":"open-instant":(this._animationState="void",i&&this._restoreFocus(o)),this._updateFocusTrapState(),new Promise(r=>{this.openedChange.pipe(Ot(1)).subscribe(s=>r(s?"open":"close"))})}_getWidth(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&"side"!==this.mode)}_updatePositionInParent(e){const i=this._elementRef.nativeElement,o=i.parentNode;"end"===e?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),o.insertBefore(this._anchor,i)),o.appendChild(i)):this._anchor&&this._anchor.parentNode.insertBefore(i,this._anchor)}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(vM),_(Po),_(dn),_(Je),_(B_),_(ht,8),_(hv,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-drawer"]],viewQuery:function(e,i){if(1&e&&Tt(FU,5),2&e){let o;Fe(o=Ne())&&(i._content=o.first)}},hostAttrs:["tabIndex","-1",1,"mat-drawer"],hostVars:12,hostBindings:function(e,i){1&e&&Tc("@transform.start",function(r){return i._animationStarted.next(r)})("@transform.done",function(r){return i._animationEnd.next(r)}),2&e&&(et("align",null),Ec("@transform",i._animationState),rt("mat-drawer-end","end"===i.position)("mat-drawer-over","over"===i.mode)("mat-drawer-push","push"===i.mode)("mat-drawer-side","side"===i.mode)("mat-drawer-opened",i.opened))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:Sp,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(e,i){1&e&&(Jt(),d(0,"div",0,1),ct(2),c())},directives:[yd],encapsulation:2,data:{animation:[$k.transformDrawer]},changeDetection:0}),t})(),Wk=(()=>{class t{constructor(e,i,o,r,s,a=!1,l){this._dir=e,this._element=i,this._ngZone=o,this._changeDetectorRef=r,this._animationMode=l,this._drawers=new _s,this.backdropClick=new Ae,this._destroyed=new ie,this._doCheckSubject=new ie,this._contentMargins={left:null,right:null},this._contentMarginChanges=new ie,e&&e.change.pipe(tt(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),s.change().pipe(tt(this._destroyed)).subscribe(()=>this.updateContentMargins()),this._autosize=a}get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=Xe(e)}get hasBackdrop(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride}set hasBackdrop(e){this._backdropOverride=null==e?null:Xe(e)}get scrollable(){return this._userContent||this._content}ngAfterContentInit(){this._allDrawers.changes.pipe(Nn(this._allDrawers),tt(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(i=>!i._container||i._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(Nn(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(Oh(10),tt(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,i=0;if(this._left&&this._left.opened)if("side"==this._left.mode)e+=this._left._getWidth();else if("push"==this._left.mode){const o=this._left._getWidth();e+=o,i-=o}if(this._right&&this._right.opened)if("side"==this._right.mode)i+=this._right._getWidth();else if("push"==this._right.mode){const o=this._right._getWidth();i+=o,e-=o}e=e||null,i=i||null,(e!==this._contentMargins.left||i!==this._contentMargins.right)&&(this._contentMargins={left:e,right:i},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(It(i=>i.fromState!==i.toState),tt(this._drawers.changes)).subscribe(i=>{"open-instant"!==i.toState&&"NoopAnimations"!==this._animationMode&&this._element.nativeElement.classList.add("mat-drawer-transition"),this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),"side"!==e.mode&&e.openedChange.pipe(tt(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){!e||e.onPositionChanged.pipe(tt(this._drawers.changes)).subscribe(()=>{this._ngZone.onMicrotaskEmpty.pipe(Ot(1)).subscribe(()=>{this._validateDrawers()})})}_watchDrawerMode(e){e&&e._modeChanged.pipe(tt(Tn(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){const i=this._element.nativeElement.classList,o="mat-drawer-container-has-open";e?i.add(o):i.remove(o)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{"end"==e.position?this._end=e:this._start=e}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._canHaveBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)}_canHaveBackdrop(e){return"side"!==e.mode||!!this._backdropOverride}_isDrawerOpen(e){return null!=e&&e.opened}}return t.\u0275fac=function(e){return new(e||t)(_(ai,8),_(He),_(Je),_(At),_(yr),_(GU),_(gn,8))},t.\u0275cmp=Oe({type:t,selectors:[["mat-drawer-container"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,Mp,5),mt(o,Gk,5)),2&e){let r;Fe(r=Ne())&&(i._content=r.first),Fe(r=Ne())&&(i._allDrawers=r)}},viewQuery:function(e,i){if(1&e&&Tt(Mp,5),2&e){let o;Fe(o=Ne())&&(i._userContent=o.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-drawer-container-explicit-backdrop",i._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[ze([{provide:hv,useExisting:t}])],ngContentSelectors:VU,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(e,i){1&e&&(Jt(BU),b(0,NU,1,2,"div",0),ct(1),ct(2,1),b(3,LU,2,0,"mat-drawer-content",1)),2&e&&(m("ngIf",i.hasBackdrop),f(3),m("ngIf",!i._content))},directives:[Mp,Et],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\n'],encapsulation:2,changeDetection:0}),t})(),pv=(()=>{class t extends Mp{constructor(e,i,o,r,s){super(e,i,o,r,s)}}return t.\u0275fac=function(e){return new(e||t)(_(At),_(zt(()=>Kk)),_(He),_(vd),_(Je))},t.\u0275cmp=Oe({type:t,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],hostVars:4,hostBindings:function(e,i){2&e&&pi("margin-left",i._container._contentMargins.left,"px")("margin-right",i._container._contentMargins.right,"px")},features:[ze([{provide:yd,useExisting:t}]),Ce],ngContentSelectors:Sp,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),ct(0))},encapsulation:2,changeDetection:0}),t})(),qk=(()=>{class t extends Gk{constructor(){super(...arguments),this._fixedInViewport=!1,this._fixedTopGap=0,this._fixedBottomGap=0}get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=Xe(e)}get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=Zn(e)}get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=Zn(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-sidenav"]],hostAttrs:["tabIndex","-1",1,"mat-drawer","mat-sidenav"],hostVars:17,hostBindings:function(e,i){2&e&&(et("align",null),pi("top",i.fixedInViewport?i.fixedTopGap:null,"px")("bottom",i.fixedInViewport?i.fixedBottomGap:null,"px"),rt("mat-drawer-end","end"===i.position)("mat-drawer-over","over"===i.mode)("mat-drawer-push","push"===i.mode)("mat-drawer-side","side"===i.mode)("mat-drawer-opened",i.opened)("mat-sidenav-fixed",i.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[Ce],ngContentSelectors:Sp,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(e,i){1&e&&(Jt(),d(0,"div",0,1),ct(2),c())},directives:[yd],encapsulation:2,data:{animation:[$k.transformDrawer]},changeDetection:0}),t})(),Kk=(()=>{class t extends Wk{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-sidenav-container"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,pv,5),mt(o,qk,5)),2&e){let r;Fe(r=Ne())&&(i._content=r.first),Fe(r=Ne())&&(i._allDrawers=r)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-drawer-container-explicit-backdrop",i._backdropOverride)},exportAs:["matSidenavContainer"],features:[ze([{provide:hv,useExisting:t}]),Ce],ngContentSelectors:zU,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(e,i){1&e&&(Jt(UU),b(0,jU,1,2,"div",0),ct(1),ct(2,1),b(3,HU,2,0,"mat-sidenav-content",1)),2&e&&(m("ngIf",i.hasBackdrop),f(3),m("ngIf",!i._content))},directives:[pv,Et],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\n'],encapsulation:2,changeDetection:0}),t})(),Zk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Wi,ft,ks],ks,ft]}),t})();const qU=["panel"];function KU(t,n){if(1&t&&(d(0,"div",0,1),ct(2),c()),2&t){const e=n.id,i=D();m("id",i.id)("ngClass",i._classList),et("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(e))}}const ZU=["*"];let QU=0;class YU{constructor(n,e){this.source=n,this.option=e}}const XU=vr(class{}),Qk=new _e("mat-autocomplete-default-options",{providedIn:"root",factory:function JU(){return{autoActiveFirstOption:!1}}});let ez=(()=>{class t extends XU{constructor(e,i,o,r){super(),this._changeDetectorRef=e,this._elementRef=i,this._activeOptionChanges=k.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Ae,this.opened=new Ae,this.closed=new Ae,this.optionActivated=new Ae,this._classList={},this.id="mat-autocomplete-"+QU++,this.inertGroups=(null==r?void 0:r.SAFARI)||!1,this._autoActiveFirstOption=!!o.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(e){this._autoActiveFirstOption=Xe(e)}set classList(e){this._classList=e&&e.length?function vV(t,n=/\s+/){const e=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(n);for(const o of i){const r=`${o}`.trim();r&&e.push(r)}}return e}(e).reduce((i,o)=>(i[o]=!0,i),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new gM(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(e=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[e]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(e){const i=new YU(this,e);this.optionSelected.emit(i)}_getPanelAriaLabelledby(e){return this.ariaLabel?null:this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_setVisibilityClasses(e){e[this._visibleClass]=this.showPanel,e[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(_(At),_(He),_(Qk),_(dn))},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&(Tt(rn,7),Tt(qU,5)),2&e){let o;Fe(o=Ne())&&(i.template=o.first),Fe(o=Ne())&&(i.panel=o.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",panelWidth:"panelWidth",classList:["class","classList"]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[Ce]}),t})(),tz=(()=>{class t extends ez{constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Oe({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,q_,5),mt(o,_i,5)),2&e){let r;Fe(r=Ne())&&(i.optionGroups=r),Fe(r=Ne())&&(i.options=r)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[ze([{provide:W_,useExisting:t}]),Ce],ngContentSelectors:ZU,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(e,i){1&e&&(Jt(),b(0,KU,3,4,"ng-template"))},directives:[tr],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const Yk=new _e("mat-autocomplete-scroll-strategy"),iz={provide:Yk,deps:[Zi],useFactory:function nz(t){return()=>t.scrollStrategies.reposition()}},oz={provide:Ki,useExisting:zt(()=>Xk),multi:!0};let rz=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v){this._element=e,this._overlay=i,this._viewContainerRef=o,this._zone=r,this._changeDetectorRef=s,this._dir=l,this._formField=u,this._document=p,this._viewportRuler=g,this._defaults=v,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=k.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new ie,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=wd(()=>{const C=this.autocomplete?this.autocomplete.options:null;return C?C.changes.pipe(Nn(C),Li(()=>Tn(...C.map(M=>M.onSelectionChange)))):this._zone.onStable.pipe(Ot(1),Li(()=>this.optionSelections))}),this._scrollStrategy=a}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(e){this._autocompleteDisabled=Xe(e)}ngAfterViewInit(){const e=this._getWindow();void 0!==e&&this._zone.runOutsideAngular(()=>e.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const e=this._getWindow();void 0!==e&&e.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Tn(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(It(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(It(()=>this._overlayAttached)):We()).pipe(je(e=>e instanceof PM?e:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Tn(qi(this._document,"click"),qi(this._document,"auxclick"),qi(this._document,"touchend")).pipe(It(e=>{const i=Cs(e),o=this._formField?this._formField._elementRef.nativeElement:null,r=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&i!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!o||!o.contains(i))&&(!r||!r.contains(i))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(i)}))}writeValue(e){Promise.resolve().then(()=>this._setTriggerValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){const i=e.keyCode,o=fi(e);if(27===i&&!o&&e.preventDefault(),this.activeOption&&13===i&&this.panelOpen&&!o)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){const r=this.autocomplete._keyManager.activeItem,s=38===i||40===i;9===i||s&&!o&&this.panelOpen?this.autocomplete._keyManager.onKeydown(e):s&&this._canOpen()&&this.openPanel(),(s||this.autocomplete._keyManager.activeItem!==r)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(e){let i=e.target,o=i.value;"number"===i.type&&(o=""==o?null:parseFloat(o)),this._previousValue!==o&&(this._previousValue=o,this._onChange(o),this._canOpen()&&this._document.activeElement===e.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this.openPanel()}_floatLabel(e=!1){this._formField&&"auto"===this._formField.floatLabel&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Tn(this._zone.onStable.pipe(Ot(1)),this.autocomplete.options.changes.pipe(Zt(()=>this._positionStrategy.reapplyLastPosition()),Hb(0))).pipe(Li(()=>(this._zone.run(()=>{const o=this.panelOpen;this._resetActiveItem(),this.autocomplete._setVisibility(),this._changeDetectorRef.detectChanges(),this.panelOpen&&(this._overlayRef.updatePosition(),o!==this.panelOpen&&this.autocomplete.opened.emit())}),this.panelClosingActions)),Ot(1)).subscribe(o=>this._setValueAndClose(o))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(e){const i=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(e):e,o=null!=i?i:"";this._formField?this._formField._control.value=o:this._element.nativeElement.value=o,this._previousValue=o}_setValueAndClose(e){const i=e&&e.source;i&&(this._clearPreviousSelectedOption(i),this._setTriggerValue(i.value),this._onChange(i.value),this.autocomplete._emitSelectEvent(i),this._element.nativeElement.focus()),this.closePanel()}_clearPreviousSelectedOption(e){this.autocomplete.options.forEach(i=>{i!==e&&i.selected&&i.deselect()})}_attachOverlay(){var e;let i=this._overlayRef;i?(this._positionStrategy.setOrigin(this._getConnectedElement()),i.updateSize({width:this._getPanelWidth()})):(this._portal=new Wr(this.autocomplete.template,this._viewContainerRef,{id:null===(e=this._formField)||void 0===e?void 0:e.getLabelId()}),i=this._overlay.create(this._getOverlayConfig()),this._overlayRef=i,i.keydownEvents().subscribe(r=>{(27===r.keyCode&&!fi(r)||38===r.keyCode&&fi(r,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),r.stopPropagation(),r.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&i&&i.updateSize({width:this._getPanelWidth()})})),i&&!i.hasAttached()&&(i.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const o=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&o!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var e;return new Al({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(e=this._defaults)||void 0===e?void 0:e.overlayPanelClass})}_getOverlayPosition(){const e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}_setStrategyPositions(e){const i=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],o=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:o},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:o}];let s;s="above"===this.position?r:"below"===this.position?i:[...i,...r],e.withPositions(s)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const e=this.autocomplete;e.autoActiveFirstOption?e._keyManager.setFirstItemActive():e._keyManager.setActiveItem(-1)}_canOpen(){const e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this._autocompleteDisabled}_getWindow(){var e;return(null===(e=this._document)||void 0===e?void 0:e.defaultView)||window}_scrollToOption(e){const i=this.autocomplete,o=K_(e,i.options,i.optionGroups);if(0===e&&1===o)i._setScrollTop(0);else if(i.panel){const r=i.options.toArray()[e];if(r){const s=r._getHostElement(),a=RM(s.offsetTop,s.offsetHeight,i._getScrollTop(),i.panel.nativeElement.offsetHeight);i._setScrollTop(a)}}}}return t.\u0275fac=function(e){return new(e||t)(_(He),_(Zi),_(sn),_(Je),_(At),_(Yk),_(ai,8),_(ip,9),_(ht,8),_(yr),_(Qk,8))},t.\u0275dir=oe({type:t,inputs:{autocomplete:["matAutocomplete","autocomplete"],position:["matAutocompletePosition","position"],connectedTo:["matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"]},features:[nn]}),t})(),Xk=(()=>{class t extends rz{constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(e,i){1&e&&N("focusin",function(){return i._handleFocus()})("blur",function(){return i._onTouched()})("input",function(r){return i._handleInput(r)})("keydown",function(r){return i._handleKeydown(r)})("click",function(){return i._handleClick()}),2&e&&et("autocomplete",i.autocompleteAttribute)("role",i.autocompleteDisabled?null:"combobox")("aria-autocomplete",i.autocompleteDisabled?null:"list")("aria-activedescendant",i.panelOpen&&i.activeOption?i.activeOption.id:null)("aria-expanded",i.autocompleteDisabled?null:i.panelOpen.toString())("aria-owns",i.autocompleteDisabled||!i.panelOpen||null==i.autocomplete?null:i.autocomplete.id)("aria-haspopup",i.autocompleteDisabled?null:"listbox")},exportAs:["matAutocompleteTrigger"],features:[ze([oz]),Ce]}),t})(),Jk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[iz],imports:[[Pl,Bh,ft,Wi],ks,Bh,ft]}),t})();const sz=[FM,Z_,ix,sx,dx,hT,_d,CT,BT,Eb,GT,vp,ik,ev,vp,hk,Mk,lv,Fk,Ib,Vk,zk,Zk,Jk];let az=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[sz,FM,Z_,ix,sx,dx,hT,_d,CT,BT,Eb,GT,vp,ik,ev,vp,hk,Mk,lv,Fk,Ib,Vk,zk,Zk,Jk]}),t})();const lz=["input"],cz=function(t){return{enterDuration:t}},dz=["*"],uz=new _e("mat-radio-default-options",{providedIn:"root",factory:function hz(){return{color:"accent"}}});let eE=0;const pz={provide:Ki,useExisting:zt(()=>xp),multi:!0};class tE{constructor(n,e){this.source=n,this.value=e}}const nE=new _e("MatRadioGroup");let fz=(()=>{class t{constructor(e){this._changeDetector=e,this._value=null,this._name="mat-radio-group-"+eE++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Ae}get name(){return this._name}set name(e){this._name=e,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e),this._markRadiosForCheck()}get required(){return this._required}set required(e){this._required=Xe(e),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(e=>{e.name=this.name,e._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(i=>{i.checked=this.value===i.value,i.checked&&(this._selected=i)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new tE(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(e=>e._markForCheck())}writeValue(e){this.value=e,this._changeDetector.markForCheck()}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(_(At))},t.\u0275dir=oe({type:t,inputs:{color:"color",name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required"},outputs:{change:"change"}}),t})(),xp=(()=>{class t extends fz{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["mat-radio-group"]],contentQueries:function(e,i,o){if(1&e&&mt(o,Tp,5),2&e){let r;Fe(r=Ne())&&(i._radios=r)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[ze([pz,{provide:nE,useExisting:t}]),Ce]}),t})();class mz{constructor(n){this._elementRef=n}}const gz=vr(Ml(mz));let _z=(()=>{class t extends gz{constructor(e,i,o,r,s,a,l,u){super(i),this._changeDetector=o,this._focusMonitor=r,this._radioDispatcher=s,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++eE,this.id=this._uniqueId,this.change=new Ae,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=e,this._noopAnimations="NoopAnimations"===a,u&&(this.tabIndex=Zn(u,0)),this._removeUniqueSelectionListener=s.listen((p,g)=>{p!==this.id&&g===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(e){const i=Xe(e);this._checked!==i&&(this._checked=i,i&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!i&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),i&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(e){this._labelPosition=e}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(e){this._setDisabled(Xe(e))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(e){this._required=Xe(e)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(e){this._color=e}get inputId(){return`${this.id||this._uniqueId}-input`}focus(e,i){i?this._focusMonitor.focusVia(this._inputElement,i,e):this._inputElement.nativeElement.focus(e)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{!e&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new tE(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(e){e.stopPropagation()}_onInputInteraction(e){if(e.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_setDisabled(e){this._disabled!==e&&(this._disabled=e,this._changeDetector.markForCheck())}_updateTabIndex(){var e;const i=this.radioGroup;let o;if(o=i&&i.selected&&!this.disabled?i.selected===this?this.tabIndex:-1:this.tabIndex,o!==this._previousTabIndex){const r=null===(e=this._inputElement)||void 0===e?void 0:e.nativeElement;r&&(r.setAttribute("tabindex",o+""),this._previousTabIndex=o)}}}return t.\u0275fac=function(e){Xs()},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&Tt(lz,5),2&e){let o;Fe(o=Ne())&&(i._inputElement=o.first)}},inputs:{id:"id",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"},features:[Ce]}),t})(),Tp=(()=>{class t extends _z{constructor(e,i,o,r,s,a,l,u){super(e,i,o,r,s,a,l,u)}}return t.\u0275fac=function(e){return new(e||t)(_(nE,8),_(He),_(At),_(Po),_(sb),_(gn,8),_(uz,8),Di("tabindex"))},t.\u0275cmp=Oe({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(e,i){1&e&&N("focus",function(){return i._inputElement.nativeElement.focus()}),2&e&&(et("tabindex",null)("id",i.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),rt("mat-radio-checked",i.checked)("mat-radio-disabled",i.disabled)("_mat-animation-noopable",i._noopAnimations)("mat-primary","primary"===i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[Ce],ngContentSelectors:dz,decls:13,vars:19,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input",3,"id","checked","disabled","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(e,i){if(1&e&&(Jt(),d(0,"label",0,1)(2,"span",2),E(3,"span",3)(4,"span",4),d(5,"input",5,6),N("change",function(r){return i._onInputInteraction(r)})("click",function(r){return i._onInputClick(r)}),c(),d(7,"span",7),E(8,"span",8),c()(),d(9,"span",9)(10,"span",10),h(11,"\xa0"),c(),ct(12),c()()),2&e){const o=$t(1);et("for",i.inputId),f(5),m("id",i.inputId)("checked",i.checked)("disabled",i.disabled)("required",i.required),et("name",i.name)("value",i.value)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),f(2),m("matRippleTrigger",o)("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Kt(17,cz,i._noopAnimations?0:150)),f(2),rt("mat-radio-label-before","before"==i.labelPosition)}},directives:[ir],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})(),bz=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ha,ft],ft]}),t})();class vz{constructor(n,e){this._document=e;const i=this._textarea=this._document.createElement("textarea"),o=i.style;o.position="fixed",o.top=o.opacity="0",o.left="-999em",i.setAttribute("aria-hidden","true"),i.value=n,this._document.body.appendChild(i)}copy(){const n=this._textarea;let e=!1;try{if(n){const i=this._document.activeElement;n.select(),n.setSelectionRange(0,n.value.length),e=this._document.execCommand("copy"),i&&i.focus()}}catch(i){}return e}destroy(){const n=this._textarea;n&&(n.remove(),this._textarea=void 0)}}let yz=(()=>{class t{constructor(e){this._document=e}copy(e){const i=this.beginCopy(e),o=i.copy();return i.destroy(),o}beginCopy(e){return new vz(e,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Cz=new _e("CDK_COPY_TO_CLIPBOARD_CONFIG");let fv=(()=>{class t{constructor(e,i,o){this._clipboard=e,this._ngZone=i,this.text="",this.attempts=1,this.copied=new Ae,this._pending=new Set,o&&null!=o.attempts&&(this.attempts=o.attempts)}copy(e=this.attempts){if(e>1){let i=e;const o=this._clipboard.beginCopy(this.text);this._pending.add(o);const r=()=>{const s=o.copy();s||!--i||this._destroyed?(this._currentTimeout=null,this._pending.delete(o),o.destroy(),this.copied.emit(s)):this._currentTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(r,1))};r()}else this.copied.emit(this._clipboard.copy(this.text))}ngOnDestroy(){this._currentTimeout&&clearTimeout(this._currentTimeout),this._pending.forEach(e=>e.destroy()),this._pending.clear(),this._destroyed=!0}}return t.\u0275fac=function(e){return new(e||t)(_(yz),_(Je),_(Cz,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkCopyToClipboard",""]],hostBindings:function(e,i){1&e&&N("click",function(){return i.copy()})},inputs:{text:["cdkCopyToClipboard","text"],attempts:["cdkCopyToClipboardAttempts","attempts"]},outputs:{copied:"cdkCopyToClipboardCopied"}}),t})(),wz=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const kp=R(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function iE(){return nt((t,n)=>{let e=null;t._refCount++;const i=st(n,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount)return void(e=null);const o=t._connection,r=e;e=null,o&&(!r||o===r)&&o.unsubscribe(),n.unsubscribe()});t.subscribe(i),i.closed||(e=t.connect())})}class Dz extends Ue{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._subject=null,this._refCount=0,this._connection=null,ei(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,null==n||n.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new k;const e=this.getSubject();n.add(this.source.subscribe(st(e,void 0,()=>{this._teardown(),e.complete()},i=>{this._teardown(),e.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=k.EMPTY)}return n}refCount(){return iE()(this)}}function Sz(t,n,e,i,o){return(r,s)=>{let a=e,l=n,u=0;r.subscribe(st(s,p=>{const g=u++;l=a?t(l,p,g):(a=!0,p),i&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}function oE(t,n){return nt(Sz(t,n,arguments.length>=2,!0))}function mv(t){return t<=0?()=>vo:nt((n,e)=>{let i=[];n.subscribe(st(e,o=>{i.push(o),t{for(const o of i)e.next(o);e.complete()},void 0,()=>{i=null}))})}function rE(t=Mz){return nt((n,e)=>{let i=!1;n.subscribe(st(e,o=>{i=!0,e.next(o)},()=>i?e.complete():e.error(t())))})}function Mz(){return new kp}function sE(t){return nt((n,e)=>{let i=!1;n.subscribe(st(e,o=>{i=!0,e.next(o)},()=>{i||e.next(t),e.complete()}))})}function Hl(t,n){const e=arguments.length>=2;return i=>i.pipe(t?It((o,r)=>t(o,r,i)):Me,Ot(1),e?sE(n):rE(()=>new kp))}class is{constructor(n,e){this.id=n,this.url=e}}class gv extends is{constructor(n,e,i="imperative",o=null){super(n,e),this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ed extends is{constructor(n,e,i){super(n,e),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class aE extends is{constructor(n,e,i){super(n,e),this.reason=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Tz extends is{constructor(n,e,i){super(n,e),this.error=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class kz extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ez extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Iz extends is{constructor(n,e,i,o,r){super(n,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=r}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Oz extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Az extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class lE{constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class cE{constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Pz{constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Rz{constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Fz{constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Nz{constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class dE{constructor(n,e,i){this.routerEvent=n,this.position=e,this.anchor=i}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const Nt="primary";class Lz{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function Ul(t){return new Lz(t)}const uE="ngNavigationCancelingError";function _v(t){const n=Error("NavigationCancelingError: "+t);return n[uE]=!0,n}function Vz(t,n,e){const i=e.path.split("/");if(i.length>t.length||"full"===e.pathMatch&&(n.hasChildren()||i.lengthi[r]===o)}return t===n}function pE(t){return Array.prototype.concat.apply([],t)}function fE(t){return t.length>0?t[t.length-1]:null}function vi(t,n){for(const e in t)t.hasOwnProperty(e)&&n(t[e],e)}function Mr(t){return $m(t)?t:xc(t)?ui(Promise.resolve(t)):We(t)}const Uz={exact:function _E(t,n,e){if(!ba(t.segments,n.segments)||!Ep(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!t.children[i]||!_E(t.children[i],n.children[i],e))return!1;return!0},subset:bE},mE={exact:function zz(t,n){return Sr(t,n)},subset:function $z(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>hE(t[e],n[e]))},ignored:()=>!0};function gE(t,n,e){return Uz[e.paths](t.root,n.root,e.matrixParams)&&mE[e.queryParams](t.queryParams,n.queryParams)&&!("exact"===e.fragment&&t.fragment!==n.fragment)}function bE(t,n,e){return vE(t,n,n.segments,e)}function vE(t,n,e,i){if(t.segments.length>e.length){const o=t.segments.slice(0,e.length);return!(!ba(o,e)||n.hasChildren()||!Ep(o,e,i))}if(t.segments.length===e.length){if(!ba(t.segments,e)||!Ep(t.segments,e,i))return!1;for(const o in n.children)if(!t.children[o]||!bE(t.children[o],n.children[o],i))return!1;return!0}{const o=e.slice(0,t.segments.length),r=e.slice(t.segments.length);return!!(ba(t.segments,o)&&Ep(t.segments,o,i)&&t.children[Nt])&&vE(t.children[Nt],n,r,i)}}function Ep(t,n,e){return n.every((i,o)=>mE[e](t[o].parameters,i.parameters))}class _a{constructor(n,e,i){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ul(this.queryParams)),this._queryParamMap}toString(){return qz.serialize(this)}}class Ut{constructor(n,e){this.segments=n,this.children=e,this.parent=null,vi(e,(i,o)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Ip(this)}}class Id{constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=Ul(this.parameters)),this._parameterMap}toString(){return SE(this)}}function ba(t,n){return t.length===n.length&&t.every((e,i)=>e.path===n[i].path)}class yE{}class CE{parse(n){const e=new n$(n);return new _a(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){const e=`/${Od(n.root,!0)}`,i=function Qz(t){const n=Object.keys(t).map(e=>{const i=t[e];return Array.isArray(i)?i.map(o=>`${Op(e)}=${Op(o)}`).join("&"):`${Op(e)}=${Op(i)}`}).filter(e=>!!e);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${e}${i}${"string"==typeof n.fragment?`#${function Kz(t){return encodeURI(t)}(n.fragment)}`:""}`}}const qz=new CE;function Ip(t){return t.segments.map(n=>SE(n)).join("/")}function Od(t,n){if(!t.hasChildren())return Ip(t);if(n){const e=t.children[Nt]?Od(t.children[Nt],!1):"",i=[];return vi(t.children,(o,r)=>{r!==Nt&&i.push(`${r}:${Od(o,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function Wz(t,n){let e=[];return vi(t.children,(i,o)=>{o===Nt&&(e=e.concat(n(i,o)))}),vi(t.children,(i,o)=>{o!==Nt&&(e=e.concat(n(i,o)))}),e}(t,(i,o)=>o===Nt?[Od(t.children[Nt],!1)]:[`${o}:${Od(i,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children[Nt]?`${Ip(t)}/${e[0]}`:`${Ip(t)}/(${e.join("//")})`}}function wE(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Op(t){return wE(t).replace(/%3B/gi,";")}function bv(t){return wE(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ap(t){return decodeURIComponent(t)}function DE(t){return Ap(t.replace(/\+/g,"%20"))}function SE(t){return`${bv(t.path)}${function Zz(t){return Object.keys(t).map(n=>`;${bv(n)}=${bv(t[n])}`).join("")}(t.parameters)}`}const Yz=/^[^\/()?;=#]+/;function Pp(t){const n=t.match(Yz);return n?n[0]:""}const Xz=/^[^=?&#]+/,e$=/^[^&#]+/;class n${constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ut([],{}):new Ut([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(i[Nt]=new Ut(n,e)),i}parseSegment(){const n=Pp(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(n),new Id(Ap(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const e=Pp(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const o=Pp(this.remaining);o&&(i=o,this.capture(i))}n[Ap(e)]=Ap(i)}parseQueryParam(n){const e=function Jz(t){const n=t.match(Xz);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const s=function t$(t){const n=t.match(e$);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const o=DE(e),r=DE(i);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(r)}else n[o]=r}parseParens(n){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Pp(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new Error(`Cannot parse url '${this.url}'`);let r;i.indexOf(":")>-1?(r=i.substr(0,i.indexOf(":")),this.capture(r),this.capture(":")):n&&(r=Nt);const s=this.parseChildren();e[r]=1===Object.keys(s).length?s[Nt]:new Ut([],s),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new Error(`Expected "${n}".`)}}class ME{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){const e=vv(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){const e=vv(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){const e=yv(n,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return yv(n,this._root).map(e=>e.value)}}function vv(t,n){if(t===n.value)return n;for(const e of n.children){const i=vv(t,e);if(i)return i}return null}function yv(t,n){if(t===n.value)return[n];for(const e of n.children){const i=yv(t,e);if(i.length)return i.unshift(n),i}return[]}class os{constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}}function zl(t){const n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}class xE extends ME{constructor(n,e){super(n),this.snapshot=e,Cv(this,n)}toString(){return this.snapshot.toString()}}function TE(t,n){const e=function i$(t,n){const s=new Rp([],{},{},"",{},Nt,n,null,t.root,-1,{});return new EE("",new os(s,[]))}(t,n),i=new vt([new Id("",{})]),o=new vt({}),r=new vt({}),s=new vt({}),a=new vt(""),l=new $l(i,o,s,a,r,Nt,n,e.root);return l.snapshot=e.root,new xE(new os(l,[]),e)}class $l{constructor(n,e,i,o,r,s,a,l){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=a,this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(je(n=>Ul(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(je(n=>Ul(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function kE(t,n="emptyOnly"){const e=t.pathFromRoot;let i=0;if("always"!==n)for(i=e.length-1;i>=1;){const o=e[i],r=e[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(r.component)break;i--}}return function o$(t){return t.reduce((n,e)=>({params:Object.assign(Object.assign({},n.params),e.params),data:Object.assign(Object.assign({},n.data),e.data),resolve:Object.assign(Object.assign({},n.resolve),e._resolvedData)}),{params:{},data:{},resolve:{}})}(e.slice(i))}class Rp{constructor(n,e,i,o,r,s,a,l,u,p,g){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=a,this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=p,this._resolve=g}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=Ul(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ul(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class EE extends ME{constructor(n,e){super(e),this.url=n,Cv(this,e)}toString(){return IE(this._root)}}function Cv(t,n){n.value._routerState=t,n.children.forEach(e=>Cv(t,e))}function IE(t){const n=t.children.length>0?` { ${t.children.map(IE).join(", ")} } `:"";return`${t.value}${n}`}function wv(t){if(t.snapshot){const n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,Sr(n.queryParams,e.queryParams)||t.queryParams.next(e.queryParams),n.fragment!==e.fragment&&t.fragment.next(e.fragment),Sr(n.params,e.params)||t.params.next(e.params),function jz(t,n){if(t.length!==n.length)return!1;for(let e=0;eSr(e.parameters,n[i].parameters))}(t.url,n.url);return e&&!(!t.parent!=!n.parent)&&(!t.parent||Dv(t.parent,n.parent))}function Ad(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){const i=e.value;i._futureSnapshot=n.value;const o=function s$(t,n,e){return n.children.map(i=>{for(const o of e.children)if(t.shouldReuseRoute(i.value,o.value.snapshot))return Ad(t,i,o);return Ad(t,i)})}(t,n,e);return new os(i,o)}{if(t.shouldAttach(n.value)){const r=t.retrieve(n.value);if(null!==r){const s=r.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Ad(t,a)),s}}const i=function a$(t){return new $l(new vt(t.url),new vt(t.params),new vt(t.queryParams),new vt(t.fragment),new vt(t.data),t.outlet,t.component,t)}(n.value),o=n.children.map(r=>Ad(t,r));return new os(i,o)}}function Fp(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Pd(t){return"object"==typeof t&&null!=t&&t.outlets}function Sv(t,n,e,i,o){let r={};if(i&&vi(i,(a,l)=>{r[l]=Array.isArray(a)?a.map(u=>`${u}`):`${a}`}),t===n)return new _a(e,r,o);const s=OE(t,n,e);return new _a(s,r,o)}function OE(t,n,e){const i={};return vi(t.children,(o,r)=>{i[r]=o===n?e:OE(o,n,e)}),new Ut(t.segments,i)}class AE{constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&Fp(i[0]))throw new Error("Root segment cannot have matrix parameters");const o=i.find(Pd);if(o&&o!==fE(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Mv{constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}}function PE(t,n,e){if(t||(t=new Ut([],{})),0===t.segments.length&&t.hasChildren())return Np(t,n,e);const i=function p$(t,n,e){let i=0,o=n;const r={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return r;const s=t.segments[o],a=e[i];if(Pd(a))break;const l=`${a}`,u=i0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!FE(l,u,s))return r;i+=2}else{if(!FE(l,{},s))return r;i++}o++}return{match:!0,pathIndex:o,commandIndex:i}}(t,n,e),o=e.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof r&&(r=[r]),null!==r&&(o[s]=PE(t.children[s],n,r))}),vi(t.children,(r,s)=>{void 0===i[s]&&(o[s]=r)}),new Ut(t.segments,o)}}function xv(t,n,e){const i=t.segments.slice(0,n);let o=0;for(;o{"string"==typeof e&&(e=[e]),null!==e&&(n[i]=xv(new Ut([],{}),0,e))}),n}function RE(t){const n={};return vi(t,(e,i)=>n[i]=`${e}`),n}function FE(t,n,e){return t==e.path&&Sr(n,e.parameters)}class g${constructor(n,e,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=o}activate(n){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,n),wv(this.futureState.root),this.activateChildRoutes(e,i,n)}deactivateChildRoutes(n,e,i){const o=zl(e);n.children.forEach(r=>{const s=r.value.outlet;this.deactivateRoutes(r,o[s],i),delete o[s]}),vi(o,(r,s)=>{this.deactivateRouteAndItsChildren(r,i)})}deactivateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(o===r)if(o.component){const s=i.getContext(o.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,i);else r&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=zl(n);for(const s of Object.keys(r))this.deactivateRouteAndItsChildren(r[s],o);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=zl(n);for(const s of Object.keys(r))this.deactivateRouteAndItsChildren(r[s],o);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(n,e,i){const o=zl(e);n.children.forEach(r=>{this.activateRoutes(r,o[r.value.outlet],i),this.forwardEvent(new Nz(r.value.snapshot))}),n.children.length&&this.forwardEvent(new Rz(n.value.snapshot))}activateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(wv(o),o===r)if(o.component){const s=i.getOrCreateContext(o.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,i);else if(o.component){const s=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),wv(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=function _$(t){for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig;if(e&&e.component)return null}return null}(o.snapshot),l=a?a.module.componentFactoryResolver:null;s.attachRef=null,s.route=o,s.resolver=l,s.outlet&&s.outlet.activateWith(o,l),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class Tv{constructor(n,e){this.routes=n,this.module=e}}function Fs(t){return"function"==typeof t}function va(t){return t instanceof _a}const Rd=Symbol("INITIAL_VALUE");function Fd(){return Li(t=>xk(t.map(n=>n.pipe(Ot(1),Nn(Rd)))).pipe(oE((n,e)=>{let i=!1;return e.reduce((o,r,s)=>o!==Rd?o:(r===Rd&&(i=!0),i||!1!==r&&s!==e.length-1&&!va(r)?o:r),n)},Rd),It(n=>n!==Rd),je(n=>va(n)?n:!0===n),Ot(1)))}class D${constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new Nd,this.attachRef=null}}class Nd{constructor(){this.contexts=new Map}onChildOutletCreated(n,e){const i=this.getOrCreateContext(n);i.outlet=e,this.contexts.set(n,i)}onChildOutletDestroyed(n){const e=this.getContext(n);e&&(e.outlet=null,e.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let e=this.getContext(n);return e||(e=new D$,this.contexts.set(n,e)),e}getContext(n){return this.contexts.get(n)||null}}let Lp=(()=>{class t{constructor(e,i,o,r,s){this.parentContexts=e,this.location=i,this.resolver=o,this.changeDetector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new Ae,this.deactivateEvents=new Ae,this.attachEvents=new Ae,this.detachEvents=new Ae,this.name=r||Nt,e.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const e=this.parentContexts.getContext(this.name);e&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,i){this.activated=e,this._activatedRoute=i,this.location.insert(e.hostView),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=e;const s=(i=i||this.resolver).resolveComponentFactory(e._futureSnapshot.routeConfig.component),a=this.parentContexts.getOrCreateContext(this.name).children,l=new S$(e,a,this.location.injector);this.activated=this.location.createComponent(s,this.location.length,l),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)(_(Nd),_(sn),_(gs),Di("name"),_(At))},t.\u0275dir=oe({type:t,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"]}),t})();class S${constructor(n,e,i){this.route=n,this.childContexts=e,this.parent=i}get(n,e){return n===$l?this.route:n===Nd?this.childContexts:this.parent.get(n,e)}}let NE=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Oe({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(e,i){1&e&&E(0,"router-outlet")},directives:[Lp],encapsulation:2}),t})();function LE(t,n=""){for(let e=0;eRo(i)===n);return e.push(...t.filter(i=>Ro(i)!==n)),e}const VE={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Bp(t,n,e){var i;if(""===n.path)return"full"===n.pathMatch&&(t.hasChildren()||e.length>0)?Object.assign({},VE):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};const r=(n.matcher||Vz)(e,t,n);if(!r)return Object.assign({},VE);const s={};vi(r.posParams,(l,u)=>{s[u]=l.path});const a=r.consumed.length>0?Object.assign(Object.assign({},s),r.consumed[r.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:r.consumed,remainingSegments:e.slice(r.consumed.length),parameters:a,positionalParamSegments:null!==(i=r.posParams)&&void 0!==i?i:{}}}function Vp(t,n,e,i,o="corrected"){if(e.length>0&&function E$(t,n,e){return e.some(i=>jp(t,n,i)&&Ro(i)!==Nt)}(t,e,i)){const s=new Ut(n,function k$(t,n,e,i){const o={};o[Nt]=i,i._sourceSegment=t,i._segmentIndexShift=n.length;for(const r of e)if(""===r.path&&Ro(r)!==Nt){const s=new Ut([],{});s._sourceSegment=t,s._segmentIndexShift=n.length,o[Ro(r)]=s}return o}(t,n,i,new Ut(e,t.children)));return s._sourceSegment=t,s._segmentIndexShift=n.length,{segmentGroup:s,slicedSegments:[]}}if(0===e.length&&function I$(t,n,e){return e.some(i=>jp(t,n,i))}(t,e,i)){const s=new Ut(t.segments,function T$(t,n,e,i,o,r){const s={};for(const a of i)if(jp(t,e,a)&&!o[Ro(a)]){const l=new Ut([],{});l._sourceSegment=t,l._segmentIndexShift="legacy"===r?t.segments.length:n.length,s[Ro(a)]=l}return Object.assign(Object.assign({},o),s)}(t,n,e,i,t.children,o));return s._sourceSegment=t,s._segmentIndexShift=n.length,{segmentGroup:s,slicedSegments:e}}const r=new Ut(t.segments,t.children);return r._sourceSegment=t,r._segmentIndexShift=n.length,{segmentGroup:r,slicedSegments:e}}function jp(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pathMatch)&&""===e.path}function jE(t,n,e,i){return!!(Ro(t)===i||i!==Nt&&jp(n,e,t))&&("**"===t.path||Bp(n,t,e).matched)}function HE(t,n,e){return 0===n.length&&!t.children[e]}class Hp{constructor(n){this.segmentGroup=n||null}}class UE{constructor(n){this.urlTree=n}}function Ld(t){return sd(new Hp(t))}function zE(t){return sd(new UE(t))}class R${constructor(n,e,i,o,r){this.configLoader=e,this.urlSerializer=i,this.urlTree=o,this.config=r,this.allowRedirects=!0,this.ngModule=n.get(Lr)}apply(){const n=Vp(this.urlTree.root,[],[],this.config).segmentGroup,e=new Ut(n.segments,n.children);return this.expandSegmentGroup(this.ngModule,this.config,e,Nt).pipe(je(r=>this.createUrlTree(Ev(r),this.urlTree.queryParams,this.urlTree.fragment))).pipe(wn(r=>{if(r instanceof UE)return this.allowRedirects=!1,this.match(r.urlTree);throw r instanceof Hp?this.noMatchError(r):r}))}match(n){return this.expandSegmentGroup(this.ngModule,this.config,n.root,Nt).pipe(je(o=>this.createUrlTree(Ev(o),n.queryParams,n.fragment))).pipe(wn(o=>{throw o instanceof Hp?this.noMatchError(o):o}))}noMatchError(n){return new Error(`Cannot match any routes. URL Segment: '${n.segmentGroup}'`)}createUrlTree(n,e,i){const o=n.segments.length>0?new Ut([],{[Nt]:n}):n;return new _a(o,e,i)}expandSegmentGroup(n,e,i,o){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(n,e,i).pipe(je(r=>new Ut([],r))):this.expandSegment(n,i,e,i.segments,o,!0)}expandChildren(n,e,i){const o=[];for(const r of Object.keys(i.children))"primary"===r?o.unshift(r):o.push(r);return ui(o).pipe(xl(r=>{const s=i.children[r],a=BE(e,r);return this.expandSegmentGroup(n,a,s,r).pipe(je(l=>({segment:l,outlet:r})))}),oE((r,s)=>(r[s.outlet]=s.segment,r),{}),function xz(t,n){const e=arguments.length>=2;return i=>i.pipe(t?It((o,r)=>t(o,r,i)):Me,mv(1),e?sE(n):rE(()=>new kp))}())}expandSegment(n,e,i,o,r,s){return ui(i).pipe(xl(a=>this.expandSegmentAgainstRoute(n,e,i,a,o,r,s).pipe(wn(u=>{if(u instanceof Hp)return We(null);throw u}))),Hl(a=>!!a),wn((a,l)=>{if(a instanceof kp||"EmptyError"===a.name)return HE(e,o,r)?We(new Ut([],{})):Ld(e);throw a}))}expandSegmentAgainstRoute(n,e,i,o,r,s,a){return jE(o,e,r,s)?void 0===o.redirectTo?this.matchSegmentAgainstRoute(n,e,o,r,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s):Ld(e):Ld(e)}expandSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,e,i,o){const r=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?zE(r):this.lineralizeSegments(i,r).pipe($n(s=>{const a=new Ut(s,{});return this.expandSegment(n,a,e,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:p}=Bp(e,o,r);if(!a)return Ld(e);const g=this.applyRedirectCommands(l,o.redirectTo,p);return o.redirectTo.startsWith("/")?zE(g):this.lineralizeSegments(o,g).pipe($n(v=>this.expandSegment(n,e,i,v.concat(u),s,!1)))}matchSegmentAgainstRoute(n,e,i,o,r){if("**"===i.path)return i.loadChildren?(i._loadedConfig?We(i._loadedConfig):this.configLoader.load(n.injector,i)).pipe(je(g=>(i._loadedConfig=g,new Ut(o,{})))):We(new Ut(o,{}));const{matched:s,consumedSegments:a,remainingSegments:l}=Bp(e,i,o);return s?this.getChildConfig(n,i,o).pipe($n(p=>{const g=p.module,v=p.routes,{segmentGroup:C,slicedSegments:M}=Vp(e,a,l,v),V=new Ut(C.segments,C.children);if(0===M.length&&V.hasChildren())return this.expandChildren(g,v,V).pipe(je(ke=>new Ut(a,ke)));if(0===v.length&&0===M.length)return We(new Ut(a,{}));const K=Ro(i)===r;return this.expandSegment(g,V,v,M,K?Nt:r,!0).pipe(je(ee=>new Ut(a.concat(ee.segments),ee.children)))})):Ld(e)}getChildConfig(n,e,i){return e.children?We(new Tv(e.children,n)):e.loadChildren?void 0!==e._loadedConfig?We(e._loadedConfig):this.runCanLoadGuards(n.injector,e,i).pipe($n(o=>o?this.configLoader.load(n.injector,e).pipe(je(r=>(e._loadedConfig=r,r))):function A$(t){return sd(_v(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`))}(e))):We(new Tv([],n))}runCanLoadGuards(n,e,i){const o=e.canLoad;return o&&0!==o.length?We(o.map(s=>{const a=n.get(s);let l;if(function v$(t){return t&&Fs(t.canLoad)}(a))l=a.canLoad(e,i);else{if(!Fs(a))throw new Error("Invalid CanLoad guard");l=a(e,i)}return Mr(l)})).pipe(Fd(),Zt(s=>{if(!va(s))return;const a=_v(`Redirecting to "${this.urlSerializer.serialize(s)}"`);throw a.url=s,a}),je(s=>!0===s)):We(!0)}lineralizeSegments(n,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return We(i);if(o.numberOfChildren>1||!o.children[Nt])return sd(new Error(`Only absolute redirects can have named outlets. redirectTo: '${n.redirectTo}'`));o=o.children[Nt]}}applyRedirectCommands(n,e,i){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),n,i)}applyRedirectCreatreUrlTree(n,e,i,o){const r=this.createSegmentGroup(n,e.root,i,o);return new _a(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){const i={};return vi(n,(o,r)=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);i[r]=e[a]}else i[r]=o}),i}createSegmentGroup(n,e,i,o){const r=this.createSegments(n,e.segments,i,o);let s={};return vi(e.children,(a,l)=>{s[l]=this.createSegmentGroup(n,a,i,o)}),new Ut(r,s)}createSegments(n,e,i,o){return e.map(r=>r.path.startsWith(":")?this.findPosParam(n,r,o):this.findOrReturn(r,i))}findPosParam(n,e,i){const o=i[e.path.substring(1)];if(!o)throw new Error(`Cannot redirect to '${n}'. Cannot find '${e.path}'.`);return o}findOrReturn(n,e){let i=0;for(const o of e){if(o.path===n.path)return e.splice(i),o;i++}return n}}function Ev(t){const n={};for(const i of Object.keys(t.children)){const r=Ev(t.children[i]);(r.segments.length>0||r.hasChildren())&&(n[i]=r)}return function F$(t){if(1===t.numberOfChildren&&t.children[Nt]){const n=t.children[Nt];return new Ut(t.segments.concat(n.segments),n.children)}return t}(new Ut(t.segments,n))}class $E{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Up{constructor(n,e){this.component=n,this.route=e}}function L$(t,n,e){const i=t._root;return Bd(i,n?n._root:null,e,[i.value])}function zp(t,n,e){const i=function V$(t){if(!t)return null;for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig}return null}(n);return(i?i.module.injector:e).get(t)}function Bd(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=zl(n);return t.children.forEach(s=>{(function j$(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&r.routeConfig===s.routeConfig){const l=function H$(t,n,e){if("function"==typeof e)return e(t,n);switch(e){case"pathParamsChange":return!ba(t.url,n.url);case"pathParamsOrQueryParamsChange":return!ba(t.url,n.url)||!Sr(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Dv(t,n)||!Sr(t.queryParams,n.queryParams);default:return!Dv(t,n)}}(s,r,r.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new $E(i)):(r.data=s.data,r._resolvedData=s._resolvedData),Bd(t,n,r.component?a?a.children:null:e,i,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Up(a.outlet.component,s))}else s&&Vd(n,a,o),o.canActivateChecks.push(new $E(i)),Bd(t,null,r.component?a?a.children:null:e,i,o)})(s,r[s.value.outlet],e,i.concat([s.value]),o),delete r[s.value.outlet]}),vi(r,(s,a)=>Vd(s,e.getContext(a),o)),o}function Vd(t,n,e){const i=zl(t),o=t.value;vi(i,(r,s)=>{Vd(r,o.component?n?n.children.getContext(s):null:n,e)}),e.canDeactivateChecks.push(new Up(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}class Q${}function GE(t){return new Ue(n=>n.error(t))}class X${constructor(n,e,i,o,r,s){this.rootComponentType=n,this.config=e,this.urlTree=i,this.url=o,this.paramsInheritanceStrategy=r,this.relativeLinkResolution=s}recognize(){const n=Vp(this.urlTree.root,[],[],this.config.filter(s=>void 0===s.redirectTo),this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,n,Nt);if(null===e)return null;const i=new Rp([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},Nt,this.rootComponentType,null,this.urlTree.root,-1,{}),o=new os(i,e),r=new EE(this.url,o);return this.inheritParamsAndData(r._root),r}inheritParamsAndData(n){const e=n.value,i=kE(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,e,i){return 0===e.segments.length&&e.hasChildren()?this.processChildren(n,e):this.processSegment(n,e,e.segments,i)}processChildren(n,e){const i=[];for(const r of Object.keys(e.children)){const s=e.children[r],a=BE(n,r),l=this.processSegmentGroup(a,s,r);if(null===l)return null;i.push(...l)}const o=WE(i);return function J$(t){t.sort((n,e)=>n.value.outlet===Nt?-1:e.value.outlet===Nt?1:n.value.outlet.localeCompare(e.value.outlet))}(o),o}processSegment(n,e,i,o){for(const r of n){const s=this.processSegmentAgainstRoute(r,e,i,o);if(null!==s)return s}return HE(e,i,o)?[]:null}processSegmentAgainstRoute(n,e,i,o){if(n.redirectTo||!jE(n,e,i,o))return null;let r,s=[],a=[];if("**"===n.path){const C=i.length>0?fE(i).parameters:{};r=new Rp(i,C,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,ZE(n),Ro(n),n.component,n,qE(e),KE(e)+i.length,QE(n))}else{const C=Bp(e,n,i);if(!C.matched)return null;s=C.consumedSegments,a=C.remainingSegments,r=new Rp(s,C.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,ZE(n),Ro(n),n.component,n,qE(e),KE(e)+s.length,QE(n))}const l=function eG(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(n),{segmentGroup:u,slicedSegments:p}=Vp(e,s,a,l.filter(C=>void 0===C.redirectTo),this.relativeLinkResolution);if(0===p.length&&u.hasChildren()){const C=this.processChildren(l,u);return null===C?null:[new os(r,C)]}if(0===l.length&&0===p.length)return[new os(r,[])];const g=Ro(n)===o,v=this.processSegment(l,u,p,g?Nt:o);return null===v?null:[new os(r,v)]}}function tG(t){const n=t.value.routeConfig;return n&&""===n.path&&void 0===n.redirectTo}function WE(t){const n=[],e=new Set;for(const i of t){if(!tG(i)){n.push(i);continue}const o=n.find(r=>i.value.routeConfig===r.value.routeConfig);void 0!==o?(o.children.push(...i.children),e.add(o)):n.push(i)}for(const i of e){const o=WE(i.children);n.push(new os(i.value,o))}return n.filter(i=>!e.has(i))}function qE(t){let n=t;for(;n._sourceSegment;)n=n._sourceSegment;return n}function KE(t){let n=t,e=n._segmentIndexShift?n._segmentIndexShift:0;for(;n._sourceSegment;)n=n._sourceSegment,e+=n._segmentIndexShift?n._segmentIndexShift:0;return e-1}function ZE(t){return t.data||{}}function QE(t){return t.resolve||{}}function YE(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Iv(t){return Li(n=>{const e=t(n);return e?ui(e).pipe(je(()=>n)):We(n)})}class cG extends class lG{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}}{}const Ov=new _e("ROUTES");class XE{constructor(n,e,i,o){this.injector=n,this.compiler=e,this.onLoadStartListener=i,this.onLoadEndListener=o}load(n,e){if(e._loader$)return e._loader$;this.onLoadStartListener&&this.onLoadStartListener(e);const o=this.loadModuleFactory(e.loadChildren).pipe(je(r=>{this.onLoadEndListener&&this.onLoadEndListener(e);const s=r.create(n);return new Tv(pE(s.injector.get(Ov,void 0,yt.Self|yt.Optional)).map(kv),s)}),wn(r=>{throw e._loader$=void 0,r}));return e._loader$=new Dz(o,()=>new ie).pipe(iE()),e._loader$}loadModuleFactory(n){return Mr(n()).pipe($n(e=>e instanceof Dw?We(e):ui(this.compiler.compileModuleAsync(e))))}}class uG{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,e){return n}}function hG(t){throw t}function pG(t,n,e){return n.parse("/")}function JE(t,n){return We(null)}const fG={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},mG={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Jn=(()=>{class t{constructor(e,i,o,r,s,a,l){this.rootComponentType=e,this.urlSerializer=i,this.rootContexts=o,this.location=r,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new ie,this.errorHandler=hG,this.malformedUriErrorHandler=pG,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:JE,afterPreactivation:JE},this.urlHandlingStrategy=new uG,this.routeReuseStrategy=new cG,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=s.get(Lr),this.console=s.get(cD);const g=s.get(Je);this.isNgZoneEnabled=g instanceof Je&&Je.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=function Hz(){return new _a(new Ut([],{}),{},null)}(),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new XE(s,a,v=>this.triggerEvent(new lE(v)),v=>this.triggerEvent(new cE(v))),this.routerState=TE(this.currentUrlTree,this.rootComponentType),this.transitions=new vt({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var e;return null===(e=this.location.getState())||void 0===e?void 0:e.\u0275routerPageId}setupNavigations(e){const i=this.events;return e.pipe(It(o=>0!==o.id),je(o=>Object.assign(Object.assign({},o),{extractedUrl:this.urlHandlingStrategy.extract(o.rawUrl)})),Li(o=>{let r=!1,s=!1;return We(o).pipe(Zt(a=>{this.currentNavigation={id:a.id,initialUrl:a.currentRawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Li(a=>{const l=this.browserUrlTree.toString(),u=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||u)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return eI(a.source)&&(this.browserUrlTree=a.extractedUrl),We(a).pipe(Li(g=>{const v=this.transitions.getValue();return i.next(new gv(g.id,this.serializeUrl(g.extractedUrl),g.source,g.restoredState)),v!==this.transitions.getValue()?vo:Promise.resolve(g)}),function N$(t,n,e,i){return Li(o=>function P$(t,n,e,i,o){return new R$(t,n,e,i,o).apply()}(t,n,e,o.extractedUrl,i).pipe(je(r=>Object.assign(Object.assign({},o),{urlAfterRedirects:r}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Zt(g=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:g.urlAfterRedirects})}),function nG(t,n,e,i,o){return $n(r=>function Y$(t,n,e,i,o="emptyOnly",r="legacy"){try{const s=new X$(t,n,e,i,o,r).recognize();return null===s?GE(new Q$):We(s)}catch(s){return GE(s)}}(t,n,r.urlAfterRedirects,e(r.urlAfterRedirects),i,o).pipe(je(s=>Object.assign(Object.assign({},r),{targetSnapshot:s}))))}(this.rootComponentType,this.config,g=>this.serializeUrl(g),this.paramsInheritanceStrategy,this.relativeLinkResolution),Zt(g=>{if("eager"===this.urlUpdateStrategy){if(!g.extras.skipLocationChange){const C=this.urlHandlingStrategy.merge(g.urlAfterRedirects,g.rawUrl);this.setBrowserUrl(C,g)}this.browserUrlTree=g.urlAfterRedirects}const v=new kz(g.id,this.serializeUrl(g.extractedUrl),this.serializeUrl(g.urlAfterRedirects),g.targetSnapshot);i.next(v)}));if(u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:v,extractedUrl:C,source:M,restoredState:V,extras:K}=a,Y=new gv(v,this.serializeUrl(C),M,V);i.next(Y);const ee=TE(C,this.rootComponentType).snapshot;return We(Object.assign(Object.assign({},a),{targetSnapshot:ee,urlAfterRedirects:C,extras:Object.assign(Object.assign({},K),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=a.rawUrl,a.resolve(null),vo}),Iv(a=>{const{targetSnapshot:l,id:u,extractedUrl:p,rawUrl:g,extras:{skipLocationChange:v,replaceUrl:C}}=a;return this.hooks.beforePreactivation(l,{navigationId:u,appliedUrlTree:p,rawUrlTree:g,skipLocationChange:!!v,replaceUrl:!!C})}),Zt(a=>{const l=new Ez(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),je(a=>Object.assign(Object.assign({},a),{guards:L$(a.targetSnapshot,a.currentSnapshot,this.rootContexts)})),function U$(t,n){return $n(e=>{const{targetSnapshot:i,currentSnapshot:o,guards:{canActivateChecks:r,canDeactivateChecks:s}}=e;return 0===s.length&&0===r.length?We(Object.assign(Object.assign({},e),{guardsResult:!0})):function z$(t,n,e,i){return ui(t).pipe($n(o=>function Z$(t,n,e,i,o){const r=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return r&&0!==r.length?We(r.map(a=>{const l=zp(a,n,o);let u;if(function w$(t){return t&&Fs(t.canDeactivate)}(l))u=Mr(l.canDeactivate(t,n,e,i));else{if(!Fs(l))throw new Error("Invalid CanDeactivate guard");u=Mr(l(t,n,e,i))}return u.pipe(Hl())})).pipe(Fd()):We(!0)}(o.component,o.route,e,n,i)),Hl(o=>!0!==o,!0))}(s,i,o,t).pipe($n(a=>a&&function b$(t){return"boolean"==typeof t}(a)?function $$(t,n,e,i){return ui(n).pipe(xl(o=>id(function W$(t,n){return null!==t&&n&&n(new Pz(t)),We(!0)}(o.route.parent,i),function G$(t,n){return null!==t&&n&&n(new Fz(t)),We(!0)}(o.route,i),function K$(t,n,e){const i=n[n.length-1],r=n.slice(0,n.length-1).reverse().map(s=>function B$(t){const n=t.routeConfig?t.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:t,guards:n}:null}(s)).filter(s=>null!==s).map(s=>wd(()=>We(s.guards.map(l=>{const u=zp(l,s.node,e);let p;if(function C$(t){return t&&Fs(t.canActivateChild)}(u))p=Mr(u.canActivateChild(i,t));else{if(!Fs(u))throw new Error("Invalid CanActivateChild guard");p=Mr(u(i,t))}return p.pipe(Hl())})).pipe(Fd())));return We(r).pipe(Fd())}(t,o.path,e),function q$(t,n,e){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return We(!0);const o=i.map(r=>wd(()=>{const s=zp(r,n,e);let a;if(function y$(t){return t&&Fs(t.canActivate)}(s))a=Mr(s.canActivate(n,t));else{if(!Fs(s))throw new Error("Invalid CanActivate guard");a=Mr(s(n,t))}return a.pipe(Hl())}));return We(o).pipe(Fd())}(t,o.route,e))),Hl(o=>!0!==o,!0))}(i,r,t,n):We(a)),je(a=>Object.assign(Object.assign({},e),{guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),Zt(a=>{if(va(a.guardsResult)){const u=_v(`Redirecting to "${this.serializeUrl(a.guardsResult)}"`);throw u.url=a.guardsResult,u}const l=new Iz(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),It(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,""),!1)),Iv(a=>{if(a.guards.canActivateChecks.length)return We(a).pipe(Zt(l=>{const u=new Oz(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}),Li(l=>{let u=!1;return We(l).pipe(function iG(t,n){return $n(e=>{const{targetSnapshot:i,guards:{canActivateChecks:o}}=e;if(!o.length)return We(e);let r=0;return ui(o).pipe(xl(s=>function oG(t,n,e,i){return function rG(t,n,e,i){const o=YE(t);if(0===o.length)return We({});const r={};return ui(o).pipe($n(s=>function sG(t,n,e,i){const o=zp(t,n,i);return Mr(o.resolve?o.resolve(n,e):o(n,e))}(t[s],n,e,i).pipe(Zt(a=>{r[s]=a}))),mv(1),$n(()=>YE(r).length===o.length?We(r):vo))}(t._resolve,t,n,i).pipe(je(r=>(t._resolvedData=r,t.data=Object.assign(Object.assign({},t.data),kE(t,e).resolve),null)))}(s.route,i,t,n)),Zt(()=>r++),mv(1),$n(s=>r===o.length?We(e):vo))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Zt({next:()=>u=!0,complete:()=>{u||(this.restoreHistory(l),this.cancelNavigationTransition(l,"At least one route resolver didn't emit any value."))}}))}),Zt(l=>{const u=new Az(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}))}),Iv(a=>{const{targetSnapshot:l,id:u,extractedUrl:p,rawUrl:g,extras:{skipLocationChange:v,replaceUrl:C}}=a;return this.hooks.afterPreactivation(l,{navigationId:u,appliedUrlTree:p,rawUrlTree:g,skipLocationChange:!!v,replaceUrl:!!C})}),je(a=>{const l=function r$(t,n,e){const i=Ad(t,n._root,e?e._root:void 0);return new xE(i,n)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return Object.assign(Object.assign({},a),{targetRouterState:l})}),Zt(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((t,n,e)=>je(i=>(new g$(n,i.targetRouterState,i.currentRouterState,e).activate(t),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),Zt({next(){r=!0},complete(){r=!0}}),X_(()=>{var a;r||s||this.cancelNavigationTransition(o,`Navigation ID ${o.id} is not equal to the current navigation id ${this.navigationId}`),(null===(a=this.currentNavigation)||void 0===a?void 0:a.id)===o.id&&(this.currentNavigation=null)}),wn(a=>{if(s=!0,function Bz(t){return t&&t[uE]}(a)){const l=va(a.url);l||(this.navigated=!0,this.restoreHistory(o,!0));const u=new aE(o.id,this.serializeUrl(o.extractedUrl),a.message);i.next(u),l?setTimeout(()=>{const p=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),g={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||eI(o.source)};this.scheduleNavigation(p,"imperative",null,g,{resolve:o.resolve,reject:o.reject,promise:o.promise})},0):o.resolve(!1)}else{this.restoreHistory(o,!0);const l=new Tz(o.id,this.serializeUrl(o.extractedUrl),a);i.next(l);try{o.resolve(this.errorHandler(a))}catch(u){o.reject(u)}}return vo}))}))}resetRootComponentType(e){this.rootComponentType=e,this.routerState.root.component=this.rootComponentType}setTransition(e){this.transitions.next(Object.assign(Object.assign({},this.transitions.value),e))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(e=>{const i="popstate"===e.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{var o;const r={replaceUrl:!0},s=(null===(o=e.state)||void 0===o?void 0:o.navigationId)?e.state:null;if(s){const l=Object.assign({},s);delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(r.state=l)}const a=this.parseUrl(e.url);this.scheduleNavigation(a,i,s,r)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(e){this.events.next(e)}resetConfig(e){LE(e),this.config=e.map(kv),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(e,i={}){const{relativeTo:o,queryParams:r,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,u=o||this.routerState.root,p=l?this.currentUrlTree.fragment:s;let g=null;switch(a){case"merge":g=Object.assign(Object.assign({},this.currentUrlTree.queryParams),r);break;case"preserve":g=this.currentUrlTree.queryParams;break;default:g=r||null}return null!==g&&(g=this.removeEmptyProps(g)),function l$(t,n,e,i,o){if(0===e.length)return Sv(n.root,n.root,n.root,i,o);const r=function c$(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new AE(!0,0,t);let n=0,e=!1;const i=t.reduce((o,r,s)=>{if("object"==typeof r&&null!=r){if(r.outlets){const a={};return vi(r.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...o,{outlets:a}]}if(r.segmentPath)return[...o,r.segmentPath]}return"string"!=typeof r?[...o,r]:0===s?(r.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?e=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,r]},[]);return new AE(e,n,i)}(e);if(r.toRoot())return Sv(n.root,n.root,new Ut([],{}),i,o);const s=function d$(t,n,e){if(t.isAbsolute)return new Mv(n.root,!0,0);if(-1===e.snapshot._lastPathIndex){const r=e.snapshot._urlSegment;return new Mv(r,r===n.root,0)}const i=Fp(t.commands[0])?0:1;return function u$(t,n,e){let i=t,o=n,r=e;for(;r>o;){if(r-=o,i=i.parent,!i)throw new Error("Invalid number of '../'");o=i.segments.length}return new Mv(i,!1,o-r)}(e.snapshot._urlSegment,e.snapshot._lastPathIndex+i,t.numberOfDoubleDots)}(r,n,t),a=s.processChildren?Np(s.segmentGroup,s.index,r.commands):PE(s.segmentGroup,s.index,r.commands);return Sv(n.root,s.segmentGroup,a,i,o)}(u,this.currentUrlTree,e,g,null!=p?p:null)}navigateByUrl(e,i={skipLocationChange:!1}){const o=va(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,i)}navigate(e,i={skipLocationChange:!1}){return function gG(t){for(let n=0;n{const r=e[o];return null!=r&&(i[o]=r),i},{})}processNavigations(){this.navigations.subscribe(e=>{this.navigated=!0,this.lastSuccessfulId=e.id,this.currentPageId=e.targetPageId,this.events.next(new Ed(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,e.resolve(!0)},e=>{this.console.warn(`Unhandled Navigation Error: ${e}`)})}scheduleNavigation(e,i,o,r,s){var a,l;if(this.disposed)return Promise.resolve(!1);let u,p,g;s?(u=s.resolve,p=s.reject,g=s.promise):g=new Promise((M,V)=>{u=M,p=V});const v=++this.navigationId;let C;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(o=this.location.getState()),C=o&&o.\u0275routerPageId?o.\u0275routerPageId:r.replaceUrl||r.skipLocationChange?null!==(a=this.browserPageId)&&void 0!==a?a:0:(null!==(l=this.browserPageId)&&void 0!==l?l:0)+1):C=0,this.setTransition({id:v,targetPageId:C,source:i,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:e,extras:r,resolve:u,reject:p,promise:g,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),g.catch(M=>Promise.reject(M))}setBrowserUrl(e,i){const o=this.urlSerializer.serialize(e),r=Object.assign(Object.assign({},i.extras.state),this.generateNgRouterState(i.id,i.targetPageId));this.location.isCurrentPathEqualTo(o)||i.extras.replaceUrl?this.location.replaceState(o,"",r):this.location.go(o,"",r)}restoreHistory(e,i=!1){var o,r;if("computed"===this.canceledNavigationResolution){const s=this.currentPageId-e.targetPageId;"popstate"!==e.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(o=this.currentNavigation)||void 0===o?void 0:o.finalUrl)||0===s?this.currentUrlTree===(null===(r=this.currentNavigation)||void 0===r?void 0:r.finalUrl)&&0===s&&(this.resetState(e),this.browserUrlTree=e.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(s)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=e.currentRouterState,this.currentUrlTree=e.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(e,i){const o=new aE(e.id,this.serializeUrl(e.extractedUrl),i);this.triggerEvent(o),e.resolve(!1)}generateNgRouterState(e,i){return"computed"===this.canceledNavigationResolution?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}}return t.\u0275fac=function(e){Xs()},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function eI(t){return"imperative"!==t}let Ns=(()=>{class t{constructor(e,i,o,r,s){this.router=e,this.route=i,this.tabIndexAttribute=o,this.renderer=r,this.el=s,this.commands=null,this.onChanges=new ie,this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(e){if(null!=this.tabIndexAttribute)return;const i=this.renderer,o=this.el.nativeElement;null!==e?i.setAttribute(o,"tabindex",e):i.removeAttribute(o,"tabindex")}ngOnChanges(e){this.onChanges.next(this)}set routerLink(e){null!=e?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(){if(null===this.urlTree)return!0;const e={skipLocationChange:Gl(this.skipLocationChange),replaceUrl:Gl(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,e),!0}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Gl(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(_(Jn),_($l),Di("tabindex"),_(Nr),_(He))},t.\u0275dir=oe({type:t,selectors:[["","routerLink","",5,"a",5,"area"]],hostBindings:function(e,i){1&e&&N("click",function(){return i.onClick()})},inputs:{queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo",routerLink:"routerLink"},features:[nn]}),t})(),jd=(()=>{class t{constructor(e,i,o){this.router=e,this.route=i,this.locationStrategy=o,this.commands=null,this.href=null,this.onChanges=new ie,this.subscription=e.events.subscribe(r=>{r instanceof Ed&&this.updateTargetUrlAndHref()})}set routerLink(e){this.commands=null!=e?Array.isArray(e)?e:[e]:null}ngOnChanges(e){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(e,i,o,r,s){if(0!==e||i||o||r||s||"string"==typeof this.target&&"_self"!=this.target||null===this.urlTree)return!0;const a={skipLocationChange:Gl(this.skipLocationChange),replaceUrl:Gl(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,a),!1}updateTargetUrlAndHref(){this.href=null!==this.urlTree?this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Gl(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(_(Jn),_($l),_(bl))},t.\u0275dir=oe({type:t,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(e,i){1&e&&N("click",function(r){return i.onClick(r.button,r.ctrlKey,r.shiftKey,r.altKey,r.metaKey)}),2&e&&et("target",i.target)("href",i.href,ur)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo",routerLink:"routerLink"},features:[nn]}),t})();function Gl(t){return""===t||!!t}class tI{}class nI{preload(n,e){return We(null)}}let iI=(()=>{class t{constructor(e,i,o,r){this.router=e,this.injector=o,this.preloadingStrategy=r,this.loader=new XE(o,i,l=>e.triggerEvent(new lE(l)),l=>e.triggerEvent(new cE(l)))}setUpPreloading(){this.subscription=this.router.events.pipe(It(e=>e instanceof Ed),xl(()=>this.preload())).subscribe(()=>{})}preload(){const e=this.injector.get(Lr);return this.processRoutes(e,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,i){const o=[];for(const r of i)if(r.loadChildren&&!r.canLoad&&r._loadedConfig){const s=r._loadedConfig;o.push(this.processRoutes(s.module,s.routes))}else r.loadChildren&&!r.canLoad?o.push(this.preloadConfig(e,r)):r.children&&o.push(this.processRoutes(e,r.children));return ui(o).pipe(Ql(),je(r=>{}))}preloadConfig(e,i){return this.preloadingStrategy.preload(i,()=>(i._loadedConfig?We(i._loadedConfig):this.loader.load(e.injector,i)).pipe($n(r=>(i._loadedConfig=r,this.processRoutes(r.module,r.routes)))))}}return t.\u0275fac=function(e){return new(e||t)(Q(Jn),Q(dD),Q(pn),Q(tI))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),Av=(()=>{class t{constructor(e,i,o={}){this.router=e,this.viewportScroller=i,this.options=o,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},o.scrollPositionRestoration=o.scrollPositionRestoration||"disabled",o.anchorScrolling=o.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(e=>{e instanceof gv?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Ed&&(this.lastId=e.id,this.scheduleScrollEvent(e,this.router.parseUrl(e.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(e=>{e instanceof dE&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,i){this.router.triggerEvent(new dE(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(e){Xs()},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const ya=new _e("ROUTER_CONFIGURATION"),oI=new _e("ROUTER_FORROOT_GUARD"),yG=[zc,{provide:yE,useClass:CE},{provide:Jn,useFactory:function MG(t,n,e,i,o,r,s={},a,l){const u=new Jn(null,t,n,e,i,o,pE(r));return a&&(u.urlHandlingStrategy=a),l&&(u.routeReuseStrategy=l),function xG(t,n){t.errorHandler&&(n.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(n.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(n.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(n.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(n.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(n.urlUpdateStrategy=t.urlUpdateStrategy),t.canceledNavigationResolution&&(n.canceledNavigationResolution=t.canceledNavigationResolution)}(s,u),s.enableTracing&&u.events.subscribe(p=>{var g,v;null===(g=console.group)||void 0===g||g.call(console,`Router Event: ${p.constructor.name}`),console.log(p.toString()),console.log(p),null===(v=console.groupEnd)||void 0===v||v.call(console)}),u},deps:[yE,Nd,zc,pn,dD,Ov,ya,[class dG{},new Wo],[class aG{},new Wo]]},Nd,{provide:$l,useFactory:function TG(t){return t.routerState.root},deps:[Jn]},iI,nI,class vG{preload(n,e){return e().pipe(wn(()=>We(null)))}},{provide:ya,useValue:{enableTracing:!1}}];function CG(){return new mD("Router",Jn)}let rI=(()=>{class t{constructor(e,i){}static forRoot(e,i){return{ngModule:t,providers:[yG,sI(e),{provide:oI,useFactory:SG,deps:[[Jn,new Wo,new Ua]]},{provide:ya,useValue:i||{}},{provide:bl,useFactory:DG,deps:[na,[new mu(Og),new Wo],ya]},{provide:Av,useFactory:wG,deps:[Jn,m5,ya]},{provide:tI,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:nI},{provide:mD,multi:!0,useFactory:CG},[Pv,{provide:_g,multi:!0,useFactory:kG,deps:[Pv]},{provide:aI,useFactory:EG,deps:[Pv]},{provide:lD,multi:!0,useExisting:aI}]]}}static forChild(e){return{ngModule:t,providers:[sI(e)]}}}return t.\u0275fac=function(e){return new(e||t)(Q(oI,8),Q(Jn,8))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();function wG(t,n,e){return e.scrollOffset&&n.setOffset(e.scrollOffset),new Av(t,n,e)}function DG(t,n,e={}){return e.useHash?new nL(t,n):new FD(t,n)}function SG(t){return"guarded"}function sI(t){return[{provide:WO,multi:!0,useValue:t},{provide:Ov,multi:!0,useValue:t}]}let Pv=(()=>{class t{constructor(e){this.injector=e,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new ie}appInitializer(){return this.injector.get(J3,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let i=null;const o=new Promise(a=>i=a),r=this.injector.get(Jn),s=this.injector.get(ya);return"disabled"===s.initialNavigation?(r.setUpLocationChangeListener(),i(!0)):"enabled"===s.initialNavigation||"enabledBlocking"===s.initialNavigation?(r.hooks.afterPreactivation=()=>this.initNavigation?We(null):(this.initNavigation=!0,i(!0),this.resultOfPreactivationDone),r.initialNavigation()):i(!0),o})}bootstrapListener(e){const i=this.injector.get(ya),o=this.injector.get(iI),r=this.injector.get(Av),s=this.injector.get(Jn),a=this.injector.get(zu);e===a.components[0]&&(("enabledNonBlocking"===i.initialNavigation||void 0===i.initialNavigation)&&s.initialNavigation(),o.setUpPreloading(),r.init(),s.resetRootComponentType(a.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return t.\u0275fac=function(e){return new(e||t)(Q(pn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function kG(t){return t.appInitializer.bind(t)}function EG(t){return t.bootstrapListener.bind(t)}const aI=new _e("Router Initializer");var mi=(()=>{return(t=mi||(mi={})).DirectConnect="directConnect",t.DumpFile="dumpFile",t.SessionFile="sessionFile",t.ResumeSession="resumeSession",mi;var t})(),In=(()=>{return(t=In||(In={})).Type="inputType",t.Config="config",t.SourceDbName="sourceDbName",In;var t})(),xr=(()=>{return(t=xr||(xr={})).MySQL="MySQL",t.Postgres="Postgres",t.SQLServer="SQL Server",t.Oracle="Oracle",xr;var t})(),Qt=(()=>{return(t=Qt||(Qt={})).DbName="databaseName",t.Tables="tables",t.Table="tableName",t.Indexes="indexes",t.Index="indexName",Qt;var t})(),Fo=(()=>{return(t=Fo||(Fo={})).schemaOnly="Schema",t.dataOnly="Data",t.schemaAndData="Schema And Data",Fo;var t})(),Ls=(()=>{return(t=Ls||(Ls={})).Table="table",t.Index="index",Ls;var t})(),ci=(()=>{return(t=ci||(ci={})).bulkMigration="bulk",t.lowDowntimeMigration="lowdt",ci;var t})(),le=(()=>{return(t=le||(le={})).MigrationMode="migrationMode",t.MigrationType="migrationType",t.IsTargetDetailSet="isTargetDetailSet",t.IsSourceConnectionProfileSet="isSourceConnectionProfileSet",t.IsSourceDetailsSet="isSourceDetailsSet",t.IsTargetConnectionProfileSet="isTargetConnectionProfileSet",t.IsMigrationDetailSet="isMigrationDetailSet",t.IsMigrationInProgress="isMigrationInProgress",t.HasDataMigrationStarted="hasDataMigrationStarted",t.HasSchemaMigrationStarted="hasSchemaMigrationStarted",t.SchemaProgressMessage="schemaProgressMessage",t.DataProgressMessage="dataProgressMessage",t.DataMigrationProgress="dataMigrationProgress",t.SchemaMigrationProgress="schemaMigrationProgress",t.HasForeignKeyUpdateStarted="hasForeignKeyUpdateStarted",t.ForeignKeyProgressMessage="foreignKeyProgressMessage",t.ForeignKeyUpdateProgress="foreignKeyUpdateProgress",t.GeneratingResources="generatingResources",t.NumberOfShards="numberOfShards",t.NumberOfInstances="numberOfInstances",t.isForeignKeySkipped="isForeignKeySkipped",le;var t})(),Wt=(()=>{return(t=Wt||(Wt={})).TargetDB="targetDb",t.Dialect="dialect",t.SourceConnProfile="sourceConnProfile",t.TargetConnProfile="targetConnProfile",t.ReplicationSlot="replicationSlot",t.Publication="publication",Wt;var t})();var Bs=(()=>{return(t=Bs||(Bs={}))[t.SchemaMigrationComplete=1]="SchemaMigrationComplete",t[t.SchemaCreationInProgress=2]="SchemaCreationInProgress",t[t.DataMigrationComplete=3]="DataMigrationComplete",t[t.DataWriteInProgress=4]="DataWriteInProgress",t[t.ForeignKeyUpdateInProgress=5]="ForeignKeyUpdateInProgress",t[t.ForeignKeyUpdateComplete=6]="ForeignKeyUpdateComplete",Bs;var t})();const lI=[{value:"google_standard_sql",displayName:"Google Standard SQL Dialect"},{value:"postgresql",displayName:"PostgreSQL Dialect"}],di={StorageMaxLength:0x8000000000000000,StringMaxLength:2621440,ByteMaxLength:10485760,DataTypes:["STRING","BYTES","VARCHAR"]},cI_GoogleStandardSQL=["BOOL","BYTES","DATE","FLOAT64","INT64","STRING","TIMESTAMP","NUMERIC","JSON"],cI_PostgreSQL=["BOOL","BYTEA","DATE","FLOAT8","INT8","VARCHAR","TIMESTAMPTZ","NUMERIC","JSONB"];var No=(()=>{return(t=No||(No={})).DirectConnectForm="directConnectForm",t.IsConnectionSuccessful="isConnectionSuccessful",No;var t})();function $p(t){return"mysql"==t||"mysqldump"==t?xr.MySQL:"postgres"===t||"pgdump"===t||"pg_dump"===t?xr.Postgres:"oracle"===t?xr.Oracle:"sqlserver"===t?xr.SQLServer:t}function dI(t){var n=document.createElement("a");let e=JSON.stringify(t).replace(/9223372036854776000/g,"9223372036854775807");n.href="data:text/json;charset=utf-8,"+encodeURIComponent(e),n.download=`${t.SessionName}_${t.DatabaseType}_${t.DatabaseName}.json`,n.click()}let Bi=(()=>{class t{constructor(e){this.http=e,this.url=window.location.origin}connectTodb(e,i){const{dbEngine:o,isSharded:r,hostName:s,port:a,dbName:l,userName:u,password:p}=e;return this.http.post(`${this.url}/connect`,{Driver:o,IsSharded:r,Host:s,Port:a,Database:l,User:u,Password:p,Dialect:i},{observe:"response"})}getLastSessionDetails(){return this.http.get(`${this.url}/GetLatestSessionDetails`)}getSchemaConversionFromDirectConnect(){return this.http.get(`${this.url}/convert/infoschema`)}getSchemaConversionFromDump(e){return this.http.post(`${this.url}/convert/dump`,e)}setSourceDBDetailsForDump(e){return this.http.post(`${this.url}/SetSourceDBDetailsForDump`,e)}setSourceDBDetailsForDirectConnect(e){const{dbEngine:i,hostName:o,port:r,dbName:s,userName:a,password:l}=e;return this.http.post(`${this.url}/SetSourceDBDetailsForDirectConnect`,{Driver:i,Host:o,Port:r,Database:s,User:a,Password:l})}setShardsSourceDBDetailsForBulk(e){const{dbConfigs:i,isRestoredSession:o}=e;let r=[];return i.forEach(s=>{r.push({Driver:s.dbEngine,Host:s.hostName,Port:s.port,Database:s.dbName,User:s.userName,Password:s.password,DataShardId:s.shardId})}),this.http.post(`${this.url}/SetShardsSourceDBDetailsForBulk`,{DbConfigs:r,IsRestoredSession:o})}setShardSourceDBDetailsForDataflow(e){return this.http.post(`${this.url}/SetShardsSourceDBDetailsForDataflow`,{MigrationProfile:e})}setDataflowDetailsForShardedMigrations(e){return this.http.post(`${this.url}/SetDataflowDetailsForShardedMigrations`,{DataflowConfig:e})}getSourceProfile(){return this.http.get(`${this.url}/GetSourceProfileConfig`)}getSchemaConversionFromSessionFile(e){return this.http.post(`${this.url}/convert/session`,e)}getDStructuredReport(){return this.http.get(`${this.url}/downloadStructuredReport`)}getDTextReport(){return this.http.get(`${this.url}/downloadTextReport`)}getDSpannerDDL(){return this.http.get(`${this.url}/downloadDDL`)}getIssueDescription(){return this.http.get(`${this.url}/issueDescription`)}getConversionRate(){return this.http.get(`${this.url}/conversion`)}getConnectionProfiles(e){return this.http.get(`${this.url}/GetConnectionProfiles?source=${e}`)}getGeneratedResources(){return this.http.get(`${this.url}/GetGeneratedResources`)}getStaticIps(){return this.http.get(`${this.url}/GetStaticIps`)}createConnectionProfile(e){return this.http.post(`${this.url}/CreateConnectionProfile`,e)}getSummary(){return this.http.get(`${this.url}/summary`)}getDdl(){return this.http.get(`${this.url}/ddl`)}getTypeMap(){return this.http.get(`${this.url}/typemap`)}getSpannerDefaultTypeMap(){return this.http.get(`${this.url}/spannerDefaultTypeMap`)}reviewTableUpdate(e,i){return this.http.post(`${this.url}/typemap/reviewTableSchema?table=${e}`,i)}updateTable(e,i){return this.http.post(`${this.url}/typemap/table?table=${e}`,i)}removeInterleave(e){return this.http.post(`${this.url}/removeParent?tableId=${e}`,{})}restoreTables(e){return this.http.post(`${this.url}/restore/tables`,e)}restoreTable(e){return this.http.post(`${this.url}/restore/table?table=${e}`,{})}dropTable(e){return this.http.post(`${this.url}/drop/table?table=${e}`,{})}dropTables(e){return this.http.post(`${this.url}/drop/tables`,e)}updatePk(e){return this.http.post(`${this.url}/primaryKey`,e)}updateFk(e,i){return this.http.post(`${this.url}/update/fks?table=${e}`,i)}addColumn(e,i){return this.http.post(`${this.url}/AddColumn?table=${e}`,i)}removeFk(e,i){return this.http.post(`${this.url}/drop/fk?table=${e}`,{Id:i})}getTableWithErrors(){return this.http.get(`${this.url}/GetTableWithErrors`)}getSessions(){return this.http.get(`${this.url}/GetSessions`)}getConvForSession(e){return this.http.get(`${this.url}/GetSession/${e}`,{responseType:"blob"})}resumeSession(e){return this.http.post(`${this.url}/ResumeSession/${e}`,{})}saveSession(e){return this.http.post(`${this.url}/SaveRemoteSession`,e)}getSpannerConfig(){return this.http.get(`${this.url}/GetConfig`)}setSpannerConfig(e){return this.http.post(`${this.url}/SetSpannerConfig`,e)}getIsOffline(){return this.http.get(`${this.url}/IsOffline`)}updateIndex(e,i){return this.http.post(`${this.url}/update/indexes?table=${e}`,i)}dropIndex(e,i){return this.http.post(`${this.url}/drop/secondaryindex?table=${e}`,{Id:i})}restoreIndex(e,i){return this.http.post(`${this.url}/restore/secondaryIndex?tableId=${e}&indexId=${i}`,{})}getInterleaveStatus(e){return this.http.get(`${this.url}/setparent?table=${e}&update=false`)}setInterleave(e){return this.http.get(`${this.url}/setparent?table=${e}&update=true`)}getSourceDestinationSummary(){return this.http.get(`${this.url}/GetSourceDestinationSummary`)}migrate(e){return this.http.post(`${this.url}/Migrate`,e)}getProgress(){return this.http.get(`${this.url}/GetProgress`)}uploadFile(e){return this.http.post(`${this.url}/uploadFile`,e)}cleanUpStreamingJobs(){return this.http.post(`${this.url}/CleanUpStreamingJobs`,{})}applyRule(e){return this.http.post(`${this.url}/applyrule`,e)}dropRule(e){return this.http.post(`${this.url}/dropRule?id=${e}`,{})}getStandardTypeToPGSQLTypemap(){return this.http.get(`${this.url}/typemap/GetStandardTypeToPGSQLTypemap`)}getPGSQLToStandardTypeTypemap(){return this.http.get(`${this.url}/typemap/GetPGSQLToStandardTypeTypemap`)}}return t.\u0275fac=function(e){return new(e||t)(Q(jh))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Lo=(()=>{class t{constructor(e){this.snackBar=e}openSnackBar(e,i,o){o||(o=10),this.snackBar.open(e,i,{duration:1e3*o})}openSnackBarWithoutTimeout(e,i){this.snackBar.open(e,i)}}return t.\u0275fac=function(e){return new(e||t)(Q(nU))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Bo=(()=>{class t{constructor(){this.spannerConfigSub=new vt(!1),this.datebaseLoaderSub=new vt({type:"",databaseName:""}),this.viewAssesmentSub=new vt({srcDbType:"",connectionDetail:"",conversionRates:{good:0,ok:0,bad:0}}),this.tabToSpannerSub=new vt(!1),this.cancelDbLoadSub=new vt(!1),this.spannerConfig=this.spannerConfigSub.asObservable(),this.databaseLoader=this.datebaseLoaderSub.asObservable(),this.viewAssesment=this.viewAssesmentSub.asObservable(),this.tabToSpanner=this.tabToSpannerSub.asObservable(),this.cancelDbLoad=this.cancelDbLoadSub.asObservable()}openSpannerConfig(){this.spannerConfigSub.next(!0)}openDatabaseLoader(e,i){this.datebaseLoaderSub.next({type:e,databaseName:i})}closeDatabaseLoader(){this.datebaseLoaderSub.next({type:"",databaseName:""})}setViewAssesmentData(e){this.viewAssesmentSub.next(e)}setTabToSpanner(){this.tabToSpannerSub.next(!0)}cancelDbLoading(){this.cancelDbLoadSub.next(!0)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Rv=(()=>{class t{constructor(){this.reviewTableChangesSub=new vt({Changes:[],DDL:""}),this.tableUpdateDetailSub=new vt({tableName:"",tableId:"",updateDetail:{UpdateCols:{}}}),this.reviewTableChanges=this.reviewTableChangesSub.asObservable(),this.tableUpdateDetail=this.tableUpdateDetailSub.asObservable()}setTableReviewChanges(e){this.reviewTableChangesSub.next(e)}setTableUpdateDetail(e){this.tableUpdateDetailSub.next(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Ca=(()=>{class t{constructor(e){this.fetch=e,this.standardTypeToPGSQLTypeMapSub=new vt(new Map),this.pgSQLToStandardTypeTypeMapSub=new vt(new Map),this.standardTypeToPGSQLTypeMap=this.standardTypeToPGSQLTypeMapSub.asObservable(),this.pgSQLToStandardTypeTypeMap=this.pgSQLToStandardTypeTypeMapSub.asObservable()}getStandardTypeToPGSQLTypemap(){return this.fetch.getStandardTypeToPGSQLTypemap().subscribe({next:e=>{this.standardTypeToPGSQLTypeMapSub.next(new Map(Object.entries(e)))}})}getPGSQLToStandardTypeTypemap(){return this.fetch.getPGSQLToStandardTypeTypemap().subscribe({next:e=>{this.pgSQLToStandardTypeTypeMapSub.next(new Map(Object.entries(e)))}})}createTreeNode(e,i,o="",r=""){var s,a,l;let u=Object.keys(e.SpSchema).filter(C=>e.SpSchema[C].Name.toLocaleLowerCase().includes(o.toLocaleLowerCase())),p=Object.keys(e.SrcSchema).filter(C=>-1==u.indexOf(C)&&e.SrcSchema[C].Name.replace(/[^A-Za-z0-9_]/g,"_").includes(o.toLocaleLowerCase())),g=this.getDeletedIndexes(e),v={name:`Tables (${u.length})`,type:Qt.Tables,parent:"",pos:-1,isSpannerNode:!0,id:"",parentId:"",children:u.map(C=>{var M;let V=e.SpSchema[C];return{name:V.Name,status:i[C],type:Qt.Table,parent:""!=V.ParentId?null===(M=e.SpSchema[V.ParentId])||void 0===M?void 0:M.Name:"",pos:-1,isSpannerNode:!0,id:C,parentId:V.ParentId,children:[{name:`Indexes (${V.Indexes?V.Indexes.length:0})`,status:"",type:Qt.Indexes,parent:e.SpSchema[C].Name,pos:-1,isSpannerNode:!0,id:"",parentId:C,children:V.Indexes?V.Indexes.map((K,Y)=>({name:K.Name,type:Qt.Index,parent:e.SpSchema[C].Name,pos:Y,isSpannerNode:!0,id:K.Id,parentId:C})):[]}]}})};return"asc"===r||""===r?null===(s=v.children)||void 0===s||s.sort((C,M)=>C.name>M.name?1:M.name>C.name?-1:0):"desc"===r&&(null===(a=v.children)||void 0===a||a.sort((C,M)=>M.name>C.name?1:C.name>M.name?-1:0)),p.forEach(C=>{var M;null===(M=v.children)||void 0===M||M.push({name:e.SrcSchema[C].Name.replace(/[^A-Za-z0-9_]/g,"_"),status:"DARK",type:Qt.Table,pos:-1,isSpannerNode:!0,children:[],isDeleted:!0,id:C,parent:"",parentId:""})}),null===(l=v.children)||void 0===l||l.forEach((C,M)=>{g[C.id]&&g[C.id].forEach(V=>{var K,Y;null===(K=v.children[M].children[0].children)||void 0===K||K.push({name:V.Name.replace(/[^A-Za-z0-9_]/g,"_"),type:Qt.Index,parent:null===(Y=e.SpSchema[C.name])||void 0===Y?void 0:Y.Name,pos:M,isSpannerNode:!0,isDeleted:!0,id:V.Id,parentId:C.id})})}),[{name:e.DatabaseName,children:[v],type:Qt.DbName,parent:"",pos:-1,isSpannerNode:!0,id:"",parentId:""}]}createTreeNodeForSource(e,i,o="",r=""){var s,a;let l=Object.keys(e.SrcSchema).filter(p=>e.SrcSchema[p].Name.toLocaleLowerCase().includes(o.toLocaleLowerCase())),u={name:`Tables (${l.length})`,type:Qt.Tables,pos:-1,isSpannerNode:!1,id:"",parent:"",parentId:"",children:l.map(p=>{var g;let v=e.SrcSchema[p];return{name:v.Name,status:i[p]?i[p]:"NONE",type:Qt.Table,parent:"",pos:-1,isSpannerNode:!1,id:p,parentId:"",children:[{name:`Indexes (${(null===(g=v.Indexes)||void 0===g?void 0:g.length)||"0"})`,status:"",type:Qt.Indexes,parent:"",pos:-1,isSpannerNode:!1,id:"",parentId:"",children:v.Indexes?v.Indexes.map((C,M)=>({name:C.Name,type:Qt.Index,parent:e.SrcSchema[p].Name,isSpannerNode:!1,pos:M,id:C.Id,parentId:p})):[]}]}})};return"asc"===r||""===r?null===(s=u.children)||void 0===s||s.sort((p,g)=>p.name>g.name?1:g.name>p.name?-1:0):"desc"===r&&(null===(a=u.children)||void 0===a||a.sort((p,g)=>g.name>p.name?1:p.name>g.name?-1:0)),[{name:e.DatabaseName,children:[u],type:Qt.DbName,isSpannerNode:!1,parent:"",pos:-1,id:"",parentId:""}]}getColumnMapping(e,i){let u,o=this.getSpannerTableNameFromId(e,i),r=i.SrcSchema[e].ColIds,s=i.SpSchema[e]?i.SpSchema[e].ColIds:null,a=i.SrcSchema[e].PrimaryKeys,l=s?i.SpSchema[e].PrimaryKeys:null;this.standardTypeToPGSQLTypeMap.subscribe(v=>{u=v});const p=di.StorageMaxLength,g=i.SrcSchema[e].ColIds.map((v,C)=>{var M,V;let K;o&&i.SpSchema[e].PrimaryKeys.forEach(ke=>{ke.ColId==v&&(K=ke.Order)});let Y=o?null===(M=i.SpSchema[e])||void 0===M?void 0:M.ColDefs[v]:null,ee=Y?u.get(Y.T.Name):"";return{spOrder:Y?C+1:"",srcOrder:C+1,spColName:Y?Y.Name:"",spDataType:Y?"postgresql"===i.SpDialect?void 0===ee?Y.T.Name:ee:Y.T.Name:"",srcColName:i.SrcSchema[e].ColDefs[v].Name,srcDataType:i.SrcSchema[e].ColDefs[v].Type.Name,spIsPk:!(!Y||!o)&&-1!==(null===(V=i.SpSchema[e].PrimaryKeys)||void 0===V?void 0:V.map(ke=>ke.ColId).indexOf(v)),srcIsPk:!!a&&-1!==a.map(ke=>ke.ColId).indexOf(v),spIsNotNull:!(!Y||!o)&&Y.NotNull,srcIsNotNull:i.SrcSchema[e].ColDefs[v].NotNull,srcId:v,spId:Y?v:"",spColMaxLength:0!=(null==Y?void 0:Y.T.Len)?(null==Y?void 0:Y.T.Len)!=p?null==Y?void 0:Y.T.Len:"MAX":"",srcColMaxLength:null!=i.SrcSchema[e].ColDefs[v].Type.Mods?i.SrcSchema[e].ColDefs[v].Type.Mods[0]:""}});return s&&s.forEach((v,C)=>{var M;if(r.indexOf(v)<0){let V=i.SpSchema[e].ColDefs[v],K=o?null===(M=i.SpSchema[e])||void 0===M?void 0:M.ColDefs[v]:null,Y=K?u.get(K.T.Name):"";g.push({spOrder:C+1,srcOrder:"",spColName:V.Name,spDataType:K?"postgresql"===i.SpDialect?void 0===Y?K.T.Name:Y:K.T.Name:"",srcColName:"",srcDataType:"",spIsPk:!!l&&-1!==l.map(ee=>ee.ColId).indexOf(v),srcIsPk:!1,spIsNotNull:V.NotNull,srcIsNotNull:!1,srcId:"",spId:v,srcColMaxLength:"",spColMaxLength:null==K?void 0:K.T.Len})}}),g}getPkMapping(e){let i=e.filter(o=>o.spIsPk||o.srcIsPk);return JSON.parse(JSON.stringify(i))}getFkMapping(e,i){var o;let r=null===(o=i.SrcSchema[e])||void 0===o?void 0:o.ForeignKeys;return r?r.map(s=>{let a=this.getSpannerFkFromId(i,e,s.Id),l=a?a.ColIds.map(M=>i.SpSchema[e].ColDefs[M].Name):[],u=a?a.ColIds:[],p=s.ColIds.map(M=>i.SrcSchema[e].ColDefs[M].Name),g=a?a.ReferColumnIds.map(M=>i.SpSchema[s.ReferTableId].ColDefs[M].Name):[],v=a?a.ReferColumnIds:[],C=s.ReferColumnIds.map(M=>i.SrcSchema[s.ReferTableId].ColDefs[M].Name);return{srcFkId:s.Id,spFkId:null==a?void 0:a.Id,spName:a?a.Name:"",srcName:s.Name,spColumns:l,srcColumns:p,spReferTable:a?i.SpSchema[a.ReferTableId].Name:"",srcReferTable:i.SrcSchema[s.ReferTableId].Name,spReferColumns:g,srcReferColumns:C,spColIds:u,spReferColumnIds:v,spReferTableId:a?a.ReferTableId:""}}):[]}getIndexMapping(e,i,o){let r=this.getSourceIndexFromId(i,e,o),s=this.getSpannerIndexFromId(i,e,o),a=r?r.Keys.map(p=>p.ColId):[],l=s?s.Keys.map(p=>p.ColId):[],u=r?r.Keys.map(p=>{let g=this.getSpannerIndexKeyFromColId(i,e,o,p.ColId);return{srcColId:p.ColId,spColId:g?g.ColId:void 0,srcColName:i.SrcSchema[e].ColDefs[p.ColId].Name,srcOrder:p.Order,srcDesc:p.Desc,spColName:g?i.SpSchema[e].ColDefs[g.ColId].Name:"",spOrder:g?g.Order:void 0,spDesc:g?g.Desc:void 0}}):[];return l.forEach(p=>{if(-1==a.indexOf(p)){let g=this.getSpannerIndexKeyFromColId(i,e,o,p);u.push({srcColName:"",srcOrder:"",srcColId:void 0,srcDesc:void 0,spColName:i.SpSchema[e].ColDefs[p].Name,spOrder:g?g.Order:void 0,spDesc:g?g.Desc:void 0,spColId:g?g.ColId:void 0})}}),u}getSpannerFkFromId(e,i,o){var r,s;let a=null;return null===(s=null===(r=e.SpSchema[i])||void 0===r?void 0:r.ForeignKeys)||void 0===s||s.forEach(l=>{l.Id==o&&(a=l)}),a}getSourceIndexFromId(e,i,o){var r,s;let a=null;return null===(s=null===(r=e.SrcSchema[i])||void 0===r?void 0:r.Indexes)||void 0===s||s.forEach(l=>{l.Id==o&&(a=l)}),a}getSpannerIndexFromId(e,i,o){var r,s;let a=null;return null===(s=null===(r=e.SpSchema[i])||void 0===r?void 0:r.Indexes)||void 0===s||s.forEach(l=>{l.Id==o&&(a=l)}),a}getSpannerIndexKeyFromColId(e,i,o,r){var s;let a=null,l=(null===(s=e.SpSchema[i])||void 0===s?void 0:s.Indexes)?e.SpSchema[i].Indexes.filter(u=>u.Id==o):null;if(l&&l.length>0){let u=l[0].Keys.filter(p=>p.ColId==r);a=u.length>0?u[0]:null}return a}getSourceIndexKeyFromColId(e,i,o,r){var s;let a=null,l=(null===(s=e.SrcSchema[i])||void 0===s?void 0:s.Indexes)?e.SrcSchema[i].Indexes.filter(u=>u.Id==o):null;if(l&&l.length>0){let u=l[0].Keys.filter(p=>p.ColId==r);a=u.length>0?u[0]:null}return a}getSpannerColDefFromId(e,i,o){let r=null;return Object.keys(o.SpSchema[e].ColDefs).forEach(s=>{o.SpSchema[e].ColDefs[s].Id==i&&(r=o.SpSchema[e].ColDefs[s])}),r}getSourceTableNameFromId(e,i){let o="";return Object.keys(i.SrcSchema).forEach(r=>{i.SrcSchema[r].Id===e&&(o=i.SrcSchema[r].Name)}),o}getSpannerTableNameFromId(e,i){let o=null;return Object.keys(i.SpSchema).forEach(r=>{i.SpSchema[r].Id===e&&(o=i.SpSchema[r].Name)}),o}getTableIdFromSpName(e,i){let o="";return Object.keys(i.SpSchema).forEach(r=>{i.SpSchema[r].Name===e&&(o=i.SpSchema[r].Id)}),o}getColIdFromSpannerColName(e,i,o){let r="";return Object.keys(o.SpSchema[i].ColDefs).forEach(s=>{o.SpSchema[i].ColDefs[s].Name===e&&(r=o.SpSchema[i].ColDefs[s].Id)}),r}getDeletedIndexes(e){let i={};return Object.keys(e.SpSchema).forEach(o=>{var r;let s=e.SpSchema[o],a=e.SrcSchema[o],l=s&&s.Indexes?s.Indexes.map(p=>p.Id):[],u=a&&a.Indexes?null===(r=a.Indexes)||void 0===r?void 0:r.filter(p=>!l.includes(p.Id)):null;s&&a&&u&&u.length>0&&(i[o]=u)}),i}}return t.\u0275fac=function(e){return new(e||t)(Q(Bi))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Ln=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.snackbar=i,this.clickEvent=o,this.tableUpdatePubSub=r,this.conversion=s,this.convSubject=new vt({}),this.conversionRateSub=new vt({}),this.typeMapSub=new vt({}),this.defaultTypeMapSub=new vt({}),this.summarySub=new vt(new Map),this.ddlSub=new vt({}),this.tableInterleaveStatusSub=new vt({}),this.sessionsSub=new vt({}),this.configSub=new vt({}),this.currentSessionSub=new vt({}),this.isOfflineSub=new vt(!1),this.ruleMapSub=new vt([]),this.rule=this.ruleMapSub.asObservable(),this.conv=this.convSubject.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.conversionRate=this.conversionRateSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.typeMap=this.typeMapSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.defaultTypeMap=this.defaultTypeMapSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.summary=this.summarySub.asObservable(),this.ddl=this.ddlSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.tableInterleaveStatus=this.tableInterleaveStatusSub.asObservable(),this.sessions=this.sessionsSub.asObservable(),this.config=this.configSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.isOffline=this.isOfflineSub.asObservable(),this.currentSession=this.currentSessionSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.getLastSessionDetails(),this.getConfig(),this.updateIsOffline()}resetStore(){this.convSubject.next({}),this.conversionRateSub.next({}),this.typeMapSub.next({}),this.defaultTypeMapSub.next({}),this.summarySub.next(new Map),this.ddlSub.next({}),this.tableInterleaveStatusSub.next({})}getDdl(){this.fetch.getDdl().subscribe(e=>{this.ddlSub.next(e)})}getSchemaConversionFromDb(){this.fetch.getSchemaConversionFromDirectConnect().subscribe({next:e=>{this.convSubject.next(e),this.ruleMapSub.next(null==e?void 0:e.Rules)},error:e=>{this.clickEvent.closeDatabaseLoader(),this.snackbar.openSnackBar(e.error,"Close")}})}getAllSessions(){this.fetch.getSessions().subscribe({next:e=>{this.sessionsSub.next(e)},error:e=>{this.snackbar.openSnackBar("Unable to fetch sessions.","Close")}})}getLastSessionDetails(){this.fetch.getLastSessionDetails().subscribe({next:e=>{this.convSubject.next(e),this.ruleMapSub.next(null==e?void 0:e.Rules)},error:e=>{this.snackbar.openSnackBar(e.error,"Close")}})}getSchemaConversionFromDump(e){return this.fetch.getSchemaConversionFromDump(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules)},error:i=>{this.clickEvent.closeDatabaseLoader(),this.snackbar.openSnackBar(i.error,"Close")}})}getSchemaConversionFromSession(e){return this.fetch.getSchemaConversionFromSessionFile(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules)},error:i=>{this.snackbar.openSnackBar(i.error,"Close"),this.clickEvent.closeDatabaseLoader()}})}getSchemaConversionFromResumeSession(e){this.fetch.resumeSession(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules)},error:i=>{this.snackbar.openSnackBar(i.error,"Close")}})}getConversionRate(){this.fetch.getConversionRate().subscribe(e=>{this.conversionRateSub.next(e)})}getRateTypemapAndSummary(){return Y_({rates:this.fetch.getConversionRate(),typeMap:this.fetch.getTypeMap(),defaultTypeMap:this.fetch.getSpannerDefaultTypeMap(),summary:this.fetch.getSummary(),ddl:this.fetch.getDdl()}).pipe(wn(e=>We(e))).subscribe(({rates:e,typeMap:i,defaultTypeMap:o,summary:r,ddl:s})=>{this.conversionRateSub.next(e),this.typeMapSub.next(i),this.defaultTypeMapSub.next(o),this.summarySub.next(new Map(Object.entries(r))),this.ddlSub.next(s)})}getSummary(){return this.fetch.getSummary().subscribe({next:e=>{this.summarySub.next(new Map(Object.entries(e)))}})}reviewTableUpdate(e,i){return this.fetch.reviewTableUpdate(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>{if(o.error)return o.error;{let r;return this.conversion.standardTypeToPGSQLTypeMap.subscribe(s=>{r=s}),this.conv.subscribe(s=>{o.Changes.forEach(a=>{a.InterleaveColumnChanges.forEach(l=>{if("postgresql"===s.SpDialect){let u=r.get(l.Type),p=r.get(l.UpdateType);l.Type=void 0===u?l.Type:u,l.UpdateType=void 0===p?l.UpdateType:p}di.DataTypes.indexOf(l.Type.toString())>-1&&(l.Type+=this.updateColumnSize(l.Size)),di.DataTypes.indexOf(l.UpdateType.toString())>-1&&(l.UpdateType+=this.updateColumnSize(l.UpdateSize))})})}),this.tableUpdatePubSub.setTableReviewChanges(o),""}}))}updateColumnSize(e){return e===di.StorageMaxLength?"(MAX)":"("+e+")"}updateTable(e,i){return this.fetch.updateTable(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}removeInterleave(e){return this.fetch.removeInterleave(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>(this.getDdl(),i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),""))))}restoreTables(e){return this.fetch.restoreTables(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Selected tables restored successfully","Close",5),"")))}restoreTable(e){return this.fetch.restoreTable(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Table restored successfully","Close",5),"")))}dropTable(e){return this.fetch.dropTable(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Table skipped successfully","Close",5),"")))}dropTables(e){return this.fetch.dropTables(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Selected tables skipped successfully","Close",5),"")))}updatePk(e){return this.fetch.updatePk(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?i.error:(this.convSubject.next(i),this.getDdl(),"")))}updateFkNames(e,i){return this.fetch.updateFk(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}dropFk(e,i){return this.fetch.removeFk(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}getConfig(){this.fetch.getSpannerConfig().subscribe(e=>{this.configSub.next(e)})}updateConfig(e){this.configSub.next(e)}updateIsOffline(){this.fetch.getIsOffline().subscribe(e=>{this.isOfflineSub.next(e)})}addColumn(e,i){this.fetch.addColumn(e,i).subscribe({next:o=>{this.convSubject.next(o),this.getDdl(),this.snackbar.openSnackBar("Added new column.","Close",5)},error:o=>{this.snackbar.openSnackBar(o.error,"Close")}})}applyRule(e){this.fetch.applyRule(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules),this.getDdl(),this.snackbar.openSnackBar("Added new rule.","Close",5)},error:i=>{this.snackbar.openSnackBar(i.error,"Close")}})}updateIndex(e,i){return this.fetch.updateIndex(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}dropIndex(e,i){return this.fetch.dropIndex(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?(this.snackbar.openSnackBar(o.error,"Close"),o.error):(this.convSubject.next(o),this.getDdl(),this.ruleMapSub.next(null==o?void 0:o.Rules),this.snackbar.openSnackBar("Index skipped successfully","Close",5),"")))}restoreIndex(e,i){return this.fetch.restoreIndex(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?(this.snackbar.openSnackBar(o.error,"Close"),o.error):(this.convSubject.next(o),this.snackbar.openSnackBar("Index restored successfully","Close",5),"")))}getInterleaveConversionForATable(e){this.fetch.getInterleaveStatus(e).subscribe(i=>{this.tableInterleaveStatusSub.next(i)})}setInterleave(e){this.fetch.setInterleave(e).subscribe(i=>{this.convSubject.next(i.sessionState),this.getDdl(),i.sessionState&&this.convSubject.next(i.sessionState)})}uploadFile(e){return this.fetch.uploadFile(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar("File upload failed","Close"),i.error):(this.snackbar.openSnackBar("File uploaded successfully","Close",5),"")))}dropRule(e){return this.fetch.dropRule(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules),this.getDdl(),this.snackbar.openSnackBar("Rule deleted successfully","Close",5)},error:i=>{this.snackbar.openSnackBar(i.error,"Close")}})}}return t.\u0275fac=function(e){return new(e||t)(Q(Bi),Q(Lo),Q(Bo),Q(Rv),Q(Ca))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Gp=(()=>{class t{constructor(){this.isLoadingSub=new vt(!1),this.isLoading=this.isLoadingSub.asObservable()}startLoader(){this.isLoadingSub.next(!0)}stopLoader(){this.isLoadingSub.next(!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function OG(t,n){if(1&t&&(d(0,"mat-option",18),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function AG(t,n){if(1&t&&(d(0,"mat-option",18),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function PG(t,n){1&t&&(d(0,"b"),h(1,"Note: For sharded migrations, please enter below the details of the shard you want Spanner migration tool to read the schema from. The complete connection configuration of all the shards will be taken in later, during data migration."),c())}function RG(t,n){if(1&t&&(d(0,"div",19)(1,"div",20)(2,"mat-form-field",21)(3,"mat-label"),h(4,"Sharded Migration"),c(),d(5,"mat-select",22),b(6,AG,2,2,"mat-option",6),c()(),d(7,"mat-icon",23),h(8,"info"),c(),d(9,"mat-chip",24),h(10," Preview "),c()(),E(11,"br"),b(12,PG,2,0,"b",25),c()),2&t){const e=D();f(6),m("ngForOf",e.shardedResponseList),f(3),m("removable",!1),f(3),m("ngIf",e.connectForm.value.isSharded)}}function FG(t,n){if(1&t&&(d(0,"mat-option",18),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function NG(t,n){1&t&&(d(0,"mat-icon",26),h(1," check_circle "),c())}let LG=(()=>{class t{constructor(e,i,o,r,s,a){this.router=e,this.fetch=i,this.data=o,this.loader=r,this.snackbarService=s,this.clickEvent=a,this.connectForm=new an({dbEngine:new X("",[de.required]),isSharded:new X(!1),hostName:new X("",[de.required]),port:new X("",[de.required,de.pattern("^[0-9]+$")]),userName:new X("",[de.required]),password:new X(""),dbName:new X("",[de.required]),dialect:new X("",[de.required])}),this.dbEngineList=[{value:"mysql",displayName:"MySQL"},{value:"sqlserver",displayName:"SQL Server"},{value:"oracle",displayName:"Oracle"},{value:"postgres",displayName:"PostgreSQL"}],this.isTestConnectionSuccessful=!1,this.connectRequest=null,this.getSchemaRequest=null,this.shardedResponseList=[{value:!1,displayName:"No"},{value:!0,displayName:"Yes"}],this.dialect=lI}ngOnInit(){null!=localStorage.getItem(No.DirectConnectForm)&&this.connectForm.setValue(JSON.parse(localStorage.getItem(No.DirectConnectForm))),null!=localStorage.getItem(No.IsConnectionSuccessful)&&(this.isTestConnectionSuccessful="true"===localStorage.getItem(No.IsConnectionSuccessful)),this.clickEvent.cancelDbLoad.subscribe({next:e=>{e&&this.connectRequest&&(this.connectRequest.unsubscribe(),this.getSchemaRequest&&this.getSchemaRequest.unsubscribe())}})}testConn(){this.clickEvent.openDatabaseLoader("test-connection",this.connectForm.value.dbName);const{dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l,dialect:u}=this.connectForm.value;localStorage.setItem(No.DirectConnectForm,JSON.stringify(this.connectForm.value)),this.connectRequest=this.fetch.connectTodb({dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l},u).subscribe({next:()=>{this.snackbarService.openSnackBar("SUCCESS! Spanner migration tool was able to successfully ping source database","Close",3),localStorage.setItem(No.IsConnectionSuccessful,"true"),this.clickEvent.closeDatabaseLoader()},error:g=>{this.isTestConnectionSuccessful=!1,this.snackbarService.openSnackBar(g.error,"Close"),localStorage.setItem(No.IsConnectionSuccessful,"false"),this.clickEvent.closeDatabaseLoader()}})}connectToDb(){this.clickEvent.openDatabaseLoader("direct",this.connectForm.value.dbName),window.scroll(0,0),this.data.resetStore(),localStorage.clear();const{dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l,dialect:u}=this.connectForm.value;localStorage.setItem(No.DirectConnectForm,JSON.stringify(this.connectForm.value)),this.connectRequest=this.fetch.connectTodb({dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l},u).subscribe({next:()=>{this.getSchemaRequest=this.data.getSchemaConversionFromDb(),this.data.conv.subscribe(g=>{localStorage.setItem(In.Config,JSON.stringify({dbEngine:e,hostName:o,port:r,userName:s,password:a,dbName:l})),localStorage.setItem(In.Type,mi.DirectConnect),localStorage.setItem(In.SourceDbName,$p(e)),this.clickEvent.closeDatabaseLoader(),localStorage.removeItem(No.DirectConnectForm),this.router.navigate(["/workspace"])})},error:g=>{this.snackbarService.openSnackBar(g.error,"Close"),this.clickEvent.closeDatabaseLoader()}})}refreshDbSpecifcConnectionOptions(){this.connectForm.value.isSharded=!1}}return t.\u0275fac=function(e){return new(e||t)(_(Jn),_(Bi),_(Ln),_(Gp),_(Lo),_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-direct-connection"]],decls:54,vars:8,consts:[[1,"connect-load-database-container"],[1,"form-container"],[3,"formGroup"],[1,"primary-header"],["appearance","outline",1,"full-width"],["formControlName","dbEngine",3,"selectionChange"],[3,"value",4,"ngFor","ngForOf"],["class","shardingConfig",4,"ngIf"],["matInput","","placeholder","127.0.0.1","name","hostName","type","text","formControlName","hostName"],["matInput","","placeholder","3306","name","port","type","text","formControlName","port"],["matInput","","placeholder","root","name","userName","type","text","formControlName","userName"],["matInput","","name","password","type","password","formControlName","password"],["matInput","","name","dbname","type","text","formControlName","dbName"],["matSelect","","name","dialect","formControlName","dialect","appearance","outline"],["class","success","matTooltip","Source Connection Successful","matTooltipPosition","above",4,"ngIf"],["mat-raised-button","","type","submit","color","accent",3,"disabled","click"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["mat-raised-button","",3,"routerLink"],[3,"value"],[1,"shardingConfig"],[1,"flex-container"],["appearance","outline",1,"flex-item"],["formControlName","isSharded"],["matTooltip","Configure multiple source database instances (shards) and consolidate them by migrating to a single Cloud Spanner instance to take advantage of Spanner's horizontal scalability and consistency semantics.",1,"flex-item","configure"],[1,"flex-item","rounded-chip",3,"removable"],[4,"ngIf"],["matTooltip","Source Connection Successful","matTooltipPosition","above",1,"success"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"form",2)(3,"h3",3),h(4,"Connect to Source Database"),c(),d(5,"mat-form-field",4)(6,"mat-label"),h(7,"Database Engine"),c(),d(8,"mat-select",5),N("selectionChange",function(){return i.refreshDbSpecifcConnectionOptions()}),b(9,OG,2,2,"mat-option",6),c()(),b(10,RG,13,3,"div",7),E(11,"br"),d(12,"h3",3),h(13,"Connection Detail"),c(),d(14,"mat-form-field",4)(15,"mat-label"),h(16,"Hostname"),c(),E(17,"input",8),c(),d(18,"mat-form-field",4)(19,"mat-label"),h(20,"Port"),c(),E(21,"input",9),d(22,"mat-error"),h(23," Only numbers are allowed. "),c()(),E(24,"br"),d(25,"mat-form-field",4)(26,"mat-label"),h(27,"User name"),c(),E(28,"input",10),c(),d(29,"mat-form-field",4)(30,"mat-label"),h(31,"Password"),c(),E(32,"input",11),c(),E(33,"br"),d(34,"mat-form-field",4)(35,"mat-label"),h(36,"Database Name"),c(),E(37,"input",12),c(),E(38,"br"),d(39,"h3",3),h(40,"Spanner Dialect"),c(),d(41,"mat-form-field",4)(42,"mat-label"),h(43,"Select a spanner dialect"),c(),d(44,"mat-select",13),b(45,FG,2,2,"mat-option",6),c()(),E(46,"br"),b(47,NG,2,0,"mat-icon",14),d(48,"button",15),N("click",function(){return i.testConn()}),h(49," Test Connection "),c(),d(50,"button",16),N("click",function(){return i.connectToDb()}),h(51," Connect "),c(),d(52,"button",17),h(53,"Cancel"),c()()()()),2&e&&(f(2),m("formGroup",i.connectForm),f(7),m("ngForOf",i.dbEngineList),f(1),m("ngIf","mysql"===i.connectForm.value.dbEngine),f(35),m("ngForOf",i.dialect),f(2),m("ngIf",i.isTestConnectionSuccessful),f(1),m("disabled",!i.connectForm.valid),f(2),m("disabled",!i.connectForm.valid||!i.isTestConnectionSuccessful),f(2),m("routerLink","/"))},directives:[xi,Hn,Sn,En,Mn,Qi,bn,Xn,ri,_i,Et,_n,ki,Td,li,Dn,Ob,Ht,Ns],styles:[".connect-load-database-container[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:0}.configure[_ngcontent-%COMP%]{color:#1967d2}.flex-container[_ngcontent-%COMP%]{display:flex;align-items:center}.flex-item[_ngcontent-%COMP%]{margin-right:8px}.rounded-chip[_ngcontent-%COMP%]{background-color:#fff;color:#0f33ab;border-radius:16px;padding:6px 12px;border:1px solid black;cursor:not-allowed;pointer-events:none}"]}),t})();function BG(t,n){if(1&t){const e=pe();d(0,"button",7),N("click",function(){return se(e),D().onConfirm()}),h(1," Continue "),c()}}let Vo=(()=>{class t{constructor(e,i){this.dialogRef=e,this.data=i,void 0===i.title&&(i.title="Update can not be saved")}ngOnInit(){}onConfirm(){this.dialogRef.close(!0)}onDismiss(){this.dialogRef.close(!1)}getIconFromMessageType(){switch(this.data.type){case"warning":return"warning";case"error":return"error";case"success":return"check_circle";default:return"message"}}}return t.\u0275fac=function(e){return new(e||t)(_(Ti),_(Yi))},t.\u0275cmp=Oe({type:t,selectors:[["app-infodialog"]],decls:10,vars:3,consts:[[1,"dialog-container"],["mat-dialog-title",""],["mat-dialog-content",""],[1,"dialog-message"],["mat-dialog-actions","",1,"dialog-action"],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","color","primary",3,"click",4,"ngIf"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h1",1),h(2),c(),d(3,"div",2)(4,"p",3),h(5),c()(),d(6,"div",4)(7,"button",5),h(8,"CANCEL"),c(),b(9,BG,2,0,"button",6),c()()),2&e&&(f(2),Pe(i.data.title),f(3),Se(" ",i.data.message," "),f(4),m("ngIf","error"!=i.data.type))},directives:[fU,wr,Dr,Ht,Xi,Et],styles:[""]}),t})();function VG(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function jG(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function HG(t,n){if(1&t){const e=pe();d(0,"mat-form-field",24)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.sessionName=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"sessionName")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.sessionName)}}function UG(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Session Name"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("sessionName")}),b(5,VG,2,0,"mat-icon",22),b(6,jG,2,0,"mat-icon",22),c()(),b(7,HG,4,1,"mat-form-field",23),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.sessionName),f(1),m("ngIf",!e.displayFilter.sessionName),f(1),m("ngIf",e.displayFilter.sessionName)}}function zG(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.SessionName)}}function $G(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function GG(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function WG(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.editorName=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"editorName")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.editorName)}}function qG(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Editor"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("editorName")}),b(5,$G,2,0,"mat-icon",22),b(6,GG,2,0,"mat-icon",22),c()(),b(7,WG,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.editorName),f(1),m("ngIf",!e.displayFilter.editorName),f(1),m("ngIf",e.displayFilter.editorName)}}function KG(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.EditorName)}}function ZG(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function QG(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function YG(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.databaseType=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"databaseType")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.databaseType)}}function XG(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Database Type"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("databaseType")}),b(5,ZG,2,0,"mat-icon",22),b(6,QG,2,0,"mat-icon",22),c()(),b(7,YG,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.databaseType),f(1),m("ngIf",!e.displayFilter.databaseType),f(1),m("ngIf",e.displayFilter.databaseType)}}function JG(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.DatabaseType)}}function eW(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function tW(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function nW(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.databaseName=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"databaseName")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.databaseName)}}function iW(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Database Name"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("databaseName")}),b(5,eW,2,0,"mat-icon",22),b(6,tW,2,0,"mat-icon",22),c()(),b(7,nW,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.databaseName),f(1),m("ngIf",!e.displayFilter.databaseName),f(1),m("ngIf",e.displayFilter.databaseName)}}function oW(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.DatabaseName)}}function rW(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function sW(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function aW(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.dialect=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"dialect")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.dialect)}}function lW(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Spanner Dialect"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("dialect")}),b(5,rW,2,0,"mat-icon",22),b(6,sW,2,0,"mat-icon",22),c()(),b(7,aW,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.dialect),f(1),m("ngIf",!e.displayFilter.dialect),f(1),m("ngIf",e.displayFilter.dialect)}}function cW(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.Dialect)}}function dW(t,n){1&t&&(d(0,"th",19),h(1,"Notes"),c())}function uW(t,n){if(1&t){const e=pe();d(0,"button",34),N("click",function(){se(e);const o=D(2).index,r=D(2);return r.notesToggle[o]=!r.notesToggle[o]}),h(1," ... "),c()}}function hW(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e)}}function pW(t,n){if(1&t&&(d(0,"div"),b(1,hW,2,1,"p",35),c()),2&t){const e=D(2).$implicit;f(1),m("ngForOf",e.Notes)}}function fW(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D(2).$implicit;f(1),Pe(null==e.Notes||null==e.Notes[0]?null:e.Notes[0].substring(0,20))}}function mW(t,n){if(1&t&&(d(0,"div",30),b(1,uW,2,0,"button",31),b(2,pW,2,1,"div",32),b(3,fW,2,1,"ng-template",null,33,Bc),c()),2&t){const e=$t(4),i=D(),o=i.$implicit,r=i.index,s=D(2);f(1),m("ngIf",(null==o.Notes?null:o.Notes.length)>1||(null==o.Notes[0]?null:o.Notes[0].length)>20),f(1),m("ngIf",s.notesToggle[r])("ngIfElse",e)}}function gW(t,n){if(1&t&&(d(0,"td",26),b(1,mW,5,3,"div",29),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.Notes)}}function _W(t,n){1&t&&(d(0,"th",19),h(1,"Created At"),c())}function bW(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit,i=D(2);f(1),Pe(i.convertDateTime(e.CreateTimestamp))}}function vW(t,n){1&t&&E(0,"th",19)}function yW(t,n){if(1&t){const e=pe();d(0,"td",26)(1,"button",36),N("click",function(){const r=se(e).$implicit;return D(2).resumeFromSessionFile(r.VersionId)}),h(2," Resume "),c(),d(3,"button",36),N("click",function(){const r=se(e).$implicit;return D(2).downloadSessionFile(r.VersionId,r.SessionName,r.DatabaseType,r.DatabaseName)}),h(4," Download "),c()()}}function CW(t,n){1&t&&E(0,"tr",37)}function wW(t,n){1&t&&E(0,"tr",38)}function DW(t,n){if(1&t&&(d(0,"div",5)(1,"table",6),be(2,7),b(3,UG,8,3,"th",8),b(4,zG,2,1,"td",9),ve(),be(5,10),b(6,qG,8,3,"th",8),b(7,KG,2,1,"td",9),ve(),be(8,11),b(9,XG,8,3,"th",8),b(10,JG,2,1,"td",9),ve(),be(11,12),b(12,iW,8,3,"th",8),b(13,oW,2,1,"td",9),ve(),be(14,13),b(15,lW,8,3,"th",8),b(16,cW,2,1,"td",9),ve(),be(17,14),b(18,dW,2,0,"th",8),b(19,gW,2,1,"td",9),ve(),be(20,15),b(21,_W,2,0,"th",8),b(22,bW,2,1,"td",9),ve(),be(23,16),b(24,vW,1,0,"th",8),b(25,yW,5,0,"td",9),ve(),b(26,CW,1,0,"tr",17),b(27,wW,1,0,"tr",18),c()()),2&t){const e=D();f(1),m("dataSource",e.filteredDataSource),f(25),m("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",!0),f(1),m("matRowDefColumns",e.displayedColumns)}}function SW(t,n){if(1&t){const e=pe();d(0,"div",39),hn(),d(1,"svg",40),E(2,"rect",41)(3,"path",42),c(),Ks(),d(4,"button",43),N("click",function(){return se(e),D().openSpannerConfigDialog()}),h(5," Configure Spanner Details "),c(),d(6,"span"),h(7,"Do not have any previous session to display. "),d(8,"u"),h(9," OR "),c(),E(10,"br"),h(11," Invalid Spanner configuration. "),c()()}}let MW=(()=>{class t{constructor(e,i,o,r){this.fetch=e,this.data=i,this.router=o,this.clickEvent=r,this.displayedColumns=["SessionName","EditorName","DatabaseType","DatabaseName","Dialect","Notes","CreateTimestamp","Action"],this.notesToggle=[],this.dataSource=[],this.filteredDataSource=[],this.filterColumnsValue={sessionName:"",editorName:"",databaseType:"",databaseName:"",dialect:""},this.displayFilter={sessionName:!1,editorName:!1,databaseType:!1,databaseName:!1,dialect:!1}}ngOnInit(){this.data.getAllSessions(),this.data.sessions.subscribe({next:e=>{null!=e?(this.filteredDataSource=e,this.dataSource=e):(this.filteredDataSource=[],this.dataSource=[])}})}toggleFilterDisplay(e){this.displayFilter[e]=!this.displayFilter[e]}updateFilterValue(e,i){e.stopPropagation(),this.filterColumnsValue[i]=e.target.value,this.applyFilter()}applyFilter(){this.filteredDataSource=this.dataSource.filter(e=>!!e.SessionName.toLowerCase().includes(this.filterColumnsValue.sessionName.toLowerCase())).filter(e=>!!e.EditorName.toLowerCase().includes(this.filterColumnsValue.editorName.toLowerCase())).filter(e=>!!e.DatabaseType.toLowerCase().includes(this.filterColumnsValue.databaseType.toLowerCase())).filter(e=>!!e.DatabaseName.toLowerCase().includes(this.filterColumnsValue.databaseName.toLowerCase())).filter(e=>!!e.Dialect.toLowerCase().includes(this.filterColumnsValue.dialect.toLowerCase()))}downloadSessionFile(e,i,o,r){this.fetch.getConvForSession(e).subscribe(s=>{var a=document.createElement("a");a.href=URL.createObjectURL(s),a.download=`${i}_${o}_${r}.json`,a.click()})}resumeFromSessionFile(e){this.data.resetStore(),this.data.getSchemaConversionFromResumeSession(e),this.data.conv.subscribe(i=>{localStorage.setItem(In.Config,e),localStorage.setItem(In.Type,mi.ResumeSession),this.router.navigate(["/workspace"])})}openSpannerConfigDialog(){this.clickEvent.openSpannerConfig()}convertDateTime(e){return(e=(e=new Date(e).toString()).substring(e.indexOf(" ")+1)).substring(0,e.indexOf("("))}}return t.\u0275fac=function(e){return new(e||t)(_(Bi),_(Ln),_(Jn),_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-session-listing"]],decls:8,vars:2,consts:[[1,"sessions-wrapper"],[1,"primary-header"],[1,"summary"],["class","session-container mat-elevation-z3",4,"ngIf"],["class","mat-elevation-z3 warning-container",4,"ngIf"],[1,"session-container","mat-elevation-z3"],["mat-table","",3,"dataSource"],["matColumnDef","SessionName"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","EditorName"],["matColumnDef","DatabaseType"],["matColumnDef","DatabaseName"],["matColumnDef","Dialect"],["matColumnDef","Notes"],["matColumnDef","CreateTimestamp"],["matColumnDef","Action"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],[1,"table-header-container"],["mat-icon-button","",3,"click"],[4,"ngIf"],["appearance","standard","class","full-width",4,"ngIf"],["appearance","standard",1,"full-width"],["matInput","","autocomplete","off",3,"ngModel","ngModelChange","keyup"],["mat-cell",""],["appearance","standard",4,"ngIf"],["appearance","standard"],["class","notes-wrapper",4,"ngIf"],[1,"notes-wrapper"],["class","notes-toggle-button",3,"click",4,"ngIf"],[4,"ngIf","ngIfElse"],["short",""],[1,"notes-toggle-button",3,"click"],[4,"ngFor","ngForOf"],["mat-button","","color","primary",3,"click"],["mat-header-row",""],["mat-row",""],[1,"mat-elevation-z3","warning-container"],["width","49","height","48","viewBox","0 0 49 48","fill","none","xmlns","http://www.w3.org/2000/svg"],["x","0.907227","width","48","height","48","rx","4","fill","#E6ECFA"],["fill-rule","evenodd","clip-rule","evenodd","d","M17.9072 15C16.8027 15 15.9072 15.8954 15.9072 17V31C15.9072 32.1046 16.8027 33 17.9072 33H31.9072C33.0118 33 33.9072 32.1046 33.9072 31V17C33.9072 15.8954 33.0118 15 31.9072 15H17.9072ZM20.9072 18H18.9072V20H20.9072V18ZM21.9072 18H23.9072V20H21.9072V18ZM20.9072 23H18.9072V25H20.9072V23ZM21.9072 23H23.9072V25H21.9072V23ZM20.9072 28H18.9072V30H20.9072V28ZM21.9072 28H23.9072V30H21.9072V28ZM30.9072 18H24.9072V20H30.9072V18ZM24.9072 23H30.9072V25H24.9072V23ZM30.9072 28H24.9072V30H30.9072V28Z","fill","#3367D6"],["mat-button","","color","primary",1,"spanner-config-button",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h3",1),h(2,"Session history"),c(),d(3,"div",2),h(4," Choose a session to resume an existing migration session, or download the session file. "),c(),E(5,"br"),b(6,DW,28,4,"div",3),b(7,SW,12,0,"div",4),c()),2&e&&(f(6),m("ngIf",i.dataSource.length>0),f(1),m("ngIf",0===i.dataSource.length))},directives:[Et,Is,Xr,Yr,Jr,Ht,_n,En,Mn,li,Dn,bn,El,Qr,es,ri,Os,Ps,As,Rs],styles:[".session-container[_ngcontent-%COMP%]{max-height:500px;overflow:auto}.session-container[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:13px}table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] .table-header-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.sessions-wrapper[_ngcontent-%COMP%]{margin-top:20px}.sessions-wrapper[_ngcontent-%COMP%] .warning-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:57vh;text-align:center}.sessions-wrapper[_ngcontent-%COMP%] .warning-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{margin-bottom:10px}.sessions-wrapper[_ngcontent-%COMP%] .warning-container[_ngcontent-%COMP%] .spanner-config-button[_ngcontent-%COMP%]{text-decoration:underline}.mat-column-Notes[_ngcontent-%COMP%]{max-width:200px;padding-right:10px}.notes-toggle-button[_ngcontent-%COMP%]{float:right;margin-right:32px;background-color:#f5f5f5;border:none;border-radius:2px;padding:0 5px 5px}.notes-toggle-button[_ngcontent-%COMP%]:hover{background-color:#ebe7e7;cursor:pointer}.notes-wrapper[_ngcontent-%COMP%]{margin-top:10px}.mat-column-SessionName[_ngcontent-%COMP%], .mat-column-EditorName[_ngcontent-%COMP%], .mat-column-DatabaseType[_ngcontent-%COMP%], .mat-column-DatabaseName[_ngcontent-%COMP%], .mat-column-Dialect[_ngcontent-%COMP%]{width:13vw;min-width:150px}.mat-column-Action[_ngcontent-%COMP%], .mat-column-Notes[_ngcontent-%COMP%], .mat-column-CreateTimestamp[_ngcontent-%COMP%]{width:15vw;min-width:150px}.mat-form-field[_ngcontent-%COMP%]{width:80%}"]}),t})(),xW=(()=>{class t{constructor(e,i){this.dialog=e,this.router=i}ngOnInit(){null!=localStorage.getItem(le.IsMigrationInProgress)&&"true"===localStorage.getItem(le.IsMigrationInProgress)&&(this.dialog.open(Vo,{data:{title:"Redirecting to prepare migration page",message:"Another migration already in progress",type:"error"},maxWidth:"500px"}),this.router.navigate(["/prepare-migration"]))}}return t.\u0275fac=function(e){return new(e||t)(_(ns),_(Jn))},t.\u0275cmp=Oe({type:t,selectors:[["app-home"]],decls:21,vars:4,consts:[[1,"container"],[1,"primary-header"],[1,"summary","global-font-color","body-font-size"],["href","https://github.com/GoogleCloudPlatform/spanner-migration-tool#readme","target","_blank"],[1,"btn-source-select"],["mat-raised-button","","color","primary",1,"split-button-left",3,"routerLink"],["mat-raised-button","","color","primary",1,"split-button-right",3,"matMenuTriggerFor"],["aria-hidden","false","aria-label","More options"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"routerLink"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"h3",1),h(2,"Get started with Spanner migration tool"),c(),d(3,"div",2),h(4," Spanner migration tool (formerly known as HarbourBridge) is a stand-alone open source tool for Cloud Spanner evaluation and migration, using data from an existing PostgreSQL, MySQL, SQL Server, Oracle or DynamoDB database. "),d(5,"a",3),h(6,"Learn More"),c(),h(7,". "),c(),d(8,"div",4)(9,"button",5),h(10," Connect to database "),c(),d(11,"button",6)(12,"mat-icon",7),h(13,"expand_more"),c()(),d(14,"mat-menu",8,9)(16,"button",10),h(17,"Load database dump"),c(),d(18,"button",10),h(19,"Load session file"),c()()(),E(20,"app-session-listing"),c()),2&e){const o=$t(15);f(9),m("routerLink","/source/direct-connection"),f(2),m("matMenuTriggerFor",o),f(5),m("routerLink","/source/load-dump"),f(2),m("routerLink","/source/load-session")}},directives:[Ht,Ns,Nl,_n,Fl,qr,MW],styles:[".container[_ngcontent-%COMP%]{padding:7px 27px}.container[_ngcontent-%COMP%] .summary[_ngcontent-%COMP%]{width:500px;font-weight:lighter}.container[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 5px}.container[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border-color:#fff;margin-bottom:20px}.container[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%]{margin:20px 0;padding-bottom:5px}.container[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-left[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.container[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-right[_ngcontent-%COMP%]{width:30px!important;min-width:unset!important;padding:0 2px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #fafafa}"]}),t})(),Ei=(()=>{class t{constructor(){this.sidenavOpenSub=new vt(!1),this.sidenavComponentSub=new vt(""),this.sidenavRuleTypeSub=new vt(""),this.sidenavAddIndexTableSub=new vt(""),this.setSidenavDatabaseNameSub=new vt(""),this.ruleDataSub=new vt({}),this.displayRuleFlagSub=new vt(!1),this.setMiddleColumn=new vt(!1),this.isSidenav=this.sidenavOpenSub.asObservable(),this.sidenavComponent=this.sidenavComponentSub.asObservable(),this.sidenavRuleType=this.sidenavRuleTypeSub.asObservable(),this.sidenavAddIndexTable=this.sidenavAddIndexTableSub.asObservable(),this.sidenavDatabaseName=this.setSidenavDatabaseNameSub.asObservable(),this.ruleData=this.ruleDataSub.asObservable(),this.displayRuleFlag=this.displayRuleFlagSub.asObservable(),this.setMiddleColumnComponent=this.setMiddleColumn.asObservable()}openSidenav(){this.sidenavOpenSub.next(!0)}closeSidenav(){this.sidenavOpenSub.next(!1)}setSidenavComponent(e){this.sidenavComponentSub.next(e)}setSidenavRuleType(e){this.sidenavRuleTypeSub.next(e)}setSidenavAddIndexTable(e){this.sidenavAddIndexTableSub.next(e)}setSidenavDatabaseName(e){this.setSidenavDatabaseNameSub.next(e)}setRuleData(e){this.ruleDataSub.next(e)}setDisplayRuleFlag(e){this.displayRuleFlagSub.next(e)}setMiddleColComponent(e){this.setMiddleColumn.next(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),uI=(()=>{class t{constructor(e){this.sidenav=e}ngOnInit(){}closeInstructionSidenav(){this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(_(Ei))},t.\u0275cmp=Oe({type:t,selectors:[["app-instruction"]],decls:150,vars:0,consts:[[1,"instructions-div"],[1,"instruction-header-div"],["mat-icon-button","",3,"click"],["src","../../../assets/icons/google-spanner-logo.png",1,"instructions-icon"],[1,"textCenter"],[1,"instructions-main-heading"],[1,"instructions-sub-heading"],[1,"instructions-command"],["href","https://github.com/GoogleCloudPlatform/spanner-migration-tool",1,"instructionsLink"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"button",2),N("click",function(){return i.closeInstructionSidenav()}),d(3,"mat-icon"),h(4,"close"),c()()(),E(5,"img",3),d(6,"h1",4),h(7,"Spanner migration tool User Manual"),c(),E(8,"br")(9,"br"),d(10,"h3",5),h(11,"1 \xa0 \xa0 \xa0Introduction"),c(),d(12,"p"),h(13," Spanner migration tool (formerly known as HarbourBridge) is a stand-alone open source tool for Cloud Spanner evaluation, using data from an existing PostgreSQL or MySQL database. The tool ingests schema and data from either a pg_dump/mysqldump file or directly from the source database, automatically builds a Spanner schema, and creates a new Spanner database populated with data from the source database. "),E(14,"br")(15,"br")(16,"br"),h(17," Spanner migration tool is designed to simplify Spanner evaluation, and in particular to bootstrap the process by getting moderate-size PostgreSQL/MySQL datasets into Spanner (up to a few tens of GB). Many features of PostgreSQL/MySQL, especially those that don't map directly to Spanner features, are ignored, e.g. (non-primary) indexes, functions, and sequences. Types such as integers, floats, char/text, bools, timestamps, and (some) array types, map fairly directly to Spanner, but many other types do not and instead are mapped to Spanner's STRING(MAX). "),c(),E(18,"br"),d(19,"h4",6),h(20,"1.1 \xa0 \xa0 \xa0Spanner migration tool UI"),c(),d(21,"p"),h(22," Spanner migration tool UI is designed to focus on generating spanner schema from either a pg_dump/mysqldump file or directly from the source database and providing edit functionality to the spanner schema and thereby creating a new spanner database populated with new data. UI gives the provision to edit column name, edit data type, edit constraints, drop foreign key and drop secondary index of spanner schema. "),c(),E(23,"br"),d(24,"h3",5),h(25,"2 \xa0 \xa0 \xa0Key Features of UI"),c(),d(26,"ul")(27,"li"),h(28,"Connecting to a new database"),c(),d(29,"li"),h(30,"Load dump file"),c(),d(31,"li"),h(32,"Load session file"),c(),d(33,"li"),h(34,"Storing session for each conversion"),c(),d(35,"li"),h(36,"Edit data type globally for each table in schema"),c(),d(37,"li"),h(38,"Edit data type, column name, constraint for a particular table"),c(),d(39,"li"),h(40,"Edit foreign key and secondary index name"),c(),d(41,"li"),h(42,"Drop a column from a table"),c(),d(43,"li"),h(44,"Drop foreign key from a table"),c(),d(45,"li"),h(46,"Drop secondary index from a table"),c(),d(47,"li"),h(48,"Convert foreign key into interleave table"),c(),d(49,"li"),h(50,"Search a table"),c(),d(51,"li"),h(52,"Download schema, report and session files"),c()(),E(53,"br"),d(54,"h3",5),h(55,"3 \xa0 \xa0 \xa0UI Setup"),c(),d(56,"ul")(57,"li"),h(58,"Install go in local"),c(),d(59,"li"),h(60," Clone Spanner migration tool project and run following command in the terminal: "),E(61,"br"),d(62,"span",7),h(63,"go run main.go --web"),c()(),d(64,"li"),h(65,"Open "),d(66,"span",7),h(67,"http://localhost:8080"),c(),h(68,"in browser"),c()(),E(69,"br"),d(70,"h3",5),h(71," 4 \xa0 \xa0 \xa0Different modes to select source database "),c(),d(72,"h4",6),h(73,"4.1 \xa0 \xa0 \xa0Connect to Database"),c(),d(74,"ul")(75,"li"),h(76,"Enter database details in connect to database dialog box"),c(),d(77,"li"),h(78," Input Fields: database type, database host, database port, database user, database name, database password "),c()(),d(79,"h4",6),h(80,"4.2 \xa0 \xa0 \xa0Load Database Dump"),c(),d(81,"ul")(82,"li"),h(83,"Enter dump file path in load database dialog box"),c(),d(84,"li"),h(85,"Input Fields: database type, file path"),c()(),d(86,"h4",6),h(87,"4.3 \xa0 \xa0 \xa0Import Schema File"),c(),d(88,"ul")(89,"li"),h(90,"Enter session file path in load session dialog box"),c(),d(91,"li"),h(92,"Input Fields: database type, session file path"),c()(),d(93,"h3",5),h(94,"5 \xa0 \xa0 \xa0Session Table"),c(),d(95,"ul")(96,"li"),h(97,"Session table is used to store the previous sessions of schema conversion"),c()(),d(98,"h3",5),h(99,"6 \xa0 \xa0 \xa0Edit Global Data Type"),c(),d(100,"ul")(101,"li"),h(102,"Click on edit global data type button on the screen"),c(),d(103,"li"),h(104,"Select required spanner data type from the dropdown available for each source data type"),c(),d(105,"li"),h(106,"Click on next button after making all the changes"),c()(),d(107,"h3",5),h(108," 7 \xa0 \xa0 \xa0Edit Spanner Schema for a particular table "),c(),d(109,"ul")(110,"li"),h(111,"Expand any table"),c(),d(112,"li"),h(113,"Click on edit spanner schema button"),c(),d(114,"li"),h(115,"Edit column name/ data type/ constraint of spanner schema"),c(),d(116,"li"),h(117,"Edit name of secondary index or foreign key"),c(),d(118,"li"),h(119,"Select to convert foreign key to interleave or use as is (if option is available)"),c(),d(120,"li"),h(121,"Drop a column by unselecting any checkbox"),c(),d(122,"li"),h(123," Drop a foreign key or secondary index by expanding foreign keys or secondary indexes tab inside table "),c(),d(124,"li"),h(125,"Click on save changes button to save the changes"),c(),d(126,"li"),h(127," If current table is involved in foreign key/secondary indexes relationship with other table then user will be prompt to delete foreign key or secondary indexes and then proceed with save changes "),c()(),d(128,"p"),h(129,"- Warning before deleting secondary index from a table"),c(),d(130,"p"),h(131,"- Error on saving changes"),c(),d(132,"p"),h(133,"- Changes saved successfully after resolving all errors"),c(),d(134,"h3",5),h(135,"8 \xa0 \xa0 \xa0Download Session File"),c(),d(136,"ul")(137,"li"),h(138,"Save all the changes done in spanner schema table wise or globally"),c(),d(139,"li"),h(140,"Click on download session file button on the top right corner"),c(),d(141,"li"),h(142,"Save the generated session file with all the changes in local machine"),c()(),d(143,"h3",5),h(144,"9 \xa0 \xa0 \xa0How to use Session File"),c(),d(145,"p"),h(146," Please refer below link to get more information on how to use session file with Spanner migration tool "),c(),d(147,"a",8),h(148,"Refer this to use Session File"),c(),E(149,"br"),c())},directives:[Ht,_n],styles:[".instructions-div[_ngcontent-%COMP%]{padding:5px 20px 20px}.instructions-div[_ngcontent-%COMP%] .instruction-header-div[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.instructions-icon[_ngcontent-%COMP%]{height:200px;display:block;margin-left:auto;margin-right:auto}.textCenter[_ngcontent-%COMP%]{text-align:center}.instructions-main-heading[_ngcontent-%COMP%]{font-size:1.25rem;color:#4285f4;font-weight:700}.instructions-sub-heading[_ngcontent-%COMP%]{font-size:1rem;color:#4285f4;font-weight:700}.instructions-command[_ngcontent-%COMP%]{background-color:#8080806b;border-radius:5px;padding:0 5px}.instructions-img-width[_ngcontent-%COMP%]{width:800px}.instructionsLink[_ngcontent-%COMP%]{color:#4285f4;text-decoration:underline}"]}),t})();function TW(t,n){if(1&t&&(hn(),E(0,"circle",4)),2&t){const e=D(),i=$t(1);pi("animation-name","mat-progress-spinner-stroke-rotate-"+e._spinnerAnimationLabel)("stroke-dashoffset",e._getStrokeDashOffset(),"px")("stroke-dasharray",e._getStrokeCircumference(),"px")("stroke-width",e._getCircleStrokeWidth(),"%")("transform-origin",e._getCircleTransformOrigin(i)),et("r",e._getCircleRadius())}}function kW(t,n){if(1&t&&(hn(),E(0,"circle",4)),2&t){const e=D(),i=$t(1);pi("stroke-dashoffset",e._getStrokeDashOffset(),"px")("stroke-dasharray",e._getStrokeCircumference(),"px")("stroke-width",e._getCircleStrokeWidth(),"%")("transform-origin",e._getCircleTransformOrigin(i)),et("r",e._getCircleRadius())}}const IW=$r(class{constructor(t){this._elementRef=t}},"primary"),OW=new _e("mat-progress-spinner-default-options",{providedIn:"root",factory:function AW(){return{diameter:100}}});class Ji extends IW{constructor(n,e,i,o,r,s,a,l){super(n),this._document=i,this._diameter=100,this._value=0,this._resizeSubscription=k.EMPTY,this.mode="determinate";const u=Ji._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),u.has(i.head)||u.set(i.head,new Set([100])),this._noopAnimations="NoopAnimations"===o&&!!r&&!r._forceAnimations,"mat-spinner"===n.nativeElement.nodeName.toLowerCase()&&(this.mode="indeterminate"),r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth)),e.isBrowser&&e.SAFARI&&a&&s&&l&&(this._resizeSubscription=a.change(150).subscribe(()=>{"indeterminate"===this.mode&&l.run(()=>s.markForCheck())}))}get diameter(){return this._diameter}set diameter(n){this._diameter=Zn(n),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(n){this._strokeWidth=Zn(n)}get value(){return"determinate"===this.mode?this._value:0}set value(n){this._value=Math.max(0,Math.min(100,Zn(n)))}ngOnInit(){const n=this._elementRef.nativeElement;this._styleRoot=lM(n)||this._document.head,this._attachStyleNode(),n.classList.add("mat-progress-spinner-indeterminate-animation")}ngOnDestroy(){this._resizeSubscription.unsubscribe()}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const n=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${n} ${n}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_getCircleTransformOrigin(n){var e;const i=50*(null!==(e=n.currentScale)&&void 0!==e?e:1);return`${i}% ${i}%`}_attachStyleNode(){const n=this._styleRoot,e=this._diameter,i=Ji._diameters;let o=i.get(n);if(!o||!o.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),n.appendChild(r),o||(o=new Set,i.set(n,o)),o.add(e)}}_getAnimationText(){const n=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*n).replace(/END_VALUE/g,""+.2*n).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}Ji._diameters=new WeakMap,Ji.\u0275fac=function(n){return new(n||Ji)(_(He),_(dn),_(ht,8),_(gn,8),_(OW),_(At),_(yr),_(Je))},Ji.\u0275cmp=Oe({type:Ji,selectors:[["mat-progress-spinner"],["mat-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner","mat-spinner"],hostVars:10,hostBindings:function(n,e){2&n&&(et("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),pi("width",e.diameter,"px")("height",e.diameter,"px"),rt("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",diameter:"diameter",strokeWidth:"strokeWidth",mode:"mode",value:"value"},exportAs:["matProgressSpinner"],features:[Ce],decls:4,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["svg",""],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(n,e){1&n&&(hn(),d(0,"svg",0,1),b(2,TW,1,11,"circle",2),b(3,kW,1,9,"circle",3),c()),2&n&&(pi("width",e.diameter,"px")("height",e.diameter,"px"),m("ngSwitch","indeterminate"===e.mode),et("viewBox",e._getViewBox()),f(2),m("ngSwitchCase",!0),f(1),m("ngSwitchCase",!1))},directives:[vl,nh],styles:[".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}\n"],encapsulation:2,changeDetection:0});let RW=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft,Wi],ft]}),t})();function FW(t,n){if(1&t&&(d(0,"mat-option",17),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function NW(t,n){1&t&&E(0,"mat-spinner",18),2&t&&m("diameter",25)}function LW(t,n){1&t&&(d(0,"mat-icon",19),h(1,"check_circle"),c())}function BW(t,n){1&t&&(d(0,"mat-icon",20),h(1,"cancel"),c())}function VW(t,n){if(1&t&&(d(0,"mat-option",17),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}let jW=(()=>{class t{constructor(e,i,o){this.data=e,this.router=i,this.clickEvent=o,this.connectForm=new an({dbEngine:new X("mysqldump",[de.required]),filePath:new X("",[de.required]),dialect:new X("",[de.required])}),this.dbEngineList=[{value:"mysqldump",displayName:"MySQL"},{value:"pg_dump",displayName:"PostgreSQL"}],this.dialect=lI,this.fileToUpload=null,this.uploadStart=!1,this.uploadSuccess=!1,this.uploadFail=!1,this.getSchemaRequest=null}ngOnInit(){this.clickEvent.cancelDbLoad.subscribe({next:e=>{e&&this.getSchemaRequest&&this.getSchemaRequest.unsubscribe()}})}convertFromDump(){this.clickEvent.openDatabaseLoader("dump",""),this.data.resetStore(),localStorage.clear();const{dbEngine:e,filePath:i,dialect:o}=this.connectForm.value,a={Config:{Driver:e,Path:i},SpannerDetails:{Dialect:o}};this.getSchemaRequest=this.data.getSchemaConversionFromDump(a),this.data.conv.subscribe(l=>{localStorage.setItem(In.Config,JSON.stringify(a)),localStorage.setItem(In.Type,mi.DumpFile),localStorage.setItem(In.SourceDbName,$p(e)),this.clickEvent.closeDatabaseLoader(),this.router.navigate(["/workspace"])})}handleFileInput(e){var i;let o=e.target.files;o&&(this.fileToUpload=o.item(0),this.connectForm.patchValue({filePath:null===(i=this.fileToUpload)||void 0===i?void 0:i.name}),this.fileToUpload&&this.uploadFile())}uploadFile(){var e;if(this.fileToUpload){this.uploadStart=!0,this.uploadFail=!1,this.uploadSuccess=!1;const i=new FormData;i.append("myFile",this.fileToUpload,null===(e=this.fileToUpload)||void 0===e?void 0:e.name),this.data.uploadFile(i).subscribe(o=>{""==o?this.uploadSuccess=!0:this.uploadFail=!0})}}}return t.\u0275fac=function(e){return new(e||t)(_(Ln),_(Jn),_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-load-dump"]],decls:36,vars:8,consts:[[1,"connect-load-database-container"],[1,"form-container"],[3,"formGroup","ngSubmit"],[1,"primary-header"],["appearance","outline",1,"full-width"],["matSelect","","name","dbEngine","formControlName","dbEngine","appearance","outline"],[3,"value",4,"ngFor","ngForOf"],["matInput","","placeholder","File path","name","filePath","type","text","formControlName","filePath","readonly","",3,"click"],["matSuffix","",3,"diameter",4,"ngIf"],["matSuffix","","class","success",4,"ngIf"],["matSuffix","","class","danger",4,"ngIf"],["mat-stroked-button","","type","button",3,"click"],["hidden","","type","file",3,"change"],["file",""],["matSelect","","name","dialect","formControlName","dialect","appearance","outline"],["mat-raised-button","","type","submit","color","primary",3,"disabled"],["mat-raised-button","",3,"routerLink"],[3,"value"],["matSuffix","",3,"diameter"],["matSuffix","",1,"success"],["matSuffix","",1,"danger"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"div",1)(2,"form",2),N("ngSubmit",function(){return i.convertFromDump()}),d(3,"h3",3),h(4,"Load from database dump"),c(),d(5,"mat-form-field",4)(6,"mat-label"),h(7,"Database Engine"),c(),d(8,"mat-select",5),b(9,FW,2,2,"mat-option",6),c()(),d(10,"h3",3),h(11,"Dump File"),c(),d(12,"mat-form-field",4)(13,"mat-label"),h(14,"File path"),c(),d(15,"input",7),N("click",function(){return se(o),$t(22).click()}),c(),b(16,NW,1,1,"mat-spinner",8),b(17,LW,2,0,"mat-icon",9),b(18,BW,2,0,"mat-icon",10),c(),d(19,"button",11),N("click",function(){return se(o),$t(22).click()}),h(20,"Upload File"),c(),d(21,"input",12,13),N("change",function(s){return i.handleFileInput(s)}),c(),E(23,"br"),d(24,"h3",3),h(25,"Spanner Dialect"),c(),d(26,"mat-form-field",4)(27,"mat-label"),h(28,"Select a spanner dialect"),c(),d(29,"mat-select",14),b(30,VW,2,2,"mat-option",6),c()(),E(31,"br"),d(32,"button",15),h(33," Convert "),c(),d(34,"button",16),h(35,"Cancel"),c()()()()}2&e&&(f(2),m("formGroup",i.connectForm),f(7),m("ngForOf",i.dbEngineList),f(7),m("ngIf",i.uploadStart&&!i.uploadSuccess&&!i.uploadFail),f(1),m("ngIf",i.uploadStart&&i.uploadSuccess),f(1),m("ngIf",i.uploadStart&&i.uploadFail),f(12),m("ngForOf",i.dialect),f(2),m("disabled",!i.connectForm.valid||!i.uploadSuccess),f(2),m("routerLink","/"))},directives:[xi,Hn,Sn,En,Mn,Qi,bn,Xn,ri,_i,li,Dn,Et,Ji,Ab,_n,Ht,Ns],styles:[""]}),t})();function HW(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function UW(t,n){1&t&&E(0,"mat-spinner",17),2&t&&m("diameter",25)}function zW(t,n){1&t&&(d(0,"mat-icon",18),h(1,"check_circle"),c())}function $W(t,n){1&t&&(d(0,"mat-icon",19),h(1,"cancel"),c())}let GW=(()=>{class t{constructor(e,i,o){this.data=e,this.router=i,this.clickEvent=o,this.connectForm=new an({dbEngine:new X("mysql",[de.required]),filePath:new X("",[de.required])}),this.dbEngineList=[{value:"mysql",displayName:"MySQL"},{value:"sqlserver",displayName:"SQL Server"},{value:"oracle",displayName:"Oracle"},{value:"postgres",displayName:"PostgreSQL"}],this.fileToUpload=null,this.uploadStart=!1,this.uploadSuccess=!1,this.uploadFail=!1,this.getSchemaRequest=null}ngOnInit(){this.clickEvent.cancelDbLoad.subscribe({next:e=>{e&&this.getSchemaRequest&&this.getSchemaRequest.unsubscribe()}})}convertFromSessionFile(){this.clickEvent.openDatabaseLoader("session",""),this.data.resetStore(),localStorage.clear();const{dbEngine:e,filePath:i}=this.connectForm.value,o={driver:e,filePath:i};this.getSchemaRequest=this.data.getSchemaConversionFromSession(o),this.data.conv.subscribe(r=>{localStorage.setItem(In.Config,JSON.stringify(o)),localStorage.setItem(In.Type,mi.SessionFile),localStorage.setItem(In.SourceDbName,$p(e)),this.clickEvent.closeDatabaseLoader(),this.router.navigate(["/workspace"])})}handleFileInput(e){var i;let o=e.target.files;o&&(this.fileToUpload=o.item(0),this.connectForm.patchValue({filePath:null===(i=this.fileToUpload)||void 0===i?void 0:i.name}),this.fileToUpload&&this.uploadFile())}uploadFile(){var e;if(this.fileToUpload){this.uploadStart=!0,this.uploadFail=!1,this.uploadSuccess=!1;const i=new FormData;i.append("myFile",this.fileToUpload,null===(e=this.fileToUpload)||void 0===e?void 0:e.name),this.data.uploadFile(i).subscribe(o=>{""==o?this.uploadSuccess=!0:this.uploadFail=!0})}}}return t.\u0275fac=function(e){return new(e||t)(_(Ln),_(Jn),_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-load-session"]],decls:28,vars:7,consts:[[1,"connect-load-database-container"],[1,"form-container"],[3,"formGroup","ngSubmit"],[1,"primary-header"],["appearance","outline",1,"full-width"],["matSelect","","name","dbEngine","formControlName","dbEngine","appearance","outline"],[3,"value",4,"ngFor","ngForOf"],["matInput","","placeholder","File path","name","filePath","type","text","formControlName","filePath","readonly","",3,"click"],["matSuffix","",3,"diameter",4,"ngIf"],["matSuffix","","class","success",4,"ngIf"],["matSuffix","","class","danger",4,"ngIf"],["mat-stroked-button","","type","button",3,"click"],["hidden","","type","file",3,"change"],["file",""],["mat-raised-button","","type","submit","color","primary",3,"disabled"],["mat-raised-button","",3,"routerLink"],[3,"value"],["matSuffix","",3,"diameter"],["matSuffix","",1,"success"],["matSuffix","",1,"danger"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"div",1)(2,"form",2),N("ngSubmit",function(){return i.convertFromSessionFile()}),d(3,"h3",3),h(4,"Load from session"),c(),d(5,"mat-form-field",4)(6,"mat-label"),h(7,"Database Engine"),c(),d(8,"mat-select",5),b(9,HW,2,2,"mat-option",6),c()(),d(10,"h3",3),h(11,"Session File"),c(),d(12,"mat-form-field",4)(13,"mat-label"),h(14,"File path"),c(),d(15,"input",7),N("click",function(){return se(o),$t(22).click()}),c(),b(16,UW,1,1,"mat-spinner",8),b(17,zW,2,0,"mat-icon",9),b(18,$W,2,0,"mat-icon",10),c(),d(19,"button",11),N("click",function(){return se(o),$t(22).click()}),h(20,"Upload File"),c(),d(21,"input",12,13),N("change",function(s){return i.handleFileInput(s)}),c(),E(23,"br"),d(24,"button",14),h(25," Convert "),c(),d(26,"button",15),h(27,"Cancel"),c()()()()}2&e&&(f(2),m("formGroup",i.connectForm),f(7),m("ngForOf",i.dbEngineList),f(7),m("ngIf",i.uploadStart&&!i.uploadSuccess&&!i.uploadFail),f(1),m("ngIf",i.uploadStart&&i.uploadSuccess),f(1),m("ngIf",i.uploadStart&&i.uploadFail),f(6),m("disabled",!i.connectForm.valid||!i.uploadSuccess),f(2),m("routerLink","/"))},directives:[xi,Hn,Sn,En,Mn,Qi,bn,Xn,ri,_i,li,Dn,Et,Ji,Ab,_n,Ht,Ns],styles:[""]}),t})();function WW(t,n){if(1&t&&(d(0,"h3"),h(1),c()),2&t){const e=D();f(1),Se("Reading schema for ",e.databaseName," database. Please wait...")}}function qW(t,n){1&t&&(d(0,"h4"),h(1,"Tip: Spanner migration tool will read the information schema at source and automatically map it to Cloud Spanner"),c())}function KW(t,n){if(1&t&&(d(0,"h3"),h(1),c()),2&t){const e=D();f(1),Se("Testing connection to ",e.databaseName," database...")}}function ZW(t,n){1&t&&(d(0,"h4"),h(1,"Tip: Spanner migration tool is attempting to ping the source database, it will retry a couple of times before timing out."),c())}function QW(t,n){1&t&&(d(0,"h3"),h(1,"Loading the dump file..."),c())}function YW(t,n){1&t&&(d(0,"h3"),h(1,"Loading the session file..."),c())}let XW=(()=>{class t{constructor(e,i){this.router=e,this.clickEvent=i,this.loaderType="",this.databaseName="",this.timeElapsed=0,this.timeElapsedInterval=setInterval(()=>{this.timeElapsed+=1},1e3)}ngOnInit(){this.timeElapsed=0}ngOnDestroy(){clearInterval(this.timeElapsedInterval)}cancelDbLoad(){this.clickEvent.cancelDbLoading(),this.clickEvent.closeDatabaseLoader(),this.router.navigate(["/"])}}return t.\u0275fac=function(e){return new(e||t)(_(Jn),_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-database-loader"]],inputs:{loaderType:"loaderType",databaseName:"databaseName"},decls:12,vars:7,consts:[[1,"container","content-height"],["src","../../../assets/gifs/database-loader.gif","alt","database-loader-gif",1,"loader-gif"],[4,"ngIf"],["mat-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0),E(1,"img",1),b(2,WW,2,1,"h3",2),b(3,qW,2,0,"h4",2),b(4,KW,2,1,"h3",2),b(5,ZW,2,0,"h4",2),b(6,QW,2,0,"h3",2),b(7,YW,2,0,"h3",2),d(8,"h5"),h(9),c(),d(10,"button",3),N("click",function(){return i.cancelDbLoad()}),h(11,"Cancel"),c()()),2&e&&(f(2),m("ngIf","direct"===i.loaderType),f(1),m("ngIf","direct"===i.loaderType),f(1),m("ngIf","test-connection"===i.loaderType),f(1),m("ngIf","test-connection"===i.loaderType),f(1),m("ngIf","dump"===i.loaderType),f(1),m("ngIf","session"===i.loaderType),f(2),Se("",i.timeElapsed," seconds have elapsed"))},directives:[Et,Ht],styles:[".container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center}.container[_ngcontent-%COMP%] .loader-gif[_ngcontent-%COMP%]{width:10rem;height:10rem}"]}),t})();function JW(t,n){1&t&&(d(0,"div"),E(1,"router-outlet"),c())}function eq(t,n){if(1&t&&(d(0,"div"),E(1,"app-database-loader",1),c()),2&t){const e=D();f(1),m("loaderType",e.loaderType)("databaseName",e.databaseName)}}let tq=(()=>{class t{constructor(e){this.clickevent=e,this.isDatabaseLoading=!1,this.loaderType="",this.databaseName=""}ngOnInit(){this.clickevent.databaseLoader.subscribe(e=>{this.loaderType=e.type,this.databaseName=e.databaseName,this.isDatabaseLoading=""!==this.loaderType})}}return t.\u0275fac=function(e){return new(e||t)(_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-source-selection"]],decls:2,vars:2,consts:[[4,"ngIf"],[3,"loaderType","databaseName"]],template:function(e,i){1&e&&(b(0,JW,2,0,"div",0),b(1,eq,2,2,"div",0)),2&e&&(m("ngIf",!i.isDatabaseLoading),f(1),m("ngIf",i.isDatabaseLoading))},directives:[Et,Lp,XW],styles:[".mat-card-class[_ngcontent-%COMP%]{padding:0 20px}"]}),t})();var hI=Te(650);function nq(t,n){if(1&t&&(d(0,"h2"),h(1),c()),2&t){const e=D();f(1),Se("Skip ",e.eligibleTables.length," table(s)?")}}function iq(t,n){if(1&t&&(d(0,"h2"),h(1),c()),2&t){const e=D();f(1),Se("Restore ",e.eligibleTables.length," table(s) and all associated indexes?")}}function oq(t,n){1&t&&(d(0,"span",9),h(1," Confirm skip by typing the following below: "),d(2,"b"),h(3,"SKIP"),c(),E(4,"br"),c())}function rq(t,n){1&t&&(d(0,"span",9),h(1," Confirm restoration by typing the following below: "),d(2,"b"),h(3,"RESTORE"),c(),E(4,"br"),c())}function sq(t,n){if(1&t&&(d(0,"div")(1,"b"),h(2,"Note:"),c(),h(3),E(4,"br"),d(5,"b"),h(6,"Already skipped tables:"),c(),h(7),c()),2&t){const e=D();f(3),dl(" You selected ",e.data.tables.length," tables. ",e.ineligibleTables.length," table(s) will not be skipped since they are already skipped."),f(4),Se(" ",e.ineligibleTables," ")}}function aq(t,n){if(1&t&&(d(0,"div")(1,"b"),h(2,"Note:"),c(),h(3),E(4,"br"),d(5,"b"),h(6,"Already active tables:"),c(),h(7),c()),2&t){const e=D();f(3),dl(" You selected ",e.data.tables.length," tables. ",e.ineligibleTables.length," table(s) will not be restored since they are already active."),f(4),Se(" ",e.ineligibleTables," ")}}let pI=(()=>{class t{constructor(e,i){this.data=e,this.dialogRef=i,this.eligibleTables=[],this.ineligibleTables=[];let o="";"SKIP"==this.data.operation?(o="SKIP",this.data.tables.forEach(r=>{r.isDeleted?this.ineligibleTables.push(r.TableName):this.eligibleTables.push(r.TableName)})):(o="RESTORE",this.data.tables.forEach(r=>{r.isDeleted?this.eligibleTables.push(r.TableName):this.ineligibleTables.push(r.TableName)})),this.confirmationInput=new X("",[de.required,de.pattern(o)]),i.disableClose=!0}confirm(){this.dialogRef.close(this.data.operation)}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(_(Yi),_(Ti))},t.\u0275cmp=Oe({type:t,selectors:[["app-bulk-drop-restore-table-dialog"]],decls:19,vars:8,consts:[["mat-dialog-content",""],[4,"ngIf"],[1,"form-container"],["class","form-custom-label",4,"ngIf"],["appearance","outline"],["matInput","","type","text",3,"formControl"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[1,"form-custom-label"]],template:function(e,i){1&e&&(d(0,"div",0),b(1,nq,2,1,"h2",1),b(2,iq,2,1,"h2",1),d(3,"mat-dialog-content")(4,"div",2)(5,"form"),b(6,oq,5,0,"span",3),b(7,rq,5,0,"span",3),d(8,"mat-form-field",4)(9,"mat-label"),h(10,"Confirm"),c(),E(11,"input",5),c(),b(12,sq,8,3,"div",1),b(13,aq,8,3,"div",1),c()()(),d(14,"div",6)(15,"button",7),h(16,"Cancel"),c(),d(17,"button",8),N("click",function(){return i.confirm()}),h(18," Confirm "),c()()()),2&e&&(f(1),m("ngIf","SKIP"==i.data.operation),f(1),m("ngIf","RESTORE"==i.data.operation),f(4),m("ngIf","SKIP"==i.data.operation),f(1),m("ngIf","RESTORE"==i.data.operation),f(4),m("formControl",i.confirmationInput),f(1),m("ngIf","SKIP"==i.data.operation&&0!=i.ineligibleTables.length),f(1),m("ngIf","RESTORE"==i.data.operation&&0!=i.ineligibleTables.length),f(4),m("disabled",!i.confirmationInput.valid))},directives:[wr,Et,xi,Hn,xs,En,Mn,li,Dn,bn,Il,Dr,Ht,Xi],styles:[".alert-container[_ngcontent-%COMP%]{padding:.5rem;display:flex;align-items:center;margin-bottom:1rem;background-color:#f8f4f4}.alert-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f3b300;margin-right:20px}.form-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%]{width:100%}.buttons-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:flex-end}"]}),t})();const fI=function(t){return{"blue-font-color":t}};function lq(t,n){if(1&t&&(d(0,"span",24),h(1),c()),2&t){const e=D();m("ngClass",Kt(2,fI,"source"===e.selectedTab)),f(1),Se(" ",e.srcDbName.toUpperCase()," ")}}function cq(t,n){1&t&&(d(0,"th",25),h(1,"Status"),c())}function dq(t,n){1&t&&(hn(),d(0,"svg",30),E(1,"path",31),c())}function uq(t,n){1&t&&(d(0,"mat-icon",32),h(1," work "),c())}function hq(t,n){1&t&&(d(0,"mat-icon",33),h(1," work_history "),c())}function pq(t,n){if(1&t&&(d(0,"td",26),b(1,dq,2,0,"svg",27),b(2,uq,2,0,"mat-icon",28),b(3,hq,2,0,"mat-icon",29),c()),2&t){const e=n.$implicit;f(1),m("ngIf","EXCELLENT"===e.status||"NONE"===e.status),f(1),m("ngIf","OK"===e.status||"GOOD"===e.status),f(1),m("ngIf","POOR"===e.status)}}function fq(t,n){1&t&&(d(0,"mat-icon",37),h(1,"arrow_upward"),c())}function mq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_upward"),c())}function gq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_downward"),c())}function _q(t,n){if(1&t){const e=pe();d(0,"th",34),N("click",function(){return se(e),D().srcTableSort()}),d(1,"div")(2,"span"),h(3," Object Name "),c(),b(4,fq,2,0,"mat-icon",35),b(5,mq,2,0,"mat-icon",36),b(6,gq,2,0,"mat-icon",36),c()()}if(2&t){const e=D();f(4),m("ngIf",""===e.srcSortOrder),f(1),m("ngIf","asc"===e.srcSortOrder),f(1),m("ngIf","desc"===e.srcSortOrder)}}function bq(t,n){1&t&&(hn(),d(0,"svg",47),E(1,"path",48),c())}function vq(t,n){1&t&&(hn(),d(0,"svg",49),E(1,"path",50),c())}function yq(t,n){1&t&&(hn(),d(0,"svg",51),E(1,"path",52),c())}function Cq(t,n){1&t&&(hn(),d(0,"svg",53),E(1,"path",54),c())}function wq(t,n){if(1&t&&(d(0,"span",55)(1,"mat-icon",56),h(2,"more_vert"),c(),d(3,"mat-menu",null,57)(5,"button",58)(6,"span"),h(7,"Add Index"),c()()()()),2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}function Dq(t,n){if(1&t){const e=pe();d(0,"td",39)(1,"button",40),N("click",function(){const r=se(e).$implicit;return D().srcTreeControl.toggle(r)}),b(2,bq,2,0,"svg",41),b(3,vq,2,0,"ng-template",null,42,Bc),c(),d(5,"span",43),N("click",function(){const r=se(e).$implicit;return D().objectSelected(r)}),d(6,"span"),b(7,yq,2,0,"svg",44),b(8,Cq,2,0,"svg",45),d(9,"span"),h(10),c()(),b(11,wq,8,1,"span",46),c()()}if(2&t){const e=n.$implicit,i=$t(4),o=D();f(1),pi("visibility",e.expandable?"":"hidden")("margin-left",10*e.level,"px"),f(1),m("ngIf",o.srcTreeControl.isExpanded(e))("ngIfElse",i),f(5),m("ngIf",o.isTableNode(e.type)),f(1),m("ngIf",o.isIndexNode(e.type)),f(2),Pe(e.name),f(1),m("ngIf",o.isIndexNode(e.type)&&e.isSpannerNode)}}function Sq(t,n){1&t&&E(0,"tr",59)}const mI=function(t){return{"selected-row":t}};function Mq(t,n){if(1&t&&E(0,"tr",60),2&t){const e=n.$implicit,i=D();m("ngClass",Kt(1,mI,i.shouldHighlight(e)))}}function xq(t,n){if(1&t&&(d(0,"span",24),h(1," SPANNER DRAFT "),c()),2&t){const e=D();m("ngClass",Kt(1,fI,"spanner"===e.selectedTab))}}function Tq(t,n){1&t&&(d(0,"th",25),h(1,"Status"),c())}function kq(t,n){1&t&&(hn(),d(0,"svg",30),E(1,"path",31),c())}function Eq(t,n){1&t&&(d(0,"mat-icon",32),h(1," work "),c())}function Iq(t,n){1&t&&(d(0,"mat-icon",33),h(1," work_history "),c())}function Oq(t,n){1&t&&(d(0,"mat-icon",62),h(1," delete "),c())}function Aq(t,n){if(1&t&&(d(0,"td",26),b(1,kq,2,0,"svg",27),b(2,Eq,2,0,"mat-icon",28),b(3,Iq,2,0,"mat-icon",29),b(4,Oq,2,0,"mat-icon",61),c()),2&t){const e=n.$implicit;f(1),m("ngIf","EXCELLENT"===e.status||"NONE"===e.status),f(1),m("ngIf","OK"===e.status||"GOOD"===e.status),f(1),m("ngIf","POOR"===e.status),f(1),m("ngIf","DARK"===e.status||1==e.isDeleted)}}function Pq(t,n){1&t&&(d(0,"mat-icon",64),h(1,"arrow_upward"),c())}function Rq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_upward"),c())}function Fq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_downward"),c())}function Nq(t,n){if(1&t){const e=pe();d(0,"th",34),N("click",function(){return se(e),D().spannerTableSort()}),d(1,"div")(2,"span"),h(3," Object Name "),c(),b(4,Pq,2,0,"mat-icon",63),b(5,Rq,2,0,"mat-icon",36),b(6,Fq,2,0,"mat-icon",36),c()()}if(2&t){const e=D();f(4),m("ngIf",""===e.spannerSortOrder),f(1),m("ngIf","asc"===e.spannerSortOrder),f(1),m("ngIf","desc"===e.spannerSortOrder)}}function Lq(t,n){if(1&t){const e=pe();d(0,"mat-checkbox",69),N("change",function(){se(e);const o=D().$implicit;return D().selectionToggle(o)}),c()}if(2&t){const e=D().$implicit;m("checked",D().checklistSelection.isSelected(e))}}function Bq(t,n){1&t&&(hn(),d(0,"svg",47),E(1,"path",48),c())}function Vq(t,n){1&t&&(hn(),d(0,"svg",49),E(1,"path",50),c())}function jq(t,n){1&t&&(hn(),d(0,"svg",51),E(1,"path",52),c())}function Hq(t,n){1&t&&(hn(),d(0,"svg",53),E(1,"path",54),c())}function Uq(t,n){if(1&t){const e=pe();d(0,"span",55)(1,"mat-icon",70),h(2,"more_vert"),c(),d(3,"mat-menu",71,57)(5,"button",72),N("click",function(){se(e);const o=D().$implicit;return D().openAddIndexForm(o.parent)}),d(6,"span"),h(7,"Add Index"),c()()()()}if(2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}const zq=function(){return{sidebar_link:!0}},$q=function(t){return{"gray-out":t}};function Gq(t,n){if(1&t){const e=pe();d(0,"td",65),b(1,Lq,1,1,"mat-checkbox",66),d(2,"button",40),N("click",function(){const r=se(e).$implicit;return D().treeControl.toggle(r)}),b(3,Bq,2,0,"svg",41),b(4,Vq,2,0,"ng-template",null,42,Bc),c(),d(6,"span",67),N("click",function(){const r=se(e).$implicit;return D().objectSelected(r)}),d(7,"span"),b(8,jq,2,0,"svg",44),b(9,Hq,2,0,"svg",45),d(10,"span",68),h(11),c()(),b(12,Uq,8,1,"span",46),c()()}if(2&t){const e=n.$implicit,i=$t(5),o=D();m("ngClass",Xo(13,zq)),f(1),m("ngIf",!o.isIndexLikeNode(e)),f(1),pi("visibility",e.expandable?"":"hidden")("margin-left",10*e.level,"px"),f(1),m("ngIf",o.treeControl.isExpanded(e))("ngIfElse",i),f(3),m("ngClass",Kt(14,$q,e.isDeleted)),f(2),m("ngIf",o.isTableNode(e.type)),f(1),m("ngIf",o.isIndexNode(e.type)),f(2),Pe(e.name),f(1),m("ngIf",o.isIndexNode(e.type))}}function Wq(t,n){1&t&&E(0,"tr",59)}function qq(t,n){if(1&t&&E(0,"tr",60),2&t){const e=n.$implicit,i=D();m("ngClass",Kt(1,mI,i.shouldHighlight(e)))}}const Nv=function(t){return[t]};let Kq=(()=>{class t{constructor(e,i,o,r,s){this.conversion=e,this.dialog=i,this.data=o,this.sidenav=r,this.clickEvent=s,this.isLeftColumnCollapse=!1,this.currentSelectedObject=null,this.srcSortOrder="",this.spannerSortOrder="",this.srcSearchText="",this.spannerSearchText="",this.selectedTab="spanner",this.selectedDatabase=new Ae,this.selectObject=new Ae,this.updateSpannerTable=new Ae,this.updateSrcTable=new Ae,this.leftCollaspe=new Ae,this.updateSidebar=new Ae,this.spannerTree=[],this.srcTree=[],this.srcDbName="",this.selectedIndex=1,this.transformer=(a,l)=>({expandable:!!a.children&&a.children.length>0,name:a.name,status:a.status,type:a.type,parent:a.parent,parentId:a.parentId,pos:a.pos,isSpannerNode:a.isSpannerNode,level:l,isDeleted:!!a.isDeleted,id:a.id}),this.treeControl=new uk(a=>a.level,a=>a.expandable),this.srcTreeControl=new uk(a=>a.level,a=>a.expandable),this.treeFlattener=new d9(this.transformer,a=>a.level,a=>a.expandable,a=>a.children),this.dataSource=new pk(this.treeControl,this.treeFlattener),this.srcDataSource=new pk(this.srcTreeControl,this.treeFlattener),this.checklistSelection=new Tl(!0,[]),this.displayedColumns=["status","name"]}ngOnInit(){this.clickEvent.tabToSpanner.subscribe({next:e=>{this.setSpannerTab()}})}ngOnChanges(e){var i,o;let r=null===(i=null==e?void 0:e.spannerTree)||void 0===i?void 0:i.currentValue,s=null===(o=null==e?void 0:e.srcTree)||void 0===o?void 0:o.currentValue;s&&(this.srcDataSource.data=s,this.srcTreeControl.expand(this.srcTreeControl.dataNodes[0]),this.srcTreeControl.expand(this.srcTreeControl.dataNodes[1])),r&&(this.dataSource.data=r,this.treeControl.expand(this.treeControl.dataNodes[0]),this.treeControl.expand(this.treeControl.dataNodes[1]))}filterSpannerTable(){this.updateSpannerTable.emit({text:this.spannerSearchText,order:this.spannerSortOrder})}filterSrcTable(){this.updateSrcTable.emit({text:this.srcSearchText,order:this.srcSortOrder})}srcTableSort(){this.srcSortOrder=""===this.srcSortOrder?"asc":"asc"===this.srcSortOrder?"desc":"",this.updateSrcTable.emit({text:this.srcSearchText,order:this.srcSortOrder})}spannerTableSort(){this.spannerSortOrder=""===this.spannerSortOrder?"asc":"asc"===this.spannerSortOrder?"desc":"",this.updateSpannerTable.emit({text:this.spannerSearchText,order:this.spannerSortOrder})}objectSelected(e){this.currentSelectedObject=e,(e.type===Qt.Index||e.type===Qt.Table)&&this.selectObject.emit(e)}leftColumnToggle(){this.isLeftColumnCollapse=!this.isLeftColumnCollapse,this.leftCollaspe.emit()}isTableNode(e){return new RegExp("^tables").test(e)}isIndexNode(e){return new RegExp("^indexes").test(e)}isIndexLikeNode(e){return e.type==Qt.Index||e.type==Qt.Indexes}openAddIndexForm(e){this.sidenav.setSidenavAddIndexTable(e),this.sidenav.setSidenavRuleType("addIndex"),this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("rule"),this.sidenav.setRuleData([]),this.sidenav.setDisplayRuleFlag(!1)}shouldHighlight(e){var i;return e.name===(null===(i=this.currentSelectedObject)||void 0===i?void 0:i.name)&&(e.type===Qt.Table||e.type===Qt.Index)}onTabChanged(){"spanner"==this.selectedTab?(this.selectedTab="source",this.selectedIndex=0):(this.selectedTab="spanner",this.selectedIndex=1),this.selectedDatabase.emit(this.selectedTab),this.currentSelectedObject=null,this.selectObject.emit(void 0)}setSpannerTab(){this.selectedIndex=1}checkDropSelection(){return 0!=this.countSelectionByCategory().eligibleForDrop}checkRestoreSelection(){return 0!=this.countSelectionByCategory().eligibleForRestore}countSelectionByCategory(){let i=0,o=0;return this.checklistSelection.selected.forEach(r=>{r.isDeleted?o+=1:i+=1}),{eligibleForDrop:i,eligibleForRestore:o}}dropSelected(){var i=[];this.checklistSelection.selected.forEach(s=>{""!=s.id&&s.type==Qt.Table&&i.push({TableId:s.id,TableName:s.name,isDeleted:s.isDeleted})});let o=this.dialog.open(pI,{width:"35vw",minWidth:"450px",maxWidth:"600px",maxHeight:"90vh",data:{tables:i,operation:"SKIP"}});var r={TableList:[]};i.forEach(s=>{r.TableList.push(s.TableId)}),o.afterClosed().subscribe(s=>{"SKIP"==s&&(this.data.dropTables(r).pipe(Ot(1)).subscribe(a=>{""===a&&(this.data.getConversionRate(),this.updateSidebar.emit(!0))}),this.checklistSelection.clear())})}restoreSelected(){var i=[];this.checklistSelection.selected.forEach(s=>{""!=s.id&&s.type==Qt.Table&&i.push({TableId:s.id,TableName:s.name,isDeleted:s.isDeleted})});let o=this.dialog.open(pI,{width:"35vw",minWidth:"450px",maxWidth:"600px",data:{tables:i,operation:"RESTORE"}});var r={TableList:[]};i.forEach(s=>{r.TableList.push(s.TableId)}),o.afterClosed().subscribe(s=>{"RESTORE"==s&&(this.data.restoreTables(r).pipe(Ot(1)).subscribe(a=>{this.data.getConversionRate(),this.data.getDdl()}),this.checklistSelection.clear())})}selectionToggle(e){this.checklistSelection.toggle(e);const i=this.treeControl.getDescendants(e);this.checklistSelection.isSelected(e)?this.checklistSelection.select(...i):this.checklistSelection.deselect(...i)}}return t.\u0275fac=function(e){return new(e||t)(_(Ca),_(ns),_(Ln),_(Ei),_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-object-explorer"]],inputs:{spannerTree:"spannerTree",srcTree:"srcTree",srcDbName:"srcDbName"},outputs:{selectedDatabase:"selectedDatabase",selectObject:"selectObject",updateSpannerTable:"updateSpannerTable",updateSrcTable:"updateSrcTable",leftCollaspe:"leftCollaspe",updateSidebar:"updateSidebar"},features:[nn],decls:59,vars:20,consts:[[1,"container"],[3,"ngClass","selectedIndex","selectedTabChange"],["mat-tab-label",""],[1,"filter-wrapper"],[1,"left"],[1,"material-icons","filter-icon"],[1,"filter-text"],[1,"right"],["placeholder","Filter by table name",3,"ngModel","ngModelChange"],[1,"explorer-table"],["mat-table","",3,"dataSource"],["matColumnDef","status"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","name"],["mat-header-cell","","class","mat-header-cell-name cursor-pointer",3,"click",4,"matHeaderCellDef"],["mat-cell","","class","sidebar_link",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",3,"ngClass",4,"matRowDef","matRowDefColumns"],["clas","delete-selected-btn"],["mat-button","","color","primary",1,"icon","drop",3,"disabled","click"],["clas","restore-selected-btn"],["mat-cell","",3,"ngClass",4,"matCellDef"],["id","left-column-toggle-button",3,"click"],[3,"ngClass"],["mat-header-cell",""],["mat-cell",""],["class","icon success","matTooltip","Can be converted automatically","matTooltipPosition","above","xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","black",4,"ngIf"],["class","work","matTooltip","Requires minimal conversion changes","matTooltipPosition","above",4,"ngIf"],["class","work_history","matTooltip","Requires high complexity conversion changes","matTooltipPosition","above",4,"ngIf"],["matTooltip","Can be converted automatically","matTooltipPosition","above","xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","black",1,"icon","success"],["d","m10.4 17.6-2-4.4-4.4-2 4.4-2 2-4.4 2 4.4 4.4 2-4.4 2Zm6.4 1.6-1-2.2-2.2-1 2.2-1 1-2.2 1 2.2 2.2 1-2.2 1Z"],["matTooltip","Requires minimal conversion changes","matTooltipPosition","above",1,"work"],["matTooltip","Requires high complexity conversion changes","matTooltipPosition","above",1,"work_history"],["mat-header-cell","",1,"mat-header-cell-name","cursor-pointer",3,"click"],["class","src-unsorted-icon sort-icon",4,"ngIf"],["class","sort-icon",4,"ngIf"],[1,"src-unsorted-icon","sort-icon"],[1,"sort-icon"],["mat-cell","",1,"sidebar_link"],["mat-icon-button","",3,"click"],["width","12","height","6","viewBox","0 0 12 6","fill","none","xmlns","http://www.w3.org/2000/svg",4,"ngIf","ngIfElse"],["collaps",""],[1,"sidebar_link",3,"click"],["width","18","height","18","viewBox","0 0 18 18","fill","none","xmlns","http://www.w3.org/2000/svg",4,"ngIf"],["width","12","height","14","viewBox","0 0 12 14","fill","none","xmlns","http://www.w3.org/2000/svg",4,"ngIf"],["class","actions",4,"ngIf"],["width","12","height","6","viewBox","0 0 12 6","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M12 0L0 0L6 6L12 0Z","fill","black","fill-opacity","0.54"],["width","6","height","12","viewBox","0 0 6 12","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M-5.24537e-07 2.62268e-07L0 12L6 6L-5.24537e-07 2.62268e-07Z","fill","black","fill-opacity","0.54"],["width","18","height","18","viewBox","0 0 18 18","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M0 0V18H18V0H0ZM16 2V6H2V2H16ZM7.33 11V8H10.66V11H7.33ZM10.67 13V16H7.34V13H10.67ZM5.33 11H2V8H5.33V11ZM12.67 8H16V11H12.67V8ZM2 13H5.33V16H2V13ZM12.67 16V13H16V16H12.67Z","fill","black","fill-opacity","0.54"],["width","12","height","14","viewBox","0 0 12 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M11.005 14C11.555 14 12 13.554 12 13.002V5L10 3V12H2V14H11.005ZM0 0.996C0 0.446 0.438 0 1.003 0H7L9 2.004V10.004C9 10.554 8.554 11 8.002 11H0.998C0.867035 11.0003 0.737304 10.9747 0.616233 10.9248C0.495162 10.8748 0.385128 10.8015 0.292428 10.709C0.199729 10.6165 0.126186 10.5066 0.0760069 10.3856C0.0258282 10.2646 -2.64036e-07 10.135 0 10.004V0.996ZM6 1L5 5.5H2L6 1ZM3 10L4 5.5H7L3 10Z","fill","black","fill-opacity","0.54"],[1,"actions"],[3,"matMenuTriggerFor"],["menu","matMenu"],["mat-menu-item",""],["mat-header-row",""],["mat-row","",3,"ngClass"],["class","icon dark","matTooltip","Deleted","matTooltipPosition","above",4,"ngIf"],["matTooltip","Deleted","matTooltipPosition","above",1,"icon","dark"],["class","spanner-unsorted-icon sort-icon",4,"ngIf"],[1,"spanner-unsorted-icon","sort-icon"],["mat-cell","",3,"ngClass"],["class","checklist-node",3,"checked","change",4,"ngIf"],[1,"sidebar_link",3,"ngClass","click"],[1,"object-name"],[1,"checklist-node",3,"checked","change"],[1,"add-index-icon",3,"matMenuTriggerFor"],["xPosition","before"],["mat-menu-item","",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-tab-group",1),N("selectedTabChange",function(){return i.onTabChanged()}),d(2,"mat-tab"),b(3,lq,2,4,"ng-template",2),d(4,"div",3)(5,"div",4)(6,"span",5),h(7,"filter_list"),c(),d(8,"span",6),h(9,"Filter"),c()(),d(10,"div",7)(11,"input",8),N("ngModelChange",function(r){return i.srcSearchText=r})("ngModelChange",function(){return i.filterSrcTable()}),c()()(),d(12,"div",9)(13,"table",10),be(14,11),b(15,cq,2,0,"th",12),b(16,pq,4,3,"td",13),ve(),be(17,14),b(18,_q,7,3,"th",15),b(19,Dq,12,10,"td",16),ve(),b(20,Sq,1,0,"tr",17),b(21,Mq,1,3,"tr",18),c()()(),d(22,"mat-tab"),b(23,xq,2,3,"ng-template",2),d(24,"div",3)(25,"div",4)(26,"span",5),h(27,"filter_list"),c(),d(28,"span",6),h(29,"Filter"),c()(),d(30,"div",7)(31,"input",8),N("ngModelChange",function(r){return i.spannerSearchText=r})("ngModelChange",function(){return i.filterSpannerTable()}),c()(),d(32,"div",19)(33,"button",20),N("click",function(){return i.dropSelected()}),d(34,"mat-icon"),h(35,"delete"),c(),d(36,"span"),h(37,"SKIP"),c()()(),d(38,"div",21)(39,"button",20),N("click",function(){return i.restoreSelected()}),d(40,"mat-icon"),h(41,"undo"),c(),d(42,"span"),h(43,"RESTORE"),c()()()(),d(44,"div",9)(45,"table",10),be(46,11),b(47,Tq,2,0,"th",12),b(48,Aq,5,4,"td",13),ve(),be(49,14),b(50,Nq,7,3,"th",15),b(51,Gq,13,16,"td",22),ve(),b(52,Wq,1,0,"tr",17),b(53,qq,1,3,"tr",18),c()()()(),d(54,"button",23),N("click",function(){return i.leftColumnToggle()}),d(55,"mat-icon",24),h(56,"first_page"),c(),d(57,"mat-icon",24),h(58,"last_page"),c()()()),2&e&&(f(1),m("ngClass",Kt(14,Nv,i.isLeftColumnCollapse?"hidden":"display"))("selectedIndex",i.selectedIndex),f(10),m("ngModel",i.srcSearchText),f(2),m("dataSource",i.srcDataSource),f(7),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns),f(10),m("ngModel",i.spannerSearchText),f(2),m("disabled",!i.checkDropSelection()),f(6),m("disabled",!i.checkRestoreSelection()),f(6),m("dataSource",i.dataSource),f(7),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns),f(2),m("ngClass",Kt(16,Nv,i.isLeftColumnCollapse?"hidden":"display")),f(2),m("ngClass",Kt(18,Nv,i.isLeftColumnCollapse?"display":"hidden")))},directives:[rv,tr,wp,bk,Dn,bn,El,Is,Xr,Yr,Jr,Qr,es,Et,ki,_n,Ht,Nl,Fl,qr,Os,Ps,As,Rs,uv],styles:[".container[_ngcontent-%COMP%]{position:relative;background-color:#fff}.container[_ngcontent-%COMP%] .filter-wrapper[_ngcontent-%COMP%]{padding:0 10px}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%]{height:35px}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%] .spanner-unsorted-icon[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%]:hover .spanner-unsorted-icon[_ngcontent-%COMP%]{visibility:visible;opacity:.7}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%] .src-unsorted-icon[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%]:hover .src-unsorted-icon[_ngcontent-%COMP%]{visibility:visible;opacity:.7}.container[_ngcontent-%COMP%] .sort-icon[_ngcontent-%COMP%]{font-size:1.1rem;display:flex;align-items:center;justify-content:flex-end}.container[_ngcontent-%COMP%] .mat-cell[_ngcontent-%COMP%]{padding-right:0!important}.selected-row[_ngcontent-%COMP%]{background-color:#61b3ff4a}.explorer-table[_ngcontent-%COMP%]{height:calc(100vh - 320px);width:100%;overflow:auto}.mat-table[_ngcontent-%COMP%]{width:100%}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%]{cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;height:40px}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{margin-right:10px}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{height:40px;margin-left:14px}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .add-index-icon[_ngcontent-%COMP%]{margin-top:7px}.mat-table[_ngcontent-%COMP%] .mat-row[_ngcontent-%COMP%], .mat-table[_ngcontent-%COMP%] .mat-header-row[_ngcontent-%COMP%]{height:29px}.mat-table[_ngcontent-%COMP%] .mat-header-cell[_ngcontent-%COMP%]{font-family:Roboto;font-size:13px;font-style:normal;font-weight:500;line-height:18px;background:#f5f5f5}.mat-table[_ngcontent-%COMP%] .mat-column-status[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:medium}.mat-table[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:20px}.filter-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;height:48px}.filter-wrapper[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:30%;display:flex;align-items:center}.filter-wrapper[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{margin-right:5px}.filter-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:70%}.filter-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:70%;border:none;outline:none;background-color:transparent}#left-column-toggle-button[_ngcontent-%COMP%]{z-index:100;position:absolute;right:4px;top:10px;border:none;background-color:inherit}#left-column-toggle-button[_ngcontent-%COMP%]:hover{cursor:pointer}.mat-column-status[_ngcontent-%COMP%]{width:80px} .column-left .mat-tab-label-container{margin-right:40px} .column-left .mat-tab-header-pagination-controls-enabled .mat-tab-label-container{margin-right:0} .column-left .mat-tab-header-pagination-after{margin-right:40px}"]}),t})();function Zq(t,n){1&t&&(d(0,"div",9)(1,"mat-icon"),h(2,"warning"),c(),d(3,"span"),h(4,"This operation cannot be undone"),c()())}let gI=(()=>{class t{constructor(e,i){this.data=e,this.dialogRef=i,this.ObjectDetailNodeType=Ls,this.confirmationInput=new X("",[de.required,de.pattern(`^${e.name}$`)]),i.disableClose=!0}delete(){this.dialogRef.close(this.data.type)}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(_(Yi),_(Ti))},t.\u0275cmp=Oe({type:t,selectors:[["app-drop-index-dialog"]],decls:19,vars:7,consts:[["mat-dialog-content",""],["class","alert-container",4,"ngIf"],[1,"form-container"],[1,"form-custom-label"],["appearance","outline"],["matInput","","type","text",3,"formControl"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[1,"alert-container"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h2"),h(2),c(),b(3,Zq,5,0,"div",1),d(4,"div",2)(5,"form")(6,"span",3),h(7," Confirm deletion by typing the following below: "),d(8,"b"),h(9),c()(),d(10,"mat-form-field",4)(11,"mat-label"),h(12),c(),E(13,"input",5),c()()()(),d(14,"div",6)(15,"button",7),h(16,"Cancel"),c(),d(17,"button",8),N("click",function(){return i.delete()}),h(18," Confirm "),c()()),2&e&&(f(2),dl("Skip ",i.data.type," (",i.data.name,")?"),f(1),m("ngIf","Index"===i.data.type),f(6),Pe(i.data.name),f(3),Se("",i.data.type==i.ObjectDetailNodeType.Table?"Table":"Index"," Name"),f(1),m("formControl",i.confirmationInput),f(4),m("disabled",!i.confirmationInput.valid))},directives:[wr,Et,_n,xi,Hn,xs,En,Mn,li,Dn,bn,Il,Dr,Ht,Xi],styles:[".alert-container[_ngcontent-%COMP%]{padding:.5rem;display:flex;align-items:center;margin-bottom:1rem;background-color:#f8f4f4}.alert-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f3b300;margin-right:20px}.form-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%]{width:100%}.buttons-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:flex-end}"]}),t})();function Qq(t,n){if(1&t&&(d(0,"mat-option",12),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function Yq(t,n){1&t&&(d(0,"div")(1,"mat-form-field",2)(2,"mat-label"),h(3,"Length"),c(),E(4,"input",13),c(),E(5,"br"),c())}function Xq(t,n){if(1&t&&(d(0,"mat-option",12),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}let Jq=(()=>{class t{constructor(e,i,o,r){this.formBuilder=e,this.dataService=i,this.dialogRef=o,this.data=r,this.dialect="",this.datatypes=[],this.selectedDatatype="",this.tableId="",this.selectedNull=!0,this.dataTypesWithColLen=di.DataTypes,this.isColumnNullable=[{value:!1,displayName:"No"},{value:!0,displayName:"Yes"}],this.dialect=r.dialect,this.tableId=r.tableId,this.addNewColumnForm=this.formBuilder.group({name:["",[de.required,de.minLength(1),de.maxLength(128),de.pattern("^[a-zA-Z][a-zA-Z0-9_]*$")]],datatype:[],length:["",de.pattern("^[0-9]+$")],isNullable:[]})}ngOnInit(){this.datatypes="google_standard_sql"==this.dialect?cI_GoogleStandardSQL:cI_PostgreSQL}changeValidator(){var e,i;this.addNewColumnForm.controls.length.clearValidators(),"BYTES"===this.selectedDatatype?null===(e=this.addNewColumnForm.get("length"))||void 0===e||e.addValidators([de.required,de.max(di.ByteMaxLength)]):("VARCHAR"===this.selectedDatatype||"STRING"===this.selectedDatatype)&&(null===(i=this.addNewColumnForm.get("length"))||void 0===i||i.addValidators([de.required,de.max(di.StringMaxLength)])),this.addNewColumnForm.controls.length.updateValueAndValidity()}addNewColumn(){let e=this.addNewColumnForm.value,i={Name:e.name,Datatype:this.selectedDatatype,Length:parseInt(e.length),IsNullable:this.selectedNull};this.dataService.addColumn(this.tableId,i),this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(_(Ts),_(Ln),_(Ti),_(Yi))},t.\u0275cmp=Oe({type:t,selectors:[["app-add-new-column"]],decls:26,vars:7,consts:[["mat-dialog-content",""],[1,"add-new-column-form",3,"formGroup"],["appearance","outline",1,"full-width"],["matInput","","placeholder","Column Name","type","text","formControlName","name"],["appearance","outline"],["formControlName","datatype","required","true",1,"input-field",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["formControlName","isNullable","required","true",3,"ngModel","ngModelChange"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[3,"value"],["matInput","","placeholder","Length","type","text","formControlName","length"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Column Details"),c(),d(4,"mat-form-field",2)(5,"mat-label"),h(6,"Name"),c(),E(7,"input",3),c(),E(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"Datatype"),c(),d(12,"mat-select",5),N("ngModelChange",function(r){return i.selectedDatatype=r})("selectionChange",function(){return i.changeValidator()}),b(13,Qq,2,2,"mat-option",6),c()(),E(14,"br"),b(15,Yq,6,0,"div",7),d(16,"mat-form-field",4)(17,"mat-label"),h(18,"IsNullable"),c(),d(19,"mat-select",8),N("ngModelChange",function(r){return i.selectedNull=r}),b(20,Xq,2,2,"mat-option",6),c()()(),d(21,"div",9)(22,"button",10),h(23,"CANCEL"),c(),d(24,"button",11),N("click",function(){return i.addNewColumn()}),h(25," ADD "),c()()()),2&e&&(f(1),m("formGroup",i.addNewColumnForm),f(11),m("ngModel",i.selectedDatatype),f(1),m("ngForOf",i.datatypes),f(2),m("ngIf",i.dataTypesWithColLen.indexOf(i.selectedDatatype)>-1),f(4),m("ngModel",i.selectedNull),f(1),m("ngForOf",i.isColumnNullable),f(4),m("disabled",!i.addNewColumnForm.valid))},directives:[wr,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,Qi,po,ri,_i,Et,Dr,Ht,Xi],styles:[""]}),t})();function eK(t,n){1&t&&(d(0,"span"),h(1," To view and modify an object details, click on the object name on the Spanner draft panel. "),c())}function tK(t,n){if(1&t&&(d(0,"span"),h(1),c()),2&t){const e=D(2);f(1),Se(" To view an object details, click on the object name on the ",e.srcDbName," panel. ")}}const Wp=function(t){return[t]};function nK(t,n){if(1&t){const e=pe();d(0,"div",2)(1,"div",3)(2,"h3",4),h(3,"OBJECT VIEWER"),c(),d(4,"button",5),N("click",function(){return se(e),D().middleColumnToggle()}),d(5,"mat-icon",6),h(6,"first_page"),c(),d(7,"mat-icon",6),h(8,"last_page"),c()()(),E(9,"mat-divider"),d(10,"div",7)(11,"div",8),hn(),d(12,"svg",9),E(13,"path",10),c()(),Ks(),d(14,"div",11),b(15,eK,2,0,"span",12),b(16,tK,2,1,"span",12),c()()()}if(2&t){const e=D();f(5),m("ngClass",Kt(4,Wp,e.isMiddleColumnCollapse?"display":"hidden")),f(2),m("ngClass",Kt(6,Wp,e.isMiddleColumnCollapse?"hidden":"display")),f(8),m("ngIf","spanner"==e.currentDatabase),f(1),m("ngIf","source"==e.currentDatabase)}}function iK(t,n){1&t&&(d(0,"mat-icon",23),h(1," table_chart"),c())}function oK(t,n){1&t&&(hn(),d(0,"svg",24),E(1,"path",25),c())}function rK(t,n){if(1&t&&(d(0,"span"),h(1),ml(2,"uppercase"),c()),2&t){const e=D(2);f(1),Se("( TABLE: ",gl(2,1,e.currentObject.parent)," ) ")}}function sK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).dropIndex()}),d(1,"mat-icon"),h(2,"delete"),c(),d(3,"span"),h(4,"SKIP INDEX"),c()()}}function aK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).restoreIndex()}),d(1,"mat-icon"),h(2,"undo"),c(),d(3,"span"),h(4," RESTORE INDEX"),c()()}}function lK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).dropTable()}),d(1,"mat-icon"),h(2,"delete"),c(),d(3,"span"),h(4,"SKIP TABLE"),c()()}}function cK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).restoreSpannerTable()}),d(1,"mat-icon"),h(2,"undo"),c(),d(3,"span"),h(4," RESTORE TABLE"),c()()}}function dK(t,n){if(1&t&&(d(0,"div",27),h(1," Interleaved: "),d(2,"div",28),h(3),c()()),2&t){const e=D(2);f(3),Se(" ",e.interleaveParentName," ")}}function uK(t,n){1&t&&(d(0,"span"),h(1,"COLUMNS "),c())}function hK(t,n){if(1&t&&(d(0,"th",74),h(1),c()),2&t){const e=D(3);f(1),Pe(e.srcDbName)}}function pK(t,n){1&t&&(d(0,"th",75),h(1,"S No."),c())}function fK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcOrder").value," ")}}function mK(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function gK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColName").value," ")}}function _K(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function bK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcDataType").value," ")}}function vK(t,n){1&t&&(d(0,"th",75),h(1,"Max Length"),c())}function yK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColMaxLength").value," ")}}function CK(t,n){1&t&&(d(0,"th",75),h(1,"Pk"),c())}function wK(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function DK(t,n){if(1&t&&(d(0,"td",76),b(1,wK,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("srcIsPk").value)}}function SK(t,n){1&t&&(d(0,"th",75),h(1,"Nullable"),c())}function MK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcIsNotNull").value?"Not Null":""," ")}}function xK(t,n){1&t&&E(0,"tr",79)}function TK(t,n){1&t&&E(0,"tr",79)}const kK=function(t){return{"scr-column-data-edit-mode":t}};function EK(t,n){if(1&t&&E(0,"tr",80),2&t){const e=D(3);m("ngClass",Kt(1,kK,e.isEditMode))}}function IK(t,n){if(1&t){const e=pe();d(0,"button",84),N("click",function(){return se(e),D(5).toggleEdit()}),d(1,"mat-icon",85),h(2,"edit"),c(),h(3," EDIT "),c()}}function OK(t,n){if(1&t&&(d(0,"div"),b(1,IK,4,0,"button",83),c()),2&t){const e=D(4);f(1),m("ngIf",e.currentObject.isSpannerNode)}}function AK(t,n){if(1&t){const e=pe();d(0,"button",84),N("click",function(){return se(e),D(5).addNewColumn()}),d(1,"mat-icon",85),h(2,"edit"),c(),h(3," ADD COLUMN "),c()}}function PK(t,n){if(1&t&&(d(0,"div"),b(1,AK,4,0,"button",83),c()),2&t){const e=D(4);f(1),m("ngIf",e.currentObject.isSpannerNode)}}function RK(t,n){if(1&t&&(d(0,"th",81)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),b(4,OK,2,1,"div",12),b(5,PK,2,1,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isEditMode&&!e.currentObject.isDeleted),f(1),m("ngIf",!e.isEditMode&&!e.currentObject.isDeleted&&!1)}}function FK(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function NK(t,n){if(1&t&&(d(0,"div"),E(1,"input",86),c()),2&t){const e=D().$implicit;let i;f(1),m("formControl",e.get("spColName"))("matTooltipDisabled",!(null!=(i=e.get("spColName"))&&i.hasError("pattern")))}}function LK(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Pe(e.get("spColName").value)}}function BK(t,n){if(1&t&&(d(0,"td",76),b(1,NK,2,2,"div",12),b(2,LK,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isEditMode&&""!==e.get("spDataType").value&&""!==e.get("srcId").value),f(1),m("ngIf",!i.isEditMode||""===e.get("srcId").value)}}function VK(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function jK(t,n){if(1&t&&(d(0,"span",90),h(1,"warning"),c()),2&t){const e=D().index;m("matTooltip",D(3).spTableSuggestion[e])}}function HK(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayT),f(1),Se(" ",e.DisplayT," ")}}function UK(t,n){1&t&&(d(0,"mat-option",98),h(1," STRING "),c())}function zK(t,n){1&t&&(d(0,"mat-option",99),h(1," VARCHAR "),c())}function $K(t,n){if(1&t){const e=pe();d(0,"mat-form-field",91)(1,"mat-select",92,93),N("selectionChange",function(){se(e);const o=$t(2),r=D().index;return D(3).spTableEditSuggestionHandler(r,o.value)}),b(3,HK,2,2,"mat-option",94),b(4,UK,2,0,"mat-option",95),b(5,zK,2,0,"mat-option",96),c()()}if(2&t){const e=D().$implicit,i=D(3);f(1),m("formControl",e.get("spDataType")),f(2),m("ngForOf",i.typeMap[e.get("srcDataType").value]),f(1),m("ngIf",""==e.get("srcDataType").value&&!i.isPostgreSQLDialect),f(1),m("ngIf",""==e.get("srcDataType").value&&i.isPostgreSQLDialect)}}function GK(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Pe(e.get("spDataType").value)}}function WK(t,n){if(1&t&&(d(0,"td",76)(1,"div",87),b(2,jK,2,1,"span",88),b(3,$K,6,4,"mat-form-field",89),b(4,GK,2,1,"p",12),c()()),2&t){const e=n.$implicit,i=n.index,o=D(3);f(2),m("ngIf",o.isSpTableSuggesstionDisplay[i]&&""!==e.get("spDataType").value),f(1),m("ngIf",o.isEditMode&&""!==e.get("spDataType").value&&""!==e.get("srcId").value),f(1),m("ngIf",!o.isEditMode||""===e.get("srcId").value)}}function qK(t,n){1&t&&(d(0,"th",75),h(1,"Max Length"),c())}function KK(t,n){if(1&t&&(d(0,"div"),E(1,"input",100),c()),2&t){const e=D(2).$implicit;f(1),m("formControl",e.get("spColMaxLength"))}}function ZK(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D(2).$implicit;f(1),Se(" ",e.get("spColMaxLength").value," ")}}function QK(t,n){if(1&t&&(d(0,"div"),b(1,KK,2,1,"div",12),b(2,ZK,2,1,"p",12),c()),2&t){const e=D().$implicit,i=D(3);f(1),m("ngIf",i.isEditMode&&""!=e.get("srcDataType").value&&e.get("spId").value!==i.shardIdCol),f(1),m("ngIf",!i.isEditMode||e.get("spId").value===i.shardIdCol)}}function YK(t,n){if(1&t&&(d(0,"td",76),b(1,QK,3,2,"div",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.dataTypesWithColLen.indexOf(e.get("spDataType").value)>-1)}}function XK(t,n){1&t&&(d(0,"th",75),h(1,"Pk"),c())}function JK(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function eZ(t,n){if(1&t&&(d(0,"td",76),b(1,JK,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spIsPk").value)}}function tZ(t,n){1&t&&(d(0,"span"),h(1,"Not Null"),c())}function nZ(t,n){1&t&&(d(0,"span"),h(1,"Nullable"),c())}function iZ(t,n){if(1&t&&(d(0,"th",75),b(1,tZ,2,0,"span",12),b(2,nZ,2,0,"span",12),c()),2&t){const e=D(3);f(1),m("ngIf",e.isEditMode),f(1),m("ngIf",!e.isEditMode)}}function oZ(t,n){if(1&t&&(d(0,"div"),E(1,"mat-checkbox",102),c()),2&t){const e=D().$implicit;f(1),m("formControl",e.get("spIsNotNull"))}}function rZ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Se(" ",e.get("spIsNotNull").value?"Not Null":""," ")}}function sZ(t,n){if(1&t&&(d(0,"td",76)(1,"div",101),b(2,oZ,2,1,"div",12),b(3,rZ,2,1,"p",12),c()()),2&t){const e=n.$implicit,i=D(3);f(2),m("ngIf",i.isEditMode&&""!==e.get("spDataType").value&&e.get("spId").value!==i.shardIdCol),f(1),m("ngIf",!i.isEditMode||e.get("spId").value===i.shardIdCol)}}function aZ(t,n){1&t&&E(0,"th",75)}function lZ(t,n){if(1&t){const e=pe();d(0,"div",105)(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",109),N("click",function(){se(e);const o=D().$implicit;return D(3).dropColumn(o)}),d(6,"span"),h(7,"Drop Column"),c()()()()}if(2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}const qp=function(t){return{"drop-button-left-border":t}};function cZ(t,n){if(1&t&&(d(0,"td",103),b(1,lZ,8,1,"div",104),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isEditMode)),f(1),m("ngIf",i.isEditMode&&i.currentObject.isSpannerNode&&""!==e.get("spDataType").value&&e.get("spId").value!==i.shardIdCol)}}function dZ(t,n){1&t&&E(0,"tr",79)}function uZ(t,n){1&t&&E(0,"tr",79)}function hZ(t,n){1&t&&E(0,"tr",110)}function pZ(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function fZ(t,n){if(1&t){const e=pe();d(0,"div",111)(1,"mat-form-field",112)(2,"mat-label"),h(3,"Column Name"),c(),d(4,"mat-select",113),N("selectionChange",function(o){return se(e),D(3).setColumn(o.value)}),b(5,pZ,2,2,"mat-option",94),c()(),d(6,"button",114),N("click",function(){return se(e),D(3).restoreColumn()}),d(7,"mat-icon"),h(8,"add"),c(),h(9," RESTORE COLUMN "),c()()}if(2&t){const e=D(3);m("formGroup",e.addColumnForm),f(5),m("ngForOf",e.droppedSourceColumns)}}function mZ(t,n){1&t&&(d(0,"span"),h(1,"PRIMARY KEY "),c())}function gZ(t,n){if(1&t&&(d(0,"th",115),h(1),c()),2&t){const e=D(3);f(1),Pe(e.srcDbName)}}function _Z(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",84),N("click",function(){return se(e),D(4).togglePkEdit()}),d(2,"mat-icon",85),h(3,"edit"),c(),h(4," EDIT "),c()()}}function bZ(t,n){if(1&t&&(d(0,"th",74)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),b(4,_Z,5,0,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isPkEditMode&&e.pkDataSource.length>0&&e.currentObject.isSpannerNode&&!e.currentObject.isDeleted)}}function vZ(t,n){1&t&&(d(0,"th",75),h(1,"Order"),c())}function yZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcOrder").value," ")}}function CZ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function wZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColName").value," ")}}function DZ(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function SZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcDataType").value," ")}}function MZ(t,n){1&t&&(d(0,"th",75),h(1,"PK"),c())}function xZ(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function TZ(t,n){if(1&t&&(d(0,"td",76),b(1,xZ,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("srcIsPk").value)}}function kZ(t,n){1&t&&(d(0,"th",75),h(1,"Nullable"),c())}function EZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcIsNotNull").value?"Not Null":""," ")}}function IZ(t,n){1&t&&(d(0,"th",75),h(1,"Order"),c())}function OZ(t,n){if(1&t&&(d(0,"div"),E(1,"input",116),c()),2&t){const e=D().$implicit;let i;f(1),m("formControl",e.get("spOrder"))("matTooltipDisabled",!(null!=(i=e.get("spOrder"))&&i.hasError("pattern")))}}function AZ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Pe(e.get("spOrder").value)}}function PZ(t,n){if(1&t&&(d(0,"td",76),b(1,OZ,2,2,"div",12),b(2,AZ,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isPkEditMode&&""!==e.get("spColName").value),f(1),m("ngIf",!i.isPkEditMode)}}function RZ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function FZ(t,n){if(1&t&&(d(0,"td",76)(1,"p"),h(2),c()()),2&t){const e=n.$implicit;f(2),Pe(e.get("spColName").value)}}function NZ(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function LZ(t,n){if(1&t&&(d(0,"span",90),h(1,"warning"),c()),2&t){const e=D().index;m("matTooltip",D(3).spTableSuggestion[e])}}function BZ(t,n){if(1&t&&(d(0,"td",76)(1,"div",87),b(2,LZ,2,1,"span",88),d(3,"p"),h(4),c()()()),2&t){const e=n.$implicit,i=n.index,o=D(3);f(2),m("ngIf",o.isSpTableSuggesstionDisplay[i]&&""!==e.get("spColName").value),f(2),Pe(e.get("spDataType").value)}}function VZ(t,n){1&t&&(d(0,"th",75),h(1,"Pk"),c())}function jZ(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function HZ(t,n){if(1&t&&(d(0,"td",76),b(1,jZ,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spIsPk").value)}}function UZ(t,n){1&t&&(d(0,"th",75),h(1,"Nullable"),c())}function zZ(t,n){if(1&t&&(d(0,"td",76)(1,"div",101)(2,"p"),h(3),c()()()),2&t){const e=n.$implicit;f(3),Se(" ",e.get("spIsNotNull").value?"Not Null":""," ")}}function $Z(t,n){1&t&&E(0,"th",75)}function GZ(t,n){if(1&t){const e=pe();d(0,"div",105)(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",117),N("click",function(){se(e);const o=D().$implicit;return D(3).dropPk(o)}),d(6,"span"),h(7,"Remove primary key"),c()()()()}if(2&t){const e=$t(4),i=D(4);f(1),m("matMenuTriggerFor",e),f(4),m("disabled",!i.isPkEditMode)}}function WZ(t,n){if(1&t&&(d(0,"td",103),b(1,GZ,8,2,"div",104),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isPkEditMode)),f(1),m("ngIf",i.isPkEditMode&&i.currentObject.isSpannerNode&&""!==e.get("spColName").value)}}function qZ(t,n){1&t&&E(0,"tr",79)}function KZ(t,n){1&t&&E(0,"tr",79)}function ZZ(t,n){1&t&&E(0,"tr",110)}function QZ(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function YZ(t,n){if(1&t){const e=pe();d(0,"div",118)(1,"mat-form-field",112)(2,"mat-label"),h(3,"Column Name"),c(),d(4,"mat-select",113),N("selectionChange",function(o){return se(e),D(3).setPkColumn(o.value)}),b(5,QZ,2,2,"mat-option",94),c()(),d(6,"button",114),N("click",function(){return se(e),D(3).addPkColumn()}),d(7,"mat-icon"),h(8,"add"),c(),h(9," ADD COLUMN "),c()()}if(2&t){const e=D(3);m("formGroup",e.addPkColumnForm),f(5),m("ngForOf",e.pkColumnNames)}}function XZ(t,n){1&t&&(d(0,"span"),h(1,"FOREIGN KEY"),c())}function JZ(t,n){if(1&t&&(d(0,"th",119),h(1),c()),2&t){const e=D(3);f(1),Pe(e.srcDbName)}}function eQ(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",84),N("click",function(){return se(e),D(4).toggleFkEdit()}),d(2,"mat-icon",85),h(3,"edit"),c(),h(4," EDIT "),c()()}}function tQ(t,n){if(1&t&&(d(0,"th",115)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),b(4,eQ,5,0,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isFkEditMode&&e.fkDataSource.length>0&&e.currentObject.isSpannerNode&&!e.currentObject.isDeleted)}}function nQ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function iQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcName").value," ")}}function oQ(t,n){1&t&&(d(0,"th",75),h(1,"Columns"),c())}function rQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColumns").value," ")}}function sQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Table"),c())}function aQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcReferTable").value," ")}}function lQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Columns"),c())}function cQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcReferColumns").value," ")}}function dQ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function uQ(t,n){if(1&t&&(d(0,"div"),E(1,"input",86),c()),2&t){const e=D().$implicit;let i;f(1),m("formControl",e.get("spName"))("matTooltipDisabled",!(null!=(i=e.get("spName"))&&i.hasError("pattern")))}}function hQ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Pe(e.get("spName").value)}}function pQ(t,n){if(1&t&&(d(0,"td",76),b(1,uQ,2,2,"div",12),b(2,hQ,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isFkEditMode&&""!==e.get("spReferTable").value),f(1),m("ngIf",!i.isFkEditMode)}}function fQ(t,n){1&t&&(d(0,"th",75),h(1,"Columns"),c())}function mQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("spColumns").value," ")}}function gQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Table"),c())}function _Q(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("spReferTable").value," ")}}function bQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Columns"),c())}function vQ(t,n){if(1&t&&(d(0,"td",76)(1,"div",120),h(2),c()()),2&t){const e=n.$implicit;f(2),Se(" ",e.get("spReferColumns").value," ")}}function yQ(t,n){1&t&&E(0,"th",75)}function CQ(t,n){if(1&t){const e=pe();d(0,"button",117),N("click",function(){return se(e),D(5).setInterleave()}),d(1,"span"),h(2,"Convert to interleave"),c()()}2&t&&m("disabled",""===D(2).$implicit.get("spName").value)}function wQ(t,n){if(1&t){const e=pe();d(0,"div",105)(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",117),N("click",function(){se(e);const o=D().$implicit;return D(3).dropFk(o)}),d(6,"span"),h(7,"Drop Foreign Key"),c()(),b(8,CQ,3,1,"button",121),c()()}if(2&t){const e=$t(4),i=D().$implicit,o=D(3);f(1),m("matMenuTriggerFor",e),f(4),m("disabled",""===i.get("spName").value),f(3),m("ngIf",o.interleaveStatus.tableInterleaveStatus&&o.interleaveStatus.tableInterleaveStatus.Possible)}}function DQ(t,n){if(1&t&&(d(0,"td",103),b(1,wQ,9,3,"div",104),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isFkEditMode)),f(1),m("ngIf",i.isFkEditMode&&i.currentObject.isSpannerNode&&""!==e.get("spReferTable").value)}}function SQ(t,n){1&t&&E(0,"tr",79)}function MQ(t,n){1&t&&E(0,"tr",79)}function xQ(t,n){1&t&&E(0,"tr",110)}function TQ(t,n){if(1&t){const e=pe();d(0,"button",125),N("click",function(){return se(e),D(4).setInterleave()}),h(1," Convert to Interleave "),c()}}function kQ(t,n){if(1&t){const e=pe();d(0,"button",125),N("click",function(){return se(e),D(4).removeInterleave()}),h(1," Convert Back to Foreign Key "),c()}}function EQ(t,n){if(1&t&&(d(0,"div"),h(1," This table is interleaved with "),d(2,"span",126),h(3),c(),h(4,". Click on the above button to convert back to foreign key. "),c()),2&t){const e=D(4);f(3),Pe(e.interleaveParentName)}}function IQ(t,n){if(1&t&&(d(0,"mat-tab",122)(1,"div",123),b(2,TQ,2,0,"button",124),b(3,kQ,2,0,"button",124),E(4,"br"),b(5,EQ,5,1,"div",12),c()()),2&t){const e=D(3);f(2),m("ngIf",e.interleaveStatus.tableInterleaveStatus&&e.interleaveStatus.tableInterleaveStatus.Possible&&null===e.interleaveParentName),f(1),m("ngIf",e.interleaveStatus.tableInterleaveStatus&&!e.interleaveStatus.tableInterleaveStatus.Possible||null!==e.interleaveParentName),f(2),m("ngIf",e.interleaveStatus.tableInterleaveStatus&&!e.interleaveStatus.tableInterleaveStatus.Possible||null!==e.interleaveParentName)}}function OQ(t,n){1&t&&(d(0,"span"),h(1,"SQL"),c())}function AQ(t,n){if(1&t&&(d(0,"mat-tab"),b(1,OQ,2,0,"ng-template",30),d(2,"div",127)(3,"pre")(4,"code"),h(5),c()()()()),2&t){const e=D(3);f(5),Pe(e.ddlStmts[e.currentObject.id])}}const PQ=function(t){return{"height-on-edit":t}},RQ=function(){return["srcDatabase"]},FQ=function(){return["spDatabase"]},Lv=function(){return["srcDatabase","spDatabase"]};function NQ(t,n){if(1&t){const e=pe();d(0,"mat-tab-group",29),N("selectedTabChange",function(o){return se(e),D(2).tabChanged(o)}),d(1,"mat-tab"),b(2,uK,2,0,"ng-template",30),d(3,"div",31)(4,"div",32)(5,"table",33),be(6,34),b(7,hK,2,1,"th",35),ve(),be(8,36),b(9,pK,2,0,"th",37),b(10,fK,2,1,"td",38),ve(),be(11,39),b(12,mK,2,0,"th",37),b(13,gK,2,1,"td",38),ve(),be(14,40),b(15,_K,2,0,"th",41),b(16,bK,2,1,"td",38),ve(),be(17,42),b(18,vK,2,0,"th",41),b(19,yK,2,1,"td",38),ve(),be(20,43),b(21,CK,2,0,"th",37),b(22,DK,2,1,"td",38),ve(),be(23,44),b(24,SK,2,0,"th",41),b(25,MK,2,1,"td",38),ve(),b(26,xK,1,0,"tr",45),b(27,TK,1,0,"tr",45),b(28,EK,1,3,"tr",46),c(),d(29,"table",33),be(30,47),b(31,RK,6,2,"th",48),ve(),be(32,49),b(33,FK,2,0,"th",41),b(34,BK,3,2,"td",38),ve(),be(35,50),b(36,VK,2,0,"th",41),b(37,WK,5,3,"td",38),ve(),be(38,51),b(39,qK,2,0,"th",41),b(40,YK,2,1,"td",38),ve(),be(41,52),b(42,XK,2,0,"th",37),b(43,eZ,2,1,"td",38),ve(),be(44,53),b(45,iZ,3,2,"th",41),b(46,sZ,4,2,"td",38),ve(),be(47,54),b(48,aZ,1,0,"th",41),b(49,cZ,2,4,"td",55),ve(),b(50,dZ,1,0,"tr",45),b(51,uZ,1,0,"tr",45),b(52,hZ,1,0,"tr",56),c()(),b(53,fZ,10,2,"div",57),c()(),d(54,"mat-tab"),b(55,mZ,2,0,"ng-template",30),d(56,"div",58)(57,"table",33),be(58,34),b(59,gZ,2,1,"th",59),ve(),be(60,47),b(61,bZ,5,1,"th",35),ve(),be(62,36),b(63,vZ,2,0,"th",37),b(64,yZ,2,1,"td",38),ve(),be(65,39),b(66,CZ,2,0,"th",37),b(67,wZ,2,1,"td",38),ve(),be(68,40),b(69,DZ,2,0,"th",41),b(70,SZ,2,1,"td",38),ve(),be(71,43),b(72,MZ,2,0,"th",37),b(73,TZ,2,1,"td",38),ve(),be(74,44),b(75,kZ,2,0,"th",41),b(76,EZ,2,1,"td",38),ve(),be(77,60),b(78,IZ,2,0,"th",37),b(79,PZ,3,2,"td",38),ve(),be(80,49),b(81,RZ,2,0,"th",41),b(82,FZ,3,1,"td",38),ve(),be(83,50),b(84,NZ,2,0,"th",41),b(85,BZ,5,2,"td",38),ve(),be(86,52),b(87,VZ,2,0,"th",37),b(88,HZ,2,1,"td",38),ve(),be(89,53),b(90,UZ,2,0,"th",41),b(91,zZ,4,1,"td",38),ve(),be(92,54),b(93,$Z,1,0,"th",41),b(94,WZ,2,4,"td",55),ve(),b(95,qZ,1,0,"tr",45),b(96,KZ,1,0,"tr",45),b(97,ZZ,1,0,"tr",56),c(),b(98,YZ,10,2,"div",61),c()(),d(99,"mat-tab"),b(100,XZ,2,0,"ng-template",30),d(101,"div",62)(102,"table",33),be(103,34),b(104,JZ,2,1,"th",63),ve(),be(105,47),b(106,tQ,5,1,"th",59),ve(),be(107,64),b(108,nQ,2,0,"th",37),b(109,iQ,2,1,"td",38),ve(),be(110,65),b(111,oQ,2,0,"th",37),b(112,rQ,2,1,"td",38),ve(),be(113,66),b(114,sQ,2,0,"th",37),b(115,aQ,2,1,"td",38),ve(),be(116,67),b(117,lQ,2,0,"th",37),b(118,cQ,2,1,"td",38),ve(),be(119,68),b(120,dQ,2,0,"th",41),b(121,pQ,3,2,"td",38),ve(),be(122,69),b(123,fQ,2,0,"th",37),b(124,mQ,2,1,"td",38),ve(),be(125,70),b(126,gQ,2,0,"th",37),b(127,_Q,2,1,"td",38),ve(),be(128,71),b(129,bQ,2,0,"th",37),b(130,vQ,3,1,"td",38),ve(),be(131,72),b(132,yQ,1,0,"th",41),b(133,DQ,2,4,"td",55),ve(),b(134,SQ,1,0,"tr",45),b(135,MQ,1,0,"tr",45),b(136,xQ,1,0,"tr",56),c()()(),b(137,IQ,6,3,"mat-tab",73),b(138,AQ,6,1,"mat-tab",12),c()}if(2&t){const e=D(2);m("ngClass",Kt(21,PQ,e.isEditMode||e.isPkEditMode||e.isFkEditMode)),f(5),m("dataSource",e.srcDataSource),f(21),m("matHeaderRowDef",Xo(23,RQ)),f(1),m("matHeaderRowDef",e.srcDisplayedColumns),f(1),m("matRowDefColumns",e.srcDisplayedColumns),f(1),m("dataSource",e.spDataSource),f(21),m("matHeaderRowDef",Xo(24,FQ)),f(1),m("matHeaderRowDef",e.spDisplayedColumns),f(1),m("matRowDefColumns",e.spDisplayedColumns),f(1),m("ngIf",e.isEditMode&&0!=e.droppedSourceColumns.length),f(4),m("dataSource",e.pkDataSource),f(38),m("matHeaderRowDef",Xo(25,Lv)),f(1),m("matHeaderRowDef",e.displayedPkColumns),f(1),m("matRowDefColumns",e.displayedPkColumns),f(1),m("ngIf",e.isPkEditMode),f(4),m("dataSource",e.fkDataSource),f(32),m("matHeaderRowDef",Xo(26,Lv)),f(1),m("matHeaderRowDef",e.displayedFkColumns),f(1),m("matRowDefColumns",e.displayedFkColumns),f(1),m("ngIf",(e.interleaveStatus.tableInterleaveStatus&&e.interleaveStatus.tableInterleaveStatus.Possible||null!==e.interleaveParentName)&&e.currentObject.isSpannerNode),f(1),m("ngIf",e.currentObject.isSpannerNode&&!e.currentObject.isDeleted)}}function LQ(t,n){if(1&t&&(d(0,"th",138),h(1),c()),2&t){const e=D(3);f(1),Pe(e.srcDbName)}}function BQ(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",84),N("click",function(){return se(e),D(4).toggleIndexEdit()}),d(2,"mat-icon",85),h(3,"edit"),c(),h(4," EDIT "),c()()}}function VQ(t,n){if(1&t&&(d(0,"th",119)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),b(4,BQ,5,0,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isIndexEditMode&&!e.currentObject.isDeleted&&e.currentObject.isSpannerNode)}}function jQ(t,n){1&t&&(d(0,"th",75),h(1,"Column"),c())}function HQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColName").value," ")}}function UQ(t,n){1&t&&(d(0,"th",75),h(1,"Sort By"),c())}function zQ(t,n){1&t&&(d(0,"p"),h(1,"Desc"),c())}function $Q(t,n){1&t&&(d(0,"p"),h(1,"Asc"),c())}function GQ(t,n){if(1&t&&(d(0,"td",76),b(1,zQ,2,0,"p",12),b(2,$Q,2,0,"p",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("srcDesc").value),f(1),m("ngIf",!1===e.get("srcDesc").value)}}function WQ(t,n){1&t&&(d(0,"th",75),h(1,"Column Order"),c())}function qQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcOrder").value," ")}}function KQ(t,n){1&t&&(d(0,"th",75),h(1,"Column"),c())}function ZQ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Pe(e.get("spColName").value)}}function QQ(t,n){if(1&t&&(d(0,"td",76),b(1,ZQ,2,1,"p",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spColName").value)}}function YQ(t,n){1&t&&(d(0,"th",75),h(1,"Sort By"),c())}function XQ(t,n){1&t&&(d(0,"p"),h(1,"Desc"),c())}function JQ(t,n){1&t&&(d(0,"p"),h(1,"Asc"),c())}function eY(t,n){if(1&t&&(d(0,"td",76),b(1,XQ,2,0,"p",12),b(2,JQ,2,0,"p",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spDesc").value),f(1),m("ngIf",!1===e.get("spDesc").value)}}function tY(t,n){1&t&&(d(0,"th",75),h(1,"Column Order"),c())}function nY(t,n){if(1&t&&(d(0,"div"),E(1,"input",139),c()),2&t){const e=D().$implicit;f(1),m("formControl",e.get("spOrder"))}}function iY(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Pe(e.get("spOrder").value)}}function oY(t,n){if(1&t&&(d(0,"td",76),b(1,nY,2,1,"div",12),b(2,iY,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isIndexEditMode&&e.get("spColName").value),f(1),m("ngIf",!i.isIndexEditMode)}}function rY(t,n){1&t&&E(0,"th",75)}function sY(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",109),N("click",function(){se(e);const o=D().index;return D(3).dropIndexKey(o)}),d(6,"span"),h(7,"Drop Index Key"),c()()()()}if(2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}function aY(t,n){if(1&t&&(d(0,"td",103),b(1,sY,8,1,"div",12),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isIndexEditMode)),f(1),m("ngIf",i.isIndexEditMode&&e.get("spColName").value)}}function lY(t,n){1&t&&E(0,"tr",79)}function cY(t,n){1&t&&E(0,"tr",79)}function dY(t,n){1&t&&E(0,"tr",140)}function uY(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function hY(t,n){if(1&t){const e=pe();d(0,"div",141)(1,"mat-form-field",142)(2,"mat-label"),h(3,"Column Name"),c(),d(4,"mat-select",143),b(5,uY,2,2,"mat-option",94),c()(),d(6,"mat-form-field",144)(7,"mat-label"),h(8,"Sort By"),c(),d(9,"mat-select",145)(10,"mat-option",146),h(11,"Ascending"),c(),d(12,"mat-option",147),h(13,"Descending"),c()()(),d(14,"button",148),N("click",function(){return se(e),D(3).addIndexKey()}),d(15,"mat-icon"),h(16,"add"),c(),d(17,"span"),h(18," ADD COLUMN"),c()()()}if(2&t){const e=D(3);m("formGroup",e.addIndexKeyForm),f(5),m("ngForOf",e.indexColumnNames),f(9),m("disabled",!e.addIndexKeyForm.valid)}}function pY(t,n){if(1&t&&(d(0,"div",128)(1,"table",33),be(2,34),b(3,LQ,2,1,"th",129),ve(),be(4,47),b(5,VQ,5,1,"th",63),ve(),be(6,130),b(7,jQ,2,0,"th",37),b(8,HQ,2,1,"td",38),ve(),be(9,131),b(10,UQ,2,0,"th",41),b(11,GQ,3,2,"td",38),ve(),be(12,132),b(13,WQ,2,0,"th",37),b(14,qQ,2,1,"td",38),ve(),be(15,133),b(16,KQ,2,0,"th",41),b(17,QQ,2,1,"td",38),ve(),be(18,134),b(19,YQ,2,0,"th",41),b(20,eY,3,2,"td",38),ve(),be(21,135),b(22,tY,2,0,"th",37),b(23,oY,3,2,"td",38),ve(),be(24,54),b(25,rY,1,0,"th",41),b(26,aY,2,4,"td",55),ve(),b(27,lY,1,0,"tr",45),b(28,cY,1,0,"tr",45),b(29,dY,1,0,"tr",136),c(),b(30,hY,19,3,"div",137),c()),2&t){const e=D(2);f(1),m("dataSource",e.spDataSource),f(26),m("matHeaderRowDef",Xo(5,Lv)),f(1),m("matHeaderRowDef",e.indexDisplayedColumns),f(1),m("matRowDefColumns",e.indexDisplayedColumns),f(1),m("ngIf",e.isIndexEditMode&&e.indexColumnNames.length>0)}}function fY(t,n){1&t&&E(0,"mat-divider")}function mY(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).toggleEdit()}),h(1," CANCEL "),c()}}function gY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",150),N("click",function(){return se(e),D(2).saveColumnTable()}),h(2," SAVE & CONVERT "),c(),b(3,mY,2,0,"button",151),c()}if(2&t){const e=D(2);f(1),m("disabled",!e.spRowArray.valid),f(2),m("ngIf",e.currentObject.isSpannerNode)}}function _Y(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).togglePkEdit()}),h(1," CANCEL "),c()}}function bY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",150),N("click",function(){return se(e),D(2).savePk()}),h(2," SAVE & CONVERT "),c(),b(3,_Y,2,0,"button",151),c()}if(2&t){const e=D(2);f(1),m("disabled",!e.pkArray.valid),f(2),m("ngIf",e.currentObject.isSpannerNode)}}function vY(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).toggleFkEdit()}),h(1," CANCEL "),c()}}function yY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",125),N("click",function(){return se(e),D(2).saveFk()}),h(2,"SAVE & CONVERT"),c(),b(3,vY,2,0,"button",151),c()}if(2&t){const e=D(2);f(3),m("ngIf",e.currentObject.isSpannerNode)}}function CY(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).toggleIndexEdit()}),h(1," CANCEL "),c()}}function wY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",125),N("click",function(){return se(e),D(2).saveIndex()}),h(2,"SAVE & CONVERT"),c(),b(3,CY,2,0,"button",151),c()}if(2&t){const e=D(2);f(3),m("ngIf",e.currentObject.isSpannerNode)}}function DY(t,n){if(1&t){const e=pe();d(0,"div",13)(1,"div",3)(2,"span")(3,"h3",4),b(4,iK,2,0,"mat-icon",14),b(5,oK,2,0,"svg",15),d(6,"span",16),h(7),c(),b(8,rK,3,3,"span",12),b(9,sK,5,0,"button",17),b(10,aK,5,0,"button",17),b(11,lK,5,0,"button",17),b(12,cK,5,0,"button",17),c(),b(13,dK,4,1,"div",18),c(),d(14,"button",5),N("click",function(){return se(e),D().middleColumnToggle()}),d(15,"mat-icon",6),h(16,"first_page"),c(),d(17,"mat-icon",6),h(18,"last_page"),c()()(),b(19,NQ,139,27,"mat-tab-group",19),b(20,pY,31,6,"div",20),d(21,"div",21),b(22,fY,1,0,"mat-divider",12),b(23,gY,4,2,"div",22),b(24,bY,4,2,"div",22),b(25,yY,4,1,"div",22),b(26,wY,4,1,"div",22),c()()}if(2&t){const e=D();f(4),m("ngIf",e.currentObject.type===e.ObjectExplorerNodeType.Table),f(1),m("ngIf",e.currentObject.type===e.ObjectExplorerNodeType.Index),f(2),Pe(" "+e.currentObject.name+" "),f(1),m("ngIf",""!=e.currentObject.parent),f(1),m("ngIf",e.currentObject.isSpannerNode&&!e.currentObject.isDeleted&&"indexName"===e.currentObject.type),f(1),m("ngIf",e.currentObject.isSpannerNode&&e.currentObject.isDeleted&&e.currentObject.type==e.ObjectExplorerNodeType.Index),f(1),m("ngIf",e.currentObject.isSpannerNode&&"indexName"!==e.currentObject.type&&!e.currentObject.isDeleted),f(1),m("ngIf",e.currentObject.isSpannerNode&&e.currentObject.isDeleted&&e.currentObject.type==e.ObjectExplorerNodeType.Table),f(1),m("ngIf",e.interleaveParentName&&e.currentObject.isSpannerNode),f(2),m("ngClass",Kt(18,Wp,e.isMiddleColumnCollapse?"display":"hidden")),f(2),m("ngClass",Kt(20,Wp,e.isMiddleColumnCollapse?"hidden":"display")),f(2),m("ngIf","tableName"===e.currentObject.type),f(1),m("ngIf","indexName"===e.currentObject.type),f(2),m("ngIf",e.isEditMode||e.isPkEditMode||e.isFkEditMode),f(1),m("ngIf",e.isEditMode&&0===e.currentTabIndex),f(1),m("ngIf",e.isPkEditMode&&1===e.currentTabIndex),f(1),m("ngIf",e.isFkEditMode&&2===e.currentTabIndex),f(1),m("ngIf",e.isIndexEditMode&&-1===e.currentTabIndex)}}let SY=(()=>{class t{constructor(e,i,o,r,s,a){this.data=e,this.dialog=i,this.snackbar=o,this.conversion=r,this.sidenav=s,this.tableUpdatePubSub=a,this.currentObject=null,this.typeMap={},this.defaultTypeMap={},this.ddlStmts={},this.fkData=[],this.tableData=[],this.currentDatabase="spanner",this.indexData=[],this.srcDbName=localStorage.getItem(In.SourceDbName),this.updateSidebar=new Ae,this.ObjectExplorerNodeType=Qt,this.conv={},this.interleaveParentName=null,this.localTableData=[],this.localIndexData=[],this.isMiddleColumnCollapse=!1,this.isPostgreSQLDialect=!1,this.srcDisplayedColumns=["srcOrder","srcColName","srcDataType","srcColMaxLength","srcIsPk","srcIsNotNull"],this.spDisplayedColumns=["spColName","spDataType","spColMaxLength","spIsPk","spIsNotNull","dropButton"],this.displayedFkColumns=["srcName","srcColumns","srcReferTable","srcReferColumns","spName","spColumns","spReferTable","spReferColumns","dropButton"],this.displayedPkColumns=["srcOrder","srcColName","srcDataType","srcIsPk","srcIsNotNull","spOrder","spColName","spDataType","spIsPk","spIsNotNull","dropButton"],this.indexDisplayedColumns=["srcIndexColName","srcSortBy","srcIndexOrder","spIndexColName","spSortBy","spIndexOrder","dropButton"],this.spDataSource=[],this.srcDataSource=[],this.fkDataSource=[],this.pkDataSource=[],this.pkData=[],this.isPkEditMode=!1,this.isEditMode=!1,this.isFkEditMode=!1,this.isIndexEditMode=!1,this.isObjectSelected=!1,this.srcRowArray=new ho([]),this.spRowArray=new ho([]),this.pkArray=new ho([]),this.fkArray=new ho([]),this.isSpTableSuggesstionDisplay=[],this.spTableSuggestion=[],this.currentTabIndex=0,this.addedColumnName="",this.droppedColumns=[],this.droppedSourceColumns=[],this.pkColumnNames=[],this.indexColumnNames=[],this.shardIdCol="",this.addColumnForm=new an({columnName:new X("",[de.required])}),this.addIndexKeyForm=new an({columnName:new X("",[de.required]),ascOrDesc:new X("",[de.required])}),this.addedPkColumnName="",this.addPkColumnForm=new an({columnName:new X("",[de.required])}),this.pkObj={},this.dataTypesWithColLen=di.DataTypes}ngOnInit(){this.data.conv.subscribe({next:e=>{this.conv=e,this.isPostgreSQLDialect="postgresql"===this.conv.SpDialect}})}ngOnChanges(e){var i,o,r,s,a,l,u,p;this.fkData=(null===(i=e.fkData)||void 0===i?void 0:i.currentValue)||this.fkData,this.currentObject=(null===(o=e.currentObject)||void 0===o?void 0:o.currentValue)||this.currentObject,this.tableData=(null===(r=e.tableData)||void 0===r?void 0:r.currentValue)||this.tableData,this.indexData=(null===(s=e.indexData)||void 0===s?void 0:s.currentValue)||this.indexData,this.currentDatabase=(null===(a=e.currentDatabase)||void 0===a?void 0:a.currentValue)||this.currentDatabase,this.currentTabIndex=(null===(l=this.currentObject)||void 0===l?void 0:l.type)===Qt.Table?0:-1,this.isObjectSelected=!!this.currentObject,this.pkData=this.conversion.getPkMapping(this.tableData),this.interleaveParentName=this.getInterleaveParentFromConv(),this.isEditMode=!1,this.isFkEditMode=!1,this.isIndexEditMode=!1,this.isPkEditMode=!1,this.srcRowArray=new ho([]),this.spRowArray=new ho([]),this.droppedColumns=[],this.droppedSourceColumns=[],this.pkColumnNames=[],this.interleaveParentName=this.getInterleaveParentFromConv(),this.localTableData=JSON.parse(JSON.stringify(this.tableData)),this.localIndexData=JSON.parse(JSON.stringify(this.indexData)),(null===(u=this.currentObject)||void 0===u?void 0:u.type)===Qt.Table?(this.checkIsInterleave(),this.interleaveObj=this.data.tableInterleaveStatus.subscribe(g=>{this.interleaveStatus=g}),this.setSrcTableRows(),this.setSpTableRows(),this.setColumnsToAdd(),this.setAddPkColumnList(),this.setPkOrder(),this.setPkRows(),this.setFkRows(),this.updateSpTableSuggestion(),this.setShardIdColumn()):(null===(p=this.currentObject)||void 0===p?void 0:p.type)===Qt.Index&&(this.indexOrderValidation(),this.setIndexRows()),this.data.getSummary()}setSpTableRows(){this.spRowArray=new ho([]),this.localTableData.forEach(e=>{var i,o,r,s;if(e.spOrder){let a=new an({srcOrder:new X(e.srcOrder),srcColName:new X(e.srcColName),srcDataType:new X(e.srcDataType),srcIsPk:new X(e.srcIsPk),srcIsNotNull:new X(e.srcIsNotNull),srcColMaxLength:new X(e.srcColMaxLength),spOrder:new X(e.srcOrder),spColName:new X(e.spColName,[de.required,de.pattern("^[a-zA-Z]([a-zA-Z0-9/_]*[a-zA-Z0-9])?")]),spDataType:new X(e.spDataType),spIsPk:new X(e.spIsPk),spIsNotNull:new X(e.spIsNotNull),spId:new X(e.spId),srcId:new X(e.srcId),spColMaxLength:new X(e.spColMaxLength,[de.required])});this.dataTypesWithColLen.indexOf(e.spDataType.toString())>-1?(null===(i=a.get("spColMaxLength"))||void 0===i||i.setValidators([de.required,de.pattern("([1-9][0-9]*|MAX)")]),void 0===e.spColMaxLength?null===(o=a.get("spColMaxLength"))||void 0===o||o.setValue("MAX"):"MAX"!==e.spColMaxLength&&(("STRING"===e.spDataType||"VARCHAR"===e.spDataType)&&e.spColMaxLength>di.StringMaxLength?null===(r=a.get("spColMaxLength"))||void 0===r||r.setValue("MAX"):"BYTES"===e.spDataType&&e.spColMaxLength>di.ByteMaxLength&&(null===(s=a.get("spColMaxLength"))||void 0===s||s.setValue("MAX")))):a.controls.spColMaxLength.clearValidators(),a.controls.spColMaxLength.updateValueAndValidity(),this.spRowArray.push(a)}}),this.spDataSource=this.spRowArray.controls}setSrcTableRows(){this.srcRowArray=new ho([]),this.localTableData.forEach(e=>{this.srcRowArray.push(new an(""!=e.spColName?{srcOrder:new X(e.srcOrder),srcColName:new X(e.srcColName),srcDataType:new X(e.srcDataType),srcIsPk:new X(e.srcIsPk),srcIsNotNull:new X(e.srcIsNotNull),srcColMaxLength:new X(e.srcColMaxLength),spOrder:new X(e.spOrder),spColName:new X(e.spColName),spDataType:new X(e.spDataType),spIsPk:new X(e.spIsPk),spIsNotNull:new X(e.spIsNotNull),spId:new X(e.spId),srcId:new X(e.srcId),spColMaxLength:new X(e.spColMaxLength)}:{srcOrder:new X(e.srcOrder),srcColName:new X(e.srcColName),srcDataType:new X(e.srcDataType),srcIsPk:new X(e.srcIsPk),srcIsNotNull:new X(e.srcIsNotNull),srcColMaxLength:new X(e.srcColMaxLength),spOrder:new X(e.srcOrder),spColName:new X(e.srcColName),spDataType:new X(this.defaultTypeMap[e.srcDataType].Name),spIsPk:new X(e.srcIsPk),spIsNotNull:new X(e.srcIsNotNull),spColMaxLength:new X(e.srcColMaxLength)}))}),this.srcDataSource=this.srcRowArray.controls}setColumnsToAdd(){this.localTableData.forEach(e=>{e.spColName||this.srcRowArray.value.forEach(i=>{e.srcColName==i.srcColName&&""!=i.srcColName&&(this.droppedColumns.push(i),this.droppedSourceColumns.push(i.srcColName))})})}toggleEdit(){this.currentTabIndex=0,this.isEditMode?(this.localTableData=JSON.parse(JSON.stringify(this.tableData)),this.setSpTableRows(),this.isEditMode=!1):this.isEditMode=!0}saveColumnTable(){this.isEditMode=!1;let i,e={UpdateCols:{}};this.conversion.pgSQLToStandardTypeTypeMap.subscribe(o=>{i=o}),this.spRowArray.value.forEach((o,r)=>{for(let s=0;sdi.StringMaxLength||"BYTES"===o.spDataType&&o.spColMaxLength>di.ByteMaxLength)&&(o.spColMaxLength="MAX"),"number"==typeof o.spColMaxLength&&(o.spColMaxLength=o.spColMaxLength.toString()),"STRING"!=o.spDataType&&"BYTES"!=o.spDataType&&"VARCHAR"!=o.spDataType&&(o.spColMaxLength=""),o.srcId==this.tableData[s].srcId&&""!=this.tableData[s].srcId){e.UpdateCols[this.tableData[s].srcId]={Add:""==this.tableData[s].spId,Rename:a.spColName!==o.spColName?o.spColName:"",NotNull:o.spIsNotNull?"ADDED":"REMOVED",Removed:!1,ToType:"postgresql"===this.conv.SpDialect?void 0===l?o.spDataType:l:o.spDataType,MaxColLength:o.spColMaxLength};break}o.spId==this.tableData[s].spId&&(e.UpdateCols[this.tableData[s].spId]={Add:""==this.tableData[s].spId,Rename:a.spColName!==o.spColName?o.spColName:"",NotNull:o.spIsNotNull?"ADDED":"REMOVED",Removed:!1,ToType:"postgresql"===this.conv.SpDialect?void 0===l?o.spDataType:l:o.spDataType,MaxColLength:o.spColMaxLength})}}),this.droppedColumns.forEach(o=>{e.UpdateCols[o.spId]={Add:!1,Rename:"",NotNull:"",Removed:!0,ToType:"",MaxColLength:""}}),this.data.reviewTableUpdate(this.currentObject.id,e).subscribe({next:o=>{""==o?(this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("reviewChanges"),this.tableUpdatePubSub.setTableUpdateDetail({tableName:this.currentObject.name,tableId:this.currentObject.id,updateDetail:e}),this.isEditMode=!0):(this.dialog.open(Vo,{data:{message:o,type:"error"},maxWidth:"500px"}),this.isEditMode=!0)}})}addNewColumn(){var e;this.dialog.open(Jq,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{dialect:this.conv.SpDialect,tableId:null===(e=this.currentObject)||void 0===e?void 0:e.id}})}setColumn(e){this.addedColumnName=e}restoreColumn(){let e=this.tableData.map(r=>r.srcColName).indexOf(this.addedColumnName),i=this.droppedColumns.map(r=>r.srcColName).indexOf(this.addedColumnName);this.localTableData[e].spColName=this.droppedColumns[i].spColName,this.localTableData[e].spDataType=this.droppedColumns[i].spDataType,this.localTableData[e].spOrder=-1,this.localTableData[e].spIsPk=this.droppedColumns[i].spIsPk,this.localTableData[e].spIsNotNull=this.droppedColumns[i].spIsNotNull,this.localTableData[e].spColMaxLength=this.droppedColumns[i].spColMaxLength;let o=this.droppedColumns.map(r=>r.spColName).indexOf(this.addedColumnName);o>-1&&(this.droppedColumns.splice(o,1),this.droppedSourceColumns.indexOf(this.addedColumnName)>-1&&this.droppedSourceColumns.splice(this.droppedSourceColumns.indexOf(this.addedColumnName),1)),this.setSpTableRows()}dropColumn(e){let i=e.get("srcColName").value,o=e.get("srcId").value,r=e.get("spId").value,s=""!=o?o:r,a=e.get("spColName").value,l=this.getAssociatedIndexs(s);if(this.checkIfPkColumn(s)||0!=l.length){let u="",p="",g="";this.checkIfPkColumn(s)&&(u=" Primary key"),0!=l.length&&(p=` Index ${l}`),""!=u&&""!=p&&(g=" and"),this.dialog.open(Vo,{data:{message:`Column ${a} is a part of${u}${g}${p}. Remove the dependencies from respective tabs before dropping the Column. `,type:"error"},maxWidth:"500px"})}else this.spRowArray.value.forEach((u,p)=>{u.spId===r&&this.droppedColumns.push(u)}),this.dropColumnFromUI(r),""!==i&&this.droppedSourceColumns.push(i)}checkIfPkColumn(e){let i=!1;return null!=this.conv.SpSchema[this.currentObject.id].PrimaryKeys&&this.conv.SpSchema[this.currentObject.id].PrimaryKeys.map(o=>o.ColId).includes(e)&&(i=!0),i}setShardIdColumn(){void 0!==this.conv.SpSchema[this.currentObject.id]&&(this.shardIdCol=this.conv.SpSchema[this.currentObject.id].ShardIdColumn)}getAssociatedIndexs(e){let i=[];return null!=this.conv.SpSchema[this.currentObject.id].Indexes&&this.conv.SpSchema[this.currentObject.id].Indexes.forEach(o=>{o.Keys.map(r=>r.ColId).includes(e)&&i.push(o.Name)}),i}dropColumnFromUI(e){this.localTableData.forEach((i,o)=>{i.spId==e&&(i.spColName="",i.spDataType="",i.spIsNotNull=!1,i.spIsPk=!1,i.spOrder="",i.spColMaxLength="")}),this.setSpTableRows()}updateSpTableSuggestion(){this.isSpTableSuggesstionDisplay=[],this.spTableSuggestion=[],this.localTableData.forEach(e=>{var i;const r=e.spDataType;let s="";null===(i=this.typeMap[e.srcDataType])||void 0===i||i.forEach(a=>{r==a.DiplayT&&(s=a.Brief)}),this.isSpTableSuggesstionDisplay.push(""!==s),this.spTableSuggestion.push(s)})}spTableEditSuggestionHandler(e,i){let r="";this.typeMap[this.localTableData[e].srcDataType].forEach(s=>{i==s.T&&(r=s.Brief)}),this.isSpTableSuggesstionDisplay[e]=""!==r,this.spTableSuggestion[e]=r}setPkRows(){this.pkArray=new ho([]),this.pkOrderValidation();var e=new Array,i=new Array;this.pkData.forEach(o=>{o.srcIsPk&&e.push({srcColName:o.srcColName,srcDataType:o.srcDataType,srcIsNotNull:o.srcIsNotNull,srcIsPk:o.srcIsPk,srcOrder:o.srcOrder,srcId:o.srcId}),o.spIsPk&&i.push({spColName:o.spColName,spDataType:o.spDataType,spIsNotNull:o.spIsNotNull,spIsPk:o.spIsPk,spOrder:o.spOrder,spId:o.spId})}),i.sort((o,r)=>o.spOrder-r.spOrder);for(let o=0;oMath.min(e.length,i.length))for(let o=Math.min(e.length,i.length);oMath.min(e.length,i.length))for(let o=Math.min(e.length,i.length);or.spColName).indexOf(this.addedPkColumnName),i=this.localTableData[e],o=1;this.localTableData[e].spIsPk=!0,this.pkData=[],this.pkData=this.conversion.getPkMapping(this.localTableData),e=this.pkData.findIndex(r=>r.srcId===i.srcId||r.spId==i.spId),this.pkArray.value.forEach(r=>{r.spIsPk&&(o+=1);for(let s=0;s{i.spIsPk&&e.push(i.spColName)});for(let i=0;i{var r;if(this.pkData[o].spId===this.conv.SpSchema[this.currentObject.id].PrimaryKeys[o].ColId)this.pkData[o].spOrder=this.conv.SpSchema[this.currentObject.id].PrimaryKeys[o].Order;else{let s=this.conv.SpSchema[this.currentObject.id].PrimaryKeys.map(a=>a.ColId).indexOf(i.spId);i.spOrder=null===(r=this.conv.SpSchema[this.currentObject.id].PrimaryKeys[s])||void 0===r?void 0:r.Order}}):this.pkData.forEach((i,o)=>{var r,s;let a=null===(r=this.conv.SpSchema[this.currentObject.id])||void 0===r?void 0:r.PrimaryKeys.map(l=>l.ColId).indexOf(i.spId);-1!==a&&(i.spOrder=null===(s=this.conv.SpSchema[this.currentObject.id])||void 0===s?void 0:s.PrimaryKeys[a].Order)})}pkOrderValidation(){let e=this.pkData.filter(i=>i.spIsPk).map(i=>Number(i.spOrder));if(e.sort((i,o)=>i-o),e[e.length-1]>e.length&&e.forEach((i,o)=>{this.pkData.forEach(r=>{r.spOrder==i&&(r.spOrder=o+1)})}),0==e[0]&&e[e.length-1]<=e.length){let i;for(let o=0;o{o.spOrder{o.spIsPk&&i.push({ColId:o.spId,Desc:void 0!==this.conv.SpSchema[this.currentObject.id].PrimaryKeys.find(({ColId:r})=>r===o.spId)&&this.conv.SpSchema[this.currentObject.id].PrimaryKeys.find(({ColId:r})=>r===o.spId).Desc,Order:parseInt(o.spOrder)})}),this.pkObj.TableId=e,this.pkObj.Columns=i}togglePkEdit(){this.currentTabIndex=1,this.isPkEditMode?(this.localTableData=JSON.parse(JSON.stringify(this.tableData)),this.pkData=this.conversion.getPkMapping(this.tableData),this.setAddPkColumnList(),this.setPkOrder(),this.setPkRows(),this.isPkEditMode=!1):this.isPkEditMode=!0}savePk(){var e,i,o;if(this.pkArray.value.forEach(r=>{for(let s=0;s{a&&this.data.removeInterleave(""!=this.conv.SpSchema[this.currentObject.id].ParentId?this.currentObject.id:this.conv.SpSchema[r].Id).pipe(Ot(1)).subscribe(u=>{this.updatePk()})}):this.updatePk()}}updatePk(){this.isPkEditMode=!1,this.data.updatePk(this.pkObj).subscribe({next:e=>{""==e?this.isEditMode=!1:(this.dialog.open(Vo,{data:{message:e,type:"error"},maxWidth:"500px"}),this.isPkEditMode=!0)}})}dropPk(e){let i=this.localTableData.map(s=>s.spColName).indexOf(e.value.spColName);this.localTableData[i].spId==(this.conv.SyntheticPKeys[this.currentObject.id]?this.conv.SyntheticPKeys[this.currentObject.id].ColId:"")?this.dialog.open(Vo,{data:{message:"Removing this synthetic id column from primary key will drop the column from the table",title:"Confirm removal of synthetic id",type:"warning"},maxWidth:"500px"}).afterClosed().subscribe(a=>{a&&this.dropPkHelper(i,e.value.spOrder)}):this.dropPkHelper(i,e.value.spOrder)}dropPkHelper(e,i){this.localTableData[e].spIsPk=!1,this.pkData=[],this.pkData=this.conversion.getPkMapping(this.localTableData),this.pkArray.value.forEach(o=>{for(let r=0;r{o.spOrder>i&&(o.spOrder=Number(o.spOrder)-1)}),this.setAddPkColumnList(),this.setPkRows()}setFkRows(){this.fkArray=new ho([]);var e=new Array,i=new Array;this.fkData.forEach(o=>{e.push({srcName:o.srcName,srcColumns:o.srcColumns,srcRefTable:o.srcReferTable,srcRefColumns:o.srcReferColumns,Id:o.srcFkId}),""!=o.spName&&i.push({spName:o.spName,spColumns:o.spColumns,spRefTable:o.spReferTable,spRefColumns:o.spReferColumns,Id:o.spFkId,spColIds:o.spColIds,spReferColumnIds:o.spReferColumnIds,spReferTableId:o.spReferTableId})});for(let o=0;oMath.min(e.length,i.length))for(let o=Math.min(e.length,i.length);o{e.push({Name:i.spName,ColIds:i.spColIds,ReferTableId:i.spReferTableId,ReferColumnIds:i.spReferColumnIds,Id:i.spFkId})}),this.data.updateFkNames(this.currentObject.id,e).subscribe({next:i=>{""==i?this.isFkEditMode=!1:this.dialog.open(Vo,{data:{message:i,type:"error"},maxWidth:"500px"})}})}dropFk(e){this.fkData.forEach(i=>{i.spName==e.get("spName").value&&(i.spName="",i.spColumns=[],i.spReferTable="",i.spReferColumns=[],i.spColIds=[],i.spReferColumnIds=[],i.spReferTableId="")}),this.setFkRows()}getRemovedFkIndex(e){let i=-1;return this.fkArray.value.forEach((o,r)=>{o.spName===e.get("spName").value&&(i=r)}),i}removeInterleave(){this.data.removeInterleave(this.currentObject.id).pipe(Ot(1)).subscribe(i=>{""===i&&this.snackbar.openSnackBar("Interleave removed and foreign key restored successfully","Close",5)})}checkIsInterleave(){var e,i;this.currentObject&&!(null===(e=this.currentObject)||void 0===e?void 0:e.isDeleted)&&(null===(i=this.currentObject)||void 0===i?void 0:i.isSpannerNode)&&this.data.getInterleaveConversionForATable(this.currentObject.id)}setInterleave(){this.data.setInterleave(this.currentObject.id)}getInterleaveParentFromConv(){var e,i;return(null===(e=this.currentObject)||void 0===e?void 0:e.type)===Qt.Table&&this.currentObject.isSpannerNode&&!this.currentObject.isDeleted&&""!=this.conv.SpSchema[this.currentObject.id].ParentId?null===(i=this.conv.SpSchema[this.conv.SpSchema[this.currentObject.id].ParentId])||void 0===i?void 0:i.Name:null}setIndexRows(){var e,i;this.spRowArray=new ho([]);const o=this.localIndexData.map(r=>r.spColName?r.spColName:"").filter(r=>""!=r);this.indexColumnNames=null===(i=null===(e=this.conv.SpSchema[this.currentObject.parentId])||void 0===e?void 0:e.ColIds)||void 0===i?void 0:i.filter(r=>{var s,a;return!o.includes(null===(a=null===(s=this.conv.SpSchema[this.currentObject.parentId])||void 0===s?void 0:s.ColDefs[r])||void 0===a?void 0:a.Name)}).map(r=>{var s,a;return null===(a=null===(s=this.conv.SpSchema[this.currentObject.parentId])||void 0===s?void 0:s.ColDefs[r])||void 0===a?void 0:a.Name}),this.localIndexData.forEach(r=>{this.spRowArray.push(new an({srcOrder:new X(r.srcOrder),srcColName:new X(r.srcColName),srcDesc:new X(r.srcDesc),spOrder:new X(r.spOrder),spColName:new X(r.spColName,[de.required,de.pattern("^[a-zA-Z]([a-zA-Z0-9/_]*[a-zA-Z0-9])?")]),spDesc:new X(r.spDesc)}))}),this.spDataSource=this.spRowArray.controls}setIndexOrder(){this.spRowArray.value.forEach(e=>{for(let i=0;i""!=i.spColName).map(i=>Number(i.spOrder));if(e.sort((i,o)=>i-o),e[e.length-1]>e.length&&e.forEach((i,o)=>{this.localIndexData.forEach(r=>{""!=r.spColName&&r.spOrder==i&&(r.spOrder=o+1)})}),0==e[0]&&e[e.length-1]<=e.length){let i;for(let o=0;o{o.spOrder!!s.spColId).map(s=>({ColId:s.spColId,Desc:s.spDesc,Order:s.spOrder})),Id:this.currentObject.id}),0==r[0].Keys.length?this.dropIndex():(this.data.updateIndex(null===(o=this.currentObject)||void 0===o?void 0:o.parentId,r).subscribe({next:s=>{""==s?this.isEditMode=!1:(this.dialog.open(Vo,{data:{message:s,type:"error"},maxWidth:"500px"}),this.isIndexEditMode=!0)}}),this.addIndexKeyForm.controls.columnName.setValue(""),this.addIndexKeyForm.controls.ascOrDesc.setValue(""),this.addIndexKeyForm.markAsUntouched(),this.data.getSummary(),this.isIndexEditMode=!1)}dropIndex(){var e;this.dialog.open(gI,{width:"35vw",minWidth:"450px",maxWidth:"600px",data:{name:null===(e=this.currentObject)||void 0===e?void 0:e.name,type:Ls.Index}}).afterClosed().subscribe(o=>{o===Ls.Index&&(this.data.dropIndex(this.currentObject.parentId,this.currentObject.id).pipe(Ot(1)).subscribe(r=>{""===r&&(this.isObjectSelected=!1,this.updateSidebar.emit(!0))}),this.currentObject=null)})}restoreIndex(){this.data.restoreIndex(this.currentObject.parentId,this.currentObject.id).pipe(Ot(1)).subscribe(o=>{""===o&&(this.isObjectSelected=!1)}),this.currentObject=null}dropIndexKey(e){this.localIndexData[e].srcColName?(this.localIndexData[e].spColName="",this.localIndexData[e].spColId="",this.localIndexData[e].spDesc="",this.localIndexData[e].spOrder=""):this.localIndexData.splice(e,1),this.setIndexRows()}addIndexKey(){let e=0;this.localIndexData.forEach(i=>{i.spColName&&(e+=1)}),this.localIndexData.push({spColName:this.addIndexKeyForm.value.columnName,spDesc:"desc"===this.addIndexKeyForm.value.ascOrDesc,spOrder:e+1,srcColName:"",srcDesc:void 0,srcOrder:"",srcColId:void 0,spColId:this.currentObject?this.conversion.getColIdFromSpannerColName(this.addIndexKeyForm.value.columnName,this.currentObject.parentId,this.conv):""}),this.setIndexRows()}restoreSpannerTable(){this.data.restoreTable(this.currentObject.id).pipe(Ot(1)).subscribe(e=>{""===e&&(this.isObjectSelected=!1),this.data.getConversionRate(),this.data.getDdl()}),this.currentObject=null}dropTable(){var e;this.dialog.open(gI,{width:"35vw",minWidth:"450px",maxWidth:"600px",data:{name:null===(e=this.currentObject)||void 0===e?void 0:e.name,type:Ls.Table}}).afterClosed().subscribe(o=>{o===Ls.Table&&(this.data.dropTable(this.currentObject.id).pipe(Ot(1)).subscribe(s=>{""===s&&(this.isObjectSelected=!1,this.data.getConversionRate(),this.updateSidebar.emit(!0))}),this.currentObject=null)})}tabChanged(e){this.currentTabIndex=e.index}middleColumnToggle(){this.isMiddleColumnCollapse=!this.isMiddleColumnCollapse,this.sidenav.setMiddleColComponent(this.isMiddleColumnCollapse)}tableInterleaveWith(e){if(""!=this.conv.SpSchema[e].ParentId)return this.conv.SpSchema[e].ParentId;let i="";return Object.keys(this.conv.SpSchema).forEach(o=>{""!=this.conv.SpSchema[o].ParentId&&this.conv.SpSchema[o].ParentId==e&&(i=o)}),i}isPKPrefixModified(e,i){let o,r;this.conv.SpSchema[e].ParentId!=i?(o=this.pkObj.Columns,r=this.conv.SpSchema[i].PrimaryKeys):(r=this.pkObj.Columns,o=this.conv.SpSchema[i].PrimaryKeys);for(let s=0;s{class t{constructor(e,i){this.data=e,this.clickEvent=i,this.changeIssuesLabel=new Ae,this.summaryRows=[],this.summary=new Map,this.filteredSummaryRows=[],this.separatorKeysCodes=[],this.summaryCount=0,this.totalNoteCount=0,this.totalWarningCount=0,this.totalSuggestionCount=0,this.totalErrorCount=0,this.filterInput=new X,this.options=["read","unread","warning","suggestion","note","error"],this.obsFilteredOptions=new Ue,this.searchFilters=["unread","warning","note","suggestion","error"],this.currentObject=null}ngOnInit(){this.data.summary.subscribe({next:e=>{if(this.summary=e,this.currentObject){let i=this.currentObject.id;"indexName"==this.currentObject.type&&(i=this.currentObject.parentId);let o=this.summary.get(i);o?(this.summaryRows=[],this.initiateSummaryCollection(o),this.applyFilters(),this.summaryCount=o.NotesCount+o.WarningsCount+o.ErrorsCount+o.SuggestionsCount,this.changeIssuesLabel.emit(o.NotesCount+o.WarningsCount+o.ErrorsCount+o.SuggestionsCount)):(this.summaryCount=0,this.changeIssuesLabel.emit(0))}else this.initialiseSummaryCollectionForAllTables(this.summary),this.summaryCount=this.totalNoteCount+this.totalErrorCount+this.totalSuggestionCount+this.totalWarningCount,this.changeIssuesLabel.emit(this.summaryCount)}}),this.registerAutoCompleteChange()}initialiseSummaryCollectionForAllTables(e){this.summaryRows=[],this.totalErrorCount=0,this.totalNoteCount=0,this.totalSuggestionCount=0,this.totalWarningCount=0;for(const i of e.values())this.initiateSummaryCollection(i);this.applyFilters()}ngOnChanges(e){var i;if(this.currentObject=(null===(i=null==e?void 0:e.currentObject)||void 0===i?void 0:i.currentValue)||this.currentObject,this.summaryRows=[],this.currentObject){let o=this.currentObject.id;"indexName"==this.currentObject.type&&(o=this.currentObject.parentId);let r=this.summary.get(o);r?(this.summaryRows=[],this.initiateSummaryCollection(r),this.applyFilters(),this.summaryCount=r.NotesCount+r.WarningsCount+r.ErrorsCount+r.SuggestionsCount,this.changeIssuesLabel.emit(r.NotesCount+r.WarningsCount+r.ErrorsCount+r.SuggestionsCount)):(this.summaryCount=0,this.changeIssuesLabel.emit(0))}else this.summaryCount=0,this.changeIssuesLabel.emit(0)}initiateSummaryCollection(e){this.totalErrorCount+=e.ErrorsCount,this.totalNoteCount+=e.NotesCount,this.totalWarningCount+=e.WarningsCount,this.totalSuggestionCount+=e.SuggestionsCount,e.Errors.forEach(i=>{this.summaryRows.push({type:"error",content:i.description,isRead:!1})}),e.Warnings.forEach(i=>{this.summaryRows.push({type:"warning",content:i.description,isRead:!1})}),e.Suggestions.forEach(i=>{this.summaryRows.push({type:"suggestion",content:i.description,isRead:!1})}),e.Notes.forEach(i=>{this.summaryRows.push({type:"note",content:i.description,isRead:!1})})}applyFilters(){let e=[],i=[];this.searchFilters.includes("read")&&i.push(o=>o.isRead),this.searchFilters.includes("unread")&&i.push(o=>!o.isRead),this.searchFilters.includes("warning")&&e.push(o=>"warning"==o.type),this.searchFilters.includes("note")&&e.push(o=>"note"==o.type),this.searchFilters.includes("suggestion")&&e.push(o=>"suggestion"==o.type),this.searchFilters.includes("error")&&e.push(o=>"error"==o.type),this.filteredSummaryRows=this.summaryRows.filter(o=>(!i.length||i.some(r=>r(o)))&&(!e.length||e.some(r=>r(o))))}addFilter(e){e&&!this.searchFilters.includes(e)&&this.searchFilters.push(e),this.applyFilters(),this.registerAutoCompleteChange()}removeFilter(e){const i=this.searchFilters.indexOf(e);i>=0&&this.searchFilters.splice(i,1),this.applyFilters()}toggleRead(e){e.isRead=!e.isRead,this.applyFilters()}registerAutoCompleteChange(){this.obsFilteredOptions=this.filterInput.valueChanges.pipe(Nn(""),je(e=>this.autoCompleteOnChangeFilter(e)))}autoCompleteOnChangeFilter(e){return this.options.filter(i=>i.toLowerCase().includes(e))}spannerTab(){this.clickEvent.setTabToSpanner()}}return t.\u0275fac=function(e){return new(e||t)(_(Ln),_(Bo))},t.\u0275cmp=Oe({type:t,selectors:[["app-summary"]],inputs:{currentObject:"currentObject"},outputs:{changeIssuesLabel:"changeIssuesLabel"},features:[nn],decls:29,vars:11,consts:[[1,"container"],[1,"filter"],[1,"columns"],[1,"left"],[1,"material-icons","filter-icon"],[1,"filter-text"],[1,"right"],["chipList",""],["class","primary",3,"removed",4,"ngFor","ngForOf"],[3,"formControl","matChipInputFor","matChipInputSeparatorKeyCodes","matChipInputAddOnBlur","matAutocomplete"],["auto","matAutocomplete"],[3,"value","click",4,"ngFor","ngForOf"],[1,"header"],["class","content",4,"ngIf"],["class","no-issue-container",4,"ngIf"],[1,"primary",3,"removed"],["matChipRemove",""],[3,"value","click"],[1,"content"],["class","summary-row",4,"ngFor","ngForOf"],[1,"summary-row"],["matTooltip","Error: Please resolve them to proceed with the migration","matTooltipPosition","above","class","danger",4,"ngIf"],["matTooltip","Warning : Changes made because of differences in source and spanner capabilities.","matTooltipPosition","above","class","warning",4,"ngIf"],["matTooltip","Suggestion : We highly recommend you make these changes or else it will impact your DB performance.","matTooltipPosition","above","class","suggestion",4,"ngIf"],["matTooltip","Note : This is informational and you dont need to do anything.","matTooltipPosition","above","class","success",4,"ngIf"],[1,"middle"],[3,"matMenuTriggerFor"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"click",4,"ngIf"],["matTooltip","Error: Please resolve them to proceed with the migration","matTooltipPosition","above",1,"danger"],["matTooltip","Warning : Changes made because of differences in source and spanner capabilities.","matTooltipPosition","above",1,"warning"],["matTooltip","Suggestion : We highly recommend you make these changes or else it will impact your DB performance.","matTooltipPosition","above",1,"suggestion"],["matTooltip","Note : This is informational and you dont need to do anything.","matTooltipPosition","above",1,"success"],["mat-menu-item","",3,"click"],[1,"no-issue-container"],[1,"no-issue-icon-container"],["width","36","height","36","viewBox","0 0 24 20","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M16.8332 0.69873C16.0051 7.45842 16.2492 9.44782 10.4672 10.2012C16.1511 11.1242 16.2329 13.2059 16.8332 19.7037C17.6237 13.1681 17.4697 11.2106 23.1986 10.2012C17.4247 9.45963 17.6194 7.4505 16.8332 0.69873ZM4.23739 0.872955C3.79064 4.52078 3.92238 5.59467 0.802246 6.00069C3.86944 6.49885 3.91349 7.62218 4.23739 11.1284C4.66397 7.60153 4.581 6.54497 7.67271 6.00069C4.55696 5.60052 4.66178 4.51623 4.23739 0.872955ZM7.36426 11.1105C7.05096 13.6683 7.14331 14.4212 4.95554 14.7061C7.10612 15.0553 7.13705 15.8431 7.36426 18.3017C7.66333 15.8288 7.60521 15.088 9.77298 14.7061C7.58818 14.4255 7.66177 13.6653 7.36426 11.1105Z","fill","#3367D6"],[1,"no-issue-message"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"div")(2,"div",1)(3,"div",2)(4,"div",3)(5,"span",4),h(6,"filter_list"),c(),d(7,"span",5),h(8,"Filter"),c()(),d(9,"div",6)(10,"mat-form-field")(11,"mat-chip-list",null,7),b(13,MY,5,1,"mat-chip",8),E(14,"input",9),d(15,"mat-autocomplete",null,10),b(17,xY,2,2,"mat-option",11),ml(18,"async"),c()()()()()(),d(19,"div",12)(20,"div",2)(21,"div",3)(22,"span"),h(23," Status "),c()(),d(24,"div",6)(25,"span"),h(26," Summary "),c()()()(),b(27,RY,2,1,"div",13),b(28,FY,8,0,"div",14),c()()),2&e){const o=$t(12),r=$t(16);f(13),m("ngForOf",i.searchFilters),f(1),m("formControl",i.filterInput)("matChipInputFor",o)("matChipInputSeparatorKeyCodes",i.separatorKeysCodes)("matChipInputAddOnBlur",!1)("matAutocomplete",r),f(3),m("ngForOf",gl(18,9,i.obsFilteredOptions)),f(10),m("ngIf",0!==i.summaryCount),f(1),m("ngIf",0===i.summaryCount)}},directives:[En,dk,ri,Td,ak,_n,Dn,ck,Xk,bn,Il,tz,_i,Et,ki,Nl,Fl,qr],pipes:[zg],styles:[".container[_ngcontent-%COMP%]{height:calc(100vh - 271px);position:relative;overflow-y:auto;background-color:#fff}.container[_ngcontent-%COMP%] .no-object-container[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.container[_ngcontent-%COMP%] .no-object-container[_ngcontent-%COMP%] .no-object-icon-container[_ngcontent-%COMP%]{padding:10px;background-color:#3367d61f;border-radius:3px;margin:20px}.container[_ngcontent-%COMP%] .no-object-container[_ngcontent-%COMP%] .no-object-message[_ngcontent-%COMP%]{width:80%;max-width:500px;text-align:center}.container[_ngcontent-%COMP%] .no-issue-container[_ngcontent-%COMP%]{width:100%;position:absolute;top:50%;display:flex;flex-direction:column;justify-content:center;align-items:center}.container[_ngcontent-%COMP%] .no-issue-container[_ngcontent-%COMP%] .no-issue-icon-container[_ngcontent-%COMP%]{padding:10px;background-color:#3367d61f;border-radius:3px;margin:20px}.container[_ngcontent-%COMP%] .no-issue-container[_ngcontent-%COMP%] .no-issue-message[_ngcontent-%COMP%]{width:80%;max-width:500px;text-align:center}h3[_ngcontent-%COMP%]{margin-bottom:0;padding-left:15px}.filter[_ngcontent-%COMP%]{display:flex;flex:1;min-height:65px;padding:0 15px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%]{display:flex;flex:1}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{order:1;position:relative;padding-top:20px;width:100px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .filter-icon[_ngcontent-%COMP%]{position:absolute;font-size:20px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{position:absolute;margin-left:30px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{order:2;width:100%}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%]{width:100%;min-height:22px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .mat-chip-input[_ngcontent-%COMP%]{width:60px;height:24px;flex:0}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .primary[_ngcontent-%COMP%]{background-color:#3f51b5;color:#fff}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .primary[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{color:#fff;opacity:.4}.filter[_ngcontent-%COMP%] .mat-form-field-underline{display:none}.filter[_ngcontent-%COMP%] .mat-chip[_ngcontent-%COMP%]{min-height:24px;font-weight:lighter}.header[_ngcontent-%COMP%]{display:flex;flex:1;padding:5px 0;background-color:#f5f5f5;text-align:center}.header[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%]{display:flex;flex:1}.header[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:60px;order:1}.header[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{flex:1;order:2}.summary-row[_ngcontent-%COMP%]{display:flex;flex:1;padding:10px 0;border-bottom:1px solid #ccc}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%]{display:flex;flex:1}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:60px;order:1;text-align:center;padding-top:5px}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%]{flex:1;order:2}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:30px;order:3;cursor:pointer}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:18px}"]}),t})();function LY(t,n){1&t&&(d(0,"th",19),h(1,"Order"),c())}function BY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.index;f(1),Pe(e+1)}}function VY(t,n){1&t&&(d(0,"th",19),h(1,"Rule name"),c())}function jY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(null==e?null:e.Name)}}function HY(t,n){1&t&&(d(0,"th",19),h(1,"Rule type"),c())}function UY(t,n){1&t&&(d(0,"div"),h(1,"Add Index"),c())}function zY(t,n){1&t&&(d(0,"div"),h(1,"Global Datatype Change"),c())}function $Y(t,n){1&t&&(d(0,"div"),h(1,"Column default max length change"),c())}function GY(t,n){1&t&&(d(0,"div"),h(1,"Add shard id column as primary key"),c())}function WY(t,n){if(1&t&&(d(0,"td",20),b(1,UY,2,0,"div",21),b(2,zY,2,0,"div",21),b(3,$Y,2,0,"div",21),b(4,GY,2,0,"div",21),c()),2&t){const e=n.$implicit;f(1),m("ngIf","add_index"===(null==e?null:e.Type)),f(1),m("ngIf","global_datatype_change"===(null==e?null:e.Type)),f(1),m("ngIf","edit_column_max_length"===(null==e?null:e.Type)),f(1),m("ngIf","add_shard_id_primary_key"===(null==e?null:e.Type))}}function qY(t,n){1&t&&(d(0,"th",19),h(1,"Object type"),c())}function KY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(null==e?null:e.ObjectType)}}function ZY(t,n){1&t&&(d(0,"th",19),h(1,"Associated object"),c())}function QY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(null==e?null:e.AssociatedObjects)}}function YY(t,n){1&t&&(d(0,"th",19),h(1,"Enabled"),c())}function XY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(null!=e&&e.Enabled?"Yes":"No")}}function JY(t,n){1&t&&(d(0,"th",19),h(1,"View Rule"),c())}function eX(t,n){if(1&t){const e=pe();d(0,"td",20)(1,"button",22),N("click",function(){const r=se(e).$implicit;return D().viewSidenavRule(null==r?null:r.Id)}),h(2,"View"),c()()}}function tX(t,n){1&t&&E(0,"tr",23)}function nX(t,n){1&t&&E(0,"tr",24)}function iX(t,n){1&t&&(d(0,"div",25)(1,"mat-icon",26),h(2,"settings"),c(),d(3,"span",27),h(4,'No rules added yet. Add one by clicking "Add rule".'),c()())}let oX=(()=>{class t{constructor(e,i){this.sidenavService=e,this.data=i,this.dataSource=[],this.currentDataSource=[],this.displayedColumns=["order","name","type","objectType","associatedObject","enabled","view"],this.currentObject=null,this.lengthOfRules=new Ae}ngOnInit(){this.dataSource=[],this.data.rule.subscribe({next:e=>{this.currentDataSource=e,this.updateRules()}})}ngOnChanges(){this.updateRules()}updateRules(){var e,i;if(this.currentDataSource){let o=[],r=[];o=this.currentDataSource.filter(s=>"global_datatype_change"===(null==s?void 0:s.Type)||"add_shard_id_primary_key"===(null==s?void 0:s.Type)||"edit_column_max_length"===(null==s?void 0:s.Type)&&"All table"===(null==s?void 0:s.AssociatedObjects)),this.currentObject&&("tableName"===(null===(e=this.currentObject)||void 0===e?void 0:e.type)||"indexName"===(null===(i=this.currentObject)||void 0===i?void 0:i.type))&&(r=this.currentDataSource.filter(s=>{var a,l,u,p;return(null==s?void 0:s.AssociatedObjects)===(null===(a=this.currentObject)||void 0===a?void 0:a.id)||(null==s?void 0:s.AssociatedObjects)===(null===(l=this.currentObject)||void 0===l?void 0:l.parentId)||(null==s?void 0:s.AssociatedObjects)===(null===(u=this.currentObject)||void 0===u?void 0:u.name)||(null==s?void 0:s.AssociatedObjects)===(null===(p=this.currentObject)||void 0===p?void 0:p.parent)}).map(s=>{var a,l;let u="";return"tableName"===(null===(a=this.currentObject)||void 0===a?void 0:a.type)?u=this.currentObject.name:"indexName"===(null===(l=this.currentObject)||void 0===l?void 0:l.type)&&(u=this.currentObject.parent),s.AssociatedObjects=u,s})),this.dataSource=[...o,...r],this.lengthOfRules.emit(this.dataSource.length)}else this.dataSource=[],this.lengthOfRules.emit(0)}openSidenav(){this.sidenavService.openSidenav(),this.sidenavService.setSidenavComponent("rule"),this.sidenavService.setSidenavRuleType(""),this.sidenavService.setRuleData({}),this.sidenavService.setDisplayRuleFlag(!1)}viewSidenavRule(e){let i=[];for(let o=0;o{class t{constructor(e,i,o,r,s,a,l){this.data=e,this.conversion=i,this.dialog=o,this.sidenav=r,this.router=s,this.clickEvent=a,this.fetch=l,this.fkData=[],this.tableData=[],this.indexData=[],this.typeMap=!1,this.defaultTypeMap=!1,this.conversionRates={},this.isLeftColumnCollapse=!1,this.isRightColumnCollapse=!0,this.isMiddleColumnCollapse=!0,this.isOfflineStatus=!1,this.spannerTree=[],this.srcTree=[],this.issuesAndSuggestionsLabel="ISSUES AND SUGGESTIONS",this.rulesLabel="RULES (0)",this.objectExplorerInitiallyRender=!1,this.srcDbName=localStorage.getItem(In.SourceDbName),this.conversionRateCount={good:0,ok:0,bad:0},this.conversionRatePercentages={good:0,ok:0,bad:0},this.currentDatabase="spanner",this.dialect="",this.currentObject=null}ngOnInit(){this.conversion.getStandardTypeToPGSQLTypemap(),this.conversion.getPGSQLToStandardTypeTypemap(),this.ddlsumconvObj=this.data.getRateTypemapAndSummary(),this.typemapObj=this.data.typeMap.subscribe(e=>{this.typeMap=e}),this.defaultTypemapObj=this.data.defaultTypeMap.subscribe(e=>{this.defaultTypeMap=e}),this.ddlObj=this.data.ddl.subscribe(e=>{this.ddlStmts=e}),this.sidenav.setMiddleColumnComponent.subscribe(e=>{this.isMiddleColumnCollapse=!e}),this.convObj=this.data.conv.subscribe(e=>{var i,o;Object.keys(e.SrcSchema).length<=0&&this.router.navigate(["/"]);const r=this.isIndexAddedOrRemoved(e);e&&this.conv&&Object.keys(null==e?void 0:e.SpSchema).length!=Object.keys(null===(i=this.conv)||void 0===i?void 0:i.SpSchema).length&&(this.conv=e,this.reRenderObjectExplorerSpanner(),this.reRenderObjectExplorerSrc()),this.conv=e,this.conv.DatabaseType&&(this.srcDbName=$p(this.conv.DatabaseType)),r&&this.conversionRates&&this.reRenderObjectExplorerSpanner(),!this.objectExplorerInitiallyRender&&this.conversionRates&&(this.reRenderObjectExplorerSpanner(),this.reRenderObjectExplorerSrc(),this.objectExplorerInitiallyRender=!0),this.currentObject&&this.currentObject.type===Qt.Table&&(this.fkData=this.currentObject?this.conversion.getFkMapping(this.currentObject.id,e):[],this.tableData=this.currentObject?this.conversion.getColumnMapping(this.currentObject.id,e):[]),this.currentObject&&(null===(o=this.currentObject)||void 0===o?void 0:o.type)===Qt.Index&&!r&&(this.indexData=this.conversion.getIndexMapping(this.currentObject.parentId,this.conv,this.currentObject.id)),this.dialect="postgresql"===this.conv.SpDialect?"PostgreSQL":"Google Standard SQL"}),this.converObj=this.data.conversionRate.subscribe(e=>{this.conversionRates=e,this.updateConversionRatePercentages(),this.conv?(this.reRenderObjectExplorerSpanner(),this.reRenderObjectExplorerSrc(),this.objectExplorerInitiallyRender=!0):this.objectExplorerInitiallyRender=!1}),this.data.isOffline.subscribe({next:e=>{this.isOfflineStatus=e}})}ngOnDestroy(){this.typemapObj.unsubscribe(),this.convObj.unsubscribe(),this.ddlObj.unsubscribe(),this.ddlsumconvObj.unsubscribe()}updateConversionRatePercentages(){let e=Object.keys(this.conversionRates).length;this.conversionRateCount={good:0,ok:0,bad:0},this.conversionRatePercentages={good:0,ok:0,bad:0};for(const i in this.conversionRates)"NONE"===this.conversionRates[i]||"EXCELLENT"===this.conversionRates[i]?this.conversionRateCount.good+=1:"GOOD"===this.conversionRates[i]||"OK"===this.conversionRates[i]?this.conversionRateCount.ok+=1:this.conversionRateCount.bad+=1;if(e>0)for(let i in this.conversionRatePercentages)this.conversionRatePercentages[i]=Number((this.conversionRateCount[i]/e*100).toFixed(2))}reRenderObjectExplorerSpanner(){this.spannerTree=this.conversion.createTreeNode(this.conv,this.conversionRates)}reRenderObjectExplorerSrc(){this.srcTree=this.conversion.createTreeNodeForSource(this.conv,this.conversionRates)}reRenderSidebar(){this.reRenderObjectExplorerSpanner()}changeCurrentObject(e){(null==e?void 0:e.type)===Qt.Table?(this.currentObject=e,this.tableData=this.currentObject?this.conversion.getColumnMapping(this.currentObject.id,this.conv):[],this.fkData=[],this.fkData=this.currentObject?this.conversion.getFkMapping(this.currentObject.id,this.conv):[]):(null==e?void 0:e.type)===Qt.Index?(this.currentObject=e,this.indexData=this.conversion.getIndexMapping(e.parentId,this.conv,e.id)):this.currentObject=null}changeCurrentDatabase(e){this.currentDatabase=e}updateIssuesLabel(e){setTimeout(()=>{this.issuesAndSuggestionsLabel=`ISSUES AND SUGGESTIONS (${e})`})}updateRulesLabel(e){setTimeout(()=>{this.rulesLabel=`RULES (${e})`})}leftColumnToggle(){this.isLeftColumnCollapse=!this.isLeftColumnCollapse}middleColumnToggle(){this.isMiddleColumnCollapse=!this.isMiddleColumnCollapse}rightColumnToggle(){this.isRightColumnCollapse=!this.isRightColumnCollapse}openAssessment(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("assessment");let e="";if(localStorage.getItem(In.Type)==mi.DirectConnect){let r=JSON.parse(localStorage.getItem(In.Config));e=(null==r?void 0:r.hostName)+" : "+(null==r?void 0:r.port)}else e=this.conv.DatabaseName;this.clickEvent.setViewAssesmentData({srcDbType:this.srcDbName,connectionDetail:e,conversionRates:this.conversionRateCount})}openSaveSessionSidenav(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("saveSession"),this.sidenav.setSidenavDatabaseName(this.conv.DatabaseName)}downloadSession(){dI(this.conv)}downloadArtifacts(){let e=new hI,i=`${this.conv.DatabaseName}`;this.fetch.getDStructuredReport().subscribe({next:o=>{let r=JSON.stringify(o).replace(/9223372036854776000/g,"9223372036854775807");e.file(i+"_migration_structuredReport.json",r),this.fetch.getDTextReport().subscribe({next:a=>{e.file(i+"_migration_textReport.txt",a),this.fetch.getDSpannerDDL().subscribe({next:l=>{e.file(i+"_spannerDDL.txt",l);let u=JSON.stringify(this.conv).replace(/9223372036854776000/g,"9223372036854775807");e.file(`${this.conv.SessionName}_${this.conv.DatabaseType}_${i}.json`,u),e.generateAsync({type:"blob"}).then(g=>{var v=document.createElement("a");v.href=URL.createObjectURL(g),v.download=`${i}_artifacts`,v.click()})}})}})}})}downloadStructuredReport(){var e=document.createElement("a");this.fetch.getDStructuredReport().subscribe({next:i=>{let o=JSON.stringify(i).replace(/9223372036854776000/g,"9223372036854775807");e.href="data:text/json;charset=utf-8,"+encodeURIComponent(o),e.download=`${this.conv.DatabaseName}_migration_structuredReport.json`,e.click()}})}downloadTextReport(){var e=document.createElement("a");this.fetch.getDTextReport().subscribe({next:i=>{e.href="data:text;charset=utf-8,"+encodeURIComponent(i),e.download=`${this.conv.DatabaseName}_migration_textReport.txt`,e.click()}})}downloadDDL(){var e=document.createElement("a");this.fetch.getDSpannerDDL().subscribe({next:i=>{e.href="data:text;charset=utf-8,"+encodeURIComponent(i),e.download=`${this.conv.DatabaseName}_spannerDDL.txt`,e.click()}})}updateSpannerTable(e){this.spannerTree=this.conversion.createTreeNode(this.conv,this.conversionRates,e.text,e.order)}updateSrcTable(e){this.srcTree=this.conversion.createTreeNodeForSource(this.conv,this.conversionRates,e.text,e.order)}isIndexAddedOrRemoved(e){if(this.conv){let i=0,o=0;return Object.entries(this.conv.SpSchema).forEach(r=>{i+=r[1].Indexes?r[1].Indexes.length:0}),Object.entries(e.SpSchema).forEach(r=>{o+=r[1].Indexes?r[1].Indexes.length:0}),i!==o}return!1}prepareMigration(){this.fetch.getTableWithErrors().subscribe({next:e=>{if(null!=e&&0!=e.length){console.log(e.map(o=>o.Name).join(", "));let i="Please fix the errors for the following tables to move ahead: "+e.map(o=>o.Name).join(", ");this.dialog.open(Vo,{data:{message:i,type:"error",title:"Error in Spanner Draft"},maxWidth:"500px"})}else this.isOfflineStatus?this.dialog.open(Vo,{data:{message:"Please configure spanner project id and instance id to proceed",type:"error",title:"Configure Spanner"},maxWidth:"500px"}):0==Object.keys(this.conv.SpSchema).length?this.dialog.open(Vo,{data:{message:"Please restore some table(s) to proceed with the migration",type:"error",title:"All tables skipped"},maxWidth:"500px"}):this.router.navigate(["/prepare-migration"])}})}spannerTab(){this.clickEvent.setTabToSpanner()}}return t.\u0275fac=function(e){return new(e||t)(_(Ln),_(Ca),_(ns),_(Ei),_(Jn),_(Bo),_(Bi))},t.\u0275cmp=Oe({type:t,selectors:[["app-workspace"]],decls:57,vars:59,consts:[[1,"header"],[1,"breadcrumb","vertical-center"],["mat-button","",1,"breadcrumb_source",3,"routerLink"],["mat-button","",1,"breadcrumb_workspace",3,"routerLink"],[1,"header_action"],["matTooltip","Connect to a spanner instance to run migration",3,"matTooltipDisabled"],["mat-button","",3,"click"],["mat-button","",3,"click",4,"ngIf"],[1,"artifactsButtons"],["mat-raised-button","","color","primary",1,"split-button-left",3,"click"],["mat-raised-button","","color","primary",1,"split-button-right",3,"matMenuTriggerFor"],["aria-hidden","false","aria-label","More options"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"click"],[1,"container"],[1,"summary"],[1,"spanner-tab-link",3,"click"],[1,"columns"],[1,"column-left",3,"ngClass"],[3,"spannerTree","srcTree","srcDbName","selectedDatabase","selectObject","updateSpannerTable","updateSrcTable","leftCollaspe","middleCollapse"],[1,"column-middle",3,"ngClass"],[3,"currentObject","tableData","indexData","typeMap","ddlStmts","fkData","currentDatabase","defaultTypeMap","updateSidebar"],[1,"column-right",3,"ngClass"],["mat-dialog-close",""],[3,"ngClass","label"],[3,"currentObject","changeIssuesLabel"],[3,"currentObject","lengthOfRules"],["id","right-column-toggle-button",3,"click"],[3,"ngClass"]],template:function(e,i){if(1&e&&(d(0,"div")(1,"div",0)(2,"div",1)(3,"a",2),h(4,"Select Source"),c(),d(5,"span"),h(6,">"),c(),d(7,"a",3)(8,"b"),h(9),c()()(),d(10,"div",4)(11,"span",5)(12,"button",6),N("click",function(){return i.prepareMigration()}),h(13," PREPARE MIGRATION "),c()(),d(14,"button",6),N("click",function(){return i.openAssessment()}),h(15,"VIEW ASSESSMENT"),c(),b(16,rX,2,0,"button",7),d(17,"span",8)(18,"button",9),N("click",function(){return i.downloadArtifacts()}),h(19," DOWNLOAD ARTIFACTS "),c(),d(20,"button",10)(21,"mat-icon",11),h(22,"expand_more"),c()(),d(23,"mat-menu",12,13)(25,"button",14),N("click",function(){return i.downloadTextReport()}),h(26,"Download Text Report"),c(),d(27,"button",14),N("click",function(){return i.downloadStructuredReport()}),h(28,"Download Structured Report"),c(),d(29,"button",14),N("click",function(){return i.downloadSession()}),h(30,"Download Session File"),c(),d(31,"button",14),N("click",function(){return i.downloadDDL()}),h(32,"Download Spanner DDL"),c()()()()(),d(33,"div",15)(34,"div",16),h(35),E(36,"br"),h(37," To make schema changes go to "),d(38,"a",17),N("click",function(){return i.spannerTab()}),h(39,"Spanner Draft"),c(),h(40," pane. "),c()(),d(41,"div",18)(42,"div",19)(43,"app-object-explorer",20),N("selectedDatabase",function(r){return i.changeCurrentDatabase(r)})("selectObject",function(r){return i.changeCurrentObject(r)})("updateSpannerTable",function(r){return i.updateSpannerTable(r)})("updateSrcTable",function(r){return i.updateSrcTable(r)})("leftCollaspe",function(){return i.leftColumnToggle()})("middleCollapse",function(){return i.middleColumnToggle()}),c()(),d(44,"div",21)(45,"app-object-detail",22),N("updateSidebar",function(){return i.reRenderSidebar()}),c()(),d(46,"div",23)(47,"mat-tab-group",24)(48,"mat-tab",25)(49,"app-summary",26),N("changeIssuesLabel",function(r){return i.updateIssuesLabel(r)}),c()(),d(50,"mat-tab",25)(51,"app-rule",27),N("lengthOfRules",function(r){return i.updateRulesLabel(r)}),c()()(),d(52,"button",28),N("click",function(){return i.rightColumnToggle()}),d(53,"mat-icon",29),h(54,"first_page"),c(),d(55,"mat-icon",29),h(56,"last_page"),c()()()()()),2&e){const o=$t(24);f(3),m("routerLink","/"),f(4),m("routerLink","/workspace"),f(2),Se("Configure Schema (",i.dialect," Dialect)"),f(2),m("matTooltipDisabled",!i.isOfflineStatus),f(5),m("ngIf",!i.isOfflineStatus),f(4),m("matMenuTriggerFor",o),f(15),Zm(" Estimation for ",i.srcDbName.toUpperCase()," to Spanner conversion: ",i.conversionRatePercentages.good,"% of tables can be converted automatically, ",i.conversionRatePercentages.ok,"% requires minimal conversion changes and ",i.conversionRatePercentages.bad,"% requires high complexity conversion changes. "),f(7),m("ngClass",Kt(32,Hd,i.isLeftColumnCollapse?"left-column-collapse":"left-column-expand")),f(1),m("spannerTree",i.spannerTree)("srcTree",i.srcTree)("srcDbName",i.srcDbName),f(1),m("ngClass",function Ew(t,n,e,i,o,r,s,a){const l=Oi()+t,u=De(),p=Mo(u,l,e,i,o,r);return Mi(u,l+4,s)||p?fr(u,l+5,a?n.call(a,e,i,o,r,s):n(e,i,o,r,s)):Mc(u,l+5)}(34,sX,i.isLeftColumnCollapse,!i.isLeftColumnCollapse,!i.isMiddleColumnCollapse,i.isRightColumnCollapse,!i.isRightColumnCollapse)),f(1),m("currentObject",i.currentObject)("tableData",i.tableData)("indexData",i.indexData)("typeMap",i.typeMap)("ddlStmts",i.ddlStmts)("fkData",i.fkData)("currentDatabase",i.currentDatabase)("defaultTypeMap",i.defaultTypeMap),f(1),m("ngClass",function Iw(t,n,e,i,o,r,s,a,l){const u=Oi()+t,p=De(),g=Mo(p,u,e,i,o,r);return Ys(p,u+4,s,a)||g?fr(p,u+6,l?n.call(l,e,i,o,r,s,a):n(e,i,o,r,s,a)):Mc(p,u+6)}(40,aX,!i.isRightColumnCollapse&&!i.isLeftColumnCollapse,!i.isRightColumnCollapse&&i.isLeftColumnCollapse,i.isRightColumnCollapse,!i.isMiddleColumnCollapse,i.isMiddleColumnCollapse,!i.isMiddleColumnCollapse)),f(2),m("ngClass",Kt(49,_I,Kt(47,Hd,i.updateIssuesLabel)))("label",i.issuesAndSuggestionsLabel),f(1),m("currentObject",i.currentObject),f(1),m("ngClass",Kt(53,_I,Kt(51,Hd,i.updateRulesLabel)))("label",i.rulesLabel),f(1),m("currentObject",i.currentObject),f(2),m("ngClass",Kt(55,Hd,i.isRightColumnCollapse?"display":"hidden")),f(2),m("ngClass",Kt(57,Hd,i.isRightColumnCollapse?"hidden":"display"))}},directives:[BM,jd,ki,Ht,Et,Nl,_n,Fl,qr,tr,Kq,SY,rv,Xi,wp,NY,oX],styles:["app-object-detail[_ngcontent-%COMP%]{height:100%}.vertical-center[_ngcontent-%COMP%]{display:flex;align-items:center}.columns[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:100%;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3;height:calc(100vh - 222px)}.artifactsButtons[_ngcontent-%COMP%]{white-space:nowrap}.container[_ngcontent-%COMP%]{padding:7px 20px;margin-bottom:20px}.container[_ngcontent-%COMP%] .summary[_ngcontent-%COMP%]{font-weight:lighter}.container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 5px}.column-left[_ngcontent-%COMP%]{overflow:auto}.column-middle[_ngcontent-%COMP%]{width:48%;border-left:1px solid #d3d3d3;border-right:1px solid #d3d3d3;overflow:auto}.column-right[_ngcontent-%COMP%]{width:26%;position:relative;overflow:auto}.left-column-collapse[_ngcontent-%COMP%]{width:3%}.left-column-expand[_ngcontent-%COMP%]{width:26%}.middle-column-collapse[_ngcontent-%COMP%]{width:48%}.middle-column-expand[_ngcontent-%COMP%]{width:71%}.right-column-half-expand[_ngcontent-%COMP%]{width:80%}.right-column-collapse[_ngcontent-%COMP%]{width:26%}.right-column-full-expand[_ngcontent-%COMP%]{width:97%}.middle-column-hide[_ngcontent-%COMP%]{width:0%}.middle-column-full[_ngcontent-%COMP%]{width:100%}#right-column-toggle-button[_ngcontent-%COMP%]{border:none;background-color:inherit;position:absolute;top:10px;right:7px;z-index:100}#right-column-toggle-button[_ngcontent-%COMP%]:hover{cursor:pointer} .column-right .mat-tab-label .mat-tab-label-content{font-size:.8rem} .column-right .mat-tab-label{min-width:25px!important;padding:10px} .column-right .mat-tab-label.mat-tab-label-active{min-width:25px!important;padding:7px} .column-right .mat-tab-label-container{margin-right:40px} .column-right .mat-tab-header-pagination-controls-enabled .mat-tab-label-container{margin-right:0} .column-right .mat-tab-header-pagination-after{margin-right:40px}.split-button-left[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none;padding-right:1px}.split-button-right[_ngcontent-%COMP%]{box-shadow:none;width:30px!important;min-width:unset!important;padding:0 2px;border-top-left-radius:0;border-bottom-left-radius:0;margin-right:7px}"]}),t})(),cX=(()=>{class t{constructor(e,i,o){this.formBuilder=e,this.dialogRef=i,this.data=o,this.region="",this.spannerInstance="",this.dialect="",this.region=o.Region,this.spannerInstance=o.Instance,this.dialect=o.Dialect,this.targetDetailsForm=this.formBuilder.group({targetDb:["",de.required]}),this.targetDetailsForm.setValue({targetDb:localStorage.getItem(Wt.TargetDB)})}ngOnInit(){}updateTargetDetails(){let e=this.targetDetailsForm.value;localStorage.setItem(Wt.TargetDB,e.targetDb),localStorage.setItem(Wt.Dialect,e.dialect),localStorage.setItem(le.IsTargetDetailSet,"true"),this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(_(Ts),_(Ti),_(Yi))},t.\u0275cmp=Oe({type:t,selectors:[["app-target-details-form"]],decls:30,vars:5,consts:[["mat-dialog-content",""],[1,"target-detail-form",3,"formGroup"],["matTooltip","Schema & Schema and data migration: Specify new database name or existing database with empty schema. Data migration: Specify existing database with tables already created",1,"configure"],["appearance","outline",1,"full-width"],["matInput","","placeholder","Target Database","type","text","formControlName","targetDb","ng-value","targetDetails.TargetDB"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Spanner Database Details"),d(4,"mat-icon",2),h(5," info"),c()(),d(6,"mat-form-field",3)(7,"mat-label"),h(8,"Spanner Database"),c(),E(9,"input",4),c(),E(10,"br")(11,"br"),d(12,"b"),h(13,"Region:"),c(),h(14),E(15,"br")(16,"br"),d(17,"b"),h(18,"Spanner Instance:"),c(),h(19),E(20,"br")(21,"br"),d(22,"b"),h(23,"Dialect:"),c(),h(24),c(),d(25,"div",5)(26,"button",6),h(27,"Cancel"),c(),d(28,"button",7),N("click",function(){return i.updateTargetDetails()}),h(29," Save "),c()()()),2&e&&(f(1),m("formGroup",i.targetDetailsForm),f(13),Se(" ",i.region," "),f(5),Se(" ",i.spannerInstance," "),f(5),Se(" ",i.dialect," "),f(4),m("disabled",!i.targetDetailsForm.valid))},directives:[wr,xi,Hn,Sn,_n,ki,En,Mn,li,Dn,bn,Xn,Dr,Ht,Xi],styles:[""]}),t})();function uX(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",10),N("change",function(){const r=se(e).$implicit;return D().onItemChange(r.value)}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function hX(t,n){if(1&t&&(d(0,"mat-option",14),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayName),f(1),Se(" ",e.DisplayName," ")}}function pX(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",11)(2,"mat-label"),h(3,"Select connection profile"),c(),d(4,"mat-select",12),b(5,hX,2,2,"mat-option",13),c()()()),2&t){const e=D();f(5),m("ngForOf",e.profileList)}}function fX(t,n){1&t&&(d(0,"div")(1,"mat-form-field",15)(2,"mat-label"),h(3,"Connection profile name"),c(),E(4,"input",16),c()())}function mX(t,n){1&t&&(d(0,"div")(1,"mat-form-field",11)(2,"mat-label"),h(3,"Replication slot"),c(),E(4,"input",17),c(),E(5,"br"),d(6,"mat-form-field",11)(7,"mat-label"),h(8,"Publication name"),c(),E(9,"input",18),c()())}function gX(t,n){if(1&t&&(d(0,"li",24)(1,"span",25),h(2),c(),d(3,"span")(4,"mat-icon",26),h(5,"file_copy"),c()()()),2&t){const e=n.$implicit;f(2),Pe(e),f(2),m("cdkCopyToClipboard",e)}}function _X(t,n){if(1&t&&(d(0,"div",27)(1,"span",25),h(2,"Test connection failed"),c(),d(3,"mat-icon",28),h(4," error "),c()()),2&t){const e=D(3);f(3),m("matTooltip",e.errorMsg)}}function bX(t,n){1&t&&(d(0,"mat-icon",29),h(1," check_circle "),c())}function vX(t,n){if(1&t){const e=pe();d(0,"div")(1,"div")(2,"b"),h(3,"Copy the public IPs below, and use them to configure the network firewall to accept connections from them."),c(),d(4,"a",19),h(5,"Learn More"),c()(),E(6,"br"),b(7,gX,6,2,"li",20),b(8,_X,5,1,"div",21),E(9,"br"),d(10,"button",22),N("click",function(){return se(e),D(2).testConnection()}),h(11,"Test Connection"),c(),b(12,bX,2,0,"mat-icon",23),c()}if(2&t){const e=D(2);f(7),m("ngForOf",e.ipList),f(1),m("ngIf",!e.testSuccess&&""!=e.errorMsg),f(2),m("disabled",!e.connectionProfileForm.valid),f(2),m("ngIf",e.testSuccess)}}function yX(t,n){if(1&t&&(d(0,"div"),b(1,vX,13,4,"div",6),c()),2&t){const e=D();f(1),m("ngIf",e.isSource)}}let CX=(()=>{class t{constructor(e,i,o,r,s){var a,l;this.fetch=e,this.snack=i,this.formBuilder=o,this.dialogRef=r,this.data=s,this.selectedProfile="",this.profileType="Source",this.profileList=[],this.ipList=[],this.selectedOption="new",this.profileOptions=[{value:"new",display:"Create a new connection profile"},{value:"existing",display:"Choose an existing connection profile"}],this.profileName="",this.errorMsg="",this.isSource=!1,this.sourceDatabaseType="",this.testSuccess=!1,this.testingSourceConnection=!1,this.isSource=s.IsSource,this.sourceDatabaseType=s.SourceDatabaseType,this.isSource||(this.profileType="Target"),this.connectionProfileForm=this.formBuilder.group({profileOption:["",de.required],newProfile:["",[de.pattern("^[a-z][a-z0-9-]{0,59}$")]],existingProfile:[],replicationSlot:[],publication:[]}),"postgres"==this.sourceDatabaseType&&this.isSource&&(null===(a=this.connectionProfileForm.get("replicationSlot"))||void 0===a||a.addValidators([de.required]),this.connectionProfileForm.controls.replicationSlot.updateValueAndValidity(),null===(l=this.connectionProfileForm.get("publication"))||void 0===l||l.addValidators([de.required]),this.connectionProfileForm.controls.publication.updateValueAndValidity()),this.getConnectionProfilesAndIps()}onItemChange(e){var i,o;this.selectedOption=e,"new"==this.selectedOption?(null===(i=this.connectionProfileForm.get("newProfile"))||void 0===i||i.setValidators([de.required]),this.connectionProfileForm.controls.existingProfile.clearValidators(),this.connectionProfileForm.controls.newProfile.updateValueAndValidity(),this.connectionProfileForm.controls.existingProfile.updateValueAndValidity()):(this.connectionProfileForm.controls.newProfile.clearValidators(),null===(o=this.connectionProfileForm.get("existingProfile"))||void 0===o||o.addValidators([de.required]),this.connectionProfileForm.controls.newProfile.updateValueAndValidity(),this.connectionProfileForm.controls.existingProfile.updateValueAndValidity())}testConnection(){this.testingSourceConnection=!0,this.fetch.createConnectionProfile({Id:this.connectionProfileForm.value.newProfile,IsSource:this.isSource,ValidateOnly:!0}).subscribe({next:()=>{this.testingSourceConnection=!1,this.testSuccess=!0},error:o=>{this.testingSourceConnection=!1,this.testSuccess=!1,this.errorMsg=o.error}})}createConnectionProfile(){let e=this.connectionProfileForm.value;this.isSource&&(localStorage.setItem(Wt.ReplicationSlot,e.replicationSlot),localStorage.setItem(Wt.Publication,e.publication)),"new"===this.selectedOption?this.fetch.createConnectionProfile({Id:e.newProfile,IsSource:this.isSource,ValidateOnly:!1}).subscribe({next:()=>{this.isSource?(localStorage.setItem(le.IsSourceConnectionProfileSet,"true"),localStorage.setItem(Wt.SourceConnProfile,e.newProfile)):(localStorage.setItem(le.IsTargetConnectionProfileSet,"true"),localStorage.setItem(Wt.TargetConnProfile,e.newProfile)),this.dialogRef.close()},error:o=>{this.snack.openSnackBar(o.error,"Close"),this.dialogRef.close()}}):(this.isSource?(localStorage.setItem(le.IsSourceConnectionProfileSet,"true"),localStorage.setItem(Wt.SourceConnProfile,e.existingProfile)):(localStorage.setItem(le.IsTargetConnectionProfileSet,"true"),localStorage.setItem(Wt.TargetConnProfile,e.existingProfile)),this.dialogRef.close())}ngOnInit(){}getConnectionProfilesAndIps(){this.fetch.getConnectionProfiles(this.isSource).subscribe({next:e=>{this.profileList=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}}),this.isSource&&this.fetch.getStaticIps().subscribe({next:e=>{this.ipList=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}}return t.\u0275fac=function(e){return new(e||t)(_(Bi),_(Lo),_(Ts),_(Ti),_(Yi))},t.\u0275cmp=Oe({type:t,selectors:[["app-connection-profile-form"]],decls:19,vars:9,consts:[["mat-dialog-content",""],[1,"conn-profile-form",3,"formGroup"],[1,"mat-h3","header-title"],[1,"radio-button-container"],["formControlName","profileOption",3,"ngModel","ngModelChange"],[3,"value","change",4,"ngFor","ngForOf"],[4,"ngIf"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[3,"value","change"],["appearance","outline"],["formControlName","existingProfile","required","true","ng-value","selectedProfile",1,"input-field"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["appearance","outline","hintLabel","Name can include lower case letters, numbers and hyphens. Must start with a letter."],["matInput","","placeholder","Connection profile name","type","text","formControlName","newProfile","required","true"],["matInput","","placeholder","Replication slot","type","text","formControlName","replicationSlot","required","true"],["matInput","","placeholder","Publication name","type","text","formControlName","publication","required","true"],["href","https://cloud.google.com/datastream/docs/network-connectivity-options#ipallowlists"],["class","connection-form-container",4,"ngFor","ngForOf"],["class","failure",4,"ngIf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["class","success","matTooltip","Test connection successful","matTooltipPosition","above",4,"ngIf"],[1,"connection-form-container"],[1,"left-text"],["matTooltip","Copy",1,"icon","copy",3,"cdkCopyToClipboard"],[1,"failure"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"],["matTooltip","Test connection successful","matTooltipPosition","above",1,"success"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"span",2),h(3),c(),E(4,"br"),d(5,"div",3)(6,"mat-radio-group",4),N("ngModelChange",function(r){return i.selectedOption=r}),b(7,uX,2,2,"mat-radio-button",5),c()(),E(8,"br"),b(9,pX,6,1,"div",6),b(10,fX,5,0,"div",6),E(11,"br"),b(12,mX,10,0,"div",6),b(13,yX,2,1,"div",6),d(14,"div",7)(15,"button",8),h(16,"Cancel"),c(),d(17,"button",9),N("click",function(){return i.createConnectionProfile()}),h(18," Save "),c()()()()),2&e&&(f(1),m("formGroup",i.connectionProfileForm),f(2),Se("",i.profileType," Connection Profile"),f(3),m("ngModel",i.selectedOption),f(1),m("ngForOf",i.profileOptions),f(2),m("ngIf","existing"===i.selectedOption),f(1),m("ngIf","new"===i.selectedOption),f(2),m("ngIf",i.isSource&&"postgres"==i.sourceDatabaseType),f(1),m("ngIf","new"===i.selectedOption),f(4),m("disabled",!i.connectionProfileForm.valid||!i.testSuccess&&"new"===i.selectedOption&&i.isSource))},directives:[wr,xi,Hn,Sn,xp,bn,Xn,ri,Tp,Et,En,Mn,Qi,po,_i,li,Dn,_n,ki,fv,Ht,Dr,Xi],styles:[".icon[_ngcontent-%COMP%]{font-size:15px}.connection-form-container[_ngcontent-%COMP%]{display:block}.left-text[_ngcontent-%COMP%]{width:40%;display:inline-block}"]}),t})();function wX(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",6),N("change",function(){const r=se(e).$implicit;return D().onItemChange(r.value)}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function DX(t,n){1&t&&E(0,"mat-spinner",19),2&t&&m("diameter",25)}function SX(t,n){1&t&&(d(0,"mat-icon",20),h(1,"check_circle"),c())}function MX(t,n){1&t&&(d(0,"mat-icon",21),h(1,"cancel"),c())}function xX(t,n){if(1&t&&(d(0,"div",22)(1,"span",23),h(2,"Source database connection failed"),c(),d(3,"mat-icon",24),h(4," error "),c()()),2&t){const e=D(2);f(3),m("matTooltip",e.errorMsg)}}function TX(t,n){if(1&t){const e=pe();d(0,"div")(1,"form",7),N("ngSubmit",function(){return se(e),D().setSourceDBDetailsForDump()}),d(2,"h4",8),h(3,"Load from database dump"),c(),h(4," Dump File "),d(5,"mat-form-field",9)(6,"mat-label"),h(7,"File path"),c(),d(8,"input",10),N("click",function(){return se(e),$t(13).click()}),c(),b(9,DX,1,1,"mat-spinner",11),b(10,SX,2,0,"mat-icon",12),b(11,MX,2,0,"mat-icon",13),c(),d(12,"input",14,15),N("change",function(o){return se(e),D().handleFileInput(o)}),c(),E(14,"br"),d(15,"button",16),h(16,"CANCEL"),c(),d(17,"button",17),h(18," SAVE "),c(),b(19,xX,5,1,"div",18),c()()}if(2&t){const e=D();f(1),m("formGroup",e.dumpFileForm),f(8),m("ngIf",e.uploadStart&&!e.uploadSuccess&&!e.uploadFail),f(1),m("ngIf",e.uploadStart&&e.uploadSuccess),f(1),m("ngIf",e.uploadStart&&e.uploadFail),f(6),m("disabled",!e.dumpFileForm.valid||!e.uploadSuccess),f(2),m("ngIf",""!=e.errorMsg)}}function kX(t,n){if(1&t&&(d(0,"div",22)(1,"span",23),h(2,"Source database connection failed"),c(),d(3,"mat-icon",24),h(4," error "),c()()),2&t){const e=D(2);f(3),m("matTooltip",e.errorMsg)}}function EX(t,n){if(1&t){const e=pe();d(0,"div")(1,"form",7),N("ngSubmit",function(){return se(e),D().setSourceDBDetailsForDirectConnect()}),d(2,"h4",8),h(3,"Connect to Source Database"),c(),h(4," Connection Detail "),d(5,"mat-form-field",25)(6,"mat-label"),h(7,"Hostname"),c(),E(8,"input",26),c(),d(9,"mat-form-field",25)(10,"mat-label"),h(11,"Port"),c(),E(12,"input",27),d(13,"mat-error"),h(14," Only numbers are allowed. "),c()(),E(15,"br"),d(16,"mat-form-field",25)(17,"mat-label"),h(18,"User name"),c(),E(19,"input",28),c(),d(20,"mat-form-field",25)(21,"mat-label"),h(22,"Password"),c(),E(23,"input",29),c(),E(24,"br"),d(25,"mat-form-field",25)(26,"mat-label"),h(27,"Database Name"),c(),E(28,"input",30),c(),E(29,"br"),d(30,"button",16),h(31,"CANCEL"),c(),d(32,"button",17),h(33," SAVE "),c(),b(34,kX,5,1,"div",18),c()()}if(2&t){const e=D();f(1),m("formGroup",e.directConnectForm),f(31),m("disabled",!e.directConnectForm.valid),f(2),m("ngIf",""!=e.errorMsg)}}let IX=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.dataService=i,this.snack=o,this.dialogRef=r,this.data=s,this.inputOptions=[{value:mi.DumpFile,display:"Connect via dump file"},{value:mi.DirectConnect,display:"Connect via direct connection"}],this.selectedOption=mi.DirectConnect,this.sourceDatabaseEngine="",this.errorMsg="",this.fileToUpload=null,this.uploadStart=!1,this.uploadSuccess=!1,this.uploadFail=!1,this.dumpFileForm=new an({filePath:new X("",[de.required])}),this.directConnectForm=new an({hostName:new X("",[de.required]),port:new X("",[de.required]),userName:new X("",[de.required]),dbName:new X("",[de.required]),password:new X("")}),this.sourceDatabaseEngine=s}ngOnInit(){}setSourceDBDetailsForDump(){const{filePath:e}=this.dumpFileForm.value;this.fetch.setSourceDBDetailsForDump({Driver:this.sourceDatabaseEngine,Path:e}).subscribe({next:()=>{localStorage.setItem(le.IsSourceDetailsSet,"true"),this.dialogRef.close()},error:o=>{this.errorMsg=o.error}})}setSourceDBDetailsForDirectConnect(){const{hostName:e,port:i,userName:o,password:r,dbName:s}=this.directConnectForm.value;this.fetch.setSourceDBDetailsForDirectConnect({dbEngine:this.sourceDatabaseEngine,isSharded:!1,hostName:e,port:i,userName:o,password:r,dbName:s}).subscribe({next:()=>{localStorage.setItem(le.IsSourceDetailsSet,"true"),this.dialogRef.close()},error:l=>{this.errorMsg=l.error}})}handleFileInput(e){var i;let o=e.target.files;o&&(this.fileToUpload=o.item(0),this.dumpFileForm.patchValue({filePath:null===(i=this.fileToUpload)||void 0===i?void 0:i.name}),this.fileToUpload&&this.uploadFile())}uploadFile(){var e;if(this.fileToUpload){this.uploadStart=!0,this.uploadFail=!1,this.uploadSuccess=!1;const i=new FormData;i.append("myFile",this.fileToUpload,null===(e=this.fileToUpload)||void 0===e?void 0:e.name),this.dataService.uploadFile(i).subscribe(o=>{""==o?this.uploadSuccess=!0:this.uploadFail=!0})}}onItemChange(e){this.selectedOption=e,this.errorMsg=""}}return t.\u0275fac=function(e){return new(e||t)(_(Bi),_(Ln),_(Lo),_(Ti),_(Yi))},t.\u0275cmp=Oe({type:t,selectors:[["app-source-details-form"]],decls:7,vars:4,consts:[[1,"radio-button-container"],[1,"radio-button-group",3,"ngModel","ngModelChange"],[3,"value","change",4,"ngFor","ngForOf"],[1,"connect-load-database-container"],[1,"form-container"],[4,"ngIf"],[3,"value","change"],[3,"formGroup","ngSubmit"],[1,"primary-header"],["appearance","outline"],["matInput","","placeholder","File path","name","filePath","type","text","formControlName","filePath","readonly","",3,"click"],["matSuffix","",3,"diameter",4,"ngIf"],["matSuffix","","class","success",4,"ngIf"],["matSuffix","","class","danger",4,"ngIf"],["hidden","","type","file",3,"change"],["file",""],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","type","submit","color","primary",3,"disabled"],["class","failure",4,"ngIf"],["matSuffix","",3,"diameter"],["matSuffix","",1,"success"],["matSuffix","",1,"danger"],[1,"failure"],[1,"left-text"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"],["appearance","outline",1,"full-width"],["matInput","","placeholder","127.0.0.1","name","hostName","type","text","formControlName","hostName"],["matInput","","placeholder","3306","name","port","type","text","formControlName","port"],["matInput","","placeholder","root","name","userName","type","text","formControlName","userName"],["matInput","","name","password","type","password","formControlName","password"],["matInput","","name","dbname","type","text","formControlName","dbName"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-radio-group",1),N("ngModelChange",function(r){return i.selectedOption=r}),b(2,wX,2,2,"mat-radio-button",2),c()(),d(3,"div",3)(4,"div",4),b(5,TX,20,6,"div",5),b(6,EX,35,3,"div",5),c()()),2&e&&(f(1),m("ngModel",i.selectedOption),f(1),m("ngForOf",i.inputOptions),f(3),m("ngIf","dumpFile"===i.selectedOption),f(1),m("ngIf","directConnect"===i.selectedOption))},directives:[xp,bn,El,ri,Tp,Et,xi,Hn,Sn,En,Mn,li,Dn,Xn,Ji,Ab,_n,Ht,Xi,ki,Ob],styles:[""]}),t})();function OX(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",6),E(3,"mat-spinner",7),c(),d(4,"span",8),h(5,"Cleaning up resources"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}let AX=(()=>{class t{constructor(e,i,o,r){this.data=e,this.fetch=i,this.snack=o,this.dialogRef=r,this.sourceAndTargetDetails={SpannerDatabaseName:"",SpannerDatabaseUrl:"",SourceDatabaseName:"",SourceDatabaseType:""},this.cleaningUp=!1,this.sourceAndTargetDetails={SourceDatabaseName:e.SourceDatabaseName,SourceDatabaseType:e.SourceDatabaseType,SpannerDatabaseName:e.SpannerDatabaseName,SpannerDatabaseUrl:e.SpannerDatabaseUrl}}ngOnInit(){}cleanUpJobs(){this.cleaningUp=!0,this.fetch.cleanUpStreamingJobs().subscribe({next:()=>{this.cleaningUp=!1,this.snack.openSnackBar("Dataflow and datastream jobs will be cleaned up","Close"),this.dialogRef.close()},error:e=>{this.cleaningUp=!1,this.snack.openSnackBar(e.error,"Close")}})}}return t.\u0275fac=function(e){return new(e||t)(_(Yi),_(Bi),_(Lo),_(Ti))},t.\u0275cmp=Oe({type:t,selectors:[["app-end-migration"]],decls:45,vars:7,consts:[["target","_blank",3,"href"],["href","https://github.com/GoogleCloudPlatform/professional-services-data-validator","target","_blank"],[4,"ngIf"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close","",3,"disabled"],["mat-raised-button","","color","primary",3,"disabled","click"],[1,"spinner"],[3,"diameter"],[1,"spinner-small-text"]],template:function(e,i){1&e&&(d(0,"h2"),h(1,"End Migration"),c(),d(2,"div")(3,"b"),h(4,"Source database:"),c(),h(5),E(6,"br"),d(7,"b"),h(8,"Spanner database:"),c(),d(9,"a",0),h(10),c()(),E(11,"br"),d(12,"div")(13,"b"),h(14,"Please follow these steps to complete the migration:"),c(),d(15,"ol")(16,"li"),h(17,"Validate that the schema has been created on Spanner as per the configuration"),c(),d(18,"li"),h(19,"Validate the data has been copied from the Source to Spanner. You can use the "),d(20,"a",1),h(21,"Data Validation Tool"),c(),h(22," to help with this process."),c(),d(23,"li"),h(24,"Stop the writes to the source database. "),d(25,"b"),h(26,"This will initiate a period of downtime."),c()(),d(27,"li"),h(28,"Wait for any incremental writes on source since the validation started on Spanner to catch up with the source. This can be done by periodically checking the Spanner Database for the most recent updates on source."),c(),d(29,"li"),h(30,"Once the Source and Spanner are in sync, start the application with Spanner as the Database."),c(),d(31,"li"),h(32,"Perform smoke tests on your application to ensure it is working properly on Spanner"),c(),d(33,"li"),h(34,"Cutover the traffic to the application with Spanner as the Database. "),d(35,"b"),h(36,"This marks the end of the period of downtime"),c()(),d(37,"li"),h(38,"Cleanup the migration jobs by clicking the button below."),c()()(),b(39,OX,7,1,"div",2),d(40,"div",3)(41,"button",4),h(42,"Cancel"),c(),d(43,"button",5),N("click",function(){return i.cleanUpJobs()}),h(44,"Clean Up"),c()()),2&e&&(f(5),dl(" ",i.sourceAndTargetDetails.SourceDatabaseName,"(",i.sourceAndTargetDetails.SourceDatabaseType,") "),f(4),m("href",i.sourceAndTargetDetails.SpannerDatabaseUrl,ur),f(1),Pe(i.sourceAndTargetDetails.SpannerDatabaseName),f(29),m("ngIf",i.cleaningUp),f(2),m("disabled",i.cleaningUp),f(2),m("disabled",i.cleaningUp))},directives:[Et,Ji,Dr,Ht,Xi],styles:[""]}),t})(),PX=(()=>{class t{constructor(e,i){this.data=e,this.dialofRef=i,this.dataflowForm=new an({network:new X(""),subnetwork:new X(""),numWorkers:new X("1",[de.required,de.pattern("^[1-9][0-9]*$")]),maxWorkers:new X("50",[de.required,de.pattern("^[1-9][0-9]*$")]),serviceAccountEmail:new X(""),hostProjectId:new X(e.GCPProjectID,de.required)})}ngOnInit(){}updateDataflowDetails(){let e=this.dataflowForm.value;localStorage.setItem("network",e.network),localStorage.setItem("subnetwork",e.subnetwork),localStorage.setItem("hostProjectId",e.hostProjectId),localStorage.setItem("maxWorkers",e.maxWorkers),localStorage.setItem("numWorkers",e.numWorkers),localStorage.setItem("serviceAccountEmail",e.serviceAccountEmail),localStorage.setItem("isDataflowConfigSet","true"),this.dialofRef.close()}}return t.\u0275fac=function(e){return new(e||t)(_(Yi),_(Ti))},t.\u0275cmp=Oe({type:t,selectors:[["app-dataflow-form"]],decls:38,vars:6,consts:[["mat-dialog-content",""],[1,"dataflow-form",3,"formGroup"],["appearance","outline","matTooltip","Edit to run Dataflow in a shared VPC","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","Host ProjectID","type","text","formControlName","hostProjectId"],["appearance","outline",1,"full-width"],["matInput","","placeholder","VPC Network Name","type","text","formControlName","network"],["matInput","","placeholder","VPC Subnetwork Name","type","text","formControlName","subnetwork"],["appearance","outline","matTooltip","Set maximum workers for the dataflow job(s). Default value: 50","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","50","type","text","formControlName","maxWorkers"],["appearance","outline","matTooltip","Set initial number of workers for the dataflow job(s). Default value: 1","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","1","type","text","formControlName","numWorkers"],["appearance","outline","matTooltip","Set the service account to run the dataflow job(s) as","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","Service Account Email","type","text","formControlName","serviceAccountEmail"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Dataflow Details"),c(),d(4,"mat-form-field",2)(5,"mat-label"),h(6,"Host ProjectID"),c(),E(7,"input",3),c(),E(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"VPC Network"),c(),E(12,"input",5),c(),E(13,"br"),d(14,"mat-form-field",4)(15,"mat-label"),h(16,"VPC Subnetwork"),c(),E(17,"input",6),c(),E(18,"br"),d(19,"mat-form-field",7)(20,"mat-label"),h(21,"Max Workers"),c(),E(22,"input",8),c(),E(23,"br"),d(24,"mat-form-field",9)(25,"mat-label"),h(26,"Number of Workers"),c(),E(27,"input",10),c(),E(28,"br"),d(29,"mat-form-field",11)(30,"mat-label"),h(31,"Service Account Email"),c(),E(32,"input",12),c()(),d(33,"div",13)(34,"button",14),h(35,"Cancel"),c(),d(36,"button",15),N("click",function(){return i.updateDataflowDetails()}),h(37," Save "),c()()()),2&e&&(f(1),m("formGroup",i.dataflowForm),f(3),m("matTooltipPosition","right"),f(15),m("matTooltipPosition","right"),f(5),m("matTooltipPosition","right"),f(5),m("matTooltipPosition","right"),f(7),m("disabled",!i.dataflowForm.valid))},directives:[wr,xi,Hn,Sn,En,ki,Mn,li,Dn,bn,Xn,Dr,Ht,Xi],styles:[""]}),t})(),RX=(()=>{class t{constructor(e,i){this.data=e,this.dialofRef=i,this.gcloudCmd=e}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(_(Yi),_(Ti))},t.\u0275cmp=Oe({type:t,selectors:[["app-equivalent-gcloud-command"]],decls:12,vars:2,consts:[["mat-dialog-content",""],["matTooltip","This is the gcloud command to launch the dataflow job with the same parameters. Can be used to re-run a dataflow job manually in case of failure.",1,"configure"],[1,"left-text"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","color","primary",3,"cdkCopyToClipboard"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h2"),h(2,"Equivalent gcloud command line"),d(3,"mat-icon",1),h(4," info"),c()(),d(5,"span",2),h(6),c(),d(7,"div",3)(8,"button",4),h(9,"Close"),c(),d(10,"button",5),h(11,"Copy"),c()()()),2&e&&(f(6),Pe(i.gcloudCmd),f(4),m("cdkCopyToClipboard",i.gcloudCmd))},directives:[wr,_n,ki,Dr,Ht,Xi,fv],styles:[""]}),t})();function FX(t,n){if(1&t&&(d(0,"mat-option",14),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function NX(t,n){1&t&&(d(0,"div",15)(1,"mat-form-field",4)(2,"mat-label"),h(3,"Paste JSON Configuration"),c(),E(4,"textarea",16,17),c()())}function LX(t,n){1&t&&(d(0,"div",18)(1,"mat-form-field",19)(2,"mat-label"),h(3,"Hostname"),c(),E(4,"input",20),c(),d(5,"mat-form-field",19)(6,"mat-label"),h(7,"Port"),c(),E(8,"input",21),d(9,"mat-error"),h(10," Only numbers are allowed. "),c()(),E(11,"br"),d(12,"mat-form-field",19)(13,"mat-label"),h(14,"User name"),c(),E(15,"input",22),c(),d(16,"mat-form-field",19)(17,"mat-label"),h(18,"Password"),c(),E(19,"input",23),c(),E(20,"br"),d(21,"mat-form-field",19)(22,"mat-label"),h(23,"Database Name"),c(),E(24,"input",24),c(),E(25,"br"),d(26,"mat-form-field",19)(27,"mat-label"),h(28,"Shard ID"),c(),E(29,"input",25),c(),E(30,"br"),c())}function BX(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D().saveDetailsAndReset()}),h(1," ADD MORE SHARDS "),c()}2&t&&m("disabled",D().directConnectForm.invalid)}function VX(t,n){if(1&t&&(d(0,"div",27)(1,"span",28),h(2),c(),d(3,"mat-icon",29),h(4," error "),c()()),2&t){const e=D();f(2),Pe(e.errorMsg),f(1),m("matTooltip",e.errorMsg)}}let jX=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.snack=i,this.dataService=o,this.dialogRef=r,this.data=s,this.errorMsg="",this.shardConnDetailsList=[],this.sourceConnDetails={dbConfigs:[],isRestoredSession:""},this.shardSessionDetails={sourceDatabaseEngine:"",isRestoredSession:""},this.inputOptionsList=[{value:"text",displayName:"Text"},{value:"form",displayName:"Form"}],this.shardSessionDetails={sourceDatabaseEngine:s.sourceDatabaseEngine,isRestoredSession:s.isRestoredSession};let a={dbEngine:"",isSharded:!1,hostName:"",port:"",userName:"",password:"",dbName:""};localStorage.getItem(In.Type)==mi.DirectConnect&&null!=localStorage.getItem(In.Config)&&(a=JSON.parse(localStorage.getItem(In.Config))),this.directConnectForm=new an({inputType:new X("form",[de.required]),textInput:new X(""),hostName:new X(a.hostName,[de.required]),port:new X(a.port,[de.required]),userName:new X(a.userName,[de.required]),dbName:new X(a.dbName,[de.required]),password:new X(a.password),shardId:new X("",[de.required])})}ngOnInit(){this.initFromLocalStorage()}initFromLocalStorage(){}setValidators(e){var i,o,r,s,a,l,u,p,g;if("text"==e){for(const v in this.directConnectForm.controls)null===(i=this.directConnectForm.get(v))||void 0===i||i.clearValidators(),null===(o=this.directConnectForm.get(v))||void 0===o||o.updateValueAndValidity();null===(r=this.directConnectForm.get("textInput"))||void 0===r||r.setValidators([de.required]),this.directConnectForm.controls.textInput.updateValueAndValidity()}else null===(s=this.directConnectForm.get("hostName"))||void 0===s||s.setValidators([de.required]),this.directConnectForm.controls.hostName.updateValueAndValidity(),null===(a=this.directConnectForm.get("port"))||void 0===a||a.setValidators([de.required]),this.directConnectForm.controls.port.updateValueAndValidity(),null===(l=this.directConnectForm.get("userName"))||void 0===l||l.setValidators([de.required]),this.directConnectForm.controls.userName.updateValueAndValidity(),null===(u=this.directConnectForm.get("dbName"))||void 0===u||u.setValidators([de.required]),this.directConnectForm.controls.dbName.updateValueAndValidity(),null===(p=this.directConnectForm.get("password"))||void 0===p||p.setValidators([de.required]),this.directConnectForm.controls.password.updateValueAndValidity(),null===(g=this.directConnectForm.get("shardId"))||void 0===g||g.setValidators([de.required]),this.directConnectForm.controls.shardId.updateValueAndValidity(),this.directConnectForm.controls.textInput.clearValidators(),this.directConnectForm.controls.textInput.updateValueAndValidity()}determineFormValidity(){return this.shardConnDetailsList.length>0||!!this.directConnectForm.valid}saveDetailsAndReset(){const{hostName:e,port:i,userName:o,password:r,dbName:s,shardId:a}=this.directConnectForm.value;this.shardConnDetailsList.push({dbEngine:this.shardSessionDetails.sourceDatabaseEngine,isSharded:!1,hostName:e,port:i,userName:o,password:r,dbName:s,shardId:a}),this.directConnectForm=new an({inputType:new X("form",de.required),textInput:new X(""),hostName:new X(""),port:new X(""),userName:new X(""),dbName:new X(""),password:new X(""),shardId:new X("")}),this.setValidators("form"),this.snack.openSnackBar("Shard configured successfully, please configure the next","Close",5)}finalizeConnDetails(){if("form"===this.directConnectForm.value.inputType){const{hostName:i,port:o,userName:r,password:s,dbName:a,shardId:l}=this.directConnectForm.value;this.shardConnDetailsList.push({dbEngine:this.shardSessionDetails.sourceDatabaseEngine,isSharded:!1,hostName:i,port:o,userName:r,password:s,dbName:a,shardId:l}),this.sourceConnDetails.dbConfigs=this.shardConnDetailsList}else{try{this.sourceConnDetails.dbConfigs=JSON.parse(this.directConnectForm.value.textInput)}catch(i){throw this.errorMsg="Unable to parse JSON",new Error(this.errorMsg)}this.sourceConnDetails.dbConfigs.forEach(i=>{i.dbEngine=this.shardSessionDetails.sourceDatabaseEngine})}this.sourceConnDetails.isRestoredSession=this.shardSessionDetails.isRestoredSession,this.fetch.setShardsSourceDBDetailsForBulk(this.sourceConnDetails).subscribe({next:()=>{localStorage.setItem(le.NumberOfShards,this.sourceConnDetails.dbConfigs.length.toString()),localStorage.setItem(le.NumberOfInstances,this.sourceConnDetails.dbConfigs.length.toString()),localStorage.setItem(le.IsSourceDetailsSet,"true"),this.dialogRef.close()},error:i=>{this.errorMsg=i.error}})}}return t.\u0275fac=function(e){return new(e||t)(_(Bi),_(Lo),_(Ln),_(Ti),_(Yi))},t.\u0275cmp=Oe({type:t,selectors:[["app-sharded-bulk-source-details-form"]],decls:23,vars:7,consts:[[1,"connect-load-database-container"],[1,"form-container"],[1,"shard-bulk-form",3,"formGroup"],[1,"primary-header"],["appearance","outline"],["formControlName","inputType",3,"selectionChange"],["inputType",""],[3,"value",4,"ngFor","ngForOf"],["class","textInput",4,"ngIf"],["class","formInput",4,"ngIf"],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","type","submit","color","accent",3,"disabled","click",4,"ngIf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["class","failure",4,"ngIf"],[3,"value"],[1,"textInput"],["name","textInput","formControlName","textInput","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","5","cdkAutosizeMaxRows","20"],["autosize","cdkTextareaAutosize"],[1,"formInput"],["appearance","outline",1,"full-width"],["matInput","","placeholder","127.0.0.1","name","hostName","type","text","formControlName","hostName"],["matInput","","placeholder","3306","name","port","type","text","formControlName","port"],["matInput","","placeholder","root","name","userName","type","text","formControlName","userName"],["matInput","","name","password","type","password","formControlName","password"],["matInput","","name","dbname","type","text","formControlName","dbName"],["matInput","","name","shardId","type","text","formControlName","shardId"],["mat-raised-button","","type","submit","color","accent",3,"disabled","click"],[1,"failure"],[1,"left-text"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"div",1)(2,"form",2)(3,"h4",3),h(4,"Add Data Shard Connection Details"),c(),d(5,"b"),h(6,"Note: Please configure the schema source used for schema conversion if you want Spanner migration tool to migrate data from it as well."),c(),E(7,"br")(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"Input Type"),c(),d(12,"mat-select",5,6),N("selectionChange",function(){se(o);const s=$t(13);return i.setValidators(s.value)}),b(14,FX,2,2,"mat-option",7),c()(),b(15,NX,6,0,"div",8),b(16,LX,31,0,"div",9),d(17,"button",10),h(18,"CANCEL"),c(),b(19,BX,2,1,"button",11),d(20,"button",12),N("click",function(){return i.finalizeConnDetails()}),h(21," FINISH "),c(),b(22,VX,5,2,"div",13),c()()()}2&e&&(f(2),m("formGroup",i.directConnectForm),f(12),m("ngForOf",i.inputOptionsList),f(1),m("ngIf","text"===i.directConnectForm.value.inputType),f(1),m("ngIf","form"===i.directConnectForm.value.inputType),f(3),m("ngIf","form"===i.directConnectForm.value.inputType),f(1),m("disabled",!i.determineFormValidity()),f(2),m("ngIf",""!=i.errorMsg))},directives:[xi,Hn,Sn,En,Mn,Qi,bn,Xn,ri,_i,Et,Dn,li,vT,Ob,Ht,Xi,_n,ki],styles:[""]}),t})();function HX(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function UX(t,n){if(1&t&&(d(0,"div",17)(1,"mat-card")(2,"mat-card-header")(3,"mat-card-title"),h(4,"Total Configured Shards"),c(),d(5,"mat-card-subtitle"),h(6),c(),d(7,"mat-card-subtitle"),h(8),c()()()()),2&t){const e=D();f(6),Se("",e.physicalShards," physical instances configured."),f(2),Se("",e.logicalShards," logical shards configured.")}}function zX(t,n){1&t&&(d(0,"div",18)(1,"mat-form-field",19)(2,"mat-label"),h(3,"Paste JSON Configuration"),c(),E(4,"textarea",20,21),c()())}function $X(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",35),N("change",function(){const r=se(e).$implicit;return D(2).onItemChange(r.value,"source")}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function GX(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayName),f(1),Se(" ",e.DisplayName," ")}}function WX(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",5)(2,"mat-label"),h(3,"Select source connection profile"),c(),d(4,"mat-select",36),b(5,GX,2,2,"mat-option",8),c()(),d(6,"mat-form-field",5)(7,"mat-label"),h(8,"Data Shard Id"),c(),E(9,"input",37),c()()),2&t){const e=D(2);f(5),m("ngForOf",e.sourceProfileList),f(4),m("value",e.inputValue)}}function qX(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",5)(2,"mat-label"),h(3,"Host"),c(),E(4,"input",38),c(),d(5,"mat-form-field",5)(6,"mat-label"),h(7,"User"),c(),E(8,"input",39),c(),d(9,"mat-form-field",5)(10,"mat-label"),h(11,"Port"),c(),E(12,"input",40),c(),d(13,"mat-form-field",5)(14,"mat-label"),h(15,"Password"),c(),E(16,"input",41),c(),d(17,"mat-form-field",42)(18,"mat-label"),h(19,"Connection profile name"),c(),E(20,"input",43),c(),d(21,"mat-form-field",5)(22,"mat-label"),h(23,"Data Shard Id"),c(),E(24,"input",37),c()()),2&t){const e=D(2);f(24),m("value",e.inputValue)}}function KX(t,n){if(1&t&&(d(0,"li",50)(1,"span",51),h(2),c(),d(3,"span")(4,"mat-icon",52),h(5,"file_copy"),c()()()),2&t){const e=n.$implicit;f(2),Pe(e),f(2),m("cdkCopyToClipboard",e)}}function ZX(t,n){if(1&t&&(d(0,"div",53)(1,"span",51),h(2,"Test connection failed"),c(),d(3,"mat-icon",54),h(4," error "),c()()),2&t){const e=D(3);f(3),m("matTooltip",e.errorSrcMsg)}}function QX(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",55),E(3,"mat-spinner",56),c(),d(4,"span",57),h(5,"Testing Connection"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}function YX(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",55),E(3,"mat-spinner",56),c(),d(4,"span",57),h(5,"Creating source connection profile"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}function XX(t,n){1&t&&(d(0,"mat-icon",58),h(1," check_circle "),c())}function JX(t,n){1&t&&(d(0,"mat-icon",59),h(1," check_circle "),c())}function eJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"div")(2,"b"),h(3,"Copy the public IPs below, and use them to configure the network firewall to accept connections from them."),c(),d(4,"a",44),h(5,"Learn More"),c()(),E(6,"br"),b(7,KX,6,2,"li",45),b(8,ZX,5,1,"div",15),E(9,"br"),b(10,QX,7,1,"div",26),b(11,YX,7,1,"div",26),b(12,XX,2,0,"mat-icon",46),d(13,"button",47),N("click",function(){return se(e),D(2).createOrTestConnection(!0,!0)}),h(14,"TEST CONNECTION"),c(),b(15,JX,2,0,"mat-icon",48),d(16,"button",49),N("click",function(){return se(e),D(2).createOrTestConnection(!0,!1)}),h(17,"CREATE PROFILE"),c()()}if(2&t){const e=D(2);f(7),m("ngForOf",e.ipList),f(1),m("ngIf",!e.testSuccess&&""!=e.errorSrcMsg),f(2),m("ngIf",e.testingSourceConnection),f(1),m("ngIf",e.creatingSourceConnection),f(1),m("ngIf",e.testSuccess),f(1),m("disabled",!e.determineConnectionProfileInfoValidity()||e.testingSourceConnection),f(2),m("ngIf",e.createSrcConnSuccess),f(1),m("disabled",!e.testSuccess||e.creatingSourceConnection)}}function tJ(t,n){if(1&t){const e=pe();be(0),d(1,"div",60)(2,"mat-form-field",5)(3,"mat-label"),h(4,"Logical Shard ID"),c(),E(5,"input",61),c(),d(6,"mat-form-field",5)(7,"mat-label"),h(8,"Source Database Name"),c(),E(9,"input",62),c(),d(10,"mat-icon",63),N("click",function(){const r=se(e).index;return D(2).deleteRow(r)}),h(11," delete_forever"),c()(),ve()}if(2&t){const e=n.index;f(1),m("formGroupName",e)}}function nJ(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",35),N("change",function(){const r=se(e).$implicit;return D(2).onItemChange(r.value,"target")}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function iJ(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayName),f(1),Se(" ",e.DisplayName," ")}}function oJ(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",5)(2,"mat-label"),h(3,"Select target connection profile"),c(),d(4,"mat-select",64),b(5,iJ,2,2,"mat-option",8),c()()()),2&t){const e=D(2);f(5),m("ngForOf",e.targetProfileList)}}function rJ(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",55),E(3,"mat-spinner",56),c(),d(4,"span",57),h(5,"Creating target connection profile"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}function sJ(t,n){1&t&&(d(0,"mat-icon",59),h(1," check_circle "),c())}function aJ(t,n){if(1&t&&(d(0,"div",53)(1,"span",51),h(2),c()()),2&t){const e=D(3);f(2),Pe(e.errorTgtMsg)}}function lJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-form-field",42)(2,"mat-label"),h(3,"Connection profile name"),c(),E(4,"input",65),c(),b(5,rJ,7,1,"div",26),b(6,sJ,2,0,"mat-icon",48),d(7,"button",49),N("click",function(){return se(e),D(2).createOrTestConnection(!1,!1)}),h(8,"CREATE PROFILE"),c(),b(9,aJ,3,1,"div",15),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.creatingTargetConnection),f(1),m("ngIf",e.createTgtConnSuccess),f(1),m("disabled",e.creatingTargetConnection),f(2),m("ngIf",""!=e.errorTgtMsg)}}function cJ(t,n){if(1&t){const e=pe();d(0,"div",18)(1,"span",22),h(2,"Configure Source Profile"),c(),d(3,"div",23)(4,"mat-radio-group",24),N("ngModelChange",function(o){return se(e),D().selectedSourceProfileOption=o}),b(5,$X,2,2,"mat-radio-button",25),c()(),E(6,"br"),b(7,WX,10,2,"div",26),b(8,qX,25,1,"div",26),E(9,"br"),b(10,eJ,18,8,"div",26),E(11,"hr"),d(12,"span",22),h(13,"Configure ShardId and Database Names"),c(),d(14,"mat-icon",27),h(15,"info"),c(),E(16,"br")(17,"br"),d(18,"span",28),be(19,29),b(20,tJ,12,1,"ng-container",30),ve(),c(),d(21,"div",31)(22,"button",32),N("click",function(){return se(e),D().addRow()}),h(23,"ADD ROW"),c()(),E(24,"br")(25,"hr"),d(26,"span",22),h(27,"Configure Target Profile"),c(),d(28,"div",33)(29,"mat-radio-group",34),N("ngModelChange",function(o){return se(e),D().selectedTargetProfileOption=o}),b(30,nJ,2,2,"mat-radio-button",25),c()(),E(31,"br"),b(32,oJ,6,1,"div",26),b(33,lJ,10,4,"div",26),E(34,"hr"),c()}if(2&t){const e=D();f(4),m("ngModel",e.selectedSourceProfileOption),f(1),m("ngForOf",e.profileOptions),f(2),m("ngIf","existing"===e.selectedSourceProfileOption),f(1),m("ngIf","new"===e.selectedSourceProfileOption),f(2),m("ngIf","new"===e.selectedSourceProfileOption),f(10),m("ngForOf",e.shardMappingTable.controls),f(9),m("ngModel",e.selectedTargetProfileOption),f(1),m("ngForOf",e.profileOptions),f(2),m("ngIf","existing"===e.selectedTargetProfileOption),f(1),m("ngIf","new"===e.selectedTargetProfileOption)}}function dJ(t,n){if(1&t){const e=pe();d(0,"button",66),N("click",function(){return se(e),D().saveDetailsAndReset()}),h(1," ADD MORE SHARDS "),c()}2&t&&m("disabled",!D().determineFormValidity())}function uJ(t,n){if(1&t&&(d(0,"div",53)(1,"span",51),h(2),c(),d(3,"mat-icon",54),h(4," error "),c()()),2&t){const e=D();f(2),Pe(e.errorMsg),f(1),m("matTooltip",e.errorMsg)}}let hJ=(()=>{class t{constructor(e,i,o,r,s){var a,l,u,p,g,v,C,M,V;this.fetch=e,this.snack=i,this.formBuilder=o,this.dialogRef=r,this.data=s,this.selectedProfile="",this.profileType="",this.sourceProfileList=[],this.targetProfileList=[],this.definedSrcConnProfileList=[],this.definedTgtConnProfileList=[],this.shardIdToDBMappingTable=[],this.dataShardIdList=[],this.ipList=[],this.selectedSourceProfileOption="existing",this.selectedTargetProfileOption="existing",this.profileOptions=[{value:"existing",display:"Choose an existing connection profile"},{value:"new",display:"Create a new connection profile"}],this.profileName="",this.errorMsg="",this.errorSrcMsg="",this.errorTgtMsg="",this.sourceDatabaseType="",this.inputValue="",this.testSuccess=!1,this.createSrcConnSuccess=!1,this.createTgtConnSuccess=!1,this.physicalShards=0,this.logicalShards=0,this.testingSourceConnection=!1,this.creatingSourceConnection=!1,this.creatingTargetConnection=!1,this.prefix="smt_datashard",this.inputOptionsList=[{value:"text",displayName:"Text"},{value:"form",displayName:"Form"}],this.region=s.Region,this.sourceDatabaseType=s.SourceDatabaseType,localStorage.getItem(In.Type)==mi.DirectConnect&&(this.schemaSourceConfig=JSON.parse(localStorage.getItem(In.Config)));let Y=this.formBuilder.group({logicalShardId:["",de.required],dbName:["",de.required]});this.inputValue=this.prefix+"_"+this.randomString(4)+"_"+this.randomString(4),this.migrationProfileForm=this.formBuilder.group({inputType:["form",de.required],textInput:[""],sourceProfileOption:["new",de.required],targetProfileOption:["new",de.required],newSourceProfile:["",[de.pattern("^[a-z][a-z0-9-]{0,59}$")]],existingSourceProfile:[],newTargetProfile:["",de.pattern("^[a-z][a-z0-9-]{0,59}$")],existingTargetProfile:[],host:[null===(a=this.schemaSourceConfig)||void 0===a?void 0:a.hostName],user:[null===(l=this.schemaSourceConfig)||void 0===l?void 0:l.userName],port:[null===(u=this.schemaSourceConfig)||void 0===u?void 0:u.port],password:[null===(p=this.schemaSourceConfig)||void 0===p?void 0:p.password],dataShardId:[this.inputValue,de.required],shardMappingTable:this.formBuilder.array([Y])});let ke={schemaSource:{host:null===(g=this.schemaSourceConfig)||void 0===g?void 0:g.hostName,user:null===(v=this.schemaSourceConfig)||void 0===v?void 0:v.userName,password:null===(C=this.schemaSourceConfig)||void 0===C?void 0:C.password,port:null===(M=this.schemaSourceConfig)||void 0===M?void 0:M.port,dbName:null===(V=this.schemaSourceConfig)||void 0===V?void 0:V.dbName},dataShards:[]};this.migrationProfile={configType:"dataflow",shardConfigurationDataflow:ke}}ngOnInit(){this.getConnectionProfiles(!0),this.getConnectionProfiles(!1),this.getDatastreamIPs(),this.initFromLocalStorage()}initFromLocalStorage(){}get shardMappingTable(){return this.migrationProfileForm.controls.shardMappingTable}addRow(){let e=this.formBuilder.group({logicalShardId:["",de.required],dbName:["",de.required]});this.shardMappingTable.push(e)}deleteRow(e){this.shardMappingTable.removeAt(e)}getDatastreamIPs(){this.fetch.getStaticIps().subscribe({next:e=>{this.ipList=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}getConnectionProfiles(e){this.fetch.getConnectionProfiles(e).subscribe({next:i=>{e?this.sourceProfileList=i:this.targetProfileList=i},error:i=>{this.snack.openSnackBar(i.error,"Close")}})}onItemChange(e,i){var o,r,s,a,l,u,p,g;this.profileType=i,"source"===this.profileType?(this.selectedSourceProfileOption=e,"new"==this.selectedSourceProfileOption?(null===(o=this.migrationProfileForm.get("newSourceProfile"))||void 0===o||o.setValidators([de.required]),this.migrationProfileForm.controls.existingSourceProfile.clearValidators(),this.migrationProfileForm.controls.newSourceProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingSourceProfile.updateValueAndValidity(),null===(r=this.migrationProfileForm.get("host"))||void 0===r||r.setValidators([de.required]),this.migrationProfileForm.controls.host.updateValueAndValidity(),null===(s=this.migrationProfileForm.get("user"))||void 0===s||s.setValidators([de.required]),this.migrationProfileForm.controls.user.updateValueAndValidity(),null===(a=this.migrationProfileForm.get("port"))||void 0===a||a.setValidators([de.required]),this.migrationProfileForm.controls.port.updateValueAndValidity(),null===(l=this.migrationProfileForm.get("password"))||void 0===l||l.setValidators([de.required]),this.migrationProfileForm.controls.password.updateValueAndValidity()):(this.migrationProfileForm.controls.newSourceProfile.clearValidators(),null===(u=this.migrationProfileForm.get("existingSourceProfile"))||void 0===u||u.addValidators([de.required]),this.migrationProfileForm.controls.newSourceProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingSourceProfile.updateValueAndValidity(),this.migrationProfileForm.controls.host.clearValidators(),this.migrationProfileForm.controls.host.updateValueAndValidity(),this.migrationProfileForm.controls.user.clearValidators(),this.migrationProfileForm.controls.user.updateValueAndValidity(),this.migrationProfileForm.controls.port.clearValidators(),this.migrationProfileForm.controls.port.updateValueAndValidity(),this.migrationProfileForm.controls.password.clearValidators(),this.migrationProfileForm.controls.password.updateValueAndValidity())):(this.selectedTargetProfileOption=e,"new"==this.selectedTargetProfileOption?(null===(p=this.migrationProfileForm.get("newTargetProfile"))||void 0===p||p.setValidators([de.required]),this.migrationProfileForm.controls.existingTargetProfile.clearValidators(),this.migrationProfileForm.controls.newTargetProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingTargetProfile.updateValueAndValidity()):(this.migrationProfileForm.controls.newTargetProfile.clearValidators(),null===(g=this.migrationProfileForm.get("existingTargetProfile"))||void 0===g||g.addValidators([de.required]),this.migrationProfileForm.controls.newTargetProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingTargetProfile.updateValueAndValidity()))}setValidators(e){if("text"===e){for(const o in this.migrationProfileForm.controls)this.migrationProfileForm.controls[o].clearValidators(),this.migrationProfileForm.controls[o].updateValueAndValidity();this.migrationProfileForm.get("shardMappingTable").controls.forEach(o=>{const r=o,s=r.get("logicalShardId"),a=r.get("dbName");null==s||s.clearValidators(),null==s||s.updateValueAndValidity(),null==a||a.clearValidators(),null==a||a.updateValueAndValidity()}),this.migrationProfileForm.controls.textInput.setValidators([de.required]),this.migrationProfileForm.controls.textInput.updateValueAndValidity()}else this.onItemChange("new","source"),this.onItemChange("new","target"),this.migrationProfileForm.controls.textInput.clearValidators(),this.migrationProfileForm.controls.textInput.updateValueAndValidity()}saveDetailsAndReset(){this.handleConnConfigsFromForm();let e=this.formBuilder.group({logicalShardId:["",de.required],dbName:["",de.required]});this.inputValue=this.prefix+"_"+this.randomString(4)+"_"+this.randomString(4),this.migrationProfileForm=this.formBuilder.group({inputType:["form",de.required],textInput:[],sourceProfileOption:[this.selectedSourceProfileOption],targetProfileOption:[this.selectedTargetProfileOption],newSourceProfile:["",[de.pattern("^[a-z][a-z0-9-]{0,59}$")]],existingSourceProfile:[],newTargetProfile:["",de.pattern("^[a-z][a-z0-9-]{0,59}$")],existingTargetProfile:[],host:[],user:[],port:[],password:[],dataShardId:[this.inputValue],shardMappingTable:this.formBuilder.array([e])}),this.testSuccess=!1,this.createSrcConnSuccess=!1,this.createTgtConnSuccess=!1,this.snack.openSnackBar("Shard configured successfully, please configure the next","Close",5)}randomString(e){for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="",r=0;r{localStorage.setItem(le.IsSourceConnectionProfileSet,"true"),localStorage.setItem(le.IsTargetConnectionProfileSet,"true"),localStorage.setItem(le.NumberOfShards,this.determineTotalLogicalShardsConfigured().toString()),localStorage.setItem(le.NumberOfInstances,this.migrationProfile.shardConfigurationDataflow.dataShards.length.toString()),this.dialogRef.close()},error:o=>{this.errorMsg=o.error}})}determineTotalLogicalShardsConfigured(){let e=0;return this.migrationProfile.shardConfigurationDataflow.dataShards.forEach(i=>{e+=i.databases.length}),e}handleConnConfigsFromForm(){let e=this.migrationProfileForm.value;this.dataShardIdList.push(e.dataShardId),this.definedSrcConnProfileList.push("new"===this.selectedSourceProfileOption?{name:e.newSourceProfile,location:this.region}:{name:e.existingSourceProfile,location:this.region}),this.definedTgtConnProfileList.push("new"===this.selectedTargetProfileOption?{name:e.newTargetProfile,location:this.region}:{name:e.existingTargetProfile,location:this.region});let i=[];for(let o of this.shardMappingTable.controls)if(o instanceof an){const r=o.value;i.push({dbName:r.dbName,databaseId:r.logicalShardId,refDataShardId:e.dataShardId})}this.shardIdToDBMappingTable.push(i),this.physicalShards++,this.logicalShards=this.logicalShards+i.length}determineFormValidity(){return!(!this.migrationProfileForm.valid||"new"===this.selectedSourceProfileOption&&!this.createSrcConnSuccess||"new"===this.selectedTargetProfileOption&&!this.createTgtConnSuccess)}determineFinishValidity(){return this.definedSrcConnProfileList.length>0||this.determineFormValidity()}determineConnectionProfileInfoValidity(){let e=this.migrationProfileForm.value;return null!=e.host&&null!=e.port&&null!=e.user&&null!=e.password&&null!=e.newSourceProfile}createOrTestConnection(e,i){i?this.testingSourceConnection=!0:e?this.creatingSourceConnection=!0:this.creatingTargetConnection=!0;let r,o=this.migrationProfileForm.value;r=e?{Id:o.newSourceProfile,IsSource:!0,ValidateOnly:i,Host:o.host,Port:o.port,User:o.user,Password:o.password}:{Id:o.newTargetProfile,IsSource:!1,ValidateOnly:i},this.fetch.createConnectionProfile(r).subscribe({next:()=>{i?(this.testingSourceConnection=!1,this.testSuccess=!0):e?(this.createSrcConnSuccess=!0,this.errorSrcMsg="",this.creatingSourceConnection=!1):(this.createTgtConnSuccess=!0,this.errorTgtMsg="",this.creatingTargetConnection=!1)},error:s=>{i?(this.testingSourceConnection=!1,this.testSuccess=!1,this.errorSrcMsg=s.error):e?(this.createSrcConnSuccess=!1,this.errorSrcMsg=s.error,this.creatingSourceConnection=!1):(this.createTgtConnSuccess=!1,this.errorTgtMsg=s.error,this.creatingTargetConnection=!1)}})}}return t.\u0275fac=function(e){return new(e||t)(_(Bi),_(Lo),_(Ts),_(Ti),_(Yi))},t.\u0275cmp=Oe({type:t,selectors:[["app-sharded-dataflow-migration-details-form"]],decls:26,vars:8,consts:[["mat-dialog-content","",1,"connect-load-database-container"],[1,"conn-profile-form",3,"formGroup"],[1,"mat-h2","header-title"],[1,"top"],[1,"top-1"],["appearance","outline"],["formControlName","inputType",3,"selectionChange"],["inputType",""],[3,"value",4,"ngFor","ngForOf"],["class","top-2",4,"ngIf"],["class","textInput",4,"ngIf"],[1,"last-btns"],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","type","submit","color","accent",3,"disabled","click",4,"ngIf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["class","failure",4,"ngIf"],[3,"value"],[1,"top-2"],[1,"textInput"],["appearance","outline",1,"json-input"],["name","textInput","formControlName","textInput","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","5","cdkAutosizeMaxRows","20"],["autosize","cdkTextareaAutosize"],[1,"mat-h4","header-title"],[1,"source-radio-button-container"],["formControlName","sourceProfileOption",1,"radio-button-container",3,"ngModel","ngModelChange"],["class","radio-button",3,"value","change",4,"ngFor","ngForOf"],[4,"ngIf"],["matTooltip","Logical Shard ID value will be used to populate the migration_shard_id column added as part of sharded database migration",1,"configure"],[1,"border"],["formArrayName","shardMappingTable"],[4,"ngFor","ngForOf"],[1,"table-buttons"],["mat-raised-button","","color","primary","type","button",3,"click"],[1,"target-radio-button-container"],["formControlName","targetProfileOption",1,"radio-button-container",3,"ngModel","ngModelChange"],[1,"radio-button",3,"value","change"],["formControlName","existingSourceProfile","required","true","ng-value","selectedProfile",1,"input-field"],["matInput","","type","text","formControlName","dataShardId","required","true","readonly","",3,"value"],["matInput","","placeholder","Host","type","text","formControlName","host","required","true"],["matInput","","placeholder","User","type","text","formControlName","user","required","true"],["matInput","","placeholder","Port","type","text","formControlName","port","required","true"],["matInput","","placeholder","Password","type","password","formControlName","password","required","true"],["appearance","outline","hintLabel","Name can include lower case letters, numbers and hyphens. Must start with a letter."],["matInput","","placeholder","Connection profile name","type","text","formControlName","newSourceProfile","required","true"],["href","https://cloud.google.com/datastream/docs/network-connectivity-options#ipallowlists","target","_blank"],["class","connection-form-container",4,"ngFor","ngForOf"],["class","success","matTooltip","Test connection successful","matTooltipPosition","above",4,"ngIf"],["mat-raised-button","","type","button","color","primary",3,"disabled","click"],["class","success","matTooltip","Profile creation successful","matTooltipPosition","above",4,"ngIf"],["mat-raised-button","","type","button","color","warn",3,"disabled","click"],[1,"connection-form-container"],[1,"left-text"],["matTooltip","Copy",1,"icon","copy",3,"cdkCopyToClipboard"],[1,"failure"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"],[1,"spinner"],[3,"diameter"],[1,"spinner-small-text"],["matTooltip","Test connection successful","matTooltipPosition","above",1,"success"],["matTooltip","Profile creation successful","matTooltipPosition","above",1,"success"],[1,"shard-mapping-form-row",3,"formGroupName"],["matInput","","formControlName","logicalShardId","placeholder","Enter Logical ShardID"],["matInput","","formControlName","dbName","placeholder","Enter Database Name"],[1,"delete-btn",3,"click"],["formControlName","existingTargetProfile","required","true","ng-value","selectedProfile",1,"input-field"],["matInput","","placeholder","Connection profile name","type","text","formControlName","newTargetProfile","required","true"],["mat-raised-button","","type","submit","color","accent",3,"disabled","click"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"form",1)(2,"span",2),h(3,"Datastream Details"),c(),E(4,"br"),d(5,"b"),h(6,"Note: Please configure the database used for schema conversion, if you want Spanner migration tool to migrate data from it as well."),c(),d(7,"div",3),h(8,"` "),d(9,"div",4)(10,"mat-form-field",5)(11,"mat-label"),h(12,"Input Type"),c(),d(13,"mat-select",6,7),N("selectionChange",function(){se(o);const s=$t(14);return i.setValidators(s.value)}),b(15,HX,2,2,"mat-option",8),c()()(),b(16,UX,9,2,"div",9),c(),b(17,zX,6,0,"div",10),b(18,cJ,35,10,"div",10),d(19,"div",11)(20,"button",12),h(21,"CANCEL"),c(),b(22,dJ,2,1,"button",13),d(23,"button",14),N("click",function(){return i.finalizeConnDetails()}),h(24," FINISH "),c(),b(25,uJ,5,2,"div",15),c()()()}2&e&&(f(1),m("formGroup",i.migrationProfileForm),f(14),m("ngForOf",i.inputOptionsList),f(1),m("ngIf","form"===i.migrationProfileForm.value.inputType),f(1),m("ngIf","text"===i.migrationProfileForm.value.inputType),f(1),m("ngIf","form"===i.migrationProfileForm.value.inputType),f(4),m("ngIf","form"===i.migrationProfileForm.value.inputType),f(1),m("disabled",!i.determineFinishValidity()),f(2),m("ngIf",""!=i.errorMsg))},directives:[wr,xi,Hn,Sn,En,Mn,Qi,bn,Xn,ri,_i,Et,$h,K6,ox,rx,Dn,li,vT,xp,Tp,po,_n,ki,fv,Ji,Ht,md,fd,Xi],styles:[".icon[_ngcontent-%COMP%]{font-size:15px}.connection-form-container[_ngcontent-%COMP%]{display:block}.left-text[_ngcontent-%COMP%]{width:40%;display:inline-block}.shard-mapping-form-row[_ngcontent-%COMP%]{width:80%;margin-left:auto;margin-right:auto}.table-header[_ngcontent-%COMP%]{width:80%;margin:auto auto 10px;text-align:right;display:flex;align-items:center;justify-content:space-between}form[_ngcontent-%COMP%], .table-body[_ngcontent-%COMP%]{flex:auto;overflow-y:auto}.table-buttons[_ngcontent-%COMP%]{margin-left:70%}.radio-button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;margin:15px 0;align-items:flex-start}.radio-button[_ngcontent-%COMP%]{margin:5px}.json-input[_ngcontent-%COMP%]{width:100%}.top[_ngcontent-%COMP%]{border:3px solid #fff;padding:20px}.top-1[_ngcontent-%COMP%]{width:60%;float:left}.top-2[_ngcontent-%COMP%]{width:40%;float:right;flex:auto}.last-btns[_ngcontent-%COMP%]{padding:20px;width:100%;float:left}"]}),t})();function pJ(t,n){1&t&&(d(0,"h2"),h(1,"Source and Target Database definitions"),c())}function fJ(t,n){1&t&&(d(0,"h2"),h(1,"Source and Target Database definitions (per shard)"),c())}function mJ(t,n){1&t&&(d(0,"th",35),h(1,"Title"),c())}function gJ(t,n){if(1&t&&(d(0,"td",36)(1,"b"),h(2),c()()),2&t){const e=n.$implicit;f(2),Pe(e.title)}}function _J(t,n){1&t&&(d(0,"th",35),h(1,"Source"),c())}function bJ(t,n){if(1&t&&(d(0,"td",36),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.source)}}function vJ(t,n){1&t&&(d(0,"th",35),h(1,"Destination"),c())}function yJ(t,n){if(1&t&&(d(0,"td",36),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.target)}}function CJ(t,n){1&t&&E(0,"tr",37)}function wJ(t,n){1&t&&E(0,"tr",38)}function DJ(t,n){if(1&t&&(d(0,"mat-option",39),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Se(" ",e," ")}}function SJ(t,n){if(1&t&&(d(0,"mat-option",39),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.name," ")}}function MJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-form-field",20)(2,"mat-label"),h(3,"Migration Type:"),c(),d(4,"mat-select",21),N("ngModelChange",function(o){return se(e),D().selectedMigrationType=o})("selectionChange",function(){return se(e),D().refreshPrerequisites()}),b(5,SJ,2,2,"mat-option",22),c()(),d(6,"mat-icon",23),h(7,"info"),c(),E(8,"br"),c()}if(2&t){const e=D();f(4),m("ngModel",e.selectedMigrationType),f(1),m("ngForOf",e.migrationTypes),f(1),m("matTooltip",e.migrationTypesHelpText.get(e.selectedMigrationType))}}function xJ(t,n){if(1&t&&(d(0,"mat-option",39),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function TJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-form-field",20)(2,"mat-label"),h(3,"Skip Foreign Key Creation:"),c(),d(4,"mat-select",40),N("ngModelChange",function(o){return se(e),D().isForeignKeySkipped=o}),b(5,xJ,2,2,"mat-option",22),c()()()}if(2&t){const e=D();f(4),m("ngModel",e.isForeignKeySkipped),f(1),m("ngForOf",e.skipForeignKeyResponseList)}}function kJ(t,n){1&t&&(d(0,"div",41)(1,"p",26)(2,"span",27),h(3,"1"),c(),d(4,"span"),h(5,"Please ensure that the application default credentials deployed on this machine have permissions to write to Spanner."),c()()())}function EJ(t,n){1&t&&(d(0,"div",41)(1,"p",26)(2,"span",27),h(3,"1"),c(),d(4,"span"),h(5,"Please ensure that the source is "),d(6,"a",42),h(7,"configured"),c(),h(8," for Datastream change data capture."),c()(),d(9,"p",26)(10,"span",27),h(11,"2"),c(),d(12,"span"),h(13,"Please ensure that Dataflow "),d(14,"a",43),h(15,"permissions"),c(),h(16," and "),d(17,"a",44),h(18,"networking"),c(),h(19," are correctly setup."),c()()())}function IJ(t,n){1&t&&(d(0,"mat-icon",46),h(1," check_circle "),c())}function OJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"h3"),h(2,"Source database details:"),c(),d(3,"p",26)(4,"span",27),h(5,"1"),c(),d(6,"span"),h(7,"Setup Source database details"),c(),d(8,"span")(9,"button",29),N("click",function(){return se(e),D().openSourceDetailsForm()}),h(10," Configure "),d(11,"mat-icon"),h(12,"edit"),c(),b(13,IJ,2,0,"mat-icon",45),c()()()()}if(2&t){const e=D();f(9),m("disabled",e.isMigrationInProgress),f(4),m("ngIf",e.isSourceDetailsSet)}}function AJ(t,n){1&t&&(d(0,"mat-icon",46),h(1," check_circle "),c())}function PJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-card-title"),h(2,"Source databases details:"),c(),d(3,"p",26)(4,"span",27),h(5,"1"),c(),d(6,"span"),h(7,"Setup Source Connection details "),d(8,"mat-icon",47),h(9," info"),c()(),d(10,"span")(11,"button",29),N("click",function(){return se(e),D().openShardedBulkSourceDetailsForm()}),h(12," Configure "),d(13,"mat-icon"),h(14,"edit"),c(),b(15,AJ,2,0,"mat-icon",45),c()()()()}if(2&t){const e=D();f(11),m("disabled",e.isMigrationInProgress),f(4),m("ngIf",e.isSourceDetailsSet)}}function RJ(t,n){1&t&&(d(0,"mat-icon",48),h(1," check_circle "),c())}function FJ(t,n){1&t&&(d(0,"mat-icon",51),h(1," check_circle "),c())}function NJ(t,n){if(1&t){const e=pe();d(0,"p",26)(1,"span",27),h(2,"2"),c(),d(3,"span"),h(4,"Configure Datastream "),d(5,"mat-icon",49),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openMigrationProfileForm()}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),b(12,FJ,2,0,"mat-icon",50),c()()()}if(2&t){const e=D();f(8),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet),f(4),m("ngIf",e.isSourceConnectionProfileSet)}}function LJ(t,n){1&t&&(d(0,"mat-icon",51),h(1," check_circle "),c())}function BJ(t,n){if(1&t){const e=pe();d(0,"p",26)(1,"span",27),h(2,"2"),c(),d(3,"span"),h(4,"Setup source connection profile "),d(5,"mat-icon",52),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openConnectionProfileForm(!0)}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),b(12,LJ,2,0,"mat-icon",50),c()()()}if(2&t){const e=D();f(8),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet),f(4),m("ngIf",e.isSourceConnectionProfileSet)}}function VJ(t,n){1&t&&(d(0,"mat-icon",55),h(1," check_circle "),c())}function jJ(t,n){if(1&t){const e=pe();d(0,"p",26)(1,"span",27),h(2,"3"),c(),d(3,"span"),h(4,"Setup target connection profile "),d(5,"mat-icon",53),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openConnectionProfileForm(!1)}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),b(12,VJ,2,0,"mat-icon",54),c()()()}if(2&t){const e=D();f(8),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet),f(4),m("ngIf",e.isTargetConnectionProfileSet)}}function HJ(t,n){1&t&&(d(0,"span",27),h(1,"3"),c())}function UJ(t,n){1&t&&(d(0,"span",27),h(1,"4"),c())}function zJ(t,n){if(1&t){const e=pe();d(0,"p",26),b(1,HJ,2,0,"span",56),b(2,UJ,2,0,"span",56),d(3,"span"),h(4,"Configure Dataflow (Optional) "),d(5,"mat-icon",57),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openDataflowForm()}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),d(12,"mat-icon",58),h(13," check_circle "),c()()()()}if(2&t){const e=D();f(1),m("ngIf",e.isSharded),f(1),m("ngIf",!e.isSharded),f(6),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet)}}function $J(t,n){1&t&&(d(0,"span",27),h(1,"4"),c())}function GJ(t,n){if(1&t){const e=pe();d(0,"p",26),b(1,$J,2,0,"span",56),d(2,"span"),h(3,"Download configuration as JSON "),d(4,"mat-icon",59),h(5,"info "),c()(),d(6,"span")(7,"button",29),N("click",function(){return se(e),D().downloadConfiguration()}),h(8," Download "),d(9,"mat-icon",60),h(10," download"),c()()()()}if(2&t){const e=D();f(1),m("ngIf",e.isSharded),f(6),m("disabled",!e.isTargetDetailSet||!e.isTargetConnectionProfileSet)}}function WJ(t,n){if(1&t&&(d(0,"div",24)(1,"mat-card")(2,"mat-card-title"),h(3,"Configured Source Details"),c(),d(4,"p",26)(5,"span",27),h(6,"1"),c(),d(7,"span")(8,"b"),h(9,"Source Database: "),c(),h(10),c()(),d(11,"p",26)(12,"span",27),h(13,"2"),c(),d(14,"span")(15,"b"),h(16,"Number of physical instances configured: "),c(),h(17),c()(),d(18,"p",26)(19,"span",27),h(20,"3"),c(),d(21,"span")(22,"b"),h(23,"Number of logical shards configured: "),c(),h(24),c()()()()),2&t){const e=D();f(10),Pe(e.sourceDatabaseType),f(7),Se(" ",e.numberOfInstances,""),f(7),Se(" ",e.numberOfShards,"")}}function qJ(t,n){if(1&t&&(d(0,"div",24)(1,"mat-card")(2,"mat-card-title"),h(3,"Configured Target Details"),c(),d(4,"p",26)(5,"span",27),h(6,"1"),c(),d(7,"span")(8,"b"),h(9,"Spanner Database: "),c(),h(10),c()(),d(11,"p",26)(12,"span",27),h(13,"2"),c(),d(14,"span")(15,"b"),h(16,"Spanner Dialect: "),c(),h(17),c()(),d(18,"p",26)(19,"span",27),h(20,"3"),c(),d(21,"span")(22,"b"),h(23,"Region: "),c(),h(24),c()(),d(25,"p",26)(26,"span",27),h(27,"4"),c(),d(28,"span")(29,"b"),h(30,"Spanner Instance: "),c(),h(31),c()()()()),2&t){const e=D();f(10),Pe(e.targetDetails.TargetDB),f(7),Pe(e.dialect),f(7),Pe(e.region),f(7),Km("",e.instance," (Nodes: ",e.nodeCount,", Processing Units: ",e.processingUnits,")")}}function KJ(t,n){if(1&t&&(d(0,"div",61),E(1,"br")(2,"mat-progress-bar",62),d(3,"span"),h(4),c()()),2&t){const e=D();f(2),m("value",e.schemaMigrationProgress),f(2),Se(" ",e.schemaProgressMessage,"")}}function ZJ(t,n){if(1&t&&(d(0,"div",61),E(1,"br")(2,"mat-progress-bar",62),d(3,"span"),h(4),c()()),2&t){const e=D();f(2),m("value",e.dataMigrationProgress),f(2),Se(" ",e.dataProgressMessage,"")}}function QJ(t,n){if(1&t&&(d(0,"div",61),E(1,"br")(2,"mat-progress-bar",62),d(3,"span"),h(4),c()()),2&t){const e=D();f(2),m("value",e.foreignKeyUpdateProgress),f(2),Se(" ",e.foreignKeyProgressMessage,"")}}function YJ(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",63),E(3,"mat-spinner",64),c(),d(4,"span",65),h(5,"Generating Resources"),c(),E(6,"br"),h(7," Note: Spanner migration tool is creating datastream and dataflow resources. Please look at the terminal logs to check the progress of resource creation. All created resources will be displayed here once they are generated. "),c()),2&t&&(f(3),m("diameter",20))}function XJ(t,n){if(1&t&&(d(0,"span")(1,"li"),h(2," Datastream job: "),d(3,"a",66),h(4),c()()()),2&t){const e=D(2);f(3),m("href",e.resourcesGenerated.DataStreamJobUrl,ur),f(1),Pe(e.resourcesGenerated.DataStreamJobName)}}function JJ(t,n){if(1&t){const e=pe();d(0,"span")(1,"li"),h(2,"Dataflow job: "),d(3,"a",66),h(4),c(),d(5,"span")(6,"button",67),N("click",function(){se(e);const o=D(2);return o.openGcloudPopup(o.resourcesGenerated.DataflowGcloudCmd)}),d(7,"mat-icon",68),h(8," code"),c()()()()()}if(2&t){const e=D(2);f(3),m("href",e.resourcesGenerated.DataflowJobUrl,ur),f(1),Pe(e.resourcesGenerated.DataflowJobName)}}function eee(t,n){if(1&t&&(d(0,"li"),h(1),d(2,"a",66),h(3),c()()),2&t){const e=n.$implicit;f(1),Se(" Datastream job for shardId: ",e.key," - "),f(1),m("href",e.value.JobUrl,ur),f(1),Pe(e.value.JobName)}}function tee(t,n){if(1&t&&(d(0,"span"),b(1,eee,4,3,"li",69),ml(2,"keyvalue"),c()),2&t){const e=D(2);f(1),m("ngForOf",gl(2,1,e.resourcesGenerated.ShardToDatastreamMap))}}function nee(t,n){if(1&t){const e=pe();d(0,"li"),h(1),d(2,"a",66),h(3),c(),d(4,"span")(5,"button",67),N("click",function(){const r=se(e).$implicit;return D(3).openGcloudPopup(r.value.GcloudCmd)}),d(6,"mat-icon",68),h(7," code"),c()()()()}if(2&t){const e=n.$implicit;f(1),Se(" Dataflow job for shardId: ",e.key," - "),f(1),m("href",e.value.JobUrl,ur),f(1),Pe(e.value.JobName)}}function iee(t,n){if(1&t&&(d(0,"span"),b(1,nee,8,3,"li",69),ml(2,"keyvalue"),c()),2&t){const e=D(2);f(1),m("ngForOf",gl(2,1,e.resourcesGenerated.ShardToDataflowMap))}}function oee(t,n){1&t&&(d(0,"span")(1,"b"),h(2,"Note: "),c(),h(3,"Spanner migration tool has orchestrated the migration successfully. For minimal downtime migrations, it is safe to close Spanner migration tool now without affecting the progress of the migration. Please note that Spanner migration tool does not save the IDs of the Dataflow jobs created once closed, so please keep copy over the links in the Generated Resources section above before closing Spanner migration tool. "),c())}function ree(t,n){if(1&t&&(d(0,"div")(1,"h3"),h(2," Generated Resources:"),c(),d(3,"li"),h(4,"Spanner database: "),d(5,"a",66),h(6),c()(),d(7,"li"),h(8,"GCS bucket: "),d(9,"a",66),h(10),c()(),b(11,XJ,5,2,"span",10),b(12,JJ,9,2,"span",10),b(13,tee,3,3,"span",10),b(14,iee,3,3,"span",10),E(15,"br")(16,"br"),b(17,oee,4,0,"span",10),c()),2&t){const e=D();f(5),m("href",e.resourcesGenerated.DatabaseUrl,ur),f(1),Pe(e.resourcesGenerated.DatabaseName),f(3),m("href",e.resourcesGenerated.BucketUrl,ur),f(1),Pe(e.resourcesGenerated.BucketName),f(1),m("ngIf",""!==e.resourcesGenerated.DataStreamJobName&&"lowdt"===e.selectedMigrationType&&!e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.DataflowJobName&&"lowdt"===e.selectedMigrationType&&!e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.DataStreamJobName&&"lowdt"===e.selectedMigrationType&&e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.DataflowJobName&&"lowdt"===e.selectedMigrationType&&e.isSharded),f(3),m("ngIf","lowdt"===e.selectedMigrationType)}}function see(t,n){if(1&t){const e=pe();d(0,"span")(1,"button",70),N("click",function(){return se(e),D().migrate()}),h(2,"Migrate"),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.isTargetDetailSet&&"lowdt"===e.selectedMigrationType&&e.isSourceConnectionProfileSet&&e.isTargetConnectionProfileSet||e.isTargetDetailSet&&"bulk"===e.selectedMigrationType)||e.isMigrationInProgress)}}function aee(t,n){if(1&t){const e=pe();d(0,"span")(1,"button",71),N("click",function(){return se(e),D().endMigration()}),h(2,"End Migration"),c()()}}const lee=[{path:"",component:xW},{path:"source",component:tq,children:[{path:"",redirectTo:"/direct-connection",pathMatch:"full"},{path:"direct-connection",component:LG},{path:"load-dump",component:jW},{path:"load-session",component:GW}]},{path:"workspace",component:lX},{path:"instruction",component:uI},{path:"prepare-migration",component:(()=>{class t{constructor(e,i,o,r,s){this.dialog=e,this.fetch=i,this.snack=o,this.data=r,this.sidenav=s,this.displayedColumns=["Title","Source","Destination"],this.dataSource=[],this.migrationModes=[],this.migrationTypes=[],this.isSourceConnectionProfileSet=!1,this.isTargetConnectionProfileSet=!1,this.isDataflowConfigurationSet=!1,this.isSourceDetailsSet=!1,this.isTargetDetailSet=!1,this.isForeignKeySkipped=!1,this.isMigrationDetailSet=!1,this.isStreamingSupported=!1,this.hasDataMigrationStarted=!1,this.hasSchemaMigrationStarted=!1,this.hasForeignKeyUpdateStarted=!1,this.selectedMigrationMode=Fo.schemaAndData,this.connectionType=mi.DirectConnect,this.selectedMigrationType=ci.lowDowntimeMigration,this.isMigrationInProgress=!1,this.isLowDtMigrationRunning=!1,this.isResourceGenerated=!1,this.generatingResources=!1,this.errorMessage="",this.schemaProgressMessage="Schema migration in progress...",this.dataProgressMessage="Data migration in progress...",this.foreignKeyProgressMessage="Foreign key update in progress...",this.dataMigrationProgress=0,this.schemaMigrationProgress=0,this.foreignKeyUpdateProgress=0,this.sourceDatabaseName="",this.sourceDatabaseType="",this.resourcesGenerated={DatabaseName:"",DatabaseUrl:"",BucketName:"",BucketUrl:"",DataStreamJobName:"",DataStreamJobUrl:"",DataflowJobName:"",DataflowJobUrl:"",DataflowGcloudCmd:"",ShardToDatastreamMap:new Map,ShardToDataflowMap:new Map},this.region="",this.instance="",this.dialect="",this.isSharded=!1,this.numberOfShards="0",this.numberOfInstances="0",this.nodeCount=0,this.processingUnits=0,this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},this.dataflowConfig={network:localStorage.getItem("network"),subnetwork:localStorage.getItem("subnetwork"),hostProjectId:localStorage.getItem("hostProjectId"),maxWorkers:localStorage.getItem("maxWorkers"),numWorkers:localStorage.getItem("numWorkers"),serviceAccountEmail:localStorage.getItem("serviceAccountEmail")},this.spannerConfig={GCPProjectID:"",SpannerInstanceID:"",IsMetadataDbCreated:!1,IsConfigValid:!1},this.skipForeignKeyResponseList=[{value:!1,displayName:"No"},{value:!0,displayName:"Yes"}],this.migrationModesHelpText=new Map([["Schema","Migrates only the schema of the source database to the configured Spanner instance."],["Data","Migrates the data from the source database to the configured Spanner database. The configured database should already contain the schema."],["Schema And Data","Migrates both the schema and the data from the source database to Spanner."]]),this.migrationTypesHelpText=new Map([["bulk","Use the POC migration option when you want to migrate a sample of your data (<100GB) to do a Proof of Concept. It uses this machine's resources to copy data from the source database to Spanner"],["lowdt","Uses change data capture via Datastream to setup a continuous data replication pipeline from source to Spanner, using Dataflow jobs to perform the actual data migration."]])}refreshMigrationMode(){this.selectedMigrationMode!==Fo.schemaOnly&&this.isStreamingSupported&&this.connectionType!==mi.DumpFile?this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration},{name:"Minimal downtime Migration",value:ci.lowDowntimeMigration}]:(this.selectedMigrationType=ci.bulkMigration,this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration}])}refreshPrerequisites(){this.isSourceConnectionProfileSet=!1,this.isTargetConnectionProfileSet=!1,this.isTargetDetailSet=!1,this.refreshMigrationMode()}ngOnInit(){this.initializeFromLocalStorage(),this.data.config.subscribe(e=>{this.spannerConfig=e}),this.convObj=this.data.conv.subscribe(e=>{this.conv=e}),localStorage.setItem("hostProjectId",this.spannerConfig.GCPProjectID),this.fetch.getSourceDestinationSummary().subscribe({next:e=>{this.connectionType=e.ConnectionType,this.dataSource=[{title:"Database Type",source:e.DatabaseType,target:"Spanner"},{title:"Number of tables",source:e.SourceTableCount,target:e.SpannerTableCount},{title:"Number of indexes",source:e.SourceIndexCount,target:e.SpannerIndexCount}],this.sourceDatabaseType=e.DatabaseType,this.region=e.Region,this.instance=e.Instance,this.dialect=e.Dialect,this.isSharded=e.IsSharded,this.processingUnits=e.ProcessingUnits,this.nodeCount=e.NodeCount,(e.DatabaseType==xr.MySQL.toLowerCase()||e.DatabaseType==xr.Oracle.toLowerCase()||e.DatabaseType==xr.Postgres.toLowerCase())&&(this.isStreamingSupported=!0),this.isStreamingSupported?this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration},{name:"Minimal downtime Migration",value:ci.lowDowntimeMigration}]:(this.selectedMigrationType=ci.bulkMigration,this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration}]),this.sourceDatabaseName=e.SourceDatabaseName,this.migrationModes=[Fo.schemaOnly,Fo.dataOnly,Fo.schemaAndData]},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}initializeFromLocalStorage(){null!=localStorage.getItem(le.MigrationMode)&&(this.selectedMigrationMode=localStorage.getItem(le.MigrationMode)),null!=localStorage.getItem(le.MigrationType)&&(this.selectedMigrationType=localStorage.getItem(le.MigrationType)),null!=localStorage.getItem(le.isForeignKeySkipped)&&(this.isForeignKeySkipped="true"===localStorage.getItem(le.isForeignKeySkipped)),null!=localStorage.getItem(le.IsMigrationInProgress)&&(this.isMigrationInProgress="true"===localStorage.getItem(le.IsMigrationInProgress),this.subscribeMigrationProgress()),null!=localStorage.getItem(le.IsTargetDetailSet)&&(this.isTargetDetailSet="true"===localStorage.getItem(le.IsTargetDetailSet)),null!=localStorage.getItem(le.IsSourceConnectionProfileSet)&&(this.isSourceConnectionProfileSet="true"===localStorage.getItem(le.IsSourceConnectionProfileSet)),null!=localStorage.getItem("isDataflowConfigSet")&&(this.isDataflowConfigurationSet="true"===localStorage.getItem("isDataflowConfigSet")),null!=localStorage.getItem(le.IsTargetConnectionProfileSet)&&(this.isTargetConnectionProfileSet="true"===localStorage.getItem(le.IsTargetConnectionProfileSet)),null!=localStorage.getItem(le.IsSourceDetailsSet)&&(this.isSourceDetailsSet="true"===localStorage.getItem(le.IsSourceDetailsSet)),null!=localStorage.getItem(le.IsMigrationDetailSet)&&(this.isMigrationDetailSet="true"===localStorage.getItem(le.IsMigrationDetailSet)),null!=localStorage.getItem(le.HasSchemaMigrationStarted)&&(this.hasSchemaMigrationStarted="true"===localStorage.getItem(le.HasSchemaMigrationStarted)),null!=localStorage.getItem(le.HasDataMigrationStarted)&&(this.hasDataMigrationStarted="true"===localStorage.getItem(le.HasDataMigrationStarted)),null!=localStorage.getItem(le.DataMigrationProgress)&&(this.dataMigrationProgress=parseInt(localStorage.getItem(le.DataMigrationProgress))),null!=localStorage.getItem(le.SchemaMigrationProgress)&&(this.schemaMigrationProgress=parseInt(localStorage.getItem(le.SchemaMigrationProgress))),null!=localStorage.getItem(le.DataProgressMessage)&&(this.dataProgressMessage=localStorage.getItem(le.DataProgressMessage)),null!=localStorage.getItem(le.SchemaProgressMessage)&&(this.schemaProgressMessage=localStorage.getItem(le.SchemaProgressMessage)),null!=localStorage.getItem(le.ForeignKeyProgressMessage)&&(this.foreignKeyProgressMessage=localStorage.getItem(le.ForeignKeyProgressMessage)),null!=localStorage.getItem(le.ForeignKeyUpdateProgress)&&(this.foreignKeyUpdateProgress=parseInt(localStorage.getItem(le.ForeignKeyUpdateProgress))),null!=localStorage.getItem(le.HasForeignKeyUpdateStarted)&&(this.hasForeignKeyUpdateStarted="true"===localStorage.getItem(le.HasForeignKeyUpdateStarted)),null!=localStorage.getItem(le.GeneratingResources)&&(this.generatingResources="true"===localStorage.getItem(le.GeneratingResources)),null!=localStorage.getItem(le.NumberOfShards)&&(this.numberOfShards=localStorage.getItem(le.NumberOfShards)),null!=localStorage.getItem(le.NumberOfInstances)&&(this.numberOfInstances=localStorage.getItem(le.NumberOfInstances))}clearLocalStorage(){localStorage.removeItem(le.MigrationMode),localStorage.removeItem(le.MigrationType),localStorage.removeItem(le.IsTargetDetailSet),localStorage.removeItem(le.isForeignKeySkipped),localStorage.removeItem(le.IsSourceConnectionProfileSet),localStorage.removeItem(le.IsTargetConnectionProfileSet),localStorage.removeItem(le.IsSourceDetailsSet),localStorage.removeItem("isDataflowConfigSet"),localStorage.removeItem("network"),localStorage.removeItem("subnetwork"),localStorage.removeItem("maxWorkers"),localStorage.removeItem("numWorkers"),localStorage.removeItem("serviceAccountEmail"),localStorage.removeItem("hostProjectId"),localStorage.removeItem(le.IsMigrationInProgress),localStorage.removeItem(le.HasSchemaMigrationStarted),localStorage.removeItem(le.HasDataMigrationStarted),localStorage.removeItem(le.DataMigrationProgress),localStorage.removeItem(le.SchemaMigrationProgress),localStorage.removeItem(le.DataProgressMessage),localStorage.removeItem(le.SchemaProgressMessage),localStorage.removeItem(le.ForeignKeyProgressMessage),localStorage.removeItem(le.ForeignKeyUpdateProgress),localStorage.removeItem(le.HasForeignKeyUpdateStarted),localStorage.removeItem(le.GeneratingResources),localStorage.removeItem(le.NumberOfShards),localStorage.removeItem(le.NumberOfInstances)}openConnectionProfileForm(e){this.dialog.open(CX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{IsSource:e,SourceDatabaseType:this.sourceDatabaseType}}).afterClosed().subscribe(()=>{this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},this.isSourceConnectionProfileSet="true"===localStorage.getItem(le.IsSourceConnectionProfileSet),this.isTargetConnectionProfileSet="true"===localStorage.getItem(le.IsTargetConnectionProfileSet),this.isTargetDetailSet&&this.isSourceConnectionProfileSet&&this.isTargetConnectionProfileSet&&(localStorage.setItem(le.IsMigrationDetailSet,"true"),this.isMigrationDetailSet=!0)})}openMigrationProfileForm(){this.dialog.open(hJ,{width:"30vw",minWidth:"1200px",maxWidth:"1600px",data:{IsSource:!1,SourceDatabaseType:this.sourceDatabaseType,Region:this.region}}).afterClosed().subscribe(()=>{this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},null!=localStorage.getItem(le.NumberOfShards)&&(this.numberOfShards=localStorage.getItem(le.NumberOfShards)),null!=localStorage.getItem(le.NumberOfInstances)&&(this.numberOfInstances=localStorage.getItem(le.NumberOfInstances)),this.isSourceConnectionProfileSet="true"===localStorage.getItem(le.IsSourceConnectionProfileSet),this.isTargetConnectionProfileSet="true"===localStorage.getItem(le.IsTargetConnectionProfileSet),this.isTargetDetailSet&&this.isSourceConnectionProfileSet&&this.isTargetConnectionProfileSet&&(localStorage.setItem(le.IsMigrationDetailSet,"true"),this.isMigrationDetailSet=!0)})}openGcloudPopup(e){this.dialog.open(RX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:e})}openDataflowForm(){this.dialog.open(PX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:this.spannerConfig}).afterClosed().subscribe(()=>{this.dataflowConfig={network:localStorage.getItem("network"),subnetwork:localStorage.getItem("subnetwork"),hostProjectId:localStorage.getItem("hostProjectId"),maxWorkers:localStorage.getItem("maxWorkers"),numWorkers:localStorage.getItem("numWorkers"),serviceAccountEmail:localStorage.getItem("serviceAccountEmail")},this.isDataflowConfigurationSet="true"===localStorage.getItem("isDataflowConfigSet"),this.isSharded&&this.fetch.setDataflowDetailsForShardedMigrations(this.dataflowConfig).subscribe({next:()=>{},error:i=>{this.snack.openSnackBar(i.error,"Close")}})})}endMigration(){this.dialog.open(AX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{SpannerDatabaseName:this.resourcesGenerated.DatabaseName,SpannerDatabaseUrl:this.resourcesGenerated.DatabaseUrl,SourceDatabaseType:this.sourceDatabaseType,SourceDatabaseName:this.sourceDatabaseName}}).afterClosed().subscribe()}openSourceDetailsForm(){this.dialog.open(IX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:this.sourceDatabaseType}).afterClosed().subscribe(()=>{this.isSourceDetailsSet="true"===localStorage.getItem(le.IsSourceDetailsSet)})}openShardedBulkSourceDetailsForm(){this.dialog.open(jX,{width:"30vw",minWidth:"400px",maxWidth:"550px",data:{sourceDatabaseEngine:this.sourceDatabaseType,isRestoredSession:this.connectionType}}).afterClosed().subscribe(()=>{this.isSourceDetailsSet="true"===localStorage.getItem(le.IsSourceDetailsSet),null!=localStorage.getItem(le.NumberOfShards)&&(this.numberOfShards=localStorage.getItem(le.NumberOfShards)),null!=localStorage.getItem(le.NumberOfInstances)&&(this.numberOfInstances=localStorage.getItem(le.NumberOfInstances))})}openTargetDetailsForm(){this.dialog.open(cX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{Region:this.region,Instance:this.instance,Dialect:this.dialect}}).afterClosed().subscribe(()=>{this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},this.isTargetDetailSet="true"===localStorage.getItem(le.IsTargetDetailSet),(this.isSourceDetailsSet&&this.isTargetDetailSet&&this.connectionType===mi.SessionFile&&this.selectedMigrationMode!==Fo.schemaOnly||this.isTargetDetailSet&&this.selectedMigrationType==ci.bulkMigration&&this.connectionType!==mi.SessionFile||this.isTargetDetailSet&&this.selectedMigrationType==ci.bulkMigration&&this.connectionType===mi.SessionFile&&this.selectedMigrationMode===Fo.schemaOnly)&&(localStorage.setItem(le.IsMigrationDetailSet,"true"),this.isMigrationDetailSet=!0)})}migrate(){this.resetValues(),this.fetch.migrate({TargetDetails:this.targetDetails,DataflowConfig:this.dataflowConfig,IsSharded:this.isSharded,MigrationType:this.selectedMigrationType,MigrationMode:this.selectedMigrationMode,skipForeignKeys:this.isForeignKeySkipped}).subscribe({next:()=>{this.selectedMigrationMode==Fo.dataOnly?this.selectedMigrationType==ci.bulkMigration?(this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString())):(this.generatingResources=!0,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),this.snack.openSnackBar("Setting up dataflow and datastream jobs","Close")):(this.hasSchemaMigrationStarted=!0,localStorage.setItem(le.HasSchemaMigrationStarted,this.hasSchemaMigrationStarted.toString())),this.snack.openSnackBar("Migration started successfully","Close",5),this.subscribeMigrationProgress()},error:i=>{this.snack.openSnackBar(i.error,"Close"),this.isMigrationInProgress=!this.isMigrationInProgress,this.hasDataMigrationStarted=!1,this.hasSchemaMigrationStarted=!1,this.clearLocalStorage()}})}subscribeMigrationProgress(){var e=!1;this.subscription=function dX(t=0,n=td){return t<0&&(t=0),op(t,t,n)}(5e3).subscribe(i=>{this.fetch.getProgress().subscribe({next:o=>{""==o.ErrorMessage?o.ProgressStatus==Bs.SchemaMigrationComplete?(localStorage.setItem(le.SchemaMigrationProgress,"100"),this.schemaMigrationProgress=parseInt(localStorage.getItem(le.SchemaMigrationProgress)),this.selectedMigrationMode==Fo.schemaOnly?this.markMigrationComplete():this.selectedMigrationType==ci.lowDowntimeMigration?(this.markSchemaMigrationComplete(),this.generatingResources=!0,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),e||(this.snack.openSnackBar("Setting up dataflow and datastream jobs","Close"),e=!0)):(this.markSchemaMigrationComplete(),this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString()))):o.ProgressStatus==Bs.DataMigrationComplete?(this.selectedMigrationType!=ci.lowDowntimeMigration&&(this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString())),this.generatingResources=!1,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),this.markMigrationComplete()):o.ProgressStatus==Bs.DataWriteInProgress?(this.markSchemaMigrationComplete(),this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString()),localStorage.setItem(le.DataMigrationProgress,o.Progress.toString()),this.dataMigrationProgress=parseInt(localStorage.getItem(le.DataMigrationProgress))):o.ProgressStatus==Bs.ForeignKeyUpdateComplete?this.markMigrationComplete():o.ProgressStatus==Bs.ForeignKeyUpdateInProgress&&(this.markSchemaMigrationComplete(),this.selectedMigrationType==ci.bulkMigration&&(this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString())),this.markForeignKeyUpdateInitiation(),this.dataMigrationProgress=100,localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),localStorage.setItem(le.ForeignKeyUpdateProgress,o.Progress.toString()),this.foreignKeyUpdateProgress=parseInt(localStorage.getItem(le.ForeignKeyUpdateProgress)),this.generatingResources=!1,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),this.fetchGeneratedResources()):(this.errorMessage=o.ErrorMessage,this.subscription.unsubscribe(),this.isMigrationInProgress=!this.isMigrationInProgress,this.snack.openSnackBarWithoutTimeout(this.errorMessage,"Close"),this.schemaProgressMessage="Schema migration cancelled!",this.dataProgressMessage="Data migration cancelled!",this.foreignKeyProgressMessage="Foreign key update cancelled!",this.generatingResources=!1,this.isLowDtMigrationRunning=!1,this.clearLocalStorage())},error:o=>{this.snack.openSnackBar(o.error,"Close"),this.isMigrationInProgress=!this.isMigrationInProgress,this.clearLocalStorage()}})})}markForeignKeyUpdateInitiation(){this.dataMigrationProgress=100,this.dataProgressMessage="Data migration completed successfully!",localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),this.hasForeignKeyUpdateStarted=!0,this.foreignKeyUpdateProgress=parseInt(localStorage.getItem(le.ForeignKeyUpdateProgress))}markSchemaMigrationComplete(){this.schemaMigrationProgress=100,this.schemaProgressMessage="Schema migration completed successfully!",localStorage.setItem(le.SchemaMigrationProgress,this.schemaMigrationProgress.toString()),localStorage.setItem(le.SchemaProgressMessage,this.schemaProgressMessage)}downloadConfiguration(){this.fetch.getSourceProfile().subscribe({next:e=>{this.configuredMigrationProfile=e;var i=document.createElement("a");let o=JSON.stringify(this.configuredMigrationProfile,null,"\t").replace(/9223372036854776000/g,"9223372036854775807");i.href="data:text/json;charset=utf-8,"+encodeURIComponent(o),i.download=localStorage.getItem(Wt.TargetDB)+"-"+this.configuredMigrationProfile.configType+"-shardConfig.cfg",i.click()},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}fetchGeneratedResources(){this.fetch.getGeneratedResources().subscribe({next:e=>{this.isResourceGenerated=!0,this.resourcesGenerated=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}}),this.selectedMigrationType===ci.lowDowntimeMigration&&(this.isLowDtMigrationRunning=!0)}markMigrationComplete(){this.subscription.unsubscribe(),this.isMigrationInProgress=!this.isMigrationInProgress,this.dataProgressMessage="Data migration completed successfully!",this.schemaProgressMessage="Schema migration completed successfully!",this.schemaMigrationProgress=100,this.dataMigrationProgress=100,this.foreignKeyUpdateProgress=100,this.foreignKeyProgressMessage="Foreign key updated successfully!",this.fetchGeneratedResources(),this.clearLocalStorage(),this.refreshPrerequisites()}resetValues(){this.isMigrationInProgress=!this.isMigrationInProgress,this.hasSchemaMigrationStarted=!1,this.hasDataMigrationStarted=!1,this.generatingResources=!1,this.dataMigrationProgress=0,this.schemaMigrationProgress=0,this.schemaProgressMessage="Schema migration in progress...",this.dataProgressMessage="Data migration in progress...",this.isResourceGenerated=!1,this.hasForeignKeyUpdateStarted=!1,this.foreignKeyUpdateProgress=100,this.foreignKeyProgressMessage="Foreign key update in progress...",this.resourcesGenerated={DatabaseName:"",DatabaseUrl:"",BucketName:"",BucketUrl:"",DataStreamJobName:"",DataStreamJobUrl:"",DataflowJobName:"",DataflowJobUrl:"",DataflowGcloudCmd:"",ShardToDatastreamMap:new Map,ShardToDataflowMap:new Map},this.initializeLocalStorage()}initializeLocalStorage(){localStorage.setItem(le.MigrationMode,this.selectedMigrationMode),localStorage.setItem(le.MigrationType,this.selectedMigrationType),localStorage.setItem(le.isForeignKeySkipped,this.isForeignKeySkipped.toString()),localStorage.setItem(le.IsMigrationInProgress,this.isMigrationInProgress.toString()),localStorage.setItem(le.HasSchemaMigrationStarted,this.hasSchemaMigrationStarted.toString()),localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString()),localStorage.setItem(le.HasForeignKeyUpdateStarted,this.hasForeignKeyUpdateStarted.toString()),localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),localStorage.setItem(le.SchemaMigrationProgress,this.schemaMigrationProgress.toString()),localStorage.setItem(le.ForeignKeyUpdateProgress,this.foreignKeyUpdateProgress.toString()),localStorage.setItem(le.SchemaProgressMessage,this.schemaProgressMessage),localStorage.setItem(le.DataProgressMessage,this.dataProgressMessage),localStorage.setItem(le.ForeignKeyProgressMessage,this.foreignKeyProgressMessage),localStorage.setItem(le.IsTargetDetailSet,this.isTargetDetailSet.toString()),localStorage.setItem(le.GeneratingResources,this.generatingResources.toString())}openSaveSessionSidenav(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("saveSession"),this.sidenav.setSidenavDatabaseName(this.conv.DatabaseName)}downloadSession(){dI(this.conv)}ngOnDestroy(){}}return t.\u0275fac=function(e){return new(e||t)(_(ns),_(Bi),_(Lo),_(Ln),_(Ei))},t.\u0275cmp=Oe({type:t,selectors:[["app-prepare-migration"]],decls:90,vars:34,consts:[[1,"header"],[1,"breadcrumb"],["mat-button","",1,"breadcrumb_source",3,"routerLink"],["mat-button","",1,"breadcrumb_workspace",3,"routerLink"],["mat-button","",1,"breadcrumb_prepare_migration",3,"routerLink"],[1,"header_action"],["mat-button","",3,"click"],["mat-button","","color","primary",3,"click"],[1,"body"],[1,"definition-container"],[4,"ngIf"],[1,"summary"],["mat-table","",3,"dataSource"],["matColumnDef","Title"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","Source"],["matColumnDef","Destination"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["appearance","outline"],[3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[1,"configure",3,"matTooltip"],[1,"mat-card-class"],["class","static-prereqs",4,"ngIf"],[1,"point"],[1,"bullet"],["matTooltip","Configure the database in Spanner you want this migration to write to (up till now only GCP Project ID and Spanner Instance name have been configured.)",1,"configure"],["mat-button","",1,"configure",3,"disabled","click"],["class","success","matTooltip","Target details configured","matTooltipPosition","above",4,"ngIf"],["class","point",4,"ngIf"],["class","mat-card-class",4,"ngIf"],["class","progress_bar",4,"ngIf"],[1,"migrate"],["mat-header-cell",""],["mat-cell",""],["mat-header-row",""],["mat-row",""],[3,"value"],[3,"ngModel","ngModelChange"],[1,"static-prereqs"],["href","https://cloud.google.com/datastream/docs/sources","target","_blank"],["href","https://cloud.google.com/dataflow/docs/concepts/security-and-permissions","target","_blank"],["href","https://cloud.google.com/dataflow/docs/guides/routes-firewall","target","_blank"],["class","success","matTooltip","Source details configured","matTooltipPosition","above",4,"ngIf"],["matTooltip","Source details configured","matTooltipPosition","above",1,"success"],["matTooltip","Configure the connection info of all source shards to connect to and migrate data from.",1,"configure"],["matTooltip","Target details configured","matTooltipPosition","above",1,"success"],["matTooltip","Datastream will be used to capture change events from the source database. Please ensure you have met the pre-requistes required for setting up Datastream in your GCP environment. ",1,"configure"],["class","success","matTooltip","Source connection profile configured","matTooltipPosition","above",4,"ngIf"],["matTooltip","Source connection profile configured","matTooltipPosition","above",1,"success"],["matTooltip","Configure the source connection profile to allow Datastream to read from your source database",1,"configure"],["matTooltip","Create a connection profile for datastream to write to a GCS bucket. Spanner migration tool will automatically create the bucket for you.",1,"configure"],["class","success","matTooltip","Target connection profile configured","matTooltipPosition","above",4,"ngIf"],["matTooltip","Target connection profile configured","matTooltipPosition","above",1,"success"],["class","bullet",4,"ngIf"],["matTooltip","Dataflow will be used to perform the actual migration of data from source to Spanner. This helps you configure the execution environment for Dataflow jobs e.g VPC.",1,"configure"],["matTooltip","Dataflow Configured","matTooltipPosition","above",1,"success"],["matTooltip","Download the configuration done above as JSON.",1,"configure"],["matTooltip","Download configured shards as JSON","matTooltipPosition","above"],[1,"progress_bar"],["mode","determinate",3,"value"],[1,"spinner"],[3,"diameter"],[1,"spinner-text"],["target","_blank",3,"href"],["mat-button","",1,"configure",3,"click"],["matTooltip","Equivalent gCloud command","matTooltipPosition","above"],[4,"ngFor","ngForOf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"a",2),h(3,"Select Source"),c(),d(4,"span"),h(5,">"),c(),d(6,"a",3),h(7),c(),d(8,"span"),h(9,">"),c(),d(10,"a",4)(11,"b"),h(12,"Prepare Migration"),c()()(),d(13,"div",5)(14,"button",6),N("click",function(){return i.openSaveSessionSidenav()}),h(15," SAVE SESSION "),c(),d(16,"button",7),N("click",function(){return i.downloadSession()}),h(17,"DOWNLOAD SESSION FILE"),c()()(),E(18,"br"),d(19,"div",8)(20,"div",9),b(21,pJ,2,0,"h2",10),b(22,fJ,2,0,"h2",10),d(23,"div",11)(24,"table",12),be(25,13),b(26,mJ,2,0,"th",14),b(27,gJ,3,1,"td",15),ve(),be(28,16),b(29,_J,2,0,"th",14),b(30,bJ,2,1,"td",15),ve(),be(31,17),b(32,vJ,2,0,"th",14),b(33,yJ,2,1,"td",15),ve(),b(34,CJ,1,0,"tr",18),b(35,wJ,1,0,"tr",19),c()()(),E(36,"br"),d(37,"mat-form-field",20)(38,"mat-label"),h(39,"Migration Mode:"),c(),d(40,"mat-select",21),N("ngModelChange",function(r){return i.selectedMigrationMode=r})("selectionChange",function(){return i.refreshPrerequisites()}),b(41,DJ,2,2,"mat-option",22),c()(),d(42,"mat-icon",23),h(43,"info"),c(),E(44,"br"),b(45,MJ,9,3,"div",10),b(46,TJ,6,2,"div",10),d(47,"div",24)(48,"mat-card")(49,"mat-card-title"),h(50,"Prerequisites"),c(),d(51,"mat-card-subtitle"),h(52,"Before we begin, please ensure you have done the following:"),c(),b(53,kJ,6,0,"div",25),b(54,EJ,20,0,"div",25),c()(),d(55,"div",24)(56,"mat-card"),b(57,OJ,14,2,"div",10),b(58,PJ,16,2,"div",10),d(59,"div")(60,"mat-card-title"),h(61,"Target details:"),c(),d(62,"p",26)(63,"span",27),h(64,"1"),c(),d(65,"span"),h(66,"Configure Spanner Database "),d(67,"mat-icon",28),h(68," info"),c()(),d(69,"span")(70,"button",29),N("click",function(){return i.openTargetDetailsForm()}),h(71," Configure "),d(72,"mat-icon"),h(73,"edit"),c(),b(74,RJ,2,0,"mat-icon",30),c()()(),b(75,NJ,13,2,"p",31),b(76,BJ,13,2,"p",31),b(77,jJ,13,2,"p",31),b(78,zJ,14,3,"p",31),b(79,GJ,11,2,"p",31),c()()(),b(80,WJ,25,3,"div",32),b(81,qJ,32,6,"div",32),b(82,KJ,5,2,"div",33),b(83,ZJ,5,2,"div",33),b(84,QJ,5,2,"div",33),b(85,YJ,8,1,"div",10),b(86,ree,18,9,"div",10),d(87,"div",34),b(88,see,3,1,"span",10),b(89,aee,3,0,"span",10),c()()),2&e&&(f(2),m("routerLink","/"),f(4),m("routerLink","/workspace"),f(1),Se("Configure Schema (",i.dialect," Dialect)"),f(3),m("routerLink","/prepare-migration"),f(11),m("ngIf",!i.isSharded),f(1),m("ngIf",i.isSharded),f(2),m("dataSource",i.dataSource),f(10),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns),f(5),m("ngModel",i.selectedMigrationMode),f(1),m("ngForOf",i.migrationModes),f(1),m("matTooltip",i.migrationModesHelpText.get(i.selectedMigrationMode)),f(3),m("ngIf","Schema"!=i.selectedMigrationMode),f(1),m("ngIf",!("Schema"===i.selectedMigrationMode||"lowdt"===i.selectedMigrationType)),f(7),m("ngIf","bulk"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(3),m("ngIf","sessionFile"===i.connectionType&&"Schema"!==i.selectedMigrationMode&&!i.isSharded),f(1),m("ngIf",i.isSharded&&"bulk"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(12),m("disabled",i.isMigrationInProgress||i.isLowDtMigrationRunning),f(4),m("ngIf",i.isTargetDetailSet),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&i.isSharded),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&!i.isSharded),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&!i.isSharded),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&i.isSharded),f(1),m("ngIf","Schema"!==i.selectedMigrationMode&&i.isSharded),f(1),m("ngIf",i.isTargetDetailSet),f(1),m("ngIf",i.hasSchemaMigrationStarted),f(1),m("ngIf",i.hasDataMigrationStarted),f(1),m("ngIf",i.hasForeignKeyUpdateStarted),f(1),m("ngIf",i.generatingResources),f(1),m("ngIf",i.isResourceGenerated),f(2),m("ngIf",!i.isLowDtMigrationRunning),f(1),m("ngIf",i.isLowDtMigrationRunning))},directives:[BM,jd,Ht,Et,Is,Xr,Yr,Jr,Qr,es,Os,Ps,As,Rs,En,Mn,Qi,bn,El,ri,_i,_n,ki,$h,ox,rx,lx,Ji],pipes:[YD],styles:[".header[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb_workspace[_ngcontent-%COMP%]{color:#0000008f}.header[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb_prepare_migration[_ngcontent-%COMP%]{font-weight:400;font-size:14px}.definition-container[_ngcontent-%COMP%]{max-height:500px;overflow:auto}.definition-container[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:13px}.body[_ngcontent-%COMP%]{margin-left:20px}table[_ngcontent-%COMP%]{min-width:30%;max-width:50%}table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:10%}.configure[_ngcontent-%COMP%]{color:#1967d2}.migrate[_ngcontent-%COMP%]{margin-top:10px}"]}),t})()},{path:"**",redirectTo:"/",pathMatch:"full"}];let cee=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[rI.forRoot(lee)],rI]}),t})();function dee(t,n){if(1&t&&(d(0,"mat-option",13),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function uee(t,n){if(1&t&&(d(0,"mat-option",13),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function hee(t,n){if(1&t&&(d(0,"mat-form-field",1)(1,"mat-label"),h(2,"Destination data type"),c(),d(3,"mat-select",14),b(4,uee,2,2,"mat-option",10),c()()),2&t){const e=D();f(4),m("ngForOf",e.destinationType)}}function pee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",15),N("click",function(){return se(e),D().formSubmit()}),h(2," ADD RULE "),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.addGlobalDataTypeForm.valid&&e.ruleNameValid))}}function fee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",16),N("click",function(){return se(e),D().deleteRule()}),h(2,"DELETE RULE"),c()()}}let mee=(()=>{class t{constructor(e,i,o,r,s){this.fb=e,this.data=i,this.sidenav=o,this.conversion=r,this.fetch=s,this.ruleNameValid=!1,this.ruleType="",this.ruleName="",this.resetRuleType=new Ae,this.conversionType={},this.sourceType=[],this.destinationType=[],this.viewRuleData=[],this.viewRuleFlag=!1,this.pgSQLToStandardTypeTypemap=new Map,this.standardTypeToPGSQLTypemap=new Map,this.conv={},this.isPostgreSQLDialect=!1,this.addGlobalDataTypeForm=this.fb.group({objectType:["column",de.required],table:["allTable",de.required],column:["allColumn",de.required],sourceType:["",de.required],destinationType:["",de.required]})}ngOnInit(){this.data.typeMap.subscribe({next:e=>{this.conversionType=e,this.sourceType=Object.keys(this.conversionType)}}),this.data.conv.subscribe({next:e=>{this.conv=e,this.isPostgreSQLDialect="postgresql"===this.conv.SpDialect}}),this.conversion.pgSQLToStandardTypeTypeMap.subscribe(e=>{this.pgSQLToStandardTypeTypemap=e}),this.conversion.standardTypeToPGSQLTypeMap.subscribe(e=>{this.standardTypeToPGSQLTypemap=e}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.viewRuleData&&this.setViewRuleData(this.viewRuleData)})})}setViewRuleData(e){var i,o,r;if(this.ruleId=null==e?void 0:e.Id,this.addGlobalDataTypeForm.controls.sourceType.setValue(Object.keys(null==e?void 0:e.Data)[0]),this.updateDestinationType(Object.keys(null==e?void 0:e.Data)[0]),this.isPostgreSQLDialect){let s=this.standardTypeToPGSQLTypemap.get(Object.values(null===(i=this.viewRuleData)||void 0===i?void 0:i.Data)[0]);this.addGlobalDataTypeForm.controls.destinationType.setValue(void 0===s?Object.values(null===(o=this.viewRuleData)||void 0===o?void 0:o.Data)[0]:s)}else this.addGlobalDataTypeForm.controls.destinationType.setValue(Object.values(null===(r=this.viewRuleData)||void 0===r?void 0:r.Data)[0]);this.addGlobalDataTypeForm.disable()}formSubmit(){const e=this.addGlobalDataTypeForm.value,i=e.sourceType,o={};if(this.isPostgreSQLDialect){let r=this.pgSQLToStandardTypeTypemap.get(e.destinationType);o[i]=void 0===r?e.destinationType:r}else o[i]=e.destinationType;this.applyRule(o),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}updateDestinationType(e){const i=this.conversionType[e],o=[];null==i||i.forEach(r=>{o.push(r.DisplayT)}),this.destinationType=o}applyRule(e){this.data.applyRule({Name:this.ruleName,Type:"global_datatype_change",ObjectType:"Column",AssociatedObjects:"All Columns",Enabled:!0,Data:e,Id:""})}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(_(Ts),_(Ln),_(Ei),_(Ca),_(Bi))},t.\u0275cmp=Oe({type:t,selectors:[["app-edit-global-datatype-form"]],inputs:{ruleNameValid:"ruleNameValid",ruleType:"ruleType",ruleName:"ruleName"},outputs:{resetRuleType:"resetRuleType"},decls:34,vars:5,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","objectType","required","true",1,"input-field"],["value","column"],["matSelect","","formControlName","table","required","true",1,"input-field"],["value","allTable"],["matSelect","","formControlName","column","required","true",1,"input-field"],["value","allColumn"],["matSelect","","formControlName","sourceType","required","true",1,"input-field",3,"selectionChange"],["sourceField",""],[3,"value",4,"ngFor","ngForOf"],["appearance","outline",4,"ngIf"],[4,"ngIf"],[3,"value"],["matSelect","","formControlName","destinationType","required","true",1,"input-field"],["mat-raised-button","","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"For object type"),c(),d(4,"mat-select",2)(5,"mat-option",3),h(6,"Column"),c()()(),d(7,"h3"),h(8,"When"),c(),d(9,"mat-form-field",1)(10,"mat-label"),h(11,"Table is"),c(),d(12,"mat-select",4)(13,"mat-option",5),h(14,"All tables"),c()()(),d(15,"mat-form-field",1)(16,"mat-label"),h(17,"and column is"),c(),d(18,"mat-select",6)(19,"mat-option",7),h(20,"All column"),c()()(),d(21,"h3"),h(22,"Convert from"),c(),d(23,"mat-form-field",1)(24,"mat-label"),h(25,"Source data type"),c(),d(26,"mat-select",8,9),N("selectionChange",function(){se(o);const s=$t(27);return i.updateDestinationType(s.value)}),b(28,dee,2,2,"mat-option",10),c()(),d(29,"h3"),h(30,"Convert to"),c(),b(31,hee,5,1,"mat-form-field",11),b(32,pee,3,1,"div",12),b(33,fee,3,0,"div",12),c()}if(2&e){const o=$t(27);m("formGroup",i.addGlobalDataTypeForm),f(28),m("ngForOf",i.sourceType),f(3),m("ngIf",o.selected),f(1),m("ngIf",!i.viewRuleFlag),f(1),m("ngIf",i.viewRuleFlag)}},directives:[Hn,Sn,En,Mn,Qi,bn,Xn,po,_i,ri,Et,Ht],styles:[".mat-form-field[_ngcontent-%COMP%]{width:100%;padding:0}"]}),t})();function gee(t,n){if(1&t&&(d(0,"mat-option",11),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function _ee(t,n){if(1&t&&(d(0,"mat-option",11),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Pe(e)}}function bee(t,n){if(1&t){const e=pe();d(0,"button",19),N("click",function(){se(e);const o=D().index;return D().removeColumnForm(o)}),d(1,"mat-icon"),h(2,"remove"),c(),d(3,"span"),h(4,"REMOVE COLUMN"),c()()}}function vee(t,n){if(1&t){const e=pe();be(0),d(1,"mat-card",12)(2,"div",13)(3,"mat-form-field",1)(4,"mat-label"),h(5,"Column Name"),c(),d(6,"mat-select",14),N("selectionChange",function(){return se(e),D().selectedColumnChange()}),b(7,_ee,2,2,"mat-option",3),c()(),d(8,"mat-form-field",1)(9,"mat-label"),h(10,"Sort"),c(),d(11,"mat-select",15)(12,"mat-option",16),h(13,"Ascending"),c(),d(14,"mat-option",17),h(15,"Descending"),c()()()(),b(16,bee,5,0,"button",18),c(),ve()}if(2&t){const e=n.index,i=D();f(2),m("formGroupName",e),f(5),m("ngForOf",i.addColumnsList[e]),f(9),m("ngIf",!i.viewRuleFlag)}}function yee(t,n){if(1&t){const e=pe();d(0,"button",20),N("click",function(){return se(e),D().addNewColumnForm()}),d(1,"mat-icon"),h(2,"add"),c(),d(3,"span"),h(4,"ADD COLUMN"),c()()}}function Cee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",21),N("click",function(){return se(e),D().addIndex()}),h(2," ADD RULE "),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.addIndexForm.valid&&e.ruleNameValid&&e.ColsArray.controls.length>0))}}function wee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",22),N("click",function(){return se(e),D().deleteRule()}),h(2," DELETE RULE "),c()()}}let Dee=(()=>{class t{constructor(e,i,o,r){this.fb=e,this.data=i,this.sidenav=o,this.conversion=r,this.ruleNameValid=!1,this.ruleName="",this.ruleType="",this.resetRuleType=new Ae,this.tableNames=[],this.totalColumns=[],this.addColumnsList=[],this.commonColumns=[],this.viewRuleData={},this.viewRuleFlag=!1,this.conv={},this.ruleId="",this.addIndexForm=this.fb.group({tableName:["",de.required],indexName:["",[de.required,de.pattern("^[a-zA-Z].{0,59}$")]],ColsArray:this.fb.array([])})}ngOnInit(){this.data.conv.subscribe({next:e=>{this.conv=e,this.tableNames=Object.keys(e.SpSchema).map(i=>e.SpSchema[i].Name)}}),this.sidenav.sidenavAddIndexTable.subscribe({next:e=>{this.addIndexForm.controls.tableName.setValue(e),""!==e&&this.selectedTableChange(e)}}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.viewRuleData&&this.viewRuleFlag&&this.getRuleData(this.viewRuleData)})})}getRuleData(e){var i,o,r,s,a;this.ruleId=null==e?void 0:e.Id;let l=null===(o=this.conv.SpSchema[null===(i=null==e?void 0:e.Data)||void 0===i?void 0:i.TableId])||void 0===o?void 0:o.Name;this.addIndexForm.controls.tableName.setValue(l),this.addIndexForm.controls.indexName.setValue(null===(r=null==e?void 0:e.Data)||void 0===r?void 0:r.Name),this.selectedTableChange(l),this.setColArraysForViewRules(null===(s=null==e?void 0:e.Data)||void 0===s?void 0:s.TableId,null===(a=null==e?void 0:e.Data)||void 0===a?void 0:a.Keys),this.addIndexForm.disable()}setColArraysForViewRules(e,i){var o;if(this.ColsArray.clear(),i)for(let r=0;r<(null==i?void 0:i.length);r++){this.updateCommonColumns(),this.addColumnsList.push([...this.commonColumns]);let s=null===(o=this.conv.SpSchema[e])||void 0===o?void 0:o.ColDefs[i[r].ColId].Name,a=this.fb.group({columnName:[s,de.required],sort:[i[r].Desc.toString(),de.required]});this.ColsArray.push(a)}}get ColsArray(){return this.addIndexForm.controls.ColsArray}selectedTableChange(e){let i=this.conversion.getTableIdFromSpName(e,this.conv);if(i){let o=this.conv.SpSchema[i];this.totalColumns=this.conv.SpSchema[i].ColIds.map(r=>o.ColDefs[r].Name)}this.ColsArray.clear(),this.commonColumns=[],this.addColumnsList=[],this.updateCommonColumns()}addNewColumnForm(){let e=this.fb.group({columnName:["",de.required],sort:["",de.required]});this.ColsArray.push(e),this.updateCommonColumns(),this.addColumnsList.push([...this.commonColumns])}selectedColumnChange(){this.updateCommonColumns(),this.addColumnsList=this.addColumnsList.map((e,i)=>{const o=[...this.commonColumns];return""!==this.ColsArray.value[i].columnName&&o.push(this.ColsArray.value[i].columnName),o})}updateCommonColumns(){this.commonColumns=this.totalColumns.filter(e=>{let i=!0;return this.ColsArray.value.forEach(o=>{o.columnName===e&&(i=!1)}),i})}removeColumnForm(e){this.ColsArray.removeAt(e),this.addColumnsList=this.addColumnsList.filter((i,o)=>o!==e),this.selectedColumnChange()}addIndex(){let e=this.addIndexForm.value,i=[],o=this.conversion.getTableIdFromSpName(e.tableName,this.conv);i.push({Name:e.indexName,TableId:o,Unique:!1,Keys:e.ColsArray.map((r,s)=>({ColId:this.conversion.getColIdFromSpannerColName(r.columnName,o,this.conv),Desc:"true"===r.sort,Order:s+1})),Id:""}),this.applyRule(i[0]),this.resetRuleType.emit(""),this.sidenav.setSidenavAddIndexTable(""),this.sidenav.closeSidenav()}applyRule(e){let o=this.conversion.getTableIdFromSpName(this.addIndexForm.value.tableName,this.conv);this.data.applyRule({Name:this.ruleName,Type:"add_index",ObjectType:"Table",AssociatedObjects:o,Enabled:!0,Data:e,Id:""})}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.setSidenavAddIndexTable(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(_(Ts),_(Ln),_(Ei),_(Ca))},t.\u0275cmp=Oe({type:t,selectors:[["app-add-index-form"]],inputs:{ruleNameValid:"ruleNameValid",ruleName:"ruleName",ruleType:"ruleType"},outputs:{resetRuleType:"resetRuleType"},decls:18,vars:7,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","tableName","required","true",1,"input-field",3,"selectionChange"],[3,"value",4,"ngFor","ngForOf"],["hintLabel","Max. 60 characters, and starts with a letter.","appearance","outline"],["matInput","","formControlName","indexName",1,"input-field"],["align","end"],["formArrayName","ColsArray",1,"addcol-form"],[4,"ngFor","ngForOf"],["mat-button","","color","primary","class","add-column-btn","type","button",3,"click",4,"ngIf"],[4,"ngIf"],[3,"value"],[1,"column-form-card"],[3,"formGroupName"],["matSelect","","formControlName","columnName","required","true",1,"input-field",3,"selectionChange"],["formControlName","sort","required","true",1,"input-field"],["value","false"],["value","true"],["mat-button","","color","primary",3,"click",4,"ngIf"],["mat-button","","color","primary",3,"click"],["mat-button","","color","primary","type","button",1,"add-column-btn",3,"click"],["mat-raised-button","","type","submit","color","primary",1,"add-column-btn",3,"disabled","click"],["mat-raised-button","","type","submit","color","primary",1,"add-column-btn",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"For Table"),c(),d(4,"mat-select",2),N("selectionChange",function(r){return i.selectedTableChange(r.value)}),b(5,gee,2,2,"mat-option",3),c()(),d(6,"mat-form-field",4)(7,"mat-label"),h(8,"Index Name"),c(),E(9,"input",5),d(10,"mat-hint",6),h(11),c()(),be(12,7),b(13,vee,17,3,"ng-container",8),b(14,yee,5,0,"button",9),E(15,"br"),b(16,Cee,3,1,"div",10),b(17,wee,3,0,"div",10),ve(),c()),2&e&&(m("formGroup",i.addIndexForm),f(5),m("ngForOf",i.tableNames),f(6),Se("",(null==i.addIndexForm.value.indexName?null:i.addIndexForm.value.indexName.length)||0,"/60"),f(2),m("ngForOf",i.ColsArray.controls),f(1),m("ngIf",i.addColumnsList.length{class t{constructor(e,i,o,r){this.fb=e,this.data=i,this.sidenav=o,this.conversion=r,this.ruleNameValid=!1,this.ruleName="",this.ruleType="",this.resetRuleType=new Ae,this.ruleId="",this.tableNames=[],this.viewRuleData=[],this.viewRuleFlag=!1,this.conv={},this.spTypes=[],this.hintlabel="",this.editColMaxLengthForm=this.fb.group({tableName:["",de.required],column:["allColumn",de.required],spDataType:["",de.required],maxColLength:["",[de.required,de.pattern("([1-9][0-9]*|MAX)")]]})}ngOnInit(){this.data.conv.subscribe({next:e=>{this.conv=e,this.tableNames=Object.keys(e.SpSchema).map(i=>e.SpSchema[i].Name),this.tableNames.push("All tables"),"postgresql"===this.conv.SpDialect?(this.spTypes=[{name:"VARCHAR",value:"STRING"}],this.hintlabel="Max "+di.StringMaxLength+" for VARCHAR"):(this.spTypes=[{name:"STRING",value:"STRING"},{name:"BYTES",value:"BYTES"}],this.hintlabel="Max "+di.StringMaxLength+" for STRING and "+di.ByteMaxLength+" for BYTES")}}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&this.sidenav.ruleData.subscribe(i=>{var o,r,s,a,l,u;if(this.viewRuleData=i,this.viewRuleData){this.ruleId=null===(o=this.viewRuleData)||void 0===o?void 0:o.Id;let p=null===(r=this.viewRuleData)||void 0===r?void 0:r.AssociatedObjects;this.editColMaxLengthForm.controls.tableName.setValue(p),this.editColMaxLengthForm.controls.spDataType.setValue(null===(a=null===(s=this.viewRuleData)||void 0===s?void 0:s.Data)||void 0===a?void 0:a.spDataType),this.editColMaxLengthForm.controls.maxColLength.setValue(null===(u=null===(l=this.viewRuleData)||void 0===l?void 0:l.Data)||void 0===u?void 0:u.spColMaxLength),this.editColMaxLengthForm.disable()}})})}formSubmit(){const e=this.editColMaxLengthForm.value;(("STRING"===e.spDataType||"VARCHAR"===e.spDataType)&&e.spColMaxLength>di.StringMaxLength||"BYTES"===e.spDataType&&e.spColMaxLength>di.ByteMaxLength)&&(e.spColMaxLength=di.StorageMaxLength);const i={spDataType:e.spDataType,spColMaxLength:e.maxColLength};let r=this.conversion.getTableIdFromSpName(e.tableName,this.conv);""===r&&(r="All tables"),this.data.applyRule({Name:this.ruleName,Type:"edit_column_max_length",ObjectType:"Table",AssociatedObjects:r,Enabled:!0,Data:i,Id:""}),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(_(Ts),_(Ln),_(Ei),_(Ca))},t.\u0275cmp=Oe({type:t,selectors:[["app-edit-column-max-length"]],inputs:{ruleNameValid:"ruleNameValid",ruleName:"ruleName",ruleType:"ruleType"},outputs:{resetRuleType:"resetRuleType"},decls:23,vars:6,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","tableName","required","true",1,"input-field"],[3,"value",4,"ngFor","ngForOf"],["matSelect","","formControlName","column","required","true",1,"input-field"],["value","allColumn"],["matSelect","","formControlName","spDataType","required","true",1,"input-field"],["appearance","outline",3,"hintLabel"],["matInput","","formControlName","maxColLength",1,"input-field"],[4,"ngIf"],[3,"value"],["mat-raised-button","","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"Table is"),c(),d(4,"mat-select",2),b(5,See,2,2,"mat-option",3),c()(),d(6,"mat-form-field",1)(7,"mat-label"),h(8,"and column is"),c(),d(9,"mat-select",4)(10,"mat-option",5),h(11,"All column"),c()()(),d(12,"mat-form-field",1)(13,"mat-label"),h(14,"and Spanner Type is"),c(),d(15,"mat-select",6),b(16,Mee,2,2,"mat-option",3),c()(),d(17,"mat-form-field",7)(18,"mat-label"),h(19,"Max column length"),c(),E(20,"input",8),c(),b(21,xee,3,1,"div",9),b(22,Tee,3,0,"div",9),c()),2&e&&(m("formGroup",i.editColMaxLengthForm),f(5),m("ngForOf",i.tableNames),f(11),m("ngForOf",i.spTypes),f(1),m("hintLabel",i.hintlabel),f(4),m("ngIf",!i.viewRuleFlag),f(1),m("ngIf",i.viewRuleFlag))},directives:[Hn,Sn,En,Mn,Qi,bn,Xn,po,ri,_i,li,Dn,Et,Ht],styles:[""]}),t})();function Eee(t,n){if(1&t&&(d(0,"mat-option",7),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Pe(e.display)}}function Iee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",8),N("click",function(){return se(e),D().formSubmit()}),h(2," ADD RULE "),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.addShardIdPrimaryKeyForm.valid&&e.ruleNameValid))}}function Oee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",9),N("click",function(){return se(e),D().deleteRule()}),h(2,"DELETE RULE"),c()()}}let Aee=(()=>{class t{constructor(e,i,o){this.fb=e,this.data=i,this.sidenav=o,this.ruleNameValid=!1,this.ruleName="",this.ruleType="",this.resetRuleType=new Ae,this.viewRuleFlag=!1,this.viewRuleData={},this.primaryKeyOrder=[{value:!0,display:"At the beginning"},{value:!1,display:"At the end"}],this.addShardIdPrimaryKeyForm=this.fb.group({table:["allTable",de.required],primaryKeyOrder:["",de.required]})}ngOnInit(){this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&(this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.viewRuleData&&this.setViewRuleData(this.viewRuleData)}),this.addShardIdPrimaryKeyForm.disable())})}formSubmit(){this.data.applyRule({Name:this.ruleName,Type:"add_shard_id_primary_key",AssociatedObjects:"All Tables",Enabled:!0,Data:{AddedAtTheStart:this.addShardIdPrimaryKeyForm.value.primaryKeyOrder},Id:""}),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}setViewRuleData(e){var i;this.ruleId=null==e?void 0:e.Id,this.addShardIdPrimaryKeyForm.controls.primaryKeyOrder.setValue(null===(i=null==e?void 0:e.Data)||void 0===i?void 0:i.AddedAtTheStart)}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(_(Ts),_(Ln),_(Ei))},t.\u0275cmp=Oe({type:t,selectors:[["app-add-shard-id-primary-key"]],inputs:{ruleNameValid:"ruleNameValid",ruleName:"ruleName",ruleType:"ruleType"},outputs:{resetRuleType:"resetRuleType"},decls:14,vars:4,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","table","required","true",1,"input-field"],["value","allTable"],["matSelect","","formControlName","primaryKeyOrder","required","true",1,"input-field"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],[3,"value"],["mat-raised-button","","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"Table is"),c(),d(4,"mat-select",2)(5,"mat-option",3),h(6,"All tables"),c()()(),d(7,"mat-form-field",1)(8,"mat-label"),h(9,"Order in Primary Key"),c(),d(10,"mat-select",4),b(11,Eee,2,2,"mat-option",5),c()(),b(12,Iee,3,1,"div",6),b(13,Oee,3,0,"div",6),c()),2&e&&(m("formGroup",i.addShardIdPrimaryKeyForm),f(11),m("ngForOf",i.primaryKeyOrder),f(1),m("ngIf",!i.viewRuleFlag),f(1),m("ngIf",i.viewRuleFlag))},directives:[Hn,Sn,En,Mn,Qi,bn,Xn,po,_i,ri,Et,Ht],styles:[""]}),t})();function Pee(t,n){1&t&&(d(0,"mat-option",18),h(1,"Add shard id column as primary key"),c())}function Ree(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-edit-global-datatype-form",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}function Fee(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-add-index-form",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}function Nee(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-edit-column-max-length",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}function Lee(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-add-shard-id-primary-key",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}let Bee=(()=>{class t{constructor(e,i){this.sidenav=e,this.data=i,this.currentRules=[],this.ruleForm=new an({ruleName:new X("",[de.required,de.pattern("^[a-zA-Z].{0,59}$")]),ruleType:new X("",[de.required])}),this.rulename="",this.ruletype="",this.viewRuleData=[],this.viewRuleFlag=!1,this.shardedMigration=!1}ngOnInit(){this.data.conv.subscribe({next:e=>{Object.keys(e.SpSchema),this.shardedMigration=!!e.IsSharded}}),this.ruleForm.valueChanges.subscribe(()=>{var e,i;this.rulename=null===(e=this.ruleForm.controls.ruleName)||void 0===e?void 0:e.value,this.ruletype=null===(i=this.ruleForm.controls.ruleType)||void 0===i?void 0:i.value}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag?this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.setViewRuleData(this.viewRuleData)}):(this.ruleForm.enable(),this.ruleForm.controls.ruleType.setValue(""),this.sidenav.sidenavRuleType.subscribe(i=>{"addIndex"===i&&this.ruleForm.controls.ruleType.setValue("addIndex")}))})}setViewRuleData(e){var i;this.ruleForm.disable(),this.ruleForm.controls.ruleName.setValue(null==e?void 0:e.Name),this.ruleForm.controls.ruleType.setValue(this.getViewRuleType(null===(i=this.viewRuleData)||void 0===i?void 0:i.Type))}closeSidenav(){this.sidenav.closeSidenav()}get ruleType(){var e;return null===(e=this.ruleForm.get("ruleType"))||void 0===e?void 0:e.value}resetRuleType(){this.ruleForm.controls.ruleType.setValue(""),this.ruleForm.controls.ruleName.setValue(""),this.ruleForm.markAsUntouched()}getViewRuleType(e){switch(e){case"add_index":return"addIndex";case"global_datatype_change":return"globalDataType";case"edit_column_max_length":return"changeMaxLength";case"add_shard_id_primary_key":return"addShardIdPrimaryKey"}return""}}return t.\u0275fac=function(e){return new(e||t)(_(Ei),_(Ln))},t.\u0275cmp=Oe({type:t,selectors:[["app-sidenav-rule"]],inputs:{currentRules:"currentRules"},decls:36,vars:8,consts:[[1,"sidenav"],[1,"sidenav-header"],[1,"header-title"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"sidenav-content"],[3,"formGroup"],["hintLabel","Max. 60 characters, and starts with a letter.","appearance","outline"],["matInput","","formControlName","ruleName",1,"input-field"],["align","end"],["appearance","outline"],["matSelect","","formControlName","ruleType","required","true",1,"input-field"],["ruleType",""],["value","globalDataType"],["value","addIndex"],["value","changeMaxLength"],["value","addShardIdPrimaryKey",4,"ngIf"],[4,"ngIf"],["value","addShardIdPrimaryKey"],[3,"ruleNameValid","ruleName","ruleType","resetRuleType"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3),c(),d(4,"button",3),N("click",function(){return i.closeSidenav()}),d(5,"mat-icon",4),h(6,"close"),c()()(),d(7,"div",5)(8,"form",6)(9,"h3"),h(10,"Rule info"),c(),d(11,"mat-form-field",7)(12,"mat-label"),h(13,"Rule name"),c(),E(14,"input",8),d(15,"mat-hint",9),h(16),c()(),d(17,"h3"),h(18,"Rule definition"),c(),d(19,"mat-form-field",10)(20,"mat-label"),h(21,"Rule type"),c(),d(22,"mat-select",11,12)(24,"mat-option",13),h(25,"Change global data type"),c(),d(26,"mat-option",14),h(27,"Add Index"),c(),d(28,"mat-option",15),h(29,"Change default max column length"),c(),b(30,Pee,2,0,"mat-option",16),c()(),E(31,"br"),c(),b(32,Ree,2,3,"div",17),b(33,Fee,2,3,"div",17),b(34,Nee,2,3,"div",17),b(35,Lee,2,3,"div",17),c()()),2&e){const o=$t(23);f(3),Pe(i.viewRuleFlag?"View Rule":"Add Rule"),f(5),m("formGroup",i.ruleForm),f(8),Se("",(null==i.ruleForm.value.ruleName?null:i.ruleForm.value.ruleName.length)||0,"/60"),f(14),m("ngIf",i.shardedMigration),f(2),m("ngIf","globalDataType"===o.value),f(1),m("ngIf","addIndex"===o.value),f(1),m("ngIf","changeMaxLength"===o.value),f(1),m("ngIf","addShardIdPrimaryKey"===o.value)}},directives:[Ht,_n,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,np,Qi,po,_i,Et,mee,Dee,kee,Aee],styles:["mat-form-field[_ngcontent-%COMP%]{padding-bottom:0} .mat-form-field-wrapper{padding-bottom:14px}"]}),t})(),Vee=(()=>{class t{constructor(e,i,o,r){this.fetch=e,this.data=i,this.snack=o,this.sidenav=r,this.errMessage="",this.saveSessionForm=new an({SessionName:new X("",[de.required,de.pattern("^[a-zA-Z][a-zA-Z0-9_ -]{0,59}$")]),EditorName:new X("",[de.required,de.pattern("^[a-zA-Z][a-zA-Z0-9_ -]{0,59}$")]),DatabaseName:new X("",[de.required,de.pattern("^[a-zA-Z][a-zA-Z0-9_-]{0,59}$")]),Notes:new X("")})}saveSession(){var e,i;let o=this.saveSessionForm.value,r={SessionName:o.SessionName.trim(),EditorName:o.EditorName.trim(),DatabaseName:o.DatabaseName.trim(),Notes:""===(null===(e=o.Notes)||void 0===e?void 0:e.trim())||null===o.Notes?[""]:null===(i=o.Notes)||void 0===i?void 0:i.split("\n")};this.fetch.saveSession(r).subscribe({next:s=>{this.data.getAllSessions(),this.snack.openSnackBar("Session saved successfully","Close",5)},error:s=>{this.snack.openSnackBar(s.error,"Close")}}),this.saveSessionForm.reset(),this.saveSessionForm.markAsUntouched(),this.closeSidenav()}ngOnInit(){this.sidenav.sidenavDatabaseName.subscribe({next:e=>{this.saveSessionForm.controls.DatabaseName.setValue(e)}})}closeSidenav(){this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(_(Bi),_(Ln),_(Lo),_(Ei))},t.\u0275cmp=Oe({type:t,selectors:[["app-sidenav-save-session"]],decls:40,vars:5,consts:[[1,"sidenav"],[1,"sidenav-header"],[1,"header-title"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"sidenav-content"],[1,"save-session-form",3,"formGroup"],["hintLabel","Letters, numbers, hyphen, space and underscore allowed. Max. 60 characters, and starts with a letter.","appearance","outline"],["matInput","","placeholder","mysession","type","text","formControlName","SessionName","matTooltip","User can view saved sessions under session history section","matTooltipPosition","above"],["align","end"],["hintLabel","Letters, numbers, hyphen, space and underscore allowed. Max. 60 characters, and starts with a letter.","appearance","outline",1,"full-width"],["matInput","","placeholder","editor name","type","text","formControlName","EditorName"],["hintLabel","Letters, numbers, hyphen and underscores allowed. Max. 60 characters, and starts with a letter.","appearance","outline",1,"full-width"],["matInput","","type","text","formControlName","DatabaseName"],["appearance","outline",1,"full-width"],["rows","7","matInput","","placeholder","added new index","type","text","formControlName","Notes"],[1,"sidenav-footer"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3,"Save Session"),c(),d(4,"button",3),N("click",function(){return i.closeSidenav()}),d(5,"mat-icon",4),h(6,"close"),c()()(),d(7,"div",5)(8,"h3"),h(9,"Session Details"),c(),d(10,"form",6)(11,"mat-form-field",7)(12,"mat-label"),h(13,"Session Name"),c(),E(14,"input",8),d(15,"mat-hint",9),h(16),c()(),E(17,"br"),d(18,"mat-form-field",10)(19,"mat-label"),h(20,"Editor Name"),c(),E(21,"input",11),d(22,"mat-hint",9),h(23),c()(),E(24,"br"),d(25,"mat-form-field",12)(26,"mat-label"),h(27,"Database Name"),c(),E(28,"input",13),d(29,"mat-hint",9),h(30),c()(),E(31,"br"),d(32,"mat-form-field",14)(33,"mat-label"),h(34,"Notes"),c(),E(35,"textarea",15),c(),E(36,"br"),c()(),d(37,"div",16)(38,"button",17),N("click",function(){return i.saveSession()}),h(39," Save Session "),c()()()),2&e&&(f(10),m("formGroup",i.saveSessionForm),f(6),Se("",(null==i.saveSessionForm.value.SessionName?null:i.saveSessionForm.value.SessionName.length)||0,"/60"),f(7),Se("",(null==i.saveSessionForm.value.EditorName?null:i.saveSessionForm.value.EditorName.length)||0,"/60"),f(7),Se("",(null==i.saveSessionForm.value.DatabaseName?null:i.saveSessionForm.value.DatabaseName.length)||0,"/60"),f(8),m("disabled",!i.saveSessionForm.valid))},directives:[Ht,_n,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,ki,np],styles:[".mat-form-field[_ngcontent-%COMP%]{padding-bottom:10px}"]}),t})();function jee(t,n){1&t&&(d(0,"th",9),h(1,"Column"),c())}function Hee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.ColumnName)}}function Uee(t,n){1&t&&(d(0,"th",9),h(1,"Type"),c())}function zee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.Type)}}function $ee(t,n){1&t&&(d(0,"th",9),h(1,"Updated Column"),c())}function Gee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.UpdateColumnName)}}function Wee(t,n){1&t&&(d(0,"th",9),h(1,"Updated Type"),c())}function qee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.UpdateType)}}function Kee(t,n){1&t&&E(0,"tr",11)}function Zee(t,n){1&t&&E(0,"tr",12)}let Qee=(()=>{class t{constructor(){this.tableChange={InterleaveColumnChanges:[],Table:""},this.dataSource=[],this.displayedColumns=["ColumnName","Type","UpdateColumnName","UpdateType"]}ngOnInit(){}ngOnChanges(e){var i;this.tableChange=(null===(i=e.tableChange)||void 0===i?void 0:i.currentValue)||this.tableChange,this.dataSource=this.tableChange.InterleaveColumnChanges}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Oe({type:t,selectors:[["app-table-column-changes-preview"]],inputs:{tableChange:"tableChange"},features:[nn],decls:15,vars:3,consts:[["mat-table","",1,"object-full-width","margin-bot-1",3,"dataSource"],["matColumnDef","ColumnName"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","Type"],["matColumnDef","UpdateColumnName"],["matColumnDef","UpdateType"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell",""],["mat-header-row",""],["mat-row",""]],template:function(e,i){1&e&&(d(0,"table",0),be(1,1),b(2,jee,2,0,"th",2),b(3,Hee,2,1,"td",3),ve(),be(4,4),b(5,Uee,2,0,"th",2),b(6,zee,2,1,"td",3),ve(),be(7,5),b(8,$ee,2,0,"th",2),b(9,Gee,2,1,"td",3),ve(),be(10,6),b(11,Wee,2,0,"th",2),b(12,qee,2,1,"td",3),ve(),b(13,Kee,1,0,"tr",7),b(14,Zee,1,0,"tr",8),c()),2&e&&(m("dataSource",i.dataSource),f(13),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns))},directives:[Is,Xr,Yr,Jr,Qr,es,Os,Ps,As,Rs],styles:[".margin-bot-1[_ngcontent-%COMP%]{margin-bottom:1rem}.mat-header-row[_ngcontent-%COMP%]{background-color:#f5f5f5}.mat-column-ColumnName[_ngcontent-%COMP%], .mat-column-UpdateColumnName[_ngcontent-%COMP%]{width:30%;max-width:30%}.mat-column-Type[_ngcontent-%COMP%], .mat-column-UpdateType[_ngcontent-%COMP%]{width:20%;max-width:20%}.mat-cell[_ngcontent-%COMP%]{padding-right:1rem;word-break:break-all}"]}),t})();function Yee(t,n){1&t&&(d(0,"p"),h(1,"Review the DDL changes below."),c())}function Xee(t,n){if(1&t&&(d(0,"p"),h(1," Changing an interleaved table will have an impact on the following tables : "),d(2,"b"),h(3),c()()),2&t){const e=D();f(3),Pe(e.tableList)}}function Jee(t,n){if(1&t&&(d(0,"div",11)(1,"pre")(2,"code"),h(3),c()()()),2&t){const e=D();f(3),Pe(e.ddl)}}function ete(t,n){if(1&t&&(be(0),d(1,"h4"),h(2),c(),E(3,"app-table-column-changes-preview",14),ve()),2&t){const e=n.$implicit,i=n.index,o=D(2);f(2),Pe(o.tableNames[i]),f(1),m("tableChange",e)}}function tte(t,n){if(1&t&&(d(0,"div",12),b(1,ete,4,2,"ng-container",13),c()),2&t){const e=D();f(1),m("ngForOf",e.tableChanges)}}let nte=(()=>{class t{constructor(e,i,o,r){this.sidenav=e,this.tableUpdatePubSub=i,this.data=o,this.snackbar=r,this.ddl="",this.showDdl=!0,this.tableUpdateData={tableName:"",tableId:"",updateDetail:{UpdateCols:{}}},this.tableChanges=[],this.tableNames=[],this.tableList=""}ngOnInit(){this.tableUpdatePubSub.reviewTableChanges.subscribe(e=>{if(e.Changes&&e.Changes.length>0){this.showDdl=!1,this.tableChanges=e.Changes;const i=[];this.tableList="",this.tableChanges.forEach((o,r)=>{i.push(o.Table),this.tableList+=0==r?o.Table:", "+o.Table}),this.tableList+=".",this.tableNames=i}else this.showDdl=!0,this.ddl=e.DDL}),this.tableUpdatePubSub.tableUpdateDetail.subscribe(e=>{this.tableUpdateData=e})}updateTable(){this.data.updateTable(this.tableUpdateData.tableId,this.tableUpdateData.updateDetail).subscribe({next:e=>{""==e?(this.snackbar.openSnackBar(`Schema changes to table ${this.tableUpdateData.tableName} saved successfully`,"Close",5),0==this.showDdl&&1!=this.tableNames.length&&this.snackbar.openSnackBar(`Schema changes to tables ${this.tableNames[0]} and ${this.tableNames[1]} saved successfully`,"Close",5),this.closeSidenav()):this.snackbar.openSnackBar(e,"Close",5)}})}closeSidenav(){this.ddl="",this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(_(Ei),_(Rv),_(Ln),_(Lo))},t.\u0275cmp=Oe({type:t,selectors:[["app-sidenav-review-changes"]],decls:17,vars:4,consts:[[1,"sidenav"],[1,"sidenav-header"],[1,"header-title"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"sidenav-content"],[4,"ngIf"],["class","ddl-display",4,"ngIf"],["class","table-changes-display",4,"ngIf"],[1,"sidenav-footer"],["mat-raised-button","","color","primary",3,"click"],[1,"ddl-display"],[1,"table-changes-display"],[4,"ngFor","ngForOf"],[3,"tableChange"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3,"Review changes to your schema"),c(),d(4,"button",3),N("click",function(){return i.closeSidenav()}),d(5,"mat-icon",4),h(6,"close"),c()()(),E(7,"mat-divider"),d(8,"div",5),b(9,Yee,2,0,"p",6),b(10,Xee,4,1,"p",6),b(11,Jee,4,1,"div",7),b(12,tte,2,1,"div",8),c(),E(13,"mat-divider"),d(14,"div",9)(15,"button",10),N("click",function(){return i.updateTable()}),h(16,"Confirm Conversion"),c()()()),2&e&&(f(9),m("ngIf",i.showDdl),f(1),m("ngIf",!i.showDdl),f(1),m("ngIf",i.showDdl),f(1),m("ngIf",!i.showDdl))},directives:[Ht,_n,dT,Et,ri,Qee],styles:[".sidenav-content[_ngcontent-%COMP%]{height:82%}.sidenav-content[_ngcontent-%COMP%] .ddl-display[_ngcontent-%COMP%]{height:90%;background-color:#dadada;padding:10px;overflow:auto}.sidenav-content[_ngcontent-%COMP%] .table-changes-display[_ngcontent-%COMP%]{height:90%;overflow:auto}"]}),t})();function ite(t,n){1&t&&(d(0,"th",39),h(1,"Total tables"),c())}function ote(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.total)}}function rte(t,n){1&t&&(d(0,"th",39)(1,"mat-icon",41),h(2," error "),c(),h(3,"Converted with many issues "),c())}function ste(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.bad)}}function ate(t,n){1&t&&(d(0,"th",39)(1,"mat-icon",42),h(2," warning"),c(),h(3,"Conversion some warnings & suggestions "),c())}function lte(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.ok)}}function cte(t,n){1&t&&(d(0,"th",39)(1,"mat-icon",43),h(2," check_circle "),c(),h(3,"100% conversion "),c())}function dte(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Pe(e.good)}}function ute(t,n){1&t&&E(0,"tr",44)}function hte(t,n){1&t&&E(0,"tr",45)}function pte(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function fte(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function mte(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function gte(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function _te(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function bte(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function vte(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function yte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function Cte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function wte(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),b(2,yte,2,0,"mat-icon",37),b(3,Cte,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function Dte(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function Ste(t,n){1&t&&E(0,"tr",44)}function Mte(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function xte(t,n){1&t&&E(0,"tr",75)}const Kp=function(){return["expandedDetail"]};function Tte(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",46),h(4," error "),c(),h(5," ERRORS "),c()(),d(6,"table",47),be(7,48),b(8,pte,2,0,"th",49),b(9,fte,2,1,"td",50),ve(),be(10,51),b(11,mte,2,0,"th",52),b(12,gte,2,1,"td",53),ve(),be(13,54),b(14,_te,2,0,"th",55),b(15,bte,2,1,"td",56),ve(),be(16,57),b(17,vte,2,0,"th",58),b(18,wte,4,2,"td",59),ve(),be(19,60),b(20,Dte,4,3,"td",59),ve(),b(21,Ste,1,0,"tr",34),b(22,Mte,1,2,"tr",61),b(23,xte,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Errors),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Xo(4,Kp))}}function kte(t,n){1&t&&E(0,"br")}function Ete(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function Ite(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function Ote(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function Ate(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function Pte(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function Rte(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function Fte(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function Nte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function Lte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function Bte(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),b(2,Nte,2,0,"mat-icon",37),b(3,Lte,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function Vte(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function jte(t,n){1&t&&E(0,"tr",44)}function Hte(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function Ute(t,n){1&t&&E(0,"tr",75)}function zte(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",76),h(4," warning "),c(),h(5," WARNINGS "),c()(),d(6,"table",47),be(7,48),b(8,Ete,2,0,"th",49),b(9,Ite,2,1,"td",50),ve(),be(10,51),b(11,Ote,2,0,"th",52),b(12,Ate,2,1,"td",53),ve(),be(13,54),b(14,Pte,2,0,"th",55),b(15,Rte,2,1,"td",56),ve(),be(16,57),b(17,Fte,2,0,"th",58),b(18,Bte,4,2,"td",59),ve(),be(19,60),b(20,Vte,4,3,"td",59),ve(),b(21,jte,1,0,"tr",34),b(22,Hte,1,2,"tr",61),b(23,Ute,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Warnings),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Xo(4,Kp))}}function $te(t,n){1&t&&E(0,"br")}function Gte(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function Wte(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function qte(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function Kte(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function Zte(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function Qte(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function Yte(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function Xte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function Jte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function ene(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),b(2,Xte,2,0,"mat-icon",37),b(3,Jte,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function tne(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function nne(t,n){1&t&&E(0,"tr",44)}function ine(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function one(t,n){1&t&&E(0,"tr",75)}function rne(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",77),h(4," wb_incandescent "),c(),h(5," SUGGESTIONS "),c()(),d(6,"table",47),be(7,48),b(8,Gte,2,0,"th",49),b(9,Wte,2,1,"td",50),ve(),be(10,51),b(11,qte,2,0,"th",52),b(12,Kte,2,1,"td",53),ve(),be(13,54),b(14,Zte,2,0,"th",55),b(15,Qte,2,1,"td",56),ve(),be(16,57),b(17,Yte,2,0,"th",58),b(18,ene,4,2,"td",59),ve(),be(19,60),b(20,tne,4,3,"td",59),ve(),b(21,nne,1,0,"tr",34),b(22,ine,1,2,"tr",61),b(23,one,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Suggestions),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Xo(4,Kp))}}function sne(t,n){1&t&&E(0,"br")}function ane(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function lne(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function cne(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function dne(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function une(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function hne(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function pne(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function fne(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function mne(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function gne(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),b(2,fne,2,0,"mat-icon",37),b(3,mne,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function _ne(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function bne(t,n){1&t&&E(0,"tr",44)}function vne(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function yne(t,n){1&t&&E(0,"tr",75)}function Cne(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",78),h(4," check_circle "),c(),h(5," NOTES "),c()(),d(6,"table",47),be(7,48),b(8,ane,2,0,"th",49),b(9,lne,2,1,"td",50),ve(),be(10,51),b(11,cne,2,0,"th",52),b(12,dne,2,1,"td",53),ve(),be(13,54),b(14,une,2,0,"th",55),b(15,hne,2,1,"td",56),ve(),be(16,57),b(17,pne,2,0,"th",58),b(18,gne,4,2,"td",59),ve(),be(19,60),b(20,_ne,4,3,"td",59),ve(),b(21,bne,1,0,"tr",34),b(22,vne,1,2,"tr",61),b(23,yne,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Notes),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Xo(4,Kp))}}function wne(t,n){1&t&&E(0,"br")}function Dne(t,n){1&t&&(d(0,"div",79)(1,"div",80),hn(),d(2,"svg",81),E(3,"path",82),c()(),Ks(),d(4,"div",83),h(5," Woohoo! No issues or suggestions"),E(6,"br"),h(7,"found. "),c(),E(8,"br"),c())}const Bv=function(t){return{"width.%":t}};let Sne=(()=>{class t{constructor(e,i,o){this.sidenav=e,this.clickEvent=i,this.fetch=o,this.issueTableData_Errors=[],this.issueTableData_Warnings=[],this.issueTableData_Suggestions=[],this.issueTableData_Notes=[],this.columnsToDisplay=["position","description","tableCount"],this.columnsToDisplayWithExpand=[...this.columnsToDisplay,"expand"],this.expandedElements=new Set,this.srcDbType="",this.connectionDetail="",this.summaryText="",this.issueDescription={},this.conversionRateCount={good:0,ok:0,bad:0},this.conversionRatePercentage={good:0,ok:0,bad:0},this.rateCountDataSource=[],this.rateCountDisplayedColumns=["total","bad","ok","good"],this.ratePcDataSource=[],this.ratePcDisplayedColumns=["bad","ok","good"]}toggleRow(e){this.isRowExpanded(e)?this.expandedElements.delete(e):this.expandedElements.add(e)}isRowExpanded(e){return this.expandedElements.has(e)}ngOnInit(){this.clickEvent.viewAssesment.subscribe(e=>{this.srcDbType=e.srcDbType,this.connectionDetail=e.connectionDetail,this.conversionRateCount=e.conversionRates;let i=this.conversionRateCount.good+this.conversionRateCount.ok+this.conversionRateCount.bad;if(i>0)for(let o in this.conversionRatePercentage)this.conversionRatePercentage[o]=Number((this.conversionRateCount[o]/i*100).toFixed(2));i>0&&this.setRateCountDataSource(i),this.fetch.getDStructuredReport().subscribe({next:o=>{this.summaryText=o.summary.text}}),this.issueTableData={position:0,description:"",tableCount:0,tableNamesJoinedByComma:""},this.fetch.getIssueDescription().subscribe({next:o=>{this.issueDescription=o,this.generateIssueReport()}})})}closeSidenav(){this.sidenav.closeSidenav()}setRateCountDataSource(e){this.rateCountDataSource=[],this.rateCountDataSource.push({total:e,bad:this.conversionRateCount.bad,ok:this.conversionRateCount.ok,good:this.conversionRateCount.good})}downloadStructuredReport(){var e=document.createElement("a");this.fetch.getDStructuredReport().subscribe({next:i=>{let o=JSON.stringify(i).replace(/9223372036854776000/g,"9223372036854775807");e.href="data:text;charset=utf-8,"+encodeURIComponent(o),e.download=`${i.summary.dbName}_migration_structuredReport.json`,e.click()}})}downloadTextReport(){var e=document.createElement("a");this.fetch.getDTextReport().subscribe({next:i=>{let o=this.connectionDetail;e.href="data:text;charset=utf-8,"+encodeURIComponent(i),e.download=`${o}_migration_textReport.txt`,e.click()}})}downloadReports(){let e=new hI;this.fetch.getDStructuredReport().subscribe({next:i=>{let o=i.summary.dbName,r=JSON.stringify(i).replace(/9223372036854776000/g,"9223372036854775807");e.file(o+"_migration_structuredReport.json",r),this.fetch.getDTextReport().subscribe({next:a=>{e.file(o+"_migration_textReport.txt",a),e.generateAsync({type:"blob"}).then(l=>{var u=document.createElement("a");u.href=URL.createObjectURL(l),u.download=`${o}_reports`,u.click()})}})}})}generateIssueReport(){this.fetch.getDStructuredReport().subscribe({next:e=>{let i=e.tableReports;var o={errors:new Map,warnings:new Map,suggestions:new Map,notes:new Map};for(var r of i){let l=r.issues;if(null==l)return this.issueTableData_Errors=[],this.issueTableData_Warnings=[],this.issueTableData_Suggestions=[],void(this.issueTableData_Notes=[]);for(var s of l){let u={tableCount:0,tableNames:new Set};switch(s.issueType){case"Error":case"Errors":this.appendIssueWithTableInformation(s.issueList,o.errors,u,r);break;case"Warnings":case"Warning":this.appendIssueWithTableInformation(s.issueList,o.warnings,u,r);break;case"Suggestion":case"Suggestions":this.appendIssueWithTableInformation(s.issueList,o.suggestions,u,r);break;case"Note":case"Notes":this.appendIssueWithTableInformation(s.issueList,o.notes,u,r)}}}let a=o.warnings;this.issueTableData_Warnings=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Warnings),a=o.errors,this.issueTableData_Errors=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Errors),a=o.suggestions,this.issueTableData_Suggestions=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Suggestions),a=o.notes,this.issueTableData_Notes=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Notes)}})}populateTableData(e,i){let o=1;for(let[r,s]of e.entries()){let a=[...s.tableNames.keys()];i.push({position:o,description:this.issueDescription[r],tableCount:s.tableCount,tableNamesJoinedByComma:a.join(", ")}),o+=1}}appendIssueWithTableInformation(e,i,o,r){for(var s of e)if(i.has(s.category)){let l=i.get(s.category),u={tableNames:new Set(l.tableNames),tableCount:l.tableNames.size};u.tableNames.add(r.srcTableName),u.tableCount=u.tableNames.size,i.set(s.category,u)}else{let l=o;l.tableNames.add(r.srcTableName),l.tableCount=l.tableNames.size,i.set(s.category,l)}}}return t.\u0275fac=function(e){return new(e||t)(_(Ei),_(Bo),_(Bi))},t.\u0275cmp=Oe({type:t,selectors:[["app-sidenav-view-assessment"]],decls:87,vars:25,consts:[[1,"sidenav-view-assessment-container"],[1,"sidenav-view-assessment-header"],[1,"mat-h2","header-title"],[1,"btn-source-select"],[1,"reportsButtons"],["mat-raised-button","","color","primary",1,"split-button-left",3,"click"],["mat-raised-button","","color","primary",1,"split-button-right",3,"matMenuTriggerFor"],["aria-hidden","false","aria-label","More options"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"click"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"content"],[1,"summaryHeader"],[1,"databaseName"],[1,"migrationDetails"],[1,"summaryText"],[1,"sidenav-percentage-bar"],[1,"danger-background",3,"ngStyle"],[1,"warning-background",3,"ngStyle"],[1,"success-background",3,"ngStyle"],[1,"sidenav-percentage-indent"],[1,"icon","danger"],[1,"icon","warning"],[1,"icon","success"],[1,"sidenav-title"],["mat-table","",1,"sidenav-conversionByTable",3,"dataSource"],["matColumnDef","total"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","class","cells",4,"matCellDef"],["matColumnDef","bad",1,"bad"],["matColumnDef","ok"],["matColumnDef","good"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"issue-report"],[4,"ngIf"],["class","no-issue-container",4,"ngIf"],["mat-header-cell",""],["mat-cell","",1,"cells"],[1,"icon","danger","icon-size","icons"],[1,"icon","warning","icon-size","icons"],[1,"icon","success","icon-size","icons"],["mat-header-row",""],["mat-row",""],["matTooltip","Error: Please resolve them to proceed with the migration","matTooltipPosition","above",1,"danger"],["mat-table","","multiTemplateDataRows","",1,"sidenav-databaseDefinitions",3,"dataSource"],["matColumnDef","position"],["mat-header-cell","","class","mat-position",4,"matHeaderCellDef"],["mat-cell","","class","mat-position",4,"matCellDef"],["matColumnDef","description"],["mat-header-cell","","class","mat-description",4,"matHeaderCellDef"],["mat-cell","","class","mat-description",4,"matCellDef"],["matColumnDef","tableCount"],["mat-header-cell","","class","mat-tableCount",4,"matHeaderCellDef"],["mat-cell","","class","mat-tableCount",4,"matCellDef"],["matColumnDef","expand"],["mat-header-cell","","aria-label","row actions",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","expandedDetail"],["mat-row","","class","example-element-row",3,"example-expanded-row","click",4,"matRowDef","matRowDefColumns"],["mat-row","","class","example-detail-row",4,"matRowDef","matRowDefColumns"],["mat-header-cell","",1,"mat-position"],["mat-cell","",1,"mat-position"],["mat-header-cell","",1,"mat-description"],["mat-cell","",1,"mat-description"],["mat-header-cell","",1,"mat-tableCount"],["mat-cell","",1,"mat-tableCount"],["mat-header-cell","","aria-label","row actions"],["mat-cell",""],["mat-icon-button","","aria-label","expand row",3,"click"],[1,"example-element-detail",3,"ngClass"],[1,"example-element-description"],["mat-row","",1,"example-element-row",3,"click"],["mat-row","",1,"example-detail-row"],["matTooltip","Warning : Changes made because of differences in source and spanner capabilities.","matTooltipPosition","above",1,"warning"],["matTooltip","Suggestion : We highly recommend you make these changes or else it will impact your DB performance.","matTooltipPosition","above",1,"suggestion"],["matTooltip","Note : This is informational and you don't need to do anything.","matTooltipPosition","above",1,"success"],[1,"no-issue-container"],[1,"no-issue-icon-container"],["width","36","height","36","viewBox","0 0 24 20","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M16.8332 0.69873C16.0051 7.45842 16.2492 9.44782 10.4672 10.2012C16.1511 11.1242 16.2329 13.2059 16.8332 19.7037C17.6237 13.1681 17.4697 11.2106 23.1986 10.2012C17.4247 9.45963 17.6194 7.4505 16.8332 0.69873ZM4.23739 0.872955C3.79064 4.52078 3.92238 5.59467 0.802246 6.00069C3.86944 6.49885 3.91349 7.62218 4.23739 11.1284C4.66397 7.60153 4.581 6.54497 7.67271 6.00069C4.55696 5.60052 4.66178 4.51623 4.23739 0.872955ZM7.36426 11.1105C7.05096 13.6683 7.14331 14.4212 4.95554 14.7061C7.10612 15.0553 7.13705 15.8431 7.36426 18.3017C7.66333 15.8288 7.60521 15.088 9.77298 14.7061C7.58818 14.4255 7.66177 13.6653 7.36426 11.1105Z","fill","#3367D6"],[1,"no-issue-message"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3,"Assessment report"),c(),d(4,"div",3)(5,"span",4)(6,"button",5),N("click",function(){return i.downloadReports()}),h(7," DOWNLOAD REPORTS "),c(),d(8,"button",6)(9,"mat-icon",7),h(10,"expand_more"),c()(),d(11,"mat-menu",8,9)(13,"button",10),N("click",function(){return i.downloadTextReport()}),h(14," Download Text Report "),c(),d(15,"button",10),N("click",function(){return i.downloadStructuredReport()}),h(16," Download Structured Report "),c()()(),d(17,"button",11),N("click",function(){return i.closeSidenav()}),d(18,"mat-icon",12),h(19,"close"),c()()()(),d(20,"div",13)(21,"div",14)(22,"p",15),h(23),c(),d(24,"p",16),h(25),d(26,"mat-icon"),h(27,"arrow_right_alt"),c(),h(28," Spanner)"),c()(),d(29,"p",17),h(30),c(),d(31,"mat-card")(32,"div",18),E(33,"div",19)(34,"div",20)(35,"div",21),c(),E(36,"hr")(37,"br"),d(38,"div",22)(39,"span")(40,"mat-icon",23),h(41," circle "),c(),d(42,"span"),h(43," Not a great conversion"),c()(),d(44,"span")(45,"mat-icon",24),h(46," circle "),c(),d(47,"span"),h(48," Converted with warnings"),c()(),d(49,"span")(50,"mat-icon",25),h(51," circle "),c(),d(52,"span"),h(53," Converted automatically"),c()()()(),E(54,"br"),d(55,"h3",26),h(56,"Conversion status by table"),c(),d(57,"table",27),be(58,28),b(59,ite,2,0,"th",29),b(60,ote,2,1,"td",30),ve(),be(61,31),b(62,rte,4,0,"th",29),b(63,ste,2,1,"td",30),ve(),be(64,32),b(65,ate,4,0,"th",29),b(66,lte,2,1,"td",30),ve(),be(67,33),b(68,cte,4,0,"th",29),b(69,dte,2,1,"td",30),ve(),b(70,ute,1,0,"tr",34),b(71,hte,1,0,"tr",35),c(),E(72,"br"),d(73,"h3"),h(74,"Summarized Table Report"),c(),d(75,"div",36),b(76,Tte,24,5,"mat-expansion-panel",37),b(77,kte,1,0,"br",37),b(78,zte,24,5,"mat-expansion-panel",37),b(79,$te,1,0,"br",37),b(80,rne,24,5,"mat-expansion-panel",37),b(81,sne,1,0,"br",37),b(82,Cne,24,5,"mat-expansion-panel",37),b(83,wne,1,0,"br",37),b(84,Dne,9,0,"div",38),E(85,"br"),c(),E(86,"br"),c()()),2&e){const o=$t(12);f(8),m("matMenuTriggerFor",o),f(15),Pe(i.connectionDetail),f(2),Se(" \xa0 (",i.srcDbType," "),f(5),Pe(i.summaryText),f(3),m("ngStyle",Kt(19,Bv,i.conversionRatePercentage.bad)),f(1),m("ngStyle",Kt(21,Bv,i.conversionRatePercentage.ok)),f(1),m("ngStyle",Kt(23,Bv,i.conversionRatePercentage.good)),f(22),m("dataSource",i.rateCountDataSource),f(13),m("matHeaderRowDef",i.rateCountDisplayedColumns),f(1),m("matRowDefColumns",i.rateCountDisplayedColumns),f(5),m("ngIf",i.issueTableData_Errors.length),f(1),m("ngIf",i.issueTableData_Errors.length),f(1),m("ngIf",i.issueTableData_Warnings.length),f(1),m("ngIf",i.issueTableData_Warnings.length),f(1),m("ngIf",i.issueTableData_Suggestions.length),f(1),m("ngIf",i.issueTableData_Suggestions.length),f(1),m("ngIf",i.issueTableData_Notes.length),f(1),m("ngIf",i.issueTableData_Notes.length),f(1),m("ngIf",!(i.issueTableData_Notes.length||i.issueTableData_Suggestions.length||i.issueTableData_Warnings.length||i.issueTableData_Errors.length))}},directives:[Ht,Nl,_n,Fl,qr,$h,Ug,Is,Xr,Yr,Jr,Qr,es,Os,Ps,As,Rs,Et,nk,jH,HH,ki,tr],styles:["table.mat-table[_ngcontent-%COMP%]{width:100%}.icon-size[_ngcontent-%COMP%]{font-size:1.2em;text-align:center;margin-top:8px;margin-left:10px;vertical-align:inherit}.mat-header-cell[_ngcontent-%COMP%]{border-style:none}.icons[_ngcontent-%COMP%]{border-left:1px solid #d0cccc;padding-left:10px}.cells[_ngcontent-%COMP%]{text-align:center}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%]{padding:7px 16px;display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #d0cccc;justify-content:space-between}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%]{margin:0}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .reportsButtons[_ngcontent-%COMP%]{white-space:nowrap}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-left[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-right[_ngcontent-%COMP%]{width:30px!important;min-width:unset!important;padding:0 8px 0 2px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #fafafa}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{margin-left:1.25px}"]}),t})(),Mne=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.snack=i,this.dataService=o,this.data=r,this.dialogRef=s,this.errMessage="",this.updateConfigForm=new an({GCPProjectID:new X(r.GCPProjectID,[de.required]),SpannerInstanceID:new X(r.SpannerInstanceID,[de.required])}),s.disableClose=!0}updateSpannerConfig(){let e=this.updateConfigForm.value;this.fetch.setSpannerConfig({GCPProjectID:e.GCPProjectID,SpannerInstanceID:e.SpannerInstanceID}).subscribe({next:o=>{o.IsMetadataDbCreated&&this.snack.openSnackBar("Metadata database not found. A new database has been created to store session metadata.","Close",5),this.snack.openSnackBar(o.IsConfigValid?"Spanner Config updated successfully":"Invalid Spanner Configuration","Close",5),this.dialogRef.close(Object.assign({},o)),this.dataService.updateIsOffline(),this.dataService.updateConfig(o),this.dataService.getAllSessions()},error:o=>{this.snack.openSnackBar(o.message,"Close")}})}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(_(Bi),_(Lo),_(Ln),_(Yi),_(Ti))},t.\u0275cmp=Oe({type:t,selectors:[["app-update-spanner-config-form"]],decls:20,vars:3,consts:[["mat-dialog-content",""],[1,"save-session-form",3,"formGroup"],["appearance","outline",1,"full-width"],["matInput","","placeholder","project id","type","text","formControlName","GCPProjectID"],["hintLabel","Min. 2 characters and Max. 64 characters","appearance","outline",1,"full-width"],["matInput","","placeholder","instance id","type","text","required","","minlength","2","maxlength","64","pattern","^[a-z]([-a-z0-9]*[a-z0-9])?","formControlName","SpannerInstanceID"],["align","end"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Connect to Spanner"),c(),d(4,"mat-form-field",2)(5,"mat-label"),h(6,"Project ID"),c(),E(7,"input",3),c(),E(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"Instance ID"),c(),E(12,"input",5),d(13,"mat-hint",6),h(14),c()()()(),d(15,"div",7)(16,"button",8),h(17,"CANCEL"),c(),d(18,"button",9),N("click",function(){return i.updateSpannerConfig()}),h(19," SAVE "),c()()),2&e&&(f(1),m("formGroup",i.updateConfigForm),f(13),Se("",(null==i.updateConfigForm.value.SpannerInstanceID?null:i.updateConfigForm.value.SpannerInstanceID.length)||0,"/64"),f(4),m("disabled",!i.updateConfigForm.valid))},directives:[wr,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,po,xb,Tb,kb,np,Dr,Ht,Xi],styles:[".mat-form-field[_ngcontent-%COMP%]{width:100%}.buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}"]}),t})();function xne(t,n){1&t&&(d(0,"mat-icon",11),h(1," warning "),c())}function Tne(t,n){1&t&&(d(0,"mat-icon",12),h(1," check_circle "),c())}function kne(t,n){1&t&&(d(0,"mat-icon",13),h(1," warning "),c())}function Ene(t,n){1&t&&(d(0,"div")(1,"span",null,14),h(3,"Spanner database is not configured, click on edit button to configure "),c()())}function Ine(t,n){if(1&t&&(d(0,"div")(1,"span",15)(2,"b"),h(3,"Project Id: "),c(),h(4),c(),d(5,"span",16)(6,"b"),h(7,"Spanner Instance Id: "),c(),h(8),c()()),2&t){const e=D();f(4),Pe(e.spannerConfig.GCPProjectID),f(4),Pe(e.spannerConfig.SpannerInstanceID)}}let One=(()=>{class t{constructor(e,i,o,r,s){this.data=e,this.dialog=i,this.sidenav=o,this.clickEvent=r,this.loaderService=s,this.isOfflineStatus=!1,this.spannerConfig={GCPProjectID:"",SpannerInstanceID:""}}ngOnInit(){this.data.config.subscribe(e=>{this.spannerConfig=e}),this.data.isOffline.subscribe({next:e=>{this.isOfflineStatus=e}}),this.clickEvent.spannerConfig.subscribe(e=>{e&&this.openEditForm()})}openEditForm(){this.dialog.open(Mne,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:this.spannerConfig}).afterClosed().subscribe(i=>{i&&(this.spannerConfig=i)})}showWarning(){return!this.spannerConfig.GCPProjectID&&!this.spannerConfig.SpannerInstanceID}openInstructionSidenav(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("instruction")}openUserGuide(){window.open("https://github.com/GoogleCloudPlatform/spanner-migration-tool/blob/master/SpannerMigrationToolUIUserGuide.pdf","_blank")}stopLoading(){this.loaderService.stopLoader(),this.clickEvent.cancelDbLoading(),this.clickEvent.closeDatabaseLoader()}}return t.\u0275fac=function(e){return new(e||t)(_(Ln),_(ns),_(Ei),_(Bo),_(Gp))},t.\u0275cmp=Oe({type:t,selectors:[["app-header"]],decls:16,vars:6,consts:[["color","secondry",1,"header-container"],[1,"pointer",3,"routerLink","click"],[1,"menu-spacer"],[1,"right_container"],[1,"spanner_config"],["class","icon warning","matTooltip","Invalid spanner configuration. Working in offline mode",4,"ngIf"],["class","icon success","matTooltip","Valid spanner configuration.",4,"ngIf"],["class","icon warning","matTooltip","Spanner configuration has not been set.",4,"ngIf"],[4,"ngIf"],["matTooltip","Edit Settings",1,"cursor-pointer",3,"click"],["mat-icon-button","","matTooltip","Instruction",1,"example-icon","favorite-icon",3,"click"],["matTooltip","Invalid spanner configuration. Working in offline mode",1,"icon","warning"],["matTooltip","Valid spanner configuration.",1,"icon","success"],["matTooltip","Spanner configuration has not been set.",1,"icon","warning"],["name",""],[1,"pid"],[1,"iid"]],template:function(e,i){1&e&&(d(0,"mat-toolbar",0)(1,"span",1),N("click",function(){return i.stopLoading()}),h(2," Spanner migration tool"),c(),E(3,"span",2),d(4,"div",3)(5,"div",4),b(6,xne,2,0,"mat-icon",5),b(7,Tne,2,0,"mat-icon",6),b(8,kne,2,0,"mat-icon",7),b(9,Ene,4,0,"div",8),b(10,Ine,9,2,"div",8),d(11,"mat-icon",9),N("click",function(){return i.openEditForm()}),h(12,"edit"),c()(),d(13,"button",10),N("click",function(){return i.openUserGuide()}),d(14,"mat-icon"),h(15,"help"),c()()()()),2&e&&(f(1),m("routerLink","/"),f(5),m("ngIf",i.isOfflineStatus&&!i.showWarning()),f(1),m("ngIf",!i.isOfflineStatus&&!i.showWarning()),f(1),m("ngIf",i.showWarning()),f(1),m("ngIf",i.showWarning()),f(1),m("ngIf",!i.showWarning()))},directives:[l6,Ns,Et,_n,ki,Ht],styles:[".header-container[_ngcontent-%COMP%]{padding:0 20px}.menu-spacer[_ngcontent-%COMP%]{flex:1 1 auto}.right_container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%]{margin:0 15px 0 0;display:flex;align-items:center;border-radius:5px;padding:0 10px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:2px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-weight:300;padding:0 10px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] .pid[_ngcontent-%COMP%]{margin-right:10px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] .pointer[_ngcontent-%COMP%]{cursor:pointer}.cursor-pointer[_ngcontent-%COMP%]{color:#3367d6}"]}),t})();function Ane(t,n){1&t&&(d(0,"div",1),E(1,"mat-progress-bar",2),c())}let Pne=(()=>{class t{constructor(e){this.loaderService=e,this.showProgress=!0}ngOnInit(){this.loaderService.isLoading.subscribe(e=>{this.showProgress=e})}}return t.\u0275fac=function(e){return new(e||t)(_(Gp))},t.\u0275cmp=Oe({type:t,selectors:[["app-loader"]],decls:1,vars:1,consts:[["class","progress-bar-wrapper",4,"ngIf"],[1,"progress-bar-wrapper"],["mode","indeterminate","value","40"]],template:function(e,i){1&e&&b(0,Ane,2,0,"div",0),2&e&&m("ngIf",i.showProgress)},directives:[Et,lx],styles:[".progress-bar-wrapper[_ngcontent-%COMP%]{background-color:#cbd0e9;height:2px}.progress-bar-wrapper[_ngcontent-%COMP%] .mat-progress-bar[_ngcontent-%COMP%]{height:2px}"]}),t})();function Rne(t,n){1&t&&E(0,"app-sidenav-rule")}function Fne(t,n){1&t&&E(0,"app-sidenav-save-session")}function Nne(t,n){1&t&&E(0,"app-sidenav-review-changes")}function Lne(t,n){1&t&&E(0,"app-sidenav-view-assessment")}function Bne(t,n){1&t&&E(0,"app-instruction")}const Vne=function(t,n,e){return{"width-40pc":t,"width-50pc":n,"width-60pc":e}};let jne=(()=>{class t{constructor(e){this.sidenavService=e,this.title="ui",this.showSidenav=!1,this.sidenavComponent=""}ngOnInit(){this.sidenavService.isSidenav.subscribe(e=>{this.showSidenav=e}),this.sidenavService.sidenavComponent.subscribe(e=>{this.sidenavComponent=e})}closeSidenav(){this.showSidenav=!1}}return t.\u0275fac=function(e){return new(e||t)(_(Ei))},t.\u0275cmp=Oe({type:t,selectors:[["app-root"]],decls:14,vars:11,consts:[[1,"sidenav-container",3,"backdropClick"],["position","end","mode","over",3,"opened","ngClass"],["sidenav",""],[4,"ngIf"],[1,"sidenav-content"],[1,"appLoader"],[1,"padding-20"]],template:function(e,i){1&e&&(d(0,"mat-sidenav-container",0),N("backdropClick",function(){return i.closeSidenav()}),d(1,"mat-sidenav",1,2),b(3,Rne,1,0,"app-sidenav-rule",3),b(4,Fne,1,0,"app-sidenav-save-session",3),b(5,Nne,1,0,"app-sidenav-review-changes",3),b(6,Lne,1,0,"app-sidenav-view-assessment",3),b(7,Bne,1,0,"app-instruction",3),c(),d(8,"mat-sidenav-content",4),E(9,"app-header"),d(10,"div",5),E(11,"app-loader"),c(),d(12,"div",6),E(13,"router-outlet"),c()()()),2&e&&(f(1),m("opened",i.showSidenav)("ngClass",kw(7,Vne,"rule"===i.sidenavComponent||"saveSession"===i.sidenavComponent,"reviewChanges"===i.sidenavComponent,"assessment"===i.sidenavComponent||"instruction"===i.sidenavComponent)),f(2),m("ngIf","rule"===i.sidenavComponent),f(1),m("ngIf","saveSession"==i.sidenavComponent),f(1),m("ngIf","reviewChanges"==i.sidenavComponent),f(1),m("ngIf","assessment"===i.sidenavComponent),f(1),m("ngIf","instruction"===i.sidenavComponent))},directives:[Kk,qk,tr,Et,Bee,Vee,nte,Sne,uI,pv,One,Pne,Lp],styles:[".padding-20[_ngcontent-%COMP%]{padding:5px 0}.progress-bar-wrapper[_ngcontent-%COMP%]{background-color:#cbd0e9;height:2px}.progress-bar-wrapper[_ngcontent-%COMP%] .mat-progress-bar[_ngcontent-%COMP%], .appLoader[_ngcontent-%COMP%]{height:2px}mat-sidenav[_ngcontent-%COMP%]{width:30%;min-width:350px}.sidenav-container[_ngcontent-%COMP%]{height:100vh}.sidenav-container[_ngcontent-%COMP%] mat-sidenav[_ngcontent-%COMP%]{min-width:350px;border-radius:3px}.width-40pc[_ngcontent-%COMP%]{width:40%}.width-50pc[_ngcontent-%COMP%]{width:50%}.width-60pc[_ngcontent-%COMP%]{width:60%}"]}),t})(),Hne=(()=>{class t{constructor(e){this.loader=e,this.count=0}intercept(e,i){let o=!e.url.includes("/connect");return o&&(this.loader.startLoader(),this.count++),i.handle(e).pipe(X_(()=>{o&&this.count--,0==this.count&&this.loader.stopLoader()}))}}return t.\u0275fac=function(e){return new(e||t)(Q(Gp))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Une=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t,bootstrap:[jne]}),t.\u0275inj=it({providers:[{provide:nb,useClass:Hne,multi:!0}],imports:[[hS,cee,YB,az,P6,tj,bz,wz,RW,ev]]}),t})();(function A3(){CD=!1})(),j5().bootstrapModule(Une).catch(t=>console.error(t))},650:Zl=>{Zl.exports=function G(Te,H,R){function A($,q){if(!H[$]){if(!Te[$]){if(x)return x($,!0);var z=new Error("Cannot find module '"+$+"'");throw z.code="MODULE_NOT_FOUND",z}var T=H[$]={exports:{}};Te[$][0].call(T.exports,function(L){return A(Te[$][1][L]||L)},T,T.exports,G,Te,H,R)}return H[$].exports}for(var x=void 0,k=0;k>4,L=1>6:64,S=2>2)+x.charAt(T)+x.charAt(L)+x.charAt(S));return P.join("")},H.decode=function(k){var $,q,U,z,T,L,S=0,P=0,I="data:";if(k.substr(0,I.length)===I)throw new Error("Invalid base64 input, it looks like a data url.");var B,W=3*(k=k.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(k.charAt(k.length-1)===x.charAt(64)&&W--,k.charAt(k.length-2)===x.charAt(64)&&W--,W%1!=0)throw new Error("Invalid base64 input, bad content length.");for(B=A.uint8array?new Uint8Array(0|W):new Array(0|W);S>4,q=(15&z)<<4|(T=x.indexOf(k.charAt(S++)))>>2,U=(3&T)<<6|(L=x.indexOf(k.charAt(S++))),B[P++]=$,64!==T&&(B[P++]=q),64!==L&&(B[P++]=U);return B}},{"./support":30,"./utils":32}],2:[function(G,Te,H){"use strict";var R=G("./external"),A=G("./stream/DataWorker"),x=G("./stream/Crc32Probe"),k=G("./stream/DataLengthProbe");function $(q,U,z,T,L){this.compressedSize=q,this.uncompressedSize=U,this.crc32=z,this.compression=T,this.compressedContent=L}$.prototype={getContentWorker:function(){var q=new A(R.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new k("data_length")),U=this;return q.on("end",function(){if(this.streamInfo.data_length!==U.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),q},getCompressedWorker:function(){return new A(R.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},$.createWorkerFrom=function(q,U,z){return q.pipe(new x).pipe(new k("uncompressedSize")).pipe(U.compressWorker(z)).pipe(new k("compressedSize")).withStreamInfo("compression",U)},Te.exports=$},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(G,Te,H){"use strict";var R=G("./stream/GenericWorker");H.STORE={magic:"\0\0",compressWorker:function(){return new R("STORE compression")},uncompressWorker:function(){return new R("STORE decompression")}},H.DEFLATE=G("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(G,Te,H){"use strict";var R=G("./utils"),A=function(){for(var x,k=[],$=0;$<256;$++){x=$;for(var q=0;q<8;q++)x=1&x?3988292384^x>>>1:x>>>1;k[$]=x}return k}();Te.exports=function(x,k){return void 0!==x&&x.length?"string"!==R.getTypeOf(x)?function($,q,U,z){var T=A,L=0+U;$^=-1;for(var S=0;S>>8^T[255&($^q[S])];return-1^$}(0|k,x,x.length):function($,q,U,z){var T=A,L=0+U;$^=-1;for(var S=0;S>>8^T[255&($^q.charCodeAt(S))];return-1^$}(0|k,x,x.length):0}},{"./utils":32}],5:[function(G,Te,H){"use strict";H.base64=!1,H.binary=!1,H.dir=!1,H.createFolders=!0,H.date=null,H.compression=null,H.compressionOptions=null,H.comment=null,H.unixPermissions=null,H.dosPermissions=null},{}],6:[function(G,Te,H){"use strict";var R;R="undefined"!=typeof Promise?Promise:G("lie"),Te.exports={Promise:R}},{lie:37}],7:[function(G,Te,H){"use strict";var R="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,A=G("pako"),x=G("./utils"),k=G("./stream/GenericWorker"),$=R?"uint8array":"array";function q(U,z){k.call(this,"FlateWorker/"+U),this._pako=null,this._pakoAction=U,this._pakoOptions=z,this.meta={}}H.magic="\b\0",x.inherits(q,k),q.prototype.processChunk=function(U){this.meta=U.meta,null===this._pako&&this._createPako(),this._pako.push(x.transformTo($,U.data),!1)},q.prototype.flush=function(){k.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},q.prototype.cleanUp=function(){k.prototype.cleanUp.call(this),this._pako=null},q.prototype._createPako=function(){this._pako=new A[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var U=this;this._pako.onData=function(z){U.push({data:z,meta:U.meta})}},H.compressWorker=function(U){return new q("Deflate",U)},H.uncompressWorker=function(){return new q("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(G,Te,H){"use strict";function R(T,L){var S,P="";for(S=0;S>>=8;return P}function A(T,L,S,P,I,B){var W,te,J=T.file,ye=T.compression,he=B!==$.utf8encode,Ee=x.transformTo("string",B(J.name)),ue=x.transformTo("string",$.utf8encode(J.name)),Ve=J.comment,at=x.transformTo("string",B(Ve)),j=x.transformTo("string",$.utf8encode(Ve)),fe=ue.length!==J.name.length,w=j.length!==Ve.length,ge="",bt="",Me="",Rt=J.dir,Ie=J.date,Ue={crc32:0,compressedSize:0,uncompressedSize:0};L&&!S||(Ue.crc32=T.crc32,Ue.compressedSize=T.compressedSize,Ue.uncompressedSize=T.uncompressedSize);var ae=0;L&&(ae|=8),he||!fe&&!w||(ae|=2048);var ie,ei,re=0,ut=0;Rt&&(re|=16),"UNIX"===I?(ut=798,re|=(ei=ie=J.unixPermissions,ie||(ei=Rt?16893:33204),(65535&ei)<<16)):(ut=20,re|=function(ie){return 63&(ie||0)}(J.dosPermissions)),W=Ie.getUTCHours(),W<<=6,W|=Ie.getUTCMinutes(),W<<=5,W|=Ie.getUTCSeconds()/2,te=Ie.getUTCFullYear()-1980,te<<=4,te|=Ie.getUTCMonth()+1,te<<=5,te|=Ie.getUTCDate(),fe&&(bt=R(1,1)+R(q(Ee),4)+ue,ge+="up"+R(bt.length,2)+bt),w&&(Me=R(1,1)+R(q(at),4)+j,ge+="uc"+R(Me.length,2)+Me);var qe="";return qe+="\n\0",qe+=R(ae,2),qe+=ye.magic,qe+=R(W,2),qe+=R(te,2),qe+=R(Ue.crc32,4),qe+=R(Ue.compressedSize,4),qe+=R(Ue.uncompressedSize,4),qe+=R(Ee.length,2),qe+=R(ge.length,2),{fileRecord:U.LOCAL_FILE_HEADER+qe+Ee+ge,dirRecord:U.CENTRAL_FILE_HEADER+R(ut,2)+qe+R(at.length,2)+"\0\0\0\0"+R(re,4)+R(P,4)+Ee+ge+at}}var x=G("../utils"),k=G("../stream/GenericWorker"),$=G("../utf8"),q=G("../crc32"),U=G("../signature");function z(T,L,S,P){k.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=L,this.zipPlatform=S,this.encodeFileName=P,this.streamFiles=T,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}x.inherits(z,k),z.prototype.push=function(T){var L=T.meta.percent||0,S=this.entriesCount,P=this._sources.length;this.accumulate?this.contentBuffer.push(T):(this.bytesWritten+=T.data.length,k.prototype.push.call(this,{data:T.data,meta:{currentFile:this.currentFile,percent:S?(L+100*(S-P-1))/S:100}}))},z.prototype.openedSource=function(T){this.currentSourceOffset=this.bytesWritten,this.currentFile=T.file.name;var L=this.streamFiles&&!T.file.dir;if(L){var S=A(T,L,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:S.fileRecord,meta:{percent:0}})}else this.accumulate=!0},z.prototype.closedSource=function(T){this.accumulate=!1;var P,L=this.streamFiles&&!T.file.dir,S=A(T,L,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(S.dirRecord),L)this.push({data:(P=T,U.DATA_DESCRIPTOR+R(P.crc32,4)+R(P.compressedSize,4)+R(P.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:S.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},z.prototype.flush=function(){for(var T=this.bytesWritten,L=0;L=this.index;k--)$=($<<8)+this.byteAt(k);return this.index+=x,$},readString:function(x){return R.transformTo("string",this.readData(x))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var x=this.readInt(4);return new Date(Date.UTC(1980+(x>>25&127),(x>>21&15)-1,x>>16&31,x>>11&31,x>>5&63,(31&x)<<1))}},Te.exports=A},{"../utils":32}],19:[function(G,Te,H){"use strict";var R=G("./Uint8ArrayReader");function A(x){R.call(this,x)}G("../utils").inherits(A,R),A.prototype.readData=function(x){this.checkOffset(x);var k=this.data.slice(this.zero+this.index,this.zero+this.index+x);return this.index+=x,k},Te.exports=A},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(G,Te,H){"use strict";var R=G("./DataReader");function A(x){R.call(this,x)}G("../utils").inherits(A,R),A.prototype.byteAt=function(x){return this.data.charCodeAt(this.zero+x)},A.prototype.lastIndexOfSignature=function(x){return this.data.lastIndexOf(x)-this.zero},A.prototype.readAndCheckSignature=function(x){return x===this.readData(4)},A.prototype.readData=function(x){this.checkOffset(x);var k=this.data.slice(this.zero+this.index,this.zero+this.index+x);return this.index+=x,k},Te.exports=A},{"../utils":32,"./DataReader":18}],21:[function(G,Te,H){"use strict";var R=G("./ArrayReader");function A(x){R.call(this,x)}G("../utils").inherits(A,R),A.prototype.readData=function(x){if(this.checkOffset(x),0===x)return new Uint8Array(0);var k=this.data.subarray(this.zero+this.index,this.zero+this.index+x);return this.index+=x,k},Te.exports=A},{"../utils":32,"./ArrayReader":17}],22:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("../support"),x=G("./ArrayReader"),k=G("./StringReader"),$=G("./NodeBufferReader"),q=G("./Uint8ArrayReader");Te.exports=function(U){var z=R.getTypeOf(U);return R.checkSupport(z),"string"!==z||A.uint8array?"nodebuffer"===z?new $(U):A.uint8array?new q(R.transformTo("uint8array",U)):new x(R.transformTo("array",U)):new k(U)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(G,Te,H){"use strict";H.LOCAL_FILE_HEADER="PK\x03\x04",H.CENTRAL_FILE_HEADER="PK\x01\x02",H.CENTRAL_DIRECTORY_END="PK\x05\x06",H.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",H.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",H.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(G,Te,H){"use strict";var R=G("./GenericWorker"),A=G("../utils");function x(k){R.call(this,"ConvertWorker to "+k),this.destType=k}A.inherits(x,R),x.prototype.processChunk=function(k){this.push({data:A.transformTo(this.destType,k.data),meta:k.meta})},Te.exports=x},{"../utils":32,"./GenericWorker":28}],25:[function(G,Te,H){"use strict";var R=G("./GenericWorker"),A=G("../crc32");function x(){R.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}G("../utils").inherits(x,R),x.prototype.processChunk=function(k){this.streamInfo.crc32=A(k.data,this.streamInfo.crc32||0),this.push(k)},Te.exports=x},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("./GenericWorker");function x(k){A.call(this,"DataLengthProbe for "+k),this.propName=k,this.withStreamInfo(k,0)}R.inherits(x,A),x.prototype.processChunk=function(k){k&&(this.streamInfo[this.propName]=(this.streamInfo[this.propName]||0)+k.data.length),A.prototype.processChunk.call(this,k)},Te.exports=x},{"../utils":32,"./GenericWorker":28}],27:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("./GenericWorker");function x(k){A.call(this,"DataWorker");var $=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,k.then(function(q){$.dataIsReady=!0,$.data=q,$.max=q&&q.length||0,$.type=R.getTypeOf(q),$.isPaused||$._tickAndRepeat()},function(q){$.error(q)})}R.inherits(x,A),x.prototype.cleanUp=function(){A.prototype.cleanUp.call(this),this.data=null},x.prototype.resume=function(){return!!A.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,R.delay(this._tickAndRepeat,[],this)),!0)},x.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(R.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},x.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var k=null,$=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":k=this.data.substring(this.index,$);break;case"uint8array":k=this.data.subarray(this.index,$);break;case"array":case"nodebuffer":k=this.data.slice(this.index,$)}return this.index=$,this.push({data:k,meta:{percent:this.max?this.index/this.max*100:0}})},Te.exports=x},{"../utils":32,"./GenericWorker":28}],28:[function(G,Te,H){"use strict";function R(A){this.name=A||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}R.prototype={push:function(A){this.emit("data",A)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(A){this.emit("error",A)}return!0},error:function(A){return!this.isFinished&&(this.isPaused?this.generatedError=A:(this.isFinished=!0,this.emit("error",A),this.previous&&this.previous.error(A),this.cleanUp()),!0)},on:function(A,x){return this._listeners[A].push(x),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(A,x){if(this._listeners[A])for(var k=0;k "+A:A}},Te.exports=R},{}],29:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("./ConvertWorker"),x=G("./GenericWorker"),k=G("../base64"),$=G("../support"),q=G("../external"),U=null;if($.nodestream)try{U=G("../nodejs/NodejsStreamOutputAdapter")}catch(L){}function T(L,S,P){var I=S;switch(S){case"blob":case"arraybuffer":I="uint8array";break;case"base64":I="string"}try{this._internalType=I,this._outputType=S,this._mimeType=P,R.checkSupport(I),this._worker=L.pipe(new A(I)),L.lock()}catch(B){this._worker=new x("error"),this._worker.error(B)}}T.prototype={accumulate:function(L){return function z(L,S){return new q.Promise(function(P,I){var B=[],W=L._internalType,te=L._outputType,J=L._mimeType;L.on("data",function(ye,he){B.push(ye),S&&S(he)}).on("error",function(ye){B=[],I(ye)}).on("end",function(){try{var ye=function(he,Ee,ue){switch(he){case"blob":return R.newBlob(R.transformTo("arraybuffer",Ee),ue);case"base64":return k.encode(Ee);default:return R.transformTo(he,Ee)}}(te,function(he,Ee){var ue,Ve=0,at=null,j=0;for(ue=0;ue>>6:(P<65536?S[W++]=224|P>>>12:(S[W++]=240|P>>>18,S[W++]=128|P>>>12&63),S[W++]=128|P>>>6&63),S[W++]=128|63&P);return S}(T)},H.utf8decode=function(T){return A.nodebuffer?R.transformTo("nodebuffer",T).toString("utf-8"):function(L){var S,P,I,B,W=L.length,te=new Array(2*W);for(S=P=0;S>10&1023,te[P++]=56320|1023&I)}return te.length!==P&&(te.subarray?te=te.subarray(0,P):te.length=P),R.applyFromCharCode(te)}(T=R.transformTo(A.uint8array?"uint8array":"array",T))},R.inherits(U,k),U.prototype.processChunk=function(T){var L=R.transformTo(A.uint8array?"uint8array":"array",T.data);if(this.leftOver&&this.leftOver.length){if(A.uint8array){var S=L;(L=new Uint8Array(S.length+this.leftOver.length)).set(this.leftOver,0),L.set(S,this.leftOver.length)}else L=this.leftOver.concat(L);this.leftOver=null}var P=function(B,W){var te;for((W=W||B.length)>B.length&&(W=B.length),te=W-1;0<=te&&128==(192&B[te]);)te--;return te<0||0===te?W:te+$[B[te]]>W?te:W}(L),I=L;P!==L.length&&(A.uint8array?(I=L.subarray(0,P),this.leftOver=L.subarray(P,L.length)):(I=L.slice(0,P),this.leftOver=L.slice(P,L.length))),this.push({data:H.utf8decode(I),meta:T.meta})},U.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:H.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},H.Utf8DecodeWorker=U,R.inherits(z,k),z.prototype.processChunk=function(T){this.push({data:H.utf8encode(T.data),meta:T.meta})},H.Utf8EncodeWorker=z},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(G,Te,H){"use strict";var R=G("./support"),A=G("./base64"),x=G("./nodejsUtils"),k=G("./external");function $(S){return S}function q(S,P){for(var I=0;I>8;this.dir=!!(16&this.externalFileAttributes),0==T&&(this.dosPermissions=63&this.externalFileAttributes),3==T&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var T=R(this.extraFields[1].value);this.uncompressedSize===A.MAX_VALUE_32BITS&&(this.uncompressedSize=T.readInt(8)),this.compressedSize===A.MAX_VALUE_32BITS&&(this.compressedSize=T.readInt(8)),this.localHeaderOffset===A.MAX_VALUE_32BITS&&(this.localHeaderOffset=T.readInt(8)),this.diskNumberStart===A.MAX_VALUE_32BITS&&(this.diskNumberStart=T.readInt(4))}},readExtraFields:function(T){var L,S,P,I=T.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});T.index+4>>6:(T<65536?z[P++]=224|T>>>12:(z[P++]=240|T>>>18,z[P++]=128|T>>>12&63),z[P++]=128|T>>>6&63),z[P++]=128|63&T);return z},H.buf2binstring=function(U){return q(U,U.length)},H.binstring2buf=function(U){for(var z=new R.Buf8(U.length),T=0,L=z.length;T>10&1023,B[L++]=56320|1023&S)}return q(B,L)},H.utf8border=function(U,z){var T;for((z=z||U.length)>U.length&&(z=U.length),T=z-1;0<=T&&128==(192&U[T]);)T--;return T<0||0===T?z:T+k[U[T]]>z?T:z}},{"./common":41}],43:[function(G,Te,H){"use strict";Te.exports=function(R,A,x,k){for(var $=65535&R|0,q=R>>>16&65535|0,U=0;0!==x;){for(x-=U=2e3>>1:A>>>1;x[k]=A}return x}();Te.exports=function(A,x,k,$){var q=R,U=$+k;A^=-1;for(var z=$;z>>8^q[255&(A^x[z])];return-1^A}},{}],46:[function(G,Te,H){"use strict";var R,A=G("../utils/common"),x=G("./trees"),k=G("./adler32"),$=G("./crc32"),q=G("./messages"),L=-2,Ve=258,at=262;function Rt(y,me){return y.msg=q[me],me}function Ie(y){return(y<<1)-(4y.avail_out&&(ce=y.avail_out),0!==ce&&(A.arraySet(y.output,me.pending_buf,me.pending_out,ce,y.next_out),y.next_out+=ce,me.pending_out+=ce,y.total_out+=ce,y.avail_out-=ce,me.pending-=ce,0===me.pending&&(me.pending_out=0))}function re(y,me){x._tr_flush_block(y,0<=y.block_start?y.block_start:-1,y.strstart-y.block_start,me),y.block_start=y.strstart,ae(y.strm)}function ut(y,me){y.pending_buf[y.pending++]=me}function qe(y,me){y.pending_buf[y.pending++]=me>>>8&255,y.pending_buf[y.pending++]=255&me}function ie(y,me){var ce,F,O=y.max_chain_length,Z=y.strstart,we=y.prev_length,xe=y.nice_match,ne=y.strstart>y.w_size-at?y.strstart-(y.w_size-at):0,Re=y.window,Ke=y.w_mask,Le=y.prev,lt=y.strstart+Ve,Xt=Re[Z+we-1],Lt=Re[Z+we];y.prev_length>=y.good_match&&(O>>=2),xe>y.lookahead&&(xe=y.lookahead);do{if(Re[(ce=me)+we]===Lt&&Re[ce+we-1]===Xt&&Re[ce]===Re[Z]&&Re[++ce]===Re[Z+1]){Z+=2,ce++;do{}while(Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Zne&&0!=--O);return we<=y.lookahead?we:y.lookahead}function vn(y){var me,ce,F,O,Z,we,xe,ne,Re,Ke,Le=y.w_size;do{if(O=y.window_size-y.lookahead-y.strstart,y.strstart>=Le+(Le-at)){for(A.arraySet(y.window,y.window,Le,Le,0),y.match_start-=Le,y.strstart-=Le,y.block_start-=Le,me=ce=y.hash_size;F=y.head[--me],y.head[me]=Le<=F?F-Le:0,--ce;);for(me=ce=Le;F=y.prev[--me],y.prev[me]=Le<=F?F-Le:0,--ce;);O+=Le}if(0===y.strm.avail_in)break;if(xe=y.window,ne=y.strstart+y.lookahead,Ke=void 0,(Re=O)<(Ke=(we=y.strm).avail_in)&&(Ke=Re),ce=0===Ke?0:(we.avail_in-=Ke,A.arraySet(xe,we.input,we.next_in,Ke,ne),1===we.state.wrap?we.adler=k(we.adler,xe,Ke,ne):2===we.state.wrap&&(we.adler=$(we.adler,xe,Ke,ne)),we.next_in+=Ke,we.total_in+=Ke,Ke),y.lookahead+=ce,y.lookahead+y.insert>=3)for(y.ins_h=y.window[Z=y.strstart-y.insert],y.ins_h=(y.ins_h<=3&&(y.ins_h=(y.ins_h<=3)if(F=x._tr_tally(y,y.strstart-y.match_start,y.match_length-3),y.lookahead-=y.match_length,y.match_length<=y.max_lazy_match&&y.lookahead>=3){for(y.match_length--;y.strstart++,y.ins_h=(y.ins_h<=3&&(y.ins_h=(y.ins_h<=3&&y.match_length<=y.prev_length){for(O=y.strstart+y.lookahead-3,F=x._tr_tally(y,y.strstart-1-y.prev_match,y.prev_length-3),y.lookahead-=y.prev_length-1,y.prev_length-=2;++y.strstart<=O&&(y.ins_h=(y.ins_h<y.pending_buf_size-5&&(ce=y.pending_buf_size-5);;){if(y.lookahead<=1){if(vn(y),0===y.lookahead&&0===me)return 1;if(0===y.lookahead)break}y.strstart+=y.lookahead,y.lookahead=0;var F=y.block_start+ce;if((0===y.strstart||y.strstart>=F)&&(y.lookahead=y.strstart-F,y.strstart=F,re(y,!1),0===y.strm.avail_out)||y.strstart-y.block_start>=y.w_size-at&&(re(y,!1),0===y.strm.avail_out))return 1}return y.insert=0,4===me?(re(y,!0),0===y.strm.avail_out?3:4):(y.strstart>y.block_start&&re(y,!1),1)}),new st(4,4,8,4,ei),new st(4,5,16,8,ei),new st(4,6,32,32,ei),new st(4,4,16,16,nt),new st(8,16,32,32,nt),new st(8,16,128,128,nt),new st(8,32,128,256,nt),new st(32,128,258,1024,nt),new st(32,258,258,4096,nt)],H.deflateInit=function(y,me){return eo(y,me,8,15,8,0)},H.deflateInit2=eo,H.deflateReset=ji,H.deflateResetKeep=je,H.deflateSetHeader=function(y,me){return y&&y.state?2!==y.state.wrap?L:(y.state.gzhead=me,0):L},H.deflate=function(y,me){var ce,F,O,Z;if(!y||!y.state||5>8&255),ut(F,F.gzhead.time>>16&255),ut(F,F.gzhead.time>>24&255),ut(F,9===F.level?2:2<=F.strategy||F.level<2?4:0),ut(F,255&F.gzhead.os),F.gzhead.extra&&F.gzhead.extra.length&&(ut(F,255&F.gzhead.extra.length),ut(F,F.gzhead.extra.length>>8&255)),F.gzhead.hcrc&&(y.adler=$(y.adler,F.pending_buf,F.pending,0)),F.gzindex=0,F.status=69):(ut(F,0),ut(F,0),ut(F,0),ut(F,0),ut(F,0),ut(F,9===F.level?2:2<=F.strategy||F.level<2?4:0),ut(F,3),F.status=113);else{var we=8+(F.w_bits-8<<4)<<8;we|=(2<=F.strategy||F.level<2?0:F.level<6?1:6===F.level?2:3)<<6,0!==F.strstart&&(we|=32),we+=31-we%31,F.status=113,qe(F,we),0!==F.strstart&&(qe(F,y.adler>>>16),qe(F,65535&y.adler)),y.adler=1}if(69===F.status)if(F.gzhead.extra){for(O=F.pending;F.gzindex<(65535&F.gzhead.extra.length)&&(F.pending!==F.pending_buf_size||(F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),ae(y),O=F.pending,F.pending!==F.pending_buf_size));)ut(F,255&F.gzhead.extra[F.gzindex]),F.gzindex++;F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),F.gzindex===F.gzhead.extra.length&&(F.gzindex=0,F.status=73)}else F.status=73;if(73===F.status)if(F.gzhead.name){O=F.pending;do{if(F.pending===F.pending_buf_size&&(F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),ae(y),O=F.pending,F.pending===F.pending_buf_size)){Z=1;break}Z=F.gzindexO&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),0===Z&&(F.gzindex=0,F.status=91)}else F.status=91;if(91===F.status)if(F.gzhead.comment){O=F.pending;do{if(F.pending===F.pending_buf_size&&(F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),ae(y),O=F.pending,F.pending===F.pending_buf_size)){Z=1;break}Z=F.gzindexO&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),0===Z&&(F.status=103)}else F.status=103;if(103===F.status&&(F.gzhead.hcrc?(F.pending+2>F.pending_buf_size&&ae(y),F.pending+2<=F.pending_buf_size&&(ut(F,255&y.adler),ut(F,y.adler>>8&255),y.adler=0,F.status=113)):F.status=113),0!==F.pending){if(ae(y),0===y.avail_out)return F.last_flush=-1,0}else if(0===y.avail_in&&Ie(me)<=Ie(ce)&&4!==me)return Rt(y,-5);if(666===F.status&&0!==y.avail_in)return Rt(y,-5);if(0!==y.avail_in||0!==F.lookahead||0!==me&&666!==F.status){var xe=2===F.strategy?function(ne,Re){for(var Ke;;){if(0===ne.lookahead&&(vn(ne),0===ne.lookahead)){if(0===Re)return 1;break}if(ne.match_length=0,Ke=x._tr_tally(ne,0,ne.window[ne.strstart]),ne.lookahead--,ne.strstart++,Ke&&(re(ne,!1),0===ne.strm.avail_out))return 1}return ne.insert=0,4===Re?(re(ne,!0),0===ne.strm.avail_out?3:4):ne.last_lit&&(re(ne,!1),0===ne.strm.avail_out)?1:2}(F,me):3===F.strategy?function(ne,Re){for(var Ke,Le,lt,Xt,Lt=ne.window;;){if(ne.lookahead<=Ve){if(vn(ne),ne.lookahead<=Ve&&0===Re)return 1;if(0===ne.lookahead)break}if(ne.match_length=0,ne.lookahead>=3&&0ne.lookahead&&(ne.match_length=ne.lookahead)}if(ne.match_length>=3?(Ke=x._tr_tally(ne,1,ne.match_length-3),ne.lookahead-=ne.match_length,ne.strstart+=ne.match_length,ne.match_length=0):(Ke=x._tr_tally(ne,0,ne.window[ne.strstart]),ne.lookahead--,ne.strstart++),Ke&&(re(ne,!1),0===ne.strm.avail_out))return 1}return ne.insert=0,4===Re?(re(ne,!0),0===ne.strm.avail_out?3:4):ne.last_lit&&(re(ne,!1),0===ne.strm.avail_out)?1:2}(F,me):R[F.level].func(F,me);if(3!==xe&&4!==xe||(F.status=666),1===xe||3===xe)return 0===y.avail_out&&(F.last_flush=-1),0;if(2===xe&&(1===me?x._tr_align(F):5!==me&&(x._tr_stored_block(F,0,0,!1),3===me&&(Ue(F.head),0===F.lookahead&&(F.strstart=0,F.block_start=0,F.insert=0))),ae(y),0===y.avail_out))return F.last_flush=-1,0}return 4!==me?0:F.wrap<=0?1:(2===F.wrap?(ut(F,255&y.adler),ut(F,y.adler>>8&255),ut(F,y.adler>>16&255),ut(F,y.adler>>24&255),ut(F,255&y.total_in),ut(F,y.total_in>>8&255),ut(F,y.total_in>>16&255),ut(F,y.total_in>>24&255)):(qe(F,y.adler>>>16),qe(F,65535&y.adler)),ae(y),0=ce.w_size&&(0===Z&&(Ue(ce.head),ce.strstart=0,ce.block_start=0,ce.insert=0),Re=new A.Buf8(ce.w_size),A.arraySet(Re,me,Ke-ce.w_size,ce.w_size,0),me=Re,Ke=ce.w_size),we=y.avail_in,xe=y.next_in,ne=y.input,y.avail_in=Ke,y.next_in=0,y.input=me,vn(ce);ce.lookahead>=3;){for(F=ce.strstart,O=ce.lookahead-2;ce.ins_h=(ce.ins_h<>>=ue=Ee>>>24,W-=ue,0==(ue=Ee>>>16&255))ge[q++]=65535&Ee;else{if(!(16&ue)){if(0==(64&ue)){Ee=te[(65535&Ee)+(B&(1<>>=ue,W-=ue),W<15&&(B+=w[k++]<>>=ue=Ee>>>24,W-=ue,!(16&(ue=Ee>>>16&255))){if(0==(64&ue)){Ee=J[(65535&Ee)+(B&(1<>>=ue,W-=ue,(ue=q-U)>3,B&=(1<<(W-=Ve<<3))-1,R.next_in=k,R.next_out=q,R.avail_in=k<$?$-k+5:5-(k-$),R.avail_out=q>>24&255)+(j>>>8&65280)+((65280&j)<<8)+((255&j)<<24)}function B(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new R.Buf16(320),this.work=new R.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function W(j){var fe;return j&&j.state?(j.total_in=j.total_out=(fe=j.state).total=0,j.msg="",fe.wrap&&(j.adler=1&fe.wrap),fe.mode=1,fe.last=0,fe.havedict=0,fe.dmax=32768,fe.head=null,fe.hold=0,fe.bits=0,fe.lencode=fe.lendyn=new R.Buf32(852),fe.distcode=fe.distdyn=new R.Buf32(592),fe.sane=1,fe.back=-1,0):T}function te(j){var fe;return j&&j.state?((fe=j.state).wsize=0,fe.whave=0,fe.wnext=0,W(j)):T}function J(j,fe){var w,ge;return j&&j.state?(ge=j.state,fe<0?(w=0,fe=-fe):(w=1+(fe>>4),fe<48&&(fe&=15)),fe&&(fe<8||15=Me.wsize?(R.arraySet(Me.window,fe,w-Me.wsize,Me.wsize,0),Me.wnext=0,Me.whave=Me.wsize):(ge<(bt=Me.wsize-Me.wnext)&&(bt=ge),R.arraySet(Me.window,fe,w-ge,bt,Me.wnext),(ge-=bt)?(R.arraySet(Me.window,fe,w-ge,ge,0),Me.wnext=ge,Me.whave=Me.wsize):(Me.wnext+=bt,Me.wnext===Me.wsize&&(Me.wnext=0),Me.whave>>8&255,w.check=x(w.check,Z,2,0),re=ae=0,w.mode=2;break}if(w.flags=0,w.head&&(w.head.done=!1),!(1&w.wrap)||(((255&ae)<<8)+(ae>>8))%31){j.msg="incorrect header check",w.mode=30;break}if(8!=(15&ae)){j.msg="unknown compression method",w.mode=30;break}if(re-=4,y=8+(15&(ae>>>=4)),0===w.wbits)w.wbits=y;else if(y>w.wbits){j.msg="invalid window size",w.mode=30;break}w.dmax=1<>8&1),512&w.flags&&(Z[0]=255&ae,Z[1]=ae>>>8&255,w.check=x(w.check,Z,2,0)),re=ae=0,w.mode=3;case 3:for(;re<32;){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>8&255,Z[2]=ae>>>16&255,Z[3]=ae>>>24&255,w.check=x(w.check,Z,4,0)),re=ae=0,w.mode=4;case 4:for(;re<16;){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>8),512&w.flags&&(Z[0]=255&ae,Z[1]=ae>>>8&255,w.check=x(w.check,Z,2,0)),re=ae=0,w.mode=5;case 5:if(1024&w.flags){for(;re<16;){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>8&255,w.check=x(w.check,Z,2,0)),re=ae=0}else w.head&&(w.head.extra=null);w.mode=6;case 6:if(1024&w.flags&&(Ie<(ie=w.length)&&(ie=Ie),ie&&(w.head&&(y=w.head.extra_len-w.length,w.head.extra||(w.head.extra=new Array(w.head.extra_len)),R.arraySet(w.head.extra,ge,Me,ie,y)),512&w.flags&&(w.check=x(w.check,ge,ie,Me)),Ie-=ie,Me+=ie,w.length-=ie),w.length))break e;w.length=0,w.mode=7;case 7:if(2048&w.flags){if(0===Ie)break e;for(ie=0;y=ge[Me+ie++],w.head&&y&&w.length<65536&&(w.head.name+=String.fromCharCode(y)),y&&ie>9&1,w.head.done=!0),j.adler=w.check=0,w.mode=12;break;case 10:for(;re<32;){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>=7&re,re-=7&re,w.mode=27;break}for(;re<3;){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>=1)){case 0:w.mode=14;break;case 1:if(Ve(w),w.mode=20,6!==fe)break;ae>>>=2,re-=2;break e;case 2:w.mode=17;break;case 3:j.msg="invalid block type",w.mode=30}ae>>>=2,re-=2;break;case 14:for(ae>>>=7&re,re-=7&re;re<32;){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>16^65535)){j.msg="invalid stored block lengths",w.mode=30;break}if(w.length=65535&ae,re=ae=0,w.mode=15,6===fe)break e;case 15:w.mode=16;case 16:if(ie=w.length){if(Ie>>=5)),re-=5,w.ncode=4+(15&(ae>>>=5)),ae>>>=4,re-=4,286>>=3,re-=3}for(;w.have<19;)w.lens[we[w.have++]]=0;if(w.lencode=w.lendyn,w.lenbits=7,me=$(0,w.lens,0,19,w.lencode,0,w.work,ce={bits:w.lenbits}),w.lenbits=ce.bits,me){j.msg="invalid code lengths set",w.mode=30;break}w.have=0,w.mode=19;case 19:for(;w.have>>16&255,zn=65535&O,!((nt=O>>>24)<=re);){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>=nt,re-=nt,w.lens[w.have++]=zn;else{if(16===zn){for(F=nt+2;re>>=nt,re-=nt,0===w.have){j.msg="invalid bit length repeat",w.mode=30;break}y=w.lens[w.have-1],ie=3+(3&ae),ae>>>=2,re-=2}else if(17===zn){for(F=nt+3;re>>=nt)),ae>>>=3,re-=3}else{for(F=nt+7;re>>=nt)),ae>>>=7,re-=7}if(w.have+ie>w.nlen+w.ndist){j.msg="invalid bit length repeat",w.mode=30;break}for(;ie--;)w.lens[w.have++]=y}}if(30===w.mode)break;if(0===w.lens[256]){j.msg="invalid code -- missing end-of-block",w.mode=30;break}if(w.lenbits=9,me=$(1,w.lens,0,w.nlen,w.lencode,0,w.work,ce={bits:w.lenbits}),w.lenbits=ce.bits,me){j.msg="invalid literal/lengths set",w.mode=30;break}if(w.distbits=6,w.distcode=w.distdyn,me=$(2,w.lens,w.nlen,w.ndist,w.distcode,0,w.work,ce={bits:w.distbits}),w.distbits=ce.bits,me){j.msg="invalid distances set",w.mode=30;break}if(w.mode=20,6===fe)break e;case 20:w.mode=21;case 21:if(6<=Ie&&258<=Ue){j.next_out=Rt,j.avail_out=Ue,j.next_in=Me,j.avail_in=Ie,w.hold=ae,w.bits=re,k(j,qe),Rt=j.next_out,bt=j.output,Ue=j.avail_out,Me=j.next_in,ge=j.input,Ie=j.avail_in,ae=w.hold,re=w.bits,12===w.mode&&(w.back=-1);break}for(w.back=0;st=(O=w.lencode[ae&(1<>>16&255,zn=65535&O,!((nt=O>>>24)<=re);){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>je)])>>>16&255,zn=65535&O,!(je+(nt=O>>>24)<=re);){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>=je,re-=je,w.back+=je}if(ae>>>=nt,re-=nt,w.back+=nt,w.length=zn,0===st){w.mode=26;break}if(32&st){w.back=-1,w.mode=12;break}if(64&st){j.msg="invalid literal/length code",w.mode=30;break}w.extra=15&st,w.mode=22;case 22:if(w.extra){for(F=w.extra;re>>=w.extra,re-=w.extra,w.back+=w.extra}w.was=w.length,w.mode=23;case 23:for(;st=(O=w.distcode[ae&(1<>>16&255,zn=65535&O,!((nt=O>>>24)<=re);){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>je)])>>>16&255,zn=65535&O,!(je+(nt=O>>>24)<=re);){if(0===Ie)break e;Ie--,ae+=ge[Me++]<>>=je,re-=je,w.back+=je}if(ae>>>=nt,re-=nt,w.back+=nt,64&st){j.msg="invalid distance code",w.mode=30;break}w.offset=zn,w.extra=15&st,w.mode=24;case 24:if(w.extra){for(F=w.extra;re>>=w.extra,re-=w.extra,w.back+=w.extra}if(w.offset>w.dmax){j.msg="invalid distance too far back",w.mode=30;break}w.mode=25;case 25:if(0===Ue)break e;if(w.offset>(ie=qe-Ue)){if((ie=w.offset-ie)>w.whave&&w.sane){j.msg="invalid distance too far back",w.mode=30;break}vn=ie>w.wnext?w.wsize-(ie-=w.wnext):w.wnext-ie,ie>w.length&&(ie=w.length),ei=w.window}else ei=bt,vn=Rt-w.offset,ie=w.length;for(Uehe?(ue=vn[ei+P[fe]],re[ut+P[fe]]):(ue=96,0),B=1<>Rt)+(W-=B)]=Ee<<24|ue<<16|Ve|0,0!==W;);for(B=1<>=1;if(0!==B?(ae&=B-1,ae+=B):ae=0,fe++,0==--qe[j]){if(j===ge)break;j=U[z+P[fe]]}if(bt>>7)]}function ut(O,Z){O.pending_buf[O.pending++]=255&Z,O.pending_buf[O.pending++]=Z>>>8&255}function qe(O,Z,we){O.bi_valid>16-we?(O.bi_buf|=Z<>16-O.bi_valid,O.bi_valid+=we-16):(O.bi_buf|=Z<>>=1,we<<=1,0<--Z;);return we>>>1}function ei(O,Z,we){var xe,ne,Re=new Array(16),Ke=0;for(xe=1;xe<=P;xe++)Re[xe]=Ke=Ke+we[xe-1]<<1;for(ne=0;ne<=Z;ne++){var Le=O[2*ne+1];0!==Le&&(O[2*ne]=vn(Re[Le]++,Le))}}function nt(O){var Z;for(Z=0;Z>1;1<=we;we--)je(O,Re,we);for(ne=lt;we=O.heap[1],O.heap[1]=O.heap[O.heap_len--],je(O,Re,1),xe=O.heap[1],O.heap[--O.heap_max]=we,O.heap[--O.heap_max]=xe,Re[2*ne]=Re[2*we]+Re[2*xe],O.depth[ne]=(O.depth[we]>=O.depth[xe]?O.depth[we]:O.depth[xe])+1,Re[2*we+1]=Re[2*xe+1]=ne,O.heap[1]=ne++,je(O,Re,1),2<=O.heap_len;);O.heap[--O.heap_max]=O.heap[1],function(Lt,Hi){var Hs,bo,Ui,yn,Sa,Ma,jo=Hi.dyn_tree,Ud=Hi.max_code,Zp=Hi.stat_desc.static_tree,Qp=Hi.stat_desc.has_stree,Yp=Hi.stat_desc.extra_bits,zd=Hi.stat_desc.extra_base,Us=Hi.stat_desc.max_length,xa=0;for(yn=0;yn<=P;yn++)Lt.bl_count[yn]=0;for(jo[2*Lt.heap[Lt.heap_max]+1]=0,Hs=Lt.heap_max+1;Hs<573;Hs++)Us<(yn=jo[2*jo[2*(bo=Lt.heap[Hs])+1]+1]+1)&&(yn=Us,xa++),jo[2*bo+1]=yn,Ud>=7;ne>>=1)if(1&Xt&&0!==Le.dyn_ltree[2*lt])return 0;if(0!==Le.dyn_ltree[18]||0!==Le.dyn_ltree[20]||0!==Le.dyn_ltree[26])return 1;for(lt=32;lt>>3)<=(ne=O.opt_len+3+7>>>3)&&(ne=Re)):ne=Re=we+5,we+4<=ne&&-1!==Z?F(O,Z,we,xe):4===O.strategy||Re===ne?(qe(O,2+(xe?1:0),3),ji(O,at,j)):(qe(O,4+(xe?1:0),3),function(Le,lt,Xt,Lt){var Hi;for(qe(Le,lt-257,5),qe(Le,Xt-1,5),qe(Le,Lt-4,4),Hi=0;Hi>>8&255,O.pending_buf[O.d_buf+2*O.last_lit+1]=255&Z,O.pending_buf[O.l_buf+O.last_lit]=255&we,O.last_lit++,0===Z?O.dyn_ltree[2*we]++:(O.matches++,Z--,O.dyn_ltree[2*(w[we]+U+1)]++,O.dyn_dtree[2*re(Z)]++),O.last_lit===O.lit_bufsize-1},H._tr_align=function(O){var Z;qe(O,2,3),ie(O,256,at),16===(Z=O).bi_valid?(ut(Z,Z.bi_buf),Z.bi_buf=0,Z.bi_valid=0):8<=Z.bi_valid&&(Z.pending_buf[Z.pending++]=255&Z.bi_buf,Z.bi_buf>>=8,Z.bi_valid-=8)}},{"../utils/common":41}],53:[function(G,Te,H){"use strict";Te.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(G,Te,H){(function(R){!function(A,x){"use strict";if(!A.setImmediate){var k,$,q,U,z=1,T={},L=!1,S=A.document,P=Object.getPrototypeOf&&Object.getPrototypeOf(A);P=P&&P.setTimeout?P:A,k="[object process]"==={}.toString.call(A.process)?function(te){process.nextTick(function(){B(te)})}:function(){if(A.postMessage&&!A.importScripts){var te=!0,J=A.onmessage;return A.onmessage=function(){te=!1},A.postMessage("","*"),A.onmessage=J,te}}()?(U="setImmediate$"+Math.random()+"$",A.addEventListener?A.addEventListener("message",W,!1):A.attachEvent("onmessage",W),function(te){A.postMessage(U+te,"*")}):A.MessageChannel?((q=new MessageChannel).port1.onmessage=function(te){B(te.data)},function(te){q.port2.postMessage(te)}):S&&"onreadystatechange"in S.createElement("script")?($=S.documentElement,function(te){var J=S.createElement("script");J.onreadystatechange=function(){B(te),J.onreadystatechange=null,$.removeChild(J),J=null},$.appendChild(J)}):function(te){setTimeout(B,0,te)},P.setImmediate=function(te){"function"!=typeof te&&(te=new Function(""+te));for(var J=new Array(arguments.length-1),ye=0;ye{Zl(Zl.s=640)}]); \ No newline at end of file +(self.webpackChunkui=self.webpackChunkui||[]).push([[179],{640:(Zl,G,Te)=>{"use strict";function H(t){return"function"==typeof t}function R(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const A=R(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,o)=>`${o+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function x(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class k{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const r of e)r.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(H(i))try{i()}catch(r){n=r instanceof A?r.errors:[r]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const r of o)try{U(r)}catch(s){n=null!=n?n:[],s instanceof A?n=[...n,...s.errors]:n.push(s)}}if(n)throw new A(n)}}add(n){var e;if(n&&n!==this)if(this.closed)U(n);else{if(n instanceof k){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&x(e,n)}remove(n){const{_finalizers:e}=this;e&&x(e,n),n instanceof k&&n._removeParent(this)}}k.EMPTY=(()=>{const t=new k;return t.closed=!0,t})();const $=k.EMPTY;function q(t){return t instanceof k||t&&"closed"in t&&H(t.remove)&&H(t.add)&&H(t.unsubscribe)}function U(t){H(t)?t():t.unsubscribe()}const z={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},T={setTimeout(t,n,...e){const{delegate:i}=T;return(null==i?void 0:i.setTimeout)?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=T;return((null==n?void 0:n.clearTimeout)||clearTimeout)(t)},delegate:void 0};function L(t){T.setTimeout(()=>{const{onUnhandledError:n}=z;if(!n)throw t;n(t)})}function S(){}const P=W("C",void 0,void 0);function W(t,n,e){return{kind:t,value:n,error:e}}let te=null;function J(t){if(z.useDeprecatedSynchronousErrorHandling){const n=!te;if(n&&(te={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=te;if(te=null,e)throw i}}else t()}class he extends k{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,q(n)&&n.add(this)):this.destination=ge}static create(n,e,i){return new at(n,e,i)}next(n){this.isStopped?w(function B(t){return W("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?w(function I(t){return W("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?w(P,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ie=Function.prototype.bind;function ue(t,n){return Ie.call(t,n)}class Ve{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){j(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){j(i)}else j(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){j(e)}}}class at extends he{constructor(n,e,i){let o;if(super(),H(n)||!n)o={next:null!=n?n:void 0,error:null!=e?e:void 0,complete:null!=i?i:void 0};else{let r;this&&z.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&ue(n.next,r),error:n.error&&ue(n.error,r),complete:n.complete&&ue(n.complete,r)}):o=n}this.destination=new Ve(o)}}function j(t){z.useDeprecatedSynchronousErrorHandling?function ye(t){z.useDeprecatedSynchronousErrorHandling&&te&&(te.errorThrown=!0,te.error=t)}(t):L(t)}function w(t,n){const{onStoppedNotification:e}=z;e&&T.setTimeout(()=>e(t,n))}const ge={closed:!0,next:S,error:function fe(t){throw t},complete:S},bt="function"==typeof Symbol&&Symbol.observable||"@@observable";function Me(t){return t}let Ue=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,o){const r=function ut(t){return t&&t instanceof he||function re(t){return t&&H(t.next)&&H(t.error)&&H(t.complete)}(t)&&q(t)}(e)?e:new at(e,i,o);return J(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=ae(i))((o,r)=>{const s=new at({next:a=>{try{e(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:o});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[bt](){return this}pipe(...e){return function Oe(t){return 0===t.length?Me:1===t.length?t[0]:function(e){return t.reduce((i,o)=>o(i),e)}}(e)(this)}toPromise(e){return new(e=ae(e))((i,o)=>{let r;this.subscribe(s=>r=s,s=>o(s),()=>i(r))})}}return t.create=n=>new t(n),t})();function ae(t){var n;return null!==(n=null!=t?t:z.Promise)&&void 0!==n?n:Promise}const qe=R(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ie=(()=>{class t extends Ue{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new vn(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new qe}next(e){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:o,observers:r}=this;return i||o?$:(this.currentObservers=null,r.push(e),new k(()=>{this.currentObservers=null,x(r,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:o,isStopped:r}=this;i?e.error(o):r&&e.complete()}asObservable(){const e=new Ue;return e.source=this,e}}return t.create=(n,e)=>new vn(n,e),t})();class vn extends ie{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:$}}function ei(t){return H(null==t?void 0:t.lift)}function nt(t){return n=>{if(ei(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function st(t,n,e,i,o){return new zn(t,n,e,i,o)}class zn extends he{constructor(n,e,i,o,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function je(t,n){return nt((e,i)=>{let o=0;e.subscribe(st(i,r=>{i.next(t.call(n,r,o++))}))})}function Ui(t){return this instanceof Ui?(this.v=t,this):new Ui(t)}function yn(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,i=e.apply(t,n||[]),r=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(v){i[v]&&(o[v]=function(C){return new Promise(function(M,V){r.push([v,C,M,V])>1||a(v,C)})})}function a(v,C){try{!function l(v){v.value instanceof Ui?Promise.resolve(v.value.v).then(u,p):g(r[0][2],v)}(i[v](C))}catch(M){g(r[0][3],M)}}function u(v){a("next",v)}function p(v){a("throw",v)}function g(v,C){v(C),r.shift(),r.length&&a(r[0][0],r[0][1])}}function Ta(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function Xt(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(r){e[r]=t[r]&&function(s){return new Promise(function(a,l){!function o(r,s,a,l){Promise.resolve(l).then(function(u){r({value:u,done:a})},s)}(a,l,(s=t[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Xp=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function jv(t){return H(null==t?void 0:t.then)}function Hv(t){return H(t[bt])}function Uv(t){return Symbol.asyncIterator&&H(null==t?void 0:t[Symbol.asyncIterator])}function zv(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const $v=function CI(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Gv(t){return H(null==t?void 0:t[$v])}function Wv(t){return yn(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:o}=yield Ui(e.read());if(o)return yield Ui(void 0);yield yield Ui(i)}}finally{e.releaseLock()}})}function qv(t){return H(null==t?void 0:t.getReader)}function yi(t){if(t instanceof Ue)return t;if(null!=t){if(Hv(t))return function wI(t){return new Ue(n=>{const e=t[bt]();if(H(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(Xp(t))return function DI(t){return new Ue(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,L)})}(t);if(Uv(t))return Kv(t);if(Gv(t))return function MI(t){return new Ue(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(qv(t))return function xI(t){return Kv(Wv(t))}(t)}throw zv(t)}function Kv(t){return new Ue(n=>{(function TI(t,n){var e,i,o,r;return function Re(t,n,e,i){return new(e||(e=Promise))(function(r,s){function a(p){try{u(i.next(p))}catch(g){s(g)}}function l(p){try{u(i.throw(p))}catch(g){s(g)}}function u(p){p.done?r(p.value):function o(r){return r instanceof e?r:new e(function(s){s(r)})}(p.value).then(a,l)}u((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=Ta(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=e.return)&&(yield r.call(e))}finally{if(o)throw o.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function kr(t,n,e,i=0,o=!1){const r=n.schedule(function(){e(),o?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(r),!o)return r}function $n(t,n,e=1/0){return H(n)?$n((i,o)=>je((r,s)=>n(i,r,o,s))(yi(t(i,o))),e):("number"==typeof n&&(e=n),nt((i,o)=>function kI(t,n,e,i,o,r,s,a){const l=[];let u=0,p=0,g=!1;const v=()=>{g&&!l.length&&!u&&n.complete()},C=V=>u{r&&n.next(V),u++;let K=!1;yi(e(V,p++)).subscribe(st(n,Y=>{null==o||o(Y),r?C(Y):n.next(Y)},()=>{K=!0},void 0,()=>{if(K)try{for(u--;l.length&&uM(Y)):M(Y)}v()}catch(Y){n.error(Y)}}))};return t.subscribe(st(n,C,()=>{g=!0,v()})),()=>{null==a||a()}}(i,o,t,e)))}function Ql(t=1/0){return $n(Me,t)}const yo=new Ue(t=>t.complete());function Zv(t){return t&&H(t.schedule)}function Jp(t){return t[t.length-1]}function Qv(t){return H(Jp(t))?t.pop():void 0}function Yl(t){return Zv(Jp(t))?t.pop():void 0}function Yv(t,n=0){return nt((e,i)=>{e.subscribe(st(i,o=>kr(i,t,()=>i.next(o),n),()=>kr(i,t,()=>i.complete(),n),o=>kr(i,t,()=>i.error(o),n)))})}function Xv(t,n=0){return nt((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function Jv(t,n){if(!t)throw new Error("Iterable cannot be null");return new Ue(e=>{kr(e,n,()=>{const i=t[Symbol.asyncIterator]();kr(e,n,()=>{i.next().then(o=>{o.done?e.complete():e.next(o.value)})},0,!0)})})}function ui(t,n){return n?function NI(t,n){if(null!=t){if(Hv(t))return function OI(t,n){return yi(t).pipe(Xv(n),Yv(n))}(t,n);if(Xp(t))return function PI(t,n){return new Ue(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(jv(t))return function AI(t,n){return yi(t).pipe(Xv(n),Yv(n))}(t,n);if(Uv(t))return Jv(t,n);if(Gv(t))return function RI(t,n){return new Ue(e=>{let i;return kr(e,n,()=>{i=t[$v](),kr(e,n,()=>{let o,r;try{({value:o,done:r}=i.next())}catch(s){return void e.error(s)}r?e.complete():e.next(o)},0,!0)}),()=>H(null==i?void 0:i.return)&&i.return()})}(t,n);if(qv(t))return function FI(t,n){return Jv(Wv(t),n)}(t,n)}throw zv(t)}(t,n):yi(t)}function Tn(...t){const n=Yl(t),e=function II(t,n){return"number"==typeof Jp(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?yi(i[0]):Ql(e)(ui(i,n)):yo}function ey(t={}){const{connector:n=(()=>new ie),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:o=!0}=t;return r=>{let s,a,l,u=0,p=!1,g=!1;const v=()=>{null==a||a.unsubscribe(),a=void 0},C=()=>{v(),s=l=void 0,p=g=!1},M=()=>{const V=s;C(),null==V||V.unsubscribe()};return nt((V,K)=>{u++,!g&&!p&&v();const Y=l=null!=l?l:n();K.add(()=>{u--,0===u&&!g&&!p&&(a=ef(M,o))}),Y.subscribe(K),!s&&u>0&&(s=new at({next:ee=>Y.next(ee),error:ee=>{g=!0,v(),a=ef(C,e,ee),Y.error(ee)},complete:()=>{p=!0,v(),a=ef(C,i),Y.complete()}}),yi(V).subscribe(s))})(r)}}function ef(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new at({next:()=>{i.unsubscribe(),t()}});return yi(n(...e)).subscribe(i)}function ln(t){for(let n in t)if(t[n]===ln)return n;throw Error("Could not find renamed property on target object.")}function tf(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function tn(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(tn).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function nf(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const LI=ln({__forward_ref__:ln});function zt(t){return t.__forward_ref__=zt,t.toString=function(){return tn(this())},t}function Mt(t){return ty(t)?t():t}function ty(t){return"function"==typeof t&&t.hasOwnProperty(LI)&&t.__forward_ref__===zt}class Qe extends Error{constructor(n,e){super(function rf(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function Dt(t){return"string"==typeof t?t:null==t?"":String(t)}function Ii(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():Dt(t)}function $d(t,n){const e=n?` in ${n}`:"";throw new Qe(-201,`No provider for ${Ii(t)} found${e}`)}function io(t,n){null==t&&function mn(t,n,e,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${e} ${i} ${n} <=Actual]`))}(n,t,null,"!=")}function Be(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function it(t){return{providers:t.providers||[],imports:t.imports||[]}}function sf(t){return ny(t,Gd)||ny(t,oy)}function ny(t,n){return t.hasOwnProperty(n)?t[n]:null}function iy(t){return t&&(t.hasOwnProperty(af)||t.hasOwnProperty($I))?t[af]:null}const Gd=ln({\u0275prov:ln}),af=ln({\u0275inj:ln}),oy=ln({ngInjectableDef:ln}),$I=ln({ngInjectorDef:ln});var yt=(()=>((yt=yt||{})[yt.Default=0]="Default",yt[yt.Host=1]="Host",yt[yt.Self=2]="Self",yt[yt.SkipSelf=4]="SkipSelf",yt[yt.Optional=8]="Optional",yt))();let lf;function as(t){const n=lf;return lf=t,n}function ry(t,n,e){const i=sf(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&yt.Optional?null:void 0!==n?n:void $d(tn(t),"Injector")}function ls(t){return{toString:t}.toString()}var Uo=(()=>((Uo=Uo||{})[Uo.OnPush=0]="OnPush",Uo[Uo.Default=1]="Default",Uo))(),zo=(()=>{return(t=zo||(zo={}))[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",zo;var t})();const WI="undefined"!=typeof globalThis&&globalThis,qI="undefined"!=typeof window&&window,KI="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,on=WI||"undefined"!=typeof global&&global||qI||KI,Ea={},cn=[],Wd=ln({\u0275cmp:ln}),cf=ln({\u0275dir:ln}),df=ln({\u0275pipe:ln}),sy=ln({\u0275mod:ln}),Ir=ln({\u0275fac:ln}),Xl=ln({__NG_ELEMENT_ID__:ln});let ZI=0;function Ae(t){return ls(()=>{const e={},i={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Uo.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||cn,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||zo.Emulated,id:"c",styles:t.styles||cn,_:null,setInput:null,schemas:t.schemas||null,tView:null},o=t.directives,r=t.features,s=t.pipes;return i.id+=ZI++,i.inputs=dy(t.inputs,e),i.outputs=dy(t.outputs),r&&r.forEach(a=>a(i)),i.directiveDefs=o?()=>("function"==typeof o?o():o).map(ay):null,i.pipeDefs=s?()=>("function"==typeof s?s():s).map(ly):null,i})}function ay(t){return Ci(t)||function cs(t){return t[cf]||null}(t)}function ly(t){return function Gs(t){return t[df]||null}(t)}const cy={};function ot(t){return ls(()=>{const n={type:t.type,bootstrap:t.bootstrap||cn,declarations:t.declarations||cn,imports:t.imports||cn,exports:t.exports||cn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(cy[t.id]=t.type),n})}function dy(t,n){if(null==t)return Ea;const e={};for(const i in t)if(t.hasOwnProperty(i)){let o=t[i],r=o;Array.isArray(o)&&(r=o[1],o=o[0]),e[o]=i,n&&(n[o]=r)}return e}const oe=Ae;function zi(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function Ci(t){return t[Wd]||null}function Co(t,n){const e=t[sy]||null;if(!e&&!0===n)throw new Error(`Type ${tn(t)} does not have '\u0275mod' property.`);return e}function ar(t){return Array.isArray(t)&&"object"==typeof t[1]}function Go(t){return Array.isArray(t)&&!0===t[1]}function pf(t){return 0!=(8&t.flags)}function Qd(t){return 2==(2&t.flags)}function Yd(t){return 1==(1&t.flags)}function Wo(t){return null!==t.template}function tO(t){return 0!=(512&t[2])}function Zs(t,n){return t.hasOwnProperty(Ir)?t[Ir]:null}class oO{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function nn(){return hy}function hy(t){return t.type.prototype.ngOnChanges&&(t.setInput=sO),rO}function rO(){const t=fy(this),n=null==t?void 0:t.current;if(n){const e=t.previous;if(e===Ea)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function sO(t,n,e,i){const o=fy(t)||function aO(t,n){return t[py]=n}(t,{previous:Ea,current:null}),r=o.current||(o.current={}),s=o.previous,a=this.declaredInputs[e],l=s[a];r[a]=new oO(l&&l.currentValue,n,s===Ea),t[i]=n}nn.ngInherit=!0;const py="__ngSimpleChanges__";function fy(t){return t[py]||null}let bf;function Pn(t){return!!t.listen}const my={createRenderer:(t,n)=>function vf(){return void 0!==bf?bf:"undefined"!=typeof document?document:void 0}()};function Gn(t){for(;Array.isArray(t);)t=t[0];return t}function Xd(t,n){return Gn(n[t])}function So(t,n){return Gn(n[t.index])}function yf(t,n){return t.data[n]}function Ra(t,n){return t[n]}function ro(t,n){const e=n[t];return ar(e)?e:e[0]}function gy(t){return 4==(4&t[2])}function Cf(t){return 128==(128&t[2])}function ds(t,n){return null==n?null:t[n]}function _y(t){t[18]=0}function wf(t,n){t[5]+=n;let e=t,i=t[3];for(;null!==i&&(1===n&&1===e[5]||-1===n&&0===e[5]);)i[5]+=n,e=i,i=i[3]}const Ct={lFrame:My(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function by(){return Ct.bindingsEnabled}function De(){return Ct.lFrame.lView}function Gt(){return Ct.lFrame.tView}function se(t){return Ct.lFrame.contextLView=t,t[8]}function ti(){let t=vy();for(;null!==t&&64===t.type;)t=t.parent;return t}function vy(){return Ct.lFrame.currentTNode}function lr(t,n){const e=Ct.lFrame;e.currentTNode=t,e.isParent=n}function Df(){return Ct.lFrame.isParent}function Sf(){Ct.lFrame.isParent=!1}function Jd(){return Ct.isInCheckNoChangesMode}function eu(t){Ct.isInCheckNoChangesMode=t}function Oi(){const t=Ct.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function Or(){return Ct.lFrame.bindingIndex}function Fa(){return Ct.lFrame.bindingIndex++}function Ar(t){const n=Ct.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function SO(t,n){const e=Ct.lFrame;e.bindingIndex=e.bindingRootIndex=t,Mf(n)}function Mf(t){Ct.lFrame.currentDirectiveIndex=t}function xf(t){const n=Ct.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function wy(){return Ct.lFrame.currentQueryIndex}function Tf(t){Ct.lFrame.currentQueryIndex=t}function xO(t){const n=t[1];return 2===n.type?n.declTNode:1===n.type?t[6]:null}function Dy(t,n,e){if(e&yt.SkipSelf){let o=n,r=t;for(;!(o=o.parent,null!==o||e&yt.Host||(o=xO(r),null===o||(r=r[15],10&o.type))););if(null===o)return!1;n=o,t=r}const i=Ct.lFrame=Sy();return i.currentTNode=n,i.lView=t,!0}function tu(t){const n=Sy(),e=t[1];Ct.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function Sy(){const t=Ct.lFrame,n=null===t?null:t.child;return null===n?My(t):n}function My(t){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function xy(){const t=Ct.lFrame;return Ct.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Ty=xy;function nu(){const t=xy();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Ai(){return Ct.lFrame.selectedIndex}function us(t){Ct.lFrame.selectedIndex=t}function Rn(){const t=Ct.lFrame;return yf(t.tView,t.selectedIndex)}function hn(){Ct.lFrame.currentNamespace="svg"}function Qs(){!function IO(){Ct.lFrame.currentNamespace=null}()}function iu(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[18]+=65536),(a>11>16&&(3&t[2])===n){t[2]+=2048;try{r.call(a)}finally{}}}else try{r.call(a)}finally{}}class ic{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function su(t,n,e){const i=Pn(t);let o=0;for(;on){s=r-1;break}}}for(;r>16}(t),i=n;for(;e>0;)i=i[15],e--;return i}let Of=!0;function lu(t){const n=Of;return Of=t,n}let VO=0;function rc(t,n){const e=Pf(t,n);if(-1!==e)return e;const i=n[1];i.firstCreatePass&&(t.injectorIndex=n.length,Af(i.data,t),Af(n,null),Af(i.blueprint,null));const o=cu(t,n),r=t.injectorIndex;if(Oy(o)){const s=Na(o),a=La(o,n),l=a[1].data;for(let u=0;u<8;u++)n[r+u]=a[s+u]|l[s+u]}return n[r+8]=o,r}function Af(t,n){t.push(0,0,0,0,0,0,0,0,n)}function Pf(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function cu(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,o=n;for(;null!==o;){const r=o[1],s=r.type;if(i=2===s?r.declTNode:1===s?o[6]:null,null===i)return-1;if(e++,o=o[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function du(t,n,e){!function jO(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Xl)&&(i=e[Xl]),null==i&&(i=e[Xl]=VO++);const o=255&i;n.data[t+(o>>5)]|=1<=0?255&n:UO:n}(e);if("function"==typeof r){if(!Dy(n,t,i))return i&yt.Host?Ry(o,e,i):Fy(n,e,i,o);try{const s=r(i);if(null!=s||i&yt.Optional)return s;$d(e)}finally{Ty()}}else if("number"==typeof r){let s=null,a=Pf(t,n),l=-1,u=i&yt.Host?n[16][6]:null;for((-1===a||i&yt.SkipSelf)&&(l=-1===a?cu(t,n):n[a+8],-1!==l&&Vy(i,!1)?(s=n[1],a=Na(l),n=La(l,n)):a=-1);-1!==a;){const p=n[1];if(By(r,a,p.data)){const g=zO(a,n,e,s,i,u);if(g!==Ly)return g}l=n[a+8],-1!==l&&Vy(i,n[1].data[a+8]===u)&&By(r,a,n)?(s=p,a=Na(l),n=La(l,n)):a=-1}}}return Fy(n,e,i,o)}const Ly={};function UO(){return new Ba(ti(),De())}function zO(t,n,e,i,o,r){const s=n[1],a=s.data[t+8],p=uu(a,s,e,null==i?Qd(a)&&Of:i!=s&&0!=(3&a.type),o&yt.Host&&r===a);return null!==p?sc(n,s,p,a):Ly}function uu(t,n,e,i,o){const r=t.providerIndexes,s=n.data,a=1048575&r,l=t.directiveStart,p=r>>20,v=o?a+p:t.directiveEnd;for(let C=i?a:a+p;C=l&&M.type===e)return C}if(o){const C=s[l];if(C&&Wo(C)&&C.type===e)return l}return null}function sc(t,n,e,i){let o=t[e];const r=n.data;if(function RO(t){return t instanceof ic}(o)){const s=o;s.resolving&&function BI(t,n){const e=n?`. Dependency path: ${n.join(" > ")} > ${t}`:"";throw new Qe(-200,`Circular dependency in DI detected for ${t}${e}`)}(Ii(r[e]));const a=lu(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?as(s.injectImpl):null;Dy(t,i,yt.Default);try{o=t[e]=s.factory(void 0,r,t,i),n.firstCreatePass&&e>=i.directiveStart&&function AO(t,n,e){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:r}=n.type.prototype;if(i){const s=hy(n);(e.preOrderHooks||(e.preOrderHooks=[])).push(t,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(t,s)}o&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-t,o),r&&((e.preOrderHooks||(e.preOrderHooks=[])).push(t,r),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(t,r))}(e,r[e],n)}finally{null!==l&&as(l),lu(a),s.resolving=!1,Ty()}}return o}function By(t,n,e){return!!(e[n+(t>>5)]&1<{const n=t.prototype.constructor,e=n[Ir]||Rf(n),i=Object.prototype;let o=Object.getPrototypeOf(t.prototype).constructor;for(;o&&o!==i;){const r=o[Ir]||Rf(o);if(r&&r!==e)return r;o=Object.getPrototypeOf(o)}return r=>new r})}function Rf(t){return ty(t)?()=>{const n=Rf(Mt(t));return n&&n()}:Zs(t)}function Di(t){return function HO(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let o=0;for(;o{const i=function Ff(t){return function(...e){if(t){const i=t(...e);for(const o in i)this[o]=i[o]}}}(n);function o(...r){if(this instanceof o)return i.apply(this,r),this;const s=new o(...r);return a.annotation=s,a;function a(l,u,p){const g=l.hasOwnProperty(ja)?l[ja]:Object.defineProperty(l,ja,{value:[]})[ja];for(;g.length<=p;)g.push(null);return(g[p]=g[p]||[]).push(s),l}}return e&&(o.prototype=Object.create(e.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o})}class _e{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=Be({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const WO=new _e("AnalyzeForEntryComponents");function Mo(t,n){void 0===n&&(n=t);for(let e=0;eArray.isArray(e)?cr(e,n):n(e))}function Hy(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function hu(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function cc(t,n){const e=[];for(let i=0;i=0?t[1|i]=e:(i=~i,function ZO(t,n,e,i){let o=t.length;if(o==n)t.push(e,i);else if(1===o)t.push(i,t[0]),t[0]=e;else{for(o--,t.push(t[o-1],t[o]);o>n;)t[o]=t[o-2],o--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function Lf(t,n){const e=za(t,n);if(e>=0)return t[1|e]}function za(t,n){return function $y(t,n,e){let i=0,o=t.length>>e;for(;o!==i;){const r=i+(o-i>>1),s=t[r<n?o=r:i=r+1}return~(o<({token:t})),-1),qo=pc(Ua("Optional"),8),$a=pc(Ua("SkipSelf"),4);let _u;function Wa(t){var n;return(null===(n=function Uf(){if(void 0===_u&&(_u=null,on.trustedTypes))try{_u=on.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return _u}())||void 0===n?void 0:n.createHTML(t))||t}class Ys{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class y2 extends Ys{getTypeName(){return"HTML"}}class C2 extends Ys{getTypeName(){return"Style"}}class w2 extends Ys{getTypeName(){return"Script"}}class D2 extends Ys{getTypeName(){return"URL"}}class S2 extends Ys{getTypeName(){return"ResourceURL"}}function ao(t){return t instanceof Ys?t.changingThisBreaksApplicationSecurity:t}function dr(t,n){const e=nC(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see https://g.co/ng/security#xss)`)}return e===n}function nC(t){return t instanceof Ys&&t.getTypeName()||null}class I2{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(Wa(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class O2{constructor(n){if(this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(n){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Wa(n),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Wa(n),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(n){const e=n.attributes;for(let o=e.length-1;0mc(n.trim())).join(", ")),this.buf.push(" ",s,'="',cC(l),'"')}var t;return this.buf.push(">"),!0}endElement(n){const e=n.nodeName.toLowerCase();$f.hasOwnProperty(e)&&!rC.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(cC(n))}checkClobberedElement(n,e){if(e&&(n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);return e}}const L2=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,B2=/([^\#-~ |!])/g;function cC(t){return t.replace(/&/g,"&").replace(L2,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(B2,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let vu;function dC(t,n){let e=null;try{vu=vu||function iC(t){const n=new O2(t);return function A2(){try{return!!(new window.DOMParser).parseFromString(Wa(""),"text/html")}catch(t){return!1}}()?new I2(n):n}(t);let i=n?String(n):"";e=vu.getInertBodyElement(i);let o=5,r=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=r,r=e.innerHTML,e=vu.getInertBodyElement(i)}while(i!==r);return Wa((new N2).sanitizeChildren(qf(e)||e))}finally{if(e){const i=qf(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qf(t){return"content"in t&&function V2(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Yt=(()=>((Yt=Yt||{})[Yt.NONE=0]="NONE",Yt[Yt.HTML=1]="HTML",Yt[Yt.STYLE=2]="STYLE",Yt[Yt.SCRIPT=3]="SCRIPT",Yt[Yt.URL=4]="URL",Yt[Yt.RESOURCE_URL=5]="RESOURCE_URL",Yt))();function Gi(t){const n=function _c(){const t=De();return t&&t[12]}();return n?n.sanitize(Yt.URL,t)||"":dr(t,"URL")?ao(t):mc(Dt(t))}const pC="__ngContext__";function Si(t,n){t[pC]=n}function Zf(t){const n=function bc(t){return t[pC]||null}(t);return n?Array.isArray(n)?n:n.lView:null}function Yf(t){return t.ngOriginalError}function nA(t,...n){t.error(...n)}class ps{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n),i=function tA(t){return t&&t.ngErrorLogger||nA}(n);i(this._console,"ERROR",n),e&&i(this._console,"ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&Yf(n);for(;e&&Yf(e);)e=Yf(e);return e||null}}const hA=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(on))();function hr(t){return t instanceof Function?t():t}var lo=(()=>((lo=lo||{})[lo.Important=1]="Important",lo[lo.DashCase=2]="DashCase",lo))();function Jf(t,n){return undefined(t,n)}function vc(t){const n=t[3];return Go(n)?n[3]:n}function em(t){return wC(t[13])}function tm(t){return wC(t[4])}function wC(t){for(;null!==t&&!Go(t);)t=t[4];return t}function Ka(t,n,e,i,o){if(null!=i){let r,s=!1;Go(i)?r=i:ar(i)&&(s=!0,i=i[0]);const a=Gn(i);0===t&&null!==e?null==o?kC(n,e,a):Xs(n,e,a,o||null,!0):1===t&&null!==e?Xs(n,e,a,o||null,!0):2===t?function FC(t,n,e){const i=yu(t,n);i&&function xA(t,n,e,i){Pn(t)?t.removeChild(n,e,i):n.removeChild(e)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=r&&function EA(t,n,e,i,o){const r=e[7];r!==Gn(e)&&Ka(n,t,i,r,o);for(let a=10;a0&&(t[e-1][4]=i[4]);const r=hu(t,10+n);!function bA(t,n){yc(t,n,n[11],2,null,null),n[0]=null,n[6]=null}(i[1],i);const s=r[19];null!==s&&s.detachView(r[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function MC(t,n){if(!(256&n[2])){const e=n[11];Pn(e)&&e.destroyNode&&yc(t,n,e,3,null,null),function CA(t){let n=t[13];if(!n)return rm(t[1],t);for(;n;){let e=null;if(ar(n))e=n[13];else{const i=n[10];i&&(e=i)}if(!e){for(;n&&!n[4]&&n!==t;)ar(n)&&rm(n[1],n),n=n[3];null===n&&(n=t),ar(n)&&rm(n[1],n),e=n&&n[4]}n=e}}(n)}}function rm(t,n){if(!(256&n[2])){n[2]&=-129,n[2]|=256,function MA(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[o=u]():i[o=-u].unsubscribe(),r+=2}else{const s=i[o=e[r+1]];e[r].call(s)}if(null!==i){for(let r=o+1;rr?"":o[g+1].toLowerCase();const C=8&i?v:null;if(C&&-1!==BC(C,u,0)||2&i&&u!==v){if(Ko(i))return!1;s=!0}}}}else{if(!s&&!Ko(i)&&!Ko(l))return!1;if(s&&Ko(l))continue;s=!1,i=l|1&i}}return Ko(i)||s}function Ko(t){return 0==(1&t)}function RA(t,n,e,i){if(null===n)return-1;let o=0;if(i||!e){let r=!1;for(;o-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?o+="."+s:4&i&&(o+=" "+s);else""!==o&&!Ko(s)&&(n+=UC(r,o),o=""),i=s,r=r||!Ko(i);e++}return""!==o&&(n+=UC(r,o)),n}const St={};function f(t){zC(Gt(),De(),Ai()+t,Jd())}function zC(t,n,e,i){if(!i)if(3==(3&n[2])){const r=t.preOrderCheckHooks;null!==r&&ou(n,r,e)}else{const r=t.preOrderHooks;null!==r&&ru(n,r,0,e)}us(e)}function Du(t,n){return t<<17|n<<2}function Zo(t){return t>>17&32767}function dm(t){return 2|t}function Pr(t){return(131068&t)>>2}function um(t,n){return-131069&t|n<<2}function hm(t){return 1|t}function e0(t,n){const e=t.contentQueries;if(null!==e)for(let i=0;i20&&zC(t,n,20,Jd()),e(i,o)}finally{us(r)}}function n0(t,n,e){if(pf(n)){const o=n.directiveEnd;for(let r=n.directiveStart;r0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(a)!=l&&a.push(l),a.push(i,o,s)}}function u0(t,n){null!==t.hostBindings&&t.hostBindings(1,n)}function h0(t,n){n.flags|=2,(t.components||(t.components=[])).push(n.index)}function fP(t,n,e){if(e){if(n.exportAs)for(let i=0;i0&&xm(e)}}function xm(t){for(let i=em(t);null!==i;i=tm(i))for(let o=10;o0&&xm(r)}const e=t[1].components;if(null!==e)for(let i=0;i0&&xm(o)}}function CP(t,n){const e=ro(n,t),i=e[1];(function wP(t,n){for(let e=n.length;ePromise.resolve(null))();function _0(t){return t[7]||(t[7]=[])}function b0(t){return t.cleanup||(t.cleanup=[])}function v0(t,n,e){return(null===t||Wo(t))&&(e=function fO(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(e[n.index])),e[11]}function y0(t,n){const e=t[9],i=e?e.get(ps,null):null;i&&i.handleError(n)}function C0(t,n,e,i,o){for(let r=0;rthis.processProvider(a,n,e)),cr([n],a=>this.processInjectorType(a,[],r)),this.records.set(Om,Xa(void 0,this));const s=this.records.get(Am);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof n?null:tn(n))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(n=>n.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(n,e=dc,i=yt.Default){this.assertNotDestroyed();const o=qy(this),r=as(void 0);try{if(!(i&yt.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function BP(t){return"function"==typeof t||"object"==typeof t&&t instanceof _e}(n)&&sf(n);a=l&&this.injectableDefInScope(l)?Xa(Rm(n),Dc):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(i&yt.Self?D0():this.parent).get(n,e=i&yt.Optional&&e===dc?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[fu]=s[fu]||[]).unshift(tn(n)),o)throw s;return function l2(t,n,e,i){const o=t[fu];throw n[Wy]&&o.unshift(n[Wy]),t.message=function c2(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let o=tn(n);if(Array.isArray(n))o=n.map(tn).join(" -> ");else if("object"==typeof n){let r=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];r.push(s+":"+("string"==typeof a?JSON.stringify(a):tn(a)))}o=`{${r.join(", ")}}`}return`${e}${i?"("+i+")":""}[${o}]: ${t.replace(n2,"\n ")}`}("\n"+t.message,o,e,i),t.ngTokenPath=o,t[fu]=null,t}(s,n,"R3InjectorError",this.source)}throw s}finally{as(r),qy(o)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(n=>this.get(n))}toString(){const n=[];return this.records.forEach((i,o)=>n.push(tn(o))),`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Qe(205,!1)}processInjectorType(n,e,i){if(!(n=Mt(n)))return!1;let o=iy(n);const r=null==o&&n.ngModule||void 0,s=void 0===r?n:r,a=-1!==i.indexOf(s);if(void 0!==r&&(o=iy(r)),null==o)return!1;if(null!=o.imports&&!a){let p;i.push(s);try{cr(o.imports,g=>{this.processInjectorType(g,e,i)&&(void 0===p&&(p=[]),p.push(g))})}finally{}if(void 0!==p)for(let g=0;gthis.processProvider(M,v,C||cn))}}this.injectorDefTypes.add(s);const l=Zs(s)||(()=>new s);this.records.set(s,Xa(l,Dc));const u=o.providers;if(null!=u&&!a){const p=n;cr(u,g=>this.processProvider(g,p,u))}return void 0!==r&&void 0!==n.providers}processProvider(n,e,i){let o=Ja(n=Mt(n))?n:Mt(n&&n.provide);const r=function AP(t,n,e){return T0(t)?Xa(void 0,t.useValue):Xa(x0(t),Dc)}(n);if(Ja(n)||!0!==n.multi)this.records.get(o);else{let s=this.records.get(o);s||(s=Xa(void 0,Dc,!0),s.factory=()=>jf(s.multi),this.records.set(o,s)),o=n,s.multi.push(n)}this.records.set(o,r)}hydrate(n,e){return e.value===Dc&&(e.value=EP,e.value=e.factory()),"object"==typeof e.value&&e.value&&function LP(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(n){if(!n.providedIn)return!1;const e=Mt(n.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Rm(t){const n=sf(t),e=null!==n?n.factory:Zs(t);if(null!==e)return e;if(t instanceof _e)throw new Qe(204,!1);if(t instanceof Function)return function OP(t){const n=t.length;if(n>0)throw cc(n,"?"),new Qe(204,!1);const e=function UI(t){const n=t&&(t[Gd]||t[oy]);if(n){const e=function zI(t){if(t.hasOwnProperty("name"))return t.name;const n=(""+t).match(/^function\s*([^\s(]+)/);return null===n?"":n[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${e}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${e}" class.`),n}return null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new Qe(204,!1)}function x0(t,n,e){let i;if(Ja(t)){const o=Mt(t);return Zs(o)||Rm(o)}if(T0(t))i=()=>Mt(t.useValue);else if(function RP(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...jf(t.deps||[]));else if(function PP(t){return!(!t||!t.useExisting)}(t))i=()=>Q(Mt(t.useExisting));else{const o=Mt(t&&(t.useClass||t.provide));if(!function NP(t){return!!t.deps}(t))return Zs(o)||Rm(o);i=()=>new o(...jf(t.deps))}return i}function Xa(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function T0(t){return null!==t&&"object"==typeof t&&r2 in t}function Ja(t){return"function"==typeof t}let pn=(()=>{class t{static create(e,i){var o;if(Array.isArray(e))return S0({name:""},i,e,"");{const r=null!==(o=e.name)&&void 0!==o?o:"";return S0({name:r},e.parent,e.providers,r)}}}return t.THROW_IF_NOT_FOUND=dc,t.NULL=new w0,t.\u0275prov=Be({token:t,providedIn:"any",factory:()=>Q(Om)}),t.__NG_ELEMENT_ID__=-1,t})();function WP(t,n){iu(Zf(t)[1],ti())}function Ce(t){let n=function V0(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),e=!0;const i=[t];for(;n;){let o;if(Wo(t))o=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new Qe(903,"");o=n.\u0275dir}if(o){if(e){i.push(o);const s=t;s.inputs=Lm(t.inputs),s.declaredInputs=Lm(t.declaredInputs),s.outputs=Lm(t.outputs);const a=o.hostBindings;a&&QP(t,a);const l=o.viewQuery,u=o.contentQueries;if(l&&KP(t,l),u&&ZP(t,u),tf(t.inputs,o.inputs),tf(t.declaredInputs,o.declaredInputs),tf(t.outputs,o.outputs),Wo(o)&&o.data.animation){const p=t.data;p.animation=(p.animation||[]).concat(o.data.animation)}}const r=o.features;if(r)for(let s=0;s=0;i--){const o=t[i];o.hostVars=n+=o.hostVars,o.hostAttrs=au(o.hostAttrs,e=au(e,o.hostAttrs))}}(i)}function Lm(t){return t===Ea?{}:t===cn?[]:t}function KP(t,n){const e=t.viewQuery;t.viewQuery=e?(i,o)=>{n(i,o),e(i,o)}:n}function ZP(t,n){const e=t.contentQueries;t.contentQueries=e?(i,o,r)=>{n(i,o,r),e(i,o,r)}:n}function QP(t,n){const e=t.hostBindings;t.hostBindings=e?(i,o)=>{n(i,o),e(i,o)}:n}let Eu=null;function el(){if(!Eu){const t=on.Symbol;if(t&&t.iterator)Eu=t.iterator;else{const n=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Gn(Ze[i.index])):i.index;if(Pn(e)){let Ze=null;if(!a&&l&&(Ze=function xR(t,n,e,i){const o=t.cleanup;if(null!=o)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(t,n,o,i.index)),null!==Ze)(Ze.__ngLastListenerFn__||Ze).__ngNextListenerFn__=r,Ze.__ngLastListenerFn__=r,C=!1;else{r=Gm(i,n,g,r,!1);const Pt=e.listen(Y,o,r);v.push(r,Pt),p&&p.push(o,ke,ee,ee+1)}}else r=Gm(i,n,g,r,!0),Y.addEventListener(o,r,s),v.push(r),p&&p.push(o,ke,ee,s)}else r=Gm(i,n,g,r,!1);const M=i.outputs;let V;if(C&&null!==M&&(V=M[o])){const K=V.length;if(K)for(let Y=0;Y0;)n=n[15],t--;return n}(t,Ct.lFrame.contextLView))[8]}(t)}function TR(t,n){let e=null;const i=function FA(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(0==(1&e))return n[e+1]}return null}(t);for(let o=0;o=0}const ii={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function v1(t){return t.substring(ii.key,ii.keyEnd)}function y1(t,n){const e=ii.textEnd;return e===n?-1:(n=ii.keyEnd=function RR(t,n,e){for(;n32;)n++;return n}(t,ii.key=n,e),ul(t,n,e))}function ul(t,n,e){for(;n=0;e=y1(n,e))so(t,v1(n),!0)}function Yo(t,n,e,i){const o=De(),r=Gt(),s=Ar(2);r.firstUpdatePass&&x1(r,t,s,i),n!==St&&Mi(o,s,n)&&k1(r,r.data[Ai()],o,o[11],t,o[s+1]=function GR(t,n){return null==t||("string"==typeof n?t+=n:"object"==typeof t&&(t=tn(ao(t)))),t}(n,e),i,s)}function M1(t,n){return n>=t.expandoStartIndex}function x1(t,n,e,i){const o=t.data;if(null===o[e+1]){const r=o[Ai()],s=M1(t,e);I1(r,i)&&null===n&&!s&&(n=!1),n=function VR(t,n,e,i){const o=xf(t);let r=i?n.residualClasses:n.residualStyles;if(null===o)0===(i?n.classBindings:n.styleBindings)&&(e=kc(e=qm(null,t,n,e,i),n.attrs,i),r=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==o)if(e=qm(o,t,n,e,i),null===r){let l=function jR(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==Pr(i))return t[Zo(i)]}(t,n,i);void 0!==l&&Array.isArray(l)&&(l=qm(null,t,n,l[1],i),l=kc(l,n.attrs,i),function HR(t,n,e,i){t[Zo(e?n.classBindings:n.styleBindings)]=i}(t,n,i,l))}else r=function UR(t,n,e){let i;const o=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(u=!0)}else p=e;if(o)if(0!==l){const v=Zo(t[a+1]);t[i+1]=Du(v,a),0!==v&&(t[v+1]=um(t[v+1],i)),t[a+1]=function UA(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=Du(a,0),0!==a&&(t[a+1]=um(t[a+1],i)),a=i;else t[i+1]=Du(l,0),0===a?a=i:t[l+1]=um(t[l+1],i),l=i;u&&(t[i+1]=dm(t[i+1])),b1(t,p,i,!0),b1(t,p,i,!1),function ER(t,n,e,i,o){const r=o?t.residualClasses:t.residualStyles;null!=r&&"string"==typeof n&&za(r,n)>=0&&(e[i+1]=hm(e[i+1]))}(n,p,t,i,r),s=Du(a,l),r?n.classBindings=s:n.styleBindings=s}(o,r,n,e,s,i)}}function qm(t,n,e,i,o){let r=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=t[o],u=Array.isArray(l),p=u?l[1]:l,g=null===p;let v=e[o+1];v===St&&(v=g?cn:void 0);let C=g?Lf(v,i):p===i?v:void 0;if(u&&!Au(C)&&(C=Lf(l,i)),Au(C)&&(a=C,s))return a;const M=t[o+1];o=s?Zo(M):Pr(M)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=Lf(l,i))}return a}function Au(t){return void 0!==t}function I1(t,n){return 0!=(t.flags&(n?16:32))}function h(t,n=""){const e=De(),i=Gt(),o=t+20,r=i.firstCreatePass?Za(i,o,1,n,null):i.data[o],s=e[o]=function nm(t,n){return Pn(t)?t.createText(n):t.createTextNode(n)}(e[11],n);Cu(i,e,s,r),lr(r,!1)}function Ee(t){return Se("",t,""),Ee}function Se(t,n,e){const i=De(),o=nl(i,t,n,e);return o!==St&&Rr(i,Ai(),o),Se}function hl(t,n,e,i,o){const r=De(),s=function il(t,n,e,i,o,r){const a=Js(t,Or(),e,o);return Ar(2),a?n+Dt(e)+i+Dt(o)+r:St}(r,t,n,e,i,o);return s!==St&&Rr(r,Ai(),s),hl}function Km(t,n,e,i,o,r,s){const a=De(),l=function ol(t,n,e,i,o,r,s,a){const u=Iu(t,Or(),e,o,s);return Ar(3),u?n+Dt(e)+i+Dt(o)+r+Dt(s)+a:St}(a,t,n,e,i,o,r,s);return l!==St&&Rr(a,Ai(),l),Km}function Zm(t,n,e,i,o,r,s,a,l){const u=De(),p=function rl(t,n,e,i,o,r,s,a,l,u){const g=xo(t,Or(),e,o,s,l);return Ar(4),g?n+Dt(e)+i+Dt(o)+r+Dt(s)+a+Dt(l)+u:St}(u,t,n,e,i,o,r,s,a,l);return p!==St&&Rr(u,Ai(),p),Zm}function N1(t,n,e){!function Xo(t,n,e,i){const o=Gt(),r=Ar(2);o.firstUpdatePass&&x1(o,null,r,i);const s=De();if(e!==St&&Mi(s,r,e)){const a=o.data[Ai()];if(I1(a,i)&&!M1(o,r)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=nf(l,e||"")),zm(o,a,s,e,i)}else!function $R(t,n,e,i,o,r,s,a){o===St&&(o=cn);let l=0,u=0,p=0>20;if(Ja(t)||!t.multi){const C=new ic(l,o,b),M=eg(a,n,o?p:p+v,g);-1===M?(du(rc(u,s),r,a),Jm(r,t,n.length),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),e.push(C),s.push(C)):(e[M]=C,s[M]=C)}else{const C=eg(a,n,p+v,g),M=eg(a,n,p,p+v),V=C>=0&&e[C],K=M>=0&&e[M];if(o&&!K||!o&&!V){du(rc(u,s),r,a);const Y=function cN(t,n,e,i,o){const r=new ic(t,e,b);return r.multi=[],r.index=n,r.componentProviders=0,bw(r,o,i&&!e),r}(o?lN:aN,e.length,o,i,l);!o&&K&&(e[M].providerFactory=Y),Jm(r,t,n.length,0),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),e.push(Y),s.push(Y)}else Jm(r,t,C>-1?C:M,bw(e[o?M:C],l,!o&&i));!o&&i&&K&&e[M].componentProviders++}}}function Jm(t,n,e,i){const o=Ja(n),r=function FP(t){return!!t.useClass}(n);if(o||r){const l=(r?Mt(n.useClass):n).prototype.ngOnDestroy;if(l){const u=t.destroyHooks||(t.destroyHooks=[]);if(!o&&n.multi){const p=u.indexOf(e);-1===p?u.push(e,[i,l]):u[p+1].push(i,l)}else u.push(e,l)}}}function bw(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function eg(t,n,e,i){for(let o=e;o{e.providersResolver=(i,o)=>function sN(t,n,e){const i=Gt();if(i.firstCreatePass){const o=Wo(t);Xm(e,i.data,i.blueprint,o,!0),Xm(n,i.data,i.blueprint,o,!1)}}(i,o?o(t):t,n)}}class vw{}class hN{resolveComponentFactory(n){throw function uN(t){const n=Error(`No component factory found for ${tn(t)}. Did you add it to @NgModule.entryComponents?`);return n.ngComponent=t,n}(n)}}let gs=(()=>{class t{}return t.NULL=new hN,t})();function pN(){return ml(ti(),De())}function ml(t,n){return new He(So(t,n))}let He=(()=>{class t{constructor(e){this.nativeElement=e}}return t.__NG_ELEMENT_ID__=pN,t})();function fN(t){return t instanceof He?t.nativeElement:t}class Rc{}let Nr=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>function gN(){const t=De(),e=ro(ti().index,t);return function mN(t){return t[11]}(ar(e)?e:t)}(),t})(),_N=(()=>{class t{}return t.\u0275prov=Be({token:t,providedIn:"root",factory:()=>null}),t})();class na{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const bN=new na("13.2.7"),ng={};function Bu(t,n,e,i,o=!1){for(;null!==e;){const r=n[e.index];if(null!==r&&i.push(Gn(r)),Go(r))for(let a=10;a-1&&(om(n,i),hu(e,i))}this._attachedToViewContainer=!1}MC(this._lView[1],this._lView)}onDestroy(n){a0(this._lView[1],this._lView,null,n)}markForCheck(){Tm(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Em(this._lView[1],this._lView,this.context)}checkNoChanges(){!function SP(t,n,e){eu(!0);try{Em(t,n,e)}finally{eu(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Qe(902,"");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function yA(t,n){yc(t,n,n[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new Qe(902,"");this._appRef=n}}class vN extends Fc{constructor(n){super(n),this._view=n}detectChanges(){g0(this._view)}checkNoChanges(){!function MP(t){eu(!0);try{g0(t)}finally{eu(!1)}}(this._view)}get context(){return null}}class Cw extends gs{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const e=Ci(n);return new ig(e,this.ngModule)}}function ww(t){const n=[];for(let e in t)t.hasOwnProperty(e)&&n.push({propName:t[e],templateName:e});return n}class ig extends vw{constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=function jA(t){return t.map(VA).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return ww(this.componentDef.inputs)}get outputs(){return ww(this.componentDef.outputs)}create(n,e,i,o){const r=(o=o||this.ngModule)?function CN(t,n){return{get:(e,i,o)=>{const r=t.get(e,ng,o);return r!==ng||i===ng?r:n.get(e,i,o)}}}(n,o.injector):n,s=r.get(Rc,my),a=r.get(_N,null),l=s.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",p=i?function s0(t,n,e){if(Pn(t))return t.selectRootElement(n,e===zo.ShadowDom);let i="string"==typeof n?t.querySelector(n):n;return i.textContent="",i}(l,i,this.componentDef.encapsulation):im(s.createRenderer(null,this.componentDef),u,function yN(t){const n=t.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(u)),g=this.componentDef.onPush?576:528,v=function B0(t,n){return{components:[],scheduler:t||hA,clean:xP,playerHandler:n||null,flags:0}}(),C=xu(0,null,null,1,0,null,null,null,null,null),M=Cc(null,C,v,g,null,null,s,l,a,r);let V,K;tu(M);try{const Y=function N0(t,n,e,i,o,r){const s=e[1];e[20]=t;const l=Za(s,20,2,"#host",null),u=l.mergedAttrs=n.hostAttrs;null!==u&&(ku(l,u,!0),null!==t&&(su(o,t,u),null!==l.classes&&cm(o,t,l.classes),null!==l.styles&&LC(o,t,l.styles)));const p=i.createRenderer(t,n),g=Cc(e,o0(n),null,n.onPush?64:16,e[20],l,i,p,r||null,null);return s.firstCreatePass&&(du(rc(l,e),s,n.type),h0(s,l),p0(l,e.length,1)),Tu(e,g),e[20]=g}(p,this.componentDef,M,s,l);if(p)if(i)su(l,p,["ng-version",bN.full]);else{const{attrs:ee,classes:ke}=function HA(t){const n=[],e=[];let i=1,o=2;for(;i0&&cm(l,p,ke.join(" "))}if(K=yf(C,20),void 0!==e){const ee=K.projection=[];for(let ke=0;kel(s,n)),n.contentQueries){const l=ti();n.contentQueries(1,s,l.directiveStart)}const a=ti();return!r.firstCreatePass||null===n.hostBindings&&null===n.hostAttrs||(us(a.index),d0(e[1],a,0,a.directiveStart,a.directiveEnd,n),u0(n,s)),s}(Y,this.componentDef,M,v,[WP]),wc(C,M,null)}finally{nu()}return new DN(this.componentType,V,ml(K,M),M,K)}}class DN extends class dN{}{constructor(n,e,i,o,r){super(),this.location=i,this._rootLView=o,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new vN(o),this.componentType=n}get injector(){return new Ba(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}}class Lr{}class Dw{}const gl=new Map;class xw extends Lr{constructor(n,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Cw(this);const i=Co(n);this._bootstrapComponents=hr(i.bootstrap),this._r3Injector=M0(n,e,[{provide:Lr,useValue:this},{provide:gs,useValue:this.componentFactoryResolver}],tn(n)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(n)}get(n,e=pn.THROW_IF_NOT_FOUND,i=yt.Default){return n===pn||n===Lr||n===Om?this:this._r3Injector.get(n,e,i)}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class og extends Dw{constructor(n){super(),this.moduleType=n,null!==Co(n)&&function MN(t){const n=new Set;!function e(i){const o=Co(i,!0),r=o.id;null!==r&&(function Sw(t,n,e){if(n&&n!==e)throw new Error(`Duplicate module registered for ${t} - ${tn(n)} vs ${tn(n.name)}`)}(r,gl.get(r),i),gl.set(r,i));const s=hr(o.imports);for(const a of s)n.has(a)||(n.add(a),e(a))}(t)}(n)}create(n){return new xw(this.moduleType,n)}}function Jo(t,n,e){const i=Oi()+t,o=De();return o[i]===St?fr(o,i,e?n.call(e):n()):Mc(o,i)}function Kt(t,n,e,i){return Ow(De(),Oi(),t,n,e,i)}function Tw(t,n,e,i,o){return function Aw(t,n,e,i,o,r,s){const a=n+e;return Js(t,a,o,r)?fr(t,a+2,s?i.call(s,o,r):i(o,r)):Nc(t,a+2)}(De(),Oi(),t,n,e,i,o)}function kw(t,n,e,i,o,r){return function Pw(t,n,e,i,o,r,s,a){const l=n+e;return Iu(t,l,o,r,s)?fr(t,l+3,a?i.call(a,o,r,s):i(o,r,s)):Nc(t,l+3)}(De(),Oi(),t,n,e,i,o,r)}function Nc(t,n){const e=t[n];return e===St?void 0:e}function Ow(t,n,e,i,o,r){const s=n+e;return Mi(t,s,o)?fr(t,s+1,r?i.call(r,o):i(o)):Nc(t,s+1)}function _s(t,n){const e=Gt();let i;const o=t+20;e.firstCreatePass?(i=function IN(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[o]=i,i.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(o,i.onDestroy)):i=e.data[o];const r=i.factory||(i.factory=Zs(i.type)),s=as(b);try{const a=lu(!1),l=r();return lu(a),function oR(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,De(),o,l),l}finally{as(s)}}function bs(t,n,e){const i=t+20,o=De(),r=Ra(o,i);return function Lc(t,n){return t[1].data[n].pure}(o,i)?Ow(o,Oi(),n,r.transform,e,r):r.transform(e)}function rg(t){return n=>{setTimeout(t,void 0,n)}}const Pe=class FN extends ie{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,e,i){var o,r,s;let a=n,l=e||(()=>null),u=i;if(n&&"object"==typeof n){const g=n;a=null===(o=g.next)||void 0===o?void 0:o.bind(g),l=null===(r=g.error)||void 0===r?void 0:r.bind(g),u=null===(s=g.complete)||void 0===s?void 0:s.bind(g)}this.__isAsync&&(l=rg(l),a&&(a=rg(a)),u&&(u=rg(u)));const p=super.subscribe({next:a,error:l,complete:u});return n instanceof k&&n.add(p),p}};function NN(){return this._results[el()]()}class vs{constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=el(),i=vs.prototype;i[e]||(i[e]=NN)}get changes(){return this._changes||(this._changes=new Pe)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){const i=this;i.dirty=!1;const o=Mo(n);(this._changesDetected=!function qO(t,n,e){if(t.length!==n.length)return!1;for(let i=0;i{class t{}return t.__NG_ELEMENT_ID__=VN,t})();const LN=rn,BN=class extends LN{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(n){const e=this._declarationTContainer.tViews,i=Cc(this._declarationLView,e,n,16,null,e.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const r=this._declarationLView[19];return null!==r&&(i[19]=r.createEmbeddedView(e)),wc(e,i,n),new Fc(i)}};function VN(){return Vu(ti(),De())}function Vu(t,n){return 4&t.type?new BN(n,t,ml(t,n)):null}let sn=(()=>{class t{}return t.__NG_ELEMENT_ID__=jN,t})();function jN(){return Bw(ti(),De())}const HN=sn,Nw=class extends HN{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return ml(this._hostTNode,this._hostLView)}get injector(){return new Ba(this._hostTNode,this._hostLView)}get parentInjector(){const n=cu(this._hostTNode,this._hostLView);if(Oy(n)){const e=La(n,this._hostLView),i=Na(n);return new Ba(e[1].data[i+8],e)}return new Ba(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=Lw(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,e,i){const o=n.createEmbeddedView(e||{});return this.insert(o,i),o}createComponent(n,e,i,o,r){const s=n&&!function lc(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const g=e||{};a=g.index,i=g.injector,o=g.projectableNodes,r=g.ngModuleRef}const l=s?n:new ig(Ci(n)),u=i||this.parentInjector;if(!r&&null==l.ngModule){const v=(s?u:this.parentInjector).get(Lr,null);v&&(r=v)}const p=l.create(u,o,void 0,r);return this.insert(p.hostView,a),p}insert(n,e){const i=n._lView,o=i[1];if(function gO(t){return Go(t[3])}(i)){const p=this.indexOf(n);if(-1!==p)this.detach(p);else{const g=i[3],v=new Nw(g,g[6],g[3]);v.detach(v.indexOf(n))}}const r=this._adjustIndex(e),s=this._lContainer;!function wA(t,n,e,i){const o=10+i,r=e.length;i>0&&(e[o-1][4]=n),i0)i.push(s[a/2]);else{const u=r[a+1],p=n[-l];for(let g=10;g{class t{constructor(e){this.appInits=e,this.resolve=Uu,this.reject=Uu,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,o)=>{this.resolve=i,this.reject=o})}runInitializers(){if(this.initialized)return;const e=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let o=0;o{r.subscribe({complete:a,error:l})});e.push(s)}}Promise.all(e).then(()=>{i()}).catch(o=>{this.reject(o)}),0===e.length&&i(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Q(_g,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const jc=new _e("AppId",{providedIn:"root",factory:function sD(){return`${vg()}${vg()}${vg()}`}});function vg(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const aD=new _e("Platform Initializer"),Hc=new _e("Platform ID"),lD=new _e("appBootstrapListener");let cD=(()=>{class t{log(e){console.log(e)}warn(e){console.warn(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const Br=new _e("LocaleId",{providedIn:"root",factory:()=>hc(Br,yt.Optional|yt.SkipSelf)||function p3(){return"undefined"!=typeof $localize&&$localize.locale||Pu}()});class m3{constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}}let dD=(()=>{class t{compileModuleSync(e){return new og(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){const i=this.compileModuleSync(e),r=hr(Co(e).declarations).reduce((s,a)=>{const l=Ci(a);return l&&s.push(new ig(l)),s},[]);return new m3(i,r)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const _3=(()=>Promise.resolve(0))();function yg(t){"undefined"==typeof Zone?_3.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Je{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Pe(!1),this.onMicrotaskEmpty=new Pe(!1),this.onStable=new Pe(!1),this.onError=new Pe(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function b3(){let t=on.requestAnimationFrame,n=on.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&n){const e=t[Zone.__symbol__("OriginalDelegate")];e&&(t=e);const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function C3(t){const n=()=>{!function y3(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(on,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,wg(t),t.isCheckStableRunning=!0,Cg(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),wg(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,o,r,s,a)=>{try{return uD(t),e.invokeTask(o,r,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===r.type||t.shouldCoalesceRunChangeDetection)&&n(),hD(t)}},onInvoke:(e,i,o,r,s,a,l)=>{try{return uD(t),e.invoke(o,r,s,a,l)}finally{t.shouldCoalesceRunChangeDetection&&n(),hD(t)}},onHasTask:(e,i,o,r)=>{e.hasTask(o,r),i===o&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,wg(t),Cg(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,i,o,r)=>(e.handleError(o,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(o)}static isInAngularZone(){return"undefined"!=typeof Zone&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Je.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Je.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,o){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+o,n,v3,Uu,Uu);try{return r.runTask(s,e,i)}finally{r.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const v3={};function Cg(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function wg(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function uD(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function hD(t){t._nesting--,Cg(t)}class w3{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Pe,this.onMicrotaskEmpty=new Pe,this.onStable=new Pe,this.onError=new Pe}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,o){return n.apply(e,i)}}let Dg=(()=>{class t{constructor(e){this._ngZone=e,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Je.assertNotInAngularZone(),yg(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())yg(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,o){let r=-1;i&&i>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:o})}whenStable(e,i,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(e,i,o){return[]}}return t.\u0275fac=function(e){return new(e||t)(Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),pD=(()=>{class t{constructor(){this._applications=new Map,Sg.addToWindow(this)}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return Sg.findTestabilityInTree(this,e,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class D3{addToWindow(n){}findTestabilityInTree(n,e,i){return null}}let er,Sg=new D3;const fD=new _e("AllowMultipleToken");class mD{constructor(n,e){this.name=n,this.token=e}}function gD(t,n,e=[]){const i=`Platform: ${n}`,o=new _e(i);return(r=[])=>{let s=_D();if(!s||s.injector.get(fD,!1))if(t)t(e.concat(r).concat({provide:o,useValue:!0}));else{const a=e.concat(r).concat({provide:o,useValue:!0},{provide:Am,useValue:"platform"});!function T3(t){if(er&&!er.destroyed&&!er.injector.get(fD,!1))throw new Qe(400,"");er=t.get(bD);const n=t.get(aD,null);n&&n.forEach(e=>e())}(pn.create({providers:a,name:i}))}return function k3(t){const n=_D();if(!n)throw new Qe(401,"");return n}()}}function _D(){return er&&!er.destroyed?er:null}let bD=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const a=function E3(t,n){let e;return e="noop"===t?new w3:("zone.js"===t?void 0:t)||new Je({enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!!(null==n?void 0:n.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==n?void 0:n.ngZoneRunCoalescing)}),e}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:Je,useValue:a}];return a.run(()=>{const u=pn.create({providers:l,parent:this.injector,name:e.moduleType.name}),p=e.create(u),g=p.injector.get(ps,null);if(!g)throw new Qe(402,"");return a.runOutsideAngular(()=>{const v=a.onError.subscribe({next:C=>{g.handleError(C)}});p.onDestroy(()=>{Mg(this._modules,p),v.unsubscribe()})}),function I3(t,n,e){try{const i=e();return xc(i)?i.catch(o=>{throw n.runOutsideAngular(()=>t.handleError(o)),o}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(g,a,()=>{const v=p.injector.get(bg);return v.runInitializers(),v.donePromise.then(()=>(function mF(t){io(t,"Expected localeId to be defined"),"string"==typeof t&&(K1=t.toLowerCase().replace(/_/g,"-"))}(p.injector.get(Br,Pu)||Pu),this._moduleDoBootstrap(p),p))})})}bootstrapModule(e,i=[]){const o=vD({},i);return function M3(t,n,e){const i=new og(e);return Promise.resolve(i)}(0,0,e).then(r=>this.bootstrapModuleFactory(r,o))}_moduleDoBootstrap(e){const i=e.injector.get(zu);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new Qe(403,"");e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Qe(404,"");this._modules.slice().forEach(e=>e.destroy()),this._destroyListeners.forEach(e=>e()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Q(pn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function vD(t,n){return Array.isArray(n)?n.reduce(vD,t):Object.assign(Object.assign({},t),n)}let zu=(()=>{class t{constructor(e,i,o,r,s){this._zone=e,this._injector=i,this._exceptionHandler=o,this._componentFactoryResolver=r,this._initStatus=s,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new Ue(u=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{u.next(this._stable),u.complete()})}),l=new Ue(u=>{let p;this._zone.runOutsideAngular(()=>{p=this._zone.onStable.subscribe(()=>{Je.assertNotInAngularZone(),yg(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,u.next(!0))})})});const g=this._zone.onUnstable.subscribe(()=>{Je.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{u.next(!1)}))});return()=>{p.unsubscribe(),g.unsubscribe()}});this.isStable=Tn(a,l.pipe(ey()))}bootstrap(e,i){if(!this._initStatus.done)throw new Qe(405,"");let o;o=e instanceof vw?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(o.componentType);const r=function x3(t){return t.isBoundToModule}(o)?void 0:this._injector.get(Lr),a=o.create(pn.NULL,[],i||o.selector,r),l=a.location.nativeElement,u=a.injector.get(Dg,null),p=u&&a.injector.get(pD);return u&&p&&p.registerApplication(l,u),a.onDestroy(()=>{this.detachView(a.hostView),Mg(this.components,a),p&&p.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Qe(101,"");try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;Mg(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(lD,[]).concat(this._bootstrapListeners).forEach(o=>o(e))}ngOnDestroy(){this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Q(Je),Q(pn),Q(ps),Q(gs),Q(bg))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function Mg(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}let CD=!0,At=(()=>{class t{}return t.__NG_ELEMENT_ID__=P3,t})();function P3(t){return function R3(t,n,e){if(Qd(t)&&!e){const i=ro(t.index,n);return new Fc(i,i)}return 47&t.type?new Fc(n[16],n):null}(ti(),De(),16==(16&t))}class xD{constructor(){}supports(n){return Sc(n)}create(n){return new j3(n)}}const V3=(t,n)=>n;class j3{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||V3}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,o=0,r=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(o,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,o)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,o),i=!0),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,e,i,o){let r;return null===n?r=this._itTail:(r=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,r,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,r,o)):n=this._addAfter(new H3(e,i),r,o),n}_verifyReinsertion(n,e,i,o){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?n=this._reinsertAfter(r,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,r=n._nextRemoved;return null===o?this._removalsHead=r:o._nextRemoved=r,null===r?this._removalsTail=o:r._prevRemoved=o,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const o=null===e?this._itHead:e._next;return n._next=o,n._prev=e,null===o?this._itTail=n:o._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new TD),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new TD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class H3{constructor(n,e){this.item=n,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class U3{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class TD{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new U3,this.map.set(e,i)),i.add(n)}get(n,e){const o=this.map.get(n);return o?o.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function kD(t,n,e){const i=t.previousIndex;if(null===i)return i;let o=0;return e&&i{if(e&&e.key===o)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const r=this._getOrCreateRecordForKey(o,i);e=this._insertBeforeOrAppend(e,r)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,e){if(n){const i=n._prev;return e._next=n,e._prev=i,n._prev=e,i&&(i._next=e),n===this._mapHead&&(this._mapHead=e),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(n,e){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,e);const r=o._prev,s=o._next;return r&&(r._next=s),s&&(s._prev=r),o._next=null,o._prev=null,o}const i=new $3(n);return this._records.set(n,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,e){Object.is(e,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=e,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,e){n instanceof Map?n.forEach(e):Object.keys(n).forEach(i=>e(n[i],i))}}class $3{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function ID(){return new ko([new xD])}let ko=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(null!=i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||ID()),deps:[[t,new $a,new qo]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(null!=i)return i;throw new Qe(901,"")}}return t.\u0275prov=Be({token:t,providedIn:"root",factory:ID}),t})();function OD(){return new Uc([new ED])}let Uc=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||OD()),deps:[[t,new $a,new qo]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(i)return i;throw new Qe(901,"")}}return t.\u0275prov=Be({token:t,providedIn:"root",factory:OD}),t})();const q3=gD(null,"core",[{provide:Hc,useValue:"unknown"},{provide:bD,deps:[pn]},{provide:pD,deps:[]},{provide:cD,deps:[]}]);let K3=(()=>{class t{constructor(e){}}return t.\u0275fac=function(e){return new(e||t)(Q(zu))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),Wu=null;function _r(){return Wu}const ht=new _e("DocumentToken");let oa=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:function(){return function X3(){return Q(AD)}()},providedIn:"platform"}),t})();const J3=new _e("Location Initialized");let AD=(()=>{class t extends oa{constructor(e){super(),this._doc=e,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return _r().getBaseHref(this._doc)}onPopState(e){const i=_r().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=_r().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(e){this.location.pathname=e}pushState(e,i,o){PD()?this._history.pushState(e,i,o):this.location.hash=o}replaceState(e,i,o){PD()?this._history.replaceState(e,i,o):this.location.hash=o}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:function(){return function eL(){return new AD(Q(ht))}()},providedIn:"platform"}),t})();function PD(){return!!window.history.pushState}function Ig(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function RD(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function Vr(t){return t&&"?"!==t[0]?"?"+t:t}let bl=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:function(){return function tL(t){const n=Q(ht).location;return new FD(Q(oa),n&&n.origin||"")}()},providedIn:"root"}),t})();const Og=new _e("appBaseHref");let FD=(()=>{class t extends bl{constructor(e,i){if(super(),this._platformLocation=e,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return Ig(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+Vr(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${i}${o}`:i}pushState(e,i,o,r){const s=this.prepareExternalUrl(o+Vr(r));this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){const s=this.prepareExternalUrl(o+Vr(r));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(e=0){var i,o;null===(o=(i=this._platformLocation).historyGo)||void 0===o||o.call(i,e)}}return t.\u0275fac=function(e){return new(e||t)(Q(oa),Q(Og,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),nL=(()=>{class t extends bl{constructor(e,i){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(e){const i=Ig(this._baseHref,e);return i.length>0?"#"+i:i}pushState(e,i,o,r){let s=this.prepareExternalUrl(o+Vr(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){let s=this.prepareExternalUrl(o+Vr(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(e=0){var i,o;null===(o=(i=this._platformLocation).historyGo)||void 0===o||o.call(i,e)}}return t.\u0275fac=function(e){return new(e||t)(Q(oa),Q(Og,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),zc=(()=>{class t{constructor(e,i){this._subject=new Pe,this._urlChangeListeners=[],this._platformStrategy=e;const o=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=RD(ND(o)),this._platformStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}path(e=!1){return this.normalize(this._platformStrategy.path(e))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+Vr(i))}normalize(e){return t.stripTrailingSlash(function oL(t,n){return t&&n.startsWith(t)?n.substring(t.length):n}(this._baseHref,ND(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}go(e,i="",o=null){this._platformStrategy.pushState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Vr(i)),o)}replaceState(e,i="",o=null){this._platformStrategy.replaceState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Vr(i)),o)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(e=0){var i,o;null===(o=(i=this._platformStrategy).historyGo)||void 0===o||o.call(i,e)}onUrlChange(e){this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(o=>o(e,i))}subscribe(e,i,o){return this._subject.subscribe({next:e,error:i,complete:o})}}return t.normalizeQueryParams=Vr,t.joinWithSlash=Ig,t.stripTrailingSlash=RD,t.\u0275fac=function(e){return new(e||t)(Q(bl),Q(oa))},t.\u0275prov=Be({token:t,factory:function(){return function iL(){return new zc(Q(bl),Q(oa))}()},providedIn:"root"}),t})();function ND(t){return t.replace(/\/index.html$/,"")}function GD(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[o,r]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(o.trim()===n)return decodeURIComponent(r)}return null}let nr=(()=>{class t{constructor(e,i,o,r){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=o,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Sc(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){const e=this._keyValueDiffer.diff(this._rawClass);e&&this._applyKeyValueChanges(e)}}_applyKeyValueChanges(e){e.forEachAddedItem(i=>this._toggleClass(i.key,i.currentValue)),e.forEachChangedItem(i=>this._toggleClass(i.key,i.currentValue)),e.forEachRemovedItem(i=>{i.previousValue&&this._toggleClass(i.key,!1)})}_applyIterableChanges(e){e.forEachAddedItem(i=>{if("string"!=typeof i.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${tn(i.item)}`);this._toggleClass(i.item,!0)}),e.forEachRemovedItem(i=>this._toggleClass(i.item,!1))}_applyClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(i=>this._toggleClass(i,!0)):Object.keys(e).forEach(i=>this._toggleClass(i,!!e[i])))}_removeClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(i=>this._toggleClass(i,!1)):Object.keys(e).forEach(i=>this._toggleClass(i,!1)))}_toggleClass(e,i){(e=e.trim())&&e.split(/\s+/g).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return t.\u0275fac=function(e){return new(e||t)(b(ko),b(Uc),b(He),b(Nr))},t.\u0275dir=oe({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class UL{constructor(n,e,i,o){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let ri=(()=>{class t{constructor(e,i,o){this._viewContainer=e,this._template=i,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((o,r,s)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new UL(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===r?void 0:r);else if(null!==r){const a=i.get(r);i.move(a,s),WD(a,o)}});for(let o=0,r=i.length;o{WD(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(rn),b(ko))},t.\u0275dir=oe({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();function WD(t,n){t.context.$implicit=n.item}let Et=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new zL,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){qD("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){qD("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(rn))},t.\u0275dir=oe({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class zL{constructor(){this.$implicit=null,this.ngIf=null}}function qD(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${tn(n)}'.`)}class Hg{constructor(n,e){this._viewContainerRef=n,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let vl=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews&&e!==this._defaultUsed){this._defaultUsed=e;for(let i=0;i{class t{constructor(e,i,o){this.ngSwitch=o,o._addCase(),this._view=new Hg(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(rn),b(vl,9))},t.\u0275dir=oe({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),KD=(()=>{class t{constructor(e,i,o){o._addDefault(new Hg(e,i))}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(rn),b(vl,9))},t.\u0275dir=oe({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),Ug=(()=>{class t{constructor(e,i,o){this._ngEl=e,this._differs=i,this._renderer=o,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[o,r]=e.split(".");null!=(i=null!=i&&r?`${i}${r}`:i)?this._renderer.setStyle(this._ngEl.nativeElement,o,i):this._renderer.removeStyle(this._ngEl.nativeElement,o)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Uc),b(Nr))},t.\u0275dir=oe({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})();function ir(t,n){return new Qe(2100,"")}class WL{createSubscription(n,e){return n.subscribe({next:e,error:i=>{throw i}})}dispose(n){n.unsubscribe()}onDestroy(n){n.unsubscribe()}}class qL{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}onDestroy(n){}}const KL=new qL,ZL=new WL;let zg=(()=>{class t{constructor(e){this._ref=e,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(e){return this._obj?e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue:(e&&this._subscribe(e),this._latestValue)}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(xc(e))return KL;if(s1(e))return ZL;throw ir()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(b(At,16))},t.\u0275pipe=zi({name:"async",type:t,pure:!1}),t})(),QD=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw ir();return e.toUpperCase()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=zi({name:"uppercase",type:t,pure:!0}),t})(),YD=(()=>{class t{constructor(e){this.differs=e,this.keyValues=[],this.compareFn=XD}transform(e,i=XD){if(!e||!(e instanceof Map)&&"object"!=typeof e)return null;this.differ||(this.differ=this.differs.find(e).create());const o=this.differ.diff(e),r=i!==this.compareFn;return o&&(this.keyValues=[],o.forEachItem(s=>{this.keyValues.push(function s5(t,n){return{key:t,value:n}}(s.key,s.currentValue))})),(o||r)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}}return t.\u0275fac=function(e){return new(e||t)(b(Uc,16))},t.\u0275pipe=zi({name:"keyvalue",type:t,pure:!1}),t})();function XD(t,n){const e=t.key,i=n.key;if(e===i)return 0;if(void 0===e)return 1;if(void 0===i)return-1;if(null===e)return 1;if(null===i)return-1;if("string"==typeof e&&"string"==typeof i)return e{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const JD="browser";let m5=(()=>{class t{}return t.\u0275prov=Be({token:t,providedIn:"root",factory:()=>new g5(Q(ht),window)}),t})();class g5{constructor(n,e){this.document=n,this.window=e,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const e=function _5(t,n){const e=t.getElementById(n)||t.getElementsByName(n)[0];if(e)return e;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const r=o.shadowRoot;if(r){const s=r.getElementById(n)||r.querySelector(`[name="${n}"]`);if(s)return s}o=i.nextNode()}}return null}(this.document,n);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(n){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=n)}}scrollToElement(n){const e=n.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(i-r[0],o-r[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const n=eS(this.window.history)||eS(Object.getPrototypeOf(this.window.history));return!(!n||!n.writable&&!n.set)}catch(n){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(n){return!1}}}function eS(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class tS{}class Wg extends class b5 extends class Y3{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function Q3(t){Wu||(Wu=t)}(new Wg)}onAndCancel(n,e,i){return n.addEventListener(e,i,!1),()=>{n.removeEventListener(e,i,!1)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function v5(){return Wc=Wc||document.querySelector("base"),Wc?Wc.getAttribute("href"):null}();return null==e?null:function y5(t){ih=ih||document.createElement("a"),ih.setAttribute("href",t);const n=ih.pathname;return"/"===n.charAt(0)?n:`/${n}`}(e)}resetBaseElement(){Wc=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return GD(document.cookie,n)}}let ih,Wc=null;const nS=new _e("TRANSITION_ID"),w5=[{provide:_g,useFactory:function C5(t,n,e){return()=>{e.get(bg).donePromise.then(()=>{const i=_r(),o=n.querySelectorAll(`style[ng-transition="${t}"]`);for(let r=0;r{const r=n.findTestabilityInTree(i,o);if(null==r)throw new Error("Could not find testability for element.");return r},on.getAllAngularTestabilities=()=>n.getAllTestabilities(),on.getAllAngularRootElements=()=>n.getAllRootElements(),on.frameworkStabilizers||(on.frameworkStabilizers=[]),on.frameworkStabilizers.push(i=>{const o=on.getAllAngularTestabilities();let r=o.length,s=!1;const a=function(l){s=s||l,r--,0==r&&i(s)};o.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(n,e,i){if(null==e)return null;const o=n.getTestability(e);return null!=o?o:i?_r().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null}}let D5=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const oh=new _e("EventManagerPlugins");let rh=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(o=>o.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,i,o){return this._findPluginFor(i).addEventListener(e,i,o)}addGlobalEventListener(e,i,o){return this._findPluginFor(i).addGlobalEventListener(e,i,o)}getZone(){return this._zone}_findPluginFor(e){const i=this._eventNameToPlugin.get(e);if(i)return i;const o=this._plugins;for(let r=0;r{class t{constructor(){this._stylesSet=new Set}addStyles(e){const i=new Set;e.forEach(o=>{this._stylesSet.has(o)||(this._stylesSet.add(o),i.add(o))}),this.onStylesAdded(i)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),qc=(()=>{class t extends oS{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,i,o){e.forEach(r=>{const s=this._doc.createElement("style");s.textContent=r,o.push(i.appendChild(s))})}addHost(e){const i=[];this._addStylesToHost(this._stylesSet,e,i),this._hostNodes.set(e,i)}removeHost(e){const i=this._hostNodes.get(e);i&&i.forEach(rS),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((i,o)=>{this._addStylesToHost(e,o,i)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach(rS))}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function rS(t){_r().remove(t)}const Kg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Zg=/%COMP%/g;function sh(t,n,e){for(let i=0;i{if("__ngUnwrap__"===n)return t;!1===t(n)&&(n.preventDefault(),n.returnValue=!1)}}let ah=(()=>{class t{constructor(e,i,o){this.eventManager=e,this.sharedStylesHost=i,this.appId=o,this.rendererByCompId=new Map,this.defaultRenderer=new Qg(e)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;switch(i.encapsulation){case zo.Emulated:{let o=this.rendererByCompId.get(i.id);return o||(o=new E5(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,o)),o.applyToHost(e),o}case 1:case zo.ShadowDom:return new I5(this.eventManager,this.sharedStylesHost,e,i);default:if(!this.rendererByCompId.has(i.id)){const o=sh(i.id,i.styles,[]);this.sharedStylesHost.addStyles(o),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Q(rh),Q(qc),Q(jc))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class Qg{constructor(n){this.eventManager=n,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,e){return e?document.createElementNS(Kg[e]||e,n):document.createElement(n)}createComment(n){return document.createComment(n)}createText(n){return document.createTextNode(n)}appendChild(n,e){n.appendChild(e)}insertBefore(n,e,i){n&&n.insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?document.querySelector(n):n;if(!i)throw new Error(`The selector "${n}" did not match any elements`);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,o){if(o){e=o+":"+e;const r=Kg[o];r?n.setAttributeNS(r,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const o=Kg[i];o?n.removeAttributeNS(o,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,o){o&(lo.DashCase|lo.Important)?n.style.setProperty(e,i,o&lo.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&lo.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n[e]=i}setValue(n,e){n.nodeValue=e}listen(n,e,i){return"string"==typeof n?this.eventManager.addGlobalEventListener(n,e,lS(i)):this.eventManager.addEventListener(n,e,lS(i))}}class E5 extends Qg{constructor(n,e,i,o){super(n),this.component=i;const r=sh(o+"-"+i.id,i.styles,[]);e.addStyles(r),this.contentAttr=function x5(t){return"_ngcontent-%COMP%".replace(Zg,t)}(o+"-"+i.id),this.hostAttr=function T5(t){return"_nghost-%COMP%".replace(Zg,t)}(o+"-"+i.id)}applyToHost(n){super.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}class I5 extends Qg{constructor(n,e,i,o){super(n),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=sh(o.id,o.styles,[]);for(let s=0;s{class t extends iS{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,o){return e.addEventListener(i,o,!1),()=>this.removeEventListener(e,i,o)}removeEventListener(e,i,o){return e.removeEventListener(i,o)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const dS=["alt","control","meta","shift"],P5={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},uS={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},R5={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let F5=(()=>{class t extends iS{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,o){const r=t.parseEventName(i),s=t.eventCallback(r.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>_r().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const r=t._normalizeKey(i.pop());let s="";if(dS.forEach(l=>{const u=i.indexOf(l);u>-1&&(i.splice(u,1),s+=l+".")}),s+=r,0!=i.length||0===r.length)return null;const a={};return a.domEventName=o,a.fullKey=s,a}static getEventFullKey(e){let i="",o=function N5(t){let n=t.key;if(null==n){if(n=t.keyIdentifier,null==n)return"Unidentified";n.startsWith("U+")&&(n=String.fromCharCode(parseInt(n.substring(2),16)),3===t.location&&uS.hasOwnProperty(n)&&(n=uS[n]))}return P5[n]||n}(e);return o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),dS.forEach(r=>{r!=o&&R5[r](e)&&(i+=r+".")}),i+=o,i}static eventCallback(e,i,o){return r=>{t.getEventFullKey(r)===e&&o.runGuarded(()=>i(r))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const j5=gD(q3,"browser",[{provide:Hc,useValue:JD},{provide:aD,useValue:function L5(){Wg.makeCurrent(),qg.init()},multi:!0},{provide:ht,useFactory:function V5(){return function hO(t){bf=t}(document),document},deps:[]}]),H5=[{provide:Am,useValue:"root"},{provide:ps,useFactory:function B5(){return new ps},deps:[]},{provide:oh,useClass:O5,multi:!0,deps:[ht,Je,Hc]},{provide:oh,useClass:F5,multi:!0,deps:[ht]},{provide:ah,useClass:ah,deps:[rh,qc,jc]},{provide:Rc,useExisting:ah},{provide:oS,useExisting:qc},{provide:qc,useClass:qc,deps:[ht]},{provide:Dg,useClass:Dg,deps:[Je]},{provide:rh,useClass:rh,deps:[oh,Je]},{provide:tS,useClass:D5,deps:[]}];let hS=(()=>{class t{constructor(e){if(e)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:jc,useValue:e.appId},{provide:nS,useExisting:jc},w5]}}}return t.\u0275fac=function(e){return new(e||t)(Q(t,12))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:H5,imports:[qi,K3]}),t})();"undefined"!=typeof window&&window;let Xg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:function(e){let i=null;return i=e?new(e||t):Q(mS),i},providedIn:"root"}),t})(),mS=(()=>{class t extends Xg{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case Yt.NONE:return i;case Yt.HTML:return dr(i,"HTML")?ao(i):dC(this._doc,String(i)).toString();case Yt.STYLE:return dr(i,"Style")?ao(i):i;case Yt.SCRIPT:if(dr(i,"Script"))return ao(i);throw new Error("unsafe value used in a script context");case Yt.URL:return nC(i),dr(i,"URL")?ao(i):mc(String(i));case Yt.RESOURCE_URL:if(dr(i,"ResourceURL"))return ao(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${e} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(e){return function M2(t){return new y2(t)}(e)}bypassSecurityTrustStyle(e){return function x2(t){return new C2(t)}(e)}bypassSecurityTrustScript(e){return function T2(t){return new w2(t)}(e)}bypassSecurityTrustUrl(e){return function k2(t){return new D2(t)}(e)}bypassSecurityTrustResourceUrl(e){return function E2(t){return new S2(t)}(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:function(e){let i=null;return i=e?new e:function Y5(t){return new mS(t.get(ht))}(Q(pn)),i},providedIn:"root"}),t})();class gS{}const Hr="*";function Oo(t,n){return{type:7,name:t,definitions:n,options:{}}}function si(t,n=null){return{type:4,styles:n,timings:t}}function _S(t,n=null){return{type:3,steps:t,options:n}}function bS(t,n=null){return{type:2,steps:t,options:n}}function Vt(t){return{type:6,styles:t,offset:null}}function jn(t,n,e){return{type:0,name:t,styles:n,options:e}}function Kn(t,n,e=null){return{type:1,expr:t,animation:n,options:e}}function Jg(t=null){return{type:9,options:t}}function e_(t,n,e=null){return{type:11,selector:t,animation:n,options:e}}function vS(t){Promise.resolve(null).then(t)}class Kc{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._onStartFns.push(n)}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){vS(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class yS{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,o=0;const r=this.players.length;0==r?vS(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==r&&this._onFinish()}),s.onDestroy(()=>{++i==r&&this._onDestroy()}),s.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const o=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(o)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}const jt=!1;function CS(t){return new Qe(3e3,jt)}function R4(){return"undefined"!=typeof window&&void 0!==window.document}function n_(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function Cs(t){switch(t.length){case 0:return new Kc;case 1:return t[0];default:return new yS(t)}}function wS(t,n,e,i,o={},r={}){const s=[],a=[];let l=-1,u=null;if(i.forEach(p=>{const g=p.offset,v=g==l,C=v&&u||{};Object.keys(p).forEach(M=>{let V=M,K=p[M];if("offset"!==M)switch(V=n.normalizePropertyName(V,s),K){case"!":K=o[M];break;case Hr:K=r[M];break;default:K=n.normalizeStyleValue(M,V,K,s)}C[V]=K}),v||a.push(C),u=C,l=g}),s.length)throw function D4(t){return new Qe(3502,jt)}();return a}function i_(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&o_(e,"start",t)));break;case"done":t.onDone(()=>i(e&&o_(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&o_(e,"destroy",t)))}}function o_(t,n,e){const i=e.totalTime,r=r_(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,null==i?t.totalTime:i,!!e.disabled),s=t._data;return null!=s&&(r._data=s),r}function r_(t,n,e,i,o="",r=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:o,totalTime:r,disabled:!!s}}function uo(t,n,e){let i;return t instanceof Map?(i=t.get(n),i||t.set(n,i=e)):(i=t[n],i||(i=t[n]=e)),i}function DS(t){const n=t.indexOf(":");return[t.substring(1,n),t.substr(n+1)]}let s_=(t,n)=>!1,SS=(t,n,e)=>[],MS=null;function a_(t){const n=t.parentNode||t.host;return n===MS?null:n}(n_()||"undefined"!=typeof Element)&&(R4()?(MS=(()=>document.documentElement)(),s_=(t,n)=>{for(;n;){if(n===t)return!0;n=a_(n)}return!1}):s_=(t,n)=>t.contains(n),SS=(t,n,e)=>{if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]});let ra=null,xS=!1;function TS(t){ra||(ra=function N4(){return"undefined"!=typeof document?document.body:null}()||{},xS=!!ra.style&&"WebkitAppearance"in ra.style);let n=!0;return ra.style&&!function F4(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in ra.style,!n&&xS&&(n="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in ra.style)),n}const kS=s_,ES=SS;let IS=(()=>{class t{validateStyleProperty(e){return TS(e)}matchesElement(e,i){return!1}containsElement(e,i){return kS(e,i)}getParentElement(e){return a_(e)}query(e,i,o){return ES(e,i,o)}computeStyle(e,i,o){return o||""}animate(e,i,o,r,s,a=[],l){return new Kc(o,r)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),l_=(()=>{class t{}return t.NOOP=new IS,t})();const c_="ng-enter",ch="ng-leave",dh="ng-trigger",uh=".ng-trigger",AS="ng-animating",d_=".ng-animating";function sa(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:u_(parseFloat(n[1]),n[2])}function u_(t,n){return"s"===n?1e3*t:t}function hh(t,n,e){return t.hasOwnProperty("duration")?t:function V4(t,n,e){let o,r=0,s="";if("string"==typeof t){const a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return n.push(CS()),{duration:0,delay:0,easing:""};o=u_(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(r=u_(parseFloat(l),a[4]));const u=a[5];u&&(s=u)}else o=t;if(!e){let a=!1,l=n.length;o<0&&(n.push(function e4(){return new Qe(3100,jt)}()),a=!0),r<0&&(n.push(function t4(){return new Qe(3101,jt)}()),a=!0),a&&n.splice(l,0,CS())}return{duration:o,delay:r,easing:s}}(t,n,e)}function yl(t,n={}){return Object.keys(t).forEach(e=>{n[e]=t[e]}),n}function ws(t,n,e={}){if(n)for(let i in t)e[i]=t[i];else yl(t,e);return e}function RS(t,n,e){return e?n+":"+e+";":""}function FS(t){let n="";for(let e=0;e{const o=p_(i);e&&!e.hasOwnProperty(i)&&(e[i]=t.style[o]),t.style[o]=n[i]}),n_()&&FS(t))}function aa(t,n){t.style&&(Object.keys(n).forEach(e=>{const i=p_(e);t.style[i]=""}),n_()&&FS(t))}function Zc(t){return Array.isArray(t)?1==t.length?t[0]:bS(t):t}const h_=new RegExp("{{\\s*(.+?)\\s*}}","g");function NS(t){let n=[];if("string"==typeof t){let e;for(;e=h_.exec(t);)n.push(e[1]);h_.lastIndex=0}return n}function ph(t,n,e){const i=t.toString(),o=i.replace(h_,(r,s)=>{let a=n[s];return n.hasOwnProperty(s)||(e.push(function o4(t){return new Qe(3003,jt)}()),a=""),a.toString()});return o==i?t:o}function fh(t){const n=[];let e=t.next();for(;!e.done;)n.push(e.value),e=t.next();return n}const H4=/-+([a-z0-9])/g;function p_(t){return t.replace(H4,(...n)=>n[1].toUpperCase())}function U4(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function ho(t,n,e){switch(n.type){case 7:return t.visitTrigger(n,e);case 0:return t.visitState(n,e);case 1:return t.visitTransition(n,e);case 2:return t.visitSequence(n,e);case 3:return t.visitGroup(n,e);case 4:return t.visitAnimate(n,e);case 5:return t.visitKeyframes(n,e);case 6:return t.visitStyle(n,e);case 8:return t.visitReference(n,e);case 9:return t.visitAnimateChild(n,e);case 10:return t.visitAnimateRef(n,e);case 11:return t.visitQuery(n,e);case 12:return t.visitStagger(n,e);default:throw function r4(t){return new Qe(3004,jt)}()}}function LS(t,n){return window.getComputedStyle(t)[n]}function K4(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function Z4(t,n,e){if(":"==t[0]){const l=function Q4(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof l)return void n.push(l);t=l}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function b4(t){return new Qe(3015,jt)}()),n;const o=i[1],r=i[2],s=i[3];n.push(BS(o,s));"<"==r[0]&&!("*"==o&&"*"==s)&&n.push(BS(s,o))}(i,e,n)):e.push(t),e}const bh=new Set(["true","1"]),vh=new Set(["false","0"]);function BS(t,n){const e=bh.has(t)||vh.has(t),i=bh.has(n)||vh.has(n);return(o,r)=>{let s="*"==t||t==o,a="*"==n||n==r;return!s&&e&&"boolean"==typeof o&&(s=o?bh.has(t):vh.has(t)),!a&&i&&"boolean"==typeof r&&(a=r?bh.has(n):vh.has(n)),s&&a}}const Y4=new RegExp("s*:selfs*,?","g");function f_(t,n,e,i){return new X4(t).build(n,e,i)}class X4{constructor(n){this._driver=n}build(n,e,i){const o=new tB(e);this._resetContextStyleTimingState(o);const r=ho(this,Zc(n),o);return o.unsupportedCSSPropertiesFound.size&&o.unsupportedCSSPropertiesFound.keys(),r}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles={},n.collectedStyles[""]={},n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,o=e.depCount=0;const r=[],s=[];return"@"==n.name.charAt(0)&&e.errors.push(function a4(){return new Qe(3006,jt)}()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),0==a.type){const l=a,u=l.name;u.toString().split(/\s*,\s*/).forEach(p=>{l.name=p,r.push(this.visitState(l,e))}),l.name=u}else if(1==a.type){const l=this.visitTransition(a,e);i+=l.queryCount,o+=l.depCount,s.push(l)}else e.errors.push(function l4(){return new Qe(3007,jt)}())}),{type:7,name:n.name,states:r,transitions:s,queryCount:i,depCount:o,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),o=n.options&&n.options.params||null;if(i.containsDynamicStyles){const r=new Set,s=o||{};i.styles.forEach(a=>{if(yh(a)){const l=a;Object.keys(l).forEach(u=>{NS(l[u]).forEach(p=>{s.hasOwnProperty(p)||r.add(p)})})}}),r.size&&(fh(r.values()),e.errors.push(function c4(t,n){return new Qe(3008,jt)}()))}return{type:0,name:n.name,style:i,options:o?{params:o}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=ho(this,Zc(n.animation),e);return{type:1,matchers:K4(n.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:la(n.options)}}visitSequence(n,e){return{type:2,steps:n.steps.map(i=>ho(this,i,e)),options:la(n.options)}}visitGroup(n,e){const i=e.currentTime;let o=0;const r=n.steps.map(s=>{e.currentTime=i;const a=ho(this,s,e);return o=Math.max(o,e.currentTime),a});return e.currentTime=o,{type:3,steps:r,options:la(n.options)}}visitAnimate(n,e){const i=function iB(t,n){let e=null;if(t.hasOwnProperty("duration"))e=t;else if("number"==typeof t)return m_(hh(t,n).duration,0,"");const i=t;if(i.split(/\s+/).some(r=>"{"==r.charAt(0)&&"{"==r.charAt(1))){const r=m_(0,0,"");return r.dynamic=!0,r.strValue=i,r}return e=e||hh(i,n),m_(e.duration,e.delay,e.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let o,r=n.styles?n.styles:Vt({});if(5==r.type)o=this.visitKeyframes(r,e);else{let s=n.styles,a=!1;if(!s){a=!0;const u={};i.easing&&(u.easing=i.easing),s=Vt(u)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,o=l}return e.currentAnimateTimings=null,{type:4,timings:i,style:o,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[];Array.isArray(n.styles)?n.styles.forEach(s=>{"string"==typeof s?s==Hr?i.push(s):e.errors.push(function d4(t){return new Qe(3002,jt)}()):i.push(s)}):i.push(n.styles);let o=!1,r=null;return i.forEach(s=>{if(yh(s)){const a=s,l=a.easing;if(l&&(r=l,delete a.easing),!o)for(let u in a)if(a[u].toString().indexOf("{{")>=0){o=!0;break}}}),{type:6,styles:i,easing:r,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let o=e.currentTime,r=e.currentTime;i&&r>0&&(r-=i.duration+i.delay),n.styles.forEach(s=>{"string"!=typeof s&&Object.keys(s).forEach(a=>{if(!this._driver.validateStyleProperty(a))return delete s[a],void e.unsupportedCSSPropertiesFound.add(a);const l=e.collectedStyles[e.currentQuerySelector],u=l[a];let p=!0;u&&(r!=o&&r>=u.startTime&&o<=u.endTime&&(e.errors.push(function u4(t,n,e,i,o){return new Qe(3010,jt)}()),p=!1),r=u.startTime),p&&(l[a]={startTime:r,endTime:o}),e.options&&function j4(t,n,e){const i=n.params||{},o=NS(t);o.length&&o.forEach(r=>{i.hasOwnProperty(r)||e.push(function n4(t){return new Qe(3001,jt)}())})}(s[a],e.options,e.errors)})})}visitKeyframes(n,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function h4(){return new Qe(3011,jt)}()),i;let r=0;const s=[];let a=!1,l=!1,u=0;const p=n.steps.map(Y=>{const ee=this._makeStyleAst(Y,e);let ke=null!=ee.offset?ee.offset:function nB(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(yh(e)&&e.hasOwnProperty("offset")){const i=e;n=parseFloat(i.offset),delete i.offset}});else if(yh(t)&&t.hasOwnProperty("offset")){const e=t;n=parseFloat(e.offset),delete e.offset}return n}(ee.styles),Ze=0;return null!=ke&&(r++,Ze=ee.offset=ke),l=l||Ze<0||Ze>1,a=a||Ze0&&r{const ke=v>0?ee==C?1:v*ee:s[ee],Ze=ke*K;e.currentTime=M+V.delay+Ze,V.duration=Ze,this._validateStyleAst(Y,e),Y.offset=ke,i.styles.push(Y)}),i}visitReference(n,e){return{type:8,animation:ho(this,Zc(n.animation),e),options:la(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:9,options:la(n.options)}}visitAnimateRef(n,e){return{type:10,animation:this.visitReference(n.animation,e),options:la(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,o=n.options||{};e.queryCount++,e.currentQuery=n;const[r,s]=function J4(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(Y4,"")),t=t.replace(/@\*/g,uh).replace(/@\w+/g,e=>uh+"-"+e.substr(1)).replace(/:animating/g,d_),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+r:r,uo(e.collectedStyles,e.currentQuerySelector,{});const a=ho(this,Zc(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:r,limit:o.limit||0,optional:!!o.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:la(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function g4(){return new Qe(3013,jt)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:hh(n.timings,e.errors,!0);return{type:12,animation:ho(this,Zc(n.animation),e),timings:i,options:null}}}class tB{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function yh(t){return!Array.isArray(t)&&"object"==typeof t}function la(t){return t?(t=yl(t)).params&&(t.params=function eB(t){return t?yl(t):null}(t.params)):t={},t}function m_(t,n,e){return{duration:t,delay:n,easing:e}}function g_(t,n,e,i,o,r,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:o,delay:r,totalTime:o+r,easing:s,subTimeline:a}}class Ch{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const sB=new RegExp(":enter","g"),lB=new RegExp(":leave","g");function __(t,n,e,i,o,r={},s={},a,l,u=[]){return(new cB).buildKeyframes(t,n,e,i,o,r,s,a,l,u)}class cB{buildKeyframes(n,e,i,o,r,s,a,l,u,p=[]){u=u||new Ch;const g=new b_(n,e,u,o,r,p,[]);g.options=l,g.currentTimeline.setStyles([s],null,g.errors,l),ho(this,i,g);const v=g.timelines.filter(C=>C.containsAnimation());if(Object.keys(a).length){let C;for(let M=v.length-1;M>=0;M--){const V=v[M];if(V.element===e){C=V;break}}C&&!C.allowOnlyTimelineStyles()&&C.setStyles([a],null,g.errors,l)}return v.length?v.map(C=>C.buildKeyframes()):[g_(e,[],[],[],0,0,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const o=e.createSubContext(n.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,o,o.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_visitSubInstructions(n,e,i){let r=e.currentTimeline.currentTime;const s=null!=i.duration?sa(i.duration):null,a=null!=i.delay?sa(i.delay):null;return 0!==s&&n.forEach(l=>{const u=e.appendInstructionToTimeline(l,s,a);r=Math.max(r,u.duration+u.delay)}),r}visitReference(n,e){e.updateOptions(n.options,!0),ho(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let o=e;const r=n.options;if(r&&(r.params||r.delay)&&(o=e.createSubContext(r),o.transformIntoNewTimeline(),null!=r.delay)){6==o.previousNode.type&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=wh);const s=sa(r.delay);o.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>ho(this,s,o)),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let o=e.currentTimeline.currentTime;const r=n.options&&n.options.delay?sa(n.options.delay):0;n.steps.forEach(s=>{const a=e.createSubContext(n.options);r&&a.delayNextStep(r),ho(this,s,a),o=Math.max(o,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(o),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return hh(e.params?ph(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),o=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),o.snapshotCurrentStyles());const r=n.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(i.duration),this.visitStyle(r,e),o.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,o=e.currentAnimateTimings;!o&&i.getCurrentStyleProperties().length&&i.forwardFrame();const r=o&&o.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(r):i.setStyles(n.styles,r,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,o=e.currentTimeline.duration,r=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(l=>{a.forwardTime((l.offset||0)*r),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(o+r),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,o=n.options||{},r=o.delay?sa(o.delay):0;r&&(6===e.previousNode.type||0==i&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wh);let s=i;const a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!o.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((u,p)=>{e.currentQueryIndex=p;const g=e.createSubContext(n.options,u);r&&g.delayNextStep(r),u===e.element&&(l=g.currentTimeline),ho(this,n.animation,g),g.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,g.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,o=e.currentTimeline,r=n.timings,s=Math.abs(r.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const p=e.currentTimeline;l&&p.delayNextStep(l);const g=p.currentTime;ho(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=o.currentTime-g+(o.startTime-i.currentTimeline.startTime)}}const wh={};class b_{constructor(n,e,i,o,r,s,a,l){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=o,this._leaveClassName=r,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wh,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Dh(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let o=this.options;null!=i.duration&&(o.duration=sa(i.duration)),null!=i.delay&&(o.delay=sa(i.delay));const r=i.params;if(r){let s=o.params;s||(s=this.options.params={}),Object.keys(r).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=ph(r[a],s,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(o=>{i[o]=e[o]})}}return n}createSubContext(n=null,e,i){const o=e||this.element,r=new b_(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(n),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(n){return this.previousNode=wh,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const o={duration:null!=e?e:n.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+n.delay,easing:""},r=new dB(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,o,n.stretchStartingKeyframe);return this.timelines.push(r),o}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,o,r,s){let a=[];if(o&&a.push(this.element),n.length>0){n=(n=n.replace(sB,"."+this._enterClassName)).replace(lB,"."+this._leaveClassName);let u=this._driver.query(this.element,n,1!=i);0!==i&&(u=i<0?u.slice(u.length+i,u.length):u.slice(0,i)),a.push(...u)}return!r&&0==a.length&&s.push(function _4(t){return new Qe(3014,jt)}()),a}}class Dh{constructor(n,e,i,o){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=o,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new Dh(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles[n]=e,this._globalTimelineStyles[n]=e,this._styleSummary[n]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&(this._previousKeyframe.easing=n),Object.keys(this._globalTimelineStyles).forEach(e=>{this._backFill[e]=this._globalTimelineStyles[e]||Hr,this._currentKeyframe[e]=Hr}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,o){e&&(this._previousKeyframe.easing=e);const r=o&&o.params||{},s=function uB(t,n){const e={};let i;return t.forEach(o=>{"*"===o?(i=i||Object.keys(n),i.forEach(r=>{e[r]=Hr})):ws(o,!1,e)}),e}(n,this._globalTimelineStyles);Object.keys(s).forEach(a=>{const l=ph(s[a],r,i);this._pendingStyles[a]=l,this._localTimelineStyles.hasOwnProperty(a)||(this._backFill[a]=this._globalTimelineStyles.hasOwnProperty(a)?this._globalTimelineStyles[a]:Hr),this._updateStyle(a,l)})}applyStylesToKeyframe(){const n=this._pendingStyles,e=Object.keys(n);0!=e.length&&(this._pendingStyles={},e.forEach(i=>{this._currentKeyframe[i]=n[i]}),Object.keys(this._localTimelineStyles).forEach(i=>{this._currentKeyframe.hasOwnProperty(i)||(this._currentKeyframe[i]=this._localTimelineStyles[i])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(n=>{const e=this._localTimelineStyles[n];this._pendingStyles[n]=e,this._updateStyle(n,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){Object.keys(n._styleSummary).forEach(e=>{const i=this._styleSummary[e],o=n._styleSummary[e];(!i||o.time>i.time)&&this._updateStyle(e,o.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let o=[];this._keyframes.forEach((a,l)=>{const u=ws(a,!0);Object.keys(u).forEach(p=>{const g=u[p];"!"==g?n.add(p):g==Hr&&e.add(p)}),i||(u.offset=l/this.duration),o.push(u)});const r=n.size?fh(n.values()):[],s=e.size?fh(e.values()):[];if(i){const a=o[0],l=yl(a);a.offset=0,l.offset=1,o=[a,l]}return g_(this.element,o,r,s,this.duration,this.startTime,this.easing,!1)}}class dB extends Dh{constructor(n,e,i,o,r,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=o,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:o}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=i+e,a=e/s,l=ws(n[0],!1);l.offset=0,r.push(l);const u=ws(n[0],!1);u.offset=HS(a),r.push(u);const p=n.length-1;for(let g=1;g<=p;g++){let v=ws(n[g],!1);v.offset=HS((e+v.offset*i)/s),r.push(v)}i=s,e=0,o="",n=r}return g_(this.element,n,this.preStyleProps,this.postStyleProps,i,e,o,!0)}}function HS(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}class v_{}class hB extends v_{normalizePropertyName(n,e){return p_(n)}normalizeStyleValue(n,e,i,o){let r="";const s=i.toString().trim();if(pB[e]&&0!==i&&"0"!==i)if("number"==typeof i)r="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&o.push(function s4(t,n){return new Qe(3005,jt)}())}return s+r}}const pB=(()=>function fB(t){const n={};return t.forEach(e=>n[e]=!0),n}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function US(t,n,e,i,o,r,s,a,l,u,p,g,v){return{type:0,element:t,triggerName:n,isRemovalTransition:o,fromState:e,fromStyles:r,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:u,postStyleProps:p,totalTime:g,errors:v}}const y_={};class zS{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,o){return function mB(t,n,e,i,o){return t.some(r=>r(n,e,i,o))}(this.ast.matchers,n,e,i,o)}buildStyles(n,e,i){const o=this._stateStyles["*"],r=this._stateStyles[n],s=o?o.buildStyles(e,i):{};return r?r.buildStyles(e,i):s}build(n,e,i,o,r,s,a,l,u,p){const g=[],v=this.ast.options&&this.ast.options.params||y_,M=this.buildStyles(i,a&&a.params||y_,g),V=l&&l.params||y_,K=this.buildStyles(o,V,g),Y=new Set,ee=new Map,ke=new Map,Ze="void"===o,Pt={params:Object.assign(Object.assign({},v),V)},xn=p?[]:__(n,e,this.ast.animation,r,s,M,K,Pt,u,g);let On=0;if(xn.forEach(go=>{On=Math.max(go.duration+go.delay,On)}),g.length)return US(e,this._triggerName,i,o,Ze,M,K,[],[],ee,ke,On,g);xn.forEach(go=>{const _o=go.element,Wl=uo(ee,_o,{});go.preStyleProps.forEach(sr=>Wl[sr]=!0);const ss=uo(ke,_o,{});go.postStyleProps.forEach(sr=>ss[sr]=!0),_o!==e&&Y.add(_o)});const mo=fh(Y.values());return US(e,this._triggerName,i,o,Ze,M,K,xn,mo,ee,ke,On)}}class gB{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i={},o=yl(this.defaultParams);return Object.keys(n).forEach(r=>{const s=n[r];null!=s&&(o[r]=s)}),this.styles.styles.forEach(r=>{if("string"!=typeof r){const s=r;Object.keys(s).forEach(a=>{let l=s[a];l.length>1&&(l=ph(l,o,e));const u=this.normalizer.normalizePropertyName(a,e);l=this.normalizer.normalizeStyleValue(a,u,l,e),i[u]=l})}}),i}}class bB{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states={},e.states.forEach(o=>{this.states[o.name]=new gB(o.style,o.options&&o.options.params||{},i)}),$S(this.states,"true","1"),$S(this.states,"false","0"),e.transitions.forEach(o=>{this.transitionFactories.push(new zS(n,o,this.states))}),this.fallbackTransition=function vB(t,n,e){return new zS(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,o){return this.transitionFactories.find(s=>s.match(n,e,i,o))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function $S(t,n,e){t.hasOwnProperty(n)?t.hasOwnProperty(e)||(t[e]=t[n]):t.hasOwnProperty(e)&&(t[n]=t[e])}const yB=new Ch;class CB{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(n,e){const i=[],r=f_(this._driver,e,i,[]);if(i.length)throw function S4(t){return new Qe(3503,jt)}();this._animations[n]=r}_buildPlayer(n,e,i){const o=n.element,r=wS(0,this._normalizer,0,n.keyframes,e,i);return this._driver.animate(o,r,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const o=[],r=this._animations[n];let s;const a=new Map;if(r?(s=__(this._driver,e,r,c_,ch,{},{},i,yB,o),s.forEach(p=>{const g=uo(a,p.element,{});p.postStyleProps.forEach(v=>g[v]=null)})):(o.push(function M4(){return new Qe(3300,jt)}()),s=[]),o.length)throw function x4(t){return new Qe(3504,jt)}();a.forEach((p,g)=>{Object.keys(p).forEach(v=>{p[v]=this._driver.computeStyle(g,v,Hr)})});const u=Cs(s.map(p=>{const g=a.get(p.element);return this._buildPlayer(p,{},g)}));return this._playersById[n]=u,u.onDestroy(()=>this.destroy(n)),this.players.push(u),u}destroy(n){const e=this._getPlayer(n);e.destroy(),delete this._playersById[n];const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById[n];if(!e)throw function T4(t){return new Qe(3301,jt)}();return e}listen(n,e,i,o){const r=r_(e,"","","");return i_(this._getPlayer(n),i,r,o),()=>{}}command(n,e,i,o){if("register"==i)return void this.register(n,o[0]);if("create"==i)return void this.create(n,e,o[0]||{});const r=this._getPlayer(n);switch(i){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(o[0]));break;case"destroy":this.destroy(n)}}}const GS="ng-animate-queued",C_="ng-animate-disabled",xB=[],WS={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},TB={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Ao="__ng_removed";class w_{constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function OB(t){return null!=t?t:null}(i?n.value:n),i){const r=yl(n);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(o=>{null==i[o]&&(i[o]=e[o])})}}}const Qc="void",D_=new w_(Qc);class kB{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,Po(e,this._hostClassName)}listen(n,e,i,o){if(!this._triggers.hasOwnProperty(e))throw function k4(t,n){return new Qe(3302,jt)}();if(null==i||0==i.length)throw function E4(t){return new Qe(3303,jt)}();if(!function AB(t){return"start"==t||"done"==t}(i))throw function I4(t,n){return new Qe(3400,jt)}();const r=uo(this._elementListeners,n,[]),s={name:e,phase:i,callback:o};r.push(s);const a=uo(this._engine.statesByElement,n,{});return a.hasOwnProperty(e)||(Po(n,dh),Po(n,dh+"-"+e),a[e]=D_),()=>{this._engine.afterFlush(()=>{const l=r.indexOf(s);l>=0&&r.splice(l,1),this._triggers[e]||delete a[e]})}}register(n,e){return!this._triggers[n]&&(this._triggers[n]=e,!0)}_getTrigger(n){const e=this._triggers[n];if(!e)throw function O4(t){return new Qe(3401,jt)}();return e}trigger(n,e,i,o=!0){const r=this._getTrigger(e),s=new S_(this.id,e,n);let a=this._engine.statesByElement.get(n);a||(Po(n,dh),Po(n,dh+"-"+e),this._engine.statesByElement.set(n,a={}));let l=a[e];const u=new w_(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&u.absorbOptions(l.options),a[e]=u,l||(l=D_),u.value!==Qc&&l.value===u.value){if(!function FB(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let o=0;o{aa(n,K),br(n,Y)})}return}const v=uo(this._engine.playersByElement,n,[]);v.forEach(V=>{V.namespaceId==this.id&&V.triggerName==e&&V.queued&&V.destroy()});let C=r.matchTransition(l.value,u.value,n,u.params),M=!1;if(!C){if(!o)return;C=r.fallbackTransition,M=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:C,fromState:l,toState:u,player:s,isFallbackTransition:M}),M||(Po(n,GS),s.onStart(()=>{Cl(n,GS)})),s.onDone(()=>{let V=this.players.indexOf(s);V>=0&&this.players.splice(V,1);const K=this._engine.playersByElement.get(n);if(K){let Y=K.indexOf(s);Y>=0&&K.splice(Y,1)}}),this.players.push(s),v.push(s),s}deregister(n){delete this._triggers[n],this._engine.statesByElement.forEach((e,i)=>{delete e[n]}),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(o=>o.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,uh,!0);i.forEach(o=>{if(o[Ao])return;const r=this._engine.fetchNamespacesByElement(o);r.size?r.forEach(s=>s.triggerLeaveAnimation(o,e,!1,!0)):this.clearElementCache(o)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(o=>this.clearElementCache(o)))}triggerLeaveAnimation(n,e,i,o){const r=this._engine.statesByElement.get(n),s=new Map;if(r){const a=[];if(Object.keys(r).forEach(l=>{if(s.set(l,r[l].value),this._triggers[l]){const u=this.trigger(n,l,Qc,o);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&Cs(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const o=new Set;e.forEach(r=>{const s=r.name;if(o.has(s))return;o.add(s);const l=this._triggers[s].fallbackTransition,u=i[s]||D_,p=new w_(Qc),g=new S_(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:l,fromState:u,toState:p,player:g,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let o=!1;if(i.totalAnimations){const r=i.players.length?i.playersByQueriedElement.get(n):[];if(r&&r.length)o=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){o=!0;break}}}if(this.prepareLeaveAnimationListeners(n),o)i.markElementAsRemoved(this.id,n,!1,e);else{const r=n[Ao];(!r||r===WS)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){Po(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const o=i.player;if(o.destroyed)return;const r=i.element,s=this._elementListeners.get(r);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=r_(r,i.triggerName,i.fromState.value,i.toState.value);l._data=n,i_(i.player,a.phase,l,a.callback)}}),o.markedForDestroy?this._engine.afterFlush(()=>{o.destroy()}):e.push(i)}),this._queue=[],e.sort((i,o)=>{const r=i.transition.ast.depCount,s=o.transition.ast.depCount;return 0==r||0==s?r-s:this._engine.driver.containsElement(i.element,o.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}elementContainsData(n){let e=!1;return this._elementListeners.has(n)&&(e=!0),e=!!this._queue.find(i=>i.element===n)||e,e}}class EB{constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(o,r)=>{}}_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new kB(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,o=this.namespacesByHostElement,r=i.length-1;if(r>=0){let s=!1;if(void 0!==this.driver.getParentElement){let a=this.driver.getParentElement(e);for(;a;){const l=o.get(a);if(l){const u=i.indexOf(l);i.splice(u+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}}else for(let a=r;a>=0;a--)if(this.driver.containsElement(i[a].hostElement,e)){i.splice(a+1,0,n),s=!0;break}s||i.unshift(n)}else i.push(n);return o.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let o=this._namespaceLookup[n];o&&o.register(e,i)&&this.totalAnimations++}destroy(n,e){if(!n)return;const i=this._fetchNamespace(n);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[n];const o=this._namespaceList.indexOf(i);o>=0&&this._namespaceList.splice(o,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i){const o=Object.keys(i);for(let r=0;r=0&&this.collectedLeaveElements.splice(s,1)}if(n){const s=this._fetchNamespace(n);s&&s.insertNode(e,i)}o&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),Po(n,C_)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),Cl(n,C_))}removeNode(n,e,i,o){if(Sh(e)){const r=n?this._fetchNamespace(n):null;if(r?r.removeNode(e,o):this.markElementAsRemoved(n,e,!1,o),i){const s=this.namespacesByHostElement.get(e);s&&s.id!==n&&s.removeNode(e,o)}}else this._onRemovalComplete(e,o)}markElementAsRemoved(n,e,i,o,r){this.collectedLeaveElements.push(e),e[Ao]={namespaceId:n,setForRemoval:o,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:r}}listen(n,e,i,o,r){return Sh(e)?this._fetchNamespace(n).listen(e,i,o,r):()=>{}}_buildInstruction(n,e,i,o,r){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,o,n.fromState.options,n.toState.options,e,r)}destroyInnerAnimations(n){let e=this.driver.query(n,uh,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,d_,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return Cs(this.players).onDone(()=>n());n()})}processLeaveNode(n){var e;const i=n[Ao];if(i&&i.setForRemoval){if(n[Ao]=WS,i.namespaceId){this.destroyInnerAnimations(n);const o=this._fetchNamespace(i.namespaceId);o&&o.clearElementCache(n)}this._onRemovalComplete(n,i.setForRemoval)}(null===(e=n.classList)||void 0===e?void 0:e.contains(C_))&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(o=>{this.markElementAsDisabled(o,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,o)=>this._balanceNamespaceList(i,o)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?Cs(e).onDone(()=>{i.forEach(o=>o())}):i.forEach(o=>o())}}reportError(n){throw function A4(t){return new Qe(3402,jt)}()}_flushAnimations(n,e){const i=new Ch,o=[],r=new Map,s=[],a=new Map,l=new Map,u=new Map,p=new Set;this.disabledNodes.forEach(Ye=>{p.add(Ye);const dt=this.driver.query(Ye,".ng-animate-queued",!0);for(let _t=0;_t{const _t=c_+V++;M.set(dt,_t),Ye.forEach(qt=>Po(qt,_t))});const K=[],Y=new Set,ee=new Set;for(let Ye=0;YeY.add(qt)):ee.add(dt))}const ke=new Map,Ze=ZS(v,Array.from(Y));Ze.forEach((Ye,dt)=>{const _t=ch+V++;ke.set(dt,_t),Ye.forEach(qt=>Po(qt,_t))}),n.push(()=>{C.forEach((Ye,dt)=>{const _t=M.get(dt);Ye.forEach(qt=>Cl(qt,_t))}),Ze.forEach((Ye,dt)=>{const _t=ke.get(dt);Ye.forEach(qt=>Cl(qt,_t))}),K.forEach(Ye=>{this.processLeaveNode(Ye)})});const Pt=[],xn=[];for(let Ye=this._namespaceList.length-1;Ye>=0;Ye--)this._namespaceList[Ye].drainQueuedTransitions(e).forEach(_t=>{const qt=_t.player,gi=_t.element;if(Pt.push(qt),this.collectedEnterElements.length){const Vi=gi[Ao];if(Vi&&Vi.setForMove){if(Vi.previousTriggersValues&&Vi.previousTriggersValues.has(_t.triggerName)){const Sa=Vi.previousTriggersValues.get(_t.triggerName),Us=this.statesByElement.get(_t.element);Us&&Us[_t.triggerName]&&(Us[_t.triggerName].value=Sa)}return void qt.destroy()}}const Tr=!g||!this.driver.containsElement(g,gi),bo=ke.get(gi),Hs=M.get(gi),An=this._buildInstruction(_t,i,Hs,bo,Tr);if(An.errors&&An.errors.length)return void xn.push(An);if(Tr)return qt.onStart(()=>aa(gi,An.fromStyles)),qt.onDestroy(()=>br(gi,An.toStyles)),void o.push(qt);if(_t.isFallbackTransition)return qt.onStart(()=>aa(gi,An.fromStyles)),qt.onDestroy(()=>br(gi,An.toStyles)),void o.push(qt);const bI=[];An.timelines.forEach(Vi=>{Vi.stretchStartingKeyframe=!0,this.disabledNodes.has(Vi.element)||bI.push(Vi)}),An.timelines=bI,i.append(gi,An.timelines),s.push({instruction:An,player:qt,element:gi}),An.queriedElements.forEach(Vi=>uo(a,Vi,[]).push(qt)),An.preStyleProps.forEach((Vi,Sa)=>{const Us=Object.keys(Vi);if(Us.length){let Ma=l.get(Sa);Ma||l.set(Sa,Ma=new Set),Us.forEach(Vv=>Ma.add(Vv))}}),An.postStyleProps.forEach((Vi,Sa)=>{const Us=Object.keys(Vi);let Ma=u.get(Sa);Ma||u.set(Sa,Ma=new Set),Us.forEach(Vv=>Ma.add(Vv))})});if(xn.length){const Ye=[];xn.forEach(dt=>{Ye.push(function P4(t,n){return new Qe(3505,jt)}())}),Pt.forEach(dt=>dt.destroy()),this.reportError(Ye)}const On=new Map,mo=new Map;s.forEach(Ye=>{const dt=Ye.element;i.has(dt)&&(mo.set(dt,dt),this._beforeAnimationBuild(Ye.player.namespaceId,Ye.instruction,On))}),o.forEach(Ye=>{const dt=Ye.element;this._getPreviousPlayers(dt,!1,Ye.namespaceId,Ye.triggerName,null).forEach(qt=>{uo(On,dt,[]).push(qt),qt.destroy()})});const go=K.filter(Ye=>YS(Ye,l,u)),_o=new Map;KS(_o,this.driver,ee,u,Hr).forEach(Ye=>{YS(Ye,l,u)&&go.push(Ye)});const ss=new Map;C.forEach((Ye,dt)=>{KS(ss,this.driver,new Set(Ye),l,"!")}),go.forEach(Ye=>{const dt=_o.get(Ye),_t=ss.get(Ye);_o.set(Ye,Object.assign(Object.assign({},dt),_t))});const sr=[],ql=[],Kl={};s.forEach(Ye=>{const{element:dt,player:_t,instruction:qt}=Ye;if(i.has(dt)){if(p.has(dt))return _t.onDestroy(()=>br(dt,qt.toStyles)),_t.disabled=!0,_t.overrideTotalTime(qt.totalTime),void o.push(_t);let gi=Kl;if(mo.size>1){let bo=dt;const Hs=[];for(;bo=bo.parentNode;){const An=mo.get(bo);if(An){gi=An;break}Hs.push(bo)}Hs.forEach(An=>mo.set(An,gi))}const Tr=this._buildAnimation(_t.namespaceId,qt,On,r,ss,_o);if(_t.setRealPlayer(Tr),gi===Kl)sr.push(_t);else{const bo=this.playersByElement.get(gi);bo&&bo.length&&(_t.parentPlayer=Cs(bo)),o.push(_t)}}else aa(dt,qt.fromStyles),_t.onDestroy(()=>br(dt,qt.toStyles)),ql.push(_t),p.has(dt)&&o.push(_t)}),ql.forEach(Ye=>{const dt=r.get(Ye.element);if(dt&&dt.length){const _t=Cs(dt);Ye.setRealPlayer(_t)}}),o.forEach(Ye=>{Ye.parentPlayer?Ye.syncPlayerEvents(Ye.parentPlayer):Ye.destroy()});for(let Ye=0;Ye!Tr.destroyed);gi.length?PB(this,dt,gi):this.processLeaveNode(dt)}return K.length=0,sr.forEach(Ye=>{this.players.push(Ye),Ye.onDone(()=>{Ye.destroy();const dt=this.players.indexOf(Ye);this.players.splice(dt,1)}),Ye.play()}),sr}elementContainsData(n,e){let i=!1;const o=e[Ao];return o&&o.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(n).elementContainsData(e)||i}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,o,r){let s=[];if(e){const a=this.playersByQueriedElement.get(n);a&&(s=a)}else{const a=this.playersByElement.get(n);if(a){const l=!r||r==Qc;a.forEach(u=>{u.queued||!l&&u.triggerName!=o||s.push(u)})}}return(i||o)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||o&&o!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){const r=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const u=l.element,p=u!==r,g=uo(i,u,[]);this._getPreviousPlayers(u,p,s,a,e.toState).forEach(C=>{const M=C.getRealPlayer();M.beforeDestroy&&M.beforeDestroy(),C.destroy(),g.push(C)})}aa(r,e.fromStyles)}_buildAnimation(n,e,i,o,r,s){const a=e.triggerName,l=e.element,u=[],p=new Set,g=new Set,v=e.timelines.map(M=>{const V=M.element;p.add(V);const K=V[Ao];if(K&&K.removedBeforeQueried)return new Kc(M.duration,M.delay);const Y=V!==l,ee=function RB(t){const n=[];return QS(t,n),n}((i.get(V)||xB).map(On=>On.getRealPlayer())).filter(On=>!!On.element&&On.element===V),ke=r.get(V),Ze=s.get(V),Pt=wS(0,this._normalizer,0,M.keyframes,ke,Ze),xn=this._buildPlayer(M,Pt,ee);if(M.subTimeline&&o&&g.add(V),Y){const On=new S_(n,a,V);On.setRealPlayer(xn),u.push(On)}return xn});u.forEach(M=>{uo(this.playersByQueriedElement,M.element,[]).push(M),M.onDone(()=>function IB(t,n,e){let i;if(t instanceof Map){if(i=t.get(n),i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&t.delete(n)}}else if(i=t[n],i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&delete t[n]}return i}(this.playersByQueriedElement,M.element,M))}),p.forEach(M=>Po(M,AS));const C=Cs(v);return C.onDestroy(()=>{p.forEach(M=>Cl(M,AS)),br(l,e.toStyles)}),g.forEach(M=>{uo(o,M,[]).push(C)}),C}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new Kc(n.duration,n.delay)}}class S_{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new Kc,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(i=>i_(n,e,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){uo(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function Sh(t){return t&&1===t.nodeType}function qS(t,n){const e=t.style.display;return t.style.display=null!=n?n:"none",e}function KS(t,n,e,i,o){const r=[];e.forEach(l=>r.push(qS(l)));const s=[];i.forEach((l,u)=>{const p={};l.forEach(g=>{const v=p[g]=n.computeStyle(u,g,o);(!v||0==v.length)&&(u[Ao]=TB,s.push(u))}),t.set(u,p)});let a=0;return e.forEach(l=>qS(l,r[a++])),s}function ZS(t,n){const e=new Map;if(t.forEach(a=>e.set(a,[])),0==n.length)return e;const o=new Set(n),r=new Map;function s(a){if(!a)return 1;let l=r.get(a);if(l)return l;const u=a.parentNode;return l=e.has(u)?u:o.has(u)?1:s(u),r.set(a,l),l}return n.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Po(t,n){var e;null===(e=t.classList)||void 0===e||e.add(n)}function Cl(t,n){var e;null===(e=t.classList)||void 0===e||e.remove(n)}function PB(t,n,e){Cs(e).onDone(()=>t.processLeaveNode(n))}function QS(t,n){for(let e=0;eo.add(r)):n.set(t,i),e.delete(t),!0}class Mh{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,r)=>{},this._transitionEngine=new EB(n,e,i),this._timelineEngine=new CB(n,e,i),this._transitionEngine.onRemovalComplete=(o,r)=>this.onRemovalComplete(o,r)}registerTrigger(n,e,i,o,r){const s=n+"-"+o;let a=this._triggerCache[s];if(!a){const l=[],p=f_(this._driver,r,l,[]);if(l.length)throw function w4(t,n){return new Qe(3404,jt)}();a=function _B(t,n,e){return new bB(t,n,e)}(o,p,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,o,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,o){this._transitionEngine.insertNode(n,e,i,o)}onRemove(n,e,i,o){this._transitionEngine.removeNode(n,e,o||!1,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,o){if("@"==i.charAt(0)){const[r,s]=DS(i);this._timelineEngine.command(r,e,s,o)}else this._transitionEngine.trigger(n,e,i,o)}listen(n,e,i,o,r){if("@"==i.charAt(0)){const[s,a]=DS(i);return this._timelineEngine.listen(s,e,a,r)}return this._transitionEngine.listen(n,e,i,o,r)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let LB=(()=>{class t{constructor(e,i,o){this._element=e,this._startStyles=i,this._endStyles=o,this._state=0;let r=t.initialStylesByElement.get(e);r||t.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&br(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(br(this._element,this._initialStyles),this._endStyles&&(br(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(aa(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(aa(this._element,this._endStyles),this._endStyles=null),br(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function M_(t){let n=null;const e=Object.keys(t);for(let i=0;in()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(n,e,i){return n.animate(e,i)}onStart(n){this._onStartFns.push(n)}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n={};if(this.hasStarted()){const e=this._finalKeyframe;Object.keys(e).forEach(i=>{"offset"!=i&&(n[i]=this._finished?e[i]:LS(this.element,i))})}this.currentSnapshot=n}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class VB{validateStyleProperty(n){return TS(n)}matchesElement(n,e){return!1}containsElement(n,e){return kS(n,e)}getParentElement(n){return a_(n)}query(n,e,i){return ES(n,e,i)}computeStyle(n,e,i){return window.getComputedStyle(n)[e]}animate(n,e,i,o,r,s=[]){const l={duration:i,delay:o,fill:0==o?"both":"forwards"};r&&(l.easing=r);const u={},p=s.filter(v=>v instanceof XS);(function z4(t,n){return 0===t||0===n})(i,o)&&p.forEach(v=>{let C=v.currentSnapshot;Object.keys(C).forEach(M=>u[M]=C[M])}),e=function $4(t,n,e){const i=Object.keys(e);if(i.length&&n.length){let r=n[0],s=[];if(i.forEach(a=>{r.hasOwnProperty(a)||s.push(a),r[a]=e[a]}),s.length)for(var o=1;ows(v,!1)),u);const g=function NB(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=M_(n[0]),n.length>1&&(i=M_(n[n.length-1]))):n&&(e=M_(n)),e||i?new LB(t,e,i):null}(n,e);return new XS(n,e,l,g)}}let jB=(()=>{class t extends gS{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:zo.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const o=Array.isArray(e)?bS(e):e;return JS(this._renderer,null,i,"register",[o]),new HB(i,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Q(Rc),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class HB extends class X5{}{constructor(n,e){super(),this._id=n,this._renderer=e}create(n,e){return new UB(this._id,n,e||{},this._renderer)}}class UB{constructor(n,e,i,o){this.id=n,this.element=e,this._renderer=o,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(n,e){return this._renderer.listen(this.element,`@@${this.id}:${n}`,e)}_command(n,...e){return JS(this._renderer,this.element,this.id,n,e)}onDone(n){this._listen("done",n)}onStart(n){this._listen("start",n)}onDestroy(n){this._listen("destroy",n)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(n){this._command("setPosition",n)}getPosition(){var n,e;return null!==(e=null===(n=this._renderer.engine.players[+this.id])||void 0===n?void 0:n.getPosition())&&void 0!==e?e:0}}function JS(t,n,e,i,o){return t.setProperty(n,`@@${e}:${i}`,o)}const eM="@.disabled";let zB=(()=>{class t{constructor(e,i,o){this.delegate=e,this.engine=i,this._zone=o,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(r,s)=>{const a=null==s?void 0:s.parentNode(r);a&&s.removeChild(a,r)}}createRenderer(e,i){const r=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let p=this._rendererCache.get(r);return p||(p=new tM("",r,this.engine),this._rendererCache.set(r,p)),p}const s=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);const l=p=>{Array.isArray(p)?p.forEach(l):this.engine.registerTrigger(s,a,e,p.name,p)};return i.data.animation.forEach(l),new $B(this,a,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,o){e>=0&&ei(o)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(r=>{const[s,a]=r;s(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,o]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Q(Rc),Q(Mh),Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class tM{constructor(n,e,i){this.namespaceId=n,this.delegate=e,this.engine=i,this.destroyNode=this.delegate.destroyNode?o=>e.destroyNode(o):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,o=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,o)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,o){this.delegate.setAttribute(n,e,i,o)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,o){this.delegate.setStyle(n,e,i,o)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==eM?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class $B extends tM{constructor(n,e,i,o){super(e,i,o),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==eM?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.substr(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const o=function GB(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function WB(t){const n=t.indexOf(".");return[t.substring(0,n),t.substr(n+1)]}(r)),this.engine.listen(this.namespaceId,o,r,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(n,e,i)}}let qB=(()=>{class t extends Mh{constructor(e,i,o){super(e.body,i,o)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(l_),Q(v_))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const gn=new _e("AnimationModuleType"),nM=[{provide:gS,useClass:jB},{provide:v_,useFactory:function KB(){return new hB}},{provide:Mh,useClass:qB},{provide:Rc,useFactory:function ZB(t,n,e){return new zB(t,n,e)},deps:[ah,Mh,Je]}],iM=[{provide:l_,useFactory:()=>new VB},{provide:gn,useValue:"BrowserAnimations"},...nM],QB=[{provide:l_,useClass:IS},{provide:gn,useValue:"NoopAnimations"},...nM];let YB=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?QB:iM}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:iM,imports:[hS]}),t})();const XB=new _e("cdk-dir-doc",{providedIn:"root",factory:function JB(){return hc(ht)}}),eV=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let x_,ai=(()=>{class t{constructor(e){if(this.value="ltr",this.change=new Pe,e){const o=e.documentElement?e.documentElement.dir:null;this.value=function tV(t){const n=(null==t?void 0:t.toLowerCase())||"";return"auto"===n&&"undefined"!=typeof navigator&&(null==navigator?void 0:navigator.language)?eV.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||o||"ltr")}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Q(XB,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();try{x_="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(t){x_=!1}let wl,dn=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?function f5(t){return t===JD}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!x_)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Q(Hc))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const rM=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function sM(){if(wl)return wl;if("object"!=typeof document||!document)return wl=new Set(rM),wl;let t=document.createElement("input");return wl=new Set(rM.filter(n=>(t.setAttribute("type",n),t.type===n))),wl}let Xc,Th,da,T_;function ca(t){return function nV(){if(null==Xc&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Xc=!0}))}finally{Xc=Xc||!1}return Xc}()?t:!!t.capture}function aM(){if(null==da){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return da=!1,da;if("scrollBehavior"in document.documentElement.style)da=!0;else{const t=Element.prototype.scrollTo;da=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return da}function Jc(){if("object"!=typeof document||!document)return 0;if(null==Th){const t=document.createElement("div"),n=t.style;t.dir="rtl",n.width="1px",n.overflow="auto",n.visibility="hidden",n.pointerEvents="none",n.position="absolute";const e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",t.appendChild(e),document.body.appendChild(t),Th=0,0===t.scrollLeft&&(t.scrollLeft=1,Th=0===t.scrollLeft?1:2),t.remove()}return Th}function lM(t){if(function iV(){if(null==T_){const t="undefined"!=typeof document?document.head:null;T_=!(!t||!t.createShadowRoot&&!t.attachShadow)}return T_}()){const n=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}function k_(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}function Ds(t){return t.composedPath?t.composedPath()[0]:t.target}function E_(){return"undefined"!=typeof __karma__&&!!__karma__||"undefined"!=typeof jasmine&&!!jasmine||"undefined"!=typeof jest&&!!jest||"undefined"!=typeof Mocha&&!!Mocha}class vt extends ie{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function We(...t){return ui(t,Yl(t))}function fi(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}function Zt(t,n,e){const i=H(t)||n||e?{next:t,error:n,complete:e}:t;return i?nt((o,r)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;o.subscribe(st(r,l=>{var u;null===(u=i.next)||void 0===u||u.call(i,l),r.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),r.complete()},l=>{var u;a=!1,null===(u=i.error)||void 0===u||u.call(i,l),r.error(l)},()=>{var l,u;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(u=i.finalize)||void 0===u||u.call(i)}))}):Me}class mV extends k{constructor(n,e){super()}schedule(n,e=0){return this}}const Ih={setInterval(t,n,...e){const{delegate:i}=Ih;return(null==i?void 0:i.setInterval)?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){const{delegate:n}=Ih;return((null==n?void 0:n.clearInterval)||clearInterval)(t)},delegate:void 0};class P_ extends mV{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;const o=this.id,r=this.scheduler;return null!=o&&(this.id=this.recycleAsyncId(r,o,e)),this.pending=!0,this.delay=e,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(r,this.id,e),this}requestAsyncId(n,e,i=0){return Ih.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return e;null!=e&&Ih.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let o,i=!1;try{this.work(n)}catch(r){i=!0,o=r||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o}unsubscribe(){if(!this.closed){const{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,x(i,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}}const cM={now:()=>(cM.delegate||Date).now(),delegate:void 0};class ed{constructor(n,e=ed.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}}ed.now=cM.now;class R_ extends ed{constructor(n,e=ed.now){super(n,e),this.actions=[],this._active=!1}flush(n){const{actions:e}=this;if(this._active)return void e.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this._active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}const td=new R_(P_),gV=td;function Oh(t,n=td){return nt((e,i)=>{let o=null,r=null,s=null;const a=()=>{if(o){o.unsubscribe(),o=null;const u=r;r=null,i.next(u)}};function l(){const u=s+t,p=n.now();if(p{r=u,s=n.now(),o||(o=n.schedule(l,t),i.add(o))},()=>{a(),i.complete()},void 0,()=>{r=o=null}))})}function It(t,n){return nt((e,i)=>{let o=0;e.subscribe(st(i,r=>t.call(n,r,o++)&&i.next(r)))})}function Ot(t){return t<=0?()=>yo:nt((n,e)=>{let i=0;n.subscribe(st(e,o=>{++i<=t&&(e.next(o),t<=i&&e.complete())}))})}function F_(t){return It((n,e)=>t<=e)}function nd(t,n=Me){return t=null!=t?t:_V,nt((e,i)=>{let o,r=!0;e.subscribe(st(i,s=>{const a=n(s);(r||!t(o,a))&&(r=!1,o=a,i.next(s))}))})}function _V(t,n){return t===n}function tt(t){return nt((n,e)=>{yi(t).subscribe(st(e,()=>e.complete(),S)),!e.closed&&n.subscribe(e)})}function Xe(t){return null!=t&&"false"!=`${t}`}function Zn(t,n=0){return function bV(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function Ah(t){return Array.isArray(t)?t:[t]}function Qn(t){return null==t?"":"string"==typeof t?t:`${t}px`}function zr(t){return t instanceof He?t.nativeElement:t}let dM=(()=>{class t{create(e){return"undefined"==typeof MutationObserver?null:new MutationObserver(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),yV=(()=>{class t{constructor(e){this._mutationObserverFactory=e,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((e,i)=>this._cleanupObserver(i))}observe(e){const i=zr(e);return new Ue(o=>{const s=this._observeElement(i).subscribe(o);return()=>{s.unsubscribe(),this._unobserveElement(i)}})}_observeElement(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{const i=new ie,o=this._mutationObserverFactory.create(r=>i.next(r));o&&o.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:o,stream:i,count:1})}return this._observedElements.get(e).stream}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){const{observer:i,stream:o}=this._observedElements.get(e);i&&i.disconnect(),o.complete(),this._observedElements.delete(e)}}}return t.\u0275fac=function(e){return new(e||t)(Q(dM))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),N_=(()=>{class t{constructor(e,i,o){this._contentObserver=e,this._elementRef=i,this._ngZone=o,this.event=new Pe,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(e){this._debounce=Zn(e),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?e.pipe(Oh(this.debounce)):e).subscribe(this.event)})}_unsubscribe(){var e;null===(e=this._currentSubscription)||void 0===e||e.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(b(yV),b(He),b(Je))},t.\u0275dir=oe({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),Ph=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[dM]}),t})();function Rh(t,n){return(t.getAttribute(n)||"").match(/\S+/g)||[]}const hM="cdk-describedby-message",Fh="cdk-describedby-host";let pM=0,DV=(()=>{class t{constructor(e,i){this._platform=i,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+pM++,this._document=e}describe(e,i,o){if(!this._canBeDescribed(e,i))return;const r=L_(i,o);"string"!=typeof i?(fM(i),this._messageRegistry.set(r,{messageElement:i,referenceCount:0})):this._messageRegistry.has(r)||this._createMessageElement(i,o),this._isElementDescribedByMessage(e,r)||this._addMessageReference(e,r)}removeDescription(e,i,o){var r;if(!i||!this._isElementNode(e))return;const s=L_(i,o);if(this._isElementDescribedByMessage(e,s)&&this._removeMessageReference(e,s),"string"==typeof i){const a=this._messageRegistry.get(s);a&&0===a.referenceCount&&this._deleteMessageElement(s)}0===(null===(r=this._messagesContainer)||void 0===r?void 0:r.childNodes.length)&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){var e;const i=this._document.querySelectorAll(`[${Fh}="${this._id}"]`);for(let o=0;o0!=o.indexOf(hM));e.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(e,i){const o=this._messageRegistry.get(i);(function CV(t,n,e){const i=Rh(t,n);i.some(o=>o.trim()==e.trim())||(i.push(e.trim()),t.setAttribute(n,i.join(" ")))})(e,"aria-describedby",o.messageElement.id),e.setAttribute(Fh,this._id),o.referenceCount++}_removeMessageReference(e,i){const o=this._messageRegistry.get(i);o.referenceCount--,function wV(t,n,e){const o=Rh(t,n).filter(r=>r!=e.trim());o.length?t.setAttribute(n,o.join(" ")):t.removeAttribute(n)}(e,"aria-describedby",o.messageElement.id),e.removeAttribute(Fh)}_isElementDescribedByMessage(e,i){const o=Rh(e,"aria-describedby"),r=this._messageRegistry.get(i),s=r&&r.messageElement.id;return!!s&&-1!=o.indexOf(s)}_canBeDescribed(e,i){if(!this._isElementNode(e))return!1;if(i&&"object"==typeof i)return!0;const o=null==i?"":`${i}`.trim(),r=e.getAttribute("aria-label");return!(!o||r&&r.trim()===o)}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(dn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function L_(t,n){return"string"==typeof t?`${n||""}/${t}`:t}function fM(t){t.id||(t.id=`${hM}-${pM++}`)}class mM{constructor(n){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new ie,this._typeaheadSubscription=k.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=e=>e.disabled,this._pressedLetters=[],this.tabOut=new ie,this.change=new ie,n instanceof vs&&n.changes.subscribe(e=>{if(this._activeItem){const o=e.toArray().indexOf(this._activeItem);o>-1&&o!==this._activeItemIndex&&(this._activeItemIndex=o)}})}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Zt(e=>this._pressedLetters.push(e)),Oh(n),It(()=>this._pressedLetters.length>0),je(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let o=1;o!n[r]||this._allowedModifierKeys.indexOf(r)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;default:return void((o||fi(n,"shiftKey"))&&(n.key&&1===n.key.length?this._letterKeyStream.next(n.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n),o=e[i];this._activeItem=null==o?null:o,this._activeItemIndex=i}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const o=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[o]))return void this.setActiveItem(o)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return this._items instanceof vs?this._items.toArray():this._items}}class gM extends mM{setActiveItem(n){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(n),this.activeItem&&this.activeItem.setActiveStyles()}}class Nh extends mM{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let B_=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function MV(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function SV(t){try{return t.frameElement}catch(n){return null}}(function PV(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===bM(i)||!this.isVisible(i)))return!1;let o=e.nodeName.toLowerCase(),r=bM(e);return e.hasAttribute("contenteditable")?-1!==r:!("iframe"===o||"object"===o||this._platform.WEBKIT&&this._platform.IOS&&!function OV(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===o?!!e.hasAttribute("controls")&&-1!==r:"video"===o?-1!==r&&(null!==r||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function AV(t){return!function TV(t){return function EV(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function xV(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function kV(t){return function IV(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||_M(t))}(e)&&!this.isDisabled(e)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(e))}}return t.\u0275fac=function(e){return new(e||t)(Q(dn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function _M(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function bM(t){if(!_M(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class RV{constructor(n,e,i,o,r=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=o,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return null==i||i.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const o=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(o)return o}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._ngZone.isStable?n():this._ngZone.onStable.pipe(Ot(1)).subscribe(n)}}let vM=(()=>{class t{constructor(e,i,o){this._checker=e,this._ngZone=i,this._document=o}create(e,i=!1){return new RV(e,this._checker,this._ngZone,this._document,i)}}return t.\u0275fac=function(e){return new(e||t)(Q(B_),Q(Je),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function V_(t){return 0===t.buttons||0===t.offsetX&&0===t.offsetY}function j_(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const FV=new _e("cdk-input-modality-detector-options"),NV={ignoreKeys:[18,17,224,91,16]},Sl=ca({passive:!0,capture:!0});let LV=(()=>{class t{constructor(e,i,o,r){this._platform=e,this._mostRecentTarget=null,this._modality=new vt(null),this._lastTouchMs=0,this._onKeydown=s=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(u=>u===s.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Ds(s))},this._onMousedown=s=>{Date.now()-this._lastTouchMs<650||(this._modality.next(V_(s)?"keyboard":"mouse"),this._mostRecentTarget=Ds(s))},this._onTouchstart=s=>{j_(s)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Ds(s))},this._options=Object.assign(Object.assign({},NV),r),this.modalityDetected=this._modality.pipe(F_(1)),this.modalityChanged=this.modalityDetected.pipe(nd()),e.isBrowser&&i.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,Sl),o.addEventListener("mousedown",this._onMousedown,Sl),o.addEventListener("touchstart",this._onTouchstart,Sl)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Sl),document.removeEventListener("mousedown",this._onMousedown,Sl),document.removeEventListener("touchstart",this._onTouchstart,Sl))}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(Je),Q(ht),Q(FV,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const BV=new _e("liveAnnouncerElement",{providedIn:"root",factory:function VV(){return null}}),jV=new _e("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let H_=(()=>{class t{constructor(e,i,o,r){this._ngZone=i,this._defaultOptions=r,this._document=o,this._liveElement=e||this._createLiveElement()}announce(e,...i){const o=this._defaultOptions;let r,s;return 1===i.length&&"number"==typeof i[0]?s=i[0]:[r,s]=i,this.clear(),clearTimeout(this._previousTimeout),r||(r=o&&o.politeness?o.politeness:"polite"),null==s&&o&&(s=o.duration),this._liveElement.setAttribute("aria-live",r),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(a=>this._currentResolve=a)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,"number"==typeof s&&(this._previousTimeout=setTimeout(()=>this.clear(),s)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){var e,i;clearTimeout(this._previousTimeout),null===(e=this._liveElement)||void 0===e||e.remove(),this._liveElement=null,null===(i=this._currentResolve)||void 0===i||i.call(this),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const e="cdk-live-announcer-element",i=this._document.getElementsByClassName(e),o=this._document.createElement("div");for(let r=0;r{class t{constructor(e,i,o,r,s){this._ngZone=e,this._platform=i,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new ie,this._rootNodeFocusAndBlurListener=a=>{const l=Ds(a),u="focus"===a.type?this._onFocus:this._onBlur;for(let p=l;p;p=p.parentElement)u.call(this,a,p)},this._document=r,this._detectionMode=(null==s?void 0:s.detectionMode)||0}monitor(e,i=!1){const o=zr(e);if(!this._platform.isBrowser||1!==o.nodeType)return We(null);const r=lM(o)||this._getDocument(),s=this._elementInfo.get(o);if(s)return i&&(s.checkChildren=!0),s.subject;const a={checkChildren:i,subject:new ie,rootNode:r};return this._elementInfo.set(o,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){const i=zr(e),o=this._elementInfo.get(i);o&&(o.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(o))}focusVia(e,i,o){const r=zr(e);r===this._getDocument().activeElement?this._getClosestElementsInfo(r).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof r.focus&&r.focus(o))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(e){return 1===this._detectionMode||!!(null==e?void 0:e.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const o=this._elementInfo.get(i),r=Ds(e);!o||!o.checkChildren&&i!==r||this._originChanged(i,this._getFocusOrigin(r),o)}_onBlur(e,i){const o=this._elementInfo.get(i);!o||o.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(o.subject,null))}_emitOrigin(e,i){this._ngZone.run(()=>e.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,o=this._rootNodeFocusListenerCount.get(i)||0;o||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,Lh),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,Lh)}),this._rootNodeFocusListenerCount.set(i,o+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(tt(this._stopInputModalityDetector)).subscribe(r=>{this._setOrigin(r,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const o=this._rootNodeFocusListenerCount.get(i);o>1?this._rootNodeFocusListenerCount.set(i,o-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Lh),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Lh),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,o){this._setClasses(e,i),this._emitOrigin(o.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((o,r)=>{(r===e||o.checkChildren&&r.contains(e))&&i.push([r,o])}),i}}return t.\u0275fac=function(e){return new(e||t)(Q(Je),Q(dn),Q(LV),Q(ht,8),Q(HV,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),UV=(()=>{class t{constructor(e,i){this._elementRef=e,this._focusMonitor=i,this.cdkFocusChange=new Pe}ngAfterViewInit(){const e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,1===e.nodeType&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>this.cdkFocusChange.emit(i))}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Ro))},t.\u0275dir=oe({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"}}),t})();const CM="cdk-high-contrast-black-on-white",wM="cdk-high-contrast-white-on-black",U_="cdk-high-contrast-active";let DM=(()=>{class t{constructor(e,i){this._platform=e,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,o=i&&i.getComputedStyle?i.getComputedStyle(e):null,r=(o&&o.backgroundColor||"").replace(/ /g,"");switch(e.remove(),r){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(U_),e.remove(CM),e.remove(wM),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(e.add(U_),e.add(CM)):2===i&&(e.add(U_),e.add(wM))}}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),SM=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Q(DM))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Ph]]}),t})();function id(...t){return function zV(){return Ql(1)}()(ui(t,Yl(t)))}function Nn(...t){const n=Yl(t);return nt((e,i)=>{(n?id(t,e,n):id(t,e)).subscribe(i)})}function $V(t,n){if(1&t&&E(0,"mat-pseudo-checkbox",4),2&t){const e=D();m("state",e.selected?"checked":"unchecked")("disabled",e.disabled)}}function GV(t,n){if(1&t&&(d(0,"span",5),h(1),c()),2&t){const e=D();f(1),Se("(",e.group.label,")")}}const WV=["*"],KV=new _e("mat-sanity-checks",{providedIn:"root",factory:function qV(){return!0}});let ft=(()=>{class t{constructor(e,i,o){this._sanityChecks=i,this._document=o,this._hasDoneGlobalChecks=!1,e._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(e){return!E_()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}}return t.\u0275fac=function(e){return new(e||t)(Q(DM),Q(KV,8),Q(ht))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Yc],Yc]}),t})();function pa(t){return class extends t{constructor(...n){super(...n),this._disabled=!1}get disabled(){return this._disabled}set disabled(n){this._disabled=Xe(n)}}}function $r(t,n){return class extends t{constructor(...e){super(...e),this.defaultColor=n,this.color=n}get color(){return this._color}set color(e){const i=e||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function vr(t){return class extends t{constructor(...n){super(...n),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(n){this._disableRipple=Xe(n)}}}function Ml(t,n=0){return class extends t{constructor(...e){super(...e),this._tabIndex=n,this.defaultTabIndex=n}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(e){this._tabIndex=null!=e?Zn(e):this.defaultTabIndex}}}function z_(t){return class extends t{constructor(...n){super(...n),this.stateChanges=new ie,this.errorState=!1}updateErrorState(){const n=this.errorState,r=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);r!==n&&(this.errorState=r,this.stateChanges.next())}}}let od=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),xM=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();class XV{constructor(n,e,i){this._renderer=n,this.element=e,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const TM={enterDuration:225,exitDuration:150},$_=ca({passive:!0}),kM=["mousedown","touchstart"],EM=["mouseup","mouseleave","touchend","touchcancel"];class IM{constructor(n,e,i,o){this._target=n,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,o.isBrowser&&(this._containerElement=zr(i))}fadeInRipple(n,e,i={}){const o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},TM),i.animation);i.centered&&(n=o.left+o.width/2,e=o.top+o.height/2);const s=i.radius||function t6(t,n,e){const i=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),o=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(i*i+o*o)}(n,e,o),a=n-o.left,l=e-o.top,u=r.enterDuration,p=document.createElement("div");p.classList.add("mat-ripple-element"),p.style.left=a-s+"px",p.style.top=l-s+"px",p.style.height=2*s+"px",p.style.width=2*s+"px",null!=i.color&&(p.style.backgroundColor=i.color),p.style.transitionDuration=`${u}ms`,this._containerElement.appendChild(p),function e6(t){window.getComputedStyle(t).getPropertyValue("opacity")}(p),p.style.transform="scale(1)";const g=new XV(this,p,i);return g.state=0,this._activeRipples.add(g),i.persistent||(this._mostRecentTransientRipple=g),this._runTimeoutOutsideZone(()=>{const v=g===this._mostRecentTransientRipple;g.state=1,!i.persistent&&(!v||!this._isPointerDown)&&g.fadeOut()},u),g}fadeOutRipple(n){const e=this._activeRipples.delete(n);if(n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const i=n.element,o=Object.assign(Object.assign({},TM),n.config.animation);i.style.transitionDuration=`${o.exitDuration}ms`,i.style.opacity="0",n.state=2,this._runTimeoutOutsideZone(()=>{n.state=3,i.remove()},o.exitDuration)}fadeOutAll(){this._activeRipples.forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){const e=zr(n);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(kM))}handleEvent(n){"mousedown"===n.type?this._onMousedown(n):"touchstart"===n.type?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(EM),this._pointerUpEventsRegistered=!0)}_onMousedown(n){const e=V_(n),i=this._lastTouchStartEvent&&Date.now(){!n.config.persistent&&(1===n.state||n.config.terminateOnPointerUp&&0===n.state)&&n.fadeOut()}))}_runTimeoutOutsideZone(n,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(n,e))}_registerEvents(n){this._ngZone.runOutsideAngular(()=>{n.forEach(e=>{this._triggerElement.addEventListener(e,this,$_)})})}_removeTriggerEvents(){this._triggerElement&&(kM.forEach(n=>{this._triggerElement.removeEventListener(n,this,$_)}),this._pointerUpEventsRegistered&&EM.forEach(n=>{this._triggerElement.removeEventListener(n,this,$_)}))}}const OM=new _e("mat-ripple-global-options");let or=(()=>{class t{constructor(e,i,o,r,s){this._elementRef=e,this._animationMode=s,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=r||{},this._rippleRenderer=new IM(this,i,e,o)}get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,o){return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,i,Object.assign(Object.assign({},this.rippleConfig),o)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),e))}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Je),b(dn),b(OM,8),b(gn,8))},t.\u0275dir=oe({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-ripple-unbounded",i.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),t})(),fa=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})(),AM=(()=>{class t{constructor(e){this._animationMode=e,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(b(gn,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(e,i){2&e&&rt("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(e,i){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),G_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft]]}),t})();const W_=new _e("MAT_OPTION_PARENT_COMPONENT"),q_=new _e("MatOptgroup");let n6=0;class PM{constructor(n,e=!1){this.source=n,this.isUserInput=e}}let i6=(()=>{class t{constructor(e,i,o,r){this._element=e,this._changeDetectorRef=i,this._parent=o,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+n6++,this.onSelectionChange=new Pe,this._stateChanges=new ie}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(e){this._disabled=Xe(e)}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(e,i){const o=this._getHostElement();"function"==typeof o.focus&&o.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(13===e.keyCode||32===e.keyCode)&&!fi(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue=e,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new PM(this,e))}}return t.\u0275fac=function(e){ea()},t.\u0275dir=oe({type:t,inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),_i=(()=>{class t extends i6{constructor(e,i,o,r){super(e,i,o,r)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(W_,8),b(q_,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(e,i){1&e&&N("click",function(){return i._selectViaInteraction()})("keydown",function(r){return i._handleKeydown(r)}),2&e&&(Fr("id",i.id),et("tabindex",i._getTabIndex())("aria-selected",i._getAriaSelected())("aria-disabled",i.disabled.toString()),rt("mat-selected",i.selected)("mat-option-multiple",i.multiple)("mat-active",i.active)("mat-option-disabled",i.disabled))},exportAs:["matOption"],features:[Ce],ngContentSelectors:WV,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(e,i){1&e&&(Jt(),_(0,$V,1,2,"mat-pseudo-checkbox",0),d(1,"span",1),ct(2),c(),_(3,GV,2,1,"span",2),E(4,"div",3)),2&e&&(m("ngIf",i.multiple),f(3),m("ngIf",i.group&&i.group._inert),f(1),m("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},directives:[AM,Et,or],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function K_(t,n,e){if(e.length){let i=n.toArray(),o=e.toArray(),r=0;for(let s=0;se+i?Math.max(0,t-i+n):e}let Bh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[fa,qi,ft,G_]]}),t})();const o6=["*",[["mat-toolbar-row"]]],r6=["*","mat-toolbar-row"],s6=$r(class{constructor(t){this._elementRef=t}});let a6=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),l6=(()=>{class t extends s6{constructor(e,i,o){super(e),this._platform=i,this._document=o}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(dn),b(ht))},t.\u0275cmp=Ae({type:t,selectors:[["mat-toolbar"]],contentQueries:function(e,i,o){if(1&e&&mt(o,a6,5),2&e){let r;Fe(r=Ne())&&(i._toolbarRows=r)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(e,i){2&e&&rt("mat-toolbar-multiple-rows",i._toolbarRows.length>0)("mat-toolbar-single-row",0===i._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[Ce],ngContentSelectors:r6,decls:2,vars:0,template:function(e,i){1&e&&(Jt(o6),ct(0),ct(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),FM=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();const NM=["mat-button",""],LM=["*"],u6=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],h6=$r(pa(vr(class{constructor(t){this._elementRef=t}})));let Ht=(()=>{class t extends h6{constructor(e,i,o){super(e),this._focusMonitor=i,this._animationMode=o,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const r of u6)this._hasHostAttributes(r)&&this._getHostElement().classList.add(r);e.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(e,i){e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...e){return e.some(i=>this._getHostElement().hasAttribute(i))}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Ro),b(gn,8))},t.\u0275cmp=Ae({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(e,i){if(1&e&&Tt(or,5),2&e){let o;Fe(o=Ne())&&(i.ripple=o.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(e,i){2&e&&(et("disabled",i.disabled||null),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[Ce],attrs:NM,ngContentSelectors:LM,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(e,i){1&e&&(Jt(),d(0,"span",0),ct(1),c(),E(2,"span",1)(3,"span",2)),2&e&&(f(2),rt("mat-button-ripple-round",i.isRoundButton||i.isIconButton),m("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[or],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),t})(),BM=(()=>{class t extends Ht{constructor(e,i,o,r){super(i,e,o),this._ngZone=r,this._haltDisabledEvents=s=>{this.disabled&&(s.preventDefault(),s.stopImmediatePropagation())}}ngAfterViewInit(){super.ngAfterViewInit(),this._ngZone?this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}):this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}ngOnDestroy(){super.ngOnDestroy(),this._elementRef.nativeElement.removeEventListener("click",this._haltDisabledEvents)}}return t.\u0275fac=function(e){return new(e||t)(b(Ro),b(He),b(gn,8),b(Je,8))},t.\u0275cmp=Ae({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(e,i){2&e&&(et("tabindex",i.disabled?-1:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString()),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-button-disabled",i.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[Ce],attrs:NM,ngContentSelectors:LM,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(e,i){1&e&&(Jt(),d(0,"span",0),ct(1),c(),E(2,"span",1)(3,"span",2)),2&e&&(f(2),rt("mat-button-ripple-round",i.isRoundButton||i.isIconButton),m("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",i.isIconButton)("matRippleTrigger",i._getHostElement()))},directives:[or],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),t})(),Z_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[fa,ft],ft]}),t})();function sd(t,n){const e=H(t)?t:()=>t,i=o=>o.error(e());return new Ue(n?o=>n.schedule(i,0,o):i)}const{isArray:p6}=Array,{getPrototypeOf:f6,prototype:m6,keys:g6}=Object;function VM(t){if(1===t.length){const n=t[0];if(p6(n))return{args:n,keys:null};if(function _6(t){return t&&"object"==typeof t&&f6(t)===m6}(n)){const e=g6(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}const{isArray:b6}=Array;function Q_(t){return je(n=>function v6(t,n){return b6(n)?t(...n):t(n)}(t,n))}function jM(t,n){return t.reduce((e,i,o)=>(e[i]=n[o],e),{})}function Y_(...t){const n=Qv(t),{args:e,keys:i}=VM(t),o=new Ue(r=>{const{length:s}=e;if(!s)return void r.complete();const a=new Array(s);let l=s,u=s;for(let p=0;p{g||(g=!0,u--),a[p]=v},()=>l--,void 0,()=>{(!l||!g)&&(u||r.next(i?jM(i,a):a),r.complete())}))}});return n?o.pipe(Q_(n)):o}function wn(t){return nt((n,e)=>{let r,i=null,o=!1;i=n.subscribe(st(e,void 0,void 0,s=>{r=yi(t(s,wn(t)(n))),i?(i.unsubscribe(),i=null,r.subscribe(e)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(e))})}function X_(t){return nt((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}function xl(t,n){return H(n)?$n(t,n,1):$n(t,1)}class HM{}class UM{}class Gr{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?this.lazyInit="string"==typeof n?()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const o=e.slice(0,i),r=o.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(o,r),this.headers.has(r)?this.headers.get(r).push(s):this.headers.set(r,[s])}})}:()=>{this.headers=new Map,Object.keys(n).forEach(e=>{let i=n[e];const o=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(o,i),this.maybeSetNormalizedName(e,o))})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof Gr?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new Gr;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Gr?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const o=("a"===n.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const r=n.value;if(r){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===r.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class y6{encodeKey(n){return zM(n)}encodeValue(n){return zM(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const w6=/%(\d[a-f0-9])/gi,D6={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function zM(t){return encodeURIComponent(t).replace(w6,(n,e)=>{var i;return null!==(i=D6[e])&&void 0!==i?i:n})}function $M(t){return`${t}`}class Ms{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new y6,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function C6(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{const r=o.indexOf("="),[s,a]=-1==r?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,r)),n.decodeValue(o.slice(r+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e];this.map.set(e,Array.isArray(i)?i:[i])})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const o=n[i];Array.isArray(o)?o.forEach(r=>{e.push({param:i,value:r,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new Ms({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push($M(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const o=i.indexOf($M(n.value));-1!==o&&i.splice(o,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class S6{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function GM(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function WM(t){return"undefined"!=typeof Blob&&t instanceof Blob}function qM(t){return"undefined"!=typeof FormData&&t instanceof FormData}class ad{constructor(n,e,i,o){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function M6(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,r=o):r=i,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Gr),this.context||(this.context=new S6),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":av.set(C,n.setHeaders[C]),u)),n.setParams&&(p=Object.keys(n.setParams).reduce((v,C)=>v.set(C,n.setParams[C]),p)),new ad(i,o,s,{params:p,headers:u,context:g,reportProgress:l,responseType:r,withCredentials:a})}}var Yn=(()=>((Yn=Yn||{})[Yn.Sent=0]="Sent",Yn[Yn.UploadProgress=1]="UploadProgress",Yn[Yn.ResponseHeader=2]="ResponseHeader",Yn[Yn.DownloadProgress=3]="DownloadProgress",Yn[Yn.Response=4]="Response",Yn[Yn.User=5]="User",Yn))();class J_{constructor(n,e=200,i="OK"){this.headers=n.headers||new Gr,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class eb extends J_{constructor(n={}){super(n),this.type=Yn.ResponseHeader}clone(n={}){return new eb({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Vh extends J_{constructor(n={}){super(n),this.type=Yn.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Vh({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class KM extends J_{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function tb(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let jh=(()=>{class t{constructor(e){this.handler=e}request(e,i,o={}){let r;if(e instanceof ad)r=e;else{let l,u;l=o.headers instanceof Gr?o.headers:new Gr(o.headers),o.params&&(u=o.params instanceof Ms?o.params:new Ms({fromObject:o.params})),r=new ad(e,i,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:u,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=We(r).pipe(xl(l=>this.handler.handle(l)));if(e instanceof ad||"events"===o.observe)return s;const a=s.pipe(It(l=>l instanceof Vh));switch(o.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return a.pipe(je(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(je(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(je(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(je(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new Ms).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,o={}){return this.request("PATCH",e,tb(o,i))}post(e,i,o={}){return this.request("POST",e,tb(o,i))}put(e,i,o={}){return this.request("PUT",e,tb(o,i))}}return t.\u0275fac=function(e){return new(e||t)(Q(HM))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();class ZM{constructor(n,e){this.next=n,this.interceptor=e}handle(n){return this.interceptor.intercept(n,this.next)}}const nb=new _e("HTTP_INTERCEPTORS");let T6=(()=>{class t{intercept(e,i){return i.handle(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const k6=/^\)\]\}',?\n/;let QM=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new Ue(i=>{const o=this.xhrFactory.build();if(o.open(e.method,e.urlWithParams),e.withCredentials&&(o.withCredentials=!0),e.headers.forEach((C,M)=>o.setRequestHeader(C,M.join(","))),e.headers.has("Accept")||o.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const C=e.detectContentTypeHeader();null!==C&&o.setRequestHeader("Content-Type",C)}if(e.responseType){const C=e.responseType.toLowerCase();o.responseType="json"!==C?C:"text"}const r=e.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const C=o.statusText||"OK",M=new Gr(o.getAllResponseHeaders()),V=function E6(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(o)||e.url;return s=new eb({headers:M,status:o.status,statusText:C,url:V}),s},l=()=>{let{headers:C,status:M,statusText:V,url:K}=a(),Y=null;204!==M&&(Y=void 0===o.response?o.responseText:o.response),0===M&&(M=Y?200:0);let ee=M>=200&&M<300;if("json"===e.responseType&&"string"==typeof Y){const ke=Y;Y=Y.replace(k6,"");try{Y=""!==Y?JSON.parse(Y):null}catch(Ze){Y=ke,ee&&(ee=!1,Y={error:Ze,text:Y})}}ee?(i.next(new Vh({body:Y,headers:C,status:M,statusText:V,url:K||void 0})),i.complete()):i.error(new KM({error:Y,headers:C,status:M,statusText:V,url:K||void 0}))},u=C=>{const{url:M}=a(),V=new KM({error:C,status:o.status||0,statusText:o.statusText||"Unknown Error",url:M||void 0});i.error(V)};let p=!1;const g=C=>{p||(i.next(a()),p=!0);let M={type:Yn.DownloadProgress,loaded:C.loaded};C.lengthComputable&&(M.total=C.total),"text"===e.responseType&&!!o.responseText&&(M.partialText=o.responseText),i.next(M)},v=C=>{let M={type:Yn.UploadProgress,loaded:C.loaded};C.lengthComputable&&(M.total=C.total),i.next(M)};return o.addEventListener("load",l),o.addEventListener("error",u),o.addEventListener("timeout",u),o.addEventListener("abort",u),e.reportProgress&&(o.addEventListener("progress",g),null!==r&&o.upload&&o.upload.addEventListener("progress",v)),o.send(r),i.next({type:Yn.Sent}),()=>{o.removeEventListener("error",u),o.removeEventListener("abort",u),o.removeEventListener("load",l),o.removeEventListener("timeout",u),e.reportProgress&&(o.removeEventListener("progress",g),null!==r&&o.upload&&o.upload.removeEventListener("progress",v)),o.readyState!==o.DONE&&o.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Q(tS))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const ib=new _e("XSRF_COOKIE_NAME"),ob=new _e("XSRF_HEADER_NAME");class YM{}let I6=(()=>{class t{constructor(e,i,o){this.doc=e,this.platform=i,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=GD(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(Hc),Q(ib))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),rb=(()=>{class t{constructor(e,i){this.tokenService=e,this.headerName=i}intercept(e,i){const o=e.url.toLowerCase();if("GET"===e.method||"HEAD"===e.method||o.startsWith("http://")||o.startsWith("https://"))return i.handle(e);const r=this.tokenService.getToken();return null!==r&&!e.headers.has(this.headerName)&&(e=e.clone({headers:e.headers.set(this.headerName,r)})),i.handle(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(YM),Q(ob))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),O6=(()=>{class t{constructor(e,i){this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=this.injector.get(nb,[]);this.chain=i.reduceRight((o,r)=>new ZM(o,r),this.backend)}return this.chain.handle(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(UM),Q(pn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),A6=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:rb,useClass:T6}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:ib,useValue:e.cookieName}:[],e.headerName?{provide:ob,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[rb,{provide:nb,useExisting:rb,multi:!0},{provide:YM,useClass:I6},{provide:ib,useValue:"XSRF-TOKEN"},{provide:ob,useValue:"X-XSRF-TOKEN"}]}),t})(),P6=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[jh,{provide:HM,useClass:O6},QM,{provide:UM,useExisting:QM}],imports:[[A6.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const R6=["*"];let Hh;function ld(t){var n;return(null===(n=function F6(){if(void 0===Hh&&(Hh=null,"undefined"!=typeof window)){const t=window;void 0!==t.trustedTypes&&(Hh=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return Hh}())||void 0===n?void 0:n.createHTML(t))||t}function XM(t){return Error(`Unable to find icon with the name "${t}"`)}function JM(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function ex(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class ma{constructor(n,e,i){this.url=n,this.svgText=e,this.options=i}}let Uh=(()=>{class t{constructor(e,i,o,r){this._httpClient=e,this._sanitizer=i,this._errorHandler=r,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=o}addSvgIcon(e,i,o){return this.addSvgIconInNamespace("",e,i,o)}addSvgIconLiteral(e,i,o){return this.addSvgIconLiteralInNamespace("",e,i,o)}addSvgIconInNamespace(e,i,o,r){return this._addSvgIconConfig(e,i,new ma(o,null,r))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,i,o,r){const s=this._sanitizer.sanitize(Yt.HTML,o);if(!s)throw ex(o);const a=ld(s);return this._addSvgIconConfig(e,i,new ma("",a,r))}addSvgIconSet(e,i){return this.addSvgIconSetInNamespace("",e,i)}addSvgIconSetLiteral(e,i){return this.addSvgIconSetLiteralInNamespace("",e,i)}addSvgIconSetInNamespace(e,i,o){return this._addSvgIconSetConfig(e,new ma(i,null,o))}addSvgIconSetLiteralInNamespace(e,i,o){const r=this._sanitizer.sanitize(Yt.HTML,i);if(!r)throw ex(i);const s=ld(r);return this._addSvgIconSetConfig(e,new ma("",s,o))}registerFontClassAlias(e,i=e){return this._fontCssClassesByAlias.set(e,i),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){const i=this._sanitizer.sanitize(Yt.RESOURCE_URL,e);if(!i)throw JM(e);const o=this._cachedIconsByUrl.get(i);return o?We(zh(o)):this._loadSvgIconFromConfig(new ma(e,null)).pipe(Zt(r=>this._cachedIconsByUrl.set(i,r)),je(r=>zh(r)))}getNamedSvgIcon(e,i=""){const o=tx(i,e);let r=this._svgIconConfigs.get(o);if(r)return this._getSvgFromConfig(r);if(r=this._getIconConfigFromResolvers(i,e),r)return this._svgIconConfigs.set(o,r),this._getSvgFromConfig(r);const s=this._iconSetConfigs.get(i);return s?this._getSvgFromIconSetConfigs(e,s):sd(XM(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?We(zh(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(je(i=>zh(i)))}_getSvgFromIconSetConfigs(e,i){const o=this._extractIconWithNameFromAnySet(e,i);return o?We(o):Y_(i.filter(s=>!s.svgText).map(s=>this._loadSvgIconSetFromConfig(s).pipe(wn(a=>{const u=`Loading icon set URL: ${this._sanitizer.sanitize(Yt.RESOURCE_URL,s.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(u)),We(null)})))).pipe(je(()=>{const s=this._extractIconWithNameFromAnySet(e,i);if(!s)throw XM(e);return s}))}_extractIconWithNameFromAnySet(e,i){for(let o=i.length-1;o>=0;o--){const r=i[o];if(r.svgText&&r.svgText.toString().indexOf(e)>-1){const s=this._svgElementFromConfig(r),a=this._extractSvgIconFromSet(s,e,r.options);if(a)return a}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(Zt(i=>e.svgText=i),je(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?We(null):this._fetchIcon(e).pipe(Zt(i=>e.svgText=i))}_extractSvgIconFromSet(e,i,o){const r=e.querySelector(`[id="${i}"]`);if(!r)return null;const s=r.cloneNode(!0);if(s.removeAttribute("id"),"svg"===s.nodeName.toLowerCase())return this._setSvgAttributes(s,o);if("symbol"===s.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(s),o);const a=this._svgElementFromString(ld(""));return a.appendChild(s),this._setSvgAttributes(a,o)}_svgElementFromString(e){const i=this._document.createElement("DIV");i.innerHTML=e;const o=i.querySelector("svg");if(!o)throw Error(" tag not found");return o}_toSvgElement(e){const i=this._svgElementFromString(ld("")),o=e.attributes;for(let r=0;rld(p)),X_(()=>this._inProgressUrlFetches.delete(a)),ey());return this._inProgressUrlFetches.set(a,u),u}_addSvgIconConfig(e,i,o){return this._svgIconConfigs.set(tx(e,i),o),this}_addSvgIconSetConfig(e,i){const o=this._iconSetConfigs.get(e);return o?o.push(i):this._iconSetConfigs.set(e,[i]),this}_svgElementFromConfig(e){if(!e.svgElement){const i=this._svgElementFromString(e.svgText);this._setSvgAttributes(i,e.options),e.svgElement=i}return e.svgElement}_getIconConfigFromResolvers(e,i){for(let o=0;on?n.pathname+n.search:""}}}),nx=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],U6=nx.map(t=>`[${t}]`).join(", "),z6=/^url\(['"]?#(.*?)['"]?\)$/;let _n=(()=>{class t extends V6{constructor(e,i,o,r,s){super(e),this._iconRegistry=i,this._location=r,this._errorHandler=s,this._inline=!1,this._currentIconFetch=k.EMPTY,o||e.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(e){this._inline=Xe(e)}get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}get fontSet(){return this._fontSet}set fontSet(e){const i=this._cleanupFontValue(e);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(e){const i=this._cleanupFontValue(e);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(e){if(!e)return["",""];const i=e.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const e=this._elementsWithExternalReferences;if(e&&e.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();const i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){const e=this._elementRef.nativeElement;let i=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){const o=e.childNodes[i];(1!==o.nodeType||"svg"===o.nodeName.toLowerCase())&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const e=this._elementRef.nativeElement,i=this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet):this._iconRegistry.getDefaultFontSetClass();i!=this._previousFontSetClass&&(this._previousFontSetClass&&e.classList.remove(this._previousFontSetClass),i&&e.classList.add(i),this._previousFontSetClass=i),this.fontIcon!=this._previousFontIconClass&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return"string"==typeof e?e.trim().split(" ")[0]:e}_prependPathToReferences(e){const i=this._elementsWithExternalReferences;i&&i.forEach((o,r)=>{o.forEach(s=>{r.setAttribute(s.name,`url('${e}#${s.value}')`)})})}_cacheChildrenWithExternalReferences(e){const i=e.querySelectorAll(U6),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let r=0;r{const a=i[r],l=a.getAttribute(s),u=l?l.match(z6):null;if(u){let p=o.get(a);p||(p=[],o.set(a,p)),p.push({name:s,value:u[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){const[i,o]=this._splitIconName(e);i&&(this._svgNamespace=i),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,i).pipe(Ot(1)).subscribe(r=>this._setSvgElement(r),r=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${o}! ${r.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Uh),Di("aria-hidden"),b(j6),b(ps))},t.\u0275cmp=Ae({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(e,i){2&e&&(et("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),rt("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[Ce],ngContentSelectors:R6,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),ct(0))},styles:[".mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),ix=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();const $6=["*",[["mat-card-footer"]]],G6=["*","mat-card-footer"],W6=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],q6=["[mat-card-avatar], [matCardAvatar]","mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","*"];let ox=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-card-title"]}),t})(),rx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-card-subtitle"],["","mat-card-subtitle",""],["","matCardSubtitle",""]],hostAttrs:[1,"mat-card-subtitle"]}),t})(),$h=(()=>{class t{constructor(e){this._animationMode=e}}return t.\u0275fac=function(e){return new(e||t)(b(gn,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-card","mat-focus-indicator"],hostVars:2,hostBindings:function(e,i){2&e&&rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)},exportAs:["matCard"],ngContentSelectors:G6,decls:2,vars:0,template:function(e,i){1&e&&(Jt($6),ct(0),ct(1,1))},styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:block;position:relative;padding:16px;border-radius:4px}._mat-animation-noopable.mat-card{transition:none;animation:none}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}.cdk-high-contrast-active .mat-card{outline:solid 1px}.mat-card-actions,.mat-card-subtitle,.mat-card-content{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px;display:block;overflow:hidden}.mat-card-image img{width:100%}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button,.mat-card-actions .mat-stroked-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions:not(.mat-card-actions-align-end) .mat-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-raised-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-actions-align-end .mat-button:last-child,.mat-card-actions-align-end .mat-raised-button:last-child,.mat-card-actions-align-end .mat-stroked-button:last-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}\n"],encapsulation:2,changeDetection:0}),t})(),K6=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ae({type:t,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-card-header"],ngContentSelectors:q6,decls:4,vars:0,consts:[[1,"mat-card-header-text"]],template:function(e,i){1&e&&(Jt(W6),ct(0),d(1,"div",0),ct(2,1),c(),ct(3,2))},encapsulation:2,changeDetection:0}),t})(),sx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})();const Z6=["addListener","removeListener"],Q6=["addEventListener","removeEventListener"],Y6=["on","off"];function Ki(t,n,e,i){if(H(e)&&(i=e,e=void 0),i)return Ki(t,n,e).pipe(Q_(i));const[o,r]=function e8(t){return H(t.addEventListener)&&H(t.removeEventListener)}(t)?Q6.map(s=>a=>t[s](n,a,e)):function X6(t){return H(t.addListener)&&H(t.removeListener)}(t)?Z6.map(ax(t,n)):function J6(t){return H(t.on)&&H(t.off)}(t)?Y6.map(ax(t,n)):[];if(!o&&Xp(t))return $n(s=>Ki(s,n,e))(yi(t));if(!o)throw new TypeError("Invalid event target");return new Ue(s=>{const a=(...l)=>s.next(1r(a)})}function ax(t,n){return e=>i=>t[e](n,i)}const t8=["primaryValueBar"],n8=$r(class{constructor(t){this._elementRef=t}},"primary"),i8=new _e("mat-progress-bar-location",{providedIn:"root",factory:function o8(){const t=hc(ht),n=t?t.location:null;return{getPathname:()=>n?n.pathname+n.search:""}}}),r8=new _e("MAT_PROGRESS_BAR_DEFAULT_OPTIONS");let s8=0,lx=(()=>{class t extends n8{constructor(e,i,o,r,s,a){super(e),this._ngZone=i,this._animationMode=o,this._changeDetectorRef=a,this._isNoopAnimation=!1,this._value=0,this._bufferValue=0,this.animationEnd=new Pe,this._animationEndSubscription=k.EMPTY,this.mode="determinate",this.progressbarId="mat-progress-bar-"+s8++;const l=r?r.getPathname().split("#")[0]:"";this._rectangleFillValue=`url('${l}#${this.progressbarId}')`,this._isNoopAnimation="NoopAnimations"===o,s&&(s.color&&(this.color=this.defaultColor=s.color),this.mode=s.mode||this.mode)}get value(){return this._value}set value(e){var i;this._value=cx(Zn(e)||0),null===(i=this._changeDetectorRef)||void 0===i||i.markForCheck()}get bufferValue(){return this._bufferValue}set bufferValue(e){var i;this._bufferValue=cx(e||0),null===(i=this._changeDetectorRef)||void 0===i||i.markForCheck()}_primaryTransform(){return{transform:`scale3d(${this.value/100}, 1, 1)`}}_bufferTransform(){return"buffer"===this.mode?{transform:`scale3d(${this.bufferValue/100}, 1, 1)`}:null}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const e=this._primaryValueBar.nativeElement;this._animationEndSubscription=Ki(e,"transitionend").pipe(It(i=>i.target===e)).subscribe(()=>{0!==this.animationEnd.observers.length&&("determinate"===this.mode||"buffer"===this.mode)&&this._ngZone.run(()=>this.animationEnd.next({value:this.value}))})})}ngOnDestroy(){this._animationEndSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Je),b(gn,8),b(i8,8),b(r8,8),b(At))},t.\u0275cmp=Ae({type:t,selectors:[["mat-progress-bar"]],viewQuery:function(e,i){if(1&e&&Tt(t8,5),2&e){let o;Fe(o=Ne())&&(i._primaryValueBar=o.first)}},hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-progress-bar"],hostVars:4,hostBindings:function(e,i){2&e&&(et("aria-valuenow","indeterminate"===i.mode||"query"===i.mode?null:i.value)("mode",i.mode),rt("_mat-animation-noopable",i._isNoopAnimation))},inputs:{color:"color",value:"value",bufferValue:"bufferValue",mode:"mode"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],features:[Ce],decls:10,vars:4,consts:[["aria-hidden","true"],["width","100%","height","4","focusable","false",1,"mat-progress-bar-background","mat-progress-bar-element"],["x","4","y","0","width","8","height","4","patternUnits","userSpaceOnUse",3,"id"],["cx","2","cy","2","r","2"],["width","100%","height","100%"],[1,"mat-progress-bar-buffer","mat-progress-bar-element",3,"ngStyle"],[1,"mat-progress-bar-primary","mat-progress-bar-fill","mat-progress-bar-element",3,"ngStyle"],["primaryValueBar",""],[1,"mat-progress-bar-secondary","mat-progress-bar-fill","mat-progress-bar-element"]],template:function(e,i){1&e&&(d(0,"div",0),hn(),d(1,"svg",1)(2,"defs")(3,"pattern",2),E(4,"circle",3),c()(),E(5,"rect",4),c(),Qs(),E(6,"div",5)(7,"div",6,7)(9,"div",8),c()),2&e&&(f(3),m("id",i.progressbarId),f(2),et("fill",i._rectangleFillValue),f(1),m("ngStyle",i._bufferTransform()),f(1),m("ngStyle",i._primaryTransform()))},directives:[Ug],styles:['.mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-background{display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:"";display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2000ms infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2000ms infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background{animation:none;transition-duration:1ms}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}\n'],encapsulation:2,changeDetection:0}),t})();function cx(t,n=0,e=100){return Math.max(n,Math.min(e,t))}let dx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[qi,ft],ft]}),t})();function Gh(t){return t&&"function"==typeof t.connect}class ux{applyChanges(n,e,i,o,r){n.forEachOperation((s,a,l)=>{let u,p;if(null==s.previousIndex){const g=i(s,a,l);u=e.createEmbeddedView(g.templateRef,g.context,g.index),p=1}else null==l?(e.remove(a),p=3):(u=e.get(a),e.move(u,l),p=2);r&&r({context:null==u?void 0:u.context,operation:p,record:s})})}detach(){}}class Tl{constructor(n=!1,e,i=!0){this._multiple=n,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new ie,e&&e.length&&(n?e.forEach(o=>this._markSelected(o)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...n){this._verifyValueAssignment(n),n.forEach(e=>this._markSelected(e)),this._emitChangeEvent()}deselect(...n){this._verifyValueAssignment(n),n.forEach(e=>this._unmarkSelected(e)),this._emitChangeEvent()}toggle(n){this.isSelected(n)?this.deselect(n):this.select(n)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(n){return this._selection.has(n)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(n){this._multiple&&this.selected&&this._selected.sort(n)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(n){this.isSelected(n)||(this._multiple||this._unmarkAll(),this._selection.add(n),this._emitChanges&&this._selectedToEmit.push(n))}_unmarkSelected(n){this.isSelected(n)&&(this._selection.delete(n),this._emitChanges&&this._deselectedToEmit.push(n))}_unmarkAll(){this.isEmpty()||this._selection.forEach(n=>this._unmarkSelected(n))}_verifyValueAssignment(n){}}let sb=(()=>{class t{constructor(){this._listeners=[]}notify(e,i){for(let o of this._listeners)o(e,i)}listen(e){return this._listeners.push(e),()=>{this._listeners=this._listeners.filter(i=>e!==i)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const cd=new _e("_ViewRepeater");let px=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return t.\u0275fac=function(e){return new(e||t)(b(Nr),b(He))},t.\u0275dir=oe({type:t}),t})(),ga=(()=>{class t extends px{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,features:[Ce]}),t})();const Zi=new _e("NgValueAccessor"),c8={provide:Zi,useExisting:zt(()=>Dn),multi:!0},u8=new _e("CompositionEventMode");let Dn=(()=>{class t extends px{constructor(e,i,o){super(e,i),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function d8(){const t=_r()?_r().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",null==e?"":e)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return t.\u0275fac=function(e){return new(e||t)(b(Nr),b(He),b(u8,8))},t.\u0275dir=oe({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(e,i){1&e&&N("input",function(r){return i._handleInput(r.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(r){return i._compositionEnd(r.target.value)})},features:[ze([c8]),Ce]}),t})();function xs(t){return null==t||0===t.length}function mx(t){return null!=t&&"number"==typeof t.length}const bi=new _e("NgValidators"),Ts=new _e("NgAsyncValidators"),h8=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class de{static min(n){return function gx(t){return n=>{if(xs(n.value)||xs(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(xs(n.value)||xs(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return bx(n)}static requiredTrue(n){return function vx(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function yx(t){return xs(t.value)||h8.test(t.value)?null:{email:!0}}(n)}static minLength(n){return Cx(n)}static maxLength(n){return wx(n)}static pattern(n){return Dx(n)}static nullValidator(n){return null}static compose(n){return Ex(n)}static composeAsync(n){return Ix(n)}}function bx(t){return xs(t.value)?{required:!0}:null}function Cx(t){return n=>xs(n.value)||!mx(n.value)?null:n.value.lengthmx(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}function Dx(t){if(!t)return Wh;let n,e;return"string"==typeof t?(e="","^"!==t.charAt(0)&&(e+="^"),e+=t,"$"!==t.charAt(t.length-1)&&(e+="$"),n=new RegExp(e)):(e=t.toString(),n=t),i=>{if(xs(i.value))return null;const o=i.value;return n.test(o)?null:{pattern:{requiredPattern:e,actualValue:o}}}}function Wh(t){return null}function Sx(t){return null!=t}function Mx(t){const n=xc(t)?ui(t):t;return $m(n),n}function xx(t){let n={};return t.forEach(e=>{n=null!=e?Object.assign(Object.assign({},n),e):n}),0===Object.keys(n).length?null:n}function Tx(t,n){return n.map(e=>e(t))}function kx(t){return t.map(n=>function p8(t){return!t.validate}(n)?n:e=>n.validate(e))}function Ex(t){if(!t)return null;const n=t.filter(Sx);return 0==n.length?null:function(e){return xx(Tx(e,n))}}function ab(t){return null!=t?Ex(kx(t)):null}function Ix(t){if(!t)return null;const n=t.filter(Sx);return 0==n.length?null:function(e){return Y_(Tx(e,n).map(Mx)).pipe(je(xx))}}function lb(t){return null!=t?Ix(kx(t)):null}function Ox(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function Ax(t){return t._rawValidators}function Px(t){return t._rawAsyncValidators}function cb(t){return t?Array.isArray(t)?t:[t]:[]}function qh(t,n){return Array.isArray(t)?t.includes(n):t===n}function Rx(t,n){const e=cb(n);return cb(t).forEach(o=>{qh(e,o)||e.push(o)}),e}function Fx(t,n){return cb(n).filter(e=>!qh(t,e))}class Nx{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=ab(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=lb(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class rr extends Nx{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Ni extends Nx{get formDirective(){return null}get path(){return null}}class Lx{constructor(n){this._cd=n}is(n){var e,i,o;return"submitted"===n?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(o=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===o?void 0:o[n])}}let bn=(()=>{class t extends Lx{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(b(rr,2))},t.\u0275dir=oe({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&rt("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[Ce]}),t})(),Hn=(()=>{class t extends Lx{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(b(Ni,10))},t.\u0275dir=oe({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&rt("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))("ng-submitted",i.is("submitted"))},features:[Ce]}),t})();function Zh(t,n){return[...n.path,t]}function dd(t,n){hb(t,n),n.valueAccessor.writeValue(t.value),function C8(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&Vx(t,n)})}(t,n),function D8(t,n){const e=(i,o)=>{n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function w8(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&Vx(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function y8(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function Qh(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Xh(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function Yh(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function hb(t,n){const e=Ax(t);null!==n.validator?t.setValidators(Ox(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=Px(t);null!==n.asyncValidator?t.setAsyncValidators(Ox(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const o=()=>t.updateValueAndValidity();Yh(n._rawValidators,o),Yh(n._rawAsyncValidators,o)}function Xh(t,n){let e=!1;if(null!==t){if(null!==n.validator){const o=Ax(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.validator);r.length!==o.length&&(e=!0,t.setValidators(r))}}if(null!==n.asyncValidator){const o=Px(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.asyncValidator);r.length!==o.length&&(e=!0,t.setAsyncValidators(r))}}}const i=()=>{};return Yh(n._rawValidators,i),Yh(n._rawAsyncValidators,i),e}function Vx(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function jx(t,n){hb(t,n)}function pb(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}function Ux(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function fb(t,n){if(!n)return null;let e,i,o;return Array.isArray(n),n.forEach(r=>{r.constructor===Dn?e=r:function x8(t){return Object.getPrototypeOf(t.constructor)===ga}(r)?i=r:o=r}),o||i||e||null}function mb(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}const ud="VALID",Jh="INVALID",kl="PENDING",hd="DISABLED";function _b(t){return(ep(t)?t.validators:t)||null}function zx(t){return Array.isArray(t)?ab(t):t||null}function bb(t,n){return(ep(n)?n.asyncValidators:t)||null}function $x(t){return Array.isArray(t)?lb(t):t||null}function ep(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}const vb=t=>t instanceof X,tp=t=>t instanceof an,Gx=t=>t instanceof po;function Wx(t){return vb(t)?t.value:t.getRawValue()}function qx(t,n){const e=tp(t),i=t.controls;if(!(e?Object.keys(i):i).length)throw new Qe(1e3,"");if(!i[n])throw new Qe(1001,"")}function Kx(t,n){tp(t),t._forEachChild((i,o)=>{if(void 0===n[o])throw new Qe(1002,"")})}class yb{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=n,this._rawAsyncValidators=e,this._composedValidatorFn=zx(this._rawValidators),this._composedAsyncValidatorFn=$x(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===ud}get invalid(){return this.status===Jh}get pending(){return this.status==kl}get disabled(){return this.status===hd}get enabled(){return this.status!==hd}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._rawValidators=n,this._composedValidatorFn=zx(n)}setAsyncValidators(n){this._rawAsyncValidators=n,this._composedAsyncValidatorFn=$x(n)}addValidators(n){this.setValidators(Rx(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(Rx(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(Fx(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(Fx(n,this._rawAsyncValidators))}hasValidator(n){return qh(this._rawValidators,n)}hasAsyncValidator(n){return qh(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=kl,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=hd,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},n),{onlySelf:!0}))}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},n),{skipPristineCheck:e})),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=ud,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},n),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},n),{skipPristineCheck:e})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ud||this.status===kl)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?hd:ud}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=kl,this._hasOwnPendingAsyncValidator=!0;const e=Mx(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){return function T8(t,n,e){if(null==n||(Array.isArray(n)||(n=n.split(e)),Array.isArray(n)&&0===n.length))return null;let i=t;return n.forEach(o=>{i=tp(i)?i.controls.hasOwnProperty(o)?i.controls[o]:null:Gx(i)&&i.at(o)||null}),i}(this,n,".")}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Pe,this.statusChanges=new Pe}_calculateStatus(){return this._allControlsDisabled()?hd:this.errors?Jh:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(kl)?kl:this._anyControlsHaveStatus(Jh)?Jh:ud}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_isBoxedValue(n){return"object"==typeof n&&null!==n&&2===Object.keys(n).length&&"value"in n&&"disabled"in n}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){ep(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class X extends yb{constructor(n=null,e,i){super(_b(e),bb(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ep(e)&&e.initialValueIsDefault&&(this.defaultValue=this._isBoxedValue(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){mb(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){mb(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){this._isBoxedValue(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}}class an extends yb{constructor(n,e,i){super(_b(e),bb(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){Kx(this,n),Object.keys(n).forEach(i=>{qx(this,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=Wx(e),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const e of Object.keys(this.controls)){const i=this.controls[e];if(this.contains(e)&&n(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(n,e,i)=>((e.enabled||this.disabled)&&(n[i]=e.value),n))}_reduceChildren(n,e){let i=n;return this._forEachChild((o,r)=>{i=e(i,o,r)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}}class po extends yb{constructor(n,e,i){super(_b(e),bb(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[n]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),e&&(this.controls.splice(n,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){Kx(this,n),n.forEach((i,o)=>{qx(this,o),this.at(o).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,o)=>{this.at(o)&&this.at(o).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>Wx(n))}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}}const k8={provide:Ni,useExisting:zt(()=>ks)},pd=(()=>Promise.resolve(null))();let ks=(()=>{class t extends Ni{constructor(e,i){super(),this.submitted=!1,this._directives=new Set,this.ngSubmit=new Pe,this.form=new an({},ab(e),lb(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){pd.then(()=>{const i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),dd(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){pd.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){pd.then(()=>{const i=this._findContainer(e.path),o=new an({});jx(o,e),i.registerControl(e.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){pd.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){pd.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,Ux(this.form,this._directives),this.ngSubmit.emit(e),!1}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}}return t.\u0275fac=function(e){return new(e||t)(b(bi,10),b(Ts,10))},t.\u0275dir=oe({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,i){1&e&&N("submit",function(r){return i.onSubmit(r)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ze([k8]),Ce]}),t})(),Zx=(()=>{class t extends Ni{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Zh(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,features:[Ce]}),t})();const I8={provide:rr,useExisting:zt(()=>El)},Yx=(()=>Promise.resolve(null))();let El=(()=>{class t extends rr{constructor(e,i,o,r,s){super(),this._changeDetectorRef=s,this.control=new X,this._registered=!1,this.update=new Pe,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=fb(0,r)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),pb(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){dd(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(e){Yx.then(()=>{var i;this.control.setValue(e,{emitViewToModelChange:!1}),null===(i=this._changeDetectorRef)||void 0===i||i.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,o=""===i||i&&"false"!==i;Yx.then(()=>{var r;o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),null===(r=this._changeDetectorRef)||void 0===r||r.markForCheck()})}_getPath(e){return this._parent?Zh(e,this._parent):[e]}}return t.\u0275fac=function(e){return new(e||t)(b(Ni,9),b(bi,10),b(Ts,10),b(Zi,10),b(At,8))},t.\u0275dir=oe({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ze([I8]),Ce,nn]}),t})(),xi=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})();const O8={provide:Zi,useExisting:zt(()=>Cb),multi:!0};let Cb=(()=>{class t extends ga{writeValue(e){this.setProperty("value",null==e?"":e)}registerOnChange(e){this.onChange=i=>{e(""==i?null:parseFloat(i))}}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(e,i){1&e&&N("input",function(r){return i.onChange(r.target.value)})("blur",function(){return i.onTouched()})},features:[ze([O8]),Ce]}),t})(),Xx=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const wb=new _e("NgModelWithFormControlWarning"),F8={provide:rr,useExisting:zt(()=>Il)};let Il=(()=>{class t extends rr{constructor(e,i,o,r){super(),this._ngModelWarningConfig=r,this.update=new Pe,this._ngModelWarningSent=!1,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=fb(0,o)}set isDisabled(e){}ngOnChanges(e){if(this._isControlChanged(e)){const i=e.form.previousValue;i&&Qh(i,this,!1),dd(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}pb(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&Qh(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(b(bi,10),b(Ts,10),b(Zi,10),b(wb,8))},t.\u0275dir=oe({type:t,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[ze([F8]),Ce,nn]}),t})();const N8={provide:Ni,useExisting:zt(()=>Sn)};let Sn=(()=>{class t extends Ni{constructor(e,i){super(),this.validators=e,this.asyncValidators=i,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Pe,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Xh(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return dd(i,e),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Qh(e.control||null,e,!1),mb(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,Ux(this.form,this.directives),this.ngSubmit.emit(e),!1}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,o=this.form.get(e.path);i!==o&&(Qh(i||null,e),vb(o)&&(dd(o,e),e.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);jx(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function S8(t,n){return Xh(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){hb(this.form,this),this._oldForm&&Xh(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(b(bi,10),b(Ts,10))},t.\u0275dir=oe({type:t,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&N("submit",function(r){return i.onSubmit(r)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ze([N8]),Ce,nn]}),t})();const L8={provide:Ni,useExisting:zt(()=>fd)};let fd=(()=>{class t extends Zx{constructor(e,i,o){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}_checkParentType(){tT(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(b(Ni,13),b(bi,10),b(Ts,10))},t.\u0275dir=oe({type:t,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[ze([L8]),Ce]}),t})();const B8={provide:Ni,useExisting:zt(()=>md)};let md=(()=>{class t extends Ni{constructor(e,i,o){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Zh(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){tT(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(b(Ni,13),b(bi,10),b(Ts,10))},t.\u0275dir=oe({type:t,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[ze([B8]),Ce]}),t})();function tT(t){return!(t instanceof fd||t instanceof Sn||t instanceof md)}const V8={provide:rr,useExisting:zt(()=>Xn)};let Xn=(()=>{class t extends rr{constructor(e,i,o,r,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new Pe,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=fb(0,r)}set isDisabled(e){}ngOnChanges(e){this._added||this._setUpControl(),pb(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return Zh(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(b(Ni,13),b(bi,10),b(Ts,10),b(Zi,10),b(wb,8))},t.\u0275dir=oe({type:t,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[ze([V8]),Ce,nn]}),t})();function oT(t){return"number"==typeof t?t:parseInt(t,10)}let _a=(()=>{class t{constructor(){this._validator=Wh}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Wh,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,features:[nn]}),t})();const Z8={provide:bi,useExisting:zt(()=>fo),multi:!0};let fo=(()=>{class t extends _a{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=e=>function W8(t){return null!=t&&!1!==t&&"false"!=`${t}`}(e),this.createValidator=e=>bx}enabled(e){return e}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(e,i){2&e&&et("required",i._enabled?"":null)},inputs:{required:"required"},features:[ze([Z8]),Ce]}),t})();const X8={provide:bi,useExisting:zt(()=>xb),multi:!0};let xb=(()=>{class t extends _a{constructor(){super(...arguments),this.inputName="minlength",this.normalizeInput=e=>oT(e),this.createValidator=e=>Cx(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&et("minlength",i._enabled?i.minlength:null)},inputs:{minlength:"minlength"},features:[ze([X8]),Ce]}),t})();const J8={provide:bi,useExisting:zt(()=>Tb),multi:!0};let Tb=(()=>{class t extends _a{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>oT(e),this.createValidator=e=>wx(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&et("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},features:[ze([J8]),Ce]}),t})();const ej={provide:bi,useExisting:zt(()=>kb),multi:!0};let kb=(()=>{class t extends _a{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=e=>e,this.createValidator=e=>Dx(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&et("pattern",i._enabled?i.pattern:null)},inputs:{pattern:"pattern"},features:[ze([ej]),Ce]}),t})(),cT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Xx]]}),t})(),tj=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[cT]}),t})(),Eb=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:wb,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[cT]}),t})(),Es=(()=>{class t{group(e,i=null){const o=this._reduceControls(e);let a,r=null,s=null;return null!=i&&(function nj(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(i)?(r=null!=i.validators?i.validators:null,s=null!=i.asyncValidators?i.asyncValidators:null,a=null!=i.updateOn?i.updateOn:void 0):(r=null!=i.validator?i.validator:null,s=null!=i.asyncValidator?i.asyncValidator:null)),new an(o,{asyncValidators:s,updateOn:a,validators:r})}control(e,i,o){return new X(e,i,o)}array(e,i,o){const r=e.map(s=>this._createControl(s));return new po(r,i,o)}_reduceControls(e){const i={};return Object.keys(e).forEach(o=>{i[o]=this._createControl(e[o])}),i}_createControl(e){return vb(e)||tp(e)||Gx(e)?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:Eb}),t})(),dT=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(e){this._vertical=Xe(e)}get inset(){return this._inset}set inset(e){this._inset=Xe(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ae({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,i){2&e&&(et("aria-orientation",i.vertical?"vertical":"horizontal"),rt("mat-divider-vertical",i.vertical)("mat-divider-horizontal",!i.vertical)("mat-divider-inset",i.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,i){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),Ib=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft],ft]}),t})(),hT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[xM,fa,ft,G_,qi],xM,ft,G_,Ib]}),t})();const gj=["connectionContainer"],_j=["inputContainer"],bj=["label"];function vj(t,n){1&t&&(be(0),d(1,"div",14),E(2,"div",15)(3,"div",16)(4,"div",17),c(),d(5,"div",18),E(6,"div",15)(7,"div",16)(8,"div",17),c(),ve())}function yj(t,n){if(1&t){const e=pe();d(0,"div",19),N("cdkObserveContent",function(){return se(e),D().updateOutlineGap()}),ct(1,1),c()}2&t&&m("cdkObserveContentDisabled","outline"!=D().appearance)}function Cj(t,n){if(1&t&&(be(0),ct(1,2),d(2,"span"),h(3),c(),ve()),2&t){const e=D(2);f(3),Ee(e._control.placeholder)}}function wj(t,n){1&t&&ct(0,3,["*ngSwitchCase","true"])}function Dj(t,n){1&t&&(d(0,"span",23),h(1," *"),c())}function Sj(t,n){if(1&t){const e=pe();d(0,"label",20,21),N("cdkObserveContent",function(){return se(e),D().updateOutlineGap()}),_(2,Cj,4,1,"ng-container",12),_(3,wj,1,0,"ng-content",12),_(4,Dj,2,0,"span",22),c()}if(2&t){const e=D();rt("mat-empty",e._control.empty&&!e._shouldAlwaysFloat())("mat-form-field-empty",e._control.empty&&!e._shouldAlwaysFloat())("mat-accent","accent"==e.color)("mat-warn","warn"==e.color),m("cdkObserveContentDisabled","outline"!=e.appearance)("id",e._labelId)("ngSwitch",e._hasLabel()),et("for",e._control.id)("aria-owns",e._control.id),f(2),m("ngSwitchCase",!1),f(1),m("ngSwitchCase",!0),f(1),m("ngIf",!e.hideRequiredMarker&&e._control.required&&!e._control.disabled)}}function Mj(t,n){1&t&&(d(0,"div",24),ct(1,4),c())}function xj(t,n){if(1&t&&(d(0,"div",25),E(1,"span",26),c()),2&t){const e=D();f(1),rt("mat-accent","accent"==e.color)("mat-warn","warn"==e.color)}}function Tj(t,n){1&t&&(d(0,"div"),ct(1,5),c()),2&t&&m("@transitionMessages",D()._subscriptAnimationState)}function kj(t,n){if(1&t&&(d(0,"div",30),h(1),c()),2&t){const e=D(2);m("id",e._hintLabelId),f(1),Ee(e.hintLabel)}}function Ej(t,n){if(1&t&&(d(0,"div",27),_(1,kj,2,2,"div",28),ct(2,6),E(3,"div",29),ct(4,7),c()),2&t){const e=D();m("@transitionMessages",e._subscriptAnimationState),f(1),m("ngIf",e.hintLabel)}}const Ij=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],Oj=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"];let Aj=0;const pT=new _e("MatError");let Ob=(()=>{class t{constructor(e,i){this.id="mat-error-"+Aj++,e||i.nativeElement.setAttribute("aria-live","polite")}}return t.\u0275fac=function(e){return new(e||t)(Di("aria-live"),b(He))},t.\u0275dir=oe({type:t,selectors:[["mat-error"]],hostAttrs:["aria-atomic","true",1,"mat-error"],hostVars:1,hostBindings:function(e,i){2&e&&et("id",i.id)},inputs:{id:"id"},features:[ze([{provide:pT,useExisting:t}])]}),t})();const Pj={transitionMessages:Oo("transitionMessages",[jn("enter",Vt({opacity:1,transform:"translateY(0%)"})),Kn("void => enter",[Vt({opacity:0,transform:"translateY(-5px)"}),si("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let gd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t}),t})(),Rj=0;const fT=new _e("MatHint");let np=(()=>{class t{constructor(){this.align="start",this.id="mat-hint-"+Rj++}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-hint"],hostVars:4,hostBindings:function(e,i){2&e&&(et("id",i.id)("align",null),rt("mat-form-field-hint-end","end"===i.align))},inputs:{align:"align",id:"id"},features:[ze([{provide:fT,useExisting:t}])]}),t})(),Mn=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-label"]]}),t})(),Fj=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-placeholder"]]}),t})();const Nj=new _e("MatPrefix"),mT=new _e("MatSuffix");let Ab=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["","matSuffix",""]],features:[ze([{provide:mT,useExisting:t}])]}),t})(),gT=0;const Bj=$r(class{constructor(t){this._elementRef=t}},"primary"),Vj=new _e("MAT_FORM_FIELD_DEFAULT_OPTIONS"),ip=new _e("MatFormField");let En=(()=>{class t extends Bj{constructor(e,i,o,r,s,a,l){super(e),this._changeDetectorRef=i,this._dir=o,this._defaults=r,this._platform=s,this._ngZone=a,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new ie,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+gT++,this._labelId="mat-form-field-label-"+gT++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==l,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(e){const i=this._appearance;this._appearance=e||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&i!==e&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=Xe(e)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(e){this._explicitFormFieldControl=e}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${e.controlType}`),e.stateChanges.pipe(Nn(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(tt(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(tt(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Tn(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Nn(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Nn(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(tt(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(e){const i=this._control?this._control.ngControl:null;return i&&i[e]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Ki(this._label.nativeElement,"transitionend").pipe(Ot(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(r=>"start"===r.align):null,o=this._hintChildren?this._hintChildren.find(r=>"end"===r.align):null;i?e.push(i.id):this._hintLabel&&e.push(this._hintLabelId),o&&e.push(o.id)}else this._errorChildren&&e.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(e)}}_validateControlChild(){}updateOutlineGap(){const e=this._label?this._label.nativeElement:null,i=this._connectionContainerRef.nativeElement,o=".mat-form-field-outline-start",r=".mat-form-field-outline-gap";if("outline"!==this.appearance||!this._platform.isBrowser)return;if(!e||!e.children.length||!e.textContent.trim()){const p=i.querySelectorAll(`${o}, ${r}`);for(let g=0;g0?.75*M+10:0}for(let p=0;p{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[qi,ft,Ph],ft]}),t})();function op(t=0,n,e=gV){let i=-1;return null!=n&&(Zv(n)?e=n:i=n),new Ue(o=>{let r=function Hj(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;r<0&&(r=0);let s=0;return e.schedule(function(){o.closed||(o.next(s++),0<=i?this.schedule(void 0,i):o.complete())},r)})}function Pb(t,n=td){return function jj(t){return nt((n,e)=>{let i=!1,o=null,r=null,s=!1;const a=()=>{if(null==r||r.unsubscribe(),r=null,i){i=!1;const u=o;o=null,e.next(u)}s&&e.complete()},l=()=>{r=null,s&&e.complete()};n.subscribe(st(e,u=>{i=!0,o=u,r||yi(t(u)).subscribe(r=st(e,a,l))},()=>{s=!0,(!i||!r||r.closed)&&e.complete()}))})}(()=>op(t,n))}const bT=ca({passive:!0});let Uj=(()=>{class t{constructor(e,i){this._platform=e,this._ngZone=i,this._monitoredElements=new Map}monitor(e){if(!this._platform.isBrowser)return yo;const i=zr(e),o=this._monitoredElements.get(i);if(o)return o.subject;const r=new ie,s="cdk-text-field-autofilled",a=l=>{"cdk-text-field-autofill-start"!==l.animationName||i.classList.contains(s)?"cdk-text-field-autofill-end"===l.animationName&&i.classList.contains(s)&&(i.classList.remove(s),this._ngZone.run(()=>r.next({target:l.target,isAutofilled:!1}))):(i.classList.add(s),this._ngZone.run(()=>r.next({target:l.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,bT),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:r,unlisten:()=>{i.removeEventListener("animationstart",a,bT)}}),r}stopMonitoring(e){const i=zr(e),o=this._monitoredElements.get(i);o&&(o.unlisten(),o.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((e,i)=>this.stopMonitoring(i))}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),vT=(()=>{class t{constructor(e,i,o,r){this._elementRef=e,this._platform=i,this._ngZone=o,this._destroyed=new ie,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._handleFocusEvent=s=>{this._hasFocus="focus"===s.type},this._document=r,this._textareaElement=this._elementRef.nativeElement}get minRows(){return this._minRows}set minRows(e){this._minRows=Zn(e),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(e){this._maxRows=Zn(e),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(e){e=Xe(e),this._enabled!==e&&((this._enabled=e)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(e){this._cachedPlaceholderHeight=void 0,e?this._textareaElement.setAttribute("placeholder",e):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}_setMinHeight(){const e=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;e&&(this._textareaElement.style.minHeight=e)}_setMaxHeight(){const e=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;e&&(this._textareaElement.style.maxHeight=e)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{Ki(this._getWindow(),"resize").pipe(Pb(16),tt(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0)),this._textareaElement.addEventListener("focus",this._handleFocusEvent),this._textareaElement.addEventListener("blur",this._handleFocusEvent)}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._textareaElement.removeEventListener("focus",this._handleFocusEvent),this._textareaElement.removeEventListener("blur",this._handleFocusEvent),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let e=this._textareaElement.cloneNode(!1);e.rows=1,e.style.position="absolute",e.style.visibility="hidden",e.style.border="none",e.style.padding="0",e.style.height="",e.style.minHeight="",e.style.maxHeight="",e.style.overflow="hidden",this._textareaElement.parentNode.appendChild(e),this._cachedLineHeight=e.clientHeight,e.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){const e=this._textareaElement,i=e.style.marginBottom||"",o=this._platform.FIREFOX,r=o&&this._hasFocus,s=o?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";r&&(e.style.marginBottom=`${e.clientHeight}px`),e.classList.add(s);const a=e.scrollHeight-4;return e.classList.remove(s),r&&(e.style.marginBottom=i),a}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const e=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=e}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(e=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;const i=this._elementRef.nativeElement,o=i.value;if(!e&&this._minRows===this._previousMinRows&&o===this._previousValue)return;const r=this._measureScrollHeight(),s=Math.max(r,this._cachedPlaceholderHeight||0);i.style.height=`${s}px`,this._ngZone.runOutsideAngular(()=>{"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(()=>this._scrollToCaretPosition(i)):setTimeout(()=>this._scrollToCaretPosition(i))}),this._previousValue=o,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(e){const{selectionStart:i,selectionEnd:o}=e;!this._destroyed.isStopped&&this._hasFocus&&e.setSelectionRange(i,o)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(dn),b(Je),b(ht,8))},t.\u0275dir=oe({type:t,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(e,i){1&e&&N("input",function(){return i._noopInputHandler()})},inputs:{minRows:["cdkAutosizeMinRows","minRows"],maxRows:["cdkAutosizeMaxRows","maxRows"],enabled:["cdkTextareaAutosize","enabled"],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]}),t})(),yT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const zj=new _e("MAT_INPUT_VALUE_ACCESSOR"),$j=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let Gj=0;const Wj=z_(class{constructor(t,n,e,i){this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=e,this.ngControl=i}});let li=(()=>{class t extends Wj{constructor(e,i,o,r,s,a,l,u,p,g){super(a,r,s,o),this._elementRef=e,this._platform=i,this._autofillMonitor=u,this._formField=g,this._uid="mat-input-"+Gj++,this.focused=!1,this.stateChanges=new ie,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(M=>sM().has(M)),this._iOSKeyupListener=M=>{const V=M.target;!V.value&&0===V.selectionStart&&0===V.selectionEnd&&(V.setSelectionRange(1,1),V.setSelectionRange(0,0))};const v=this._elementRef.nativeElement,C=v.nodeName.toLowerCase();this._inputValueAccessor=l||v,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&p.runOutsideAngular(()=>{e.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===C,this._isTextarea="textarea"===C,this._isInFormField=!!g,this._isNativeSelect&&(this.controlType=v.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=Xe(e),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(e){this._id=e||this._uid}get required(){var e,i,o,r;return null!==(r=null!==(e=this._required)&&void 0!==e?e:null===(o=null===(i=this.ngControl)||void 0===i?void 0:i.control)||void 0===o?void 0:o.hasValidator(de.required))&&void 0!==r&&r}set required(e){this._required=Xe(e)}get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&sM().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=Xe(e)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}_focusChanged(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var e,i;const o=(null===(i=null===(e=this._formField)||void 0===e?void 0:e._hideControlPlaceholder)||void 0===i?void 0:i.call(e))?null:this.placeholder;if(o!==this._previousPlaceholder){const r=this._elementRef.nativeElement;this._previousPlaceholder=o,o?r.setAttribute("placeholder",o):r.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_validateType(){$j.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const e=this._elementRef.nativeElement,i=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(dn),b(rr,10),b(ks,8),b(Sn,8),b(od),b(zj,10),b(Uj),b(Je),b(ip,8))},t.\u0275dir=oe({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:12,hostBindings:function(e,i){1&e&&N("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&e&&(Fr("disabled",i.disabled)("required",i.required),et("id",i.id)("data-placeholder",i.placeholder)("name",i.name||null)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required),rt("mat-input-server",i._isServer)("mat-native-select-inline",i._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[ze([{provide:gd,useExisting:t}]),Ce,nn]}),t})(),CT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[od],imports:[[yT,_d,ft],yT,_d]}),t})();const bd={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame;const{delegate:i}=bd;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);const o=n(r=>{e=void 0,t(r)});return new k(()=>null==e?void 0:e(o))},requestAnimationFrame(...t){const{delegate:n}=bd;return((null==n?void 0:n.requestAnimationFrame)||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){const{delegate:n}=bd;return((null==n?void 0:n.cancelAnimationFrame)||cancelAnimationFrame)(...t)},delegate:void 0};new class Kj extends R_{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class qj extends P_{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=bd.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(bd.cancelAnimationFrame(e),n._scheduled=void 0)}});let Rb,Qj=1;const rp={};function wT(t){return t in rp&&(delete rp[t],!0)}const Yj={setImmediate(t){const n=Qj++;return rp[n]=!0,Rb||(Rb=Promise.resolve()),Rb.then(()=>wT(n)&&t()),n},clearImmediate(t){wT(t)}},{setImmediate:Xj,clearImmediate:Jj}=Yj,sp={setImmediate(...t){const{delegate:n}=sp;return((null==n?void 0:n.setImmediate)||Xj)(...t)},clearImmediate(t){const{delegate:n}=sp;return((null==n?void 0:n.clearImmediate)||Jj)(t)},delegate:void 0},Fb=new class t7 extends R_{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class e7 extends P_{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=sp.setImmediate(n.flush.bind(n,void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(sp.clearImmediate(e),n._scheduled===e&&(n._scheduled=void 0))}});let vd=(()=>{class t{constructor(e,i,o){this._ngZone=e,this._platform=i,this._scrolled=new ie,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new Ue(i=>{this._globalSubscription||this._addGlobalListener();const o=e>0?this._scrolled.pipe(Pb(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):We()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const o=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(It(r=>!r||o.indexOf(r)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((o,r)=>{this._scrollableContainsElement(r,e)&&i.push(r)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let o=zr(i),r=e.getElementRef().nativeElement;do{if(o==r)return!0}while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Ki(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Q(Je),Q(dn),Q(ht,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),yd=(()=>{class t{constructor(e,i,o,r){this.elementRef=e,this.scrollDispatcher=i,this.ngZone=o,this.dir=r,this._destroyed=new ie,this._elementScrolled=new Ue(s=>this.ngZone.runOutsideAngular(()=>Ki(this.elementRef.nativeElement,"scroll").pipe(tt(this._destroyed)).subscribe(s)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){const i=this.elementRef.nativeElement,o=this.dir&&"rtl"==this.dir.value;null==e.left&&(e.left=o?e.end:e.start),null==e.right&&(e.right=o?e.start:e.end),null!=e.bottom&&(e.top=i.scrollHeight-i.clientHeight-e.bottom),o&&0!=Jc()?(null!=e.left&&(e.right=i.scrollWidth-i.clientWidth-e.left),2==Jc()?e.left=e.right:1==Jc()&&(e.left=e.right?-e.right:e.right)):null!=e.right&&(e.left=i.scrollWidth-i.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){const i=this.elementRef.nativeElement;aM()?i.scrollTo(e):(null!=e.top&&(i.scrollTop=e.top),null!=e.left&&(i.scrollLeft=e.left))}measureScrollOffset(e){const i="left",o="right",r=this.elementRef.nativeElement;if("top"==e)return r.scrollTop;if("bottom"==e)return r.scrollHeight-r.clientHeight-r.scrollTop;const s=this.dir&&"rtl"==this.dir.value;return"start"==e?e=s?o:i:"end"==e&&(e=s?i:o),s&&2==Jc()?e==i?r.scrollWidth-r.clientWidth-r.scrollLeft:r.scrollLeft:s&&1==Jc()?e==i?r.scrollLeft+r.scrollWidth-r.clientWidth:-r.scrollLeft:e==i?r.scrollLeft:r.scrollWidth-r.clientWidth-r.scrollLeft}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(vd),b(Je),b(ai,8))},t.\u0275dir=oe({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]}),t})(),yr=(()=>{class t{constructor(e,i,o){this._platform=e,this._change=new ie,this._changeListener=r=>{this._change.next(r)},this._document=o,i.runOutsideAngular(()=>{if(e.isBrowser){const r=this._getWindow();r.addEventListener("resize",this._changeListener),r.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),o=e.documentElement,r=o.getBoundingClientRect();return{top:-r.top||e.body.scrollTop||i.scrollY||o.scrollTop||0,left:-r.left||e.body.scrollLeft||i.scrollX||o.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(Pb(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Q(dn),Q(Je),Q(ht,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Is=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),Nb=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Yc,Is],Yc,Is]}),t})();class Lb{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class Ol extends Lb{constructor(n,e,i,o){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=o}}class Wr extends Lb{constructor(n,e,i){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class r7 extends Lb{constructor(n){super(),this.element=n instanceof He?n.nativeElement:n}}class ap{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof Ol?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof Wr?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof r7?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class s7 extends ap{constructor(n,e,i,o,r){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=o,this.attachDomPortal=s=>{const a=s.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=r}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let o;return n.viewContainerRef?(o=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector),this.setDisposeFn(()=>o.destroy())):(o=i.create(n.injector||this._defaultInjector||pn.NULL),this._appRef.attachView(o.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(o.hostView),o.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(o)),this._attachedPortal=n,o}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context);return i.rootNodes.forEach(o=>this.outletElement.appendChild(o)),i.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(i);-1!==o&&e.remove(o)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let a7=(()=>{class t extends Wr{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(b(rn),b(sn))},t.\u0275dir=oe({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[Ce]}),t})(),Os=(()=>{class t extends ap{constructor(e,i,o){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Pe,this.attachDomPortal=r=>{const s=r.element,a=this._document.createComment("dom-portal");r.setAttachedHost(this),s.parentNode.insertBefore(a,s),this._getRootNode().appendChild(s),this._attachedPortal=r,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(s,a)})},this._document=o}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,r=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),s=i.createComponent(r,i.length,e.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(s.hostView.rootNodes[0]),super.setDisposeFn(()=>s.destroy()),this._attachedPortal=e,this._attachedRef=s,this.attached.emit(s),s}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}return t.\u0275fac=function(e){return new(e||t)(b(gs),b(sn),b(ht))},t.\u0275dir=oe({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[Ce]}),t})(),Cd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const DT=aM();class c7{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=Qn(-this._previousScrollPosition.left),n.style.top=Qn(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,o=this._document.body.style,r=i.scrollBehavior||"",s=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),DT&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),DT&&(i.scrollBehavior=r,o.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class d7{constructor(n,e,i,o){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ST{enable(){}disable(){}attach(){}}function Bb(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function MT(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class u7{constructor(n,e,i,o){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();Bb(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let h7=(()=>{class t{constructor(e,i,o,r){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=o,this.noop=()=>new ST,this.close=s=>new d7(this._scrollDispatcher,this._ngZone,this._viewportRuler,s),this.block=()=>new c7(this._viewportRuler,this._document),this.reposition=s=>new u7(this._scrollDispatcher,this._viewportRuler,this._ngZone,s),this._document=r}}return t.\u0275fac=function(e){return new(e||t)(Q(vd),Q(yr),Q(Je),Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class Al{constructor(n){if(this.scrollStrategy=new ST,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class p7{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}class f7{constructor(n,e,i,o,r,s,a,l,u){this._portalOutlet=n,this._host=e,this._pane=i,this._config=o,this._ngZone=r,this._keyboardDispatcher=s,this._document=a,this._location=l,this._outsideClickDispatcher=u,this._backdropElement=null,this._backdropClick=new ie,this._attachments=new ie,this._detachments=new ie,this._locationChanges=k.EMPTY,this._backdropClickHandler=p=>this._backdropClick.next(p),this._backdropTransitionendHandler=p=>{this._disposeBackdrop(p.target)},this._keydownEvents=new ie,this._outsidePointerEvents=new ie,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){var n;const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),null===(n=this._host)||void 0===n||n.remove(),this._previousHostParent=this._pane=this._host=null,e&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config=Object.assign(Object.assign({},this._config),n),this._updateElementSize()}setDirection(n){this._config=Object.assign(Object.assign({},this._config),{direction:n}),this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=Qn(this._config.width),n.height=Qn(this._config.height),n.minWidth=Qn(this._config.minWidth),n.minHeight=Qn(this._config.minHeight),n.maxWidth=Qn(this._config.maxWidth),n.maxHeight=Qn(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;!n||(n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500)))}_toggleClasses(n,e,i){const o=Ah(e||[]).filter(r=>!!r);o.length&&(i?n.classList.add(...o):n.classList.remove(...o))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const n=this._ngZone.onStable.pipe(tt(Tn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}let Vb=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){var e;null===(e=this._containerElement)||void 0===e||e.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||E_()){const o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let r=0;r{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,r=[];let s;for(let a of this._preferredPositions){let l=this._getOriginPoint(n,o,a),u=this._getOverlayPoint(l,e,a),p=this._getOverlayFit(u,e,i,a);if(p.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(a,l);this._canFitWithFlexibleDimensions(p,u,i)?r.push({position:a,origin:l,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(l,a)}):(!s||s.overlayFit.visibleAreal&&(l=p,a=u)}return this._isPushed=!1,void this._applyPosition(a.position,a.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ba(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(xT),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let o,r;if("center"==i.originX)o=n.left+n.width/2;else{const s=this._isRtl()?n.right:n.left,a=this._isRtl()?n.left:n.right;o="start"==i.originX?s:a}return e.left<0&&(o-=e.left),r="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(r-=e.top),{x:o,y:r}}_getOverlayPoint(n,e,i){let o,r;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+o,y:n.y+r}}_getOverlayFit(n,e,i,o){const r=kT(e);let{x:s,y:a}=n,l=this._getOffset(o,"x"),u=this._getOffset(o,"y");l&&(s+=l),u&&(a+=u);let v=0-a,C=a+r.height-i.height,M=this._subtractOverflows(r.width,0-s,s+r.width-i.width),V=this._subtractOverflows(r.height,v,C),K=M*V;return{visibleArea:K,isCompletelyWithinViewport:r.width*r.height===K,fitsInViewportVertically:V===r.height,fitsInViewportHorizontally:M==r.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const o=i.bottom-e.y,r=i.right-e.x,s=TT(this._overlayRef.getConfig().minHeight),a=TT(this._overlayRef.getConfig().minWidth),u=n.fitsInViewportHorizontally||null!=a&&a<=r;return(n.fitsInViewportVertically||null!=s&&s<=o)&&u}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const o=kT(e),r=this._viewportRect,s=Math.max(n.x+o.width-r.width,0),a=Math.max(n.y+o.height-r.height,0),l=Math.max(r.top-i.top-n.y,0),u=Math.max(r.left-i.left-n.x,0);let p=0,g=0;return p=o.width<=r.width?u||-s:n.xM&&!this._isInitialRender&&!this._growAfterOpen&&(s=n.y-M/2)}if("end"===e.overlayX&&!o||"start"===e.overlayX&&o)v=i.width-n.x+this._viewportMargin,p=n.x-this._viewportMargin;else if("start"===e.overlayX&&!o||"end"===e.overlayX&&o)g=n.x,p=i.right-n.x;else{const C=Math.min(i.right-n.x+i.left,n.x),M=this._lastBoundingBoxSize.width;p=2*C,g=n.x-C,p>M&&!this._isInitialRender&&!this._growAfterOpen&&(g=n.x-M/2)}return{top:s,left:g,bottom:a,right:v,width:p,height:r}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{const r=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;o.height=Qn(i.height),o.top=Qn(i.top),o.bottom=Qn(i.bottom),o.width=Qn(i.width),o.left=Qn(i.left),o.right=Qn(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",r&&(o.maxHeight=Qn(r)),s&&(o.maxWidth=Qn(s))}this._lastBoundingBoxSize=i,ba(this._boundingBox.style,o)}_resetBoundingBoxStyles(){ba(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ba(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},o=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(o){const p=this._viewportRuler.getViewportScrollPosition();ba(i,this._getExactOverlayY(e,n,p)),ba(i,this._getExactOverlayX(e,n,p))}else i.position="static";let a="",l=this._getOffset(e,"x"),u=this._getOffset(e,"y");l&&(a+=`translateX(${l}px) `),u&&(a+=`translateY(${u}px)`),i.transform=a.trim(),s.maxHeight&&(o?i.maxHeight=Qn(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(o?i.maxWidth=Qn(s.maxWidth):r&&(i.maxWidth="")),ba(this._pane.style,i)}_getExactOverlayY(n,e,i){let o={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),"bottom"===n.overlayY?o.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":o.top=Qn(r.y),o}_getExactOverlayX(n,e,i){let s,o={left:"",right:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),s=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===s?o.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":o.left=Qn(r.x),o}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:MT(n,i),isOriginOutsideView:Bb(n,i),isOverlayClipped:MT(e,i),isOverlayOutsideView:Bb(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,o)=>i-Math.max(o,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Ah(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof He)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function ba(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function TT(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(m7);return e&&"px"!==e?null:parseFloat(n)}return t||null}function kT(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const ET="cdk-global-overlay-wrapper";class _7{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(ET),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._rightOffset="",this._leftOffset=n,this._justifyContent="flex-start",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._leftOffset="",this._rightOffset=n,this._justifyContent="flex-end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._justifyContent="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:r,maxWidth:s,maxHeight:a}=i,l=!("100%"!==o&&"100vw"!==o||s&&"100%"!==s&&"100vw"!==s),u=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a);n.position=this._cssPosition,n.marginLeft=l?"0":this._leftOffset,n.marginTop=u?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=this._rightOffset,l?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=u?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(ET),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let b7=(()=>{class t{constructor(e,i,o,r){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=r}global(){return new _7}flexibleConnectedTo(e){return new g7(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Q(yr),Q(ht),Q(dn),Q(Vb))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),IT=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),v7=(()=>{class t extends IT{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=o=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){const a=r[s]._keydownEvents;this._ngZone?this._ngZone.run(()=>a.next(o)):a.next(o);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(Je,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),y7=(()=>{class t extends IT{constructor(e,i,o){super(e),this._platform=i,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=r=>{this._pointerDownEventTarget=Ds(r)},this._clickListener=r=>{const s=Ds(r),a="click"===r.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:s;this._pointerDownEventTarget=null;const l=this._attachedOverlays.slice();for(let u=l.length-1;u>-1;u--){const p=l[u];if(p._outsidePointerEvents.observers.length<1||!p.hasAttached())continue;if(p.overlayElement.contains(s)||p.overlayElement.contains(a))break;const g=p._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>g.next(r)):g.next(r)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht),Q(dn),Q(Je,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),C7=0,Qi=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=o,this._positionBuilder=r,this._keyboardDispatcher=s,this._injector=a,this._ngZone=l,this._document=u,this._directionality=p,this._location=g,this._outsideClickDispatcher=v}create(e){const i=this._createHostElement(),o=this._createPaneElement(i),r=this._createPortalOutlet(o),s=new Al(e);return s.direction=s.direction||this._directionality.value,new f7(r,i,o,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+C7++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(zu)),new s7(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Q(h7),Q(Vb),Q(gs),Q(b7),Q(v7),Q(pn),Q(Je),Q(ht),Q(ai),Q(zc),Q(y7))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const w7=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],OT=new _e("cdk-connected-overlay-scroll-strategy");let AT=(()=>{class t{constructor(e){this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(b(He))},t.\u0275dir=oe({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),PT=(()=>{class t{constructor(e,i,o,r,s){this._overlay=e,this._dir=s,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=k.EMPTY,this._attachSubscription=k.EMPTY,this._detachSubscription=k.EMPTY,this._positionSubscription=k.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Pe,this.positionChange=new Pe,this.attach=new Pe,this.detach=new Pe,this.overlayKeydown=new Pe,this.overlayOutsideClick=new Pe,this._templatePortal=new Wr(i,o),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=Xe(e)}get lockPosition(){return this._lockPosition}set lockPosition(e){this._lockPosition=Xe(e)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(e){this._flexibleDimensions=Xe(e)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(e){this._growAfterOpen=Xe(e)}get push(){return this._push}set push(e){this._push=Xe(e)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=w7);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!fi(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new Al({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(e),e}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof AT?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function l7(t,n=!1){return nt((e,i)=>{let o=0;e.subscribe(st(i,r=>{const s=t(r,o++);(s||n)&&i.next(r),!s&&i.complete()}))})}(()=>this.positionChange.observers.length>0)).subscribe(e=>{this.positionChange.emit(e),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(b(Qi),b(rn),b(sn),b(OT),b(ai,8))},t.\u0275dir=oe({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[nn]}),t})();const S7={provide:OT,deps:[Qi],useFactory:function D7(t){return()=>t.scrollStrategies.reposition()}};let Pl=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[Qi,S7],imports:[[Yc,Cd,Nb],Nb]}),t})();function wd(t){return new Ue(n=>{yi(t()).subscribe(n)})}function Li(t,n){return nt((e,i)=>{let o=null,r=0,s=!1;const a=()=>s&&!o&&i.complete();e.subscribe(st(i,l=>{null==o||o.unsubscribe();let u=0;const p=r++;yi(t(l,p)).subscribe(o=st(i,g=>i.next(n?n(l,g,p,u++):g),()=>{o=null,a()}))},()=>{s=!0,a()}))})}const M7=["trigger"],x7=["panel"];function T7(t,n){if(1&t&&(d(0,"span",8),h(1),c()),2&t){const e=D();f(1),Ee(e.placeholder)}}function k7(t,n){if(1&t&&(d(0,"span",12),h(1),c()),2&t){const e=D(2);f(1),Ee(e.triggerValue)}}function E7(t,n){1&t&&ct(0,0,["*ngSwitchCase","true"])}function I7(t,n){1&t&&(d(0,"span",9),_(1,k7,2,1,"span",10),_(2,E7,1,0,"ng-content",11),c()),2&t&&(m("ngSwitch",!!D().customTrigger),f(2),m("ngSwitchCase",!0))}function O7(t,n){if(1&t){const e=pe();d(0,"div",13)(1,"div",14,15),N("@transformPanel.done",function(o){return se(e),D()._panelDoneAnimatingStream.next(o.toState)})("keydown",function(o){return se(e),D()._handleKeydown(o)}),ct(3,1),c()()}if(2&t){const e=D();m("@transformPanelWrap",void 0),f(1),N1("mat-select-panel ",e._getPanelTheme(),""),pi("transform-origin",e._transformOrigin)("font-size",e._triggerFontSize,"px"),m("ngClass",e.panelClass)("@transformPanel",e.multiple?"showing-multiple":"showing"),et("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}const A7=[[["mat-select-trigger"]],"*"],P7=["mat-select-trigger","*"],RT={transformPanelWrap:Oo("transformPanelWrap",[Kn("* => void",e_("@transformPanel",[Jg()],{optional:!0}))]),transformPanel:Oo("transformPanel",[jn("void",Vt({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),jn("showing",Vt({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),jn("showing-multiple",Vt({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Kn("void => *",si("120ms cubic-bezier(0, 0, 0.2, 1)")),Kn("* => void",si("100ms 25ms linear",Vt({opacity:0})))])};let FT=0;const LT=new _e("mat-select-scroll-strategy"),L7=new _e("MAT_SELECT_CONFIG"),B7={provide:LT,deps:[Qi],useFactory:function N7(t){return()=>t.scrollStrategies.reposition()}};class V7{constructor(n,e){this.source=n,this.value=e}}const j7=vr(Ml(pa(z_(class{constructor(t,n,e,i,o){this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=i,this.ngControl=o}})))),H7=new _e("MatSelectTrigger");let U7=(()=>{class t extends j7{constructor(e,i,o,r,s,a,l,u,p,g,v,C,M,V){var K,Y,ee;super(s,r,l,u,g),this._viewportRuler=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=a,this._parentFormField=p,this._liveAnnouncer=M,this._defaultOptions=V,this._panelOpen=!1,this._compareWith=(ke,Ze)=>ke===Ze,this._uid="mat-select-"+FT++,this._triggerAriaLabelledBy=null,this._destroy=new ie,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+FT++,this._panelDoneAnimatingStream=new ie,this._overlayPanelClass=(null===(K=this._defaultOptions)||void 0===K?void 0:K.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._multiple=!1,this._disableOptionCentering=null!==(ee=null===(Y=this._defaultOptions)||void 0===Y?void 0:Y.disableOptionCentering)&&void 0!==ee&&ee,this.ariaLabel="",this.optionSelectionChanges=wd(()=>{const ke=this.options;return ke?ke.changes.pipe(Nn(ke),Li(()=>Tn(...ke.map(Ze=>Ze.onSelectionChange)))):this._ngZone.onStable.pipe(Ot(1),Li(()=>this.optionSelectionChanges))}),this.openedChange=new Pe,this._openedStream=this.openedChange.pipe(It(ke=>ke),je(()=>{})),this._closedStream=this.openedChange.pipe(It(ke=>!ke),je(()=>{})),this.selectionChange=new Pe,this.valueChange=new Pe,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==V?void 0:V.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=V.typeaheadDebounceInterval),this._scrollStrategyFactory=C,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(v)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get required(){var e,i,o,r;return null!==(r=null!==(e=this._required)&&void 0!==e?e:null===(o=null===(i=this.ngControl)||void 0===i?void 0:i.control)||void 0===o?void 0:o.hasValidator(de.required))&&void 0!==r&&r}set required(e){this._required=Xe(e),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(e){this._multiple=Xe(e)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(e){this._disableOptionCentering=Xe(e)}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(e){this._typeaheadDebounceInterval=Zn(e)}get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Tl(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(nd(),tt(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(tt(this._destroy)).subscribe(e=>{e.added.forEach(i=>i.select()),e.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Nn(null),tt(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const e=this._getTriggerAriaLabelledby(),i=this.ngControl;if(e!==this._triggerAriaLabelledBy){const o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?o.setAttribute("aria-labelledby",e):o.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(void 0!==this._previousControl&&null!==i.disabled&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(e){e.disabled&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){var e,i;return this.multiple?(null===(e=this._selectionModel)||void 0===e?void 0:e.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const e=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){const i=e.keyCode,o=40===i||38===i||37===i||39===i,r=13===i||32===i,s=this._keyManager;if(!s.isTyping()&&r&&!fi(e)||(this.multiple||e.altKey)&&o)e.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;s.onKeydown(e);const l=this.selected;l&&a!==l&&this._liveAnnouncer.announce(l.viewValue,1e4)}}_handleOpenKeydown(e){const i=this._keyManager,o=e.keyCode,r=40===o||38===o,s=i.isTyping();if(r&&e.altKey)e.preventDefault(),this.close();else if(s||13!==o&&32!==o||!i.activeItem||fi(e))if(!s&&this._multiple&&65===o&&e.ctrlKey){e.preventDefault();const a=this.options.some(l=>!l.disabled&&!l.selected);this.options.forEach(l=>{l.disabled||(a?l.select():l.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(e),this._multiple&&r&&e.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else e.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(Ot(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this._selectionModel.selected.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{const i=this._selectOptionByValue(e);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){const i=this.options.find(o=>{if(this._selectionModel.isSelected(o))return!1;try{return null!=o.value&&this._compareWith(o.value,e)}catch(r){return!1}});return i&&this._selectionModel.select(i),i}_assignValue(e){return!!(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e,!0)}_initKeyManager(){this._keyManager=new gM(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(tt(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(tt(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const e=Tn(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(tt(e)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Tn(...this.options.map(i=>i._stateChanges)).pipe(tt(e)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(e,i){const o=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(o!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),i&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),i&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),o!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const e=this.options.toArray();this._selectionModel.sort((i,o)=>this.sortComparator?this.sortComparator(i,o,e):e.indexOf(i)-e.indexOf(o)),this.stateChanges.next()}}_propagateChanges(e){let i=null;i=this.multiple?this.selected.map(o=>o.value):this.selected?this.selected.value:e,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var e;return!this._panelOpen&&!this.disabled&&(null===(e=this.options)||void 0===e?void 0:e.length)>0}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){var e;if(this.ariaLabel)return null;const i=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();return this.ariaLabelledby?(i?i+" ":"")+this.ariaLabelledby:i}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var e;if(this.ariaLabel)return null;const i=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();let o=(i?i+" ":"")+this._valueId;return this.ariaLabelledby&&(o+=" "+this.ariaLabelledby),o}_panelDoneAnimating(e){this.openedChange.emit(e)}setDescribedByIds(e){this._ariaDescribedby=e.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(b(yr),b(At),b(Je),b(od),b(He),b(ai,8),b(ks,8),b(Sn,8),b(ip,8),b(rr,10),Di("tabindex"),b(LT),b(H_),b(L7,8))},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&(Tt(M7,5),Tt(x7,5),Tt(PT,5)),2&e){let o;Fe(o=Ne())&&(i.trigger=o.first),Fe(o=Ne())&&(i.panel=o.first),Fe(o=Ne())&&(i._overlayDir=o.first)}},inputs:{panelClass:"panelClass",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:"typeaheadDebounceInterval",sortComparator:"sortComparator",id:"id"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[Ce,nn]}),t})(),Yi=(()=>{class t extends U7{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(e,i,o){const r=this._getItemHeight();return Math.min(Math.max(0,r*e-i+r/2),o)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(tt(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(e){const i=K_(e,this.options,this.optionGroups),o=this._getItemHeight();this.panel.nativeElement.scrollTop=0===e&&1===i?0:RM((e+i)*o,o,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(e){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(e)}_getChangeEvent(e){return new V7(this,e)}_calculateOverlayOffsetX(){const e=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),i=this._viewportRuler.getViewportSize(),o=this._isRtl(),r=this.multiple?56:32;let s;if(this.multiple)s=40;else if(this.disableOptionCentering)s=16;else{let u=this._selectionModel.selected[0]||this.options.first;s=u&&u.group?32:16}o||(s*=-1);const a=0-(e.left+s-(o?r:0)),l=e.right+s-i.width+(o?0:r);a>0?s+=a+8:l>0&&(s-=l+8),this._overlayDir.offsetX=Math.round(s),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(e,i,o){const r=this._getItemHeight(),s=(r-this._triggerRect.height)/2,a=Math.floor(256/r);let l;return this.disableOptionCentering?0:(l=0===this._scrollTop?e*r:this._scrollTop===o?(e-(this._getItemCount()-a))*r+(r-(this._getItemCount()*r-256)%r):i-r/2,Math.round(-1*l-s))}_checkOverlayWithinViewport(e){const i=this._getItemHeight(),o=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,s=o.height-this._triggerRect.bottom-8,a=Math.abs(this._offsetY),u=Math.min(this._getItemCount()*i,256)-a-this._triggerRect.height;u>s?this._adjustPanelUp(u,s):a>r?this._adjustPanelDown(a,r,e):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(e,i){const o=Math.round(e-i);this._scrollTop-=o,this._offsetY-=o,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(e,i,o){const r=Math.round(e-i);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=o)return this._scrollTop=o,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const e=this._getItemHeight(),i=this._getItemCount(),o=Math.min(i*e,256),s=i*e-o;let a;a=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),a+=K_(a,this.options,this.optionGroups);const l=o/2;this._scrollTop=this._calculateOverlayScroll(a,l,s),this._offsetY=this._calculateOverlayOffsetY(a,l,s),this._checkOverlayWithinViewport(s)}_getOriginBasedOnOption(){const e=this._getItemHeight(),i=(e-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-i+e/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-select"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,H7,5),mt(o,_i,5),mt(o,q_,5)),2&e){let r;Fe(r=Ne())&&(i.customTrigger=r.first),Fe(r=Ne())&&(i.options=r),Fe(r=Ne())&&(i.optionGroups=r)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(e,i){1&e&&N("keydown",function(r){return i._handleKeydown(r)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&e&&(et("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-describedby",i._ariaDescribedby||null)("aria-activedescendant",i._getAriaActiveDescendant()),rt("mat-select-disabled",i.disabled)("mat-select-invalid",i.errorState)("mat-select-required",i.required)("mat-select-empty",i.empty)("mat-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[ze([{provide:gd,useExisting:t},{provide:W_,useExisting:t}]),Ce],ngContentSelectors:P7,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,i){if(1&e&&(Jt(A7),d(0,"div",0,1),N("click",function(){return i.toggle()}),d(3,"div",2),_(4,T7,2,1,"span",3),_(5,I7,3,2,"span",4),c(),d(6,"div",5),E(7,"div",6),c()(),_(8,O7,4,14,"ng-template",7),N("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&e){const o=$t(1);et("aria-owns",i.panelOpen?i.id+"-panel":null),f(3),m("ngSwitch",i.empty),et("id",i._valueId),f(1),m("ngSwitchCase",!0),f(1),m("ngSwitchCase",!1),f(3),m("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",o)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayMinWidth",null==i._triggerRect?null:i._triggerRect.width)("cdkConnectedOverlayOffsetY",i._offsetY)}},directives:[AT,vl,nh,KD,PT,nr],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{height:16px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-form-field.mat-focused .mat-select-arrow{transform:translateX(0)}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}\n'],encapsulation:2,data:{animation:[RT.transformPanelWrap,RT.transformPanel]},changeDetection:0}),t})(),BT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[B7],imports:[[qi,Pl,Bh,ft],Is,_d,Bh,ft]}),t})();function jb(t){return je(()=>t)}function VT(t,n){return n?e=>id(n.pipe(Ot(1),function z7(){return nt((t,n)=>{t.subscribe(st(n,S))})}()),e.pipe(VT(t))):$n((e,i)=>yi(t(e,i)).pipe(Ot(1),jb(e)))}function Hb(t,n=td){const e=op(t,n);return VT(()=>e)}const $7=["mat-menu-item",""];function G7(t,n){1&t&&(hn(),d(0,"svg",2),E(1,"polygon",3),c())}const jT=["*"];function W7(t,n){if(1&t){const e=pe();d(0,"div",0),N("keydown",function(o){return se(e),D()._handleKeydown(o)})("click",function(){return se(e),D().closed.emit("click")})("@transformMenu.start",function(o){return se(e),D()._onAnimationStart(o)})("@transformMenu.done",function(o){return se(e),D()._onAnimationDone(o)}),d(1,"div",1),ct(2),c()()}if(2&t){const e=D();m("id",e.panelId)("ngClass",e._classList)("@transformMenu",e._panelAnimationState),et("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}const cp={transformMenu:Oo("transformMenu",[jn("void",Vt({opacity:0,transform:"scale(0.8)"})),Kn("void => enter",si("120ms cubic-bezier(0, 0, 0.2, 1)",Vt({opacity:1,transform:"scale(1)"}))),Kn("* => void",si("100ms 25ms linear",Vt({opacity:0})))]),fadeInItems:Oo("fadeInItems",[jn("showing",Vt({opacity:1})),Kn("void => *",[Vt({opacity:0}),si("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},q7=new _e("MatMenuContent"),Ub=new _e("MAT_MENU_PANEL"),K7=vr(pa(class{}));let qr=(()=>{class t extends K7{constructor(e,i,o,r,s){var a;super(),this._elementRef=e,this._document=i,this._focusMonitor=o,this._parentMenu=r,this._changeDetectorRef=s,this.role="menuitem",this._hovered=new ie,this._focused=new ie,this._highlighted=!1,this._triggersSubmenu=!1,null===(a=null==r?void 0:r.addItem)||void 0===a||a.call(r,this)}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){var e;const i=this._elementRef.nativeElement.cloneNode(!0),o=i.querySelectorAll("mat-icon, .material-icons");for(let r=0;r{class t{constructor(e,i,o,r){this._elementRef=e,this._ngZone=i,this._defaultOptions=o,this._changeDetectorRef=r,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._directDescendantItems=new vs,this._tabSubscription=k.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new ie,this.overlayPanelClass=this._defaultOptions.overlayPanelClass||"",this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new Pe,this.close=this.closed,this.panelId="mat-menu-panel-"+Q7++}get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(e){this._overlapTrigger=Xe(e)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=Xe(e)}set panelClass(e){const i=this._previousPanelClass;i&&i.length&&i.split(" ").forEach(o=>{this._classList[o]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(o=>{this._classList[o]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(e){this.panelClass=e}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new Nh(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(Nn(this._directDescendantItems),Li(e=>Tn(...e.map(i=>i._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{var i;const o=this._keyManager;if("enter"===this._panelAnimationState&&(null===(i=o.activeItem)||void 0===i?void 0:i._hasFocus())){const r=e.toArray(),s=Math.max(0,Math.min(r.length-1,o.activeItemIndex||0));r[s]&&!r[s].disabled?o.setActiveItem(s):o.setNextItemActive()}})}ngOnDestroy(){this._directDescendantItems.destroy(),this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._directDescendantItems.changes.pipe(Nn(this._directDescendantItems),Li(i=>Tn(...i.map(o=>o._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){const i=e.keyCode,o=this._keyManager;switch(i){case 27:fi(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(38===i||40===i)&&o.setFocusOrigin("keyboard"),void o.onKeydown(e)}e.stopPropagation()}focusFirstItem(e="program"){this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{let i=null;if(this._directDescendantItems.length&&(i=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!i||!i.contains(document.activeElement)){const o=this._keyManager;o.setFocusOrigin(e).setFirstItemActive(),!o.activeItem&&i&&i.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){const i=Math.min(this._baseElevation+e,24),o=`${this._elevationPrefix}${i}`,r=Object.keys(this._classList).find(s=>s.startsWith(this._elevationPrefix));(!r||r===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[o]=!0,this._previousElevation=o)}setPositionClasses(e=this.xPosition,i=this.yPosition){var o;const r=this._classList;r["mat-menu-before"]="before"===e,r["mat-menu-after"]="after"===e,r["mat-menu-above"]="above"===i,r["mat-menu-below"]="below"===i,null===(o=this._changeDetectorRef)||void 0===o||o.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(e){this._animationDone.next(e),this._isAnimating=!1}_onAnimationStart(e){this._isAnimating=!0,"enter"===e.toState&&0===this._keyManager.activeItemIndex&&(e.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(Nn(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Je),b(HT),b(At))},t.\u0275dir=oe({type:t,contentQueries:function(e,i,o){if(1&e&&(mt(o,q7,5),mt(o,qr,5),mt(o,qr,4)),2&e){let r;Fe(r=Ne())&&(i.lazyContent=r.first),Fe(r=Ne())&&(i._allItems=r),Fe(r=Ne())&&(i.items=r)}},viewQuery:function(e,i){if(1&e&&Tt(rn,5),2&e){let o;Fe(o=Ne())&&(i.templateRef=o.first)}},inputs:{backdropClass:"backdropClass",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"}}),t})(),Fl=(()=>{class t extends Sd{constructor(e,i,o,r){super(e,i,o,r),this._elevationPrefix="mat-elevation-z",this._baseElevation=4}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Je),b(HT),b(At))},t.\u0275cmp=Ae({type:t,selectors:[["mat-menu"]],hostVars:3,hostBindings:function(e,i){2&e&&et("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[ze([{provide:Ub,useExisting:t}]),Ce],ngContentSelectors:jT,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-menu-panel",3,"id","ngClass","keydown","click"],[1,"mat-menu-content"]],template:function(e,i){1&e&&(Jt(),_(0,W7,3,6,"ng-template"))},directives:[nr],styles:['mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]::before{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n'],encapsulation:2,data:{animation:[cp.transformMenu,cp.fadeInItems]},changeDetection:0}),t})();const UT=new _e("mat-menu-scroll-strategy"),X7={provide:UT,deps:[Qi],useFactory:function Y7(t){return()=>t.scrollStrategies.reposition()}},$T=ca({passive:!0});let J7=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p){this._overlay=e,this._element=i,this._viewContainerRef=o,this._menuItemInstance=a,this._dir=l,this._focusMonitor=u,this._ngZone=p,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=k.EMPTY,this._hoverSubscription=k.EMPTY,this._menuCloseSubscription=k.EMPTY,this._handleTouchStart=g=>{j_(g)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new Pe,this.onMenuOpen=this.menuOpened,this.menuClosed=new Pe,this.onMenuClose=this.menuClosed,this._scrollStrategy=r,this._parentMaterialMenu=s instanceof Sd?s:void 0,i.nativeElement.addEventListener("touchstart",this._handleTouchStart,$T),a&&(a._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){e!==this._menu&&(this._menu=e,this._menuCloseSubscription.unsubscribe(),e&&(this._menuCloseSubscription=e.close.subscribe(i=>{this._destroyMenu(i),("click"===i||"tab"===i)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})))}ngAfterContentInit(){this._checkMenu(),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,$T),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMaterialMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;this._checkMenu();const e=this._createOverlay(),i=e.getConfig(),o=i.positionStrategy;this._setPosition(o),i.hasBackdrop=null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,e.attach(this._getPortal()),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof Sd&&(this.menu._startAnimation(),this.menu._directDescendantItems.changes.pipe(tt(this.menu.close)).subscribe(()=>{o.withLockedPosition(!1).reapplyLastPosition(),o.withLockedPosition(!0)}))}closeMenu(){this.menu.close.emit()}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}updatePosition(){var e;null===(e=this._overlayRef)||void 0===e||e.updatePosition()}_destroyMenu(e){if(!this._overlayRef||!this.menuOpen)return;const i=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===e||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,i instanceof Sd?(i._resetAnimation(),i.lazyContent?i._animationDone.pipe(It(o=>"void"===o.toState),Ot(1),tt(i.lazyContent._attached)).subscribe({next:()=>i.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),i.lazyContent&&i.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this.menu.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(){if(this.menu.setElevation){let e=0,i=this.menu.parentMenu;for(;i;)e++,i=i.parentMenu;this.menu.setElevation(e)}}_setIsMenuOpen(e){this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(e)}_checkMenu(){}_createOverlay(){if(!this._overlayRef){const e=this._getOverlayConfig();this._subscribeToPositions(e.positionStrategy),this._overlayRef=this._overlay.create(e),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(){return new Al({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:this.menu.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(e){this.menu.setPositionClasses&&e.positionChanges.subscribe(i=>{const o="start"===i.connectionPair.overlayX?"after":"before",r="top"===i.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>this.menu.setPositionClasses(o,r)):this.menu.setPositionClasses(o,r)})}_setPosition(e){let[i,o]="before"===this.menu.xPosition?["end","start"]:["start","end"],[r,s]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[a,l]=[r,s],[u,p]=[i,o],g=0;this.triggersSubmenu()?(p=i="before"===this.menu.xPosition?"start":"end",o=u="end"===i?"start":"end",g="bottom"===r?8:-8):this.menu.overlapTrigger||(a="top"===r?"bottom":"top",l="top"===s?"bottom":"top"),e.withPositions([{originX:i,originY:a,overlayX:u,overlayY:r,offsetY:g},{originX:o,originY:a,overlayX:p,overlayY:r,offsetY:g},{originX:i,originY:l,overlayX:u,overlayY:s,offsetY:-g},{originX:o,originY:l,overlayX:p,overlayY:s,offsetY:-g}])}_menuClosingActions(){const e=this._overlayRef.backdropClick(),i=this._overlayRef.detachments();return Tn(e,this._parentMaterialMenu?this._parentMaterialMenu.closed:We(),this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(It(s=>s!==this._menuItemInstance),It(()=>this._menuOpen)):We(),i)}_handleMousedown(e){V_(e)||(this._openedBy=0===e.button?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){const i=e.keyCode;(13===i||32===i)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(39===i&&"ltr"===this.dir||37===i&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(It(e=>e===this._menuItemInstance&&!e.disabled),Hb(0,Fb)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof Sd&&this.menu._isAnimating?this.menu._animationDone.pipe(Ot(1),Hb(0,Fb),tt(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(){return(!this._portal||this._portal.templateRef!==this.menu.templateRef)&&(this._portal=new Wr(this.menu.templateRef,this._viewContainerRef)),this._portal}}return t.\u0275fac=function(e){return new(e||t)(b(Qi),b(He),b(sn),b(UT),b(Ub,8),b(qr,10),b(ai,8),b(Ro),b(Je))},t.\u0275dir=oe({type:t,hostAttrs:["aria-haspopup","true"],hostVars:2,hostBindings:function(e,i){1&e&&N("click",function(r){return i._handleClick(r)})("mousedown",function(r){return i._handleMousedown(r)})("keydown",function(r){return i._handleKeydown(r)}),2&e&&et("aria-expanded",i.menuOpen||null)("aria-controls",i.menuOpen?i.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"],restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"}}),t})(),Nl=(()=>{class t extends J7{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-menu-trigger"],exportAs:["matMenuTrigger"],features:[Ce]}),t})(),GT=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[X7],imports:[[qi,ft,fa,Pl],Is,ft]}),t})();const eH=[[["caption"]],[["colgroup"],["col"]]],tH=["caption","colgroup, col"];function $b(t){return class extends t{constructor(...n){super(...n),this._sticky=!1,this._hasStickyChanged=!1}get sticky(){return this._sticky}set sticky(n){const e=this._sticky;this._sticky=Xe(n),this._hasStickyChanged=e!==this._sticky}hasStickyChanged(){const n=this._hasStickyChanged;return this._hasStickyChanged=!1,n}resetStickyChanged(){this._hasStickyChanged=!1}}}const Ll=new _e("CDK_TABLE");let Bl=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(b(rn))},t.\u0275dir=oe({type:t,selectors:[["","cdkCellDef",""]]}),t})(),Vl=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(b(rn))},t.\u0275dir=oe({type:t,selectors:[["","cdkHeaderCellDef",""]]}),t})(),dp=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(b(rn))},t.\u0275dir=oe({type:t,selectors:[["","cdkFooterCellDef",""]]}),t})();class rH{}const sH=$b(rH);let Kr=(()=>{class t extends sH{constructor(e){super(),this._table=e,this._stickyEnd=!1}get name(){return this._name}set name(e){this._setNameInput(e)}get stickyEnd(){return this._stickyEnd}set stickyEnd(e){const i=this._stickyEnd;this._stickyEnd=Xe(e),this._hasStickyChanged=i!==this._stickyEnd}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(e){e&&(this._name=e,this.cssClassFriendlyName=e.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}}return t.\u0275fac=function(e){return new(e||t)(b(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkColumnDef",""]],contentQueries:function(e,i,o){if(1&e&&(mt(o,Bl,5),mt(o,Vl,5),mt(o,dp,5)),2&e){let r;Fe(r=Ne())&&(i.cell=r.first),Fe(r=Ne())&&(i.headerCell=r.first),Fe(r=Ne())&&(i.footerCell=r.first)}},inputs:{sticky:"sticky",name:["cdkColumnDef","name"],stickyEnd:"stickyEnd"},features:[ze([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),Ce]}),t})();class Gb{constructor(n,e){e.nativeElement.classList.add(...n._columnCssClassName)}}let Wb=(()=>{class t extends Gb{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(b(Kr),b(He))},t.\u0275dir=oe({type:t,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[Ce]}),t})(),qb=(()=>{class t extends Gb{constructor(e,i){var o;if(super(e,i),1===(null===(o=e._table)||void 0===o?void 0:o._elementRef.nativeElement.nodeType)){const r=e._table._elementRef.nativeElement.getAttribute("role");i.nativeElement.setAttribute("role","grid"===r||"treegrid"===r?"gridcell":"cell")}}}return t.\u0275fac=function(e){return new(e||t)(b(Kr),b(He))},t.\u0275dir=oe({type:t,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[Ce]}),t})();class qT{constructor(){this.tasks=[],this.endTasks=[]}}const Kb=new _e("_COALESCED_STYLE_SCHEDULER");let KT=(()=>{class t{constructor(e){this._ngZone=e,this._currentSchedule=null,this._destroyed=new ie}schedule(e){this._createScheduleIfNeeded(),this._currentSchedule.tasks.push(e)}scheduleEnd(e){this._createScheduleIfNeeded(),this._currentSchedule.endTasks.push(e)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_createScheduleIfNeeded(){this._currentSchedule||(this._currentSchedule=new qT,this._getScheduleObservable().pipe(tt(this._destroyed)).subscribe(()=>{for(;this._currentSchedule.tasks.length||this._currentSchedule.endTasks.length;){const e=this._currentSchedule;this._currentSchedule=new qT;for(const i of e.tasks)i();for(const i of e.endTasks)i()}this._currentSchedule=null}))}_getScheduleObservable(){return this._ngZone.isStable?ui(Promise.resolve(void 0)):this._ngZone.onStable.pipe(Ot(1))}}return t.\u0275fac=function(e){return new(e||t)(Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),Zb=(()=>{class t{constructor(e,i){this.template=e,this._differs=i}ngOnChanges(e){if(!this._columnsDiffer){const i=e.columns&&e.columns.currentValue||[];this._columnsDiffer=this._differs.find(i).create(),this._columnsDiffer.diff(i)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(e){return this instanceof Md?e.headerCell.template:this instanceof xd?e.footerCell.template:e.cell.template}}return t.\u0275fac=function(e){return new(e||t)(b(rn),b(ko))},t.\u0275dir=oe({type:t,features:[nn]}),t})();class aH extends Zb{}const lH=$b(aH);let Md=(()=>{class t extends lH{constructor(e,i,o){super(e,i),this._table=o}ngOnChanges(e){super.ngOnChanges(e)}}return t.\u0275fac=function(e){return new(e||t)(b(rn),b(ko),b(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:["cdkHeaderRowDef","columns"],sticky:["cdkHeaderRowDefSticky","sticky"]},features:[Ce,nn]}),t})();class cH extends Zb{}const dH=$b(cH);let xd=(()=>{class t extends dH{constructor(e,i,o){super(e,i),this._table=o}ngOnChanges(e){super.ngOnChanges(e)}}return t.\u0275fac=function(e){return new(e||t)(b(rn),b(ko),b(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:["cdkFooterRowDef","columns"],sticky:["cdkFooterRowDefSticky","sticky"]},features:[Ce,nn]}),t})(),up=(()=>{class t extends Zb{constructor(e,i,o){super(e,i),this._table=o}}return t.\u0275fac=function(e){return new(e||t)(b(rn),b(ko),b(Ll,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkRowDef",""]],inputs:{columns:["cdkRowDefColumns","columns"],when:["cdkRowDefWhen","when"]},features:[Ce]}),t})(),Zr=(()=>{class t{constructor(e){this._viewContainer=e,t.mostRecentCellOutlet=this}ngOnDestroy(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)}}return t.mostRecentCellOutlet=null,t.\u0275fac=function(e){return new(e||t)(b(sn))},t.\u0275dir=oe({type:t,selectors:[["","cdkCellOutlet",""]]}),t})(),Qb=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ae({type:t,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&To(0,0)},directives:[Zr],encapsulation:2}),t})(),Xb=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ae({type:t,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&To(0,0)},directives:[Zr],encapsulation:2}),t})(),hp=(()=>{class t{constructor(e){this.templateRef=e,this._contentClassName="cdk-no-data-row"}}return t.\u0275fac=function(e){return new(e||t)(b(rn))},t.\u0275dir=oe({type:t,selectors:[["ng-template","cdkNoDataRow",""]]}),t})();const ZT=["top","bottom","left","right"];class uH{constructor(n,e,i,o,r=!0,s=!0,a){this._isNativeHtmlTable=n,this._stickCellCss=e,this.direction=i,this._coalescedStyleScheduler=o,this._isBrowser=r,this._needsPositionStickyOnElement=s,this._positionListener=a,this._cachedCellWidths=[],this._borderCellCss={top:`${e}-border-elem-top`,bottom:`${e}-border-elem-bottom`,left:`${e}-border-elem-left`,right:`${e}-border-elem-right`}}clearStickyPositioning(n,e){const i=[];for(const o of n)if(o.nodeType===o.ELEMENT_NODE){i.push(o);for(let r=0;r{for(const o of i)this._removeStickyStyle(o,e)})}updateStickyColumns(n,e,i,o=!0){if(!n.length||!this._isBrowser||!e.some(v=>v)&&!i.some(v=>v))return void(this._positionListener&&(this._positionListener.stickyColumnsUpdated({sizes:[]}),this._positionListener.stickyEndColumnsUpdated({sizes:[]})));const r=n[0],s=r.children.length,a=this._getCellWidths(r,o),l=this._getStickyStartColumnPositions(a,e),u=this._getStickyEndColumnPositions(a,i),p=e.lastIndexOf(!0),g=i.indexOf(!0);this._coalescedStyleScheduler.schedule(()=>{const v="rtl"===this.direction,C=v?"right":"left",M=v?"left":"right";for(const V of n)for(let K=0;Ke[K]?V:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:-1===g?[]:a.slice(g).map((V,K)=>i[K+g]?V:null).reverse()}))})}stickRows(n,e,i){if(!this._isBrowser)return;const o="bottom"===i?n.slice().reverse():n,r="bottom"===i?e.slice().reverse():e,s=[],a=[],l=[];for(let p=0,g=0;p{var p,g;for(let v=0;v{e.some(o=>!o)?this._removeStickyStyle(i,["bottom"]):this._addStickyStyle(i,"bottom",0,!1)})}_removeStickyStyle(n,e){for(const o of e)n.style[o]="",n.classList.remove(this._borderCellCss[o]);ZT.some(o=>-1===e.indexOf(o)&&n.style[o])?n.style.zIndex=this._getCalculatedZIndex(n):(n.style.zIndex="",this._needsPositionStickyOnElement&&(n.style.position=""),n.classList.remove(this._stickCellCss))}_addStickyStyle(n,e,i,o){n.classList.add(this._stickCellCss),o&&n.classList.add(this._borderCellCss[e]),n.style[e]=`${i}px`,n.style.zIndex=this._getCalculatedZIndex(n),this._needsPositionStickyOnElement&&(n.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(n){const e={top:100,bottom:10,left:1,right:1};let i=0;for(const o of ZT)n.style[o]&&(i+=e[o]);return i?`${i}`:""}_getCellWidths(n,e=!0){if(!e&&this._cachedCellWidths.length)return this._cachedCellWidths;const i=[],o=n.children;for(let r=0;r0;r--)e[r]&&(i[r]=o,o+=n[r]);return i}}const Jb=new _e("CDK_SPL");let pp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(He))},t.\u0275dir=oe({type:t,selectors:[["","rowOutlet",""]]}),t})(),fp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(He))},t.\u0275dir=oe({type:t,selectors:[["","headerRowOutlet",""]]}),t})(),mp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(He))},t.\u0275dir=oe({type:t,selectors:[["","footerRowOutlet",""]]}),t})(),gp=(()=>{class t{constructor(e,i){this.viewContainer=e,this.elementRef=i}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(He))},t.\u0275dir=oe({type:t,selectors:[["","noDataRowOutlet",""]]}),t})(),_p=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v,C){this._differs=e,this._changeDetectorRef=i,this._elementRef=o,this._dir=s,this._platform=l,this._viewRepeater=u,this._coalescedStyleScheduler=p,this._viewportRuler=g,this._stickyPositioningListener=v,this._ngZone=C,this._onDestroy=new ie,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._stickyColumnStylesNeedReset=!0,this._forceRecalculateCellWidths=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this.needsPositionStickyOnElement=!0,this._isShowingNoDataRow=!1,this._multiTemplateDataRows=!1,this._fixedLayout=!1,this.contentChanged=new Pe,this.viewChange=new vt({start:0,end:Number.MAX_VALUE}),r||this._elementRef.nativeElement.setAttribute("role","table"),this._document=a,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}get trackBy(){return this._trackByFn}set trackBy(e){this._trackByFn=e}get dataSource(){return this._dataSource}set dataSource(e){this._dataSource!==e&&this._switchDataSource(e)}get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(e){this._multiTemplateDataRows=Xe(e),this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}get fixedLayout(){return this._fixedLayout}set fixedLayout(e){this._fixedLayout=Xe(e),this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}ngOnInit(){this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create((e,i)=>this.trackBy?this.trackBy(i.dataIndex,i.data):i),this._viewportRuler.change().pipe(tt(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentChecked(){this._cacheRowDefs(),this._cacheColumnDefs();const i=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||i,this._forceRecalculateCellWidths=i,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}ngOnDestroy(){[this._rowOutlet.viewContainer,this._headerRowOutlet.viewContainer,this._footerRowOutlet.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(e=>{e.clear()}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._onDestroy.next(),this._onDestroy.complete(),Gh(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();const e=this._dataDiffer.diff(this._renderRows);if(!e)return this._updateNoDataRow(),void this.contentChanged.next();const i=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(e,i,(o,r,s)=>this._getEmbeddedViewArgs(o.item,s),o=>o.item.data,o=>{1===o.operation&&o.context&&this._renderCellTemplateForItem(o.record.item.rowDef,o.context)}),this._updateRowIndexContext(),e.forEachIdentityChange(o=>{i.get(o.currentIndex).context.$implicit=o.item.data}),this._updateNoDataRow(),this._ngZone&&Je.isInAngularZone()?this._ngZone.onStable.pipe(Ot(1),tt(this._onDestroy)).subscribe(()=>{this.updateStickyColumnStyles()}):this.updateStickyColumnStyles(),this.contentChanged.next()}addColumnDef(e){this._customColumnDefs.add(e)}removeColumnDef(e){this._customColumnDefs.delete(e)}addRowDef(e){this._customRowDefs.add(e)}removeRowDef(e){this._customRowDefs.delete(e)}addHeaderRowDef(e){this._customHeaderRowDefs.add(e),this._headerRowDefChanged=!0}removeHeaderRowDef(e){this._customHeaderRowDefs.delete(e),this._headerRowDefChanged=!0}addFooterRowDef(e){this._customFooterRowDefs.add(e),this._footerRowDefChanged=!0}removeFooterRowDef(e){this._customFooterRowDefs.delete(e),this._footerRowDefChanged=!0}setNoDataRow(e){this._customNoDataRow=e}updateStickyHeaderRowStyles(){const e=this._getRenderedRows(this._headerRowOutlet),o=this._elementRef.nativeElement.querySelector("thead");o&&(o.style.display=e.length?"":"none");const r=this._headerRowDefs.map(s=>s.sticky);this._stickyStyler.clearStickyPositioning(e,["top"]),this._stickyStyler.stickRows(e,r,"top"),this._headerRowDefs.forEach(s=>s.resetStickyChanged())}updateStickyFooterRowStyles(){const e=this._getRenderedRows(this._footerRowOutlet),o=this._elementRef.nativeElement.querySelector("tfoot");o&&(o.style.display=e.length?"":"none");const r=this._footerRowDefs.map(s=>s.sticky);this._stickyStyler.clearStickyPositioning(e,["bottom"]),this._stickyStyler.stickRows(e,r,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,r),this._footerRowDefs.forEach(s=>s.resetStickyChanged())}updateStickyColumnStyles(){const e=this._getRenderedRows(this._headerRowOutlet),i=this._getRenderedRows(this._rowOutlet),o=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this._fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...e,...i,...o],["left","right"]),this._stickyColumnStylesNeedReset=!1),e.forEach((r,s)=>{this._addStickyColumnStyles([r],this._headerRowDefs[s])}),this._rowDefs.forEach(r=>{const s=[];for(let a=0;a{this._addStickyColumnStyles([r],this._footerRowDefs[s])}),Array.from(this._columnDefsByName.values()).forEach(r=>r.resetStickyChanged())}_getAllRenderRows(){const e=[],i=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let o=0;o{const a=o&&o.has(s)?o.get(s):[];if(a.length){const l=a.shift();return l.dataIndex=i,l}return{data:e,rowDef:s,dataIndex:i}})}_cacheColumnDefs(){this._columnDefsByName.clear(),bp(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(i=>{this._columnDefsByName.has(i.name),this._columnDefsByName.set(i.name,i)})}_cacheRowDefs(){this._headerRowDefs=bp(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=bp(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=bp(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);const e=this._rowDefs.filter(i=>!i.when);this._defaultRowDef=e[0]}_renderUpdatedColumns(){const e=(s,a)=>s||!!a.getColumnsDiff(),i=this._rowDefs.reduce(e,!1);i&&this._forceRenderDataRows();const o=this._headerRowDefs.reduce(e,!1);o&&this._forceRenderHeaderRows();const r=this._footerRowDefs.reduce(e,!1);return r&&this._forceRenderFooterRows(),i||o||r}_switchDataSource(e){this._data=[],Gh(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),e||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=e}_observeRenderChanges(){if(!this.dataSource)return;let e;Gh(this.dataSource)?e=this.dataSource.connect(this):function zb(t){return!!t&&(t instanceof Ue||H(t.lift)&&H(t.subscribe))}(this.dataSource)?e=this.dataSource:Array.isArray(this.dataSource)&&(e=We(this.dataSource)),this._renderChangeSubscription=e.pipe(tt(this._onDestroy)).subscribe(i=>{this._data=i||[],this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((e,i)=>this._renderRow(this._headerRowOutlet,e,i)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((e,i)=>this._renderRow(this._footerRowOutlet,e,i)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(e,i){const o=Array.from(i.columns||[]).map(a=>this._columnDefsByName.get(a)),r=o.map(a=>a.sticky),s=o.map(a=>a.stickyEnd);this._stickyStyler.updateStickyColumns(e,r,s,!this._fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(e){const i=[];for(let o=0;o!r.when||r.when(i,e));else{let r=this._rowDefs.find(s=>s.when&&s.when(i,e))||this._defaultRowDef;r&&o.push(r)}return o}_getEmbeddedViewArgs(e,i){return{templateRef:e.rowDef.template,context:{$implicit:e.data},index:i}}_renderRow(e,i,o,r={}){const s=e.viewContainer.createEmbeddedView(i.template,r,o);return this._renderCellTemplateForItem(i,r),s}_renderCellTemplateForItem(e,i){for(let o of this._getCellTemplates(e))Zr.mostRecentCellOutlet&&Zr.mostRecentCellOutlet._viewContainer.createEmbeddedView(o,i);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){const e=this._rowOutlet.viewContainer;for(let i=0,o=e.length;i{const o=this._columnDefsByName.get(i);return e.extractCellTemplate(o)}):[]}_applyNativeTableSections(){const e=this._document.createDocumentFragment(),i=[{tag:"thead",outlets:[this._headerRowOutlet]},{tag:"tbody",outlets:[this._rowOutlet,this._noDataRowOutlet]},{tag:"tfoot",outlets:[this._footerRowOutlet]}];for(const o of i){const r=this._document.createElement(o.tag);r.setAttribute("role","rowgroup");for(const s of o.outlets)r.appendChild(s.elementRef.nativeElement);e.appendChild(r)}this._elementRef.nativeElement.appendChild(e)}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){const e=(i,o)=>i||o.hasStickyChanged();this._headerRowDefs.reduce(e,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(e,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(e,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){this._stickyStyler=new uH(this._isNativeHtmlTable,this.stickyCssClass,this._dir?this._dir.value:"ltr",this._coalescedStyleScheduler,this._platform.isBrowser,this.needsPositionStickyOnElement,this._stickyPositioningListener),(this._dir?this._dir.change:We()).pipe(tt(this._onDestroy)).subscribe(i=>{this._stickyStyler.direction=i,this.updateStickyColumnStyles()})}_getOwnDefs(e){return e.filter(i=>!i._table||i._table===this)}_updateNoDataRow(){const e=this._customNoDataRow||this._noDataRow;if(!e)return;const i=0===this._rowOutlet.viewContainer.length;if(i===this._isShowingNoDataRow)return;const o=this._noDataRowOutlet.viewContainer;if(i){const r=o.createEmbeddedView(e.templateRef),s=r.rootNodes[0];1===r.rootNodes.length&&(null==s?void 0:s.nodeType)===this._document.ELEMENT_NODE&&(s.setAttribute("role","row"),s.classList.add(e._contentClassName))}else o.clear();this._isShowingNoDataRow=i}}return t.\u0275fac=function(e){return new(e||t)(b(ko),b(At),b(He),Di("role"),b(ai,8),b(ht),b(dn),b(cd),b(Kb),b(yr),b(Jb,12),b(Je,8))},t.\u0275cmp=Ae({type:t,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(e,i,o){if(1&e&&(mt(o,hp,5),mt(o,Kr,5),mt(o,up,5),mt(o,Md,5),mt(o,xd,5)),2&e){let r;Fe(r=Ne())&&(i._noDataRow=r.first),Fe(r=Ne())&&(i._contentColumnDefs=r),Fe(r=Ne())&&(i._contentRowDefs=r),Fe(r=Ne())&&(i._contentHeaderRowDefs=r),Fe(r=Ne())&&(i._contentFooterRowDefs=r)}},viewQuery:function(e,i){if(1&e&&(Tt(pp,7),Tt(fp,7),Tt(mp,7),Tt(gp,7)),2&e){let o;Fe(o=Ne())&&(i._rowOutlet=o.first),Fe(o=Ne())&&(i._headerRowOutlet=o.first),Fe(o=Ne())&&(i._footerRowOutlet=o.first),Fe(o=Ne())&&(i._noDataRowOutlet=o.first)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(e,i){2&e&&rt("cdk-table-fixed-layout",i.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:"multiTemplateDataRows",fixedLayout:"fixedLayout"},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[ze([{provide:Ll,useExisting:t},{provide:cd,useClass:ux},{provide:Kb,useClass:KT},{provide:Jb,useValue:null}])],ngContentSelectors:tH,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(e,i){1&e&&(Jt(eH),ct(0),ct(1,1),To(2,0)(3,1)(4,2)(5,3))},directives:[fp,pp,gp,mp],styles:[".cdk-table-fixed-layout{table-layout:fixed}\n"],encapsulation:2}),t})();function bp(t,n){return t.concat(Array.from(n))}let pH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Nb]]}),t})();const fH=[[["caption"]],[["colgroup"],["col"]]],mH=["caption","colgroup, col"];let As=(()=>{class t extends _p{constructor(){super(...arguments),this.stickyCssClass="mat-table-sticky",this.needsPositionStickyOnElement=!1}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-table"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-table-fixed-layout",i.fixedLayout)},exportAs:["matTable"],features:[ze([{provide:cd,useClass:ux},{provide:_p,useExisting:t},{provide:Ll,useExisting:t},{provide:Kb,useClass:KT},{provide:Jb,useValue:null}]),Ce],ngContentSelectors:mH,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(e,i){1&e&&(Jt(fH),ct(0),ct(1,1),To(2,0)(3,1)(4,2)(5,3))},directives:[fp,pp,gp,mp],styles:["mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\n"],encapsulation:2}),t})(),Qr=(()=>{class t extends Bl{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matCellDef",""]],features:[ze([{provide:Bl,useExisting:t}]),Ce]}),t})(),Yr=(()=>{class t extends Vl{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matHeaderCellDef",""]],features:[ze([{provide:Vl,useExisting:t}]),Ce]}),t})(),Xr=(()=>{class t extends Kr{get name(){return this._name}set name(e){this._setNameInput(e)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matColumnDef",""]],inputs:{sticky:"sticky",name:["matColumnDef","name"]},features:[ze([{provide:Kr,useExisting:t},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),Ce]}),t})(),Jr=(()=>{class t extends Wb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-header-cell"],features:[Ce]}),t})(),es=(()=>{class t extends qb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:["role","gridcell",1,"mat-cell"],features:[Ce]}),t})(),Ps=(()=>{class t extends Md{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matHeaderRowDef",""]],inputs:{columns:["matHeaderRowDef","columns"],sticky:["matHeaderRowDefSticky","sticky"]},features:[ze([{provide:Md,useExisting:t}]),Ce]}),t})(),Rs=(()=>{class t extends up{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["","matRowDef",""]],inputs:{columns:["matRowDefColumns","columns"],when:["matRowDefWhen","when"]},features:[ze([{provide:up,useExisting:t}]),Ce]}),t})(),Fs=(()=>{class t extends Qb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-header-row"],exportAs:["matHeaderRow"],features:[ze([{provide:Qb,useExisting:t}]),Ce],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&To(0,0)},directives:[Zr],encapsulation:2}),t})(),Ns=(()=>{class t extends Xb{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-row"],exportAs:["matRow"],features:[ze([{provide:Xb,useExisting:t}]),Ce],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(e,i){1&e&&To(0,0)},directives:[Zr],encapsulation:2}),t})(),vp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[pH,ft],ft]}),t})();const YT=new _e("CdkAccordion");let xH=0,TH=(()=>{class t{constructor(e,i,o){this.accordion=e,this._changeDetectorRef=i,this._expansionDispatcher=o,this._openCloseAllSubscription=k.EMPTY,this.closed=new Pe,this.opened=new Pe,this.destroyed=new Pe,this.expandedChange=new Pe,this.id="cdk-accordion-child-"+xH++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=o.listen((r,s)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===s&&this.id!==r&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(e){e=Xe(e),this._expanded!==e&&(this._expanded=e,this.expandedChange.emit(e),e?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}}return t.\u0275fac=function(e){return new(e||t)(b(YT,12),b(At),b(sb))},t.\u0275dir=oe({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[ze([{provide:YT,useValue:void 0}])]}),t})(),kH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const EH=["body"];function IH(t,n){}const OH=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],AH=["mat-expansion-panel-header","*","mat-action-row"];function PH(t,n){1&t&&E(0,"span",2),2&t&&m("@indicatorRotate",D()._getExpandedState())}const RH=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],FH=["mat-panel-title","mat-panel-description","*"],XT=new _e("MAT_ACCORDION"),JT="225ms cubic-bezier(0.4,0.0,0.2,1)",ek={indicatorRotate:Oo("indicatorRotate",[jn("collapsed, void",Vt({transform:"rotate(0deg)"})),jn("expanded",Vt({transform:"rotate(180deg)"})),Kn("expanded <=> collapsed, void => collapsed",si(JT))]),bodyExpansion:Oo("bodyExpansion",[jn("collapsed, void",Vt({height:"0px",visibility:"hidden"})),jn("expanded",Vt({height:"*",visibility:"visible"})),Kn("expanded <=> collapsed, void => collapsed",si(JT))])};let NH=(()=>{class t{constructor(e){this._template=e}}return t.\u0275fac=function(e){return new(e||t)(b(rn))},t.\u0275dir=oe({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),LH=0;const tk=new _e("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let nk=(()=>{class t extends TH{constructor(e,i,o,r,s,a,l){super(e,i,o),this._viewContainerRef=r,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new Pe,this.afterCollapse=new Pe,this._inputChanges=new ie,this._headerId="mat-expansion-panel-header-"+LH++,this._bodyAnimationDone=new ie,this.accordion=e,this._document=s,this._bodyAnimationDone.pipe(nd((u,p)=>u.fromState===p.fromState&&u.toState===p.toState)).subscribe(u=>{"void"!==u.fromState&&("expanded"===u.toState?this.afterExpand.emit():"collapsed"===u.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=Xe(e)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Nn(null),It(()=>this.expanded&&!this._portal),Ot(1)).subscribe(()=>{this._portal=new Wr(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const e=this._document.activeElement,i=this._body.nativeElement;return e===i||i.contains(e)}return!1}}return t.\u0275fac=function(e){return new(e||t)(b(XT,12),b(At),b(sb),b(sn),b(ht),b(gn,8),b(tk,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(e,i,o){if(1&e&&mt(o,NH,5),2&e){let r;Fe(r=Ne())&&(i._lazyContent=r.first)}},viewQuery:function(e,i){if(1&e&&Tt(EH,5),2&e){let o;Fe(o=Ne())&&(i._body=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(e,i){2&e&&rt("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[ze([{provide:XT,useValue:void 0}]),Ce,nn],ngContentSelectors:AH,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(e,i){1&e&&(Jt(OH),ct(0),d(1,"div",0,1),N("@bodyExpansion.done",function(r){return i._bodyAnimationDone.next(r)}),d(3,"div",2),ct(4,1),_(5,IH,0,0,"ng-template",3),c(),ct(6,2),c()),2&e&&(f(1),m("@bodyExpansion",i._getExpandedState())("id",i.id),et("aria-labelledby",i._headerId),f(4),m("cdkPortalOutlet",i._portal))},directives:[Os],styles:['.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-content[style*="visibility: hidden"] *{visibility:hidden !important}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\n'],encapsulation:2,data:{animation:[ek.bodyExpansion]},changeDetection:0}),t})();class BH{}const VH=Ml(BH);let jH=(()=>{class t extends VH{constructor(e,i,o,r,s,a,l){super(),this.panel=e,this._element=i,this._focusMonitor=o,this._changeDetectorRef=r,this._animationMode=a,this._parentChangeSubscription=k.EMPTY;const u=e.accordion?e.accordion._stateChanges.pipe(It(p=>!(!p.hideToggle&&!p.togglePosition))):yo;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Tn(e.opened,e.closed,u,e._inputChanges.pipe(It(p=>!!(p.hideToggle||p.disabled||p.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(It(()=>e._containsFocus())).subscribe(()=>o.focusVia(i,"program")),s&&(this.expandedHeight=s.expandedHeight,this.collapsedHeight=s.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:fi(e)||(e.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e))}}focus(e,i){e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(b(nk,1),b(He),b(Ro),b(At),b(tk,8),b(gn,8),Di("tabindex"))},t.\u0275cmp=Ae({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(e,i){1&e&&N("click",function(){return i._toggle()})("keydown",function(r){return i._keydown(r)}),2&e&&(et("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),pi("height",i._getHeaderHeight()),rt("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[Ce],ngContentSelectors:FH,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(e,i){1&e&&(Jt(RH),d(0,"span",0),ct(1),ct(2,1),ct(3,2),c(),_(4,PH,1,1,"span",1)),2&e&&(f(4),m("ngIf",i._showToggle()))},directives:[Et],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}.cdk-high-contrast-active .mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}\n'],encapsulation:2,data:{animation:[ek.indicatorRotate]},changeDetection:0}),t})(),HH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),t})(),ik=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[qi,ft,kH,Cd]]}),t})();const UH=["*"],ok=new _e("MatChipRemove"),rk=new _e("MatChipAvatar"),sk=new _e("MatChipTrailingIcon");class zH{constructor(n){this._elementRef=n}}const $H=Ml($r(vr(zH),"primary"),-1);let Td=(()=>{class t extends $H{constructor(e,i,o,r,s,a,l,u){super(e),this._ngZone=i,this._changeDetectorRef=s,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new ie,this._onBlur=new ie,this.selectionChange=new Pe,this.destroyed=new Pe,this.removed=new Pe,this._addHostClassName(),this._chipRippleTarget=a.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new IM(this,i,this._chipRippleTarget,o),this._chipRipple.setupTriggerEvents(e),this.rippleConfig=r||{},this._animationsDisabled="NoopAnimations"===l,this.tabIndex=null!=u&&parseInt(u)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(e){const i=Xe(e);i!==this._selected&&(this._selected=i,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(e){this._value=e}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(e){this._selectable=Xe(e)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(e){this._disabled=Xe(e)}get removable(){return this._removable}set removable(e){this._removable=Xe(e)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const e="mat-basic-chip",i=this._elementRef.nativeElement;i.hasAttribute(e)||i.tagName.toLowerCase()===e?i.classList.add(e):i.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(e=!1){return this._selected=!this.selected,this._dispatchSelectionChange(e),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(e){this.disabled&&e.preventDefault()}_handleKeydown(e){if(!this.disabled)switch(e.keyCode){case 46:case 8:this.remove(),e.preventDefault();break;case 32:this.selectable&&this.toggleSelected(!0),e.preventDefault()}}_blur(){this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(e=!1){this.selectionChange.emit({source:this,isUserInput:e,selected:this._selected})}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Je),b(dn),b(OM,8),b(At),b(ht),b(gn,8),Di("tabindex"))},t.\u0275dir=oe({type:t,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(e,i,o){if(1&e&&(mt(o,rk,5),mt(o,sk,5),mt(o,ok,5)),2&e){let r;Fe(r=Ne())&&(i.avatar=r.first),Fe(r=Ne())&&(i.trailingIcon=r.first),Fe(r=Ne())&&(i.removeIcon=r.first)}},hostAttrs:["role","option",1,"mat-chip","mat-focus-indicator"],hostVars:14,hostBindings:function(e,i){1&e&&N("click",function(r){return i._handleClick(r)})("keydown",function(r){return i._handleKeydown(r)})("focus",function(){return i.focus()})("blur",function(){return i._blur()}),2&e&&(et("tabindex",i.disabled?null:i.tabIndex)("disabled",i.disabled||null)("aria-disabled",i.disabled.toString())("aria-selected",i.ariaSelected),rt("mat-chip-selected",i.selected)("mat-chip-with-avatar",i.avatar)("mat-chip-with-trailing-icon",i.trailingIcon||i.removeIcon)("mat-chip-disabled",i.disabled)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[Ce]}),t})(),ak=(()=>{class t{constructor(e,i){this._parentChip=e,"BUTTON"===i.nativeElement.nodeName&&i.nativeElement.setAttribute("type","button")}_handleClick(e){const i=this._parentChip;i.removable&&!i.disabled&&i.remove(),e.stopPropagation(),e.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(b(Td),b(He))},t.\u0275dir=oe({type:t,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(e,i){1&e&&N("click",function(r){return i._handleClick(r)})},features:[ze([{provide:ok,useExisting:t}])]}),t})();const lk=new _e("mat-chips-default-options");let qH=0,ck=(()=>{class t{constructor(e,i){this._elementRef=e,this._defaultOptions=i,this.focused=!1,this._addOnBlur=!1,this.separatorKeyCodes=this._defaultOptions.separatorKeyCodes,this.chipEnd=new Pe,this.placeholder="",this.id="mat-chip-list-input-"+qH++,this._disabled=!1,this.inputElement=this._elementRef.nativeElement}set chipList(e){e&&(this._chipList=e,this._chipList.registerInput(this))}get addOnBlur(){return this._addOnBlur}set addOnBlur(e){this._addOnBlur=Xe(e)}get disabled(){return this._disabled||this._chipList&&this._chipList.disabled}set disabled(e){this._disabled=Xe(e)}get empty(){return!this.inputElement.value}ngOnChanges(){this._chipList.stateChanges.next()}ngOnDestroy(){this.chipEnd.complete()}ngAfterContentInit(){this._focusLastChipOnBackspace=this.empty}_keydown(e){if(e){if(9===e.keyCode&&!fi(e,"shiftKey")&&this._chipList._allowFocusEscape(),8===e.keyCode&&this._focusLastChipOnBackspace)return this._chipList._keyManager.setLastItemActive(),void e.preventDefault();this._focusLastChipOnBackspace=!1}this._emitChipEnd(e)}_keyup(e){!this._focusLastChipOnBackspace&&8===e.keyCode&&this.empty&&(this._focusLastChipOnBackspace=!0,e.preventDefault())}_blur(){this.addOnBlur&&this._emitChipEnd(),this.focused=!1,this._chipList.focused||this._chipList._blur(),this._chipList.stateChanges.next()}_focus(){this.focused=!0,this._focusLastChipOnBackspace=this.empty,this._chipList.stateChanges.next()}_emitChipEnd(e){!this.inputElement.value&&!!e&&this._chipList._keydown(e),(!e||this._isSeparatorKey(e))&&(this.chipEnd.emit({input:this.inputElement,value:this.inputElement.value,chipInput:this}),null==e||e.preventDefault())}_onInput(){this._chipList.stateChanges.next()}focus(e){this.inputElement.focus(e)}clear(){this.inputElement.value="",this._focusLastChipOnBackspace=!0}_isSeparatorKey(e){return!fi(e)&&new Set(this.separatorKeyCodes).has(e.keyCode)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(lk))},t.\u0275dir=oe({type:t,selectors:[["input","matChipInputFor",""]],hostAttrs:[1,"mat-chip-input","mat-input-element"],hostVars:5,hostBindings:function(e,i){1&e&&N("keydown",function(r){return i._keydown(r)})("keyup",function(r){return i._keyup(r)})("blur",function(){return i._blur()})("focus",function(){return i._focus()})("input",function(){return i._onInput()}),2&e&&(Fr("id",i.id),et("disabled",i.disabled||null)("placeholder",i.placeholder||null)("aria-invalid",i._chipList&&i._chipList.ngControl?i._chipList.ngControl.invalid:null)("aria-required",i._chipList&&i._chipList.required||null))},inputs:{chipList:["matChipInputFor","chipList"],addOnBlur:["matChipInputAddOnBlur","addOnBlur"],separatorKeyCodes:["matChipInputSeparatorKeyCodes","separatorKeyCodes"],placeholder:"placeholder",id:"id",disabled:"disabled"},outputs:{chipEnd:"matChipInputTokenEnd"},exportAs:["matChipInput","matChipInputFor"],features:[nn]}),t})();const KH=z_(class{constructor(t,n,e,i){this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=e,this.ngControl=i}});let ZH=0;class QH{constructor(n,e){this.source=n,this.value=e}}let dk=(()=>{class t extends KH{constructor(e,i,o,r,s,a,l){super(a,r,s,l),this._elementRef=e,this._changeDetectorRef=i,this._dir=o,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new ie,this._uid="mat-chip-list-"+ZH++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(u,p)=>u===p,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new Pe,this.valueChange=new Pe,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){var e,i;return this.multiple?(null===(e=this._selectionModel)||void 0===e?void 0:e.selected)||[]:null===(i=this._selectionModel)||void 0===i?void 0:i.selected[0]}get role(){return this.empty?null:"listbox"}get multiple(){return this._multiple}set multiple(e){this._multiple=Xe(e),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this.writeValue(e),this._value=e}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){var e,i,o,r;return null!==(r=null!==(e=this._required)&&void 0!==e?e:null===(o=null===(i=this.ngControl)||void 0===i?void 0:i.control)||void 0===o?void 0:o.hasValidator(de.required))&&void 0!==r&&r}set required(e){this._required=Xe(e),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=Xe(e),this._syncChipsState()}get selectable(){return this._selectable}set selectable(e){this._selectable=Xe(e),this.chips&&this.chips.forEach(i=>i.chipListSelectable=this._selectable)}set tabIndex(e){this._userTabIndex=e,this._tabIndex=e}get chipSelectionChanges(){return Tn(...this.chips.map(e=>e.selectionChange))}get chipFocusChanges(){return Tn(...this.chips.map(e=>e._onFocus))}get chipBlurChanges(){return Tn(...this.chips.map(e=>e._onBlur))}get chipRemoveChanges(){return Tn(...this.chips.map(e=>e.destroyed))}ngAfterContentInit(){this._keyManager=new Nh(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe(tt(this._destroyed)).subscribe(e=>this._keyManager.withHorizontalOrientation(e)),this._keyManager.tabOut.pipe(tt(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe(Nn(null),tt(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new Tl(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(e){this._chipInput=e,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",e.id)}setDescribedByIds(e){this._ariaDescribedby=e.join(" ")}writeValue(e){this.chips&&this._setSelectionByValue(e,!1)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this.stateChanges.next()}onContainerClick(e){this._originatesFromChip(e)||this.focus()}focus(e){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(e),this.stateChanges.next()))}_focusInput(e){this._chipInput&&this._chipInput.focus(e)}_keydown(e){const i=e.target;i&&i.classList.contains("mat-chip")&&(this._keyManager.onKeydown(e),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const e=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(e)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(e){return e>=0&&eo.deselect()),Array.isArray(e))e.forEach(o=>this._selectValue(o,i)),this._sortValues();else{const o=this._selectValue(e,i);o&&i&&this._keyManager.setActiveItem(o)}}_selectValue(e,i=!0){const o=this.chips.find(r=>null!=r.value&&this._compareWith(r.value,e));return o&&(i?o.selectViaInteraction():o.select(),this._selectionModel.select(o)),o}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(e){this._selectionModel.clear(),this.chips.forEach(i=>{i!==e&&i.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(e=>{e.selected&&this._selectionModel.select(e)}),this.stateChanges.next())}_propagateChanges(e){let i=null;i=Array.isArray(this.selected)?this.selected.map(o=>o.value):this.selected?this.selected.value:e,this._value=i,this.change.emit(new QH(this,i)),this.valueChange.emit(i),this._onChange(i),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(e=>{e.source.selected?this._selectionModel.select(e.source):this._selectionModel.deselect(e.source),this.multiple||this.chips.forEach(i=>{!this._selectionModel.isSelected(i)&&i.selected&&i.deselect()}),e.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(e=>{let i=this.chips.toArray().indexOf(e.chip);this._isValidIndex(i)&&this._keyManager.updateActiveItem(i),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(e=>{const i=e.chip,o=this.chips.toArray().indexOf(e.chip);this._isValidIndex(o)&&i._hasFocus&&(this._lastDestroyedChipIndex=o)})}_originatesFromChip(e){let i=e.target;for(;i&&i!==this._elementRef.nativeElement;){if(i.classList.contains("mat-chip"))return!0;i=i.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(e=>e._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(e=>{e._chipListDisabled=this._disabled,e._chipListMultiple=this.multiple})}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(ai,8),b(ks,8),b(Sn,8),b(od),b(rr,10))},t.\u0275cmp=Ae({type:t,selectors:[["mat-chip-list"]],contentQueries:function(e,i,o){if(1&e&&mt(o,Td,5),2&e){let r;Fe(r=Ne())&&(i.chips=r)}},hostAttrs:[1,"mat-chip-list"],hostVars:15,hostBindings:function(e,i){1&e&&N("focus",function(){return i.focus()})("blur",function(){return i._blur()})("keydown",function(r){return i._keydown(r)}),2&e&&(Fr("id",i._uid),et("tabindex",i.disabled?null:i._tabIndex)("aria-describedby",i._ariaDescribedby||null)("aria-required",i.role?i.required:null)("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-multiselectable",i.multiple)("role",i.role)("aria-orientation",i.ariaOrientation),rt("mat-chip-list-disabled",i.disabled)("mat-chip-list-invalid",i.errorState)("mat-chip-list-required",i.required))},inputs:{errorStateMatcher:"errorStateMatcher",multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",ariaOrientation:["aria-orientation","ariaOrientation"],selectable:"selectable",tabIndex:"tabIndex"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[ze([{provide:gd,useExisting:t}]),Ce],ngContentSelectors:UH,decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(e,i){1&e&&(Jt(),d(0,"div",0),ct(1),c())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}._mat-animation-noopable.mat-standard-chip{transition:none;animation:none}.mat-standard-chip .mat-chip-remove{border:none;-webkit-appearance:none;-moz-appearance:none;padding:0;background:none}.mat-standard-chip .mat-chip-remove.mat-icon,.mat-standard-chip .mat-chip-remove .mat-icon{width:18px;height:18px;font-size:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip:focus{outline:dotted 2px}.cdk-high-contrast-active .mat-standard-chip.mat-chip-selected{outline-width:3px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden;transform:translateZ(0)}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}\n'],encapsulation:2,changeDetection:0}),t})(),ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[od,{provide:lk,useValue:{separatorKeyCodes:[13]}}],imports:[[ft]]}),t})();class uk extends class YH{constructor(){this.expansionModel=new Tl(!0)}toggle(n){this.expansionModel.toggle(this._trackByValue(n))}expand(n){this.expansionModel.select(this._trackByValue(n))}collapse(n){this.expansionModel.deselect(this._trackByValue(n))}isExpanded(n){return this.expansionModel.isSelected(this._trackByValue(n))}toggleDescendants(n){this.expansionModel.isSelected(this._trackByValue(n))?this.collapseDescendants(n):this.expandDescendants(n)}collapseAll(){this.expansionModel.clear()}expandDescendants(n){let e=[n];e.push(...this.getDescendants(n)),this.expansionModel.select(...e.map(i=>this._trackByValue(i)))}collapseDescendants(n){let e=[n];e.push(...this.getDescendants(n)),this.expansionModel.deselect(...e.map(i=>this._trackByValue(i)))}_trackByValue(n){return this.trackBy?this.trackBy(n):n}}{constructor(n,e,i){super(),this.getLevel=n,this.isExpandable=e,this.options=i,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(n){const i=[];for(let o=this.dataNodes.indexOf(n)+1;othis._trackByValue(n)))}}let n9=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),hk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[n9,ft],ft]}),t})();class d9{constructor(n,e,i,o){this.transformFunction=n,this.getLevel=e,this.isExpandable=i,this.getChildren=o}_flattenNode(n,e,i,o){const r=this.transformFunction(n,e);if(i.push(r),this.isExpandable(r)){const s=this.getChildren(n);s&&(Array.isArray(s)?this._flattenChildren(s,e,i,o):s.pipe(Ot(1)).subscribe(a=>{this._flattenChildren(a,e,i,o)}))}return i}_flattenChildren(n,e,i,o){n.forEach((r,s)=>{let a=o.slice();a.push(s!=n.length-1),this._flattenNode(r,e+1,i,a)})}flattenNodes(n){let e=[];return n.forEach(i=>this._flattenNode(i,0,e,[])),e}expandFlattenedNodes(n,e){let i=[],o=[];return o[0]=!0,n.forEach(r=>{let s=!0;for(let a=0;a<=this.getLevel(r);a++)s=s&&o[a];s&&i.push(r),this.isExpandable(r)&&(o[this.getLevel(r)+1]=e.isExpanded(r))}),i}}class pk extends class a8{}{constructor(n,e,i){super(),this._treeControl=n,this._treeFlattener=e,this._flattenedData=new vt([]),this._expandedData=new vt([]),this._data=new vt([]),i&&(this.data=i)}get data(){return this._data.value}set data(n){this._data.next(n),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(n){return Tn(n.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(je(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}function u9(t,n){1&t&&ct(0)}const fk=["*"];function h9(t,n){}const p9=function(t){return{animationDuration:t}},f9=function(t,n){return{value:t,params:n}},m9=["tabListContainer"],g9=["tabList"],_9=["tabListInner"],b9=["nextPaginator"],v9=["previousPaginator"],y9=["tabBodyWrapper"],C9=["tabHeader"];function w9(t,n){}function D9(t,n){1&t&&_(0,w9,0,0,"ng-template",10),2&t&&m("cdkPortalOutlet",D().$implicit.templateLabel)}function S9(t,n){1&t&&h(0),2&t&&Ee(D().$implicit.textLabel)}function M9(t,n){if(1&t){const e=pe();d(0,"div",6),N("click",function(){const o=se(e),r=o.$implicit,s=o.index,a=D(),l=$t(1);return a._handleClick(r,l,s)})("cdkFocusChange",function(o){const s=se(e).index;return D()._tabFocusChanged(o,s)}),d(1,"div",7),_(2,D9,1,1,"ng-template",8),_(3,S9,1,1,"ng-template",null,9,Bc),c()()}if(2&t){const e=n.$implicit,i=n.index,o=$t(4),r=D();rt("mat-tab-label-active",r.selectedIndex===i),m("id",r._getTabLabelId(i))("ngClass",e.labelClass)("disabled",e.disabled)("matRippleDisabled",e.disabled||r.disableRipple),et("tabIndex",r._getTabIndex(e,i))("aria-posinset",i+1)("aria-setsize",r._tabs.length)("aria-controls",r._getTabContentId(i))("aria-selected",r.selectedIndex===i)("aria-label",e.ariaLabel||null)("aria-labelledby",!e.ariaLabel&&e.ariaLabelledby?e.ariaLabelledby:null),f(2),m("ngIf",e.templateLabel)("ngIfElse",o)}}function x9(t,n){if(1&t){const e=pe();d(0,"mat-tab-body",11),N("_onCentered",function(){return se(e),D()._removeTabBodyWrapperHeight()})("_onCentering",function(o){return se(e),D()._setTabBodyWrapperHeight(o)}),c()}if(2&t){const e=n.$implicit,i=n.index,o=D();rt("mat-tab-body-active",o.selectedIndex===i),m("id",o._getTabContentId(i))("ngClass",e.bodyClass)("content",e.content)("position",e.position)("origin",e.origin)("animationDuration",o.animationDuration),et("tabindex",null!=o.contentTabIndex&&o.selectedIndex===i?o.contentTabIndex:null)("aria-labelledby",o._getTabLabelId(i))}}const T9=new _e("MatInkBarPositioner",{providedIn:"root",factory:function k9(){return n=>({left:n?(n.offsetLeft||0)+"px":"0",width:n?(n.offsetWidth||0)+"px":"0"})}});let mk=(()=>{class t{constructor(e,i,o,r){this._elementRef=e,this._ngZone=i,this._inkBarPositioner=o,this._animationMode=r}alignToElement(e){this.show(),this._ngZone.onStable.pipe(Ot(1)).subscribe(()=>{const i=this._inkBarPositioner(e),o=this._elementRef.nativeElement;o.style.left=i.left,o.style.width=i.width})}show(){this._elementRef.nativeElement.style.visibility="visible"}hide(){this._elementRef.nativeElement.style.visibility="hidden"}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Je),b(T9),b(gn,8))},t.\u0275dir=oe({type:t,selectors:[["mat-ink-bar"]],hostAttrs:[1,"mat-ink-bar"],hostVars:2,hostBindings:function(e,i){2&e&&rt("_mat-animation-noopable","NoopAnimations"===i._animationMode)}}),t})();const E9=new _e("MatTabContent"),gk=new _e("MatTabLabel"),_k=new _e("MAT_TAB");let bk=(()=>{class t extends a7{constructor(e,i,o){super(e,i),this._closestTab=o}}return t.\u0275fac=function(e){return new(e||t)(b(rn),b(sn),b(_k,8))},t.\u0275dir=oe({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[ze([{provide:gk,useExisting:t}]),Ce]}),t})();const I9=pa(class{}),vk=new _e("MAT_TAB_GROUP");let wp=(()=>{class t extends I9{constructor(e,i){super(),this._viewContainerRef=e,this._closestTabGroup=i,this.textLabel="",this._contentPortal=null,this._stateChanges=new ie,this.position=null,this.origin=null,this.isActive=!1}get templateLabel(){return this._templateLabel}set templateLabel(e){this._setTemplateLabelInput(e)}get content(){return this._contentPortal}ngOnChanges(e){(e.hasOwnProperty("textLabel")||e.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Wr(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(e){e&&e._closestTab===this&&(this._templateLabel=e)}}return t.\u0275fac=function(e){return new(e||t)(b(sn),b(vk,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-tab"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,gk,5),mt(o,E9,7,rn)),2&e){let r;Fe(r=Ne())&&(i.templateLabel=r.first),Fe(r=Ne())&&(i._explicitContent=r.first)}},viewQuery:function(e,i){if(1&e&&Tt(rn,7),2&e){let o;Fe(o=Ne())&&(i._implicitContent=o.first)}},inputs:{disabled:"disabled",textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},exportAs:["matTab"],features:[ze([{provide:_k,useExisting:t}]),Ce,nn],ngContentSelectors:fk,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),_(0,u9,1,0,"ng-template"))},encapsulation:2}),t})();const O9={translateTab:Oo("translateTab",[jn("center, void, left-origin-center, right-origin-center",Vt({transform:"none"})),jn("left",Vt({transform:"translate3d(-100%, 0, 0)",minHeight:"1px"})),jn("right",Vt({transform:"translate3d(100%, 0, 0)",minHeight:"1px"})),Kn("* => left, * => right, left => center, right => center",si("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Kn("void => left-origin-center",[Vt({transform:"translate3d(-100%, 0, 0)"}),si("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Kn("void => right-origin-center",[Vt({transform:"translate3d(100%, 0, 0)"}),si("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let A9=(()=>{class t extends Os{constructor(e,i,o,r){super(e,i,r),this._host=o,this._centeringSub=k.EMPTY,this._leavingSub=k.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(Nn(this._host._isCenterPosition(this._host._position))).subscribe(e=>{e&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(b(gs),b(sn),b(zt(()=>yk)),b(ht))},t.\u0275dir=oe({type:t,selectors:[["","matTabBodyHost",""]],features:[Ce]}),t})(),P9=(()=>{class t{constructor(e,i,o){this._elementRef=e,this._dir=i,this._dirChangeSubscription=k.EMPTY,this._translateTabComplete=new ie,this._onCentering=new Pe,this._beforeCentering=new Pe,this._afterLeavingCenter=new Pe,this._onCentered=new Pe(!0),this.animationDuration="500ms",i&&(this._dirChangeSubscription=i.change.subscribe(r=>{this._computePositionAnimationState(r),o.markForCheck()})),this._translateTabComplete.pipe(nd((r,s)=>r.fromState===s.fromState&&r.toState===s.toState)).subscribe(r=>{this._isCenterPosition(r.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(r.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}set position(e){this._positionIndex=e,this._computePositionAnimationState()}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(e){const i=this._isCenterPosition(e.toState);this._beforeCentering.emit(i),i&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(e){return"center"==e||"left-origin-center"==e||"right-origin-center"==e}_computePositionAnimationState(e=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==e?"left":"right":this._positionIndex>0?"ltr"==e?"right":"left":"center"}_computePositionFromOrigin(e){const i=this._getLayoutDirection();return"ltr"==i&&e<=0||"rtl"==i&&e>0?"left-origin-center":"right-origin-center"}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(ai,8),b(At))},t.\u0275dir=oe({type:t,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),t})(),yk=(()=>{class t extends P9{constructor(e,i,o){super(e,i,o)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(ai,8),b(At))},t.\u0275cmp=Ae({type:t,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(1&e&&Tt(Os,5),2&e){let o;Fe(o=Ne())&&(i._portalHost=o.first)}},hostAttrs:[1,"mat-tab-body"],features:[Ce],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(e,i){1&e&&(d(0,"div",0,1),N("@translateTab.start",function(r){return i._onTranslateTabStarted(r)})("@translateTab.done",function(r){return i._translateTabComplete.next(r)}),_(2,h9,0,0,"ng-template",2),c()),2&e&&m("@translateTab",Tw(3,f9,i._position,Kt(1,p9,i.animationDuration)))},directives:[A9],styles:['.mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*="visibility: hidden"]{display:none}\n'],encapsulation:2,data:{animation:[O9.translateTab]}}),t})();const Ck=new _e("MAT_TABS_CONFIG"),R9=pa(class{});let wk=(()=>{class t extends R9{constructor(e){super(),this.elementRef=e}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return t.\u0275fac=function(e){return new(e||t)(b(He))},t.\u0275dir=oe({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,i){2&e&&(et("aria-disabled",!!i.disabled),rt("mat-tab-disabled",i.disabled))},inputs:{disabled:"disabled"},features:[Ce]}),t})();const Dk=ca({passive:!0});let L9=(()=>{class t{constructor(e,i,o,r,s,a,l){this._elementRef=e,this._changeDetectorRef=i,this._viewportRuler=o,this._dir=r,this._ngZone=s,this._platform=a,this._animationMode=l,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new ie,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new ie,this.disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new Pe,this.indexFocused=new Pe,s.runOutsideAngular(()=>{Ki(e.nativeElement,"mouseleave").pipe(tt(this._destroyed)).subscribe(()=>{this._stopInterval()})})}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){e=Zn(e),this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}ngAfterViewInit(){Ki(this._previousPaginator.nativeElement,"touchstart",Dk).pipe(tt(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),Ki(this._nextPaginator.nativeElement,"touchstart",Dk).pipe(tt(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const e=this._dir?this._dir.change:We("ltr"),i=this._viewportRuler.change(150),o=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new Nh(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap(),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe(Ot(1)).subscribe(o),Tn(e,i,this._items.changes,this._itemsResized()).pipe(tt(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),o()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.pipe(tt(this._destroyed)).subscribe(r=>{this.indexFocused.emit(r),this._setTabFocus(r)})}_itemsResized(){return"function"!=typeof ResizeObserver?yo:this._items.changes.pipe(Nn(this._items),Li(e=>new Ue(i=>this._ngZone.runOutsideAngular(()=>{const o=new ResizeObserver(()=>{i.next()});return e.forEach(r=>{o.observe(r.elementRef.nativeElement)}),()=>{o.disconnect()}}))),F_(1))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(e){if(!fi(e))switch(e.keyCode){case 13:case 32:this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(e));break;default:this._keyManager.onKeydown(e)}}_onContentChanges(){const e=this._elementRef.nativeElement.textContent;e!==this._currentTextContent&&(this._currentTextContent=e||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(e){!this._isValidIndex(e)||this.focusIndex===e||!this._keyManager||this._keyManager.setActiveItem(e)}_isValidIndex(e){if(!this._items)return!0;const i=this._items?this._items.toArray()[e]:null;return!!i&&!i.disabled}_setTabFocus(e){if(this._showPaginationControls&&this._scrollToLabel(e),this._items&&this._items.length){this._items.toArray()[e].focus();const i=this._tabListContainer.nativeElement;i.scrollLeft="ltr"==this._getLayoutDirection()?0:i.scrollWidth-i.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const e=this.scrollDistance,i="ltr"===this._getLayoutDirection()?-e:e;this._tabList.nativeElement.style.transform=`translateX(${Math.round(i)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(e){this._scrollTo(e)}_scrollHeader(e){return this._scrollTo(this._scrollDistance+("before"==e?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(e){this._stopInterval(),this._scrollHeader(e)}_scrollToLabel(e){if(this.disablePagination)return;const i=this._items?this._items.toArray()[e]:null;if(!i)return;const o=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:r,offsetWidth:s}=i.elementRef.nativeElement;let a,l;"ltr"==this._getLayoutDirection()?(a=r,l=a+s):(l=this._tabListInner.nativeElement.offsetWidth-r,a=l-s);const u=this.scrollDistance,p=this.scrollDistance+o;ap&&(this.scrollDistance+=l-p+60)}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const e=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;e||(this.scrollDistance=0),e!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=e}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const e=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,i=e?e.elementRef.nativeElement:null;i?this._inkBar.alignToElement(i):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(e,i){i&&null!=i.button&&0!==i.button||(this._stopInterval(),op(650,100).pipe(tt(Tn(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:o,distance:r}=this._scrollHeader(e);(0===r||r>=o)&&this._stopInterval()}))}_scrollTo(e){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const i=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(i,e)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:i,distance:this._scrollDistance}}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(yr),b(ai,8),b(Je),b(dn),b(gn,8))},t.\u0275dir=oe({type:t,inputs:{disablePagination:"disablePagination"}}),t})(),B9=(()=>{class t extends L9{constructor(e,i,o,r,s,a,l){super(e,i,o,r,s,a,l),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Xe(e)}_itemSelected(e){e.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(yr),b(ai,8),b(Je),b(dn),b(gn,8))},t.\u0275dir=oe({type:t,inputs:{disableRipple:"disableRipple"},features:[Ce]}),t})(),V9=(()=>{class t extends B9{constructor(e,i,o,r,s,a,l){super(e,i,o,r,s,a,l)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(yr),b(ai,8),b(Je),b(dn),b(gn,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-tab-header"]],contentQueries:function(e,i,o){if(1&e&&mt(o,wk,4),2&e){let r;Fe(r=Ne())&&(i._items=r)}},viewQuery:function(e,i){if(1&e&&(Tt(mk,7),Tt(m9,7),Tt(g9,7),Tt(_9,7),Tt(b9,5),Tt(v9,5)),2&e){let o;Fe(o=Ne())&&(i._inkBar=o.first),Fe(o=Ne())&&(i._tabListContainer=o.first),Fe(o=Ne())&&(i._tabList=o.first),Fe(o=Ne())&&(i._tabListInner=o.first),Fe(o=Ne())&&(i._nextPaginator=o.first),Fe(o=Ne())&&(i._previousPaginator=o.first)}},hostAttrs:[1,"mat-tab-header"],hostVars:4,hostBindings:function(e,i){2&e&&rt("mat-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-tab-header-rtl","rtl"==i._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[Ce],ngContentSelectors:fk,decls:14,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(e,i){1&e&&(Jt(),d(0,"button",0,1),N("click",function(){return i._handlePaginatorClick("before")})("mousedown",function(r){return i._handlePaginatorPress("before",r)})("touchend",function(){return i._stopInterval()}),E(2,"div",2),c(),d(3,"div",3,4),N("keydown",function(r){return i._handleKeydown(r)}),d(5,"div",5,6),N("cdkObserveContent",function(){return i._onContentChanges()}),d(7,"div",7,8),ct(9),c(),E(10,"mat-ink-bar"),c()(),d(11,"button",9,10),N("mousedown",function(r){return i._handlePaginatorPress("after",r)})("click",function(){return i._handlePaginatorClick("after")})("touchend",function(){return i._stopInterval()}),E(13,"div",2),c()),2&e&&(rt("mat-tab-header-pagination-disabled",i._disableScrollBefore),m("matRippleDisabled",i._disableScrollBefore||i.disableRipple)("disabled",i._disableScrollBefore||null),f(5),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode),f(6),rt("mat-tab-header-pagination-disabled",i._disableScrollAfter),m("matRippleDisabled",i._disableScrollAfter||i.disableRipple)("disabled",i._disableScrollAfter||null))},directives:[or,N_,mk],styles:[".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n"],encapsulation:2}),t})(),j9=0;class H9{}const U9=$r(vr(class{constructor(t){this._elementRef=t}}),"primary");let z9=(()=>{class t extends U9{constructor(e,i,o,r){var s;super(e),this._changeDetectorRef=i,this._animationMode=r,this._tabs=new vs,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=k.EMPTY,this._tabLabelSubscription=k.EMPTY,this._selectedIndex=null,this.headerPosition="above",this.selectedIndexChange=new Pe,this.focusChange=new Pe,this.animationDone=new Pe,this.selectedTabChange=new Pe(!0),this._groupId=j9++,this.animationDuration=o&&o.animationDuration?o.animationDuration:"500ms",this.disablePagination=!(!o||null==o.disablePagination)&&o.disablePagination,this.dynamicHeight=!(!o||null==o.dynamicHeight)&&o.dynamicHeight,this.contentTabIndex=null!==(s=null==o?void 0:o.contentTabIndex)&&void 0!==s?s:null}get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(e){this._dynamicHeight=Xe(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){this._indexToSelect=Zn(e,null)}get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e+"")?e+"ms":e}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(e){this._contentTabIndex=Zn(e,null)}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){const i=this._elementRef.nativeElement;i.classList.remove(`mat-background-${this.backgroundColor}`),e&&i.classList.add(`mat-background-${e}`),this._backgroundColor=e}ngAfterContentChecked(){const e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){const i=null==this._selectedIndex;if(!i){this.selectedTabChange.emit(this._createChangeEvent(e));const o=this._tabBodyWrapper.nativeElement;o.style.minHeight=o.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((o,r)=>o.isActive=r===e),i||(this.selectedIndexChange.emit(e),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,o)=>{i.position=o-e,null!=this._selectedIndex&&0==i.position&&!i.origin&&(i.origin=e-this._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const e=this._clampTabIndex(this._indexToSelect);if(e===this._selectedIndex){const i=this._tabs.toArray();let o;for(let r=0;r{i[e].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(e))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(Nn(this._allTabs)).subscribe(e=>{this._tabs.reset(e.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(e){const i=this._tabHeader;i&&(i.focusIndex=e)}_focusChanged(e){this._lastFocusedTabIndex=e,this.focusChange.emit(this._createChangeEvent(e))}_createChangeEvent(e){const i=new H9;return i.index=e,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[e]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=Tn(...this._tabs.map(e=>e._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(e){return Math.min(this._tabs.length-1,Math.max(e||0,0))}_getTabLabelId(e){return`mat-tab-label-${this._groupId}-${e}`}_getTabContentId(e){return`mat-tab-content-${this._groupId}-${e}`}_setTabBodyWrapperHeight(e){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=e+"px")}_removeTabBodyWrapperHeight(){const e=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=e.clientHeight,e.style.height="",this.animationDone.emit()}_handleClick(e,i,o){e.disabled||(this.selectedIndex=i.focusIndex=o)}_getTabIndex(e,i){var o;return e.disabled?null:i===(null!==(o=this._lastFocusedTabIndex)&&void 0!==o?o:this.selectedIndex)?0:-1}_tabFocusChanged(e,i){e&&"mouse"!==e&&"touch"!==e&&(this._tabHeader.focusIndex=i)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(Ck,8),b(gn,8))},t.\u0275dir=oe({type:t,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[Ce]}),t})(),rv=(()=>{class t extends z9{constructor(e,i,o,r){super(e,i,o,r)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(Ck,8),b(gn,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-tab-group"]],contentQueries:function(e,i,o){if(1&e&&mt(o,wp,5),2&e){let r;Fe(r=Ne())&&(i._allTabs=r)}},viewQuery:function(e,i){if(1&e&&(Tt(y9,5),Tt(C9,5)),2&e){let o;Fe(o=Ne())&&(i._tabBodyWrapper=o.first),Fe(o=Ne())&&(i._tabHeader=o.first)}},hostAttrs:[1,"mat-tab-group"],hostVars:4,hostBindings:function(e,i){2&e&&rt("mat-tab-group-dynamic-height",i.dynamicHeight)("mat-tab-group-inverted-header","below"===i.headerPosition)},inputs:{color:"color",disableRipple:"disableRipple"},exportAs:["matTabGroup"],features:[ze([{provide:vk,useExisting:t}]),Ce],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mat-tab-label mat-focus-indicator","role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",3,"id","mat-tab-label-active","ngClass","disabled","matRippleDisabled","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-tab-body-active","ngClass","content","position","origin","animationDuration","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",1,"mat-tab-label","mat-focus-indicator",3,"id","ngClass","disabled","matRippleDisabled","click","cdkFocusChange"],[1,"mat-tab-label-content"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","_onCentered","_onCentering"]],template:function(e,i){1&e&&(d(0,"mat-tab-header",0,1),N("indexFocused",function(r){return i._focusChanged(r)})("selectFocusedIndex",function(r){return i.selectedIndex=r}),_(2,M9,5,15,"div",2),c(),d(3,"div",3,4),_(5,x9,1,10,"mat-tab-body",5),c()),2&e&&(m("selectedIndex",i.selectedIndex||0)("disableRipple",i.disableRipple)("disablePagination",i.disablePagination),f(2),m("ngForOf",i._tabs),f(1),rt("_mat-animation-noopable","NoopAnimations"===i._animationMode),f(2),m("ngForOf",i._tabs))},directives:[V9,yk,ri,wk,or,UV,nr,Et,Os],styles:[".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\n"],encapsulation:2}),t})(),Mk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[qi,ft,Cd,fa,Ph,SM],ft]}),t})();function xk(...t){const n=Yl(t),e=Qv(t),{args:i,keys:o}=VM(t);if(0===i.length)return ui([],n);const r=new Ue(function $9(t,n,e=Me){return i=>{Tk(n,()=>{const{length:o}=t,r=new Array(o);let s=o,a=o;for(let l=0;l{const u=ui(t[l],n);let p=!1;u.subscribe(st(i,g=>{r[l]=g,p||(p=!0,a--),a||i.next(e(r.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,o?s=>jM(o,s):Me));return e?r.pipe(Q_(e)):r}function Tk(t,n,e){t?kr(e,t,n):n()}const kk=new Set;let jl,G9=(()=>{class t{constructor(e){this._platform=e,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q9}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function W9(t){if(!kk.has(t))try{jl||(jl=document.createElement("style"),jl.setAttribute("type","text/css"),document.head.appendChild(jl)),jl.sheet&&(jl.sheet.insertRule(`@media ${t} {body{ }}`,0),kk.add(t))}catch(n){console.error(n)}}(e),this._matchMedia(e)}}return t.\u0275fac=function(e){return new(e||t)(Q(dn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function q9(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let sv=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new ie}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return Ek(Ah(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let r=xk(Ek(Ah(e)).map(s=>this._registerQuery(s).observable));return r=id(r.pipe(Ot(1)),r.pipe(F_(1),Oh(0))),r.pipe(je(s=>{const a={matches:!1,breakpoints:{}};return s.forEach(({matches:l,query:u})=>{a.matches=a.matches||l,a.breakpoints[u]=l}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),r={observable:new Ue(s=>{const a=l=>this._zone.run(()=>s.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(Nn(i),je(({matches:s})=>({query:e,matches:s})),tt(this._destroySubject)),mql:i};return this._queries.set(e,r),r}}return t.\u0275fac=function(e){return new(e||t)(Q(G9),Q(Je))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function Ek(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function K9(t,n){if(1&t){const e=pe();d(0,"div",2)(1,"button",3),N("click",function(){return se(e),D().action()}),h(2),c()()}if(2&t){const e=D();f(2),Ee(e.data.action)}}function Z9(t,n){}const Ok=new _e("MatSnackBarData");class Dp{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const Q9=Math.pow(2,31)-1;class av{constructor(n,e){this._overlayRef=e,this._afterDismissed=new ie,this._afterOpened=new ie,this._onAction=new ie,this._dismissedByAction=!1,this.containerInstance=n,n._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(n){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(n,Q9))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let Y9=(()=>{class t{constructor(e,i){this.snackBarRef=e,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(b(av),b(Ok))},t.\u0275cmp=Ae({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[[1,"mat-simple-snack-bar-content"],["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(e,i){1&e&&(d(0,"span",0),h(1),c(),_(2,K9,3,1,"div",1)),2&e&&(f(1),Ee(i.data.message),f(1),m("ngIf",i.hasAction))},directives:[Ht,Et],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0}),t})();const X9={snackBarState:Oo("state",[jn("void, hidden",Vt({transform:"scale(0.8)",opacity:0})),jn("visible",Vt({transform:"scale(1)",opacity:1})),Kn("* => visible",si("150ms cubic-bezier(0, 0, 0.2, 1)")),Kn("* => void, * => hidden",si("75ms cubic-bezier(0.4, 0.0, 1, 1)",Vt({opacity:0})))])};let J9=(()=>{class t extends ap{constructor(e,i,o,r,s){super(),this._ngZone=e,this._elementRef=i,this._changeDetectorRef=o,this._platform=r,this.snackBarConfig=s,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new ie,this._onExit=new ie,this._onEnter=new ie,this._animationState="void",this.attachDomPortal=a=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(a)),this._live="assertive"!==s.politeness||s.announcementMessage?"off"===s.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(e)}attachTemplatePortal(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(e)}onAnimationEnd(e){const{fromState:i,toState:o}=e;if(("void"===o&&"void"!==i||"hidden"===o)&&this._completeExit(),"visible"===o){const r=this._onEnter;this._ngZone.run(()=>{r.next(),r.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(Ot(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_applySnackBarClasses(){const e=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(o=>e.classList.add(o)):e.classList.add(i)),"center"===this.snackBarConfig.horizontalPosition&&e.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&e.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const e=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(e&&i){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(o=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),null==o||o.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(b(Je),b(He),b(At),b(dn),b(Dp))},t.\u0275cmp=Ae({type:t,selectors:[["snack-bar-container"]],viewQuery:function(e,i){if(1&e&&Tt(Os,7),2&e){let o;Fe(o=Ne())&&(i._portalOutlet=o.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(e,i){1&e&&Tc("@state.done",function(r){return i.onAnimationEnd(r)}),2&e&&Ec("@state",i._animationState)},features:[Ce],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(d(0,"div",0),_(1,Z9,0,0,"ng-template",1),c(),E(2,"div")),2&e&&(f(2),et("aria-live",i._live)("role",i._role))},directives:[Os],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[X9.snackBarState]}}),t})(),lv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[Pl,Cd,qi,Z_,ft],ft]}),t})();const Ak=new _e("mat-snack-bar-default-options",{providedIn:"root",factory:function eU(){return new Dp}});let tU=(()=>{class t{constructor(e,i,o,r,s,a){this._overlay=e,this._live=i,this._injector=o,this._breakpointObserver=r,this._parentSnackBar=s,this._defaultConfig=a,this._snackBarRefAtThisLevel=null}get _openedSnackBarRef(){const e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}openFromComponent(e,i){return this._attach(e,i)}openFromTemplate(e,i){return this._attach(e,i)}open(e,i="",o){const r=Object.assign(Object.assign({},this._defaultConfig),o);return r.data={message:e,action:i},r.announcementMessage===e&&(r.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,r)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,i){const r=pn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:Dp,useValue:i}]}),s=new Ol(this.snackBarContainerComponent,i.viewContainerRef,r),a=e.attach(s);return a.instance.snackBarConfig=i,a.instance}_attach(e,i){const o=Object.assign(Object.assign(Object.assign({},new Dp),this._defaultConfig),i),r=this._createOverlay(o),s=this._attachSnackBarContainer(r,o),a=new av(s,r);if(e instanceof rn){const l=new Wr(e,null,{$implicit:o.data,snackBarRef:a});a.instance=s.attachTemplatePortal(l)}else{const l=this._createInjector(o,a),u=new Ol(e,void 0,l),p=s.attachComponentPortal(u);a.instance=p.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(tt(r.detachments())).subscribe(l=>{r.overlayElement.classList.toggle(this.handsetCssClass,l.matches)}),o.announcementMessage&&s._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(a,o),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(e,i){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),i.duration&&i.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(i.duration))}_createOverlay(e){const i=new Al;i.direction=e.direction;let o=this._overlay.position().global();const r="rtl"===e.direction,s="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!r||"end"===e.horizontalPosition&&r,a=!s&&"center"!==e.horizontalPosition;return s?o.left("0"):a?o.right("0"):o.centerHorizontally(),"top"===e.verticalPosition?o.top("0"):o.bottom("0"),i.positionStrategy=o,this._overlay.create(i)}_createInjector(e,i){return pn.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:av,useValue:i},{provide:Ok,useValue:e.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Q(Qi),Q(H_),Q(pn),Q(sv),Q(t,12),Q(Ak))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),nU=(()=>{class t extends tU{constructor(e,i,o,r,s,a){super(e,i,o,r,s,a),this.simpleSnackBarComponent=Y9,this.snackBarContainerComponent=J9,this.handsetCssClass="mat-snack-bar-handset"}}return t.\u0275fac=function(e){return new(e||t)(Q(Qi),Q(H_),Q(pn),Q(sv),Q(t,12),Q(Ak))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:lv}),t})();function iU(t,n){}class cv{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}const oU={dialogContainer:Oo("dialogContainer",[jn("void, exit",Vt({opacity:0,transform:"scale(0.7)"})),jn("enter",Vt({transform:"none"})),Kn("* => enter",_S([si("150ms cubic-bezier(0, 0, 0.2, 1)",Vt({transform:"none",opacity:1})),e_("@*",Jg(),{optional:!0})])),Kn("* => void, * => exit",_S([si("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",Vt({opacity:0})),e_("@*",Jg(),{optional:!0})]))])};let rU=(()=>{class t extends ap{constructor(e,i,o,r,s,a,l,u){super(),this._elementRef=e,this._focusTrapFactory=i,this._changeDetectorRef=o,this._config=s,this._interactivityChecker=a,this._ngZone=l,this._focusMonitor=u,this._animationStateChanged=new Pe,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=p=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(p)),this._ariaLabelledBy=s.ariaLabelledBy||null,this._document=r}_initializeWithAttachedContent(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=k_())}attachComponentPortal(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(e)}attachTemplatePortal(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(e)}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const o=()=>{e.removeEventListener("blur",o),e.removeEventListener("mousedown",o),e.removeAttribute("tabindex")};e.addEventListener("blur",o),e.addEventListener("mousedown",o)})),e.focus(i)}_focusByCssSelector(e,i){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,i)}_trapFocus(){const e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const e=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&e&&"function"==typeof e.focus){const i=k_(),o=this._elementRef.nativeElement;(!i||i===this._document.body||i===o||o.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const e=this._elementRef.nativeElement,i=k_();return e===i||e.contains(i)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(vM),b(At),b(ht,8),b(cv),b(B_),b(Je),b(Ro))},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&Tt(Os,7),2&e){let o;Fe(o=Ne())&&(i._portalOutlet=o.first)}},features:[Ce]}),t})(),sU=(()=>{class t extends rU{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:e,totalTime:i}){"enter"===e?(this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===e&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:e,totalTime:i}){"enter"===e?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===e||"void"===e)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}_initializeWithAttachedContent(){super._initializeWithAttachedContent(),this._config.delayFocusTrap||this._trapFocus()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(e,i){1&e&&Tc("@dialogContainer.start",function(r){return i._onAnimationStart(r)})("@dialogContainer.done",function(r){return i._onAnimationDone(r)}),2&e&&(Fr("id",i._id),et("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),Ec("@dialogContainer",i._state))},features:[Ce],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,i){1&e&&_(0,iU,0,0,"ng-template",0)},directives:[Os],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[oU.dialogContainer]}}),t})(),aU=0;class Ti{constructor(n,e,i="mat-dialog-"+aU++){this._overlayRef=n,this._containerInstance=e,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new ie,this._afterClosed=new ie,this._beforeClosed=new ie,this._state=0,e._id=i,e._animationStateChanged.pipe(It(o=>"opened"===o.state),Ot(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(It(o=>"closed"===o.state),Ot(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),n.keydownEvents().pipe(It(o=>27===o.keyCode&&!this.disableClose&&!fi(o))).subscribe(o=>{o.preventDefault(),dv(this,"keyboard")}),n.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():dv(this,"mouse")})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe(It(e=>"closing"===e.state),Ot(1)).subscribe(e=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(n){let e=this._getPositionStrategy();return n&&(n.left||n.right)?n.left?e.left(n.left):e.right(n.right):e.centerHorizontally(),n&&(n.top||n.bottom)?n.top?e.top(n.top):e.bottom(n.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(n="",e=""){return this._overlayRef.updateSize({width:n,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(n){return this._overlayRef.addPanelClass(n),this}removePanelClass(n){return this._overlayRef.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function dv(t,n,e){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=n),t.close(e)}const Xi=new _e("MatDialogData"),lU=new _e("mat-dialog-default-options"),Pk=new _e("mat-dialog-scroll-strategy"),dU={provide:Pk,deps:[Qi],useFactory:function cU(t){return()=>t.scrollStrategies.block()}};let uU=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g){this._overlay=e,this._injector=i,this._defaultOptions=o,this._parentDialog=r,this._overlayContainer=s,this._dialogRefConstructor=l,this._dialogContainerType=u,this._dialogDataToken=p,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ie,this._afterOpenedAtThisLevel=new ie,this._ariaHiddenElements=new Map,this.afterAllClosed=wd(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Nn(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(e,i){i=function hU(t,n){return Object.assign(Object.assign({},n),t)}(i,this._defaultOptions||new cv),i.id&&this.getDialogById(i.id);const o=this._createOverlay(i),r=this._attachDialogContainer(o,i),s=this._attachDialogContent(e,r,o,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(s),s.afterClosed().subscribe(()=>this._removeOpenDialog(s)),this.afterOpened.next(s),r._initializeWithAttachedContent(),s}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(e){const i=this._getOverlayConfig(e);return this._overlay.create(i)}_getOverlayConfig(e){const i=new Al({positionStrategy:this._overlay.position().global(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(i.backdropClass=e.backdropClass),i}_attachDialogContainer(e,i){const r=pn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:cv,useValue:i}]}),s=new Ol(this._dialogContainerType,i.viewContainerRef,r,i.componentFactoryResolver);return e.attach(s).instance}_attachDialogContent(e,i,o,r){const s=new this._dialogRefConstructor(o,i,r.id);if(e instanceof rn)i.attachTemplatePortal(new Wr(e,null,{$implicit:r.data,dialogRef:s}));else{const a=this._createInjector(r,s,i),l=i.attachComponentPortal(new Ol(e,r.viewContainerRef,a,r.componentFactoryResolver));s.componentInstance=l.instance}return s.updateSize(r.width,r.height).updatePosition(r.position),s}_createInjector(e,i,o){const r=e&&e.viewContainerRef&&e.viewContainerRef.injector,s=[{provide:this._dialogContainerType,useValue:o},{provide:this._dialogDataToken,useValue:e.data},{provide:this._dialogRefConstructor,useValue:i}];return e.direction&&(!r||!r.get(ai,null,yt.Optional))&&s.push({provide:ai,useValue:{value:e.direction,change:We()}}),pn.create({parent:r||this._injector,providers:s})}_removeOpenDialog(e){const i=this.openDialogs.indexOf(e);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,r)=>{o?r.setAttribute("aria-hidden",o):r.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const e=this._overlayContainer.getContainerElement();if(e.parentElement){const i=e.parentElement.children;for(let o=i.length-1;o>-1;o--){let r=i[o];r!==e&&"SCRIPT"!==r.nodeName&&"STYLE"!==r.nodeName&&!r.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}}}_closeDialogs(e){let i=e.length;for(;i--;)e[i].close()}}return t.\u0275fac=function(e){ea()},t.\u0275dir=oe({type:t}),t})(),ns=(()=>{class t extends uU{constructor(e,i,o,r,s,a,l,u){super(e,i,r,a,l,s,Ti,sU,Xi,u)}}return t.\u0275fac=function(e){return new(e||t)(Q(Qi),Q(pn),Q(zc,8),Q(lU,8),Q(Pk),Q(t,12),Q(Vb),Q(gn,8))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),pU=0,Ji=(()=>{class t{constructor(e,i,o){this.dialogRef=e,this._elementRef=i,this._dialog=o,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=Rk(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){const i=e._matDialogClose||e._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(e){dv(this.dialogRef,0===e.screenX&&0===e.screenY?"keyboard":"mouse",this.dialogResult)}}return t.\u0275fac=function(e){return new(e||t)(b(Ti,8),b(He),b(ns))},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(e,i){1&e&&N("click",function(r){return i._onButtonClick(r)}),2&e&&et("aria-label",i.ariaLabel||null)("type",i.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[nn]}),t})(),fU=(()=>{class t{constructor(e,i,o){this._dialogRef=e,this._elementRef=i,this._dialog=o,this.id="mat-dialog-title-"+pU++}ngOnInit(){this._dialogRef||(this._dialogRef=Rk(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const e=this._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(b(Ti,8),b(He),b(ns))},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(e,i){2&e&&Fr("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),wr=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})(),Dr=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=oe({type:t,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-dialog-actions"]}),t})();function Rk(t,n){let e=t.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-dialog-container");)e=e.parentElement;return e?n.find(i=>i.id===e.id):null}let Fk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[ns,dU],imports:[[Pl,Cd,ft],ft]}),t})();const mU=["tooltip"],Nk="tooltip-panel",Lk=ca({passive:!0}),Bk=new _e("mat-tooltip-scroll-strategy"),vU={provide:Bk,deps:[Qi],useFactory:function bU(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},yU=new _e("mat-tooltip-default-options",{providedIn:"root",factory:function CU(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let wU=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v,C){this._overlay=e,this._elementRef=i,this._scrollDispatcher=o,this._viewContainerRef=r,this._ngZone=s,this._platform=a,this._ariaDescriber=l,this._focusMonitor=u,this._dir=g,this._defaultOptions=v,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this._showDelay=this._defaultOptions.showDelay,this._hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new ie,this._scrollStrategy=p,this._document=C,v&&(v.position&&(this.position=v.position),v.touchGestures&&(this.touchGestures=v.touchGestures)),g.change.pipe(tt(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}get position(){return this._position}set position(e){var i;e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(i=this._tooltipInstance)||void 0===i||i.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=Zn(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=Zn(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(tt(this._destroyed)).subscribe(e=>{e?"keyboard"===e&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,o])=>{e.removeEventListener(i,o,Lk)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const i=this._createOverlay();this._detach(),this._portal=this._portal||new Ol(this._tooltipComponent,this._viewContainerRef);const o=this._tooltipInstance=i.attach(this._portal).instance;o._triggerElement=this._elementRef.nativeElement,o._mouseLeaveHideDelay=this._hideDelay,o.afterHidden().pipe(tt(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),o.show(e)}hide(e=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(e)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){var e;if(this._overlayRef)return this._overlayRef;const i=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),o=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i);return o.positionChanges.pipe(tt(this._destroyed)).subscribe(r=>{this._updateCurrentPositionClass(r.connectionPair),this._tooltipInstance&&r.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:o,panelClass:`${this._cssClassPrefix}-${Nk}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(tt(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(tt(this._destroyed)).subscribe(()=>{var r;return null===(r=this._tooltipInstance)||void 0===r?void 0:r._handleBodyInteraction()}),this._overlayRef.keydownEvents().pipe(tt(this._destroyed)).subscribe(r=>{this._isTooltipVisible()&&27===r.keyCode&&!fi(r)&&(r.preventDefault(),r.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),(null===(e=this._defaultOptions)||void 0===e?void 0:e.disableTooltipInteractivity)&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(e){const i=e.getConfig().positionStrategy,o=this._getOrigin(),r=this._getOverlayPosition();i.withPositions([this._addOffset(Object.assign(Object.assign({},o.main),r.main)),this._addOffset(Object.assign(Object.assign({},o.fallback),r.fallback))])}_addOffset(e){return e}_getOrigin(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i||"below"==i?o={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={originX:"start",originY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={originX:"end",originY:"center"});const{x:r,y:s}=this._invertPosition(o.originX,o.originY);return{main:o,fallback:{originX:r,originY:s}}}_getOverlayPosition(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i?o={overlayX:"center",overlayY:"bottom"}:"below"==i?o={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={overlayX:"start",overlayY:"center"});const{x:r,y:s}=this._invertPosition(o.overlayX,o.overlayY);return{main:o,fallback:{overlayX:r,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(Ot(1),tt(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}_invertPosition(e,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:i}}_updateCurrentPositionClass(e){const{overlayY:i,originX:o,originY:r}=e;let s;if(s="center"===i?this._dir&&"rtl"===this._dir.value?"end"===o?"left":"right":"start"===o?"left":"right":"bottom"===i&&"top"===r?"above":"below",s!==this._currentPosition){const a=this._overlayRef;if(a){const l=`${this._cssClassPrefix}-${Nk}-`;a.removePanelClass(l+this._currentPosition),a.addPanelClass(l+s)}this._currentPosition=s}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const e=[];if(this._platformSupportsMouseEvents())e.push(["mouseleave",i=>{var o;const r=i.relatedTarget;(!r||!(null===(o=this._overlayRef)||void 0===o?void 0:o.overlayElement.contains(r)))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};e.push(["touchend",i],["touchcancel",i])}this._addListeners(e),this._passiveListeners.push(...e)}_addListeners(e){e.forEach(([i,o])=>{this._elementRef.nativeElement.addEventListener(i,o,Lk)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(e){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(e.clientX,e.clientY),o=this._elementRef.nativeElement;i!==o&&!o.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const e=this.touchGestures;if("off"!==e){const i=this._elementRef.nativeElement,o=i.style;("on"===e||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(o.userSelect=o.msUserSelect=o.webkitUserSelect=o.MozUserSelect="none"),("on"===e||!i.draggable)&&(o.webkitUserDrag="none"),o.touchAction="none",o.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){ea()},t.\u0275dir=oe({type:t,inputs:{position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),ki=(()=>{class t extends wU{constructor(e,i,o,r,s,a,l,u,p,g,v,C){super(e,i,o,r,s,a,l,u,p,g,v,C),this._tooltipComponent=SU}}return t.\u0275fac=function(e){return new(e||t)(b(Qi),b(He),b(vd),b(sn),b(Je),b(dn),b(DV),b(Ro),b(Bk),b(ai,8),b(yU,8),b(ht))},t.\u0275dir=oe({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[Ce]}),t})(),DU=(()=>{class t{constructor(e,i){this._changeDetectorRef=e,this._visibility="initial",this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new ie,this._animationsDisabled="NoopAnimations"===i}show(e){clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},e)}hide(e){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},e)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:e}){(!e||!this._triggerElement.contains(e))&&this.hide(this._mouseLeaveHideDelay)}_onShow(){}_handleAnimationEnd({animationName:e}){(e===this._showAnimation||e===this._hideAnimation)&&this._finalizeAnimation(e===this._showAnimation)}_finalizeAnimation(e){e?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(e){const i=this._tooltip.nativeElement,o=this._showAnimation,r=this._hideAnimation;if(i.classList.remove(e?r:o),i.classList.add(e?o:r),this._isVisible=e,e&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const s=getComputedStyle(i);("0s"===s.getPropertyValue("animation-duration")||"none"===s.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}e&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(e))}}return t.\u0275fac=function(e){return new(e||t)(b(At),b(gn,8))},t.\u0275dir=oe({type:t}),t})(),SU=(()=>{class t extends DU{constructor(e,i,o){super(e,o),this._breakpointObserver=i,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)"),this._showAnimation="mat-tooltip-show",this._hideAnimation="mat-tooltip-hide"}}return t.\u0275fac=function(e){return new(e||t)(b(At),b(sv),b(gn,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(1&e&&Tt(mU,7),2&e){let o;Fe(o=Ne())&&(i._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,i){1&e&&N("mouseleave",function(r){return i._handleMouseLeave(r)}),2&e&&pi("zoom",i.isVisible()?1:null)},features:[Ce],decls:4,vars:6,consts:[[1,"mat-tooltip",3,"ngClass","animationend"],["tooltip",""]],template:function(e,i){if(1&e&&(d(0,"div",0,1),N("animationend",function(r){return i._handleAnimationEnd(r)}),_s(2,"async"),h(3),c()),2&e){let o;rt("mat-tooltip-handset",null==(o=bs(2,4,i._isHandset))?null:o.matches),m("ngClass",i.tooltipClass),f(3),Ee(i.message)}},directives:[nr],pipes:[zg],styles:[".mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis;transform:scale(0)}.mat-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}.mat-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-tooltip-show{0%{opacity:0;transform:scale(0)}50%{opacity:.5;transform:scale(0.99)}100%{opacity:1;transform:scale(1)}}@keyframes mat-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}.mat-tooltip-show{animation:mat-tooltip-show 200ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-tooltip-hide{animation:mat-tooltip-hide 100ms cubic-bezier(0, 0, 0.2, 1) forwards}\n"],encapsulation:2,changeDetection:0}),t})(),Vk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[vU],imports:[[SM,qi,Pl,ft],ft,Is]}),t})();const MU=["input"],xU=function(t){return{enterDuration:t}},TU=["*"],kU=new _e("mat-checkbox-default-options",{providedIn:"root",factory:jk});function jk(){return{color:"accent",clickAction:"check-indeterminate"}}let EU=0;const Hk=jk(),IU={provide:Zi,useExisting:zt(()=>uv),multi:!0};class OU{}const AU=Ml($r(vr(pa(class{constructor(t){this._elementRef=t}}))));let uv=(()=>{class t extends AU{constructor(e,i,o,r,s,a,l){super(e),this._changeDetectorRef=i,this._focusMonitor=o,this._ngZone=r,this._animationMode=a,this._options=l,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++EU,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Pe,this.indeterminateChange=new Pe,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||Hk,this.color=this.defaultColor=this._options.color||Hk.color,this.tabIndex=parseInt(s)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(e){this._required=Xe(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(e){const i=Xe(e);i!=this.checked&&(this._checked=i,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){const i=Xe(e);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(e){const i=e!=this._indeterminate;this._indeterminate=Xe(e),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(e){let i=this._currentCheckState,o=this._elementRef.nativeElement;if(i!==e&&(this._currentAnimationClass.length>0&&o.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){o.classList.add(this._currentAnimationClass);const r=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{o.classList.remove(r)},1e3)})}}_emitChangeEvent(){const e=new OU;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_onInputClick(e){var i;const o=null===(i=this._options)||void 0===i?void 0:i.clickAction;e.stopPropagation(),this.disabled||"noop"===o?!this.disabled&&"noop"===o&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==o&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(e,i){e?this._focusMonitor.focusVia(this._inputElement,e,i):this._inputElement.nativeElement.focus(i)}_onInteractionEvent(e){e.stopPropagation()}_getAnimationClassForCheckStateTransition(e,i){if("NoopAnimations"===this._animationMode)return"";let o="";switch(e){case 0:if(1===i)o="unchecked-checked";else{if(3!=i)return"";o="unchecked-indeterminate"}break;case 2:o=1===i?"unchecked-checked":"unchecked-indeterminate";break;case 1:o=2===i?"checked-unchecked":"checked-indeterminate";break;case 3:o=1===i?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${o}`}_syncIndeterminate(e){const i=this._inputElement;i&&(i.nativeElement.indeterminate=e)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(At),b(Ro),b(Je),Di("tabindex"),b(gn,8),b(kU,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-checkbox"]],viewQuery:function(e,i){if(1&e&&(Tt(MU,5),Tt(or,5)),2&e){let o;Fe(o=Ne())&&(i._inputElement=o.first),Fe(o=Ne())&&(i.ripple=o.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:14,hostBindings:function(e,i){2&e&&(Fr("id",i.id),et("tabindex",null)("aria-label",null)("aria-labelledby",null),rt("mat-checkbox-indeterminate",i.indeterminate)("mat-checkbox-checked",i.checked)("mat-checkbox-disabled",i.disabled)("mat-checkbox-label-before","before"==i.labelPosition)("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],id:"id",required:"required",labelPosition:"labelPosition",name:"name",value:"value",checked:"checked",disabled:"disabled",indeterminate:"indeterminate"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[ze([IU]),Ce],ngContentSelectors:TU,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(e,i){if(1&e&&(Jt(),d(0,"label",0,1)(2,"span",2)(3,"input",3,4),N("change",function(r){return i._onInteractionEvent(r)})("click",function(r){return i._onInputClick(r)}),c(),d(5,"span",5),E(6,"span",6),c(),E(7,"span",7),d(8,"span",8),hn(),d(9,"svg",9),E(10,"path",10),c(),Qs(),E(11,"span",11),c()(),d(12,"span",12,13),N("cdkObserveContent",function(){return i._onLabelTextChange()}),d(14,"span",14),h(15,"\xa0"),c(),ct(16),c()()),2&e){const o=$t(1),r=$t(13);et("for",i.inputId),f(2),rt("mat-checkbox-inner-container-no-side-margin",!r.textContent||!r.textContent.trim()),f(1),m("id",i.inputId)("required",i.required)("checked",i.checked)("disabled",i.disabled)("tabIndex",i.tabIndex),et("value",i.value)("name",i.name)("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-checked",i._getAriaChecked())("aria-describedby",i.ariaDescribedby),f(2),m("matRippleTrigger",o)("matRippleDisabled",i._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Kt(19,xU,"NoopAnimations"===i._animationMode?0:150))}},directives:[or,N_],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),Uk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})(),zk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[fa,ft,Ph,Uk],ft,Uk]}),t})();const Sp=["*"],FU=["content"];function NU(t,n){if(1&t){const e=pe();d(0,"div",2),N("click",function(){return se(e),D()._onBackdropClicked()}),c()}2&t&&rt("mat-drawer-shown",D()._isShowingBackdrop())}function LU(t,n){1&t&&(d(0,"mat-drawer-content"),ct(1,2),c())}const BU=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],VU=["mat-drawer","mat-drawer-content","*"];function jU(t,n){if(1&t){const e=pe();d(0,"div",2),N("click",function(){return se(e),D()._onBackdropClicked()}),c()}2&t&&rt("mat-drawer-shown",D()._isShowingBackdrop())}function HU(t,n){1&t&&(d(0,"mat-sidenav-content"),ct(1,2),c())}const UU=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],zU=["mat-sidenav","mat-sidenav-content","*"],$k={transformDrawer:Oo("transform",[jn("open, open-instant",Vt({transform:"none",visibility:"visible"})),jn("void",Vt({"box-shadow":"none",visibility:"hidden"})),Kn("void => open-instant",si("0ms")),Kn("void <=> open, open-instant => void",si("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])},GU=new _e("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function WU(){return!1}}),hv=new _e("MAT_DRAWER_CONTAINER");let Mp=(()=>{class t extends yd{constructor(e,i,o,r,s){super(o,r,s),this._changeDetectorRef=e,this._container=i}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}}return t.\u0275fac=function(e){return new(e||t)(b(At),b(zt(()=>Wk)),b(He),b(vd),b(Je))},t.\u0275cmp=Ae({type:t,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:4,hostBindings:function(e,i){2&e&&pi("margin-left",i._container._contentMargins.left,"px")("margin-right",i._container._contentMargins.right,"px")},features:[ze([{provide:yd,useExisting:t}]),Ce],ngContentSelectors:Sp,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),ct(0))},encapsulation:2,changeDetection:0}),t})(),Gk=(()=>{class t{constructor(e,i,o,r,s,a,l,u){this._elementRef=e,this._focusTrapFactory=i,this._focusMonitor=o,this._platform=r,this._ngZone=s,this._interactivityChecker=a,this._doc=l,this._container=u,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._opened=!1,this._animationStarted=new ie,this._animationEnd=new ie,this._animationState="void",this.openedChange=new Pe(!0),this._openedStream=this.openedChange.pipe(It(p=>p),je(()=>{})),this.openedStart=this._animationStarted.pipe(It(p=>p.fromState!==p.toState&&0===p.toState.indexOf("open")),jb(void 0)),this._closedStream=this.openedChange.pipe(It(p=>!p),je(()=>{})),this.closedStart=this._animationStarted.pipe(It(p=>p.fromState!==p.toState&&"void"===p.toState),jb(void 0)),this._destroyed=new ie,this.onPositionChanged=new Pe,this._modeChanged=new ie,this.openedChange.subscribe(p=>{p?(this._doc&&(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement),this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._ngZone.runOutsideAngular(()=>{Ki(this._elementRef.nativeElement,"keydown").pipe(It(p=>27===p.keyCode&&!this.disableClose&&!fi(p)),tt(this._destroyed)).subscribe(p=>this._ngZone.run(()=>{this.close(),p.stopPropagation(),p.preventDefault()}))}),this._animationEnd.pipe(nd((p,g)=>p.fromState===g.fromState&&p.toState===g.toState)).subscribe(p=>{const{fromState:g,toState:v}=p;(0===v.indexOf("open")&&"void"===g||"void"===v&&0===g.indexOf("open"))&&this.openedChange.emit(this._opened)})}get position(){return this._position}set position(e){(e="end"===e?"end":"start")!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=Xe(e)}get autoFocus(){const e=this._autoFocus;return null==e?"side"===this.mode?"dialog":"first-tabbable":e}set autoFocus(e){("true"===e||"false"===e||null==e)&&(e=Xe(e)),this._autoFocus=e}get opened(){return this._opened}set opened(e){this.toggle(Xe(e))}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const o=()=>{e.removeEventListener("blur",o),e.removeEventListener("mousedown",o),e.removeAttribute("tabindex")};e.addEventListener("blur",o),e.addEventListener("mousedown",o)})),e.focus(i)}_focusByCssSelector(e,i){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,i)}_takeFocus(){if(!this._focusTrap)return;const e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(i=>{!i&&"function"==typeof this._elementRef.nativeElement.focus&&e.focus()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus)}}_restoreFocus(e){"dialog"!==this.autoFocus&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){const e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState(),"end"===this._position&&this._updatePositionInParent("end")}ngAfterContentChecked(){this._platform.isBrowser&&(this._enableAnimations=!0)}ngOnDestroy(){var e;this._focusTrap&&this._focusTrap.destroy(),null===(e=this._anchor)||void 0===e||e.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,i){e&&i&&(this._openedVia=i);const o=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),o}_setOpen(e,i,o){return this._opened=e,e?this._animationState=this._enableAnimations?"open":"open-instant":(this._animationState="void",i&&this._restoreFocus(o)),this._updateFocusTrapState(),new Promise(r=>{this.openedChange.pipe(Ot(1)).subscribe(s=>r(s?"open":"close"))})}_getWidth(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&"side"!==this.mode)}_updatePositionInParent(e){const i=this._elementRef.nativeElement,o=i.parentNode;"end"===e?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),o.insertBefore(this._anchor,i)),o.appendChild(i)):this._anchor&&this._anchor.parentNode.insertBefore(i,this._anchor)}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(vM),b(Ro),b(dn),b(Je),b(B_),b(ht,8),b(hv,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-drawer"]],viewQuery:function(e,i){if(1&e&&Tt(FU,5),2&e){let o;Fe(o=Ne())&&(i._content=o.first)}},hostAttrs:["tabIndex","-1",1,"mat-drawer"],hostVars:12,hostBindings:function(e,i){1&e&&Tc("@transform.start",function(r){return i._animationStarted.next(r)})("@transform.done",function(r){return i._animationEnd.next(r)}),2&e&&(et("align",null),Ec("@transform",i._animationState),rt("mat-drawer-end","end"===i.position)("mat-drawer-over","over"===i.mode)("mat-drawer-push","push"===i.mode)("mat-drawer-side","side"===i.mode)("mat-drawer-opened",i.opened))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:Sp,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(e,i){1&e&&(Jt(),d(0,"div",0,1),ct(2),c())},directives:[yd],encapsulation:2,data:{animation:[$k.transformDrawer]},changeDetection:0}),t})(),Wk=(()=>{class t{constructor(e,i,o,r,s,a=!1,l){this._dir=e,this._element=i,this._ngZone=o,this._changeDetectorRef=r,this._animationMode=l,this._drawers=new vs,this.backdropClick=new Pe,this._destroyed=new ie,this._doCheckSubject=new ie,this._contentMargins={left:null,right:null},this._contentMarginChanges=new ie,e&&e.change.pipe(tt(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),s.change().pipe(tt(this._destroyed)).subscribe(()=>this.updateContentMargins()),this._autosize=a}get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=Xe(e)}get hasBackdrop(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride}set hasBackdrop(e){this._backdropOverride=null==e?null:Xe(e)}get scrollable(){return this._userContent||this._content}ngAfterContentInit(){this._allDrawers.changes.pipe(Nn(this._allDrawers),tt(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(i=>!i._container||i._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(Nn(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(Oh(10),tt(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,i=0;if(this._left&&this._left.opened)if("side"==this._left.mode)e+=this._left._getWidth();else if("push"==this._left.mode){const o=this._left._getWidth();e+=o,i-=o}if(this._right&&this._right.opened)if("side"==this._right.mode)i+=this._right._getWidth();else if("push"==this._right.mode){const o=this._right._getWidth();i+=o,e-=o}e=e||null,i=i||null,(e!==this._contentMargins.left||i!==this._contentMargins.right)&&(this._contentMargins={left:e,right:i},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(It(i=>i.fromState!==i.toState),tt(this._drawers.changes)).subscribe(i=>{"open-instant"!==i.toState&&"NoopAnimations"!==this._animationMode&&this._element.nativeElement.classList.add("mat-drawer-transition"),this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),"side"!==e.mode&&e.openedChange.pipe(tt(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){!e||e.onPositionChanged.pipe(tt(this._drawers.changes)).subscribe(()=>{this._ngZone.onMicrotaskEmpty.pipe(Ot(1)).subscribe(()=>{this._validateDrawers()})})}_watchDrawerMode(e){e&&e._modeChanged.pipe(tt(Tn(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){const i=this._element.nativeElement.classList,o="mat-drawer-container-has-open";e?i.add(o):i.remove(o)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{"end"==e.position?this._end=e:this._start=e}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._canHaveBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)}_canHaveBackdrop(e){return"side"!==e.mode||!!this._backdropOverride}_isDrawerOpen(e){return null!=e&&e.opened}}return t.\u0275fac=function(e){return new(e||t)(b(ai,8),b(He),b(Je),b(At),b(yr),b(GU),b(gn,8))},t.\u0275cmp=Ae({type:t,selectors:[["mat-drawer-container"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,Mp,5),mt(o,Gk,5)),2&e){let r;Fe(r=Ne())&&(i._content=r.first),Fe(r=Ne())&&(i._allDrawers=r)}},viewQuery:function(e,i){if(1&e&&Tt(Mp,5),2&e){let o;Fe(o=Ne())&&(i._userContent=o.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-drawer-container-explicit-backdrop",i._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[ze([{provide:hv,useExisting:t}])],ngContentSelectors:VU,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(e,i){1&e&&(Jt(BU),_(0,NU,1,2,"div",0),ct(1),ct(2,1),_(3,LU,2,0,"mat-drawer-content",1)),2&e&&(m("ngIf",i.hasBackdrop),f(3),m("ngIf",!i._content))},directives:[Mp,Et],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\n'],encapsulation:2,changeDetection:0}),t})(),pv=(()=>{class t extends Mp{constructor(e,i,o,r,s){super(e,i,o,r,s)}}return t.\u0275fac=function(e){return new(e||t)(b(At),b(zt(()=>Kk)),b(He),b(vd),b(Je))},t.\u0275cmp=Ae({type:t,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],hostVars:4,hostBindings:function(e,i){2&e&&pi("margin-left",i._container._contentMargins.left,"px")("margin-right",i._container._contentMargins.right,"px")},features:[ze([{provide:yd,useExisting:t}]),Ce],ngContentSelectors:Sp,decls:1,vars:0,template:function(e,i){1&e&&(Jt(),ct(0))},encapsulation:2,changeDetection:0}),t})(),qk=(()=>{class t extends Gk{constructor(){super(...arguments),this._fixedInViewport=!1,this._fixedTopGap=0,this._fixedBottomGap=0}get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=Xe(e)}get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=Zn(e)}get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=Zn(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-sidenav"]],hostAttrs:["tabIndex","-1",1,"mat-drawer","mat-sidenav"],hostVars:17,hostBindings:function(e,i){2&e&&(et("align",null),pi("top",i.fixedInViewport?i.fixedTopGap:null,"px")("bottom",i.fixedInViewport?i.fixedBottomGap:null,"px"),rt("mat-drawer-end","end"===i.position)("mat-drawer-over","over"===i.mode)("mat-drawer-push","push"===i.mode)("mat-drawer-side","side"===i.mode)("mat-drawer-opened",i.opened)("mat-sidenav-fixed",i.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[Ce],ngContentSelectors:Sp,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(e,i){1&e&&(Jt(),d(0,"div",0,1),ct(2),c())},directives:[yd],encapsulation:2,data:{animation:[$k.transformDrawer]},changeDetection:0}),t})(),Kk=(()=>{class t extends Wk{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-sidenav-container"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,pv,5),mt(o,qk,5)),2&e){let r;Fe(r=Ne())&&(i._content=r.first),Fe(r=Ne())&&(i._allDrawers=r)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(e,i){2&e&&rt("mat-drawer-container-explicit-backdrop",i._backdropOverride)},exportAs:["matSidenavContainer"],features:[ze([{provide:hv,useExisting:t}]),Ce],ngContentSelectors:zU,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(e,i){1&e&&(Jt(UU),_(0,jU,1,2,"div",0),ct(1),ct(2,1),_(3,HU,2,0,"mat-sidenav-content",1)),2&e&&(m("ngIf",i.hasBackdrop),f(3),m("ngIf",!i._content))},directives:[pv,Et],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\n'],encapsulation:2,changeDetection:0}),t})(),Zk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[qi,ft,Is],Is,ft]}),t})();const qU=["panel"];function KU(t,n){if(1&t&&(d(0,"div",0,1),ct(2),c()),2&t){const e=n.id,i=D();m("id",i.id)("ngClass",i._classList),et("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(e))}}const ZU=["*"];let QU=0;class YU{constructor(n,e){this.source=n,this.option=e}}const XU=vr(class{}),Qk=new _e("mat-autocomplete-default-options",{providedIn:"root",factory:function JU(){return{autoActiveFirstOption:!1}}});let ez=(()=>{class t extends XU{constructor(e,i,o,r){super(),this._changeDetectorRef=e,this._elementRef=i,this._activeOptionChanges=k.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Pe,this.opened=new Pe,this.closed=new Pe,this.optionActivated=new Pe,this._classList={},this.id="mat-autocomplete-"+QU++,this.inertGroups=(null==r?void 0:r.SAFARI)||!1,this._autoActiveFirstOption=!!o.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(e){this._autoActiveFirstOption=Xe(e)}set classList(e){this._classList=e&&e.length?function vV(t,n=/\s+/){const e=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(n);for(const o of i){const r=`${o}`.trim();r&&e.push(r)}}return e}(e).reduce((i,o)=>(i[o]=!0,i),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new gM(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(e=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[e]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(e){const i=new YU(this,e);this.optionSelected.emit(i)}_getPanelAriaLabelledby(e){return this.ariaLabel?null:this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_setVisibilityClasses(e){e[this._visibleClass]=this.showPanel,e[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(b(At),b(He),b(Qk),b(dn))},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&(Tt(rn,7),Tt(qU,5)),2&e){let o;Fe(o=Ne())&&(i.template=o.first),Fe(o=Ne())&&(i.panel=o.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",panelWidth:"panelWidth",classList:["class","classList"]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[Ce]}),t})(),tz=(()=>{class t extends ez{constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275cmp=Ae({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(e,i,o){if(1&e&&(mt(o,q_,5),mt(o,_i,5)),2&e){let r;Fe(r=Ne())&&(i.optionGroups=r),Fe(r=Ne())&&(i.options=r)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[ze([{provide:W_,useExisting:t}]),Ce],ngContentSelectors:ZU,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(e,i){1&e&&(Jt(),_(0,KU,3,4,"ng-template"))},directives:[nr],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const Yk=new _e("mat-autocomplete-scroll-strategy"),iz={provide:Yk,deps:[Qi],useFactory:function nz(t){return()=>t.scrollStrategies.reposition()}},oz={provide:Zi,useExisting:zt(()=>Xk),multi:!0};let rz=(()=>{class t{constructor(e,i,o,r,s,a,l,u,p,g,v){this._element=e,this._overlay=i,this._viewContainerRef=o,this._zone=r,this._changeDetectorRef=s,this._dir=l,this._formField=u,this._document=p,this._viewportRuler=g,this._defaults=v,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=k.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new ie,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=wd(()=>{const C=this.autocomplete?this.autocomplete.options:null;return C?C.changes.pipe(Nn(C),Li(()=>Tn(...C.map(M=>M.onSelectionChange)))):this._zone.onStable.pipe(Ot(1),Li(()=>this.optionSelections))}),this._scrollStrategy=a}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(e){this._autocompleteDisabled=Xe(e)}ngAfterViewInit(){const e=this._getWindow();void 0!==e&&this._zone.runOutsideAngular(()=>e.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const e=this._getWindow();void 0!==e&&e.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Tn(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(It(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(It(()=>this._overlayAttached)):We()).pipe(je(e=>e instanceof PM?e:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Tn(Ki(this._document,"click"),Ki(this._document,"auxclick"),Ki(this._document,"touchend")).pipe(It(e=>{const i=Ds(e),o=this._formField?this._formField._elementRef.nativeElement:null,r=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&i!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!o||!o.contains(i))&&(!r||!r.contains(i))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(i)}))}writeValue(e){Promise.resolve().then(()=>this._setTriggerValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){const i=e.keyCode,o=fi(e);if(27===i&&!o&&e.preventDefault(),this.activeOption&&13===i&&this.panelOpen&&!o)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){const r=this.autocomplete._keyManager.activeItem,s=38===i||40===i;9===i||s&&!o&&this.panelOpen?this.autocomplete._keyManager.onKeydown(e):s&&this._canOpen()&&this.openPanel(),(s||this.autocomplete._keyManager.activeItem!==r)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(e){let i=e.target,o=i.value;"number"===i.type&&(o=""==o?null:parseFloat(o)),this._previousValue!==o&&(this._previousValue=o,this._onChange(o),this._canOpen()&&this._document.activeElement===e.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this.openPanel()}_floatLabel(e=!1){this._formField&&"auto"===this._formField.floatLabel&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Tn(this._zone.onStable.pipe(Ot(1)),this.autocomplete.options.changes.pipe(Zt(()=>this._positionStrategy.reapplyLastPosition()),Hb(0))).pipe(Li(()=>(this._zone.run(()=>{const o=this.panelOpen;this._resetActiveItem(),this.autocomplete._setVisibility(),this._changeDetectorRef.detectChanges(),this.panelOpen&&(this._overlayRef.updatePosition(),o!==this.panelOpen&&this.autocomplete.opened.emit())}),this.panelClosingActions)),Ot(1)).subscribe(o=>this._setValueAndClose(o))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(e){const i=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(e):e,o=null!=i?i:"";this._formField?this._formField._control.value=o:this._element.nativeElement.value=o,this._previousValue=o}_setValueAndClose(e){const i=e&&e.source;i&&(this._clearPreviousSelectedOption(i),this._setTriggerValue(i.value),this._onChange(i.value),this.autocomplete._emitSelectEvent(i),this._element.nativeElement.focus()),this.closePanel()}_clearPreviousSelectedOption(e){this.autocomplete.options.forEach(i=>{i!==e&&i.selected&&i.deselect()})}_attachOverlay(){var e;let i=this._overlayRef;i?(this._positionStrategy.setOrigin(this._getConnectedElement()),i.updateSize({width:this._getPanelWidth()})):(this._portal=new Wr(this.autocomplete.template,this._viewContainerRef,{id:null===(e=this._formField)||void 0===e?void 0:e.getLabelId()}),i=this._overlay.create(this._getOverlayConfig()),this._overlayRef=i,i.keydownEvents().subscribe(r=>{(27===r.keyCode&&!fi(r)||38===r.keyCode&&fi(r,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),r.stopPropagation(),r.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&i&&i.updateSize({width:this._getPanelWidth()})})),i&&!i.hasAttached()&&(i.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const o=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&o!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var e;return new Al({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(e=this._defaults)||void 0===e?void 0:e.overlayPanelClass})}_getOverlayPosition(){const e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}_setStrategyPositions(e){const i=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],o=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:o},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:o}];let s;s="above"===this.position?r:"below"===this.position?i:[...i,...r],e.withPositions(s)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const e=this.autocomplete;e.autoActiveFirstOption?e._keyManager.setFirstItemActive():e._keyManager.setActiveItem(-1)}_canOpen(){const e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this._autocompleteDisabled}_getWindow(){var e;return(null===(e=this._document)||void 0===e?void 0:e.defaultView)||window}_scrollToOption(e){const i=this.autocomplete,o=K_(e,i.options,i.optionGroups);if(0===e&&1===o)i._setScrollTop(0);else if(i.panel){const r=i.options.toArray()[e];if(r){const s=r._getHostElement(),a=RM(s.offsetTop,s.offsetHeight,i._getScrollTop(),i.panel.nativeElement.offsetHeight);i._setScrollTop(a)}}}}return t.\u0275fac=function(e){return new(e||t)(b(He),b(Qi),b(sn),b(Je),b(At),b(Yk),b(ai,8),b(ip,9),b(ht,8),b(yr),b(Qk,8))},t.\u0275dir=oe({type:t,inputs:{autocomplete:["matAutocomplete","autocomplete"],position:["matAutocompletePosition","position"],connectedTo:["matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"]},features:[nn]}),t})(),Xk=(()=>{class t extends rz{constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(e,i){1&e&&N("focusin",function(){return i._handleFocus()})("blur",function(){return i._onTouched()})("input",function(r){return i._handleInput(r)})("keydown",function(r){return i._handleKeydown(r)})("click",function(){return i._handleClick()}),2&e&&et("autocomplete",i.autocompleteAttribute)("role",i.autocompleteDisabled?null:"combobox")("aria-autocomplete",i.autocompleteDisabled?null:"list")("aria-activedescendant",i.panelOpen&&i.activeOption?i.activeOption.id:null)("aria-expanded",i.autocompleteDisabled?null:i.panelOpen.toString())("aria-owns",i.autocompleteDisabled||!i.panelOpen||null==i.autocomplete?null:i.autocomplete.id)("aria-haspopup",i.autocompleteDisabled?null:"listbox")},exportAs:["matAutocompleteTrigger"],features:[ze([oz]),Ce]}),t})(),Jk=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({providers:[iz],imports:[[Pl,Bh,ft,qi],Is,Bh,ft]}),t})();const sz=[FM,Z_,ix,sx,dx,hT,_d,CT,BT,Eb,GT,vp,ik,ev,vp,hk,Mk,lv,Fk,Ib,Vk,zk,Zk,Jk];let az=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[sz,FM,Z_,ix,sx,dx,hT,_d,CT,BT,Eb,GT,vp,ik,ev,vp,hk,Mk,lv,Fk,Ib,Vk,zk,Zk,Jk]}),t})();const lz=["input"],cz=function(t){return{enterDuration:t}},dz=["*"],uz=new _e("mat-radio-default-options",{providedIn:"root",factory:function hz(){return{color:"accent"}}});let eE=0;const pz={provide:Zi,useExisting:zt(()=>xp),multi:!0};class tE{constructor(n,e){this.source=n,this.value=e}}const nE=new _e("MatRadioGroup");let fz=(()=>{class t{constructor(e){this._changeDetector=e,this._value=null,this._name="mat-radio-group-"+eE++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Pe}get name(){return this._name}set name(e){this._name=e,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(e){this._disabled=Xe(e),this._markRadiosForCheck()}get required(){return this._required}set required(e){this._required=Xe(e),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(e=>{e.name=this.name,e._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(i=>{i.checked=this.value===i.value,i.checked&&(this._selected=i)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new tE(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(e=>e._markForCheck())}writeValue(e){this.value=e,this._changeDetector.markForCheck()}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(b(At))},t.\u0275dir=oe({type:t,inputs:{color:"color",name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required"},outputs:{change:"change"}}),t})(),xp=(()=>{class t extends fz{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=wt(t)))(i||t)}}(),t.\u0275dir=oe({type:t,selectors:[["mat-radio-group"]],contentQueries:function(e,i,o){if(1&e&&mt(o,Tp,5),2&e){let r;Fe(r=Ne())&&(i._radios=r)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[ze([pz,{provide:nE,useExisting:t}]),Ce]}),t})();class mz{constructor(n){this._elementRef=n}}const gz=vr(Ml(mz));let _z=(()=>{class t extends gz{constructor(e,i,o,r,s,a,l,u){super(i),this._changeDetector=o,this._focusMonitor=r,this._radioDispatcher=s,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++eE,this.id=this._uniqueId,this.change=new Pe,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=e,this._noopAnimations="NoopAnimations"===a,u&&(this.tabIndex=Zn(u,0)),this._removeUniqueSelectionListener=s.listen((p,g)=>{p!==this.id&&g===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(e){const i=Xe(e);this._checked!==i&&(this._checked=i,i&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!i&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),i&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(e){this._labelPosition=e}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(e){this._setDisabled(Xe(e))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(e){this._required=Xe(e)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(e){this._color=e}get inputId(){return`${this.id||this._uniqueId}-input`}focus(e,i){i?this._focusMonitor.focusVia(this._inputElement,i,e):this._inputElement.nativeElement.focus(e)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{!e&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new tE(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(e){e.stopPropagation()}_onInputInteraction(e){if(e.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_setDisabled(e){this._disabled!==e&&(this._disabled=e,this._changeDetector.markForCheck())}_updateTabIndex(){var e;const i=this.radioGroup;let o;if(o=i&&i.selected&&!this.disabled?i.selected===this?this.tabIndex:-1:this.tabIndex,o!==this._previousTabIndex){const r=null===(e=this._inputElement)||void 0===e?void 0:e.nativeElement;r&&(r.setAttribute("tabindex",o+""),this._previousTabIndex=o)}}}return t.\u0275fac=function(e){ea()},t.\u0275dir=oe({type:t,viewQuery:function(e,i){if(1&e&&Tt(lz,5),2&e){let o;Fe(o=Ne())&&(i._inputElement=o.first)}},inputs:{id:"id",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"},features:[Ce]}),t})(),Tp=(()=>{class t extends _z{constructor(e,i,o,r,s,a,l,u){super(e,i,o,r,s,a,l,u)}}return t.\u0275fac=function(e){return new(e||t)(b(nE,8),b(He),b(At),b(Ro),b(sb),b(gn,8),b(uz,8),Di("tabindex"))},t.\u0275cmp=Ae({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(e,i){1&e&&N("focus",function(){return i._inputElement.nativeElement.focus()}),2&e&&(et("tabindex",null)("id",i.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),rt("mat-radio-checked",i.checked)("mat-radio-disabled",i.disabled)("_mat-animation-noopable",i._noopAnimations)("mat-primary","primary"===i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[Ce],ngContentSelectors:dz,decls:13,vars:19,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input",3,"id","checked","disabled","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(e,i){if(1&e&&(Jt(),d(0,"label",0,1)(2,"span",2),E(3,"span",3)(4,"span",4),d(5,"input",5,6),N("change",function(r){return i._onInputInteraction(r)})("click",function(r){return i._onInputClick(r)}),c(),d(7,"span",7),E(8,"span",8),c()(),d(9,"span",9)(10,"span",10),h(11,"\xa0"),c(),ct(12),c()()),2&e){const o=$t(1);et("for",i.inputId),f(5),m("id",i.inputId)("checked",i.checked)("disabled",i.disabled)("required",i.required),et("name",i.name)("value",i.value)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),f(2),m("matRippleTrigger",o)("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Kt(17,cz,i._noopAnimations?0:150)),f(2),rt("mat-radio-label-before","before"==i.labelPosition)}},directives:[or],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})(),bz=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[fa,ft],ft]}),t})();class vz{constructor(n,e){this._document=e;const i=this._textarea=this._document.createElement("textarea"),o=i.style;o.position="fixed",o.top=o.opacity="0",o.left="-999em",i.setAttribute("aria-hidden","true"),i.value=n,this._document.body.appendChild(i)}copy(){const n=this._textarea;let e=!1;try{if(n){const i=this._document.activeElement;n.select(),n.setSelectionRange(0,n.value.length),e=this._document.execCommand("copy"),i&&i.focus()}}catch(i){}return e}destroy(){const n=this._textarea;n&&(n.remove(),this._textarea=void 0)}}let yz=(()=>{class t{constructor(e){this._document=e}copy(e){const i=this.beginCopy(e),o=i.copy();return i.destroy(),o}beginCopy(e){return new vz(e,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Q(ht))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Cz=new _e("CDK_COPY_TO_CLIPBOARD_CONFIG");let fv=(()=>{class t{constructor(e,i,o){this._clipboard=e,this._ngZone=i,this.text="",this.attempts=1,this.copied=new Pe,this._pending=new Set,o&&null!=o.attempts&&(this.attempts=o.attempts)}copy(e=this.attempts){if(e>1){let i=e;const o=this._clipboard.beginCopy(this.text);this._pending.add(o);const r=()=>{const s=o.copy();s||!--i||this._destroyed?(this._currentTimeout=null,this._pending.delete(o),o.destroy(),this.copied.emit(s)):this._currentTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(r,1))};r()}else this.copied.emit(this._clipboard.copy(this.text))}ngOnDestroy(){this._currentTimeout&&clearTimeout(this._currentTimeout),this._pending.forEach(e=>e.destroy()),this._pending.clear(),this._destroyed=!0}}return t.\u0275fac=function(e){return new(e||t)(b(yz),b(Je),b(Cz,8))},t.\u0275dir=oe({type:t,selectors:[["","cdkCopyToClipboard",""]],hostBindings:function(e,i){1&e&&N("click",function(){return i.copy()})},inputs:{text:["cdkCopyToClipboard","text"],attempts:["cdkCopyToClipboardAttempts","attempts"]},outputs:{copied:"cdkCopyToClipboardCopied"}}),t})(),wz=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();const kp=R(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function iE(){return nt((t,n)=>{let e=null;t._refCount++;const i=st(n,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount)return void(e=null);const o=t._connection,r=e;e=null,o&&(!r||o===r)&&o.unsubscribe(),n.unsubscribe()});t.subscribe(i),i.closed||(e=t.connect())})}class Dz extends Ue{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._subject=null,this._refCount=0,this._connection=null,ei(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,null==n||n.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new k;const e=this.getSubject();n.add(this.source.subscribe(st(e,void 0,()=>{this._teardown(),e.complete()},i=>{this._teardown(),e.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=k.EMPTY)}return n}refCount(){return iE()(this)}}function Sz(t,n,e,i,o){return(r,s)=>{let a=e,l=n,u=0;r.subscribe(st(s,p=>{const g=u++;l=a?t(l,p,g):(a=!0,p),i&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}function oE(t,n){return nt(Sz(t,n,arguments.length>=2,!0))}function mv(t){return t<=0?()=>yo:nt((n,e)=>{let i=[];n.subscribe(st(e,o=>{i.push(o),t{for(const o of i)e.next(o);e.complete()},void 0,()=>{i=null}))})}function rE(t=Mz){return nt((n,e)=>{let i=!1;n.subscribe(st(e,o=>{i=!0,e.next(o)},()=>i?e.complete():e.error(t())))})}function Mz(){return new kp}function sE(t){return nt((n,e)=>{let i=!1;n.subscribe(st(e,o=>{i=!0,e.next(o)},()=>{i||e.next(t),e.complete()}))})}function Hl(t,n){const e=arguments.length>=2;return i=>i.pipe(t?It((o,r)=>t(o,r,i)):Me,Ot(1),e?sE(n):rE(()=>new kp))}class is{constructor(n,e){this.id=n,this.url=e}}class gv extends is{constructor(n,e,i="imperative",o=null){super(n,e),this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ed extends is{constructor(n,e,i){super(n,e),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class aE extends is{constructor(n,e,i){super(n,e),this.reason=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Tz extends is{constructor(n,e,i){super(n,e),this.error=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class kz extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ez extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Iz extends is{constructor(n,e,i,o,r){super(n,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=r}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Oz extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Az extends is{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class lE{constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class cE{constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Pz{constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Rz{constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Fz{constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Nz{constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class dE{constructor(n,e,i){this.routerEvent=n,this.position=e,this.anchor=i}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const Nt="primary";class Lz{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function Ul(t){return new Lz(t)}const uE="ngNavigationCancelingError";function _v(t){const n=Error("NavigationCancelingError: "+t);return n[uE]=!0,n}function Vz(t,n,e){const i=e.path.split("/");if(i.length>t.length||"full"===e.pathMatch&&(n.hasChildren()||i.lengthi[r]===o)}return t===n}function pE(t){return Array.prototype.concat.apply([],t)}function fE(t){return t.length>0?t[t.length-1]:null}function vi(t,n){for(const e in t)t.hasOwnProperty(e)&&n(t[e],e)}function Mr(t){return $m(t)?t:xc(t)?ui(Promise.resolve(t)):We(t)}const Uz={exact:function _E(t,n,e){if(!ya(t.segments,n.segments)||!Ep(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!t.children[i]||!_E(t.children[i],n.children[i],e))return!1;return!0},subset:bE},mE={exact:function zz(t,n){return Sr(t,n)},subset:function $z(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>hE(t[e],n[e]))},ignored:()=>!0};function gE(t,n,e){return Uz[e.paths](t.root,n.root,e.matrixParams)&&mE[e.queryParams](t.queryParams,n.queryParams)&&!("exact"===e.fragment&&t.fragment!==n.fragment)}function bE(t,n,e){return vE(t,n,n.segments,e)}function vE(t,n,e,i){if(t.segments.length>e.length){const o=t.segments.slice(0,e.length);return!(!ya(o,e)||n.hasChildren()||!Ep(o,e,i))}if(t.segments.length===e.length){if(!ya(t.segments,e)||!Ep(t.segments,e,i))return!1;for(const o in n.children)if(!t.children[o]||!bE(t.children[o],n.children[o],i))return!1;return!0}{const o=e.slice(0,t.segments.length),r=e.slice(t.segments.length);return!!(ya(t.segments,o)&&Ep(t.segments,o,i)&&t.children[Nt])&&vE(t.children[Nt],n,r,i)}}function Ep(t,n,e){return n.every((i,o)=>mE[e](t[o].parameters,i.parameters))}class va{constructor(n,e,i){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ul(this.queryParams)),this._queryParamMap}toString(){return qz.serialize(this)}}class Ut{constructor(n,e){this.segments=n,this.children=e,this.parent=null,vi(e,(i,o)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Ip(this)}}class Id{constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=Ul(this.parameters)),this._parameterMap}toString(){return SE(this)}}function ya(t,n){return t.length===n.length&&t.every((e,i)=>e.path===n[i].path)}class yE{}class CE{parse(n){const e=new n$(n);return new va(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){const e=`/${Od(n.root,!0)}`,i=function Qz(t){const n=Object.keys(t).map(e=>{const i=t[e];return Array.isArray(i)?i.map(o=>`${Op(e)}=${Op(o)}`).join("&"):`${Op(e)}=${Op(i)}`}).filter(e=>!!e);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${e}${i}${"string"==typeof n.fragment?`#${function Kz(t){return encodeURI(t)}(n.fragment)}`:""}`}}const qz=new CE;function Ip(t){return t.segments.map(n=>SE(n)).join("/")}function Od(t,n){if(!t.hasChildren())return Ip(t);if(n){const e=t.children[Nt]?Od(t.children[Nt],!1):"",i=[];return vi(t.children,(o,r)=>{r!==Nt&&i.push(`${r}:${Od(o,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function Wz(t,n){let e=[];return vi(t.children,(i,o)=>{o===Nt&&(e=e.concat(n(i,o)))}),vi(t.children,(i,o)=>{o!==Nt&&(e=e.concat(n(i,o)))}),e}(t,(i,o)=>o===Nt?[Od(t.children[Nt],!1)]:[`${o}:${Od(i,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children[Nt]?`${Ip(t)}/${e[0]}`:`${Ip(t)}/(${e.join("//")})`}}function wE(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Op(t){return wE(t).replace(/%3B/gi,";")}function bv(t){return wE(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ap(t){return decodeURIComponent(t)}function DE(t){return Ap(t.replace(/\+/g,"%20"))}function SE(t){return`${bv(t.path)}${function Zz(t){return Object.keys(t).map(n=>`;${bv(n)}=${bv(t[n])}`).join("")}(t.parameters)}`}const Yz=/^[^\/()?;=#]+/;function Pp(t){const n=t.match(Yz);return n?n[0]:""}const Xz=/^[^=?&#]+/,e$=/^[^&#]+/;class n${constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ut([],{}):new Ut([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(i[Nt]=new Ut(n,e)),i}parseSegment(){const n=Pp(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(n),new Id(Ap(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const e=Pp(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const o=Pp(this.remaining);o&&(i=o,this.capture(i))}n[Ap(e)]=Ap(i)}parseQueryParam(n){const e=function Jz(t){const n=t.match(Xz);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const s=function t$(t){const n=t.match(e$);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const o=DE(e),r=DE(i);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(r)}else n[o]=r}parseParens(n){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Pp(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new Error(`Cannot parse url '${this.url}'`);let r;i.indexOf(":")>-1?(r=i.substr(0,i.indexOf(":")),this.capture(r),this.capture(":")):n&&(r=Nt);const s=this.parseChildren();e[r]=1===Object.keys(s).length?s[Nt]:new Ut([],s),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new Error(`Expected "${n}".`)}}class ME{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){const e=vv(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){const e=vv(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){const e=yv(n,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return yv(n,this._root).map(e=>e.value)}}function vv(t,n){if(t===n.value)return n;for(const e of n.children){const i=vv(t,e);if(i)return i}return null}function yv(t,n){if(t===n.value)return[n];for(const e of n.children){const i=yv(t,e);if(i.length)return i.unshift(n),i}return[]}class os{constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}}function zl(t){const n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}class xE extends ME{constructor(n,e){super(n),this.snapshot=e,Cv(this,n)}toString(){return this.snapshot.toString()}}function TE(t,n){const e=function i$(t,n){const s=new Rp([],{},{},"",{},Nt,n,null,t.root,-1,{});return new EE("",new os(s,[]))}(t,n),i=new vt([new Id("",{})]),o=new vt({}),r=new vt({}),s=new vt({}),a=new vt(""),l=new $l(i,o,s,a,r,Nt,n,e.root);return l.snapshot=e.root,new xE(new os(l,[]),e)}class $l{constructor(n,e,i,o,r,s,a,l){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=a,this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(je(n=>Ul(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(je(n=>Ul(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function kE(t,n="emptyOnly"){const e=t.pathFromRoot;let i=0;if("always"!==n)for(i=e.length-1;i>=1;){const o=e[i],r=e[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(r.component)break;i--}}return function o$(t){return t.reduce((n,e)=>({params:Object.assign(Object.assign({},n.params),e.params),data:Object.assign(Object.assign({},n.data),e.data),resolve:Object.assign(Object.assign({},n.resolve),e._resolvedData)}),{params:{},data:{},resolve:{}})}(e.slice(i))}class Rp{constructor(n,e,i,o,r,s,a,l,u,p,g){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=a,this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=p,this._resolve=g}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=Ul(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ul(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class EE extends ME{constructor(n,e){super(e),this.url=n,Cv(this,e)}toString(){return IE(this._root)}}function Cv(t,n){n.value._routerState=t,n.children.forEach(e=>Cv(t,e))}function IE(t){const n=t.children.length>0?` { ${t.children.map(IE).join(", ")} } `:"";return`${t.value}${n}`}function wv(t){if(t.snapshot){const n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,Sr(n.queryParams,e.queryParams)||t.queryParams.next(e.queryParams),n.fragment!==e.fragment&&t.fragment.next(e.fragment),Sr(n.params,e.params)||t.params.next(e.params),function jz(t,n){if(t.length!==n.length)return!1;for(let e=0;eSr(e.parameters,n[i].parameters))}(t.url,n.url);return e&&!(!t.parent!=!n.parent)&&(!t.parent||Dv(t.parent,n.parent))}function Ad(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){const i=e.value;i._futureSnapshot=n.value;const o=function s$(t,n,e){return n.children.map(i=>{for(const o of e.children)if(t.shouldReuseRoute(i.value,o.value.snapshot))return Ad(t,i,o);return Ad(t,i)})}(t,n,e);return new os(i,o)}{if(t.shouldAttach(n.value)){const r=t.retrieve(n.value);if(null!==r){const s=r.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Ad(t,a)),s}}const i=function a$(t){return new $l(new vt(t.url),new vt(t.params),new vt(t.queryParams),new vt(t.fragment),new vt(t.data),t.outlet,t.component,t)}(n.value),o=n.children.map(r=>Ad(t,r));return new os(i,o)}}function Fp(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Pd(t){return"object"==typeof t&&null!=t&&t.outlets}function Sv(t,n,e,i,o){let r={};if(i&&vi(i,(a,l)=>{r[l]=Array.isArray(a)?a.map(u=>`${u}`):`${a}`}),t===n)return new va(e,r,o);const s=OE(t,n,e);return new va(s,r,o)}function OE(t,n,e){const i={};return vi(t.children,(o,r)=>{i[r]=o===n?e:OE(o,n,e)}),new Ut(t.segments,i)}class AE{constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&Fp(i[0]))throw new Error("Root segment cannot have matrix parameters");const o=i.find(Pd);if(o&&o!==fE(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Mv{constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}}function PE(t,n,e){if(t||(t=new Ut([],{})),0===t.segments.length&&t.hasChildren())return Np(t,n,e);const i=function p$(t,n,e){let i=0,o=n;const r={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return r;const s=t.segments[o],a=e[i];if(Pd(a))break;const l=`${a}`,u=i0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!FE(l,u,s))return r;i+=2}else{if(!FE(l,{},s))return r;i++}o++}return{match:!0,pathIndex:o,commandIndex:i}}(t,n,e),o=e.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof r&&(r=[r]),null!==r&&(o[s]=PE(t.children[s],n,r))}),vi(t.children,(r,s)=>{void 0===i[s]&&(o[s]=r)}),new Ut(t.segments,o)}}function xv(t,n,e){const i=t.segments.slice(0,n);let o=0;for(;o{"string"==typeof e&&(e=[e]),null!==e&&(n[i]=xv(new Ut([],{}),0,e))}),n}function RE(t){const n={};return vi(t,(e,i)=>n[i]=`${e}`),n}function FE(t,n,e){return t==e.path&&Sr(n,e.parameters)}class g${constructor(n,e,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=o}activate(n){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,n),wv(this.futureState.root),this.activateChildRoutes(e,i,n)}deactivateChildRoutes(n,e,i){const o=zl(e);n.children.forEach(r=>{const s=r.value.outlet;this.deactivateRoutes(r,o[s],i),delete o[s]}),vi(o,(r,s)=>{this.deactivateRouteAndItsChildren(r,i)})}deactivateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(o===r)if(o.component){const s=i.getContext(o.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,i);else r&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=zl(n);for(const s of Object.keys(r))this.deactivateRouteAndItsChildren(r[s],o);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=zl(n);for(const s of Object.keys(r))this.deactivateRouteAndItsChildren(r[s],o);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(n,e,i){const o=zl(e);n.children.forEach(r=>{this.activateRoutes(r,o[r.value.outlet],i),this.forwardEvent(new Nz(r.value.snapshot))}),n.children.length&&this.forwardEvent(new Rz(n.value.snapshot))}activateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(wv(o),o===r)if(o.component){const s=i.getOrCreateContext(o.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,i);else if(o.component){const s=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),wv(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=function _$(t){for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig;if(e&&e.component)return null}return null}(o.snapshot),l=a?a.module.componentFactoryResolver:null;s.attachRef=null,s.route=o,s.resolver=l,s.outlet&&s.outlet.activateWith(o,l),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class Tv{constructor(n,e){this.routes=n,this.module=e}}function Ls(t){return"function"==typeof t}function Ca(t){return t instanceof va}const Rd=Symbol("INITIAL_VALUE");function Fd(){return Li(t=>xk(t.map(n=>n.pipe(Ot(1),Nn(Rd)))).pipe(oE((n,e)=>{let i=!1;return e.reduce((o,r,s)=>o!==Rd?o:(r===Rd&&(i=!0),i||!1!==r&&s!==e.length-1&&!Ca(r)?o:r),n)},Rd),It(n=>n!==Rd),je(n=>Ca(n)?n:!0===n),Ot(1)))}class D${constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new Nd,this.attachRef=null}}class Nd{constructor(){this.contexts=new Map}onChildOutletCreated(n,e){const i=this.getOrCreateContext(n);i.outlet=e,this.contexts.set(n,i)}onChildOutletDestroyed(n){const e=this.getContext(n);e&&(e.outlet=null,e.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let e=this.getContext(n);return e||(e=new D$,this.contexts.set(n,e)),e}getContext(n){return this.contexts.get(n)||null}}let Lp=(()=>{class t{constructor(e,i,o,r,s){this.parentContexts=e,this.location=i,this.resolver=o,this.changeDetector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new Pe,this.deactivateEvents=new Pe,this.attachEvents=new Pe,this.detachEvents=new Pe,this.name=r||Nt,e.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const e=this.parentContexts.getContext(this.name);e&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,i){this.activated=e,this._activatedRoute=i,this.location.insert(e.hostView),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=e;const s=(i=i||this.resolver).resolveComponentFactory(e._futureSnapshot.routeConfig.component),a=this.parentContexts.getOrCreateContext(this.name).children,l=new S$(e,a,this.location.injector);this.activated=this.location.createComponent(s,this.location.length,l),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)(b(Nd),b(sn),b(gs),Di("name"),b(At))},t.\u0275dir=oe({type:t,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"]}),t})();class S${constructor(n,e,i){this.route=n,this.childContexts=e,this.parent=i}get(n,e){return n===$l?this.route:n===Nd?this.childContexts:this.parent.get(n,e)}}let NE=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ae({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(e,i){1&e&&E(0,"router-outlet")},directives:[Lp],encapsulation:2}),t})();function LE(t,n=""){for(let e=0;eFo(i)===n);return e.push(...t.filter(i=>Fo(i)!==n)),e}const VE={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Bp(t,n,e){var i;if(""===n.path)return"full"===n.pathMatch&&(t.hasChildren()||e.length>0)?Object.assign({},VE):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};const r=(n.matcher||Vz)(e,t,n);if(!r)return Object.assign({},VE);const s={};vi(r.posParams,(l,u)=>{s[u]=l.path});const a=r.consumed.length>0?Object.assign(Object.assign({},s),r.consumed[r.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:r.consumed,remainingSegments:e.slice(r.consumed.length),parameters:a,positionalParamSegments:null!==(i=r.posParams)&&void 0!==i?i:{}}}function Vp(t,n,e,i,o="corrected"){if(e.length>0&&function E$(t,n,e){return e.some(i=>jp(t,n,i)&&Fo(i)!==Nt)}(t,e,i)){const s=new Ut(n,function k$(t,n,e,i){const o={};o[Nt]=i,i._sourceSegment=t,i._segmentIndexShift=n.length;for(const r of e)if(""===r.path&&Fo(r)!==Nt){const s=new Ut([],{});s._sourceSegment=t,s._segmentIndexShift=n.length,o[Fo(r)]=s}return o}(t,n,i,new Ut(e,t.children)));return s._sourceSegment=t,s._segmentIndexShift=n.length,{segmentGroup:s,slicedSegments:[]}}if(0===e.length&&function I$(t,n,e){return e.some(i=>jp(t,n,i))}(t,e,i)){const s=new Ut(t.segments,function T$(t,n,e,i,o,r){const s={};for(const a of i)if(jp(t,e,a)&&!o[Fo(a)]){const l=new Ut([],{});l._sourceSegment=t,l._segmentIndexShift="legacy"===r?t.segments.length:n.length,s[Fo(a)]=l}return Object.assign(Object.assign({},o),s)}(t,n,e,i,t.children,o));return s._sourceSegment=t,s._segmentIndexShift=n.length,{segmentGroup:s,slicedSegments:e}}const r=new Ut(t.segments,t.children);return r._sourceSegment=t,r._segmentIndexShift=n.length,{segmentGroup:r,slicedSegments:e}}function jp(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pathMatch)&&""===e.path}function jE(t,n,e,i){return!!(Fo(t)===i||i!==Nt&&jp(n,e,t))&&("**"===t.path||Bp(n,t,e).matched)}function HE(t,n,e){return 0===n.length&&!t.children[e]}class Hp{constructor(n){this.segmentGroup=n||null}}class UE{constructor(n){this.urlTree=n}}function Ld(t){return sd(new Hp(t))}function zE(t){return sd(new UE(t))}class R${constructor(n,e,i,o,r){this.configLoader=e,this.urlSerializer=i,this.urlTree=o,this.config=r,this.allowRedirects=!0,this.ngModule=n.get(Lr)}apply(){const n=Vp(this.urlTree.root,[],[],this.config).segmentGroup,e=new Ut(n.segments,n.children);return this.expandSegmentGroup(this.ngModule,this.config,e,Nt).pipe(je(r=>this.createUrlTree(Ev(r),this.urlTree.queryParams,this.urlTree.fragment))).pipe(wn(r=>{if(r instanceof UE)return this.allowRedirects=!1,this.match(r.urlTree);throw r instanceof Hp?this.noMatchError(r):r}))}match(n){return this.expandSegmentGroup(this.ngModule,this.config,n.root,Nt).pipe(je(o=>this.createUrlTree(Ev(o),n.queryParams,n.fragment))).pipe(wn(o=>{throw o instanceof Hp?this.noMatchError(o):o}))}noMatchError(n){return new Error(`Cannot match any routes. URL Segment: '${n.segmentGroup}'`)}createUrlTree(n,e,i){const o=n.segments.length>0?new Ut([],{[Nt]:n}):n;return new va(o,e,i)}expandSegmentGroup(n,e,i,o){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(n,e,i).pipe(je(r=>new Ut([],r))):this.expandSegment(n,i,e,i.segments,o,!0)}expandChildren(n,e,i){const o=[];for(const r of Object.keys(i.children))"primary"===r?o.unshift(r):o.push(r);return ui(o).pipe(xl(r=>{const s=i.children[r],a=BE(e,r);return this.expandSegmentGroup(n,a,s,r).pipe(je(l=>({segment:l,outlet:r})))}),oE((r,s)=>(r[s.outlet]=s.segment,r),{}),function xz(t,n){const e=arguments.length>=2;return i=>i.pipe(t?It((o,r)=>t(o,r,i)):Me,mv(1),e?sE(n):rE(()=>new kp))}())}expandSegment(n,e,i,o,r,s){return ui(i).pipe(xl(a=>this.expandSegmentAgainstRoute(n,e,i,a,o,r,s).pipe(wn(u=>{if(u instanceof Hp)return We(null);throw u}))),Hl(a=>!!a),wn((a,l)=>{if(a instanceof kp||"EmptyError"===a.name)return HE(e,o,r)?We(new Ut([],{})):Ld(e);throw a}))}expandSegmentAgainstRoute(n,e,i,o,r,s,a){return jE(o,e,r,s)?void 0===o.redirectTo?this.matchSegmentAgainstRoute(n,e,o,r,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s):Ld(e):Ld(e)}expandSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,e,i,o){const r=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?zE(r):this.lineralizeSegments(i,r).pipe($n(s=>{const a=new Ut(s,{});return this.expandSegment(n,a,e,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:p}=Bp(e,o,r);if(!a)return Ld(e);const g=this.applyRedirectCommands(l,o.redirectTo,p);return o.redirectTo.startsWith("/")?zE(g):this.lineralizeSegments(o,g).pipe($n(v=>this.expandSegment(n,e,i,v.concat(u),s,!1)))}matchSegmentAgainstRoute(n,e,i,o,r){if("**"===i.path)return i.loadChildren?(i._loadedConfig?We(i._loadedConfig):this.configLoader.load(n.injector,i)).pipe(je(g=>(i._loadedConfig=g,new Ut(o,{})))):We(new Ut(o,{}));const{matched:s,consumedSegments:a,remainingSegments:l}=Bp(e,i,o);return s?this.getChildConfig(n,i,o).pipe($n(p=>{const g=p.module,v=p.routes,{segmentGroup:C,slicedSegments:M}=Vp(e,a,l,v),V=new Ut(C.segments,C.children);if(0===M.length&&V.hasChildren())return this.expandChildren(g,v,V).pipe(je(ke=>new Ut(a,ke)));if(0===v.length&&0===M.length)return We(new Ut(a,{}));const K=Fo(i)===r;return this.expandSegment(g,V,v,M,K?Nt:r,!0).pipe(je(ee=>new Ut(a.concat(ee.segments),ee.children)))})):Ld(e)}getChildConfig(n,e,i){return e.children?We(new Tv(e.children,n)):e.loadChildren?void 0!==e._loadedConfig?We(e._loadedConfig):this.runCanLoadGuards(n.injector,e,i).pipe($n(o=>o?this.configLoader.load(n.injector,e).pipe(je(r=>(e._loadedConfig=r,r))):function A$(t){return sd(_v(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`))}(e))):We(new Tv([],n))}runCanLoadGuards(n,e,i){const o=e.canLoad;return o&&0!==o.length?We(o.map(s=>{const a=n.get(s);let l;if(function v$(t){return t&&Ls(t.canLoad)}(a))l=a.canLoad(e,i);else{if(!Ls(a))throw new Error("Invalid CanLoad guard");l=a(e,i)}return Mr(l)})).pipe(Fd(),Zt(s=>{if(!Ca(s))return;const a=_v(`Redirecting to "${this.urlSerializer.serialize(s)}"`);throw a.url=s,a}),je(s=>!0===s)):We(!0)}lineralizeSegments(n,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return We(i);if(o.numberOfChildren>1||!o.children[Nt])return sd(new Error(`Only absolute redirects can have named outlets. redirectTo: '${n.redirectTo}'`));o=o.children[Nt]}}applyRedirectCommands(n,e,i){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),n,i)}applyRedirectCreatreUrlTree(n,e,i,o){const r=this.createSegmentGroup(n,e.root,i,o);return new va(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){const i={};return vi(n,(o,r)=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);i[r]=e[a]}else i[r]=o}),i}createSegmentGroup(n,e,i,o){const r=this.createSegments(n,e.segments,i,o);let s={};return vi(e.children,(a,l)=>{s[l]=this.createSegmentGroup(n,a,i,o)}),new Ut(r,s)}createSegments(n,e,i,o){return e.map(r=>r.path.startsWith(":")?this.findPosParam(n,r,o):this.findOrReturn(r,i))}findPosParam(n,e,i){const o=i[e.path.substring(1)];if(!o)throw new Error(`Cannot redirect to '${n}'. Cannot find '${e.path}'.`);return o}findOrReturn(n,e){let i=0;for(const o of e){if(o.path===n.path)return e.splice(i),o;i++}return n}}function Ev(t){const n={};for(const i of Object.keys(t.children)){const r=Ev(t.children[i]);(r.segments.length>0||r.hasChildren())&&(n[i]=r)}return function F$(t){if(1===t.numberOfChildren&&t.children[Nt]){const n=t.children[Nt];return new Ut(t.segments.concat(n.segments),n.children)}return t}(new Ut(t.segments,n))}class $E{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Up{constructor(n,e){this.component=n,this.route=e}}function L$(t,n,e){const i=t._root;return Bd(i,n?n._root:null,e,[i.value])}function zp(t,n,e){const i=function V$(t){if(!t)return null;for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig}return null}(n);return(i?i.module.injector:e).get(t)}function Bd(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=zl(n);return t.children.forEach(s=>{(function j$(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&r.routeConfig===s.routeConfig){const l=function H$(t,n,e){if("function"==typeof e)return e(t,n);switch(e){case"pathParamsChange":return!ya(t.url,n.url);case"pathParamsOrQueryParamsChange":return!ya(t.url,n.url)||!Sr(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Dv(t,n)||!Sr(t.queryParams,n.queryParams);default:return!Dv(t,n)}}(s,r,r.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new $E(i)):(r.data=s.data,r._resolvedData=s._resolvedData),Bd(t,n,r.component?a?a.children:null:e,i,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Up(a.outlet.component,s))}else s&&Vd(n,a,o),o.canActivateChecks.push(new $E(i)),Bd(t,null,r.component?a?a.children:null:e,i,o)})(s,r[s.value.outlet],e,i.concat([s.value]),o),delete r[s.value.outlet]}),vi(r,(s,a)=>Vd(s,e.getContext(a),o)),o}function Vd(t,n,e){const i=zl(t),o=t.value;vi(i,(r,s)=>{Vd(r,o.component?n?n.children.getContext(s):null:n,e)}),e.canDeactivateChecks.push(new Up(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}class Q${}function GE(t){return new Ue(n=>n.error(t))}class X${constructor(n,e,i,o,r,s){this.rootComponentType=n,this.config=e,this.urlTree=i,this.url=o,this.paramsInheritanceStrategy=r,this.relativeLinkResolution=s}recognize(){const n=Vp(this.urlTree.root,[],[],this.config.filter(s=>void 0===s.redirectTo),this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,n,Nt);if(null===e)return null;const i=new Rp([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},Nt,this.rootComponentType,null,this.urlTree.root,-1,{}),o=new os(i,e),r=new EE(this.url,o);return this.inheritParamsAndData(r._root),r}inheritParamsAndData(n){const e=n.value,i=kE(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,e,i){return 0===e.segments.length&&e.hasChildren()?this.processChildren(n,e):this.processSegment(n,e,e.segments,i)}processChildren(n,e){const i=[];for(const r of Object.keys(e.children)){const s=e.children[r],a=BE(n,r),l=this.processSegmentGroup(a,s,r);if(null===l)return null;i.push(...l)}const o=WE(i);return function J$(t){t.sort((n,e)=>n.value.outlet===Nt?-1:e.value.outlet===Nt?1:n.value.outlet.localeCompare(e.value.outlet))}(o),o}processSegment(n,e,i,o){for(const r of n){const s=this.processSegmentAgainstRoute(r,e,i,o);if(null!==s)return s}return HE(e,i,o)?[]:null}processSegmentAgainstRoute(n,e,i,o){if(n.redirectTo||!jE(n,e,i,o))return null;let r,s=[],a=[];if("**"===n.path){const C=i.length>0?fE(i).parameters:{};r=new Rp(i,C,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,ZE(n),Fo(n),n.component,n,qE(e),KE(e)+i.length,QE(n))}else{const C=Bp(e,n,i);if(!C.matched)return null;s=C.consumedSegments,a=C.remainingSegments,r=new Rp(s,C.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,ZE(n),Fo(n),n.component,n,qE(e),KE(e)+s.length,QE(n))}const l=function eG(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(n),{segmentGroup:u,slicedSegments:p}=Vp(e,s,a,l.filter(C=>void 0===C.redirectTo),this.relativeLinkResolution);if(0===p.length&&u.hasChildren()){const C=this.processChildren(l,u);return null===C?null:[new os(r,C)]}if(0===l.length&&0===p.length)return[new os(r,[])];const g=Fo(n)===o,v=this.processSegment(l,u,p,g?Nt:o);return null===v?null:[new os(r,v)]}}function tG(t){const n=t.value.routeConfig;return n&&""===n.path&&void 0===n.redirectTo}function WE(t){const n=[],e=new Set;for(const i of t){if(!tG(i)){n.push(i);continue}const o=n.find(r=>i.value.routeConfig===r.value.routeConfig);void 0!==o?(o.children.push(...i.children),e.add(o)):n.push(i)}for(const i of e){const o=WE(i.children);n.push(new os(i.value,o))}return n.filter(i=>!e.has(i))}function qE(t){let n=t;for(;n._sourceSegment;)n=n._sourceSegment;return n}function KE(t){let n=t,e=n._segmentIndexShift?n._segmentIndexShift:0;for(;n._sourceSegment;)n=n._sourceSegment,e+=n._segmentIndexShift?n._segmentIndexShift:0;return e-1}function ZE(t){return t.data||{}}function QE(t){return t.resolve||{}}function YE(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Iv(t){return Li(n=>{const e=t(n);return e?ui(e).pipe(je(()=>n)):We(n)})}class cG extends class lG{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}}{}const Ov=new _e("ROUTES");class XE{constructor(n,e,i,o){this.injector=n,this.compiler=e,this.onLoadStartListener=i,this.onLoadEndListener=o}load(n,e){if(e._loader$)return e._loader$;this.onLoadStartListener&&this.onLoadStartListener(e);const o=this.loadModuleFactory(e.loadChildren).pipe(je(r=>{this.onLoadEndListener&&this.onLoadEndListener(e);const s=r.create(n);return new Tv(pE(s.injector.get(Ov,void 0,yt.Self|yt.Optional)).map(kv),s)}),wn(r=>{throw e._loader$=void 0,r}));return e._loader$=new Dz(o,()=>new ie).pipe(iE()),e._loader$}loadModuleFactory(n){return Mr(n()).pipe($n(e=>e instanceof Dw?We(e):ui(this.compiler.compileModuleAsync(e))))}}class uG{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,e){return n}}function hG(t){throw t}function pG(t,n,e){return n.parse("/")}function JE(t,n){return We(null)}const fG={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},mG={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Jn=(()=>{class t{constructor(e,i,o,r,s,a,l){this.rootComponentType=e,this.urlSerializer=i,this.rootContexts=o,this.location=r,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new ie,this.errorHandler=hG,this.malformedUriErrorHandler=pG,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:JE,afterPreactivation:JE},this.urlHandlingStrategy=new uG,this.routeReuseStrategy=new cG,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=s.get(Lr),this.console=s.get(cD);const g=s.get(Je);this.isNgZoneEnabled=g instanceof Je&&Je.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=function Hz(){return new va(new Ut([],{}),{},null)}(),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new XE(s,a,v=>this.triggerEvent(new lE(v)),v=>this.triggerEvent(new cE(v))),this.routerState=TE(this.currentUrlTree,this.rootComponentType),this.transitions=new vt({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var e;return null===(e=this.location.getState())||void 0===e?void 0:e.\u0275routerPageId}setupNavigations(e){const i=this.events;return e.pipe(It(o=>0!==o.id),je(o=>Object.assign(Object.assign({},o),{extractedUrl:this.urlHandlingStrategy.extract(o.rawUrl)})),Li(o=>{let r=!1,s=!1;return We(o).pipe(Zt(a=>{this.currentNavigation={id:a.id,initialUrl:a.currentRawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Li(a=>{const l=this.browserUrlTree.toString(),u=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||u)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return eI(a.source)&&(this.browserUrlTree=a.extractedUrl),We(a).pipe(Li(g=>{const v=this.transitions.getValue();return i.next(new gv(g.id,this.serializeUrl(g.extractedUrl),g.source,g.restoredState)),v!==this.transitions.getValue()?yo:Promise.resolve(g)}),function N$(t,n,e,i){return Li(o=>function P$(t,n,e,i,o){return new R$(t,n,e,i,o).apply()}(t,n,e,o.extractedUrl,i).pipe(je(r=>Object.assign(Object.assign({},o),{urlAfterRedirects:r}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Zt(g=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:g.urlAfterRedirects})}),function nG(t,n,e,i,o){return $n(r=>function Y$(t,n,e,i,o="emptyOnly",r="legacy"){try{const s=new X$(t,n,e,i,o,r).recognize();return null===s?GE(new Q$):We(s)}catch(s){return GE(s)}}(t,n,r.urlAfterRedirects,e(r.urlAfterRedirects),i,o).pipe(je(s=>Object.assign(Object.assign({},r),{targetSnapshot:s}))))}(this.rootComponentType,this.config,g=>this.serializeUrl(g),this.paramsInheritanceStrategy,this.relativeLinkResolution),Zt(g=>{if("eager"===this.urlUpdateStrategy){if(!g.extras.skipLocationChange){const C=this.urlHandlingStrategy.merge(g.urlAfterRedirects,g.rawUrl);this.setBrowserUrl(C,g)}this.browserUrlTree=g.urlAfterRedirects}const v=new kz(g.id,this.serializeUrl(g.extractedUrl),this.serializeUrl(g.urlAfterRedirects),g.targetSnapshot);i.next(v)}));if(u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:v,extractedUrl:C,source:M,restoredState:V,extras:K}=a,Y=new gv(v,this.serializeUrl(C),M,V);i.next(Y);const ee=TE(C,this.rootComponentType).snapshot;return We(Object.assign(Object.assign({},a),{targetSnapshot:ee,urlAfterRedirects:C,extras:Object.assign(Object.assign({},K),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=a.rawUrl,a.resolve(null),yo}),Iv(a=>{const{targetSnapshot:l,id:u,extractedUrl:p,rawUrl:g,extras:{skipLocationChange:v,replaceUrl:C}}=a;return this.hooks.beforePreactivation(l,{navigationId:u,appliedUrlTree:p,rawUrlTree:g,skipLocationChange:!!v,replaceUrl:!!C})}),Zt(a=>{const l=new Ez(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),je(a=>Object.assign(Object.assign({},a),{guards:L$(a.targetSnapshot,a.currentSnapshot,this.rootContexts)})),function U$(t,n){return $n(e=>{const{targetSnapshot:i,currentSnapshot:o,guards:{canActivateChecks:r,canDeactivateChecks:s}}=e;return 0===s.length&&0===r.length?We(Object.assign(Object.assign({},e),{guardsResult:!0})):function z$(t,n,e,i){return ui(t).pipe($n(o=>function Z$(t,n,e,i,o){const r=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return r&&0!==r.length?We(r.map(a=>{const l=zp(a,n,o);let u;if(function w$(t){return t&&Ls(t.canDeactivate)}(l))u=Mr(l.canDeactivate(t,n,e,i));else{if(!Ls(l))throw new Error("Invalid CanDeactivate guard");u=Mr(l(t,n,e,i))}return u.pipe(Hl())})).pipe(Fd()):We(!0)}(o.component,o.route,e,n,i)),Hl(o=>!0!==o,!0))}(s,i,o,t).pipe($n(a=>a&&function b$(t){return"boolean"==typeof t}(a)?function $$(t,n,e,i){return ui(n).pipe(xl(o=>id(function W$(t,n){return null!==t&&n&&n(new Pz(t)),We(!0)}(o.route.parent,i),function G$(t,n){return null!==t&&n&&n(new Fz(t)),We(!0)}(o.route,i),function K$(t,n,e){const i=n[n.length-1],r=n.slice(0,n.length-1).reverse().map(s=>function B$(t){const n=t.routeConfig?t.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:t,guards:n}:null}(s)).filter(s=>null!==s).map(s=>wd(()=>We(s.guards.map(l=>{const u=zp(l,s.node,e);let p;if(function C$(t){return t&&Ls(t.canActivateChild)}(u))p=Mr(u.canActivateChild(i,t));else{if(!Ls(u))throw new Error("Invalid CanActivateChild guard");p=Mr(u(i,t))}return p.pipe(Hl())})).pipe(Fd())));return We(r).pipe(Fd())}(t,o.path,e),function q$(t,n,e){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return We(!0);const o=i.map(r=>wd(()=>{const s=zp(r,n,e);let a;if(function y$(t){return t&&Ls(t.canActivate)}(s))a=Mr(s.canActivate(n,t));else{if(!Ls(s))throw new Error("Invalid CanActivate guard");a=Mr(s(n,t))}return a.pipe(Hl())}));return We(o).pipe(Fd())}(t,o.route,e))),Hl(o=>!0!==o,!0))}(i,r,t,n):We(a)),je(a=>Object.assign(Object.assign({},e),{guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),Zt(a=>{if(Ca(a.guardsResult)){const u=_v(`Redirecting to "${this.serializeUrl(a.guardsResult)}"`);throw u.url=a.guardsResult,u}const l=new Iz(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),It(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,""),!1)),Iv(a=>{if(a.guards.canActivateChecks.length)return We(a).pipe(Zt(l=>{const u=new Oz(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}),Li(l=>{let u=!1;return We(l).pipe(function iG(t,n){return $n(e=>{const{targetSnapshot:i,guards:{canActivateChecks:o}}=e;if(!o.length)return We(e);let r=0;return ui(o).pipe(xl(s=>function oG(t,n,e,i){return function rG(t,n,e,i){const o=YE(t);if(0===o.length)return We({});const r={};return ui(o).pipe($n(s=>function sG(t,n,e,i){const o=zp(t,n,i);return Mr(o.resolve?o.resolve(n,e):o(n,e))}(t[s],n,e,i).pipe(Zt(a=>{r[s]=a}))),mv(1),$n(()=>YE(r).length===o.length?We(r):yo))}(t._resolve,t,n,i).pipe(je(r=>(t._resolvedData=r,t.data=Object.assign(Object.assign({},t.data),kE(t,e).resolve),null)))}(s.route,i,t,n)),Zt(()=>r++),mv(1),$n(s=>r===o.length?We(e):yo))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Zt({next:()=>u=!0,complete:()=>{u||(this.restoreHistory(l),this.cancelNavigationTransition(l,"At least one route resolver didn't emit any value."))}}))}),Zt(l=>{const u=new Az(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}))}),Iv(a=>{const{targetSnapshot:l,id:u,extractedUrl:p,rawUrl:g,extras:{skipLocationChange:v,replaceUrl:C}}=a;return this.hooks.afterPreactivation(l,{navigationId:u,appliedUrlTree:p,rawUrlTree:g,skipLocationChange:!!v,replaceUrl:!!C})}),je(a=>{const l=function r$(t,n,e){const i=Ad(t,n._root,e?e._root:void 0);return new xE(i,n)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return Object.assign(Object.assign({},a),{targetRouterState:l})}),Zt(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((t,n,e)=>je(i=>(new g$(n,i.targetRouterState,i.currentRouterState,e).activate(t),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),Zt({next(){r=!0},complete(){r=!0}}),X_(()=>{var a;r||s||this.cancelNavigationTransition(o,`Navigation ID ${o.id} is not equal to the current navigation id ${this.navigationId}`),(null===(a=this.currentNavigation)||void 0===a?void 0:a.id)===o.id&&(this.currentNavigation=null)}),wn(a=>{if(s=!0,function Bz(t){return t&&t[uE]}(a)){const l=Ca(a.url);l||(this.navigated=!0,this.restoreHistory(o,!0));const u=new aE(o.id,this.serializeUrl(o.extractedUrl),a.message);i.next(u),l?setTimeout(()=>{const p=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),g={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||eI(o.source)};this.scheduleNavigation(p,"imperative",null,g,{resolve:o.resolve,reject:o.reject,promise:o.promise})},0):o.resolve(!1)}else{this.restoreHistory(o,!0);const l=new Tz(o.id,this.serializeUrl(o.extractedUrl),a);i.next(l);try{o.resolve(this.errorHandler(a))}catch(u){o.reject(u)}}return yo}))}))}resetRootComponentType(e){this.rootComponentType=e,this.routerState.root.component=this.rootComponentType}setTransition(e){this.transitions.next(Object.assign(Object.assign({},this.transitions.value),e))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(e=>{const i="popstate"===e.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{var o;const r={replaceUrl:!0},s=(null===(o=e.state)||void 0===o?void 0:o.navigationId)?e.state:null;if(s){const l=Object.assign({},s);delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(r.state=l)}const a=this.parseUrl(e.url);this.scheduleNavigation(a,i,s,r)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(e){this.events.next(e)}resetConfig(e){LE(e),this.config=e.map(kv),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(e,i={}){const{relativeTo:o,queryParams:r,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,u=o||this.routerState.root,p=l?this.currentUrlTree.fragment:s;let g=null;switch(a){case"merge":g=Object.assign(Object.assign({},this.currentUrlTree.queryParams),r);break;case"preserve":g=this.currentUrlTree.queryParams;break;default:g=r||null}return null!==g&&(g=this.removeEmptyProps(g)),function l$(t,n,e,i,o){if(0===e.length)return Sv(n.root,n.root,n.root,i,o);const r=function c$(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new AE(!0,0,t);let n=0,e=!1;const i=t.reduce((o,r,s)=>{if("object"==typeof r&&null!=r){if(r.outlets){const a={};return vi(r.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...o,{outlets:a}]}if(r.segmentPath)return[...o,r.segmentPath]}return"string"!=typeof r?[...o,r]:0===s?(r.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?e=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,r]},[]);return new AE(e,n,i)}(e);if(r.toRoot())return Sv(n.root,n.root,new Ut([],{}),i,o);const s=function d$(t,n,e){if(t.isAbsolute)return new Mv(n.root,!0,0);if(-1===e.snapshot._lastPathIndex){const r=e.snapshot._urlSegment;return new Mv(r,r===n.root,0)}const i=Fp(t.commands[0])?0:1;return function u$(t,n,e){let i=t,o=n,r=e;for(;r>o;){if(r-=o,i=i.parent,!i)throw new Error("Invalid number of '../'");o=i.segments.length}return new Mv(i,!1,o-r)}(e.snapshot._urlSegment,e.snapshot._lastPathIndex+i,t.numberOfDoubleDots)}(r,n,t),a=s.processChildren?Np(s.segmentGroup,s.index,r.commands):PE(s.segmentGroup,s.index,r.commands);return Sv(n.root,s.segmentGroup,a,i,o)}(u,this.currentUrlTree,e,g,null!=p?p:null)}navigateByUrl(e,i={skipLocationChange:!1}){const o=Ca(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,i)}navigate(e,i={skipLocationChange:!1}){return function gG(t){for(let n=0;n{const r=e[o];return null!=r&&(i[o]=r),i},{})}processNavigations(){this.navigations.subscribe(e=>{this.navigated=!0,this.lastSuccessfulId=e.id,this.currentPageId=e.targetPageId,this.events.next(new Ed(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,e.resolve(!0)},e=>{this.console.warn(`Unhandled Navigation Error: ${e}`)})}scheduleNavigation(e,i,o,r,s){var a,l;if(this.disposed)return Promise.resolve(!1);let u,p,g;s?(u=s.resolve,p=s.reject,g=s.promise):g=new Promise((M,V)=>{u=M,p=V});const v=++this.navigationId;let C;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(o=this.location.getState()),C=o&&o.\u0275routerPageId?o.\u0275routerPageId:r.replaceUrl||r.skipLocationChange?null!==(a=this.browserPageId)&&void 0!==a?a:0:(null!==(l=this.browserPageId)&&void 0!==l?l:0)+1):C=0,this.setTransition({id:v,targetPageId:C,source:i,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:e,extras:r,resolve:u,reject:p,promise:g,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),g.catch(M=>Promise.reject(M))}setBrowserUrl(e,i){const o=this.urlSerializer.serialize(e),r=Object.assign(Object.assign({},i.extras.state),this.generateNgRouterState(i.id,i.targetPageId));this.location.isCurrentPathEqualTo(o)||i.extras.replaceUrl?this.location.replaceState(o,"",r):this.location.go(o,"",r)}restoreHistory(e,i=!1){var o,r;if("computed"===this.canceledNavigationResolution){const s=this.currentPageId-e.targetPageId;"popstate"!==e.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(o=this.currentNavigation)||void 0===o?void 0:o.finalUrl)||0===s?this.currentUrlTree===(null===(r=this.currentNavigation)||void 0===r?void 0:r.finalUrl)&&0===s&&(this.resetState(e),this.browserUrlTree=e.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(s)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=e.currentRouterState,this.currentUrlTree=e.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(e,i){const o=new aE(e.id,this.serializeUrl(e.extractedUrl),i);this.triggerEvent(o),e.resolve(!1)}generateNgRouterState(e,i){return"computed"===this.canceledNavigationResolution?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}}return t.\u0275fac=function(e){ea()},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function eI(t){return"imperative"!==t}let Bs=(()=>{class t{constructor(e,i,o,r,s){this.router=e,this.route=i,this.tabIndexAttribute=o,this.renderer=r,this.el=s,this.commands=null,this.onChanges=new ie,this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(e){if(null!=this.tabIndexAttribute)return;const i=this.renderer,o=this.el.nativeElement;null!==e?i.setAttribute(o,"tabindex",e):i.removeAttribute(o,"tabindex")}ngOnChanges(e){this.onChanges.next(this)}set routerLink(e){null!=e?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(){if(null===this.urlTree)return!0;const e={skipLocationChange:Gl(this.skipLocationChange),replaceUrl:Gl(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,e),!0}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Gl(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(b(Jn),b($l),Di("tabindex"),b(Nr),b(He))},t.\u0275dir=oe({type:t,selectors:[["","routerLink","",5,"a",5,"area"]],hostBindings:function(e,i){1&e&&N("click",function(){return i.onClick()})},inputs:{queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo",routerLink:"routerLink"},features:[nn]}),t})(),jd=(()=>{class t{constructor(e,i,o){this.router=e,this.route=i,this.locationStrategy=o,this.commands=null,this.href=null,this.onChanges=new ie,this.subscription=e.events.subscribe(r=>{r instanceof Ed&&this.updateTargetUrlAndHref()})}set routerLink(e){this.commands=null!=e?Array.isArray(e)?e:[e]:null}ngOnChanges(e){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(e,i,o,r,s){if(0!==e||i||o||r||s||"string"==typeof this.target&&"_self"!=this.target||null===this.urlTree)return!0;const a={skipLocationChange:Gl(this.skipLocationChange),replaceUrl:Gl(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,a),!1}updateTargetUrlAndHref(){this.href=null!==this.urlTree?this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Gl(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(b(Jn),b($l),b(bl))},t.\u0275dir=oe({type:t,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(e,i){1&e&&N("click",function(r){return i.onClick(r.button,r.ctrlKey,r.shiftKey,r.altKey,r.metaKey)}),2&e&&et("target",i.target)("href",i.href,Gi)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo",routerLink:"routerLink"},features:[nn]}),t})();function Gl(t){return""===t||!!t}class tI{}class nI{preload(n,e){return We(null)}}let iI=(()=>{class t{constructor(e,i,o,r){this.router=e,this.injector=o,this.preloadingStrategy=r,this.loader=new XE(o,i,l=>e.triggerEvent(new lE(l)),l=>e.triggerEvent(new cE(l)))}setUpPreloading(){this.subscription=this.router.events.pipe(It(e=>e instanceof Ed),xl(()=>this.preload())).subscribe(()=>{})}preload(){const e=this.injector.get(Lr);return this.processRoutes(e,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,i){const o=[];for(const r of i)if(r.loadChildren&&!r.canLoad&&r._loadedConfig){const s=r._loadedConfig;o.push(this.processRoutes(s.module,s.routes))}else r.loadChildren&&!r.canLoad?o.push(this.preloadConfig(e,r)):r.children&&o.push(this.processRoutes(e,r.children));return ui(o).pipe(Ql(),je(r=>{}))}preloadConfig(e,i){return this.preloadingStrategy.preload(i,()=>(i._loadedConfig?We(i._loadedConfig):this.loader.load(e.injector,i)).pipe($n(r=>(i._loadedConfig=r,this.processRoutes(r.module,r.routes)))))}}return t.\u0275fac=function(e){return new(e||t)(Q(Jn),Q(dD),Q(pn),Q(tI))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})(),Av=(()=>{class t{constructor(e,i,o={}){this.router=e,this.viewportScroller=i,this.options=o,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},o.scrollPositionRestoration=o.scrollPositionRestoration||"disabled",o.anchorScrolling=o.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(e=>{e instanceof gv?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Ed&&(this.lastId=e.id,this.scheduleScrollEvent(e,this.router.parseUrl(e.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(e=>{e instanceof dE&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,i){this.router.triggerEvent(new dE(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(e){ea()},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();const wa=new _e("ROUTER_CONFIGURATION"),oI=new _e("ROUTER_FORROOT_GUARD"),yG=[zc,{provide:yE,useClass:CE},{provide:Jn,useFactory:function MG(t,n,e,i,o,r,s={},a,l){const u=new Jn(null,t,n,e,i,o,pE(r));return a&&(u.urlHandlingStrategy=a),l&&(u.routeReuseStrategy=l),function xG(t,n){t.errorHandler&&(n.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(n.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(n.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(n.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(n.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(n.urlUpdateStrategy=t.urlUpdateStrategy),t.canceledNavigationResolution&&(n.canceledNavigationResolution=t.canceledNavigationResolution)}(s,u),s.enableTracing&&u.events.subscribe(p=>{var g,v;null===(g=console.group)||void 0===g||g.call(console,`Router Event: ${p.constructor.name}`),console.log(p.toString()),console.log(p),null===(v=console.groupEnd)||void 0===v||v.call(console)}),u},deps:[yE,Nd,zc,pn,dD,Ov,wa,[class dG{},new qo],[class aG{},new qo]]},Nd,{provide:$l,useFactory:function TG(t){return t.routerState.root},deps:[Jn]},iI,nI,class vG{preload(n,e){return e().pipe(wn(()=>We(null)))}},{provide:wa,useValue:{enableTracing:!1}}];function CG(){return new mD("Router",Jn)}let rI=(()=>{class t{constructor(e,i){}static forRoot(e,i){return{ngModule:t,providers:[yG,sI(e),{provide:oI,useFactory:SG,deps:[[Jn,new qo,new $a]]},{provide:wa,useValue:i||{}},{provide:bl,useFactory:DG,deps:[oa,[new mu(Og),new qo],wa]},{provide:Av,useFactory:wG,deps:[Jn,m5,wa]},{provide:tI,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:nI},{provide:mD,multi:!0,useFactory:CG},[Pv,{provide:_g,multi:!0,useFactory:kG,deps:[Pv]},{provide:aI,useFactory:EG,deps:[Pv]},{provide:lD,multi:!0,useExisting:aI}]]}}static forChild(e){return{ngModule:t,providers:[sI(e)]}}}return t.\u0275fac=function(e){return new(e||t)(Q(oI,8),Q(Jn,8))},t.\u0275mod=ot({type:t}),t.\u0275inj=it({}),t})();function wG(t,n,e){return e.scrollOffset&&n.setOffset(e.scrollOffset),new Av(t,n,e)}function DG(t,n,e={}){return e.useHash?new nL(t,n):new FD(t,n)}function SG(t){return"guarded"}function sI(t){return[{provide:WO,multi:!0,useValue:t},{provide:Ov,multi:!0,useValue:t}]}let Pv=(()=>{class t{constructor(e){this.injector=e,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new ie}appInitializer(){return this.injector.get(J3,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let i=null;const o=new Promise(a=>i=a),r=this.injector.get(Jn),s=this.injector.get(wa);return"disabled"===s.initialNavigation?(r.setUpLocationChangeListener(),i(!0)):"enabled"===s.initialNavigation||"enabledBlocking"===s.initialNavigation?(r.hooks.afterPreactivation=()=>this.initNavigation?We(null):(this.initNavigation=!0,i(!0),this.resultOfPreactivationDone),r.initialNavigation()):i(!0),o})}bootstrapListener(e){const i=this.injector.get(wa),o=this.injector.get(iI),r=this.injector.get(Av),s=this.injector.get(Jn),a=this.injector.get(zu);e===a.components[0]&&(("enabledNonBlocking"===i.initialNavigation||void 0===i.initialNavigation)&&s.initialNavigation(),o.setUpPreloading(),r.init(),s.resetRootComponentType(a.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return t.\u0275fac=function(e){return new(e||t)(Q(pn))},t.\u0275prov=Be({token:t,factory:t.\u0275fac}),t})();function kG(t){return t.appInitializer.bind(t)}function EG(t){return t.bootstrapListener.bind(t)}const aI=new _e("Router Initializer");var mi=(()=>{return(t=mi||(mi={})).DirectConnect="directConnect",t.DumpFile="dumpFile",t.SessionFile="sessionFile",t.ResumeSession="resumeSession",mi;var t})(),In=(()=>{return(t=In||(In={})).Type="inputType",t.Config="config",t.SourceDbName="sourceDbName",In;var t})(),xr=(()=>{return(t=xr||(xr={})).MySQL="MySQL",t.Postgres="Postgres",t.SQLServer="SQL Server",t.Oracle="Oracle",xr;var t})(),Qt=(()=>{return(t=Qt||(Qt={})).DbName="databaseName",t.Tables="tables",t.Table="tableName",t.Indexes="indexes",t.Index="indexName",Qt;var t})(),No=(()=>{return(t=No||(No={})).schemaOnly="Schema",t.dataOnly="Data",t.schemaAndData="Schema And Data",No;var t})(),Vs=(()=>{return(t=Vs||(Vs={})).Table="table",t.Index="index",Vs;var t})(),ci=(()=>{return(t=ci||(ci={})).bulkMigration="bulk",t.lowDowntimeMigration="lowdt",ci;var t})(),le=(()=>{return(t=le||(le={})).MigrationMode="migrationMode",t.MigrationType="migrationType",t.IsTargetDetailSet="isTargetDetailSet",t.IsSourceConnectionProfileSet="isSourceConnectionProfileSet",t.IsSourceDetailsSet="isSourceDetailsSet",t.IsTargetConnectionProfileSet="isTargetConnectionProfileSet",t.IsMigrationDetailSet="isMigrationDetailSet",t.IsMigrationInProgress="isMigrationInProgress",t.HasDataMigrationStarted="hasDataMigrationStarted",t.HasSchemaMigrationStarted="hasSchemaMigrationStarted",t.SchemaProgressMessage="schemaProgressMessage",t.DataProgressMessage="dataProgressMessage",t.DataMigrationProgress="dataMigrationProgress",t.SchemaMigrationProgress="schemaMigrationProgress",t.HasForeignKeyUpdateStarted="hasForeignKeyUpdateStarted",t.ForeignKeyProgressMessage="foreignKeyProgressMessage",t.ForeignKeyUpdateProgress="foreignKeyUpdateProgress",t.GeneratingResources="generatingResources",t.NumberOfShards="numberOfShards",t.NumberOfInstances="numberOfInstances",t.isForeignKeySkipped="isForeignKeySkipped",le;var t})(),Wt=(()=>{return(t=Wt||(Wt={})).TargetDB="targetDb",t.Dialect="dialect",t.SourceConnProfile="sourceConnProfile",t.TargetConnProfile="targetConnProfile",t.ReplicationSlot="replicationSlot",t.Publication="publication",Wt;var t})();var js=(()=>{return(t=js||(js={}))[t.SchemaMigrationComplete=1]="SchemaMigrationComplete",t[t.SchemaCreationInProgress=2]="SchemaCreationInProgress",t[t.DataMigrationComplete=3]="DataMigrationComplete",t[t.DataWriteInProgress=4]="DataWriteInProgress",t[t.ForeignKeyUpdateInProgress=5]="ForeignKeyUpdateInProgress",t[t.ForeignKeyUpdateComplete=6]="ForeignKeyUpdateComplete",js;var t})();const lI=[{value:"google_standard_sql",displayName:"Google Standard SQL Dialect"},{value:"postgresql",displayName:"PostgreSQL Dialect"}],di={StorageMaxLength:0x8000000000000000,StringMaxLength:2621440,ByteMaxLength:10485760,DataTypes:["STRING","BYTES","VARCHAR"]},cI_GoogleStandardSQL=["BOOL","BYTES","DATE","FLOAT64","INT64","STRING","TIMESTAMP","NUMERIC","JSON"],cI_PostgreSQL=["BOOL","BYTEA","DATE","FLOAT8","INT8","VARCHAR","TIMESTAMPTZ","NUMERIC","JSONB"];var Lo=(()=>{return(t=Lo||(Lo={})).DirectConnectForm="directConnectForm",t.IsConnectionSuccessful="isConnectionSuccessful",Lo;var t})();function $p(t){return"mysql"==t||"mysqldump"==t?xr.MySQL:"postgres"===t||"pgdump"===t||"pg_dump"===t?xr.Postgres:"oracle"===t?xr.Oracle:"sqlserver"===t?xr.SQLServer:t}function dI(t){var n=document.createElement("a");let e=JSON.stringify(t).replace(/9223372036854776000/g,"9223372036854775807");n.href="data:text/json;charset=utf-8,"+encodeURIComponent(e),n.download=`${t.SessionName}_${t.DatabaseType}_${t.DatabaseName}.json`,n.click()}let Bi=(()=>{class t{constructor(e){this.http=e,this.url=window.location.origin}connectTodb(e,i){const{dbEngine:o,isSharded:r,hostName:s,port:a,dbName:l,userName:u,password:p}=e;return this.http.post(`${this.url}/connect`,{Driver:o,IsSharded:r,Host:s,Port:a,Database:l,User:u,Password:p,Dialect:i},{observe:"response"})}getLastSessionDetails(){return this.http.get(`${this.url}/GetLatestSessionDetails`)}getSchemaConversionFromDirectConnect(){return this.http.get(`${this.url}/convert/infoschema`)}getSchemaConversionFromDump(e){return this.http.post(`${this.url}/convert/dump`,e)}setSourceDBDetailsForDump(e){return this.http.post(`${this.url}/SetSourceDBDetailsForDump`,e)}setSourceDBDetailsForDirectConnect(e){const{dbEngine:i,hostName:o,port:r,dbName:s,userName:a,password:l}=e;return this.http.post(`${this.url}/SetSourceDBDetailsForDirectConnect`,{Driver:i,Host:o,Port:r,Database:s,User:a,Password:l})}setShardsSourceDBDetailsForBulk(e){const{dbConfigs:i,isRestoredSession:o}=e;let r=[];return i.forEach(s=>{r.push({Driver:s.dbEngine,Host:s.hostName,Port:s.port,Database:s.dbName,User:s.userName,Password:s.password,DataShardId:s.shardId})}),this.http.post(`${this.url}/SetShardsSourceDBDetailsForBulk`,{DbConfigs:r,IsRestoredSession:o})}setShardSourceDBDetailsForDataflow(e){return this.http.post(`${this.url}/SetShardsSourceDBDetailsForDataflow`,{MigrationProfile:e})}setDataflowDetailsForShardedMigrations(e){return this.http.post(`${this.url}/SetDataflowDetailsForShardedMigrations`,{DataflowConfig:e})}getSourceProfile(){return this.http.get(`${this.url}/GetSourceProfileConfig`)}getSchemaConversionFromSessionFile(e){return this.http.post(`${this.url}/convert/session`,e)}getDStructuredReport(){return this.http.get(`${this.url}/downloadStructuredReport`)}getDTextReport(){return this.http.get(`${this.url}/downloadTextReport`)}getDSpannerDDL(){return this.http.get(`${this.url}/downloadDDL`)}getIssueDescription(){return this.http.get(`${this.url}/issueDescription`)}getConversionRate(){return this.http.get(`${this.url}/conversion`)}getConnectionProfiles(e){return this.http.get(`${this.url}/GetConnectionProfiles?source=${e}`)}getGeneratedResources(){return this.http.get(`${this.url}/GetGeneratedResources`)}getStaticIps(){return this.http.get(`${this.url}/GetStaticIps`)}createConnectionProfile(e){return this.http.post(`${this.url}/CreateConnectionProfile`,e)}getSummary(){return this.http.get(`${this.url}/summary`)}getDdl(){return this.http.get(`${this.url}/ddl`)}getTypeMap(){return this.http.get(`${this.url}/typemap`)}getSpannerDefaultTypeMap(){return this.http.get(`${this.url}/spannerDefaultTypeMap`)}reviewTableUpdate(e,i){return this.http.post(`${this.url}/typemap/reviewTableSchema?table=${e}`,i)}updateTable(e,i){return this.http.post(`${this.url}/typemap/table?table=${e}`,i)}removeInterleave(e){return this.http.post(`${this.url}/removeParent?tableId=${e}`,{})}restoreTables(e){return this.http.post(`${this.url}/restore/tables`,e)}restoreTable(e){return this.http.post(`${this.url}/restore/table?table=${e}`,{})}dropTable(e){return this.http.post(`${this.url}/drop/table?table=${e}`,{})}dropTables(e){return this.http.post(`${this.url}/drop/tables`,e)}updatePk(e){return this.http.post(`${this.url}/primaryKey`,e)}updateFk(e,i){return this.http.post(`${this.url}/update/fks?table=${e}`,i)}addColumn(e,i){return this.http.post(`${this.url}/AddColumn?table=${e}`,i)}removeFk(e,i){return this.http.post(`${this.url}/drop/fk?table=${e}`,{Id:i})}getTableWithErrors(){return this.http.get(`${this.url}/GetTableWithErrors`)}getSessions(){return this.http.get(`${this.url}/GetSessions`)}getConvForSession(e){return this.http.get(`${this.url}/GetSession/${e}`,{responseType:"blob"})}resumeSession(e){return this.http.post(`${this.url}/ResumeSession/${e}`,{})}saveSession(e){return this.http.post(`${this.url}/SaveRemoteSession`,e)}getSpannerConfig(){return this.http.get(`${this.url}/GetConfig`)}setSpannerConfig(e){return this.http.post(`${this.url}/SetSpannerConfig`,e)}getIsOffline(){return this.http.get(`${this.url}/IsOffline`)}updateIndex(e,i){return this.http.post(`${this.url}/update/indexes?table=${e}`,i)}dropIndex(e,i){return this.http.post(`${this.url}/drop/secondaryindex?table=${e}`,{Id:i})}restoreIndex(e,i){return this.http.post(`${this.url}/restore/secondaryIndex?tableId=${e}&indexId=${i}`,{})}getInterleaveStatus(e){return this.http.get(`${this.url}/setparent?table=${e}&update=false`)}setInterleave(e){return this.http.get(`${this.url}/setparent?table=${e}&update=true`)}getSourceDestinationSummary(){return this.http.get(`${this.url}/GetSourceDestinationSummary`)}migrate(e){return this.http.post(`${this.url}/Migrate`,e)}getProgress(){return this.http.get(`${this.url}/GetProgress`)}uploadFile(e){return this.http.post(`${this.url}/uploadFile`,e)}cleanUpStreamingJobs(){return this.http.post(`${this.url}/CleanUpStreamingJobs`,{})}applyRule(e){return this.http.post(`${this.url}/applyrule`,e)}dropRule(e){return this.http.post(`${this.url}/dropRule?id=${e}`,{})}getStandardTypeToPGSQLTypemap(){return this.http.get(`${this.url}/typemap/GetStandardTypeToPGSQLTypemap`)}getPGSQLToStandardTypeTypemap(){return this.http.get(`${this.url}/typemap/GetPGSQLToStandardTypeTypemap`)}}return t.\u0275fac=function(e){return new(e||t)(Q(jh))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Bo=(()=>{class t{constructor(e){this.snackBar=e}openSnackBar(e,i,o){o||(o=10),this.snackBar.open(e,i,{duration:1e3*o})}openSnackBarWithoutTimeout(e,i){this.snackBar.open(e,i)}}return t.\u0275fac=function(e){return new(e||t)(Q(nU))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Vo=(()=>{class t{constructor(){this.spannerConfigSub=new vt(!1),this.datebaseLoaderSub=new vt({type:"",databaseName:""}),this.viewAssesmentSub=new vt({srcDbType:"",connectionDetail:"",conversionRates:{good:0,ok:0,bad:0}}),this.tabToSpannerSub=new vt(!1),this.cancelDbLoadSub=new vt(!1),this.spannerConfig=this.spannerConfigSub.asObservable(),this.databaseLoader=this.datebaseLoaderSub.asObservable(),this.viewAssesment=this.viewAssesmentSub.asObservable(),this.tabToSpanner=this.tabToSpannerSub.asObservable(),this.cancelDbLoad=this.cancelDbLoadSub.asObservable()}openSpannerConfig(){this.spannerConfigSub.next(!0)}openDatabaseLoader(e,i){this.datebaseLoaderSub.next({type:e,databaseName:i})}closeDatabaseLoader(){this.datebaseLoaderSub.next({type:"",databaseName:""})}setViewAssesmentData(e){this.viewAssesmentSub.next(e)}setTabToSpanner(){this.tabToSpannerSub.next(!0)}cancelDbLoading(){this.cancelDbLoadSub.next(!0)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Rv=(()=>{class t{constructor(){this.reviewTableChangesSub=new vt({Changes:[],DDL:""}),this.tableUpdateDetailSub=new vt({tableName:"",tableId:"",updateDetail:{UpdateCols:{}}}),this.reviewTableChanges=this.reviewTableChangesSub.asObservable(),this.tableUpdateDetail=this.tableUpdateDetailSub.asObservable()}setTableReviewChanges(e){this.reviewTableChangesSub.next(e)}setTableUpdateDetail(e){this.tableUpdateDetailSub.next(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Da=(()=>{class t{constructor(e){this.fetch=e,this.standardTypeToPGSQLTypeMapSub=new vt(new Map),this.pgSQLToStandardTypeTypeMapSub=new vt(new Map),this.standardTypeToPGSQLTypeMap=this.standardTypeToPGSQLTypeMapSub.asObservable(),this.pgSQLToStandardTypeTypeMap=this.pgSQLToStandardTypeTypeMapSub.asObservable()}getStandardTypeToPGSQLTypemap(){return this.fetch.getStandardTypeToPGSQLTypemap().subscribe({next:e=>{this.standardTypeToPGSQLTypeMapSub.next(new Map(Object.entries(e)))}})}getPGSQLToStandardTypeTypemap(){return this.fetch.getPGSQLToStandardTypeTypemap().subscribe({next:e=>{this.pgSQLToStandardTypeTypeMapSub.next(new Map(Object.entries(e)))}})}createTreeNode(e,i,o="",r=""){var s,a,l;let u=Object.keys(e.SpSchema).filter(C=>e.SpSchema[C].Name.toLocaleLowerCase().includes(o.toLocaleLowerCase())),p=Object.keys(e.SrcSchema).filter(C=>-1==u.indexOf(C)&&e.SrcSchema[C].Name.replace(/[^A-Za-z0-9_]/g,"_").includes(o.toLocaleLowerCase())),g=this.getDeletedIndexes(e),v={name:`Tables (${u.length})`,type:Qt.Tables,parent:"",pos:-1,isSpannerNode:!0,id:"",parentId:"",children:u.map(C=>{var M;let V=e.SpSchema[C];return{name:V.Name,status:i[C],type:Qt.Table,parent:""!=V.ParentId?null===(M=e.SpSchema[V.ParentId])||void 0===M?void 0:M.Name:"",pos:-1,isSpannerNode:!0,id:C,parentId:V.ParentId,children:[{name:`Indexes (${V.Indexes?V.Indexes.length:0})`,status:"",type:Qt.Indexes,parent:e.SpSchema[C].Name,pos:-1,isSpannerNode:!0,id:"",parentId:C,children:V.Indexes?V.Indexes.map((K,Y)=>({name:K.Name,type:Qt.Index,parent:e.SpSchema[C].Name,pos:Y,isSpannerNode:!0,id:K.Id,parentId:C})):[]}]}})};return"asc"===r||""===r?null===(s=v.children)||void 0===s||s.sort((C,M)=>C.name>M.name?1:M.name>C.name?-1:0):"desc"===r&&(null===(a=v.children)||void 0===a||a.sort((C,M)=>M.name>C.name?1:C.name>M.name?-1:0)),p.forEach(C=>{var M;null===(M=v.children)||void 0===M||M.push({name:e.SrcSchema[C].Name.replace(/[^A-Za-z0-9_]/g,"_"),status:"DARK",type:Qt.Table,pos:-1,isSpannerNode:!0,children:[],isDeleted:!0,id:C,parent:"",parentId:""})}),null===(l=v.children)||void 0===l||l.forEach((C,M)=>{g[C.id]&&g[C.id].forEach(V=>{var K,Y;null===(K=v.children[M].children[0].children)||void 0===K||K.push({name:V.Name.replace(/[^A-Za-z0-9_]/g,"_"),type:Qt.Index,parent:null===(Y=e.SpSchema[C.name])||void 0===Y?void 0:Y.Name,pos:M,isSpannerNode:!0,isDeleted:!0,id:V.Id,parentId:C.id})})}),[{name:e.DatabaseName,children:[v],type:Qt.DbName,parent:"",pos:-1,isSpannerNode:!0,id:"",parentId:""}]}createTreeNodeForSource(e,i,o="",r=""){var s,a;let l=Object.keys(e.SrcSchema).filter(p=>e.SrcSchema[p].Name.toLocaleLowerCase().includes(o.toLocaleLowerCase())),u={name:`Tables (${l.length})`,type:Qt.Tables,pos:-1,isSpannerNode:!1,id:"",parent:"",parentId:"",children:l.map(p=>{var g;let v=e.SrcSchema[p];return{name:v.Name,status:i[p]?i[p]:"NONE",type:Qt.Table,parent:"",pos:-1,isSpannerNode:!1,id:p,parentId:"",children:[{name:`Indexes (${(null===(g=v.Indexes)||void 0===g?void 0:g.length)||"0"})`,status:"",type:Qt.Indexes,parent:"",pos:-1,isSpannerNode:!1,id:"",parentId:"",children:v.Indexes?v.Indexes.map((C,M)=>({name:C.Name,type:Qt.Index,parent:e.SrcSchema[p].Name,isSpannerNode:!1,pos:M,id:C.Id,parentId:p})):[]}]}})};return"asc"===r||""===r?null===(s=u.children)||void 0===s||s.sort((p,g)=>p.name>g.name?1:g.name>p.name?-1:0):"desc"===r&&(null===(a=u.children)||void 0===a||a.sort((p,g)=>g.name>p.name?1:p.name>g.name?-1:0)),[{name:e.DatabaseName,children:[u],type:Qt.DbName,isSpannerNode:!1,parent:"",pos:-1,id:"",parentId:""}]}getColumnMapping(e,i){let u,o=this.getSpannerTableNameFromId(e,i),r=i.SrcSchema[e].ColIds,s=i.SpSchema[e]?i.SpSchema[e].ColIds:null,a=i.SrcSchema[e].PrimaryKeys,l=s?i.SpSchema[e].PrimaryKeys:null;this.standardTypeToPGSQLTypeMap.subscribe(v=>{u=v});const p=di.StorageMaxLength,g=i.SrcSchema[e].ColIds.map((v,C)=>{var M,V;let K;o&&i.SpSchema[e].PrimaryKeys.forEach(ke=>{ke.ColId==v&&(K=ke.Order)});let Y=o?null===(M=i.SpSchema[e])||void 0===M?void 0:M.ColDefs[v]:null,ee=Y?u.get(Y.T.Name):"";return{spOrder:Y?C+1:"",srcOrder:C+1,spColName:Y?Y.Name:"",spDataType:Y?"postgresql"===i.SpDialect?void 0===ee?Y.T.Name:ee:Y.T.Name:"",srcColName:i.SrcSchema[e].ColDefs[v].Name,srcDataType:i.SrcSchema[e].ColDefs[v].Type.Name,spIsPk:!(!Y||!o)&&-1!==(null===(V=i.SpSchema[e].PrimaryKeys)||void 0===V?void 0:V.map(ke=>ke.ColId).indexOf(v)),srcIsPk:!!a&&-1!==a.map(ke=>ke.ColId).indexOf(v),spIsNotNull:!(!Y||!o)&&Y.NotNull,srcIsNotNull:i.SrcSchema[e].ColDefs[v].NotNull,srcId:v,spId:Y?v:"",spColMaxLength:0!=(null==Y?void 0:Y.T.Len)?(null==Y?void 0:Y.T.Len)!=p?null==Y?void 0:Y.T.Len:"MAX":"",srcColMaxLength:null!=i.SrcSchema[e].ColDefs[v].Type.Mods?i.SrcSchema[e].ColDefs[v].Type.Mods[0]:""}});return s&&s.forEach((v,C)=>{var M;if(r.indexOf(v)<0){let V=i.SpSchema[e].ColDefs[v],K=o?null===(M=i.SpSchema[e])||void 0===M?void 0:M.ColDefs[v]:null,Y=K?u.get(K.T.Name):"";g.push({spOrder:C+1,srcOrder:"",spColName:V.Name,spDataType:K?"postgresql"===i.SpDialect?void 0===Y?K.T.Name:Y:K.T.Name:"",srcColName:"",srcDataType:"",spIsPk:!!l&&-1!==l.map(ee=>ee.ColId).indexOf(v),srcIsPk:!1,spIsNotNull:V.NotNull,srcIsNotNull:!1,srcId:"",spId:v,srcColMaxLength:"",spColMaxLength:null==K?void 0:K.T.Len})}}),g}getPkMapping(e){let i=e.filter(o=>o.spIsPk||o.srcIsPk);return JSON.parse(JSON.stringify(i))}getFkMapping(e,i){var o;let r=null===(o=i.SrcSchema[e])||void 0===o?void 0:o.ForeignKeys;return r?r.map(s=>{let a=this.getSpannerFkFromId(i,e,s.Id),l=a?a.ColIds.map(M=>i.SpSchema[e].ColDefs[M].Name):[],u=a?a.ColIds:[],p=s.ColIds.map(M=>i.SrcSchema[e].ColDefs[M].Name),g=a?a.ReferColumnIds.map(M=>i.SpSchema[s.ReferTableId].ColDefs[M].Name):[],v=a?a.ReferColumnIds:[],C=s.ReferColumnIds.map(M=>i.SrcSchema[s.ReferTableId].ColDefs[M].Name);return{srcFkId:s.Id,spFkId:null==a?void 0:a.Id,spName:a?a.Name:"",srcName:s.Name,spColumns:l,srcColumns:p,spReferTable:a?i.SpSchema[a.ReferTableId].Name:"",srcReferTable:i.SrcSchema[s.ReferTableId].Name,spReferColumns:g,srcReferColumns:C,spColIds:u,spReferColumnIds:v,spReferTableId:a?a.ReferTableId:""}}):[]}getIndexMapping(e,i,o){let r=this.getSourceIndexFromId(i,e,o),s=this.getSpannerIndexFromId(i,e,o),a=r?r.Keys.map(p=>p.ColId):[],l=s?s.Keys.map(p=>p.ColId):[],u=r?r.Keys.map(p=>{let g=this.getSpannerIndexKeyFromColId(i,e,o,p.ColId);return{srcColId:p.ColId,spColId:g?g.ColId:void 0,srcColName:i.SrcSchema[e].ColDefs[p.ColId].Name,srcOrder:p.Order,srcDesc:p.Desc,spColName:g?i.SpSchema[e].ColDefs[g.ColId].Name:"",spOrder:g?g.Order:void 0,spDesc:g?g.Desc:void 0}}):[];return l.forEach(p=>{if(-1==a.indexOf(p)){let g=this.getSpannerIndexKeyFromColId(i,e,o,p);u.push({srcColName:"",srcOrder:"",srcColId:void 0,srcDesc:void 0,spColName:i.SpSchema[e].ColDefs[p].Name,spOrder:g?g.Order:void 0,spDesc:g?g.Desc:void 0,spColId:g?g.ColId:void 0})}}),u}getSpannerFkFromId(e,i,o){var r,s;let a=null;return null===(s=null===(r=e.SpSchema[i])||void 0===r?void 0:r.ForeignKeys)||void 0===s||s.forEach(l=>{l.Id==o&&(a=l)}),a}getSourceIndexFromId(e,i,o){var r,s;let a=null;return null===(s=null===(r=e.SrcSchema[i])||void 0===r?void 0:r.Indexes)||void 0===s||s.forEach(l=>{l.Id==o&&(a=l)}),a}getSpannerIndexFromId(e,i,o){var r,s;let a=null;return null===(s=null===(r=e.SpSchema[i])||void 0===r?void 0:r.Indexes)||void 0===s||s.forEach(l=>{l.Id==o&&(a=l)}),a}getSpannerIndexKeyFromColId(e,i,o,r){var s;let a=null,l=(null===(s=e.SpSchema[i])||void 0===s?void 0:s.Indexes)?e.SpSchema[i].Indexes.filter(u=>u.Id==o):null;if(l&&l.length>0){let u=l[0].Keys.filter(p=>p.ColId==r);a=u.length>0?u[0]:null}return a}getSourceIndexKeyFromColId(e,i,o,r){var s;let a=null,l=(null===(s=e.SrcSchema[i])||void 0===s?void 0:s.Indexes)?e.SrcSchema[i].Indexes.filter(u=>u.Id==o):null;if(l&&l.length>0){let u=l[0].Keys.filter(p=>p.ColId==r);a=u.length>0?u[0]:null}return a}getSpannerColDefFromId(e,i,o){let r=null;return Object.keys(o.SpSchema[e].ColDefs).forEach(s=>{o.SpSchema[e].ColDefs[s].Id==i&&(r=o.SpSchema[e].ColDefs[s])}),r}getSourceTableNameFromId(e,i){let o="";return Object.keys(i.SrcSchema).forEach(r=>{i.SrcSchema[r].Id===e&&(o=i.SrcSchema[r].Name)}),o}getSpannerTableNameFromId(e,i){let o=null;return Object.keys(i.SpSchema).forEach(r=>{i.SpSchema[r].Id===e&&(o=i.SpSchema[r].Name)}),o}getTableIdFromSpName(e,i){let o="";return Object.keys(i.SpSchema).forEach(r=>{i.SpSchema[r].Name===e&&(o=i.SpSchema[r].Id)}),o}getColIdFromSpannerColName(e,i,o){let r="";return Object.keys(o.SpSchema[i].ColDefs).forEach(s=>{o.SpSchema[i].ColDefs[s].Name===e&&(r=o.SpSchema[i].ColDefs[s].Id)}),r}getDeletedIndexes(e){let i={};return Object.keys(e.SpSchema).forEach(o=>{var r;let s=e.SpSchema[o],a=e.SrcSchema[o],l=s&&s.Indexes?s.Indexes.map(p=>p.Id):[],u=a&&a.Indexes?null===(r=a.Indexes)||void 0===r?void 0:r.filter(p=>!l.includes(p.Id)):null;s&&a&&u&&u.length>0&&(i[o]=u)}),i}}return t.\u0275fac=function(e){return new(e||t)(Q(Bi))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Ln=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.snackbar=i,this.clickEvent=o,this.tableUpdatePubSub=r,this.conversion=s,this.convSubject=new vt({}),this.conversionRateSub=new vt({}),this.typeMapSub=new vt({}),this.defaultTypeMapSub=new vt({}),this.summarySub=new vt(new Map),this.ddlSub=new vt({}),this.tableInterleaveStatusSub=new vt({}),this.sessionsSub=new vt({}),this.configSub=new vt({}),this.currentSessionSub=new vt({}),this.isOfflineSub=new vt(!1),this.ruleMapSub=new vt([]),this.rule=this.ruleMapSub.asObservable(),this.conv=this.convSubject.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.conversionRate=this.conversionRateSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.typeMap=this.typeMapSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.defaultTypeMap=this.defaultTypeMapSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.summary=this.summarySub.asObservable(),this.ddl=this.ddlSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.tableInterleaveStatus=this.tableInterleaveStatusSub.asObservable(),this.sessions=this.sessionsSub.asObservable(),this.config=this.configSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.isOffline=this.isOfflineSub.asObservable(),this.currentSession=this.currentSessionSub.asObservable().pipe(It(a=>0!==Object.keys(a).length)),this.getLastSessionDetails(),this.getConfig(),this.updateIsOffline()}resetStore(){this.convSubject.next({}),this.conversionRateSub.next({}),this.typeMapSub.next({}),this.defaultTypeMapSub.next({}),this.summarySub.next(new Map),this.ddlSub.next({}),this.tableInterleaveStatusSub.next({})}getDdl(){this.fetch.getDdl().subscribe(e=>{this.ddlSub.next(e)})}getSchemaConversionFromDb(){this.fetch.getSchemaConversionFromDirectConnect().subscribe({next:e=>{this.convSubject.next(e),this.ruleMapSub.next(null==e?void 0:e.Rules)},error:e=>{this.clickEvent.closeDatabaseLoader(),this.snackbar.openSnackBar(e.error,"Close")}})}getAllSessions(){this.fetch.getSessions().subscribe({next:e=>{this.sessionsSub.next(e)},error:e=>{this.snackbar.openSnackBar("Unable to fetch sessions.","Close")}})}getLastSessionDetails(){this.fetch.getLastSessionDetails().subscribe({next:e=>{this.convSubject.next(e),this.ruleMapSub.next(null==e?void 0:e.Rules)},error:e=>{this.snackbar.openSnackBar(e.error,"Close")}})}getSchemaConversionFromDump(e){return this.fetch.getSchemaConversionFromDump(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules)},error:i=>{this.clickEvent.closeDatabaseLoader(),this.snackbar.openSnackBar(i.error,"Close")}})}getSchemaConversionFromSession(e){return this.fetch.getSchemaConversionFromSessionFile(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules)},error:i=>{this.snackbar.openSnackBar(i.error,"Close"),this.clickEvent.closeDatabaseLoader()}})}getSchemaConversionFromResumeSession(e){this.fetch.resumeSession(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules)},error:i=>{this.snackbar.openSnackBar(i.error,"Close")}})}getConversionRate(){this.fetch.getConversionRate().subscribe(e=>{this.conversionRateSub.next(e)})}getRateTypemapAndSummary(){return Y_({rates:this.fetch.getConversionRate(),typeMap:this.fetch.getTypeMap(),defaultTypeMap:this.fetch.getSpannerDefaultTypeMap(),summary:this.fetch.getSummary(),ddl:this.fetch.getDdl()}).pipe(wn(e=>We(e))).subscribe(({rates:e,typeMap:i,defaultTypeMap:o,summary:r,ddl:s})=>{this.conversionRateSub.next(e),this.typeMapSub.next(i),this.defaultTypeMapSub.next(o),this.summarySub.next(new Map(Object.entries(r))),this.ddlSub.next(s)})}getSummary(){return this.fetch.getSummary().subscribe({next:e=>{this.summarySub.next(new Map(Object.entries(e)))}})}reviewTableUpdate(e,i){return this.fetch.reviewTableUpdate(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>{if(o.error)return o.error;{let r;return this.conversion.standardTypeToPGSQLTypeMap.subscribe(s=>{r=s}),this.conv.subscribe(s=>{o.Changes.forEach(a=>{a.InterleaveColumnChanges.forEach(l=>{if("postgresql"===s.SpDialect){let u=r.get(l.Type),p=r.get(l.UpdateType);l.Type=void 0===u?l.Type:u,l.UpdateType=void 0===p?l.UpdateType:p}di.DataTypes.indexOf(l.Type.toString())>-1&&(l.Type+=this.updateColumnSize(l.Size)),di.DataTypes.indexOf(l.UpdateType.toString())>-1&&(l.UpdateType+=this.updateColumnSize(l.UpdateSize))})})}),this.tableUpdatePubSub.setTableReviewChanges(o),""}}))}updateColumnSize(e){return e===di.StorageMaxLength?"(MAX)":"("+e+")"}updateTable(e,i){return this.fetch.updateTable(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}removeInterleave(e){return this.fetch.removeInterleave(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>(this.getDdl(),i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),""))))}restoreTables(e){return this.fetch.restoreTables(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Selected tables restored successfully","Close",5),"")))}restoreTable(e){return this.fetch.restoreTable(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Table restored successfully","Close",5),"")))}dropTable(e){return this.fetch.dropTable(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Table skipped successfully","Close",5),"")))}dropTables(e){return this.fetch.dropTables(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar(i.error,"Close"),i.error):(this.convSubject.next(i),this.snackbar.openSnackBar("Selected tables skipped successfully","Close",5),"")))}updatePk(e){return this.fetch.updatePk(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?i.error:(this.convSubject.next(i),this.getDdl(),"")))}updateFkNames(e,i){return this.fetch.updateFk(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}dropFk(e,i){return this.fetch.removeFk(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}getConfig(){this.fetch.getSpannerConfig().subscribe(e=>{this.configSub.next(e)})}updateConfig(e){this.configSub.next(e)}updateIsOffline(){this.fetch.getIsOffline().subscribe(e=>{this.isOfflineSub.next(e)})}addColumn(e,i){this.fetch.addColumn(e,i).subscribe({next:o=>{this.convSubject.next(o),this.getDdl(),this.snackbar.openSnackBar("Added new column.","Close",5)},error:o=>{this.snackbar.openSnackBar(o.error,"Close")}})}applyRule(e){this.fetch.applyRule(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules),this.getDdl(),this.snackbar.openSnackBar("Added new rule.","Close",5)},error:i=>{this.snackbar.openSnackBar(i.error,"Close")}})}updateIndex(e,i){return this.fetch.updateIndex(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?o.error:(this.convSubject.next(o),this.getDdl(),"")))}dropIndex(e,i){return this.fetch.dropIndex(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?(this.snackbar.openSnackBar(o.error,"Close"),o.error):(this.convSubject.next(o),this.getDdl(),this.ruleMapSub.next(null==o?void 0:o.Rules),this.snackbar.openSnackBar("Index skipped successfully","Close",5),"")))}restoreIndex(e,i){return this.fetch.restoreIndex(e,i).pipe(wn(o=>We({error:o.error})),Zt(console.log),je(o=>o.error?(this.snackbar.openSnackBar(o.error,"Close"),o.error):(this.convSubject.next(o),this.snackbar.openSnackBar("Index restored successfully","Close",5),"")))}getInterleaveConversionForATable(e){this.fetch.getInterleaveStatus(e).subscribe(i=>{this.tableInterleaveStatusSub.next(i)})}setInterleave(e){this.fetch.setInterleave(e).subscribe(i=>{this.convSubject.next(i.sessionState),this.getDdl(),i.sessionState&&this.convSubject.next(i.sessionState)})}uploadFile(e){return this.fetch.uploadFile(e).pipe(wn(i=>We({error:i.error})),Zt(console.log),je(i=>i.error?(this.snackbar.openSnackBar("File upload failed","Close"),i.error):(this.snackbar.openSnackBar("File uploaded successfully","Close",5),"")))}dropRule(e){return this.fetch.dropRule(e).subscribe({next:i=>{this.convSubject.next(i),this.ruleMapSub.next(null==i?void 0:i.Rules),this.getDdl(),this.snackbar.openSnackBar("Rule deleted successfully","Close",5)},error:i=>{this.snackbar.openSnackBar(i.error,"Close")}})}}return t.\u0275fac=function(e){return new(e||t)(Q(Bi),Q(Bo),Q(Vo),Q(Rv),Q(Da))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Gp=(()=>{class t{constructor(){this.isLoadingSub=new vt(!1),this.isLoading=this.isLoadingSub.asObservable()}startLoader(){this.isLoadingSub.next(!0)}stopLoader(){this.isLoadingSub.next(!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function OG(t,n){if(1&t&&(d(0,"mat-option",18),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function AG(t,n){if(1&t&&(d(0,"mat-option",18),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function PG(t,n){1&t&&(d(0,"b"),h(1,"Note: For sharded migrations, please enter below the details of the shard you want Spanner migration tool to read the schema from. The complete connection configuration of all the shards will be taken in later, during data migration."),c())}function RG(t,n){if(1&t&&(d(0,"div",19)(1,"div",20)(2,"mat-form-field",21)(3,"mat-label"),h(4,"Sharded Migration"),c(),d(5,"mat-select",22),_(6,AG,2,2,"mat-option",6),c()(),d(7,"mat-icon",23),h(8,"info"),c(),d(9,"mat-chip",24),h(10," Preview "),c()(),E(11,"br"),_(12,PG,2,0,"b",25),c()),2&t){const e=D();f(6),m("ngForOf",e.shardedResponseList),f(3),m("removable",!1),f(3),m("ngIf",e.connectForm.value.isSharded)}}function FG(t,n){if(1&t&&(d(0,"mat-option",18),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function NG(t,n){1&t&&(d(0,"mat-icon",26),h(1," check_circle "),c())}let LG=(()=>{class t{constructor(e,i,o,r,s,a){this.router=e,this.fetch=i,this.data=o,this.loader=r,this.snackbarService=s,this.clickEvent=a,this.connectForm=new an({dbEngine:new X("",[de.required]),isSharded:new X(!1),hostName:new X("",[de.required]),port:new X("",[de.required,de.pattern("^[0-9]+$")]),userName:new X("",[de.required]),password:new X(""),dbName:new X("",[de.required]),dialect:new X("",[de.required])}),this.dbEngineList=[{value:"mysql",displayName:"MySQL"},{value:"sqlserver",displayName:"SQL Server"},{value:"oracle",displayName:"Oracle"},{value:"postgres",displayName:"PostgreSQL"}],this.isTestConnectionSuccessful=!1,this.connectRequest=null,this.getSchemaRequest=null,this.shardedResponseList=[{value:!1,displayName:"No"},{value:!0,displayName:"Yes"}],this.dialect=lI}ngOnInit(){null!=localStorage.getItem(Lo.DirectConnectForm)&&this.connectForm.setValue(JSON.parse(localStorage.getItem(Lo.DirectConnectForm))),null!=localStorage.getItem(Lo.IsConnectionSuccessful)&&(this.isTestConnectionSuccessful="true"===localStorage.getItem(Lo.IsConnectionSuccessful)),this.clickEvent.cancelDbLoad.subscribe({next:e=>{e&&this.connectRequest&&(this.connectRequest.unsubscribe(),this.getSchemaRequest&&this.getSchemaRequest.unsubscribe())}})}testConn(){this.clickEvent.openDatabaseLoader("test-connection",this.connectForm.value.dbName);const{dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l,dialect:u}=this.connectForm.value;localStorage.setItem(Lo.DirectConnectForm,JSON.stringify(this.connectForm.value)),this.connectRequest=this.fetch.connectTodb({dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l},u).subscribe({next:()=>{this.snackbarService.openSnackBar("SUCCESS! Spanner migration tool was able to successfully ping source database","Close",3),localStorage.setItem(Lo.IsConnectionSuccessful,"true"),this.clickEvent.closeDatabaseLoader()},error:g=>{this.isTestConnectionSuccessful=!1,this.snackbarService.openSnackBar(g.error,"Close"),localStorage.setItem(Lo.IsConnectionSuccessful,"false"),this.clickEvent.closeDatabaseLoader()}})}connectToDb(){this.clickEvent.openDatabaseLoader("direct",this.connectForm.value.dbName),window.scroll(0,0),this.data.resetStore(),localStorage.clear();const{dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l,dialect:u}=this.connectForm.value;localStorage.setItem(Lo.DirectConnectForm,JSON.stringify(this.connectForm.value)),this.connectRequest=this.fetch.connectTodb({dbEngine:e,isSharded:i,hostName:o,port:r,userName:s,password:a,dbName:l},u).subscribe({next:()=>{this.getSchemaRequest=this.data.getSchemaConversionFromDb(),this.data.conv.subscribe(g=>{localStorage.setItem(In.Config,JSON.stringify({dbEngine:e,hostName:o,port:r,userName:s,password:a,dbName:l})),localStorage.setItem(In.Type,mi.DirectConnect),localStorage.setItem(In.SourceDbName,$p(e)),this.clickEvent.closeDatabaseLoader(),localStorage.removeItem(Lo.DirectConnectForm),this.router.navigate(["/workspace"])})},error:g=>{this.snackbarService.openSnackBar(g.error,"Close"),this.clickEvent.closeDatabaseLoader()}})}refreshDbSpecifcConnectionOptions(){this.connectForm.value.isSharded=!1}}return t.\u0275fac=function(e){return new(e||t)(b(Jn),b(Bi),b(Ln),b(Gp),b(Bo),b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-direct-connection"]],decls:54,vars:8,consts:[[1,"connect-load-database-container"],[1,"form-container"],[3,"formGroup"],[1,"primary-header"],["appearance","outline",1,"full-width"],["formControlName","dbEngine",3,"selectionChange"],[3,"value",4,"ngFor","ngForOf"],["class","shardingConfig",4,"ngIf"],["matInput","","placeholder","127.0.0.1","name","hostName","type","text","formControlName","hostName"],["matInput","","placeholder","3306","name","port","type","text","formControlName","port"],["matInput","","placeholder","root","name","userName","type","text","formControlName","userName"],["matInput","","name","password","type","password","formControlName","password"],["matInput","","name","dbname","type","text","formControlName","dbName"],["matSelect","","name","dialect","formControlName","dialect","appearance","outline"],["class","success","matTooltip","Source Connection Successful","matTooltipPosition","above",4,"ngIf"],["mat-raised-button","","type","submit","color","accent",3,"disabled","click"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["mat-raised-button","",3,"routerLink"],[3,"value"],[1,"shardingConfig"],[1,"flex-container"],["appearance","outline",1,"flex-item"],["formControlName","isSharded"],["matTooltip","Configure multiple source database instances (shards) and consolidate them by migrating to a single Cloud Spanner instance to take advantage of Spanner's horizontal scalability and consistency semantics.",1,"flex-item","configure"],[1,"flex-item","rounded-chip",3,"removable"],[4,"ngIf"],["matTooltip","Source Connection Successful","matTooltipPosition","above",1,"success"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"form",2)(3,"h3",3),h(4,"Connect to Source Database"),c(),d(5,"mat-form-field",4)(6,"mat-label"),h(7,"Database Engine"),c(),d(8,"mat-select",5),N("selectionChange",function(){return i.refreshDbSpecifcConnectionOptions()}),_(9,OG,2,2,"mat-option",6),c()(),_(10,RG,13,3,"div",7),E(11,"br"),d(12,"h3",3),h(13,"Connection Detail"),c(),d(14,"mat-form-field",4)(15,"mat-label"),h(16,"Hostname"),c(),E(17,"input",8),c(),d(18,"mat-form-field",4)(19,"mat-label"),h(20,"Port"),c(),E(21,"input",9),d(22,"mat-error"),h(23," Only numbers are allowed. "),c()(),E(24,"br"),d(25,"mat-form-field",4)(26,"mat-label"),h(27,"User name"),c(),E(28,"input",10),c(),d(29,"mat-form-field",4)(30,"mat-label"),h(31,"Password"),c(),E(32,"input",11),c(),E(33,"br"),d(34,"mat-form-field",4)(35,"mat-label"),h(36,"Database Name"),c(),E(37,"input",12),c(),E(38,"br"),d(39,"h3",3),h(40,"Spanner Dialect"),c(),d(41,"mat-form-field",4)(42,"mat-label"),h(43,"Select a spanner dialect"),c(),d(44,"mat-select",13),_(45,FG,2,2,"mat-option",6),c()(),E(46,"br"),_(47,NG,2,0,"mat-icon",14),d(48,"button",15),N("click",function(){return i.testConn()}),h(49," Test Connection "),c(),d(50,"button",16),N("click",function(){return i.connectToDb()}),h(51," Connect "),c(),d(52,"button",17),h(53,"Cancel"),c()()()()),2&e&&(f(2),m("formGroup",i.connectForm),f(7),m("ngForOf",i.dbEngineList),f(1),m("ngIf","mysql"===i.connectForm.value.dbEngine),f(35),m("ngForOf",i.dialect),f(2),m("ngIf",i.isTestConnectionSuccessful),f(1),m("disabled",!i.connectForm.valid),f(2),m("disabled",!i.connectForm.valid||!i.isTestConnectionSuccessful),f(2),m("routerLink","/"))},directives:[xi,Hn,Sn,En,Mn,Yi,bn,Xn,ri,_i,Et,_n,ki,Td,li,Dn,Ob,Ht,Bs],styles:[".connect-load-database-container[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:0}.configure[_ngcontent-%COMP%]{color:#1967d2}.flex-container[_ngcontent-%COMP%]{display:flex;align-items:center}.flex-item[_ngcontent-%COMP%]{margin-right:8px}.rounded-chip[_ngcontent-%COMP%]{background-color:#fff;color:#0f33ab;border-radius:16px;padding:6px 12px;border:1px solid black;cursor:not-allowed;pointer-events:none}"]}),t})();function BG(t,n){if(1&t){const e=pe();d(0,"button",7),N("click",function(){return se(e),D().onConfirm()}),h(1," Continue "),c()}}let jo=(()=>{class t{constructor(e,i){this.dialogRef=e,this.data=i,void 0===i.title&&(i.title="Update can not be saved")}ngOnInit(){}onConfirm(){this.dialogRef.close(!0)}onDismiss(){this.dialogRef.close(!1)}getIconFromMessageType(){switch(this.data.type){case"warning":return"warning";case"error":return"error";case"success":return"check_circle";default:return"message"}}}return t.\u0275fac=function(e){return new(e||t)(b(Ti),b(Xi))},t.\u0275cmp=Ae({type:t,selectors:[["app-infodialog"]],decls:10,vars:3,consts:[[1,"dialog-container"],["mat-dialog-title",""],["mat-dialog-content",""],[1,"dialog-message"],["mat-dialog-actions","",1,"dialog-action"],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","color","primary",3,"click",4,"ngIf"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h1",1),h(2),c(),d(3,"div",2)(4,"p",3),h(5),c()(),d(6,"div",4)(7,"button",5),h(8,"CANCEL"),c(),_(9,BG,2,0,"button",6),c()()),2&e&&(f(2),Ee(i.data.title),f(3),Se(" ",i.data.message," "),f(4),m("ngIf","error"!=i.data.type))},directives:[fU,wr,Dr,Ht,Ji,Et],styles:[""]}),t})();function VG(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function jG(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function HG(t,n){if(1&t){const e=pe();d(0,"mat-form-field",24)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.sessionName=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"sessionName")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.sessionName)}}function UG(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Session Name"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("sessionName")}),_(5,VG,2,0,"mat-icon",22),_(6,jG,2,0,"mat-icon",22),c()(),_(7,HG,4,1,"mat-form-field",23),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.sessionName),f(1),m("ngIf",!e.displayFilter.sessionName),f(1),m("ngIf",e.displayFilter.sessionName)}}function zG(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.SessionName)}}function $G(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function GG(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function WG(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.editorName=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"editorName")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.editorName)}}function qG(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Editor"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("editorName")}),_(5,$G,2,0,"mat-icon",22),_(6,GG,2,0,"mat-icon",22),c()(),_(7,WG,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.editorName),f(1),m("ngIf",!e.displayFilter.editorName),f(1),m("ngIf",e.displayFilter.editorName)}}function KG(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.EditorName)}}function ZG(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function QG(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function YG(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.databaseType=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"databaseType")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.databaseType)}}function XG(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Database Type"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("databaseType")}),_(5,ZG,2,0,"mat-icon",22),_(6,QG,2,0,"mat-icon",22),c()(),_(7,YG,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.databaseType),f(1),m("ngIf",!e.displayFilter.databaseType),f(1),m("ngIf",e.displayFilter.databaseType)}}function JG(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.DatabaseType)}}function eW(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function tW(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function nW(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.databaseName=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"databaseName")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.databaseName)}}function iW(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Database Name"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("databaseName")}),_(5,eW,2,0,"mat-icon",22),_(6,tW,2,0,"mat-icon",22),c()(),_(7,nW,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.databaseName),f(1),m("ngIf",!e.displayFilter.databaseName),f(1),m("ngIf",e.displayFilter.databaseName)}}function oW(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.DatabaseName)}}function rW(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function sW(t,n){1&t&&(d(0,"mat-icon"),h(1,"filter_list"),c())}function aW(t,n){if(1&t){const e=pe();d(0,"mat-form-field",28)(1,"mat-label"),h(2,"Filter"),c(),d(3,"input",25),N("ngModelChange",function(o){return se(e),D(3).filterColumnsValue.dialect=o})("keyup",function(o){return se(e),D(3).updateFilterValue(o,"dialect")}),c()()}if(2&t){const e=D(3);f(3),m("ngModel",e.filterColumnsValue.dialect)}}function lW(t,n){if(1&t){const e=pe();d(0,"th",19)(1,"div",20)(2,"span"),h(3,"Spanner Dialect"),c(),d(4,"button",21),N("click",function(){return se(e),D(2).toggleFilterDisplay("dialect")}),_(5,rW,2,0,"mat-icon",22),_(6,sW,2,0,"mat-icon",22),c()(),_(7,aW,4,1,"mat-form-field",27),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.displayFilter.dialect),f(1),m("ngIf",!e.displayFilter.dialect),f(1),m("ngIf",e.displayFilter.dialect)}}function cW(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.Dialect)}}function dW(t,n){1&t&&(d(0,"th",19),h(1,"Notes"),c())}function uW(t,n){if(1&t){const e=pe();d(0,"button",34),N("click",function(){se(e);const o=D(2).index,r=D(2);return r.notesToggle[o]=!r.notesToggle[o]}),h(1," ... "),c()}}function hW(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e)}}function pW(t,n){if(1&t&&(d(0,"div"),_(1,hW,2,1,"p",35),c()),2&t){const e=D(2).$implicit;f(1),m("ngForOf",e.Notes)}}function fW(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D(2).$implicit;f(1),Ee(null==e.Notes||null==e.Notes[0]?null:e.Notes[0].substring(0,20))}}function mW(t,n){if(1&t&&(d(0,"div",30),_(1,uW,2,0,"button",31),_(2,pW,2,1,"div",32),_(3,fW,2,1,"ng-template",null,33,Bc),c()),2&t){const e=$t(4),i=D(),o=i.$implicit,r=i.index,s=D(2);f(1),m("ngIf",(null==o.Notes?null:o.Notes.length)>1||(null==o.Notes[0]?null:o.Notes[0].length)>20),f(1),m("ngIf",s.notesToggle[r])("ngIfElse",e)}}function gW(t,n){if(1&t&&(d(0,"td",26),_(1,mW,5,3,"div",29),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.Notes)}}function _W(t,n){1&t&&(d(0,"th",19),h(1,"Created At"),c())}function bW(t,n){if(1&t&&(d(0,"td",26),h(1),c()),2&t){const e=n.$implicit,i=D(2);f(1),Ee(i.convertDateTime(e.CreateTimestamp))}}function vW(t,n){1&t&&E(0,"th",19)}function yW(t,n){if(1&t){const e=pe();d(0,"td",26)(1,"button",36),N("click",function(){const r=se(e).$implicit;return D(2).resumeFromSessionFile(r.VersionId)}),h(2," Resume "),c(),d(3,"button",36),N("click",function(){const r=se(e).$implicit;return D(2).downloadSessionFile(r.VersionId,r.SessionName,r.DatabaseType,r.DatabaseName)}),h(4," Download "),c()()}}function CW(t,n){1&t&&E(0,"tr",37)}function wW(t,n){1&t&&E(0,"tr",38)}function DW(t,n){if(1&t&&(d(0,"div",5)(1,"table",6),be(2,7),_(3,UG,8,3,"th",8),_(4,zG,2,1,"td",9),ve(),be(5,10),_(6,qG,8,3,"th",8),_(7,KG,2,1,"td",9),ve(),be(8,11),_(9,XG,8,3,"th",8),_(10,JG,2,1,"td",9),ve(),be(11,12),_(12,iW,8,3,"th",8),_(13,oW,2,1,"td",9),ve(),be(14,13),_(15,lW,8,3,"th",8),_(16,cW,2,1,"td",9),ve(),be(17,14),_(18,dW,2,0,"th",8),_(19,gW,2,1,"td",9),ve(),be(20,15),_(21,_W,2,0,"th",8),_(22,bW,2,1,"td",9),ve(),be(23,16),_(24,vW,1,0,"th",8),_(25,yW,5,0,"td",9),ve(),_(26,CW,1,0,"tr",17),_(27,wW,1,0,"tr",18),c()()),2&t){const e=D();f(1),m("dataSource",e.filteredDataSource),f(25),m("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",!0),f(1),m("matRowDefColumns",e.displayedColumns)}}function SW(t,n){if(1&t){const e=pe();d(0,"div",39),hn(),d(1,"svg",40),E(2,"rect",41)(3,"path",42),c(),Qs(),d(4,"button",43),N("click",function(){return se(e),D().openSpannerConfigDialog()}),h(5," Configure Spanner Details "),c(),d(6,"span"),h(7,"Do not have any previous session to display. "),d(8,"u"),h(9," OR "),c(),E(10,"br"),h(11," Invalid Spanner configuration. "),c()()}}let MW=(()=>{class t{constructor(e,i,o,r){this.fetch=e,this.data=i,this.router=o,this.clickEvent=r,this.displayedColumns=["SessionName","EditorName","DatabaseType","DatabaseName","Dialect","Notes","CreateTimestamp","Action"],this.notesToggle=[],this.dataSource=[],this.filteredDataSource=[],this.filterColumnsValue={sessionName:"",editorName:"",databaseType:"",databaseName:"",dialect:""},this.displayFilter={sessionName:!1,editorName:!1,databaseType:!1,databaseName:!1,dialect:!1}}ngOnInit(){this.data.getAllSessions(),this.data.sessions.subscribe({next:e=>{null!=e?(this.filteredDataSource=e,this.dataSource=e):(this.filteredDataSource=[],this.dataSource=[])}})}toggleFilterDisplay(e){this.displayFilter[e]=!this.displayFilter[e]}updateFilterValue(e,i){e.stopPropagation(),this.filterColumnsValue[i]=e.target.value,this.applyFilter()}applyFilter(){this.filteredDataSource=this.dataSource.filter(e=>!!e.SessionName.toLowerCase().includes(this.filterColumnsValue.sessionName.toLowerCase())).filter(e=>!!e.EditorName.toLowerCase().includes(this.filterColumnsValue.editorName.toLowerCase())).filter(e=>!!e.DatabaseType.toLowerCase().includes(this.filterColumnsValue.databaseType.toLowerCase())).filter(e=>!!e.DatabaseName.toLowerCase().includes(this.filterColumnsValue.databaseName.toLowerCase())).filter(e=>!!e.Dialect.toLowerCase().includes(this.filterColumnsValue.dialect.toLowerCase()))}downloadSessionFile(e,i,o,r){this.fetch.getConvForSession(e).subscribe(s=>{var a=document.createElement("a");a.href=URL.createObjectURL(s),a.download=`${i}_${o}_${r}.json`,a.click()})}resumeFromSessionFile(e){this.data.resetStore(),this.data.getSchemaConversionFromResumeSession(e),this.data.conv.subscribe(i=>{localStorage.setItem(In.Config,e),localStorage.setItem(In.Type,mi.ResumeSession),this.router.navigate(["/workspace"])})}openSpannerConfigDialog(){this.clickEvent.openSpannerConfig()}convertDateTime(e){return(e=(e=new Date(e).toString()).substring(e.indexOf(" ")+1)).substring(0,e.indexOf("("))}}return t.\u0275fac=function(e){return new(e||t)(b(Bi),b(Ln),b(Jn),b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-session-listing"]],decls:8,vars:2,consts:[[1,"sessions-wrapper"],[1,"primary-header"],[1,"summary"],["class","session-container mat-elevation-z3",4,"ngIf"],["class","mat-elevation-z3 warning-container",4,"ngIf"],[1,"session-container","mat-elevation-z3"],["mat-table","",3,"dataSource"],["matColumnDef","SessionName"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","EditorName"],["matColumnDef","DatabaseType"],["matColumnDef","DatabaseName"],["matColumnDef","Dialect"],["matColumnDef","Notes"],["matColumnDef","CreateTimestamp"],["matColumnDef","Action"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],[1,"table-header-container"],["mat-icon-button","",3,"click"],[4,"ngIf"],["appearance","standard","class","full-width",4,"ngIf"],["appearance","standard",1,"full-width"],["matInput","","autocomplete","off",3,"ngModel","ngModelChange","keyup"],["mat-cell",""],["appearance","standard",4,"ngIf"],["appearance","standard"],["class","notes-wrapper",4,"ngIf"],[1,"notes-wrapper"],["class","notes-toggle-button",3,"click",4,"ngIf"],[4,"ngIf","ngIfElse"],["short",""],[1,"notes-toggle-button",3,"click"],[4,"ngFor","ngForOf"],["mat-button","","color","primary",3,"click"],["mat-header-row",""],["mat-row",""],[1,"mat-elevation-z3","warning-container"],["width","49","height","48","viewBox","0 0 49 48","fill","none","xmlns","http://www.w3.org/2000/svg"],["x","0.907227","width","48","height","48","rx","4","fill","#E6ECFA"],["fill-rule","evenodd","clip-rule","evenodd","d","M17.9072 15C16.8027 15 15.9072 15.8954 15.9072 17V31C15.9072 32.1046 16.8027 33 17.9072 33H31.9072C33.0118 33 33.9072 32.1046 33.9072 31V17C33.9072 15.8954 33.0118 15 31.9072 15H17.9072ZM20.9072 18H18.9072V20H20.9072V18ZM21.9072 18H23.9072V20H21.9072V18ZM20.9072 23H18.9072V25H20.9072V23ZM21.9072 23H23.9072V25H21.9072V23ZM20.9072 28H18.9072V30H20.9072V28ZM21.9072 28H23.9072V30H21.9072V28ZM30.9072 18H24.9072V20H30.9072V18ZM24.9072 23H30.9072V25H24.9072V23ZM30.9072 28H24.9072V30H30.9072V28Z","fill","#3367D6"],["mat-button","","color","primary",1,"spanner-config-button",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h3",1),h(2,"Session history"),c(),d(3,"div",2),h(4," Choose a session to resume an existing migration session, or download the session file. "),c(),E(5,"br"),_(6,DW,28,4,"div",3),_(7,SW,12,0,"div",4),c()),2&e&&(f(6),m("ngIf",i.dataSource.length>0),f(1),m("ngIf",0===i.dataSource.length))},directives:[Et,As,Xr,Yr,Jr,Ht,_n,En,Mn,li,Dn,bn,El,Qr,es,ri,Ps,Fs,Rs,Ns],styles:[".session-container[_ngcontent-%COMP%]{max-height:500px;overflow:auto}.session-container[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:13px}table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] .table-header-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.sessions-wrapper[_ngcontent-%COMP%]{margin-top:20px}.sessions-wrapper[_ngcontent-%COMP%] .warning-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:57vh;text-align:center}.sessions-wrapper[_ngcontent-%COMP%] .warning-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{margin-bottom:10px}.sessions-wrapper[_ngcontent-%COMP%] .warning-container[_ngcontent-%COMP%] .spanner-config-button[_ngcontent-%COMP%]{text-decoration:underline}.mat-column-Notes[_ngcontent-%COMP%]{max-width:200px;padding-right:10px}.notes-toggle-button[_ngcontent-%COMP%]{float:right;margin-right:32px;background-color:#f5f5f5;border:none;border-radius:2px;padding:0 5px 5px}.notes-toggle-button[_ngcontent-%COMP%]:hover{background-color:#ebe7e7;cursor:pointer}.notes-wrapper[_ngcontent-%COMP%]{margin-top:10px}.mat-column-SessionName[_ngcontent-%COMP%], .mat-column-EditorName[_ngcontent-%COMP%], .mat-column-DatabaseType[_ngcontent-%COMP%], .mat-column-DatabaseName[_ngcontent-%COMP%], .mat-column-Dialect[_ngcontent-%COMP%]{width:13vw;min-width:150px}.mat-column-Action[_ngcontent-%COMP%], .mat-column-Notes[_ngcontent-%COMP%], .mat-column-CreateTimestamp[_ngcontent-%COMP%]{width:15vw;min-width:150px}.mat-form-field[_ngcontent-%COMP%]{width:80%}"]}),t})(),xW=(()=>{class t{constructor(e,i){this.dialog=e,this.router=i}ngOnInit(){null!=localStorage.getItem(le.IsMigrationInProgress)&&"true"===localStorage.getItem(le.IsMigrationInProgress)&&(this.dialog.open(jo,{data:{title:"Redirecting to prepare migration page",message:"Another migration already in progress",type:"error"},maxWidth:"500px"}),this.router.navigate(["/prepare-migration"]))}}return t.\u0275fac=function(e){return new(e||t)(b(ns),b(Jn))},t.\u0275cmp=Ae({type:t,selectors:[["app-home"]],decls:21,vars:4,consts:[[1,"container"],[1,"primary-header"],[1,"summary","global-font-color","body-font-size"],["href","https://github.com/GoogleCloudPlatform/spanner-migration-tool#readme","target","_blank"],[1,"btn-source-select"],["mat-raised-button","","color","primary",1,"split-button-left",3,"routerLink"],["mat-raised-button","","color","primary",1,"split-button-right",3,"matMenuTriggerFor"],["aria-hidden","false","aria-label","More options"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"routerLink"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"h3",1),h(2,"Get started with Spanner migration tool"),c(),d(3,"div",2),h(4," Spanner migration tool (formerly known as HarbourBridge) is a stand-alone open source tool for Cloud Spanner evaluation and migration, using data from an existing PostgreSQL, MySQL, SQL Server, Oracle or DynamoDB database. "),d(5,"a",3),h(6,"Learn More"),c(),h(7,". "),c(),d(8,"div",4)(9,"button",5),h(10," Connect to database "),c(),d(11,"button",6)(12,"mat-icon",7),h(13,"expand_more"),c()(),d(14,"mat-menu",8,9)(16,"button",10),h(17,"Load database dump"),c(),d(18,"button",10),h(19,"Load session file"),c()()(),E(20,"app-session-listing"),c()),2&e){const o=$t(15);f(9),m("routerLink","/source/direct-connection"),f(2),m("matMenuTriggerFor",o),f(5),m("routerLink","/source/load-dump"),f(2),m("routerLink","/source/load-session")}},directives:[Ht,Bs,Nl,_n,Fl,qr,MW],styles:[".container[_ngcontent-%COMP%]{padding:7px 27px}.container[_ngcontent-%COMP%] .summary[_ngcontent-%COMP%]{width:500px;font-weight:lighter}.container[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 5px}.container[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border-color:#fff;margin-bottom:20px}.container[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%]{margin:20px 0;padding-bottom:5px}.container[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-left[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.container[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-right[_ngcontent-%COMP%]{width:30px!important;min-width:unset!important;padding:0 2px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #fafafa}"]}),t})(),Ei=(()=>{class t{constructor(){this.sidenavOpenSub=new vt(!1),this.sidenavComponentSub=new vt(""),this.sidenavRuleTypeSub=new vt(""),this.sidenavAddIndexTableSub=new vt(""),this.setSidenavDatabaseNameSub=new vt(""),this.ruleDataSub=new vt({}),this.displayRuleFlagSub=new vt(!1),this.setMiddleColumn=new vt(!1),this.isSidenav=this.sidenavOpenSub.asObservable(),this.sidenavComponent=this.sidenavComponentSub.asObservable(),this.sidenavRuleType=this.sidenavRuleTypeSub.asObservable(),this.sidenavAddIndexTable=this.sidenavAddIndexTableSub.asObservable(),this.sidenavDatabaseName=this.setSidenavDatabaseNameSub.asObservable(),this.ruleData=this.ruleDataSub.asObservable(),this.displayRuleFlag=this.displayRuleFlagSub.asObservable(),this.setMiddleColumnComponent=this.setMiddleColumn.asObservable()}openSidenav(){this.sidenavOpenSub.next(!0)}closeSidenav(){this.sidenavOpenSub.next(!1)}setSidenavComponent(e){this.sidenavComponentSub.next(e)}setSidenavRuleType(e){this.sidenavRuleTypeSub.next(e)}setSidenavAddIndexTable(e){this.sidenavAddIndexTableSub.next(e)}setSidenavDatabaseName(e){this.setSidenavDatabaseNameSub.next(e)}setRuleData(e){this.ruleDataSub.next(e)}setDisplayRuleFlag(e){this.displayRuleFlagSub.next(e)}setMiddleColComponent(e){this.setMiddleColumn.next(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),uI=(()=>{class t{constructor(e){this.sidenav=e}ngOnInit(){}closeInstructionSidenav(){this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(b(Ei))},t.\u0275cmp=Ae({type:t,selectors:[["app-instruction"]],decls:150,vars:0,consts:[[1,"instructions-div"],[1,"instruction-header-div"],["mat-icon-button","",3,"click"],["src","../../../assets/icons/google-spanner-logo.png",1,"instructions-icon"],[1,"textCenter"],[1,"instructions-main-heading"],[1,"instructions-sub-heading"],[1,"instructions-command"],["href","https://github.com/GoogleCloudPlatform/spanner-migration-tool",1,"instructionsLink"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"button",2),N("click",function(){return i.closeInstructionSidenav()}),d(3,"mat-icon"),h(4,"close"),c()()(),E(5,"img",3),d(6,"h1",4),h(7,"Spanner migration tool User Manual"),c(),E(8,"br")(9,"br"),d(10,"h3",5),h(11,"1 \xa0 \xa0 \xa0Introduction"),c(),d(12,"p"),h(13," Spanner migration tool (formerly known as HarbourBridge) is a stand-alone open source tool for Cloud Spanner evaluation, using data from an existing PostgreSQL or MySQL database. The tool ingests schema and data from either a pg_dump/mysqldump file or directly from the source database, automatically builds a Spanner schema, and creates a new Spanner database populated with data from the source database. "),E(14,"br")(15,"br")(16,"br"),h(17," Spanner migration tool is designed to simplify Spanner evaluation, and in particular to bootstrap the process by getting moderate-size PostgreSQL/MySQL datasets into Spanner (up to a few tens of GB). Many features of PostgreSQL/MySQL, especially those that don't map directly to Spanner features, are ignored, e.g. (non-primary) indexes, functions, and sequences. Types such as integers, floats, char/text, bools, timestamps, and (some) array types, map fairly directly to Spanner, but many other types do not and instead are mapped to Spanner's STRING(MAX). "),c(),E(18,"br"),d(19,"h4",6),h(20,"1.1 \xa0 \xa0 \xa0Spanner migration tool UI"),c(),d(21,"p"),h(22," Spanner migration tool UI is designed to focus on generating spanner schema from either a pg_dump/mysqldump file or directly from the source database and providing edit functionality to the spanner schema and thereby creating a new spanner database populated with new data. UI gives the provision to edit column name, edit data type, edit constraints, drop foreign key and drop secondary index of spanner schema. "),c(),E(23,"br"),d(24,"h3",5),h(25,"2 \xa0 \xa0 \xa0Key Features of UI"),c(),d(26,"ul")(27,"li"),h(28,"Connecting to a new database"),c(),d(29,"li"),h(30,"Load dump file"),c(),d(31,"li"),h(32,"Load session file"),c(),d(33,"li"),h(34,"Storing session for each conversion"),c(),d(35,"li"),h(36,"Edit data type globally for each table in schema"),c(),d(37,"li"),h(38,"Edit data type, column name, constraint for a particular table"),c(),d(39,"li"),h(40,"Edit foreign key and secondary index name"),c(),d(41,"li"),h(42,"Drop a column from a table"),c(),d(43,"li"),h(44,"Drop foreign key from a table"),c(),d(45,"li"),h(46,"Drop secondary index from a table"),c(),d(47,"li"),h(48,"Convert foreign key into interleave table"),c(),d(49,"li"),h(50,"Search a table"),c(),d(51,"li"),h(52,"Download schema, report and session files"),c()(),E(53,"br"),d(54,"h3",5),h(55,"3 \xa0 \xa0 \xa0UI Setup"),c(),d(56,"ul")(57,"li"),h(58,"Install go in local"),c(),d(59,"li"),h(60," Clone Spanner migration tool project and run following command in the terminal: "),E(61,"br"),d(62,"span",7),h(63,"go run main.go --web"),c()(),d(64,"li"),h(65,"Open "),d(66,"span",7),h(67,"http://localhost:8080"),c(),h(68,"in browser"),c()(),E(69,"br"),d(70,"h3",5),h(71," 4 \xa0 \xa0 \xa0Different modes to select source database "),c(),d(72,"h4",6),h(73,"4.1 \xa0 \xa0 \xa0Connect to Database"),c(),d(74,"ul")(75,"li"),h(76,"Enter database details in connect to database dialog box"),c(),d(77,"li"),h(78," Input Fields: database type, database host, database port, database user, database name, database password "),c()(),d(79,"h4",6),h(80,"4.2 \xa0 \xa0 \xa0Load Database Dump"),c(),d(81,"ul")(82,"li"),h(83,"Enter dump file path in load database dialog box"),c(),d(84,"li"),h(85,"Input Fields: database type, file path"),c()(),d(86,"h4",6),h(87,"4.3 \xa0 \xa0 \xa0Import Schema File"),c(),d(88,"ul")(89,"li"),h(90,"Enter session file path in load session dialog box"),c(),d(91,"li"),h(92,"Input Fields: database type, session file path"),c()(),d(93,"h3",5),h(94,"5 \xa0 \xa0 \xa0Session Table"),c(),d(95,"ul")(96,"li"),h(97,"Session table is used to store the previous sessions of schema conversion"),c()(),d(98,"h3",5),h(99,"6 \xa0 \xa0 \xa0Edit Global Data Type"),c(),d(100,"ul")(101,"li"),h(102,"Click on edit global data type button on the screen"),c(),d(103,"li"),h(104,"Select required spanner data type from the dropdown available for each source data type"),c(),d(105,"li"),h(106,"Click on next button after making all the changes"),c()(),d(107,"h3",5),h(108," 7 \xa0 \xa0 \xa0Edit Spanner Schema for a particular table "),c(),d(109,"ul")(110,"li"),h(111,"Expand any table"),c(),d(112,"li"),h(113,"Click on edit spanner schema button"),c(),d(114,"li"),h(115,"Edit column name/ data type/ constraint of spanner schema"),c(),d(116,"li"),h(117,"Edit name of secondary index or foreign key"),c(),d(118,"li"),h(119,"Select to convert foreign key to interleave or use as is (if option is available)"),c(),d(120,"li"),h(121,"Drop a column by unselecting any checkbox"),c(),d(122,"li"),h(123," Drop a foreign key or secondary index by expanding foreign keys or secondary indexes tab inside table "),c(),d(124,"li"),h(125,"Click on save changes button to save the changes"),c(),d(126,"li"),h(127," If current table is involved in foreign key/secondary indexes relationship with other table then user will be prompt to delete foreign key or secondary indexes and then proceed with save changes "),c()(),d(128,"p"),h(129,"- Warning before deleting secondary index from a table"),c(),d(130,"p"),h(131,"- Error on saving changes"),c(),d(132,"p"),h(133,"- Changes saved successfully after resolving all errors"),c(),d(134,"h3",5),h(135,"8 \xa0 \xa0 \xa0Download Session File"),c(),d(136,"ul")(137,"li"),h(138,"Save all the changes done in spanner schema table wise or globally"),c(),d(139,"li"),h(140,"Click on download session file button on the top right corner"),c(),d(141,"li"),h(142,"Save the generated session file with all the changes in local machine"),c()(),d(143,"h3",5),h(144,"9 \xa0 \xa0 \xa0How to use Session File"),c(),d(145,"p"),h(146," Please refer below link to get more information on how to use session file with Spanner migration tool "),c(),d(147,"a",8),h(148,"Refer this to use Session File"),c(),E(149,"br"),c())},directives:[Ht,_n],styles:[".instructions-div[_ngcontent-%COMP%]{padding:5px 20px 20px}.instructions-div[_ngcontent-%COMP%] .instruction-header-div[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.instructions-icon[_ngcontent-%COMP%]{height:200px;display:block;margin-left:auto;margin-right:auto}.textCenter[_ngcontent-%COMP%]{text-align:center}.instructions-main-heading[_ngcontent-%COMP%]{font-size:1.25rem;color:#4285f4;font-weight:700}.instructions-sub-heading[_ngcontent-%COMP%]{font-size:1rem;color:#4285f4;font-weight:700}.instructions-command[_ngcontent-%COMP%]{background-color:#8080806b;border-radius:5px;padding:0 5px}.instructions-img-width[_ngcontent-%COMP%]{width:800px}.instructionsLink[_ngcontent-%COMP%]{color:#4285f4;text-decoration:underline}"]}),t})();function TW(t,n){if(1&t&&(hn(),E(0,"circle",4)),2&t){const e=D(),i=$t(1);pi("animation-name","mat-progress-spinner-stroke-rotate-"+e._spinnerAnimationLabel)("stroke-dashoffset",e._getStrokeDashOffset(),"px")("stroke-dasharray",e._getStrokeCircumference(),"px")("stroke-width",e._getCircleStrokeWidth(),"%")("transform-origin",e._getCircleTransformOrigin(i)),et("r",e._getCircleRadius())}}function kW(t,n){if(1&t&&(hn(),E(0,"circle",4)),2&t){const e=D(),i=$t(1);pi("stroke-dashoffset",e._getStrokeDashOffset(),"px")("stroke-dasharray",e._getStrokeCircumference(),"px")("stroke-width",e._getCircleStrokeWidth(),"%")("transform-origin",e._getCircleTransformOrigin(i)),et("r",e._getCircleRadius())}}const IW=$r(class{constructor(t){this._elementRef=t}},"primary"),OW=new _e("mat-progress-spinner-default-options",{providedIn:"root",factory:function AW(){return{diameter:100}}});class eo extends IW{constructor(n,e,i,o,r,s,a,l){super(n),this._document=i,this._diameter=100,this._value=0,this._resizeSubscription=k.EMPTY,this.mode="determinate";const u=eo._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),u.has(i.head)||u.set(i.head,new Set([100])),this._noopAnimations="NoopAnimations"===o&&!!r&&!r._forceAnimations,"mat-spinner"===n.nativeElement.nodeName.toLowerCase()&&(this.mode="indeterminate"),r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth)),e.isBrowser&&e.SAFARI&&a&&s&&l&&(this._resizeSubscription=a.change(150).subscribe(()=>{"indeterminate"===this.mode&&l.run(()=>s.markForCheck())}))}get diameter(){return this._diameter}set diameter(n){this._diameter=Zn(n),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(n){this._strokeWidth=Zn(n)}get value(){return"determinate"===this.mode?this._value:0}set value(n){this._value=Math.max(0,Math.min(100,Zn(n)))}ngOnInit(){const n=this._elementRef.nativeElement;this._styleRoot=lM(n)||this._document.head,this._attachStyleNode(),n.classList.add("mat-progress-spinner-indeterminate-animation")}ngOnDestroy(){this._resizeSubscription.unsubscribe()}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const n=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${n} ${n}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_getCircleTransformOrigin(n){var e;const i=50*(null!==(e=n.currentScale)&&void 0!==e?e:1);return`${i}% ${i}%`}_attachStyleNode(){const n=this._styleRoot,e=this._diameter,i=eo._diameters;let o=i.get(n);if(!o||!o.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),n.appendChild(r),o||(o=new Set,i.set(n,o)),o.add(e)}}_getAnimationText(){const n=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*n).replace(/END_VALUE/g,""+.2*n).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}eo._diameters=new WeakMap,eo.\u0275fac=function(n){return new(n||eo)(b(He),b(dn),b(ht,8),b(gn,8),b(OW),b(At),b(yr),b(Je))},eo.\u0275cmp=Ae({type:eo,selectors:[["mat-progress-spinner"],["mat-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner","mat-spinner"],hostVars:10,hostBindings:function(n,e){2&n&&(et("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),pi("width",e.diameter,"px")("height",e.diameter,"px"),rt("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",diameter:"diameter",strokeWidth:"strokeWidth",mode:"mode",value:"value"},exportAs:["matProgressSpinner"],features:[Ce],decls:4,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["svg",""],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(n,e){1&n&&(hn(),d(0,"svg",0,1),_(2,TW,1,11,"circle",2),_(3,kW,1,9,"circle",3),c()),2&n&&(pi("width",e.diameter,"px")("height",e.diameter,"px"),m("ngSwitch","indeterminate"===e.mode),et("viewBox",e._getViewBox()),f(2),m("ngSwitchCase",!0),f(1),m("ngSwitchCase",!1))},directives:[vl,nh],styles:[".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}\n"],encapsulation:2,changeDetection:0});let RW=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[ft,qi],ft]}),t})();function FW(t,n){if(1&t&&(d(0,"mat-option",17),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function NW(t,n){1&t&&E(0,"mat-spinner",18),2&t&&m("diameter",25)}function LW(t,n){1&t&&(d(0,"mat-icon",19),h(1,"check_circle"),c())}function BW(t,n){1&t&&(d(0,"mat-icon",20),h(1,"cancel"),c())}function VW(t,n){if(1&t&&(d(0,"mat-option",17),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}let jW=(()=>{class t{constructor(e,i,o){this.data=e,this.router=i,this.clickEvent=o,this.connectForm=new an({dbEngine:new X("mysqldump",[de.required]),filePath:new X("",[de.required]),dialect:new X("",[de.required])}),this.dbEngineList=[{value:"mysqldump",displayName:"MySQL"},{value:"pg_dump",displayName:"PostgreSQL"}],this.dialect=lI,this.fileToUpload=null,this.uploadStart=!1,this.uploadSuccess=!1,this.uploadFail=!1,this.getSchemaRequest=null}ngOnInit(){this.clickEvent.cancelDbLoad.subscribe({next:e=>{e&&this.getSchemaRequest&&this.getSchemaRequest.unsubscribe()}})}convertFromDump(){this.clickEvent.openDatabaseLoader("dump",""),this.data.resetStore(),localStorage.clear();const{dbEngine:e,filePath:i,dialect:o}=this.connectForm.value,a={Config:{Driver:e,Path:i},SpannerDetails:{Dialect:o}};this.getSchemaRequest=this.data.getSchemaConversionFromDump(a),this.data.conv.subscribe(l=>{localStorage.setItem(In.Config,JSON.stringify(a)),localStorage.setItem(In.Type,mi.DumpFile),localStorage.setItem(In.SourceDbName,$p(e)),this.clickEvent.closeDatabaseLoader(),this.router.navigate(["/workspace"])})}handleFileInput(e){var i;let o=e.target.files;o&&(this.fileToUpload=o.item(0),this.connectForm.patchValue({filePath:null===(i=this.fileToUpload)||void 0===i?void 0:i.name}),this.fileToUpload&&this.uploadFile())}uploadFile(){var e;if(this.fileToUpload){this.uploadStart=!0,this.uploadFail=!1,this.uploadSuccess=!1;const i=new FormData;i.append("myFile",this.fileToUpload,null===(e=this.fileToUpload)||void 0===e?void 0:e.name),this.data.uploadFile(i).subscribe(o=>{""==o?this.uploadSuccess=!0:this.uploadFail=!0})}}}return t.\u0275fac=function(e){return new(e||t)(b(Ln),b(Jn),b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-load-dump"]],decls:36,vars:8,consts:[[1,"connect-load-database-container"],[1,"form-container"],[3,"formGroup","ngSubmit"],[1,"primary-header"],["appearance","outline",1,"full-width"],["matSelect","","name","dbEngine","formControlName","dbEngine","appearance","outline"],[3,"value",4,"ngFor","ngForOf"],["matInput","","placeholder","File path","name","filePath","type","text","formControlName","filePath","readonly","",3,"click"],["matSuffix","",3,"diameter",4,"ngIf"],["matSuffix","","class","success",4,"ngIf"],["matSuffix","","class","danger",4,"ngIf"],["mat-stroked-button","","type","button",3,"click"],["hidden","","type","file",3,"change"],["file",""],["matSelect","","name","dialect","formControlName","dialect","appearance","outline"],["mat-raised-button","","type","submit","color","primary",3,"disabled"],["mat-raised-button","",3,"routerLink"],[3,"value"],["matSuffix","",3,"diameter"],["matSuffix","",1,"success"],["matSuffix","",1,"danger"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"div",1)(2,"form",2),N("ngSubmit",function(){return i.convertFromDump()}),d(3,"h3",3),h(4,"Load from database dump"),c(),d(5,"mat-form-field",4)(6,"mat-label"),h(7,"Database Engine"),c(),d(8,"mat-select",5),_(9,FW,2,2,"mat-option",6),c()(),d(10,"h3",3),h(11,"Dump File"),c(),d(12,"mat-form-field",4)(13,"mat-label"),h(14,"File path"),c(),d(15,"input",7),N("click",function(){return se(o),$t(22).click()}),c(),_(16,NW,1,1,"mat-spinner",8),_(17,LW,2,0,"mat-icon",9),_(18,BW,2,0,"mat-icon",10),c(),d(19,"button",11),N("click",function(){return se(o),$t(22).click()}),h(20,"Upload File"),c(),d(21,"input",12,13),N("change",function(s){return i.handleFileInput(s)}),c(),E(23,"br"),d(24,"h3",3),h(25,"Spanner Dialect"),c(),d(26,"mat-form-field",4)(27,"mat-label"),h(28,"Select a spanner dialect"),c(),d(29,"mat-select",14),_(30,VW,2,2,"mat-option",6),c()(),E(31,"br"),d(32,"button",15),h(33," Convert "),c(),d(34,"button",16),h(35,"Cancel"),c()()()()}2&e&&(f(2),m("formGroup",i.connectForm),f(7),m("ngForOf",i.dbEngineList),f(7),m("ngIf",i.uploadStart&&!i.uploadSuccess&&!i.uploadFail),f(1),m("ngIf",i.uploadStart&&i.uploadSuccess),f(1),m("ngIf",i.uploadStart&&i.uploadFail),f(12),m("ngForOf",i.dialect),f(2),m("disabled",!i.connectForm.valid||!i.uploadSuccess),f(2),m("routerLink","/"))},directives:[xi,Hn,Sn,En,Mn,Yi,bn,Xn,ri,_i,li,Dn,Et,eo,Ab,_n,Ht,Bs],styles:[""]}),t})();function HW(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function UW(t,n){1&t&&E(0,"mat-spinner",17),2&t&&m("diameter",25)}function zW(t,n){1&t&&(d(0,"mat-icon",18),h(1,"check_circle"),c())}function $W(t,n){1&t&&(d(0,"mat-icon",19),h(1,"cancel"),c())}let GW=(()=>{class t{constructor(e,i,o){this.data=e,this.router=i,this.clickEvent=o,this.connectForm=new an({dbEngine:new X("mysql",[de.required]),filePath:new X("",[de.required])}),this.dbEngineList=[{value:"mysql",displayName:"MySQL"},{value:"sqlserver",displayName:"SQL Server"},{value:"oracle",displayName:"Oracle"},{value:"postgres",displayName:"PostgreSQL"}],this.fileToUpload=null,this.uploadStart=!1,this.uploadSuccess=!1,this.uploadFail=!1,this.getSchemaRequest=null}ngOnInit(){this.clickEvent.cancelDbLoad.subscribe({next:e=>{e&&this.getSchemaRequest&&this.getSchemaRequest.unsubscribe()}})}convertFromSessionFile(){this.clickEvent.openDatabaseLoader("session",""),this.data.resetStore(),localStorage.clear();const{dbEngine:e,filePath:i}=this.connectForm.value,o={driver:e,filePath:i};this.getSchemaRequest=this.data.getSchemaConversionFromSession(o),this.data.conv.subscribe(r=>{localStorage.setItem(In.Config,JSON.stringify(o)),localStorage.setItem(In.Type,mi.SessionFile),localStorage.setItem(In.SourceDbName,$p(e)),this.clickEvent.closeDatabaseLoader(),this.router.navigate(["/workspace"])})}handleFileInput(e){var i;let o=e.target.files;o&&(this.fileToUpload=o.item(0),this.connectForm.patchValue({filePath:null===(i=this.fileToUpload)||void 0===i?void 0:i.name}),this.fileToUpload&&this.uploadFile())}uploadFile(){var e;if(this.fileToUpload){this.uploadStart=!0,this.uploadFail=!1,this.uploadSuccess=!1;const i=new FormData;i.append("myFile",this.fileToUpload,null===(e=this.fileToUpload)||void 0===e?void 0:e.name),this.data.uploadFile(i).subscribe(o=>{""==o?this.uploadSuccess=!0:this.uploadFail=!0})}}}return t.\u0275fac=function(e){return new(e||t)(b(Ln),b(Jn),b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-load-session"]],decls:28,vars:7,consts:[[1,"connect-load-database-container"],[1,"form-container"],[3,"formGroup","ngSubmit"],[1,"primary-header"],["appearance","outline",1,"full-width"],["matSelect","","name","dbEngine","formControlName","dbEngine","appearance","outline"],[3,"value",4,"ngFor","ngForOf"],["matInput","","placeholder","File path","name","filePath","type","text","formControlName","filePath","readonly","",3,"click"],["matSuffix","",3,"diameter",4,"ngIf"],["matSuffix","","class","success",4,"ngIf"],["matSuffix","","class","danger",4,"ngIf"],["mat-stroked-button","","type","button",3,"click"],["hidden","","type","file",3,"change"],["file",""],["mat-raised-button","","type","submit","color","primary",3,"disabled"],["mat-raised-button","",3,"routerLink"],[3,"value"],["matSuffix","",3,"diameter"],["matSuffix","",1,"success"],["matSuffix","",1,"danger"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"div",1)(2,"form",2),N("ngSubmit",function(){return i.convertFromSessionFile()}),d(3,"h3",3),h(4,"Load from session"),c(),d(5,"mat-form-field",4)(6,"mat-label"),h(7,"Database Engine"),c(),d(8,"mat-select",5),_(9,HW,2,2,"mat-option",6),c()(),d(10,"h3",3),h(11,"Session File"),c(),d(12,"mat-form-field",4)(13,"mat-label"),h(14,"File path"),c(),d(15,"input",7),N("click",function(){return se(o),$t(22).click()}),c(),_(16,UW,1,1,"mat-spinner",8),_(17,zW,2,0,"mat-icon",9),_(18,$W,2,0,"mat-icon",10),c(),d(19,"button",11),N("click",function(){return se(o),$t(22).click()}),h(20,"Upload File"),c(),d(21,"input",12,13),N("change",function(s){return i.handleFileInput(s)}),c(),E(23,"br"),d(24,"button",14),h(25," Convert "),c(),d(26,"button",15),h(27,"Cancel"),c()()()()}2&e&&(f(2),m("formGroup",i.connectForm),f(7),m("ngForOf",i.dbEngineList),f(7),m("ngIf",i.uploadStart&&!i.uploadSuccess&&!i.uploadFail),f(1),m("ngIf",i.uploadStart&&i.uploadSuccess),f(1),m("ngIf",i.uploadStart&&i.uploadFail),f(6),m("disabled",!i.connectForm.valid||!i.uploadSuccess),f(2),m("routerLink","/"))},directives:[xi,Hn,Sn,En,Mn,Yi,bn,Xn,ri,_i,li,Dn,Et,eo,Ab,_n,Ht,Bs],styles:[""]}),t})();function WW(t,n){if(1&t&&(d(0,"h3"),h(1),c()),2&t){const e=D();f(1),Se("Reading schema for ",e.databaseName," database. Please wait...")}}function qW(t,n){1&t&&(d(0,"h4"),h(1,"Tip: Spanner migration tool will read the information schema at source and automatically map it to Cloud Spanner"),c())}function KW(t,n){if(1&t&&(d(0,"h3"),h(1),c()),2&t){const e=D();f(1),Se("Testing connection to ",e.databaseName," database...")}}function ZW(t,n){1&t&&(d(0,"h4"),h(1,"Tip: Spanner migration tool is attempting to ping the source database, it will retry a couple of times before timing out."),c())}function QW(t,n){1&t&&(d(0,"h3"),h(1,"Loading the dump file..."),c())}function YW(t,n){1&t&&(d(0,"h3"),h(1,"Loading the session file..."),c())}let XW=(()=>{class t{constructor(e,i){this.router=e,this.clickEvent=i,this.loaderType="",this.databaseName="",this.timeElapsed=0,this.timeElapsedInterval=setInterval(()=>{this.timeElapsed+=1},1e3)}ngOnInit(){this.timeElapsed=0}ngOnDestroy(){clearInterval(this.timeElapsedInterval)}cancelDbLoad(){this.clickEvent.cancelDbLoading(),this.clickEvent.closeDatabaseLoader(),this.router.navigate(["/"])}}return t.\u0275fac=function(e){return new(e||t)(b(Jn),b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-database-loader"]],inputs:{loaderType:"loaderType",databaseName:"databaseName"},decls:12,vars:7,consts:[[1,"container","content-height"],["src","../../../assets/gifs/database-loader.gif","alt","database-loader-gif",1,"loader-gif"],[4,"ngIf"],["mat-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0),E(1,"img",1),_(2,WW,2,1,"h3",2),_(3,qW,2,0,"h4",2),_(4,KW,2,1,"h3",2),_(5,ZW,2,0,"h4",2),_(6,QW,2,0,"h3",2),_(7,YW,2,0,"h3",2),d(8,"h5"),h(9),c(),d(10,"button",3),N("click",function(){return i.cancelDbLoad()}),h(11,"Cancel"),c()()),2&e&&(f(2),m("ngIf","direct"===i.loaderType),f(1),m("ngIf","direct"===i.loaderType),f(1),m("ngIf","test-connection"===i.loaderType),f(1),m("ngIf","test-connection"===i.loaderType),f(1),m("ngIf","dump"===i.loaderType),f(1),m("ngIf","session"===i.loaderType),f(2),Se("",i.timeElapsed," seconds have elapsed"))},directives:[Et,Ht],styles:[".container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center}.container[_ngcontent-%COMP%] .loader-gif[_ngcontent-%COMP%]{width:10rem;height:10rem}"]}),t})();function JW(t,n){1&t&&(d(0,"div"),E(1,"router-outlet"),c())}function eq(t,n){if(1&t&&(d(0,"div"),E(1,"app-database-loader",1),c()),2&t){const e=D();f(1),m("loaderType",e.loaderType)("databaseName",e.databaseName)}}let tq=(()=>{class t{constructor(e){this.clickevent=e,this.isDatabaseLoading=!1,this.loaderType="",this.databaseName=""}ngOnInit(){this.clickevent.databaseLoader.subscribe(e=>{this.loaderType=e.type,this.databaseName=e.databaseName,this.isDatabaseLoading=""!==this.loaderType})}}return t.\u0275fac=function(e){return new(e||t)(b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-source-selection"]],decls:2,vars:2,consts:[[4,"ngIf"],[3,"loaderType","databaseName"]],template:function(e,i){1&e&&(_(0,JW,2,0,"div",0),_(1,eq,2,2,"div",0)),2&e&&(m("ngIf",!i.isDatabaseLoading),f(1),m("ngIf",i.isDatabaseLoading))},directives:[Et,Lp,XW],styles:[".mat-card-class[_ngcontent-%COMP%]{padding:0 20px}"]}),t})();var hI=Te(650);function nq(t,n){if(1&t&&(d(0,"h2"),h(1),c()),2&t){const e=D();f(1),Se("Skip ",e.eligibleTables.length," table(s)?")}}function iq(t,n){if(1&t&&(d(0,"h2"),h(1),c()),2&t){const e=D();f(1),Se("Restore ",e.eligibleTables.length," table(s) and all associated indexes?")}}function oq(t,n){1&t&&(d(0,"span",9),h(1," Confirm skip by typing the following below: "),d(2,"b"),h(3,"SKIP"),c(),E(4,"br"),c())}function rq(t,n){1&t&&(d(0,"span",9),h(1," Confirm restoration by typing the following below: "),d(2,"b"),h(3,"RESTORE"),c(),E(4,"br"),c())}function sq(t,n){if(1&t&&(d(0,"div")(1,"b"),h(2,"Note:"),c(),h(3),E(4,"br"),d(5,"b"),h(6,"Already skipped tables:"),c(),h(7),c()),2&t){const e=D();f(3),hl(" You selected ",e.data.tables.length," tables. ",e.ineligibleTables.length," table(s) will not be skipped since they are already skipped."),f(4),Se(" ",e.ineligibleTables," ")}}function aq(t,n){if(1&t&&(d(0,"div")(1,"b"),h(2,"Note:"),c(),h(3),E(4,"br"),d(5,"b"),h(6,"Already active tables:"),c(),h(7),c()),2&t){const e=D();f(3),hl(" You selected ",e.data.tables.length," tables. ",e.ineligibleTables.length," table(s) will not be restored since they are already active."),f(4),Se(" ",e.ineligibleTables," ")}}let pI=(()=>{class t{constructor(e,i){this.data=e,this.dialogRef=i,this.eligibleTables=[],this.ineligibleTables=[];let o="";"SKIP"==this.data.operation?(o="SKIP",this.data.tables.forEach(r=>{r.isDeleted?this.ineligibleTables.push(r.TableName):this.eligibleTables.push(r.TableName)})):(o="RESTORE",this.data.tables.forEach(r=>{r.isDeleted?this.eligibleTables.push(r.TableName):this.ineligibleTables.push(r.TableName)})),this.confirmationInput=new X("",[de.required,de.pattern(o)]),i.disableClose=!0}confirm(){this.dialogRef.close(this.data.operation)}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(b(Xi),b(Ti))},t.\u0275cmp=Ae({type:t,selectors:[["app-bulk-drop-restore-table-dialog"]],decls:19,vars:8,consts:[["mat-dialog-content",""],[4,"ngIf"],[1,"form-container"],["class","form-custom-label",4,"ngIf"],["appearance","outline"],["matInput","","type","text",3,"formControl"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[1,"form-custom-label"]],template:function(e,i){1&e&&(d(0,"div",0),_(1,nq,2,1,"h2",1),_(2,iq,2,1,"h2",1),d(3,"mat-dialog-content")(4,"div",2)(5,"form"),_(6,oq,5,0,"span",3),_(7,rq,5,0,"span",3),d(8,"mat-form-field",4)(9,"mat-label"),h(10,"Confirm"),c(),E(11,"input",5),c(),_(12,sq,8,3,"div",1),_(13,aq,8,3,"div",1),c()()(),d(14,"div",6)(15,"button",7),h(16,"Cancel"),c(),d(17,"button",8),N("click",function(){return i.confirm()}),h(18," Confirm "),c()()()),2&e&&(f(1),m("ngIf","SKIP"==i.data.operation),f(1),m("ngIf","RESTORE"==i.data.operation),f(4),m("ngIf","SKIP"==i.data.operation),f(1),m("ngIf","RESTORE"==i.data.operation),f(4),m("formControl",i.confirmationInput),f(1),m("ngIf","SKIP"==i.data.operation&&0!=i.ineligibleTables.length),f(1),m("ngIf","RESTORE"==i.data.operation&&0!=i.ineligibleTables.length),f(4),m("disabled",!i.confirmationInput.valid))},directives:[wr,Et,xi,Hn,ks,En,Mn,li,Dn,bn,Il,Dr,Ht,Ji],styles:[".alert-container[_ngcontent-%COMP%]{padding:.5rem;display:flex;align-items:center;margin-bottom:1rem;background-color:#f8f4f4}.alert-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f3b300;margin-right:20px}.form-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%]{width:100%}.buttons-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:flex-end}"]}),t})();const fI=function(t){return{"blue-font-color":t}};function lq(t,n){if(1&t&&(d(0,"span",24),h(1),c()),2&t){const e=D();m("ngClass",Kt(2,fI,"source"===e.selectedTab)),f(1),Se(" ",e.srcDbName.toUpperCase()," ")}}function cq(t,n){1&t&&(d(0,"th",25),h(1,"Status"),c())}function dq(t,n){1&t&&(hn(),d(0,"svg",30),E(1,"path",31),c())}function uq(t,n){1&t&&(d(0,"mat-icon",32),h(1," work "),c())}function hq(t,n){1&t&&(d(0,"mat-icon",33),h(1," work_history "),c())}function pq(t,n){if(1&t&&(d(0,"td",26),_(1,dq,2,0,"svg",27),_(2,uq,2,0,"mat-icon",28),_(3,hq,2,0,"mat-icon",29),c()),2&t){const e=n.$implicit;f(1),m("ngIf","EXCELLENT"===e.status||"NONE"===e.status),f(1),m("ngIf","OK"===e.status||"GOOD"===e.status),f(1),m("ngIf","POOR"===e.status)}}function fq(t,n){1&t&&(d(0,"mat-icon",37),h(1,"arrow_upward"),c())}function mq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_upward"),c())}function gq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_downward"),c())}function _q(t,n){if(1&t){const e=pe();d(0,"th",34),N("click",function(){return se(e),D().srcTableSort()}),d(1,"div")(2,"span"),h(3," Object Name "),c(),_(4,fq,2,0,"mat-icon",35),_(5,mq,2,0,"mat-icon",36),_(6,gq,2,0,"mat-icon",36),c()()}if(2&t){const e=D();f(4),m("ngIf",""===e.srcSortOrder),f(1),m("ngIf","asc"===e.srcSortOrder),f(1),m("ngIf","desc"===e.srcSortOrder)}}function bq(t,n){1&t&&(hn(),d(0,"svg",47),E(1,"path",48),c())}function vq(t,n){1&t&&(hn(),d(0,"svg",49),E(1,"path",50),c())}function yq(t,n){1&t&&(hn(),d(0,"svg",51),E(1,"path",52),c())}function Cq(t,n){1&t&&(hn(),d(0,"svg",53),E(1,"path",54),c())}function wq(t,n){if(1&t&&(d(0,"span",55)(1,"mat-icon",56),h(2,"more_vert"),c(),d(3,"mat-menu",null,57)(5,"button",58)(6,"span"),h(7,"Add Index"),c()()()()),2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}function Dq(t,n){if(1&t){const e=pe();d(0,"td",39)(1,"button",40),N("click",function(){const r=se(e).$implicit;return D().srcTreeControl.toggle(r)}),_(2,bq,2,0,"svg",41),_(3,vq,2,0,"ng-template",null,42,Bc),c(),d(5,"span",43),N("click",function(){const r=se(e).$implicit;return D().objectSelected(r)}),d(6,"span"),_(7,yq,2,0,"svg",44),_(8,Cq,2,0,"svg",45),d(9,"span"),h(10),c()(),_(11,wq,8,1,"span",46),c()()}if(2&t){const e=n.$implicit,i=$t(4),o=D();f(1),pi("visibility",e.expandable?"":"hidden")("margin-left",10*e.level,"px"),f(1),m("ngIf",o.srcTreeControl.isExpanded(e))("ngIfElse",i),f(5),m("ngIf",o.isTableNode(e.type)),f(1),m("ngIf",o.isIndexNode(e.type)),f(2),Ee(e.name),f(1),m("ngIf",o.isIndexNode(e.type)&&e.isSpannerNode)}}function Sq(t,n){1&t&&E(0,"tr",59)}const mI=function(t){return{"selected-row":t}};function Mq(t,n){if(1&t&&E(0,"tr",60),2&t){const e=n.$implicit,i=D();m("ngClass",Kt(1,mI,i.shouldHighlight(e)))}}function xq(t,n){if(1&t&&(d(0,"span",24),h(1," SPANNER DRAFT "),c()),2&t){const e=D();m("ngClass",Kt(1,fI,"spanner"===e.selectedTab))}}function Tq(t,n){1&t&&(d(0,"th",25),h(1,"Status"),c())}function kq(t,n){1&t&&(hn(),d(0,"svg",30),E(1,"path",31),c())}function Eq(t,n){1&t&&(d(0,"mat-icon",32),h(1," work "),c())}function Iq(t,n){1&t&&(d(0,"mat-icon",33),h(1," work_history "),c())}function Oq(t,n){1&t&&(d(0,"mat-icon",62),h(1," delete "),c())}function Aq(t,n){if(1&t&&(d(0,"td",26),_(1,kq,2,0,"svg",27),_(2,Eq,2,0,"mat-icon",28),_(3,Iq,2,0,"mat-icon",29),_(4,Oq,2,0,"mat-icon",61),c()),2&t){const e=n.$implicit;f(1),m("ngIf","EXCELLENT"===e.status||"NONE"===e.status),f(1),m("ngIf","OK"===e.status||"GOOD"===e.status),f(1),m("ngIf","POOR"===e.status),f(1),m("ngIf","DARK"===e.status||1==e.isDeleted)}}function Pq(t,n){1&t&&(d(0,"mat-icon",64),h(1,"arrow_upward"),c())}function Rq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_upward"),c())}function Fq(t,n){1&t&&(d(0,"mat-icon",38),h(1,"arrow_downward"),c())}function Nq(t,n){if(1&t){const e=pe();d(0,"th",34),N("click",function(){return se(e),D().spannerTableSort()}),d(1,"div")(2,"span"),h(3," Object Name "),c(),_(4,Pq,2,0,"mat-icon",63),_(5,Rq,2,0,"mat-icon",36),_(6,Fq,2,0,"mat-icon",36),c()()}if(2&t){const e=D();f(4),m("ngIf",""===e.spannerSortOrder),f(1),m("ngIf","asc"===e.spannerSortOrder),f(1),m("ngIf","desc"===e.spannerSortOrder)}}function Lq(t,n){if(1&t){const e=pe();d(0,"mat-checkbox",69),N("change",function(){se(e);const o=D().$implicit;return D().selectionToggle(o)}),c()}if(2&t){const e=D().$implicit;m("checked",D().checklistSelection.isSelected(e))}}function Bq(t,n){1&t&&(hn(),d(0,"svg",47),E(1,"path",48),c())}function Vq(t,n){1&t&&(hn(),d(0,"svg",49),E(1,"path",50),c())}function jq(t,n){1&t&&(hn(),d(0,"svg",51),E(1,"path",52),c())}function Hq(t,n){1&t&&(hn(),d(0,"svg",53),E(1,"path",54),c())}function Uq(t,n){if(1&t){const e=pe();d(0,"span",55)(1,"mat-icon",70),h(2,"more_vert"),c(),d(3,"mat-menu",71,57)(5,"button",72),N("click",function(){se(e);const o=D().$implicit;return D().openAddIndexForm(o.parent)}),d(6,"span"),h(7,"Add Index"),c()()()()}if(2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}const zq=function(){return{sidebar_link:!0}},$q=function(t){return{"gray-out":t}};function Gq(t,n){if(1&t){const e=pe();d(0,"td",65),_(1,Lq,1,1,"mat-checkbox",66),d(2,"button",40),N("click",function(){const r=se(e).$implicit;return D().treeControl.toggle(r)}),_(3,Bq,2,0,"svg",41),_(4,Vq,2,0,"ng-template",null,42,Bc),c(),d(6,"span",67),N("click",function(){const r=se(e).$implicit;return D().objectSelected(r)}),d(7,"span"),_(8,jq,2,0,"svg",44),_(9,Hq,2,0,"svg",45),d(10,"span",68),h(11),c()(),_(12,Uq,8,1,"span",46),c()()}if(2&t){const e=n.$implicit,i=$t(5),o=D();m("ngClass",Jo(13,zq)),f(1),m("ngIf",!o.isIndexLikeNode(e)),f(1),pi("visibility",e.expandable?"":"hidden")("margin-left",10*e.level,"px"),f(1),m("ngIf",o.treeControl.isExpanded(e))("ngIfElse",i),f(3),m("ngClass",Kt(14,$q,e.isDeleted)),f(2),m("ngIf",o.isTableNode(e.type)),f(1),m("ngIf",o.isIndexNode(e.type)),f(2),Ee(e.name),f(1),m("ngIf",o.isIndexNode(e.type))}}function Wq(t,n){1&t&&E(0,"tr",59)}function qq(t,n){if(1&t&&E(0,"tr",60),2&t){const e=n.$implicit,i=D();m("ngClass",Kt(1,mI,i.shouldHighlight(e)))}}const Nv=function(t){return[t]};let Kq=(()=>{class t{constructor(e,i,o,r,s){this.conversion=e,this.dialog=i,this.data=o,this.sidenav=r,this.clickEvent=s,this.isLeftColumnCollapse=!1,this.currentSelectedObject=null,this.srcSortOrder="",this.spannerSortOrder="",this.srcSearchText="",this.spannerSearchText="",this.selectedTab="spanner",this.selectedDatabase=new Pe,this.selectObject=new Pe,this.updateSpannerTable=new Pe,this.updateSrcTable=new Pe,this.leftCollaspe=new Pe,this.updateSidebar=new Pe,this.spannerTree=[],this.srcTree=[],this.srcDbName="",this.selectedIndex=1,this.transformer=(a,l)=>({expandable:!!a.children&&a.children.length>0,name:a.name,status:a.status,type:a.type,parent:a.parent,parentId:a.parentId,pos:a.pos,isSpannerNode:a.isSpannerNode,level:l,isDeleted:!!a.isDeleted,id:a.id}),this.treeControl=new uk(a=>a.level,a=>a.expandable),this.srcTreeControl=new uk(a=>a.level,a=>a.expandable),this.treeFlattener=new d9(this.transformer,a=>a.level,a=>a.expandable,a=>a.children),this.dataSource=new pk(this.treeControl,this.treeFlattener),this.srcDataSource=new pk(this.srcTreeControl,this.treeFlattener),this.checklistSelection=new Tl(!0,[]),this.displayedColumns=["status","name"]}ngOnInit(){this.clickEvent.tabToSpanner.subscribe({next:e=>{this.setSpannerTab()}})}ngOnChanges(e){var i,o;let r=null===(i=null==e?void 0:e.spannerTree)||void 0===i?void 0:i.currentValue,s=null===(o=null==e?void 0:e.srcTree)||void 0===o?void 0:o.currentValue;s&&(this.srcDataSource.data=s,this.srcTreeControl.expand(this.srcTreeControl.dataNodes[0]),this.srcTreeControl.expand(this.srcTreeControl.dataNodes[1])),r&&(this.dataSource.data=r,this.treeControl.expand(this.treeControl.dataNodes[0]),this.treeControl.expand(this.treeControl.dataNodes[1]))}filterSpannerTable(){this.updateSpannerTable.emit({text:this.spannerSearchText,order:this.spannerSortOrder})}filterSrcTable(){this.updateSrcTable.emit({text:this.srcSearchText,order:this.srcSortOrder})}srcTableSort(){this.srcSortOrder=""===this.srcSortOrder?"asc":"asc"===this.srcSortOrder?"desc":"",this.updateSrcTable.emit({text:this.srcSearchText,order:this.srcSortOrder})}spannerTableSort(){this.spannerSortOrder=""===this.spannerSortOrder?"asc":"asc"===this.spannerSortOrder?"desc":"",this.updateSpannerTable.emit({text:this.spannerSearchText,order:this.spannerSortOrder})}objectSelected(e){this.currentSelectedObject=e,(e.type===Qt.Index||e.type===Qt.Table)&&this.selectObject.emit(e)}leftColumnToggle(){this.isLeftColumnCollapse=!this.isLeftColumnCollapse,this.leftCollaspe.emit()}isTableNode(e){return new RegExp("^tables").test(e)}isIndexNode(e){return new RegExp("^indexes").test(e)}isIndexLikeNode(e){return e.type==Qt.Index||e.type==Qt.Indexes}openAddIndexForm(e){this.sidenav.setSidenavAddIndexTable(e),this.sidenav.setSidenavRuleType("addIndex"),this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("rule"),this.sidenav.setRuleData([]),this.sidenav.setDisplayRuleFlag(!1)}shouldHighlight(e){var i;return e.name===(null===(i=this.currentSelectedObject)||void 0===i?void 0:i.name)&&(e.type===Qt.Table||e.type===Qt.Index)}onTabChanged(){"spanner"==this.selectedTab?(this.selectedTab="source",this.selectedIndex=0):(this.selectedTab="spanner",this.selectedIndex=1),this.selectedDatabase.emit(this.selectedTab),this.currentSelectedObject=null,this.selectObject.emit(void 0)}setSpannerTab(){this.selectedIndex=1}checkDropSelection(){return 0!=this.countSelectionByCategory().eligibleForDrop}checkRestoreSelection(){return 0!=this.countSelectionByCategory().eligibleForRestore}countSelectionByCategory(){let i=0,o=0;return this.checklistSelection.selected.forEach(r=>{r.isDeleted?o+=1:i+=1}),{eligibleForDrop:i,eligibleForRestore:o}}dropSelected(){var i=[];this.checklistSelection.selected.forEach(s=>{""!=s.id&&s.type==Qt.Table&&i.push({TableId:s.id,TableName:s.name,isDeleted:s.isDeleted})});let o=this.dialog.open(pI,{width:"35vw",minWidth:"450px",maxWidth:"600px",maxHeight:"90vh",data:{tables:i,operation:"SKIP"}});var r={TableList:[]};i.forEach(s=>{r.TableList.push(s.TableId)}),o.afterClosed().subscribe(s=>{"SKIP"==s&&(this.data.dropTables(r).pipe(Ot(1)).subscribe(a=>{""===a&&(this.data.getConversionRate(),this.updateSidebar.emit(!0))}),this.checklistSelection.clear())})}restoreSelected(){var i=[];this.checklistSelection.selected.forEach(s=>{""!=s.id&&s.type==Qt.Table&&i.push({TableId:s.id,TableName:s.name,isDeleted:s.isDeleted})});let o=this.dialog.open(pI,{width:"35vw",minWidth:"450px",maxWidth:"600px",data:{tables:i,operation:"RESTORE"}});var r={TableList:[]};i.forEach(s=>{r.TableList.push(s.TableId)}),o.afterClosed().subscribe(s=>{"RESTORE"==s&&(this.data.restoreTables(r).pipe(Ot(1)).subscribe(a=>{this.data.getConversionRate(),this.data.getDdl()}),this.checklistSelection.clear())})}selectionToggle(e){this.checklistSelection.toggle(e);const i=this.treeControl.getDescendants(e);this.checklistSelection.isSelected(e)?this.checklistSelection.select(...i):this.checklistSelection.deselect(...i)}}return t.\u0275fac=function(e){return new(e||t)(b(Da),b(ns),b(Ln),b(Ei),b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-object-explorer"]],inputs:{spannerTree:"spannerTree",srcTree:"srcTree",srcDbName:"srcDbName"},outputs:{selectedDatabase:"selectedDatabase",selectObject:"selectObject",updateSpannerTable:"updateSpannerTable",updateSrcTable:"updateSrcTable",leftCollaspe:"leftCollaspe",updateSidebar:"updateSidebar"},features:[nn],decls:59,vars:20,consts:[[1,"container"],[3,"ngClass","selectedIndex","selectedTabChange"],["mat-tab-label",""],[1,"filter-wrapper"],[1,"left"],[1,"material-icons","filter-icon"],[1,"filter-text"],[1,"right"],["placeholder","Filter by table name",3,"ngModel","ngModelChange"],[1,"explorer-table"],["mat-table","",3,"dataSource"],["matColumnDef","status"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","name"],["mat-header-cell","","class","mat-header-cell-name cursor-pointer",3,"click",4,"matHeaderCellDef"],["mat-cell","","class","sidebar_link",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",3,"ngClass",4,"matRowDef","matRowDefColumns"],["clas","delete-selected-btn"],["mat-button","","color","primary",1,"icon","drop",3,"disabled","click"],["clas","restore-selected-btn"],["mat-cell","",3,"ngClass",4,"matCellDef"],["id","left-column-toggle-button",3,"click"],[3,"ngClass"],["mat-header-cell",""],["mat-cell",""],["class","icon success","matTooltip","Can be converted automatically","matTooltipPosition","above","xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","black",4,"ngIf"],["class","work","matTooltip","Requires minimal conversion changes","matTooltipPosition","above",4,"ngIf"],["class","work_history","matTooltip","Requires high complexity conversion changes","matTooltipPosition","above",4,"ngIf"],["matTooltip","Can be converted automatically","matTooltipPosition","above","xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","black",1,"icon","success"],["d","m10.4 17.6-2-4.4-4.4-2 4.4-2 2-4.4 2 4.4 4.4 2-4.4 2Zm6.4 1.6-1-2.2-2.2-1 2.2-1 1-2.2 1 2.2 2.2 1-2.2 1Z"],["matTooltip","Requires minimal conversion changes","matTooltipPosition","above",1,"work"],["matTooltip","Requires high complexity conversion changes","matTooltipPosition","above",1,"work_history"],["mat-header-cell","",1,"mat-header-cell-name","cursor-pointer",3,"click"],["class","src-unsorted-icon sort-icon",4,"ngIf"],["class","sort-icon",4,"ngIf"],[1,"src-unsorted-icon","sort-icon"],[1,"sort-icon"],["mat-cell","",1,"sidebar_link"],["mat-icon-button","",3,"click"],["width","12","height","6","viewBox","0 0 12 6","fill","none","xmlns","http://www.w3.org/2000/svg",4,"ngIf","ngIfElse"],["collaps",""],[1,"sidebar_link",3,"click"],["width","18","height","18","viewBox","0 0 18 18","fill","none","xmlns","http://www.w3.org/2000/svg",4,"ngIf"],["width","12","height","14","viewBox","0 0 12 14","fill","none","xmlns","http://www.w3.org/2000/svg",4,"ngIf"],["class","actions",4,"ngIf"],["width","12","height","6","viewBox","0 0 12 6","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M12 0L0 0L6 6L12 0Z","fill","black","fill-opacity","0.54"],["width","6","height","12","viewBox","0 0 6 12","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M-5.24537e-07 2.62268e-07L0 12L6 6L-5.24537e-07 2.62268e-07Z","fill","black","fill-opacity","0.54"],["width","18","height","18","viewBox","0 0 18 18","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M0 0V18H18V0H0ZM16 2V6H2V2H16ZM7.33 11V8H10.66V11H7.33ZM10.67 13V16H7.34V13H10.67ZM5.33 11H2V8H5.33V11ZM12.67 8H16V11H12.67V8ZM2 13H5.33V16H2V13ZM12.67 16V13H16V16H12.67Z","fill","black","fill-opacity","0.54"],["width","12","height","14","viewBox","0 0 12 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M11.005 14C11.555 14 12 13.554 12 13.002V5L10 3V12H2V14H11.005ZM0 0.996C0 0.446 0.438 0 1.003 0H7L9 2.004V10.004C9 10.554 8.554 11 8.002 11H0.998C0.867035 11.0003 0.737304 10.9747 0.616233 10.9248C0.495162 10.8748 0.385128 10.8015 0.292428 10.709C0.199729 10.6165 0.126186 10.5066 0.0760069 10.3856C0.0258282 10.2646 -2.64036e-07 10.135 0 10.004V0.996ZM6 1L5 5.5H2L6 1ZM3 10L4 5.5H7L3 10Z","fill","black","fill-opacity","0.54"],[1,"actions"],[3,"matMenuTriggerFor"],["menu","matMenu"],["mat-menu-item",""],["mat-header-row",""],["mat-row","",3,"ngClass"],["class","icon dark","matTooltip","Deleted","matTooltipPosition","above",4,"ngIf"],["matTooltip","Deleted","matTooltipPosition","above",1,"icon","dark"],["class","spanner-unsorted-icon sort-icon",4,"ngIf"],[1,"spanner-unsorted-icon","sort-icon"],["mat-cell","",3,"ngClass"],["class","checklist-node",3,"checked","change",4,"ngIf"],[1,"sidebar_link",3,"ngClass","click"],[1,"object-name"],[1,"checklist-node",3,"checked","change"],[1,"add-index-icon",3,"matMenuTriggerFor"],["xPosition","before"],["mat-menu-item","",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-tab-group",1),N("selectedTabChange",function(){return i.onTabChanged()}),d(2,"mat-tab"),_(3,lq,2,4,"ng-template",2),d(4,"div",3)(5,"div",4)(6,"span",5),h(7,"filter_list"),c(),d(8,"span",6),h(9,"Filter"),c()(),d(10,"div",7)(11,"input",8),N("ngModelChange",function(r){return i.srcSearchText=r})("ngModelChange",function(){return i.filterSrcTable()}),c()()(),d(12,"div",9)(13,"table",10),be(14,11),_(15,cq,2,0,"th",12),_(16,pq,4,3,"td",13),ve(),be(17,14),_(18,_q,7,3,"th",15),_(19,Dq,12,10,"td",16),ve(),_(20,Sq,1,0,"tr",17),_(21,Mq,1,3,"tr",18),c()()(),d(22,"mat-tab"),_(23,xq,2,3,"ng-template",2),d(24,"div",3)(25,"div",4)(26,"span",5),h(27,"filter_list"),c(),d(28,"span",6),h(29,"Filter"),c()(),d(30,"div",7)(31,"input",8),N("ngModelChange",function(r){return i.spannerSearchText=r})("ngModelChange",function(){return i.filterSpannerTable()}),c()(),d(32,"div",19)(33,"button",20),N("click",function(){return i.dropSelected()}),d(34,"mat-icon"),h(35,"delete"),c(),d(36,"span"),h(37,"SKIP"),c()()(),d(38,"div",21)(39,"button",20),N("click",function(){return i.restoreSelected()}),d(40,"mat-icon"),h(41,"undo"),c(),d(42,"span"),h(43,"RESTORE"),c()()()(),d(44,"div",9)(45,"table",10),be(46,11),_(47,Tq,2,0,"th",12),_(48,Aq,5,4,"td",13),ve(),be(49,14),_(50,Nq,7,3,"th",15),_(51,Gq,13,16,"td",22),ve(),_(52,Wq,1,0,"tr",17),_(53,qq,1,3,"tr",18),c()()()(),d(54,"button",23),N("click",function(){return i.leftColumnToggle()}),d(55,"mat-icon",24),h(56,"first_page"),c(),d(57,"mat-icon",24),h(58,"last_page"),c()()()),2&e&&(f(1),m("ngClass",Kt(14,Nv,i.isLeftColumnCollapse?"hidden":"display"))("selectedIndex",i.selectedIndex),f(10),m("ngModel",i.srcSearchText),f(2),m("dataSource",i.srcDataSource),f(7),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns),f(10),m("ngModel",i.spannerSearchText),f(2),m("disabled",!i.checkDropSelection()),f(6),m("disabled",!i.checkRestoreSelection()),f(6),m("dataSource",i.dataSource),f(7),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns),f(2),m("ngClass",Kt(16,Nv,i.isLeftColumnCollapse?"hidden":"display")),f(2),m("ngClass",Kt(18,Nv,i.isLeftColumnCollapse?"display":"hidden")))},directives:[rv,nr,wp,bk,Dn,bn,El,As,Xr,Yr,Jr,Qr,es,Et,ki,_n,Ht,Nl,Fl,qr,Ps,Fs,Rs,Ns,uv],styles:[".container[_ngcontent-%COMP%]{position:relative;background-color:#fff}.container[_ngcontent-%COMP%] .filter-wrapper[_ngcontent-%COMP%]{padding:0 10px}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%]{height:35px}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%] .spanner-unsorted-icon[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%]:hover .spanner-unsorted-icon[_ngcontent-%COMP%]{visibility:visible;opacity:.7}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%] .src-unsorted-icon[_ngcontent-%COMP%]{visibility:hidden}.container[_ngcontent-%COMP%] .mat-header-cell-name[_ngcontent-%COMP%]:hover .src-unsorted-icon[_ngcontent-%COMP%]{visibility:visible;opacity:.7}.container[_ngcontent-%COMP%] .sort-icon[_ngcontent-%COMP%]{font-size:1.1rem;display:flex;align-items:center;justify-content:flex-end}.container[_ngcontent-%COMP%] .mat-cell[_ngcontent-%COMP%]{padding-right:0!important}.selected-row[_ngcontent-%COMP%]{background-color:#61b3ff4a}.explorer-table[_ngcontent-%COMP%]{height:calc(100vh - 320px);width:100%;overflow:auto}.mat-table[_ngcontent-%COMP%]{width:100%}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%]{cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;height:40px}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{margin-right:10px}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{height:40px;margin-left:14px}.mat-table[_ngcontent-%COMP%] .sidebar_link[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .add-index-icon[_ngcontent-%COMP%]{margin-top:7px}.mat-table[_ngcontent-%COMP%] .mat-row[_ngcontent-%COMP%], .mat-table[_ngcontent-%COMP%] .mat-header-row[_ngcontent-%COMP%]{height:29px}.mat-table[_ngcontent-%COMP%] .mat-header-cell[_ngcontent-%COMP%]{font-family:Roboto;font-size:13px;font-style:normal;font-weight:500;line-height:18px;background:#f5f5f5}.mat-table[_ngcontent-%COMP%] .mat-column-status[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:medium}.mat-table[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:20px}.filter-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;height:48px}.filter-wrapper[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:30%;display:flex;align-items:center}.filter-wrapper[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{margin-right:5px}.filter-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:70%}.filter-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:70%;border:none;outline:none;background-color:transparent}#left-column-toggle-button[_ngcontent-%COMP%]{z-index:100;position:absolute;right:4px;top:10px;border:none;background-color:inherit}#left-column-toggle-button[_ngcontent-%COMP%]:hover{cursor:pointer}.mat-column-status[_ngcontent-%COMP%]{width:80px} .column-left .mat-tab-label-container{margin-right:40px} .column-left .mat-tab-header-pagination-controls-enabled .mat-tab-label-container{margin-right:0} .column-left .mat-tab-header-pagination-after{margin-right:40px}"]}),t})();function Zq(t,n){1&t&&(d(0,"div",9)(1,"mat-icon"),h(2,"warning"),c(),d(3,"span"),h(4,"This operation cannot be undone"),c()())}let gI=(()=>{class t{constructor(e,i){this.data=e,this.dialogRef=i,this.ObjectDetailNodeType=Vs,this.confirmationInput=new X("",[de.required,de.pattern(`^${e.name}$`)]),i.disableClose=!0}delete(){this.dialogRef.close(this.data.type)}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(b(Xi),b(Ti))},t.\u0275cmp=Ae({type:t,selectors:[["app-drop-index-dialog"]],decls:19,vars:7,consts:[["mat-dialog-content",""],["class","alert-container",4,"ngIf"],[1,"form-container"],[1,"form-custom-label"],["appearance","outline"],["matInput","","type","text",3,"formControl"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[1,"alert-container"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h2"),h(2),c(),_(3,Zq,5,0,"div",1),d(4,"div",2)(5,"form")(6,"span",3),h(7," Confirm deletion by typing the following below: "),d(8,"b"),h(9),c()(),d(10,"mat-form-field",4)(11,"mat-label"),h(12),c(),E(13,"input",5),c()()()(),d(14,"div",6)(15,"button",7),h(16,"Cancel"),c(),d(17,"button",8),N("click",function(){return i.delete()}),h(18," Confirm "),c()()),2&e&&(f(2),hl("Skip ",i.data.type," (",i.data.name,")?"),f(1),m("ngIf","Index"===i.data.type),f(6),Ee(i.data.name),f(3),Se("",i.data.type==i.ObjectDetailNodeType.Table?"Table":"Index"," Name"),f(1),m("formControl",i.confirmationInput),f(4),m("disabled",!i.confirmationInput.valid))},directives:[wr,Et,_n,xi,Hn,ks,En,Mn,li,Dn,bn,Il,Dr,Ht,Ji],styles:[".alert-container[_ngcontent-%COMP%]{padding:.5rem;display:flex;align-items:center;margin-bottom:1rem;background-color:#f8f4f4}.alert-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f3b300;margin-right:20px}.form-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%]{width:100%}.buttons-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:flex-end}"]}),t})();function Qq(t,n){if(1&t&&(d(0,"mat-option",12),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function Yq(t,n){1&t&&(d(0,"div")(1,"mat-form-field",2)(2,"mat-label"),h(3,"Length"),c(),E(4,"input",13),c(),E(5,"br"),c())}function Xq(t,n){if(1&t&&(d(0,"mat-option",12),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}let Jq=(()=>{class t{constructor(e,i,o,r){this.formBuilder=e,this.dataService=i,this.dialogRef=o,this.data=r,this.dialect="",this.datatypes=[],this.selectedDatatype="",this.tableId="",this.selectedNull=!0,this.dataTypesWithColLen=di.DataTypes,this.isColumnNullable=[{value:!1,displayName:"No"},{value:!0,displayName:"Yes"}],this.dialect=r.dialect,this.tableId=r.tableId,this.addNewColumnForm=this.formBuilder.group({name:["",[de.required,de.minLength(1),de.maxLength(128),de.pattern("^[a-zA-Z][a-zA-Z0-9_]*$")]],datatype:[],length:["",de.pattern("^[0-9]+$")],isNullable:[]})}ngOnInit(){this.datatypes="google_standard_sql"==this.dialect?cI_GoogleStandardSQL:cI_PostgreSQL}changeValidator(){var e,i;this.addNewColumnForm.controls.length.clearValidators(),"BYTES"===this.selectedDatatype?null===(e=this.addNewColumnForm.get("length"))||void 0===e||e.addValidators([de.required,de.max(di.ByteMaxLength)]):("VARCHAR"===this.selectedDatatype||"STRING"===this.selectedDatatype)&&(null===(i=this.addNewColumnForm.get("length"))||void 0===i||i.addValidators([de.required,de.max(di.StringMaxLength)])),this.addNewColumnForm.controls.length.updateValueAndValidity()}addNewColumn(){let e=this.addNewColumnForm.value,i={Name:e.name,Datatype:this.selectedDatatype,Length:parseInt(e.length),IsNullable:this.selectedNull};this.dataService.addColumn(this.tableId,i),this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(b(Es),b(Ln),b(Ti),b(Xi))},t.\u0275cmp=Ae({type:t,selectors:[["app-add-new-column"]],decls:26,vars:7,consts:[["mat-dialog-content",""],[1,"add-new-column-form",3,"formGroup"],["appearance","outline",1,"full-width"],["matInput","","placeholder","Column Name","type","text","formControlName","name"],["appearance","outline"],["formControlName","datatype","required","true",1,"input-field",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["formControlName","isNullable","required","true",3,"ngModel","ngModelChange"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[3,"value"],["matInput","","placeholder","Length","type","text","formControlName","length"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Column Details"),c(),d(4,"mat-form-field",2)(5,"mat-label"),h(6,"Name"),c(),E(7,"input",3),c(),E(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"Datatype"),c(),d(12,"mat-select",5),N("ngModelChange",function(r){return i.selectedDatatype=r})("selectionChange",function(){return i.changeValidator()}),_(13,Qq,2,2,"mat-option",6),c()(),E(14,"br"),_(15,Yq,6,0,"div",7),d(16,"mat-form-field",4)(17,"mat-label"),h(18,"IsNullable"),c(),d(19,"mat-select",8),N("ngModelChange",function(r){return i.selectedNull=r}),_(20,Xq,2,2,"mat-option",6),c()()(),d(21,"div",9)(22,"button",10),h(23,"CANCEL"),c(),d(24,"button",11),N("click",function(){return i.addNewColumn()}),h(25," ADD "),c()()()),2&e&&(f(1),m("formGroup",i.addNewColumnForm),f(11),m("ngModel",i.selectedDatatype),f(1),m("ngForOf",i.datatypes),f(2),m("ngIf",i.dataTypesWithColLen.indexOf(i.selectedDatatype)>-1),f(4),m("ngModel",i.selectedNull),f(1),m("ngForOf",i.isColumnNullable),f(4),m("disabled",!i.addNewColumnForm.valid))},directives:[wr,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,Yi,fo,ri,_i,Et,Dr,Ht,Ji],styles:[""]}),t})();function eK(t,n){1&t&&(d(0,"span"),h(1," To view and modify an object details, click on the object name on the Spanner draft panel. "),c())}function tK(t,n){if(1&t&&(d(0,"span"),h(1),c()),2&t){const e=D(2);f(1),Se(" To view an object details, click on the object name on the ",e.srcDbName," panel. ")}}const Wp=function(t){return[t]};function nK(t,n){if(1&t){const e=pe();d(0,"div",2)(1,"div",3)(2,"h3",4),h(3,"OBJECT VIEWER"),c(),d(4,"button",5),N("click",function(){return se(e),D().middleColumnToggle()}),d(5,"mat-icon",6),h(6,"first_page"),c(),d(7,"mat-icon",6),h(8,"last_page"),c()()(),E(9,"mat-divider"),d(10,"div",7)(11,"div",8),hn(),d(12,"svg",9),E(13,"path",10),c()(),Qs(),d(14,"div",11),_(15,eK,2,0,"span",12),_(16,tK,2,1,"span",12),c()()()}if(2&t){const e=D();f(5),m("ngClass",Kt(4,Wp,e.isMiddleColumnCollapse?"display":"hidden")),f(2),m("ngClass",Kt(6,Wp,e.isMiddleColumnCollapse?"hidden":"display")),f(8),m("ngIf","spanner"==e.currentDatabase),f(1),m("ngIf","source"==e.currentDatabase)}}function iK(t,n){1&t&&(d(0,"mat-icon",23),h(1," table_chart"),c())}function oK(t,n){1&t&&(hn(),d(0,"svg",24),E(1,"path",25),c())}function rK(t,n){if(1&t&&(d(0,"span"),h(1),_s(2,"uppercase"),c()),2&t){const e=D(2);f(1),Se("( TABLE: ",bs(2,1,e.currentObject.parent)," ) ")}}function sK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).dropIndex()}),d(1,"mat-icon"),h(2,"delete"),c(),d(3,"span"),h(4,"SKIP INDEX"),c()()}}function aK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).restoreIndex()}),d(1,"mat-icon"),h(2,"undo"),c(),d(3,"span"),h(4," RESTORE INDEX"),c()()}}function lK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).dropTable()}),d(1,"mat-icon"),h(2,"delete"),c(),d(3,"span"),h(4,"SKIP TABLE"),c()()}}function cK(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D(2).restoreSpannerTable()}),d(1,"mat-icon"),h(2,"undo"),c(),d(3,"span"),h(4," RESTORE TABLE"),c()()}}function dK(t,n){if(1&t&&(d(0,"div",27),h(1," Interleaved: "),d(2,"div",28),h(3),c()()),2&t){const e=D(2);f(3),Se(" ",e.interleaveParentName," ")}}function uK(t,n){1&t&&(d(0,"span"),h(1,"COLUMNS "),c())}function hK(t,n){if(1&t&&(d(0,"th",74),h(1),c()),2&t){const e=D(3);f(1),Ee(e.srcDbName)}}function pK(t,n){1&t&&(d(0,"th",75),h(1,"S No."),c())}function fK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcOrder").value," ")}}function mK(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function gK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColName").value," ")}}function _K(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function bK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcDataType").value," ")}}function vK(t,n){1&t&&(d(0,"th",75),h(1,"Max Length"),c())}function yK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColMaxLength").value," ")}}function CK(t,n){1&t&&(d(0,"th",75),h(1,"Pk"),c())}function wK(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function DK(t,n){if(1&t&&(d(0,"td",76),_(1,wK,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("srcIsPk").value)}}function SK(t,n){1&t&&(d(0,"th",75),h(1,"Nullable"),c())}function MK(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcIsNotNull").value?"Not Null":""," ")}}function xK(t,n){1&t&&E(0,"tr",79)}function TK(t,n){1&t&&E(0,"tr",79)}const kK=function(t){return{"scr-column-data-edit-mode":t}};function EK(t,n){if(1&t&&E(0,"tr",80),2&t){const e=D(3);m("ngClass",Kt(1,kK,e.isEditMode))}}function IK(t,n){if(1&t){const e=pe();d(0,"button",84),N("click",function(){return se(e),D(5).toggleEdit()}),d(1,"mat-icon",85),h(2,"edit"),c(),h(3," EDIT "),c()}}function OK(t,n){if(1&t&&(d(0,"div"),_(1,IK,4,0,"button",83),c()),2&t){const e=D(4);f(1),m("ngIf",e.currentObject.isSpannerNode)}}function AK(t,n){if(1&t){const e=pe();d(0,"button",84),N("click",function(){return se(e),D(5).addNewColumn()}),d(1,"mat-icon",85),h(2,"edit"),c(),h(3," ADD COLUMN "),c()}}function PK(t,n){if(1&t&&(d(0,"div"),_(1,AK,4,0,"button",83),c()),2&t){const e=D(4);f(1),m("ngIf",e.currentObject.isSpannerNode)}}function RK(t,n){if(1&t&&(d(0,"th",81)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),_(4,OK,2,1,"div",12),_(5,PK,2,1,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isEditMode&&!e.currentObject.isDeleted),f(1),m("ngIf",!e.isEditMode&&!e.currentObject.isDeleted&&!1)}}function FK(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function NK(t,n){if(1&t&&(d(0,"div"),E(1,"input",86),c()),2&t){const e=D().$implicit;let i;f(1),m("formControl",e.get("spColName"))("matTooltipDisabled",!(null!=(i=e.get("spColName"))&&i.hasError("pattern")))}}function LK(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Ee(e.get("spColName").value)}}function BK(t,n){if(1&t&&(d(0,"td",76),_(1,NK,2,2,"div",12),_(2,LK,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isEditMode&&""!==e.get("spDataType").value&&""!==e.get("srcId").value),f(1),m("ngIf",!i.isEditMode||""===e.get("srcId").value)}}function VK(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function jK(t,n){if(1&t&&(d(0,"span",90),h(1,"warning"),c()),2&t){const e=D().index;m("matTooltip",D(3).spTableSuggestion[e])}}function HK(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayT),f(1),Se(" ",e.DisplayT," ")}}function UK(t,n){1&t&&(d(0,"mat-option",98),h(1," STRING "),c())}function zK(t,n){1&t&&(d(0,"mat-option",99),h(1," VARCHAR "),c())}function $K(t,n){if(1&t){const e=pe();d(0,"mat-form-field",91)(1,"mat-select",92,93),N("selectionChange",function(){se(e);const o=$t(2),r=D().index;return D(3).spTableEditSuggestionHandler(r,o.value)}),_(3,HK,2,2,"mat-option",94),_(4,UK,2,0,"mat-option",95),_(5,zK,2,0,"mat-option",96),c()()}if(2&t){const e=D().$implicit,i=D(3);f(1),m("formControl",e.get("spDataType")),f(2),m("ngForOf",i.typeMap[e.get("srcDataType").value]),f(1),m("ngIf",""==e.get("srcDataType").value&&!i.isPostgreSQLDialect),f(1),m("ngIf",""==e.get("srcDataType").value&&i.isPostgreSQLDialect)}}function GK(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Ee(e.get("spDataType").value)}}function WK(t,n){if(1&t&&(d(0,"td",76)(1,"div",87),_(2,jK,2,1,"span",88),_(3,$K,6,4,"mat-form-field",89),_(4,GK,2,1,"p",12),c()()),2&t){const e=n.$implicit,i=n.index,o=D(3);f(2),m("ngIf",o.isSpTableSuggesstionDisplay[i]&&""!==e.get("spDataType").value),f(1),m("ngIf",o.isEditMode&&""!==e.get("spDataType").value&&""!==e.get("srcId").value),f(1),m("ngIf",!o.isEditMode||""===e.get("srcId").value)}}function qK(t,n){1&t&&(d(0,"th",75),h(1,"Max Length"),c())}function KK(t,n){if(1&t&&(d(0,"div"),E(1,"input",100),c()),2&t){const e=D(2).$implicit;f(1),m("formControl",e.get("spColMaxLength"))}}function ZK(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D(2).$implicit;f(1),Se(" ",e.get("spColMaxLength").value," ")}}function QK(t,n){if(1&t&&(d(0,"div"),_(1,KK,2,1,"div",12),_(2,ZK,2,1,"p",12),c()),2&t){const e=D().$implicit,i=D(3);f(1),m("ngIf",i.isEditMode&&""!=e.get("srcDataType").value&&e.get("spId").value!==i.shardIdCol),f(1),m("ngIf",!i.isEditMode||e.get("spId").value===i.shardIdCol)}}function YK(t,n){if(1&t&&(d(0,"td",76),_(1,QK,3,2,"div",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.dataTypesWithColLen.indexOf(e.get("spDataType").value)>-1)}}function XK(t,n){1&t&&(d(0,"th",75),h(1,"Pk"),c())}function JK(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function eZ(t,n){if(1&t&&(d(0,"td",76),_(1,JK,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spIsPk").value)}}function tZ(t,n){1&t&&(d(0,"span"),h(1,"Not Null"),c())}function nZ(t,n){1&t&&(d(0,"span"),h(1,"Nullable"),c())}function iZ(t,n){if(1&t&&(d(0,"th",75),_(1,tZ,2,0,"span",12),_(2,nZ,2,0,"span",12),c()),2&t){const e=D(3);f(1),m("ngIf",e.isEditMode),f(1),m("ngIf",!e.isEditMode)}}function oZ(t,n){if(1&t&&(d(0,"div"),E(1,"mat-checkbox",102),c()),2&t){const e=D().$implicit;f(1),m("formControl",e.get("spIsNotNull"))}}function rZ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Se(" ",e.get("spIsNotNull").value?"Not Null":""," ")}}function sZ(t,n){if(1&t&&(d(0,"td",76)(1,"div",101),_(2,oZ,2,1,"div",12),_(3,rZ,2,1,"p",12),c()()),2&t){const e=n.$implicit,i=D(3);f(2),m("ngIf",i.isEditMode&&""!==e.get("spDataType").value&&e.get("spId").value!==i.shardIdCol),f(1),m("ngIf",!i.isEditMode||e.get("spId").value===i.shardIdCol)}}function aZ(t,n){1&t&&E(0,"th",75)}function lZ(t,n){if(1&t){const e=pe();d(0,"div",105)(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",109),N("click",function(){se(e);const o=D().$implicit;return D(3).dropColumn(o)}),d(6,"span"),h(7,"Drop Column"),c()()()()}if(2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}const qp=function(t){return{"drop-button-left-border":t}};function cZ(t,n){if(1&t&&(d(0,"td",103),_(1,lZ,8,1,"div",104),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isEditMode)),f(1),m("ngIf",i.isEditMode&&i.currentObject.isSpannerNode&&""!==e.get("spDataType").value&&e.get("spId").value!==i.shardIdCol)}}function dZ(t,n){1&t&&E(0,"tr",79)}function uZ(t,n){1&t&&E(0,"tr",79)}function hZ(t,n){1&t&&E(0,"tr",110)}function pZ(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function fZ(t,n){if(1&t){const e=pe();d(0,"div",111)(1,"mat-form-field",112)(2,"mat-label"),h(3,"Column Name"),c(),d(4,"mat-select",113),N("selectionChange",function(o){return se(e),D(3).setColumn(o.value)}),_(5,pZ,2,2,"mat-option",94),c()(),d(6,"button",114),N("click",function(){return se(e),D(3).restoreColumn()}),d(7,"mat-icon"),h(8,"add"),c(),h(9," RESTORE COLUMN "),c()()}if(2&t){const e=D(3);m("formGroup",e.addColumnForm),f(5),m("ngForOf",e.droppedSourceColumns)}}function mZ(t,n){1&t&&(d(0,"span"),h(1,"PRIMARY KEY "),c())}function gZ(t,n){if(1&t&&(d(0,"th",115),h(1),c()),2&t){const e=D(3);f(1),Ee(e.srcDbName)}}function _Z(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",84),N("click",function(){return se(e),D(4).togglePkEdit()}),d(2,"mat-icon",85),h(3,"edit"),c(),h(4," EDIT "),c()()}}function bZ(t,n){if(1&t&&(d(0,"th",74)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),_(4,_Z,5,0,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isPkEditMode&&e.pkDataSource.length>0&&e.currentObject.isSpannerNode&&!e.currentObject.isDeleted)}}function vZ(t,n){1&t&&(d(0,"th",75),h(1,"Order"),c())}function yZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcOrder").value," ")}}function CZ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function wZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColName").value," ")}}function DZ(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function SZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcDataType").value," ")}}function MZ(t,n){1&t&&(d(0,"th",75),h(1,"PK"),c())}function xZ(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function TZ(t,n){if(1&t&&(d(0,"td",76),_(1,xZ,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("srcIsPk").value)}}function kZ(t,n){1&t&&(d(0,"th",75),h(1,"Nullable"),c())}function EZ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcIsNotNull").value?"Not Null":""," ")}}function IZ(t,n){1&t&&(d(0,"th",75),h(1,"Order"),c())}function OZ(t,n){if(1&t&&(d(0,"div"),E(1,"input",116),c()),2&t){const e=D().$implicit;let i;f(1),m("formControl",e.get("spOrder"))("matTooltipDisabled",!(null!=(i=e.get("spOrder"))&&i.hasError("pattern")))}}function AZ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Ee(e.get("spOrder").value)}}function PZ(t,n){if(1&t&&(d(0,"td",76),_(1,OZ,2,2,"div",12),_(2,AZ,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isPkEditMode&&""!==e.get("spColName").value),f(1),m("ngIf",!i.isPkEditMode)}}function RZ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function FZ(t,n){if(1&t&&(d(0,"td",76)(1,"p"),h(2),c()()),2&t){const e=n.$implicit;f(2),Ee(e.get("spColName").value)}}function NZ(t,n){1&t&&(d(0,"th",75),h(1,"Type"),c())}function LZ(t,n){if(1&t&&(d(0,"span",90),h(1,"warning"),c()),2&t){const e=D().index;m("matTooltip",D(3).spTableSuggestion[e])}}function BZ(t,n){if(1&t&&(d(0,"td",76)(1,"div",87),_(2,LZ,2,1,"span",88),d(3,"p"),h(4),c()()()),2&t){const e=n.$implicit,i=n.index,o=D(3);f(2),m("ngIf",o.isSpTableSuggesstionDisplay[i]&&""!==e.get("spColName").value),f(2),Ee(e.get("spDataType").value)}}function VZ(t,n){1&t&&(d(0,"th",75),h(1,"Pk"),c())}function jZ(t,n){1&t&&(d(0,"div"),hn(),d(1,"svg",77),E(2,"path",78),c()())}function HZ(t,n){if(1&t&&(d(0,"td",76),_(1,jZ,3,0,"div",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spIsPk").value)}}function UZ(t,n){1&t&&(d(0,"th",75),h(1,"Nullable"),c())}function zZ(t,n){if(1&t&&(d(0,"td",76)(1,"div",101)(2,"p"),h(3),c()()()),2&t){const e=n.$implicit;f(3),Se(" ",e.get("spIsNotNull").value?"Not Null":""," ")}}function $Z(t,n){1&t&&E(0,"th",75)}function GZ(t,n){if(1&t){const e=pe();d(0,"div",105)(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",117),N("click",function(){se(e);const o=D().$implicit;return D(3).dropPk(o)}),d(6,"span"),h(7,"Remove primary key"),c()()()()}if(2&t){const e=$t(4),i=D(4);f(1),m("matMenuTriggerFor",e),f(4),m("disabled",!i.isPkEditMode)}}function WZ(t,n){if(1&t&&(d(0,"td",103),_(1,GZ,8,2,"div",104),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isPkEditMode)),f(1),m("ngIf",i.isPkEditMode&&i.currentObject.isSpannerNode&&""!==e.get("spColName").value)}}function qZ(t,n){1&t&&E(0,"tr",79)}function KZ(t,n){1&t&&E(0,"tr",79)}function ZZ(t,n){1&t&&E(0,"tr",110)}function QZ(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function YZ(t,n){if(1&t){const e=pe();d(0,"div",118)(1,"mat-form-field",112)(2,"mat-label"),h(3,"Column Name"),c(),d(4,"mat-select",113),N("selectionChange",function(o){return se(e),D(3).setPkColumn(o.value)}),_(5,QZ,2,2,"mat-option",94),c()(),d(6,"button",114),N("click",function(){return se(e),D(3).addPkColumn()}),d(7,"mat-icon"),h(8,"add"),c(),h(9," ADD COLUMN "),c()()}if(2&t){const e=D(3);m("formGroup",e.addPkColumnForm),f(5),m("ngForOf",e.pkColumnNames)}}function XZ(t,n){1&t&&(d(0,"span"),h(1,"FOREIGN KEY"),c())}function JZ(t,n){if(1&t&&(d(0,"th",119),h(1),c()),2&t){const e=D(3);f(1),Ee(e.srcDbName)}}function eQ(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",84),N("click",function(){return se(e),D(4).toggleFkEdit()}),d(2,"mat-icon",85),h(3,"edit"),c(),h(4," EDIT "),c()()}}function tQ(t,n){if(1&t&&(d(0,"th",115)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),_(4,eQ,5,0,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isFkEditMode&&e.fkDataSource.length>0&&e.currentObject.isSpannerNode&&!e.currentObject.isDeleted)}}function nQ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function iQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcName").value," ")}}function oQ(t,n){1&t&&(d(0,"th",75),h(1,"Columns"),c())}function rQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColumns").value," ")}}function sQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Table"),c())}function aQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcReferTable").value," ")}}function lQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Columns"),c())}function cQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcReferColumns").value," ")}}function dQ(t,n){1&t&&(d(0,"th",75),h(1,"Name"),c())}function uQ(t,n){if(1&t&&(d(0,"div"),E(1,"input",86),c()),2&t){const e=D().$implicit;let i;f(1),m("formControl",e.get("spName"))("matTooltipDisabled",!(null!=(i=e.get("spName"))&&i.hasError("pattern")))}}function hQ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Ee(e.get("spName").value)}}function pQ(t,n){if(1&t&&(d(0,"td",76),_(1,uQ,2,2,"div",12),_(2,hQ,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isFkEditMode&&""!==e.get("spReferTable").value),f(1),m("ngIf",!i.isFkEditMode)}}function fQ(t,n){1&t&&(d(0,"th",75),h(1,"Columns"),c())}function mQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("spColumns").value," ")}}function gQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Table"),c())}function _Q(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("spReferTable").value," ")}}function bQ(t,n){1&t&&(d(0,"th",75),h(1,"Refer Columns"),c())}function vQ(t,n){if(1&t&&(d(0,"td",76)(1,"div",120),h(2),c()()),2&t){const e=n.$implicit;f(2),Se(" ",e.get("spReferColumns").value," ")}}function yQ(t,n){1&t&&E(0,"th",75)}function CQ(t,n){if(1&t){const e=pe();d(0,"button",117),N("click",function(){return se(e),D(5).setInterleave()}),d(1,"span"),h(2,"Convert to interleave"),c()()}2&t&&m("disabled",""===D(2).$implicit.get("spName").value)}function wQ(t,n){if(1&t){const e=pe();d(0,"div",105)(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",117),N("click",function(){se(e);const o=D().$implicit;return D(3).dropFk(o)}),d(6,"span"),h(7,"Drop Foreign Key"),c()(),_(8,CQ,3,1,"button",121),c()()}if(2&t){const e=$t(4),i=D().$implicit,o=D(3);f(1),m("matMenuTriggerFor",e),f(4),m("disabled",""===i.get("spName").value),f(3),m("ngIf",o.interleaveStatus.tableInterleaveStatus&&o.interleaveStatus.tableInterleaveStatus.Possible)}}function DQ(t,n){if(1&t&&(d(0,"td",103),_(1,wQ,9,3,"div",104),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isFkEditMode)),f(1),m("ngIf",i.isFkEditMode&&i.currentObject.isSpannerNode&&""!==e.get("spReferTable").value)}}function SQ(t,n){1&t&&E(0,"tr",79)}function MQ(t,n){1&t&&E(0,"tr",79)}function xQ(t,n){1&t&&E(0,"tr",110)}function TQ(t,n){if(1&t){const e=pe();d(0,"button",125),N("click",function(){return se(e),D(4).setInterleave()}),h(1," Convert to Interleave "),c()}}function kQ(t,n){if(1&t){const e=pe();d(0,"button",125),N("click",function(){return se(e),D(4).removeInterleave()}),h(1," Convert Back to Foreign Key "),c()}}function EQ(t,n){if(1&t&&(d(0,"div"),h(1," This table is interleaved with "),d(2,"span",126),h(3),c(),h(4,". Click on the above button to convert back to foreign key. "),c()),2&t){const e=D(4);f(3),Ee(e.interleaveParentName)}}function IQ(t,n){if(1&t&&(d(0,"mat-tab",122)(1,"div",123),_(2,TQ,2,0,"button",124),_(3,kQ,2,0,"button",124),E(4,"br"),_(5,EQ,5,1,"div",12),c()()),2&t){const e=D(3);f(2),m("ngIf",e.interleaveStatus.tableInterleaveStatus&&e.interleaveStatus.tableInterleaveStatus.Possible&&null===e.interleaveParentName),f(1),m("ngIf",e.interleaveStatus.tableInterleaveStatus&&!e.interleaveStatus.tableInterleaveStatus.Possible||null!==e.interleaveParentName),f(2),m("ngIf",e.interleaveStatus.tableInterleaveStatus&&!e.interleaveStatus.tableInterleaveStatus.Possible||null!==e.interleaveParentName)}}function OQ(t,n){1&t&&(d(0,"span"),h(1,"SQL"),c())}function AQ(t,n){if(1&t&&(d(0,"mat-tab"),_(1,OQ,2,0,"ng-template",30),d(2,"div",127)(3,"pre")(4,"code"),h(5),c()()()()),2&t){const e=D(3);f(5),Ee(e.ddlStmts[e.currentObject.id])}}const PQ=function(t){return{"height-on-edit":t}},RQ=function(){return["srcDatabase"]},FQ=function(){return["spDatabase"]},Lv=function(){return["srcDatabase","spDatabase"]};function NQ(t,n){if(1&t){const e=pe();d(0,"mat-tab-group",29),N("selectedTabChange",function(o){return se(e),D(2).tabChanged(o)}),d(1,"mat-tab"),_(2,uK,2,0,"ng-template",30),d(3,"div",31)(4,"div",32)(5,"table",33),be(6,34),_(7,hK,2,1,"th",35),ve(),be(8,36),_(9,pK,2,0,"th",37),_(10,fK,2,1,"td",38),ve(),be(11,39),_(12,mK,2,0,"th",37),_(13,gK,2,1,"td",38),ve(),be(14,40),_(15,_K,2,0,"th",41),_(16,bK,2,1,"td",38),ve(),be(17,42),_(18,vK,2,0,"th",41),_(19,yK,2,1,"td",38),ve(),be(20,43),_(21,CK,2,0,"th",37),_(22,DK,2,1,"td",38),ve(),be(23,44),_(24,SK,2,0,"th",41),_(25,MK,2,1,"td",38),ve(),_(26,xK,1,0,"tr",45),_(27,TK,1,0,"tr",45),_(28,EK,1,3,"tr",46),c(),d(29,"table",33),be(30,47),_(31,RK,6,2,"th",48),ve(),be(32,49),_(33,FK,2,0,"th",41),_(34,BK,3,2,"td",38),ve(),be(35,50),_(36,VK,2,0,"th",41),_(37,WK,5,3,"td",38),ve(),be(38,51),_(39,qK,2,0,"th",41),_(40,YK,2,1,"td",38),ve(),be(41,52),_(42,XK,2,0,"th",37),_(43,eZ,2,1,"td",38),ve(),be(44,53),_(45,iZ,3,2,"th",41),_(46,sZ,4,2,"td",38),ve(),be(47,54),_(48,aZ,1,0,"th",41),_(49,cZ,2,4,"td",55),ve(),_(50,dZ,1,0,"tr",45),_(51,uZ,1,0,"tr",45),_(52,hZ,1,0,"tr",56),c()(),_(53,fZ,10,2,"div",57),c()(),d(54,"mat-tab"),_(55,mZ,2,0,"ng-template",30),d(56,"div",58)(57,"table",33),be(58,34),_(59,gZ,2,1,"th",59),ve(),be(60,47),_(61,bZ,5,1,"th",35),ve(),be(62,36),_(63,vZ,2,0,"th",37),_(64,yZ,2,1,"td",38),ve(),be(65,39),_(66,CZ,2,0,"th",37),_(67,wZ,2,1,"td",38),ve(),be(68,40),_(69,DZ,2,0,"th",41),_(70,SZ,2,1,"td",38),ve(),be(71,43),_(72,MZ,2,0,"th",37),_(73,TZ,2,1,"td",38),ve(),be(74,44),_(75,kZ,2,0,"th",41),_(76,EZ,2,1,"td",38),ve(),be(77,60),_(78,IZ,2,0,"th",37),_(79,PZ,3,2,"td",38),ve(),be(80,49),_(81,RZ,2,0,"th",41),_(82,FZ,3,1,"td",38),ve(),be(83,50),_(84,NZ,2,0,"th",41),_(85,BZ,5,2,"td",38),ve(),be(86,52),_(87,VZ,2,0,"th",37),_(88,HZ,2,1,"td",38),ve(),be(89,53),_(90,UZ,2,0,"th",41),_(91,zZ,4,1,"td",38),ve(),be(92,54),_(93,$Z,1,0,"th",41),_(94,WZ,2,4,"td",55),ve(),_(95,qZ,1,0,"tr",45),_(96,KZ,1,0,"tr",45),_(97,ZZ,1,0,"tr",56),c(),_(98,YZ,10,2,"div",61),c()(),d(99,"mat-tab"),_(100,XZ,2,0,"ng-template",30),d(101,"div",62)(102,"table",33),be(103,34),_(104,JZ,2,1,"th",63),ve(),be(105,47),_(106,tQ,5,1,"th",59),ve(),be(107,64),_(108,nQ,2,0,"th",37),_(109,iQ,2,1,"td",38),ve(),be(110,65),_(111,oQ,2,0,"th",37),_(112,rQ,2,1,"td",38),ve(),be(113,66),_(114,sQ,2,0,"th",37),_(115,aQ,2,1,"td",38),ve(),be(116,67),_(117,lQ,2,0,"th",37),_(118,cQ,2,1,"td",38),ve(),be(119,68),_(120,dQ,2,0,"th",41),_(121,pQ,3,2,"td",38),ve(),be(122,69),_(123,fQ,2,0,"th",37),_(124,mQ,2,1,"td",38),ve(),be(125,70),_(126,gQ,2,0,"th",37),_(127,_Q,2,1,"td",38),ve(),be(128,71),_(129,bQ,2,0,"th",37),_(130,vQ,3,1,"td",38),ve(),be(131,72),_(132,yQ,1,0,"th",41),_(133,DQ,2,4,"td",55),ve(),_(134,SQ,1,0,"tr",45),_(135,MQ,1,0,"tr",45),_(136,xQ,1,0,"tr",56),c()()(),_(137,IQ,6,3,"mat-tab",73),_(138,AQ,6,1,"mat-tab",12),c()}if(2&t){const e=D(2);m("ngClass",Kt(21,PQ,e.isEditMode||e.isPkEditMode||e.isFkEditMode)),f(5),m("dataSource",e.srcDataSource),f(21),m("matHeaderRowDef",Jo(23,RQ)),f(1),m("matHeaderRowDef",e.srcDisplayedColumns),f(1),m("matRowDefColumns",e.srcDisplayedColumns),f(1),m("dataSource",e.spDataSource),f(21),m("matHeaderRowDef",Jo(24,FQ)),f(1),m("matHeaderRowDef",e.spDisplayedColumns),f(1),m("matRowDefColumns",e.spDisplayedColumns),f(1),m("ngIf",e.isEditMode&&0!=e.droppedSourceColumns.length),f(4),m("dataSource",e.pkDataSource),f(38),m("matHeaderRowDef",Jo(25,Lv)),f(1),m("matHeaderRowDef",e.displayedPkColumns),f(1),m("matRowDefColumns",e.displayedPkColumns),f(1),m("ngIf",e.isPkEditMode),f(4),m("dataSource",e.fkDataSource),f(32),m("matHeaderRowDef",Jo(26,Lv)),f(1),m("matHeaderRowDef",e.displayedFkColumns),f(1),m("matRowDefColumns",e.displayedFkColumns),f(1),m("ngIf",(e.interleaveStatus.tableInterleaveStatus&&e.interleaveStatus.tableInterleaveStatus.Possible||null!==e.interleaveParentName)&&e.currentObject.isSpannerNode),f(1),m("ngIf",e.currentObject.isSpannerNode&&!e.currentObject.isDeleted)}}function LQ(t,n){if(1&t&&(d(0,"th",138),h(1),c()),2&t){const e=D(3);f(1),Ee(e.srcDbName)}}function BQ(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",84),N("click",function(){return se(e),D(4).toggleIndexEdit()}),d(2,"mat-icon",85),h(3,"edit"),c(),h(4," EDIT "),c()()}}function VQ(t,n){if(1&t&&(d(0,"th",119)(1,"div",82)(2,"span"),h(3,"Spanner"),c(),_(4,BQ,5,0,"div",12),c()()),2&t){const e=D(3);f(4),m("ngIf",!e.isIndexEditMode&&!e.currentObject.isDeleted&&e.currentObject.isSpannerNode)}}function jQ(t,n){1&t&&(d(0,"th",75),h(1,"Column"),c())}function HQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcColName").value," ")}}function UQ(t,n){1&t&&(d(0,"th",75),h(1,"Sort By"),c())}function zQ(t,n){1&t&&(d(0,"p"),h(1,"Desc"),c())}function $Q(t,n){1&t&&(d(0,"p"),h(1,"Asc"),c())}function GQ(t,n){if(1&t&&(d(0,"td",76),_(1,zQ,2,0,"p",12),_(2,$Q,2,0,"p",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("srcDesc").value),f(1),m("ngIf",!1===e.get("srcDesc").value)}}function WQ(t,n){1&t&&(d(0,"th",75),h(1,"Column Order"),c())}function qQ(t,n){if(1&t&&(d(0,"td",76),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.get("srcOrder").value," ")}}function KQ(t,n){1&t&&(d(0,"th",75),h(1,"Column"),c())}function ZQ(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Ee(e.get("spColName").value)}}function QQ(t,n){if(1&t&&(d(0,"td",76),_(1,ZQ,2,1,"p",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spColName").value)}}function YQ(t,n){1&t&&(d(0,"th",75),h(1,"Sort By"),c())}function XQ(t,n){1&t&&(d(0,"p"),h(1,"Desc"),c())}function JQ(t,n){1&t&&(d(0,"p"),h(1,"Asc"),c())}function eY(t,n){if(1&t&&(d(0,"td",76),_(1,XQ,2,0,"p",12),_(2,JQ,2,0,"p",12),c()),2&t){const e=n.$implicit;f(1),m("ngIf",e.get("spDesc").value),f(1),m("ngIf",!1===e.get("spDesc").value)}}function tY(t,n){1&t&&(d(0,"th",75),h(1,"Column Order"),c())}function nY(t,n){if(1&t&&(d(0,"div"),E(1,"input",139),c()),2&t){const e=D().$implicit;f(1),m("formControl",e.get("spOrder"))}}function iY(t,n){if(1&t&&(d(0,"p"),h(1),c()),2&t){const e=D().$implicit;f(1),Ee(e.get("spOrder").value)}}function oY(t,n){if(1&t&&(d(0,"td",76),_(1,nY,2,1,"div",12),_(2,iY,2,1,"p",12),c()),2&t){const e=n.$implicit,i=D(3);f(1),m("ngIf",i.isIndexEditMode&&e.get("spColName").value),f(1),m("ngIf",!i.isIndexEditMode)}}function rY(t,n){1&t&&E(0,"th",75)}function sY(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-icon",106),h(2,"more_vert"),c(),d(3,"mat-menu",107,108)(5,"button",109),N("click",function(){se(e);const o=D().index;return D(3).dropIndexKey(o)}),d(6,"span"),h(7,"Drop Index Key"),c()()()()}if(2&t){const e=$t(4);f(1),m("matMenuTriggerFor",e)}}function aY(t,n){if(1&t&&(d(0,"td",103),_(1,sY,8,1,"div",12),c()),2&t){const e=n.$implicit,i=D(3);m("ngClass",Kt(2,qp,i.isIndexEditMode)),f(1),m("ngIf",i.isIndexEditMode&&e.get("spColName").value)}}function lY(t,n){1&t&&E(0,"tr",79)}function cY(t,n){1&t&&E(0,"tr",79)}function dY(t,n){1&t&&E(0,"tr",140)}function uY(t,n){if(1&t&&(d(0,"mat-option",97),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function hY(t,n){if(1&t){const e=pe();d(0,"div",141)(1,"mat-form-field",142)(2,"mat-label"),h(3,"Column Name"),c(),d(4,"mat-select",143),_(5,uY,2,2,"mat-option",94),c()(),d(6,"mat-form-field",144)(7,"mat-label"),h(8,"Sort By"),c(),d(9,"mat-select",145)(10,"mat-option",146),h(11,"Ascending"),c(),d(12,"mat-option",147),h(13,"Descending"),c()()(),d(14,"button",148),N("click",function(){return se(e),D(3).addIndexKey()}),d(15,"mat-icon"),h(16,"add"),c(),d(17,"span"),h(18," ADD COLUMN"),c()()()}if(2&t){const e=D(3);m("formGroup",e.addIndexKeyForm),f(5),m("ngForOf",e.indexColumnNames),f(9),m("disabled",!e.addIndexKeyForm.valid)}}function pY(t,n){if(1&t&&(d(0,"div",128)(1,"table",33),be(2,34),_(3,LQ,2,1,"th",129),ve(),be(4,47),_(5,VQ,5,1,"th",63),ve(),be(6,130),_(7,jQ,2,0,"th",37),_(8,HQ,2,1,"td",38),ve(),be(9,131),_(10,UQ,2,0,"th",41),_(11,GQ,3,2,"td",38),ve(),be(12,132),_(13,WQ,2,0,"th",37),_(14,qQ,2,1,"td",38),ve(),be(15,133),_(16,KQ,2,0,"th",41),_(17,QQ,2,1,"td",38),ve(),be(18,134),_(19,YQ,2,0,"th",41),_(20,eY,3,2,"td",38),ve(),be(21,135),_(22,tY,2,0,"th",37),_(23,oY,3,2,"td",38),ve(),be(24,54),_(25,rY,1,0,"th",41),_(26,aY,2,4,"td",55),ve(),_(27,lY,1,0,"tr",45),_(28,cY,1,0,"tr",45),_(29,dY,1,0,"tr",136),c(),_(30,hY,19,3,"div",137),c()),2&t){const e=D(2);f(1),m("dataSource",e.spDataSource),f(26),m("matHeaderRowDef",Jo(5,Lv)),f(1),m("matHeaderRowDef",e.indexDisplayedColumns),f(1),m("matRowDefColumns",e.indexDisplayedColumns),f(1),m("ngIf",e.isIndexEditMode&&e.indexColumnNames.length>0)}}function fY(t,n){1&t&&E(0,"mat-divider")}function mY(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).toggleEdit()}),h(1," CANCEL "),c()}}function gY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",150),N("click",function(){return se(e),D(2).saveColumnTable()}),h(2," SAVE & CONVERT "),c(),_(3,mY,2,0,"button",151),c()}if(2&t){const e=D(2);f(1),m("disabled",!e.spRowArray.valid),f(2),m("ngIf",e.currentObject.isSpannerNode)}}function _Y(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).togglePkEdit()}),h(1," CANCEL "),c()}}function bY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",150),N("click",function(){return se(e),D(2).savePk()}),h(2," SAVE & CONVERT "),c(),_(3,_Y,2,0,"button",151),c()}if(2&t){const e=D(2);f(1),m("disabled",!e.pkArray.valid),f(2),m("ngIf",e.currentObject.isSpannerNode)}}function vY(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).toggleFkEdit()}),h(1," CANCEL "),c()}}function yY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",125),N("click",function(){return se(e),D(2).saveFk()}),h(2,"SAVE & CONVERT"),c(),_(3,vY,2,0,"button",151),c()}if(2&t){const e=D(2);f(3),m("ngIf",e.currentObject.isSpannerNode)}}function CY(t,n){if(1&t){const e=pe();d(0,"button",152),N("click",function(){return se(e),D(3).toggleIndexEdit()}),h(1," CANCEL "),c()}}function wY(t,n){if(1&t){const e=pe();d(0,"div",149)(1,"button",125),N("click",function(){return se(e),D(2).saveIndex()}),h(2,"SAVE & CONVERT"),c(),_(3,CY,2,0,"button",151),c()}if(2&t){const e=D(2);f(3),m("ngIf",e.currentObject.isSpannerNode)}}function DY(t,n){if(1&t){const e=pe();d(0,"div",13)(1,"div",3)(2,"span")(3,"h3",4),_(4,iK,2,0,"mat-icon",14),_(5,oK,2,0,"svg",15),d(6,"span",16),h(7),c(),_(8,rK,3,3,"span",12),_(9,sK,5,0,"button",17),_(10,aK,5,0,"button",17),_(11,lK,5,0,"button",17),_(12,cK,5,0,"button",17),c(),_(13,dK,4,1,"div",18),c(),d(14,"button",5),N("click",function(){return se(e),D().middleColumnToggle()}),d(15,"mat-icon",6),h(16,"first_page"),c(),d(17,"mat-icon",6),h(18,"last_page"),c()()(),_(19,NQ,139,27,"mat-tab-group",19),_(20,pY,31,6,"div",20),d(21,"div",21),_(22,fY,1,0,"mat-divider",12),_(23,gY,4,2,"div",22),_(24,bY,4,2,"div",22),_(25,yY,4,1,"div",22),_(26,wY,4,1,"div",22),c()()}if(2&t){const e=D();f(4),m("ngIf",e.currentObject.type===e.ObjectExplorerNodeType.Table),f(1),m("ngIf",e.currentObject.type===e.ObjectExplorerNodeType.Index),f(2),Ee(" "+e.currentObject.name+" "),f(1),m("ngIf",""!=e.currentObject.parent),f(1),m("ngIf",e.currentObject.isSpannerNode&&!e.currentObject.isDeleted&&"indexName"===e.currentObject.type),f(1),m("ngIf",e.currentObject.isSpannerNode&&e.currentObject.isDeleted&&e.currentObject.type==e.ObjectExplorerNodeType.Index),f(1),m("ngIf",e.currentObject.isSpannerNode&&"indexName"!==e.currentObject.type&&!e.currentObject.isDeleted),f(1),m("ngIf",e.currentObject.isSpannerNode&&e.currentObject.isDeleted&&e.currentObject.type==e.ObjectExplorerNodeType.Table),f(1),m("ngIf",e.interleaveParentName&&e.currentObject.isSpannerNode),f(2),m("ngClass",Kt(18,Wp,e.isMiddleColumnCollapse?"display":"hidden")),f(2),m("ngClass",Kt(20,Wp,e.isMiddleColumnCollapse?"hidden":"display")),f(2),m("ngIf","tableName"===e.currentObject.type),f(1),m("ngIf","indexName"===e.currentObject.type),f(2),m("ngIf",e.isEditMode||e.isPkEditMode||e.isFkEditMode),f(1),m("ngIf",e.isEditMode&&0===e.currentTabIndex),f(1),m("ngIf",e.isPkEditMode&&1===e.currentTabIndex),f(1),m("ngIf",e.isFkEditMode&&2===e.currentTabIndex),f(1),m("ngIf",e.isIndexEditMode&&-1===e.currentTabIndex)}}let SY=(()=>{class t{constructor(e,i,o,r,s,a){this.data=e,this.dialog=i,this.snackbar=o,this.conversion=r,this.sidenav=s,this.tableUpdatePubSub=a,this.currentObject=null,this.typeMap={},this.defaultTypeMap={},this.ddlStmts={},this.fkData=[],this.tableData=[],this.currentDatabase="spanner",this.indexData=[],this.srcDbName=localStorage.getItem(In.SourceDbName),this.updateSidebar=new Pe,this.ObjectExplorerNodeType=Qt,this.conv={},this.interleaveParentName=null,this.localTableData=[],this.localIndexData=[],this.isMiddleColumnCollapse=!1,this.isPostgreSQLDialect=!1,this.srcDisplayedColumns=["srcOrder","srcColName","srcDataType","srcColMaxLength","srcIsPk","srcIsNotNull"],this.spDisplayedColumns=["spColName","spDataType","spColMaxLength","spIsPk","spIsNotNull","dropButton"],this.displayedFkColumns=["srcName","srcColumns","srcReferTable","srcReferColumns","spName","spColumns","spReferTable","spReferColumns","dropButton"],this.displayedPkColumns=["srcOrder","srcColName","srcDataType","srcIsPk","srcIsNotNull","spOrder","spColName","spDataType","spIsPk","spIsNotNull","dropButton"],this.indexDisplayedColumns=["srcIndexColName","srcSortBy","srcIndexOrder","spIndexColName","spSortBy","spIndexOrder","dropButton"],this.spDataSource=[],this.srcDataSource=[],this.fkDataSource=[],this.pkDataSource=[],this.pkData=[],this.isPkEditMode=!1,this.isEditMode=!1,this.isFkEditMode=!1,this.isIndexEditMode=!1,this.isObjectSelected=!1,this.srcRowArray=new po([]),this.spRowArray=new po([]),this.pkArray=new po([]),this.fkArray=new po([]),this.isSpTableSuggesstionDisplay=[],this.spTableSuggestion=[],this.currentTabIndex=0,this.addedColumnName="",this.droppedColumns=[],this.droppedSourceColumns=[],this.pkColumnNames=[],this.indexColumnNames=[],this.shardIdCol="",this.addColumnForm=new an({columnName:new X("",[de.required])}),this.addIndexKeyForm=new an({columnName:new X("",[de.required]),ascOrDesc:new X("",[de.required])}),this.addedPkColumnName="",this.addPkColumnForm=new an({columnName:new X("",[de.required])}),this.pkObj={},this.dataTypesWithColLen=di.DataTypes}ngOnInit(){this.data.conv.subscribe({next:e=>{this.conv=e,this.isPostgreSQLDialect="postgresql"===this.conv.SpDialect}})}ngOnChanges(e){var i,o,r,s,a,l,u,p;this.fkData=(null===(i=e.fkData)||void 0===i?void 0:i.currentValue)||this.fkData,this.currentObject=(null===(o=e.currentObject)||void 0===o?void 0:o.currentValue)||this.currentObject,this.tableData=(null===(r=e.tableData)||void 0===r?void 0:r.currentValue)||this.tableData,this.indexData=(null===(s=e.indexData)||void 0===s?void 0:s.currentValue)||this.indexData,this.currentDatabase=(null===(a=e.currentDatabase)||void 0===a?void 0:a.currentValue)||this.currentDatabase,this.currentTabIndex=(null===(l=this.currentObject)||void 0===l?void 0:l.type)===Qt.Table?0:-1,this.isObjectSelected=!!this.currentObject,this.pkData=this.conversion.getPkMapping(this.tableData),this.interleaveParentName=this.getInterleaveParentFromConv(),this.isEditMode=!1,this.isFkEditMode=!1,this.isIndexEditMode=!1,this.isPkEditMode=!1,this.srcRowArray=new po([]),this.spRowArray=new po([]),this.droppedColumns=[],this.droppedSourceColumns=[],this.pkColumnNames=[],this.interleaveParentName=this.getInterleaveParentFromConv(),this.localTableData=JSON.parse(JSON.stringify(this.tableData)),this.localIndexData=JSON.parse(JSON.stringify(this.indexData)),(null===(u=this.currentObject)||void 0===u?void 0:u.type)===Qt.Table?(this.checkIsInterleave(),this.interleaveObj=this.data.tableInterleaveStatus.subscribe(g=>{this.interleaveStatus=g}),this.setSrcTableRows(),this.setSpTableRows(),this.setColumnsToAdd(),this.setAddPkColumnList(),this.setPkOrder(),this.setPkRows(),this.setFkRows(),this.updateSpTableSuggestion(),this.setShardIdColumn()):(null===(p=this.currentObject)||void 0===p?void 0:p.type)===Qt.Index&&(this.indexOrderValidation(),this.setIndexRows()),this.data.getSummary()}setSpTableRows(){this.spRowArray=new po([]),this.localTableData.forEach(e=>{var i,o,r,s;if(e.spOrder){let a=new an({srcOrder:new X(e.srcOrder),srcColName:new X(e.srcColName),srcDataType:new X(e.srcDataType),srcIsPk:new X(e.srcIsPk),srcIsNotNull:new X(e.srcIsNotNull),srcColMaxLength:new X(e.srcColMaxLength),spOrder:new X(e.srcOrder),spColName:new X(e.spColName,[de.required,de.pattern("^[a-zA-Z]([a-zA-Z0-9/_]*[a-zA-Z0-9])?")]),spDataType:new X(e.spDataType),spIsPk:new X(e.spIsPk),spIsNotNull:new X(e.spIsNotNull),spId:new X(e.spId),srcId:new X(e.srcId),spColMaxLength:new X(e.spColMaxLength,[de.required])});this.dataTypesWithColLen.indexOf(e.spDataType.toString())>-1?(null===(i=a.get("spColMaxLength"))||void 0===i||i.setValidators([de.required,de.pattern("([1-9][0-9]*|MAX)")]),void 0===e.spColMaxLength?null===(o=a.get("spColMaxLength"))||void 0===o||o.setValue("MAX"):"MAX"!==e.spColMaxLength&&(("STRING"===e.spDataType||"VARCHAR"===e.spDataType)&&e.spColMaxLength>di.StringMaxLength?null===(r=a.get("spColMaxLength"))||void 0===r||r.setValue("MAX"):"BYTES"===e.spDataType&&e.spColMaxLength>di.ByteMaxLength&&(null===(s=a.get("spColMaxLength"))||void 0===s||s.setValue("MAX")))):a.controls.spColMaxLength.clearValidators(),a.controls.spColMaxLength.updateValueAndValidity(),this.spRowArray.push(a)}}),this.spDataSource=this.spRowArray.controls}setSrcTableRows(){this.srcRowArray=new po([]),this.localTableData.forEach(e=>{this.srcRowArray.push(new an(""!=e.spColName?{srcOrder:new X(e.srcOrder),srcColName:new X(e.srcColName),srcDataType:new X(e.srcDataType),srcIsPk:new X(e.srcIsPk),srcIsNotNull:new X(e.srcIsNotNull),srcColMaxLength:new X(e.srcColMaxLength),spOrder:new X(e.spOrder),spColName:new X(e.spColName),spDataType:new X(e.spDataType),spIsPk:new X(e.spIsPk),spIsNotNull:new X(e.spIsNotNull),spId:new X(e.spId),srcId:new X(e.srcId),spColMaxLength:new X(e.spColMaxLength)}:{srcOrder:new X(e.srcOrder),srcColName:new X(e.srcColName),srcDataType:new X(e.srcDataType),srcIsPk:new X(e.srcIsPk),srcIsNotNull:new X(e.srcIsNotNull),srcColMaxLength:new X(e.srcColMaxLength),spOrder:new X(e.srcOrder),spColName:new X(e.srcColName),spDataType:new X(this.defaultTypeMap[e.srcDataType].Name),spIsPk:new X(e.srcIsPk),spIsNotNull:new X(e.srcIsNotNull),spColMaxLength:new X(e.srcColMaxLength)}))}),this.srcDataSource=this.srcRowArray.controls}setColumnsToAdd(){this.localTableData.forEach(e=>{e.spColName||this.srcRowArray.value.forEach(i=>{e.srcColName==i.srcColName&&""!=i.srcColName&&(this.droppedColumns.push(i),this.droppedSourceColumns.push(i.srcColName))})})}toggleEdit(){this.currentTabIndex=0,this.isEditMode?(this.localTableData=JSON.parse(JSON.stringify(this.tableData)),this.setSpTableRows(),this.isEditMode=!1):this.isEditMode=!0}saveColumnTable(){this.isEditMode=!1;let i,e={UpdateCols:{}};this.conversion.pgSQLToStandardTypeTypeMap.subscribe(o=>{i=o}),this.spRowArray.value.forEach((o,r)=>{for(let s=0;sdi.StringMaxLength||"BYTES"===o.spDataType&&o.spColMaxLength>di.ByteMaxLength)&&(o.spColMaxLength="MAX"),"number"==typeof o.spColMaxLength&&(o.spColMaxLength=o.spColMaxLength.toString()),"STRING"!=o.spDataType&&"BYTES"!=o.spDataType&&"VARCHAR"!=o.spDataType&&(o.spColMaxLength=""),o.srcId==this.tableData[s].srcId&&""!=this.tableData[s].srcId){e.UpdateCols[this.tableData[s].srcId]={Add:""==this.tableData[s].spId,Rename:a.spColName!==o.spColName?o.spColName:"",NotNull:o.spIsNotNull?"ADDED":"REMOVED",Removed:!1,ToType:"postgresql"===this.conv.SpDialect?void 0===l?o.spDataType:l:o.spDataType,MaxColLength:o.spColMaxLength};break}o.spId==this.tableData[s].spId&&(e.UpdateCols[this.tableData[s].spId]={Add:""==this.tableData[s].spId,Rename:a.spColName!==o.spColName?o.spColName:"",NotNull:o.spIsNotNull?"ADDED":"REMOVED",Removed:!1,ToType:"postgresql"===this.conv.SpDialect?void 0===l?o.spDataType:l:o.spDataType,MaxColLength:o.spColMaxLength})}}),this.droppedColumns.forEach(o=>{e.UpdateCols[o.spId]={Add:!1,Rename:"",NotNull:"",Removed:!0,ToType:"",MaxColLength:""}}),this.data.reviewTableUpdate(this.currentObject.id,e).subscribe({next:o=>{""==o?(this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("reviewChanges"),this.tableUpdatePubSub.setTableUpdateDetail({tableName:this.currentObject.name,tableId:this.currentObject.id,updateDetail:e}),this.isEditMode=!0):(this.dialog.open(jo,{data:{message:o,type:"error"},maxWidth:"500px"}),this.isEditMode=!0)}})}addNewColumn(){var e;this.dialog.open(Jq,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{dialect:this.conv.SpDialect,tableId:null===(e=this.currentObject)||void 0===e?void 0:e.id}})}setColumn(e){this.addedColumnName=e}restoreColumn(){let e=this.tableData.map(r=>r.srcColName).indexOf(this.addedColumnName),i=this.droppedColumns.map(r=>r.srcColName).indexOf(this.addedColumnName);this.localTableData[e].spColName=this.droppedColumns[i].spColName,this.localTableData[e].spDataType=this.droppedColumns[i].spDataType,this.localTableData[e].spOrder=-1,this.localTableData[e].spIsPk=this.droppedColumns[i].spIsPk,this.localTableData[e].spIsNotNull=this.droppedColumns[i].spIsNotNull,this.localTableData[e].spColMaxLength=this.droppedColumns[i].spColMaxLength;let o=this.droppedColumns.map(r=>r.spColName).indexOf(this.addedColumnName);o>-1&&(this.droppedColumns.splice(o,1),this.droppedSourceColumns.indexOf(this.addedColumnName)>-1&&this.droppedSourceColumns.splice(this.droppedSourceColumns.indexOf(this.addedColumnName),1)),this.setSpTableRows()}dropColumn(e){let i=e.get("srcColName").value,o=e.get("srcId").value,r=e.get("spId").value,s=""!=o?o:r,a=e.get("spColName").value,l=this.getAssociatedIndexs(s);if(this.checkIfPkColumn(s)||0!=l.length){let u="",p="",g="";this.checkIfPkColumn(s)&&(u=" Primary key"),0!=l.length&&(p=` Index ${l}`),""!=u&&""!=p&&(g=" and"),this.dialog.open(jo,{data:{message:`Column ${a} is a part of${u}${g}${p}. Remove the dependencies from respective tabs before dropping the Column. `,type:"error"},maxWidth:"500px"})}else this.spRowArray.value.forEach((u,p)=>{u.spId===r&&this.droppedColumns.push(u)}),this.dropColumnFromUI(r),""!==i&&this.droppedSourceColumns.push(i)}checkIfPkColumn(e){let i=!1;return null!=this.conv.SpSchema[this.currentObject.id].PrimaryKeys&&this.conv.SpSchema[this.currentObject.id].PrimaryKeys.map(o=>o.ColId).includes(e)&&(i=!0),i}setShardIdColumn(){void 0!==this.conv.SpSchema[this.currentObject.id]&&(this.shardIdCol=this.conv.SpSchema[this.currentObject.id].ShardIdColumn)}getAssociatedIndexs(e){let i=[];return null!=this.conv.SpSchema[this.currentObject.id].Indexes&&this.conv.SpSchema[this.currentObject.id].Indexes.forEach(o=>{o.Keys.map(r=>r.ColId).includes(e)&&i.push(o.Name)}),i}dropColumnFromUI(e){this.localTableData.forEach((i,o)=>{i.spId==e&&(i.spColName="",i.spDataType="",i.spIsNotNull=!1,i.spIsPk=!1,i.spOrder="",i.spColMaxLength="")}),this.setSpTableRows()}updateSpTableSuggestion(){this.isSpTableSuggesstionDisplay=[],this.spTableSuggestion=[],this.localTableData.forEach(e=>{var i;const r=e.spDataType;let s="";null===(i=this.typeMap[e.srcDataType])||void 0===i||i.forEach(a=>{r==a.DiplayT&&(s=a.Brief)}),this.isSpTableSuggesstionDisplay.push(""!==s),this.spTableSuggestion.push(s)})}spTableEditSuggestionHandler(e,i){let r="";this.typeMap[this.localTableData[e].srcDataType].forEach(s=>{i==s.T&&(r=s.Brief)}),this.isSpTableSuggesstionDisplay[e]=""!==r,this.spTableSuggestion[e]=r}setPkRows(){this.pkArray=new po([]),this.pkOrderValidation();var e=new Array,i=new Array;this.pkData.forEach(o=>{o.srcIsPk&&e.push({srcColName:o.srcColName,srcDataType:o.srcDataType,srcIsNotNull:o.srcIsNotNull,srcIsPk:o.srcIsPk,srcOrder:o.srcOrder,srcId:o.srcId}),o.spIsPk&&i.push({spColName:o.spColName,spDataType:o.spDataType,spIsNotNull:o.spIsNotNull,spIsPk:o.spIsPk,spOrder:o.spOrder,spId:o.spId})}),i.sort((o,r)=>o.spOrder-r.spOrder);for(let o=0;oMath.min(e.length,i.length))for(let o=Math.min(e.length,i.length);oMath.min(e.length,i.length))for(let o=Math.min(e.length,i.length);or.spColName).indexOf(this.addedPkColumnName),i=this.localTableData[e],o=1;this.localTableData[e].spIsPk=!0,this.pkData=[],this.pkData=this.conversion.getPkMapping(this.localTableData),e=this.pkData.findIndex(r=>r.srcId===i.srcId||r.spId==i.spId),this.pkArray.value.forEach(r=>{r.spIsPk&&(o+=1);for(let s=0;s{i.spIsPk&&e.push(i.spColName)});for(let i=0;i{var r;if(this.pkData[o].spId===this.conv.SpSchema[this.currentObject.id].PrimaryKeys[o].ColId)this.pkData[o].spOrder=this.conv.SpSchema[this.currentObject.id].PrimaryKeys[o].Order;else{let s=this.conv.SpSchema[this.currentObject.id].PrimaryKeys.map(a=>a.ColId).indexOf(i.spId);i.spOrder=null===(r=this.conv.SpSchema[this.currentObject.id].PrimaryKeys[s])||void 0===r?void 0:r.Order}}):this.pkData.forEach((i,o)=>{var r,s;let a=null===(r=this.conv.SpSchema[this.currentObject.id])||void 0===r?void 0:r.PrimaryKeys.map(l=>l.ColId).indexOf(i.spId);-1!==a&&(i.spOrder=null===(s=this.conv.SpSchema[this.currentObject.id])||void 0===s?void 0:s.PrimaryKeys[a].Order)})}pkOrderValidation(){let e=this.pkData.filter(i=>i.spIsPk).map(i=>Number(i.spOrder));if(e.sort((i,o)=>i-o),e[e.length-1]>e.length&&e.forEach((i,o)=>{this.pkData.forEach(r=>{r.spOrder==i&&(r.spOrder=o+1)})}),0==e[0]&&e[e.length-1]<=e.length){let i;for(let o=0;o{o.spOrder{o.spIsPk&&i.push({ColId:o.spId,Desc:void 0!==this.conv.SpSchema[this.currentObject.id].PrimaryKeys.find(({ColId:r})=>r===o.spId)&&this.conv.SpSchema[this.currentObject.id].PrimaryKeys.find(({ColId:r})=>r===o.spId).Desc,Order:parseInt(o.spOrder)})}),this.pkObj.TableId=e,this.pkObj.Columns=i}togglePkEdit(){this.currentTabIndex=1,this.isPkEditMode?(this.localTableData=JSON.parse(JSON.stringify(this.tableData)),this.pkData=this.conversion.getPkMapping(this.tableData),this.setAddPkColumnList(),this.setPkOrder(),this.setPkRows(),this.isPkEditMode=!1):this.isPkEditMode=!0}savePk(){var e,i,o;if(this.pkArray.value.forEach(r=>{for(let s=0;s{a&&this.data.removeInterleave(""!=this.conv.SpSchema[this.currentObject.id].ParentId?this.currentObject.id:this.conv.SpSchema[r].Id).pipe(Ot(1)).subscribe(u=>{this.updatePk()})}):this.updatePk()}}updatePk(){this.isPkEditMode=!1,this.data.updatePk(this.pkObj).subscribe({next:e=>{""==e?this.isEditMode=!1:(this.dialog.open(jo,{data:{message:e,type:"error"},maxWidth:"500px"}),this.isPkEditMode=!0)}})}dropPk(e){let i=this.localTableData.map(s=>s.spColName).indexOf(e.value.spColName);this.localTableData[i].spId==(this.conv.SyntheticPKeys[this.currentObject.id]?this.conv.SyntheticPKeys[this.currentObject.id].ColId:"")?this.dialog.open(jo,{data:{message:"Removing this synthetic id column from primary key will drop the column from the table",title:"Confirm removal of synthetic id",type:"warning"},maxWidth:"500px"}).afterClosed().subscribe(a=>{a&&this.dropPkHelper(i,e.value.spOrder)}):this.dropPkHelper(i,e.value.spOrder)}dropPkHelper(e,i){this.localTableData[e].spIsPk=!1,this.pkData=[],this.pkData=this.conversion.getPkMapping(this.localTableData),this.pkArray.value.forEach(o=>{for(let r=0;r{o.spOrder>i&&(o.spOrder=Number(o.spOrder)-1)}),this.setAddPkColumnList(),this.setPkRows()}setFkRows(){this.fkArray=new po([]);var e=new Array,i=new Array;this.fkData.forEach(o=>{e.push({srcName:o.srcName,srcColumns:o.srcColumns,srcRefTable:o.srcReferTable,srcRefColumns:o.srcReferColumns,Id:o.srcFkId}),""!=o.spName&&i.push({spName:o.spName,spColumns:o.spColumns,spRefTable:o.spReferTable,spRefColumns:o.spReferColumns,Id:o.spFkId,spColIds:o.spColIds,spReferColumnIds:o.spReferColumnIds,spReferTableId:o.spReferTableId})});for(let o=0;oMath.min(e.length,i.length))for(let o=Math.min(e.length,i.length);o{e.push({Name:i.spName,ColIds:i.spColIds,ReferTableId:i.spReferTableId,ReferColumnIds:i.spReferColumnIds,Id:i.spFkId})}),this.data.updateFkNames(this.currentObject.id,e).subscribe({next:i=>{""==i?this.isFkEditMode=!1:this.dialog.open(jo,{data:{message:i,type:"error"},maxWidth:"500px"})}})}dropFk(e){this.fkData.forEach(i=>{i.spName==e.get("spName").value&&(i.spName="",i.spColumns=[],i.spReferTable="",i.spReferColumns=[],i.spColIds=[],i.spReferColumnIds=[],i.spReferTableId="")}),this.setFkRows()}getRemovedFkIndex(e){let i=-1;return this.fkArray.value.forEach((o,r)=>{o.spName===e.get("spName").value&&(i=r)}),i}removeInterleave(){this.data.removeInterleave(this.currentObject.id).pipe(Ot(1)).subscribe(i=>{""===i&&this.snackbar.openSnackBar("Interleave removed and foreign key restored successfully","Close",5)})}checkIsInterleave(){var e,i;this.currentObject&&!(null===(e=this.currentObject)||void 0===e?void 0:e.isDeleted)&&(null===(i=this.currentObject)||void 0===i?void 0:i.isSpannerNode)&&this.data.getInterleaveConversionForATable(this.currentObject.id)}setInterleave(){this.data.setInterleave(this.currentObject.id)}getInterleaveParentFromConv(){var e,i;return(null===(e=this.currentObject)||void 0===e?void 0:e.type)===Qt.Table&&this.currentObject.isSpannerNode&&!this.currentObject.isDeleted&&""!=this.conv.SpSchema[this.currentObject.id].ParentId?null===(i=this.conv.SpSchema[this.conv.SpSchema[this.currentObject.id].ParentId])||void 0===i?void 0:i.Name:null}setIndexRows(){var e,i;this.spRowArray=new po([]);const o=this.localIndexData.map(r=>r.spColName?r.spColName:"").filter(r=>""!=r);this.indexColumnNames=null===(i=null===(e=this.conv.SpSchema[this.currentObject.parentId])||void 0===e?void 0:e.ColIds)||void 0===i?void 0:i.filter(r=>{var s,a;return!o.includes(null===(a=null===(s=this.conv.SpSchema[this.currentObject.parentId])||void 0===s?void 0:s.ColDefs[r])||void 0===a?void 0:a.Name)}).map(r=>{var s,a;return null===(a=null===(s=this.conv.SpSchema[this.currentObject.parentId])||void 0===s?void 0:s.ColDefs[r])||void 0===a?void 0:a.Name}),this.localIndexData.forEach(r=>{this.spRowArray.push(new an({srcOrder:new X(r.srcOrder),srcColName:new X(r.srcColName),srcDesc:new X(r.srcDesc),spOrder:new X(r.spOrder),spColName:new X(r.spColName,[de.required,de.pattern("^[a-zA-Z]([a-zA-Z0-9/_]*[a-zA-Z0-9])?")]),spDesc:new X(r.spDesc)}))}),this.spDataSource=this.spRowArray.controls}setIndexOrder(){this.spRowArray.value.forEach(e=>{for(let i=0;i""!=i.spColName).map(i=>Number(i.spOrder));if(e.sort((i,o)=>i-o),e[e.length-1]>e.length&&e.forEach((i,o)=>{this.localIndexData.forEach(r=>{""!=r.spColName&&r.spOrder==i&&(r.spOrder=o+1)})}),0==e[0]&&e[e.length-1]<=e.length){let i;for(let o=0;o{o.spOrder!!s.spColId).map(s=>({ColId:s.spColId,Desc:s.spDesc,Order:s.spOrder})),Id:this.currentObject.id}),0==r[0].Keys.length?this.dropIndex():(this.data.updateIndex(null===(o=this.currentObject)||void 0===o?void 0:o.parentId,r).subscribe({next:s=>{""==s?this.isEditMode=!1:(this.dialog.open(jo,{data:{message:s,type:"error"},maxWidth:"500px"}),this.isIndexEditMode=!0)}}),this.addIndexKeyForm.controls.columnName.setValue(""),this.addIndexKeyForm.controls.ascOrDesc.setValue(""),this.addIndexKeyForm.markAsUntouched(),this.data.getSummary(),this.isIndexEditMode=!1)}dropIndex(){var e;this.dialog.open(gI,{width:"35vw",minWidth:"450px",maxWidth:"600px",data:{name:null===(e=this.currentObject)||void 0===e?void 0:e.name,type:Vs.Index}}).afterClosed().subscribe(o=>{o===Vs.Index&&(this.data.dropIndex(this.currentObject.parentId,this.currentObject.id).pipe(Ot(1)).subscribe(r=>{""===r&&(this.isObjectSelected=!1,this.updateSidebar.emit(!0))}),this.currentObject=null)})}restoreIndex(){this.data.restoreIndex(this.currentObject.parentId,this.currentObject.id).pipe(Ot(1)).subscribe(o=>{""===o&&(this.isObjectSelected=!1)}),this.currentObject=null}dropIndexKey(e){this.localIndexData[e].srcColName?(this.localIndexData[e].spColName="",this.localIndexData[e].spColId="",this.localIndexData[e].spDesc="",this.localIndexData[e].spOrder=""):this.localIndexData.splice(e,1),this.setIndexRows()}addIndexKey(){let e=0;this.localIndexData.forEach(i=>{i.spColName&&(e+=1)}),this.localIndexData.push({spColName:this.addIndexKeyForm.value.columnName,spDesc:"desc"===this.addIndexKeyForm.value.ascOrDesc,spOrder:e+1,srcColName:"",srcDesc:void 0,srcOrder:"",srcColId:void 0,spColId:this.currentObject?this.conversion.getColIdFromSpannerColName(this.addIndexKeyForm.value.columnName,this.currentObject.parentId,this.conv):""}),this.setIndexRows()}restoreSpannerTable(){this.data.restoreTable(this.currentObject.id).pipe(Ot(1)).subscribe(e=>{""===e&&(this.isObjectSelected=!1),this.data.getConversionRate(),this.data.getDdl()}),this.currentObject=null}dropTable(){var e;this.dialog.open(gI,{width:"35vw",minWidth:"450px",maxWidth:"600px",data:{name:null===(e=this.currentObject)||void 0===e?void 0:e.name,type:Vs.Table}}).afterClosed().subscribe(o=>{o===Vs.Table&&(this.data.dropTable(this.currentObject.id).pipe(Ot(1)).subscribe(s=>{""===s&&(this.isObjectSelected=!1,this.data.getConversionRate(),this.updateSidebar.emit(!0))}),this.currentObject=null)})}tabChanged(e){this.currentTabIndex=e.index}middleColumnToggle(){this.isMiddleColumnCollapse=!this.isMiddleColumnCollapse,this.sidenav.setMiddleColComponent(this.isMiddleColumnCollapse)}tableInterleaveWith(e){if(""!=this.conv.SpSchema[e].ParentId)return this.conv.SpSchema[e].ParentId;let i="";return Object.keys(this.conv.SpSchema).forEach(o=>{""!=this.conv.SpSchema[o].ParentId&&this.conv.SpSchema[o].ParentId==e&&(i=o)}),i}isPKPrefixModified(e,i){let o,r;this.conv.SpSchema[e].ParentId!=i?(o=this.pkObj.Columns,r=this.conv.SpSchema[i].PrimaryKeys):(r=this.pkObj.Columns,o=this.conv.SpSchema[i].PrimaryKeys);for(let s=0;s{class t{constructor(e,i){this.data=e,this.clickEvent=i,this.changeIssuesLabel=new Pe,this.summaryRows=[],this.summary=new Map,this.filteredSummaryRows=[],this.separatorKeysCodes=[],this.summaryCount=0,this.totalNoteCount=0,this.totalWarningCount=0,this.totalSuggestionCount=0,this.totalErrorCount=0,this.filterInput=new X,this.options=["read","unread","warning","suggestion","note","error"],this.obsFilteredOptions=new Ue,this.searchFilters=["unread","warning","note","suggestion","error"],this.currentObject=null}ngOnInit(){this.data.summary.subscribe({next:e=>{if(this.summary=e,this.currentObject){let i=this.currentObject.id;"indexName"==this.currentObject.type&&(i=this.currentObject.parentId);let o=this.summary.get(i);o?(this.summaryRows=[],this.initiateSummaryCollection(o),this.applyFilters(),this.summaryCount=o.NotesCount+o.WarningsCount+o.ErrorsCount+o.SuggestionsCount,this.changeIssuesLabel.emit(o.NotesCount+o.WarningsCount+o.ErrorsCount+o.SuggestionsCount)):(this.summaryCount=0,this.changeIssuesLabel.emit(0))}else this.initialiseSummaryCollectionForAllTables(this.summary),this.summaryCount=this.totalNoteCount+this.totalErrorCount+this.totalSuggestionCount+this.totalWarningCount,this.changeIssuesLabel.emit(this.summaryCount)}}),this.registerAutoCompleteChange()}initialiseSummaryCollectionForAllTables(e){this.summaryRows=[],this.totalErrorCount=0,this.totalNoteCount=0,this.totalSuggestionCount=0,this.totalWarningCount=0;for(const i of e.values())this.initiateSummaryCollection(i);this.applyFilters()}ngOnChanges(e){var i;if(this.currentObject=(null===(i=null==e?void 0:e.currentObject)||void 0===i?void 0:i.currentValue)||this.currentObject,this.summaryRows=[],this.currentObject){let o=this.currentObject.id;"indexName"==this.currentObject.type&&(o=this.currentObject.parentId);let r=this.summary.get(o);r?(this.summaryRows=[],this.initiateSummaryCollection(r),this.applyFilters(),this.summaryCount=r.NotesCount+r.WarningsCount+r.ErrorsCount+r.SuggestionsCount,this.changeIssuesLabel.emit(r.NotesCount+r.WarningsCount+r.ErrorsCount+r.SuggestionsCount)):(this.summaryCount=0,this.changeIssuesLabel.emit(0))}else this.summaryCount=0,this.changeIssuesLabel.emit(0)}initiateSummaryCollection(e){this.totalErrorCount+=e.ErrorsCount,this.totalNoteCount+=e.NotesCount,this.totalWarningCount+=e.WarningsCount,this.totalSuggestionCount+=e.SuggestionsCount,e.Errors.forEach(i=>{this.summaryRows.push({type:"error",content:i.description,isRead:!1})}),e.Warnings.forEach(i=>{this.summaryRows.push({type:"warning",content:i.description,isRead:!1})}),e.Suggestions.forEach(i=>{this.summaryRows.push({type:"suggestion",content:i.description,isRead:!1})}),e.Notes.forEach(i=>{this.summaryRows.push({type:"note",content:i.description,isRead:!1})})}applyFilters(){let e=[],i=[];this.searchFilters.includes("read")&&i.push(o=>o.isRead),this.searchFilters.includes("unread")&&i.push(o=>!o.isRead),this.searchFilters.includes("warning")&&e.push(o=>"warning"==o.type),this.searchFilters.includes("note")&&e.push(o=>"note"==o.type),this.searchFilters.includes("suggestion")&&e.push(o=>"suggestion"==o.type),this.searchFilters.includes("error")&&e.push(o=>"error"==o.type),this.filteredSummaryRows=this.summaryRows.filter(o=>(!i.length||i.some(r=>r(o)))&&(!e.length||e.some(r=>r(o))))}addFilter(e){e&&!this.searchFilters.includes(e)&&this.searchFilters.push(e),this.applyFilters(),this.registerAutoCompleteChange()}removeFilter(e){const i=this.searchFilters.indexOf(e);i>=0&&this.searchFilters.splice(i,1),this.applyFilters()}toggleRead(e){e.isRead=!e.isRead,this.applyFilters()}registerAutoCompleteChange(){this.obsFilteredOptions=this.filterInput.valueChanges.pipe(Nn(""),je(e=>this.autoCompleteOnChangeFilter(e)))}autoCompleteOnChangeFilter(e){return this.options.filter(i=>i.toLowerCase().includes(e))}spannerTab(){this.clickEvent.setTabToSpanner()}}return t.\u0275fac=function(e){return new(e||t)(b(Ln),b(Vo))},t.\u0275cmp=Ae({type:t,selectors:[["app-summary"]],inputs:{currentObject:"currentObject"},outputs:{changeIssuesLabel:"changeIssuesLabel"},features:[nn],decls:29,vars:11,consts:[[1,"container"],[1,"filter"],[1,"columns"],[1,"left"],[1,"material-icons","filter-icon"],[1,"filter-text"],[1,"right"],["chipList",""],["class","primary",3,"removed",4,"ngFor","ngForOf"],[3,"formControl","matChipInputFor","matChipInputSeparatorKeyCodes","matChipInputAddOnBlur","matAutocomplete"],["auto","matAutocomplete"],[3,"value","click",4,"ngFor","ngForOf"],[1,"header"],["class","content",4,"ngIf"],["class","no-issue-container",4,"ngIf"],[1,"primary",3,"removed"],["matChipRemove",""],[3,"value","click"],[1,"content"],["class","summary-row",4,"ngFor","ngForOf"],[1,"summary-row"],["matTooltip","Error: Please resolve them to proceed with the migration","matTooltipPosition","above","class","danger",4,"ngIf"],["matTooltip","Warning : Changes made because of differences in source and spanner capabilities.","matTooltipPosition","above","class","warning",4,"ngIf"],["matTooltip","Suggestion : We highly recommend you make these changes or else it will impact your DB performance.","matTooltipPosition","above","class","suggestion",4,"ngIf"],["matTooltip","Note : This is informational and you dont need to do anything.","matTooltipPosition","above","class","success",4,"ngIf"],[1,"middle"],[3,"matMenuTriggerFor"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"click",4,"ngIf"],["matTooltip","Error: Please resolve them to proceed with the migration","matTooltipPosition","above",1,"danger"],["matTooltip","Warning : Changes made because of differences in source and spanner capabilities.","matTooltipPosition","above",1,"warning"],["matTooltip","Suggestion : We highly recommend you make these changes or else it will impact your DB performance.","matTooltipPosition","above",1,"suggestion"],["matTooltip","Note : This is informational and you dont need to do anything.","matTooltipPosition","above",1,"success"],["mat-menu-item","",3,"click"],[1,"no-issue-container"],[1,"no-issue-icon-container"],["width","36","height","36","viewBox","0 0 24 20","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M16.8332 0.69873C16.0051 7.45842 16.2492 9.44782 10.4672 10.2012C16.1511 11.1242 16.2329 13.2059 16.8332 19.7037C17.6237 13.1681 17.4697 11.2106 23.1986 10.2012C17.4247 9.45963 17.6194 7.4505 16.8332 0.69873ZM4.23739 0.872955C3.79064 4.52078 3.92238 5.59467 0.802246 6.00069C3.86944 6.49885 3.91349 7.62218 4.23739 11.1284C4.66397 7.60153 4.581 6.54497 7.67271 6.00069C4.55696 5.60052 4.66178 4.51623 4.23739 0.872955ZM7.36426 11.1105C7.05096 13.6683 7.14331 14.4212 4.95554 14.7061C7.10612 15.0553 7.13705 15.8431 7.36426 18.3017C7.66333 15.8288 7.60521 15.088 9.77298 14.7061C7.58818 14.4255 7.66177 13.6653 7.36426 11.1105Z","fill","#3367D6"],[1,"no-issue-message"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"div")(2,"div",1)(3,"div",2)(4,"div",3)(5,"span",4),h(6,"filter_list"),c(),d(7,"span",5),h(8,"Filter"),c()(),d(9,"div",6)(10,"mat-form-field")(11,"mat-chip-list",null,7),_(13,MY,5,1,"mat-chip",8),E(14,"input",9),d(15,"mat-autocomplete",null,10),_(17,xY,2,2,"mat-option",11),_s(18,"async"),c()()()()()(),d(19,"div",12)(20,"div",2)(21,"div",3)(22,"span"),h(23," Status "),c()(),d(24,"div",6)(25,"span"),h(26," Summary "),c()()()(),_(27,RY,2,1,"div",13),_(28,FY,8,0,"div",14),c()()),2&e){const o=$t(12),r=$t(16);f(13),m("ngForOf",i.searchFilters),f(1),m("formControl",i.filterInput)("matChipInputFor",o)("matChipInputSeparatorKeyCodes",i.separatorKeysCodes)("matChipInputAddOnBlur",!1)("matAutocomplete",r),f(3),m("ngForOf",bs(18,9,i.obsFilteredOptions)),f(10),m("ngIf",0!==i.summaryCount),f(1),m("ngIf",0===i.summaryCount)}},directives:[En,dk,ri,Td,ak,_n,Dn,ck,Xk,bn,Il,tz,_i,Et,ki,Nl,Fl,qr],pipes:[zg],styles:[".container[_ngcontent-%COMP%]{height:calc(100vh - 271px);position:relative;overflow-y:auto;background-color:#fff}.container[_ngcontent-%COMP%] .no-object-container[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.container[_ngcontent-%COMP%] .no-object-container[_ngcontent-%COMP%] .no-object-icon-container[_ngcontent-%COMP%]{padding:10px;background-color:#3367d61f;border-radius:3px;margin:20px}.container[_ngcontent-%COMP%] .no-object-container[_ngcontent-%COMP%] .no-object-message[_ngcontent-%COMP%]{width:80%;max-width:500px;text-align:center}.container[_ngcontent-%COMP%] .no-issue-container[_ngcontent-%COMP%]{width:100%;position:absolute;top:50%;display:flex;flex-direction:column;justify-content:center;align-items:center}.container[_ngcontent-%COMP%] .no-issue-container[_ngcontent-%COMP%] .no-issue-icon-container[_ngcontent-%COMP%]{padding:10px;background-color:#3367d61f;border-radius:3px;margin:20px}.container[_ngcontent-%COMP%] .no-issue-container[_ngcontent-%COMP%] .no-issue-message[_ngcontent-%COMP%]{width:80%;max-width:500px;text-align:center}h3[_ngcontent-%COMP%]{margin-bottom:0;padding-left:15px}.filter[_ngcontent-%COMP%]{display:flex;flex:1;min-height:65px;padding:0 15px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%]{display:flex;flex:1}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{order:1;position:relative;padding-top:20px;width:100px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .filter-icon[_ngcontent-%COMP%]{position:absolute;font-size:20px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{position:absolute;margin-left:30px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{order:2;width:100%}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%]{width:100%;min-height:22px}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .mat-chip-input[_ngcontent-%COMP%]{width:60px;height:24px;flex:0}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .primary[_ngcontent-%COMP%]{background-color:#3f51b5;color:#fff}.filter[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .primary[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{color:#fff;opacity:.4}.filter[_ngcontent-%COMP%] .mat-form-field-underline{display:none}.filter[_ngcontent-%COMP%] .mat-chip[_ngcontent-%COMP%]{min-height:24px;font-weight:lighter}.header[_ngcontent-%COMP%]{display:flex;flex:1;padding:5px 0;background-color:#f5f5f5;text-align:center}.header[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%]{display:flex;flex:1}.header[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:60px;order:1}.header[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{flex:1;order:2}.summary-row[_ngcontent-%COMP%]{display:flex;flex:1;padding:10px 0;border-bottom:1px solid #ccc}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%]{display:flex;flex:1}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:60px;order:1;text-align:center;padding-top:5px}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%]{flex:1;order:2}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:30px;order:3;cursor:pointer}.summary-row[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:18px}"]}),t})();function LY(t,n){1&t&&(d(0,"th",19),h(1,"Order"),c())}function BY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.index;f(1),Ee(e+1)}}function VY(t,n){1&t&&(d(0,"th",19),h(1,"Rule name"),c())}function jY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(null==e?null:e.Name)}}function HY(t,n){1&t&&(d(0,"th",19),h(1,"Rule type"),c())}function UY(t,n){1&t&&(d(0,"div"),h(1,"Add Index"),c())}function zY(t,n){1&t&&(d(0,"div"),h(1,"Global Datatype Change"),c())}function $Y(t,n){1&t&&(d(0,"div"),h(1,"Column default max length change"),c())}function GY(t,n){1&t&&(d(0,"div"),h(1,"Add shard id column as primary key"),c())}function WY(t,n){if(1&t&&(d(0,"td",20),_(1,UY,2,0,"div",21),_(2,zY,2,0,"div",21),_(3,$Y,2,0,"div",21),_(4,GY,2,0,"div",21),c()),2&t){const e=n.$implicit;f(1),m("ngIf","add_index"===(null==e?null:e.Type)),f(1),m("ngIf","global_datatype_change"===(null==e?null:e.Type)),f(1),m("ngIf","edit_column_max_length"===(null==e?null:e.Type)),f(1),m("ngIf","add_shard_id_primary_key"===(null==e?null:e.Type))}}function qY(t,n){1&t&&(d(0,"th",19),h(1,"Object type"),c())}function KY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(null==e?null:e.ObjectType)}}function ZY(t,n){1&t&&(d(0,"th",19),h(1,"Associated object"),c())}function QY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(null==e?null:e.AssociatedObjects)}}function YY(t,n){1&t&&(d(0,"th",19),h(1,"Enabled"),c())}function XY(t,n){if(1&t&&(d(0,"td",20),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(null!=e&&e.Enabled?"Yes":"No")}}function JY(t,n){1&t&&(d(0,"th",19),h(1,"View Rule"),c())}function eX(t,n){if(1&t){const e=pe();d(0,"td",20)(1,"button",22),N("click",function(){const r=se(e).$implicit;return D().viewSidenavRule(null==r?null:r.Id)}),h(2,"View"),c()()}}function tX(t,n){1&t&&E(0,"tr",23)}function nX(t,n){1&t&&E(0,"tr",24)}function iX(t,n){1&t&&(d(0,"div",25)(1,"mat-icon",26),h(2,"settings"),c(),d(3,"span",27),h(4,'No rules added yet. Add one by clicking "Add rule".'),c()())}let oX=(()=>{class t{constructor(e,i){this.sidenavService=e,this.data=i,this.dataSource=[],this.currentDataSource=[],this.displayedColumns=["order","name","type","objectType","associatedObject","enabled","view"],this.currentObject=null,this.lengthOfRules=new Pe}ngOnInit(){this.dataSource=[],this.data.rule.subscribe({next:e=>{this.currentDataSource=e,this.updateRules()}})}ngOnChanges(){this.updateRules()}updateRules(){var e,i;if(this.currentDataSource){let o=[],r=[];o=this.currentDataSource.filter(s=>"global_datatype_change"===(null==s?void 0:s.Type)||"add_shard_id_primary_key"===(null==s?void 0:s.Type)||"edit_column_max_length"===(null==s?void 0:s.Type)&&"All table"===(null==s?void 0:s.AssociatedObjects)),this.currentObject&&("tableName"===(null===(e=this.currentObject)||void 0===e?void 0:e.type)||"indexName"===(null===(i=this.currentObject)||void 0===i?void 0:i.type))&&(r=this.currentDataSource.filter(s=>{var a,l,u,p;return(null==s?void 0:s.AssociatedObjects)===(null===(a=this.currentObject)||void 0===a?void 0:a.id)||(null==s?void 0:s.AssociatedObjects)===(null===(l=this.currentObject)||void 0===l?void 0:l.parentId)||(null==s?void 0:s.AssociatedObjects)===(null===(u=this.currentObject)||void 0===u?void 0:u.name)||(null==s?void 0:s.AssociatedObjects)===(null===(p=this.currentObject)||void 0===p?void 0:p.parent)}).map(s=>{var a,l;let u="";return"tableName"===(null===(a=this.currentObject)||void 0===a?void 0:a.type)?u=this.currentObject.name:"indexName"===(null===(l=this.currentObject)||void 0===l?void 0:l.type)&&(u=this.currentObject.parent),s.AssociatedObjects=u,s})),this.dataSource=[...o,...r],this.lengthOfRules.emit(this.dataSource.length)}else this.dataSource=[],this.lengthOfRules.emit(0)}openSidenav(){this.sidenavService.openSidenav(),this.sidenavService.setSidenavComponent("rule"),this.sidenavService.setSidenavRuleType(""),this.sidenavService.setRuleData({}),this.sidenavService.setDisplayRuleFlag(!1)}viewSidenavRule(e){let i=[];for(let o=0;o{class t{constructor(e,i,o,r,s,a,l){this.data=e,this.conversion=i,this.dialog=o,this.sidenav=r,this.router=s,this.clickEvent=a,this.fetch=l,this.fkData=[],this.tableData=[],this.indexData=[],this.typeMap=!1,this.defaultTypeMap=!1,this.conversionRates={},this.isLeftColumnCollapse=!1,this.isRightColumnCollapse=!0,this.isMiddleColumnCollapse=!0,this.isOfflineStatus=!1,this.spannerTree=[],this.srcTree=[],this.issuesAndSuggestionsLabel="ISSUES AND SUGGESTIONS",this.rulesLabel="RULES (0)",this.objectExplorerInitiallyRender=!1,this.srcDbName=localStorage.getItem(In.SourceDbName),this.conversionRateCount={good:0,ok:0,bad:0},this.conversionRatePercentages={good:0,ok:0,bad:0},this.currentDatabase="spanner",this.dialect="",this.currentObject=null}ngOnInit(){this.conversion.getStandardTypeToPGSQLTypemap(),this.conversion.getPGSQLToStandardTypeTypemap(),this.ddlsumconvObj=this.data.getRateTypemapAndSummary(),this.typemapObj=this.data.typeMap.subscribe(e=>{this.typeMap=e}),this.defaultTypemapObj=this.data.defaultTypeMap.subscribe(e=>{this.defaultTypeMap=e}),this.ddlObj=this.data.ddl.subscribe(e=>{this.ddlStmts=e}),this.sidenav.setMiddleColumnComponent.subscribe(e=>{this.isMiddleColumnCollapse=!e}),this.convObj=this.data.conv.subscribe(e=>{var i,o;Object.keys(e.SrcSchema).length<=0&&this.router.navigate(["/"]);const r=this.isIndexAddedOrRemoved(e);e&&this.conv&&Object.keys(null==e?void 0:e.SpSchema).length!=Object.keys(null===(i=this.conv)||void 0===i?void 0:i.SpSchema).length&&(this.conv=e,this.reRenderObjectExplorerSpanner(),this.reRenderObjectExplorerSrc()),this.conv=e,this.conv.DatabaseType&&(this.srcDbName=$p(this.conv.DatabaseType)),r&&this.conversionRates&&this.reRenderObjectExplorerSpanner(),!this.objectExplorerInitiallyRender&&this.conversionRates&&(this.reRenderObjectExplorerSpanner(),this.reRenderObjectExplorerSrc(),this.objectExplorerInitiallyRender=!0),this.currentObject&&this.currentObject.type===Qt.Table&&(this.fkData=this.currentObject?this.conversion.getFkMapping(this.currentObject.id,e):[],this.tableData=this.currentObject?this.conversion.getColumnMapping(this.currentObject.id,e):[]),this.currentObject&&(null===(o=this.currentObject)||void 0===o?void 0:o.type)===Qt.Index&&!r&&(this.indexData=this.conversion.getIndexMapping(this.currentObject.parentId,this.conv,this.currentObject.id)),this.dialect="postgresql"===this.conv.SpDialect?"PostgreSQL":"Google Standard SQL"}),this.converObj=this.data.conversionRate.subscribe(e=>{this.conversionRates=e,this.updateConversionRatePercentages(),this.conv?(this.reRenderObjectExplorerSpanner(),this.reRenderObjectExplorerSrc(),this.objectExplorerInitiallyRender=!0):this.objectExplorerInitiallyRender=!1}),this.data.isOffline.subscribe({next:e=>{this.isOfflineStatus=e}})}ngOnDestroy(){this.typemapObj.unsubscribe(),this.convObj.unsubscribe(),this.ddlObj.unsubscribe(),this.ddlsumconvObj.unsubscribe()}updateConversionRatePercentages(){let e=Object.keys(this.conversionRates).length;this.conversionRateCount={good:0,ok:0,bad:0},this.conversionRatePercentages={good:0,ok:0,bad:0};for(const i in this.conversionRates)"NONE"===this.conversionRates[i]||"EXCELLENT"===this.conversionRates[i]?this.conversionRateCount.good+=1:"GOOD"===this.conversionRates[i]||"OK"===this.conversionRates[i]?this.conversionRateCount.ok+=1:this.conversionRateCount.bad+=1;if(e>0)for(let i in this.conversionRatePercentages)this.conversionRatePercentages[i]=Number((this.conversionRateCount[i]/e*100).toFixed(2))}reRenderObjectExplorerSpanner(){this.spannerTree=this.conversion.createTreeNode(this.conv,this.conversionRates)}reRenderObjectExplorerSrc(){this.srcTree=this.conversion.createTreeNodeForSource(this.conv,this.conversionRates)}reRenderSidebar(){this.reRenderObjectExplorerSpanner()}changeCurrentObject(e){(null==e?void 0:e.type)===Qt.Table?(this.currentObject=e,this.tableData=this.currentObject?this.conversion.getColumnMapping(this.currentObject.id,this.conv):[],this.fkData=[],this.fkData=this.currentObject?this.conversion.getFkMapping(this.currentObject.id,this.conv):[]):(null==e?void 0:e.type)===Qt.Index?(this.currentObject=e,this.indexData=this.conversion.getIndexMapping(e.parentId,this.conv,e.id)):this.currentObject=null}changeCurrentDatabase(e){this.currentDatabase=e}updateIssuesLabel(e){setTimeout(()=>{this.issuesAndSuggestionsLabel=`ISSUES AND SUGGESTIONS (${e})`})}updateRulesLabel(e){setTimeout(()=>{this.rulesLabel=`RULES (${e})`})}leftColumnToggle(){this.isLeftColumnCollapse=!this.isLeftColumnCollapse}middleColumnToggle(){this.isMiddleColumnCollapse=!this.isMiddleColumnCollapse}rightColumnToggle(){this.isRightColumnCollapse=!this.isRightColumnCollapse}openAssessment(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("assessment");let e="";if(localStorage.getItem(In.Type)==mi.DirectConnect){let r=JSON.parse(localStorage.getItem(In.Config));e=(null==r?void 0:r.hostName)+" : "+(null==r?void 0:r.port)}else e=this.conv.DatabaseName;this.clickEvent.setViewAssesmentData({srcDbType:this.srcDbName,connectionDetail:e,conversionRates:this.conversionRateCount})}openSaveSessionSidenav(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("saveSession"),this.sidenav.setSidenavDatabaseName(this.conv.DatabaseName)}downloadSession(){dI(this.conv)}downloadArtifacts(){let e=new hI,i=`${this.conv.DatabaseName}`;this.fetch.getDStructuredReport().subscribe({next:o=>{let r=JSON.stringify(o).replace(/9223372036854776000/g,"9223372036854775807");e.file(i+"_migration_structuredReport.json",r),this.fetch.getDTextReport().subscribe({next:a=>{e.file(i+"_migration_textReport.txt",a),this.fetch.getDSpannerDDL().subscribe({next:l=>{e.file(i+"_spannerDDL.txt",l);let u=JSON.stringify(this.conv).replace(/9223372036854776000/g,"9223372036854775807");e.file(`${this.conv.SessionName}_${this.conv.DatabaseType}_${i}.json`,u),e.generateAsync({type:"blob"}).then(g=>{var v=document.createElement("a");v.href=URL.createObjectURL(g),v.download=`${i}_artifacts`,v.click()})}})}})}})}downloadStructuredReport(){var e=document.createElement("a");this.fetch.getDStructuredReport().subscribe({next:i=>{let o=JSON.stringify(i).replace(/9223372036854776000/g,"9223372036854775807");e.href="data:text/json;charset=utf-8,"+encodeURIComponent(o),e.download=`${this.conv.DatabaseName}_migration_structuredReport.json`,e.click()}})}downloadTextReport(){var e=document.createElement("a");this.fetch.getDTextReport().subscribe({next:i=>{e.href="data:text;charset=utf-8,"+encodeURIComponent(i),e.download=`${this.conv.DatabaseName}_migration_textReport.txt`,e.click()}})}downloadDDL(){var e=document.createElement("a");this.fetch.getDSpannerDDL().subscribe({next:i=>{e.href="data:text;charset=utf-8,"+encodeURIComponent(i),e.download=`${this.conv.DatabaseName}_spannerDDL.txt`,e.click()}})}updateSpannerTable(e){this.spannerTree=this.conversion.createTreeNode(this.conv,this.conversionRates,e.text,e.order)}updateSrcTable(e){this.srcTree=this.conversion.createTreeNodeForSource(this.conv,this.conversionRates,e.text,e.order)}isIndexAddedOrRemoved(e){if(this.conv){let i=0,o=0;return Object.entries(this.conv.SpSchema).forEach(r=>{i+=r[1].Indexes?r[1].Indexes.length:0}),Object.entries(e.SpSchema).forEach(r=>{o+=r[1].Indexes?r[1].Indexes.length:0}),i!==o}return!1}prepareMigration(){this.fetch.getTableWithErrors().subscribe({next:e=>{if(null!=e&&0!=e.length){console.log(e.map(o=>o.Name).join(", "));let i="Please fix the errors for the following tables to move ahead: "+e.map(o=>o.Name).join(", ");this.dialog.open(jo,{data:{message:i,type:"error",title:"Error in Spanner Draft"},maxWidth:"500px"})}else this.isOfflineStatus?this.dialog.open(jo,{data:{message:"Please configure spanner project id and instance id to proceed",type:"error",title:"Configure Spanner"},maxWidth:"500px"}):0==Object.keys(this.conv.SpSchema).length?this.dialog.open(jo,{data:{message:"Please restore some table(s) to proceed with the migration",type:"error",title:"All tables skipped"},maxWidth:"500px"}):this.router.navigate(["/prepare-migration"])}})}spannerTab(){this.clickEvent.setTabToSpanner()}}return t.\u0275fac=function(e){return new(e||t)(b(Ln),b(Da),b(ns),b(Ei),b(Jn),b(Vo),b(Bi))},t.\u0275cmp=Ae({type:t,selectors:[["app-workspace"]],decls:57,vars:59,consts:[[1,"header"],[1,"breadcrumb","vertical-center"],["mat-button","",1,"breadcrumb_source",3,"routerLink"],["mat-button","",1,"breadcrumb_workspace",3,"routerLink"],[1,"header_action"],["matTooltip","Connect to a spanner instance to run migration",3,"matTooltipDisabled"],["mat-button","",3,"click"],["mat-button","",3,"click",4,"ngIf"],[1,"artifactsButtons"],["mat-raised-button","","color","primary",1,"split-button-left",3,"click"],["mat-raised-button","","color","primary",1,"split-button-right",3,"matMenuTriggerFor"],["aria-hidden","false","aria-label","More options"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"click"],[1,"container"],[1,"summary"],[1,"spanner-tab-link",3,"click"],[1,"columns"],[1,"column-left",3,"ngClass"],[3,"spannerTree","srcTree","srcDbName","selectedDatabase","selectObject","updateSpannerTable","updateSrcTable","leftCollaspe","middleCollapse"],[1,"column-middle",3,"ngClass"],[3,"currentObject","tableData","indexData","typeMap","ddlStmts","fkData","currentDatabase","defaultTypeMap","updateSidebar"],[1,"column-right",3,"ngClass"],["mat-dialog-close",""],[3,"ngClass","label"],[3,"currentObject","changeIssuesLabel"],[3,"currentObject","lengthOfRules"],["id","right-column-toggle-button",3,"click"],[3,"ngClass"]],template:function(e,i){if(1&e&&(d(0,"div")(1,"div",0)(2,"div",1)(3,"a",2),h(4,"Select Source"),c(),d(5,"span"),h(6,">"),c(),d(7,"a",3)(8,"b"),h(9),c()()(),d(10,"div",4)(11,"span",5)(12,"button",6),N("click",function(){return i.prepareMigration()}),h(13," PREPARE MIGRATION "),c()(),d(14,"button",6),N("click",function(){return i.openAssessment()}),h(15,"VIEW ASSESSMENT"),c(),_(16,rX,2,0,"button",7),d(17,"span",8)(18,"button",9),N("click",function(){return i.downloadArtifacts()}),h(19," DOWNLOAD ARTIFACTS "),c(),d(20,"button",10)(21,"mat-icon",11),h(22,"expand_more"),c()(),d(23,"mat-menu",12,13)(25,"button",14),N("click",function(){return i.downloadTextReport()}),h(26,"Download Text Report"),c(),d(27,"button",14),N("click",function(){return i.downloadStructuredReport()}),h(28,"Download Structured Report"),c(),d(29,"button",14),N("click",function(){return i.downloadSession()}),h(30,"Download Session File"),c(),d(31,"button",14),N("click",function(){return i.downloadDDL()}),h(32,"Download Spanner DDL"),c()()()()(),d(33,"div",15)(34,"div",16),h(35),E(36,"br"),h(37," To make schema changes go to "),d(38,"a",17),N("click",function(){return i.spannerTab()}),h(39,"Spanner Draft"),c(),h(40," pane. "),c()(),d(41,"div",18)(42,"div",19)(43,"app-object-explorer",20),N("selectedDatabase",function(r){return i.changeCurrentDatabase(r)})("selectObject",function(r){return i.changeCurrentObject(r)})("updateSpannerTable",function(r){return i.updateSpannerTable(r)})("updateSrcTable",function(r){return i.updateSrcTable(r)})("leftCollaspe",function(){return i.leftColumnToggle()})("middleCollapse",function(){return i.middleColumnToggle()}),c()(),d(44,"div",21)(45,"app-object-detail",22),N("updateSidebar",function(){return i.reRenderSidebar()}),c()(),d(46,"div",23)(47,"mat-tab-group",24)(48,"mat-tab",25)(49,"app-summary",26),N("changeIssuesLabel",function(r){return i.updateIssuesLabel(r)}),c()(),d(50,"mat-tab",25)(51,"app-rule",27),N("lengthOfRules",function(r){return i.updateRulesLabel(r)}),c()()(),d(52,"button",28),N("click",function(){return i.rightColumnToggle()}),d(53,"mat-icon",29),h(54,"first_page"),c(),d(55,"mat-icon",29),h(56,"last_page"),c()()()()()),2&e){const o=$t(24);f(3),m("routerLink","/"),f(4),m("routerLink","/workspace"),f(2),Se("Configure Schema (",i.dialect," Dialect)"),f(2),m("matTooltipDisabled",!i.isOfflineStatus),f(5),m("ngIf",!i.isOfflineStatus),f(4),m("matMenuTriggerFor",o),f(15),Zm(" Estimation for ",i.srcDbName.toUpperCase()," to Spanner conversion: ",i.conversionRatePercentages.good,"% of tables can be converted automatically, ",i.conversionRatePercentages.ok,"% requires minimal conversion changes and ",i.conversionRatePercentages.bad,"% requires high complexity conversion changes. "),f(7),m("ngClass",Kt(32,Hd,i.isLeftColumnCollapse?"left-column-collapse":"left-column-expand")),f(1),m("spannerTree",i.spannerTree)("srcTree",i.srcTree)("srcDbName",i.srcDbName),f(1),m("ngClass",function Ew(t,n,e,i,o,r,s,a){const l=Oi()+t,u=De(),p=xo(u,l,e,i,o,r);return Mi(u,l+4,s)||p?fr(u,l+5,a?n.call(a,e,i,o,r,s):n(e,i,o,r,s)):Mc(u,l+5)}(34,sX,i.isLeftColumnCollapse,!i.isLeftColumnCollapse,!i.isMiddleColumnCollapse,i.isRightColumnCollapse,!i.isRightColumnCollapse)),f(1),m("currentObject",i.currentObject)("tableData",i.tableData)("indexData",i.indexData)("typeMap",i.typeMap)("ddlStmts",i.ddlStmts)("fkData",i.fkData)("currentDatabase",i.currentDatabase)("defaultTypeMap",i.defaultTypeMap),f(1),m("ngClass",function Iw(t,n,e,i,o,r,s,a,l){const u=Oi()+t,p=De(),g=xo(p,u,e,i,o,r);return Js(p,u+4,s,a)||g?fr(p,u+6,l?n.call(l,e,i,o,r,s,a):n(e,i,o,r,s,a)):Mc(p,u+6)}(40,aX,!i.isRightColumnCollapse&&!i.isLeftColumnCollapse,!i.isRightColumnCollapse&&i.isLeftColumnCollapse,i.isRightColumnCollapse,!i.isMiddleColumnCollapse,i.isMiddleColumnCollapse,!i.isMiddleColumnCollapse)),f(2),m("ngClass",Kt(49,_I,Kt(47,Hd,i.updateIssuesLabel)))("label",i.issuesAndSuggestionsLabel),f(1),m("currentObject",i.currentObject),f(1),m("ngClass",Kt(53,_I,Kt(51,Hd,i.updateRulesLabel)))("label",i.rulesLabel),f(1),m("currentObject",i.currentObject),f(2),m("ngClass",Kt(55,Hd,i.isRightColumnCollapse?"display":"hidden")),f(2),m("ngClass",Kt(57,Hd,i.isRightColumnCollapse?"hidden":"display"))}},directives:[BM,jd,ki,Ht,Et,Nl,_n,Fl,qr,nr,Kq,SY,rv,Ji,wp,NY,oX],styles:["app-object-detail[_ngcontent-%COMP%]{height:100%}.vertical-center[_ngcontent-%COMP%]{display:flex;align-items:center}.columns[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:100%;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3;height:calc(100vh - 222px)}.artifactsButtons[_ngcontent-%COMP%]{white-space:nowrap}.container[_ngcontent-%COMP%]{padding:7px 20px;margin-bottom:20px}.container[_ngcontent-%COMP%] .summary[_ngcontent-%COMP%]{font-weight:lighter}.container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 5px}.column-left[_ngcontent-%COMP%]{overflow:auto}.column-middle[_ngcontent-%COMP%]{width:48%;border-left:1px solid #d3d3d3;border-right:1px solid #d3d3d3;overflow:auto}.column-right[_ngcontent-%COMP%]{width:26%;position:relative;overflow:auto}.left-column-collapse[_ngcontent-%COMP%]{width:3%}.left-column-expand[_ngcontent-%COMP%]{width:26%}.middle-column-collapse[_ngcontent-%COMP%]{width:48%}.middle-column-expand[_ngcontent-%COMP%]{width:71%}.right-column-half-expand[_ngcontent-%COMP%]{width:80%}.right-column-collapse[_ngcontent-%COMP%]{width:26%}.right-column-full-expand[_ngcontent-%COMP%]{width:97%}.middle-column-hide[_ngcontent-%COMP%]{width:0%}.middle-column-full[_ngcontent-%COMP%]{width:100%}#right-column-toggle-button[_ngcontent-%COMP%]{border:none;background-color:inherit;position:absolute;top:10px;right:7px;z-index:100}#right-column-toggle-button[_ngcontent-%COMP%]:hover{cursor:pointer} .column-right .mat-tab-label .mat-tab-label-content{font-size:.8rem} .column-right .mat-tab-label{min-width:25px!important;padding:10px} .column-right .mat-tab-label.mat-tab-label-active{min-width:25px!important;padding:7px} .column-right .mat-tab-label-container{margin-right:40px} .column-right .mat-tab-header-pagination-controls-enabled .mat-tab-label-container{margin-right:0} .column-right .mat-tab-header-pagination-after{margin-right:40px}.split-button-left[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none;padding-right:1px}.split-button-right[_ngcontent-%COMP%]{box-shadow:none;width:30px!important;min-width:unset!important;padding:0 2px;border-top-left-radius:0;border-bottom-left-radius:0;margin-right:7px}"]}),t})(),cX=(()=>{class t{constructor(e,i,o){this.formBuilder=e,this.dialogRef=i,this.data=o,this.region="",this.spannerInstance="",this.dialect="",this.region=o.Region,this.spannerInstance=o.Instance,this.dialect=o.Dialect,this.targetDetailsForm=this.formBuilder.group({targetDb:["",de.required]}),this.targetDetailsForm.setValue({targetDb:localStorage.getItem(Wt.TargetDB)})}ngOnInit(){}updateTargetDetails(){let e=this.targetDetailsForm.value;localStorage.setItem(Wt.TargetDB,e.targetDb),localStorage.setItem(Wt.Dialect,e.dialect),localStorage.setItem(le.IsTargetDetailSet,"true"),this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(b(Es),b(Ti),b(Xi))},t.\u0275cmp=Ae({type:t,selectors:[["app-target-details-form"]],decls:30,vars:5,consts:[["mat-dialog-content",""],[1,"target-detail-form",3,"formGroup"],["matTooltip","Schema & Schema and data migration: Specify new database name or existing database with empty schema. Data migration: Specify existing database with tables already created",1,"configure"],["appearance","outline",1,"full-width"],["matInput","","placeholder","Target Database","type","text","formControlName","targetDb","ng-value","targetDetails.TargetDB"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Spanner Database Details"),d(4,"mat-icon",2),h(5," info"),c()(),d(6,"mat-form-field",3)(7,"mat-label"),h(8,"Spanner Database"),c(),E(9,"input",4),c(),E(10,"br")(11,"br"),d(12,"b"),h(13,"Region:"),c(),h(14),E(15,"br")(16,"br"),d(17,"b"),h(18,"Spanner Instance:"),c(),h(19),E(20,"br")(21,"br"),d(22,"b"),h(23,"Dialect:"),c(),h(24),c(),d(25,"div",5)(26,"button",6),h(27,"Cancel"),c(),d(28,"button",7),N("click",function(){return i.updateTargetDetails()}),h(29," Save "),c()()()),2&e&&(f(1),m("formGroup",i.targetDetailsForm),f(13),Se(" ",i.region," "),f(5),Se(" ",i.spannerInstance," "),f(5),Se(" ",i.dialect," "),f(4),m("disabled",!i.targetDetailsForm.valid))},directives:[wr,xi,Hn,Sn,_n,ki,En,Mn,li,Dn,bn,Xn,Dr,Ht,Ji],styles:[""]}),t})();function uX(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",10),N("change",function(){const r=se(e).$implicit;return D().onItemChange(r.value)}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function hX(t,n){if(1&t&&(d(0,"mat-option",14),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayName),f(1),Se(" ",e.DisplayName," ")}}function pX(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",11)(2,"mat-label"),h(3,"Select connection profile"),c(),d(4,"mat-select",12),_(5,hX,2,2,"mat-option",13),c()()()),2&t){const e=D();f(5),m("ngForOf",e.profileList)}}function fX(t,n){1&t&&(d(0,"div")(1,"mat-form-field",15)(2,"mat-label"),h(3,"Connection profile name"),c(),E(4,"input",16),c()())}function mX(t,n){1&t&&(d(0,"div")(1,"mat-form-field",11)(2,"mat-label"),h(3,"Replication slot"),c(),E(4,"input",17),c(),E(5,"br"),d(6,"mat-form-field",11)(7,"mat-label"),h(8,"Publication name"),c(),E(9,"input",18),c()())}function gX(t,n){if(1&t&&(d(0,"li",24)(1,"span",25),h(2),c(),d(3,"span")(4,"mat-icon",26),h(5,"file_copy"),c()()()),2&t){const e=n.$implicit;f(2),Ee(e),f(2),m("cdkCopyToClipboard",e)}}function _X(t,n){if(1&t&&(d(0,"div",27)(1,"span",25),h(2,"Test connection failed"),c(),d(3,"mat-icon",28),h(4," error "),c()()),2&t){const e=D(3);f(3),m("matTooltip",e.errorMsg)}}function bX(t,n){1&t&&(d(0,"mat-icon",29),h(1," check_circle "),c())}function vX(t,n){if(1&t){const e=pe();d(0,"div")(1,"div")(2,"b"),h(3,"Copy the public IPs below, and use them to configure the network firewall to accept connections from them."),c(),d(4,"a",19),h(5,"Learn More"),c()(),E(6,"br"),_(7,gX,6,2,"li",20),_(8,_X,5,1,"div",21),E(9,"br"),d(10,"button",22),N("click",function(){return se(e),D(2).testConnection()}),h(11,"Test Connection"),c(),_(12,bX,2,0,"mat-icon",23),c()}if(2&t){const e=D(2);f(7),m("ngForOf",e.ipList),f(1),m("ngIf",!e.testSuccess&&""!=e.errorMsg),f(2),m("disabled",!e.connectionProfileForm.valid),f(2),m("ngIf",e.testSuccess)}}function yX(t,n){if(1&t&&(d(0,"div"),_(1,vX,13,4,"div",6),c()),2&t){const e=D();f(1),m("ngIf",e.isSource)}}let CX=(()=>{class t{constructor(e,i,o,r,s){var a,l;this.fetch=e,this.snack=i,this.formBuilder=o,this.dialogRef=r,this.data=s,this.selectedProfile="",this.profileType="Source",this.profileList=[],this.ipList=[],this.selectedOption="new",this.profileOptions=[{value:"new",display:"Create a new connection profile"},{value:"existing",display:"Choose an existing connection profile"}],this.profileName="",this.errorMsg="",this.isSource=!1,this.sourceDatabaseType="",this.testSuccess=!1,this.testingSourceConnection=!1,this.isSource=s.IsSource,this.sourceDatabaseType=s.SourceDatabaseType,this.isSource||(this.profileType="Target"),this.connectionProfileForm=this.formBuilder.group({profileOption:["",de.required],newProfile:["",[de.pattern("^[a-z][a-z0-9-]{0,59}$")]],existingProfile:[],replicationSlot:[],publication:[]}),"postgres"==this.sourceDatabaseType&&this.isSource&&(null===(a=this.connectionProfileForm.get("replicationSlot"))||void 0===a||a.addValidators([de.required]),this.connectionProfileForm.controls.replicationSlot.updateValueAndValidity(),null===(l=this.connectionProfileForm.get("publication"))||void 0===l||l.addValidators([de.required]),this.connectionProfileForm.controls.publication.updateValueAndValidity()),this.getConnectionProfilesAndIps()}onItemChange(e){var i,o;this.selectedOption=e,"new"==this.selectedOption?(null===(i=this.connectionProfileForm.get("newProfile"))||void 0===i||i.setValidators([de.required]),this.connectionProfileForm.controls.existingProfile.clearValidators(),this.connectionProfileForm.controls.newProfile.updateValueAndValidity(),this.connectionProfileForm.controls.existingProfile.updateValueAndValidity()):(this.connectionProfileForm.controls.newProfile.clearValidators(),null===(o=this.connectionProfileForm.get("existingProfile"))||void 0===o||o.addValidators([de.required]),this.connectionProfileForm.controls.newProfile.updateValueAndValidity(),this.connectionProfileForm.controls.existingProfile.updateValueAndValidity())}testConnection(){this.testingSourceConnection=!0,this.fetch.createConnectionProfile({Id:this.connectionProfileForm.value.newProfile,IsSource:this.isSource,ValidateOnly:!0}).subscribe({next:()=>{this.testingSourceConnection=!1,this.testSuccess=!0},error:o=>{this.testingSourceConnection=!1,this.testSuccess=!1,this.errorMsg=o.error}})}createConnectionProfile(){let e=this.connectionProfileForm.value;this.isSource&&(localStorage.setItem(Wt.ReplicationSlot,e.replicationSlot),localStorage.setItem(Wt.Publication,e.publication)),"new"===this.selectedOption?this.fetch.createConnectionProfile({Id:e.newProfile,IsSource:this.isSource,ValidateOnly:!1}).subscribe({next:()=>{this.isSource?(localStorage.setItem(le.IsSourceConnectionProfileSet,"true"),localStorage.setItem(Wt.SourceConnProfile,e.newProfile)):(localStorage.setItem(le.IsTargetConnectionProfileSet,"true"),localStorage.setItem(Wt.TargetConnProfile,e.newProfile)),this.dialogRef.close()},error:o=>{this.snack.openSnackBar(o.error,"Close"),this.dialogRef.close()}}):(this.isSource?(localStorage.setItem(le.IsSourceConnectionProfileSet,"true"),localStorage.setItem(Wt.SourceConnProfile,e.existingProfile)):(localStorage.setItem(le.IsTargetConnectionProfileSet,"true"),localStorage.setItem(Wt.TargetConnProfile,e.existingProfile)),this.dialogRef.close())}ngOnInit(){}getConnectionProfilesAndIps(){this.fetch.getConnectionProfiles(this.isSource).subscribe({next:e=>{this.profileList=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}}),this.isSource&&this.fetch.getStaticIps().subscribe({next:e=>{this.ipList=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}}return t.\u0275fac=function(e){return new(e||t)(b(Bi),b(Bo),b(Es),b(Ti),b(Xi))},t.\u0275cmp=Ae({type:t,selectors:[["app-connection-profile-form"]],decls:19,vars:9,consts:[["mat-dialog-content",""],[1,"conn-profile-form",3,"formGroup"],[1,"mat-h3","header-title"],[1,"radio-button-container"],["formControlName","profileOption",3,"ngModel","ngModelChange"],[3,"value","change",4,"ngFor","ngForOf"],[4,"ngIf"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"],[3,"value","change"],["appearance","outline"],["formControlName","existingProfile","required","true","ng-value","selectedProfile",1,"input-field"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["appearance","outline","hintLabel","Name can include lower case letters, numbers and hyphens. Must start with a letter."],["matInput","","placeholder","Connection profile name","type","text","formControlName","newProfile","required","true"],["matInput","","placeholder","Replication slot","type","text","formControlName","replicationSlot","required","true"],["matInput","","placeholder","Publication name","type","text","formControlName","publication","required","true"],["href","https://cloud.google.com/datastream/docs/network-connectivity-options#ipallowlists"],["class","connection-form-container",4,"ngFor","ngForOf"],["class","failure",4,"ngIf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["class","success","matTooltip","Test connection successful","matTooltipPosition","above",4,"ngIf"],[1,"connection-form-container"],[1,"left-text"],["matTooltip","Copy",1,"icon","copy",3,"cdkCopyToClipboard"],[1,"failure"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"],["matTooltip","Test connection successful","matTooltipPosition","above",1,"success"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"span",2),h(3),c(),E(4,"br"),d(5,"div",3)(6,"mat-radio-group",4),N("ngModelChange",function(r){return i.selectedOption=r}),_(7,uX,2,2,"mat-radio-button",5),c()(),E(8,"br"),_(9,pX,6,1,"div",6),_(10,fX,5,0,"div",6),E(11,"br"),_(12,mX,10,0,"div",6),_(13,yX,2,1,"div",6),d(14,"div",7)(15,"button",8),h(16,"Cancel"),c(),d(17,"button",9),N("click",function(){return i.createConnectionProfile()}),h(18," Save "),c()()()()),2&e&&(f(1),m("formGroup",i.connectionProfileForm),f(2),Se("",i.profileType," Connection Profile"),f(3),m("ngModel",i.selectedOption),f(1),m("ngForOf",i.profileOptions),f(2),m("ngIf","existing"===i.selectedOption),f(1),m("ngIf","new"===i.selectedOption),f(2),m("ngIf",i.isSource&&"postgres"==i.sourceDatabaseType),f(1),m("ngIf","new"===i.selectedOption),f(4),m("disabled",!i.connectionProfileForm.valid||!i.testSuccess&&"new"===i.selectedOption&&i.isSource))},directives:[wr,xi,Hn,Sn,xp,bn,Xn,ri,Tp,Et,En,Mn,Yi,fo,_i,li,Dn,_n,ki,fv,Ht,Dr,Ji],styles:[".icon[_ngcontent-%COMP%]{font-size:15px}.connection-form-container[_ngcontent-%COMP%]{display:block}.left-text[_ngcontent-%COMP%]{width:40%;display:inline-block}"]}),t})();function wX(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",6),N("change",function(){const r=se(e).$implicit;return D().onItemChange(r.value)}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function DX(t,n){1&t&&E(0,"mat-spinner",19),2&t&&m("diameter",25)}function SX(t,n){1&t&&(d(0,"mat-icon",20),h(1,"check_circle"),c())}function MX(t,n){1&t&&(d(0,"mat-icon",21),h(1,"cancel"),c())}function xX(t,n){if(1&t&&(d(0,"div",22)(1,"span",23),h(2,"Source database connection failed"),c(),d(3,"mat-icon",24),h(4," error "),c()()),2&t){const e=D(2);f(3),m("matTooltip",e.errorMsg)}}function TX(t,n){if(1&t){const e=pe();d(0,"div")(1,"form",7),N("ngSubmit",function(){return se(e),D().setSourceDBDetailsForDump()}),d(2,"h4",8),h(3,"Load from database dump"),c(),h(4," Dump File "),d(5,"mat-form-field",9)(6,"mat-label"),h(7,"File path"),c(),d(8,"input",10),N("click",function(){return se(e),$t(13).click()}),c(),_(9,DX,1,1,"mat-spinner",11),_(10,SX,2,0,"mat-icon",12),_(11,MX,2,0,"mat-icon",13),c(),d(12,"input",14,15),N("change",function(o){return se(e),D().handleFileInput(o)}),c(),E(14,"br"),d(15,"button",16),h(16,"CANCEL"),c(),d(17,"button",17),h(18," SAVE "),c(),_(19,xX,5,1,"div",18),c()()}if(2&t){const e=D();f(1),m("formGroup",e.dumpFileForm),f(8),m("ngIf",e.uploadStart&&!e.uploadSuccess&&!e.uploadFail),f(1),m("ngIf",e.uploadStart&&e.uploadSuccess),f(1),m("ngIf",e.uploadStart&&e.uploadFail),f(6),m("disabled",!e.dumpFileForm.valid||!e.uploadSuccess),f(2),m("ngIf",""!=e.errorMsg)}}function kX(t,n){if(1&t&&(d(0,"div",22)(1,"span",23),h(2,"Source database connection failed"),c(),d(3,"mat-icon",24),h(4," error "),c()()),2&t){const e=D(2);f(3),m("matTooltip",e.errorMsg)}}function EX(t,n){if(1&t){const e=pe();d(0,"div")(1,"form",7),N("ngSubmit",function(){return se(e),D().setSourceDBDetailsForDirectConnect()}),d(2,"h4",8),h(3,"Connect to Source Database"),c(),h(4," Connection Detail "),d(5,"mat-form-field",25)(6,"mat-label"),h(7,"Hostname"),c(),E(8,"input",26),c(),d(9,"mat-form-field",25)(10,"mat-label"),h(11,"Port"),c(),E(12,"input",27),d(13,"mat-error"),h(14," Only numbers are allowed. "),c()(),E(15,"br"),d(16,"mat-form-field",25)(17,"mat-label"),h(18,"User name"),c(),E(19,"input",28),c(),d(20,"mat-form-field",25)(21,"mat-label"),h(22,"Password"),c(),E(23,"input",29),c(),E(24,"br"),d(25,"mat-form-field",25)(26,"mat-label"),h(27,"Database Name"),c(),E(28,"input",30),c(),E(29,"br"),d(30,"button",16),h(31,"CANCEL"),c(),d(32,"button",17),h(33," SAVE "),c(),_(34,kX,5,1,"div",18),c()()}if(2&t){const e=D();f(1),m("formGroup",e.directConnectForm),f(31),m("disabled",!e.directConnectForm.valid),f(2),m("ngIf",""!=e.errorMsg)}}let IX=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.dataService=i,this.snack=o,this.dialogRef=r,this.data=s,this.inputOptions=[{value:mi.DumpFile,display:"Connect via dump file"},{value:mi.DirectConnect,display:"Connect via direct connection"}],this.selectedOption=mi.DirectConnect,this.sourceDatabaseEngine="",this.errorMsg="",this.fileToUpload=null,this.uploadStart=!1,this.uploadSuccess=!1,this.uploadFail=!1,this.dumpFileForm=new an({filePath:new X("",[de.required])}),this.directConnectForm=new an({hostName:new X("",[de.required]),port:new X("",[de.required]),userName:new X("",[de.required]),dbName:new X("",[de.required]),password:new X("")}),this.sourceDatabaseEngine=s}ngOnInit(){}setSourceDBDetailsForDump(){const{filePath:e}=this.dumpFileForm.value;this.fetch.setSourceDBDetailsForDump({Driver:this.sourceDatabaseEngine,Path:e}).subscribe({next:()=>{localStorage.setItem(le.IsSourceDetailsSet,"true"),this.dialogRef.close()},error:o=>{this.errorMsg=o.error}})}setSourceDBDetailsForDirectConnect(){const{hostName:e,port:i,userName:o,password:r,dbName:s}=this.directConnectForm.value;this.fetch.setSourceDBDetailsForDirectConnect({dbEngine:this.sourceDatabaseEngine,isSharded:!1,hostName:e,port:i,userName:o,password:r,dbName:s}).subscribe({next:()=>{localStorage.setItem(le.IsSourceDetailsSet,"true"),this.dialogRef.close()},error:l=>{this.errorMsg=l.error}})}handleFileInput(e){var i;let o=e.target.files;o&&(this.fileToUpload=o.item(0),this.dumpFileForm.patchValue({filePath:null===(i=this.fileToUpload)||void 0===i?void 0:i.name}),this.fileToUpload&&this.uploadFile())}uploadFile(){var e;if(this.fileToUpload){this.uploadStart=!0,this.uploadFail=!1,this.uploadSuccess=!1;const i=new FormData;i.append("myFile",this.fileToUpload,null===(e=this.fileToUpload)||void 0===e?void 0:e.name),this.dataService.uploadFile(i).subscribe(o=>{""==o?this.uploadSuccess=!0:this.uploadFail=!0})}}onItemChange(e){this.selectedOption=e,this.errorMsg=""}}return t.\u0275fac=function(e){return new(e||t)(b(Bi),b(Ln),b(Bo),b(Ti),b(Xi))},t.\u0275cmp=Ae({type:t,selectors:[["app-source-details-form"]],decls:7,vars:4,consts:[[1,"radio-button-container"],[1,"radio-button-group",3,"ngModel","ngModelChange"],[3,"value","change",4,"ngFor","ngForOf"],[1,"connect-load-database-container"],[1,"form-container"],[4,"ngIf"],[3,"value","change"],[3,"formGroup","ngSubmit"],[1,"primary-header"],["appearance","outline"],["matInput","","placeholder","File path","name","filePath","type","text","formControlName","filePath","readonly","",3,"click"],["matSuffix","",3,"diameter",4,"ngIf"],["matSuffix","","class","success",4,"ngIf"],["matSuffix","","class","danger",4,"ngIf"],["hidden","","type","file",3,"change"],["file",""],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","type","submit","color","primary",3,"disabled"],["class","failure",4,"ngIf"],["matSuffix","",3,"diameter"],["matSuffix","",1,"success"],["matSuffix","",1,"danger"],[1,"failure"],[1,"left-text"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"],["appearance","outline",1,"full-width"],["matInput","","placeholder","127.0.0.1","name","hostName","type","text","formControlName","hostName"],["matInput","","placeholder","3306","name","port","type","text","formControlName","port"],["matInput","","placeholder","root","name","userName","type","text","formControlName","userName"],["matInput","","name","password","type","password","formControlName","password"],["matInput","","name","dbname","type","text","formControlName","dbName"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-radio-group",1),N("ngModelChange",function(r){return i.selectedOption=r}),_(2,wX,2,2,"mat-radio-button",2),c()(),d(3,"div",3)(4,"div",4),_(5,TX,20,6,"div",5),_(6,EX,35,3,"div",5),c()()),2&e&&(f(1),m("ngModel",i.selectedOption),f(1),m("ngForOf",i.inputOptions),f(3),m("ngIf","dumpFile"===i.selectedOption),f(1),m("ngIf","directConnect"===i.selectedOption))},directives:[xp,bn,El,ri,Tp,Et,xi,Hn,Sn,En,Mn,li,Dn,Xn,eo,Ab,_n,Ht,Ji,ki,Ob],styles:[""]}),t})();function OX(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",6),E(3,"mat-spinner",7),c(),d(4,"span",8),h(5,"Cleaning up resources"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}let AX=(()=>{class t{constructor(e,i,o,r){this.data=e,this.fetch=i,this.snack=o,this.dialogRef=r,this.sourceAndTargetDetails={SpannerDatabaseName:"",SpannerDatabaseUrl:"",SourceDatabaseName:"",SourceDatabaseType:""},this.cleaningUp=!1,this.sourceAndTargetDetails={SourceDatabaseName:e.SourceDatabaseName,SourceDatabaseType:e.SourceDatabaseType,SpannerDatabaseName:e.SpannerDatabaseName,SpannerDatabaseUrl:e.SpannerDatabaseUrl}}ngOnInit(){}cleanUpJobs(){this.cleaningUp=!0,this.fetch.cleanUpStreamingJobs().subscribe({next:()=>{this.cleaningUp=!1,this.snack.openSnackBar("Dataflow and datastream jobs will be cleaned up","Close"),this.dialogRef.close()},error:e=>{this.cleaningUp=!1,this.snack.openSnackBar(e.error,"Close")}})}}return t.\u0275fac=function(e){return new(e||t)(b(Xi),b(Bi),b(Bo),b(Ti))},t.\u0275cmp=Ae({type:t,selectors:[["app-end-migration"]],decls:45,vars:7,consts:[["target","_blank",3,"href"],["href","https://github.com/GoogleCloudPlatform/professional-services-data-validator","target","_blank"],[4,"ngIf"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close","",3,"disabled"],["mat-raised-button","","color","primary",3,"disabled","click"],[1,"spinner"],[3,"diameter"],[1,"spinner-small-text"]],template:function(e,i){1&e&&(d(0,"h2"),h(1,"End Migration"),c(),d(2,"div")(3,"b"),h(4,"Source database:"),c(),h(5),E(6,"br"),d(7,"b"),h(8,"Spanner database:"),c(),d(9,"a",0),h(10),c()(),E(11,"br"),d(12,"div")(13,"b"),h(14,"Please follow these steps to complete the migration:"),c(),d(15,"ol")(16,"li"),h(17,"Validate that the schema has been created on Spanner as per the configuration"),c(),d(18,"li"),h(19,"Validate the data has been copied from the Source to Spanner. You can use the "),d(20,"a",1),h(21,"Data Validation Tool"),c(),h(22," to help with this process."),c(),d(23,"li"),h(24,"Stop the writes to the source database. "),d(25,"b"),h(26,"This will initiate a period of downtime."),c()(),d(27,"li"),h(28,"Wait for any incremental writes on source since the validation started on Spanner to catch up with the source. This can be done by periodically checking the Spanner Database for the most recent updates on source."),c(),d(29,"li"),h(30,"Once the Source and Spanner are in sync, start the application with Spanner as the Database."),c(),d(31,"li"),h(32,"Perform smoke tests on your application to ensure it is working properly on Spanner"),c(),d(33,"li"),h(34,"Cutover the traffic to the application with Spanner as the Database. "),d(35,"b"),h(36,"This marks the end of the period of downtime"),c()(),d(37,"li"),h(38,"Cleanup the migration jobs by clicking the button below."),c()()(),_(39,OX,7,1,"div",2),d(40,"div",3)(41,"button",4),h(42,"Cancel"),c(),d(43,"button",5),N("click",function(){return i.cleanUpJobs()}),h(44,"Clean Up"),c()()),2&e&&(f(5),hl(" ",i.sourceAndTargetDetails.SourceDatabaseName,"(",i.sourceAndTargetDetails.SourceDatabaseType,") "),f(4),m("href",i.sourceAndTargetDetails.SpannerDatabaseUrl,Gi),f(1),Ee(i.sourceAndTargetDetails.SpannerDatabaseName),f(29),m("ngIf",i.cleaningUp),f(2),m("disabled",i.cleaningUp),f(2),m("disabled",i.cleaningUp))},directives:[Et,eo,Dr,Ht,Ji],styles:[""]}),t})(),PX=(()=>{class t{constructor(e,i){this.data=e,this.dialofRef=i,this.dataflowForm=new an({network:new X(""),subnetwork:new X(""),numWorkers:new X("1",[de.required,de.pattern("^[1-9][0-9]*$")]),maxWorkers:new X("50",[de.required,de.pattern("^[1-9][0-9]*$")]),serviceAccountEmail:new X(""),hostProjectId:new X(e.GCPProjectID,de.required)})}ngOnInit(){}updateDataflowDetails(){let e=this.dataflowForm.value;localStorage.setItem("network",e.network),localStorage.setItem("subnetwork",e.subnetwork),localStorage.setItem("hostProjectId",e.hostProjectId),localStorage.setItem("maxWorkers",e.maxWorkers),localStorage.setItem("numWorkers",e.numWorkers),localStorage.setItem("serviceAccountEmail",e.serviceAccountEmail),localStorage.setItem("isDataflowConfigSet","true"),this.dialofRef.close()}}return t.\u0275fac=function(e){return new(e||t)(b(Xi),b(Ti))},t.\u0275cmp=Ae({type:t,selectors:[["app-dataflow-form"]],decls:38,vars:6,consts:[["mat-dialog-content",""],[1,"dataflow-form",3,"formGroup"],["appearance","outline","matTooltip","Edit to run Dataflow in a shared VPC","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","Host ProjectID","type","text","formControlName","hostProjectId"],["appearance","outline",1,"full-width"],["matInput","","placeholder","VPC Network Name","type","text","formControlName","network"],["matInput","","placeholder","VPC Subnetwork Name","type","text","formControlName","subnetwork"],["appearance","outline","matTooltip","Set maximum workers for the dataflow job(s). Default value: 50","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","50","type","text","formControlName","maxWorkers"],["appearance","outline","matTooltip","Set initial number of workers for the dataflow job(s). Default value: 1","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","1","type","text","formControlName","numWorkers"],["appearance","outline","matTooltip","Set the service account to run the dataflow job(s) as","matTooltipHideDelay","100000",1,"full-width",3,"matTooltipPosition"],["matInput","","placeholder","Service Account Email","type","text","formControlName","serviceAccountEmail"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Dataflow Details"),c(),d(4,"mat-form-field",2)(5,"mat-label"),h(6,"Host ProjectID"),c(),E(7,"input",3),c(),E(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"VPC Network"),c(),E(12,"input",5),c(),E(13,"br"),d(14,"mat-form-field",4)(15,"mat-label"),h(16,"VPC Subnetwork"),c(),E(17,"input",6),c(),E(18,"br"),d(19,"mat-form-field",7)(20,"mat-label"),h(21,"Max Workers"),c(),E(22,"input",8),c(),E(23,"br"),d(24,"mat-form-field",9)(25,"mat-label"),h(26,"Number of Workers"),c(),E(27,"input",10),c(),E(28,"br"),d(29,"mat-form-field",11)(30,"mat-label"),h(31,"Service Account Email"),c(),E(32,"input",12),c()(),d(33,"div",13)(34,"button",14),h(35,"Cancel"),c(),d(36,"button",15),N("click",function(){return i.updateDataflowDetails()}),h(37," Save "),c()()()),2&e&&(f(1),m("formGroup",i.dataflowForm),f(3),m("matTooltipPosition","right"),f(15),m("matTooltipPosition","right"),f(5),m("matTooltipPosition","right"),f(5),m("matTooltipPosition","right"),f(7),m("disabled",!i.dataflowForm.valid))},directives:[wr,xi,Hn,Sn,En,ki,Mn,li,Dn,bn,Xn,Dr,Ht,Ji],styles:[""]}),t})(),RX=(()=>{class t{constructor(e,i){this.data=e,this.dialofRef=i,this.gcloudCmd=e}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(b(Xi),b(Ti))},t.\u0275cmp=Ae({type:t,selectors:[["app-equivalent-gcloud-command"]],decls:12,vars:2,consts:[["mat-dialog-content",""],["matTooltip","This is the gcloud command to launch the dataflow job with the same parameters. Can be used to re-run a dataflow job manually in case of failure.",1,"configure"],[1,"left-text"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","color","primary",3,"cdkCopyToClipboard"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"h2"),h(2,"Equivalent gcloud command line"),d(3,"mat-icon",1),h(4," info"),c()(),d(5,"span",2),h(6),c(),d(7,"div",3)(8,"button",4),h(9,"Close"),c(),d(10,"button",5),h(11,"Copy"),c()()()),2&e&&(f(6),Ee(i.gcloudCmd),f(4),m("cdkCopyToClipboard",i.gcloudCmd))},directives:[wr,_n,ki,Dr,Ht,Ji,fv],styles:[""]}),t})();function FX(t,n){if(1&t&&(d(0,"mat-option",14),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function NX(t,n){1&t&&(d(0,"div",15)(1,"mat-form-field",4)(2,"mat-label"),h(3,"Paste JSON Configuration"),c(),E(4,"textarea",16,17),c()())}function LX(t,n){1&t&&(d(0,"div",18)(1,"mat-form-field",19)(2,"mat-label"),h(3,"Hostname"),c(),E(4,"input",20),c(),d(5,"mat-form-field",19)(6,"mat-label"),h(7,"Port"),c(),E(8,"input",21),d(9,"mat-error"),h(10," Only numbers are allowed. "),c()(),E(11,"br"),d(12,"mat-form-field",19)(13,"mat-label"),h(14,"User name"),c(),E(15,"input",22),c(),d(16,"mat-form-field",19)(17,"mat-label"),h(18,"Password"),c(),E(19,"input",23),c(),E(20,"br"),d(21,"mat-form-field",19)(22,"mat-label"),h(23,"Database Name"),c(),E(24,"input",24),c(),E(25,"br"),d(26,"mat-form-field",19)(27,"mat-label"),h(28,"Shard ID"),c(),E(29,"input",25),c(),E(30,"br"),c())}function BX(t,n){if(1&t){const e=pe();d(0,"button",26),N("click",function(){return se(e),D().saveDetailsAndReset()}),h(1," ADD MORE SHARDS "),c()}2&t&&m("disabled",D().directConnectForm.invalid)}function VX(t,n){if(1&t&&(d(0,"div",27)(1,"span",28),h(2),c(),d(3,"mat-icon",29),h(4," error "),c()()),2&t){const e=D();f(2),Ee(e.errorMsg),f(1),m("matTooltip",e.errorMsg)}}let jX=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.snack=i,this.dataService=o,this.dialogRef=r,this.data=s,this.errorMsg="",this.shardConnDetailsList=[],this.sourceConnDetails={dbConfigs:[],isRestoredSession:""},this.shardSessionDetails={sourceDatabaseEngine:"",isRestoredSession:""},this.inputOptionsList=[{value:"text",displayName:"Text"},{value:"form",displayName:"Form"}],this.shardSessionDetails={sourceDatabaseEngine:s.sourceDatabaseEngine,isRestoredSession:s.isRestoredSession};let a={dbEngine:"",isSharded:!1,hostName:"",port:"",userName:"",password:"",dbName:""};localStorage.getItem(In.Type)==mi.DirectConnect&&null!=localStorage.getItem(In.Config)&&(a=JSON.parse(localStorage.getItem(In.Config))),this.directConnectForm=new an({inputType:new X("form",[de.required]),textInput:new X(""),hostName:new X(a.hostName,[de.required]),port:new X(a.port,[de.required]),userName:new X(a.userName,[de.required]),dbName:new X(a.dbName,[de.required]),password:new X(a.password),shardId:new X("",[de.required])})}ngOnInit(){this.initFromLocalStorage()}initFromLocalStorage(){}setValidators(e){var i,o,r,s,a,l,u,p,g;if("text"==e){for(const v in this.directConnectForm.controls)null===(i=this.directConnectForm.get(v))||void 0===i||i.clearValidators(),null===(o=this.directConnectForm.get(v))||void 0===o||o.updateValueAndValidity();null===(r=this.directConnectForm.get("textInput"))||void 0===r||r.setValidators([de.required]),this.directConnectForm.controls.textInput.updateValueAndValidity()}else null===(s=this.directConnectForm.get("hostName"))||void 0===s||s.setValidators([de.required]),this.directConnectForm.controls.hostName.updateValueAndValidity(),null===(a=this.directConnectForm.get("port"))||void 0===a||a.setValidators([de.required]),this.directConnectForm.controls.port.updateValueAndValidity(),null===(l=this.directConnectForm.get("userName"))||void 0===l||l.setValidators([de.required]),this.directConnectForm.controls.userName.updateValueAndValidity(),null===(u=this.directConnectForm.get("dbName"))||void 0===u||u.setValidators([de.required]),this.directConnectForm.controls.dbName.updateValueAndValidity(),null===(p=this.directConnectForm.get("password"))||void 0===p||p.setValidators([de.required]),this.directConnectForm.controls.password.updateValueAndValidity(),null===(g=this.directConnectForm.get("shardId"))||void 0===g||g.setValidators([de.required]),this.directConnectForm.controls.shardId.updateValueAndValidity(),this.directConnectForm.controls.textInput.clearValidators(),this.directConnectForm.controls.textInput.updateValueAndValidity()}determineFormValidity(){return this.shardConnDetailsList.length>0||!!this.directConnectForm.valid}saveDetailsAndReset(){const{hostName:e,port:i,userName:o,password:r,dbName:s,shardId:a}=this.directConnectForm.value;this.shardConnDetailsList.push({dbEngine:this.shardSessionDetails.sourceDatabaseEngine,isSharded:!1,hostName:e,port:i,userName:o,password:r,dbName:s,shardId:a}),this.directConnectForm=new an({inputType:new X("form",de.required),textInput:new X(""),hostName:new X(""),port:new X(""),userName:new X(""),dbName:new X(""),password:new X(""),shardId:new X("")}),this.setValidators("form"),this.snack.openSnackBar("Shard configured successfully, please configure the next","Close",5)}finalizeConnDetails(){if("form"===this.directConnectForm.value.inputType){const{hostName:i,port:o,userName:r,password:s,dbName:a,shardId:l}=this.directConnectForm.value;this.shardConnDetailsList.push({dbEngine:this.shardSessionDetails.sourceDatabaseEngine,isSharded:!1,hostName:i,port:o,userName:r,password:s,dbName:a,shardId:l}),this.sourceConnDetails.dbConfigs=this.shardConnDetailsList}else{try{this.sourceConnDetails.dbConfigs=JSON.parse(this.directConnectForm.value.textInput)}catch(i){throw this.errorMsg="Unable to parse JSON",new Error(this.errorMsg)}this.sourceConnDetails.dbConfigs.forEach(i=>{i.dbEngine=this.shardSessionDetails.sourceDatabaseEngine})}this.sourceConnDetails.isRestoredSession=this.shardSessionDetails.isRestoredSession,this.fetch.setShardsSourceDBDetailsForBulk(this.sourceConnDetails).subscribe({next:()=>{localStorage.setItem(le.NumberOfShards,this.sourceConnDetails.dbConfigs.length.toString()),localStorage.setItem(le.NumberOfInstances,this.sourceConnDetails.dbConfigs.length.toString()),localStorage.setItem(le.IsSourceDetailsSet,"true"),this.dialogRef.close()},error:i=>{this.errorMsg=i.error}})}}return t.\u0275fac=function(e){return new(e||t)(b(Bi),b(Bo),b(Ln),b(Ti),b(Xi))},t.\u0275cmp=Ae({type:t,selectors:[["app-sharded-bulk-source-details-form"]],decls:23,vars:7,consts:[[1,"connect-load-database-container"],[1,"form-container"],[1,"shard-bulk-form",3,"formGroup"],[1,"primary-header"],["appearance","outline"],["formControlName","inputType",3,"selectionChange"],["inputType",""],[3,"value",4,"ngFor","ngForOf"],["class","textInput",4,"ngIf"],["class","formInput",4,"ngIf"],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","type","submit","color","accent",3,"disabled","click",4,"ngIf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["class","failure",4,"ngIf"],[3,"value"],[1,"textInput"],["name","textInput","formControlName","textInput","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","5","cdkAutosizeMaxRows","20"],["autosize","cdkTextareaAutosize"],[1,"formInput"],["appearance","outline",1,"full-width"],["matInput","","placeholder","127.0.0.1","name","hostName","type","text","formControlName","hostName"],["matInput","","placeholder","3306","name","port","type","text","formControlName","port"],["matInput","","placeholder","root","name","userName","type","text","formControlName","userName"],["matInput","","name","password","type","password","formControlName","password"],["matInput","","name","dbname","type","text","formControlName","dbName"],["matInput","","name","shardId","type","text","formControlName","shardId"],["mat-raised-button","","type","submit","color","accent",3,"disabled","click"],[1,"failure"],[1,"left-text"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"div",1)(2,"form",2)(3,"h4",3),h(4,"Add Data Shard Connection Details"),c(),d(5,"b"),h(6,"Note: Please configure the schema source used for schema conversion if you want Spanner migration tool to migrate data from it as well."),c(),E(7,"br")(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"Input Type"),c(),d(12,"mat-select",5,6),N("selectionChange",function(){se(o);const s=$t(13);return i.setValidators(s.value)}),_(14,FX,2,2,"mat-option",7),c()(),_(15,NX,6,0,"div",8),_(16,LX,31,0,"div",9),d(17,"button",10),h(18,"CANCEL"),c(),_(19,BX,2,1,"button",11),d(20,"button",12),N("click",function(){return i.finalizeConnDetails()}),h(21," FINISH "),c(),_(22,VX,5,2,"div",13),c()()()}2&e&&(f(2),m("formGroup",i.directConnectForm),f(12),m("ngForOf",i.inputOptionsList),f(1),m("ngIf","text"===i.directConnectForm.value.inputType),f(1),m("ngIf","form"===i.directConnectForm.value.inputType),f(3),m("ngIf","form"===i.directConnectForm.value.inputType),f(1),m("disabled",!i.determineFormValidity()),f(2),m("ngIf",""!=i.errorMsg))},directives:[xi,Hn,Sn,En,Mn,Yi,bn,Xn,ri,_i,Et,Dn,li,vT,Ob,Ht,Ji,_n,ki],styles:[""]}),t})();function HX(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function UX(t,n){if(1&t&&(d(0,"div",17)(1,"mat-card")(2,"mat-card-header")(3,"mat-card-title"),h(4,"Total Configured Shards"),c(),d(5,"mat-card-subtitle"),h(6),c(),d(7,"mat-card-subtitle"),h(8),c()()()()),2&t){const e=D();f(6),Se("",e.physicalShards," physical instances configured."),f(2),Se("",e.logicalShards," logical shards configured.")}}function zX(t,n){1&t&&(d(0,"div",18)(1,"mat-form-field",19)(2,"mat-label"),h(3,"Paste JSON Configuration"),c(),E(4,"textarea",20,21),c()())}function $X(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",35),N("change",function(){const r=se(e).$implicit;return D(2).onItemChange(r.value,"source")}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function GX(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayName),f(1),Se(" ",e.DisplayName," ")}}function WX(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",5)(2,"mat-label"),h(3,"Select source connection profile"),c(),d(4,"mat-select",36),_(5,GX,2,2,"mat-option",8),c()(),d(6,"mat-form-field",5)(7,"mat-label"),h(8,"Data Shard Id"),c(),E(9,"input",37),c()()),2&t){const e=D(2);f(5),m("ngForOf",e.sourceProfileList),f(4),m("value",e.inputValue)}}function qX(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",5)(2,"mat-label"),h(3,"Host"),c(),E(4,"input",38),c(),d(5,"mat-form-field",5)(6,"mat-label"),h(7,"User"),c(),E(8,"input",39),c(),d(9,"mat-form-field",5)(10,"mat-label"),h(11,"Port"),c(),E(12,"input",40),c(),d(13,"mat-form-field",5)(14,"mat-label"),h(15,"Password"),c(),E(16,"input",41),c(),d(17,"mat-form-field",42)(18,"mat-label"),h(19,"Connection profile name"),c(),E(20,"input",43),c(),d(21,"mat-form-field",5)(22,"mat-label"),h(23,"Data Shard Id"),c(),E(24,"input",37),c()()),2&t){const e=D(2);f(24),m("value",e.inputValue)}}function KX(t,n){if(1&t&&(d(0,"li",50)(1,"span",51),h(2),c(),d(3,"span")(4,"mat-icon",52),h(5,"file_copy"),c()()()),2&t){const e=n.$implicit;f(2),Ee(e),f(2),m("cdkCopyToClipboard",e)}}function ZX(t,n){if(1&t&&(d(0,"div",53)(1,"span",51),h(2,"Test connection failed"),c(),d(3,"mat-icon",54),h(4," error "),c()()),2&t){const e=D(3);f(3),m("matTooltip",e.errorSrcMsg)}}function QX(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",55),E(3,"mat-spinner",56),c(),d(4,"span",57),h(5,"Testing Connection"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}function YX(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",55),E(3,"mat-spinner",56),c(),d(4,"span",57),h(5,"Creating source connection profile"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}function XX(t,n){1&t&&(d(0,"mat-icon",58),h(1," check_circle "),c())}function JX(t,n){1&t&&(d(0,"mat-icon",59),h(1," check_circle "),c())}function eJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"div")(2,"b"),h(3,"Copy the public IPs below, and use them to configure the network firewall to accept connections from them."),c(),d(4,"a",44),h(5,"Learn More"),c()(),E(6,"br"),_(7,KX,6,2,"li",45),_(8,ZX,5,1,"div",15),E(9,"br"),_(10,QX,7,1,"div",26),_(11,YX,7,1,"div",26),_(12,XX,2,0,"mat-icon",46),d(13,"button",47),N("click",function(){return se(e),D(2).createOrTestConnection(!0,!0)}),h(14,"TEST CONNECTION"),c(),_(15,JX,2,0,"mat-icon",48),d(16,"button",49),N("click",function(){return se(e),D(2).createOrTestConnection(!0,!1)}),h(17,"CREATE PROFILE"),c()()}if(2&t){const e=D(2);f(7),m("ngForOf",e.ipList),f(1),m("ngIf",!e.testSuccess&&""!=e.errorSrcMsg),f(2),m("ngIf",e.testingSourceConnection),f(1),m("ngIf",e.creatingSourceConnection),f(1),m("ngIf",e.testSuccess),f(1),m("disabled",!e.determineConnectionProfileInfoValidity()||e.testingSourceConnection),f(2),m("ngIf",e.createSrcConnSuccess),f(1),m("disabled",!e.testSuccess||e.creatingSourceConnection)}}function tJ(t,n){if(1&t){const e=pe();be(0),d(1,"div",60)(2,"mat-form-field",5)(3,"mat-label"),h(4,"Logical Shard ID"),c(),E(5,"input",61),c(),d(6,"mat-form-field",5)(7,"mat-label"),h(8,"Source Database Name"),c(),E(9,"input",62),c(),d(10,"mat-icon",63),N("click",function(){const r=se(e).index;return D(2).deleteRow(r)}),h(11," delete_forever"),c()(),ve()}if(2&t){const e=n.index;f(1),m("formGroupName",e)}}function nJ(t,n){if(1&t){const e=pe();d(0,"mat-radio-button",35),N("change",function(){const r=se(e).$implicit;return D(2).onItemChange(r.value,"target")}),h(1),c()}if(2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.display,"")}}function iJ(t,n){if(1&t&&(d(0,"mat-option",16),h(1),c()),2&t){const e=n.$implicit;m("value",e.DisplayName),f(1),Se(" ",e.DisplayName," ")}}function oJ(t,n){if(1&t&&(d(0,"div")(1,"mat-form-field",5)(2,"mat-label"),h(3,"Select target connection profile"),c(),d(4,"mat-select",64),_(5,iJ,2,2,"mat-option",8),c()()()),2&t){const e=D(2);f(5),m("ngForOf",e.targetProfileList)}}function rJ(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",55),E(3,"mat-spinner",56),c(),d(4,"span",57),h(5,"Creating target connection profile"),c(),E(6,"br"),c()),2&t&&(f(3),m("diameter",20))}function sJ(t,n){1&t&&(d(0,"mat-icon",59),h(1," check_circle "),c())}function aJ(t,n){if(1&t&&(d(0,"div",53)(1,"span",51),h(2),c()()),2&t){const e=D(3);f(2),Ee(e.errorTgtMsg)}}function lJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-form-field",42)(2,"mat-label"),h(3,"Connection profile name"),c(),E(4,"input",65),c(),_(5,rJ,7,1,"div",26),_(6,sJ,2,0,"mat-icon",48),d(7,"button",49),N("click",function(){return se(e),D(2).createOrTestConnection(!1,!1)}),h(8,"CREATE PROFILE"),c(),_(9,aJ,3,1,"div",15),c()}if(2&t){const e=D(2);f(5),m("ngIf",e.creatingTargetConnection),f(1),m("ngIf",e.createTgtConnSuccess),f(1),m("disabled",e.creatingTargetConnection),f(2),m("ngIf",""!=e.errorTgtMsg)}}function cJ(t,n){if(1&t){const e=pe();d(0,"div",18)(1,"span",22),h(2,"Configure Source Profile"),c(),d(3,"div",23)(4,"mat-radio-group",24),N("ngModelChange",function(o){return se(e),D().selectedSourceProfileOption=o}),_(5,$X,2,2,"mat-radio-button",25),c()(),E(6,"br"),_(7,WX,10,2,"div",26),_(8,qX,25,1,"div",26),E(9,"br"),_(10,eJ,18,8,"div",26),E(11,"hr"),d(12,"span",22),h(13,"Configure ShardId and Database Names"),c(),d(14,"mat-icon",27),h(15,"info"),c(),E(16,"br")(17,"br"),d(18,"span",28),be(19,29),_(20,tJ,12,1,"ng-container",30),ve(),c(),d(21,"div",31)(22,"button",32),N("click",function(){return se(e),D().addRow()}),h(23,"ADD ROW"),c()(),E(24,"br")(25,"hr"),d(26,"span",22),h(27,"Configure Target Profile"),c(),d(28,"div",33)(29,"mat-radio-group",34),N("ngModelChange",function(o){return se(e),D().selectedTargetProfileOption=o}),_(30,nJ,2,2,"mat-radio-button",25),c()(),E(31,"br"),_(32,oJ,6,1,"div",26),_(33,lJ,10,4,"div",26),E(34,"hr"),c()}if(2&t){const e=D();f(4),m("ngModel",e.selectedSourceProfileOption),f(1),m("ngForOf",e.profileOptions),f(2),m("ngIf","existing"===e.selectedSourceProfileOption),f(1),m("ngIf","new"===e.selectedSourceProfileOption),f(2),m("ngIf","new"===e.selectedSourceProfileOption),f(10),m("ngForOf",e.shardMappingTable.controls),f(9),m("ngModel",e.selectedTargetProfileOption),f(1),m("ngForOf",e.profileOptions),f(2),m("ngIf","existing"===e.selectedTargetProfileOption),f(1),m("ngIf","new"===e.selectedTargetProfileOption)}}function dJ(t,n){if(1&t){const e=pe();d(0,"button",66),N("click",function(){return se(e),D().saveDetailsAndReset()}),h(1," ADD MORE SHARDS "),c()}2&t&&m("disabled",!D().determineFormValidity())}function uJ(t,n){if(1&t&&(d(0,"div",53)(1,"span",51),h(2),c(),d(3,"mat-icon",54),h(4," error "),c()()),2&t){const e=D();f(2),Ee(e.errorMsg),f(1),m("matTooltip",e.errorMsg)}}let hJ=(()=>{class t{constructor(e,i,o,r,s){var a,l,u,p,g,v,C,M,V;this.fetch=e,this.snack=i,this.formBuilder=o,this.dialogRef=r,this.data=s,this.selectedProfile="",this.profileType="",this.sourceProfileList=[],this.targetProfileList=[],this.definedSrcConnProfileList=[],this.definedTgtConnProfileList=[],this.shardIdToDBMappingTable=[],this.dataShardIdList=[],this.ipList=[],this.selectedSourceProfileOption="existing",this.selectedTargetProfileOption="existing",this.profileOptions=[{value:"existing",display:"Choose an existing connection profile"},{value:"new",display:"Create a new connection profile"}],this.profileName="",this.errorMsg="",this.errorSrcMsg="",this.errorTgtMsg="",this.sourceDatabaseType="",this.inputValue="",this.testSuccess=!1,this.createSrcConnSuccess=!1,this.createTgtConnSuccess=!1,this.physicalShards=0,this.logicalShards=0,this.testingSourceConnection=!1,this.creatingSourceConnection=!1,this.creatingTargetConnection=!1,this.prefix="smt_datashard",this.inputOptionsList=[{value:"text",displayName:"Text"},{value:"form",displayName:"Form"}],this.region=s.Region,this.sourceDatabaseType=s.SourceDatabaseType,localStorage.getItem(In.Type)==mi.DirectConnect&&(this.schemaSourceConfig=JSON.parse(localStorage.getItem(In.Config)));let Y=this.formBuilder.group({logicalShardId:["",de.required],dbName:["",de.required]});this.inputValue=this.prefix+"_"+this.randomString(4)+"_"+this.randomString(4),this.migrationProfileForm=this.formBuilder.group({inputType:["form",de.required],textInput:[""],sourceProfileOption:["new",de.required],targetProfileOption:["new",de.required],newSourceProfile:["",[de.pattern("^[a-z][a-z0-9-]{0,59}$")]],existingSourceProfile:[],newTargetProfile:["",de.pattern("^[a-z][a-z0-9-]{0,59}$")],existingTargetProfile:[],host:[null===(a=this.schemaSourceConfig)||void 0===a?void 0:a.hostName],user:[null===(l=this.schemaSourceConfig)||void 0===l?void 0:l.userName],port:[null===(u=this.schemaSourceConfig)||void 0===u?void 0:u.port],password:[null===(p=this.schemaSourceConfig)||void 0===p?void 0:p.password],dataShardId:[this.inputValue,de.required],shardMappingTable:this.formBuilder.array([Y])});let ke={schemaSource:{host:null===(g=this.schemaSourceConfig)||void 0===g?void 0:g.hostName,user:null===(v=this.schemaSourceConfig)||void 0===v?void 0:v.userName,password:null===(C=this.schemaSourceConfig)||void 0===C?void 0:C.password,port:null===(M=this.schemaSourceConfig)||void 0===M?void 0:M.port,dbName:null===(V=this.schemaSourceConfig)||void 0===V?void 0:V.dbName},dataShards:[]};this.migrationProfile={configType:"dataflow",shardConfigurationDataflow:ke}}ngOnInit(){this.getConnectionProfiles(!0),this.getConnectionProfiles(!1),this.getDatastreamIPs(),this.initFromLocalStorage()}initFromLocalStorage(){}get shardMappingTable(){return this.migrationProfileForm.controls.shardMappingTable}addRow(){let e=this.formBuilder.group({logicalShardId:["",de.required],dbName:["",de.required]});this.shardMappingTable.push(e)}deleteRow(e){this.shardMappingTable.removeAt(e)}getDatastreamIPs(){this.fetch.getStaticIps().subscribe({next:e=>{this.ipList=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}getConnectionProfiles(e){this.fetch.getConnectionProfiles(e).subscribe({next:i=>{e?this.sourceProfileList=i:this.targetProfileList=i},error:i=>{this.snack.openSnackBar(i.error,"Close")}})}onItemChange(e,i){var o,r,s,a,l,u,p,g;this.profileType=i,"source"===this.profileType?(this.selectedSourceProfileOption=e,"new"==this.selectedSourceProfileOption?(null===(o=this.migrationProfileForm.get("newSourceProfile"))||void 0===o||o.setValidators([de.required]),this.migrationProfileForm.controls.existingSourceProfile.clearValidators(),this.migrationProfileForm.controls.newSourceProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingSourceProfile.updateValueAndValidity(),null===(r=this.migrationProfileForm.get("host"))||void 0===r||r.setValidators([de.required]),this.migrationProfileForm.controls.host.updateValueAndValidity(),null===(s=this.migrationProfileForm.get("user"))||void 0===s||s.setValidators([de.required]),this.migrationProfileForm.controls.user.updateValueAndValidity(),null===(a=this.migrationProfileForm.get("port"))||void 0===a||a.setValidators([de.required]),this.migrationProfileForm.controls.port.updateValueAndValidity(),null===(l=this.migrationProfileForm.get("password"))||void 0===l||l.setValidators([de.required]),this.migrationProfileForm.controls.password.updateValueAndValidity()):(this.migrationProfileForm.controls.newSourceProfile.clearValidators(),null===(u=this.migrationProfileForm.get("existingSourceProfile"))||void 0===u||u.addValidators([de.required]),this.migrationProfileForm.controls.newSourceProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingSourceProfile.updateValueAndValidity(),this.migrationProfileForm.controls.host.clearValidators(),this.migrationProfileForm.controls.host.updateValueAndValidity(),this.migrationProfileForm.controls.user.clearValidators(),this.migrationProfileForm.controls.user.updateValueAndValidity(),this.migrationProfileForm.controls.port.clearValidators(),this.migrationProfileForm.controls.port.updateValueAndValidity(),this.migrationProfileForm.controls.password.clearValidators(),this.migrationProfileForm.controls.password.updateValueAndValidity())):(this.selectedTargetProfileOption=e,"new"==this.selectedTargetProfileOption?(null===(p=this.migrationProfileForm.get("newTargetProfile"))||void 0===p||p.setValidators([de.required]),this.migrationProfileForm.controls.existingTargetProfile.clearValidators(),this.migrationProfileForm.controls.newTargetProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingTargetProfile.updateValueAndValidity()):(this.migrationProfileForm.controls.newTargetProfile.clearValidators(),null===(g=this.migrationProfileForm.get("existingTargetProfile"))||void 0===g||g.addValidators([de.required]),this.migrationProfileForm.controls.newTargetProfile.updateValueAndValidity(),this.migrationProfileForm.controls.existingTargetProfile.updateValueAndValidity()))}setValidators(e){if("text"===e){for(const o in this.migrationProfileForm.controls)this.migrationProfileForm.controls[o].clearValidators(),this.migrationProfileForm.controls[o].updateValueAndValidity();this.migrationProfileForm.get("shardMappingTable").controls.forEach(o=>{const r=o,s=r.get("logicalShardId"),a=r.get("dbName");null==s||s.clearValidators(),null==s||s.updateValueAndValidity(),null==a||a.clearValidators(),null==a||a.updateValueAndValidity()}),this.migrationProfileForm.controls.textInput.setValidators([de.required]),this.migrationProfileForm.controls.textInput.updateValueAndValidity()}else this.onItemChange("new","source"),this.onItemChange("new","target"),this.migrationProfileForm.controls.textInput.clearValidators(),this.migrationProfileForm.controls.textInput.updateValueAndValidity()}saveDetailsAndReset(){this.handleConnConfigsFromForm();let e=this.formBuilder.group({logicalShardId:["",de.required],dbName:["",de.required]});this.inputValue=this.prefix+"_"+this.randomString(4)+"_"+this.randomString(4),this.migrationProfileForm=this.formBuilder.group({inputType:["form",de.required],textInput:[],sourceProfileOption:[this.selectedSourceProfileOption],targetProfileOption:[this.selectedTargetProfileOption],newSourceProfile:["",[de.pattern("^[a-z][a-z0-9-]{0,59}$")]],existingSourceProfile:[],newTargetProfile:["",de.pattern("^[a-z][a-z0-9-]{0,59}$")],existingTargetProfile:[],host:[],user:[],port:[],password:[],dataShardId:[this.inputValue],shardMappingTable:this.formBuilder.array([e])}),this.testSuccess=!1,this.createSrcConnSuccess=!1,this.createTgtConnSuccess=!1,this.snack.openSnackBar("Shard configured successfully, please configure the next","Close",5)}randomString(e){for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="",r=0;r{localStorage.setItem(le.IsSourceConnectionProfileSet,"true"),localStorage.setItem(le.IsTargetConnectionProfileSet,"true"),localStorage.setItem(le.NumberOfShards,this.determineTotalLogicalShardsConfigured().toString()),localStorage.setItem(le.NumberOfInstances,this.migrationProfile.shardConfigurationDataflow.dataShards.length.toString()),this.dialogRef.close()},error:o=>{this.errorMsg=o.error}})}determineTotalLogicalShardsConfigured(){let e=0;return this.migrationProfile.shardConfigurationDataflow.dataShards.forEach(i=>{e+=i.databases.length}),e}handleConnConfigsFromForm(){let e=this.migrationProfileForm.value;this.dataShardIdList.push(e.dataShardId),this.definedSrcConnProfileList.push("new"===this.selectedSourceProfileOption?{name:e.newSourceProfile,location:this.region}:{name:e.existingSourceProfile,location:this.region}),this.definedTgtConnProfileList.push("new"===this.selectedTargetProfileOption?{name:e.newTargetProfile,location:this.region}:{name:e.existingTargetProfile,location:this.region});let i=[];for(let o of this.shardMappingTable.controls)if(o instanceof an){const r=o.value;i.push({dbName:r.dbName,databaseId:r.logicalShardId,refDataShardId:e.dataShardId})}this.shardIdToDBMappingTable.push(i),this.physicalShards++,this.logicalShards=this.logicalShards+i.length}determineFormValidity(){return!(!this.migrationProfileForm.valid||"new"===this.selectedSourceProfileOption&&!this.createSrcConnSuccess||"new"===this.selectedTargetProfileOption&&!this.createTgtConnSuccess)}determineFinishValidity(){return this.definedSrcConnProfileList.length>0||this.determineFormValidity()}determineConnectionProfileInfoValidity(){let e=this.migrationProfileForm.value;return null!=e.host&&null!=e.port&&null!=e.user&&null!=e.password&&null!=e.newSourceProfile}createOrTestConnection(e,i){i?this.testingSourceConnection=!0:e?this.creatingSourceConnection=!0:this.creatingTargetConnection=!0;let r,o=this.migrationProfileForm.value;r=e?{Id:o.newSourceProfile,IsSource:!0,ValidateOnly:i,Host:o.host,Port:o.port,User:o.user,Password:o.password}:{Id:o.newTargetProfile,IsSource:!1,ValidateOnly:i},this.fetch.createConnectionProfile(r).subscribe({next:()=>{i?(this.testingSourceConnection=!1,this.testSuccess=!0):e?(this.createSrcConnSuccess=!0,this.errorSrcMsg="",this.creatingSourceConnection=!1):(this.createTgtConnSuccess=!0,this.errorTgtMsg="",this.creatingTargetConnection=!1)},error:s=>{i?(this.testingSourceConnection=!1,this.testSuccess=!1,this.errorSrcMsg=s.error):e?(this.createSrcConnSuccess=!1,this.errorSrcMsg=s.error,this.creatingSourceConnection=!1):(this.createTgtConnSuccess=!1,this.errorTgtMsg=s.error,this.creatingTargetConnection=!1)}})}}return t.\u0275fac=function(e){return new(e||t)(b(Bi),b(Bo),b(Es),b(Ti),b(Xi))},t.\u0275cmp=Ae({type:t,selectors:[["app-sharded-dataflow-migration-details-form"]],decls:26,vars:8,consts:[["mat-dialog-content","",1,"connect-load-database-container"],[1,"conn-profile-form",3,"formGroup"],[1,"mat-h2","header-title"],[1,"top"],[1,"top-1"],["appearance","outline"],["formControlName","inputType",3,"selectionChange"],["inputType",""],[3,"value",4,"ngFor","ngForOf"],["class","top-2",4,"ngIf"],["class","textInput",4,"ngIf"],[1,"last-btns"],["mat-button","","color","primary","mat-dialog-close",""],["mat-raised-button","","type","submit","color","accent",3,"disabled","click",4,"ngIf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["class","failure",4,"ngIf"],[3,"value"],[1,"top-2"],[1,"textInput"],["appearance","outline",1,"json-input"],["name","textInput","formControlName","textInput","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","5","cdkAutosizeMaxRows","20"],["autosize","cdkTextareaAutosize"],[1,"mat-h4","header-title"],[1,"source-radio-button-container"],["formControlName","sourceProfileOption",1,"radio-button-container",3,"ngModel","ngModelChange"],["class","radio-button",3,"value","change",4,"ngFor","ngForOf"],[4,"ngIf"],["matTooltip","Logical Shard ID value will be used to populate the migration_shard_id column added as part of sharded database migration",1,"configure"],[1,"border"],["formArrayName","shardMappingTable"],[4,"ngFor","ngForOf"],[1,"table-buttons"],["mat-raised-button","","color","primary","type","button",3,"click"],[1,"target-radio-button-container"],["formControlName","targetProfileOption",1,"radio-button-container",3,"ngModel","ngModelChange"],[1,"radio-button",3,"value","change"],["formControlName","existingSourceProfile","required","true","ng-value","selectedProfile",1,"input-field"],["matInput","","type","text","formControlName","dataShardId","required","true","readonly","",3,"value"],["matInput","","placeholder","Host","type","text","formControlName","host","required","true"],["matInput","","placeholder","User","type","text","formControlName","user","required","true"],["matInput","","placeholder","Port","type","text","formControlName","port","required","true"],["matInput","","placeholder","Password","type","password","formControlName","password","required","true"],["appearance","outline","hintLabel","Name can include lower case letters, numbers and hyphens. Must start with a letter."],["matInput","","placeholder","Connection profile name","type","text","formControlName","newSourceProfile","required","true"],["href","https://cloud.google.com/datastream/docs/network-connectivity-options#ipallowlists","target","_blank"],["class","connection-form-container",4,"ngFor","ngForOf"],["class","success","matTooltip","Test connection successful","matTooltipPosition","above",4,"ngIf"],["mat-raised-button","","type","button","color","primary",3,"disabled","click"],["class","success","matTooltip","Profile creation successful","matTooltipPosition","above",4,"ngIf"],["mat-raised-button","","type","button","color","warn",3,"disabled","click"],[1,"connection-form-container"],[1,"left-text"],["matTooltip","Copy",1,"icon","copy",3,"cdkCopyToClipboard"],[1,"failure"],["matTooltipPosition","above",1,"icon","error",3,"matTooltip"],[1,"spinner"],[3,"diameter"],[1,"spinner-small-text"],["matTooltip","Test connection successful","matTooltipPosition","above",1,"success"],["matTooltip","Profile creation successful","matTooltipPosition","above",1,"success"],[1,"shard-mapping-form-row",3,"formGroupName"],["matInput","","formControlName","logicalShardId","placeholder","Enter Logical ShardID"],["matInput","","formControlName","dbName","placeholder","Enter Database Name"],[1,"delete-btn",3,"click"],["formControlName","existingTargetProfile","required","true","ng-value","selectedProfile",1,"input-field"],["matInput","","placeholder","Connection profile name","type","text","formControlName","newTargetProfile","required","true"],["mat-raised-button","","type","submit","color","accent",3,"disabled","click"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"form",1)(2,"span",2),h(3,"Datastream Details"),c(),E(4,"br"),d(5,"b"),h(6,"Note: Please configure the database used for schema conversion, if you want Spanner migration tool to migrate data from it as well."),c(),d(7,"div",3),h(8,"` "),d(9,"div",4)(10,"mat-form-field",5)(11,"mat-label"),h(12,"Input Type"),c(),d(13,"mat-select",6,7),N("selectionChange",function(){se(o);const s=$t(14);return i.setValidators(s.value)}),_(15,HX,2,2,"mat-option",8),c()()(),_(16,UX,9,2,"div",9),c(),_(17,zX,6,0,"div",10),_(18,cJ,35,10,"div",10),d(19,"div",11)(20,"button",12),h(21,"CANCEL"),c(),_(22,dJ,2,1,"button",13),d(23,"button",14),N("click",function(){return i.finalizeConnDetails()}),h(24," FINISH "),c(),_(25,uJ,5,2,"div",15),c()()()}2&e&&(f(1),m("formGroup",i.migrationProfileForm),f(14),m("ngForOf",i.inputOptionsList),f(1),m("ngIf","form"===i.migrationProfileForm.value.inputType),f(1),m("ngIf","text"===i.migrationProfileForm.value.inputType),f(1),m("ngIf","form"===i.migrationProfileForm.value.inputType),f(4),m("ngIf","form"===i.migrationProfileForm.value.inputType),f(1),m("disabled",!i.determineFinishValidity()),f(2),m("ngIf",""!=i.errorMsg))},directives:[wr,xi,Hn,Sn,En,Mn,Yi,bn,Xn,ri,_i,Et,$h,K6,ox,rx,Dn,li,vT,xp,Tp,fo,_n,ki,fv,eo,Ht,md,fd,Ji],styles:[".icon[_ngcontent-%COMP%]{font-size:15px}.connection-form-container[_ngcontent-%COMP%]{display:block}.left-text[_ngcontent-%COMP%]{width:40%;display:inline-block}.shard-mapping-form-row[_ngcontent-%COMP%]{width:80%;margin-left:auto;margin-right:auto}.table-header[_ngcontent-%COMP%]{width:80%;margin:auto auto 10px;text-align:right;display:flex;align-items:center;justify-content:space-between}form[_ngcontent-%COMP%], .table-body[_ngcontent-%COMP%]{flex:auto;overflow-y:auto}.table-buttons[_ngcontent-%COMP%]{margin-left:70%}.radio-button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;margin:15px 0;align-items:flex-start}.radio-button[_ngcontent-%COMP%]{margin:5px}.json-input[_ngcontent-%COMP%]{width:100%}.top[_ngcontent-%COMP%]{border:3px solid #fff;padding:20px}.top-1[_ngcontent-%COMP%]{width:60%;float:left}.top-2[_ngcontent-%COMP%]{width:40%;float:right;flex:auto}.last-btns[_ngcontent-%COMP%]{padding:20px;width:100%;float:left}"]}),t})();function pJ(t,n){1&t&&(d(0,"h2"),h(1,"Source and Target Database definitions"),c())}function fJ(t,n){1&t&&(d(0,"h2"),h(1,"Source and Target Database definitions (per shard)"),c())}function mJ(t,n){1&t&&(d(0,"th",35),h(1,"Title"),c())}function gJ(t,n){if(1&t&&(d(0,"td",36)(1,"b"),h(2),c()()),2&t){const e=n.$implicit;f(2),Ee(e.title)}}function _J(t,n){1&t&&(d(0,"th",35),h(1,"Source"),c())}function bJ(t,n){if(1&t&&(d(0,"td",36),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.source)}}function vJ(t,n){1&t&&(d(0,"th",35),h(1,"Destination"),c())}function yJ(t,n){if(1&t&&(d(0,"td",36),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.target)}}function CJ(t,n){1&t&&E(0,"tr",37)}function wJ(t,n){1&t&&E(0,"tr",38)}function DJ(t,n){if(1&t&&(d(0,"mat-option",39),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Se(" ",e," ")}}function SJ(t,n){if(1&t&&(d(0,"mat-option",39),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.name," ")}}function MJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-form-field",20)(2,"mat-label"),h(3,"Migration Type:"),c(),d(4,"mat-select",21),N("ngModelChange",function(o){return se(e),D().selectedMigrationType=o})("selectionChange",function(){return se(e),D().refreshPrerequisites()}),_(5,SJ,2,2,"mat-option",22),c()(),d(6,"mat-icon",23),h(7,"info"),c(),E(8,"br"),c()}if(2&t){const e=D();f(4),m("ngModel",e.selectedMigrationType),f(1),m("ngForOf",e.migrationTypes),f(1),m("matTooltip",e.migrationTypesHelpText.get(e.selectedMigrationType))}}function xJ(t,n){if(1&t&&(d(0,"mat-option",39),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Se(" ",e.displayName," ")}}function TJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-form-field",20)(2,"mat-label"),h(3,"Skip Foreign Key Creation:"),c(),d(4,"mat-select",40),N("ngModelChange",function(o){return se(e),D().isForeignKeySkipped=o}),_(5,xJ,2,2,"mat-option",22),c()()()}if(2&t){const e=D();f(4),m("ngModel",e.isForeignKeySkipped),f(1),m("ngForOf",e.skipForeignKeyResponseList)}}function kJ(t,n){1&t&&(d(0,"div",41)(1,"p",26)(2,"span",27),h(3,"1"),c(),d(4,"span"),h(5,"Please ensure that the application default credentials deployed on this machine have permissions to write to Spanner."),c()()())}function EJ(t,n){1&t&&(d(0,"div",41)(1,"p",26)(2,"span",27),h(3,"1"),c(),d(4,"span"),h(5,"Please ensure that the source is "),d(6,"a",42),h(7,"configured"),c(),h(8," for Datastream change data capture."),c()(),d(9,"p",26)(10,"span",27),h(11,"2"),c(),d(12,"span"),h(13,"Please ensure that Dataflow "),d(14,"a",43),h(15,"permissions"),c(),h(16," and "),d(17,"a",44),h(18,"networking"),c(),h(19," are correctly setup."),c()()())}function IJ(t,n){1&t&&(d(0,"mat-icon",46),h(1," check_circle "),c())}function OJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"h3"),h(2,"Source database details:"),c(),d(3,"p",26)(4,"span",27),h(5,"1"),c(),d(6,"span"),h(7,"Setup Source database details"),c(),d(8,"span")(9,"button",29),N("click",function(){return se(e),D().openSourceDetailsForm()}),h(10," Configure "),d(11,"mat-icon"),h(12,"edit"),c(),_(13,IJ,2,0,"mat-icon",45),c()()()()}if(2&t){const e=D();f(9),m("disabled",e.isMigrationInProgress),f(4),m("ngIf",e.isSourceDetailsSet)}}function AJ(t,n){1&t&&(d(0,"mat-icon",46),h(1," check_circle "),c())}function PJ(t,n){if(1&t){const e=pe();d(0,"div")(1,"mat-card-title"),h(2,"Source databases details:"),c(),d(3,"p",26)(4,"span",27),h(5,"1"),c(),d(6,"span"),h(7,"Setup Source Connection details "),d(8,"mat-icon",47),h(9," info"),c()(),d(10,"span")(11,"button",29),N("click",function(){return se(e),D().openShardedBulkSourceDetailsForm()}),h(12," Configure "),d(13,"mat-icon"),h(14,"edit"),c(),_(15,AJ,2,0,"mat-icon",45),c()()()()}if(2&t){const e=D();f(11),m("disabled",e.isMigrationInProgress),f(4),m("ngIf",e.isSourceDetailsSet)}}function RJ(t,n){1&t&&(d(0,"mat-icon",48),h(1," check_circle "),c())}function FJ(t,n){1&t&&(d(0,"mat-icon",51),h(1," check_circle "),c())}function NJ(t,n){if(1&t){const e=pe();d(0,"p",26)(1,"span",27),h(2,"2"),c(),d(3,"span"),h(4,"Configure Datastream "),d(5,"mat-icon",49),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openMigrationProfileForm()}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),_(12,FJ,2,0,"mat-icon",50),c()()()}if(2&t){const e=D();f(8),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet),f(4),m("ngIf",e.isSourceConnectionProfileSet)}}function LJ(t,n){1&t&&(d(0,"mat-icon",51),h(1," check_circle "),c())}function BJ(t,n){if(1&t){const e=pe();d(0,"p",26)(1,"span",27),h(2,"2"),c(),d(3,"span"),h(4,"Setup source connection profile "),d(5,"mat-icon",52),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openConnectionProfileForm(!0)}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),_(12,LJ,2,0,"mat-icon",50),c()()()}if(2&t){const e=D();f(8),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet),f(4),m("ngIf",e.isSourceConnectionProfileSet)}}function VJ(t,n){1&t&&(d(0,"mat-icon",55),h(1," check_circle "),c())}function jJ(t,n){if(1&t){const e=pe();d(0,"p",26)(1,"span",27),h(2,"3"),c(),d(3,"span"),h(4,"Setup target connection profile "),d(5,"mat-icon",53),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openConnectionProfileForm(!1)}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),_(12,VJ,2,0,"mat-icon",54),c()()()}if(2&t){const e=D();f(8),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet),f(4),m("ngIf",e.isTargetConnectionProfileSet)}}function HJ(t,n){1&t&&(d(0,"span",27),h(1,"3"),c())}function UJ(t,n){1&t&&(d(0,"span",27),h(1,"4"),c())}function zJ(t,n){if(1&t){const e=pe();d(0,"p",26),_(1,HJ,2,0,"span",56),_(2,UJ,2,0,"span",56),d(3,"span"),h(4,"Configure Dataflow (Optional) "),d(5,"mat-icon",57),h(6," info"),c()(),d(7,"span")(8,"button",29),N("click",function(){return se(e),D().openDataflowForm()}),h(9," Configure "),d(10,"mat-icon"),h(11,"edit"),c(),d(12,"mat-icon",58),h(13," check_circle "),c()()()()}if(2&t){const e=D();f(1),m("ngIf",e.isSharded),f(1),m("ngIf",!e.isSharded),f(6),m("disabled",e.isMigrationInProgress||!e.isTargetDetailSet)}}function $J(t,n){1&t&&(d(0,"span",27),h(1,"4"),c())}function GJ(t,n){if(1&t){const e=pe();d(0,"p",26),_(1,$J,2,0,"span",56),d(2,"span"),h(3,"Download configuration as JSON "),d(4,"mat-icon",59),h(5,"info "),c()(),d(6,"span")(7,"button",29),N("click",function(){return se(e),D().downloadConfiguration()}),h(8," Download "),d(9,"mat-icon",60),h(10," download"),c()()()()}if(2&t){const e=D();f(1),m("ngIf",e.isSharded),f(6),m("disabled",!e.isTargetDetailSet||!e.isTargetConnectionProfileSet)}}function WJ(t,n){if(1&t&&(d(0,"div",24)(1,"mat-card")(2,"mat-card-title"),h(3,"Configured Source Details"),c(),d(4,"p",26)(5,"span",27),h(6,"1"),c(),d(7,"span")(8,"b"),h(9,"Source Database: "),c(),h(10),c()(),d(11,"p",26)(12,"span",27),h(13,"2"),c(),d(14,"span")(15,"b"),h(16,"Number of physical instances configured: "),c(),h(17),c()(),d(18,"p",26)(19,"span",27),h(20,"3"),c(),d(21,"span")(22,"b"),h(23,"Number of logical shards configured: "),c(),h(24),c()()()()),2&t){const e=D();f(10),Ee(e.sourceDatabaseType),f(7),Se(" ",e.numberOfInstances,""),f(7),Se(" ",e.numberOfShards,"")}}function qJ(t,n){if(1&t&&(d(0,"div",24)(1,"mat-card")(2,"mat-card-title"),h(3,"Configured Target Details"),c(),d(4,"p",26)(5,"span",27),h(6,"1"),c(),d(7,"span")(8,"b"),h(9,"Spanner Database: "),c(),h(10),c()(),d(11,"p",26)(12,"span",27),h(13,"2"),c(),d(14,"span")(15,"b"),h(16,"Spanner Dialect: "),c(),h(17),c()(),d(18,"p",26)(19,"span",27),h(20,"3"),c(),d(21,"span")(22,"b"),h(23,"Region: "),c(),h(24),c()(),d(25,"p",26)(26,"span",27),h(27,"4"),c(),d(28,"span")(29,"b"),h(30,"Spanner Instance: "),c(),h(31),c()()()()),2&t){const e=D();f(10),Ee(e.targetDetails.TargetDB),f(7),Ee(e.dialect),f(7),Ee(e.region),f(7),Km("",e.instance," (Nodes: ",e.nodeCount,", Processing Units: ",e.processingUnits,")")}}function KJ(t,n){if(1&t&&(d(0,"div",61),E(1,"br")(2,"mat-progress-bar",62),d(3,"span"),h(4),c()()),2&t){const e=D();f(2),m("value",e.schemaMigrationProgress),f(2),Se(" ",e.schemaProgressMessage,"")}}function ZJ(t,n){if(1&t&&(d(0,"div",61),E(1,"br")(2,"mat-progress-bar",62),d(3,"span"),h(4),c()()),2&t){const e=D();f(2),m("value",e.dataMigrationProgress),f(2),Se(" ",e.dataProgressMessage,"")}}function QJ(t,n){if(1&t&&(d(0,"div",61),E(1,"br")(2,"mat-progress-bar",62),d(3,"span"),h(4),c()()),2&t){const e=D();f(2),m("value",e.foreignKeyUpdateProgress),f(2),Se(" ",e.foreignKeyProgressMessage,"")}}function YJ(t,n){1&t&&(d(0,"div"),E(1,"br"),d(2,"span",63),E(3,"mat-spinner",64),c(),d(4,"span",65),h(5,"Generating Resources"),c(),E(6,"br"),h(7," Note: Spanner migration tool is creating datastream and dataflow resources. Please look at the terminal logs to check the progress of resource creation. All created resources will be displayed here once they are generated. "),c()),2&t&&(f(3),m("diameter",20))}function XJ(t,n){if(1&t&&(d(0,"span")(1,"li"),h(2," Datastream job: "),d(3,"a",66),h(4),c()()()),2&t){const e=D(2);f(3),m("href",e.resourcesGenerated.DataStreamJobUrl,Gi),f(1),Ee(e.resourcesGenerated.DataStreamJobName)}}function JJ(t,n){if(1&t){const e=pe();d(0,"span")(1,"li"),h(2,"Dataflow job: "),d(3,"a",66),h(4),c(),d(5,"span")(6,"button",67),N("click",function(){se(e);const o=D(2);return o.openGcloudPopup(o.resourcesGenerated.DataflowGcloudCmd)}),d(7,"mat-icon",68),h(8," code"),c()()()()()}if(2&t){const e=D(2);f(3),m("href",e.resourcesGenerated.DataflowJobUrl,Gi),f(1),Ee(e.resourcesGenerated.DataflowJobName)}}function eee(t,n){if(1&t&&(d(0,"span")(1,"li"),h(2," Pubsub topic: "),d(3,"a",66),h(4),c()()()),2&t){const e=D(2);f(3),m("href",e.resourcesGenerated.PubsubTopicUrl,Gi),f(1),Ee(e.resourcesGenerated.PubsubTopicName)}}function tee(t,n){if(1&t&&(d(0,"span")(1,"li"),h(2," Pubsub subscription: "),d(3,"a",66),h(4),c()()()),2&t){const e=D(2);f(3),m("href",e.resourcesGenerated.PubsubSubscriptionUrl,Gi),f(1),Ee(e.resourcesGenerated.PubsubSubscriptionName)}}function nee(t,n){if(1&t&&(d(0,"li"),h(1),d(2,"a",66),h(3),c()()),2&t){const e=n.$implicit;f(1),Se(" Datastream job for shardId: ",e.key," - "),f(1),m("href",e.value.JobUrl,Gi),f(1),Ee(e.value.JobName)}}function iee(t,n){if(1&t&&(d(0,"span"),_(1,nee,4,3,"li",69),_s(2,"keyvalue"),c()),2&t){const e=D(2);f(1),m("ngForOf",bs(2,1,e.resourcesGenerated.ShardToDatastreamMap))}}function oee(t,n){if(1&t){const e=pe();d(0,"li"),h(1),d(2,"a",66),h(3),c(),d(4,"span")(5,"button",67),N("click",function(){const r=se(e).$implicit;return D(3).openGcloudPopup(r.value.GcloudCmd)}),d(6,"mat-icon",68),h(7," code"),c()()()()}if(2&t){const e=n.$implicit;f(1),Se(" Dataflow job for shardId: ",e.key," - "),f(1),m("href",e.value.JobUrl,Gi),f(1),Ee(e.value.JobName)}}function ree(t,n){if(1&t&&(d(0,"span"),_(1,oee,8,3,"li",69),_s(2,"keyvalue"),c()),2&t){const e=D(2);f(1),m("ngForOf",bs(2,1,e.resourcesGenerated.ShardToDataflowMap))}}function see(t,n){if(1&t&&(d(0,"li"),h(1),d(2,"a",66),h(3),c()()),2&t){const e=n.$implicit;f(1),Se(" Pubsub topic for shardId: ",e.key," - "),f(1),m("href",e.value.JobUrl,Gi),f(1),Ee(e.value.JobName)}}function aee(t,n){if(1&t&&(d(0,"span"),_(1,see,4,3,"li",69),_s(2,"keyvalue"),c()),2&t){const e=D(2);f(1),m("ngForOf",bs(2,1,e.resourcesGenerated.ShardToPubsubTopicMap))}}function lee(t,n){if(1&t&&(d(0,"li"),h(1),d(2,"a",66),h(3),c()()),2&t){const e=n.$implicit;f(1),Se(" Pubsub subscription for shardId: ",e.key," - "),f(1),m("href",e.value.JobUrl,Gi),f(1),Ee(e.value.JobName)}}function cee(t,n){if(1&t&&(d(0,"span"),_(1,lee,4,3,"li",69),_s(2,"keyvalue"),c()),2&t){const e=D(2);f(1),m("ngForOf",bs(2,1,e.resourcesGenerated.ShardToPubsubSubscriptionMap))}}function dee(t,n){1&t&&(d(0,"span")(1,"b"),h(2,"Note: "),c(),h(3,"Spanner migration tool has orchestrated the migration successfully. For minimal downtime migrations, it is safe to close Spanner migration tool now without affecting the progress of the migration. Please note that Spanner migration tool does not save the IDs of the Dataflow jobs created once closed, so please keep copy over the links in the Generated Resources section above before closing Spanner migration tool. "),c())}function uee(t,n){if(1&t&&(d(0,"div")(1,"h3"),h(2," Generated Resources:"),c(),d(3,"li"),h(4,"Spanner database: "),d(5,"a",66),h(6),c()(),d(7,"li"),h(8,"GCS bucket: "),d(9,"a",66),h(10),c()(),_(11,XJ,5,2,"span",10),_(12,JJ,9,2,"span",10),_(13,eee,5,2,"span",10),_(14,tee,5,2,"span",10),_(15,iee,3,3,"span",10),_(16,ree,3,3,"span",10),_(17,aee,3,3,"span",10),_(18,cee,3,3,"span",10),E(19,"br")(20,"br"),_(21,dee,4,0,"span",10),c()),2&t){const e=D();f(5),m("href",e.resourcesGenerated.DatabaseUrl,Gi),f(1),Ee(e.resourcesGenerated.DatabaseName),f(3),m("href",e.resourcesGenerated.BucketUrl,Gi),f(1),Ee(e.resourcesGenerated.BucketName),f(1),m("ngIf",""!==e.resourcesGenerated.DataStreamJobName&&"lowdt"===e.selectedMigrationType&&!e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.DataflowJobName&&"lowdt"===e.selectedMigrationType&&!e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.PubsubTopicName&&"lowdt"===e.selectedMigrationType&&!e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.PubsubSubscriptionName&&"lowdt"===e.selectedMigrationType&&!e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.DataStreamJobName&&"lowdt"===e.selectedMigrationType&&e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.DataflowJobName&&"lowdt"===e.selectedMigrationType&&e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.PubsubTopicName&&"lowdt"===e.selectedMigrationType&&e.isSharded),f(1),m("ngIf",""!==e.resourcesGenerated.PubsubSubscriptionName&&"lowdt"===e.selectedMigrationType&&e.isSharded),f(3),m("ngIf","lowdt"===e.selectedMigrationType)}}function hee(t,n){if(1&t){const e=pe();d(0,"span")(1,"button",70),N("click",function(){return se(e),D().migrate()}),h(2,"Migrate"),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.isTargetDetailSet&&"lowdt"===e.selectedMigrationType&&e.isSourceConnectionProfileSet&&e.isTargetConnectionProfileSet||e.isTargetDetailSet&&"bulk"===e.selectedMigrationType)||e.isMigrationInProgress)}}function pee(t,n){if(1&t){const e=pe();d(0,"span")(1,"button",71),N("click",function(){return se(e),D().endMigration()}),h(2,"End Migration"),c()()}}const fee=[{path:"",component:xW},{path:"source",component:tq,children:[{path:"",redirectTo:"/direct-connection",pathMatch:"full"},{path:"direct-connection",component:LG},{path:"load-dump",component:jW},{path:"load-session",component:GW}]},{path:"workspace",component:lX},{path:"instruction",component:uI},{path:"prepare-migration",component:(()=>{class t{constructor(e,i,o,r,s){this.dialog=e,this.fetch=i,this.snack=o,this.data=r,this.sidenav=s,this.displayedColumns=["Title","Source","Destination"],this.dataSource=[],this.migrationModes=[],this.migrationTypes=[],this.isSourceConnectionProfileSet=!1,this.isTargetConnectionProfileSet=!1,this.isDataflowConfigurationSet=!1,this.isSourceDetailsSet=!1,this.isTargetDetailSet=!1,this.isForeignKeySkipped=!1,this.isMigrationDetailSet=!1,this.isStreamingSupported=!1,this.hasDataMigrationStarted=!1,this.hasSchemaMigrationStarted=!1,this.hasForeignKeyUpdateStarted=!1,this.selectedMigrationMode=No.schemaAndData,this.connectionType=mi.DirectConnect,this.selectedMigrationType=ci.lowDowntimeMigration,this.isMigrationInProgress=!1,this.isLowDtMigrationRunning=!1,this.isResourceGenerated=!1,this.generatingResources=!1,this.errorMessage="",this.schemaProgressMessage="Schema migration in progress...",this.dataProgressMessage="Data migration in progress...",this.foreignKeyProgressMessage="Foreign key update in progress...",this.dataMigrationProgress=0,this.schemaMigrationProgress=0,this.foreignKeyUpdateProgress=0,this.sourceDatabaseName="",this.sourceDatabaseType="",this.resourcesGenerated={DatabaseName:"",DatabaseUrl:"",BucketName:"",BucketUrl:"",DataStreamJobName:"",DataStreamJobUrl:"",DataflowJobName:"",DataflowJobUrl:"",PubsubTopicName:"",PubsubTopicUrl:"",PubsubSubscriptionName:"",PubsubSubscriptionUrl:"",DataflowGcloudCmd:"",ShardToDatastreamMap:new Map,ShardToDataflowMap:new Map,ShardToPubsubTopicMap:new Map,ShardToPubsubSubscriptionMap:new Map},this.region="",this.instance="",this.dialect="",this.isSharded=!1,this.numberOfShards="0",this.numberOfInstances="0",this.nodeCount=0,this.processingUnits=0,this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},this.dataflowConfig={network:localStorage.getItem("network"),subnetwork:localStorage.getItem("subnetwork"),hostProjectId:localStorage.getItem("hostProjectId"),maxWorkers:localStorage.getItem("maxWorkers"),numWorkers:localStorage.getItem("numWorkers"),serviceAccountEmail:localStorage.getItem("serviceAccountEmail")},this.spannerConfig={GCPProjectID:"",SpannerInstanceID:"",IsMetadataDbCreated:!1,IsConfigValid:!1},this.skipForeignKeyResponseList=[{value:!1,displayName:"No"},{value:!0,displayName:"Yes"}],this.migrationModesHelpText=new Map([["Schema","Migrates only the schema of the source database to the configured Spanner instance."],["Data","Migrates the data from the source database to the configured Spanner database. The configured database should already contain the schema."],["Schema And Data","Migrates both the schema and the data from the source database to Spanner."]]),this.migrationTypesHelpText=new Map([["bulk","Use the POC migration option when you want to migrate a sample of your data (<100GB) to do a Proof of Concept. It uses this machine's resources to copy data from the source database to Spanner"],["lowdt","Uses change data capture via Datastream to setup a continuous data replication pipeline from source to Spanner, using Dataflow jobs to perform the actual data migration."]])}refreshMigrationMode(){this.selectedMigrationMode!==No.schemaOnly&&this.isStreamingSupported&&this.connectionType!==mi.DumpFile?this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration},{name:"Minimal downtime Migration",value:ci.lowDowntimeMigration}]:(this.selectedMigrationType=ci.bulkMigration,this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration}])}refreshPrerequisites(){this.isSourceConnectionProfileSet=!1,this.isTargetConnectionProfileSet=!1,this.isTargetDetailSet=!1,this.refreshMigrationMode()}ngOnInit(){this.initializeFromLocalStorage(),this.data.config.subscribe(e=>{this.spannerConfig=e}),this.convObj=this.data.conv.subscribe(e=>{this.conv=e}),localStorage.setItem("hostProjectId",this.spannerConfig.GCPProjectID),this.fetch.getSourceDestinationSummary().subscribe({next:e=>{this.connectionType=e.ConnectionType,this.dataSource=[{title:"Database Type",source:e.DatabaseType,target:"Spanner"},{title:"Number of tables",source:e.SourceTableCount,target:e.SpannerTableCount},{title:"Number of indexes",source:e.SourceIndexCount,target:e.SpannerIndexCount}],this.sourceDatabaseType=e.DatabaseType,this.region=e.Region,this.instance=e.Instance,this.dialect=e.Dialect,this.isSharded=e.IsSharded,this.processingUnits=e.ProcessingUnits,this.nodeCount=e.NodeCount,(e.DatabaseType==xr.MySQL.toLowerCase()||e.DatabaseType==xr.Oracle.toLowerCase()||e.DatabaseType==xr.Postgres.toLowerCase())&&(this.isStreamingSupported=!0),this.isStreamingSupported?this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration},{name:"Minimal downtime Migration",value:ci.lowDowntimeMigration}]:(this.selectedMigrationType=ci.bulkMigration,this.migrationTypes=[{name:"POC Migration",value:ci.bulkMigration}]),this.sourceDatabaseName=e.SourceDatabaseName,this.migrationModes=[No.schemaOnly,No.dataOnly,No.schemaAndData]},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}initializeFromLocalStorage(){null!=localStorage.getItem(le.MigrationMode)&&(this.selectedMigrationMode=localStorage.getItem(le.MigrationMode)),null!=localStorage.getItem(le.MigrationType)&&(this.selectedMigrationType=localStorage.getItem(le.MigrationType)),null!=localStorage.getItem(le.isForeignKeySkipped)&&(this.isForeignKeySkipped="true"===localStorage.getItem(le.isForeignKeySkipped)),null!=localStorage.getItem(le.IsMigrationInProgress)&&(this.isMigrationInProgress="true"===localStorage.getItem(le.IsMigrationInProgress),this.subscribeMigrationProgress()),null!=localStorage.getItem(le.IsTargetDetailSet)&&(this.isTargetDetailSet="true"===localStorage.getItem(le.IsTargetDetailSet)),null!=localStorage.getItem(le.IsSourceConnectionProfileSet)&&(this.isSourceConnectionProfileSet="true"===localStorage.getItem(le.IsSourceConnectionProfileSet)),null!=localStorage.getItem("isDataflowConfigSet")&&(this.isDataflowConfigurationSet="true"===localStorage.getItem("isDataflowConfigSet")),null!=localStorage.getItem(le.IsTargetConnectionProfileSet)&&(this.isTargetConnectionProfileSet="true"===localStorage.getItem(le.IsTargetConnectionProfileSet)),null!=localStorage.getItem(le.IsSourceDetailsSet)&&(this.isSourceDetailsSet="true"===localStorage.getItem(le.IsSourceDetailsSet)),null!=localStorage.getItem(le.IsMigrationDetailSet)&&(this.isMigrationDetailSet="true"===localStorage.getItem(le.IsMigrationDetailSet)),null!=localStorage.getItem(le.HasSchemaMigrationStarted)&&(this.hasSchemaMigrationStarted="true"===localStorage.getItem(le.HasSchemaMigrationStarted)),null!=localStorage.getItem(le.HasDataMigrationStarted)&&(this.hasDataMigrationStarted="true"===localStorage.getItem(le.HasDataMigrationStarted)),null!=localStorage.getItem(le.DataMigrationProgress)&&(this.dataMigrationProgress=parseInt(localStorage.getItem(le.DataMigrationProgress))),null!=localStorage.getItem(le.SchemaMigrationProgress)&&(this.schemaMigrationProgress=parseInt(localStorage.getItem(le.SchemaMigrationProgress))),null!=localStorage.getItem(le.DataProgressMessage)&&(this.dataProgressMessage=localStorage.getItem(le.DataProgressMessage)),null!=localStorage.getItem(le.SchemaProgressMessage)&&(this.schemaProgressMessage=localStorage.getItem(le.SchemaProgressMessage)),null!=localStorage.getItem(le.ForeignKeyProgressMessage)&&(this.foreignKeyProgressMessage=localStorage.getItem(le.ForeignKeyProgressMessage)),null!=localStorage.getItem(le.ForeignKeyUpdateProgress)&&(this.foreignKeyUpdateProgress=parseInt(localStorage.getItem(le.ForeignKeyUpdateProgress))),null!=localStorage.getItem(le.HasForeignKeyUpdateStarted)&&(this.hasForeignKeyUpdateStarted="true"===localStorage.getItem(le.HasForeignKeyUpdateStarted)),null!=localStorage.getItem(le.GeneratingResources)&&(this.generatingResources="true"===localStorage.getItem(le.GeneratingResources)),null!=localStorage.getItem(le.NumberOfShards)&&(this.numberOfShards=localStorage.getItem(le.NumberOfShards)),null!=localStorage.getItem(le.NumberOfInstances)&&(this.numberOfInstances=localStorage.getItem(le.NumberOfInstances))}clearLocalStorage(){localStorage.removeItem(le.MigrationMode),localStorage.removeItem(le.MigrationType),localStorage.removeItem(le.IsTargetDetailSet),localStorage.removeItem(le.isForeignKeySkipped),localStorage.removeItem(le.IsSourceConnectionProfileSet),localStorage.removeItem(le.IsTargetConnectionProfileSet),localStorage.removeItem(le.IsSourceDetailsSet),localStorage.removeItem("isDataflowConfigSet"),localStorage.removeItem("network"),localStorage.removeItem("subnetwork"),localStorage.removeItem("maxWorkers"),localStorage.removeItem("numWorkers"),localStorage.removeItem("serviceAccountEmail"),localStorage.removeItem("hostProjectId"),localStorage.removeItem(le.IsMigrationInProgress),localStorage.removeItem(le.HasSchemaMigrationStarted),localStorage.removeItem(le.HasDataMigrationStarted),localStorage.removeItem(le.DataMigrationProgress),localStorage.removeItem(le.SchemaMigrationProgress),localStorage.removeItem(le.DataProgressMessage),localStorage.removeItem(le.SchemaProgressMessage),localStorage.removeItem(le.ForeignKeyProgressMessage),localStorage.removeItem(le.ForeignKeyUpdateProgress),localStorage.removeItem(le.HasForeignKeyUpdateStarted),localStorage.removeItem(le.GeneratingResources),localStorage.removeItem(le.NumberOfShards),localStorage.removeItem(le.NumberOfInstances)}openConnectionProfileForm(e){this.dialog.open(CX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{IsSource:e,SourceDatabaseType:this.sourceDatabaseType}}).afterClosed().subscribe(()=>{this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},this.isSourceConnectionProfileSet="true"===localStorage.getItem(le.IsSourceConnectionProfileSet),this.isTargetConnectionProfileSet="true"===localStorage.getItem(le.IsTargetConnectionProfileSet),this.isTargetDetailSet&&this.isSourceConnectionProfileSet&&this.isTargetConnectionProfileSet&&(localStorage.setItem(le.IsMigrationDetailSet,"true"),this.isMigrationDetailSet=!0)})}openMigrationProfileForm(){this.dialog.open(hJ,{width:"30vw",minWidth:"1200px",maxWidth:"1600px",data:{IsSource:!1,SourceDatabaseType:this.sourceDatabaseType,Region:this.region}}).afterClosed().subscribe(()=>{this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},null!=localStorage.getItem(le.NumberOfShards)&&(this.numberOfShards=localStorage.getItem(le.NumberOfShards)),null!=localStorage.getItem(le.NumberOfInstances)&&(this.numberOfInstances=localStorage.getItem(le.NumberOfInstances)),this.isSourceConnectionProfileSet="true"===localStorage.getItem(le.IsSourceConnectionProfileSet),this.isTargetConnectionProfileSet="true"===localStorage.getItem(le.IsTargetConnectionProfileSet),this.isTargetDetailSet&&this.isSourceConnectionProfileSet&&this.isTargetConnectionProfileSet&&(localStorage.setItem(le.IsMigrationDetailSet,"true"),this.isMigrationDetailSet=!0)})}openGcloudPopup(e){this.dialog.open(RX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:e})}openDataflowForm(){this.dialog.open(PX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:this.spannerConfig}).afterClosed().subscribe(()=>{this.dataflowConfig={network:localStorage.getItem("network"),subnetwork:localStorage.getItem("subnetwork"),hostProjectId:localStorage.getItem("hostProjectId"),maxWorkers:localStorage.getItem("maxWorkers"),numWorkers:localStorage.getItem("numWorkers"),serviceAccountEmail:localStorage.getItem("serviceAccountEmail")},this.isDataflowConfigurationSet="true"===localStorage.getItem("isDataflowConfigSet"),this.isSharded&&this.fetch.setDataflowDetailsForShardedMigrations(this.dataflowConfig).subscribe({next:()=>{},error:i=>{this.snack.openSnackBar(i.error,"Close")}})})}endMigration(){this.dialog.open(AX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{SpannerDatabaseName:this.resourcesGenerated.DatabaseName,SpannerDatabaseUrl:this.resourcesGenerated.DatabaseUrl,SourceDatabaseType:this.sourceDatabaseType,SourceDatabaseName:this.sourceDatabaseName}}).afterClosed().subscribe()}openSourceDetailsForm(){this.dialog.open(IX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:this.sourceDatabaseType}).afterClosed().subscribe(()=>{this.isSourceDetailsSet="true"===localStorage.getItem(le.IsSourceDetailsSet)})}openShardedBulkSourceDetailsForm(){this.dialog.open(jX,{width:"30vw",minWidth:"400px",maxWidth:"550px",data:{sourceDatabaseEngine:this.sourceDatabaseType,isRestoredSession:this.connectionType}}).afterClosed().subscribe(()=>{this.isSourceDetailsSet="true"===localStorage.getItem(le.IsSourceDetailsSet),null!=localStorage.getItem(le.NumberOfShards)&&(this.numberOfShards=localStorage.getItem(le.NumberOfShards)),null!=localStorage.getItem(le.NumberOfInstances)&&(this.numberOfInstances=localStorage.getItem(le.NumberOfInstances))})}openTargetDetailsForm(){this.dialog.open(cX,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:{Region:this.region,Instance:this.instance,Dialect:this.dialect}}).afterClosed().subscribe(()=>{this.targetDetails={TargetDB:localStorage.getItem(Wt.TargetDB),SourceConnProfile:localStorage.getItem(Wt.SourceConnProfile),TargetConnProfile:localStorage.getItem(Wt.TargetConnProfile),ReplicationSlot:localStorage.getItem(Wt.ReplicationSlot),Publication:localStorage.getItem(Wt.Publication)},this.isTargetDetailSet="true"===localStorage.getItem(le.IsTargetDetailSet),(this.isSourceDetailsSet&&this.isTargetDetailSet&&this.connectionType===mi.SessionFile&&this.selectedMigrationMode!==No.schemaOnly||this.isTargetDetailSet&&this.selectedMigrationType==ci.bulkMigration&&this.connectionType!==mi.SessionFile||this.isTargetDetailSet&&this.selectedMigrationType==ci.bulkMigration&&this.connectionType===mi.SessionFile&&this.selectedMigrationMode===No.schemaOnly)&&(localStorage.setItem(le.IsMigrationDetailSet,"true"),this.isMigrationDetailSet=!0)})}migrate(){this.resetValues(),this.fetch.migrate({TargetDetails:this.targetDetails,DataflowConfig:this.dataflowConfig,IsSharded:this.isSharded,MigrationType:this.selectedMigrationType,MigrationMode:this.selectedMigrationMode,skipForeignKeys:this.isForeignKeySkipped}).subscribe({next:()=>{this.selectedMigrationMode==No.dataOnly?this.selectedMigrationType==ci.bulkMigration?(this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString())):(this.generatingResources=!0,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),this.snack.openSnackBar("Setting up dataflow and datastream jobs","Close")):(this.hasSchemaMigrationStarted=!0,localStorage.setItem(le.HasSchemaMigrationStarted,this.hasSchemaMigrationStarted.toString())),this.snack.openSnackBar("Migration started successfully","Close",5),this.subscribeMigrationProgress()},error:i=>{this.snack.openSnackBar(i.error,"Close"),this.isMigrationInProgress=!this.isMigrationInProgress,this.hasDataMigrationStarted=!1,this.hasSchemaMigrationStarted=!1,this.clearLocalStorage()}})}subscribeMigrationProgress(){var e=!1;this.subscription=function dX(t=0,n=td){return t<0&&(t=0),op(t,t,n)}(5e3).subscribe(i=>{this.fetch.getProgress().subscribe({next:o=>{""==o.ErrorMessage?o.ProgressStatus==js.SchemaMigrationComplete?(localStorage.setItem(le.SchemaMigrationProgress,"100"),this.schemaMigrationProgress=parseInt(localStorage.getItem(le.SchemaMigrationProgress)),this.selectedMigrationMode==No.schemaOnly?this.markMigrationComplete():this.selectedMigrationType==ci.lowDowntimeMigration?(this.markSchemaMigrationComplete(),this.generatingResources=!0,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),e||(this.snack.openSnackBar("Setting up dataflow and datastream jobs","Close"),e=!0)):(this.markSchemaMigrationComplete(),this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString()))):o.ProgressStatus==js.DataMigrationComplete?(this.selectedMigrationType!=ci.lowDowntimeMigration&&(this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString())),this.generatingResources=!1,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),this.markMigrationComplete()):o.ProgressStatus==js.DataWriteInProgress?(this.markSchemaMigrationComplete(),this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString()),localStorage.setItem(le.DataMigrationProgress,o.Progress.toString()),this.dataMigrationProgress=parseInt(localStorage.getItem(le.DataMigrationProgress))):o.ProgressStatus==js.ForeignKeyUpdateComplete?this.markMigrationComplete():o.ProgressStatus==js.ForeignKeyUpdateInProgress&&(this.markSchemaMigrationComplete(),this.selectedMigrationType==ci.bulkMigration&&(this.hasDataMigrationStarted=!0,localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString())),this.markForeignKeyUpdateInitiation(),this.dataMigrationProgress=100,localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),localStorage.setItem(le.ForeignKeyUpdateProgress,o.Progress.toString()),this.foreignKeyUpdateProgress=parseInt(localStorage.getItem(le.ForeignKeyUpdateProgress)),this.generatingResources=!1,localStorage.setItem(le.GeneratingResources,this.generatingResources.toString()),this.fetchGeneratedResources()):(this.errorMessage=o.ErrorMessage,this.subscription.unsubscribe(),this.isMigrationInProgress=!this.isMigrationInProgress,this.snack.openSnackBarWithoutTimeout(this.errorMessage,"Close"),this.schemaProgressMessage="Schema migration cancelled!",this.dataProgressMessage="Data migration cancelled!",this.foreignKeyProgressMessage="Foreign key update cancelled!",this.generatingResources=!1,this.isLowDtMigrationRunning=!1,this.clearLocalStorage())},error:o=>{this.snack.openSnackBar(o.error,"Close"),this.isMigrationInProgress=!this.isMigrationInProgress,this.clearLocalStorage()}})})}markForeignKeyUpdateInitiation(){this.dataMigrationProgress=100,this.dataProgressMessage="Data migration completed successfully!",localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),this.hasForeignKeyUpdateStarted=!0,this.foreignKeyUpdateProgress=parseInt(localStorage.getItem(le.ForeignKeyUpdateProgress))}markSchemaMigrationComplete(){this.schemaMigrationProgress=100,this.schemaProgressMessage="Schema migration completed successfully!",localStorage.setItem(le.SchemaMigrationProgress,this.schemaMigrationProgress.toString()),localStorage.setItem(le.SchemaProgressMessage,this.schemaProgressMessage)}downloadConfiguration(){this.fetch.getSourceProfile().subscribe({next:e=>{this.configuredMigrationProfile=e;var i=document.createElement("a");let o=JSON.stringify(this.configuredMigrationProfile,null,"\t").replace(/9223372036854776000/g,"9223372036854775807");i.href="data:text/json;charset=utf-8,"+encodeURIComponent(o),i.download=localStorage.getItem(Wt.TargetDB)+"-"+this.configuredMigrationProfile.configType+"-shardConfig.cfg",i.click()},error:e=>{this.snack.openSnackBar(e.error,"Close")}})}fetchGeneratedResources(){this.fetch.getGeneratedResources().subscribe({next:e=>{this.isResourceGenerated=!0,this.resourcesGenerated=e},error:e=>{this.snack.openSnackBar(e.error,"Close")}}),this.selectedMigrationType===ci.lowDowntimeMigration&&(this.isLowDtMigrationRunning=!0)}markMigrationComplete(){this.subscription.unsubscribe(),this.isMigrationInProgress=!this.isMigrationInProgress,this.dataProgressMessage="Data migration completed successfully!",this.schemaProgressMessage="Schema migration completed successfully!",this.schemaMigrationProgress=100,this.dataMigrationProgress=100,this.foreignKeyUpdateProgress=100,this.foreignKeyProgressMessage="Foreign key updated successfully!",this.fetchGeneratedResources(),this.clearLocalStorage(),this.refreshPrerequisites()}resetValues(){this.isMigrationInProgress=!this.isMigrationInProgress,this.hasSchemaMigrationStarted=!1,this.hasDataMigrationStarted=!1,this.generatingResources=!1,this.dataMigrationProgress=0,this.schemaMigrationProgress=0,this.schemaProgressMessage="Schema migration in progress...",this.dataProgressMessage="Data migration in progress...",this.isResourceGenerated=!1,this.hasForeignKeyUpdateStarted=!1,this.foreignKeyUpdateProgress=100,this.foreignKeyProgressMessage="Foreign key update in progress...",this.resourcesGenerated={DatabaseName:"",DatabaseUrl:"",BucketName:"",BucketUrl:"",DataStreamJobName:"",DataStreamJobUrl:"",DataflowJobName:"",DataflowJobUrl:"",PubsubTopicName:"",PubsubTopicUrl:"",PubsubSubscriptionName:"",PubsubSubscriptionUrl:"",DataflowGcloudCmd:"",ShardToDatastreamMap:new Map,ShardToDataflowMap:new Map,ShardToPubsubTopicMap:new Map,ShardToPubsubSubscriptionMap:new Map},this.initializeLocalStorage()}initializeLocalStorage(){localStorage.setItem(le.MigrationMode,this.selectedMigrationMode),localStorage.setItem(le.MigrationType,this.selectedMigrationType),localStorage.setItem(le.isForeignKeySkipped,this.isForeignKeySkipped.toString()),localStorage.setItem(le.IsMigrationInProgress,this.isMigrationInProgress.toString()),localStorage.setItem(le.HasSchemaMigrationStarted,this.hasSchemaMigrationStarted.toString()),localStorage.setItem(le.HasDataMigrationStarted,this.hasDataMigrationStarted.toString()),localStorage.setItem(le.HasForeignKeyUpdateStarted,this.hasForeignKeyUpdateStarted.toString()),localStorage.setItem(le.DataMigrationProgress,this.dataMigrationProgress.toString()),localStorage.setItem(le.SchemaMigrationProgress,this.schemaMigrationProgress.toString()),localStorage.setItem(le.ForeignKeyUpdateProgress,this.foreignKeyUpdateProgress.toString()),localStorage.setItem(le.SchemaProgressMessage,this.schemaProgressMessage),localStorage.setItem(le.DataProgressMessage,this.dataProgressMessage),localStorage.setItem(le.ForeignKeyProgressMessage,this.foreignKeyProgressMessage),localStorage.setItem(le.IsTargetDetailSet,this.isTargetDetailSet.toString()),localStorage.setItem(le.GeneratingResources,this.generatingResources.toString())}openSaveSessionSidenav(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("saveSession"),this.sidenav.setSidenavDatabaseName(this.conv.DatabaseName)}downloadSession(){dI(this.conv)}ngOnDestroy(){}}return t.\u0275fac=function(e){return new(e||t)(b(ns),b(Bi),b(Bo),b(Ln),b(Ei))},t.\u0275cmp=Ae({type:t,selectors:[["app-prepare-migration"]],decls:90,vars:34,consts:[[1,"header"],[1,"breadcrumb"],["mat-button","",1,"breadcrumb_source",3,"routerLink"],["mat-button","",1,"breadcrumb_workspace",3,"routerLink"],["mat-button","",1,"breadcrumb_prepare_migration",3,"routerLink"],[1,"header_action"],["mat-button","",3,"click"],["mat-button","","color","primary",3,"click"],[1,"body"],[1,"definition-container"],[4,"ngIf"],[1,"summary"],["mat-table","",3,"dataSource"],["matColumnDef","Title"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","Source"],["matColumnDef","Destination"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["appearance","outline"],[3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[1,"configure",3,"matTooltip"],[1,"mat-card-class"],["class","static-prereqs",4,"ngIf"],[1,"point"],[1,"bullet"],["matTooltip","Configure the database in Spanner you want this migration to write to (up till now only GCP Project ID and Spanner Instance name have been configured.)",1,"configure"],["mat-button","",1,"configure",3,"disabled","click"],["class","success","matTooltip","Target details configured","matTooltipPosition","above",4,"ngIf"],["class","point",4,"ngIf"],["class","mat-card-class",4,"ngIf"],["class","progress_bar",4,"ngIf"],[1,"migrate"],["mat-header-cell",""],["mat-cell",""],["mat-header-row",""],["mat-row",""],[3,"value"],[3,"ngModel","ngModelChange"],[1,"static-prereqs"],["href","https://cloud.google.com/datastream/docs/sources","target","_blank"],["href","https://cloud.google.com/dataflow/docs/concepts/security-and-permissions","target","_blank"],["href","https://cloud.google.com/dataflow/docs/guides/routes-firewall","target","_blank"],["class","success","matTooltip","Source details configured","matTooltipPosition","above",4,"ngIf"],["matTooltip","Source details configured","matTooltipPosition","above",1,"success"],["matTooltip","Configure the connection info of all source shards to connect to and migrate data from.",1,"configure"],["matTooltip","Target details configured","matTooltipPosition","above",1,"success"],["matTooltip","Datastream will be used to capture change events from the source database. Please ensure you have met the pre-requistes required for setting up Datastream in your GCP environment. ",1,"configure"],["class","success","matTooltip","Source connection profile configured","matTooltipPosition","above",4,"ngIf"],["matTooltip","Source connection profile configured","matTooltipPosition","above",1,"success"],["matTooltip","Configure the source connection profile to allow Datastream to read from your source database",1,"configure"],["matTooltip","Create a connection profile for datastream to write to a GCS bucket. Spanner migration tool will automatically create the bucket for you.",1,"configure"],["class","success","matTooltip","Target connection profile configured","matTooltipPosition","above",4,"ngIf"],["matTooltip","Target connection profile configured","matTooltipPosition","above",1,"success"],["class","bullet",4,"ngIf"],["matTooltip","Dataflow will be used to perform the actual migration of data from source to Spanner. This helps you configure the execution environment for Dataflow jobs e.g VPC.",1,"configure"],["matTooltip","Dataflow Configured","matTooltipPosition","above",1,"success"],["matTooltip","Download the configuration done above as JSON.",1,"configure"],["matTooltip","Download configured shards as JSON","matTooltipPosition","above"],[1,"progress_bar"],["mode","determinate",3,"value"],[1,"spinner"],[3,"diameter"],[1,"spinner-text"],["target","_blank",3,"href"],["mat-button","",1,"configure",3,"click"],["matTooltip","Equivalent gCloud command","matTooltipPosition","above"],[4,"ngFor","ngForOf"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"a",2),h(3,"Select Source"),c(),d(4,"span"),h(5,">"),c(),d(6,"a",3),h(7),c(),d(8,"span"),h(9,">"),c(),d(10,"a",4)(11,"b"),h(12,"Prepare Migration"),c()()(),d(13,"div",5)(14,"button",6),N("click",function(){return i.openSaveSessionSidenav()}),h(15," SAVE SESSION "),c(),d(16,"button",7),N("click",function(){return i.downloadSession()}),h(17,"DOWNLOAD SESSION FILE"),c()()(),E(18,"br"),d(19,"div",8)(20,"div",9),_(21,pJ,2,0,"h2",10),_(22,fJ,2,0,"h2",10),d(23,"div",11)(24,"table",12),be(25,13),_(26,mJ,2,0,"th",14),_(27,gJ,3,1,"td",15),ve(),be(28,16),_(29,_J,2,0,"th",14),_(30,bJ,2,1,"td",15),ve(),be(31,17),_(32,vJ,2,0,"th",14),_(33,yJ,2,1,"td",15),ve(),_(34,CJ,1,0,"tr",18),_(35,wJ,1,0,"tr",19),c()()(),E(36,"br"),d(37,"mat-form-field",20)(38,"mat-label"),h(39,"Migration Mode:"),c(),d(40,"mat-select",21),N("ngModelChange",function(r){return i.selectedMigrationMode=r})("selectionChange",function(){return i.refreshPrerequisites()}),_(41,DJ,2,2,"mat-option",22),c()(),d(42,"mat-icon",23),h(43,"info"),c(),E(44,"br"),_(45,MJ,9,3,"div",10),_(46,TJ,6,2,"div",10),d(47,"div",24)(48,"mat-card")(49,"mat-card-title"),h(50,"Prerequisites"),c(),d(51,"mat-card-subtitle"),h(52,"Before we begin, please ensure you have done the following:"),c(),_(53,kJ,6,0,"div",25),_(54,EJ,20,0,"div",25),c()(),d(55,"div",24)(56,"mat-card"),_(57,OJ,14,2,"div",10),_(58,PJ,16,2,"div",10),d(59,"div")(60,"mat-card-title"),h(61,"Target details:"),c(),d(62,"p",26)(63,"span",27),h(64,"1"),c(),d(65,"span"),h(66,"Configure Spanner Database "),d(67,"mat-icon",28),h(68," info"),c()(),d(69,"span")(70,"button",29),N("click",function(){return i.openTargetDetailsForm()}),h(71," Configure "),d(72,"mat-icon"),h(73,"edit"),c(),_(74,RJ,2,0,"mat-icon",30),c()()(),_(75,NJ,13,2,"p",31),_(76,BJ,13,2,"p",31),_(77,jJ,13,2,"p",31),_(78,zJ,14,3,"p",31),_(79,GJ,11,2,"p",31),c()()(),_(80,WJ,25,3,"div",32),_(81,qJ,32,6,"div",32),_(82,KJ,5,2,"div",33),_(83,ZJ,5,2,"div",33),_(84,QJ,5,2,"div",33),_(85,YJ,8,1,"div",10),_(86,uee,22,13,"div",10),d(87,"div",34),_(88,hee,3,1,"span",10),_(89,pee,3,0,"span",10),c()()),2&e&&(f(2),m("routerLink","/"),f(4),m("routerLink","/workspace"),f(1),Se("Configure Schema (",i.dialect," Dialect)"),f(3),m("routerLink","/prepare-migration"),f(11),m("ngIf",!i.isSharded),f(1),m("ngIf",i.isSharded),f(2),m("dataSource",i.dataSource),f(10),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns),f(5),m("ngModel",i.selectedMigrationMode),f(1),m("ngForOf",i.migrationModes),f(1),m("matTooltip",i.migrationModesHelpText.get(i.selectedMigrationMode)),f(3),m("ngIf","Schema"!=i.selectedMigrationMode),f(1),m("ngIf",!("Schema"===i.selectedMigrationMode||"lowdt"===i.selectedMigrationType)),f(7),m("ngIf","bulk"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(3),m("ngIf","sessionFile"===i.connectionType&&"Schema"!==i.selectedMigrationMode&&!i.isSharded),f(1),m("ngIf",i.isSharded&&"bulk"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(12),m("disabled",i.isMigrationInProgress||i.isLowDtMigrationRunning),f(4),m("ngIf",i.isTargetDetailSet),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&i.isSharded),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&!i.isSharded),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&!i.isSharded),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode),f(1),m("ngIf","lowdt"===i.selectedMigrationType&&"Schema"!==i.selectedMigrationMode&&i.isSharded),f(1),m("ngIf","Schema"!==i.selectedMigrationMode&&i.isSharded),f(1),m("ngIf",i.isTargetDetailSet),f(1),m("ngIf",i.hasSchemaMigrationStarted),f(1),m("ngIf",i.hasDataMigrationStarted),f(1),m("ngIf",i.hasForeignKeyUpdateStarted),f(1),m("ngIf",i.generatingResources),f(1),m("ngIf",i.isResourceGenerated),f(2),m("ngIf",!i.isLowDtMigrationRunning),f(1),m("ngIf",i.isLowDtMigrationRunning))},directives:[BM,jd,Ht,Et,As,Xr,Yr,Jr,Qr,es,Ps,Fs,Rs,Ns,En,Mn,Yi,bn,El,ri,_i,_n,ki,$h,ox,rx,lx,eo],pipes:[YD],styles:[".header[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb_workspace[_ngcontent-%COMP%]{color:#0000008f}.header[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb_prepare_migration[_ngcontent-%COMP%]{font-weight:400;font-size:14px}.definition-container[_ngcontent-%COMP%]{max-height:500px;overflow:auto}.definition-container[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:13px}.body[_ngcontent-%COMP%]{margin-left:20px}table[_ngcontent-%COMP%]{min-width:30%;max-width:50%}table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:10%}.configure[_ngcontent-%COMP%]{color:#1967d2}.migrate[_ngcontent-%COMP%]{margin-top:10px}"]}),t})()},{path:"**",redirectTo:"/",pathMatch:"full"}];let mee=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t}),t.\u0275inj=it({imports:[[rI.forRoot(fee)],rI]}),t})();function gee(t,n){if(1&t&&(d(0,"mat-option",13),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function _ee(t,n){if(1&t&&(d(0,"mat-option",13),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function bee(t,n){if(1&t&&(d(0,"mat-form-field",1)(1,"mat-label"),h(2,"Destination data type"),c(),d(3,"mat-select",14),_(4,_ee,2,2,"mat-option",10),c()()),2&t){const e=D();f(4),m("ngForOf",e.destinationType)}}function vee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",15),N("click",function(){return se(e),D().formSubmit()}),h(2," ADD RULE "),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.addGlobalDataTypeForm.valid&&e.ruleNameValid))}}function yee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",16),N("click",function(){return se(e),D().deleteRule()}),h(2,"DELETE RULE"),c()()}}let Cee=(()=>{class t{constructor(e,i,o,r,s){this.fb=e,this.data=i,this.sidenav=o,this.conversion=r,this.fetch=s,this.ruleNameValid=!1,this.ruleType="",this.ruleName="",this.resetRuleType=new Pe,this.conversionType={},this.sourceType=[],this.destinationType=[],this.viewRuleData=[],this.viewRuleFlag=!1,this.pgSQLToStandardTypeTypemap=new Map,this.standardTypeToPGSQLTypemap=new Map,this.conv={},this.isPostgreSQLDialect=!1,this.addGlobalDataTypeForm=this.fb.group({objectType:["column",de.required],table:["allTable",de.required],column:["allColumn",de.required],sourceType:["",de.required],destinationType:["",de.required]})}ngOnInit(){this.data.typeMap.subscribe({next:e=>{this.conversionType=e,this.sourceType=Object.keys(this.conversionType)}}),this.data.conv.subscribe({next:e=>{this.conv=e,this.isPostgreSQLDialect="postgresql"===this.conv.SpDialect}}),this.conversion.pgSQLToStandardTypeTypeMap.subscribe(e=>{this.pgSQLToStandardTypeTypemap=e}),this.conversion.standardTypeToPGSQLTypeMap.subscribe(e=>{this.standardTypeToPGSQLTypemap=e}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.viewRuleData&&this.setViewRuleData(this.viewRuleData)})})}setViewRuleData(e){var i,o,r;if(this.ruleId=null==e?void 0:e.Id,this.addGlobalDataTypeForm.controls.sourceType.setValue(Object.keys(null==e?void 0:e.Data)[0]),this.updateDestinationType(Object.keys(null==e?void 0:e.Data)[0]),this.isPostgreSQLDialect){let s=this.standardTypeToPGSQLTypemap.get(Object.values(null===(i=this.viewRuleData)||void 0===i?void 0:i.Data)[0]);this.addGlobalDataTypeForm.controls.destinationType.setValue(void 0===s?Object.values(null===(o=this.viewRuleData)||void 0===o?void 0:o.Data)[0]:s)}else this.addGlobalDataTypeForm.controls.destinationType.setValue(Object.values(null===(r=this.viewRuleData)||void 0===r?void 0:r.Data)[0]);this.addGlobalDataTypeForm.disable()}formSubmit(){const e=this.addGlobalDataTypeForm.value,i=e.sourceType,o={};if(this.isPostgreSQLDialect){let r=this.pgSQLToStandardTypeTypemap.get(e.destinationType);o[i]=void 0===r?e.destinationType:r}else o[i]=e.destinationType;this.applyRule(o),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}updateDestinationType(e){const i=this.conversionType[e],o=[];null==i||i.forEach(r=>{o.push(r.DisplayT)}),this.destinationType=o}applyRule(e){this.data.applyRule({Name:this.ruleName,Type:"global_datatype_change",ObjectType:"Column",AssociatedObjects:"All Columns",Enabled:!0,Data:e,Id:""})}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(b(Es),b(Ln),b(Ei),b(Da),b(Bi))},t.\u0275cmp=Ae({type:t,selectors:[["app-edit-global-datatype-form"]],inputs:{ruleNameValid:"ruleNameValid",ruleType:"ruleType",ruleName:"ruleName"},outputs:{resetRuleType:"resetRuleType"},decls:34,vars:5,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","objectType","required","true",1,"input-field"],["value","column"],["matSelect","","formControlName","table","required","true",1,"input-field"],["value","allTable"],["matSelect","","formControlName","column","required","true",1,"input-field"],["value","allColumn"],["matSelect","","formControlName","sourceType","required","true",1,"input-field",3,"selectionChange"],["sourceField",""],[3,"value",4,"ngFor","ngForOf"],["appearance","outline",4,"ngIf"],[4,"ngIf"],[3,"value"],["matSelect","","formControlName","destinationType","required","true",1,"input-field"],["mat-raised-button","","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){if(1&e){const o=pe();d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"For object type"),c(),d(4,"mat-select",2)(5,"mat-option",3),h(6,"Column"),c()()(),d(7,"h3"),h(8,"When"),c(),d(9,"mat-form-field",1)(10,"mat-label"),h(11,"Table is"),c(),d(12,"mat-select",4)(13,"mat-option",5),h(14,"All tables"),c()()(),d(15,"mat-form-field",1)(16,"mat-label"),h(17,"and column is"),c(),d(18,"mat-select",6)(19,"mat-option",7),h(20,"All column"),c()()(),d(21,"h3"),h(22,"Convert from"),c(),d(23,"mat-form-field",1)(24,"mat-label"),h(25,"Source data type"),c(),d(26,"mat-select",8,9),N("selectionChange",function(){se(o);const s=$t(27);return i.updateDestinationType(s.value)}),_(28,gee,2,2,"mat-option",10),c()(),d(29,"h3"),h(30,"Convert to"),c(),_(31,bee,5,1,"mat-form-field",11),_(32,vee,3,1,"div",12),_(33,yee,3,0,"div",12),c()}if(2&e){const o=$t(27);m("formGroup",i.addGlobalDataTypeForm),f(28),m("ngForOf",i.sourceType),f(3),m("ngIf",o.selected),f(1),m("ngIf",!i.viewRuleFlag),f(1),m("ngIf",i.viewRuleFlag)}},directives:[Hn,Sn,En,Mn,Yi,bn,Xn,fo,_i,ri,Et,Ht],styles:[".mat-form-field[_ngcontent-%COMP%]{width:100%;padding:0}"]}),t})();function wee(t,n){if(1&t&&(d(0,"mat-option",11),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function Dee(t,n){if(1&t&&(d(0,"mat-option",11),h(1),c()),2&t){const e=n.$implicit;m("value",e),f(1),Ee(e)}}function See(t,n){if(1&t){const e=pe();d(0,"button",19),N("click",function(){se(e);const o=D().index;return D().removeColumnForm(o)}),d(1,"mat-icon"),h(2,"remove"),c(),d(3,"span"),h(4,"REMOVE COLUMN"),c()()}}function Mee(t,n){if(1&t){const e=pe();be(0),d(1,"mat-card",12)(2,"div",13)(3,"mat-form-field",1)(4,"mat-label"),h(5,"Column Name"),c(),d(6,"mat-select",14),N("selectionChange",function(){return se(e),D().selectedColumnChange()}),_(7,Dee,2,2,"mat-option",3),c()(),d(8,"mat-form-field",1)(9,"mat-label"),h(10,"Sort"),c(),d(11,"mat-select",15)(12,"mat-option",16),h(13,"Ascending"),c(),d(14,"mat-option",17),h(15,"Descending"),c()()()(),_(16,See,5,0,"button",18),c(),ve()}if(2&t){const e=n.index,i=D();f(2),m("formGroupName",e),f(5),m("ngForOf",i.addColumnsList[e]),f(9),m("ngIf",!i.viewRuleFlag)}}function xee(t,n){if(1&t){const e=pe();d(0,"button",20),N("click",function(){return se(e),D().addNewColumnForm()}),d(1,"mat-icon"),h(2,"add"),c(),d(3,"span"),h(4,"ADD COLUMN"),c()()}}function Tee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",21),N("click",function(){return se(e),D().addIndex()}),h(2," ADD RULE "),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.addIndexForm.valid&&e.ruleNameValid&&e.ColsArray.controls.length>0))}}function kee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",22),N("click",function(){return se(e),D().deleteRule()}),h(2," DELETE RULE "),c()()}}let Eee=(()=>{class t{constructor(e,i,o,r){this.fb=e,this.data=i,this.sidenav=o,this.conversion=r,this.ruleNameValid=!1,this.ruleName="",this.ruleType="",this.resetRuleType=new Pe,this.tableNames=[],this.totalColumns=[],this.addColumnsList=[],this.commonColumns=[],this.viewRuleData={},this.viewRuleFlag=!1,this.conv={},this.ruleId="",this.addIndexForm=this.fb.group({tableName:["",de.required],indexName:["",[de.required,de.pattern("^[a-zA-Z].{0,59}$")]],ColsArray:this.fb.array([])})}ngOnInit(){this.data.conv.subscribe({next:e=>{this.conv=e,this.tableNames=Object.keys(e.SpSchema).map(i=>e.SpSchema[i].Name)}}),this.sidenav.sidenavAddIndexTable.subscribe({next:e=>{this.addIndexForm.controls.tableName.setValue(e),""!==e&&this.selectedTableChange(e)}}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.viewRuleData&&this.viewRuleFlag&&this.getRuleData(this.viewRuleData)})})}getRuleData(e){var i,o,r,s,a;this.ruleId=null==e?void 0:e.Id;let l=null===(o=this.conv.SpSchema[null===(i=null==e?void 0:e.Data)||void 0===i?void 0:i.TableId])||void 0===o?void 0:o.Name;this.addIndexForm.controls.tableName.setValue(l),this.addIndexForm.controls.indexName.setValue(null===(r=null==e?void 0:e.Data)||void 0===r?void 0:r.Name),this.selectedTableChange(l),this.setColArraysForViewRules(null===(s=null==e?void 0:e.Data)||void 0===s?void 0:s.TableId,null===(a=null==e?void 0:e.Data)||void 0===a?void 0:a.Keys),this.addIndexForm.disable()}setColArraysForViewRules(e,i){var o;if(this.ColsArray.clear(),i)for(let r=0;r<(null==i?void 0:i.length);r++){this.updateCommonColumns(),this.addColumnsList.push([...this.commonColumns]);let s=null===(o=this.conv.SpSchema[e])||void 0===o?void 0:o.ColDefs[i[r].ColId].Name,a=this.fb.group({columnName:[s,de.required],sort:[i[r].Desc.toString(),de.required]});this.ColsArray.push(a)}}get ColsArray(){return this.addIndexForm.controls.ColsArray}selectedTableChange(e){let i=this.conversion.getTableIdFromSpName(e,this.conv);if(i){let o=this.conv.SpSchema[i];this.totalColumns=this.conv.SpSchema[i].ColIds.map(r=>o.ColDefs[r].Name)}this.ColsArray.clear(),this.commonColumns=[],this.addColumnsList=[],this.updateCommonColumns()}addNewColumnForm(){let e=this.fb.group({columnName:["",de.required],sort:["",de.required]});this.ColsArray.push(e),this.updateCommonColumns(),this.addColumnsList.push([...this.commonColumns])}selectedColumnChange(){this.updateCommonColumns(),this.addColumnsList=this.addColumnsList.map((e,i)=>{const o=[...this.commonColumns];return""!==this.ColsArray.value[i].columnName&&o.push(this.ColsArray.value[i].columnName),o})}updateCommonColumns(){this.commonColumns=this.totalColumns.filter(e=>{let i=!0;return this.ColsArray.value.forEach(o=>{o.columnName===e&&(i=!1)}),i})}removeColumnForm(e){this.ColsArray.removeAt(e),this.addColumnsList=this.addColumnsList.filter((i,o)=>o!==e),this.selectedColumnChange()}addIndex(){let e=this.addIndexForm.value,i=[],o=this.conversion.getTableIdFromSpName(e.tableName,this.conv);i.push({Name:e.indexName,TableId:o,Unique:!1,Keys:e.ColsArray.map((r,s)=>({ColId:this.conversion.getColIdFromSpannerColName(r.columnName,o,this.conv),Desc:"true"===r.sort,Order:s+1})),Id:""}),this.applyRule(i[0]),this.resetRuleType.emit(""),this.sidenav.setSidenavAddIndexTable(""),this.sidenav.closeSidenav()}applyRule(e){let o=this.conversion.getTableIdFromSpName(this.addIndexForm.value.tableName,this.conv);this.data.applyRule({Name:this.ruleName,Type:"add_index",ObjectType:"Table",AssociatedObjects:o,Enabled:!0,Data:e,Id:""})}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.setSidenavAddIndexTable(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(b(Es),b(Ln),b(Ei),b(Da))},t.\u0275cmp=Ae({type:t,selectors:[["app-add-index-form"]],inputs:{ruleNameValid:"ruleNameValid",ruleName:"ruleName",ruleType:"ruleType"},outputs:{resetRuleType:"resetRuleType"},decls:18,vars:7,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","tableName","required","true",1,"input-field",3,"selectionChange"],[3,"value",4,"ngFor","ngForOf"],["hintLabel","Max. 60 characters, and starts with a letter.","appearance","outline"],["matInput","","formControlName","indexName",1,"input-field"],["align","end"],["formArrayName","ColsArray",1,"addcol-form"],[4,"ngFor","ngForOf"],["mat-button","","color","primary","class","add-column-btn","type","button",3,"click",4,"ngIf"],[4,"ngIf"],[3,"value"],[1,"column-form-card"],[3,"formGroupName"],["matSelect","","formControlName","columnName","required","true",1,"input-field",3,"selectionChange"],["formControlName","sort","required","true",1,"input-field"],["value","false"],["value","true"],["mat-button","","color","primary",3,"click",4,"ngIf"],["mat-button","","color","primary",3,"click"],["mat-button","","color","primary","type","button",1,"add-column-btn",3,"click"],["mat-raised-button","","type","submit","color","primary",1,"add-column-btn",3,"disabled","click"],["mat-raised-button","","type","submit","color","primary",1,"add-column-btn",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"For Table"),c(),d(4,"mat-select",2),N("selectionChange",function(r){return i.selectedTableChange(r.value)}),_(5,wee,2,2,"mat-option",3),c()(),d(6,"mat-form-field",4)(7,"mat-label"),h(8,"Index Name"),c(),E(9,"input",5),d(10,"mat-hint",6),h(11),c()(),be(12,7),_(13,Mee,17,3,"ng-container",8),_(14,xee,5,0,"button",9),E(15,"br"),_(16,Tee,3,1,"div",10),_(17,kee,3,0,"div",10),ve(),c()),2&e&&(m("formGroup",i.addIndexForm),f(5),m("ngForOf",i.tableNames),f(6),Se("",(null==i.addIndexForm.value.indexName?null:i.addIndexForm.value.indexName.length)||0,"/60"),f(2),m("ngForOf",i.ColsArray.controls),f(1),m("ngIf",i.addColumnsList.length{class t{constructor(e,i,o,r){this.fb=e,this.data=i,this.sidenav=o,this.conversion=r,this.ruleNameValid=!1,this.ruleName="",this.ruleType="",this.resetRuleType=new Pe,this.ruleId="",this.tableNames=[],this.viewRuleData=[],this.viewRuleFlag=!1,this.conv={},this.spTypes=[],this.hintlabel="",this.editColMaxLengthForm=this.fb.group({tableName:["",de.required],column:["allColumn",de.required],spDataType:["",de.required],maxColLength:["",[de.required,de.pattern("([1-9][0-9]*|MAX)")]]})}ngOnInit(){this.data.conv.subscribe({next:e=>{this.conv=e,this.tableNames=Object.keys(e.SpSchema).map(i=>e.SpSchema[i].Name),this.tableNames.push("All tables"),"postgresql"===this.conv.SpDialect?(this.spTypes=[{name:"VARCHAR",value:"STRING"}],this.hintlabel="Max "+di.StringMaxLength+" for VARCHAR"):(this.spTypes=[{name:"STRING",value:"STRING"},{name:"BYTES",value:"BYTES"}],this.hintlabel="Max "+di.StringMaxLength+" for STRING and "+di.ByteMaxLength+" for BYTES")}}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&this.sidenav.ruleData.subscribe(i=>{var o,r,s,a,l,u;if(this.viewRuleData=i,this.viewRuleData){this.ruleId=null===(o=this.viewRuleData)||void 0===o?void 0:o.Id;let p=null===(r=this.viewRuleData)||void 0===r?void 0:r.AssociatedObjects;this.editColMaxLengthForm.controls.tableName.setValue(p),this.editColMaxLengthForm.controls.spDataType.setValue(null===(a=null===(s=this.viewRuleData)||void 0===s?void 0:s.Data)||void 0===a?void 0:a.spDataType),this.editColMaxLengthForm.controls.maxColLength.setValue(null===(u=null===(l=this.viewRuleData)||void 0===l?void 0:l.Data)||void 0===u?void 0:u.spColMaxLength),this.editColMaxLengthForm.disable()}})})}formSubmit(){const e=this.editColMaxLengthForm.value;(("STRING"===e.spDataType||"VARCHAR"===e.spDataType)&&e.spColMaxLength>di.StringMaxLength||"BYTES"===e.spDataType&&e.spColMaxLength>di.ByteMaxLength)&&(e.spColMaxLength=di.StorageMaxLength);const i={spDataType:e.spDataType,spColMaxLength:e.maxColLength};let r=this.conversion.getTableIdFromSpName(e.tableName,this.conv);""===r&&(r="All tables"),this.data.applyRule({Name:this.ruleName,Type:"edit_column_max_length",ObjectType:"Table",AssociatedObjects:r,Enabled:!0,Data:i,Id:""}),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(b(Es),b(Ln),b(Ei),b(Da))},t.\u0275cmp=Ae({type:t,selectors:[["app-edit-column-max-length"]],inputs:{ruleNameValid:"ruleNameValid",ruleName:"ruleName",ruleType:"ruleType"},outputs:{resetRuleType:"resetRuleType"},decls:23,vars:6,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","tableName","required","true",1,"input-field"],[3,"value",4,"ngFor","ngForOf"],["matSelect","","formControlName","column","required","true",1,"input-field"],["value","allColumn"],["matSelect","","formControlName","spDataType","required","true",1,"input-field"],["appearance","outline",3,"hintLabel"],["matInput","","formControlName","maxColLength",1,"input-field"],[4,"ngIf"],[3,"value"],["mat-raised-button","","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"Table is"),c(),d(4,"mat-select",2),_(5,Iee,2,2,"mat-option",3),c()(),d(6,"mat-form-field",1)(7,"mat-label"),h(8,"and column is"),c(),d(9,"mat-select",4)(10,"mat-option",5),h(11,"All column"),c()()(),d(12,"mat-form-field",1)(13,"mat-label"),h(14,"and Spanner Type is"),c(),d(15,"mat-select",6),_(16,Oee,2,2,"mat-option",3),c()(),d(17,"mat-form-field",7)(18,"mat-label"),h(19,"Max column length"),c(),E(20,"input",8),c(),_(21,Aee,3,1,"div",9),_(22,Pee,3,0,"div",9),c()),2&e&&(m("formGroup",i.editColMaxLengthForm),f(5),m("ngForOf",i.tableNames),f(11),m("ngForOf",i.spTypes),f(1),m("hintLabel",i.hintlabel),f(4),m("ngIf",!i.viewRuleFlag),f(1),m("ngIf",i.viewRuleFlag))},directives:[Hn,Sn,En,Mn,Yi,bn,Xn,fo,ri,_i,li,Dn,Et,Ht],styles:[""]}),t})();function Fee(t,n){if(1&t&&(d(0,"mat-option",7),h(1),c()),2&t){const e=n.$implicit;m("value",e.value),f(1),Ee(e.display)}}function Nee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",8),N("click",function(){return se(e),D().formSubmit()}),h(2," ADD RULE "),c()()}if(2&t){const e=D();f(1),m("disabled",!(e.addShardIdPrimaryKeyForm.valid&&e.ruleNameValid))}}function Lee(t,n){if(1&t){const e=pe();d(0,"div")(1,"button",9),N("click",function(){return se(e),D().deleteRule()}),h(2,"DELETE RULE"),c()()}}let Bee=(()=>{class t{constructor(e,i,o){this.fb=e,this.data=i,this.sidenav=o,this.ruleNameValid=!1,this.ruleName="",this.ruleType="",this.resetRuleType=new Pe,this.viewRuleFlag=!1,this.viewRuleData={},this.primaryKeyOrder=[{value:!0,display:"At the beginning"},{value:!1,display:"At the end"}],this.addShardIdPrimaryKeyForm=this.fb.group({table:["allTable",de.required],primaryKeyOrder:["",de.required]})}ngOnInit(){this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag&&(this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.viewRuleData&&this.setViewRuleData(this.viewRuleData)}),this.addShardIdPrimaryKeyForm.disable())})}formSubmit(){this.data.applyRule({Name:this.ruleName,Type:"add_shard_id_primary_key",AssociatedObjects:"All Tables",Enabled:!0,Data:{AddedAtTheStart:this.addShardIdPrimaryKeyForm.value.primaryKeyOrder},Id:""}),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}setViewRuleData(e){var i;this.ruleId=null==e?void 0:e.Id,this.addShardIdPrimaryKeyForm.controls.primaryKeyOrder.setValue(null===(i=null==e?void 0:e.Data)||void 0===i?void 0:i.AddedAtTheStart)}deleteRule(){this.data.dropRule(this.ruleId),this.resetRuleType.emit(""),this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(b(Es),b(Ln),b(Ei))},t.\u0275cmp=Ae({type:t,selectors:[["app-add-shard-id-primary-key"]],inputs:{ruleNameValid:"ruleNameValid",ruleName:"ruleName",ruleType:"ruleType"},outputs:{resetRuleType:"resetRuleType"},decls:14,vars:4,consts:[[3,"formGroup"],["appearance","outline"],["matSelect","","formControlName","table","required","true",1,"input-field"],["value","allTable"],["matSelect","","formControlName","primaryKeyOrder","required","true",1,"input-field"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],[3,"value"],["mat-raised-button","","color","primary",3,"disabled","click"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),h(3,"Table is"),c(),d(4,"mat-select",2)(5,"mat-option",3),h(6,"All tables"),c()()(),d(7,"mat-form-field",1)(8,"mat-label"),h(9,"Order in Primary Key"),c(),d(10,"mat-select",4),_(11,Fee,2,2,"mat-option",5),c()(),_(12,Nee,3,1,"div",6),_(13,Lee,3,0,"div",6),c()),2&e&&(m("formGroup",i.addShardIdPrimaryKeyForm),f(11),m("ngForOf",i.primaryKeyOrder),f(1),m("ngIf",!i.viewRuleFlag),f(1),m("ngIf",i.viewRuleFlag))},directives:[Hn,Sn,En,Mn,Yi,bn,Xn,fo,_i,ri,Et,Ht],styles:[""]}),t})();function Vee(t,n){1&t&&(d(0,"mat-option",18),h(1,"Add shard id column as primary key"),c())}function jee(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-edit-global-datatype-form",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}function Hee(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-add-index-form",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}function Uee(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-edit-column-max-length",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}function zee(t,n){if(1&t){const e=pe();d(0,"div")(1,"app-add-shard-id-primary-key",19),N("resetRuleType",function(){return se(e),D().resetRuleType()}),c()()}if(2&t){const e=D();f(1),m("ruleNameValid",e.ruleForm.valid)("ruleName",e.rulename)("ruleType",e.ruletype)}}let $ee=(()=>{class t{constructor(e,i){this.sidenav=e,this.data=i,this.currentRules=[],this.ruleForm=new an({ruleName:new X("",[de.required,de.pattern("^[a-zA-Z].{0,59}$")]),ruleType:new X("",[de.required])}),this.rulename="",this.ruletype="",this.viewRuleData=[],this.viewRuleFlag=!1,this.shardedMigration=!1}ngOnInit(){this.data.conv.subscribe({next:e=>{Object.keys(e.SpSchema),this.shardedMigration=!!e.IsSharded}}),this.ruleForm.valueChanges.subscribe(()=>{var e,i;this.rulename=null===(e=this.ruleForm.controls.ruleName)||void 0===e?void 0:e.value,this.ruletype=null===(i=this.ruleForm.controls.ruleType)||void 0===i?void 0:i.value}),this.sidenav.displayRuleFlag.subscribe(e=>{this.viewRuleFlag=e,this.viewRuleFlag?this.sidenav.ruleData.subscribe(i=>{this.viewRuleData=i,this.setViewRuleData(this.viewRuleData)}):(this.ruleForm.enable(),this.ruleForm.controls.ruleType.setValue(""),this.sidenav.sidenavRuleType.subscribe(i=>{"addIndex"===i&&this.ruleForm.controls.ruleType.setValue("addIndex")}))})}setViewRuleData(e){var i;this.ruleForm.disable(),this.ruleForm.controls.ruleName.setValue(null==e?void 0:e.Name),this.ruleForm.controls.ruleType.setValue(this.getViewRuleType(null===(i=this.viewRuleData)||void 0===i?void 0:i.Type))}closeSidenav(){this.sidenav.closeSidenav()}get ruleType(){var e;return null===(e=this.ruleForm.get("ruleType"))||void 0===e?void 0:e.value}resetRuleType(){this.ruleForm.controls.ruleType.setValue(""),this.ruleForm.controls.ruleName.setValue(""),this.ruleForm.markAsUntouched()}getViewRuleType(e){switch(e){case"add_index":return"addIndex";case"global_datatype_change":return"globalDataType";case"edit_column_max_length":return"changeMaxLength";case"add_shard_id_primary_key":return"addShardIdPrimaryKey"}return""}}return t.\u0275fac=function(e){return new(e||t)(b(Ei),b(Ln))},t.\u0275cmp=Ae({type:t,selectors:[["app-sidenav-rule"]],inputs:{currentRules:"currentRules"},decls:36,vars:8,consts:[[1,"sidenav"],[1,"sidenav-header"],[1,"header-title"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"sidenav-content"],[3,"formGroup"],["hintLabel","Max. 60 characters, and starts with a letter.","appearance","outline"],["matInput","","formControlName","ruleName",1,"input-field"],["align","end"],["appearance","outline"],["matSelect","","formControlName","ruleType","required","true",1,"input-field"],["ruleType",""],["value","globalDataType"],["value","addIndex"],["value","changeMaxLength"],["value","addShardIdPrimaryKey",4,"ngIf"],[4,"ngIf"],["value","addShardIdPrimaryKey"],[3,"ruleNameValid","ruleName","ruleType","resetRuleType"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3),c(),d(4,"button",3),N("click",function(){return i.closeSidenav()}),d(5,"mat-icon",4),h(6,"close"),c()()(),d(7,"div",5)(8,"form",6)(9,"h3"),h(10,"Rule info"),c(),d(11,"mat-form-field",7)(12,"mat-label"),h(13,"Rule name"),c(),E(14,"input",8),d(15,"mat-hint",9),h(16),c()(),d(17,"h3"),h(18,"Rule definition"),c(),d(19,"mat-form-field",10)(20,"mat-label"),h(21,"Rule type"),c(),d(22,"mat-select",11,12)(24,"mat-option",13),h(25,"Change global data type"),c(),d(26,"mat-option",14),h(27,"Add Index"),c(),d(28,"mat-option",15),h(29,"Change default max column length"),c(),_(30,Vee,2,0,"mat-option",16),c()(),E(31,"br"),c(),_(32,jee,2,3,"div",17),_(33,Hee,2,3,"div",17),_(34,Uee,2,3,"div",17),_(35,zee,2,3,"div",17),c()()),2&e){const o=$t(23);f(3),Ee(i.viewRuleFlag?"View Rule":"Add Rule"),f(5),m("formGroup",i.ruleForm),f(8),Se("",(null==i.ruleForm.value.ruleName?null:i.ruleForm.value.ruleName.length)||0,"/60"),f(14),m("ngIf",i.shardedMigration),f(2),m("ngIf","globalDataType"===o.value),f(1),m("ngIf","addIndex"===o.value),f(1),m("ngIf","changeMaxLength"===o.value),f(1),m("ngIf","addShardIdPrimaryKey"===o.value)}},directives:[Ht,_n,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,np,Yi,fo,_i,Et,Cee,Eee,Ree,Bee],styles:["mat-form-field[_ngcontent-%COMP%]{padding-bottom:0} .mat-form-field-wrapper{padding-bottom:14px}"]}),t})(),Gee=(()=>{class t{constructor(e,i,o,r){this.fetch=e,this.data=i,this.snack=o,this.sidenav=r,this.errMessage="",this.saveSessionForm=new an({SessionName:new X("",[de.required,de.pattern("^[a-zA-Z][a-zA-Z0-9_ -]{0,59}$")]),EditorName:new X("",[de.required,de.pattern("^[a-zA-Z][a-zA-Z0-9_ -]{0,59}$")]),DatabaseName:new X("",[de.required,de.pattern("^[a-zA-Z][a-zA-Z0-9_-]{0,59}$")]),Notes:new X("")})}saveSession(){var e,i;let o=this.saveSessionForm.value,r={SessionName:o.SessionName.trim(),EditorName:o.EditorName.trim(),DatabaseName:o.DatabaseName.trim(),Notes:""===(null===(e=o.Notes)||void 0===e?void 0:e.trim())||null===o.Notes?[""]:null===(i=o.Notes)||void 0===i?void 0:i.split("\n")};this.fetch.saveSession(r).subscribe({next:s=>{this.data.getAllSessions(),this.snack.openSnackBar("Session saved successfully","Close",5)},error:s=>{this.snack.openSnackBar(s.error,"Close")}}),this.saveSessionForm.reset(),this.saveSessionForm.markAsUntouched(),this.closeSidenav()}ngOnInit(){this.sidenav.sidenavDatabaseName.subscribe({next:e=>{this.saveSessionForm.controls.DatabaseName.setValue(e)}})}closeSidenav(){this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(b(Bi),b(Ln),b(Bo),b(Ei))},t.\u0275cmp=Ae({type:t,selectors:[["app-sidenav-save-session"]],decls:40,vars:5,consts:[[1,"sidenav"],[1,"sidenav-header"],[1,"header-title"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"sidenav-content"],[1,"save-session-form",3,"formGroup"],["hintLabel","Letters, numbers, hyphen, space and underscore allowed. Max. 60 characters, and starts with a letter.","appearance","outline"],["matInput","","placeholder","mysession","type","text","formControlName","SessionName","matTooltip","User can view saved sessions under session history section","matTooltipPosition","above"],["align","end"],["hintLabel","Letters, numbers, hyphen, space and underscore allowed. Max. 60 characters, and starts with a letter.","appearance","outline",1,"full-width"],["matInput","","placeholder","editor name","type","text","formControlName","EditorName"],["hintLabel","Letters, numbers, hyphen and underscores allowed. Max. 60 characters, and starts with a letter.","appearance","outline",1,"full-width"],["matInput","","type","text","formControlName","DatabaseName"],["appearance","outline",1,"full-width"],["rows","7","matInput","","placeholder","added new index","type","text","formControlName","Notes"],[1,"sidenav-footer"],["mat-raised-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3,"Save Session"),c(),d(4,"button",3),N("click",function(){return i.closeSidenav()}),d(5,"mat-icon",4),h(6,"close"),c()()(),d(7,"div",5)(8,"h3"),h(9,"Session Details"),c(),d(10,"form",6)(11,"mat-form-field",7)(12,"mat-label"),h(13,"Session Name"),c(),E(14,"input",8),d(15,"mat-hint",9),h(16),c()(),E(17,"br"),d(18,"mat-form-field",10)(19,"mat-label"),h(20,"Editor Name"),c(),E(21,"input",11),d(22,"mat-hint",9),h(23),c()(),E(24,"br"),d(25,"mat-form-field",12)(26,"mat-label"),h(27,"Database Name"),c(),E(28,"input",13),d(29,"mat-hint",9),h(30),c()(),E(31,"br"),d(32,"mat-form-field",14)(33,"mat-label"),h(34,"Notes"),c(),E(35,"textarea",15),c(),E(36,"br"),c()(),d(37,"div",16)(38,"button",17),N("click",function(){return i.saveSession()}),h(39," Save Session "),c()()()),2&e&&(f(10),m("formGroup",i.saveSessionForm),f(6),Se("",(null==i.saveSessionForm.value.SessionName?null:i.saveSessionForm.value.SessionName.length)||0,"/60"),f(7),Se("",(null==i.saveSessionForm.value.EditorName?null:i.saveSessionForm.value.EditorName.length)||0,"/60"),f(7),Se("",(null==i.saveSessionForm.value.DatabaseName?null:i.saveSessionForm.value.DatabaseName.length)||0,"/60"),f(8),m("disabled",!i.saveSessionForm.valid))},directives:[Ht,_n,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,ki,np],styles:[".mat-form-field[_ngcontent-%COMP%]{padding-bottom:10px}"]}),t})();function Wee(t,n){1&t&&(d(0,"th",9),h(1,"Column"),c())}function qee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.ColumnName)}}function Kee(t,n){1&t&&(d(0,"th",9),h(1,"Type"),c())}function Zee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.Type)}}function Qee(t,n){1&t&&(d(0,"th",9),h(1,"Updated Column"),c())}function Yee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.UpdateColumnName)}}function Xee(t,n){1&t&&(d(0,"th",9),h(1,"Updated Type"),c())}function Jee(t,n){if(1&t&&(d(0,"td",10),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.UpdateType)}}function ete(t,n){1&t&&E(0,"tr",11)}function tte(t,n){1&t&&E(0,"tr",12)}let nte=(()=>{class t{constructor(){this.tableChange={InterleaveColumnChanges:[],Table:""},this.dataSource=[],this.displayedColumns=["ColumnName","Type","UpdateColumnName","UpdateType"]}ngOnInit(){}ngOnChanges(e){var i;this.tableChange=(null===(i=e.tableChange)||void 0===i?void 0:i.currentValue)||this.tableChange,this.dataSource=this.tableChange.InterleaveColumnChanges}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ae({type:t,selectors:[["app-table-column-changes-preview"]],inputs:{tableChange:"tableChange"},features:[nn],decls:15,vars:3,consts:[["mat-table","",1,"object-full-width","margin-bot-1",3,"dataSource"],["matColumnDef","ColumnName"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","Type"],["matColumnDef","UpdateColumnName"],["matColumnDef","UpdateType"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell",""],["mat-header-row",""],["mat-row",""]],template:function(e,i){1&e&&(d(0,"table",0),be(1,1),_(2,Wee,2,0,"th",2),_(3,qee,2,1,"td",3),ve(),be(4,4),_(5,Kee,2,0,"th",2),_(6,Zee,2,1,"td",3),ve(),be(7,5),_(8,Qee,2,0,"th",2),_(9,Yee,2,1,"td",3),ve(),be(10,6),_(11,Xee,2,0,"th",2),_(12,Jee,2,1,"td",3),ve(),_(13,ete,1,0,"tr",7),_(14,tte,1,0,"tr",8),c()),2&e&&(m("dataSource",i.dataSource),f(13),m("matHeaderRowDef",i.displayedColumns),f(1),m("matRowDefColumns",i.displayedColumns))},directives:[As,Xr,Yr,Jr,Qr,es,Ps,Fs,Rs,Ns],styles:[".margin-bot-1[_ngcontent-%COMP%]{margin-bottom:1rem}.mat-header-row[_ngcontent-%COMP%]{background-color:#f5f5f5}.mat-column-ColumnName[_ngcontent-%COMP%], .mat-column-UpdateColumnName[_ngcontent-%COMP%]{width:30%;max-width:30%}.mat-column-Type[_ngcontent-%COMP%], .mat-column-UpdateType[_ngcontent-%COMP%]{width:20%;max-width:20%}.mat-cell[_ngcontent-%COMP%]{padding-right:1rem;word-break:break-all}"]}),t})();function ite(t,n){1&t&&(d(0,"p"),h(1,"Review the DDL changes below."),c())}function ote(t,n){if(1&t&&(d(0,"p"),h(1," Changing an interleaved table will have an impact on the following tables : "),d(2,"b"),h(3),c()()),2&t){const e=D();f(3),Ee(e.tableList)}}function rte(t,n){if(1&t&&(d(0,"div",11)(1,"pre")(2,"code"),h(3),c()()()),2&t){const e=D();f(3),Ee(e.ddl)}}function ste(t,n){if(1&t&&(be(0),d(1,"h4"),h(2),c(),E(3,"app-table-column-changes-preview",14),ve()),2&t){const e=n.$implicit,i=n.index,o=D(2);f(2),Ee(o.tableNames[i]),f(1),m("tableChange",e)}}function ate(t,n){if(1&t&&(d(0,"div",12),_(1,ste,4,2,"ng-container",13),c()),2&t){const e=D();f(1),m("ngForOf",e.tableChanges)}}let lte=(()=>{class t{constructor(e,i,o,r){this.sidenav=e,this.tableUpdatePubSub=i,this.data=o,this.snackbar=r,this.ddl="",this.showDdl=!0,this.tableUpdateData={tableName:"",tableId:"",updateDetail:{UpdateCols:{}}},this.tableChanges=[],this.tableNames=[],this.tableList=""}ngOnInit(){this.tableUpdatePubSub.reviewTableChanges.subscribe(e=>{if(e.Changes&&e.Changes.length>0){this.showDdl=!1,this.tableChanges=e.Changes;const i=[];this.tableList="",this.tableChanges.forEach((o,r)=>{i.push(o.Table),this.tableList+=0==r?o.Table:", "+o.Table}),this.tableList+=".",this.tableNames=i}else this.showDdl=!0,this.ddl=e.DDL}),this.tableUpdatePubSub.tableUpdateDetail.subscribe(e=>{this.tableUpdateData=e})}updateTable(){this.data.updateTable(this.tableUpdateData.tableId,this.tableUpdateData.updateDetail).subscribe({next:e=>{""==e?(this.snackbar.openSnackBar(`Schema changes to table ${this.tableUpdateData.tableName} saved successfully`,"Close",5),0==this.showDdl&&1!=this.tableNames.length&&this.snackbar.openSnackBar(`Schema changes to tables ${this.tableNames[0]} and ${this.tableNames[1]} saved successfully`,"Close",5),this.closeSidenav()):this.snackbar.openSnackBar(e,"Close",5)}})}closeSidenav(){this.ddl="",this.sidenav.closeSidenav()}}return t.\u0275fac=function(e){return new(e||t)(b(Ei),b(Rv),b(Ln),b(Bo))},t.\u0275cmp=Ae({type:t,selectors:[["app-sidenav-review-changes"]],decls:17,vars:4,consts:[[1,"sidenav"],[1,"sidenav-header"],[1,"header-title"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"sidenav-content"],[4,"ngIf"],["class","ddl-display",4,"ngIf"],["class","table-changes-display",4,"ngIf"],[1,"sidenav-footer"],["mat-raised-button","","color","primary",3,"click"],[1,"ddl-display"],[1,"table-changes-display"],[4,"ngFor","ngForOf"],[3,"tableChange"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3,"Review changes to your schema"),c(),d(4,"button",3),N("click",function(){return i.closeSidenav()}),d(5,"mat-icon",4),h(6,"close"),c()()(),E(7,"mat-divider"),d(8,"div",5),_(9,ite,2,0,"p",6),_(10,ote,4,1,"p",6),_(11,rte,4,1,"div",7),_(12,ate,2,1,"div",8),c(),E(13,"mat-divider"),d(14,"div",9)(15,"button",10),N("click",function(){return i.updateTable()}),h(16,"Confirm Conversion"),c()()()),2&e&&(f(9),m("ngIf",i.showDdl),f(1),m("ngIf",!i.showDdl),f(1),m("ngIf",i.showDdl),f(1),m("ngIf",!i.showDdl))},directives:[Ht,_n,dT,Et,ri,nte],styles:[".sidenav-content[_ngcontent-%COMP%]{height:82%}.sidenav-content[_ngcontent-%COMP%] .ddl-display[_ngcontent-%COMP%]{height:90%;background-color:#dadada;padding:10px;overflow:auto}.sidenav-content[_ngcontent-%COMP%] .table-changes-display[_ngcontent-%COMP%]{height:90%;overflow:auto}"]}),t})();function cte(t,n){1&t&&(d(0,"th",39),h(1,"Total tables"),c())}function dte(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.total)}}function ute(t,n){1&t&&(d(0,"th",39)(1,"mat-icon",41),h(2," error "),c(),h(3,"Converted with many issues "),c())}function hte(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.bad)}}function pte(t,n){1&t&&(d(0,"th",39)(1,"mat-icon",42),h(2," warning"),c(),h(3,"Conversion some warnings & suggestions "),c())}function fte(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.ok)}}function mte(t,n){1&t&&(d(0,"th",39)(1,"mat-icon",43),h(2," check_circle "),c(),h(3,"100% conversion "),c())}function gte(t,n){if(1&t&&(d(0,"td",40),h(1),c()),2&t){const e=n.$implicit;f(1),Ee(e.good)}}function _te(t,n){1&t&&E(0,"tr",44)}function bte(t,n){1&t&&E(0,"tr",45)}function vte(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function yte(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function Cte(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function wte(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function Dte(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function Ste(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function Mte(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function xte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function Tte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function kte(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),_(2,xte,2,0,"mat-icon",37),_(3,Tte,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function Ete(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function Ite(t,n){1&t&&E(0,"tr",44)}function Ote(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function Ate(t,n){1&t&&E(0,"tr",75)}const Kp=function(){return["expandedDetail"]};function Pte(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",46),h(4," error "),c(),h(5," ERRORS "),c()(),d(6,"table",47),be(7,48),_(8,vte,2,0,"th",49),_(9,yte,2,1,"td",50),ve(),be(10,51),_(11,Cte,2,0,"th",52),_(12,wte,2,1,"td",53),ve(),be(13,54),_(14,Dte,2,0,"th",55),_(15,Ste,2,1,"td",56),ve(),be(16,57),_(17,Mte,2,0,"th",58),_(18,kte,4,2,"td",59),ve(),be(19,60),_(20,Ete,4,3,"td",59),ve(),_(21,Ite,1,0,"tr",34),_(22,Ote,1,2,"tr",61),_(23,Ate,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Errors),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Jo(4,Kp))}}function Rte(t,n){1&t&&E(0,"br")}function Fte(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function Nte(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function Lte(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function Bte(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function Vte(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function jte(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function Hte(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function Ute(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function zte(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function $te(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),_(2,Ute,2,0,"mat-icon",37),_(3,zte,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function Gte(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function Wte(t,n){1&t&&E(0,"tr",44)}function qte(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function Kte(t,n){1&t&&E(0,"tr",75)}function Zte(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",76),h(4," warning "),c(),h(5," WARNINGS "),c()(),d(6,"table",47),be(7,48),_(8,Fte,2,0,"th",49),_(9,Nte,2,1,"td",50),ve(),be(10,51),_(11,Lte,2,0,"th",52),_(12,Bte,2,1,"td",53),ve(),be(13,54),_(14,Vte,2,0,"th",55),_(15,jte,2,1,"td",56),ve(),be(16,57),_(17,Hte,2,0,"th",58),_(18,$te,4,2,"td",59),ve(),be(19,60),_(20,Gte,4,3,"td",59),ve(),_(21,Wte,1,0,"tr",34),_(22,qte,1,2,"tr",61),_(23,Kte,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Warnings),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Jo(4,Kp))}}function Qte(t,n){1&t&&E(0,"br")}function Yte(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function Xte(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function Jte(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function ene(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function tne(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function nne(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function ine(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function one(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function rne(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function sne(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),_(2,one,2,0,"mat-icon",37),_(3,rne,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function ane(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function lne(t,n){1&t&&E(0,"tr",44)}function cne(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function dne(t,n){1&t&&E(0,"tr",75)}function une(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",77),h(4," wb_incandescent "),c(),h(5," SUGGESTIONS "),c()(),d(6,"table",47),be(7,48),_(8,Yte,2,0,"th",49),_(9,Xte,2,1,"td",50),ve(),be(10,51),_(11,Jte,2,0,"th",52),_(12,ene,2,1,"td",53),ve(),be(13,54),_(14,tne,2,0,"th",55),_(15,nne,2,1,"td",56),ve(),be(16,57),_(17,ine,2,0,"th",58),_(18,sne,4,2,"td",59),ve(),be(19,60),_(20,ane,4,3,"td",59),ve(),_(21,lne,1,0,"tr",34),_(22,cne,1,2,"tr",61),_(23,dne,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Suggestions),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Jo(4,Kp))}}function hne(t,n){1&t&&E(0,"br")}function pne(t,n){1&t&&(d(0,"th",63),h(1," No. "),c())}function fne(t,n){if(1&t&&(d(0,"td",64),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.position," ")}}function mne(t,n){1&t&&(d(0,"th",65),h(1," Description "),c())}function gne(t,n){if(1&t&&(d(0,"td",66),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.description," ")}}function _ne(t,n){1&t&&(d(0,"th",67),h(1," Table Count "),c())}function bne(t,n){if(1&t&&(d(0,"td",68),h(1),c()),2&t){const e=n.$implicit;f(1),Se(" ",e.tableCount," ")}}function vne(t,n){1&t&&(d(0,"th",69),h(1,"\xa0"),c())}function yne(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_down"),c())}function Cne(t,n){1&t&&(d(0,"mat-icon"),h(1,"keyboard_arrow_up"),c())}function wne(t,n){if(1&t){const e=pe();d(0,"td",70)(1,"button",71),N("click",function(o){const s=se(e).$implicit;return D(2).toggleRow(s),o.stopPropagation()}),_(2,yne,2,0,"mat-icon",37),_(3,Cne,2,0,"mat-icon",37),c()()}if(2&t){const e=n.$implicit,i=D(2);f(2),m("ngIf",!i.isRowExpanded(e)),f(1),m("ngIf",i.isRowExpanded(e))}}function Dne(t,n){if(1&t&&(d(0,"td",70)(1,"div",72)(2,"div",73),h(3),c()()()),2&t){const e=n.$implicit,i=D(2);et("colspan",i.columnsToDisplayWithExpand.length),f(1),m("ngClass",i.isRowExpanded(e)?"expanded":"collapsed"),f(2),Se(" TABLES: ",e.tableNamesJoinedByComma,"")}}function Sne(t,n){1&t&&E(0,"tr",44)}function Mne(t,n){if(1&t){const e=pe();d(0,"tr",74),N("click",function(){const r=se(e).$implicit;return D(2).toggleRow(r)}),c()}if(2&t){const e=n.$implicit;rt("example-expanded-row",D(2).isRowExpanded(e))}}function xne(t,n){1&t&&E(0,"tr",75)}function Tne(t,n){if(1&t&&(d(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",78),h(4," check_circle "),c(),h(5," NOTES "),c()(),d(6,"table",47),be(7,48),_(8,pne,2,0,"th",49),_(9,fne,2,1,"td",50),ve(),be(10,51),_(11,mne,2,0,"th",52),_(12,gne,2,1,"td",53),ve(),be(13,54),_(14,_ne,2,0,"th",55),_(15,bne,2,1,"td",56),ve(),be(16,57),_(17,vne,2,0,"th",58),_(18,wne,4,2,"td",59),ve(),be(19,60),_(20,Dne,4,3,"td",59),ve(),_(21,Sne,1,0,"tr",34),_(22,Mne,1,2,"tr",61),_(23,xne,1,0,"tr",62),c()()),2&t){const e=D();f(6),m("dataSource",e.issueTableData_Notes),f(15),m("matHeaderRowDef",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",e.columnsToDisplayWithExpand),f(1),m("matRowDefColumns",Jo(4,Kp))}}function kne(t,n){1&t&&E(0,"br")}function Ene(t,n){1&t&&(d(0,"div",79)(1,"div",80),hn(),d(2,"svg",81),E(3,"path",82),c()(),Qs(),d(4,"div",83),h(5," Woohoo! No issues or suggestions"),E(6,"br"),h(7,"found. "),c(),E(8,"br"),c())}const Bv=function(t){return{"width.%":t}};let Ine=(()=>{class t{constructor(e,i,o){this.sidenav=e,this.clickEvent=i,this.fetch=o,this.issueTableData_Errors=[],this.issueTableData_Warnings=[],this.issueTableData_Suggestions=[],this.issueTableData_Notes=[],this.columnsToDisplay=["position","description","tableCount"],this.columnsToDisplayWithExpand=[...this.columnsToDisplay,"expand"],this.expandedElements=new Set,this.srcDbType="",this.connectionDetail="",this.summaryText="",this.issueDescription={},this.conversionRateCount={good:0,ok:0,bad:0},this.conversionRatePercentage={good:0,ok:0,bad:0},this.rateCountDataSource=[],this.rateCountDisplayedColumns=["total","bad","ok","good"],this.ratePcDataSource=[],this.ratePcDisplayedColumns=["bad","ok","good"]}toggleRow(e){this.isRowExpanded(e)?this.expandedElements.delete(e):this.expandedElements.add(e)}isRowExpanded(e){return this.expandedElements.has(e)}ngOnInit(){this.clickEvent.viewAssesment.subscribe(e=>{this.srcDbType=e.srcDbType,this.connectionDetail=e.connectionDetail,this.conversionRateCount=e.conversionRates;let i=this.conversionRateCount.good+this.conversionRateCount.ok+this.conversionRateCount.bad;if(i>0)for(let o in this.conversionRatePercentage)this.conversionRatePercentage[o]=Number((this.conversionRateCount[o]/i*100).toFixed(2));i>0&&this.setRateCountDataSource(i),this.fetch.getDStructuredReport().subscribe({next:o=>{this.summaryText=o.summary.text}}),this.issueTableData={position:0,description:"",tableCount:0,tableNamesJoinedByComma:""},this.fetch.getIssueDescription().subscribe({next:o=>{this.issueDescription=o,this.generateIssueReport()}})})}closeSidenav(){this.sidenav.closeSidenav()}setRateCountDataSource(e){this.rateCountDataSource=[],this.rateCountDataSource.push({total:e,bad:this.conversionRateCount.bad,ok:this.conversionRateCount.ok,good:this.conversionRateCount.good})}downloadStructuredReport(){var e=document.createElement("a");this.fetch.getDStructuredReport().subscribe({next:i=>{let o=JSON.stringify(i).replace(/9223372036854776000/g,"9223372036854775807");e.href="data:text;charset=utf-8,"+encodeURIComponent(o),e.download=`${i.summary.dbName}_migration_structuredReport.json`,e.click()}})}downloadTextReport(){var e=document.createElement("a");this.fetch.getDTextReport().subscribe({next:i=>{let o=this.connectionDetail;e.href="data:text;charset=utf-8,"+encodeURIComponent(i),e.download=`${o}_migration_textReport.txt`,e.click()}})}downloadReports(){let e=new hI;this.fetch.getDStructuredReport().subscribe({next:i=>{let o=i.summary.dbName,r=JSON.stringify(i).replace(/9223372036854776000/g,"9223372036854775807");e.file(o+"_migration_structuredReport.json",r),this.fetch.getDTextReport().subscribe({next:a=>{e.file(o+"_migration_textReport.txt",a),e.generateAsync({type:"blob"}).then(l=>{var u=document.createElement("a");u.href=URL.createObjectURL(l),u.download=`${o}_reports`,u.click()})}})}})}generateIssueReport(){this.fetch.getDStructuredReport().subscribe({next:e=>{let i=e.tableReports;var o={errors:new Map,warnings:new Map,suggestions:new Map,notes:new Map};for(var r of i){let l=r.issues;if(null==l)return this.issueTableData_Errors=[],this.issueTableData_Warnings=[],this.issueTableData_Suggestions=[],void(this.issueTableData_Notes=[]);for(var s of l){let u={tableCount:0,tableNames:new Set};switch(s.issueType){case"Error":case"Errors":this.appendIssueWithTableInformation(s.issueList,o.errors,u,r);break;case"Warnings":case"Warning":this.appendIssueWithTableInformation(s.issueList,o.warnings,u,r);break;case"Suggestion":case"Suggestions":this.appendIssueWithTableInformation(s.issueList,o.suggestions,u,r);break;case"Note":case"Notes":this.appendIssueWithTableInformation(s.issueList,o.notes,u,r)}}}let a=o.warnings;this.issueTableData_Warnings=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Warnings),a=o.errors,this.issueTableData_Errors=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Errors),a=o.suggestions,this.issueTableData_Suggestions=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Suggestions),a=o.notes,this.issueTableData_Notes=[],0!=a.size&&this.populateTableData(a,this.issueTableData_Notes)}})}populateTableData(e,i){let o=1;for(let[r,s]of e.entries()){let a=[...s.tableNames.keys()];i.push({position:o,description:this.issueDescription[r],tableCount:s.tableCount,tableNamesJoinedByComma:a.join(", ")}),o+=1}}appendIssueWithTableInformation(e,i,o,r){for(var s of e)if(i.has(s.category)){let l=i.get(s.category),u={tableNames:new Set(l.tableNames),tableCount:l.tableNames.size};u.tableNames.add(r.srcTableName),u.tableCount=u.tableNames.size,i.set(s.category,u)}else{let l=o;l.tableNames.add(r.srcTableName),l.tableCount=l.tableNames.size,i.set(s.category,l)}}}return t.\u0275fac=function(e){return new(e||t)(b(Ei),b(Vo),b(Bi))},t.\u0275cmp=Ae({type:t,selectors:[["app-sidenav-view-assessment"]],decls:87,vars:25,consts:[[1,"sidenav-view-assessment-container"],[1,"sidenav-view-assessment-header"],[1,"mat-h2","header-title"],[1,"btn-source-select"],[1,"reportsButtons"],["mat-raised-button","","color","primary",1,"split-button-left",3,"click"],["mat-raised-button","","color","primary",1,"split-button-right",3,"matMenuTriggerFor"],["aria-hidden","false","aria-label","More options"],["xPosition","before"],["menu","matMenu"],["mat-menu-item","",3,"click"],["mat-icon-button","","color","primary",1,"close-button",3,"click"],[1,"close-icon"],[1,"content"],[1,"summaryHeader"],[1,"databaseName"],[1,"migrationDetails"],[1,"summaryText"],[1,"sidenav-percentage-bar"],[1,"danger-background",3,"ngStyle"],[1,"warning-background",3,"ngStyle"],[1,"success-background",3,"ngStyle"],[1,"sidenav-percentage-indent"],[1,"icon","danger"],[1,"icon","warning"],[1,"icon","success"],[1,"sidenav-title"],["mat-table","",1,"sidenav-conversionByTable",3,"dataSource"],["matColumnDef","total"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","class","cells",4,"matCellDef"],["matColumnDef","bad",1,"bad"],["matColumnDef","ok"],["matColumnDef","good"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"issue-report"],[4,"ngIf"],["class","no-issue-container",4,"ngIf"],["mat-header-cell",""],["mat-cell","",1,"cells"],[1,"icon","danger","icon-size","icons"],[1,"icon","warning","icon-size","icons"],[1,"icon","success","icon-size","icons"],["mat-header-row",""],["mat-row",""],["matTooltip","Error: Please resolve them to proceed with the migration","matTooltipPosition","above",1,"danger"],["mat-table","","multiTemplateDataRows","",1,"sidenav-databaseDefinitions",3,"dataSource"],["matColumnDef","position"],["mat-header-cell","","class","mat-position",4,"matHeaderCellDef"],["mat-cell","","class","mat-position",4,"matCellDef"],["matColumnDef","description"],["mat-header-cell","","class","mat-description",4,"matHeaderCellDef"],["mat-cell","","class","mat-description",4,"matCellDef"],["matColumnDef","tableCount"],["mat-header-cell","","class","mat-tableCount",4,"matHeaderCellDef"],["mat-cell","","class","mat-tableCount",4,"matCellDef"],["matColumnDef","expand"],["mat-header-cell","","aria-label","row actions",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","expandedDetail"],["mat-row","","class","example-element-row",3,"example-expanded-row","click",4,"matRowDef","matRowDefColumns"],["mat-row","","class","example-detail-row",4,"matRowDef","matRowDefColumns"],["mat-header-cell","",1,"mat-position"],["mat-cell","",1,"mat-position"],["mat-header-cell","",1,"mat-description"],["mat-cell","",1,"mat-description"],["mat-header-cell","",1,"mat-tableCount"],["mat-cell","",1,"mat-tableCount"],["mat-header-cell","","aria-label","row actions"],["mat-cell",""],["mat-icon-button","","aria-label","expand row",3,"click"],[1,"example-element-detail",3,"ngClass"],[1,"example-element-description"],["mat-row","",1,"example-element-row",3,"click"],["mat-row","",1,"example-detail-row"],["matTooltip","Warning : Changes made because of differences in source and spanner capabilities.","matTooltipPosition","above",1,"warning"],["matTooltip","Suggestion : We highly recommend you make these changes or else it will impact your DB performance.","matTooltipPosition","above",1,"suggestion"],["matTooltip","Note : This is informational and you don't need to do anything.","matTooltipPosition","above",1,"success"],[1,"no-issue-container"],[1,"no-issue-icon-container"],["width","36","height","36","viewBox","0 0 24 20","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M16.8332 0.69873C16.0051 7.45842 16.2492 9.44782 10.4672 10.2012C16.1511 11.1242 16.2329 13.2059 16.8332 19.7037C17.6237 13.1681 17.4697 11.2106 23.1986 10.2012C17.4247 9.45963 17.6194 7.4505 16.8332 0.69873ZM4.23739 0.872955C3.79064 4.52078 3.92238 5.59467 0.802246 6.00069C3.86944 6.49885 3.91349 7.62218 4.23739 11.1284C4.66397 7.60153 4.581 6.54497 7.67271 6.00069C4.55696 5.60052 4.66178 4.51623 4.23739 0.872955ZM7.36426 11.1105C7.05096 13.6683 7.14331 14.4212 4.95554 14.7061C7.10612 15.0553 7.13705 15.8431 7.36426 18.3017C7.66333 15.8288 7.60521 15.088 9.77298 14.7061C7.58818 14.4255 7.66177 13.6653 7.36426 11.1105Z","fill","#3367D6"],[1,"no-issue-message"]],template:function(e,i){if(1&e&&(d(0,"div",0)(1,"div",1)(2,"span",2),h(3,"Assessment report"),c(),d(4,"div",3)(5,"span",4)(6,"button",5),N("click",function(){return i.downloadReports()}),h(7," DOWNLOAD REPORTS "),c(),d(8,"button",6)(9,"mat-icon",7),h(10,"expand_more"),c()(),d(11,"mat-menu",8,9)(13,"button",10),N("click",function(){return i.downloadTextReport()}),h(14," Download Text Report "),c(),d(15,"button",10),N("click",function(){return i.downloadStructuredReport()}),h(16," Download Structured Report "),c()()(),d(17,"button",11),N("click",function(){return i.closeSidenav()}),d(18,"mat-icon",12),h(19,"close"),c()()()(),d(20,"div",13)(21,"div",14)(22,"p",15),h(23),c(),d(24,"p",16),h(25),d(26,"mat-icon"),h(27,"arrow_right_alt"),c(),h(28," Spanner)"),c()(),d(29,"p",17),h(30),c(),d(31,"mat-card")(32,"div",18),E(33,"div",19)(34,"div",20)(35,"div",21),c(),E(36,"hr")(37,"br"),d(38,"div",22)(39,"span")(40,"mat-icon",23),h(41," circle "),c(),d(42,"span"),h(43," Not a great conversion"),c()(),d(44,"span")(45,"mat-icon",24),h(46," circle "),c(),d(47,"span"),h(48," Converted with warnings"),c()(),d(49,"span")(50,"mat-icon",25),h(51," circle "),c(),d(52,"span"),h(53," Converted automatically"),c()()()(),E(54,"br"),d(55,"h3",26),h(56,"Conversion status by table"),c(),d(57,"table",27),be(58,28),_(59,cte,2,0,"th",29),_(60,dte,2,1,"td",30),ve(),be(61,31),_(62,ute,4,0,"th",29),_(63,hte,2,1,"td",30),ve(),be(64,32),_(65,pte,4,0,"th",29),_(66,fte,2,1,"td",30),ve(),be(67,33),_(68,mte,4,0,"th",29),_(69,gte,2,1,"td",30),ve(),_(70,_te,1,0,"tr",34),_(71,bte,1,0,"tr",35),c(),E(72,"br"),d(73,"h3"),h(74,"Summarized Table Report"),c(),d(75,"div",36),_(76,Pte,24,5,"mat-expansion-panel",37),_(77,Rte,1,0,"br",37),_(78,Zte,24,5,"mat-expansion-panel",37),_(79,Qte,1,0,"br",37),_(80,une,24,5,"mat-expansion-panel",37),_(81,hne,1,0,"br",37),_(82,Tne,24,5,"mat-expansion-panel",37),_(83,kne,1,0,"br",37),_(84,Ene,9,0,"div",38),E(85,"br"),c(),E(86,"br"),c()()),2&e){const o=$t(12);f(8),m("matMenuTriggerFor",o),f(15),Ee(i.connectionDetail),f(2),Se(" \xa0 (",i.srcDbType," "),f(5),Ee(i.summaryText),f(3),m("ngStyle",Kt(19,Bv,i.conversionRatePercentage.bad)),f(1),m("ngStyle",Kt(21,Bv,i.conversionRatePercentage.ok)),f(1),m("ngStyle",Kt(23,Bv,i.conversionRatePercentage.good)),f(22),m("dataSource",i.rateCountDataSource),f(13),m("matHeaderRowDef",i.rateCountDisplayedColumns),f(1),m("matRowDefColumns",i.rateCountDisplayedColumns),f(5),m("ngIf",i.issueTableData_Errors.length),f(1),m("ngIf",i.issueTableData_Errors.length),f(1),m("ngIf",i.issueTableData_Warnings.length),f(1),m("ngIf",i.issueTableData_Warnings.length),f(1),m("ngIf",i.issueTableData_Suggestions.length),f(1),m("ngIf",i.issueTableData_Suggestions.length),f(1),m("ngIf",i.issueTableData_Notes.length),f(1),m("ngIf",i.issueTableData_Notes.length),f(1),m("ngIf",!(i.issueTableData_Notes.length||i.issueTableData_Suggestions.length||i.issueTableData_Warnings.length||i.issueTableData_Errors.length))}},directives:[Ht,Nl,_n,Fl,qr,$h,Ug,As,Xr,Yr,Jr,Qr,es,Ps,Fs,Rs,Ns,Et,nk,jH,HH,ki,nr],styles:["table.mat-table[_ngcontent-%COMP%]{width:100%}.icon-size[_ngcontent-%COMP%]{font-size:1.2em;text-align:center;margin-top:8px;margin-left:10px;vertical-align:inherit}.mat-header-cell[_ngcontent-%COMP%]{border-style:none}.icons[_ngcontent-%COMP%]{border-left:1px solid #d0cccc;padding-left:10px}.cells[_ngcontent-%COMP%]{text-align:center}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%]{padding:7px 16px;display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #d0cccc;justify-content:space-between}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%]{margin:0}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .reportsButtons[_ngcontent-%COMP%]{white-space:nowrap}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-left[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .split-button-right[_ngcontent-%COMP%]{width:30px!important;min-width:unset!important;padding:0 8px 0 2px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #fafafa}.sidenav-view-assessment-container[_ngcontent-%COMP%] .sidenav-view-assessment-header[_ngcontent-%COMP%] .btn-source-select[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{margin-left:1.25px}"]}),t})(),One=(()=>{class t{constructor(e,i,o,r,s){this.fetch=e,this.snack=i,this.dataService=o,this.data=r,this.dialogRef=s,this.errMessage="",this.updateConfigForm=new an({GCPProjectID:new X(r.GCPProjectID,[de.required]),SpannerInstanceID:new X(r.SpannerInstanceID,[de.required])}),s.disableClose=!0}updateSpannerConfig(){let e=this.updateConfigForm.value;this.fetch.setSpannerConfig({GCPProjectID:e.GCPProjectID,SpannerInstanceID:e.SpannerInstanceID}).subscribe({next:o=>{o.IsMetadataDbCreated&&this.snack.openSnackBar("Metadata database not found. A new database has been created to store session metadata.","Close",5),this.snack.openSnackBar(o.IsConfigValid?"Spanner Config updated successfully":"Invalid Spanner Configuration","Close",5),this.dialogRef.close(Object.assign({},o)),this.dataService.updateIsOffline(),this.dataService.updateConfig(o),this.dataService.getAllSessions()},error:o=>{this.snack.openSnackBar(o.message,"Close")}})}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)(b(Bi),b(Bo),b(Ln),b(Xi),b(Ti))},t.\u0275cmp=Ae({type:t,selectors:[["app-update-spanner-config-form"]],decls:20,vars:3,consts:[["mat-dialog-content",""],[1,"save-session-form",3,"formGroup"],["appearance","outline",1,"full-width"],["matInput","","placeholder","project id","type","text","formControlName","GCPProjectID"],["hintLabel","Min. 2 characters and Max. 64 characters","appearance","outline",1,"full-width"],["matInput","","placeholder","instance id","type","text","required","","minlength","2","maxlength","64","pattern","^[a-z]([-a-z0-9]*[a-z0-9])?","formControlName","SpannerInstanceID"],["align","end"],["mat-dialog-actions","",1,"buttons-container"],["mat-button","","color","primary","mat-dialog-close",""],["mat-button","","type","submit","color","primary",3,"disabled","click"]],template:function(e,i){1&e&&(d(0,"div",0)(1,"form",1)(2,"h2"),h(3,"Connect to Spanner"),c(),d(4,"mat-form-field",2)(5,"mat-label"),h(6,"Project ID"),c(),E(7,"input",3),c(),E(8,"br"),d(9,"mat-form-field",4)(10,"mat-label"),h(11,"Instance ID"),c(),E(12,"input",5),d(13,"mat-hint",6),h(14),c()()()(),d(15,"div",7)(16,"button",8),h(17,"CANCEL"),c(),d(18,"button",9),N("click",function(){return i.updateSpannerConfig()}),h(19," SAVE "),c()()),2&e&&(f(1),m("formGroup",i.updateConfigForm),f(13),Se("",(null==i.updateConfigForm.value.SpannerInstanceID?null:i.updateConfigForm.value.SpannerInstanceID.length)||0,"/64"),f(4),m("disabled",!i.updateConfigForm.valid))},directives:[wr,xi,Hn,Sn,En,Mn,li,Dn,bn,Xn,fo,xb,Tb,kb,np,Dr,Ht,Ji],styles:[".mat-form-field[_ngcontent-%COMP%]{width:100%}.buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}"]}),t})();function Ane(t,n){1&t&&(d(0,"mat-icon",11),h(1," warning "),c())}function Pne(t,n){1&t&&(d(0,"mat-icon",12),h(1," check_circle "),c())}function Rne(t,n){1&t&&(d(0,"mat-icon",13),h(1," warning "),c())}function Fne(t,n){1&t&&(d(0,"div")(1,"span",null,14),h(3,"Spanner database is not configured, click on edit button to configure "),c()())}function Nne(t,n){if(1&t&&(d(0,"div")(1,"span",15)(2,"b"),h(3,"Project Id: "),c(),h(4),c(),d(5,"span",16)(6,"b"),h(7,"Spanner Instance Id: "),c(),h(8),c()()),2&t){const e=D();f(4),Ee(e.spannerConfig.GCPProjectID),f(4),Ee(e.spannerConfig.SpannerInstanceID)}}let Lne=(()=>{class t{constructor(e,i,o,r,s){this.data=e,this.dialog=i,this.sidenav=o,this.clickEvent=r,this.loaderService=s,this.isOfflineStatus=!1,this.spannerConfig={GCPProjectID:"",SpannerInstanceID:""}}ngOnInit(){this.data.config.subscribe(e=>{this.spannerConfig=e}),this.data.isOffline.subscribe({next:e=>{this.isOfflineStatus=e}}),this.clickEvent.spannerConfig.subscribe(e=>{e&&this.openEditForm()})}openEditForm(){this.dialog.open(One,{width:"30vw",minWidth:"400px",maxWidth:"500px",data:this.spannerConfig}).afterClosed().subscribe(i=>{i&&(this.spannerConfig=i)})}showWarning(){return!this.spannerConfig.GCPProjectID&&!this.spannerConfig.SpannerInstanceID}openInstructionSidenav(){this.sidenav.openSidenav(),this.sidenav.setSidenavComponent("instruction")}openUserGuide(){window.open("https://github.com/GoogleCloudPlatform/spanner-migration-tool/blob/master/SpannerMigrationToolUIUserGuide.pdf","_blank")}stopLoading(){this.loaderService.stopLoader(),this.clickEvent.cancelDbLoading(),this.clickEvent.closeDatabaseLoader()}}return t.\u0275fac=function(e){return new(e||t)(b(Ln),b(ns),b(Ei),b(Vo),b(Gp))},t.\u0275cmp=Ae({type:t,selectors:[["app-header"]],decls:16,vars:6,consts:[["color","secondry",1,"header-container"],[1,"pointer",3,"routerLink","click"],[1,"menu-spacer"],[1,"right_container"],[1,"spanner_config"],["class","icon warning","matTooltip","Invalid spanner configuration. Working in offline mode",4,"ngIf"],["class","icon success","matTooltip","Valid spanner configuration.",4,"ngIf"],["class","icon warning","matTooltip","Spanner configuration has not been set.",4,"ngIf"],[4,"ngIf"],["matTooltip","Edit Settings",1,"cursor-pointer",3,"click"],["mat-icon-button","","matTooltip","Instruction",1,"example-icon","favorite-icon",3,"click"],["matTooltip","Invalid spanner configuration. Working in offline mode",1,"icon","warning"],["matTooltip","Valid spanner configuration.",1,"icon","success"],["matTooltip","Spanner configuration has not been set.",1,"icon","warning"],["name",""],[1,"pid"],[1,"iid"]],template:function(e,i){1&e&&(d(0,"mat-toolbar",0)(1,"span",1),N("click",function(){return i.stopLoading()}),h(2," Spanner migration tool"),c(),E(3,"span",2),d(4,"div",3)(5,"div",4),_(6,Ane,2,0,"mat-icon",5),_(7,Pne,2,0,"mat-icon",6),_(8,Rne,2,0,"mat-icon",7),_(9,Fne,4,0,"div",8),_(10,Nne,9,2,"div",8),d(11,"mat-icon",9),N("click",function(){return i.openEditForm()}),h(12,"edit"),c()(),d(13,"button",10),N("click",function(){return i.openUserGuide()}),d(14,"mat-icon"),h(15,"help"),c()()()()),2&e&&(f(1),m("routerLink","/"),f(5),m("ngIf",i.isOfflineStatus&&!i.showWarning()),f(1),m("ngIf",!i.isOfflineStatus&&!i.showWarning()),f(1),m("ngIf",i.showWarning()),f(1),m("ngIf",i.showWarning()),f(1),m("ngIf",!i.showWarning()))},directives:[l6,Bs,Et,_n,ki,Ht],styles:[".header-container[_ngcontent-%COMP%]{padding:0 20px}.menu-spacer[_ngcontent-%COMP%]{flex:1 1 auto}.right_container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%]{margin:0 15px 0 0;display:flex;align-items:center;border-radius:5px;padding:0 10px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:2px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-weight:300;padding:0 10px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] .pid[_ngcontent-%COMP%]{margin-right:10px}.right_container[_ngcontent-%COMP%] .spanner_config[_ngcontent-%COMP%] .pointer[_ngcontent-%COMP%]{cursor:pointer}.cursor-pointer[_ngcontent-%COMP%]{color:#3367d6}"]}),t})();function Bne(t,n){1&t&&(d(0,"div",1),E(1,"mat-progress-bar",2),c())}let Vne=(()=>{class t{constructor(e){this.loaderService=e,this.showProgress=!0}ngOnInit(){this.loaderService.isLoading.subscribe(e=>{this.showProgress=e})}}return t.\u0275fac=function(e){return new(e||t)(b(Gp))},t.\u0275cmp=Ae({type:t,selectors:[["app-loader"]],decls:1,vars:1,consts:[["class","progress-bar-wrapper",4,"ngIf"],[1,"progress-bar-wrapper"],["mode","indeterminate","value","40"]],template:function(e,i){1&e&&_(0,Bne,2,0,"div",0),2&e&&m("ngIf",i.showProgress)},directives:[Et,lx],styles:[".progress-bar-wrapper[_ngcontent-%COMP%]{background-color:#cbd0e9;height:2px}.progress-bar-wrapper[_ngcontent-%COMP%] .mat-progress-bar[_ngcontent-%COMP%]{height:2px}"]}),t})();function jne(t,n){1&t&&E(0,"app-sidenav-rule")}function Hne(t,n){1&t&&E(0,"app-sidenav-save-session")}function Une(t,n){1&t&&E(0,"app-sidenav-review-changes")}function zne(t,n){1&t&&E(0,"app-sidenav-view-assessment")}function $ne(t,n){1&t&&E(0,"app-instruction")}const Gne=function(t,n,e){return{"width-40pc":t,"width-50pc":n,"width-60pc":e}};let Wne=(()=>{class t{constructor(e){this.sidenavService=e,this.title="ui",this.showSidenav=!1,this.sidenavComponent=""}ngOnInit(){this.sidenavService.isSidenav.subscribe(e=>{this.showSidenav=e}),this.sidenavService.sidenavComponent.subscribe(e=>{this.sidenavComponent=e})}closeSidenav(){this.showSidenav=!1}}return t.\u0275fac=function(e){return new(e||t)(b(Ei))},t.\u0275cmp=Ae({type:t,selectors:[["app-root"]],decls:14,vars:11,consts:[[1,"sidenav-container",3,"backdropClick"],["position","end","mode","over",3,"opened","ngClass"],["sidenav",""],[4,"ngIf"],[1,"sidenav-content"],[1,"appLoader"],[1,"padding-20"]],template:function(e,i){1&e&&(d(0,"mat-sidenav-container",0),N("backdropClick",function(){return i.closeSidenav()}),d(1,"mat-sidenav",1,2),_(3,jne,1,0,"app-sidenav-rule",3),_(4,Hne,1,0,"app-sidenav-save-session",3),_(5,Une,1,0,"app-sidenav-review-changes",3),_(6,zne,1,0,"app-sidenav-view-assessment",3),_(7,$ne,1,0,"app-instruction",3),c(),d(8,"mat-sidenav-content",4),E(9,"app-header"),d(10,"div",5),E(11,"app-loader"),c(),d(12,"div",6),E(13,"router-outlet"),c()()()),2&e&&(f(1),m("opened",i.showSidenav)("ngClass",kw(7,Gne,"rule"===i.sidenavComponent||"saveSession"===i.sidenavComponent,"reviewChanges"===i.sidenavComponent,"assessment"===i.sidenavComponent||"instruction"===i.sidenavComponent)),f(2),m("ngIf","rule"===i.sidenavComponent),f(1),m("ngIf","saveSession"==i.sidenavComponent),f(1),m("ngIf","reviewChanges"==i.sidenavComponent),f(1),m("ngIf","assessment"===i.sidenavComponent),f(1),m("ngIf","instruction"===i.sidenavComponent))},directives:[Kk,qk,nr,Et,$ee,Gee,lte,Ine,uI,pv,Lne,Vne,Lp],styles:[".padding-20[_ngcontent-%COMP%]{padding:5px 0}.progress-bar-wrapper[_ngcontent-%COMP%]{background-color:#cbd0e9;height:2px}.progress-bar-wrapper[_ngcontent-%COMP%] .mat-progress-bar[_ngcontent-%COMP%], .appLoader[_ngcontent-%COMP%]{height:2px}mat-sidenav[_ngcontent-%COMP%]{width:30%;min-width:350px}.sidenav-container[_ngcontent-%COMP%]{height:100vh}.sidenav-container[_ngcontent-%COMP%] mat-sidenav[_ngcontent-%COMP%]{min-width:350px;border-radius:3px}.width-40pc[_ngcontent-%COMP%]{width:40%}.width-50pc[_ngcontent-%COMP%]{width:50%}.width-60pc[_ngcontent-%COMP%]{width:60%}"]}),t})(),qne=(()=>{class t{constructor(e){this.loader=e,this.count=0}intercept(e,i){let o=!e.url.includes("/connect");return o&&(this.loader.startLoader(),this.count++),i.handle(e).pipe(X_(()=>{o&&this.count--,0==this.count&&this.loader.stopLoader()}))}}return t.\u0275fac=function(e){return new(e||t)(Q(Gp))},t.\u0275prov=Be({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Kne=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ot({type:t,bootstrap:[Wne]}),t.\u0275inj=it({providers:[{provide:nb,useClass:qne,multi:!0}],imports:[[hS,mee,YB,az,P6,tj,bz,wz,RW,ev]]}),t})();(function A3(){CD=!1})(),j5().bootstrapModule(Kne).catch(t=>console.error(t))},650:Zl=>{Zl.exports=function G(Te,H,R){function A($,q){if(!H[$]){if(!Te[$]){if(x)return x($,!0);var z=new Error("Cannot find module '"+$+"'");throw z.code="MODULE_NOT_FOUND",z}var T=H[$]={exports:{}};Te[$][0].call(T.exports,function(L){return A(Te[$][1][L]||L)},T,T.exports,G,Te,H,R)}return H[$].exports}for(var x=void 0,k=0;k>4,L=1>6:64,S=2>2)+x.charAt(T)+x.charAt(L)+x.charAt(S));return P.join("")},H.decode=function(k){var $,q,U,z,T,L,S=0,P=0,I="data:";if(k.substr(0,I.length)===I)throw new Error("Invalid base64 input, it looks like a data url.");var B,W=3*(k=k.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(k.charAt(k.length-1)===x.charAt(64)&&W--,k.charAt(k.length-2)===x.charAt(64)&&W--,W%1!=0)throw new Error("Invalid base64 input, bad content length.");for(B=A.uint8array?new Uint8Array(0|W):new Array(0|W);S>4,q=(15&z)<<4|(T=x.indexOf(k.charAt(S++)))>>2,U=(3&T)<<6|(L=x.indexOf(k.charAt(S++))),B[P++]=$,64!==T&&(B[P++]=q),64!==L&&(B[P++]=U);return B}},{"./support":30,"./utils":32}],2:[function(G,Te,H){"use strict";var R=G("./external"),A=G("./stream/DataWorker"),x=G("./stream/Crc32Probe"),k=G("./stream/DataLengthProbe");function $(q,U,z,T,L){this.compressedSize=q,this.uncompressedSize=U,this.crc32=z,this.compression=T,this.compressedContent=L}$.prototype={getContentWorker:function(){var q=new A(R.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new k("data_length")),U=this;return q.on("end",function(){if(this.streamInfo.data_length!==U.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),q},getCompressedWorker:function(){return new A(R.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},$.createWorkerFrom=function(q,U,z){return q.pipe(new x).pipe(new k("uncompressedSize")).pipe(U.compressWorker(z)).pipe(new k("compressedSize")).withStreamInfo("compression",U)},Te.exports=$},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(G,Te,H){"use strict";var R=G("./stream/GenericWorker");H.STORE={magic:"\0\0",compressWorker:function(){return new R("STORE compression")},uncompressWorker:function(){return new R("STORE decompression")}},H.DEFLATE=G("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(G,Te,H){"use strict";var R=G("./utils"),A=function(){for(var x,k=[],$=0;$<256;$++){x=$;for(var q=0;q<8;q++)x=1&x?3988292384^x>>>1:x>>>1;k[$]=x}return k}();Te.exports=function(x,k){return void 0!==x&&x.length?"string"!==R.getTypeOf(x)?function($,q,U,z){var T=A,L=0+U;$^=-1;for(var S=0;S>>8^T[255&($^q[S])];return-1^$}(0|k,x,x.length):function($,q,U,z){var T=A,L=0+U;$^=-1;for(var S=0;S>>8^T[255&($^q.charCodeAt(S))];return-1^$}(0|k,x,x.length):0}},{"./utils":32}],5:[function(G,Te,H){"use strict";H.base64=!1,H.binary=!1,H.dir=!1,H.createFolders=!0,H.date=null,H.compression=null,H.compressionOptions=null,H.comment=null,H.unixPermissions=null,H.dosPermissions=null},{}],6:[function(G,Te,H){"use strict";var R;R="undefined"!=typeof Promise?Promise:G("lie"),Te.exports={Promise:R}},{lie:37}],7:[function(G,Te,H){"use strict";var R="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,A=G("pako"),x=G("./utils"),k=G("./stream/GenericWorker"),$=R?"uint8array":"array";function q(U,z){k.call(this,"FlateWorker/"+U),this._pako=null,this._pakoAction=U,this._pakoOptions=z,this.meta={}}H.magic="\b\0",x.inherits(q,k),q.prototype.processChunk=function(U){this.meta=U.meta,null===this._pako&&this._createPako(),this._pako.push(x.transformTo($,U.data),!1)},q.prototype.flush=function(){k.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},q.prototype.cleanUp=function(){k.prototype.cleanUp.call(this),this._pako=null},q.prototype._createPako=function(){this._pako=new A[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var U=this;this._pako.onData=function(z){U.push({data:z,meta:U.meta})}},H.compressWorker=function(U){return new q("Deflate",U)},H.uncompressWorker=function(){return new q("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(G,Te,H){"use strict";function R(T,L){var S,P="";for(S=0;S>>=8;return P}function A(T,L,S,P,I,B){var W,te,J=T.file,ye=T.compression,he=B!==$.utf8encode,Ie=x.transformTo("string",B(J.name)),ue=x.transformTo("string",$.utf8encode(J.name)),Ve=J.comment,at=x.transformTo("string",B(Ve)),j=x.transformTo("string",$.utf8encode(Ve)),fe=ue.length!==J.name.length,w=j.length!==Ve.length,ge="",bt="",Me="",Rt=J.dir,Oe=J.date,Ue={crc32:0,compressedSize:0,uncompressedSize:0};L&&!S||(Ue.crc32=T.crc32,Ue.compressedSize=T.compressedSize,Ue.uncompressedSize=T.uncompressedSize);var ae=0;L&&(ae|=8),he||!fe&&!w||(ae|=2048);var ie,ei,re=0,ut=0;Rt&&(re|=16),"UNIX"===I?(ut=798,re|=(ei=ie=J.unixPermissions,ie||(ei=Rt?16893:33204),(65535&ei)<<16)):(ut=20,re|=function(ie){return 63&(ie||0)}(J.dosPermissions)),W=Oe.getUTCHours(),W<<=6,W|=Oe.getUTCMinutes(),W<<=5,W|=Oe.getUTCSeconds()/2,te=Oe.getUTCFullYear()-1980,te<<=4,te|=Oe.getUTCMonth()+1,te<<=5,te|=Oe.getUTCDate(),fe&&(bt=R(1,1)+R(q(Ie),4)+ue,ge+="up"+R(bt.length,2)+bt),w&&(Me=R(1,1)+R(q(at),4)+j,ge+="uc"+R(Me.length,2)+Me);var qe="";return qe+="\n\0",qe+=R(ae,2),qe+=ye.magic,qe+=R(W,2),qe+=R(te,2),qe+=R(Ue.crc32,4),qe+=R(Ue.compressedSize,4),qe+=R(Ue.uncompressedSize,4),qe+=R(Ie.length,2),qe+=R(ge.length,2),{fileRecord:U.LOCAL_FILE_HEADER+qe+Ie+ge,dirRecord:U.CENTRAL_FILE_HEADER+R(ut,2)+qe+R(at.length,2)+"\0\0\0\0"+R(re,4)+R(P,4)+Ie+ge+at}}var x=G("../utils"),k=G("../stream/GenericWorker"),$=G("../utf8"),q=G("../crc32"),U=G("../signature");function z(T,L,S,P){k.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=L,this.zipPlatform=S,this.encodeFileName=P,this.streamFiles=T,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}x.inherits(z,k),z.prototype.push=function(T){var L=T.meta.percent||0,S=this.entriesCount,P=this._sources.length;this.accumulate?this.contentBuffer.push(T):(this.bytesWritten+=T.data.length,k.prototype.push.call(this,{data:T.data,meta:{currentFile:this.currentFile,percent:S?(L+100*(S-P-1))/S:100}}))},z.prototype.openedSource=function(T){this.currentSourceOffset=this.bytesWritten,this.currentFile=T.file.name;var L=this.streamFiles&&!T.file.dir;if(L){var S=A(T,L,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:S.fileRecord,meta:{percent:0}})}else this.accumulate=!0},z.prototype.closedSource=function(T){this.accumulate=!1;var P,L=this.streamFiles&&!T.file.dir,S=A(T,L,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(S.dirRecord),L)this.push({data:(P=T,U.DATA_DESCRIPTOR+R(P.crc32,4)+R(P.compressedSize,4)+R(P.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:S.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},z.prototype.flush=function(){for(var T=this.bytesWritten,L=0;L=this.index;k--)$=($<<8)+this.byteAt(k);return this.index+=x,$},readString:function(x){return R.transformTo("string",this.readData(x))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var x=this.readInt(4);return new Date(Date.UTC(1980+(x>>25&127),(x>>21&15)-1,x>>16&31,x>>11&31,x>>5&63,(31&x)<<1))}},Te.exports=A},{"../utils":32}],19:[function(G,Te,H){"use strict";var R=G("./Uint8ArrayReader");function A(x){R.call(this,x)}G("../utils").inherits(A,R),A.prototype.readData=function(x){this.checkOffset(x);var k=this.data.slice(this.zero+this.index,this.zero+this.index+x);return this.index+=x,k},Te.exports=A},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(G,Te,H){"use strict";var R=G("./DataReader");function A(x){R.call(this,x)}G("../utils").inherits(A,R),A.prototype.byteAt=function(x){return this.data.charCodeAt(this.zero+x)},A.prototype.lastIndexOfSignature=function(x){return this.data.lastIndexOf(x)-this.zero},A.prototype.readAndCheckSignature=function(x){return x===this.readData(4)},A.prototype.readData=function(x){this.checkOffset(x);var k=this.data.slice(this.zero+this.index,this.zero+this.index+x);return this.index+=x,k},Te.exports=A},{"../utils":32,"./DataReader":18}],21:[function(G,Te,H){"use strict";var R=G("./ArrayReader");function A(x){R.call(this,x)}G("../utils").inherits(A,R),A.prototype.readData=function(x){if(this.checkOffset(x),0===x)return new Uint8Array(0);var k=this.data.subarray(this.zero+this.index,this.zero+this.index+x);return this.index+=x,k},Te.exports=A},{"../utils":32,"./ArrayReader":17}],22:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("../support"),x=G("./ArrayReader"),k=G("./StringReader"),$=G("./NodeBufferReader"),q=G("./Uint8ArrayReader");Te.exports=function(U){var z=R.getTypeOf(U);return R.checkSupport(z),"string"!==z||A.uint8array?"nodebuffer"===z?new $(U):A.uint8array?new q(R.transformTo("uint8array",U)):new x(R.transformTo("array",U)):new k(U)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(G,Te,H){"use strict";H.LOCAL_FILE_HEADER="PK\x03\x04",H.CENTRAL_FILE_HEADER="PK\x01\x02",H.CENTRAL_DIRECTORY_END="PK\x05\x06",H.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",H.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",H.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(G,Te,H){"use strict";var R=G("./GenericWorker"),A=G("../utils");function x(k){R.call(this,"ConvertWorker to "+k),this.destType=k}A.inherits(x,R),x.prototype.processChunk=function(k){this.push({data:A.transformTo(this.destType,k.data),meta:k.meta})},Te.exports=x},{"../utils":32,"./GenericWorker":28}],25:[function(G,Te,H){"use strict";var R=G("./GenericWorker"),A=G("../crc32");function x(){R.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}G("../utils").inherits(x,R),x.prototype.processChunk=function(k){this.streamInfo.crc32=A(k.data,this.streamInfo.crc32||0),this.push(k)},Te.exports=x},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("./GenericWorker");function x(k){A.call(this,"DataLengthProbe for "+k),this.propName=k,this.withStreamInfo(k,0)}R.inherits(x,A),x.prototype.processChunk=function(k){k&&(this.streamInfo[this.propName]=(this.streamInfo[this.propName]||0)+k.data.length),A.prototype.processChunk.call(this,k)},Te.exports=x},{"../utils":32,"./GenericWorker":28}],27:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("./GenericWorker");function x(k){A.call(this,"DataWorker");var $=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,k.then(function(q){$.dataIsReady=!0,$.data=q,$.max=q&&q.length||0,$.type=R.getTypeOf(q),$.isPaused||$._tickAndRepeat()},function(q){$.error(q)})}R.inherits(x,A),x.prototype.cleanUp=function(){A.prototype.cleanUp.call(this),this.data=null},x.prototype.resume=function(){return!!A.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,R.delay(this._tickAndRepeat,[],this)),!0)},x.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(R.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},x.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var k=null,$=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":k=this.data.substring(this.index,$);break;case"uint8array":k=this.data.subarray(this.index,$);break;case"array":case"nodebuffer":k=this.data.slice(this.index,$)}return this.index=$,this.push({data:k,meta:{percent:this.max?this.index/this.max*100:0}})},Te.exports=x},{"../utils":32,"./GenericWorker":28}],28:[function(G,Te,H){"use strict";function R(A){this.name=A||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}R.prototype={push:function(A){this.emit("data",A)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(A){this.emit("error",A)}return!0},error:function(A){return!this.isFinished&&(this.isPaused?this.generatedError=A:(this.isFinished=!0,this.emit("error",A),this.previous&&this.previous.error(A),this.cleanUp()),!0)},on:function(A,x){return this._listeners[A].push(x),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(A,x){if(this._listeners[A])for(var k=0;k "+A:A}},Te.exports=R},{}],29:[function(G,Te,H){"use strict";var R=G("../utils"),A=G("./ConvertWorker"),x=G("./GenericWorker"),k=G("../base64"),$=G("../support"),q=G("../external"),U=null;if($.nodestream)try{U=G("../nodejs/NodejsStreamOutputAdapter")}catch(L){}function T(L,S,P){var I=S;switch(S){case"blob":case"arraybuffer":I="uint8array";break;case"base64":I="string"}try{this._internalType=I,this._outputType=S,this._mimeType=P,R.checkSupport(I),this._worker=L.pipe(new A(I)),L.lock()}catch(B){this._worker=new x("error"),this._worker.error(B)}}T.prototype={accumulate:function(L){return function z(L,S){return new q.Promise(function(P,I){var B=[],W=L._internalType,te=L._outputType,J=L._mimeType;L.on("data",function(ye,he){B.push(ye),S&&S(he)}).on("error",function(ye){B=[],I(ye)}).on("end",function(){try{var ye=function(he,Ie,ue){switch(he){case"blob":return R.newBlob(R.transformTo("arraybuffer",Ie),ue);case"base64":return k.encode(Ie);default:return R.transformTo(he,Ie)}}(te,function(he,Ie){var ue,Ve=0,at=null,j=0;for(ue=0;ue>>6:(P<65536?S[W++]=224|P>>>12:(S[W++]=240|P>>>18,S[W++]=128|P>>>12&63),S[W++]=128|P>>>6&63),S[W++]=128|63&P);return S}(T)},H.utf8decode=function(T){return A.nodebuffer?R.transformTo("nodebuffer",T).toString("utf-8"):function(L){var S,P,I,B,W=L.length,te=new Array(2*W);for(S=P=0;S>10&1023,te[P++]=56320|1023&I)}return te.length!==P&&(te.subarray?te=te.subarray(0,P):te.length=P),R.applyFromCharCode(te)}(T=R.transformTo(A.uint8array?"uint8array":"array",T))},R.inherits(U,k),U.prototype.processChunk=function(T){var L=R.transformTo(A.uint8array?"uint8array":"array",T.data);if(this.leftOver&&this.leftOver.length){if(A.uint8array){var S=L;(L=new Uint8Array(S.length+this.leftOver.length)).set(this.leftOver,0),L.set(S,this.leftOver.length)}else L=this.leftOver.concat(L);this.leftOver=null}var P=function(B,W){var te;for((W=W||B.length)>B.length&&(W=B.length),te=W-1;0<=te&&128==(192&B[te]);)te--;return te<0||0===te?W:te+$[B[te]]>W?te:W}(L),I=L;P!==L.length&&(A.uint8array?(I=L.subarray(0,P),this.leftOver=L.subarray(P,L.length)):(I=L.slice(0,P),this.leftOver=L.slice(P,L.length))),this.push({data:H.utf8decode(I),meta:T.meta})},U.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:H.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},H.Utf8DecodeWorker=U,R.inherits(z,k),z.prototype.processChunk=function(T){this.push({data:H.utf8encode(T.data),meta:T.meta})},H.Utf8EncodeWorker=z},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(G,Te,H){"use strict";var R=G("./support"),A=G("./base64"),x=G("./nodejsUtils"),k=G("./external");function $(S){return S}function q(S,P){for(var I=0;I>8;this.dir=!!(16&this.externalFileAttributes),0==T&&(this.dosPermissions=63&this.externalFileAttributes),3==T&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var T=R(this.extraFields[1].value);this.uncompressedSize===A.MAX_VALUE_32BITS&&(this.uncompressedSize=T.readInt(8)),this.compressedSize===A.MAX_VALUE_32BITS&&(this.compressedSize=T.readInt(8)),this.localHeaderOffset===A.MAX_VALUE_32BITS&&(this.localHeaderOffset=T.readInt(8)),this.diskNumberStart===A.MAX_VALUE_32BITS&&(this.diskNumberStart=T.readInt(4))}},readExtraFields:function(T){var L,S,P,I=T.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});T.index+4>>6:(T<65536?z[P++]=224|T>>>12:(z[P++]=240|T>>>18,z[P++]=128|T>>>12&63),z[P++]=128|T>>>6&63),z[P++]=128|63&T);return z},H.buf2binstring=function(U){return q(U,U.length)},H.binstring2buf=function(U){for(var z=new R.Buf8(U.length),T=0,L=z.length;T>10&1023,B[L++]=56320|1023&S)}return q(B,L)},H.utf8border=function(U,z){var T;for((z=z||U.length)>U.length&&(z=U.length),T=z-1;0<=T&&128==(192&U[T]);)T--;return T<0||0===T?z:T+k[U[T]]>z?T:z}},{"./common":41}],43:[function(G,Te,H){"use strict";Te.exports=function(R,A,x,k){for(var $=65535&R|0,q=R>>>16&65535|0,U=0;0!==x;){for(x-=U=2e3>>1:A>>>1;x[k]=A}return x}();Te.exports=function(A,x,k,$){var q=R,U=$+k;A^=-1;for(var z=$;z>>8^q[255&(A^x[z])];return-1^A}},{}],46:[function(G,Te,H){"use strict";var R,A=G("../utils/common"),x=G("./trees"),k=G("./adler32"),$=G("./crc32"),q=G("./messages"),L=-2,Ve=258,at=262;function Rt(y,me){return y.msg=q[me],me}function Oe(y){return(y<<1)-(4y.avail_out&&(ce=y.avail_out),0!==ce&&(A.arraySet(y.output,me.pending_buf,me.pending_out,ce,y.next_out),y.next_out+=ce,me.pending_out+=ce,y.total_out+=ce,y.avail_out-=ce,me.pending-=ce,0===me.pending&&(me.pending_out=0))}function re(y,me){x._tr_flush_block(y,0<=y.block_start?y.block_start:-1,y.strstart-y.block_start,me),y.block_start=y.strstart,ae(y.strm)}function ut(y,me){y.pending_buf[y.pending++]=me}function qe(y,me){y.pending_buf[y.pending++]=me>>>8&255,y.pending_buf[y.pending++]=255&me}function ie(y,me){var ce,F,O=y.max_chain_length,Z=y.strstart,we=y.prev_length,xe=y.nice_match,ne=y.strstart>y.w_size-at?y.strstart-(y.w_size-at):0,Re=y.window,Ke=y.w_mask,Le=y.prev,lt=y.strstart+Ve,Xt=Re[Z+we-1],Lt=Re[Z+we];y.prev_length>=y.good_match&&(O>>=2),xe>y.lookahead&&(xe=y.lookahead);do{if(Re[(ce=me)+we]===Lt&&Re[ce+we-1]===Xt&&Re[ce]===Re[Z]&&Re[++ce]===Re[Z+1]){Z+=2,ce++;do{}while(Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Re[++Z]===Re[++ce]&&Zne&&0!=--O);return we<=y.lookahead?we:y.lookahead}function vn(y){var me,ce,F,O,Z,we,xe,ne,Re,Ke,Le=y.w_size;do{if(O=y.window_size-y.lookahead-y.strstart,y.strstart>=Le+(Le-at)){for(A.arraySet(y.window,y.window,Le,Le,0),y.match_start-=Le,y.strstart-=Le,y.block_start-=Le,me=ce=y.hash_size;F=y.head[--me],y.head[me]=Le<=F?F-Le:0,--ce;);for(me=ce=Le;F=y.prev[--me],y.prev[me]=Le<=F?F-Le:0,--ce;);O+=Le}if(0===y.strm.avail_in)break;if(xe=y.window,ne=y.strstart+y.lookahead,Ke=void 0,(Re=O)<(Ke=(we=y.strm).avail_in)&&(Ke=Re),ce=0===Ke?0:(we.avail_in-=Ke,A.arraySet(xe,we.input,we.next_in,Ke,ne),1===we.state.wrap?we.adler=k(we.adler,xe,Ke,ne):2===we.state.wrap&&(we.adler=$(we.adler,xe,Ke,ne)),we.next_in+=Ke,we.total_in+=Ke,Ke),y.lookahead+=ce,y.lookahead+y.insert>=3)for(y.ins_h=y.window[Z=y.strstart-y.insert],y.ins_h=(y.ins_h<=3&&(y.ins_h=(y.ins_h<=3)if(F=x._tr_tally(y,y.strstart-y.match_start,y.match_length-3),y.lookahead-=y.match_length,y.match_length<=y.max_lazy_match&&y.lookahead>=3){for(y.match_length--;y.strstart++,y.ins_h=(y.ins_h<=3&&(y.ins_h=(y.ins_h<=3&&y.match_length<=y.prev_length){for(O=y.strstart+y.lookahead-3,F=x._tr_tally(y,y.strstart-1-y.prev_match,y.prev_length-3),y.lookahead-=y.prev_length-1,y.prev_length-=2;++y.strstart<=O&&(y.ins_h=(y.ins_h<y.pending_buf_size-5&&(ce=y.pending_buf_size-5);;){if(y.lookahead<=1){if(vn(y),0===y.lookahead&&0===me)return 1;if(0===y.lookahead)break}y.strstart+=y.lookahead,y.lookahead=0;var F=y.block_start+ce;if((0===y.strstart||y.strstart>=F)&&(y.lookahead=y.strstart-F,y.strstart=F,re(y,!1),0===y.strm.avail_out)||y.strstart-y.block_start>=y.w_size-at&&(re(y,!1),0===y.strm.avail_out))return 1}return y.insert=0,4===me?(re(y,!0),0===y.strm.avail_out?3:4):(y.strstart>y.block_start&&re(y,!1),1)}),new st(4,4,8,4,ei),new st(4,5,16,8,ei),new st(4,6,32,32,ei),new st(4,4,16,16,nt),new st(8,16,32,32,nt),new st(8,16,128,128,nt),new st(8,32,128,256,nt),new st(32,128,258,1024,nt),new st(32,258,258,4096,nt)],H.deflateInit=function(y,me){return to(y,me,8,15,8,0)},H.deflateInit2=to,H.deflateReset=ji,H.deflateResetKeep=je,H.deflateSetHeader=function(y,me){return y&&y.state?2!==y.state.wrap?L:(y.state.gzhead=me,0):L},H.deflate=function(y,me){var ce,F,O,Z;if(!y||!y.state||5>8&255),ut(F,F.gzhead.time>>16&255),ut(F,F.gzhead.time>>24&255),ut(F,9===F.level?2:2<=F.strategy||F.level<2?4:0),ut(F,255&F.gzhead.os),F.gzhead.extra&&F.gzhead.extra.length&&(ut(F,255&F.gzhead.extra.length),ut(F,F.gzhead.extra.length>>8&255)),F.gzhead.hcrc&&(y.adler=$(y.adler,F.pending_buf,F.pending,0)),F.gzindex=0,F.status=69):(ut(F,0),ut(F,0),ut(F,0),ut(F,0),ut(F,0),ut(F,9===F.level?2:2<=F.strategy||F.level<2?4:0),ut(F,3),F.status=113);else{var we=8+(F.w_bits-8<<4)<<8;we|=(2<=F.strategy||F.level<2?0:F.level<6?1:6===F.level?2:3)<<6,0!==F.strstart&&(we|=32),we+=31-we%31,F.status=113,qe(F,we),0!==F.strstart&&(qe(F,y.adler>>>16),qe(F,65535&y.adler)),y.adler=1}if(69===F.status)if(F.gzhead.extra){for(O=F.pending;F.gzindex<(65535&F.gzhead.extra.length)&&(F.pending!==F.pending_buf_size||(F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),ae(y),O=F.pending,F.pending!==F.pending_buf_size));)ut(F,255&F.gzhead.extra[F.gzindex]),F.gzindex++;F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),F.gzindex===F.gzhead.extra.length&&(F.gzindex=0,F.status=73)}else F.status=73;if(73===F.status)if(F.gzhead.name){O=F.pending;do{if(F.pending===F.pending_buf_size&&(F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),ae(y),O=F.pending,F.pending===F.pending_buf_size)){Z=1;break}Z=F.gzindexO&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),0===Z&&(F.gzindex=0,F.status=91)}else F.status=91;if(91===F.status)if(F.gzhead.comment){O=F.pending;do{if(F.pending===F.pending_buf_size&&(F.gzhead.hcrc&&F.pending>O&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),ae(y),O=F.pending,F.pending===F.pending_buf_size)){Z=1;break}Z=F.gzindexO&&(y.adler=$(y.adler,F.pending_buf,F.pending-O,O)),0===Z&&(F.status=103)}else F.status=103;if(103===F.status&&(F.gzhead.hcrc?(F.pending+2>F.pending_buf_size&&ae(y),F.pending+2<=F.pending_buf_size&&(ut(F,255&y.adler),ut(F,y.adler>>8&255),y.adler=0,F.status=113)):F.status=113),0!==F.pending){if(ae(y),0===y.avail_out)return F.last_flush=-1,0}else if(0===y.avail_in&&Oe(me)<=Oe(ce)&&4!==me)return Rt(y,-5);if(666===F.status&&0!==y.avail_in)return Rt(y,-5);if(0!==y.avail_in||0!==F.lookahead||0!==me&&666!==F.status){var xe=2===F.strategy?function(ne,Re){for(var Ke;;){if(0===ne.lookahead&&(vn(ne),0===ne.lookahead)){if(0===Re)return 1;break}if(ne.match_length=0,Ke=x._tr_tally(ne,0,ne.window[ne.strstart]),ne.lookahead--,ne.strstart++,Ke&&(re(ne,!1),0===ne.strm.avail_out))return 1}return ne.insert=0,4===Re?(re(ne,!0),0===ne.strm.avail_out?3:4):ne.last_lit&&(re(ne,!1),0===ne.strm.avail_out)?1:2}(F,me):3===F.strategy?function(ne,Re){for(var Ke,Le,lt,Xt,Lt=ne.window;;){if(ne.lookahead<=Ve){if(vn(ne),ne.lookahead<=Ve&&0===Re)return 1;if(0===ne.lookahead)break}if(ne.match_length=0,ne.lookahead>=3&&0ne.lookahead&&(ne.match_length=ne.lookahead)}if(ne.match_length>=3?(Ke=x._tr_tally(ne,1,ne.match_length-3),ne.lookahead-=ne.match_length,ne.strstart+=ne.match_length,ne.match_length=0):(Ke=x._tr_tally(ne,0,ne.window[ne.strstart]),ne.lookahead--,ne.strstart++),Ke&&(re(ne,!1),0===ne.strm.avail_out))return 1}return ne.insert=0,4===Re?(re(ne,!0),0===ne.strm.avail_out?3:4):ne.last_lit&&(re(ne,!1),0===ne.strm.avail_out)?1:2}(F,me):R[F.level].func(F,me);if(3!==xe&&4!==xe||(F.status=666),1===xe||3===xe)return 0===y.avail_out&&(F.last_flush=-1),0;if(2===xe&&(1===me?x._tr_align(F):5!==me&&(x._tr_stored_block(F,0,0,!1),3===me&&(Ue(F.head),0===F.lookahead&&(F.strstart=0,F.block_start=0,F.insert=0))),ae(y),0===y.avail_out))return F.last_flush=-1,0}return 4!==me?0:F.wrap<=0?1:(2===F.wrap?(ut(F,255&y.adler),ut(F,y.adler>>8&255),ut(F,y.adler>>16&255),ut(F,y.adler>>24&255),ut(F,255&y.total_in),ut(F,y.total_in>>8&255),ut(F,y.total_in>>16&255),ut(F,y.total_in>>24&255)):(qe(F,y.adler>>>16),qe(F,65535&y.adler)),ae(y),0=ce.w_size&&(0===Z&&(Ue(ce.head),ce.strstart=0,ce.block_start=0,ce.insert=0),Re=new A.Buf8(ce.w_size),A.arraySet(Re,me,Ke-ce.w_size,ce.w_size,0),me=Re,Ke=ce.w_size),we=y.avail_in,xe=y.next_in,ne=y.input,y.avail_in=Ke,y.next_in=0,y.input=me,vn(ce);ce.lookahead>=3;){for(F=ce.strstart,O=ce.lookahead-2;ce.ins_h=(ce.ins_h<>>=ue=Ie>>>24,W-=ue,0==(ue=Ie>>>16&255))ge[q++]=65535&Ie;else{if(!(16&ue)){if(0==(64&ue)){Ie=te[(65535&Ie)+(B&(1<>>=ue,W-=ue),W<15&&(B+=w[k++]<>>=ue=Ie>>>24,W-=ue,!(16&(ue=Ie>>>16&255))){if(0==(64&ue)){Ie=J[(65535&Ie)+(B&(1<>>=ue,W-=ue,(ue=q-U)>3,B&=(1<<(W-=Ve<<3))-1,R.next_in=k,R.next_out=q,R.avail_in=k<$?$-k+5:5-(k-$),R.avail_out=q>>24&255)+(j>>>8&65280)+((65280&j)<<8)+((255&j)<<24)}function B(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new R.Buf16(320),this.work=new R.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function W(j){var fe;return j&&j.state?(j.total_in=j.total_out=(fe=j.state).total=0,j.msg="",fe.wrap&&(j.adler=1&fe.wrap),fe.mode=1,fe.last=0,fe.havedict=0,fe.dmax=32768,fe.head=null,fe.hold=0,fe.bits=0,fe.lencode=fe.lendyn=new R.Buf32(852),fe.distcode=fe.distdyn=new R.Buf32(592),fe.sane=1,fe.back=-1,0):T}function te(j){var fe;return j&&j.state?((fe=j.state).wsize=0,fe.whave=0,fe.wnext=0,W(j)):T}function J(j,fe){var w,ge;return j&&j.state?(ge=j.state,fe<0?(w=0,fe=-fe):(w=1+(fe>>4),fe<48&&(fe&=15)),fe&&(fe<8||15=Me.wsize?(R.arraySet(Me.window,fe,w-Me.wsize,Me.wsize,0),Me.wnext=0,Me.whave=Me.wsize):(ge<(bt=Me.wsize-Me.wnext)&&(bt=ge),R.arraySet(Me.window,fe,w-ge,bt,Me.wnext),(ge-=bt)?(R.arraySet(Me.window,fe,w-ge,ge,0),Me.wnext=ge,Me.whave=Me.wsize):(Me.wnext+=bt,Me.wnext===Me.wsize&&(Me.wnext=0),Me.whave>>8&255,w.check=x(w.check,Z,2,0),re=ae=0,w.mode=2;break}if(w.flags=0,w.head&&(w.head.done=!1),!(1&w.wrap)||(((255&ae)<<8)+(ae>>8))%31){j.msg="incorrect header check",w.mode=30;break}if(8!=(15&ae)){j.msg="unknown compression method",w.mode=30;break}if(re-=4,y=8+(15&(ae>>>=4)),0===w.wbits)w.wbits=y;else if(y>w.wbits){j.msg="invalid window size",w.mode=30;break}w.dmax=1<>8&1),512&w.flags&&(Z[0]=255&ae,Z[1]=ae>>>8&255,w.check=x(w.check,Z,2,0)),re=ae=0,w.mode=3;case 3:for(;re<32;){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>8&255,Z[2]=ae>>>16&255,Z[3]=ae>>>24&255,w.check=x(w.check,Z,4,0)),re=ae=0,w.mode=4;case 4:for(;re<16;){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>8),512&w.flags&&(Z[0]=255&ae,Z[1]=ae>>>8&255,w.check=x(w.check,Z,2,0)),re=ae=0,w.mode=5;case 5:if(1024&w.flags){for(;re<16;){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>8&255,w.check=x(w.check,Z,2,0)),re=ae=0}else w.head&&(w.head.extra=null);w.mode=6;case 6:if(1024&w.flags&&(Oe<(ie=w.length)&&(ie=Oe),ie&&(w.head&&(y=w.head.extra_len-w.length,w.head.extra||(w.head.extra=new Array(w.head.extra_len)),R.arraySet(w.head.extra,ge,Me,ie,y)),512&w.flags&&(w.check=x(w.check,ge,ie,Me)),Oe-=ie,Me+=ie,w.length-=ie),w.length))break e;w.length=0,w.mode=7;case 7:if(2048&w.flags){if(0===Oe)break e;for(ie=0;y=ge[Me+ie++],w.head&&y&&w.length<65536&&(w.head.name+=String.fromCharCode(y)),y&&ie>9&1,w.head.done=!0),j.adler=w.check=0,w.mode=12;break;case 10:for(;re<32;){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>=7&re,re-=7&re,w.mode=27;break}for(;re<3;){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>=1)){case 0:w.mode=14;break;case 1:if(Ve(w),w.mode=20,6!==fe)break;ae>>>=2,re-=2;break e;case 2:w.mode=17;break;case 3:j.msg="invalid block type",w.mode=30}ae>>>=2,re-=2;break;case 14:for(ae>>>=7&re,re-=7&re;re<32;){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>16^65535)){j.msg="invalid stored block lengths",w.mode=30;break}if(w.length=65535&ae,re=ae=0,w.mode=15,6===fe)break e;case 15:w.mode=16;case 16:if(ie=w.length){if(Oe>>=5)),re-=5,w.ncode=4+(15&(ae>>>=5)),ae>>>=4,re-=4,286>>=3,re-=3}for(;w.have<19;)w.lens[we[w.have++]]=0;if(w.lencode=w.lendyn,w.lenbits=7,me=$(0,w.lens,0,19,w.lencode,0,w.work,ce={bits:w.lenbits}),w.lenbits=ce.bits,me){j.msg="invalid code lengths set",w.mode=30;break}w.have=0,w.mode=19;case 19:for(;w.have>>16&255,zn=65535&O,!((nt=O>>>24)<=re);){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>=nt,re-=nt,w.lens[w.have++]=zn;else{if(16===zn){for(F=nt+2;re>>=nt,re-=nt,0===w.have){j.msg="invalid bit length repeat",w.mode=30;break}y=w.lens[w.have-1],ie=3+(3&ae),ae>>>=2,re-=2}else if(17===zn){for(F=nt+3;re>>=nt)),ae>>>=3,re-=3}else{for(F=nt+7;re>>=nt)),ae>>>=7,re-=7}if(w.have+ie>w.nlen+w.ndist){j.msg="invalid bit length repeat",w.mode=30;break}for(;ie--;)w.lens[w.have++]=y}}if(30===w.mode)break;if(0===w.lens[256]){j.msg="invalid code -- missing end-of-block",w.mode=30;break}if(w.lenbits=9,me=$(1,w.lens,0,w.nlen,w.lencode,0,w.work,ce={bits:w.lenbits}),w.lenbits=ce.bits,me){j.msg="invalid literal/lengths set",w.mode=30;break}if(w.distbits=6,w.distcode=w.distdyn,me=$(2,w.lens,w.nlen,w.ndist,w.distcode,0,w.work,ce={bits:w.distbits}),w.distbits=ce.bits,me){j.msg="invalid distances set",w.mode=30;break}if(w.mode=20,6===fe)break e;case 20:w.mode=21;case 21:if(6<=Oe&&258<=Ue){j.next_out=Rt,j.avail_out=Ue,j.next_in=Me,j.avail_in=Oe,w.hold=ae,w.bits=re,k(j,qe),Rt=j.next_out,bt=j.output,Ue=j.avail_out,Me=j.next_in,ge=j.input,Oe=j.avail_in,ae=w.hold,re=w.bits,12===w.mode&&(w.back=-1);break}for(w.back=0;st=(O=w.lencode[ae&(1<>>16&255,zn=65535&O,!((nt=O>>>24)<=re);){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>je)])>>>16&255,zn=65535&O,!(je+(nt=O>>>24)<=re);){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>=je,re-=je,w.back+=je}if(ae>>>=nt,re-=nt,w.back+=nt,w.length=zn,0===st){w.mode=26;break}if(32&st){w.back=-1,w.mode=12;break}if(64&st){j.msg="invalid literal/length code",w.mode=30;break}w.extra=15&st,w.mode=22;case 22:if(w.extra){for(F=w.extra;re>>=w.extra,re-=w.extra,w.back+=w.extra}w.was=w.length,w.mode=23;case 23:for(;st=(O=w.distcode[ae&(1<>>16&255,zn=65535&O,!((nt=O>>>24)<=re);){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>je)])>>>16&255,zn=65535&O,!(je+(nt=O>>>24)<=re);){if(0===Oe)break e;Oe--,ae+=ge[Me++]<>>=je,re-=je,w.back+=je}if(ae>>>=nt,re-=nt,w.back+=nt,64&st){j.msg="invalid distance code",w.mode=30;break}w.offset=zn,w.extra=15&st,w.mode=24;case 24:if(w.extra){for(F=w.extra;re>>=w.extra,re-=w.extra,w.back+=w.extra}if(w.offset>w.dmax){j.msg="invalid distance too far back",w.mode=30;break}w.mode=25;case 25:if(0===Ue)break e;if(w.offset>(ie=qe-Ue)){if((ie=w.offset-ie)>w.whave&&w.sane){j.msg="invalid distance too far back",w.mode=30;break}vn=ie>w.wnext?w.wsize-(ie-=w.wnext):w.wnext-ie,ie>w.length&&(ie=w.length),ei=w.window}else ei=bt,vn=Rt-w.offset,ie=w.length;for(Uehe?(ue=vn[ei+P[fe]],re[ut+P[fe]]):(ue=96,0),B=1<>Rt)+(W-=B)]=Ie<<24|ue<<16|Ve|0,0!==W;);for(B=1<>=1;if(0!==B?(ae&=B-1,ae+=B):ae=0,fe++,0==--qe[j]){if(j===ge)break;j=U[z+P[fe]]}if(bt>>7)]}function ut(O,Z){O.pending_buf[O.pending++]=255&Z,O.pending_buf[O.pending++]=Z>>>8&255}function qe(O,Z,we){O.bi_valid>16-we?(O.bi_buf|=Z<>16-O.bi_valid,O.bi_valid+=we-16):(O.bi_buf|=Z<>>=1,we<<=1,0<--Z;);return we>>>1}function ei(O,Z,we){var xe,ne,Re=new Array(16),Ke=0;for(xe=1;xe<=P;xe++)Re[xe]=Ke=Ke+we[xe-1]<<1;for(ne=0;ne<=Z;ne++){var Le=O[2*ne+1];0!==Le&&(O[2*ne]=vn(Re[Le]++,Le))}}function nt(O){var Z;for(Z=0;Z>1;1<=we;we--)je(O,Re,we);for(ne=lt;we=O.heap[1],O.heap[1]=O.heap[O.heap_len--],je(O,Re,1),xe=O.heap[1],O.heap[--O.heap_max]=we,O.heap[--O.heap_max]=xe,Re[2*ne]=Re[2*we]+Re[2*xe],O.depth[ne]=(O.depth[we]>=O.depth[xe]?O.depth[we]:O.depth[xe])+1,Re[2*we+1]=Re[2*xe+1]=ne,O.heap[1]=ne++,je(O,Re,1),2<=O.heap_len;);O.heap[--O.heap_max]=O.heap[1],function(Lt,Hi){var zs,vo,Ui,yn,xa,Ta,Ho=Hi.dyn_tree,Ud=Hi.max_code,Zp=Hi.stat_desc.static_tree,Qp=Hi.stat_desc.has_stree,Yp=Hi.stat_desc.extra_bits,zd=Hi.stat_desc.extra_base,$s=Hi.stat_desc.max_length,ka=0;for(yn=0;yn<=P;yn++)Lt.bl_count[yn]=0;for(Ho[2*Lt.heap[Lt.heap_max]+1]=0,zs=Lt.heap_max+1;zs<573;zs++)$s<(yn=Ho[2*Ho[2*(vo=Lt.heap[zs])+1]+1]+1)&&(yn=$s,ka++),Ho[2*vo+1]=yn,Ud>=7;ne>>=1)if(1&Xt&&0!==Le.dyn_ltree[2*lt])return 0;if(0!==Le.dyn_ltree[18]||0!==Le.dyn_ltree[20]||0!==Le.dyn_ltree[26])return 1;for(lt=32;lt>>3)<=(ne=O.opt_len+3+7>>>3)&&(ne=Re)):ne=Re=we+5,we+4<=ne&&-1!==Z?F(O,Z,we,xe):4===O.strategy||Re===ne?(qe(O,2+(xe?1:0),3),ji(O,at,j)):(qe(O,4+(xe?1:0),3),function(Le,lt,Xt,Lt){var Hi;for(qe(Le,lt-257,5),qe(Le,Xt-1,5),qe(Le,Lt-4,4),Hi=0;Hi>>8&255,O.pending_buf[O.d_buf+2*O.last_lit+1]=255&Z,O.pending_buf[O.l_buf+O.last_lit]=255&we,O.last_lit++,0===Z?O.dyn_ltree[2*we]++:(O.matches++,Z--,O.dyn_ltree[2*(w[we]+U+1)]++,O.dyn_dtree[2*re(Z)]++),O.last_lit===O.lit_bufsize-1},H._tr_align=function(O){var Z;qe(O,2,3),ie(O,256,at),16===(Z=O).bi_valid?(ut(Z,Z.bi_buf),Z.bi_buf=0,Z.bi_valid=0):8<=Z.bi_valid&&(Z.pending_buf[Z.pending++]=255&Z.bi_buf,Z.bi_buf>>=8,Z.bi_valid-=8)}},{"../utils/common":41}],53:[function(G,Te,H){"use strict";Te.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(G,Te,H){(function(R){!function(A,x){"use strict";if(!A.setImmediate){var k,$,q,U,z=1,T={},L=!1,S=A.document,P=Object.getPrototypeOf&&Object.getPrototypeOf(A);P=P&&P.setTimeout?P:A,k="[object process]"==={}.toString.call(A.process)?function(te){process.nextTick(function(){B(te)})}:function(){if(A.postMessage&&!A.importScripts){var te=!0,J=A.onmessage;return A.onmessage=function(){te=!1},A.postMessage("","*"),A.onmessage=J,te}}()?(U="setImmediate$"+Math.random()+"$",A.addEventListener?A.addEventListener("message",W,!1):A.attachEvent("onmessage",W),function(te){A.postMessage(U+te,"*")}):A.MessageChannel?((q=new MessageChannel).port1.onmessage=function(te){B(te.data)},function(te){q.port2.postMessage(te)}):S&&"onreadystatechange"in S.createElement("script")?($=S.documentElement,function(te){var J=S.createElement("script");J.onreadystatechange=function(){B(te),J.onreadystatechange=null,$.removeChild(J),J=null},$.appendChild(J)}):function(te){setTimeout(B,0,te)},P.setImmediate=function(te){"function"!=typeof te&&(te=new Function(""+te));for(var J=new Array(arguments.length-1),ye=0;ye{Zl(Zl.s=640)}]); \ No newline at end of file diff --git a/ui/src/app/components/prepare-migration/prepare-migration.component.html b/ui/src/app/components/prepare-migration/prepare-migration.component.html index 1862539c8..9343c7e89 100644 --- a/ui/src/app/components/prepare-migration/prepare-migration.component.html +++ b/ui/src/app/components/prepare-migration/prepare-migration.component.html @@ -332,6 +332,15 @@

Generated Resources:

+ +
  • Pubsub topic: {{resourcesGenerated.PubsubTopicName}}
  • +
    + +
  • Pubsub subscription: {{resourcesGenerated.PubsubSubscriptionName}} +
  • +
  • Datastream job for shardId: {{ stream.key }} - Generated Resources:
  • + +
  • + Pubsub topic for shardId: {{ topic.key }} - {{topic.value.JobName}}
  • + + +
  • + Pubsub subscription for shardId: {{ subscription.key }} - {{subscription.value.JobName}} +
  • +


    Note: Spanner migration tool has orchestrated the migration successfully. For minimal downtime diff --git a/ui/src/app/components/prepare-migration/prepare-migration.component.ts b/ui/src/app/components/prepare-migration/prepare-migration.component.ts index f31f119a7..a513cb355 100644 --- a/ui/src/app/components/prepare-migration/prepare-migration.component.ts +++ b/ui/src/app/components/prepare-migration/prepare-migration.component.ts @@ -78,9 +78,15 @@ export class PrepareMigrationComponent implements OnInit { DataStreamJobUrl: '', DataflowJobName: '', DataflowJobUrl: '', + PubsubTopicName: '', + PubsubTopicUrl: '', + PubsubSubscriptionName: '', + PubsubSubscriptionUrl: '', DataflowGcloudCmd: '', ShardToDatastreamMap: new Map(), ShardToDataflowMap: new Map(), + ShardToPubsubTopicMap: new Map(), + ShardToPubsubSubscriptionMap: new Map(), } configuredMigrationProfile!: IMigrationProfile region: string = '' @@ -832,9 +838,15 @@ export class PrepareMigrationComponent implements OnInit { DataStreamJobUrl: '', DataflowJobName: '', DataflowJobUrl: '', + PubsubTopicName: '', + PubsubTopicUrl: '', + PubsubSubscriptionName: '', + PubsubSubscriptionUrl: '', DataflowGcloudCmd: '', ShardToDatastreamMap: new Map(), - ShardToDataflowMap: new Map() + ShardToDataflowMap: new Map(), + ShardToPubsubTopicMap: new Map(), + ShardToPubsubSubscriptionMap: new Map() } this.initializeLocalStorage() } diff --git a/ui/src/app/model/migrate.ts b/ui/src/app/model/migrate.ts index f5266cad6..621e08caf 100644 --- a/ui/src/app/model/migrate.ts +++ b/ui/src/app/model/migrate.ts @@ -25,9 +25,15 @@ export interface IGeneratedResources { DataStreamJobUrl: string DataflowJobName: string DataflowJobUrl: string + PubsubTopicName: string + PubsubTopicUrl: string + PubsubSubscriptionName: string + PubsubSubscriptionUrl: string DataflowGcloudCmd: string ShardToDatastreamMap: Map ShardToDataflowMap: Map + ShardToPubsubTopicMap: Map + ShardToPubsubSubscriptionMap: Map } export interface ResourceDetails { diff --git a/webv2/web.go b/webv2/web.go index 6ad71cb78..2d53f7e2e 100644 --- a/webv2/web.go +++ b/webv2/web.go @@ -2304,6 +2304,8 @@ func getGeneratedResources(w http.ResponseWriter, r *http.Request) { generatedResources.BucketUrl = fmt.Sprintf("https://console.cloud.google.com/storage/browser/%v", sessionState.Bucket+sessionState.RootPath) generatedResources.ShardToDataflowMap = make(map[string]ResourceDetails) generatedResources.ShardToDatastreamMap = make(map[string]ResourceDetails) + generatedResources.ShardToPubsubTopicMap = make(map[string]ResourceDetails) + generatedResources.ShardToPubsubSubscriptionMap = make(map[string]ResourceDetails) if sessionState.Conv.Audit.StreamingStats.DataStreamName != "" { generatedResources.DataStreamJobName = sessionState.Conv.Audit.StreamingStats.DataStreamName generatedResources.DataStreamJobUrl = fmt.Sprintf("https://console.cloud.google.com/datastream/streams/locations/%v/instances/%v?project=%v", sessionState.Region, sessionState.Conv.Audit.StreamingStats.DataStreamName, sessionState.GCPProjectID) @@ -2313,6 +2315,14 @@ func getGeneratedResources(w http.ResponseWriter, r *http.Request) { generatedResources.DataflowJobUrl = fmt.Sprintf("https://console.cloud.google.com/dataflow/jobs/%v/%v?project=%v", sessionState.Region, sessionState.Conv.Audit.StreamingStats.DataflowJobId, sessionState.GCPProjectID) generatedResources.DataflowGcloudCmd = sessionState.Conv.Audit.StreamingStats.DataflowGcloudCmd } + if sessionState.Conv.Audit.StreamingStats.PubsubCfg.TopicId != "" { + generatedResources.PubsubTopicName = sessionState.Conv.Audit.StreamingStats.PubsubCfg.TopicId + generatedResources.PubsubTopicUrl = fmt.Sprintf("https://console.cloud.google.com/cloudpubsub/topic/detail/%v?project=%v", sessionState.Conv.Audit.StreamingStats.PubsubCfg.TopicId, sessionState.GCPProjectID) + } + if sessionState.Conv.Audit.StreamingStats.PubsubCfg.SubscriptionId != "" { + generatedResources.PubsubSubscriptionName = sessionState.Conv.Audit.StreamingStats.PubsubCfg.SubscriptionId + generatedResources.PubsubSubscriptionUrl = fmt.Sprintf("https://console.cloud.google.com/cloudpubsub/subscription/detail/%v?project=%v", sessionState.Conv.Audit.StreamingStats.PubsubCfg.SubscriptionId, sessionState.GCPProjectID) + } for shardId, dsName := range sessionState.Conv.Audit.StreamingStats.ShardToDataStreamNameMap { url := fmt.Sprintf("https://console.cloud.google.com/datastream/streams/locations/%v/instances/%v?project=%v", sessionState.Region, dsName, sessionState.GCPProjectID) resourceDetails := ResourceDetails{JobName: dsName, JobUrl: url} @@ -2324,6 +2334,14 @@ func getGeneratedResources(w http.ResponseWriter, r *http.Request) { resourceDetails := ResourceDetails{JobName: dfId, JobUrl: url, GcloudCmd: shardedDataflowJobResources.GcloudCmd} generatedResources.ShardToDataflowMap[shardId] = resourceDetails } + for shardId, pubsubId := range sessionState.Conv.Audit.StreamingStats.ShardToPubsubIdMap { + topicUrl := fmt.Sprintf("https://console.cloud.google.com/cloudpubsub/topic/detail/%v?project=%v", pubsubId.TopicId, sessionState.GCPProjectID) + topicResourceDetails := ResourceDetails{JobName: pubsubId.TopicId, JobUrl: topicUrl} + generatedResources.ShardToPubsubTopicMap[shardId] = topicResourceDetails + subscriptionUrl := fmt.Sprintf("https://console.cloud.google.com/cloudpubsub/subscription/detail/%v?project=%v", pubsubId.SubscriptionId, sessionState.GCPProjectID) + subscriptionResourceDetails := ResourceDetails{JobName: pubsubId.SubscriptionId, JobUrl: subscriptionUrl} + generatedResources.ShardToPubsubSubscriptionMap[shardId] = subscriptionResourceDetails + } w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(generatedResources) } @@ -2985,14 +3003,20 @@ type GeneratedResources struct { BucketName string `json:"BucketName"` BucketUrl string `json:"BucketUrl"` //Used for single instance migration flow - DataStreamJobName string `json:"DataStreamJobName"` - DataStreamJobUrl string `json:"DataStreamJobUrl"` - DataflowJobName string `json:"DataflowJobName"` - DataflowJobUrl string `json:"DataflowJobUrl"` - DataflowGcloudCmd string `json:"DataflowGcloudCmd"` + DataStreamJobName string `json:"DataStreamJobName"` + DataStreamJobUrl string `json:"DataStreamJobUrl"` + DataflowJobName string `json:"DataflowJobName"` + DataflowJobUrl string `json:"DataflowJobUrl"` + DataflowGcloudCmd string `json:"DataflowGcloudCmd"` + PubsubTopicName string `json:"PubsubTopicName"` + PubsubTopicUrl string `json:"PubsubTopicUrl"` + PubsubSubscriptionName string `json:"PubsubSubscriptionName"` + PubsubSubscriptionUrl string `json:"PubsubSubscriptionUrl"` //Used for sharded migration flow - ShardToDatastreamMap map[string]ResourceDetails `json:"ShardToDatastreamMap"` - ShardToDataflowMap map[string]ResourceDetails `json:"ShardToDataflowMap"` + ShardToDatastreamMap map[string]ResourceDetails `json:"ShardToDatastreamMap"` + ShardToDataflowMap map[string]ResourceDetails `json:"ShardToDataflowMap"` + ShardToPubsubTopicMap map[string]ResourceDetails `json:"ShardToPubsubTopicMap"` + ShardToPubsubSubscriptionMap map[string]ResourceDetails `json:"ShardToPubsubSubscriptionMap"` } func addTypeToList(convertedType string, spType string, issues []internal.SchemaIssue, l []typeIssue) []typeIssue {