From bdd7fe09c87425b3df03c00bdcaf64c3f3157c82 Mon Sep 17 00:00:00 2001
From: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Date: Thu, 13 Jun 2024 09:00:57 +0300
Subject: [PATCH 1/3] update vitess image versions
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
---
content/en/docs/20.0/get-started/local-docker.md | 1 +
content/en/docs/20.0/get-started/local-mac.md | 1 +
content/en/docs/20.0/get-started/local.md | 4 ++--
content/en/docs/20.0/get-started/operator.md | 1 +
content/en/docs/20.0/get-started/vttestserver-docker-image.md | 1 +
content/en/docs/releases/_index.md | 3 +++
6 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/content/en/docs/20.0/get-started/local-docker.md b/content/en/docs/20.0/get-started/local-docker.md
index d4bf43fd5..b1db9cc46 100644
--- a/content/en/docs/20.0/get-started/local-docker.md
+++ b/content/en/docs/20.0/get-started/local-docker.md
@@ -21,6 +21,7 @@ Clone the GitHub repository via:
```shell
cd vitess
+git checkout release-20.0
```
## Build the docker image
diff --git a/content/en/docs/20.0/get-started/local-mac.md b/content/en/docs/20.0/get-started/local-mac.md
index da2654ec4..f249e729c 100644
--- a/content/en/docs/20.0/get-started/local-mac.md
+++ b/content/en/docs/20.0/get-started/local-mac.md
@@ -76,6 +76,7 @@ With everything now in place you can clone and build Vitess.
```sh
$ git clone https://github.com/vitessio/vitess.git
$ cd vitess
+$ git checkout release-20.0
$ make build
```
diff --git a/content/en/docs/20.0/get-started/local.md b/content/en/docs/20.0/get-started/local.md
index de8bc7651..46bff90f6 100644
--- a/content/en/docs/20.0/get-started/local.md
+++ b/content/en/docs/20.0/get-started/local.md
@@ -88,8 +88,8 @@ Download the [latest binary release](https://github.com/vitessio/vitess/releases
* Ubuntu is the only fully supported OS, for another OS please [build Vitess by yourself](/docs/contributing) or use the Docker images.
```sh
-version=19.0.0-rc1
-file=vitess-${version}-1bdb462.tar.gz
+version=20.0.0-rc1
+file=vitess-${version}-fe01c8d.tar.gz
wget https://github.com/vitessio/vitess/releases/download/v${version}/${file}
tar -xzf ${file}
cd ${file/.tar.gz/}
diff --git a/content/en/docs/20.0/get-started/operator.md b/content/en/docs/20.0/get-started/operator.md
index 7a6685655..5720f49b8 100644
--- a/content/en/docs/20.0/get-started/operator.md
+++ b/content/en/docs/20.0/get-started/operator.md
@@ -33,6 +33,7 @@ Change to the operator example directory:
```bash
git clone https://github.com/vitessio/vitess
cd vitess/examples/operator
+git checkout release-20.0
```
Install the operator:
diff --git a/content/en/docs/20.0/get-started/vttestserver-docker-image.md b/content/en/docs/20.0/get-started/vttestserver-docker-image.md
index 7d72717a9..6e10480db 100644
--- a/content/en/docs/20.0/get-started/vttestserver-docker-image.md
+++ b/content/en/docs/20.0/get-started/vttestserver-docker-image.md
@@ -22,6 +22,7 @@ Clone the GitHub repository via:
```shell
cd vitess
+git checkout release-20.0
```
#### Build the docker image
diff --git a/content/en/docs/releases/_index.md b/content/en/docs/releases/_index.md
index d6eb11ff7..b104cd078 100644
--- a/content/en/docs/releases/_index.md
+++ b/content/en/docs/releases/_index.md
@@ -17,6 +17,9 @@ Each major release is maintained for 1 year.
> The latest and current vitess release is v17.0
+### v20.0
+- **Current version:** [v20.0.0-rc1](https://github.com/vitessio/vitess/releases/tag/v20.0.0-rc1) (2024-06-13)
+
### v19.0
- **Current version:** [v19.0.4](https://github.com/vitessio/vitess/releases/tag/v19.0.4) (2024-05-08)
- **Initial GA release:** [v19.0.0](https://github.com/vitessio/vitess/releases/tag/v19.0.0) (2024-03-06)
From 9da6fbb248815ffe3022e72b404eb1d7f12a5f4c Mon Sep 17 00:00:00 2001
From: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Date: Thu, 13 Jun 2024 09:08:19 +0300
Subject: [PATCH 2/3] 21.0 docs
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
---
config.toml | 4 +-
content/en/docs/20.0/_index.md | 4 +-
content/en/docs/21.0/_index.md | 11 +
content/en/docs/21.0/concepts/_index.md | 6 +
content/en/docs/21.0/concepts/cell.md | 10 +
.../en/docs/21.0/concepts/execution-plans.md | 33 +
content/en/docs/21.0/concepts/img/VStream.svg | 1 +
content/en/docs/21.0/concepts/keyspace-id.md | 10 +
content/en/docs/21.0/concepts/keyspace.md | 8 +
content/en/docs/21.0/concepts/move-tables.md | 26 +
.../en/docs/21.0/concepts/query-rewriting.md | 248 ++
.../docs/21.0/concepts/replication-graph.md | 6 +
content/en/docs/21.0/concepts/shard.md | 46 +
content/en/docs/21.0/concepts/tablet.md | 20 +
.../en/docs/21.0/concepts/topology-service.md | 30 +
content/en/docs/21.0/concepts/vschema.md | 9 +
content/en/docs/21.0/concepts/vstream.md | 26 +
content/en/docs/21.0/concepts/vtctl.md | 9 +
content/en/docs/21.0/concepts/vtctld.md | 7 +
content/en/docs/21.0/concepts/vtgate.md | 11 +
content/en/docs/21.0/get-started/_index.md | 8 +
.../en/docs/21.0/get-started/local-docker.md | 98 +
content/en/docs/21.0/get-started/local-mac.md | 311 +++
content/en/docs/21.0/get-started/local.md | 341 +++
content/en/docs/21.0/get-started/operator.md | 172 ++
.../get-started/vttestserver-docker-image.md | 152 +
content/en/docs/21.0/overview/_index.md | 8 +
content/en/docs/21.0/overview/architecture.md | 17 +
content/en/docs/21.0/overview/cloud-native.md | 19 +
content/en/docs/21.0/overview/history.md | 19 +
.../docs/21.0/overview/img/architecture.svg | 86 +
.../21.0/overview/scalability-philosophy.md | 75 +
.../docs/21.0/overview/supported-databases.md | 29 +
content/en/docs/21.0/overview/whatisvitess.md | 69 +
content/en/docs/21.0/reference/_index.md | 7 +
.../reference/backup-and-restore/_index.md | 7 +
.../reference/backup-and-restore/metrics.md | 128 +
.../21.0/reference/compatibility/_index.md | 6 +
.../compatibility/mysql-compatibility.md | 231 ++
.../en/docs/21.0/reference/errors/_index.md | 6 +
.../21.0/reference/errors/query-serving.md | 124 +
.../en/docs/21.0/reference/features/_index.md | 6 +
.../reference/features/connection-pools.md | 154 ++
.../21.0/reference/features/global-routing.md | 153 +
.../reference/features/img/vschema_arch.png | Bin 0 -> 259778 bytes
.../docs/21.0/reference/features/messaging.md | 224 ++
.../21.0/reference/features/monitoring.md | 42 +
.../features/mysql-query-extensions.md | 17 +
.../reference/features/mysql-replication.md | 37 +
.../docs/21.0/reference/features/recovery.md | 186 ++
.../reference/features/schema-management.md | 117 +
.../features/schema-routing-rules.md | 178 ++
.../reference/features/schema-tracking.md | 26 +
.../docs/21.0/reference/features/sharding.md | 99 +
.../en/docs/21.0/reference/features/show.md | 118 +
.../reference/features/tablet-throttler.md | 469 ++++
.../reference/features/topology-service.md | 746 +++++
.../features/transport-security-model.md | 125 +
.../reference/features/two-phase-commit.md | 102 +
.../docs/21.0/reference/features/vindexes.md | 348 +++
.../reference/features/vitess-sequences.md | 241 ++
.../docs/21.0/reference/features/vschema.md | 311 +++
.../reference/features/vtgate-buffering.md | 171 ++
.../img/vitesstransportsecuritymodel.png | Bin 0 -> 62871 bytes
.../en/docs/21.0/reference/programs/_index.md | 7 +
.../reference/programs/mysqlctl/_index.md | 107 +
.../programs/mysqlctl/mysqlctl_init.md | 119 +
.../programs/mysqlctl/mysqlctl_init_config.md | 117 +
.../programs/mysqlctl/mysqlctl_position.md | 102 +
.../mysqlctl/mysqlctl_reinit_config.md | 117 +
.../programs/mysqlctl/mysqlctl_shutdown.md | 115 +
.../programs/mysqlctl/mysqlctl_start.md | 114 +
.../programs/mysqlctl/mysqlctl_teardown.md | 118 +
.../reference/programs/mysqlctld/_index.md | 144 +
.../reference/programs/regular-expression.txt | 11 +
.../reference/programs/topo2topo/_index.md | 61 +
.../reference/programs/vtaclcheck/_index.md | 43 +
.../21.0/reference/programs/vtadmin-web.md | 36 +
.../docs/21.0/reference/programs/vtadmin.md | 80 +
.../docs/21.0/reference/programs/vtbackup.md | 240 ++
.../reference/programs/vtbackup/_index.md | 260 ++
.../reference/programs/vtclient/_index.md | 72 +
.../21.0/reference/programs/vtcombo/_index.md | 460 ++++
.../21.0/reference/programs/vtctl/_index.md | 268 ++
.../reference/programs/vtctl/cell-aliases.md | 80 +
.../21.0/reference/programs/vtctl/cells.md | 114 +
.../21.0/reference/programs/vtctl/generic.md | 91 +
.../reference/programs/vtctl/keyspaces.md | 388 +++
.../programs/vtctl/replication-graph.md | 30 +
.../vtctl/schema-version-permissions.md | 384 +++
.../reference/programs/vtctl/serving-graph.md | 70 +
.../21.0/reference/programs/vtctl/shards.md | 467 ++++
.../21.0/reference/programs/vtctl/tablets.md | 437 +++
.../reference/programs/vtctl/throttler.md | 52 +
.../21.0/reference/programs/vtctl/topo.md | 69 +
.../21.0/reference/programs/vtctld/_index.md | 200 ++
.../reference/programs/vtctldclient/_index.md | 131 +
.../vtctldclient/vtctldclient_AddCellInfo.md | 44 +
.../vtctldclient_AddCellsAlias.md | 43 +
.../vtctldclient_ApplyKeyspaceRoutingRules.md | 39 +
.../vtctldclient_ApplyRoutingRules.md | 39 +
.../vtctldclient/vtctldclient_ApplySchema.md | 58 +
.../vtctldclient_ApplyShardRoutingRules.md | 39 +
.../vtctldclient/vtctldclient_ApplyVSchema.md | 42 +
.../vtctldclient/vtctldclient_Backup.md | 38 +
.../vtctldclient/vtctldclient_BackupShard.md | 44 +
.../vtctldclient_ChangeTabletType.md | 42 +
.../vtctldclient_CreateKeyspace.md | 48 +
.../vtctldclient/vtctldclient_CreateShard.md | 36 +
.../vtctldclient_DeleteCellInfo.md | 39 +
.../vtctldclient_DeleteCellsAlias.md | 38 +
.../vtctldclient_DeleteKeyspace.md | 43 +
.../vtctldclient/vtctldclient_DeleteShards.md | 45 +
.../vtctldclient_DeleteSrvVSchema.md | 34 +
.../vtctldclient_DeleteTablets.md | 35 +
.../vtctldclient_EmergencyReparentShard.md | 39 +
.../vtctldclient_ExecuteFetchAsApp.md | 37 +
.../vtctldclient_ExecuteFetchAsDBA.md | 38 +
.../vtctldclient/vtctldclient_ExecuteHook.md | 48 +
.../vtctldclient_ExecuteMultiFetchAsDBA.md | 38 +
.../vtctldclient_FindAllShardsInKeyspace.md | 34 +
.../vtctldclient_GenerateShardRanges.md | 34 +
.../vtctldclient/vtctldclient_GetBackups.md | 36 +
.../vtctldclient/vtctldclient_GetCellInfo.md | 34 +
.../vtctldclient_GetCellInfoNames.md | 34 +
.../vtctldclient_GetCellsAliases.md | 34 +
.../vtctldclient_GetFullStatus.md | 34 +
.../vtctldclient/vtctldclient_GetKeyspace.md | 34 +
.../vtctldclient_GetKeyspaceRoutingRules.md | 34 +
.../vtctldclient/vtctldclient_GetKeyspaces.md | 34 +
.../vtctldclient_GetPermissions.md | 34 +
.../vtctldclient_GetRoutingRules.md | 34 +
.../vtctldclient/vtctldclient_GetSchema.md | 40 +
.../vtctldclient/vtctldclient_GetShard.md | 34 +
.../vtctldclient_GetShardReplication.md | 34 +
.../vtctldclient_GetShardRoutingRules.md | 42 +
.../vtctldclient_GetSrvKeyspaceNames.md | 34 +
.../vtctldclient_GetSrvKeyspaces.md | 34 +
.../vtctldclient_GetSrvVSchema.md | 34 +
.../vtctldclient_GetSrvVSchemas.md | 34 +
.../vtctldclient/vtctldclient_GetTablet.md | 34 +
.../vtctldclient_GetTabletVersion.md | 34 +
.../vtctldclient/vtctldclient_GetTablets.md | 62 +
.../vtctldclient_GetTopologyPath.md | 36 +
.../vtctldclient/vtctldclient_GetVSchema.md | 34 +
.../vtctldclient/vtctldclient_GetWorkflows.md | 36 +
.../vtctldclient_InitShardPrimary.md | 41 +
.../vtctldclient_LegacyVtctlCommand.md | 67 +
.../vtctldclient_LookupVindex/_index.md | 36 +
.../vtctldclient_LookupVindex_cancel.md | 42 +
.../vtctldclient_LookupVindex_create.md | 53 +
.../vtctldclient_LookupVindex_externalize.md | 43 +
.../vtctldclient_LookupVindex_show.md | 42 +
.../vtctldclient_Materialize/_index.md | 38 +
.../vtctldclient_Materialize_cancel.md | 43 +
.../vtctldclient_Materialize_create.md | 82 +
.../vtctldclient_Materialize_show.md | 44 +
.../vtctldclient_Materialize_start.md | 43 +
.../vtctldclient_Materialize_stop.md | 43 +
.../vtctldclient_Migrate/_index.md | 38 +
.../vtctldclient_Migrate_cancel.md | 43 +
.../vtctldclient_Migrate_complete.md | 43 +
.../vtctldclient_Migrate_create.md | 58 +
.../vtctldclient_Migrate_show.md | 44 +
.../vtctldclient_Migrate_status.md | 43 +
.../vtctldclient/vtctldclient_Mount/_index.md | 34 +
.../vtctldclient_Mount_list.md | 40 +
.../vtctldclient_Mount_register.md | 44 +
.../vtctldclient_Mount_show.md | 41 +
.../vtctldclient_Mount_unregister.md | 41 +
.../vtctldclient_MoveTables/_index.md | 42 +
.../vtctldclient_MoveTables_cancel.md | 46 +
.../vtctldclient_MoveTables_complete.md | 48 +
.../vtctldclient_MoveTables_create.md | 62 +
.../vtctldclient_MoveTables_reversetraffic.md | 50 +
.../vtctldclient_MoveTables_show.md | 45 +
.../vtctldclient_MoveTables_start.md | 43 +
.../vtctldclient_MoveTables_status.md | 44 +
.../vtctldclient_MoveTables_stop.md | 43 +
.../vtctldclient_MoveTables_switchtraffic.md | 51 +
.../vtctldclient_OnlineDDL/_index.md | 39 +
.../vtctldclient_OnlineDDL_cancel.md | 40 +
.../vtctldclient_OnlineDDL_cleanup.md | 40 +
.../vtctldclient_OnlineDDL_complete.md | 40 +
.../vtctldclient_OnlineDDL_force-cutover.md | 40 +
.../vtctldclient_OnlineDDL_launch.md | 40 +
.../vtctldclient_OnlineDDL_retry.md | 40 +
.../vtctldclient_OnlineDDL_show.md | 51 +
.../vtctldclient_OnlineDDL_throttle.md | 40 +
.../vtctldclient_OnlineDDL_unthrottle.md | 40 +
.../vtctldclient/vtctldclient_PingTablet.md | 34 +
.../vtctldclient_PlannedReparentShard.md | 38 +
.../vtctldclient_RebuildKeyspaceGraph.md | 36 +
.../vtctldclient_RebuildVSchemaGraph.md | 35 +
.../vtctldclient/vtctldclient_RefreshState.md | 34 +
.../vtctldclient_RefreshStateByShard.md | 35 +
.../vtctldclient/vtctldclient_ReloadSchema.md | 34 +
.../vtctldclient_ReloadSchemaKeyspace.md | 36 +
.../vtctldclient_ReloadSchemaShard.md | 36 +
.../vtctldclient/vtctldclient_RemoveBackup.md | 34 +
.../vtctldclient_RemoveKeyspaceCell.md | 36 +
.../vtctldclient_RemoveShardCell.md | 36 +
.../vtctldclient_ReparentTablet.md | 34 +
.../vtctldclient_Reshard/_index.md | 42 +
.../vtctldclient_Reshard_cancel.md | 43 +
.../vtctldclient_Reshard_complete.md | 43 +
.../vtctldclient_Reshard_create.md | 54 +
.../vtctldclient_Reshard_reversetraffic.md | 49 +
.../vtctldclient_Reshard_show.md | 44 +
.../vtctldclient_Reshard_start.md | 43 +
.../vtctldclient_Reshard_status.md | 43 +
.../vtctldclient_Reshard_stop.md | 43 +
.../vtctldclient_Reshard_switchtraffic.md | 49 +
.../vtctldclient_RestoreFromBackup.md | 38 +
.../vtctldclient_RunHealthCheck.md | 34 +
...tctldclient_SetKeyspaceDurabilityPolicy.md | 44 +
.../vtctldclient_SetShardIsPrimaryServing.md | 34 +
.../vtctldclient_SetShardTabletControl.md | 56 +
.../vtctldclient/vtctldclient_SetWritable.md | 34 +
.../vtctldclient_ShardReplicationFix.md | 34 +
.../vtctldclient_ShardReplicationPositions.md | 40 +
.../vtctldclient/vtctldclient_SleepTablet.md | 50 +
.../vtctldclient_SourceShardAdd.md | 36 +
.../vtctldclient_SourceShardDelete.md | 34 +
.../vtctldclient_StartReplication.md | 34 +
.../vtctldclient_StopReplication.md | 34 +
...vtctldclient_TabletExternallyReparented.md | 41 +
.../vtctldclient_UpdateCellInfo.md | 42 +
.../vtctldclient_UpdateCellsAlias.md | 39 +
.../vtctldclient_UpdateThrottlerConfig.md | 45 +
.../vtctldclient/vtctldclient_VDiff/_index.md | 38 +
.../vtctldclient_VDiff_create.md | 60 +
.../vtctldclient_VDiff_delete.md | 44 +
.../vtctldclient_VDiff_resume.md | 43 +
.../vtctldclient_VDiff_show.md | 46 +
.../vtctldclient_VDiff_stop.md | 43 +
.../vtctldclient/vtctldclient_Validate.md | 35 +
.../vtctldclient_ValidateKeyspace.md | 35 +
.../vtctldclient_ValidateSchemaKeyspace.md | 38 +
.../vtctldclient_ValidateShard.md | 35 +
.../vtctldclient_ValidateVersionKeyspace.md | 34 +
.../vtctldclient_ValidateVersionShard.md | 34 +
.../vtctldclient_Workflow/_index.md | 41 +
.../vtctldclient_Workflow_delete.md | 45 +
.../vtctldclient_Workflow_list.md | 42 +
.../vtctldclient_Workflow_show.md | 44 +
.../vtctldclient_Workflow_start.md | 43 +
.../vtctldclient_Workflow_stop.md | 43 +
.../vtctldclient_Workflow_update.md | 47 +
.../docs/21.0/reference/programs/vtexplain.md | 72 +
.../21.0/reference/programs/vtgate/_index.md | 263 ++
.../programs/vtgateclienttest/_index.md | 82 +
.../21.0/reference/programs/vtorc/_index.md | 125 +
.../reference/programs/vttablet/_index.md | 451 +++
.../reference/programs/vttestserver/_index.md | 178 ++
.../reference/programs/vttlstest/_index.md | 28 +
.../programs/vttlstest/vttlstest_CreateCA.md | 39 +
.../programs/vttlstest/vttlstest_CreateCRL.md | 39 +
.../vttlstest_CreateIntermediateCA.md | 42 +
.../vttlstest/vttlstest_CreateSignedCert.md | 42 +
.../vttlstest/vttlstest_RevokeCert.md | 40 +
.../docs/21.0/reference/programs/zk/_index.md | 50 +
.../21.0/reference/programs/zk/zk_addAuth.md | 23 +
.../docs/21.0/reference/programs/zk/zk_cat.md | 35 +
.../21.0/reference/programs/zk/zk_chmod.md | 30 +
.../docs/21.0/reference/programs/zk/zk_cp.md | 33 +
.../21.0/reference/programs/zk/zk_edit.md | 24 +
.../docs/21.0/reference/programs/zk/zk_ls.md | 40 +
.../docs/21.0/reference/programs/zk/zk_rm.md | 37 +
.../21.0/reference/programs/zk/zk_stat.md | 24 +
.../21.0/reference/programs/zk/zk_touch.md | 44 +
.../21.0/reference/programs/zk/zk_unzip.md | 30 +
.../21.0/reference/programs/zk/zk_wait.md | 34 +
.../21.0/reference/programs/zk/zk_watch.md | 29 +
.../docs/21.0/reference/programs/zk/zk_zip.md | 30 +
.../21.0/reference/programs/zkctl/_index.md | 46 +
.../reference/programs/zkctl/zkctl_init.md | 52 +
.../programs/zkctl/zkctl_shutdown.md | 52 +
.../reference/programs/zkctl/zkctl_start.md | 52 +
.../programs/zkctl/zkctl_teardown.md | 52 +
.../21.0/reference/programs/zkctld/_index.md | 19 +
.../21.0/reference/query-serving/_index.md | 5 +
.../reference/query-serving/reserved-conn.md | 148 +
.../en/docs/21.0/reference/viper/_index.md | 3 +
content/en/docs/21.0/reference/viper/basic.md | 70 +
.../docs/21.0/reference/viper/config_files.md | 69 +
.../21.0/reference/viper/dynamic_values.md | 17 +
.../en/docs/21.0/reference/viper/overview.md | 19 +
.../21.0/reference/vreplication/_index.md | 7 +
.../docs/21.0/reference/vreplication/faq.md | 44 +
.../docs/21.0/reference/vreplication/flags.md | 194 ++
.../vreplication/img/VReplicationFlow.png | Bin 0 -> 31635 bytes
.../reference/vreplication/img/VStream.svg | 1 +
.../reference/vreplication/internal/_index.md | 8 +
.../vreplication/internal/cutover.md | 328 +++
.../reference/vreplication/internal/keys.md | 459 +++
.../vreplication/internal/life-of-a-stream.md | 174 ++
.../vreplication/internal/tracker.md | 184 ++
.../internal/vstream-skew-detection.md | 84 +
.../internal/vstream-stream-migration.md | 82 +
.../reference/vreplication/lookupvindex.md | 23 +
.../reference/vreplication/materialize.md | 123 +
.../21.0/reference/vreplication/metrics.md | 163 ++
.../21.0/reference/vreplication/migrate.md | 152 +
.../docs/21.0/reference/vreplication/mount.md | 19 +
.../21.0/reference/vreplication/movetables.md | 360 +++
.../21.0/reference/vreplication/reshard.md | 306 ++
.../vreplication/shardlevelmigrations.md | 84 +
.../vreplication/tablet_selection.md | 49 +
.../21.0/reference/vreplication/throttling.md | 32 +
.../docs/21.0/reference/vreplication/vdiff.md | 153 +
.../reference/vreplication/vreplication.md | 207 ++
.../21.0/reference/vreplication/vstream.md | 320 +++
.../21.0/reference/vreplication/workflow.md | 9 +
.../en/docs/21.0/reference/vtadmin/_index.md | 5 +
.../21.0/reference/vtadmin/architecture.md | 91 +
.../reference/vtadmin/cluster_discovery.md | 199 ++
.../21.0/reference/vtadmin/img/schemas.png | Bin 0 -> 940145 bytes
.../21.0/reference/vtadmin/operators_guide.md | 118 +
.../vtadmin/role-based-access-control.md | 270 ++
.../reference/vtadmin/running_with_vtop.md | 72 +
.../vtadmin/vtctld-api-transition.md | 55 +
.../vtctldclient-transition/_index.md | 6 +
.../vtctldclient-transition/command_diff.md | 47 +
.../vtctldclient-transition/legacy_shim.md | 64 +
.../vtctldclient-transition/overview.md | 45 +
.../en/docs/21.0/reference/vtorc/_index.md | 5 +
.../docs/21.0/reference/vtorc/architecture.md | 46 +
.../vtorc/img/VTOrc-Recent-Recoveries.png | Bin 0 -> 31112 bytes
.../21.0/reference/vtorc/running_with_vtop.md | 40 +
.../21.0/reference/vtorc/ui_api_metrics.md | 49 +
content/en/docs/21.0/user-guides/_index.md | 8 +
.../configuration-advanced/_index.md | 5 +
.../configuration-advanced/authorization.md | 265 ++
.../buffering-scenarios.md | 573 ++++
.../comment-directives.md | 121 +
.../createlookupvindex.md | 621 +++++
.../integration-with-orchestrator.md | 7 +
.../configuration-advanced/ldap_auth.md | 80 +
.../query-consolidation.md | 27 +
.../configuration-advanced/region-sharding.md | 527 ++++
.../configuration-advanced/reparenting.md | 112 +
.../configuration-advanced/resharding.md | 368 +++
.../shard-isolation-atomicity.md | 200 ++
.../configuration-advanced/static-auth.md | 154 ++
.../configuration-advanced/trace1.png | Bin 0 -> 95000 bytes
.../configuration-advanced/tracing.md | 80 +
.../transport-security-model.md | 761 +++++
.../unmanaged-tablet.md | 187 ++
.../configuration-advanced/user-management.md | 23 +
.../user-guides/configuration-basic/_index.md | 5 +
.../configuration-basic/add-delete-cell.md | 48 +
.../configuration-basic/backups-restores.md | 32 +
.../configuration-basic/collations.md | 414 +++
.../configuration-basic/create-cell.md | 56 +
.../configuration-basic/delete-keyspace.md | 31 +
.../configuration-basic/durability_policy.md | 29 +
.../configuration-basic/exporting-data.md | 72 +
.../configuration-basic/global-topo.md | 52 +
.../configuration-basic/img/cell-in-topo.png | Bin 0 -> 432242 bytes
.../img/healthy-tablet.png | Bin 0 -> 46190 bytes
.../img/unhealthy-tablet.png | Bin 0 -> 58739 bytes
.../img/vtadmin-reparenting.png | Bin 0 -> 555273 bytes
.../img/vtadmin-tablet-list.png | Bin 0 -> 455633 bytes
.../img/vtgate-healthy-tablets.png | Bin 0 -> 34360 bytes
.../img/vtgate-partially-healthy-tablets.png | Bin 0 -> 51449 bytes
.../initialize-shard-primary.md | 34 +
.../configuration-basic/keyspaces-shards.md | 14 +
.../configuration-basic/monitoring.md | 407 +++
.../configuration-basic/planning.md | 69 +
.../user-guides/configuration-basic/ports.md | 53 +
.../configuration-basic/reparenting.md | 22 +
.../configuration-basic/troubleshooting.md | 168 ++
.../user-guides/configuration-basic/vtctld.md | 41 +
.../user-guides/configuration-basic/vtgate.md | 104 +
.../user-guides/configuration-basic/vtorc.md | 46 +
.../configuration-basic/vttablet-mysql.md | 219 ++
.../docs/21.0/user-guides/migration/_index.md | 5 +
.../21.0/user-guides/migration/materialize.md | 403 +++
.../user-guides/migration/migrate-data.md | 71 +
.../21.0/user-guides/migration/move-tables.md | 831 ++++++
.../user-guides/migration/troubleshooting.md | 288 ++
.../user-guides/operating-vitess/_index.md | 6 +
.../backup-and-restore/_index.md | 5 +
.../bootstrap-and-restore.md | 101 +
.../backup-and-restore/creating-a-backup.md | 139 +
.../backup-and-restore/managing-backups.md | 44 +
.../backup-and-restore/overview.md | 332 +++
.../backup-and-restore/scheduled-backups.md | 103 +
.../operating-vitess/upgrading-vitess.md | 48 +
.../21.0/user-guides/schema-changes/_index.md | 113 +
.../schema-changes/advanced-usage.md | 190 ++
.../schema-changes/audit-and-control.md | 806 ++++++
.../schema-changes/concurrent-migrations.md | 70 +
.../schema-changes/ddl-strategies.md | 195 ++
.../schema-changes/ddl-strategy-flags.md | 64 +
.../schema-changes/declarative-migrations.md | 117 +
.../managed-online-schema-changes.md | 247 ++
.../schema-changes/postponed-migrations.md | 342 +++
.../schema-changes/recoverable-migrations.md | 32 +
.../schema-changes/revertible-migrations.md | 231 ++
.../schema-changes/table-lifecycle.md | 102 +
.../unmanaged-schema-changes.md | 90 +
.../schema-changes/validating-migrations.md | 64 +
.../en/docs/21.0/user-guides/sql/_index.md | 5 +
.../en/docs/21.0/user-guides/sql/vexplain.md | 253 ++
.../21.0/user-guides/sql/vtexplain-in-bulk.md | 217 ++
.../en/docs/21.0/user-guides/sql/vtexplain.md | 307 +++
.../21.0/user-guides/vschema-guide/_index.md | 5 +
.../vschema-guide/advanced-vschema.md | 205 ++
.../vschema-guide/backfill-vindexes.md | 114 +
.../user-guides/vschema-guide/foreign-keys.md | 171 ++
.../vschema-guide/img/vschema1.png | Bin 0 -> 501742 bytes
.../vschema-guide/img/vschema2.png | Bin 0 -> 572732 bytes
.../vschema-guide/lookup-as-primary.md | 146 +
.../vschema-guide/non-unique-lookup.md | 157 ++
.../user-guides/vschema-guide/overview.md | 34 +
.../user-guides/vschema-guide/pictorial.md | 14 +
.../user-guides/vschema-guide/sequences.md | 96 +
.../21.0/user-guides/vschema-guide/sharded.md | 132 +
.../vschema-guide/sharding-guidelines.md | 79 +
.../vschema-guide/shared-vindexes.md | 175 ++
.../vschema-guide/subsharding-vindex.md | 323 +++
.../vschema-guide/unique-lookup.md | 112 +
.../user-guides/vschema-guide/unsharded.md | 85 +
.../user-guides/vschema-guide/vindex-hints.md | 75 +
.../user-guides/vschema-guide/vschema_ddl.md | 112 +
content/zh/docs/20.0/_index.md | 4 +-
content/zh/docs/21.0/_index.md | 26 +
content/zh/docs/21.0/concepts/_index.md | 8 +
content/zh/docs/21.0/concepts/cell.md | 12 +
content/zh/docs/21.0/concepts/keyspace-id.md | 10 +
content/zh/docs/21.0/concepts/keyspace.md | 9 +
.../docs/21.0/concepts/replication-graph.md | 7 +
content/zh/docs/21.0/concepts/shard.md | 17 +
content/zh/docs/21.0/concepts/tablet.md | 16 +
.../zh/docs/21.0/concepts/topology-service.md | 33 +
content/zh/docs/21.0/concepts/vschema.md | 11 +
content/zh/docs/21.0/contributing/_index.md | 86 +
.../21.0/contributing/build-from-source.md | 271 ++
.../zh/docs/21.0/contributing/code-reviews.md | 63 +
.../docs/21.0/contributing/github-workflow.md | 135 +
content/zh/docs/21.0/faq/_index.md | 84 +
content/zh/docs/21.0/get-started/_index.md | 10 +
.../zh/docs/21.0/get-started/kubernetes.md | 843 ++++++
content/zh/docs/21.0/get-started/local.md | 653 +++++
content/zh/docs/21.0/get-started/vagrant.md | 152 +
content/zh/docs/21.0/launching/_index.md | 10 +
.../21.0/launching/production-planning.md | 68 +
.../21.0/launching/scalability-philosophy.md | 160 ++
.../21.0/launching/server-configuration.md | 558 ++++
.../zh/docs/21.0/launching/troubleshooting.md | 39 +
content/zh/docs/21.0/launching/twopc.md | 86 +
content/zh/docs/21.0/overview/_index.md | 10 +
content/zh/docs/21.0/overview/architecture.md | 55 +
content/zh/docs/21.0/overview/cloud-native.md | 16 +
content/zh/docs/21.0/overview/history.md | 22 +
.../docs/21.0/overview/img/VitessOverview.png | Bin 0 -> 35460 bytes
content/zh/docs/21.0/overview/whatisvitess.md | 74 +
content/zh/docs/21.0/reference/_index.md | 9 +
content/zh/docs/21.0/reference/messaging.md | 214 ++
.../21.0/reference/mysql-server-protocol.md | 23 +
.../21.0/reference/row-based-replication.md | 92 +
content/zh/docs/21.0/reference/sharding.md | 108 +
.../zh/docs/21.0/reference/update-stream.md | 257 ++
content/zh/docs/21.0/reference/vitess-api.md | 1037 +++++++
.../docs/21.0/reference/vitess-replication.md | 87 +
.../docs/21.0/reference/vitess-sequences.md | 208 ++
.../zh/docs/21.0/reference/vreplication.md | 432 +++
content/zh/docs/21.0/reference/vtctl.md | 2449 +++++++++++++++++
.../zh/docs/21.0/schema-management/_index.md | 138 +
.../schema-management/consistent-lookup.md | 33 +
.../21.0/schema-management/mysql-schema.md | 33 +
.../21.0/schema-management/routing-rules.md | 53 +
.../zh/docs/21.0/schema-management/vschema.md | 366 +++
content/zh/docs/21.0/user-guides/_index.md | 92 +
.../21.0/user-guides/backup-and-restore.md | 253 ++
.../img/vitesstransportsecuritymodel.svg | 2 +
.../zh/docs/21.0/user-guides/reparenting.md | 93 +
.../docs/21.0/user-guides/topology-service.md | 587 ++++
.../user-guides/transport-security-model.md | 72 +
content/zh/docs/21.0/user-guides/upgrading.md | 47 +
content/zh/docs/21.0/user-guides/vtexplain.md | 153 +
.../docs/21.0/user-guides/vttablet-modes.md | 111 +
484 files changed, 49157 insertions(+), 6 deletions(-)
create mode 100644 content/en/docs/21.0/_index.md
create mode 100644 content/en/docs/21.0/concepts/_index.md
create mode 100644 content/en/docs/21.0/concepts/cell.md
create mode 100644 content/en/docs/21.0/concepts/execution-plans.md
create mode 100644 content/en/docs/21.0/concepts/img/VStream.svg
create mode 100644 content/en/docs/21.0/concepts/keyspace-id.md
create mode 100644 content/en/docs/21.0/concepts/keyspace.md
create mode 100644 content/en/docs/21.0/concepts/move-tables.md
create mode 100644 content/en/docs/21.0/concepts/query-rewriting.md
create mode 100644 content/en/docs/21.0/concepts/replication-graph.md
create mode 100644 content/en/docs/21.0/concepts/shard.md
create mode 100644 content/en/docs/21.0/concepts/tablet.md
create mode 100644 content/en/docs/21.0/concepts/topology-service.md
create mode 100644 content/en/docs/21.0/concepts/vschema.md
create mode 100644 content/en/docs/21.0/concepts/vstream.md
create mode 100644 content/en/docs/21.0/concepts/vtctl.md
create mode 100644 content/en/docs/21.0/concepts/vtctld.md
create mode 100644 content/en/docs/21.0/concepts/vtgate.md
create mode 100644 content/en/docs/21.0/get-started/_index.md
create mode 100644 content/en/docs/21.0/get-started/local-docker.md
create mode 100644 content/en/docs/21.0/get-started/local-mac.md
create mode 100644 content/en/docs/21.0/get-started/local.md
create mode 100644 content/en/docs/21.0/get-started/operator.md
create mode 100644 content/en/docs/21.0/get-started/vttestserver-docker-image.md
create mode 100644 content/en/docs/21.0/overview/_index.md
create mode 100644 content/en/docs/21.0/overview/architecture.md
create mode 100644 content/en/docs/21.0/overview/cloud-native.md
create mode 100644 content/en/docs/21.0/overview/history.md
create mode 100644 content/en/docs/21.0/overview/img/architecture.svg
create mode 100644 content/en/docs/21.0/overview/scalability-philosophy.md
create mode 100644 content/en/docs/21.0/overview/supported-databases.md
create mode 100644 content/en/docs/21.0/overview/whatisvitess.md
create mode 100644 content/en/docs/21.0/reference/_index.md
create mode 100644 content/en/docs/21.0/reference/backup-and-restore/_index.md
create mode 100644 content/en/docs/21.0/reference/backup-and-restore/metrics.md
create mode 100644 content/en/docs/21.0/reference/compatibility/_index.md
create mode 100644 content/en/docs/21.0/reference/compatibility/mysql-compatibility.md
create mode 100644 content/en/docs/21.0/reference/errors/_index.md
create mode 100644 content/en/docs/21.0/reference/errors/query-serving.md
create mode 100644 content/en/docs/21.0/reference/features/_index.md
create mode 100644 content/en/docs/21.0/reference/features/connection-pools.md
create mode 100644 content/en/docs/21.0/reference/features/global-routing.md
create mode 100644 content/en/docs/21.0/reference/features/img/vschema_arch.png
create mode 100644 content/en/docs/21.0/reference/features/messaging.md
create mode 100644 content/en/docs/21.0/reference/features/monitoring.md
create mode 100644 content/en/docs/21.0/reference/features/mysql-query-extensions.md
create mode 100644 content/en/docs/21.0/reference/features/mysql-replication.md
create mode 100644 content/en/docs/21.0/reference/features/recovery.md
create mode 100644 content/en/docs/21.0/reference/features/schema-management.md
create mode 100644 content/en/docs/21.0/reference/features/schema-routing-rules.md
create mode 100644 content/en/docs/21.0/reference/features/schema-tracking.md
create mode 100644 content/en/docs/21.0/reference/features/sharding.md
create mode 100644 content/en/docs/21.0/reference/features/show.md
create mode 100644 content/en/docs/21.0/reference/features/tablet-throttler.md
create mode 100644 content/en/docs/21.0/reference/features/topology-service.md
create mode 100644 content/en/docs/21.0/reference/features/transport-security-model.md
create mode 100644 content/en/docs/21.0/reference/features/two-phase-commit.md
create mode 100644 content/en/docs/21.0/reference/features/vindexes.md
create mode 100644 content/en/docs/21.0/reference/features/vitess-sequences.md
create mode 100644 content/en/docs/21.0/reference/features/vschema.md
create mode 100644 content/en/docs/21.0/reference/features/vtgate-buffering.md
create mode 100644 content/en/docs/21.0/reference/img/vitesstransportsecuritymodel.png
create mode 100644 content/en/docs/21.0/reference/programs/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/mysqlctl_init.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/mysqlctl_init_config.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/mysqlctl_position.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/mysqlctl_reinit_config.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/mysqlctl_shutdown.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/mysqlctl_start.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctl/mysqlctl_teardown.md
create mode 100644 content/en/docs/21.0/reference/programs/mysqlctld/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/regular-expression.txt
create mode 100644 content/en/docs/21.0/reference/programs/topo2topo/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtaclcheck/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtadmin-web.md
create mode 100644 content/en/docs/21.0/reference/programs/vtadmin.md
create mode 100644 content/en/docs/21.0/reference/programs/vtbackup.md
create mode 100644 content/en/docs/21.0/reference/programs/vtbackup/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtclient/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtcombo/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/cell-aliases.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/cells.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/generic.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/keyspaces.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/replication-graph.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/schema-version-permissions.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/serving-graph.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/shards.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/tablets.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/throttler.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctl/topo.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctld/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_AddCellInfo.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_AddCellsAlias.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ApplyKeyspaceRoutingRules.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ApplyRoutingRules.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ApplySchema.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ApplyShardRoutingRules.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ApplyVSchema.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Backup.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_BackupShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ChangeTabletType.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_CreateKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_CreateShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_DeleteCellInfo.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_DeleteCellsAlias.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_DeleteKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_DeleteShards.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_DeleteSrvVSchema.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_DeleteTablets.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_EmergencyReparentShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ExecuteFetchAsApp.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ExecuteFetchAsDBA.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ExecuteHook.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ExecuteMultiFetchAsDBA.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_FindAllShardsInKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GenerateShardRanges.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetBackups.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetCellInfo.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetCellInfoNames.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetCellsAliases.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetFullStatus.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetKeyspaceRoutingRules.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetKeyspaces.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetPermissions.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetRoutingRules.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetSchema.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetShardReplication.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetShardRoutingRules.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetSrvKeyspaceNames.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetSrvKeyspaces.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetSrvVSchema.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetSrvVSchemas.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetTablet.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetTabletVersion.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetTablets.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetTopologyPath.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetVSchema.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_GetWorkflows.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_InitShardPrimary.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_LegacyVtctlCommand.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_LookupVindex/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_LookupVindex/vtctldclient_LookupVindex_cancel.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_LookupVindex/vtctldclient_LookupVindex_create.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_LookupVindex/vtctldclient_LookupVindex_externalize.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_LookupVindex/vtctldclient_LookupVindex_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Materialize/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Materialize/vtctldclient_Materialize_cancel.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Materialize/vtctldclient_Materialize_create.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Materialize/vtctldclient_Materialize_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Materialize/vtctldclient_Materialize_start.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Materialize/vtctldclient_Materialize_stop.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Migrate/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Migrate/vtctldclient_Migrate_cancel.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Migrate/vtctldclient_Migrate_complete.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Migrate/vtctldclient_Migrate_create.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Migrate/vtctldclient_Migrate_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Migrate/vtctldclient_Migrate_status.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Mount/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Mount/vtctldclient_Mount_list.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Mount/vtctldclient_Mount_register.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Mount/vtctldclient_Mount_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Mount/vtctldclient_Mount_unregister.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_cancel.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_complete.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_create.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_reversetraffic.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_start.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_status.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_stop.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_MoveTables/vtctldclient_MoveTables_switchtraffic.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_cancel.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_cleanup.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_complete.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_force-cutover.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_launch.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_retry.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_throttle.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_OnlineDDL/vtctldclient_OnlineDDL_unthrottle.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_PingTablet.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_PlannedReparentShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RebuildKeyspaceGraph.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RebuildVSchemaGraph.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RefreshState.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RefreshStateByShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ReloadSchema.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ReloadSchemaKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ReloadSchemaShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RemoveBackup.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RemoveKeyspaceCell.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RemoveShardCell.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ReparentTablet.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_cancel.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_complete.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_create.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_reversetraffic.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_start.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_status.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_stop.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Reshard/vtctldclient_Reshard_switchtraffic.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RestoreFromBackup.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_RunHealthCheck.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_SetKeyspaceDurabilityPolicy.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_SetShardIsPrimaryServing.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_SetShardTabletControl.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_SetWritable.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ShardReplicationFix.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ShardReplicationPositions.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_SleepTablet.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_SourceShardAdd.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_SourceShardDelete.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_StartReplication.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_StopReplication.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_TabletExternallyReparented.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_UpdateCellInfo.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_UpdateCellsAlias.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_UpdateThrottlerConfig.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_VDiff/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_VDiff/vtctldclient_VDiff_create.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_VDiff/vtctldclient_VDiff_delete.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_VDiff/vtctldclient_VDiff_resume.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_VDiff/vtctldclient_VDiff_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_VDiff/vtctldclient_VDiff_stop.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Validate.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ValidateKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ValidateSchemaKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ValidateShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ValidateVersionKeyspace.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_ValidateVersionShard.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Workflow/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Workflow/vtctldclient_Workflow_delete.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Workflow/vtctldclient_Workflow_list.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Workflow/vtctldclient_Workflow_show.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Workflow/vtctldclient_Workflow_start.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Workflow/vtctldclient_Workflow_stop.md
create mode 100644 content/en/docs/21.0/reference/programs/vtctldclient/vtctldclient_Workflow/vtctldclient_Workflow_update.md
create mode 100644 content/en/docs/21.0/reference/programs/vtexplain.md
create mode 100644 content/en/docs/21.0/reference/programs/vtgate/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtgateclienttest/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vtorc/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vttablet/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vttestserver/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vttlstest/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/vttlstest/vttlstest_CreateCA.md
create mode 100644 content/en/docs/21.0/reference/programs/vttlstest/vttlstest_CreateCRL.md
create mode 100644 content/en/docs/21.0/reference/programs/vttlstest/vttlstest_CreateIntermediateCA.md
create mode 100644 content/en/docs/21.0/reference/programs/vttlstest/vttlstest_CreateSignedCert.md
create mode 100644 content/en/docs/21.0/reference/programs/vttlstest/vttlstest_RevokeCert.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_addAuth.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_cat.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_chmod.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_cp.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_edit.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_ls.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_rm.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_stat.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_touch.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_unzip.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_wait.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_watch.md
create mode 100644 content/en/docs/21.0/reference/programs/zk/zk_zip.md
create mode 100644 content/en/docs/21.0/reference/programs/zkctl/_index.md
create mode 100644 content/en/docs/21.0/reference/programs/zkctl/zkctl_init.md
create mode 100644 content/en/docs/21.0/reference/programs/zkctl/zkctl_shutdown.md
create mode 100644 content/en/docs/21.0/reference/programs/zkctl/zkctl_start.md
create mode 100644 content/en/docs/21.0/reference/programs/zkctl/zkctl_teardown.md
create mode 100644 content/en/docs/21.0/reference/programs/zkctld/_index.md
create mode 100644 content/en/docs/21.0/reference/query-serving/_index.md
create mode 100644 content/en/docs/21.0/reference/query-serving/reserved-conn.md
create mode 100644 content/en/docs/21.0/reference/viper/_index.md
create mode 100644 content/en/docs/21.0/reference/viper/basic.md
create mode 100644 content/en/docs/21.0/reference/viper/config_files.md
create mode 100644 content/en/docs/21.0/reference/viper/dynamic_values.md
create mode 100644 content/en/docs/21.0/reference/viper/overview.md
create mode 100644 content/en/docs/21.0/reference/vreplication/_index.md
create mode 100644 content/en/docs/21.0/reference/vreplication/faq.md
create mode 100644 content/en/docs/21.0/reference/vreplication/flags.md
create mode 100644 content/en/docs/21.0/reference/vreplication/img/VReplicationFlow.png
create mode 100644 content/en/docs/21.0/reference/vreplication/img/VStream.svg
create mode 100644 content/en/docs/21.0/reference/vreplication/internal/_index.md
create mode 100644 content/en/docs/21.0/reference/vreplication/internal/cutover.md
create mode 100644 content/en/docs/21.0/reference/vreplication/internal/keys.md
create mode 100644 content/en/docs/21.0/reference/vreplication/internal/life-of-a-stream.md
create mode 100644 content/en/docs/21.0/reference/vreplication/internal/tracker.md
create mode 100644 content/en/docs/21.0/reference/vreplication/internal/vstream-skew-detection.md
create mode 100644 content/en/docs/21.0/reference/vreplication/internal/vstream-stream-migration.md
create mode 100644 content/en/docs/21.0/reference/vreplication/lookupvindex.md
create mode 100644 content/en/docs/21.0/reference/vreplication/materialize.md
create mode 100644 content/en/docs/21.0/reference/vreplication/metrics.md
create mode 100644 content/en/docs/21.0/reference/vreplication/migrate.md
create mode 100644 content/en/docs/21.0/reference/vreplication/mount.md
create mode 100644 content/en/docs/21.0/reference/vreplication/movetables.md
create mode 100644 content/en/docs/21.0/reference/vreplication/reshard.md
create mode 100644 content/en/docs/21.0/reference/vreplication/shardlevelmigrations.md
create mode 100644 content/en/docs/21.0/reference/vreplication/tablet_selection.md
create mode 100644 content/en/docs/21.0/reference/vreplication/throttling.md
create mode 100644 content/en/docs/21.0/reference/vreplication/vdiff.md
create mode 100644 content/en/docs/21.0/reference/vreplication/vreplication.md
create mode 100644 content/en/docs/21.0/reference/vreplication/vstream.md
create mode 100644 content/en/docs/21.0/reference/vreplication/workflow.md
create mode 100644 content/en/docs/21.0/reference/vtadmin/_index.md
create mode 100644 content/en/docs/21.0/reference/vtadmin/architecture.md
create mode 100644 content/en/docs/21.0/reference/vtadmin/cluster_discovery.md
create mode 100644 content/en/docs/21.0/reference/vtadmin/img/schemas.png
create mode 100644 content/en/docs/21.0/reference/vtadmin/operators_guide.md
create mode 100644 content/en/docs/21.0/reference/vtadmin/role-based-access-control.md
create mode 100644 content/en/docs/21.0/reference/vtadmin/running_with_vtop.md
create mode 100644 content/en/docs/21.0/reference/vtadmin/vtctld-api-transition.md
create mode 100644 content/en/docs/21.0/reference/vtctldclient-transition/_index.md
create mode 100644 content/en/docs/21.0/reference/vtctldclient-transition/command_diff.md
create mode 100644 content/en/docs/21.0/reference/vtctldclient-transition/legacy_shim.md
create mode 100644 content/en/docs/21.0/reference/vtctldclient-transition/overview.md
create mode 100644 content/en/docs/21.0/reference/vtorc/_index.md
create mode 100644 content/en/docs/21.0/reference/vtorc/architecture.md
create mode 100644 content/en/docs/21.0/reference/vtorc/img/VTOrc-Recent-Recoveries.png
create mode 100644 content/en/docs/21.0/reference/vtorc/running_with_vtop.md
create mode 100644 content/en/docs/21.0/reference/vtorc/ui_api_metrics.md
create mode 100644 content/en/docs/21.0/user-guides/_index.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/_index.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/authorization.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/buffering-scenarios.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/comment-directives.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/createlookupvindex.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/integration-with-orchestrator.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/ldap_auth.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/query-consolidation.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/region-sharding.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/reparenting.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/resharding.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/shard-isolation-atomicity.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/static-auth.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/trace1.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/tracing.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/transport-security-model.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/unmanaged-tablet.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-advanced/user-management.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/_index.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/add-delete-cell.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/backups-restores.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/collations.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/create-cell.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/delete-keyspace.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/durability_policy.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/exporting-data.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/global-topo.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/img/cell-in-topo.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/img/healthy-tablet.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/img/unhealthy-tablet.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/img/vtadmin-reparenting.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/img/vtadmin-tablet-list.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/img/vtgate-healthy-tablets.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/img/vtgate-partially-healthy-tablets.png
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/initialize-shard-primary.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/keyspaces-shards.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/monitoring.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/planning.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/ports.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/reparenting.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/troubleshooting.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/vtctld.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/vtgate.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/vtorc.md
create mode 100644 content/en/docs/21.0/user-guides/configuration-basic/vttablet-mysql.md
create mode 100644 content/en/docs/21.0/user-guides/migration/_index.md
create mode 100644 content/en/docs/21.0/user-guides/migration/materialize.md
create mode 100644 content/en/docs/21.0/user-guides/migration/migrate-data.md
create mode 100644 content/en/docs/21.0/user-guides/migration/move-tables.md
create mode 100644 content/en/docs/21.0/user-guides/migration/troubleshooting.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/_index.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/backup-and-restore/_index.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/backup-and-restore/bootstrap-and-restore.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/backup-and-restore/creating-a-backup.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/backup-and-restore/managing-backups.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/backup-and-restore/overview.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/backup-and-restore/scheduled-backups.md
create mode 100644 content/en/docs/21.0/user-guides/operating-vitess/upgrading-vitess.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/_index.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/advanced-usage.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/audit-and-control.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/concurrent-migrations.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/ddl-strategies.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/ddl-strategy-flags.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/declarative-migrations.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/managed-online-schema-changes.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/postponed-migrations.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/recoverable-migrations.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/revertible-migrations.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/table-lifecycle.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/unmanaged-schema-changes.md
create mode 100644 content/en/docs/21.0/user-guides/schema-changes/validating-migrations.md
create mode 100644 content/en/docs/21.0/user-guides/sql/_index.md
create mode 100644 content/en/docs/21.0/user-guides/sql/vexplain.md
create mode 100644 content/en/docs/21.0/user-guides/sql/vtexplain-in-bulk.md
create mode 100644 content/en/docs/21.0/user-guides/sql/vtexplain.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/_index.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/advanced-vschema.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/backfill-vindexes.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/foreign-keys.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/img/vschema1.png
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/img/vschema2.png
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/lookup-as-primary.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/non-unique-lookup.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/overview.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/pictorial.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/sequences.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/sharded.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/sharding-guidelines.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/shared-vindexes.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/subsharding-vindex.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/unique-lookup.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/unsharded.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/vindex-hints.md
create mode 100644 content/en/docs/21.0/user-guides/vschema-guide/vschema_ddl.md
create mode 100644 content/zh/docs/21.0/_index.md
create mode 100644 content/zh/docs/21.0/concepts/_index.md
create mode 100644 content/zh/docs/21.0/concepts/cell.md
create mode 100644 content/zh/docs/21.0/concepts/keyspace-id.md
create mode 100644 content/zh/docs/21.0/concepts/keyspace.md
create mode 100644 content/zh/docs/21.0/concepts/replication-graph.md
create mode 100644 content/zh/docs/21.0/concepts/shard.md
create mode 100644 content/zh/docs/21.0/concepts/tablet.md
create mode 100644 content/zh/docs/21.0/concepts/topology-service.md
create mode 100644 content/zh/docs/21.0/concepts/vschema.md
create mode 100644 content/zh/docs/21.0/contributing/_index.md
create mode 100644 content/zh/docs/21.0/contributing/build-from-source.md
create mode 100644 content/zh/docs/21.0/contributing/code-reviews.md
create mode 100644 content/zh/docs/21.0/contributing/github-workflow.md
create mode 100644 content/zh/docs/21.0/faq/_index.md
create mode 100644 content/zh/docs/21.0/get-started/_index.md
create mode 100644 content/zh/docs/21.0/get-started/kubernetes.md
create mode 100644 content/zh/docs/21.0/get-started/local.md
create mode 100644 content/zh/docs/21.0/get-started/vagrant.md
create mode 100644 content/zh/docs/21.0/launching/_index.md
create mode 100644 content/zh/docs/21.0/launching/production-planning.md
create mode 100644 content/zh/docs/21.0/launching/scalability-philosophy.md
create mode 100644 content/zh/docs/21.0/launching/server-configuration.md
create mode 100644 content/zh/docs/21.0/launching/troubleshooting.md
create mode 100644 content/zh/docs/21.0/launching/twopc.md
create mode 100644 content/zh/docs/21.0/overview/_index.md
create mode 100644 content/zh/docs/21.0/overview/architecture.md
create mode 100644 content/zh/docs/21.0/overview/cloud-native.md
create mode 100644 content/zh/docs/21.0/overview/history.md
create mode 100644 content/zh/docs/21.0/overview/img/VitessOverview.png
create mode 100644 content/zh/docs/21.0/overview/whatisvitess.md
create mode 100644 content/zh/docs/21.0/reference/_index.md
create mode 100644 content/zh/docs/21.0/reference/messaging.md
create mode 100644 content/zh/docs/21.0/reference/mysql-server-protocol.md
create mode 100644 content/zh/docs/21.0/reference/row-based-replication.md
create mode 100644 content/zh/docs/21.0/reference/sharding.md
create mode 100644 content/zh/docs/21.0/reference/update-stream.md
create mode 100644 content/zh/docs/21.0/reference/vitess-api.md
create mode 100644 content/zh/docs/21.0/reference/vitess-replication.md
create mode 100644 content/zh/docs/21.0/reference/vitess-sequences.md
create mode 100644 content/zh/docs/21.0/reference/vreplication.md
create mode 100644 content/zh/docs/21.0/reference/vtctl.md
create mode 100644 content/zh/docs/21.0/schema-management/_index.md
create mode 100644 content/zh/docs/21.0/schema-management/consistent-lookup.md
create mode 100644 content/zh/docs/21.0/schema-management/mysql-schema.md
create mode 100644 content/zh/docs/21.0/schema-management/routing-rules.md
create mode 100644 content/zh/docs/21.0/schema-management/vschema.md
create mode 100644 content/zh/docs/21.0/user-guides/_index.md
create mode 100644 content/zh/docs/21.0/user-guides/backup-and-restore.md
create mode 100644 content/zh/docs/21.0/user-guides/img/vitesstransportsecuritymodel.svg
create mode 100644 content/zh/docs/21.0/user-guides/reparenting.md
create mode 100644 content/zh/docs/21.0/user-guides/topology-service.md
create mode 100644 content/zh/docs/21.0/user-guides/transport-security-model.md
create mode 100644 content/zh/docs/21.0/user-guides/upgrading.md
create mode 100644 content/zh/docs/21.0/user-guides/vtexplain.md
create mode 100644 content/zh/docs/21.0/user-guides/vttablet-modes.md
diff --git a/config.toml b/config.toml
index 196889ff5..aec9f03fe 100644
--- a/config.toml
+++ b/config.toml
@@ -13,8 +13,8 @@ pygmentsStyle = "fruity"
# Versions (folder-based)
[params.versions]
-current = "19.0"
-next = "20.0"
+current = "20.0"
+next = "21.0"
# end Versions
diff --git a/content/en/docs/20.0/_index.md b/content/en/docs/20.0/_index.md
index a67ae3f36..e5aec698b 100644
--- a/content/en/docs/20.0/_index.md
+++ b/content/en/docs/20.0/_index.md
@@ -1,7 +1,7 @@
---
-title: v20.0 (Development)
+title: v20.0 (RC)
description: >
- Under construction, development release.
+ Release Candidate.
Everything you need to know about scaling MySQL with Vitess.
notoc: true
cascade:
diff --git a/content/en/docs/21.0/_index.md b/content/en/docs/21.0/_index.md
new file mode 100644
index 000000000..41111c926
--- /dev/null
+++ b/content/en/docs/21.0/_index.md
@@ -0,0 +1,11 @@
+---
+title: v21.0 (Development)
+description: >
+ Under construction, development release.
+ Everything you need to know about scaling MySQL with Vitess.
+notoc: true
+cascade:
+ version: v21.0
+weight: 79
+---
+
diff --git a/content/en/docs/21.0/concepts/_index.md b/content/en/docs/21.0/concepts/_index.md
new file mode 100644
index 000000000..3282daf67
--- /dev/null
+++ b/content/en/docs/21.0/concepts/_index.md
@@ -0,0 +1,6 @@
+---
+title: Concepts
+description: Learn core Vitess concepts and terminology
+aliases: ['/docs/overview/concepts/']
+weight: 3
+---
diff --git a/content/en/docs/21.0/concepts/cell.md b/content/en/docs/21.0/concepts/cell.md
new file mode 100644
index 000000000..f6d16f088
--- /dev/null
+++ b/content/en/docs/21.0/concepts/cell.md
@@ -0,0 +1,10 @@
+---
+title: Cell
+description: Data center, availability zone or group of computing resources
+---
+
+A *cell* is a group of servers and network infrastructure collocated in an area, and isolated from failures in other cells. It is typically either a full data center or a subset of a data center, sometimes called a *zone* or *availability zone*. Vitess gracefully handles cell-level failures, such as when a cell is cut off the network.
+
+Each cell in a Vitess implementation has a [local topology service](../topology-service), which is hosted in that cell. The topology service contains most of the information about the Vitess tablets in its cell. This enables a cell to be taken down and rebuilt as a unit.
+
+Vitess limits cross-cell traffic for both data and metadata. While it may be useful to also have the ability to route read traffic to individual cells, Vitess currently serves reads only from the local cell. Writes will go cross-cell when necessary, to wherever the primary for that shard resides.
diff --git a/content/en/docs/21.0/concepts/execution-plans.md b/content/en/docs/21.0/concepts/execution-plans.md
new file mode 100644
index 000000000..d11cb8d0c
--- /dev/null
+++ b/content/en/docs/21.0/concepts/execution-plans.md
@@ -0,0 +1,33 @@
+---
+title: Execution Plans
+---
+
+Vitess parses queries at both the VTGate and VTTablet layer in order to evaluate the best method to execute a query. This evaluation is known as query planning, and results in a _query execution plan_.
+
+The Execution Plan is dependent on both the query and the associated [VSchema](../vschema). One of the underlying goals of Vitess' planning strategy is to push down as much work as possible to the underlying MySQL instances. When this is not possible, Vitess will use a plan that collects input from multiple sources and merges the results to produce the correct query result.
+
+### Evaluation Model
+
+An execution plan consists of operators, each of which implements a specific piece of work. The operators combine into a tree-like structure, which represents the overall execution plan. The plan represents each operator as a node in the tree. Each operator takes as input zero or more rows, and produces as output zero or more rows. This means that the output from one operator becomes the input for the next operator. Operators that join two branches in the tree combine input from two incoming streams and produce a single output.
+
+Evaluation of the execution plan begins at the leaf nodes of the tree. Leaf nodes pull in data from VTTablet, the Topology Service, and in some cases are also able to evaluate expression values locally. Each leaf node will not have input from other operators, and pipe in any nodes they produce into their parent nodes. The parents nodes will then pipe in nodes to their parent nodes, all the way up to a root node. The root node produces the final results of the query and delivers the results to the user.
+
+### Routing Operators
+
+A routing operator in an execution plan instructs Vitess which destination to send a piece of work to. Typically a routing operator will tell Vitess which keyspace to use when executing the piece of work, whether or not the keyspace is sharded, and, in the case of sharded keyspaces, which vindex to use.
+
+### Scatter Queries
+
+A routing operator which specifies a sharded keyspace, but which does not specify a vindex, will "scatter" to all shards in a sharded keyspace. A "scatter" query contains one or more pieces of work routed to a sharded keyspace, but which cannot be routed using a vindex.
+
+Note that not all queries which are sent to multiple (or all) shards in a sharded keyspace are considered scatter queries.
+
+### Observing Execution Plans
+
+Cached execution plans can be observed at the VTGate level by browsing the `/queryz` end point.
+
+Starting with Vitess 16, individual statement plans can also be observed with [`VExplain`](../../user-guides/sql/explain-format-vtexplain).
+
+**Related Vitess Documentation**
+
+* [VTGate](../vtgate)
diff --git a/content/en/docs/21.0/concepts/img/VStream.svg b/content/en/docs/21.0/concepts/img/VStream.svg
new file mode 100644
index 000000000..47b54d4a1
--- /dev/null
+++ b/content/en/docs/21.0/concepts/img/VStream.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/content/en/docs/21.0/concepts/keyspace-id.md b/content/en/docs/21.0/concepts/keyspace-id.md
new file mode 100644
index 000000000..a4ac032d7
--- /dev/null
+++ b/content/en/docs/21.0/concepts/keyspace-id.md
@@ -0,0 +1,10 @@
+---
+title: Keyspace ID
+---
+
+The *keyspace ID* is the value that is used to decide on which shard a given row lives. [Range-based Sharding](../../reference/features/sharding/#key-ranges-and-partitions) refers to creating shards that each cover a particular range of keyspace IDs.
+
+Using this technique means you can split a given shard by replacing it with two or more new shards that combine to cover the original range of keyspace IDs, without having to move any records in other shards.
+
+The keyspace ID itself is computed using a function of some column in your data, such as the user ID. Vitess allows you to choose from a variety of functions ([vindexes](../../reference/features/vindexes/)) to perform this mapping. This allows you to choose the right one to achieve optimal distribution of the data across shards.
+
diff --git a/content/en/docs/21.0/concepts/keyspace.md b/content/en/docs/21.0/concepts/keyspace.md
new file mode 100644
index 000000000..c22c61fd5
--- /dev/null
+++ b/content/en/docs/21.0/concepts/keyspace.md
@@ -0,0 +1,8 @@
+---
+title: Keyspace
+---
+
+A *keyspace* is a logical database. If you're using [sharding](http://en.wikipedia.org/wiki/Shard_(database_architecture)), a keyspace maps to multiple MySQL databases; if you're not using sharding, a keyspace maps directly to a MySQL database name. In either case, a keyspace appears as a single database from the standpoint of the application.
+
+Reading data from a keyspace is just like reading from a MySQL database. However, depending on the consistency requirements of the read operation, Vitess might fetch the data from a primary database or from a replica. By routing each query to the appropriate database, Vitess allows your code to be structured as if it were reading from a single MySQL database.
+
diff --git a/content/en/docs/21.0/concepts/move-tables.md b/content/en/docs/21.0/concepts/move-tables.md
new file mode 100644
index 000000000..cf72e817d
--- /dev/null
+++ b/content/en/docs/21.0/concepts/move-tables.md
@@ -0,0 +1,26 @@
+---
+title: MoveTables
+---
+
+MoveTables is a workflow based on VReplication. It enables you to relocate tables between keyspaces, and therefore physical MySQL instances, without downtime.
+
+## Identifying Candidate Tables
+
+It is recommended to keep tables that need to join on each other in the same keyspace, so typical candidates for a MoveTables operation are a set of tables which logically group together or are otherwise isolated.
+
+If you have multiple groups of tables as candidates, which makes the most sense to move may depend on the specifics of your environment. For example, a larger table will take more time to move, but in doing so you might be able to utilize additional or newer hardware which has more headroom before you need to perform additional operations such as sharding.
+
+Similarly, tables that are updated at a more frequent rate could increase the move time.
+
+### Impact to Production Traffic
+
+Internally, a MoveTables operation is comprised of both a table copy and a subscription to all changes made to the table. Vitess uses batching to improve the performance of both table copying and applying subscription changes, but you should expect that tables with lighter modification rates to move faster.
+
+During the active move process, data is copied from replicas instead of the primary server. This helps ensure minimal production traffic impact.
+
+During the `SwitchTraffic` phase of the MoveTables operation, for primary tablets, Vitess may be briefly unavailable. This unavailability is usually a few seconds, but will be higher in the event that your system has a high replication delay from primary to replica(s).
+
+
+**Related Vitess Documentation**
+
+* [MoveTables User Guide](../../user-guides/migration/move-tables)
diff --git a/content/en/docs/21.0/concepts/query-rewriting.md b/content/en/docs/21.0/concepts/query-rewriting.md
new file mode 100644
index 000000000..6d8c7c417
--- /dev/null
+++ b/content/en/docs/21.0/concepts/query-rewriting.md
@@ -0,0 +1,248 @@
+---
+title: Query Rewriting
+---
+
+Vitess works hard to create an illusion of the user having a single connection to a single database.
+In reality, a single query might interact with multiple databases and may use multiple connections to the same database.
+Here we'll go over what Vitess does and how it might impact you.
+
+### Query splitting
+
+A complicated query with a cross shard join might need to first fetch information from a tablet keeping vindex lookup tables. Then use this information to query two different shards for more data and subsequently join the incoming results into a single result that the user receives.
+The queries that MySQL gets are often just pieces of the original query, and the final result will get assembled at the vtgate level.
+
+### Connection Pooling
+
+When a tablet talks with a MySQL to execute a query on behalf of a user, it does not use a dedicated connection per user, and instead will share the underlying connection between users.
+This means that it's not safe to store any state in the session as you can't be sure it will continue executing queries on the same connection, and you can't be sure if this connection will be used by other users later on.
+
+### User-Defined Variables
+
+User defined variables are kept in the session state when working with MySQL.
+You can assign values to them using SET:
+
+```sql
+SET @my_user_variable = 'foobar'
+```
+
+And later there can be queries using for example SELECT:
+
+```sql
+> SELECT @my_user_variable;
++-------------------+
+| @my_user_variable |
++-------------------+
+| foobar |
++-------------------+
+```
+
+If you execute these queries against a VTGate, the first `SET` query is not sent to MySQL.
+Instead, it is evaluated in the VTGate, and VTGate will keep this state for you.
+The second query is also not sent down. Trivial queries such as this one are actually fully executed on VTGate.
+
+If we try a more complicated query that requires data from MySQL, VTGate will rewrite the query before sending it down.
+If we were to write something like:
+
+```sql
+WHERE col = @my_user_variable
+```
+
+What MySQL will see is:
+
+```sql
+WHERE col = 'foobar'
+```
+
+This way, no session state is needed to evaluate the query in MySQL.
+
+### Server System Variables
+
+A user might also want to change one of the many different system variables that MySQL exposes.
+Vitess handles system variables in one of five different ways:
+
+ * *No op*. For some settings, Vitess will just silently ignore the setting. This is for system variables that don't make much sense in a sharded setting, and don't change the behaviour of MySQL in an interesting way.
+ * *Check and fail if not already set*. These are settings that should not change, but Vitess will allow SET statements that try to set the variable to whatever it already is.
+ * *Not supported*. For these settings, attempting to change them will always result in an error.
+ * *Vitess aware*. These are settings that change Vitess' behaviour, and are not sent down to MySQL
+ * *Reserved connection*. For some settings, it makes sense to allow them to be set, but it makes using a shared connection for this user much harder. By default, Vitess will first apply these system variables that are set, and then keep the connection dedicated for this user. Connection pooling is important for the performance of Vitess, so this should not be the normal way to run applications on Vitess. Just make sure that the global variable is set to the same value the application will set it to, and Vitess can use connection pooling. Vitess now has support for connection-pooling even for these settings that originally required reserved connections. You can read more about it [here](../../reference/query-serving/reserved-conn/#settings-pool-and-reserved-connections).
+
+In addition to this, Vitess makes sure that @@version includes both the emulated MySQL version and the Vitess version, such as: `5.7.9-vitess-14.0.0`. This value can be changed by using the vtgate flag `--mysql_server_version`.
+
+
+### Special functions
+
+There are a few special functions that Vitess handles without delegating to MySQL.
+
+ * `DATABASE()` - The keyspace name and the underlying database names do not have to be equal. Vitess will rewrite these calls to use the literal string for the keyspace name. (This also applies to the synonym `SCHEMA()`)
+ * `ROW_COUNT()` and `FOUND_ROWS()` - These functions returns how many rows the last query affected/returned. Since this might have been executed on a different connection, these get rewritten to use the literal value of the number of returned rows.
+ * `LAST_INSERT_ID()` - Much like `FOUND_ROWS()`, we can't trust a pooled connection for these function calls, so they get rewritten before hitting MySQL.
+
+### Reference
+
+Here is a list of all the system variables that are handled by Vitess and how they are handled.
+
+| *System variable* | *Handled* |
+|-----------------------------------------|----------------|
+| autocommit | VitessAware |
+| client_found_rows | VitessAware |
+| skip_query_plan_cache | VitessAware |
+| tx_read_only | VitessAware |
+| transaction_read_only | VitessAware |
+| sql_select_limit | VitessAware |
+| transaction_mode | VitessAware |
+| ddl_strategy | VitessAware |
+| foreign_key_checks | VitessAware |
+| workload | VitessAware |
+| charset | VitessAware |
+| names | VitessAware |
+| session_uuid | VitessAware |
+| migration_context | VitessAware |
+| enable_system_settings | VitessAware |
+| read_after_write_gtid | VitessAware |
+| read_after_write_timeout | VitessAware |
+| session_track_gtids | VitessAware |
+| query_timeout | VitessAware |
+| transaction_isolation | VitessAware |
+| tx_isolation | VitessAware |
+| big_tables | NoOp |
+| bulk_insert_buffer_size | NoOp |
+| debug | NoOp |
+| default_storage_engine | NoOp |
+| default_tmp_storage_engine | NoOp |
+| innodb_strict_mode | NoOp |
+| innodb_support_xa | NoOp |
+| innodb_table_locks | NoOp |
+| innodb_tmpdir | NoOp |
+| join_buffer_size | NoOp |
+| keep_files_on_create | NoOp |
+| lc_messages | NoOp |
+| long_query_time | NoOp |
+| low_priority_updates | NoOp |
+| max_delayed_threads | NoOp |
+| max_insert_delayed_threads | NoOp |
+| multi_range_count | NoOp |
+| net_buffer_length | NoOp |
+| new | NoOp |
+| query_cache_type | NoOp |
+| query_cache_wlock_invalidate | NoOp |
+| query_prealloc_size | NoOp |
+| sql_buffer_result | NoOp |
+| transaction_alloc_block_size | NoOp |
+| wait_timeout | NoOp |
+| audit_log_read_buffer_size | NotSupported |
+| auto_increment_increment | NotSupported |
+| auto_increment_offset | NotSupported |
+| binlog_direct_non_transactional_updates | NotSupported |
+| binlog_row_image | NotSupported |
+| binlog_rows_query_log_events | NotSupported |
+| innodb_ft_enable_stopword | NotSupported |
+| innodb_ft_user_stopword_table | NotSupported |
+| max_points_in_geometry | NotSupported |
+| max_sp_recursion_depth | NotSupported |
+| myisam_repair_threads | NotSupported |
+| myisam_sort_buffer_size | NotSupported |
+| myisam_stats_method | NotSupported |
+| ndb_allow_copying_alter_table | NotSupported |
+| ndb_autoincrement_prefetch_sz | NotSupported |
+| ndb_blob_read_batch_bytes | NotSupported |
+| ndb_blob_write_batch_bytes | NotSupported |
+| ndb_deferred_constraints | NotSupported |
+| ndb_force_send | NotSupported |
+| ndb_fully_replicated | NotSupported |
+| ndb_index_stat_enable | NotSupported |
+| ndb_index_stat_option | NotSupported |
+| ndb_join_pushdown | NotSupported |
+| ndb_log_bin | NotSupported |
+| ndb_log_exclusive_reads | NotSupported |
+| ndb_row_checksum | NotSupported |
+| ndb_use_exact_count | NotSupported |
+| ndb_use_transactions | NotSupported |
+| ndbinfo_max_bytes | NotSupported |
+| ndbinfo_max_rows | NotSupported |
+| ndbinfo_show_hidden | NotSupported |
+| ndbinfo_table_prefix | NotSupported |
+| old_alter_table | NotSupported |
+| preload_buffer_size | NotSupported |
+| rbr_exec_mode | NotSupported |
+| sql_log_off | NotSupported |
+| thread_pool_high_priority_connection | NotSupported |
+| thread_pool_prio_kickup_timer | NotSupported |
+| transaction_write_set_extraction | NotSupported |
+| default_week_format | ReservedConn |
+| end_markers_in_json | ReservedConn |
+| eq_range_index_dive_limit | ReservedConn |
+| explicit_defaults_for_timestamp | ReservedConn |
+| group_concat_max_len | ReservedConn |
+| information_schema_stats_expiry | ReservedConn |
+| max_heap_table_size | ReservedConn |
+| max_seeks_for_key | ReservedConn |
+| max_tmp_tables | ReservedConn |
+| min_examined_row_limit | ReservedConn |
+| old_passwords | ReservedConn |
+| optimizer_prune_level | ReservedConn |
+| optimizer_search_depth | ReservedConn |
+| optimizer_switch | ReservedConn |
+| optimizer_trace | ReservedConn |
+| optimizer_trace_features | ReservedConn |
+| optimizer_trace_limit | ReservedConn |
+| optimizer_trace_max_mem_size | ReservedConn |
+| optimizer_trace_offset | ReservedConn |
+| parser_max_mem_size | ReservedConn |
+| profiling | ReservedConn |
+| profiling_history_size | ReservedConn |
+| query_alloc_block_size | ReservedConn |
+| range_alloc_block_size | ReservedConn |
+| range_optimizer_max_mem_size | ReservedConn |
+| read_buffer_size | ReservedConn |
+| read_rnd_buffer_size | ReservedConn |
+| show_create_table_verbosity | ReservedConn |
+| show_old_temporals | ReservedConn |
+| sort_buffer_size | ReservedConn |
+| sql_big_selects | ReservedConn |
+| sql_mode | ReservedConn |
+| sql_notes | ReservedConn |
+| sql_quote_show_create | ReservedConn |
+| sql_safe_updates | ReservedConn |
+| sql_warnings | ReservedConn |
+| time_zone | ReservedConn |
+| tmp_table_size | ReservedConn |
+| transaction_prealloc_size | ReservedConn |
+| unique_checks | ReservedConn |
+| updatable_views_with_limit | ReservedConn |
+| binlog_format | CheckAndIgnore |
+| block_encryption_mode | CheckAndIgnore |
+| character_set_client | CheckAndIgnore |
+| character_set_connection | CheckAndIgnore |
+| character_set_database | CheckAndIgnore |
+| character_set_filesystem | CheckAndIgnore |
+| character_set_results | CheckAndIgnore |
+| character_set_server | CheckAndIgnore |
+| collation_connection | CheckAndIgnore |
+| collation_database | CheckAndIgnore |
+| collation_server | CheckAndIgnore |
+| completion_type | CheckAndIgnore |
+| div_precision_increment | CheckAndIgnore |
+| innodb_lock_wait_timeout | CheckAndIgnore |
+| interactive_timeout | CheckAndIgnore |
+| lc_time_names | CheckAndIgnore |
+| lock_wait_timeout | CheckAndIgnore |
+| max_allowed_packet | CheckAndIgnore |
+| max_error_count | CheckAndIgnore |
+| max_execution_time | CheckAndIgnore |
+| max_join_size | CheckAndIgnore |
+| max_length_for_sort_data | CheckAndIgnore |
+| max_sort_length | CheckAndIgnore |
+| max_user_connections | CheckAndIgnore |
+| net_read_timeout | CheckAndIgnore |
+| net_retry_count | CheckAndIgnore |
+| net_write_timeout | CheckAndIgnore |
+| session_track_schema", boolean: | CheckAndIgnore |
+| session_track_state_change", boolean: | CheckAndIgnore |
+| session_track_system_variables | CheckAndIgnore |
+| session_track_transaction_info | CheckAndIgnore |
+| sql_auto_is_null", boolean: | CheckAndIgnore |
+| version_tokens_session | CheckAndIgnore |
+
+**Related Vitess Documentation**
+
+* [VTGate](../vtgate)
diff --git a/content/en/docs/21.0/concepts/replication-graph.md b/content/en/docs/21.0/concepts/replication-graph.md
new file mode 100644
index 000000000..2a88f88f3
--- /dev/null
+++ b/content/en/docs/21.0/concepts/replication-graph.md
@@ -0,0 +1,6 @@
+---
+title: Replication Graph
+---
+
+The *replication graph* identifies the relationships between primary databases and their respective replicas. During a failover, the replication graph enables Vitess to point all existing replicas to a newly designated primary database so that replication can continue.
+
diff --git a/content/en/docs/21.0/concepts/shard.md b/content/en/docs/21.0/concepts/shard.md
new file mode 100644
index 000000000..375aa9ddf
--- /dev/null
+++ b/content/en/docs/21.0/concepts/shard.md
@@ -0,0 +1,46 @@
+---
+title: Shard
+---
+
+A *shard* is a subset of a keyspace. A keyspace will always contain one or more shards. A shard typically contains one MySQL primary and potentially many MySQL replicas.
+
+Each MySQL instance within a shard has identical data (if we ignore any replication lag). The replicas can serve read-only traffic (with eventual consistency guarantees), execute long-running data analysis queries, or perform administrative tasks (backup, restore, diff, etc.).
+
+An *unsharded* keyspace is a keyspace with only a single shard. Vitess names the shard `0` (or sometimes `-`) by convention. When sharded, a keyspace has `N` shards with non-overlapping data. The number of shards in a keyspace can vary depending on the use-case and load characteristics, some Vitess users have hundreds of shards in some keyspaces.
+
+## Shard Naming
+
+Shard names have the following characteristics:
+
+* They represent a range in unsigned integer space, where the left number is included, but the right is not.
+* Their notation is hexadecimal.
+* They are left justified, and right-padded with zeros.
+* A `-` prefix means: anything less than the right value.
+* A `-` postfix means: anything greater than or equal to the LHS value.
+* A plain `-` denotes the full keyrange.
+
+Thus: `-80` == `00-80` == `0000-8000` == `000000-800000` == `0000000000000000-8000000000000000`
+
+`80-` is not the same as `80-FF`. This is why:
+
+`80-FF` == `8000-FF00`. Therefore `FFFF` will be out of the `80-FF` range.
+
+`80-` means: ‘anything greater than or equal to `0x80`
+
+A `hash` type vindex produces an unsigned 64 bit integer as output. This means that all integers **less** than `0x8000000000000000` will fall in shard `-80`. Any number with the highest bit set will be >= `0x8000000000000000`, and will therefore belong to shard `80-`.
+
+This left-justified approach allows you to have keyspace ids of arbitrary length. However, the most significant bits are the ones on the left.
+
+For example an `md5` hash produces 16 bytes. That can also be used as a keyspace id.
+
+A `varbinary` of arbitrary length can also be mapped as is to a keyspace id. This is what the `binary` vindex does.
+
+## Resharding
+
+Vitess supports [resharding](../../user-guides/configuration-advanced/resharding), in which the number of shards is changed on a live cluster. This can be either splitting one or more shards into smaller pieces, or merging neighboring shards into bigger pieces.
+
+During resharding, the data in the source shards is copied into the destination shards, allowed to catch up on replication, and then compared against the original to ensure data integrity. Then the live serving infrastructure is shifted to the destination shards, and the source shards are deleted.
+
+**Related Vitess Documentation**
+
+* [Resharding User Guide](../../user-guides/configuration-advanced/resharding)
diff --git a/content/en/docs/21.0/concepts/tablet.md b/content/en/docs/21.0/concepts/tablet.md
new file mode 100644
index 000000000..3f4ae798d
--- /dev/null
+++ b/content/en/docs/21.0/concepts/tablet.md
@@ -0,0 +1,20 @@
+---
+title: Tablet
+---
+
+A *tablet* is a combination of a `mysqld` process and a corresponding `vttablet` process, usually running on the same machine. Each tablet is assigned a *tablet type*, which specifies what role it currently performs.
+
+Queries are routed to a tablet via a [VTGate](../vtgate) server.
+
+## Tablet Types
+
+See the user guide [VTTablet Modes](../../user-guides/configuration-basic/vttablet-mysql/) for more information.
+
+* **primary** - A *replica* tablet that happens to currently be the MySQL primary for its shard.
+* **master** - Same as **primary**. Deprecated.
+* **replica** - A MySQL replica that is eligible to be promoted to *primary*. Conventionally, these are reserved for serving live, user-facing requests (like from the website's frontend).
+* **rdonly** - A MySQL replica that cannot be promoted to *primary*. Conventionally, these are used for background processing jobs, such as taking backups, dumping data to other systems, heavy analytical queries and MapReduce.
+* **backup** - A tablet that has stopped replication at a consistent snapshot, so it can upload a new backup for its shard. After it finishes, it will resume replication and return to its previous type.
+* **restore** - A tablet that has started up with no data, and is in the process of restoring itself from the latest backup. After it finishes, it will begin replicating at the GTID position of the backup, and become either *replica* or *rdonly*.
+* **drained** - A tablet that has been reserved by a Vitess background process (such as rdonly tablets for resharding).
+
diff --git a/content/en/docs/21.0/concepts/topology-service.md b/content/en/docs/21.0/concepts/topology-service.md
new file mode 100644
index 000000000..3591bdcdd
--- /dev/null
+++ b/content/en/docs/21.0/concepts/topology-service.md
@@ -0,0 +1,30 @@
+---
+title: Topology Service
+description: Also known as the TOPO or lock service
+---
+
+The [*Topology Service*](../../user-guides/configuration-basic/global-topo/) is a set of backend processes running on different servers. Those servers store topology data and provide a distributed locking service.
+
+Vitess uses a plug-in system to support various backends for storing topology data, which are assumed to provide a distributed, consistent key-value store. The default topology service plugin is `etcd2`.
+
+The topology service exists for several reasons:
+
+* It enables tablets to coordinate among themselves as a cluster.
+* It enables Vitess to discover tablets, so it knows where to route queries.
+* It stores Vitess configuration provided by the database administrator that is needed by many different servers in the cluster, and that must persist between server restarts.
+
+A Vitess cluster has one global topology service, and a local topology service in each cell.
+
+## Global Topology
+
+The global topology service stores Vitess-wide data that does not change frequently. Specifically, it contains data about keyspaces and shards as well as the primary tablet alias for each shard.
+
+The global topology is used for some operations, including reparenting and resharding. By design, the global topology service is not used a lot.
+
+In order to survive any single cell going down, the global topology service should have nodes in multiple cells, with enough to maintain quorum in the event of a cell failure.
+
+## Local Topology
+
+Each local topology contains information related to its own cell. Specifically, it contains data about tablets in the cell, the keyspace graph for that cell, and the replication graph for that cell.
+
+The local topology service must be available for Vitess to discover tablets and adjust routing as tablets come and go. However, no calls to the topology service are made in the critical path of serving a query at steady state. That means queries are still served during temporary unavailability of topology.
diff --git a/content/en/docs/21.0/concepts/vschema.md b/content/en/docs/21.0/concepts/vschema.md
new file mode 100644
index 000000000..5df75980b
--- /dev/null
+++ b/content/en/docs/21.0/concepts/vschema.md
@@ -0,0 +1,9 @@
+---
+title: VSchema
+---
+
+A [VSchema](../../reference/features/vschema) allows you to describe how data is organized within keyspaces and shards. This information is used for routing queries, and also during resharding operations.
+
+For a Keyspace, you can specify if it's sharded or not. For sharded keyspaces, you can specify the list of vindexes for each table.
+
+Vitess also supports [sequence generators](../../reference/features/vitess-sequences/) that can be used to generate new ids that work like MySQL auto increment columns. The VSchema allows you to associate table columns to sequence tables. If no value is specified for such a column, then VTGate will know to use the sequence table to generate a new value for it.
diff --git a/content/en/docs/21.0/concepts/vstream.md b/content/en/docs/21.0/concepts/vstream.md
new file mode 100644
index 000000000..efa0db7aa
--- /dev/null
+++ b/content/en/docs/21.0/concepts/vstream.md
@@ -0,0 +1,26 @@
+---
+title: VStream
+---
+
+
+VStream is a change notification service accessible via VTGate. The purpose of
+VStream is to provide equivalent information to the MySQL binary logs from the
+underlying MySQL shards of the Vitess cluster. gRPC clients, including Vitess
+components like VTTablets, can subscribe to a VStream to receive change events
+from other shards. The VStream pulls events from one or more VStreamer
+instances on VTTablet instances, which in turn pulls events from the binary
+log of the underlying MySQL instance. This allows for efficient execution of
+functions such as VReplication where a subscriber can indirectly receive
+events from the binary logs of one or more MySQL instance shards, and then
+apply it to a target instance. A user can leverage VStream to obtain in-depth
+information about data change events for a given Vitess keyspace, shard, and
+position. A single VStream can also consolidate change events from multiple
+shards in a keyspace, making it a convenient tool to feed a CDC (Change Data
+Capture) process downstream from your Vitess datastore.
+
+
+For reference, please refer to the diagram below:
+
+![VStream diagram](/img/VStream.svg)
+
+Note: A VStream is distinct from a VStreamer. The former is located on the VTGate and the latter is located on the VTTablet.
diff --git a/content/en/docs/21.0/concepts/vtctl.md b/content/en/docs/21.0/concepts/vtctl.md
new file mode 100644
index 000000000..339ac96aa
--- /dev/null
+++ b/content/en/docs/21.0/concepts/vtctl.md
@@ -0,0 +1,9 @@
+---
+title: vtctl
+---
+
+**vtctl** is a command-line tool used to administer a Vitess cluster. It is available as both a standalone tool (`vtctl`) and client-server (`vtctldclient` in combination with `vtctld`). Using client-server is recommended, as it provides an additional layer of security when using the client remotely.
+
+Using vtctl, you can identify primary and replica databases, create tables, initiate failovers, perform resharding operations, and so forth.
+
+As vtctl performs operations, the Topology Service is updated as needed. Other Vitess servers observe those changes and react accordingly. For example, if you use vtctl to fail over to a new primary database, vtgate sees the change and directs future write operations to the new primary.
diff --git a/content/en/docs/21.0/concepts/vtctld.md b/content/en/docs/21.0/concepts/vtctld.md
new file mode 100644
index 000000000..3236a00ec
--- /dev/null
+++ b/content/en/docs/21.0/concepts/vtctld.md
@@ -0,0 +1,7 @@
+---
+title: vtctld
+---
+
+**vtctld** is an HTTP server that lets you browse the information stored in the Topology Service. It is useful for troubleshooting or for getting a high-level overview of the servers and their current states.
+
+`vtctld` also acts as the server for `vtctldclient` connections.
diff --git a/content/en/docs/21.0/concepts/vtgate.md b/content/en/docs/21.0/concepts/vtgate.md
new file mode 100644
index 000000000..3e441bb25
--- /dev/null
+++ b/content/en/docs/21.0/concepts/vtgate.md
@@ -0,0 +1,11 @@
+---
+title: VTGate
+---
+
+VTGate is a lightweight proxy server that routes traffic to the correct [VTTablet](../tablet) servers and returns consolidated results back to the client. It speaks both the MySQL Protocol and the Vitess gRPC protocol. Thus, your applications can connect to VTGate as if it is a MySQL Server.
+
+When routing queries to the appropriate VTTablet servers, VTGate considers the sharding scheme, required latency and the availability of tables and their underlying MySQL instances.
+
+**Related Vitess Documentation**
+
+* [Execution Plans](../execution-plans)
diff --git a/content/en/docs/21.0/get-started/_index.md b/content/en/docs/21.0/get-started/_index.md
new file mode 100644
index 000000000..514be5cc4
--- /dev/null
+++ b/content/en/docs/21.0/get-started/_index.md
@@ -0,0 +1,8 @@
+---
+title: Get Started
+description: Deploy Vitess on your favorite platform
+weight: 2
+aliases: ['/docs/tutorials/']
+---
+
+Vitess supports binary deployment on the following platforms. See also [Build On CentOS](../../contributing/build-on-centos), [Build on MacOS](../../contributing/build-on-macos), or [Build on Ubuntu](../../contributing/build-on-ubuntu) if you are interesting in building your own binary, or contributing to Vitess.
diff --git a/content/en/docs/21.0/get-started/local-docker.md b/content/en/docs/21.0/get-started/local-docker.md
new file mode 100644
index 000000000..b1db9cc46
--- /dev/null
+++ b/content/en/docs/21.0/get-started/local-docker.md
@@ -0,0 +1,98 @@
+---
+title: Local Install via Docker
+description: Instructions for using Vitess on your machine for testing purposes
+weight: 5
+featured: false
+aliases: ['/docs/tutorials/local-docker/']
+---
+
+{{< warning >}}
+This guide will only work on x86_64/amd64 based machines.
+{{ warning >}}
+
+This guide illustrates how to run a local testing Vitess setup via Docker. The Vitess environment is identical to the [local setup](../local/), but without having to install software on one's host other than Docker.
+
+## Check out the vitessio/vitess repository
+
+Clone the GitHub repository via:
+
+- SSH: `git clone git@github.com:vitessio/vitess.git`, or:
+- HTTP: `git clone https://github.com/vitessio/vitess.git`
+
+```shell
+cd vitess
+git checkout release-20.0
+```
+
+## Build the docker image
+
+In your shell, execute:
+
+```shell
+make docker_local
+```
+
+This creates a docker image named `vitess/local` (aka `vitess/local:latest`)
+
+## Run the docker image
+
+In your shell, execute:
+
+```shell
+make docker_run_local
+```
+
+This will set up a MySQL replication topology, as well as `etcd`, `vtctld`, `vtgate`,
+`vtorc`, and `vtadmin` services.
+
+- `vtgate` listens on [http://127.0.0.1:15001/debug/status](http://127.0.0.1:15001/debug/status)
+- `vtctld` listens on [http://127.0.0.1:15000/debug/status](http://127.0.0.1:15000/debug/status)
+- `VTOrc` page is available at [http://localhost:16000](http://localhost:16000)
+- `VTadmin` web application is available [http://localhost:14201](http://localhost:14201)
+
+From within the docker shell, aliases are set up for your convenience. Try the following `mysql` commands to connect to various tablets:
+
+- `mysql commerce`
+- `mysql commerce@primary`
+- `mysql commerce@replica`
+- `mysql commerce@rdonly`
+
+You will find that Vitess runs a single keyspace, single shard cluster.
+
+## Summary
+
+In this example, we deployed a single unsharded keyspace named `commerce`. Unsharded keyspaces have a single shard named `0`. The following schema reflects a common ecommerce scenario that was created by the script:
+
+```sql
+create table product (
+ sku varbinary(128),
+ description varbinary(128),
+ price bigint,
+ primary key(sku)
+);
+create table customer (
+ customer_id bigint not null auto_increment,
+ email varbinary(128),
+ primary key(customer_id)
+);
+create table corder (
+ order_id bigint not null auto_increment,
+ customer_id bigint,
+ sku varbinary(128),
+ price bigint,
+ primary key(order_id)
+);
+```
+
+The schema has been simplified to include only those fields that are significant to the example:
+
+* The `product` table contains the product information for all of the products.
+* The `customer` table has a `customer_id` that has an `auto_increment`. A typical customer table would have a lot more columns, and sometimes additional detail tables.
+* The `corder` table (named so because `order` is an SQL reserved word) has an `order_id` auto-increment column. It also has foreign keys into `customer(customer_id)` and `product(sku)`.
+
+## Next Steps
+
+You can now proceed with [MoveTables](../../user-guides/migration/move-tables).
+
+Exiting the docker shell terminates and destroys the vitess cluster.
+
diff --git a/content/en/docs/21.0/get-started/local-mac.md b/content/en/docs/21.0/get-started/local-mac.md
new file mode 100644
index 000000000..f249e729c
--- /dev/null
+++ b/content/en/docs/21.0/get-started/local-mac.md
@@ -0,0 +1,311 @@
+---
+title: Local Install via source for Mac
+description: Instructions for using Vitess on your macOS machine for testing purposes
+weight: 4
+---
+
+This guide covers installing Vitess locally for testing purposes, from pre-compiled binaries. We will launch multiple copies of `mysqld`, so it is recommended to have greater than 4GB RAM, as well as 20GB of available disk space.
+
+## Install Brew
+
+For the purposes of installing software you will need to have brew installed. This will also install curl and git which will also be needed:
+
+```sh
+curl https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh > brew-install.sh
+
+bash brew-install.sh
+```
+
+## Install MySQL and etcd
+
+Once brew is installed you will need to install some dependencies for Vitess. Vitess supports the databases listed [here](../../overview/supported-databases/):
+
+```sh
+brew install automake go mysql mysql-client etcd
+```
+
+When MySQL installs with brew it will startup, you will want to shut this process down, as Vitess will be managing the startup and shutdown of MySQL:
+
+```sh
+$ brew services stop mysql
+```
+
+### Install Node 18.16.0+ (required to run VTAdmin)
+
+```bash
+brew install nvm
+nvm install --lts 18.16.0
+nvm use 18.16.0
+```
+
+See the [vtadmin README](https://github.com/vitessio/vitess/blob/main/web/vtadmin/README.md) for more details.
+
+## PATH Settings
+
+With the tools you’ve just installed via brew, you will next update your PATH variable so your shell knows where to find the binaries:
+
+```sh
+echo "export PATH=${PATH}:/opt/homebrew/opt/mysql-client/bin:/opt/homebrew/opt/mysql/bin:${HOME}/go/bin:/opt/homebrew/bin" >> ~/.zshrc
+source ~/.zshrc
+```
+
+If you’re using bash for your shell you’ll have to update the paths in `.bash_profile` or `.bashrc` instead. Mac does not read `.bashrc` by default:
+
+```sh
+echo "export PATH=${PATH}:/opt/homebrew/opt/mysql-client/bin:/opt/homebrew/opt/mysql/bin:${HOME}/go/bin:/opt/homebrew/bin" >> ~/.bash_profile
+source ~/.bash_profile
+```
+
+## System Check
+
+Before going further, you should check to confirm your shell has access to `go`, `mysql`, and `mysqld`. If versions are not returned when you run the following commands you should check that the programs are installed and the path is correct for your shell:
+
+```sh
+$ mysqld --version
+$ mysql --version
+$ go version
+$ etcd --version
+$ node --version
+$ npm --version
+```
+
+## Install Vitess
+
+With everything now in place you can clone and build Vitess.
+
+```sh
+$ git clone https://github.com/vitessio/vitess.git
+$ cd vitess
+$ git checkout release-20.0
+$ make build
+```
+
+It will take some time for Vitess to build. Once it completes you should see a bin folder which will hold the Vitess binaries. You will need to add this folder to your `PATH` variable as well:
+
+```sh
+$ cd bin
+$ echo "$(printf 'export PATH="${PATH}:'; echo "$(pwd)\"")" >> ~/.zshrc
+$ source ~/.zshrc
+```
+
+If you are using bash this will need to be your `.bash_profile` or `.bashrc` file instead:
+
+```sh
+$ cd bin
+$ echo "$(printf 'export PATH="${PATH}:'; echo "$(pwd)\"")" >> ~/.bash_profile
+$ source ~/.bash_profile
+```
+
+You are now ready to start your first cluster! Open a new terminal window to ensure your `.bashrc` file changes take effect.
+
+## Start a Single Keyspace Cluster
+
+You are now ready to stand up your first Vitess cluster, using the example scripts provided in the source code. Assuming you are still in the bin directory you will need to navigate to the sample files:
+
+```sh
+$ cd ../examples/local/
+```
+
+From here you can startup the cluster and source the env file which will help set environment variables used when working with this local cluster:
+
+```sh
+$ ./101_initial_cluster.sh
+$ source ../common/env.sh
+```
+
+You should see an output similar to the following:
+
+```bash
+$ ./101_initial_cluster.sh
+add /vitess/global
+add /vitess/zone1
+add zone1 CellInfo
+Created cell: zone1
+etcd start done...
+Starting vtctld...
+vtctld is running!
+Successfully created keyspace commerce. Result:
+{
+ "name": "commerce",
+ "keyspace": {
+ "served_froms": [],
+ "keyspace_type": 0,
+ "base_keyspace": "",
+ "snapshot_time": null,
+ "durability_policy": "semi_sync",
+ "throttler_config": null,
+ "sidecar_db_name": "_vt"
+ }
+}
+Starting MySQL for tablet zone1-0000000100...
+Starting vttablet for zone1-0000000100...
+HTTP/1.1 200 OK
+Date: Mon, 26 Jun 2023 19:21:51 GMT
+Content-Type: text/html; charset=utf-8
+
+Starting MySQL for tablet zone1-0000000101...
+Starting vttablet for zone1-0000000101...
+HTTP/1.1 200 OK
+Date: Mon, 26 Jun 2023 19:21:54 GMT
+Content-Type: text/html; charset=utf-8
+
+Starting MySQL for tablet zone1-0000000102...
+Starting vttablet for zone1-0000000102...
+HTTP/1.1 200 OK
+Date: Mon, 26 Jun 2023 19:21:56 GMT
+Content-Type: text/html; charset=utf-8
+
+vtorc is running!
+ - UI: http://localhost:16000
+ - Logs: /Users/florentpoinsard/Code/vitess/vtdataroot/tmp/vtorc.out
+ - PID: 49556
+
+
+New VSchema object:
+{
+ "sharded": false,
+ "vindexes": {},
+ "tables": {
+ "corder": {
+ "type": "",
+ "column_vindexes": [],
+ "auto_increment": null,
+ "columns": [],
+ "pinned": "",
+ "column_list_authoritative": false,
+ "source": ""
+ },
+ "customer": {
+ "type": "",
+ "column_vindexes": [],
+ "auto_increment": null,
+ "columns": [],
+ "pinned": "",
+ "column_list_authoritative": false,
+ "source": ""
+ },
+ "product": {
+ "type": "",
+ "column_vindexes": [],
+ "auto_increment": null,
+ "columns": [],
+ "pinned": "",
+ "column_list_authoritative": false,
+ "source": ""
+ }
+ },
+ "require_explicit_routing": false
+}
+If this is not what you expected, check the input data (as JSON parsing will skip unexpected fields).
+Waiting for vtgate to be up...
+vtgate is up!
+Access vtgate at http://Florents-MacBook-Pro-2.local:15001/debug/status
+vtadmin-api is running!
+ - API: http://Florents-MacBook-Pro-2.local:14200
+ - Logs: /Users/florentpoinsard/Code/vitess/vtdataroot/tmp/vtadmin-api.out
+ - PID: 49695
+
+vtadmin-web is running!
+ - Browser: http://Florents-MacBook-Pro-2.local:14201
+ - Logs: /Users/florentpoinsard/Code/vitess/vtdataroot/tmp/vtadmin-web.out
+ - PID: 49698
+```
+
+If you encounter any errors, such as ports already in use, you can kill the processes and start over. Ensure you're in the vitess/examples/local directory, then issue the statement to kill the processes and remove the data directory.
+This data directory `vtdataroot` will get recreated when you run the 101_initial_cluster.sh startup script again.
+
+```sh
+user@computer:~/Github/vitess/examples/local$ pwd
+/home/user/Github/vitess/examples/local
+
+user@computer:~/Github/vitess/examples/local$ pkill -9 -f '(vtdataroot|VTDATAROOT|vitess|vtadmin)'
+etcd killed (pid 224091)
+vtctld killed (pid 224154)
+mysqld_safe killed (pid 224247)
+mysqld killed (pid 224716)
+vttablet killed (pid 224764)
+mysqld_safe killed (pid 224897)
+mysqld killed (pid 225364)
+vttablet killed (pid 225413)
+mysqld_safe killed (pid 225529)
+mysqld killed (pid 225995)
+vttablet killed (pid 226045)
+vtgate killed (pid 226204)
+vtadmin killed (pid 226391)
+vtorc killed (pid 226397)
+
+user@computer:~/Github/vitess/examples/local$ rm -rf ./vtdataroot
+```
+
+## Connect to your cluster
+
+You should now be able to connect to the VTGate server that was started in `101_initial_cluster.sh`:
+
+```sh
+$ mysql -P 15306 -u root --protocol tcp
+```
+
+
+
+You can also now browse and administer your new Vitess cluster using the [VTAdmin](../../reference/vtadmin/) UI at the following URL:
+
+```text
+http://localhost:14201
+```
+
+
+
+VTOrc is also setup as part of the initialization. You can look at its user-interface at:
+
+```text
+http://localhost:16000
+```
+
+## Summary
+
+In this example, we deployed a single unsharded keyspace named `commerce`. Unsharded keyspaces have a single shard named `0`. The following schema reflects a common ecommerce scenario that was created by the script:
+
+```sql
+create table product (
+ sku varbinary(128),
+ description varbinary(128),
+ price bigint,
+ primary key(sku)
+);
+create table customer (
+ customer_id bigint not null auto_increment,
+ email varbinary(128),
+ primary key(customer_id)
+);
+create table corder (
+ order_id bigint not null auto_increment,
+ customer_id bigint,
+ sku varbinary(128),
+ price bigint,
+ primary key(order_id)
+);
+```
+
+The schema has been simplified to include only those fields that are significant to the example:
+
+* The `product` table contains the product information for all of the products.
+* The `customer` table has a `customer_id` that has an `auto_increment`. A typical customer table would have a lot more columns, and sometimes additional detail tables.
+* The `corder` table (named so because `order` is an SQL reserved word) has an `order_id` auto-increment column. It also has foreign keys into `customer(customer_id)` and `product(sku)`.
+
+## Next Steps
+
+You can now proceed with [MoveTables](../../user-guides/migration/move-tables).
+
+Or alternatively, once you are finished with the local examples or if you would like to start over, you can clean up by running the 401_teardown script:
+
+```sh
+$ ./401_teardown.sh
+$ rm -rf ./vtdataroot
+```
+
+Sometimes you will still need to manually kill processes if there are errors in the environment:
+
+```sh
+$ pkill -9 -f ./vtdataroot
+$ rm -rf ./vtdataroot
+```
diff --git a/content/en/docs/21.0/get-started/local.md b/content/en/docs/21.0/get-started/local.md
new file mode 100644
index 000000000..46bff90f6
--- /dev/null
+++ b/content/en/docs/21.0/get-started/local.md
@@ -0,0 +1,341 @@
+---
+title: Local Install
+description: Instructions for using Vitess on your machine for testing purposes
+weight: 2
+featured: true
+aliases: ['/docs/tutorials/local/']
+---
+
+This guide covers installing Vitess locally for testing purposes, from pre-compiled binaries. We will launch multiple copies of `mysqld`, so it is recommended to have greater than 4GB RAM, as well as 20GB of available disk space.
+
+A [docker setup](../local-docker/) is also available, which requires no dependencies on your local host.
+
+## Install MySQL and etcd
+
+Vitess supports the databases listed [here](../../overview/supported-databases/). We recommend MySQL 8.0 if your installation method provides that option:
+
+```sh
+# Ubuntu based
+sudo apt install -y mysql-server etcd-server etcd-client curl
+
+# Debian
+sudo apt install -y default-mysql-server default-mysql-client etcd curl
+
+# Yum based
+sudo yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm
+sudo yum -y install mysql-community-server etcd curl
+```
+
+On apt-based distributions the services `mysqld` and `etcd` will need to be shutdown, since `etcd` will conflict with the `etcd` started in the examples, and `mysqlctl` will start its own copies of `mysqld`:
+
+```sh
+# Debian and Ubuntu
+sudo service mysql stop
+sudo service etcd stop
+sudo systemctl disable mysql
+sudo systemctl disable etcd
+```
+
+
+## Install Node
+
+```
+curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
+```
+
+Ensure the following is in your bashrc/zshrc or similar. `nvm` automatically attempts to add them:
+```
+export NVM_DIR="$HOME/.nvm"
+[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
+[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
+```
+
+Finally, install [node](https://nodejs.org/):
+
+```
+nvm install 18
+nvm use 18
+```
+
+See the [vtadmin README](https://github.com/vitessio/vitess/blob/main/web/vtadmin/README.md) for more details.
+
+## Disable AppArmor or SELinux
+
+AppArmor/SELinux will not allow Vitess to launch MySQL in any data directory by default. You will need to disable it:
+
+__AppArmor__:
+```sh
+# Debian and Ubuntu
+sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
+sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
+
+# The following command should return an empty result:
+sudo aa-status | grep mysqld
+```
+
+__SELinux__:
+```sh
+# CentOS
+sudo setenforce 0
+```
+
+## Install Vitess
+
+Download the [latest binary release](https://github.com/vitessio/vitess/releases) for Vitess on Linux. For example with Vitess 19:
+
+**Notes:**
+
+* Ubuntu is the only fully supported OS, for another OS please [build Vitess by yourself](/docs/contributing) or use the Docker images.
+
+```sh
+version=20.0.0-rc1
+file=vitess-${version}-fe01c8d.tar.gz
+wget https://github.com/vitessio/vitess/releases/download/v${version}/${file}
+tar -xzf ${file}
+cd ${file/.tar.gz/}
+sudo mkdir -p /usr/local/vitess
+sudo cp -r * /usr/local/vitess/
+```
+
+Make sure to add `/usr/local/vitess/bin` to the `PATH` environment variable. You can do this by adding the following to your `$HOME/.bashrc` file:
+
+```sh
+export PATH=/usr/local/vitess/bin:${PATH}
+```
+
+You are now ready to start your first cluster! Open a new terminal window to ensure your `.bashrc` file changes take effect.
+
+## Start a Single Keyspace Cluster
+
+Start by copying the local examples included with Vitess to your preferred location. For our first example we will deploy a [single unsharded keyspace](../../concepts/keyspace). The file `101_initial_cluster.sh` is for example `1` phase `01`. Lets execute it now:
+
+```sh
+vitess_path=/usr/local/vitess
+mkdir ~/my-vitess-example
+cp -r ${vitess_path}/{examples,web} ~/my-vitess-example
+cd ~/my-vitess-example/examples/local
+./101_initial_cluster.sh
+```
+
+You should see an output similar to the following:
+
+```bash
+$ ./101_initial_cluster.sh
+add /vitess/global
+add /vitess/zone1
+add zone1 CellInfo
+Created cell: zone1
+etcd start done...
+Starting vtctld...
+vtctld is running!
+Successfully created keyspace commerce. Result:
+{
+ "name": "commerce",
+ "keyspace": {
+ "served_froms": [],
+ "keyspace_type": 0,
+ "base_keyspace": "",
+ "snapshot_time": null,
+ "durability_policy": "semi_sync",
+ "throttler_config": null,
+ "sidecar_db_name": "_vt"
+ }
+}
+Starting MySQL for tablet zone1-0000000100...
+Starting vttablet for zone1-0000000100...
+HTTP/1.1 200 OK
+Date: Mon, 26 Jun 2023 19:21:51 GMT
+Content-Type: text/html; charset=utf-8
+
+Starting MySQL for tablet zone1-0000000101...
+Starting vttablet for zone1-0000000101...
+HTTP/1.1 200 OK
+Date: Mon, 26 Jun 2023 19:21:54 GMT
+Content-Type: text/html; charset=utf-8
+
+Starting MySQL for tablet zone1-0000000102...
+Starting vttablet for zone1-0000000102...
+HTTP/1.1 200 OK
+Date: Mon, 26 Jun 2023 19:21:56 GMT
+Content-Type: text/html; charset=utf-8
+
+vtorc is running!
+ - UI: http://localhost:16000
+ - Logs: /Users/florentpoinsard/Code/vitess/vtdataroot/tmp/vtorc.out
+ - PID: 49556
+
+
+New VSchema object:
+{
+ "sharded": false,
+ "vindexes": {},
+ "tables": {
+ "corder": {
+ "type": "",
+ "column_vindexes": [],
+ "auto_increment": null,
+ "columns": [],
+ "pinned": "",
+ "column_list_authoritative": false,
+ "source": ""
+ },
+ "customer": {
+ "type": "",
+ "column_vindexes": [],
+ "auto_increment": null,
+ "columns": [],
+ "pinned": "",
+ "column_list_authoritative": false,
+ "source": ""
+ },
+ "product": {
+ "type": "",
+ "column_vindexes": [],
+ "auto_increment": null,
+ "columns": [],
+ "pinned": "",
+ "column_list_authoritative": false,
+ "source": ""
+ }
+ },
+ "require_explicit_routing": false
+}
+If this is not what you expected, check the input data (as JSON parsing will skip unexpected fields).
+Waiting for vtgate to be up...
+vtgate is up!
+Access vtgate at http://Florents-MacBook-Pro-2.local:15001/debug/status
+vtadmin-api is running!
+ - API: http://Florents-MacBook-Pro-2.local:14200
+ - Logs: /Users/florentpoinsard/Code/vitess/vtdataroot/tmp/vtadmin-api.out
+ - PID: 49695
+
+vtadmin-web is running!
+ - Browser: http://Florents-MacBook-Pro-2.local:14201
+ - Logs: /Users/florentpoinsard/Code/vitess/vtdataroot/tmp/vtadmin-web.out
+ - PID: 49698
+```
+
+You can also verify that the processes have started with `pgrep`:
+
+```bash
+$ pgrep -fl vitess
+14119 etcd
+14176 vtctld
+14251 mysqld_safe
+14720 mysqld
+14787 vttablet
+14885 mysqld_safe
+15352 mysqld
+15396 vttablet
+15492 mysqld_safe
+15959 mysqld
+16006 vttablet
+16112 vtgate
+16788 vtorc
+```
+
+_The exact list of processes will vary. For example, you may not see `mysqld_safe` listed._
+
+If you encounter any errors, such as ports already in use, you can kill the processes and start over:
+
+```sh
+pkill -9 -f '(vtdataroot|VTDATAROOT|vitess|vtadmin)' # kill Vitess processes
+rm -rf vtdataroot
+```
+
+## Setup Aliases
+
+For ease-of-use, Vitess provides aliases for `mysql` and `vtcltdclient`:
+
+```bash
+source ../common/env.sh
+```
+
+Setting up aliases changes `mysql` to always connect to Vitess for your current session. To revert this, type `unalias mysql && unalias vtctldclient` or close your session.
+
+## Connect to your cluster
+
+You should now be able to connect to the VTGate server that was started in `101_initial_cluster.sh`:
+
+```bash
+$ mysql
+Welcome to the MySQL monitor. Commands end with ; or \g.
+Your MySQL connection id is 2
+Server version: 8.0.31-Vitess (Ubuntu)
+
+Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+
+Oracle is a registered trademark of Oracle Corporation and/or its
+affiliates. Other names may be trademarks of their respective
+owners.
+
+Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
+
+mysql> show tables;
++-----------------------+
+| Tables_in_vt_commerce |
++-----------------------+
+| corder |
+| customer |
+| product |
++-----------------------+
+3 rows in set (0.00 sec)
+```
+
+
+
+You can also now browse and administer your new Vitess cluster using the [VTAdmin](../../reference/vtadmin/) UI at the following URL:
+
+```text
+http://localhost:14201
+```
+
+
+
+VTOrc is also setup as part of the initialization. You can look at its user-interface at:
+
+```text
+http://localhost:16000
+```
+
+## Summary
+
+In this example, we deployed a single unsharded keyspace named `commerce`. Unsharded keyspaces have a single shard named `0`. The following schema reflects a common ecommerce scenario that was created by the script:
+
+```sql
+create table product (
+ sku varbinary(128),
+ description varbinary(128),
+ price bigint,
+ primary key(sku)
+);
+create table customer (
+ customer_id bigint not null auto_increment,
+ email varbinary(128),
+ primary key(customer_id)
+);
+create table corder (
+ order_id bigint not null auto_increment,
+ customer_id bigint,
+ sku varbinary(128),
+ price bigint,
+ primary key(order_id)
+);
+```
+
+The schema has been simplified to include only those fields that are significant to the example:
+
+* The `product` table contains the product information for all of the products.
+* The `customer` table has a `customer_id` that has an `auto_increment`. A typical customer table would have a lot more columns, and sometimes additional detail tables.
+* The `corder` table (named so because `order` is an SQL reserved word) has an `order_id` auto-increment column. It also has foreign keys into `customer(customer_id)` and `product(sku)`.
+
+## Next Steps
+
+You can now proceed with [MoveTables](../../user-guides/migration/move-tables).
+
+Or alternatively, if you would like to teardown your example:
+
+```bash
+./401_teardown.sh
+rm -rf vtdataroot
+```
diff --git a/content/en/docs/21.0/get-started/operator.md b/content/en/docs/21.0/get-started/operator.md
new file mode 100644
index 000000000..5720f49b8
--- /dev/null
+++ b/content/en/docs/21.0/get-started/operator.md
@@ -0,0 +1,172 @@
+---
+title: Vitess Operator for Kubernetes
+weight: 1
+featured: true
+aliases: ['/docs/tutorials/kubernetes/','/user-guide/sharding-kubernetes.html', '/docs/get-started/scaleway/','/docs/get-started/kubernetes/']
+---
+
+PlanetScale provides a [Vitess Operator for Kubernetes](https://github.com/planetscale/vitess-operator), released under the Apache 2.0 license. The following steps show how to get started using Minikube:
+
+## Prerequisites
+
+{{
y9fb%N%DWBfX{}Q)wCAkkmZXy#m3OfgazsOEZI{1^<%_ewozDcIyP?1 zH~qdWa(N-Yx^$B^q;=<+A^V=g>*t4Z9PHlZI`*tcoss<;5*%bSK5lixvs0T;ao^nf zi(irUQZ)!!X?ZQWCbf}*_m);cK4gJ(+>i)!G(q*J3SlK8MB6nK8(Y16hkk<8UaGKU z;^XQ~$;jsES3@CdHZ4Iu+2L4r-~O!RK9^__4d&))=peL0RVe;}Qze|75e;|Icq@4# zuRN;Q#TftgJEt@Ij)}0_$LY@Ld-k)Aks_%N?IrFGw+Hbo^R0a5n9;@Qa%%<+NXTPU zi~P}e3E6za$53a>i?UH~2Q>HmqI()G%DDE`p=PLt?-G7%DCY>#Q<^l@RJiB6!qkJh zp_q@g9YIKYcX7(u8yyPc?VL$`Vcmn!O-*~M|H#~+Nl;@nM$qY`o4Y<} 4`h_ErU4bKHp4`On;3z$4o@5& z%zf&WOVZG{mMI5BtHm^#Njx4^*5&s=>dVxosms)@*brA-|ODjT(8>sqv=qS^M0N zS1ac1n$NTZxIs|%8@bQwhDXZZMK=9-WS^JTJTiRM&XBAL7#Vhf*Ze%D!)IbqwZc(- z)V#QKqO*P83k0$VUF_CjuOO #x5}=SAO(?T$ RB&yF-#dk5;4yHv6#U0@tz<91Tjcf(}$8cEun*20N*O$f5m zgH1)mN976W*bF}IbU8rAcT?=k$P{lT{qQ2oVK8@vC%-3#WIXudg+~Vr4@;SPFx2 >c{JzhKw??oZV1A3s`^lK I@pUIvH{`Rgi$~0 z@#T+88@jw%fdCt73Q50}wWk0V?rr$Ra%Dlq?Fl=zV}% |t37&|lj%dM@fGzN>$lb>u-umW?y*y6PjO6UvRe7wgr>Z=7cQ}LH9WFk{5=aB zt-E|m jb!+u*M9pvd2e+mNi}Im+ zHBCp31wru_pP%GgIh&r+K$#DCOx$W43(#gMCz_+ZeeWNt+8A$3l>_ydgHwBsbB=%6 zR5{kbkmRqf0w`6#KfC6;y1LfRUdq^bQnPp9`svTD81=)!y1kSj^h`Csq3}QT!8gh` zW^X;JR`8~44qTQEwUrW;C%LpbP_Y3T^dU{ZRNlu; Ot*$D=YexKedU`> 9m zSGIqQ8jHb56+EKDwBM&gAU dL^ly{|y%-6X*eC^e7P zPA6uMNL!1#0OHeil1yBB5*r_~%gJ_pR5xv9nDdS{UHYI(r@Lu&VBwLjk(21<4OJ`m zzn(pUQ5KuiRTjo j`cg;okaLVm7XQ4@| zy>^=Z_i*8Um;}+@to6aZ^2~RGk+ww_PV6>l#TxlJo*YSzt(z8ebkUT&h1-Qg8u0-k zAJZO`nBv0 R{ z;~6wEUcuj`pMhDipVafm6{r7cjsJJ2QsoXuC#v1{$&G=QRbTftc1xsCMw?^Co+9MP zQ=0wH$705hitPOUiG)?^;+WY(quErRj|2OPL(3NU_G1&A7vnXJC$(k#gS|)*F1 Qo3^8+q#dQcwKABn6pd_Q=z^Iu{G`iGQFW{ zhyh5GXr6`%PbaGR`j00{GIRiju})RrOpCEpnUeP*Eri@dIF_(FUPCG}AQ`&?7ptI} zaPbUwUymS7lvBrFDv`Ctceu oe~?qB;&boYj%eAt{65xETfJp@ zucPd>JAX9fei-si$m=DDiC3{38dK>(5ke@9!2M0CR-P#{WV5x56 7NskiT@KEd9d ;VsC8QYSuly1T;=>uoP>di@`9$+WM9<*NAtrs%| z&z3KYL&w;7dOOung $%5U^2&}--O{rNXtx(>uO9cw!5yb0;gYn7IzspH7= zL4cj!h3IxuEUW-4y^UULGpAs*HXE~rM!BkX@Ad!IskVviwHB|K%6fPa2xU=i2Ol{F zf9!QHMda2-+_>XBw!g7lk 76 nRnkjQBs4D!Y92TXaYTxOrt1Onz^yQi5KMg*sf9?@ne$MbWfc;s^QOPg}d z^eo-H4@^}N3eMV>*vx3P5|vVX_=xH6!HYJ-;mJ4U^uP~zQ!!*9beEtVb35e9LS})9 zjf`eum!l(Co@}i5l{%;)_jvS^`=8N0eTp=+mT4tRg2&h3)WB>JP$Gj&vJ>e e)r6Gqr40 ztEU4DUS~gQPACcbP*MmxRT^l^y$~XBCmbuM^m0Z?$;_GmLq_IdT*m0t(lT*D^Qsxe zvHZs)zVFglI|4e7y_cqI{!Bi|t{*K*s3!)t@%$8d>7_F@VJdujH4GJ#>$cNG^4{0- zuJ%ub4d%-(K-YPi^SD|U0+QI7J__i%Ko9Z?9rQjLTM4uW>dBU9+Ubv#RD-7EF(G8~ zh;dC^Bhy52W1j&!Q6cBp7m*qrc0dL; (9YV4N#yZ=Q Slp(H}mw$bA)DLm}`%|N_z5us>F=Mqk6tC)3xd7U9)8)HE{~6 zzrKvA11Zp2&U}801L^iDRbbUIZ;gZH)c~-*c@ubZ|L30=V9eI6iKBJFcMW!orGFU8 z!oT&Lg1dytPNuDT@pP>~&*v6PRTj&W?l>_CeOb^u0Y?wMQ@z=~@ui*HMiuz>-Ig9u zMyZZS`x$;Y>_@!{^OYF7-#sjHS$9`Ex77AEu~rim<8)y8I7Y-CV3yczN`NdntbMwA ztE?C#QR|ZD;tX^xWdFTqDJ~A9gAF3}p-9k>Nia)KaYqk{cDsEm!MDXbs 11X5~KMqR~xEEl?=N_|aSY^E=$-QWCah3j}W$fuXeR{B-^b z-xp${7urqIYR(VSpi(Vu#l)V8c8etU$dUvtg=`H#>2&fm(~W4b*XRPib@(;dQ2&}! zDLTk0wr04dfRe2oG;ro 9D~O%^WO9Ip-A1-H+DB~>oAUf@G>w&} zWtkS;67RFl`7|(|2QDg>1G;?7kP+06qer4~WM_+d%Nv9p+Jpt8^sC!+Z5}xIQgIt) zs?8-dg7wR%@wcvHfW~#Z%tud#?`Yfnm9kl#?X>@%<)UEgeP~!Vr4DDfH=Os8${o}M zWH NRCKN^3xs2|{$Cm0Nl2H^71N z7i_7|QntH){7g_`rPmI~sn4z39sH3V`_1GY+?EH@R$qpqU?q4XqE+2-ZjEpi*kngt zRQv(t`^7T;EB)2&jV`&U7gcgK4NC;-F0MvB)k}7*!WMpHcGZU(@$u{7=S=&Za7^^- zk1GQH6PtfO%uvgr>nk%p_=jAq@O?eWjy6BbG`we;6*Wrpg9j0hpqcWBY-zLkr|0a5 z&1e#>Rq-JaaxFVe&Fn<9 My6nc#~9ZNC?< z+ -nNKdqOQEc_Mi^@_mSA1`A|PdgXd@|M zmqa)wUfuK%sejhT=rc-o;*N=M;aMw>63_sZ !*&}3=YYn>CUcI)KurMusCL !q??AU zY_D@zExv`ZybD+Aw1gMB+s4F_p3&Hfdl&FTNBt}FiBPjo3~z JiWPP>_$7j|>hwg^Sgqsgb5>s6iKq*0BHVKIxLw!6h+gtK>#@kT zR%iCz6!jXIQ)yvM8mapN)y$(_y?=iP7 BZDvRoSCh?c+5{Hzm1&Iu zdf&PZT^U%5 bE^ui3|Kz8b^7kj9Qz>s>D9r-@(V)MqbH-(e*i>*N$NWG{?W)O^<@3j_FPIKGb7Q?QRLH+qUGqb{{1;VoQV99=um{x$ z*;7@hYeRH_G~P!Asj?M@d;HIvvU`ouK#Cc3E|1{+R={4@UfYr6d*^C+NZFvN>7@Ps za1pOC9Zpuhby&JAIt15v3ZGNbGKOUUlklKg`+j|)o2P!s6Au^H(Ptj_Oe~5+DG3$V zM=ZE9=ZCbZg({gfi}*#&gkG>%+C=vJ;b|ActzhBk;Sl8E?5*kBedXWn1u}CspkCR} zx5KibYihO~SphHj70Ms*y`@=Z5faS=`@^}xQ_J3IItrbCNR$y2x8Z 5EK*A>_$s4STOVd*K4oi>5YDyS`@O(f0sv9Bi7uVc_0u9O=T>PC~ zCBpsPDwWdO`$Mg?W7fgP`=&Zn@j5ayO7Q{R-O|L8A)RCAd}}65Xh7>BRe>Yo=+x^z zQN;eUC5&;R_@%= flv_H%x`$ z%LWoL>sA?MA#iaLQN|%NeomRKzZcwUEw$diWnEg%gAXVPVzl>HPj0Z{lH9^c8{m4| zZiszHT2cD$evA~VZTz(Q*h0Eu%h-Lcnd_+@M!ho)0TMdPvUgLm^I8ix>b!CmoPtdY zoUdFOJt>1C6GEQPZ7n(*Y5n^pDlrv>LIp{PXZoyaL5B{8PKb0jm+w|vMf3D1MMG|i zC-m>`dzyy}NI!OXjJjqTdbIc8>{A=iOshj)h85h2YD+iut{p2E)FcqnVKL1S#<-j5 z#)u|1whoRJr{K;4#*F7fucAAGkQl%9P2W3-Ay&L1ZMRzi@0j{x|19JJ@KfB?q?#qW z!!%P}0Dc^yMa$NIcHqt}Cl?0x1zA+bEP?dMmK7mX8#>uG?Lz}3z0DrCQtMhVq|C1u zS<0zGH%EGZjbUh-hDt=bI^5@f{AN(z+}-4vPGzzjOY%!&9LBwi!}BVh^=fFAiDY>{ z o656SS}7lr4bMlARn1AZxlVekF- (-Sc> JPp MUgH;*q)k!xF8Wvm|^3aH;LV&xPXkl3S15|Sl{z6?66XdYKz=g^p2&_n6DZ@ z|J9)5`kDI9rkoj5-6GGoDiLcN3s-g8*LB**hhxtQ%`udXHah1i-$~w`@hAV4B>!IB z7?Jhy==Zux&5Ewn(iP{hlTvWvh`toz=%u1Pnt5KRW}~BZ(JRY-J;R fcZTyiwA#&8X$xSn5R#C_)A1U@Re4@|G0M?c9l)CkVILMKY2@gm4t zLowN-(Z-Rh;d2MhVmD?Ks>pxoBH3fz6Wv9h4PG&=uEUGtUm^o2uQ*oq&O;^{4JQ#J z9kT&H8|=l!&ALs+HQ6v2=HU eIjW3S76J?=K30_`O?w<8+uWw z`#+% 5H@y4PNWam&{>c4us0+RtF_{OyL#!-oI-X1x14Qb}mkQe ?)Rb=k6ZayKoiXEgNsmzy423SnCzP@ojkD#c^wWSN-~c zBl`k$R5Nt^W_Y}cOJ{KGq98N1TX;$So^@Dp5uZ}eKd$#0M{$0x)M25Z_Hcm3N>gDi zYNV&o2OFGSuBALAHKJ8ETmuS-;Ooa^TGen5WM@can3j-|38W;79a|(=jl&zg8Lh8N z8nUtt^42%X68g_?Hp>FnCkH&{2k!c}`4+6Xg}?EFk-BVzt}iZznrQq?F^|bD8On-M zX38e5m1V(qs-!~bt~VB6XDVCbSC4g+u9cBQm9yXWbi-ZCT^TC>EctVC)V-uUwaWL` zG+|ftT?9>?w+Id?#n54W0 -85jXbL9)s;;xKAH4z_oHFO`P@b zmi&Kc>MqWrbwA@KTkZX1#DTca`7!kw?!ktkLHie><#pj)uJw9h^K+)5^7xAmV6Q($ zb$!5jyE7$$3Pa$Cb(y|nUA3g d5C+E|eM+eJ&V)5|sK84x3 y7qXepFN{qA}BrfPzeJ z?p)Yrx&@~FQ?iR5wPHg`E{}ADm3q@*vqBqor4 5ykV<%SO*expB%Iz8263~E^A5cQG;Qro{4mv$x zM;uG)T@0vTD+lbo2Xp0~^4$0quH`s?%PhgcewQcF(y{^NGi`5uX)Dm~(ho@}7l3MO z@A*nLMPC?Oj>@P+Jj`~sa4{bWj95G-JRx~EdP4T*uxon@`KF)FRV?(U`5N&Q6S`JC zSY`wg@0PnvO-{J#g>IfGm8Sikp56mmdW_R}%+%n6db=TGQv<;wYZD-#qPHN}$ 9KOh19hBXr87Yfy+B8JP^Z&hY3e6N0)|vKIoQM z9DS@f)b*ASuy`pU0U`6^xIk^I8 9nD&JCDaPBlEygyQmQTtk|~W z{&r;Tb5r5S{GFk3FC^d`Xsz!TR&F*&3QZ6`eZTmDtXgk-uVL((tyFL;FQb6HqFd+& z`7%|7rABD{m~9p+(12lDx8_4@7dF#iypy$`805aG9xZoT_NC(G?^TJv6u8X}%Wb6Q zq4-yJPRp7>6G_Qa9lT9LZ4KpQ9CcF-M|L=r3p!pFZl7`>98zwUbCM(OXC7XQUHl!( ziNfVmwm5Fpf|LWK)!_L0X&fNrrQ5g3SBIft{7?HqqRZh=#h!l8INxRY?kvv#AL!C% zAKSu}-X_CKOYISsk81aA=pi}qsJbh!%?C99otV)p6)q`hX_^Vg^9Q8(T@vz`c{4Oh zwdUw2CP$AXuNu0w?ZYbXjDO4dA*KWjR|Z)r|9SZHhBR2}&nP8kLYZK~V3K&vc^G=Q zF(lt29O!h&^o%USq$T0~|Gl;v)R{L5|EHFP6f%6Q@UK;F*%^gZKu>KtoW!kj;0$H< zZe7sDZ5AfSv4uZA5n1nwH&;@~h3>fGIXfrXpzjKgmT=7asp$1!e7cpVvg(@YyH!do z^87@QSOvN6Su&h(+{vcPnQLbx*3s9aY9z!K_mmimH=KMB_p;&d ztG-S3+ZpA2;9SG`=|PwmoT>w0*?h%7vRb62rg&XFHT6B3x_$od2?R80FS|>t&oll8 zzkOZF*tpVMReKG;Y7$0B@^YV7Pz;>$6(680{Oh7~{$K3$nBwGQCRZBKFzd<&xRixi ztBk`+SG>!!)8D`;lTSjNQH<)K@r_Y3=S=Sg!fc#<$Lg7P(u~k9wEbr$CIJ -$%R^x4OTGT@b4L4Wjs{_C*#+iwonf!nQa-?-DiAVu5a9(Hu^-=DX( z{P98X_1?o1&xzwE{FmK+)Gtk|WcJLi&2({@?$LK{YIWQvT4c@XQqHEz_6y#5>+h~X zL+7G|L%)w-cxo6Q|1=8uOMCBtIu>{SVp+cSbUS|+>qolODtF%9|Gw-+31Nf2id~L> z=TF_fQ%|p}U(YXXa{k5 {%dG1IYU1Q z-Ln7~_K|W%CgDKrWm%p6X3(Nf%VI=ASA+X<_zV9(e~fR7A@x~1UCs}xv(2Cz>ehB> z=f5(H=bTe0Y!B4ED7ot#)a1IR#0GFCmgA)q^yQdkt^L3!?0QXaK#|r!MWs(!O-%#a zs%14uTZ~sAH1F7kWD#??f=-Io`TF4~Mh!&6rN2ma{jQqW-i*zw4bxfQ!lgsFy;Pb# z0X_9CK9lA0ChE6~Xj}e6v9Ss~yp;Xk)E`aO hau+o}Z8!P-&(xT5L`Veu{9D<@+S0UQhbMyNbX`Mu zz;>NY!2rG2>jxi%q|fCowFLjW6L~G5Jl7*Ps7b}?x%>|tt8GBC2xUD|D(2RfAHT0( zI9N$2{y0-3$>S4fuE0l$e1~{X5=K)9&6S-(g-2e=%2GCP$LMC!?bXzmRI~L{t)Q~2 z6(XM%RSc;SHy!KDy8Sk&7^dh&^Utt%B8BS z@zk^hLrdOxz+5jQgDoKHK#Z)(jp1FjU=pS-6hkOA&^*tLfZC24nNrE|f@`MxqFk9y z8U9 E|1goBV4= zA#V-u{|gex7WPQ49|~QXt~&UH*{O`eNtwqg-u{Eo0=S=g&){@+=Rd!_eaN*f>pn_7 z9PfBWTO3e}C)QTRV&6WQ9s{e<6uLm78c0|vAN2DINMLpY1-}dnku3m2Xux5)8 z`_FIRjgB2Zym0UR@!xmzM|BGb>iQ_MgA3W&bHnXx%ej0=$m30!RKdC(SEL8K_`#n_ z8Hz8$#_jhvM9e? aPQCKhN)! RvpbRO@Ir@Wn?>0zfC)C8ANqXX6yUUPH-iWm z?B2I~^dU-Lphc5`smd1mVD3NmKoN$!%1t(Zt5BSnI(ufgp9ZRV+bI~lXjJk_$le_< z_(>sB8Z}xoxm0EaO
*af_Gq4HI}J0;6Yo7~=BHRqL%bE_|AoCxDrS36ANnaqfwGHe UfYevGWtU5d7XMfH_|gCfryc+ zI#k^p^7=~opL{L%g57pC2T>!R1Vg2JSEH7nGv!6hdx;Mn5MSbwkybj)0It2~RKu-&Nm zs&8XjkPoZXU1$3aXO0Bmz577nD8WTIY*`Zz*q~tRSXeASNIoJCAmf HHm9#Fk+@twry{w7y6RXyb+pZ#>WH;N zr74P6ID9^55}@BJ%>Q~4DO6K;N7~zKuLt*biXv6pBNzMgsMswlC?SKu bYq^f-8~WsM-?Z>+qK{y5w1Zc3&rWZzQ*UBnso?9(zN!Y;&9H|fa(G8b z*( 7%wL`W@#c**le7p)*WefoFb%Fv2J1h40q@lFI8e^&Yq>Z1ljc2{x*NlzIJz56 zXi&@w+$*H2_1~@lXQx5?yfJ|yVyKcW-T5i$0+2#4Dd`DTc|k}!G}SL!;8M6=*%w yn1%e!P3 z2~N=ANNQnta9~s TG59x1m*4sxam%XvRC z@q8iDLugrhy6biPd zF!3smaDDnX3sN!;QX|X >^hs$8$z_66T2kG4K7puK&pyCqWZtLb{7pv!Caz1Gdb>@x brKAbz^h|f>AJICTjp?e=)7B#7%Q#d!%XL wU*%2)D-M`ng=Ok81_Iuvo_ zcD1xEIo?{PBF@U&4dfbzfyl$f2;55LFL^0bg?sj7`v&sKR(T-HEvN_=A2qzPloq`H z5d*I?-VVk6FxB7PK-qR54V^y66Plo$$fz2Nr0JPr>xtdXM&x%Sjl_8)VAXg-&nf%a zcK__{Xgjs5l`60v!;C#so) TyplVsZa7LNpCd )oW|jcggWNDx<~jy3WpGjdnPZm2L8ZUPjLd&VPGYYd)4cS =#2e+XE`iNDbKFWz`m+WRmulu6L1e^|y#xPZbY{CJ&T_Ujn)fdbUhJ zdma!^uXKy6oT97Q+emPm>uDf6Z-}(AwbD;-vgABXwAmh9Z3xvWNcWlBP&YF$EVP-M zQrnOw9Gbtjn&TUqam8M{ds0^XZi>DUIm%M9gH97^YU6<{x?l?@fmwVnSg&v$P&V}3 z5_^1eJ`7Ila^|j&KrDat!nhE(iSmZ)0TgMPcLhc&CJ^*&{k*LcN3Z458SlG*fv(&g z;Q}|anUKx4oL);W19>-5rygX#uCmF%ycztNZuipNO_P_O*Iyq6zlmo^h?2GlJ&(BD zV-ygA$+Y=AtFnexFP|n>(+|PQ3_E{_tdQ`Ow!@&y 8vWVBxa+{|m?8WT~Lw6xK zt@@_yo^d`OQM;x*5Calne(4JQ#?+>o%WL*Kyy7-53#;nC2G;j4-pudf=;WeIBYIn1 z4RFWz&$R9;Pw8g>m0v==%>QabS_Qogp4lrn{%5gK#7j)-i+cAycdzuC+{~S?f_-EN zO*SQQ*|l|uW$?gK`R8C?Ez{e {yCwf|){Dq_ zmr=bu4q+*Tcs5v&WkSMirbbztHd(mF2&K&@o44DKwbyMDeK2;&b+@(6#(7Rm+g8V* zZzsMb=D;Aa37ayro-(^OgRhRaA+7Ix$mZd0lQ0k;iQL@_yf4+`ZusE^!bBhCGH|a) zU27+0BzUlmR&8MSrz}1w#D8j^L(&(?EPAbGpi({~AHt({WNOA~ 2CNj%`@`)^_|>>TSFRD+u0L+LH6Os z_a&|jr($y+jE|-FlPD|wessiV2+;JhKEPl;(9N7F%czo^TQ(p4H3+o%iSp3 ^wO`M8KmNmV=XZU?21(n?<*&XN;DCX-EAw9w zKuQUrt=kc3JPULqv)OUnx%&>OVG*IpDyp!ZLRxNxrN;9c8}?MK`8=)80l1acuMvn# zT$Re}{s)Sqm~uHl@|`J%hK-wg3@0DD0P-U)%>SMpwlP>VLhyr;UU+zLCRJQz-sIHV zFlZy*o>l4y+96OHgPNE(VVTV{=7I|z)Mn2mMaaMZJ3CYGC=b4P0X+vW*UXaa87L6x z-O&smTZ~DDgP>~8=K}?t4(WlD&X!`HjW)V(e7z^6qPeooWHD4gT?eq;-hPPhx!eHC{ ziDj*q=*)PgL$z>Oz)B`k`ai#M&Dd6qJDcYe$Q!U*(kKSs$_f&xmiODJK}-t8b!{&g zOvd{*;yA^F*6ja@!LhtAJI(1itnIK$p#Jastlf~07N{`!Q!~8-%lJ@~j82F_#B7>( z3!2wEXXd{vXULtIQ}S+af!X=ltfztDu=XrmWw;BsLp_9jPeI9fmLO=r>qLAY;q7~t zc+~*UAi*YQ1H2|Ss}mAJig4r2Lnvy8;{D5V1kzDt2M#W0{a6>h@3*0iibni7GPTz= zU#RU4&`o+4nqe3urBe#FPhX_hzF2~J3F(5{%UtdIM;}d3Nf_7Sa@>L@X5#2mZ>4aW zqF_gFCg@(aXM_`Z%Fa-*TJnjJn{IAdHj>cFRs@<_{9=W3xa_J;Q>oytFSs-;v6j~f zhw_0NnwZ3t0b}wR;&`5kCe-QAfX6M{$&eb*# J-A|<3 z^$z=5OH}wFG8C${_a->}z$;D)==G+yBP_OOy?|I_ndarbT;GI}OYT(y_m|9uTZsn9 zF1^;}y_qM21H|Ay)aH{70rivPkj?x8=gylHLmR{7rhu?bXziyV2{_(7XdIE>z|p=; zG|#(Cr9g{#WA1=VU^Gf|GRjj+-DM=OT {6RBXGlwAKmkanIOSsaP!Q(S-`V&ML79Sn2)F2 z3uzT`w@*42jGz;G3Ccw;KJ!cf4o@!_g^lyt7Yo_V?O6t%7$nd&mT6u@EqPlhY-70@ zY>dpJS7tkVedxE-g=Q9_MfZ)DT;Y*|Q8IQp#UwzFrpF|RFsjx14Y04J`#40{zUxD8 z4=D|Grh2nGL$d3xY-`&-LE5bbjW56Xka=RHz{)tT-YV}$Tzj4OlR@*@vE5xsZF5bL zgRiMxw1Fq|dwu)Bl|$7@r9R# ImMC@wX+-E6kdthqcIE>{a7 z47Ya$7iHGg>kiI^_0}e9eN(stRfNHkxKd}wt@V@}jFgO8ntshZ4mtL}HoC{(A3)z1 zb{H^)DEUNFy_zbpKHFSwJqFM;6VX>tgNbl-6~#ovIUtb|Hp^k2FKk|G*5u2h*LC?T zXRhWJ@gQnDheeGv=w1B@A@##)ClXB`#xQ-C!9kLNqndDCG*Qb=+jPFb^iHa!^L?+~ z>!wQD5U+Pt)&At15BV#+p7WUM?w(boNdzaL&e=XkIQ-c4jTg;D7#ha3JC^yhc%jjZ zbdpnd@gOAl>C9!5lLFI5sNt5&RLpyG7eVCf!(=Kj!0ywtIzqob!2CUL*3VZtz_7Mq zC+Nlk?S!u>?IvLuVQv>tw|>Lxdx}cP@RLd{cL!c)wZVZMOJ)!?h7UCtqCUxaLq>w0 z>>yf~`g+o5XF0sdt@1N+@mhf^oA{Q-vB+vyycRp3EClgxie;CDuwC~JlIk;Ulm( Hp6}`C;CH@Tm)l<_87|_>) zLk}TXo#cV7?SBb?F4n=7wU>m0K58J%>VrOI5qrP61$MSo#t-&3D5Gh y-9v@yyL+`$(o1lTQBN2d@E!@&>xZp)*K6z*>qERrwi5WU2B~t);BLzE z{p;B^<3Hq$gui>fO-&nTHmM63dgq>C ;s@!^hltIG8Tdb7wetY2K{jkh`_GBt&Ywo zF`~{vjLEeDTVd2Q(qJ~n!Y!y~>T@zHXuN# -za8JeA& &n zAg`Cpfi$@m7`%d|7rX-U2jj-#`XHG2u5x><3cn})dHc^HWlw2pheu~;$FkP%e)4Bq z?(bG-@qGvR(c=CCcJ$uf<^TM~KY3=2si`vhF+hxdWi!QNZLY(pUs?N*{y$nEXQkwZ z(Ep`F`6BlJ=ui-WhLw2O8CVUhaD2;kXF;y @CzP(R3Md;`(iRUsRIN}8Py5>Nt7a^$ zz%KN-r(KzRHer6GNW5pT*y{*^ll_?IvcnzopvhsefuF}cE4k17sMlR7s16nV;khz` z6x1sp-OTVbgD#(Oo{JN^Onk2teBL6>F(HAqH81mJ)TSs#fmQ$;yST;L_&xoOKfPpM zxFN~!{x%1VIOwMG)+)cDXi%9oUbn7(z8-KrSheJ@+bPAP2O>L>rL Mr#zsxyufz8vKhWU`EwVj zf8~xd-nb@O(ga|BFIL#xQwyu5&t;HtW`}=Pv1os@;}vMG)9Wgszi?4;zXJX5r Tf(>M>Y^#zywN+J +3upA)Rpc=Ao^90OBOdj<~qC7u@5yPKexs4}J() zDZ2x+m7ogDeQ#-W2^QK30xJoQE(W(B3Ezp02dU0i?tx~)Frh#m cd9Nz5+F$xD{YvPdVLopu5|0N@{6*m*3xJX&&}MsfU`}{@k9&dU01 gg%4%u};T-dvUkY%LwY__<$_o?#UuGtq4ms8SSp= zE9W5yAyGlsD|w3JQp >W~ cH3*KDWBFf{5|KZBun}l^$dKB1N4Jxy0&EJo6_)7G4~9X+dFjH=+SLl4&RJQ z3(Uc`+bBEroM2dmL#DjfMDXTtmM?0t5dcq SO3&b={FK;k*bcbd=pAd9%;__z} zNct$7-EaX I7B9luSxV~oH2wdZU+bPKCk-vYY$^7?g#dYPap{ekTz2BFIbGaw( zi1qw>c6coIuCOOOr!96OiL!bt!0_)V8NUvDq1dCH<3GmSzs{WkixKHsd#3GI@hJU4 ze|gK<$G`pm5q66RX=^)~5GyG3rLPa%$a)&1cDQJ3(EZvzCig$TopJHRM$2Cc?wh{* z@Ax8iwa^vDMjS@vE~)Ks*RoCfy89Y}e`%S#XsCO@lG$*RuJ=U=H@5$9)q0YVc;=}o zUEb&%&X~v)J!CT_5V`vX!c+onLiG#|ztpS+YOZ0VnTCq*Rj|$yW5}XsX+CyBd@C&g zE3fi7xj YjQYIqDkWYp;I$9+6FHhaY-nAKN zFUk_`Ea`*lYnEs;Ef}w+;vN*%|G{{x@+SLY ?)9}je7A85jWPT1HPX&uNtK+QhfkhvL)GN z$6PJ|96I)J$)xL+jHqAdK6&?G4lg@6?gH4x09&v~pNTszv{q4@w#&|k<(M5?q?oWH z9fbzMOuREHhCNj@mP#YhTcC~V@dbw#RPOqxH-W`V<^~Z&-T+;2Aq<6NX;)(lf|IdD zeg&H?a<|U}(@mQt-qOn&j7$cE<|}Tq^j)pVUF5HG;(J9P>*40cHcz^YoQd6Me;wkT zKe &q69?^%8Zq7nEJoq=2YwMRNtnCPrrj4>XA%a$M%sq3dCQy#G`b zFV@I1hCTiBrz=RiXKqbwjvd$=8I$7e) zI!~}JL0nByA$Ad~Yx8xr8vL~-(9%UogOoQWpNUB g 8KuQ)!^~S1 joJQ%InU z;vC+G9!B{~{xzJ;x=e{`?LM?`V;8ah5ij}f;Dp)1Hg3A^H?zzZSYe2fA(Jy*IS`Dr zj$TYaARxtn@Q8FYjm|`J9O4SA*_^(PPmN(GS}HdW#~Km0+Fmti0I =yb$DET9+3i_Nr67#Wjz59jC>+XBTfhzy14aqps|S!ug9ylz=@717mWG{ z#QnZLO$#C7fOp=wHzVY5W1wDZGF4EQ51gW8b^`u)Z`qi4U|wz|pRtKJ#rz6evV|+O zS1D+P0Lyn%?(+!u^KaR#1me}4p0^B(cVF$JHV{ NK>6s0*Q1{H*6`nvmh%s3yvAW063&nsytCmX+^d;ify2B}#3D_F`qRfahmv=V|KaMt0 z6G@(VMN1*71j(i78b4z3IIZI-sXCwcvu`BB?wPQ%LtN*b3vULSUZC{uRn4Z9OGvrs z`6Cii?2{WI)e);6OkB=ckxOJRXsTSzsnRpLo+QlZcL#ThYxdQjjlBnw;mWjvjkcd; z8|B`L?2Bb@dJl^etI|<4s7*bxZh0Re_2}Cz(~9Uy^(cZQk;i^z%#7`Lef@BP5e$ z%YzinB{PUw1dTBw3udh^X9*)`k*Dml%CBR9|FzucU>p$Kg6+7B{}pQxK-t1lwp*~+ z?e+z)$wHYqWo93EAVOQ{$C697fqPvU+}!H=g?js;KnSR2uut3XMKvjKYIJ(q8BE%g zGd|HEl8Eah*I&U|=6|~44(|lOdh>i7QK&-+&t@0VlmGm7N2rknqug=kd-&t3*&Ip# zR*~5_n#QR7$iSAU@0_{K9AlyfH(!5k0=4x_&Q9{(Nqwx7>Um~flrr~3HFDpuTPhew zn;aFDsxjN&$AwS0lej}d!rRxk9mp-~buAo&q)m&}jbY8CX)HcJ%0r{haVykp*`S{& z-A8Gm6wT$EOJdd~@v-SZj{AW^amTju`r&_mI}H~^{55xxPqRIuV(4S!LDk)#&!W>9 zwu;mbiqXn$$!9kB)S9k3dU9BT+ghMvCTT9nrzR`MO=`PM6GL1(5g6!h>9ZNK`LT!Q z;uC;b?CT0OUN%eq&u>HtAQvQk&e+k!*u plJ6J$GKr5FCsN>^c%Y{0d8(M~i!6%lr=ZhX5tPTO^K6 zj->=kNc2EY2W_v_Ov8EVBH@~PBULrTI!-`aKw_KeZ2G!eOtMU#6zcJ kvUp zgHVzvTf)C@2Rc#4)fWx0Ul4-4RVML7@lK^`cWMce+Zc@3C6?&c$nen$Drm`d+u1*v zrAy@`PqY1Xud--T1PcleZgo+y4@K&qdccA~Iu~vT pd|Obq%^RaCcH*)IgVHwlUOt3Xgu>hcuDEsv$u>2 z%a=rwyqYMj^HMQ+J~od$Z*}9dyou)84~-;?f%)bh3R-&?aP|nveJsUUYh|j0RG!TW z>8qXm@P-_ +){zy5 iB}KQsI0AZfJ%G>{ zs`mWmH1m$q!yg6r2<#X14R^XQE_~05wlLqc@j{J{6}5tjYapmV4RC?CP_b-RTTj*0 zkaL(p5TUBN9ulF&$sS~0BgosdS)TPA0umEBg_|R;1>(~E;|l@WH9@Rdmo7skmzQ2G zQ-#rEn2$TUYl}|PO7R^%n8bv>?UD!_`a?);+)rBgs9#y;YVb6ErX=5w@`T7Y+8<+3 zFc4u({+ZcM{=e9JPxElt$t_&5iSP0l78L@+^sh}VH^gb5N+U=SHZMr7>cK+YgA z*#< i)>%Oir`o1^n^{dfcKcuBCjWy<8b8D|X*P8SD zK07-}DUzdgg1SEOA(4HI)d%9No*@DuhmD-O1Z8?=cr~Du<&NBx!0xM9*L_1wfWbCU zE`5gVPonjvR_BjeAgJZPPKZ%5xL1_0js#H4e~|#q!G?&zrWP>CN$}o_SWYiE!t+5P z>$-?XOv&3MO&3}iI_&90NNe{O*~XVq8Ay<-L8Seqa5z=vCiBtg2nOX=vJRVNocUrx z6polo*qf=U=CkVHLuWzCkAxj= V;ozDqje#jxEx7D+%_fs4j|un$v7)REG5H7 zc6n#VxojQs!jVUpULU{x<&(|$b(-v;o}j6D*)7v!`jqCClTh;A=ge=284GN=Wo{Cy zN|#SvJtZEyT=;BR*Ma9xQv%CoHVViF=*uS)IMYmu-_rYvM+sFI!!dS><}l(o@0`Ix z1ejsBeRFb)ZeC^l2gy1zHa%dXPkcc6W7mxAY&9)=wKsM`Hmxp)64rF wnmLOm4#7^HCte7v-;$jN`^`dBLP%baGQ5<#2|;kR12#l z*B1JX-mVu=(!9nS^55 ja3MLZ%X2A{|8!XwRE8to0?Di%;Z-hrw|Is% z9nN6A^7=u-i5*ar1n4A2L_;1?^E9&;iW#S})y dl5n_T?f3xuk#w0k#R`wz z&e 6L)?uVM)v>Ngv+EPP=WTVVv zz2pg-WK&I3MDi4v3Nu0rA_O(5k6Za`d1&Q-UAI^<9|eRv-IaTz*q5IMKfy|JlqS`e zbeFssQ0*FQ9Z&%{c=Tn}n;)chlq0OLvyE=#^cTq tpdLuLlsL6FNr)KR%EffgoR~K-Q 7@xsa1jOzGy$5Vht!vcfpdoN*a5=%7GAsiJz}c5rPQ99!u~Pf{=tJOsQ2GpanIN zRDWeg=w*M?3>HEvCkOpC?Wn$z Z@?Pj1Ze<{8nPw8Y`D>H^(JG-*An$2fPr(Yn5JDpQ%r4g*Qb~lr`mn< z_IBcFHUe!n08BB%Vz0w`bmgxNJu9sAJs7{qjF%p6Bv#lCPDaJdWfU`XK fZBe2{^C@0~p=RzKiY=fz+QWaF_px(6ZkRS$@NQz{(ty9+VZ^MsVC z$4zwfirvYI>xe^(q=8d=;ET>0@C;9;V?5T$Y T4t0(A0n8f0)L}#cbZ`# CL@$`pZ7@sVkcD2&(~p-Wh%gY|MY`CWaxTSxP;PZ}s7`XQ_T3E87L?g2@o{`^ZH z8WZ|{t5awbRaCy+y*7)r#~fFyUDy-}njovK&vew6@L8&TV)w=y67}g5db%e(g&!Po z2vwF&&IQ0xP;*4d*ETEnx*{|3NhDH>&y@ZyQp7W3n((@K#v$z3bJU`@y*Of-LOz?` z9MPrSgf&5T#NW;T_q9It{htOz{H+Iu&2ZMY`Ujuu=S`^_>r|cD3QiV>GIYjdf6>Mi z{hN`lpCOD2ezy@n{ tmd5b&S27gJ|V#3>F8fo1wx2o90 z+`193qZBFA#;NIE)>mi|Oo`wWlCXFzm247|)UqL1$2cCiti=<7{szc&t-yt|mhOM| zv>#uXe6hT!0qYp6qYd?#WdK(Z0Y(JROqAYD;oiCj+{+Y~_?@P3NZ+QR7qr@C#X`5P z=XK5BMsnr Rvd0Y7dxPN10_Xf~)l d%U>%L{1EJyG7VJzFwnZr=f6>ECWli^UmKG z+o1$p1C9UfBD@d{JZ1Bs8NQLN^jgd8!yDGK8w;z!?>w1D%@6m@`M2{d3s0UdX69U~ zBlcH1R_|yBypP<4`t>PHjc}YuG)ip)^NPeiez@|VQU33jUS)Oo*{% z%Wl%e`i@H77Wcw(A*%Z&cLrcApsr{&P{h`KK1aX+#t=wvX0lJuTldV!a>7PUjfbT; zytNcIQdg!Ygf~Q-p^z$5!Th8=5Ug$GW?pSz^Z;@kpIl^9vYA0&F-$l^Iyhpc`##UH zu4(>U<4e%i0-TgpOb!y#e%AWD;w~1Y5vvu-*^I7P+&V^;7lV{pgbEhS*WQZCJc=k9 zmp;~cSKpN#PtR1?Xc*8~9J(>5+s>)Jd2g?&?2VC{TIJ8HJ#V0}!yEnZ3QphY)2g3u zcM2D1@{l2?7Gq7NJh>BpUioENxkU8r4+`@6Hfy$Y_ID0?Hp_#U@3Vlj G|zG=SWJ>UykItj-&h2byjI^$2>Vxvv);Z2Anm^DQ53*z|ShS z3pqNhm3E2y4wt|D`-8YTP6?fnQ9>wxRuGbHS!4gwXn452adY+P%~!wJ_3p;c0qk+- z?JK !0wS@^)a=r|*42S(ivO zQZ broH<3*VnKz7= z`oPZ@o(!fkJm>FXxc%ULk%pgxz^y7vR<<_QX?g$ME<9e!v|6=$7^1a>79mXjdF7-K zsX{l@&Gw}IG#|AY^Y~MY=VD-FGc|EmOYDO<>B>iBU!ThO)X{m=!3x=?^0YhYLd=$6 z@ekzdiYXBDsxiNnm)8%_-RDgqZUUN%NT}{1ffx}tWh|-X@P=4ghSAq2JMhPd6sHUk zu-76Qaz6%yXvG0tRxA&K6C-t?D-<5yt_dsNJpt#*U2Gr42sSnx5mu=ld1Q!}8;P>y zw%irzXzNoC+t4eRV9Ru1H7rYm6SR+D$!Y>q^29n_x^*7 &x*Ona%3xMMUSKN8s~Kwa@6 8x`tt_9toTMzf5H>X`Ax(_;oeE%jRMy*5nyNsA*kdFCy$xp1|!4u*_r@rfd zk3L?#VJAL~vFEVxN>%|o_C0r|_ux?ds{UwS%Ykjysl9{0|JKt6Q?OF&c-=Fuy=p-f zlPW(`dbf|&rI`Sm6obi2_!sPYpALu)r>~eNey=DO(R^|!TF~}`A7$O8c;Ri;sZCq@ zVi?TK8_pILOx@bnkC1L#ns2uQ!g hOB;@uP1H>#rjyj1p*DL*AQbV$-g-~F?dsSIf%-mY3UJF;vlksuad zVHc&1GNXRXSPMPByd;};&T#%I)OR6#Guf8!!}~_m2P!cpduoSX7KTm1m}N|KGCEER z*}9V_jPB(j3!&9OHU_DzU$OpfINc17{kQ4wEfHhWKPr{F%okVJe+F)o)!t3+*86jM ze!9*!bw7{e$smq02|>EMaCVN|pebIvyxjF>lQ)?X-h^*Ky|y@YR7mgU?bTE!W;CUe zzjT$lrh$99tt}ELC4-(7UC{|h6&hM@^&Gn!PP9Jm0Yg3*bL3}AYO-}fk%yO)OElOK z?}h1Y&Jb}~V`(5ewQe<5i!PaNA}VpmoNCjeT2&q?e!*%F1_Q2s#3%XAC>Dpo$FojN zgnkumU0{)P^>|SFP`g&h9MwlxF= v)_=8NXVMeZEmdv+?-;D?460B65xuX- z?#h)nrAQpHOE%11Ms*!?gGyD*2cp5lEnBeafR`O26PXIQ^^+3(mMVAND{EAIWtEe@ zEl^s;fE=*ipt`Z>1AJ7$;p8H!=$z$1+9}bZ!eW`ndNCH)p0nFjR7-dE?H=rn^`$Kl zMOia>ZbbZW2QTDgzo`1?k{1=Z!3gQj8wKNhN23=9$>5g<%Vo`b4mSk-Q=sJT22)hf z#FJX5d*L-TC%M5&$y#(9hI>ODz%XYG%guL8)5CDKHcG?=HW=i6jRGq@FK4=NhUoi~ z?jUBX9eGo`Ci2T{n6Dv0r2!A34HY}<8t5NnFUPGgP`bTVl*>i9s<=;MaW&nM3(OXr zGI!WCiX}}Mnfre%W|`8*S-DX)TJ{t+3>)5mvYAqAt3D_CCOP`33N1CSVuvqM)}oNP ziz$HOC!TwrA){kuuSU+0W*=fOp><*S-<+(no(&TO&=GwqR1mXW`60EEaV*=~89s5$ zS?EFgeHf2BX3oTig)rk%rtX;X)s(g#yJ_8FY1g(*&-EAk4WV^kRp8eW6nosRk24ux zaCo;peeHSHc%61n{loMAn2gwt!>FrKA)@V kT#@Rw ?=nEkqyNKncXc14w4M;|qe8nCK9lXGxiw&L9^m9k z#o^R$8dO(K8T-JGW%N)KgEK127E*=!LQ>Oj$Mka5D%*#L1>Y*RclEst$oj!&qTPR9 z`BA(j?olT;HjP*+`><@V@MKbfxxbo0G0R%dURC9#T}_m{q49DFsjiDJooNw}4u9zU z=(Di%x7spDjAk)c0KTljVb;uE7-?a=_vX9*-Hz9%daY~SpNie&0_brdRtd=mSvd*g z$;Mfq>UOjoCrOg&w00gmgZy~bP%BBv(Kg$Ll*}QsA%bh0t>KR9`4e%5UO``@@ySRl zM#5tV%ZLYF4%Jn>nwaKlZsK%b(M{Skp0&ev #L``wxj_UkXZGg4WQlF%s;Lz6NM;_Y&cdo?FU$E9WrpgmCWCyew(zUq?P z1YIQ@h{8YxZ43IvD|L&rsagI!&54IHJ>{AQfi4he4u~B9%-;(rtUBhG*^=z>74_IX zHd=QO-uT^;fBRbev}_h4rcJ9$u2o{X$?Vwz&c#x~ARR}nNEH?C=7}&l1UR{RrkUqX z-vOd?hgo7(901c9lZ$nRwuiqlm3}C1LxqAD#Z#Q2?-XK`+0*bIEy9DIXbo1)i= b)xbg2b^ZfYXzm=%r>AX%w&WTWwZ5Mqqaj zw+JiC-v-W7l9=p7P;VNf+3q(@(s)5Vqb+v=A$2spl*mrlhAAuj my;-N&m33cxJ;M|Gtl;g{Zy>!wEQpomjEQgs;OQpav3v^$r4=N4PHPKZz$ zk)?uJR<9X+3geL>KUiPh@OEQISJoPWjKeL{O}Per^N0G80=4WyTA!1c_u|_1&F{g&Z@m z_^30)S<4A;nCJF& &T7=^%9=IX!Lh7FUbtSjrr3& G zBl2nF0R~p%Cw_ QI;vP9rPjorcI?vGpdYkUtjl;0FTHf 8h>TptoE_mw6u{vb~ukH~51x|Bw~T2svaTG()yWO3taXqV0R(auf2@d;2!U6=dm z>Ue3NMtZ#+9aPgq+Cxa<)?)YSiK!hWCeh*Hd^wBOOAno_;j>U}{b9NE8(sBhdhblC z r!i%_#P|Gr~o%I>#c4CrjZ!b`ZD{|6jaj0{k^~# z_BEkT{#xmT>qQ%T$2(xJc$8* w%*+xu0w>${wRG+I%s=8C|5PhPaa0SP}Xa6B2Q!qDp_!mU@#7 zDjpW#g^cCI2bQ-MD?e#eRx|5A077iWa|@@F)`BZ^=pKUC`@^}hVM_t&S8Y+-j=ZJe z^%I*8<|-aMz}55VLC=37ZT4DI9I7~AE8v#_sMoyIt}?%x(a{de)O_)|&He@`Aj(Sn z@h1jRBQmF8qMl-Fq|X+kTjW`gc5YR$B&t{D8iFUQ#{r|AUtU{rk2ZfXYxL><5>6ld zsrZN!AX3TE{avn&2v5l>Q_FG&++iU-qI4`tBun)kHwl2T&pG3&qk_%PjoE{5kDBz6 z0t49w`^p % Lc zd5;Xxv97w@5Gh|Ou!*h??^&R%c=Qq0HbA}zE%Wpr@eze#D?IG3p;D8nX1qq1YMwIJ zRc9?{-ciJf;eF!M br@k`=YK?(4T%tVlIEya{9~V{uJeaB*YpT!_v3EP1-WzklA{wA)nHsFc3?NRfA- z@o=Y+e>TrgOg)M8_R6mf#BcZ`SI){{-Yt7!%>F&znEjaH`iM69QJ|4wP5!*oON)p7 zd@~^1yeN2(&nFX7zgI+H-%3QUw9BplW^)VLUH|FzleB8)uIuUeXCQC+s;bHNYStjq zV2|O!VrF(+n_&dV^zL>KoVbjz5(E)O0~WkoVdThl)@pI&laz(j-i~~gs)~5$KE(GK z$ChiUY|AB|P XCohRz&icZ*YL4Nv8lDO9@Y9Xg`<%&;C|gE;5)^Li++e~QtHgG8U9eBo}I zj+&C;%dzh!&PO`BOY`qQIfx`pkLRj_{0kARPA#Lyplfy20>cO5UdvwIYu|ART|B 6t#_swG(%&s+!!o7y?UC@1pg6@ZhImIsd|;zUCe0Zw4+kEq{uO<25Z=HB5nS6g{y z;G{m+`Qv_|-EG&8%f9#cD#MsReaM|cC%$kdDP*=;KzhSuQLZmCUrwg0%}X7AV!Ybf zE^qFkw+`X8t^8_TIf2j#zA+SjT;WQBdyq`&UGSk=fYpiS=c=Nv=^lg|yOMNYk}CaW z(7lFs_lh2Bu+)^4>tSL-UZ6<#yf9W}>|rx~40*Vzz`pren*d#G7ORe}t9DyAMfrnK z@L*6L6I{XNc^vDCqtj!18BmA{4^I;C+x!!D`xS+-uKC@YC1^Se-XNtd23t$tbJJF7 zw>ATg!k>Vzb5exN#eJ?Wq}nxx!nCa_WWu1YFga4VLqCM&p^flT<;&KIFG{Mxmdu($ z@e?JmN&rO(WVA{wjajOXrchXd@5FWxgta{U0A35>cBt)Ce5yWDIi5j$^M@twT7X zH&?|mr=+S({E4}?lliZn`!wWpJy!3HWLX2POhz2<6fkN!<~4g=L=#`fQLBq$B)kTW z{$V5HJjF)h5`#YTLvLqkSHgo#B%kvyt_bFMnw9Qp#SbyD%GpVZf{~6HKtJAW?TTsV z@+9nQ0iyphSbFk(^s%6cYK!g~ows!=h{W(7WGbew?Pw&y$kPcyAVuYd21*-oM59U- z_qdk3_l;&NRD>NmxZQ=rA_~JpTn+1U=0j-@Eu_Yl?gxn|hYdXi_51#LW$S*E&eO6# zmJ?2r#RSW6t4X_3`v&ICxU8qe#=}?#K}FuW8xlwXhPu(!j%lw_6IKf+$~J%W_wlqt z2}R*p+LDA(m^WNvoLU2WxX&mo&s|fkVrvo;e^Mw8DgFz|_}5z77sulTBzf_VE&Baf z^X{cT#JlYna8NVH(ee|ngi_so?eZ8a^{`~#iZ%A;l^j(pn8qT7tuLx6t#TUP2MXT) zcxGzgBn*GtEfMv!^mc%<1LfsRvZl&{o3W@y1eIzf%9FKi`bmO+rL5_ULhuqarf}_s z^GL|*;(4OOP@-n-EF)<#5bbF8)8mjWi0wo2*o{A0=0{# C9>FbZ#Hz-3jH?(?vxckbN9 z$~_o%UW$VT)Qs$vXnxW3xp{<2OHVih?wQ4{RG4s`@tu{J>JG6~s>zL{?v{DjxUYAQ zS8F*2co!`d>NtYdYiCcZ;(45iGG5q?j& 6a6CZ6Ub!se39I>78*^ zH8u$?C{ny9o(t?AGxK6gye6b|JY#aSfs@52k1JT;Rx%yfDAG|{tfplV>6ARFBi4cx zZe)z)p$D-g^JcwX5h0~5-IaKmE}U-_&C;#>$sw{GUaA{X8q`7)y4Vfu+R9!0n8wI% z_}lqe^9MPU=rU)~?u0NfF!NXkYD2;TKdno^mkYEwYC85&IT*eTh9&QiejUfr&qew6 zj@~`}d{v>0l7+%ReNF|2Y;z75RkT;8Z7QF0MehW=j#v0qs@B3c-Xr*o)~?!{ohJS+ z(9=v8Cak(k@|l{alUXe1Hy(UxU=}P!UFjogc-M`o{^b!nbJR=mrUpG!Hp$j{JZA({ zRFDGTnf+vbUxdEQD@D+ta5d086PGJBgjY)M)hD9Tfl^H8I2Fgn&spRRpoG48nS^_7 zgC_6?YEZ;+fcr1yFs!o3N74`ebTQj~3F2=Z7Dd94bm~+kP%ATN?WQJze9q%vvy^67 z`H?sNvbJu1F{aPDKi-s+jm*xAtvQTpS6x7^i}18ZK3YOrt9gavT4!|XAOCp;LeW?< z>*_2WndVm-9It6|qeFPOIP2Q5bt3J1cq{BLfMl7@R{uuIK5XrN!6+7QaSI;Ol4=r@ zvg|n?5!SUMzB^gX-3zC3qSDf1taaVGO`SXlIZegnsE<*R<>Dt $% zy^LabJoFA2t{YHX<`ufywg~niDM{6m2&$?>GF>~`WfegA%nyUN6fCwsvVYY4;>=*Z zF?%%f)Lm$D6x;`R?w-1U!ijx*Uyyym;6OaveCqFk|585H!DNh~Y0E`zs&tp&KYK zCgj!$I2_q?DX7rNB*ZJiu3M;ty`_&@KSuT%1et=&G<#iaC(;_Gypo5k)a3>7vq$px z!>MezC(|?hxu#RxWp{iGgcZW>=3TkM&8QR@1G=$(wLkj_ANHAY^ySsv1Ldcns0}gy z(=uA0!6(CkkM_U=!FkfB`wIux@*BRjos=l7a3I!W1DP#Ye9{IDQkt8u09f @yyc*{8lgfBaFNo74&HOB|F!~ z+rStsjYh1Ky^nR-s~ghMTG%q%D(&m%igXVv|GYAy&07kd3 E@oM!` # zqH~KSN8N2*%E8T~jta5YdpAF@OUD^!B;YpP$@*cKlonWo{bc1+b0>N}1F)>K3QI%8 zn3##QilZ7pzi78OCx3MWQ75PeNXoa421~1+a=+P2 yp{ACvI4@L`X zSAkFMM4=jWwxq{(p?8X`9zS{~4N-v_LjaBrya`CMe}siM!Po|0yG{jh=^Mq AA?!r c`b)Js+Tw3^&MXBRv;UFvC5ng6Ti=&B8OGv+U0Y*kOV^Ql9PwmR%Vk`)fd4H zvT4|`iD|+G7&Ho uf|h| z(CN)HR`>uFD&cHhijLcNSz&I@xIYhGp{)it43+MDmR+bkNRcTxmPS2$(9cN}{JkUM;%*XA=ZuJ+aD|rc%bSxkj ~OaJ+fE9s9Nm=aW#H@D8mnw znn8Q#J8m*M#IKfCd5`*TJ50sQEN6DTOaRQsavUA0iuy>Xw$HdEIs7IlxwIBZ@5xzc z+whdf%oY+s!P_bSVOhs{1~{B73_AwT;wBu004R1I6g5q uJVC;EdO?8Q86G4{MBah*Y%nde1;^)3Cj7 z<4U06>UF%Yjql6&o_xsvd6-FfD`K!p>f?o|vQFjW)Sh4#Cz=lJC{hy-IA6)(bNNX@ z!i8R*L{s#mRMY@McNm@3GSk!c3?=WiHz8ONH ~Q-$p|15uAM z^%$lgDuD jEqV!$D))IV4OK6{stT4)^a70C@uFhunESsSQQCU_m)h1E+cGn>m` zsKqbcRk1u(G$PfE0yX5fbF3{778}K|xz*S6Nz(VyDh1#7d7Ej~d(!pnP_ooGI&mH4 zW#Sz!EdAd)xtpJz0v#_a(UitynQyqWbX97K^I$o2)XzC9rPID-BDHGkGdk34^Nvyd zVc6De`(j~>N9K5G2U1!?ZyF$_@vEm;ctpf8dAVcBo!EUEsO@-q(_;W)vo0}75zNJD zN76|@O8wqTyI^EiB<$+M* hU!Yt4h39lFac#2&AS0RMExk#yo>X70S9~uR{V~+Z z$bJg$TE{j43hK2qvrPc0n5usf0A7v8J4IXYIDgQ0$Q#gPZ&b8((X?L|k-z3RS@Oyu z?Uly;qRws+XC*ZmTboRI$vZJ>leW^g72FzckCrKEk#4tG9
!{qr^NwIJ|!S}3G6OG%-t?F)@gE*cJ3Bh?&}s1 z#AQ&$3XzYQ$bH2BIw|-Dz&deUTZ{3=$LBWA*sfs>A^sQ}iAf SD_741+*<&fRN<5ez5A@9MHZ H9VVdkej$F6LKK{}r8PFdWSRU6 zCM57*qNsm<)9CeIqptr4$)zj5fT!z!AZMoQlTGYkb?wIPvkC6Ca _84u7Zali9y7@22Sof;GJJg_RLBw54Sz_$NIz>}BD84YiQ%ZgW1BfDkTIlN=u z+)a>ScFKx|yWZZdbv%a}tk1!H%y}WtocFGciR_w1-sqNHh}yVU^sc?* YEEIi8!0Y$k4Q8JoXk-hd5PG*aOG3T&5pCEi|rQ;;WU7U>_s(4%7k}>KE=acbbcL zxo7EUY_L@*%b+?_I;~UuWNP+_osaMO{GM++3DkN-O%ZySs)M#!lWJ84!6pMeRjHXv z^0e=VSa`G@8lHX{V;14UJ{tY*=)80bhgy@!5RSp7w?XhOGf&+sUXE0IR&d?{4Leyz z_xM-bxu&S>NTxKLA2`lGBF*!*)^UQ7MuGJkBZKBRVRsc8rBNXj#;a!afT $~gArOuBvo10GK5$qhrb#z~MR^Q=3pon|K?I!*vmUTwZvFKEH!aK+Y1I=PMopJXh1F2=C- zI*`P8T8~wMYP9s$PG8CZNr#al03J-Xiz1#6UNh5Hq@S)v;^;M4rtp|YQIr2dJVRdk z &YMf162FZ2l}S#7$TL7kGs2$j?QcN03?yKr`Vi7jh%PgaGAeOk)5Nm>s- zph#bG(z|Pk{v=7epyVg3oo$^Th|XF0FqKlVfd; rZV=;CnJ zCHRAl+J GAFK2yf8XC2VdXrXgeaCig_!;uI5Pd*DkFn z$na}ssC*K5gg#lPE)A! u45en(S78M7IfH$ zI+iNI6Z |WfTbjn}
2s9d z+d)cepA $GS)xLJzY4qAA08$nEWpAc=cd*j}6wj6E-S$q-MEr$-~Sk z`TB`)g8%srtny<)GKtjgbWy9za9=+%|0xZhRm`M<^=6vhgJ|OhV>-r$ePi=jz$BR6 zQ%685HO%c8#D*r}>oIbemxQall)xuC$sK=L`&20+|GSVHucw6CbA<%em;hGV-J+^K z?QuUR93EyXqA%?)G}wv7AZv{R7D_DFSa$Y%g11!QQ?2cINa0d^>MWPnpI4Opm_Z%v z L4?$~m+oe^&lDR<7oLnWoq%i)Yy=Zu z_H~!;GQIT0JKR$tDaDkOR(07O-nUY8MVHMXoTP@rH5)n9h_PrW_ScsgV_Pkfr=$w# z68`FG=i|`=7_PB*blB$cx^rnw>AS&Ph&zZ0(-C310ifjSl6Vtl5VkFM(!xf^B4qQx zj9sUE3#zJS&i-YLuStH_!^`80(`_uoHAXmjN%LV70m