From f3e330789cbc25f293f59f380249e1d7edf2c6e2 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 12:12:15 +0400 Subject: [PATCH 01/36] Add legacy docs for .NET client --- .gitignore | 4 + docs/.vuepress/client.ts | 6 + docs/.vuepress/config.ts | 2 +- docs/.vuepress/configs/navbar.ts | 2 +- docs/.vuepress/versions.json | 3 +- docs/clients/grpc/dotnet/README.md | 9 - docs/clients/grpc/dotnet/appending-events.md | 87 ------- docs/clients/grpc/dotnet/authentication.md | 60 ----- docs/clients/grpc/dotnet/delete-stream.md | 36 --- docs/clients/grpc/dotnet/getting-started.md | 107 -------- docs/clients/grpc/dotnet/observability.md | 102 -------- .../grpc/dotnet/persistent-subscriptions.md | 164 ------------ docs/clients/grpc/dotnet/projections.md | 173 ------------- docs/clients/grpc/dotnet/reading-events.md | 135 ---------- docs/clients/grpc/dotnet/release-notes.md | 11 - docs/clients/grpc/dotnet/subscriptions.md | 234 ------------------ import/repos.json | 9 +- 17 files changed, 20 insertions(+), 1124 deletions(-) delete mode 100644 docs/clients/grpc/dotnet/README.md delete mode 100644 docs/clients/grpc/dotnet/appending-events.md delete mode 100644 docs/clients/grpc/dotnet/authentication.md delete mode 100644 docs/clients/grpc/dotnet/delete-stream.md delete mode 100644 docs/clients/grpc/dotnet/getting-started.md delete mode 100644 docs/clients/grpc/dotnet/observability.md delete mode 100644 docs/clients/grpc/dotnet/persistent-subscriptions.md delete mode 100644 docs/clients/grpc/dotnet/projections.md delete mode 100644 docs/clients/grpc/dotnet/reading-events.md delete mode 100644 docs/clients/grpc/dotnet/release-notes.md delete mode 100644 docs/clients/grpc/dotnet/subscriptions.md diff --git a/.gitignore b/.gitignore index 8a174af7f..6b045b146 100644 --- a/.gitignore +++ b/.gitignore @@ -344,3 +344,7 @@ generated-versions.json docs/.vuepress/.temp/ docs/.vuepress/.cache/ docs/.vuepress/dist/ + +config.ts.*.mjs + +docs/clients/grpc/dotnet/* diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index cbbc5565c..da3b6f93f 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -102,6 +102,12 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); + addDynamicRoute('/clients/grpc/:lang', + to => { + const latest = __VERSIONS__.all.filter(x => x.id == `${to.params.lang}-client`)[0].versions[0].version; + return `/clients/grpc/${to.params.lang}/${latest}/getting-started.html` + }); + addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/client/:lang', to => { diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index 45782bc99..8d0ed5b94 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -37,7 +37,7 @@ export default defineUserConfig({ extendsMarkdown: md => { md.use(replaceLinkPlugin, { replaceLink: (link: string, _) => link - .replace("@server/", "/server/{version}/") + .replace("@server/", `/${ver.latest}/`) .replace("@clients/grpc/", "/clients/grpc/") .replace("@client/dotnet/5.0/", "/clients/tcp/dotnet/21.2/") .replace("@clients/http-api/", "/http-api/{version}/") diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index b457dc3e2..24190a3b7 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -27,7 +27,7 @@ export const navbarEn: NavbarOptions = [ { text: "Clients", children: [ - { text: ".NET", link: "/clients/grpc/dotnet/getting-started.html" }, + { text: ".NET", link: `/clients/grpc/dotnet/` }, { text: "Python", link: "/clients/grpc/python/getting-started.html" }, { text: "Node.js", link: "/clients/grpc/nodejs/getting-started.html" }, { text: "Java", link: "/clients/grpc/java/getting-started.html" }, diff --git a/docs/.vuepress/versions.json b/docs/.vuepress/versions.json index aa99331f7..e5bd84cc0 100644 --- a/docs/.vuepress/versions.json +++ b/docs/.vuepress/versions.json @@ -1,5 +1,6 @@ [ "../../http-api/generated-versions.json", "../../server/generated-versions.json", - "../../server/kubernetes-operator/versions.json" + "../../server/kubernetes-operator/versions.json", + "../../clients/grpc/dotnet/generated-versions.json" ] diff --git a/docs/clients/grpc/dotnet/README.md b/docs/clients/grpc/dotnet/README.md deleted file mode 100644 index 16b17ac0c..000000000 --- a/docs/clients/grpc/dotnet/README.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -index: false ---- - -# .NET - -Learn how to use the KurrentDB C# client library to interact with the database. - - \ No newline at end of file diff --git a/docs/clients/grpc/dotnet/appending-events.md b/docs/clients/grpc/dotnet/appending-events.md deleted file mode 100644 index 441d2d214..000000000 --- a/docs/clients/grpc/dotnet/appending-events.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -order: 2 -head: - - - title - - {} - - Appending Events | .NET | Clients | Kurrent Docs ---- - -# Appending Events - -When you start working with KurrentDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs. - -::: tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Append your first event - -The simplest way to append an event to KurrentDB is to create an `EventData` object and call `AppendToStream` method. - -@[code{append-to-stream}](@grpc:appending-events/Program.cs) - -`AppendToStream` takes a collection of `EventData`, which allows you to save more than one event in a single batch. - -Outside the example above, other options exist for dealing with different scenarios. - -::: tip -If you are new to Event Sourcing, please study the [Handling concurrency](#handling-concurrency) section below. -::: - -## Working with EventData - -Events appended to KurrentDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**. - -### eventId - -This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, KurrentDB will only append one of the events to the stream. - -For example, the following code will only append a single event: - -@[code{append-duplicate-event}](@grpc:appending-events/Program.cs) - -![Duplicate Event](../images/duplicate-event.png) - -### type - -Each event should be supplied with an event type. This unique string is used to identify the type of event you are saving. - -It is common to see the explicit event code type name used as the type as it makes serialising and de-serialising of the event easy. However, we recommend against this as it couples the storage to the type and will make it more difficult if you need to version the event at a later date. - -### data - -Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of KurrentDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes. - -### metadata - -Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. KurrentDB allows you to store a separate byte array containing this information to keep it separate. - -### isJson - -Simple boolean field to tell KurrentDB if the event is stored as json, true by default. - -## Handling concurrency - -When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform KurrentDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown. - -For example, if you try to append the same record twice, expecting both times that the stream doesn't exist, you will get an exception on the second: - -@[code{append-with-no-stream}](@grpc:appending-events/Program.cs) - -There are three available stream states: -- `Any` -- `NoStream` -- `StreamExists` - -This check can be used to implement optimistic concurrency. When retrieving a stream from KurrentDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime. - -@[code{append-with-concurrency-check}](@grpc:appending-events/Program.cs) - - - -## User credentials - -You can provide user credentials to append the data as follows. This will override the default credentials set on the connection. - -@[code{overriding-user-credentials}](@grpc:appending-events/Program.cs) - diff --git a/docs/clients/grpc/dotnet/authentication.md b/docs/clients/grpc/dotnet/authentication.md deleted file mode 100644 index 9ab8ea44c..000000000 --- a/docs/clients/grpc/dotnet/authentication.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Authentication -order: 7 -head: - - - title - - {} - - Authentication | .NET | Clients | Kurrent Docs ---- - -## Client x.509 certificate - -X.509 certificates are digital certificates that use the X.509 public key infrastructure (PKI) standard to verify the identity of clients and servers. They play a crucial role in establishing a secure connection by providing a way to authenticate identities and establish trust. - -### Prerequisites - -1. KurrentDB 25.0 or greater, or EventStoreDB 24.10. -2. A commercial license with the User Certificates entitlement. -3. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/kurrent-io/es-gencert-cli). -4. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information. -5. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates) - -#### Generate user certificates - -The following command uses the [gencert tool](https://github.com/kurrent-io/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days: - -::: tabs#os -@tab bash -```bash -./es-gencert-cli create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -@tab PowerShell -```powershell -.\es-gencert-cli.exe create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -::: - -### Connect to KurrentDB using an x.509 certificate - -To connect to KurrentDB using an x.509 certificate, you need to provide the -certificate and the private key to the client. If both username/password and -certificate authentication data are supplied, the client prioritizes user -credentials for authentication. The client will throw an error if the -certificate and the key are not both provided. - -::: tip -Please note that currently, password-protected private key files are not supported. -::: - -The client supports the following parameters: - -| Parameter | Description | -|----------------|--------------------------------------------------------------------------------| -| `userCertFile` | The file containing the X.509 user certificate in PEM format. | -| `userKeyFile` | The file containing the user certificate’s matching private key in PEM format. | - -To authenticate, include these two parameters in your connection string or constructor when initializing the client. - -Check the samples for the following clients: - -@[code{client-with-user-certificates}](@grpc:user-certificates/Program.cs) \ No newline at end of file diff --git a/docs/clients/grpc/dotnet/delete-stream.md b/docs/clients/grpc/dotnet/delete-stream.md deleted file mode 100644 index 79daeb2e0..000000000 --- a/docs/clients/grpc/dotnet/delete-stream.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -order: 9 -head: - - - title - - {} - - Deleting Events | .NET | Clients | Kurrent Docs ---- - -# Deleting Events - -In KurrentDB, you can delete events and streams either partially or completely. Settings like $maxAge and $maxCount help control how long events are kept or how many events are stored in a stream, but they won't delete the entire stream. -When you need to fully remove a stream, KurrentDB offers two options: Soft Delete and Hard Delete. - -## Soft delete - -Soft delete in KurrentDB allows you to mark a stream for deletion without completely removing it, so you can still add new events later. While you can do this through the UI, using code is often better for automating the process, -handling many streams at once, or including custom rules. Code is especially helpful for large-scale deletions or when you need to integrate soft deletes into other workflows. - -```csharp -await client.DeleteAsync(streamName, StreamState.Any); -``` - -::: note -Clicking the delete button in the UI performs a soft delete, -setting the TruncateBefore value to remove all events up to a certain point. -While this marks the events for deletion, actual removal occurs during the next scavenging process. -The stream can still be reopened by appending new events. -::: - -## Hard delete - -Hard delete in KurrentDB permanently removes a stream and its events. While you can use the HTTP API, code is often better for automating the process, managing multiple streams, and ensuring precise control. Code is especially useful when you need to integrate hard delete into larger workflows or apply specific conditions. Note that when a stream is hard deleted, you cannot reuse the stream name, it will raise an exception if you try to append to it again. - -```csharp -await client.TombstoneAsync(streamName, StreamState.Any); -``` \ No newline at end of file diff --git a/docs/clients/grpc/dotnet/getting-started.md b/docs/clients/grpc/dotnet/getting-started.md deleted file mode 100644 index 04e37576b..000000000 --- a/docs/clients/grpc/dotnet/getting-started.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -order: 1 -head: - - - title - - {} - - Getting Started | .NET | Clients | Kurrent Docs ---- - -# Getting started - -Get started by connecting your application to KurrentDB. - -## Connecting to KurrentDB - -To connect your application to KurrentDB, instantiate and configure the client. - -::: tip Insecure clusters -All our GRPC clients are secure by default and must be configured to connect to an insecure server via [a connection string](#connection-string) or the client's configuration. -::: - -### Required packages - -Add the .NET `KurrentDB.Client` package to your project: - -```bash -dotnet add package KurrentDB.Client -``` - - -### Connection string - -Each SDK has its own way of configuring the client, but the connection string can always be used. -The KurrentDB connection string supports two schemas: `kurrentdb://` for connecting to a single-node server, and `kurrentdb+discover://` for connecting to a multi-node cluster. The difference between the two schemas is that when using `kurrentdb://`, the client will connect directly to the node; with `kurrentdb+discover://` schema the client will use the gossip protocol to retrieve the cluster information and choose the right node to connect to. -Since version 22.10, ESDB supports gossip on single-node deployments, so `kurrentdb+discover://` schema can be used for connecting to any topology. - -The connection string has the following format: - -``` -kurrentdb+discover://admin:changeit@cluster.dns.name:2113 -``` - -There, `cluster.dns.name` is the name of a DNS `A` record that points to all the cluster nodes. Alternatively, you can list cluster nodes separated by comma instead of the cluster DNS name: - -``` -kurrentdb+discover://admin:changeit@node1.dns.name:2113,node2.dns.name:2113,node3.dns.name:2113 -``` - -There are a number of query parameters that can be used in the connection string to instruct the cluster how and where the connection should be established. All query parameters are optional. - -| Parameter | Accepted values | Default | Description | -|-----------------------|---------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------| -| `tls` | `true`, `false` | `true` | Use secure connection, set to `false` when connecting to a non-secure server or cluster. | -| `connectionName` | Any string | None | Connection name | -| `maxDiscoverAttempts` | Number | `10` | Number of attempts to discover the cluster. | -| `discoveryInterval` | Number | `100` | Cluster discovery polling interval in milliseconds. | -| `gossipTimeout` | Number | `5` | Gossip timeout in seconds, when the gossip call times out, it will be retried. | -| `nodePreference` | `leader`, `follower`, `random`, `readOnlyReplica` | `leader` | Preferred node role. When creating a client for write operations, always use `leader`. | -| `tlsVerifyCert` | `true`, `false` | `true` | In secure mode, set to `true` when using an untrusted connection to the node if you don't have the CA file available. Don't use in production. | -| `tlsCaFile` | String, file path | None | Path to the CA file when connecting to a secure cluster with a certificate that's not signed by a trusted CA. | -| `defaultDeadline` | Number | None | Default timeout for client operations, in milliseconds. Most clients allow overriding the deadline per operation. | -| `keepAliveInterval` | Number | `10` | Interval between keep-alive ping calls, in seconds. | -| `keepAliveTimeout` | Number | `10` | Keep-alive ping call timeout, in seconds. | -| `userCertFile` | String, file path | None | User certificate file for X.509 authentication. | -| `userKeyFile` | String, file path | None | Key file for the user certificate used for X.509 authentication. | - -When connecting to an insecure instance, specify `tls=false` parameter. For example, for a node running locally use `kurrentdb://localhost:2113?tls=false`. Note that usernames and passwords aren't provided there because insecure deployments don't support authentication and authorisation. - -### Creating a client - -First, create a client and get it connected to the database. - -@[code{createClient}](@grpc:quick-start/Program.cs) - -The client instance can be used as a singleton across the whole application. It doesn't need to open or close the connection. - -### Creating an event - -You can write anything to KurrentDB as events. The client needs a byte array as the event payload. Normally, you'd use a serialized object, and it's up to you to choose the serialization method. - -::: tip Server-side projections -User-defined server-side projections require events to be serialized in JSON format. - -We use JSON for serialization in the documentation examples. -::: - -The code snippet below creates an event object instance, serializes it, and adds it as a payload to the `EventData` structure, which the client can then write to the database. - -@[code{createEvent}](@grpc:quick-start/Program.cs) - -### Appending events - -Each event in the database has its own unique identifier (UUID). The database uses it to ensure idempotent writes, but it only works if you specify the stream revision when appending events to the stream. - -In the snippet below, we append the event to the stream `some-stream`. - -@[code{appendEvents}](@grpc:quick-start/Program.cs) - -Here we are appending events without checking if the stream exists or if the stream version matches the expected event version. See more advanced scenarios in [appending events documentation](./appending-events.md). - -### Reading events - -Finally, we can read events back from the `some-stream` stream. - -@[code{readStream}](@grpc:quick-start/Program.cs) - -When you read events from the stream, you get a collection of `ResolvedEvent` structures. The event payload is returned as a byte array and needs to be deserialized. See more advanced scenarios in [reading events documentation](./reading-events.md). - diff --git a/docs/clients/grpc/dotnet/observability.md b/docs/clients/grpc/dotnet/observability.md deleted file mode 100644 index 0bb225fec..000000000 --- a/docs/clients/grpc/dotnet/observability.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -order: 8 -head: - - - title - - {} - - Observability | .NET | Clients | Kurrent Docs ---- - -# Observability - -The KurrentDB gRPC clients are designed with observability in mind, offering -support for OpenTelemetry. This integration provides a set of distributed -traces, enabling developers to gain deeper insights into their system. - -::: warning -Currently, OpenTelemetry observability support is not available for all -clients. Moreover, instrumentation is only provided for append and -subscribe operations, which includes both 'Catchup' and 'Persistent' modes. -::: - -Click [here](https://github.com/kurrent-io/KurrentDB-Client-Dotnet/blob/master/samples/diagnostics/Program.cs) to view the full sample code for observability. - -## Required packages - -The KurrentDB C# client includes OpenTelemetry support by default. - -## Instrumentation - -To emit trace data, you must first install and use the dedicated package, as instructed in the -[Required Packages](./observability.md#required-packages) section, if provided. This package -includes the necessary instrumentation that needs to be registered with the client. - -@[code{register-instrumentation}](@grpc:diagnostics/Program.cs) - -## Traces - -Traces provide a clear picture of how operations are carried out in a -distributed system, making it easier to maintain and enhance the system over -time. Traces from the clients can be exported to any compatible collector that -supports the OpenTelemetry protocol (OTLP). - -In order for the client to emit traces, you need to need to enable -instrumentation as described in -[Instrumentation](./observability.md#instrumentation). - -For more guidance on setting up and utilizing tracing, refer to the -[OpenTelemetry](https://opentelemetry.io/) documentation. - -An example of a trace is shown below: - -```bash -Activity.TraceId: 8da04787239dbb85c1f9c6fba1b1f0d6 -Activity.SpanId: 4352ec4a66a20b95 -Activity.TraceFlags: Recorded -Activity.ActivitySourceName: kurrentdb -Activity.DisplayName: streams.append -Activity.Kind: Client -Activity.StartTime: 2024-05-29T06:50:41.2519016Z -Activity.Duration: 00:00:00.1500707 -Activity.Tags: - db.kurrentdb.stream: d7caa2a5-1e19-4108-9541-58d5fba02d42 - server.address: localhost - server.port: 2113 - db.system: kurrentdb - db.operation: streams.append -StatusCode: Ok -Resource associated with Activity: - service.name: sample - service.instance.id: 7316ef20-c354-4e64-97da-c1b99c2c28b0 - telemetry.sdk.name: opentelemetry - telemetry.sdk.language: dotnet - telemetry.sdk.version: 1.8.1 -``` - -In this case, the trace is for an append operation on a stream. The trace -includes the trace ID, span ID, trace flags, activity source name, display name, -kind, start time, duration, tags, status code, and resource associated with the -activity. - -::: note -The structure of the trace may vary depending on the client and the operation -being performed but will generally include the same information. -::: - -## Exporting traces - -You can set up various exporters to send traces to different destinations. -Additionally, you have the option to export these traces to a collector of your -choice, such as [Jaeger](https://www.jaegertracing.io/) or [Seq](https://datalust.co/seq). - -For instance, if you choose to use Jaeger as your backend of choice, you can -view your traces in the Jaeger UI, which provides a powerful interface for -querying and visualizing your trace data. - -The code snippets below demonstrate how to set up one or more exporters for each -client: - -@[code{setup-exporter}](@grpc:diagnostics/Program.cs) - -For more details on configuring exporters for specific programming languages, -refer to the [OpenTelemetry](https://opentelemetry.io/docs/languages/) -documentation. diff --git a/docs/clients/grpc/dotnet/persistent-subscriptions.md b/docs/clients/grpc/dotnet/persistent-subscriptions.md deleted file mode 100644 index 6432c79fb..000000000 --- a/docs/clients/grpc/dotnet/persistent-subscriptions.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -order: 5 -head: - - - title - - {} - - Persistent Subscriptions | .NET | Clients | Kurrent Docs ---- - -# Persistent Subscriptions - -Persistent subscriptions are similar to catch-up subscriptions, but there are two key differences: -- The subscription checkpoint is maintained by the server. It means that when your client reconnects to the persistent subscription, it will automatically resume from the last known position. -- It's possible to connect more than one event consumer to the same persistent subscription. In that case, the server will load-balance the consumers, depending on the defined strategy, and distribute the events to them. - -Because of those, persistent subscriptions are defined as subscription groups that are defined and maintained by the server. Consumer then connect to a particular subscription group, and the server starts sending event to the consumer. - -You can read more about persistent subscriptions in the [server documentation](@server/features/persistent-subscriptions.md). - -## Creating a subscription group - -The first step of dealing with a persistent subscription is to create a subscription group. You will receive an error if you attempt to create a subscription group multiple times. You must have admin permissions to create a persistent subscription group. - -### Subscribing to one stream - -The following sample shows how to create a subscription group for a persistent subscription where you want to receive events from a specific stream. It could be a normal stream, or a stream of links (like `$ce` category stream). - -@[code{create-persistent-subscription-to-stream}](@grpc:persistent-subscriptions/Program.cs) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to create. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -### Subscribing to $all - -The ability to subscribe to `$all` was introduced in EventStoreDB **21.10**. Persistent subscriptions to `$all` also support [filtering](subscriptions.md#server-side-filtering). - -You can create a subscription group on $all much the same way you would create a subscription group on a stream: - -@[code{create-persistent-subscription-to-all}](@grpc:persistent-subscriptions/Program.cs) - -## Connecting a consumer - -Once you have created a subscription group, clients can connect to it. A subscription in your application should only have the connection in your code, you should assume that the subscription already exists. - -The most important parameter to pass when connecting is the buffer size. This represents how many outstanding messages the server should allow this client. If this number is too small, your subscription will spend much of its time idle as it waits for an acknowledgment to come back from the client. If it's too big, you waste resources and can start causing time out messages depending on the speed of your processing. - -### Connecting to one stream - -The code below shows how to connect to an existing subscription group for a specific stream: - -@[code{subscribe-to-persistent-subscription-to-stream}](@grpc:persistent-subscriptions/Program.cs) - -| Parameter | Description | -|:----------------------|:---------------------------------------------------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to subscribe to. | -| `eventAppeared` | The action to call when an event arrives over the subscription. | -| `subscriptionDropped` | The action to call if the subscription is dropped. | -| `credentials` | The user credentials to use for this operation. | -| `bufferSize` | The number of in-flight messages this client is allowed. **Default: 10** | -| `autoAck` | Whether to automatically acknowledge messages after eventAppeared returns. **Default: true** | - -::: warning -The `autoAck` parameter will be deprecated in the next client release. You'll need to explicitly [manage acknowledgements](#acknowledgements). -::: - -### Connecting to $all - -The code below shows how to connect to an existing subscription group for `$all`: - -@[code{subscribe-to-persistent-subscription-to-all}](@grpc:persistent-subscriptions/Program.cs) - -The `SubscribeToAllAsync` method is identical to the `SubscribeToStreamAsync` method, except that you don't need to specify a stream name. - -## Acknowledgements - -Clients must acknowledge (or not acknowledge) messages in the competing consumer model. - -If processing is successful, you must send an Ack (acknowledge) to the server to let it know that the message has been handled. If processing fails for some reason, then you can Nack (not acknowledge) the message and tell the server how to handle the failure. - -@[code{subscribe-to-persistent-subscription-with-manual-acks}](@grpc:persistent-subscriptions/Program.cs) - -The _Nack event action_ describes what the server should do with the message: - -| Action | Description | -|:----------|:---------------------------------------------------------------------| -| `Unknown` | The client does not know what action to take. Let the server decide. | -| `Park` | Park the message and do not resend. Put it on poison queue. | -| `Retry` | Explicitly retry the message. | -| `Skip` | Skip this message do not resend and do not put in poison queue. | - -## Consumer strategies - -When creating a persistent subscription, you can choose between a number of consumer strategies. - -### RoundRobin (default) - -Distributes events to all clients evenly. If the client `bufferSize` is reached, the client won't receive more events until it acknowledges or not acknowledges events in its buffer. - -This strategy provides equal load balancing between all consumers in the group. - -### DispatchToSingle - -Distributes events to a single client until the `bufferSize` is reached. After that, the next client is selected in a round-robin style, and the process repeats. - -This option can be seen as a fall-back scenario for high availability, when a single consumer processes all the events until it reaches its maximum capacity. When that happens, another consumer takes the load to free up the main consumer resources. - -### Pinned - -For use with an indexing projection such as the system `$by_category` projection. - -KurrentDB inspects the event for its source stream id, hashing the id to one of 1024 buckets assigned to individual clients. When a client disconnects, its buckets are assigned to other clients. When a client connects, it is assigned some existing buckets. This naively attempts to maintain a balanced workload. - -The main aim of this strategy is to decrease the likelihood of concurrency and ordering issues while maintaining load balancing. This is **not a guarantee**, and you should handle the usual ordering and concurrency issues. - -## Updating a subscription group - -You can edit the settings of an existing subscription group while it is running, you don't need to delete and recreate it to change settings. When you update the subscription group, it resets itself internally, dropping the connections and having them reconnect. You must have admin permissions to update a persistent subscription group. - -@[code{update-persistent-subscription}](@grpc:persistent-subscriptions/Program.cs) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to update. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -## Persistent subscription settings - -Both the `Create` and `Update` methods take some settings for configuring the persistent subscription. - -The following table shows the configuration options you can set on a persistent subscription. - -| Option | Description | Default | -|:------------------------|:----------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------| -| `ResolveLinkTos` | Whether the subscription should resolve link events to their linked events. | `false` | -| `StartFrom` | The exclusive position in the stream or transaction file the subscription should start from. | `null` (start from the end of the stream) | -| `ExtraStatistics` | Whether to track latency statistics on this subscription. | `false` | -| `MessageTimeout` | The amount of time after which to consider a message as timed out and retried. | `30` (seconds) | -| `MaxRetryCount` | The maximum number of retries (due to timeout) before a message is considered to be parked. | `10` | -| `LiveBufferSize` | The size of the buffer (in-memory) listening to live messages as they happen before paging occurs. | `500` | -| `ReadBatchSize` | The number of events read at a time when paging through history. | `20` | -| `HistoryBufferSize` | The number of events to cache when paging through history. | `500` | -| `CheckPointAfter` | The amount of time to try to checkpoint after. | `2` seconds | -| `MinCheckPointCount` | The minimum number of messages to process before a checkpoint may be written. | `10` | -| `MaxCheckPointCount` | The maximum number of messages not checkpointed before forcing a checkpoint. | `1000` | -| `MaxSubscriberCount` | The maximum number of subscribers allowed. | `0` (unbounded) | -| `NamedConsumerStrategy` | The strategy to use for distributing events to client consumers. See the [consumer strategies](#consumer-strategies) in this doc. | `RoundRobin` | - -## Deleting a subscription group - -Remove a subscription group with the delete operation. Like the creation of groups, you rarely do this in your runtime code and is undertaken by an administrator running a script. - -@[code{delete-persistent-subscription}](@grpc:persistent-subscriptions/Program.cs) - -| Parameter | Description | -|:--------------|:-----------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to delete. | -| `credentials` | The user credentials to use for this operation | diff --git a/docs/clients/grpc/dotnet/projections.md b/docs/clients/grpc/dotnet/projections.md deleted file mode 100644 index 406261e25..000000000 --- a/docs/clients/grpc/dotnet/projections.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -order: 6 -title: Projections -head: - - - title - - {} - - Projections | .NET | Clients | Kurrent Docs ---- - -# Projection management - -The various gRPC client APIs include dedicated clients that allow you to manage projections. - -For a detailed explanation of projections, see the [server documentation](@server/features/projections/README.md). - -You can find the full sample code from this documentation page in the respective [clients repositories](https://github.com/kurrent-io/?q=client). - -## Creating a client - -Projection management operations are exposed through a dedicated client. - -@[code{createClient}](@grpc:projection-management/Program.cs) - -## Create a projection - -Creates a projection that runs until the last event in the store, and then continues processing new events as they are appended to the store. The query parameter contains the JavaScript you want created as a projection. -Projections have explicit names, and you can enable or disable them via this name. - -@[code{CreateContinuous}](@grpc:projection-management/Program.cs) - -Trying to create projections with the same name will result in an error: - -@[code{CreateContinuous_Conflict}](@grpc:projection-management/Program.cs) - -## Restart the subsystem - -It is possible to restart the entire projection subsystem using the projections management client API. The user must be in the `$ops` or `$admin` group to perform this operation. - -@[code{RestartSubSystem}](@grpc:projection-management/Program.cs) - -## Enable a projection - -Enables an existing projection by name. -Once enabled, the projection will start to process events even after restarting the server or the projection subsystem. -You must have access to a projection to enable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Enable}](@grpc:projection-management/Program.cs) - -You can only enable an existing projection. When you try to enable a non-existing projection, you'll get an error: - -@[code{EnableNotFound}](@grpc:projection-management/Program.cs) - -## Disable a projection - -Disables a projection, this will save the projection checkpoint. -Once disabled, the projection will not process events even after restarting the server or the projection subsystem. -You must have access to a projection to disable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Disable}](@grpc:projection-management/Program.cs) - -You can only disable an existing projection. When you try to disable a non-existing projection, you'll get an error: - -@[code{DisableNotFound}](@grpc:projection-management/Program.cs) - -## Delete a projection - -This feature is not available for this client. - -## Abort a projection - -Aborts a projection, this will not save the projection's checkpoint. - -@[code{Abort}](@grpc:projection-management/Program.cs) - -You can only abort an existing projection. When you try to abort a non-existing projection, you'll get an error: - -@[code{Abort_NotFound}](@grpc:projection-management/Program.cs) - -## Reset a projection - -Resets a projection, which causes deleting the projection checkpoint. This will force the projection to start afresh and re-emit events. Streams that are written to from the projection will also be soft-deleted. - -@[code{Reset}](@grpc:projection-management/Program.cs) - -Resetting a projection that does not exist will result in an error. - -@[code{Reset_NotFound}](@grpc:projection-management/Program.cs) - -## Update a projection - -Updates a projection with a given name. The query parameter contains the new JavaScript. Updating system projections using this operation is not supported at the moment. - -@[code{Update}](@grpc:projection-management/Program.cs) - -You can only update an existing projection. When you try to update a non-existing projection, you'll get an error: - -@[code{Update_NotFound}](@grpc:projection-management/Program.cs) - -## List all projections - -Returns a list of all projections, user defined & system projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListAll}](@grpc:projection-management/Program.cs) - -## List continuous projections - -Returns a list of all continuous projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListContinuous}](@grpc:projection-management/Program.cs) - -## Get status - -Gets the status of a named projection. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{GetStatus}](@grpc:projection-management/Program.cs) - -## Get state - -Retrieves the state of a projection. - -@[code{GetState}](@grpc:projection-management/Program.cs) - -## Get result - -Retrieves the result of the named projection and partition. - -@[code{GetResult}](@grpc:projection-management/Program.cs) - -## Projection Details - -[List all](#list-all-projections), [list continuous](#list-continuous-projections) and [get status](#get-status) all return the details and statistics of projections - -| Field | Description | -|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `Name`, `EffectiveName` | The name of the projection | -| `Status` | A human readable string of the current statuses of the projection (see below) | -| `StateReason` | A human readable string explaining the reason of the current projection state | -| `CheckpointStatus` | A human readable string explaining the current operation performed on the checkpoint : `requested`, `writing` | -| `Mode` | `Continuous`, `OneTime` , `Transient` | -| `CoreProcessingTime` | The total time, in ms, the projection took to handle events since the last restart | -| `Progress` | The progress, in %, indicates how far this projection has processed event, in case of a restart this could be -1% or some number. It will be updated as soon as a new event is appended and processed | -| `WritesInProgress` | The number of write requests to emitted streams currently in progress, these writes can be batches of events | -| `ReadsInProgress` | The number of read requests currently in progress | -| `PartitionsCached` | The number of cached projection partitions | -| `Position` | The Position of the last processed event | -| `LastCheckpoint` | The Position of the last checkpoint of this projection | -| `EventsProcessedAfterRestart` | The number of events processed since the last restart of this projection | -| `BufferedEvents` | The number of events in the projection read buffer | -| `WritePendingEventsBeforeCheckpoint` | The number of events waiting to be appended to emitted streams before the pending checkpoint can be written | -| `WritePendingEventsAfterCheckpoint` | The number of events to be appended to emitted streams since the last checkpoint | -| `Version` | This is used internally, the version is increased when the projection is edited or reset | -| `Epoch` | This is used internally, the epoch is increased when the projection is reset | - -The `Status` string is a combination of the following values. -The first 3 are the most common one, as the other one are transient values while the projection is initialised or stopped - -| Value | Description | -|--------------------|-------------------------------------------------------------------------------------------------------------------------| -| Running | The projection is running and processing events | -| Stopped | The projection is stopped and is no longer processing new events | -| Faulted | An error occurred in the projection, `StateReason` will give the fault details, the projection is not processing events | -| Initial | This is the initial state, before the projection is fully initialised | -| Suspended | The projection is suspended and will not process events, this happens while stopping the projection | -| LoadStateRequested | The state of the projection is being retrieved, this happens while the projection is starting | -| StateLoaded | The state of the projection is loaded, this happens while the projection is starting | -| Subscribed | The projection has successfully subscribed to its readers, this happens while the projection is starting | -| FaultedStopping | This happens before the projection is stopped due to an error in the projection | -| Stopping | The projection is being stopped | -| CompletingPhase | This happens while the projection is stopping | -| PhaseCompleted | This happens while the projection is stopping | diff --git a/docs/clients/grpc/dotnet/reading-events.md b/docs/clients/grpc/dotnet/reading-events.md deleted file mode 100644 index 2facf6853..000000000 --- a/docs/clients/grpc/dotnet/reading-events.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -order: 3 -head: - - - title - - {} - - Reading Events | .NET | Clients | Kurrent Docs ---- - -# Reading Events - -There are two options for reading events from KurrentDB. You can either: - 1. Read from an individual stream, or - 2. Read from the `$all` stream, which will return all events in the store. - -Each event in KurrentDB belongs to an individual stream. When reading events, pick the name of the stream from which you want to read the events and choose whether to read the stream forwards or backwards. - -All events have a `StreamPosition` and a `Position`. `StreamPosition` is a *big int* (unsigned 64-bit integer) and represents the place of the event in the stream. `Position` is the event's logical position, and is represented by `CommitPosition` and a `PreparePosition`. Note that when reading events you will supply a different "position" depending on whether you are reading from an individual stream or the `$all` stream. - -:::tip -Check [connecting to KurrentDB instructions](getting-started.md#required-packages) to learn how to configure and use the client SDK. -::: - -## Reading from a stream - -You can read all the events or a sample of the events from individual streams, starting from any position in the stream, and can read either forward or backward. It is only possible to read events from a single stream at a time. You can read events from the global event log, which spans across streams. Learn more about this process in the [Read from `$all`](#reading-from-the-all-stream) section below. - -### Reading forwards - -The simplest way to read a stream forwards is to supply a stream name, read direction, and revision from which to start. The revision can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-stream}](@grpc:reading-events/Program.cs) - -This will return an enumerable that can be iterated on: - -@[code{iterate-stream}](@grpc:reading-events/Program.cs) - -There are a number of additional arguments you can provide when reading a stream, listed below. - -#### maxCount - -Passing in the max count will limit the number of events returned. - -#### resolveLinkTos - -When using projections to create new events, you can set whether the generated events are pointers to existing events. Setting this value to `true` tells KurrentDB to return the event as well as the event linking to it. - -#### configureOperationOptions - -You can use the `configureOperationOptions` argument to provide a function that will customise settings for each operation. - -#### userCredentials - -The `userCredentials` argument is optional. It is used to override the default credentials specified when creating the client instance. - -@[code{overriding-user-credentials}](@grpc:reading-events/Program.cs) - -### Reading from a revision - -Instead of providing the `StreamPosition` you can also provide a specific stream revision as a *big int* (unsigned 64-bit integer). - -@[code{read-from-stream-position}](@grpc:reading-events/Program.cs) - -### Reading backwards - -In addition to reading a stream forwards, streams can be read backwards. To read all the events backwards, set the *stream position* to the end: - -@[code{reading-backwards}](@grpc:reading-events/Program.cs) - -:::tip -Read one event backwards to find the last position in the stream. -::: - -### Checking if the stream exists - -Reading a stream returns a `ReadStreamResult`, which contains a property `ReadState`. This property can have the value `StreamNotFound` or `Ok`. - -It is important to check the value of this field before attempting to iterate an empty stream, as it will throw an exception. - -For example: - -@[code{checking-for-stream-presence}](@grpc:reading-events/Program.cs) - -## Reading from the $all stream - -Reading from the `$all` stream is similar to reading from an individual stream, but please note there are differences. One significant difference is the need to provide admin user account credentials to read from the `$all` stream. Additionally, you need to provide a transaction log position instead of a stream revision when reading from the `$all` stream. - -### Reading forwards - -The simplest way to read the `$all` stream forwards is to supply a read direction and the transaction log position from which you want to start. The transaction log postion can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-all-stream}](@grpc:reading-events/Program.cs) - -You can iterate asynchronously through the result: - -@[code{read-from-all-stream-iterate}](@grpc:reading-events/Program.cs) - -There are a number of additional arguments you can provide when reading the `$all` stream. - -#### maxCount - -Passing in the max count allows you to limit the number of events that returned. - -#### resolveLinkTos - -When using projections to create new events you can set whether the generated events are pointers to existing events. Setting this value to true will tell KurrentDB to return the event as well as the event linking to it. - -@[code{read-from-all-stream-resolving-link-Tos}](@grpc:reading-events/Program.cs) - -#### configureOperationOptions - -This argument is generic setting class for all operations that can be set on all operations executed against KurrentDB. - -#### userCredentials -The credentials used to read the data can be used by the subscription as follows. This will override the default credentials set on the connection. - -@[code{read-all-overriding-user-credentials}](@grpc:reading-events/Program.cs) - -### Reading backwards - -In addition to reading the `$all` stream forwards, it can be read backwards. To read all the events backwards, set the *position* to the end: - -@[code{read-from-all-stream-backwards}](@grpc:reading-events/Program.cs) - -:::tip -Read one event backwards to find the last position in the `$all` stream. -::: - -### Handling system events - -KurrentDB will also return system events when reading from the `$all` stream. In most cases you can ignore these events. - -All system events begin with `$` or `$$` and can be easily ignored by checking the `EventType` property. - -@[code{ignore-system-events}](@grpc:reading-events/Program.cs) - diff --git a/docs/clients/grpc/dotnet/release-notes.md b/docs/clients/grpc/dotnet/release-notes.md deleted file mode 100644 index 414943580..000000000 --- a/docs/clients/grpc/dotnet/release-notes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -order: 10 -head: - - - title - - {} - - Release Notes | .NET | Clients | Kurrent Docs ---- - -# Release Notes - -To stay up to date with the latest changes and improvements, including release history, changelogs, upgrade instructions, and migration guides, see the [KurrentDB .NET client release notes](https://github.com/kurrent-io/KurrentDB-Client-Dotnet/releases). \ No newline at end of file diff --git a/docs/clients/grpc/dotnet/subscriptions.md b/docs/clients/grpc/dotnet/subscriptions.md deleted file mode 100644 index d3d67309b..000000000 --- a/docs/clients/grpc/dotnet/subscriptions.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -order: 4 -head: - - - title - - {} - - Catch-up Subscriptions | .NET | Clients | Kurrent Docs ---- - -# Catch-up Subscriptions - -Subscriptions allow you to subscribe to a stream and receive notifications about new events added to the stream. - -You provide an event handler and an optional starting point to the subscription. The handler is called for each event from the starting point onward. - -If events already exist, the handler will be called for each event one by one until it reaches the end of the stream. The server will then notify the handler whenever a new event appears. - -:::tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Subscribing from the start - -If you need to process all the events in the store, including historical events, you'll need to subscribe from the beginning. You can either subscribe to receive events from a single stream or subscribe to `$all` if you need to process all events in the database. - -### Subscribing to a stream - -The simplest stream subscription looks like the following : - -@[code{subscribe-to-stream}](@grpc:subscribing-to-streams/Program.cs) - -The provided handler will be called for every event in the stream. - -When you subscribe to a stream with link events, for example the `$ce` category stream, you need to set `resolveLinkTos` to `true`. Read more about it [below](#resolving-link-to-s). - -### Subscribing to `$all` - -Subscribing to `$all` is similar to subscribing to a single stream. The handler will be called for every event appended after the starting position. - -@[code{subscribe-to-all}](@grpc:subscribing-to-streams/Program.cs) - -## Subscribing from a specific position - -The previous examples subscribed to the stream from the beginning. That subscription invoked the handler for every event in the stream before waiting for new events. - -Both stream and $all subscriptions accept a starting position if you want to read from a specific point onward. If events already exist at the position you subscribe to, they will be read on the server side and sent to the subscription. - -Once caught up, the server will push any new events received on the streams to the client. There is no difference between catching up and live on the client side. - -::: warning -The positions provided to the subscriptions are exclusive. You will only receive the next event after the subscribed position. -::: - -### Subscribing to a stream - -To subscribe to a stream from a specific position, you must provide a *stream position*. This can be `Start`, `End` or a *big int* (unsigned 64 bit integer) position. - -The following subscribes to the stream `some-stream` at position `20`, this means that events `21` and onward will be handled: - -@[code{subscribe-to-stream-from-position}](@grpc:subscribing-to-streams/Program.cs) - -### Subscribing to $all - -Subscribing to the `$all` stream is similar to subscribing to a regular stream. The difference is how to specify the starting position. For the `$all` stream, provide a `Position` structure that consists of two big integers: the prepare and commit positions. Use `Start`, `End`, or create a `Position` from specific commit and prepare values. - -The corresponding `$all` subscription will subscribe from the event after the one at commit position `1056` and prepare position `1056`. - -Please note that this position will need to be a legitimate position in `$all`. - -@[code{subscribe-to-all-from-position}](@grpc:subscribing-to-streams/Program.cs) - -## Subscribing to a stream for live updates - -You can subscribe to a stream to get live updates by subscribing to the end of the stream: - -@[code{subscribe-to-stream-live}](@grpc:subscribing-to-streams/Program.cs) - -And the same works with `$all` : - -@[code{subscribe-to-all-live}](@grpc:subscribing-to-streams/Program.cs) - -This will not read through the history of the stream but will notify the handler when a new event appears in the respective stream. - -Keep in mind that when you subscribe to a stream from a specific position, as described [above](#subscribing-from-a-specific-position), you will also get live updates after your subscription catches up (processes all the historical events). - -## Resolving link-to events - -Link-to events point to events in other streams in KurrentDB. These are generally created by projections such as the `$by_event_type` projection which links events of the same event type into the same stream. This makes it easier to look up all events of a specific type. - -::: tip -[Filtered subscriptions](subscriptions.md#server-side-filtering) make it easier and faster to subscribe to all events of a specific type or matching a prefix. -::: - -When reading a stream you can specify whether to resolve link-to's. By default, link-to events are not resolved. You can change this behaviour by setting the `resolveLinkTos` parameter to `true`: - -@[code{subscribe-to-stream-resolving-linktos}](@grpc:subscribing-to-streams/Program.cs) - -## Dropped subscriptions - -When a subscription stops or experiences an error, it will be dropped. The subscription provides a `subscriptionDropped` callback, which will get called when the subscription breaks. - -The `subscriptionDropped` callback allows you to inspect the reason why the subscription dropped, as well as any exceptions that occurred. - -The possible reasons for a subscription to drop are: - -| Reason | Why it might happen | -|:------------------|:---------------------------------------------------------------------------------------------------------------------| -| `Disposed` | The client canceled or disposed of the subscription. | -| `SubscriberError` | An error occurred while handling an event in the subscription handler. | -| `ServerError` | An error occurred on the server, and the server closed the subscription. Check the server logs for more information. | - -Bear in mind that a subscription can also drop because it is slow. The server tried to push all the live events to the subscription when it is in the live processing mode. If the subscription gets the reading buffer overflow and won't be able to acknowledge the buffer, it will break. - -### Handling subscription drops - -An application, which hosts the subscription, can go offline for some time for different reasons. It could be a crash, infrastructure failure, or a new version deployment. As you rarely would want to reprocess all the events again, you'd need to store the current position of the subscription somewhere, and then use it to restore the subscription from the point where it dropped off: - -@[code{subscribe-to-stream-subscription-dropped}](@grpc:subscribing-to-streams/Program.cs) - -When subscribed to `$all` you want to keep the event's position in the `$all` stream. As mentioned previously, the `$all` stream position consists of two big integers (prepare and commit positions), not one: - -@[code{subscribe-to-all-subscription-dropped}](@grpc:subscribing-to-streams/Program.cs) - -## User credentials - -The user creating a subscription must have read access to the stream it's subscribing to, and only admin users may subscribe to `$all` or create filtered subscriptions. - -The code below shows how you can provide user credentials for a subscription. When you specify subscription credentials explicitly, it will override the default credentials set for the client. If you don't specify any credentials, the client will use the credentials specified for the client, if you specified those. - -@[code{overriding-user-credentials}](@grpc:subscribing-to-streams/Program.cs) - -## Server-side filtering - -KurrentDB allows you to filter the events whilst subscribing to the `$all` stream to only receive the events you care about. - -You can filter by event type or stream name using a regular expression or a prefix. Server-side filtering is currently only available on the `$all` stream. - -::: tip -Server-side filtering was introduced as a simpler alternative to projections. You should consider filtering before creating a projection to include the events you care about. -::: - -A simple stream prefix filter looks like this: - -@[code{stream-prefix-filtered-subscription}](@grpc:subscribing-to-streams/Program.cs) - -The filtering API is described more in-depth in the [filtering section](subscriptions.md#server-side-filtering). - -### Filtering out system events - -There are events in KurrentDB called system events. These are prefixed with a `$` and under most circumstances you won't care about these. They can be filtered out by passing in a `SubscriptionFilterOptions` when subscribing to the `$all` stream. - -@[code{exclude-system}](@grpc:server-side-filtering/Program.cs) - -::: tip -`$stats` events are no longer stored in KurrentDB by default so there won't be as many `$` events as before. -::: - -### Filtering by event type - -If you only want to subscribe to events of a given type, there are two options. You can either use a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `EventTypeFilter.Prefix`. - -@[code{event-type-prefix}](@grpc:server-side-filtering/Program.cs) - -This will only subscribe to events with a type that begin with `customer-`. - -#### Filtering by regular expression - -It might be advantageous to provide a regular expression when you want to subscribe to multiple event types. - -@[code{event-type-regex}](@grpc:server-side-filtering/Program.cs) - -This will subscribe to any event that begins with `user` or `company`. - -### Filtering by stream name - -To subscribe to a stream by name, choose either a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `StreamFilter.Prefix`. - -@[code{stream-prefix}](@grpc:server-side-filtering/Program.cs) - -This will only subscribe to all streams with a name that begins with `user-`. - -#### Filtering by regular expression - -To subscribe to multiple streams, use a regular expression. - -@[code{stream-regex}](@grpc:server-side-filtering/Program.cs) - -This will subscribe to any stream with a name that begins with `account` or `savings`. - -## Checkpointing - -When a catch-up subscription is used to process an `$all` stream containing many events, the last thing you want is for your application to crash midway, forcing you to restart from the beginning. - -### What is a checkpoint? - -A checkpoint is the position of an event in the `$all` stream to which your application has processed. By saving this position to a persistent store (e.g., a database), it allows your catch-up subscription to: -- Recover from crashes by reading the checkpoint and resuming from that position -- Avoid reprocessing all events from the start - -To create a checkpoint, store the event's commit or prepare position. - -::: warning -If your database contains events created by the legacy TCP client using the [transaction feature](https://docs.kurrent.io/clients/tcp/dotnet/21.2/appending.html#transactions), you should store both the commit and prepare positions together as your checkpoint. -::: - -### Updating checkpoints at regular intervals -The client SDK provides a way to notify your application after processing a configurable number of events. This allows you to periodically save a checkpoint at regular intervals. - -@[code{checkpoint}](@grpc:server-side-filtering/Program.cs) - -By default, the checkpoint notification is sent after every 32 non-system events processed from $all. - -### Configuring the checkpoint interval -You can adjust the checkpoint interval to change how often the client is notified. - -@[code{checkpoint-with-interval}](@grpc:server-side-filtering/Program.cs) - -By configuring this parameter, you can balance between reducing checkpoint overhead and ensuring quick recovery in case of a failure. - -::: info -The checkpoint interval parameter configures the database to notify the client after `n` * 32 number of events where `n` is defined by the parameter. - -For example: -- If `n` = 1, a checkpoint notification is sent every 32 events. -- If `n` = 2, the notification is sent every 64 events. -- If `n` = 3, it is sent every 96 events, and so on. -::: diff --git a/import/repos.json b/import/repos.json index 5bc3433b7..1799aad17 100644 --- a/import/repos.json +++ b/import/repos.json @@ -100,13 +100,16 @@ { "id": "dotnet-client", "group": ".NET SDK", - "basePath": "clients/dotnet", + "basePath": "clients/grpc/dotnet", + "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], + "currentBranch": "docs", "repo": "https://github.com/kurrent-io/KurrentDB-Client-Dotnet", "branches": [ { - "version": "1.0.0", - "name":"master" + "version": "v23.3", + "name": "docs", + "startPage": "getting-started.html" } ] }, From 2bd851375ae65992f7a046103b9a3ad7b367d126 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 12:14:01 +0400 Subject: [PATCH 02/36] Fix branch name for .NET --- import/repos.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/import/repos.json b/import/repos.json index 1799aad17..975310f4d 100644 --- a/import/repos.json +++ b/import/repos.json @@ -103,12 +103,12 @@ "basePath": "clients/grpc/dotnet", "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], - "currentBranch": "docs", + "currentBranch": "master", "repo": "https://github.com/kurrent-io/KurrentDB-Client-Dotnet", "branches": [ { "version": "v23.3", - "name": "docs", + "name": "release/legacy/v23.3", "startPage": "getting-started.html" } ] From f4563886654cab319d91becef6fb74e8e047d981 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 15:23:14 +0400 Subject: [PATCH 03/36] Implement redirect for dotnet client only --- docs/.vuepress/client.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index da3b6f93f..03520fbac 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -102,11 +102,15 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - addDynamicRoute('/clients/grpc/:lang', - to => { - const latest = __VERSIONS__.all.filter(x => x.id == `${to.params.lang}-client`)[0].versions[0].version; - return `/clients/grpc/${to.params.lang}/${latest}/getting-started.html` - }); + const dotnetClientLatest = __VERSIONS__.all.filter(x => x.id == 'dotnet-client')[0].versions[0].version; + addDynamicRoute("/clients/grpc/dotnet", to => `/clients/grpc/dotnet/${dotnetClientLatest}/getting-started.html`); + + // // TODO: Uncomment until we finish writing the docs for the other clients + // addDynamicRoute('/clients/grpc/:lang', + // to => { + // const latest = __VERSIONS__.all.filter(x => x.id == `${to.params.lang}-client`)[0].versions[0].version; + // return `/clients/grpc/${to.params.lang}/${latest}/getting-started.html` + // }); addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/client/:lang', From fb36967f44fa72b54a1576f351c3fcec14203f93 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 15:39:49 +0400 Subject: [PATCH 04/36] Fixup --- docs/.vuepress/client.ts | 39 ++++++++++++++++++++++---------- docs/.vuepress/configs/navbar.ts | 2 +- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 03520fbac..befac5e4a 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -7,7 +7,23 @@ import KapaWidget from './components/KapaWidget.vue'; import UserFeedback from './components/TocWithFeedback'; import {usePostHog} from "./lib/usePosthog"; -declare const __VERSIONS__: { latest: string, selected: string, all: string[] } +declare const __VERSIONS__: { + latest: string, + selected: string, + all: { + id: string, + group: string, + basePath: string, + versions: { + version: string, + path: string, + startPage: string, + preview?: boolean, + deprecated?: boolean, + hide?: boolean + }[] + }[] +} const storageKey = "VUEPRESS_TAB_STORE"; @@ -98,20 +114,10 @@ export default defineClientConfig({ } }, 0); }); - const operatorLatest = __VERSIONS__.all.filter(x => x.id == 'kubernetes-operator')[0].versions[0].version; + const operatorLatest = __VERSIONS__.all.filter(x => x.id === 'kubernetes-operator')[0].versions[0].version; addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - const dotnetClientLatest = __VERSIONS__.all.filter(x => x.id == 'dotnet-client')[0].versions[0].version; - addDynamicRoute("/clients/grpc/dotnet", to => `/clients/grpc/dotnet/${dotnetClientLatest}/getting-started.html`); - - // // TODO: Uncomment until we finish writing the docs for the other clients - // addDynamicRoute('/clients/grpc/:lang', - // to => { - // const latest = __VERSIONS__.all.filter(x => x.id == `${to.params.lang}-client`)[0].versions[0].version; - // return `/clients/grpc/${to.params.lang}/${latest}/getting-started.html` - // }); - addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/client/:lang', to => { @@ -124,6 +130,15 @@ export default defineClientConfig({ addFixedRoute("/server/latest", `/${__VERSIONS__.latest}/quick-start/`); addFixedRoute("/latest", `/${__VERSIONS__.latest}/quick-start/`); addFixedRoute("/latest.html", `/${__VERSIONS__.latest}/quick-start/`); + + // .NET client redirect to latest version (dynamic) + const dotnetClient = __VERSIONS__.all.find(x => x.id === 'dotnet-client'); + if (dotnetClient && dotnetClient.versions.length > 0) { + const latestDotnetVersion = dotnetClient.versions[0].version; + const startPage = dotnetClient.versions[0].startPage || 'getting-started.html'; + addFixedRoute("/clients/grpc/dotnet/latest/", `/clients/grpc/dotnet/${latestDotnetVersion}/${startPage}`); + addFixedRoute("/clients/grpc/dotnet/latest", `/clients/grpc/dotnet/${latestDotnetVersion}/${startPage}`); + } router.afterEach((to, from) => { if (typeof window === "undefined" || to.path === from.path || removeHtml(to.path) === removeHtml(from.path)) return; diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index 24190a3b7..95d9222dc 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -27,7 +27,7 @@ export const navbarEn: NavbarOptions = [ { text: "Clients", children: [ - { text: ".NET", link: `/clients/grpc/dotnet/` }, + { text: ".NET", link: `/clients/grpc/dotnet/latest/` }, { text: "Python", link: "/clients/grpc/python/getting-started.html" }, { text: "Node.js", link: "/clients/grpc/nodejs/getting-started.html" }, { text: "Java", link: "/clients/grpc/java/getting-started.html" }, From d4de1755156434762d52d20b5b278d41883e6eb5 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 16:07:47 +0400 Subject: [PATCH 05/36] use latest version for navbar links --- docs/.vuepress/client.ts | 9 --------- docs/.vuepress/configs/navbar.ts | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index befac5e4a..9b6fcf485 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -130,15 +130,6 @@ export default defineClientConfig({ addFixedRoute("/server/latest", `/${__VERSIONS__.latest}/quick-start/`); addFixedRoute("/latest", `/${__VERSIONS__.latest}/quick-start/`); addFixedRoute("/latest.html", `/${__VERSIONS__.latest}/quick-start/`); - - // .NET client redirect to latest version (dynamic) - const dotnetClient = __VERSIONS__.all.find(x => x.id === 'dotnet-client'); - if (dotnetClient && dotnetClient.versions.length > 0) { - const latestDotnetVersion = dotnetClient.versions[0].version; - const startPage = dotnetClient.versions[0].startPage || 'getting-started.html'; - addFixedRoute("/clients/grpc/dotnet/latest/", `/clients/grpc/dotnet/${latestDotnetVersion}/${startPage}`); - addFixedRoute("/clients/grpc/dotnet/latest", `/clients/grpc/dotnet/${latestDotnetVersion}/${startPage}`); - } router.afterEach((to, from) => { if (typeof window === "undefined" || to.path === from.path || removeHtml(to.path) === removeHtml(from.path)) return; diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index 95d9222dc..66cbbae5f 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -27,7 +27,7 @@ export const navbarEn: NavbarOptions = [ { text: "Clients", children: [ - { text: ".NET", link: `/clients/grpc/dotnet/latest/` }, + { text: ".NET", link: ver.linksFor("dotnet-client", false)[0]?.link || "/clients/grpc/dotnet/" }, { text: "Python", link: "/clients/grpc/python/getting-started.html" }, { text: "Node.js", link: "/clients/grpc/nodejs/getting-started.html" }, { text: "Java", link: "/clients/grpc/java/getting-started.html" }, From ce1312c3bebbdbd6493e4cbd2ef5aeb9a7ae8cc6 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 16:10:56 +0400 Subject: [PATCH 06/36] Redirect if version page is reached --- docs/.vuepress/client.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 9b6fcf485..e2282aff9 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -118,6 +118,9 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); + // uncomment and replace with `/clients/grpc/:lang/:version` once clients are versioned + addDynamicRoute('/clients/grpc/dotnet/:version', to => `/clients/grpc/dotnet/${to.params.version}/getting-started.html`); + addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/client/:lang', to => { From 331ed6f71d5c3abc9d0bce987cff60dfb172f80f Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 16:16:51 +0400 Subject: [PATCH 07/36] Add dynamic route for dotnet client version with trailing slash --- docs/.vuepress/client.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index e2282aff9..3f10ee106 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -120,6 +120,7 @@ export default defineClientConfig({ // uncomment and replace with `/clients/grpc/:lang/:version` once clients are versioned addDynamicRoute('/clients/grpc/dotnet/:version', to => `/clients/grpc/dotnet/${to.params.version}/getting-started.html`); + addDynamicRoute('/clients/grpc/dotnet/:version/', to => `/clients/grpc/dotnet/${to.params.version}/getting-started.html`); addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/client/:lang', From 52fb55b01518926b16796b4ef3294a47892f2856 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 17:29:07 +0400 Subject: [PATCH 08/36] Add docs for dotnet v1 --- import/repos.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/import/repos.json b/import/repos.json index 975310f4d..87cc5576a 100644 --- a/import/repos.json +++ b/import/repos.json @@ -107,7 +107,12 @@ "repo": "https://github.com/kurrent-io/KurrentDB-Client-Dotnet", "branches": [ { - "version": "v23.3", + "version": "v1.0", + "name": "release/v1.0", + "startPage": "getting-started.html" + }, + { + "version": "Legacy v23.3", "name": "release/legacy/v23.3", "startPage": "getting-started.html" } From 593f6924a8557bb3aede8af5bf6d782842a6f56f Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 17:56:32 +0400 Subject: [PATCH 09/36] Add dynamic routes for dotnet client versioning --- docs/.vuepress/client.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 3f10ee106..634e41a52 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -118,9 +118,12 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - // uncomment and replace with `/clients/grpc/:lang/:version` once clients are versioned + const dotnetClient = __VERSIONS__.all.find(x => x.id === 'dotnet-client'); + const latestDotnetVersion = dotnetClient?.versions[0]; addDynamicRoute('/clients/grpc/dotnet/:version', to => `/clients/grpc/dotnet/${to.params.version}/getting-started.html`); addDynamicRoute('/clients/grpc/dotnet/:version/', to => `/clients/grpc/dotnet/${to.params.version}/getting-started.html`); + addDynamicRoute('/clients/grpc/dotnet', to => `/${dotnetClient?.basePath}/${latestDotnetVersion?.path}/${latestDotnetVersion?.startPage}`); + addDynamicRoute('/clients/grpc/dotnet/', to => `/${dotnetClient?.basePath}/${latestDotnetVersion?.path}/${latestDotnetVersion?.startPage}`); addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/client/:lang', From 70f9252801f3d2e538eb566b86450203568f4839 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 22 Jul 2025 19:19:28 +0400 Subject: [PATCH 10/36] Remove redirects --- docs/.vuepress/public/_redirects | 14 +++++++------- import/repos.json | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/.vuepress/public/_redirects b/docs/.vuepress/public/_redirects index 698d56ae7..0c494fabd 100644 --- a/docs/.vuepress/public/_redirects +++ b/docs/.vuepress/public/_redirects @@ -53,12 +53,12 @@ /clients/http-api/generated/v5/docs/introduction/reading-streams.html /http-api/v5/#reading-streams-and-events 301 /clients/http-api/generated/v5/docs/introduction/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 -/clients/grpc/python /clients/grpc/python/getting-started.html 301 -/clients/grpc/rust /clients/grpc/rust/getting-started.html 301 -/clients/grpc/nodejs /clients/grpc/nodejs/getting-started.html 301 -/clients/grpc/java /clients/grpc/java/getting-started.html 301 -/clients/grpc/dotnet /clients/grpc/dotnet/getting-started.html 301 -/clients/grpc/go /clients/grpc/go/getting-started.html 301 +; /clients/grpc/python /clients/grpc/python/getting-started.html 301 +; /clients/grpc/rust /clients/grpc/rust/getting-started.html 301 +; /clients/grpc/nodejs /clients/grpc/nodejs/getting-started.html 301 +; /clients/grpc/java /clients/grpc/java/getting-started.html 301 +; /clients/grpc/dotnet /clients/grpc/dotnet/getting-started.html 301 +; /clients/grpc/go /clients/grpc/go/getting-started.html 301 /server/generated/v5/http-api/persistent-subscriptions.html /http-api/v5/persistent.html 301 /server/generated/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 @@ -237,7 +237,7 @@ # gRPC Clients from Vuepress v1 to v2 /clients/grpc/subscribing-to-streams/* /clients/grpc/subscriptions.html 301 -/clients/grpc/:firstpart/* /clients/grpc/:firstpart.html 301 +; /clients/grpc/:firstpart/* /clients/grpc/:firstpart.html 301 # HTTP API from Vuepress v1 to v2 /server/v5/docs/http-api/:firstpart.html /http-api/v5/ 301 diff --git a/import/repos.json b/import/repos.json index 87cc5576a..9f57b1638 100644 --- a/import/repos.json +++ b/import/repos.json @@ -114,6 +114,7 @@ { "version": "Legacy v23.3", "name": "release/legacy/v23.3", + "deprecated": true, "startPage": "getting-started.html" } ] From 61eda9c4e0404e840cf963590751a5c826b5ec1d Mon Sep 17 00:00:00 2001 From: William Chong Date: Wed, 23 Jul 2025 16:23:07 +0400 Subject: [PATCH 11/36] Add docs for Java, NodeJS, Rust, Go and Python --- .gitignore | 2 +- docs/.vuepress/client.ts | 24 +- docs/.vuepress/configs/navbar.ts | 10 +- docs/.vuepress/configs/sidebar.ts | 2 +- docs/.vuepress/public/_redirects | 2 +- docs/.vuepress/versions.json | 7 +- docs/clients/grpc/go/README.md | 9 - docs/clients/grpc/go/appending-events.md | 87 ------- docs/clients/grpc/go/authentication.md | 60 ----- docs/clients/grpc/go/delete-stream.md | 42 ---- docs/clients/grpc/go/getting-started.md | 106 -------- .../grpc/go/persistent-subscriptions.md | 164 ------------ docs/clients/grpc/go/projections.md | 179 -------------- docs/clients/grpc/go/reading-events.md | 135 ---------- docs/clients/grpc/go/release-notes.md | 11 - docs/clients/grpc/go/subscriptions.md | 234 ------------------ docs/clients/grpc/java/README.md | 9 - docs/clients/grpc/java/appending-events.md | 87 ------- docs/clients/grpc/java/authentication.md | 60 ----- docs/clients/grpc/java/delete-stream.md | 36 --- docs/clients/grpc/java/getting-started.md | 121 --------- docs/clients/grpc/java/observability.md | 103 -------- .../grpc/java/persistent-subscriptions.md | 164 ------------ docs/clients/grpc/java/projections.md | 179 -------------- docs/clients/grpc/java/reading-events.md | 135 ---------- docs/clients/grpc/java/release-notes.md | 11 - docs/clients/grpc/java/subscriptions.md | 234 ------------------ docs/clients/grpc/nodejs/README.md | 9 - docs/clients/grpc/nodejs/appending-events.md | 87 ------- docs/clients/grpc/nodejs/authentication.md | 60 ----- docs/clients/grpc/nodejs/delete-stream.md | 51 ---- docs/clients/grpc/nodejs/getting-started.md | 119 --------- docs/clients/grpc/nodejs/observability.md | 123 --------- .../grpc/nodejs/persistent-subscriptions.md | 164 ------------ docs/clients/grpc/nodejs/projections.md | 179 -------------- docs/clients/grpc/nodejs/reading-events.md | 135 ---------- docs/clients/grpc/nodejs/release-notes.md | 12 - docs/clients/grpc/nodejs/subscriptions.md | 234 ------------------ docs/clients/grpc/python/README.md | 9 - docs/clients/grpc/python/appending-events.md | 87 ------- docs/clients/grpc/python/authentication.md | 60 ----- docs/clients/grpc/python/delete-stream.md | 39 --- docs/clients/grpc/python/getting-started.md | 114 --------- .../grpc/python/persistent-subscriptions.md | 164 ------------ docs/clients/grpc/python/projections.md | 179 -------------- docs/clients/grpc/python/reading-events.md | 135 ---------- docs/clients/grpc/python/release-notes.md | 11 - docs/clients/grpc/python/subscriptions.md | 234 ------------------ docs/clients/grpc/rust/README.md | 9 - docs/clients/grpc/rust/appending-events.md | 87 ------- docs/clients/grpc/rust/authentication.md | 61 ----- docs/clients/grpc/rust/delete-stream.md | 44 ---- docs/clients/grpc/rust/getting-started.md | 102 -------- .../grpc/rust/persistent-subscriptions.md | 164 ------------ docs/clients/grpc/rust/reading-events.md | 135 ---------- docs/clients/grpc/rust/release-notes.md | 11 - docs/clients/grpc/rust/subscriptions.md | 234 ------------------ import/repos.json | 92 ++++--- 58 files changed, 89 insertions(+), 5268 deletions(-) delete mode 100644 docs/clients/grpc/go/README.md delete mode 100644 docs/clients/grpc/go/appending-events.md delete mode 100644 docs/clients/grpc/go/authentication.md delete mode 100644 docs/clients/grpc/go/delete-stream.md delete mode 100644 docs/clients/grpc/go/getting-started.md delete mode 100644 docs/clients/grpc/go/persistent-subscriptions.md delete mode 100644 docs/clients/grpc/go/projections.md delete mode 100644 docs/clients/grpc/go/reading-events.md delete mode 100644 docs/clients/grpc/go/release-notes.md delete mode 100644 docs/clients/grpc/go/subscriptions.md delete mode 100644 docs/clients/grpc/java/README.md delete mode 100644 docs/clients/grpc/java/appending-events.md delete mode 100644 docs/clients/grpc/java/authentication.md delete mode 100644 docs/clients/grpc/java/delete-stream.md delete mode 100644 docs/clients/grpc/java/getting-started.md delete mode 100644 docs/clients/grpc/java/observability.md delete mode 100644 docs/clients/grpc/java/persistent-subscriptions.md delete mode 100644 docs/clients/grpc/java/projections.md delete mode 100644 docs/clients/grpc/java/reading-events.md delete mode 100644 docs/clients/grpc/java/release-notes.md delete mode 100644 docs/clients/grpc/java/subscriptions.md delete mode 100644 docs/clients/grpc/nodejs/README.md delete mode 100644 docs/clients/grpc/nodejs/appending-events.md delete mode 100644 docs/clients/grpc/nodejs/authentication.md delete mode 100644 docs/clients/grpc/nodejs/delete-stream.md delete mode 100644 docs/clients/grpc/nodejs/getting-started.md delete mode 100644 docs/clients/grpc/nodejs/observability.md delete mode 100644 docs/clients/grpc/nodejs/persistent-subscriptions.md delete mode 100644 docs/clients/grpc/nodejs/projections.md delete mode 100644 docs/clients/grpc/nodejs/reading-events.md delete mode 100644 docs/clients/grpc/nodejs/release-notes.md delete mode 100644 docs/clients/grpc/nodejs/subscriptions.md delete mode 100644 docs/clients/grpc/python/README.md delete mode 100644 docs/clients/grpc/python/appending-events.md delete mode 100644 docs/clients/grpc/python/authentication.md delete mode 100644 docs/clients/grpc/python/delete-stream.md delete mode 100644 docs/clients/grpc/python/getting-started.md delete mode 100644 docs/clients/grpc/python/persistent-subscriptions.md delete mode 100644 docs/clients/grpc/python/projections.md delete mode 100644 docs/clients/grpc/python/reading-events.md delete mode 100644 docs/clients/grpc/python/release-notes.md delete mode 100644 docs/clients/grpc/python/subscriptions.md delete mode 100644 docs/clients/grpc/rust/README.md delete mode 100644 docs/clients/grpc/rust/appending-events.md delete mode 100644 docs/clients/grpc/rust/authentication.md delete mode 100644 docs/clients/grpc/rust/delete-stream.md delete mode 100644 docs/clients/grpc/rust/getting-started.md delete mode 100644 docs/clients/grpc/rust/persistent-subscriptions.md delete mode 100644 docs/clients/grpc/rust/reading-events.md delete mode 100644 docs/clients/grpc/rust/release-notes.md delete mode 100644 docs/clients/grpc/rust/subscriptions.md diff --git a/.gitignore b/.gitignore index 6b045b146..23fa076cd 100644 --- a/.gitignore +++ b/.gitignore @@ -347,4 +347,4 @@ docs/.vuepress/dist/ config.ts.*.mjs -docs/clients/grpc/dotnet/* +docs/clients/grpc/**/* \ No newline at end of file diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 634e41a52..444af26a0 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -118,12 +118,24 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - const dotnetClient = __VERSIONS__.all.find(x => x.id === 'dotnet-client'); - const latestDotnetVersion = dotnetClient?.versions[0]; - addDynamicRoute('/clients/grpc/dotnet/:version', to => `/clients/grpc/dotnet/${to.params.version}/getting-started.html`); - addDynamicRoute('/clients/grpc/dotnet/:version/', to => `/clients/grpc/dotnet/${to.params.version}/getting-started.html`); - addDynamicRoute('/clients/grpc/dotnet', to => `/${dotnetClient?.basePath}/${latestDotnetVersion?.path}/${latestDotnetVersion?.startPage}`); - addDynamicRoute('/clients/grpc/dotnet/', to => `/${dotnetClient?.basePath}/${latestDotnetVersion?.path}/${latestDotnetVersion?.startPage}`); + addDynamicRoute('/clients/grpc/:lang/:version', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); + addDynamicRoute('/clients/grpc/:lang/:version/', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); + + addDynamicRoute('/clients/grpc/:lang/', to => { + const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath + const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path + const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage + + return `/${basePath}/${path}/${version}`; + }) + + addDynamicRoute('/clients/grpc/:lang', to => { + const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath + const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path + const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage + + return `/${basePath}/${path}/${version}`; + }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/client/:lang', diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index 66cbbae5f..32782b5b9 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -28,11 +28,11 @@ export const navbarEn: NavbarOptions = [ text: "Clients", children: [ { text: ".NET", link: ver.linksFor("dotnet-client", false)[0]?.link || "/clients/grpc/dotnet/" }, - { text: "Python", link: "/clients/grpc/python/getting-started.html" }, - { text: "Node.js", link: "/clients/grpc/nodejs/getting-started.html" }, - { text: "Java", link: "/clients/grpc/java/getting-started.html" }, - { text: "Go", link: "/clients/grpc/go/getting-started.html" }, - { text: "Rust", link: "/clients/grpc/rust/getting-started.html" }, + { text: "Python", link: ver.linksFor("python-client", false)[0]?.link || "/clients/grpc/python/" }, + { text: "Node.js", link: ver.linksFor("node-client", false)[0]?.link || "/clients/grpc/node/" }, + { text: "Java", link: ver.linksFor("java-client", false)[0]?.link || "/clients/grpc/java/" }, + { text: "Go", link: ver.linksFor("go-client", false)[0]?.link || "/clients/grpc/go/" }, + { text: "Rust", link: ver.linksFor("rust-client", false)[0]?.link || "/clients/grpc/rust/" }, ], }, { text: "HTTP API", children: ver.linksFor("http-api", false) }, diff --git a/docs/.vuepress/configs/sidebar.ts b/docs/.vuepress/configs/sidebar.ts index 3437d49df..0a11f1b20 100644 --- a/docs/.vuepress/configs/sidebar.ts +++ b/docs/.vuepress/configs/sidebar.ts @@ -38,7 +38,7 @@ export const sidebarEn: EsSidebarOptions = { ], "/clients/grpc/dotnet/": "structure", "/clients/grpc/python/": "structure", - "/clients/grpc/nodejs/": "structure", + "/clients/grpc/node/": "structure", "/clients/grpc/java/": "structure", "/clients/grpc/go/": "structure", "/clients/grpc/rust/": "structure", diff --git a/docs/.vuepress/public/_redirects b/docs/.vuepress/public/_redirects index 0c494fabd..102b2545c 100644 --- a/docs/.vuepress/public/_redirects +++ b/docs/.vuepress/public/_redirects @@ -55,7 +55,7 @@ ; /clients/grpc/python /clients/grpc/python/getting-started.html 301 ; /clients/grpc/rust /clients/grpc/rust/getting-started.html 301 -; /clients/grpc/nodejs /clients/grpc/nodejs/getting-started.html 301 +; /clients/grpc/node /clients/grpc/node/getting-started.html 301 ; /clients/grpc/java /clients/grpc/java/getting-started.html 301 ; /clients/grpc/dotnet /clients/grpc/dotnet/getting-started.html 301 ; /clients/grpc/go /clients/grpc/go/getting-started.html 301 diff --git a/docs/.vuepress/versions.json b/docs/.vuepress/versions.json index e5bd84cc0..425f0719b 100644 --- a/docs/.vuepress/versions.json +++ b/docs/.vuepress/versions.json @@ -2,5 +2,10 @@ "../../http-api/generated-versions.json", "../../server/generated-versions.json", "../../server/kubernetes-operator/versions.json", - "../../clients/grpc/dotnet/generated-versions.json" + "../../clients/grpc/dotnet/generated-versions.json", + "../../clients/grpc/node/generated-versions.json", + "../../clients/grpc/python/generated-versions.json", + "../../clients/grpc/rust/generated-versions.json", + "../../clients/grpc/go/generated-versions.json", + "../../clients/grpc/java/generated-versions.json" ] diff --git a/docs/clients/grpc/go/README.md b/docs/clients/grpc/go/README.md deleted file mode 100644 index 6e8f4fdea..000000000 --- a/docs/clients/grpc/go/README.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -index: false ---- - -# Go - -Learn how to use the KurrentDB Go client library to interact with the database. - - \ No newline at end of file diff --git a/docs/clients/grpc/go/appending-events.md b/docs/clients/grpc/go/appending-events.md deleted file mode 100644 index 40094dba0..000000000 --- a/docs/clients/grpc/go/appending-events.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -order: 2 -head: - - - title - - {} - - Appending Events | Go | Clients | Kurrent Docs ---- - -# Appending Events - -When you start working with KurrentDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs. - -::: tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Append your first event - -The simplest way to append an event to KurrentDB is to create an `EventData` object and call `AppendToStream` method. - -@[code{append-to-stream}](@grpc:appendingEvents.go) - -`AppendToStream` takes a collection of `EventData`, which allows you to save more than one event in a single batch. - -Outside the example above, other options exist for dealing with different scenarios. - -::: tip -If you are new to Event Sourcing, please study the [Handling concurrency](#handling-concurrency) section below. -::: - -## Working with EventData - -Events appended to KurrentDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**. - -### eventId - -This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, KurrentDB will only append one of the events to the stream. - -For example, the following code will only append a single event: - -@[code{append-duplicate-event}](@grpc:appendingEvents.go) - -![Duplicate Event](../images/duplicate-event.png) - -### type - -Each event should be supplied with an event type. This unique string is used to identify the type of event you are saving. - -It is common to see the explicit event code type name used as the type as it makes serialising and de-serialising of the event easy. However, we recommend against this as it couples the storage to the type and will make it more difficult if you need to version the event at a later date. - -### data - -Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of KurrentDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes. - -### metadata - -Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. KurrentDB allows you to store a separate byte array containing this information to keep it separate. - -### isJson - -Simple boolean field to tell KurrentDB if the event is stored as json, true by default. - -## Handling concurrency - -When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform KurrentDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown. - -For example, if you try to append the same record twice, expecting both times that the stream doesn't exist, you will get an exception on the second: - -@[code{append-with-no-stream}](@grpc:appendingEvents.go) - -There are three available stream states: -- `Any` -- `NoStream` -- `StreamExists` - -This check can be used to implement optimistic concurrency. When retrieving a stream from KurrentDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime. - -@[code{append-with-concurrency-check}](@grpc:appendingEvents.go) - - - -## User credentials - -You can provide user credentials to append the data as follows. This will override the default credentials set on the connection. - -@[code{overriding-user-credentials}](@grpc:appendingEvents.go) - diff --git a/docs/clients/grpc/go/authentication.md b/docs/clients/grpc/go/authentication.md deleted file mode 100644 index 9a1eee09c..000000000 --- a/docs/clients/grpc/go/authentication.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Authentication -order: 7 -head: - - - title - - {} - - Authentication | Go | Clients | Kurrent Docs ---- - -## Client x.509 certificate - -X.509 certificates are digital certificates that use the X.509 public key infrastructure (PKI) standard to verify the identity of clients and servers. They play a crucial role in establishing a secure connection by providing a way to authenticate identities and establish trust. - -### Prerequisites - -1. KurrentDB 25.0 or greater, or EventStoreDB 24.10. -2. A commercial license with the User Certificates entitlement. -3. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/kurrent-io/es-gencert-cli). -4. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information. -5. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates) - -#### Generate user certificates - -The following command uses the [gencert tool](https://github.com/kurrent-io/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days: - -::: tabs#os -@tab bash -```bash -./es-gencert-cli create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -@tab PowerShell -```powershell -.\es-gencert-cli.exe create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -::: - -### Connect to KurrentDB using an x.509 certificate - -To connect to KurrentDB using an x.509 certificate, you need to provide the -certificate and the private key to the client. If both username/password and -certificate authentication data are supplied, the client prioritizes user -credentials for authentication. The client will throw an error if the -certificate and the key are not both provided. - -::: tip -Please note that currently, password-protected private key files are not supported. -::: - -The client supports the following parameters: - -| Parameter | Description | -|----------------|--------------------------------------------------------------------------------| -| `userCertFile` | The file containing the X.509 user certificate in PEM format. | -| `userKeyFile` | The file containing the user certificate’s matching private key in PEM format. | - -To authenticate, include these two parameters in your connection string or constructor when initializing the client. - -For example: - -@[code{client-with-user-certificates}](@grpc:/userCertificates.go) \ No newline at end of file diff --git a/docs/clients/grpc/go/delete-stream.md b/docs/clients/grpc/go/delete-stream.md deleted file mode 100644 index b90007742..000000000 --- a/docs/clients/grpc/go/delete-stream.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -order: 9 -head: - - - title - - {} - - Deleting Events | Go | Clients | Kurrent Docs ---- - -# Deleting Events - -In KurrentDB, you can delete events and streams either partially or completely. Settings like $maxAge and $maxCount help control how long events are kept or how many events are stored in a stream, but they won't delete the entire stream. -When you need to fully remove a stream, KurrentDB offers two options: Soft Delete and Hard Delete. - -## Soft delete - -Soft delete in KurrentDB allows you to mark a stream for deletion without completely removing it, so you can still add new events later. While you can do this through the UI, using code is often better for automating the process, -handling many streams at once, or including custom rules. Code is especially helpful for large-scale deletions or when you need to integrate soft deletes into other workflows. - -```go -options := esdb.DeleteStreamOptions{ - ExpectedRevision: esdb.Any{}, -} -_, err = client.DeleteStream(context.Background(), streamName, options) -``` - -::: note -Clicking the delete button in the UI performs a soft delete, -setting the TruncateBefore value to remove all events up to a certain point. -While this marks the events for deletion, actual removal occurs during the next scavenging process. -The stream can still be reopened by appending new events. -::: - -## Hard delete - -Hard delete in KurrentDB permanently removes a stream and its events. While you can use the HTTP API, code is often better for automating the process, managing multiple streams, and ensuring precise control. Code is especially useful when you need to integrate hard delete into larger workflows or apply specific conditions. Note that when a stream is hard deleted, you cannot reuse the stream name, it will raise an exception if you try to append to it again. - -```go -options := esdb.TombstoneStreamOptions{ - ExpectedRevision: esdb.Any{}, -} -_, err = client.TombstoneStream(context.Background(), streamName, options) -``` \ No newline at end of file diff --git a/docs/clients/grpc/go/getting-started.md b/docs/clients/grpc/go/getting-started.md deleted file mode 100644 index 4eb753c4b..000000000 --- a/docs/clients/grpc/go/getting-started.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -order: 1 -head: - - - title - - {} - - Getting Started | Go | Clients | Kurrent Docs ---- - -# Getting Started - -Get started by connecting your application to KurrentDB. - -## Connecting to KurrentDB - -To connect your application to KurrentDB, instantiate and configure the client. - -::: tip Insecure clusters -All our GRPC clients are secure by default and must be configured to connect to an insecure server via [a connection string](#connection-string) or the client's configuration. -::: - -### Required packages - -Install the `kurrentdb` package using Go modules: - -```bash -go get github.com/kurrent-io/KurrentDB-Client-Go/kurrentdb -``` - -### Connection string - -Each SDK has its own way of configuring the client, but the connection string can always be used. -The KurrentDB connection string supports two schemas: `kurrentdb://` for connecting to a single-node server, and `kurrentdb+discover://` for connecting to a multi-node cluster. The difference between the two schemas is that when using `kurrentdb://`, the client will connect directly to the node; with `kurrentdb+discover://` schema the client will use the gossip protocol to retrieve the cluster information and choose the right node to connect to. -Since version 22.10, ESDB supports gossip on single-node deployments, so `kurrentdb+discover://` schema can be used for connecting to any topology. - -The connection string has the following format: - -``` -kurrentdb+discover://admin:changeit@cluster.dns.name:2113 -``` - -There, `cluster.dns.name` is the name of a DNS `A` record that points to all the cluster nodes. Alternatively, you can list cluster nodes separated by comma instead of the cluster DNS name: - -``` -kurrentdb+discover://admin:changeit@node1.dns.name:2113,node2.dns.name:2113,node3.dns.name:2113 -``` - -There are a number of query parameters that can be used in the connection string to instruct the cluster how and where the connection should be established. All query parameters are optional. - -| Parameter | Accepted values | Default | Description | -|-----------------------|---------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------| -| `tls` | `true`, `false` | `true` | Use secure connection, set to `false` when connecting to a non-secure server or cluster. | -| `connectionName` | Any string | None | Connection name | -| `maxDiscoverAttempts` | Number | `10` | Number of attempts to discover the cluster. | -| `discoveryInterval` | Number | `100` | Cluster discovery polling interval in milliseconds. | -| `gossipTimeout` | Number | `5` | Gossip timeout in seconds, when the gossip call times out, it will be retried. | -| `nodePreference` | `leader`, `follower`, `random`, `readOnlyReplica` | `leader` | Preferred node role. When creating a client for write operations, always use `leader`. | -| `tlsVerifyCert` | `true`, `false` | `true` | In secure mode, set to `true` when using an untrusted connection to the node if you don't have the CA file available. Don't use in production. | -| `tlsCaFile` | String, file path | None | Path to the CA file when connecting to a secure cluster with a certificate that's not signed by a trusted CA. | -| `defaultDeadline` | Number | None | Default timeout for client operations, in milliseconds. Most clients allow overriding the deadline per operation. | -| `keepAliveInterval` | Number | `10` | Interval between keep-alive ping calls, in seconds. | -| `keepAliveTimeout` | Number | `10` | Keep-alive ping call timeout, in seconds. | -| `userCertFile` | String, file path | None | User certificate file for X.509 authentication. | -| `userKeyFile` | String, file path | None | Key file for the user certificate used for X.509 authentication. | - -When connecting to an insecure instance, specify `tls=false` parameter. For example, for a node running locally use `kurrentdb://localhost:2113?tls=false`. Note that usernames and passwords aren't provided there because insecure deployments don't support authentication and authorisation. - -### Creating a client - -First, create a client and get it connected to the database. - -@[code{createClient}](@grpc:quickstart.go) - -The client instance can be used as a singleton across the whole application. It doesn't need to open or close the connection. - -### Creating an event - -You can write anything to KurrentDB as events. The client needs a byte array as the event payload. Normally, you'd use a serialized object, and it's up to you to choose the serialization method. - -::: tip Server-side projections -User-defined server-side projections require events to be serialized in JSON format. - -We use JSON for serialization in the documentation examples. -::: - -The code snippet below creates an event object instance, serializes it, and adds it as a payload to the `EventData` structure, which the client can then write to the database. - -@[code{createEvent}](@grpc:quickstart.go) - -### Appending events - -Each event in the database has its own unique identifier (UUID). The database uses it to ensure idempotent writes, but it only works if you specify the stream revision when appending events to the stream. - -In the snippet below, we append the event to the stream `some-stream`. - -@[code{appendEvents}](@grpc:quickstart.go) - -Here we are appending events without checking if the stream exists or if the stream version matches the expected event version. See more advanced scenarios in [appending events documentation](./appending-events.md). - -### Reading events - -Finally, we can read events back from the `some-stream` stream. - -@[code{readStream}](@grpc:quickstart.go) - -When you read events from the stream, you get a collection of `ResolvedEvent` structures. The event payload is returned as a byte array and needs to be deserialized. See more advanced scenarios in [reading events documentation](./reading-events.md). - diff --git a/docs/clients/grpc/go/persistent-subscriptions.md b/docs/clients/grpc/go/persistent-subscriptions.md deleted file mode 100644 index 80db47f2c..000000000 --- a/docs/clients/grpc/go/persistent-subscriptions.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -order: 5 -head: - - - title - - {} - - Persistent Subscription | Go | Clients | Kurrent Docs ---- - -# Persistent Subscriptions - -Persistent subscriptions are similar to catch-up subscriptions, but there are two key differences: -- The subscription checkpoint is maintained by the server. It means that when your client reconnects to the persistent subscription, it will automatically resume from the last known position. -- It's possible to connect more than one event consumer to the same persistent subscription. In that case, the server will load-balance the consumers, depending on the defined strategy, and distribute the events to them. - -Because of those, persistent subscriptions are defined as subscription groups that are defined and maintained by the server. Consumer then connect to a particular subscription group, and the server starts sending event to the consumer. - -You can read more about persistent subscriptions in the [server documentation](@server/features/persistent-subscriptions.md). - -## Creating a subscription group - -The first step of dealing with a persistent subscription is to create a subscription group. You will receive an error if you attempt to create a subscription group multiple times. You must have admin permissions to create a persistent subscription group. - -### Subscribing to one stream - -The following sample shows how to create a subscription group for a persistent subscription where you want to receive events from a specific stream. It could be a normal stream, or a stream of links (like `$ce` category stream). - -@[code{create-persistent-subscription-to-stream}](@grpc:persistentSubscriptions.go) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to create. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -### Subscribing to $all - -The ability to subscribe to `$all` was introduced in EventStoreDB **21.10**. Persistent subscriptions to `$all` also support [filtering](subscriptions.md#server-side-filtering). - -You can create a subscription group on $all much the same way you would create a subscription group on a stream: - -@[code{create-persistent-subscription-to-all}](@grpc:persistentSubscriptions.go) - -## Connecting a consumer - -Once you have created a subscription group, clients can connect to it. A subscription in your application should only have the connection in your code, you should assume that the subscription already exists. - -The most important parameter to pass when connecting is the buffer size. This represents how many outstanding messages the server should allow this client. If this number is too small, your subscription will spend much of its time idle as it waits for an acknowledgment to come back from the client. If it's too big, you waste resources and can start causing time out messages depending on the speed of your processing. - -### Connecting to one stream - -The code below shows how to connect to an existing subscription group for a specific stream: - -@[code{subscribe-to-persistent-subscription-to-stream}](@grpc:persistentSubscriptions.go) - -| Parameter | Description | -|:----------------------|:---------------------------------------------------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to subscribe to. | -| `eventAppeared` | The action to call when an event arrives over the subscription. | -| `subscriptionDropped` | The action to call if the subscription is dropped. | -| `credentials` | The user credentials to use for this operation. | -| `bufferSize` | The number of in-flight messages this client is allowed. **Default: 10** | -| `autoAck` | Whether to automatically acknowledge messages after eventAppeared returns. **Default: true** | - -::: warning -The `autoAck` parameter will be deprecated in the next client release. You'll need to explicitly [manage acknowledgements](#acknowledgements). -::: - -### Connecting to $all - -The code below shows how to connect to an existing subscription group for `$all`: - -@[code{subscribe-to-persistent-subscription-to-all}](@grpc:persistentSubscriptions.go) - -The `SubscribeToAllAsync` method is identical to the `SubscribeToStreamAsync` method, except that you don't need to specify a stream name. - -## Acknowledgements - -Clients must acknowledge (or not acknowledge) messages in the competing consumer model. - -If processing is successful, you must send an Ack (acknowledge) to the server to let it know that the message has been handled. If processing fails for some reason, then you can Nack (not acknowledge) the message and tell the server how to handle the failure. - -@[code{subscribe-to-persistent-subscription-with-manual-acks}](@grpc:persistentSubscriptions.go) - -The _Nack event action_ describes what the server should do with the message: - -| Action | Description | -|:----------|:---------------------------------------------------------------------| -| `Unknown` | The client does not know what action to take. Let the server decide. | -| `Park` | Park the message and do not resend. Put it on poison queue. | -| `Retry` | Explicitly retry the message. | -| `Skip` | Skip this message do not resend and do not put in poison queue. | - -## Consumer strategies - -When creating a persistent subscription, you can choose between a number of consumer strategies. - -### RoundRobin (default) - -Distributes events to all clients evenly. If the client `bufferSize` is reached, the client won't receive more events until it acknowledges or not acknowledges events in its buffer. - -This strategy provides equal load balancing between all consumers in the group. - -### DispatchToSingle - -Distributes events to a single client until the `bufferSize` is reached. After that, the next client is selected in a round-robin style, and the process repeats. - -This option can be seen as a fall-back scenario for high availability, when a single consumer processes all the events until it reaches its maximum capacity. When that happens, another consumer takes the load to free up the main consumer resources. - -### Pinned - -For use with an indexing projection such as the system `$by_category` projection. - -KurrentDB inspects the event for its source stream id, hashing the id to one of 1024 buckets assigned to individual clients. When a client disconnects, its buckets are assigned to other clients. When a client connects, it is assigned some existing buckets. This naively attempts to maintain a balanced workload. - -The main aim of this strategy is to decrease the likelihood of concurrency and ordering issues while maintaining load balancing. This is **not a guarantee**, and you should handle the usual ordering and concurrency issues. - -## Updating a subscription group - -You can edit the settings of an existing subscription group while it is running, you don't need to delete and recreate it to change settings. When you update the subscription group, it resets itself internally, dropping the connections and having them reconnect. You must have admin permissions to update a persistent subscription group. - -@[code{update-persistent-subscription}](@grpc:persistentSubscriptions.go) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to update. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -## Persistent subscription settings - -Both the `Create` and `Update` methods take some settings for configuring the persistent subscription. - -The following table shows the configuration options you can set on a persistent subscription. - -| Option | Description | Default | -|:------------------------|:----------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------| -| `ResolveLinkTos` | Whether the subscription should resolve link events to their linked events. | `false` | -| `StartFrom` | The exclusive position in the stream or transaction file the subscription should start from. | `null` (start from the end of the stream) | -| `ExtraStatistics` | Whether to track latency statistics on this subscription. | `false` | -| `MessageTimeout` | The amount of time after which to consider a message as timed out and retried. | `30` (seconds) | -| `MaxRetryCount` | The maximum number of retries (due to timeout) before a message is considered to be parked. | `10` | -| `LiveBufferSize` | The size of the buffer (in-memory) listening to live messages as they happen before paging occurs. | `500` | -| `ReadBatchSize` | The number of events read at a time when paging through history. | `20` | -| `HistoryBufferSize` | The number of events to cache when paging through history. | `500` | -| `CheckPointAfter` | The amount of time to try to checkpoint after. | `2` seconds | -| `MinCheckPointCount` | The minimum number of messages to process before a checkpoint may be written. | `10` | -| `MaxCheckPointCount` | The maximum number of messages not checkpointed before forcing a checkpoint. | `1000` | -| `MaxSubscriberCount` | The maximum number of subscribers allowed. | `0` (unbounded) | -| `NamedConsumerStrategy` | The strategy to use for distributing events to client consumers. See the [consumer strategies](#consumer-strategies) in this doc. | `RoundRobin` | - -## Deleting a subscription group - -Remove a subscription group with the delete operation. Like the creation of groups, you rarely do this in your runtime code and is undertaken by an administrator running a script. - -@[code{delete-persistent-subscription}](@grpc:persistentSubscriptions.go) - -| Parameter | Description | -|:--------------|:-----------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to delete. | -| `credentials` | The user credentials to use for this operation | diff --git a/docs/clients/grpc/go/projections.md b/docs/clients/grpc/go/projections.md deleted file mode 100644 index 09204a6af..000000000 --- a/docs/clients/grpc/go/projections.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -order: 6 -title: Projections -head: - - - title - - {} - - Projections | Go | Clients | Kurrent Docs ---- - -# Projection Management - -The various gRPC client APIs include dedicated clients that allow you to manage projections. - -For a detailed explanation of projections, see the [server documentation](@server/features/projections/README.md). - -You can find the full sample code from this documentation page in the respective [clients repositories](https://github.com/kurrent-io/?q=client). - -## Creating a client - -Projection management operations are exposed through a dedicated client. - -@[code{createClient}](@grpc:projectionManagement.go) - -## Create a projection - -Creates a projection that runs until the last event in the store, and then continues processing new events as they are appended to the store. The query parameter contains the JavaScript you want created as a projection. -Projections have explicit names, and you can enable or disable them via this name. - -@[code{CreateContinuous}](@grpc:projectionManagement.go) - -Trying to create projections with the same name will result in an error: - -@[code{CreateContinuous_Conflict}](@grpc:projectionManagement.go) - -## Restart the subsystem - -It is possible to restart the entire projection subsystem using the projections management client API. The user must be in the `$ops` or `$admin` group to perform this operation. - -@[code{RestartSubSystem}](@grpc:projectionManagement.go) - -## Enable a projection - -Enables an existing projection by name. -Once enabled, the projection will start to process events even after restarting the server or the projection subsystem. -You must have access to a projection to enable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Enable}](@grpc:projectionManagement.go) - -You can only enable an existing projection. When you try to enable a non-existing projection, you'll get an error: - -@[code{EnableNotFound}](@grpc:projectionManagement.go) - -## Disable a projection - -Disables a projection, this will save the projection checkpoint. -Once disabled, the projection will not process events even after restarting the server or the projection subsystem. -You must have access to a projection to disable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Disable}](@grpc:projectionManagement.go) - -You can only disable an existing projection. When you try to disable a non-existing projection, you'll get an error: - -@[code{DisableNotFound}](@grpc:projectionManagement.go) - -## Delete a projection - -Deletes an existing projection. You must disable the projection before deleting it, running projections cannot be deleted. Deleting a projection includes deleting the checkpoint and the emitted streams. - -@[code{Delete}](@grpc:projectionManagement.go) - -You can only delete an existing projection. When you try to delete a non-existing projection, you'll get an error: - -@[code{DeleteNotFound}](@grpc:projectionManagement.go) - -## Abort a projection - -Aborts a projection, this will not save the projection's checkpoint. - -@[code{Abort}](@grpc:projectionManagement.go) - -You can only abort an existing projection. When you try to abort a non-existing projection, you'll get an error: - -@[code{Abort_NotFound}](@grpc:projectionManagement.go) - -## Reset a projection - -Resets a projection, which causes deleting the projection checkpoint. This will force the projection to start afresh and re-emit events. Streams that are written to from the projection will also be soft-deleted. - -@[code{Reset}](@grpc:projectionManagement.go) - -Resetting a projection that does not exist will result in an error. - -@[code{Reset_NotFound}](@grpc:projectionManagement.go) - -## Update a projection - -Updates a projection with a given name. The query parameter contains the new JavaScript. Updating system projections using this operation is not supported at the moment. - -@[code{Update}](@grpc:projectionManagement.go) - -You can only update an existing projection. When you try to update a non-existing projection, you'll get an error: - -@[code{Update_NotFound}](@grpc:projectionManagement.go) - -## List all projections - -Returns a list of all projections, user defined & system projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListAll}](@grpc:projectionManagement.go) - -## List continuous projections - -Returns a list of all continuous projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListContinuous}](@grpc:projectionManagement.go) - -## Get status - -Gets the status of a named projection. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{GetStatus}](@grpc:projectionManagement.go) - -## Get state - -Retrieves the state of a projection. - -@[code{GetState}](@grpc:projectionManagement.go) - -## Get result - -Retrieves the result of the named projection and partition. - -@[code{GetResult}](@grpc:projectionManagement.go) - -## Projection Details - -[List all](#list-all-projections), [list continuous](#list-continuous-projections) and [get status](#get-status) all return the details and statistics of projections - -| Field | Description | -|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `Name`, `EffectiveName` | The name of the projection | -| `Status` | A human readable string of the current statuses of the projection (see below) | -| `StateReason` | A human readable string explaining the reason of the current projection state | -| `CheckpointStatus` | A human readable string explaining the current operation performed on the checkpoint : `requested`, `writing` | -| `Mode` | `Continuous`, `OneTime` , `Transient` | -| `CoreProcessingTime` | The total time, in ms, the projection took to handle events since the last restart | -| `Progress` | The progress, in %, indicates how far this projection has processed event, in case of a restart this could be -1% or some number. It will be updated as soon as a new event is appended and processed | -| `WritesInProgress` | The number of write requests to emitted streams currently in progress, these writes can be batches of events | -| `ReadsInProgress` | The number of read requests currently in progress | -| `PartitionsCached` | The number of cached projection partitions | -| `Position` | The Position of the last processed event | -| `LastCheckpoint` | The Position of the last checkpoint of this projection | -| `EventsProcessedAfterRestart` | The number of events processed since the last restart of this projection | -| `BufferedEvents` | The number of events in the projection read buffer | -| `WritePendingEventsBeforeCheckpoint` | The number of events waiting to be appended to emitted streams before the pending checkpoint can be written | -| `WritePendingEventsAfterCheckpoint` | The number of events to be appended to emitted streams since the last checkpoint | -| `Version` | This is used internally, the version is increased when the projection is edited or reset | -| `Epoch` | This is used internally, the epoch is increased when the projection is reset | - -The `Status` string is a combination of the following values. -The first 3 are the most common one, as the other one are transient values while the projection is initialised or stopped - -| Value | Description | -|--------------------|-------------------------------------------------------------------------------------------------------------------------| -| Running | The projection is running and processing events | -| Stopped | The projection is stopped and is no longer processing new events | -| Faulted | An error occurred in the projection, `StateReason` will give the fault details, the projection is not processing events | -| Initial | This is the initial state, before the projection is fully initialised | -| Suspended | The projection is suspended and will not process events, this happens while stopping the projection | -| LoadStateRequested | The state of the projection is being retrieved, this happens while the projection is starting | -| StateLoaded | The state of the projection is loaded, this happens while the projection is starting | -| Subscribed | The projection has successfully subscribed to its readers, this happens while the projection is starting | -| FaultedStopping | This happens before the projection is stopped due to an error in the projection | -| Stopping | The projection is being stopped | -| CompletingPhase | This happens while the projection is stopping | -| PhaseCompleted | This happens while the projection is stopping | diff --git a/docs/clients/grpc/go/reading-events.md b/docs/clients/grpc/go/reading-events.md deleted file mode 100644 index 5be0bdf10..000000000 --- a/docs/clients/grpc/go/reading-events.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -order: 3 -head: - - - title - - {} - - Reading Events | Go | Clients | Kurrent Docs ---- - -# Reading Events - -There are two options for reading events from KurrentDB. You can either: - 1. Read from an individual stream, or - 2. Read from the `$all` stream, which will return all events in the store. - -Each event in KurrentDB belongs to an individual stream. When reading events, pick the name of the stream from which you want to read the events and choose whether to read the stream forwards or backwards. - -All events have a `StreamPosition` and a `Position`. `StreamPosition` is a *big int* (unsigned 64-bit integer) and represents the place of the event in the stream. `Position` is the event's logical position, and is represented by `CommitPosition` and a `PreparePosition`. Note that when reading events you will supply a different "position" depending on whether you are reading from an individual stream or the `$all` stream. - -:::tip -Check [connecting to KurrentDB instructions](getting-started.md#required-packages) to learn how to configure and use the client SDK. -::: - -## Reading from a stream - -You can read all the events or a sample of the events from individual streams, starting from any position in the stream, and can read either forward or backward. It is only possible to read events from a single stream at a time. You can read events from the global event log, which spans across streams. Learn more about this process in the [Read from `$all`](#reading-from-the-all-stream) section below. - -### Reading forwards - -The simplest way to read a stream forwards is to supply a stream name, read direction, and revision from which to start. The revision can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-stream}](@grpc:readingEvents.go) - -This will return an enumerable that can be iterated on: - -@[code{iterate-stream}](@grpc:readingEvents.go) - -There are a number of additional arguments you can provide when reading a stream, listed below. - -#### maxCount - -Passing in the max count will limit the number of events returned. - -#### resolveLinkTos - -When using projections to create new events, you can set whether the generated events are pointers to existing events. Setting this value to `true` tells KurrentDB to return the event as well as the event linking to it. - -#### configureOperationOptions - -You can use the `configureOperationOptions` argument to provide a function that will customise settings for each operation. - -#### userCredentials - -The `userCredentials` argument is optional. It is used to override the default credentials specified when creating the client instance. - -@[code{overriding-user-credentials}](@grpc:readingEvents.go) - -### Reading from a revision - -Instead of providing the `StreamPosition` you can also provide a specific stream revision as a *big int* (unsigned 64-bit integer). - -@[code{read-from-stream-position}](@grpc:readingEvents.go) - -### Reading backwards - -In addition to reading a stream forwards, streams can be read backwards. To read all the events backwards, set the *stream position* to the end: - -@[code{reading-backwards}](@grpc:readingEvents.go) - -:::tip -Read one event backwards to find the last position in the stream. -::: - -### Checking if the stream exists - -Reading a stream returns a `ReadStreamResult`, which contains a property `ReadState`. This property can have the value `StreamNotFound` or `Ok`. - -It is important to check the value of this field before attempting to iterate an empty stream, as it will throw an exception. - -For example: - -@[code{checking-for-stream-presence}](@grpc:readingEvents.go) - -## Reading from the $all stream - -Reading from the `$all` stream is similar to reading from an individual stream, but please note there are differences. One significant difference is the need to provide admin user account credentials to read from the `$all` stream. Additionally, you need to provide a transaction log position instead of a stream revision when reading from the `$all` stream. - -### Reading forwards - -The simplest way to read the `$all` stream forwards is to supply a read direction and the transaction log position from which you want to start. The transaction log postion can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-all-stream}](@grpc:readingEvents.go) - -You can iterate asynchronously through the result: - -@[code{read-from-all-stream-iterate}](@grpc:readingEvents.go) - -There are a number of additional arguments you can provide when reading the `$all` stream. - -#### maxCount - -Passing in the max count allows you to limit the number of events that returned. - -#### resolveLinkTos - -When using projections to create new events you can set whether the generated events are pointers to existing events. Setting this value to true will tell KurrentDB to return the event as well as the event linking to it. - -@[code{read-from-all-stream-resolving-link-Tos}](@grpc:readingEvents.go) - -#### configureOperationOptions - -This argument is generic setting class for all operations that can be set on all operations executed against KurrentDB. - -#### userCredentials -The credentials used to read the data can be used by the subscription as follows. This will override the default credentials set on the connection. - -@[code{read-all-overriding-user-credentials}](@grpc:readingEvents.go) - -### Reading backwards - -In addition to reading the `$all` stream forwards, it can be read backwards. To read all the events backwards, set the *position* to the end: - -@[code{read-from-all-stream-backwards}](@grpc:readingEvents.go) - -:::tip -Read one event backwards to find the last position in the `$all` stream. -::: - -### Handling system events - -KurrentDB will also return system events when reading from the `$all` stream. In most cases you can ignore these events. - -All system events begin with `$` or `$$` and can be easily ignored by checking the `EventType` property. - -@[code{ignore-system-events}](@grpc:readingEvents.go) - diff --git a/docs/clients/grpc/go/release-notes.md b/docs/clients/grpc/go/release-notes.md deleted file mode 100644 index f94f4fd41..000000000 --- a/docs/clients/grpc/go/release-notes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -order: 10 -head: - - - title - - {} - - Release Notes | Go | Clients | Kurrent Docs ---- - -# Release Notes - -To stay up to date with the latest changes and improvements, including release history, changelogs, upgrade instructions, and migration guides, see the [KurrentDB Go client release notes](https://github.com/kurrent-io/KurrentDB-Client-Go/releases). \ No newline at end of file diff --git a/docs/clients/grpc/go/subscriptions.md b/docs/clients/grpc/go/subscriptions.md deleted file mode 100644 index f01ff90a1..000000000 --- a/docs/clients/grpc/go/subscriptions.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -order: 4 -head: - - - title - - {} - - Catch-up Subscription | Go | Clients | Kurrent Docs ---- - -# Catch-up Subscriptions - -Subscriptions allow you to subscribe to a stream and receive notifications about new events added to the stream. - -You provide an event handler and an optional starting point to the subscription. The handler is called for each event from the starting point onward. - -If events already exist, the handler will be called for each event one by one until it reaches the end of the stream. The server will then notify the handler whenever a new event appears. - -:::tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Subscribing from the start - -If you need to process all the events in the store, including historical events, you'll need to subscribe from the beginning. You can either subscribe to receive events from a single stream or subscribe to `$all` if you need to process all events in the database. - -### Subscribing to a stream - -The simplest stream subscription looks like the following : - -@[code{subscribe-to-stream}](@grpc:subscribingToStream.go) - -The provided handler will be called for every event in the stream. - -When you subscribe to a stream with link events, for example the `$ce` category stream, you need to set `resolveLinkTos` to `true`. Read more about it [below](#resolving-link-to-s). - -### Subscribing to `$all` - -Subscribing to `$all` is similar to subscribing to a single stream. The handler will be called for every event appended after the starting position. - -@[code{subscribe-to-all}](@grpc:subscribingToStream.go) - -## Subscribing from a specific position - -The previous examples subscribed to the stream from the beginning. That subscription invoked the handler for every event in the stream before waiting for new events. - -Both stream and $all subscriptions accept a starting position if you want to read from a specific point onward. If events already exist at the position you subscribe to, they will be read on the server side and sent to the subscription. - -Once caught up, the server will push any new events received on the streams to the client. There is no difference between catching up and live on the client side. - -::: warning -The positions provided to the subscriptions are exclusive. You will only receive the next event after the subscribed position. -::: - -### Subscribing to a stream - -To subscribe to a stream from a specific position, you must provide a *stream position*. This can be `Start`, `End` or a *big int* (unsigned 64 bit integer) position. - -The following subscribes to the stream `some-stream` at position `20`, this means that events `21` and onward will be handled: - -@[code{subscribe-to-stream-from-position}](@grpc:subscribingToStream.go) - -### Subscribing to $all - -Subscribing to the `$all` stream is similar to subscribing to a regular stream. The difference is how to specify the starting position. For the `$all` stream, provide a `Position` structure that consists of two big integers: the prepare and commit positions. Use `Start`, `End`, or create a `Position` from specific commit and prepare values. - -The corresponding `$all` subscription will subscribe from the event after the one at commit position `1056` and prepare position `1056`. - -Please note that this position will need to be a legitimate position in `$all`. - -@[code{subscribe-to-all-from-position}](@grpc:subscribingToStream.go) - -## Subscribing to a stream for live updates - -You can subscribe to a stream to get live updates by subscribing to the end of the stream: - -@[code{subscribe-to-stream-live}](@grpc:subscribingToStream.go) - -And the same works with `$all` : - -@[code{subscribe-to-all-live}](@grpc:subscribingToStream.go) - -This will not read through the history of the stream but will notify the handler when a new event appears in the respective stream. - -Keep in mind that when you subscribe to a stream from a specific position, as described [above](#subscribing-from-a-specific-position), you will also get live updates after your subscription catches up (processes all the historical events). - -## Resolving link-to events - -Link-to events point to events in other streams in KurrentDB. These are generally created by projections such as the `$by_event_type` projection which links events of the same event type into the same stream. This makes it easier to look up all events of a specific type. - -::: tip -[Filtered subscriptions](subscriptions.md#server-side-filtering) make it easier and faster to subscribe to all events of a specific type or matching a prefix. -::: - -When reading a stream you can specify whether to resolve link-to's. By default, link-to events are not resolved. You can change this behaviour by setting the `resolveLinkTos` parameter to `true`: - -@[code{subscribe-to-stream-resolving-linktos}](@grpc:subscribingToStream.go) - -## Dropped subscriptions - -When a subscription stops or experiences an error, it will be dropped. The subscription provides a `subscriptionDropped` callback, which will get called when the subscription breaks. - -The `subscriptionDropped` callback allows you to inspect the reason why the subscription dropped, as well as any exceptions that occurred. - -The possible reasons for a subscription to drop are: - -| Reason | Why it might happen | -|:------------------|:---------------------------------------------------------------------------------------------------------------------| -| `Disposed` | The client canceled or disposed of the subscription. | -| `SubscriberError` | An error occurred while handling an event in the subscription handler. | -| `ServerError` | An error occurred on the server, and the server closed the subscription. Check the server logs for more information. | - -Bear in mind that a subscription can also drop because it is slow. The server tried to push all the live events to the subscription when it is in the live processing mode. If the subscription gets the reading buffer overflow and won't be able to acknowledge the buffer, it will break. - -### Handling subscription drops - -An application, which hosts the subscription, can go offline for some time for different reasons. It could be a crash, infrastructure failure, or a new version deployment. As you rarely would want to reprocess all the events again, you'd need to store the current position of the subscription somewhere, and then use it to restore the subscription from the point where it dropped off: - -@[code{subscribe-to-stream-subscription-dropped}](@grpc:subscribingToStream.go) - -When subscribed to `$all` you want to keep the event's position in the `$all` stream. As mentioned previously, the `$all` stream position consists of two big integers (prepare and commit positions), not one: - -@[code{subscribe-to-all-subscription-dropped}](@grpc:subscribingToStream.go) - -## User credentials - -The user creating a subscription must have read access to the stream it's subscribing to, and only admin users may subscribe to `$all` or create filtered subscriptions. - -The code below shows how you can provide user credentials for a subscription. When you specify subscription credentials explicitly, it will override the default credentials set for the client. If you don't specify any credentials, the client will use the credentials specified for the client, if you specified those. - -@[code{overriding-user-credentials}](@grpc:subscribingToStream.go) - -## Server-side filtering - -KurrentDB allows you to filter the events whilst subscribing to the `$all` stream to only receive the events you care about. - -You can filter by event type or stream name using a regular expression or a prefix. Server-side filtering is currently only available on the `$all` stream. - -::: tip -Server-side filtering was introduced as a simpler alternative to projections. You should consider filtering before creating a projection to include the events you care about. -::: - -A simple stream prefix filter looks like this: - -@[code{stream-prefix-filtered-subscription}](@grpc:subscribingToStream.go) - -The filtering API is described more in-depth in the [filtering section](subscriptions.md#server-side-filtering). - -### Filtering out system events - -There are events in KurrentDB called system events. These are prefixed with a `$` and under most circumstances you won't care about these. They can be filtered out by passing in a `SubscriptionFilterOptions` when subscribing to the `$all` stream. - -@[code{exclude-system}](@grpc:serverSideFiltering.go) - -::: tip -`$stats` events are no longer stored in KurrentDB by default so there won't be as many `$` events as before. -::: - -### Filtering by event type - -If you only want to subscribe to events of a given type, there are two options. You can either use a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `EventTypeFilter.Prefix`. - -@[code{event-type-prefix}](@grpc:serverSideFiltering.go) - -This will only subscribe to events with a type that begin with `customer-`. - -#### Filtering by regular expression - -It might be advantageous to provide a regular expression when you want to subscribe to multiple event types. - -@[code{event-type-regex}](@grpc:serverSideFiltering.go) - -This will subscribe to any event that begins with `user` or `company`. - -### Filtering by stream name - -To subscribe to a stream by name, choose either a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `StreamFilter.Prefix`. - -@[code{stream-prefix}](@grpc:serverSideFiltering.go) - -This will only subscribe to all streams with a name that begins with `user-`. - -#### Filtering by regular expression - -To subscribe to multiple streams, use a regular expression. - -@[code{stream-regex}](@grpc:serverSideFiltering.go) - -This will subscribe to any stream with a name that begins with `account` or `savings`. - -## Checkpointing - -When a catch-up subscription is used to process an `$all` stream containing many events, the last thing you want is for your application to crash midway, forcing you to restart from the beginning. - -### What is a checkpoint? - -A checkpoint is the position of an event in the `$all` stream to which your application has processed. By saving this position to a persistent store (e.g., a database), it allows your catch-up subscription to: -- Recover from crashes by reading the checkpoint and resuming from that position -- Avoid reprocessing all events from the start - -To create a checkpoint, store the event's commit or prepare position. - -::: warning -If your database contains events created by the legacy TCP client using the [transaction feature](https://docs.kurrent.io/clients/tcp/dotnet/21.2/appending.html#transactions), you should store both the commit and prepare positions together as your checkpoint. -::: - -### Updating checkpoints at regular intervals -The client SDK provides a way to notify your application after processing a configurable number of events. This allows you to periodically save a checkpoint at regular intervals. - -@[code{checkpoint}](@grpc:serverSideFiltering.go) - -By default, the checkpoint notification is sent after every 32 non-system events processed from $all. - -### Configuring the checkpoint interval -You can adjust the checkpoint interval to change how often the client is notified. - -@[code{checkpoint-with-interval}](@grpc:serverSideFiltering.go) - -By configuring this parameter, you can balance between reducing checkpoint overhead and ensuring quick recovery in case of a failure. - -::: info -The checkpoint interval parameter configures the database to notify the client after `n` * 32 number of events where `n` is defined by the parameter. - -For example: -- If `n` = 1, a checkpoint notification is sent every 32 events. -- If `n` = 2, the notification is sent every 64 events. -- If `n` = 3, it is sent every 96 events, and so on. -::: diff --git a/docs/clients/grpc/java/README.md b/docs/clients/grpc/java/README.md deleted file mode 100644 index d84b98be2..000000000 --- a/docs/clients/grpc/java/README.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -index: false ---- - -# Java - -Learn how to use the KurrentDB Java client library to interact with the database. - - \ No newline at end of file diff --git a/docs/clients/grpc/java/appending-events.md b/docs/clients/grpc/java/appending-events.md deleted file mode 100644 index 21c15acce..000000000 --- a/docs/clients/grpc/java/appending-events.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -order: 2 -head: - - - title - - {} - - Appending Events | Java | Clients | Kurrent Docs ---- - -# Appending Events - -When you start working with KurrentDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs. - -::: tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Append your first event - -The simplest way to append an event to KurrentDB is to create an `EventData` object and call `AppendToStream` method. - -@[code{append-to-stream}](@grpc:appending_events/AppendingEvents.java;) - -`AppendToStream` takes a collection of `EventData`, which allows you to save more than one event in a single batch. - -Outside the example above, other options exist for dealing with different scenarios. - -::: tip -If you are new to Event Sourcing, please study the [Handling concurrency](#handling-concurrency) section below. -::: - -## Working with EventData - -Events appended to KurrentDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**. - -### eventId - -This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, KurrentDB will only append one of the events to the stream. - -For example, the following code will only append a single event: - -@[code{append-duplicate-event}](@grpc:appending_events/AppendingEvents.java;) - -![Duplicate Event](../images/duplicate-event.png) - -### type - -Each event should be supplied with an event type. This unique string is used to identify the type of event you are saving. - -It is common to see the explicit event code type name used as the type as it makes serialising and de-serialising of the event easy. However, we recommend against this as it couples the storage to the type and will make it more difficult if you need to version the event at a later date. - -### data - -Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of KurrentDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes. - -### metadata - -Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. KurrentDB allows you to store a separate byte array containing this information to keep it separate. - -### isJson - -Simple boolean field to tell KurrentDB if the event is stored as json, true by default. - -## Handling concurrency - -When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform KurrentDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown. - -For example, if you try to append the same record twice, expecting both times that the stream doesn't exist, you will get an exception on the second: - -@[code{append-with-no-stream}](@grpc:appending_events/AppendingEvents.java;) - -There are three available stream states: -- `Any` -- `NoStream` -- `StreamExists` - -This check can be used to implement optimistic concurrency. When retrieving a stream from KurrentDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime. - -@[code{append-with-concurrency-check}](@grpc:appending_events/AppendingEvents.java;) - - - -## User credentials - -You can provide user credentials to append the data as follows. This will override the default credentials set on the connection. - -@[code{overriding-user-credentials}](@grpc:appending_events/AppendingEvents.java;) - diff --git a/docs/clients/grpc/java/authentication.md b/docs/clients/grpc/java/authentication.md deleted file mode 100644 index f0116e089..000000000 --- a/docs/clients/grpc/java/authentication.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Authentication -order: 7 -head: - - - title - - {} - - Authentication | Java | Clients | Kurrent Docs ---- - -## Client x.509 certificate - -X.509 certificates are digital certificates that use the X.509 public key infrastructure (PKI) standard to verify the identity of clients and servers. They play a crucial role in establishing a secure connection by providing a way to authenticate identities and establish trust. - -### Prerequisites - -1. KurrentDB 25.0 or greater, or EventStoreDB 24.10. -2. A commercial license with the User Certificates entitlement. -3. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/kurrent-io/es-gencert-cli). -4. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information. -5. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates) - -#### Generate user certificates - -The following command uses the [gencert tool](https://github.com/kurrent-io/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days: - -::: tabs#os -@tab bash -```bash -./es-gencert-cli create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -@tab PowerShell -```powershell -.\es-gencert-cli.exe create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -::: - -### Connect to KurrentDB using an x.509 certificate - -To connect to KurrentDB using an x.509 certificate, you need to provide the -certificate and the private key to the client. If both username/password and -certificate authentication data are supplied, the client prioritizes user -credentials for authentication. The client will throw an error if the -certificate and the key are not both provided. - -::: tip -Please note that currently, password-protected private key files are not supported. -::: - -The client supports the following parameters: - -| Parameter | Description | -|----------------|--------------------------------------------------------------------------------| -| `userCertFile` | The file containing the X.509 user certificate in PEM format. | -| `userKeyFile` | The file containing the user certificate’s matching private key in PEM format. | - -To authenticate, include these two parameters in your connection string or constructor when initializing the client. - -For example: - -@[code{client-with-user-certificates}](@grpc:authentication/UserCertificate.java) \ No newline at end of file diff --git a/docs/clients/grpc/java/delete-stream.md b/docs/clients/grpc/java/delete-stream.md deleted file mode 100644 index 26c2360e9..000000000 --- a/docs/clients/grpc/java/delete-stream.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -order: 9 -head: - - - title - - {} - - Deleting Events | Java | Clients | Kurrent Docs ---- - -# Deleting Events - -In KurrentDB, you can delete events and streams either partially or completely. Settings like $maxAge and $maxCount help control how long events are kept or how many events are stored in a stream, but they won't delete the entire stream. -When you need to fully remove a stream, KurrentDB offers two options: Soft Delete and Hard Delete. - -## Soft delete - -Soft delete in KurrentDB allows you to mark a stream for deletion without completely removing it, so you can still add new events later. While you can do this through the UI, using code is often better for automating the process, -handling many streams at once, or including custom rules. Code is especially helpful for large-scale deletions or when you need to integrate soft deletes into other workflows. - -```java -client.deleteStream(streamName, DeleteStreamOptions.get()).get(); -``` - -::: note -Clicking the delete button in the UI performs a soft delete, -setting the TruncateBefore value to remove all events up to a certain point. -While this marks the events for deletion, actual removal occurs during the next scavenging process. -The stream can still be reopened by appending new events. -::: - -## Hard delete - -Hard delete in KurrentDB permanently removes a stream and its events. While you can use the HTTP API, code is often better for automating the process, managing multiple streams, and ensuring precise control. Code is especially useful when you need to integrate hard delete into larger workflows or apply specific conditions. Note that when a stream is hard deleted, you cannot reuse the stream name, it will raise an exception if you try to append to it again. - -```java -client.tombstoneStream(streamName, DeleteStreamOptions.get()).get(); -``` \ No newline at end of file diff --git a/docs/clients/grpc/java/getting-started.md b/docs/clients/grpc/java/getting-started.md deleted file mode 100644 index 2ec4ecb01..000000000 --- a/docs/clients/grpc/java/getting-started.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -order: 1 -head: - - - title - - {} - - Getting Started | Java | Clients | Kurrent Docs ---- - -# Getting Started - -Get started by connecting your application to KurrentDB. - -## Connecting to KurrentDB - -To connect your application to KurrentDB, instantiate and configure the client. - -::: tip Insecure clusters -All our GRPC clients are secure by default and must be configured to connect to an insecure server via [a connection string](#connection-string) or the client's configuration. -::: - -### Required packages - -Add the `kurrentdb-client` dependency to your Maven or Gradle project. - -::: tabs -@tab Maven -```xml - - io.kurrent - kurrentdb-client - 1.0.0 - -``` - -@tab Gradle -```groovy -implementation 'io.kurrent:kurrentdb-client:1.0.0' -``` - -For the most recent version of the KurrentDB client package, see [Maven Central](https://mvnrepository.com/artifact/io.kurrent/kurrentdb-client). -::: - - -### Connection string - -Each SDK has its own way of configuring the client, but the connection string can always be used. -The KurrentDB connection string supports two schemas: `kurrentdb://` for connecting to a single-node server, and `kurrentdb+discover://` for connecting to a multi-node cluster. The difference between the two schemas is that when using `kurrentdb://`, the client will connect directly to the node; with `kurrentdb+discover://` schema the client will use the gossip protocol to retrieve the cluster information and choose the right node to connect to. -Since version 22.10, ESDB supports gossip on single-node deployments, so `kurrentdb+discover://` schema can be used for connecting to any topology. - -The connection string has the following format: - -``` -kurrentdb+discover://admin:changeit@cluster.dns.name:2113 -``` - -There, `cluster.dns.name` is the name of a DNS `A` record that points to all the cluster nodes. Alternatively, you can list cluster nodes separated by comma instead of the cluster DNS name: - -``` -kurrentdb+discover://admin:changeit@node1.dns.name:2113,node2.dns.name:2113,node3.dns.name:2113 -``` - -There are a number of query parameters that can be used in the connection string to instruct the cluster how and where the connection should be established. All query parameters are optional. - -| Parameter | Accepted values | Default | Description | -|-----------------------|---------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------| -| `tls` | `true`, `false` | `true` | Use secure connection, set to `false` when connecting to a non-secure server or cluster. | -| `connectionName` | Any string | None | Connection name | -| `maxDiscoverAttempts` | Number | `10` | Number of attempts to discover the cluster. | -| `discoveryInterval` | Number | `100` | Cluster discovery polling interval in milliseconds. | -| `gossipTimeout` | Number | `5` | Gossip timeout in seconds, when the gossip call times out, it will be retried. | -| `nodePreference` | `leader`, `follower`, `random`, `readOnlyReplica` | `leader` | Preferred node role. When creating a client for write operations, always use `leader`. | -| `tlsVerifyCert` | `true`, `false` | `true` | In secure mode, set to `true` when using an untrusted connection to the node if you don't have the CA file available. Don't use in production. | -| `tlsCaFile` | String, file path | None | Path to the CA file when connecting to a secure cluster with a certificate that's not signed by a trusted CA. | -| `defaultDeadline` | Number | None | Default timeout for client operations, in milliseconds. Most clients allow overriding the deadline per operation. | -| `keepAliveInterval` | Number | `10` | Interval between keep-alive ping calls, in seconds. | -| `keepAliveTimeout` | Number | `10` | Keep-alive ping call timeout, in seconds. | -| `userCertFile` | String, file path | None | User certificate file for X.509 authentication. | -| `userKeyFile` | String, file path | None | Key file for the user certificate used for X.509 authentication. | - -When connecting to an insecure instance, specify `tls=false` parameter. For example, for a node running locally use `kurrentdb://localhost:2113?tls=false`. Note that usernames and passwords aren't provided there because insecure deployments don't support authentication and authorisation. - -### Creating a client - -First, create a client and get it connected to the database. - -@[code{createClient}](@grpc:quick_start/QuickStart.java) - -The client instance can be used as a singleton across the whole application. It doesn't need to open or close the connection. - -### Creating an event - -You can write anything to KurrentDB as events. The client needs a byte array as the event payload. Normally, you'd use a serialized object, and it's up to you to choose the serialization method. - -::: tip Server-side projections -User-defined server-side projections require events to be serialized in JSON format. - -We use JSON for serialization in the documentation examples. -::: - -The code snippet below creates an event object instance, serializes it, and adds it as a payload to the `EventData` structure, which the client can then write to the database. - -@[code{createEvent}](@grpc:quick_start/QuickStart.java) - -### Appending events - -Each event in the database has its own unique identifier (UUID). The database uses it to ensure idempotent writes, but it only works if you specify the stream revision when appending events to the stream. - -In the snippet below, we append the event to the stream `some-stream`. - -@[code{appendEvents}](@grpc:quick_start/QuickStart.java) - -Here we are appending events without checking if the stream exists or if the stream version matches the expected event version. See more advanced scenarios in [appending events documentation](./appending-events.md). - -### Reading events - -Finally, we can read events back from the `some-stream` stream. - -@[code{readStream}](@grpc:quick_start/QuickStart.java) - -When you read events from the stream, you get a collection of `ResolvedEvent` structures. The event payload is returned as a byte array and needs to be deserialized. See more advanced scenarios in [reading events documentation](./reading-events.md). - diff --git a/docs/clients/grpc/java/observability.md b/docs/clients/grpc/java/observability.md deleted file mode 100644 index 336775c73..000000000 --- a/docs/clients/grpc/java/observability.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -order: 8 -head: - - - title - - {} - - Observability | Java | Clients | Kurrent Docs ---- - -# Observability - -The KurrentDB gRPC clients are designed with observability in mind, offering -support for OpenTelemetry. This integration provides a set of distributed -traces, enabling developers to gain deeper insights into their system. - -::: warning -Currently, OpenTelemetry observability support is not available for all -clients. Moreover, instrumentation is only provided for append and -subscribe operations, which includes both 'Catchup' and 'Persistent' modes. -::: - -Click [here](https://github.com/kurrent-io/KurrentDB-Client-Java/blob/trunk/src/test/java/io/kurrent/dbclient/samples/opentelemetry/Instrumentation.java) to view the full sample code for observability. - -## Required packages - -OpenTelemetry support is included to the KurrentDB Java client by default. - - -## Instrumentation - -To emit trace data, you must first install and use the dedicated package, as instructed in the -[Required Packages](./observability.md#required-packages) section, if provided. This package -includes the necessary instrumentation that needs to be registered with the client. - -@[code{register-instrumentation}](@grpc:opentelemetry/Instrumentation.java) - -## Traces - -Traces provide a clear picture of how operations are carried out in a -distributed system, making it easier to maintain and enhance the system over -time. Traces from the clients can be exported to any compatible collector that -supports the OpenTelemetry protocol (OTLP). - -In order for the client to emit traces, you need to need to enable -instrumentation as described in -[Instrumentation](./observability.md#instrumentation). - -For more guidance on setting up and utilizing tracing, refer to the -[OpenTelemetry](https://opentelemetry.io/) documentation. - -An example of a trace is shown below: - -```bash -Activity.TraceId: 8da04787239dbb85c1f9c6fba1b1f0d6 -Activity.SpanId: 4352ec4a66a20b95 -Activity.TraceFlags: Recorded -Activity.ActivitySourceName: kurrentdb -Activity.DisplayName: streams.append -Activity.Kind: Client -Activity.StartTime: 2024-05-29T06:50:41.2519016Z -Activity.Duration: 00:00:00.1500707 -Activity.Tags: - db.kurrentdb.stream: d7caa2a5-1e19-4108-9541-58d5fba02d42 - server.address: localhost - server.port: 2113 - db.system: kurrentdb - db.operation: streams.append -StatusCode: Ok -Resource associated with Activity: - service.name: sample - service.instance.id: 7316ef20-c354-4e64-97da-c1b99c2c28b0 - telemetry.sdk.name: opentelemetry - telemetry.sdk.language: dotnet - telemetry.sdk.version: 1.8.1 -``` - -In this case, the trace is for an append operation on a stream. The trace -includes the trace ID, span ID, trace flags, activity source name, display name, -kind, start time, duration, tags, status code, and resource associated with the -activity. - -::: note -The structure of the trace may vary depending on the client and the operation -being performed but will generally include the same information. -::: - -## Exporting traces - -You can set up various exporters to send traces to different destinations. -Additionally, you have the option to export these traces to a collector of your -choice, such as [Jaeger](https://www.jaegertracing.io/) or [Seq](https://datalust.co/seq). - -For instance, if you choose to use Jaeger as your backend of choice, you can -view your traces in the Jaeger UI, which provides a powerful interface for -querying and visualizing your trace data. - -The code snippets below demonstrate how to set up one or more exporters for each -client: - -@[code{setup-exporter}](@grpc:opentelemetry/Instrumentation.java) - -For more details on configuring exporters for specific programming languages, -refer to the [OpenTelemetry](https://opentelemetry.io/docs/languages/) -documentation. diff --git a/docs/clients/grpc/java/persistent-subscriptions.md b/docs/clients/grpc/java/persistent-subscriptions.md deleted file mode 100644 index 85ff7bb41..000000000 --- a/docs/clients/grpc/java/persistent-subscriptions.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -order: 5 -head: - - - title - - {} - - Persistent Subscriptions | Java | Clients | Kurrent Docs ---- - -# Persistent Subscriptions - -Persistent subscriptions are similar to catch-up subscriptions, but there are two key differences: -- The subscription checkpoint is maintained by the server. It means that when your client reconnects to the persistent subscription, it will automatically resume from the last known position. -- It's possible to connect more than one event consumer to the same persistent subscription. In that case, the server will load-balance the consumers, depending on the defined strategy, and distribute the events to them. - -Because of those, persistent subscriptions are defined as subscription groups that are defined and maintained by the server. Consumer then connect to a particular subscription group, and the server starts sending event to the consumer. - -You can read more about persistent subscriptions in the [server documentation](@server/features/persistent-subscriptions.md). - -## Creating a subscription group - -The first step of dealing with a persistent subscription is to create a subscription group. You will receive an error if you attempt to create a subscription group multiple times. You must have admin permissions to create a persistent subscription group. - -### Subscribing to one stream - -The following sample shows how to create a subscription group for a persistent subscription where you want to receive events from a specific stream. It could be a normal stream, or a stream of links (like `$ce` category stream). - -@[code{create-persistent-subscription-to-stream}](@grpc:persistent_subscriptions/PersistentSubscriptions.java;) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to create. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -### Subscribing to $all - -The ability to subscribe to `$all` was introduced in EventStoreDB **21.10**. Persistent subscriptions to `$all` also support [filtering](subscriptions.md#server-side-filtering). - -You can create a subscription group on $all much the same way you would create a subscription group on a stream: - -@[code{create-persistent-subscription-to-all}](@grpc:persistent_subscriptions/PersistentSubscriptions.java;) - -## Connecting a consumer - -Once you have created a subscription group, clients can connect to it. A subscription in your application should only have the connection in your code, you should assume that the subscription already exists. - -The most important parameter to pass when connecting is the buffer size. This represents how many outstanding messages the server should allow this client. If this number is too small, your subscription will spend much of its time idle as it waits for an acknowledgment to come back from the client. If it's too big, you waste resources and can start causing time out messages depending on the speed of your processing. - -### Connecting to one stream - -The code below shows how to connect to an existing subscription group for a specific stream: - -@[code{subscribe-to-persistent-subscription-to-stream}](@grpc:persistent_subscriptions/PersistentSubscriptions.java;) - -| Parameter | Description | -|:----------------------|:---------------------------------------------------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to subscribe to. | -| `eventAppeared` | The action to call when an event arrives over the subscription. | -| `subscriptionDropped` | The action to call if the subscription is dropped. | -| `credentials` | The user credentials to use for this operation. | -| `bufferSize` | The number of in-flight messages this client is allowed. **Default: 10** | -| `autoAck` | Whether to automatically acknowledge messages after eventAppeared returns. **Default: true** | - -::: warning -The `autoAck` parameter will be deprecated in the next client release. You'll need to explicitly [manage acknowledgements](#acknowledgements). -::: - -### Connecting to $all - -The code below shows how to connect to an existing subscription group for `$all`: - -@[code{subscribe-to-persistent-subscription-to-all}](@grpc:persistent_subscriptions/PersistentSubscriptions.java;) - -The `SubscribeToAllAsync` method is identical to the `SubscribeToStreamAsync` method, except that you don't need to specify a stream name. - -## Acknowledgements - -Clients must acknowledge (or not acknowledge) messages in the competing consumer model. - -If processing is successful, you must send an Ack (acknowledge) to the server to let it know that the message has been handled. If processing fails for some reason, then you can Nack (not acknowledge) the message and tell the server how to handle the failure. - -@[code{subscribe-to-persistent-subscription-with-manual-acks}](@grpc:persistent_subscriptions/PersistentSubscriptions.java;) - -The _Nack event action_ describes what the server should do with the message: - -| Action | Description | -|:----------|:---------------------------------------------------------------------| -| `Unknown` | The client does not know what action to take. Let the server decide. | -| `Park` | Park the message and do not resend. Put it on poison queue. | -| `Retry` | Explicitly retry the message. | -| `Skip` | Skip this message do not resend and do not put in poison queue. | - -## Consumer strategies - -When creating a persistent subscription, you can choose between a number of consumer strategies. - -### RoundRobin (default) - -Distributes events to all clients evenly. If the client `bufferSize` is reached, the client won't receive more events until it acknowledges or not acknowledges events in its buffer. - -This strategy provides equal load balancing between all consumers in the group. - -### DispatchToSingle - -Distributes events to a single client until the `bufferSize` is reached. After that, the next client is selected in a round-robin style, and the process repeats. - -This option can be seen as a fall-back scenario for high availability, when a single consumer processes all the events until it reaches its maximum capacity. When that happens, another consumer takes the load to free up the main consumer resources. - -### Pinned - -For use with an indexing projection such as the system `$by_category` projection. - -KurrentDB inspects the event for its source stream id, hashing the id to one of 1024 buckets assigned to individual clients. When a client disconnects, its buckets are assigned to other clients. When a client connects, it is assigned some existing buckets. This naively attempts to maintain a balanced workload. - -The main aim of this strategy is to decrease the likelihood of concurrency and ordering issues while maintaining load balancing. This is **not a guarantee**, and you should handle the usual ordering and concurrency issues. - -## Updating a subscription group - -You can edit the settings of an existing subscription group while it is running, you don't need to delete and recreate it to change settings. When you update the subscription group, it resets itself internally, dropping the connections and having them reconnect. You must have admin permissions to update a persistent subscription group. - -@[code{update-persistent-subscription}](@grpc:persistent_subscriptions/PersistentSubscriptions.java;) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to update. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -## Persistent subscription settings - -Both the `Create` and `Update` methods take some settings for configuring the persistent subscription. - -The following table shows the configuration options you can set on a persistent subscription. - -| Option | Description | Default | -|:------------------------|:----------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------| -| `ResolveLinkTos` | Whether the subscription should resolve link events to their linked events. | `false` | -| `StartFrom` | The exclusive position in the stream or transaction file the subscription should start from. | `null` (start from the end of the stream) | -| `ExtraStatistics` | Whether to track latency statistics on this subscription. | `false` | -| `MessageTimeout` | The amount of time after which to consider a message as timed out and retried. | `30` (seconds) | -| `MaxRetryCount` | The maximum number of retries (due to timeout) before a message is considered to be parked. | `10` | -| `LiveBufferSize` | The size of the buffer (in-memory) listening to live messages as they happen before paging occurs. | `500` | -| `ReadBatchSize` | The number of events read at a time when paging through history. | `20` | -| `HistoryBufferSize` | The number of events to cache when paging through history. | `500` | -| `CheckPointAfter` | The amount of time to try to checkpoint after. | `2` seconds | -| `MinCheckPointCount` | The minimum number of messages to process before a checkpoint may be written. | `10` | -| `MaxCheckPointCount` | The maximum number of messages not checkpointed before forcing a checkpoint. | `1000` | -| `MaxSubscriberCount` | The maximum number of subscribers allowed. | `0` (unbounded) | -| `NamedConsumerStrategy` | The strategy to use for distributing events to client consumers. See the [consumer strategies](#consumer-strategies) in this doc. | `RoundRobin` | - -## Deleting a subscription group - -Remove a subscription group with the delete operation. Like the creation of groups, you rarely do this in your runtime code and is undertaken by an administrator running a script. - -@[code{delete-persistent-subscription}](@grpc:persistent_subscriptions/PersistentSubscriptions.java;) - -| Parameter | Description | -|:--------------|:-----------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to delete. | -| `credentials` | The user credentials to use for this operation | diff --git a/docs/clients/grpc/java/projections.md b/docs/clients/grpc/java/projections.md deleted file mode 100644 index b818b34c9..000000000 --- a/docs/clients/grpc/java/projections.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -order: 6 -title: Projections -head: - - - title - - {} - - Projections | Java | Clients | Kurrent Docs ---- - -# Projection management - -The various gRPC client APIs include dedicated clients that allow you to manage projections. - -For a detailed explanation of projections, see the [server documentation](@server/features/projections/README.md). - -You can find the full sample code from this documentation page in the respective [clients repositories](https://github.com/kurrent-io/?q=client). - -## Creating a client - -Projection management operations are exposed through a dedicated client. - -@[code{createClient}](@grpc:projection_management/ProjectionManagement.java) - -## Create a projection - -Creates a projection that runs until the last event in the store, and then continues processing new events as they are appended to the store. The query parameter contains the JavaScript you want created as a projection. -Projections have explicit names, and you can enable or disable them via this name. - -@[code{CreateContinuous}](@grpc:projection_management/ProjectionManagement.java) - -Trying to create projections with the same name will result in an error: - -@[code{CreateContinuous_Conflict}](@grpc:projection_management/ProjectionManagement.java) - -## Restart the subsystem - -It is possible to restart the entire projection subsystem using the projections management client API. The user must be in the `$ops` or `$admin` group to perform this operation. - -@[code{RestartSubSystem}](@grpc:projection_management/ProjectionManagement.java) - -## Enable a projection - -Enables an existing projection by name. -Once enabled, the projection will start to process events even after restarting the server or the projection subsystem. -You must have access to a projection to enable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Enable}](@grpc:projection_management/ProjectionManagement.java) - -You can only enable an existing projection. When you try to enable a non-existing projection, you'll get an error: - -@[code{EnableNotFound}](@grpc:projection_management/ProjectionManagement.java) - -## Disable a projection - -Disables a projection, this will save the projection checkpoint. -Once disabled, the projection will not process events even after restarting the server or the projection subsystem. -You must have access to a projection to disable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Disable}](@grpc:projection_management/ProjectionManagement.java) - -You can only disable an existing projection. When you try to disable a non-existing projection, you'll get an error: - -@[code{DisableNotFound}](@grpc:projection_management/ProjectionManagement.java) - -## Delete a projection - -Deletes an existing projection. You must disable the projection before deleting it, running projections cannot be deleted. Deleting a projection includes deleting the checkpoint and the emitted streams. - -@[code{Delete}](@grpc:projection_management/ProjectionManagement.java) - -You can only delete an existing projection. When you try to delete a non-existing projection, you'll get an error: - -@[code{DeleteNotFound}](@grpc:projection_management/ProjectionManagement.java) - -## Abort a projection - -Aborts a projection, this will not save the projection's checkpoint. - -@[code{Abort}](@grpc:projection_management/ProjectionManagement.java) - -You can only abort an existing projection. When you try to abort a non-existing projection, you'll get an error: - -@[code{Abort_NotFound}](@grpc:projection_management/ProjectionManagement.java) - -## Reset a projection - -Resets a projection, which causes deleting the projection checkpoint. This will force the projection to start afresh and re-emit events. Streams that are written to from the projection will also be soft-deleted. - -@[code{Reset}](@grpc:projection_management/ProjectionManagement.java) - -Resetting a projection that does not exist will result in an error. - -@[code{Reset_NotFound}](@grpc:projection_management/ProjectionManagement.java) - -## Update a projection - -Updates a projection with a given name. The query parameter contains the new JavaScript. Updating system projections using this operation is not supported at the moment. - -@[code{Update}](@grpc:projection_management/ProjectionManagement.java) - -You can only update an existing projection. When you try to update a non-existing projection, you'll get an error: - -@[code{Update_NotFound}](@grpc:projection_management/ProjectionManagement.java) - -## List all projections - -Returns a list of all projections, user defined & system projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListAll}](@grpc:projection_management/ProjectionManagement.java) - -## List continuous projections - -Returns a list of all continuous projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListContinuous}](@grpc:projection_management/ProjectionManagement.java) - -## Get status - -Gets the status of a named projection. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{GetStatus}](@grpc:projection_management/ProjectionManagement.java) - -## Get state - -Retrieves the state of a projection. - -@[code{GetState}](@grpc:projection_management/ProjectionManagement.java) - -## Get result - -Retrieves the result of the named projection and partition. - -@[code{GetResult}](@grpc:projection_management/ProjectionManagement.java) - -## Projection Details - -[List all](#list-all-projections), [list continuous](#list-continuous-projections) and [get status](#get-status) all return the details and statistics of projections - -| Field | Description | -|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `Name`, `EffectiveName` | The name of the projection | -| `Status` | A human readable string of the current statuses of the projection (see below) | -| `StateReason` | A human readable string explaining the reason of the current projection state | -| `CheckpointStatus` | A human readable string explaining the current operation performed on the checkpoint : `requested`, `writing` | -| `Mode` | `Continuous`, `OneTime` , `Transient` | -| `CoreProcessingTime` | The total time, in ms, the projection took to handle events since the last restart | -| `Progress` | The progress, in %, indicates how far this projection has processed event, in case of a restart this could be -1% or some number. It will be updated as soon as a new event is appended and processed | -| `WritesInProgress` | The number of write requests to emitted streams currently in progress, these writes can be batches of events | -| `ReadsInProgress` | The number of read requests currently in progress | -| `PartitionsCached` | The number of cached projection partitions | -| `Position` | The Position of the last processed event | -| `LastCheckpoint` | The Position of the last checkpoint of this projection | -| `EventsProcessedAfterRestart` | The number of events processed since the last restart of this projection | -| `BufferedEvents` | The number of events in the projection read buffer | -| `WritePendingEventsBeforeCheckpoint` | The number of events waiting to be appended to emitted streams before the pending checkpoint can be written | -| `WritePendingEventsAfterCheckpoint` | The number of events to be appended to emitted streams since the last checkpoint | -| `Version` | This is used internally, the version is increased when the projection is edited or reset | -| `Epoch` | This is used internally, the epoch is increased when the projection is reset | - -The `Status` string is a combination of the following values. -The first 3 are the most common one, as the other one are transient values while the projection is initialised or stopped - -| Value | Description | -|--------------------|-------------------------------------------------------------------------------------------------------------------------| -| Running | The projection is running and processing events | -| Stopped | The projection is stopped and is no longer processing new events | -| Faulted | An error occurred in the projection, `StateReason` will give the fault details, the projection is not processing events | -| Initial | This is the initial state, before the projection is fully initialised | -| Suspended | The projection is suspended and will not process events, this happens while stopping the projection | -| LoadStateRequested | The state of the projection is being retrieved, this happens while the projection is starting | -| StateLoaded | The state of the projection is loaded, this happens while the projection is starting | -| Subscribed | The projection has successfully subscribed to its readers, this happens while the projection is starting | -| FaultedStopping | This happens before the projection is stopped due to an error in the projection | -| Stopping | The projection is being stopped | -| CompletingPhase | This happens while the projection is stopping | -| PhaseCompleted | This happens while the projection is stopping | diff --git a/docs/clients/grpc/java/reading-events.md b/docs/clients/grpc/java/reading-events.md deleted file mode 100644 index 40795d8ac..000000000 --- a/docs/clients/grpc/java/reading-events.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -order: 3 -head: - - - title - - {} - - Reading Events | Java | Clients | Kurrent Docs ---- - -# Reading Events - -There are two options for reading events from KurrentDB. You can either: - 1. Read from an individual stream, or - 2. Read from the `$all` stream, which will return all events in the store. - -Each event in KurrentDB belongs to an individual stream. When reading events, pick the name of the stream from which you want to read the events and choose whether to read the stream forwards or backwards. - -All events have a `StreamPosition` and a `Position`. `StreamPosition` is a *big int* (unsigned 64-bit integer) and represents the place of the event in the stream. `Position` is the event's logical position, and is represented by `CommitPosition` and a `PreparePosition`. Note that when reading events you will supply a different "position" depending on whether you are reading from an individual stream or the `$all` stream. - -:::tip -Check [connecting to KurrentDB instructions](getting-started.md#required-packages) to learn how to configure and use the client SDK. -::: - -## Reading from a stream - -You can read all the events or a sample of the events from individual streams, starting from any position in the stream, and can read either forward or backward. It is only possible to read events from a single stream at a time. You can read events from the global event log, which spans across streams. Learn more about this process in the [Read from `$all`](#reading-from-the-all-stream) section below. - -### Reading forwards - -The simplest way to read a stream forwards is to supply a stream name, read direction, and revision from which to start. The revision can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-stream}](@grpc:reading_events/ReadingEvents.java) - -This will return an enumerable that can be iterated on: - -@[code{iterate-stream}](@grpc:reading_events/ReadingEvents.java) - -There are a number of additional arguments you can provide when reading a stream, listed below. - -#### maxCount - -Passing in the max count will limit the number of events returned. - -#### resolveLinkTos - -When using projections to create new events, you can set whether the generated events are pointers to existing events. Setting this value to `true` tells KurrentDB to return the event as well as the event linking to it. - -#### configureOperationOptions - -You can use the `configureOperationOptions` argument to provide a function that will customise settings for each operation. - -#### userCredentials - -The `userCredentials` argument is optional. It is used to override the default credentials specified when creating the client instance. - -@[code{overriding-user-credentials}](@grpc:reading_events/ReadingEvents.java) - -### Reading from a revision - -Instead of providing the `StreamPosition` you can also provide a specific stream revision as a *big int* (unsigned 64-bit integer). - -@[code{read-from-stream-position}](@grpc:reading_events/ReadingEvents.java) - -### Reading backwards - -In addition to reading a stream forwards, streams can be read backwards. To read all the events backwards, set the *stream position* to the end: - -@[code{reading-backwards}](@grpc:reading_events/ReadingEvents.java) - -:::tip -Read one event backwards to find the last position in the stream. -::: - -### Checking if the stream exists - -Reading a stream returns a `ReadStreamResult`, which contains a property `ReadState`. This property can have the value `StreamNotFound` or `Ok`. - -It is important to check the value of this field before attempting to iterate an empty stream, as it will throw an exception. - -For example: - -@[code{checking-for-stream-presence}](@grpc:reading_events/ReadingEvents.java) - -## Reading from the $all stream - -Reading from the `$all` stream is similar to reading from an individual stream, but please note there are differences. One significant difference is the need to provide admin user account credentials to read from the `$all` stream. Additionally, you need to provide a transaction log position instead of a stream revision when reading from the `$all` stream. - -### Reading forwards - -The simplest way to read the `$all` stream forwards is to supply a read direction and the transaction log position from which you want to start. The transaction log postion can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-all-stream}](@grpc:reading_events/ReadingEvents.java) - -You can iterate asynchronously through the result: - -@[code{read-from-all-stream-iterate}](@grpc:reading_events/ReadingEvents.java) - -There are a number of additional arguments you can provide when reading the `$all` stream. - -#### maxCount - -Passing in the max count allows you to limit the number of events that returned. - -#### resolveLinkTos - -When using projections to create new events you can set whether the generated events are pointers to existing events. Setting this value to true will tell KurrentDB to return the event as well as the event linking to it. - -@[code{read-from-all-stream-resolving-link-Tos}](@grpc:reading_events/ReadingEvents.java) - -#### configureOperationOptions - -This argument is generic setting class for all operations that can be set on all operations executed against KurrentDB. - -#### userCredentials -The credentials used to read the data can be used by the subscription as follows. This will override the default credentials set on the connection. - -@[code{read-all-overriding-user-credentials}](@grpc:reading_events/ReadingEvents.java) - -### Reading backwards - -In addition to reading the `$all` stream forwards, it can be read backwards. To read all the events backwards, set the *position* to the end: - -@[code{read-from-all-stream-backwards}](@grpc:reading_events/ReadingEvents.java) - -:::tip -Read one event backwards to find the last position in the `$all` stream. -::: - -### Handling system events - -KurrentDB will also return system events when reading from the `$all` stream. In most cases you can ignore these events. - -All system events begin with `$` or `$$` and can be easily ignored by checking the `EventType` property. - -@[code{ignore-system-events}](@grpc:reading_events/ReadingEvents.java) - diff --git a/docs/clients/grpc/java/release-notes.md b/docs/clients/grpc/java/release-notes.md deleted file mode 100644 index 4ac84cf4f..000000000 --- a/docs/clients/grpc/java/release-notes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -order: 10 -head: - - - title - - {} - - Release Notes | Java | Clients | Kurrent Docs ---- - -# Release Notes - -To stay up to date with the latest changes and improvements, including release history, changelogs, upgrade instructions, and migration guides, see the [KurrentDB Java client release notes](https://github.com/kurrent-io/KurrentDB-Client-Java/releases). \ No newline at end of file diff --git a/docs/clients/grpc/java/subscriptions.md b/docs/clients/grpc/java/subscriptions.md deleted file mode 100644 index b72022920..000000000 --- a/docs/clients/grpc/java/subscriptions.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -order: 4 -head: - - - title - - {} - - Catch-up Subscriptions | Java | Clients | Kurrent Docs ---- - -# Catch-up Subscriptions - -Subscriptions allow you to subscribe to a stream and receive notifications about new events added to the stream. - -You provide an event handler and an optional starting point to the subscription. The handler is called for each event from the starting point onward. - -If events already exist, the handler will be called for each event one by one until it reaches the end of the stream. The server will then notify the handler whenever a new event appears. - -:::tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Subscribing from the start - -If you need to process all the events in the store, including historical events, you'll need to subscribe from the beginning. You can either subscribe to receive events from a single stream or subscribe to `$all` if you need to process all events in the database. - -### Subscribing to a stream - -The simplest stream subscription looks like the following : - -@[code{subscribe-to-stream}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -The provided handler will be called for every event in the stream. - -When you subscribe to a stream with link events, for example the `$ce` category stream, you need to set `resolveLinkTos` to `true`. Read more about it [below](#resolving-link-to-s). - -### Subscribing to `$all` - -Subscribing to `$all` is similar to subscribing to a single stream. The handler will be called for every event appended after the starting position. - -@[code{subscribe-to-all}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -## Subscribing from a specific position - -The previous examples subscribed to the stream from the beginning. That subscription invoked the handler for every event in the stream before waiting for new events. - -Both stream and $all subscriptions accept a starting position if you want to read from a specific point onward. If events already exist at the position you subscribe to, they will be read on the server side and sent to the subscription. - -Once caught up, the server will push any new events received on the streams to the client. There is no difference between catching up and live on the client side. - -::: warning -The positions provided to the subscriptions are exclusive. You will only receive the next event after the subscribed position. -::: - -### Subscribing to a stream - -To subscribe to a stream from a specific position, you must provide a *stream position*. This can be `Start`, `End` or a *big int* (unsigned 64 bit integer) position. - -The following subscribes to the stream `some-stream` at position `20`, this means that events `21` and onward will be handled: - -@[code{subscribe-to-stream-from-position}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -### Subscribing to $all - -Subscribing to the `$all` stream is similar to subscribing to a regular stream. The difference is how to specify the starting position. For the `$all` stream, provide a `Position` structure that consists of two big integers: the prepare and commit positions. Use `Start`, `End`, or create a `Position` from specific commit and prepare values. - -The corresponding `$all` subscription will subscribe from the event after the one at commit position `1056` and prepare position `1056`. - -Please note that this position will need to be a legitimate position in `$all`. - -@[code{subscribe-to-all-from-position}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -## Subscribing to a stream for live updates - -You can subscribe to a stream to get live updates by subscribing to the end of the stream: - -@[code{subscribe-to-stream-live}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -And the same works with `$all` : - -@[code{subscribe-to-all-live}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -This will not read through the history of the stream but will notify the handler when a new event appears in the respective stream. - -Keep in mind that when you subscribe to a stream from a specific position, as described [above](#subscribing-from-a-specific-position), you will also get live updates after your subscription catches up (processes all the historical events). - -## Resolving link-to events - -Link-to events point to events in other streams in KurrentDB. These are generally created by projections such as the `$by_event_type` projection which links events of the same event type into the same stream. This makes it easier to look up all events of a specific type. - -::: tip -[Filtered subscriptions](subscriptions.md#server-side-filtering) make it easier and faster to subscribe to all events of a specific type or matching a prefix. -::: - -When reading a stream you can specify whether to resolve link-to's. By default, link-to events are not resolved. You can change this behaviour by setting the `resolveLinkTos` parameter to `true`: - -@[code{subscribe-to-stream-resolving-linktos}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -## Dropped subscriptions - -When a subscription stops or experiences an error, it will be dropped. The subscription provides a `subscriptionDropped` callback, which will get called when the subscription breaks. - -The `subscriptionDropped` callback allows you to inspect the reason why the subscription dropped, as well as any exceptions that occurred. - -The possible reasons for a subscription to drop are: - -| Reason | Why it might happen | -|:------------------|:---------------------------------------------------------------------------------------------------------------------| -| `Disposed` | The client canceled or disposed of the subscription. | -| `SubscriberError` | An error occurred while handling an event in the subscription handler. | -| `ServerError` | An error occurred on the server, and the server closed the subscription. Check the server logs for more information. | - -Bear in mind that a subscription can also drop because it is slow. The server tried to push all the live events to the subscription when it is in the live processing mode. If the subscription gets the reading buffer overflow and won't be able to acknowledge the buffer, it will break. - -### Handling subscription drops - -An application, which hosts the subscription, can go offline for some time for different reasons. It could be a crash, infrastructure failure, or a new version deployment. As you rarely would want to reprocess all the events again, you'd need to store the current position of the subscription somewhere, and then use it to restore the subscription from the point where it dropped off: - -@[code{subscribe-to-stream-subscription-dropped}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -When subscribed to `$all` you want to keep the event's position in the `$all` stream. As mentioned previously, the `$all` stream position consists of two big integers (prepare and commit positions), not one: - -@[code{subscribe-to-all-subscription-dropped}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -## User credentials - -The user creating a subscription must have read access to the stream it's subscribing to, and only admin users may subscribe to `$all` or create filtered subscriptions. - -The code below shows how you can provide user credentials for a subscription. When you specify subscription credentials explicitly, it will override the default credentials set for the client. If you don't specify any credentials, the client will use the credentials specified for the client, if you specified those. - -@[code{overriding-user-credentials}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -## Server-side filtering - -KurrentDB allows you to filter the events whilst subscribing to the `$all` stream to only receive the events you care about. - -You can filter by event type or stream name using a regular expression or a prefix. Server-side filtering is currently only available on the `$all` stream. - -::: tip -Server-side filtering was introduced as a simpler alternative to projections. You should consider filtering before creating a projection to include the events you care about. -::: - -A simple stream prefix filter looks like this: - -@[code{stream-prefix-filtered-subscription}](@grpc:subscribing_to_stream/SubscribingToStream.java) - -The filtering API is described more in-depth in the [filtering section](subscriptions.md#server-side-filtering). - -### Filtering out system events - -There are events in KurrentDB called system events. These are prefixed with a `$` and under most circumstances you won't care about these. They can be filtered out by passing in a `SubscriptionFilterOptions` when subscribing to the `$all` stream. - -@[code{exclude-system}](@grpc:server_side_filtering/ServerSideFiltering.java) - -::: tip -`$stats` events are no longer stored in KurrentDB by default so there won't be as many `$` events as before. -::: - -### Filtering by event type - -If you only want to subscribe to events of a given type, there are two options. You can either use a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `EventTypeFilter.Prefix`. - -@[code{event-type-prefix}](@grpc:server_side_filtering/ServerSideFiltering.java) - -This will only subscribe to events with a type that begin with `customer-`. - -#### Filtering by regular expression - -It might be advantageous to provide a regular expression when you want to subscribe to multiple event types. - -@[code{event-type-regex}](@grpc:server_side_filtering/ServerSideFiltering.java) - -This will subscribe to any event that begins with `user` or `company`. - -### Filtering by stream name - -To subscribe to a stream by name, choose either a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `StreamFilter.Prefix`. - -@[code{stream-prefix}](@grpc:server_side_filtering/ServerSideFiltering.java) - -This will only subscribe to all streams with a name that begins with `user-`. - -#### Filtering by regular expression - -To subscribe to multiple streams, use a regular expression. - -@[code{stream-regex}](@grpc:server_side_filtering/ServerSideFiltering.java) - -This will subscribe to any stream with a name that begins with `account` or `savings`. - -## Checkpointing - -When a catch-up subscription is used to process an `$all` stream containing many events, the last thing you want is for your application to crash midway, forcing you to restart from the beginning. - -### What is a checkpoint? - -A checkpoint is the position of an event in the `$all` stream to which your application has processed. By saving this position to a persistent store (e.g., a database), it allows your catch-up subscription to: -- Recover from crashes by reading the checkpoint and resuming from that position -- Avoid reprocessing all events from the start - -To create a checkpoint, store the event's commit or prepare position. - -::: warning -If your database contains events created by the legacy TCP client using the [transaction feature](https://docs.kurrent.io/clients/tcp/dotnet/21.2/appending.html#transactions), you should store both the commit and prepare positions together as your checkpoint. -::: - -### Updating checkpoints at regular intervals -The client SDK provides a way to notify your application after processing a configurable number of events. This allows you to periodically save a checkpoint at regular intervals. - -@[code{checkpoint}](@grpc:server_side_filtering/ServerSideFiltering.java) - -By default, the checkpoint notification is sent after every 32 non-system events processed from $all. - -### Configuring the checkpoint interval -You can adjust the checkpoint interval to change how often the client is notified. - -@[code{checkpoint-with-interval}](@grpc:server_side_filtering/ServerSideFiltering.java) - -By configuring this parameter, you can balance between reducing checkpoint overhead and ensuring quick recovery in case of a failure. - -::: info -The checkpoint interval parameter configures the database to notify the client after `n` * 32 number of events where `n` is defined by the parameter. - -For example: -- If `n` = 1, a checkpoint notification is sent every 32 events. -- If `n` = 2, the notification is sent every 64 events. -- If `n` = 3, it is sent every 96 events, and so on. -::: diff --git a/docs/clients/grpc/nodejs/README.md b/docs/clients/grpc/nodejs/README.md deleted file mode 100644 index e2b0d3fd8..000000000 --- a/docs/clients/grpc/nodejs/README.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -index: false ---- - -# Node.js - -Learn how to use the KurrentDB NodeJS client library to interact with the database. - - \ No newline at end of file diff --git a/docs/clients/grpc/nodejs/appending-events.md b/docs/clients/grpc/nodejs/appending-events.md deleted file mode 100644 index 14057b534..000000000 --- a/docs/clients/grpc/nodejs/appending-events.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -order: 2 -head: - - - title - - {} - - Appending Events | Node.js | Clients | Kurrent Docs ---- - -# Appending Events - -When you start working with KurrentDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs. - -::: tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Append your first event - -The simplest way to append an event to KurrentDB is to create an `EventData` object and call `AppendToStream` method. - -@[code{append-to-stream}](@grpc:appending-events.js;appending-events.ts) - -`AppendToStream` takes a collection of `EventData`, which allows you to save more than one event in a single batch. - -Outside the example above, other options exist for dealing with different scenarios. - -::: tip -If you are new to Event Sourcing, please study the [Handling concurrency](#handling-concurrency) section below. -::: - -## Working with EventData - -Events appended to KurrentDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**. - -### eventId - -This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, KurrentDB will only append one of the events to the stream. - -For example, the following code will only append a single event: - -@[code{append-duplicate-event}](@grpc:appending-events.js;appending-events.ts) - -![Duplicate Event](../images/duplicate-event.png) - -### type - -Each event should be supplied with an event type. This unique string is used to identify the type of event you are saving. - -It is common to see the explicit event code type name used as the type as it makes serialising and de-serialising of the event easy. However, we recommend against this as it couples the storage to the type and will make it more difficult if you need to version the event at a later date. - -### data - -Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of KurrentDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes. - -### metadata - -Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. KurrentDB allows you to store a separate byte array containing this information to keep it separate. - -### isJson - -Simple boolean field to tell KurrentDB if the event is stored as json, true by default. - -## Handling concurrency - -When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform KurrentDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown. - -For example, if you try to append the same record twice, expecting both times that the stream doesn't exist, you will get an exception on the second: - -@[code{append-with-no-stream}](@grpc:appending-events.js;appending-events.ts) - -There are three available stream states: -- `Any` -- `NoStream` -- `StreamExists` - -This check can be used to implement optimistic concurrency. When retrieving a stream from KurrentDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime. - -@[code{append-with-concurrency-check}](@grpc:appending-events.js;appending-events.ts) - - - -## User credentials - -You can provide user credentials to append the data as follows. This will override the default credentials set on the connection. - -@[code{overriding-user-credentials}](@grpc:appending-events.js;appending-events.ts) - diff --git a/docs/clients/grpc/nodejs/authentication.md b/docs/clients/grpc/nodejs/authentication.md deleted file mode 100644 index 7c5209683..000000000 --- a/docs/clients/grpc/nodejs/authentication.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Authentication -order: 7 -head: - - - title - - {} - - Authentication | Node.js | Clients | Kurrent Docs ---- - -## Client x.509 certificate - -X.509 certificates are digital certificates that use the X.509 public key infrastructure (PKI) standard to verify the identity of clients and servers. They play a crucial role in establishing a secure connection by providing a way to authenticate identities and establish trust. - -### Prerequisites - -1. KurrentDB 25.0 or greater, or EventStoreDB 24.10. -2. A commercial license with the User Certificates entitlement. -3. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/kurrent-io/es-gencert-cli). -4. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information. -5. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates) - -#### Generate user certificates - -The following command uses the [gencert tool](https://github.com/kurrent-io/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days: - -::: tabs#os -@tab bash -```bash -./es-gencert-cli create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -@tab PowerShell -```powershell -.\es-gencert-cli.exe create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -::: - -### Connect to KurrentDB using an x.509 certificate - -To connect to KurrentDB using an x.509 certificate, you need to provide the -certificate and the private key to the client. If both username/password and -certificate authentication data are supplied, the client prioritizes user -credentials for authentication. The client will throw an error if the -certificate and the key are not both provided. - -::: tip -Please note that currently, password-protected private key files are not supported. -::: - -The client supports the following parameters: - -| Parameter | Description | -|----------------|--------------------------------------------------------------------------------| -| `userCertFile` | The file containing the X.509 user certificate in PEM format. | -| `userKeyFile` | The file containing the user certificate’s matching private key in PEM format. | - -To authenticate, include these two parameters in your connection string or constructor when initializing the client. - -Check the samples for the following clients: - -@[code{client-with-user-certificates}](@grpc:user-certificates.ts) \ No newline at end of file diff --git a/docs/clients/grpc/nodejs/delete-stream.md b/docs/clients/grpc/nodejs/delete-stream.md deleted file mode 100644 index b4f2fe2fd..000000000 --- a/docs/clients/grpc/nodejs/delete-stream.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -order: 9 -head: - - - title - - {} - - Deleting Events | Node.js | Clients | Kurrent Docs ---- - -# Deleting Events - -In KurrentDB, you can delete events and streams either partially or completely. Settings like $maxAge and $maxCount help control how long events are kept or how many events are stored in a stream, but they won't delete the entire stream. -When you need to fully remove a stream, KurrentDB offers two options: Soft Delete and Hard Delete. - -## Soft delete - -Soft delete in KurrentDB allows you to mark a stream for deletion without completely removing it, so you can still add new events later. While you can do this through the UI, using code is often better for automating the process, -handling many streams at once, or including custom rules. Code is especially helpful for large-scale deletions or when you need to integrate soft deletes into other workflows. - -::: tabs#lang - -@tab JavaScript -```javascript -await client.deleteStream(streamName); -``` -@tab TypeScript -```typescript -await client.deleteStream(streamName); -``` -::: - -::: note -Clicking the delete button in the UI performs a soft delete, -setting the TruncateBefore value to remove all events up to a certain point. -While this marks the events for deletion, actual removal occurs during the next scavenging process. -The stream can still be reopened by appending new events. -::: - -## Hard delete - -Hard delete in KurrentDB permanently removes a stream and its events. While you can use the HTTP API, code is often better for automating the process, managing multiple streams, and ensuring precise control. Code is especially useful when you need to integrate hard delete into larger workflows or apply specific conditions. Note that when a stream is hard deleted, you cannot reuse the stream name, it will raise an exception if you try to append to it again. - -::: tabs#lang -@tab JavaScript -```javascript -await client.tombstoneStream(streamName); -``` -@tab TypeScript -```typescript -await client.tombstoneStream(streamName); -``` -::: \ No newline at end of file diff --git a/docs/clients/grpc/nodejs/getting-started.md b/docs/clients/grpc/nodejs/getting-started.md deleted file mode 100644 index 1bcbb5bd1..000000000 --- a/docs/clients/grpc/nodejs/getting-started.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -order: 1 -head: - - - title - - {} - - Getting Started | Node.js | Clients | Kurrent Docs ---- - -# Getting Started - -Get started by connecting your application to KurrentDB. - -## Connecting to KurrentDB - -To connect your application to KurrentDB, instantiate and configure the client. - -::: tip Insecure clusters -All our GRPC clients are secure by default and must be configured to connect to an insecure server via [a connection string](#connection-string) or the client's configuration. -::: - -### Required packages - -Install the `@kurrent/kurrentdb-client` package using NPM, Yarn or PNPM: - -::: tabs -@tab npm -```bash -npm install --save @kurrent/kurrentdb-client -``` -@tab yarn -```bash -yarn add @kurrent/kurrentdb-client -``` -@tab pnpm -```bash -pnpm add @kurrent/kurrentdb-client -``` -::: - -TypeScript declarations are included in the package. - -### Connection string - -Each SDK has its own way of configuring the client, but the connection string can always be used. -The KurrentDB connection string supports two schemas: `kurrentdb://` for connecting to a single-node server, and `kurrentdb+discover://` for connecting to a multi-node cluster. The difference between the two schemas is that when using `kurrentdb://`, the client will connect directly to the node; with `kurrentdb+discover://` schema the client will use the gossip protocol to retrieve the cluster information and choose the right node to connect to. -Since version 22.10, ESDB supports gossip on single-node deployments, so `kurrentdb+discover://` schema can be used for connecting to any topology. - -The connection string has the following format: - -``` -kurrentdb+discover://admin:changeit@cluster.dns.name:2113 -``` - -There, `cluster.dns.name` is the name of a DNS `A` record that points to all the cluster nodes. Alternatively, you can list cluster nodes separated by comma instead of the cluster DNS name: - -``` -kurrentdb+discover://admin:changeit@node1.dns.name:2113,node2.dns.name:2113,node3.dns.name:2113 -``` - -There are a number of query parameters that can be used in the connection string to instruct the cluster how and where the connection should be established. All query parameters are optional. - -| Parameter | Accepted values | Default | Description | -|-----------------------|---------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------| -| `tls` | `true`, `false` | `true` | Use secure connection, set to `false` when connecting to a non-secure server or cluster. | -| `connectionName` | Any string | None | Connection name | -| `maxDiscoverAttempts` | Number | `10` | Number of attempts to discover the cluster. | -| `discoveryInterval` | Number | `100` | Cluster discovery polling interval in milliseconds. | -| `gossipTimeout` | Number | `5` | Gossip timeout in seconds, when the gossip call times out, it will be retried. | -| `nodePreference` | `leader`, `follower`, `random`, `readOnlyReplica` | `leader` | Preferred node role. When creating a client for write operations, always use `leader`. | -| `tlsVerifyCert` | `true`, `false` | `true` | In secure mode, set to `true` when using an untrusted connection to the node if you don't have the CA file available. Don't use in production. | -| `tlsCaFile` | String, file path | None | Path to the CA file when connecting to a secure cluster with a certificate that's not signed by a trusted CA. | -| `defaultDeadline` | Number | None | Default timeout for client operations, in milliseconds. Most clients allow overriding the deadline per operation. | -| `keepAliveInterval` | Number | `10` | Interval between keep-alive ping calls, in seconds. | -| `keepAliveTimeout` | Number | `10` | Keep-alive ping call timeout, in seconds. | -| `userCertFile` | String, file path | None | User certificate file for X.509 authentication. | -| `userKeyFile` | String, file path | None | Key file for the user certificate used for X.509 authentication. | - -When connecting to an insecure instance, specify `tls=false` parameter. For example, for a node running locally use `kurrentdb://localhost:2113?tls=false`. Note that usernames and passwords aren't provided there because insecure deployments don't support authentication and authorisation. - -### Creating a client - -First, create a client and get it connected to the database. - -@[code{createClient}](@grpc:get-started.js;get-started.ts) - -The client instance can be used as a singleton across the whole application. It doesn't need to open or close the connection. - -### Creating an event - -You can write anything to KurrentDB as events. The client needs a byte array as the event payload. Normally, you'd use a serialized object, and it's up to you to choose the serialization method. - -::: tip Server-side projections -User-defined server-side projections require events to be serialized in JSON format. - -We use JSON for serialization in the documentation examples. -::: - -The code snippet below creates an event object instance, serializes it, and adds it as a payload to the `EventData` structure, which the client can then write to the database. - -@[code{createEvent}](@grpc:get-started.js;get-started.ts) - -### Appending events - -Each event in the database has its own unique identifier (UUID). The database uses it to ensure idempotent writes, but it only works if you specify the stream revision when appending events to the stream. - -In the snippet below, we append the event to the stream `some-stream`. - -@[code{appendEvents}](@grpc:get-started.js;get-started.ts) - -Here we are appending events without checking if the stream exists or if the stream version matches the expected event version. See more advanced scenarios in [appending events documentation](./appending-events.md). - -### Reading events - -Finally, we can read events back from the `some-stream` stream. - -@[code{readStream}](@grpc:get-started.js;get-started.ts) - -When you read events from the stream, you get a collection of `ResolvedEvent` structures. The event payload is returned as a byte array and needs to be deserialized. See more advanced scenarios in [reading events documentation](./reading-events.md). - diff --git a/docs/clients/grpc/nodejs/observability.md b/docs/clients/grpc/nodejs/observability.md deleted file mode 100644 index 2ee0bc5c4..000000000 --- a/docs/clients/grpc/nodejs/observability.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -order: 8 -head: - - - title - - {} - - Observability | Node.js | Clients | Kurrent Docs ---- - -# Observability - -The KurrentDB gRPC clients are designed with observability in mind, offering -support for OpenTelemetry. This integration provides a set of distributed -traces, enabling developers to gain deeper insights into their system. - -::: warning -Currently, OpenTelemetry observability support is not available for all -clients. Moreover, instrumentation is only provided for append and -subscribe operations, which includes both 'Catchup' and 'Persistent' modes. -::: - -You can click on the links below to view the full code: - -Click [here](https://github.com/kurrent-io/KurrentDB-Client-NodeJS/blob/master/packages/test/src/samples/opentelemetry.ts) to view the full sample code for observability. - -## Required packages - -OpenTelemetry support is included to the KurrentDB Java client by default. For other clients, you need to install the dedicated package to enable OpenTelemetry support. - -### NodeJS - -Install the `@kurrent/opentelemetry` package using your package manager of choice. TypeScript type declarations are included in the package. - -::: tabs -@tab npm -```bash -npm install --save @kurrent/opentelemetry -``` -@tab yarn -```bash -yarn add @kurrent/opentelemetry -``` -@tab pnpm -```bash -pnpm add @kurrent/opentelemetry -``` -::: - -## Instrumentation - -To emit trace data, you must first install and use the dedicated package, as instructed in the -[Required Packages](./observability.md#required-packages) section, if provided. This package -includes the necessary instrumentation that needs to be registered with the client. - -@[code{register-instrumentation}](@grpc:opentelemetry.js;opentelemetry.ts) - -## Traces - -Traces provide a clear picture of how operations are carried out in a -distributed system, making it easier to maintain and enhance the system over -time. Traces from the clients can be exported to any compatible collector that -supports the OpenTelemetry protocol (OTLP). - -In order for the client to emit traces, you need to need to enable -instrumentation as described in -[Instrumentation](./observability.md#instrumentation). - -For more guidance on setting up and utilizing tracing, refer to the -[OpenTelemetry](https://opentelemetry.io/) documentation. - -An example of a trace is shown below: - -```bash -Activity.TraceId: 8da04787239dbb85c1f9c6fba1b1f0d6 -Activity.SpanId: 4352ec4a66a20b95 -Activity.TraceFlags: Recorded -Activity.ActivitySourceName: kurrentdb -Activity.DisplayName: streams.append -Activity.Kind: Client -Activity.StartTime: 2024-05-29T06:50:41.2519016Z -Activity.Duration: 00:00:00.1500707 -Activity.Tags: - db.kurrentdb.stream: d7caa2a5-1e19-4108-9541-58d5fba02d42 - server.address: localhost - server.port: 2113 - db.system: kurrentdb - db.operation: streams.append -StatusCode: Ok -Resource associated with Activity: - service.name: sample - service.instance.id: 7316ef20-c354-4e64-97da-c1b99c2c28b0 - telemetry.sdk.name: opentelemetry - telemetry.sdk.language: dotnet - telemetry.sdk.version: 1.8.1 -``` - -In this case, the trace is for an append operation on a stream. The trace -includes the trace ID, span ID, trace flags, activity source name, display name, -kind, start time, duration, tags, status code, and resource associated with the -activity. - -::: note -The structure of the trace may vary depending on the client and the operation -being performed but will generally include the same information. -::: - -## Exporting traces - -You can set up various exporters to send traces to different destinations. -Additionally, you have the option to export these traces to a collector of your -choice, such as [Jaeger](https://www.jaegertracing.io/) or [Seq](https://datalust.co/seq). - -For instance, if you choose to use Jaeger as your backend of choice, you can -view your traces in the Jaeger UI, which provides a powerful interface for -querying and visualizing your trace data. - -The code snippets below demonstrate how to set up one or more exporters for each -client: - -@[code{setup-exporter}](@grpc:opentelemetry.js;opentelemetry.ts) - -For more details on configuring exporters for specific programming languages, -refer to the [OpenTelemetry](https://opentelemetry.io/docs/languages/) -documentation. diff --git a/docs/clients/grpc/nodejs/persistent-subscriptions.md b/docs/clients/grpc/nodejs/persistent-subscriptions.md deleted file mode 100644 index e53e7863a..000000000 --- a/docs/clients/grpc/nodejs/persistent-subscriptions.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -order: 5 -head: - - - title - - {} - - Persistent Subscriptions | Node.js | Clients | Kurrent Docs ---- - -# Persistent Subscriptions - -Persistent subscriptions are similar to catch-up subscriptions, but there are two key differences: -- The subscription checkpoint is maintained by the server. It means that when your client reconnects to the persistent subscription, it will automatically resume from the last known position. -- It's possible to connect more than one event consumer to the same persistent subscription. In that case, the server will load-balance the consumers, depending on the defined strategy, and distribute the events to them. - -Because of those, persistent subscriptions are defined as subscription groups that are defined and maintained by the server. Consumer then connect to a particular subscription group, and the server starts sending event to the consumer. - -You can read more about persistent subscriptions in the [server documentation](@server/features/persistent-subscriptions.md). - -## Creating a subscription group - -The first step of dealing with a persistent subscription is to create a subscription group. You will receive an error if you attempt to create a subscription group multiple times. You must have admin permissions to create a persistent subscription group. - -### Subscribing to one stream - -The following sample shows how to create a subscription group for a persistent subscription where you want to receive events from a specific stream. It could be a normal stream, or a stream of links (like `$ce` category stream). - -@[code{create-persistent-subscription-to-stream}](@grpc:persistent-subscriptions.js;persistent-subscriptions.ts) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to create. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -### Subscribing to $all - -The ability to subscribe to `$all` was introduced in EventStoreDB **21.10**. Persistent subscriptions to `$all` also support [filtering](subscriptions.md#server-side-filtering). - -You can create a subscription group on $all much the same way you would create a subscription group on a stream: - -@[code{create-persistent-subscription-to-all}](@grpc:persistent-subscriptions.js;persistent-subscriptions.ts) - -## Connecting a consumer - -Once you have created a subscription group, clients can connect to it. A subscription in your application should only have the connection in your code, you should assume that the subscription already exists. - -The most important parameter to pass when connecting is the buffer size. This represents how many outstanding messages the server should allow this client. If this number is too small, your subscription will spend much of its time idle as it waits for an acknowledgment to come back from the client. If it's too big, you waste resources and can start causing time out messages depending on the speed of your processing. - -### Connecting to one stream - -The code below shows how to connect to an existing subscription group for a specific stream: - -@[code{subscribe-to-persistent-subscription-to-stream}](@grpc:persistent-subscriptions.js;persistent-subscriptions.ts) - -| Parameter | Description | -|:----------------------|:---------------------------------------------------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to subscribe to. | -| `eventAppeared` | The action to call when an event arrives over the subscription. | -| `subscriptionDropped` | The action to call if the subscription is dropped. | -| `credentials` | The user credentials to use for this operation. | -| `bufferSize` | The number of in-flight messages this client is allowed. **Default: 10** | -| `autoAck` | Whether to automatically acknowledge messages after eventAppeared returns. **Default: true** | - -::: warning -The `autoAck` parameter will be deprecated in the next client release. You'll need to explicitly [manage acknowledgements](#acknowledgements). -::: - -### Connecting to $all - -The code below shows how to connect to an existing subscription group for `$all`: - -@[code{subscribe-to-persistent-subscription-to-all}](@grpc:persistent-subscriptions.js;persistent-subscriptions.ts) - -The `SubscribeToAllAsync` method is identical to the `SubscribeToStreamAsync` method, except that you don't need to specify a stream name. - -## Acknowledgements - -Clients must acknowledge (or not acknowledge) messages in the competing consumer model. - -If processing is successful, you must send an Ack (acknowledge) to the server to let it know that the message has been handled. If processing fails for some reason, then you can Nack (not acknowledge) the message and tell the server how to handle the failure. - -@[code{subscribe-to-persistent-subscription-with-manual-acks}](@grpc:persistent-subscriptions.js;persistent-subscriptions.ts) - -The _Nack event action_ describes what the server should do with the message: - -| Action | Description | -|:----------|:---------------------------------------------------------------------| -| `Unknown` | The client does not know what action to take. Let the server decide. | -| `Park` | Park the message and do not resend. Put it on poison queue. | -| `Retry` | Explicitly retry the message. | -| `Skip` | Skip this message do not resend and do not put in poison queue. | - -## Consumer strategies - -When creating a persistent subscription, you can choose between a number of consumer strategies. - -### RoundRobin (default) - -Distributes events to all clients evenly. If the client `bufferSize` is reached, the client won't receive more events until it acknowledges or not acknowledges events in its buffer. - -This strategy provides equal load balancing between all consumers in the group. - -### DispatchToSingle - -Distributes events to a single client until the `bufferSize` is reached. After that, the next client is selected in a round-robin style, and the process repeats. - -This option can be seen as a fall-back scenario for high availability, when a single consumer processes all the events until it reaches its maximum capacity. When that happens, another consumer takes the load to free up the main consumer resources. - -### Pinned - -For use with an indexing projection such as the system `$by_category` projection. - -KurrentDB inspects the event for its source stream id, hashing the id to one of 1024 buckets assigned to individual clients. When a client disconnects, its buckets are assigned to other clients. When a client connects, it is assigned some existing buckets. This naively attempts to maintain a balanced workload. - -The main aim of this strategy is to decrease the likelihood of concurrency and ordering issues while maintaining load balancing. This is **not a guarantee**, and you should handle the usual ordering and concurrency issues. - -## Updating a subscription group - -You can edit the settings of an existing subscription group while it is running, you don't need to delete and recreate it to change settings. When you update the subscription group, it resets itself internally, dropping the connections and having them reconnect. You must have admin permissions to update a persistent subscription group. - -@[code{update-persistent-subscription}](@grpc:persistent-subscriptions.js;persistent-subscriptions.ts) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to update. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -## Persistent subscription settings - -Both the `Create` and `Update` methods take some settings for configuring the persistent subscription. - -The following table shows the configuration options you can set on a persistent subscription. - -| Option | Description | Default | -|:------------------------|:----------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------| -| `ResolveLinkTos` | Whether the subscription should resolve link events to their linked events. | `false` | -| `StartFrom` | The exclusive position in the stream or transaction file the subscription should start from. | `null` (start from the end of the stream) | -| `ExtraStatistics` | Whether to track latency statistics on this subscription. | `false` | -| `MessageTimeout` | The amount of time after which to consider a message as timed out and retried. | `30` (seconds) | -| `MaxRetryCount` | The maximum number of retries (due to timeout) before a message is considered to be parked. | `10` | -| `LiveBufferSize` | The size of the buffer (in-memory) listening to live messages as they happen before paging occurs. | `500` | -| `ReadBatchSize` | The number of events read at a time when paging through history. | `20` | -| `HistoryBufferSize` | The number of events to cache when paging through history. | `500` | -| `CheckPointAfter` | The amount of time to try to checkpoint after. | `2` seconds | -| `MinCheckPointCount` | The minimum number of messages to process before a checkpoint may be written. | `10` | -| `MaxCheckPointCount` | The maximum number of messages not checkpointed before forcing a checkpoint. | `1000` | -| `MaxSubscriberCount` | The maximum number of subscribers allowed. | `0` (unbounded) | -| `NamedConsumerStrategy` | The strategy to use for distributing events to client consumers. See the [consumer strategies](#consumer-strategies) in this doc. | `RoundRobin` | - -## Deleting a subscription group - -Remove a subscription group with the delete operation. Like the creation of groups, you rarely do this in your runtime code and is undertaken by an administrator running a script. - -@[code{delete-persistent-subscription}](@grpc:persistent-subscriptions.js;persistent-subscriptions.ts) - -| Parameter | Description | -|:--------------|:-----------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to delete. | -| `credentials` | The user credentials to use for this operation | diff --git a/docs/clients/grpc/nodejs/projections.md b/docs/clients/grpc/nodejs/projections.md deleted file mode 100644 index 42e0e0b43..000000000 --- a/docs/clients/grpc/nodejs/projections.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -order: 6 -title: Projections -head: - - - title - - {} - - Projections | Node.js | Clients | Kurrent Docs ---- - -# Projection Management - -The various gRPC client APIs include dedicated clients that allow you to manage projections. - -For a detailed explanation of projections, see the [server documentation](@server/features/projections/README.md). - -You can find the full sample code from this documentation page in the respective [clients repositories](https://github.com/kurrent-io/?q=client). - -## Creating a client - -Projection management operations are exposed through a dedicated client. - -@[code{createClient}](@grpc:projection-management.js;projection-management.ts) - -## Create a projection - -Creates a projection that runs until the last event in the store, and then continues processing new events as they are appended to the store. The query parameter contains the JavaScript you want created as a projection. -Projections have explicit names, and you can enable or disable them via this name. - -@[code{CreateContinuous}](@grpc:projection-management.js;projection-management.ts) - -Trying to create projections with the same name will result in an error: - -@[code{CreateContinuous_Conflict}](@grpc:projection-management.js;projection-management.ts) - -## Restart the subsystem - -It is possible to restart the entire projection subsystem using the projections management client API. The user must be in the `$ops` or `$admin` group to perform this operation. - -@[code{RestartSubSystem}](@grpc:projection-management.js;projection-management.ts) - -## Enable a projection - -Enables an existing projection by name. -Once enabled, the projection will start to process events even after restarting the server or the projection subsystem. -You must have access to a projection to enable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Enable}](@grpc:projection-management.js;projection-management.ts) - -You can only enable an existing projection. When you try to enable a non-existing projection, you'll get an error: - -@[code{EnableNotFound}](@grpc:projection-management.js;projection-management.ts) - -## Disable a projection - -Disables a projection, this will save the projection checkpoint. -Once disabled, the projection will not process events even after restarting the server or the projection subsystem. -You must have access to a projection to disable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Disable}](@grpc:projection-management.js;projection-management.ts) - -You can only disable an existing projection. When you try to disable a non-existing projection, you'll get an error: - -@[code{DisableNotFound}](@grpc:projection-management.js;projection-management.ts) - -## Delete a projection - -Deletes an existing projection. You must disable the projection before deleting it, running projections cannot be deleted. Deleting a projection includes deleting the checkpoint and the emitted streams. - -@[code{Delete}](@grpc:projection-management.js;projection-management.ts) - -You can only delete an existing projection. When you try to delete a non-existing projection, you'll get an error: - -@[code{DeleteNotFound}](@grpc:projection-management.js;projection-management.ts) - -## Abort a projection - -Aborts a projection, this will not save the projection's checkpoint. - -@[code{Abort}](@grpc:projection-management.js;projection-management.ts) - -You can only abort an existing projection. When you try to abort a non-existing projection, you'll get an error: - -@[code{Abort_NotFound}](@grpc:projection-management.js;projection-management.ts) - -## Reset a projection - -Resets a projection, which causes deleting the projection checkpoint. This will force the projection to start afresh and re-emit events. Streams that are written to from the projection will also be soft-deleted. - -@[code{Reset}](@grpc:projection-management.js;projection-management.ts) - -Resetting a projection that does not exist will result in an error. - -@[code{Reset_NotFound}](@grpc:projection-management.js;projection-management.ts) - -## Update a projection - -Updates a projection with a given name. The query parameter contains the new JavaScript. Updating system projections using this operation is not supported at the moment. - -@[code{Update}](@grpc:projection-management.js;projection-management.ts) - -You can only update an existing projection. When you try to update a non-existing projection, you'll get an error: - -@[code{Update_NotFound}](@grpc:projection-management.js;projection-management.ts) - -## List all projections - -Returns a list of all projections, user defined & system projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListAll}](@grpc:projection-management.js;projection-management.ts) - -## List continuous projections - -Returns a list of all continuous projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListContinuous}](@grpc:projection-management.js;projection-management.ts) - -## Get status - -Gets the status of a named projection. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{GetStatus}](@grpc:projection-management.js;projection-management.ts) - -## Get state - -Retrieves the state of a projection. - -@[code{GetState}](@grpc:projection-management.js;projection-management.ts) - -## Get result - -Retrieves the result of the named projection and partition. - -@[code{GetResult}](@grpc:projection-management.js;projection-management.ts) - -## Projection Details - -[List all](#list-all-projections), [list continuous](#list-continuous-projections) and [get status](#get-status) all return the details and statistics of projections - -| Field | Description | -|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `Name`, `EffectiveName` | The name of the projection | -| `Status` | A human readable string of the current statuses of the projection (see below) | -| `StateReason` | A human readable string explaining the reason of the current projection state | -| `CheckpointStatus` | A human readable string explaining the current operation performed on the checkpoint : `requested`, `writing` | -| `Mode` | `Continuous`, `OneTime` , `Transient` | -| `CoreProcessingTime` | The total time, in ms, the projection took to handle events since the last restart | -| `Progress` | The progress, in %, indicates how far this projection has processed event, in case of a restart this could be -1% or some number. It will be updated as soon as a new event is appended and processed | -| `WritesInProgress` | The number of write requests to emitted streams currently in progress, these writes can be batches of events | -| `ReadsInProgress` | The number of read requests currently in progress | -| `PartitionsCached` | The number of cached projection partitions | -| `Position` | The Position of the last processed event | -| `LastCheckpoint` | The Position of the last checkpoint of this projection | -| `EventsProcessedAfterRestart` | The number of events processed since the last restart of this projection | -| `BufferedEvents` | The number of events in the projection read buffer | -| `WritePendingEventsBeforeCheckpoint` | The number of events waiting to be appended to emitted streams before the pending checkpoint can be written | -| `WritePendingEventsAfterCheckpoint` | The number of events to be appended to emitted streams since the last checkpoint | -| `Version` | This is used internally, the version is increased when the projection is edited or reset | -| `Epoch` | This is used internally, the epoch is increased when the projection is reset | - -The `Status` string is a combination of the following values. -The first 3 are the most common one, as the other one are transient values while the projection is initialised or stopped - -| Value | Description | -|--------------------|-------------------------------------------------------------------------------------------------------------------------| -| Running | The projection is running and processing events | -| Stopped | The projection is stopped and is no longer processing new events | -| Faulted | An error occurred in the projection, `StateReason` will give the fault details, the projection is not processing events | -| Initial | This is the initial state, before the projection is fully initialised | -| Suspended | The projection is suspended and will not process events, this happens while stopping the projection | -| LoadStateRequested | The state of the projection is being retrieved, this happens while the projection is starting | -| StateLoaded | The state of the projection is loaded, this happens while the projection is starting | -| Subscribed | The projection has successfully subscribed to its readers, this happens while the projection is starting | -| FaultedStopping | This happens before the projection is stopped due to an error in the projection | -| Stopping | The projection is being stopped | -| CompletingPhase | This happens while the projection is stopping | -| PhaseCompleted | This happens while the projection is stopping | diff --git a/docs/clients/grpc/nodejs/reading-events.md b/docs/clients/grpc/nodejs/reading-events.md deleted file mode 100644 index 715ff2707..000000000 --- a/docs/clients/grpc/nodejs/reading-events.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -order: 3 -head: - - - title - - {} - - Reading Events | Node.js | Clients | Kurrent Docs ---- - -# Reading Events - -There are two options for reading events from KurrentDB. You can either: - 1. Read from an individual stream, or - 2. Read from the `$all` stream, which will return all events in the store. - -Each event in KurrentDB belongs to an individual stream. When reading events, pick the name of the stream from which you want to read the events and choose whether to read the stream forwards or backwards. - -All events have a `StreamPosition` and a `Position`. `StreamPosition` is a *big int* (unsigned 64-bit integer) and represents the place of the event in the stream. `Position` is the event's logical position, and is represented by `CommitPosition` and a `PreparePosition`. Note that when reading events you will supply a different "position" depending on whether you are reading from an individual stream or the `$all` stream. - -:::tip -Check [connecting to KurrentDB instructions](getting-started.md#required-packages) to learn how to configure and use the client SDK. -::: - -## Reading from a stream - -You can read all the events or a sample of the events from individual streams, starting from any position in the stream, and can read either forward or backward. It is only possible to read events from a single stream at a time. You can read events from the global event log, which spans across streams. Learn more about this process in the [Read from `$all`](#reading-from-the-all-stream) section below. - -### Reading forwards - -The simplest way to read a stream forwards is to supply a stream name, read direction, and revision from which to start. The revision can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-stream}](@grpc:reading-events.js;reading-events.ts) - -This will return an enumerable that can be iterated on: - -@[code{iterate-stream}](@grpc:reading-events.js;reading-events.ts) - -There are a number of additional arguments you can provide when reading a stream, listed below. - -#### maxCount - -Passing in the max count will limit the number of events returned. - -#### resolveLinkTos - -When using projections to create new events, you can set whether the generated events are pointers to existing events. Setting this value to `true` tells KurrentDB to return the event as well as the event linking to it. - -#### configureOperationOptions - -You can use the `configureOperationOptions` argument to provide a function that will customise settings for each operation. - -#### userCredentials - -The `userCredentials` argument is optional. It is used to override the default credentials specified when creating the client instance. - -@[code{overriding-user-credentials}](@grpc:reading-events.js;reading-events.ts) - -### Reading from a revision - -Instead of providing the `StreamPosition` you can also provide a specific stream revision as a *big int* (unsigned 64-bit integer). - -@[code{read-from-stream-position}](@grpc:reading-events.js;reading-events.ts) - -### Reading backwards - -In addition to reading a stream forwards, streams can be read backwards. To read all the events backwards, set the *stream position* to the end: - -@[code{reading-backwards}](@grpc:reading-events.js;reading-events.ts) - -:::tip -Read one event backwards to find the last position in the stream. -::: - -### Checking if the stream exists - -Reading a stream returns a `ReadStreamResult`, which contains a property `ReadState`. This property can have the value `StreamNotFound` or `Ok`. - -It is important to check the value of this field before attempting to iterate an empty stream, as it will throw an exception. - -For example: - -@[code{checking-for-stream-presence}](@grpc:reading-events.js;reading-events.ts) - -## Reading from the $all stream - -Reading from the `$all` stream is similar to reading from an individual stream, but please note there are differences. One significant difference is the need to provide admin user account credentials to read from the `$all` stream. Additionally, you need to provide a transaction log position instead of a stream revision when reading from the `$all` stream. - -### Reading forwards - -The simplest way to read the `$all` stream forwards is to supply a read direction and the transaction log position from which you want to start. The transaction log postion can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-all-stream}](@grpc:reading-events.js;reading-events.ts) - -You can iterate asynchronously through the result: - -@[code{read-from-all-stream-iterate}](@grpc:reading-events.js;reading-events.ts) - -There are a number of additional arguments you can provide when reading the `$all` stream. - -#### maxCount - -Passing in the max count allows you to limit the number of events that returned. - -#### resolveLinkTos - -When using projections to create new events you can set whether the generated events are pointers to existing events. Setting this value to true will tell KurrentDB to return the event as well as the event linking to it. - -@[code{read-from-all-stream-resolving-link-Tos}](@grpc:reading-events.js;reading-events.ts) - -#### configureOperationOptions - -This argument is generic setting class for all operations that can be set on all operations executed against KurrentDB. - -#### userCredentials -The credentials used to read the data can be used by the subscription as follows. This will override the default credentials set on the connection. - -@[code{read-all-overriding-user-credentials}](@grpc:reading-events.js;reading-events.ts) - -### Reading backwards - -In addition to reading the `$all` stream forwards, it can be read backwards. To read all the events backwards, set the *position* to the end: - -@[code{read-from-all-stream-backwards}](@grpc:reading-events.js;reading-events.ts) - -:::tip -Read one event backwards to find the last position in the `$all` stream. -::: - -### Handling system events - -KurrentDB will also return system events when reading from the `$all` stream. In most cases you can ignore these events. - -All system events begin with `$` or `$$` and can be easily ignored by checking the `EventType` property. - -@[code{ignore-system-events}](@grpc:reading-events.js;reading-events.ts) - diff --git a/docs/clients/grpc/nodejs/release-notes.md b/docs/clients/grpc/nodejs/release-notes.md deleted file mode 100644 index 2fa8a745a..000000000 --- a/docs/clients/grpc/nodejs/release-notes.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -order: 10 -head: - - - title - - {} - - Release Notes | Node.js | Clients | Kurrent Docs ---- - -# Release Notes - -To stay up to date with the latest changes and improvements, including release history, changelogs, upgrade instructions, and migration guides, see the [KurrentDB Node.js client release notes](https://github.com/kurrent-io/KurrentDB-Client-NodeJS/releases). - diff --git a/docs/clients/grpc/nodejs/subscriptions.md b/docs/clients/grpc/nodejs/subscriptions.md deleted file mode 100644 index 75cb361d8..000000000 --- a/docs/clients/grpc/nodejs/subscriptions.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -order: 4 -head: - - - title - - {} - - Catch-up Subscriptions | Node.js | Clients | Kurrent Docs ---- - -# Catch-up Subscriptions - -Subscriptions allow you to subscribe to a stream and receive notifications about new events added to the stream. - -You provide an event handler and an optional starting point to the subscription. The handler is called for each event from the starting point onward. - -If events already exist, the handler will be called for each event one by one until it reaches the end of the stream. The server will then notify the handler whenever a new event appears. - -:::tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Subscribing from the start - -If you need to process all the events in the store, including historical events, you'll need to subscribe from the beginning. You can either subscribe to receive events from a single stream or subscribe to `$all` if you need to process all events in the database. - -### Subscribing to a stream - -The simplest stream subscription looks like the following : - -@[code{subscribe-to-stream}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -The provided handler will be called for every event in the stream. - -When you subscribe to a stream with link events, for example the `$ce` category stream, you need to set `resolveLinkTos` to `true`. Read more about it [below](#resolving-link-to-s). - -### Subscribing to `$all` - -Subscribing to `$all` is similar to subscribing to a single stream. The handler will be called for every event appended after the starting position. - -@[code{subscribe-to-all}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -## Subscribing from a specific position - -The previous examples subscribed to the stream from the beginning. That subscription invoked the handler for every event in the stream before waiting for new events. - -Both stream and $all subscriptions accept a starting position if you want to read from a specific point onward. If events already exist at the position you subscribe to, they will be read on the server side and sent to the subscription. - -Once caught up, the server will push any new events received on the streams to the client. There is no difference between catching up and live on the client side. - -::: warning -The positions provided to the subscriptions are exclusive. You will only receive the next event after the subscribed position. -::: - -### Subscribing to a stream - -To subscribe to a stream from a specific position, you must provide a *stream position*. This can be `Start`, `End` or a *big int* (unsigned 64 bit integer) position. - -The following subscribes to the stream `some-stream` at position `20`, this means that events `21` and onward will be handled: - -@[code{subscribe-to-stream-from-position}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -### Subscribing to $all - -Subscribing to the `$all` stream is similar to subscribing to a regular stream. The difference is how to specify the starting position. For the `$all` stream, provide a `Position` structure that consists of two big integers: the prepare and commit positions. Use `Start`, `End`, or create a `Position` from specific commit and prepare values. - -The corresponding `$all` subscription will subscribe from the event after the one at commit position `1056` and prepare position `1056`. - -Please note that this position will need to be a legitimate position in `$all`. - -@[code{subscribe-to-all-from-position}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -## Subscribing to a stream for live updates - -You can subscribe to a stream to get live updates by subscribing to the end of the stream: - -@[code{subscribe-to-stream-live}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -And the same works with `$all` : - -@[code{subscribe-to-all-live}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -This will not read through the history of the stream but will notify the handler when a new event appears in the respective stream. - -Keep in mind that when you subscribe to a stream from a specific position, as described [above](#subscribing-from-a-specific-position), you will also get live updates after your subscription catches up (processes all the historical events). - -## Resolving link-to events - -Link-to events point to events in other streams in KurrentDB. These are generally created by projections such as the `$by_event_type` projection which links events of the same event type into the same stream. This makes it easier to look up all events of a specific type. - -::: tip -[Filtered subscriptions](subscriptions.md#server-side-filtering) make it easier and faster to subscribe to all events of a specific type or matching a prefix. -::: - -When reading a stream you can specify whether to resolve link-to events. By default, link-to events are not resolved. You can change this behaviour by setting the `resolveLinkTos` parameter to `true`: - -@[code{subscribe-to-stream-resolving-linktos}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -## Dropped subscriptions - -When a subscription stops or experiences an error, it will be dropped. The subscription provides a `subscriptionDropped` callback, which will get called when the subscription breaks. - -The `subscriptionDropped` callback allows you to inspect the reason why the subscription dropped, as well as any exceptions that occurred. - -The possible reasons for a subscription to drop are: - -| Reason | Why it might happen | -|:------------------|:---------------------------------------------------------------------------------------------------------------------| -| `Disposed` | The client canceled or disposed of the subscription. | -| `SubscriberError` | An error occurred while handling an event in the subscription handler. | -| `ServerError` | An error occurred on the server, and the server closed the subscription. Check the server logs for more information. | - -Bear in mind that a subscription can also drop because it is slow. The server tried to push all the live events to the subscription when it is in the live processing mode. If the subscription gets the reading buffer overflow and won't be able to acknowledge the buffer, it will break. - -### Handling subscription drops - -An application, which hosts the subscription, can go offline for some time for different reasons. It could be a crash, infrastructure failure, or a new version deployment. As you rarely would want to reprocess all the events again, you'd need to store the current position of the subscription somewhere, and then use it to restore the subscription from the point where it dropped off: - -@[code{subscribe-to-stream-subscription-dropped}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -When subscribed to `$all` you want to keep the event's position in the `$all` stream. As mentioned previously, the `$all` stream position consists of two big integers (prepare and commit positions), not one: - -@[code{subscribe-to-all-subscription-dropped}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -## User credentials - -The user creating a subscription must have read access to the stream it's subscribing to, and only admin users may subscribe to `$all` or create filtered subscriptions. - -The code below shows how you can provide user credentials for a subscription. When you specify subscription credentials explicitly, it will override the default credentials set for the client. If you don't specify any credentials, the client will use the credentials specified for the client, if you specified those. - -@[code{overriding-user-credentials}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -## Server-side filtering - -KurrentDB allows you to filter the events whilst subscribing to the `$all` stream to only receive the events you care about. - -You can filter by event type or stream name using a regular expression or a prefix. Server-side filtering is currently only available on the `$all` stream. - -::: tip -Server-side filtering was introduced as a simpler alternative to projections. You should consider filtering before creating a projection to include the events you care about. -::: - -A simple stream prefix filter looks like this: - -@[code{stream-prefix-filtered-subscription}](@grpc:subscribing-to-streams.js;subscribing-to-streams.ts) - -The filtering API is described more in-depth in the [filtering section](subscriptions.md#server-side-filtering). - -### Filtering out system events - -There are events in KurrentDB called system events. These are prefixed with a `$` and under most circumstances you won't care about these. They can be filtered out by passing in a `SubscriptionFilterOptions` when subscribing to the `$all` stream. - -@[code{exclude-system}](@grpc:server-side-filtering.js;server-side-filtering.ts) - -::: tip -`$stats` events are no longer stored in KurrentDB by default so there won't be as many `$` events as before. -::: - -### Filtering by event type - -If you only want to subscribe to events of a given type, there are two options. You can either use a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `EventTypeFilter.Prefix`. - -@[code{event-type-prefix}](@grpc:server-side-filtering.js;server-side-filtering.ts) - -This will only subscribe to events with a type that begin with `customer-`. - -#### Filtering by regular expression - -It might be advantageous to provide a regular expression when you want to subscribe to multiple event types. - -@[code{event-type-regex}](@grpc:server-side-filtering.js;server-side-filtering.ts) - -This will subscribe to any event that begins with `user` or `company`. - -### Filtering by stream name - -To subscribe to a stream by name, choose either a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `StreamFilter.Prefix`. - -@[code{stream-prefix}](@grpc:server-side-filtering.js;server-side-filtering.ts) - -This will only subscribe to all streams with a name that begins with `user-`. - -#### Filtering by regular expression - -To subscribe to multiple streams, use a regular expression. - -@[code{stream-regex}](@grpc:server-side-filtering.js;server-side-filtering.ts) - -This will subscribe to any stream with a name that begins with `account` or `savings`. - -## Checkpointing - -When a catch-up subscription is used to process an `$all` stream containing many events, the last thing you want is for your application to crash midway, forcing you to restart from the beginning. - -### What is a checkpoint? - -A checkpoint is the position of an event in the `$all` stream to which your application has processed. By saving this position to a persistent store (e.g., a database), it allows your catch-up subscription to: -- Recover from crashes by reading the checkpoint and resuming from that position -- Avoid reprocessing all events from the start - -To create a checkpoint, store the event's commit or prepare position. - -::: warning -If your database contains events created by the legacy TCP client using the [transaction feature](https://docs.kurrent.io/clients/tcp/dotnet/21.2/appending.html#transactions), you should store both the commit and prepare positions together as your checkpoint. -::: - -### Updating checkpoints at regular intervals -The client SDK provides a way to notify your application after processing a configurable number of events. This allows you to periodically save a checkpoint at regular intervals. - -@[code{checkpoint}](@grpc:server-side-filtering.js;server-side-filtering.ts) - -By default, the checkpoint notification is sent after every 32 non-system events processed from $all. - -### Configuring the checkpoint interval -You can adjust the checkpoint interval to change how often the client is notified. - -@[code{checkpoint-with-interval}](@grpc:server-side-filtering.js;server-side-filtering.ts) - -By configuring this parameter, you can balance between reducing checkpoint overhead and ensuring quick recovery in case of a failure. - -::: info -The checkpoint interval parameter configures the database to notify the client after `n` * 32 number of events where `n` is defined by the parameter. - -For example: -- If `n` = 1, a checkpoint notification is sent every 32 events. -- If `n` = 2, the notification is sent every 64 events. -- If `n` = 3, it is sent every 96 events, and so on. -::: diff --git a/docs/clients/grpc/python/README.md b/docs/clients/grpc/python/README.md deleted file mode 100644 index 7994d9f53..000000000 --- a/docs/clients/grpc/python/README.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -index: false ---- - -# Python - -Learn how to use the KurrentDB Python client library to interact with the database. - - \ No newline at end of file diff --git a/docs/clients/grpc/python/appending-events.md b/docs/clients/grpc/python/appending-events.md deleted file mode 100644 index b490eb61f..000000000 --- a/docs/clients/grpc/python/appending-events.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -order: 2 -head: - - - title - - {} - - Appending Events | Python | Clients | Kurrent Docs ---- - -# Appending Events - -When you start working with KurrentDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs. - -::: tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Append your first event - -The simplest way to append an event to KurrentDB is to create an `EventData` object and call `AppendToStream` method. - -@[code{append-to-stream}](@grpc:appending_events.py) - -`AppendToStream` takes a collection of `EventData`, which allows you to save more than one event in a single batch. - -Outside the example above, other options exist for dealing with different scenarios. - -::: tip -If you are new to Event Sourcing, please study the [Handling concurrency](#handling-concurrency) section below. -::: - -## Working with EventData - -Events appended to KurrentDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**. - -### eventId - -This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, KurrentDB will only append one of the events to the stream. - -For example, the following code will only append a single event: - -@[code{append-duplicate-event}](@grpc:appending_events.py) - -![Duplicate Event](../images/duplicate-event.png) - -### type - -Each event should be supplied with an event type. This unique string is used to identify the type of event you are saving. - -It is common to see the explicit event code type name used as the type as it makes serialising and de-serialising of the event easy. However, we recommend against this as it couples the storage to the type and will make it more difficult if you need to version the event at a later date. - -### data - -Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of KurrentDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes. - -### metadata - -Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. KurrentDB allows you to store a separate byte array containing this information to keep it separate. - -### isJson - -Simple boolean field to tell KurrentDB if the event is stored as json, true by default. - -## Handling concurrency - -When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform KurrentDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown. - -For example, if you try to append the same record twice, expecting both times that the stream doesn't exist, you will get an exception on the second: - -@[code{append-with-no-stream}](@grpc:appending_events.py) - -There are three available stream states: -- `Any` -- `NoStream` -- `StreamExists` - -This check can be used to implement optimistic concurrency. When retrieving a stream from KurrentDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime. - -@[code{append-with-concurrency-check}](@grpc:appending_events.py) - - - -## User credentials - -You can provide user credentials to append the data as follows. This will override the default credentials set on the connection. - -@[code{overriding-user-credentials}](@grpc:appending_events.py) - diff --git a/docs/clients/grpc/python/authentication.md b/docs/clients/grpc/python/authentication.md deleted file mode 100644 index b77e02941..000000000 --- a/docs/clients/grpc/python/authentication.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Authentication -order: 7 -head: - - - title - - {} - - Authentication | Python | Clients | Kurrent Docs ---- - -## Client x.509 certificate - -X.509 certificates are digital certificates that use the X.509 public key infrastructure (PKI) standard to verify the identity of clients and servers. They play a crucial role in establishing a secure connection by providing a way to authenticate identities and establish trust. - -### Prerequisites - -1. KurrentDB 25.0 or greater, or EventStoreDB 24.10. -2. A commercial license with the User Certificates entitlement. -3. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/kurrent-io/es-gencert-cli). -4. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information. -5. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates) - -#### Generate user certificates - -The following command uses the [gencert tool](https://github.com/kurrent-io/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days: - -::: tabs#os -@tab bash -```bash -./es-gencert-cli create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -@tab PowerShell -```powershell -.\es-gencert-cli.exe create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -::: - -### Connect to KurrentDB using an x.509 certificate - -To connect to KurrentDB using an x.509 certificate, you need to provide the -certificate and the private key to the client. If both username/password and -certificate authentication data are supplied, the client prioritizes user -credentials for authentication. The client will throw an error if the -certificate and the key are not both provided. - -::: tip -Please note that currently, password-protected private key files are not supported. -::: - -The client supports the following parameters: - -| Parameter | Description | -|----------------|--------------------------------------------------------------------------------| -| `userCertFile` | The file containing the X.509 user certificate in PEM format. | -| `userKeyFile` | The file containing the user certificate’s matching private key in PEM format. | - -To authenticate, include these two parameters in your connection string or constructor when initializing the client. - -Check the samples for the following clients: - -@[code{client-with-user-certificates}](@grpc:/user_certificates.py) \ No newline at end of file diff --git a/docs/clients/grpc/python/delete-stream.md b/docs/clients/grpc/python/delete-stream.md deleted file mode 100644 index f254e7e3d..000000000 --- a/docs/clients/grpc/python/delete-stream.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -order: 9 -head: - - - title - - {} - - Deleting Events | Python | Clients | Kurrent Docs ---- - -# Deleting Events - -In KurrentDB, you can delete events and streams either partially or completely. Settings like $maxAge and $maxCount help control how long events are kept or how many events are stored in a stream, but they won't delete the entire stream. -When you need to fully remove a stream, KurrentDB offers two options: Soft Delete and Hard Delete. - -## Soft delete - -Soft delete in KurrentDB allows you to mark a stream for deletion without completely removing it, so you can still add new events later. While you can do this through the UI, using code is often better for automating the process, -handling many streams at once, or including custom rules. Code is especially helpful for large-scale deletions or when you need to integrate soft deletes into other workflows. - - -```python -client.delete_stream(stream_name, current_version=6) -``` - - -::: note -Clicking the delete button in the UI performs a soft delete, -setting the TruncateBefore value to remove all events up to a certain point. -While this marks the events for deletion, actual removal occurs during the next scavenging process. -The stream can still be reopened by appending new events. -::: - -## Hard delete - -Hard delete in KurrentDB permanently removes a stream and its events. While you can use the HTTP API, code is often better for automating the process, managing multiple streams, and ensuring precise control. Code is especially useful when you need to integrate hard delete into larger workflows or apply specific conditions. Note that when a stream is hard deleted, you cannot reuse the stream name, it will raise an exception if you try to append to it again. - - -```python -client.tombstone_stream(stream_name, current_version=4) -``` diff --git a/docs/clients/grpc/python/getting-started.md b/docs/clients/grpc/python/getting-started.md deleted file mode 100644 index 417f2981c..000000000 --- a/docs/clients/grpc/python/getting-started.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -order: 1 -head: - - - title - - {} - - Getting Started | Python | Clients | Kurrent Docs ---- - -# Getting Started - -Get started by connecting your application to KurrentDB. - -## Connecting to KurrentDB - -To connect your application to KurrentDB, instantiate and configure the client. - -::: tip Insecure clusters -All our GRPC clients are secure by default and must be configured to connect to an insecure server via [a connection string](#connection-string) or the client's configuration. -::: - -### Required packages - -Install the `kurrentdbclient` package from PyPI or use Poetry: - -::: tabs -@tab pip -```bash -pip install kurrentdbclient -``` -@tab Poetry -```bash -poetry add kurrentdbclient -``` -::: - - -### Connection string - -Each SDK has its own way of configuring the client, but the connection string can always be used. -The KurrentDB connection string supports two schemas: `kurrentdb://` for connecting to a single-node server, and `kurrentdb+discover://` for connecting to a multi-node cluster. The difference between the two schemas is that when using `kurrentdb://`, the client will connect directly to the node; with `kurrentdb+discover://` schema the client will use the gossip protocol to retrieve the cluster information and choose the right node to connect to. -Since version 22.10, ESDB supports gossip on single-node deployments, so `kurrentdb+discover://` schema can be used for connecting to any topology. - -The connection string has the following format: - -``` -kurrentdb+discover://admin:changeit@cluster.dns.name:2113 -``` - -There, `cluster.dns.name` is the name of a DNS `A` record that points to all the cluster nodes. Alternatively, you can list cluster nodes separated by comma instead of the cluster DNS name: - -``` -kurrentdb+discover://admin:changeit@node1.dns.name:2113,node2.dns.name:2113,node3.dns.name:2113 -``` - -There are a number of query parameters that can be used in the connection string to instruct the cluster how and where the connection should be established. All query parameters are optional. - -| Parameter | Accepted values | Default | Description | -|-----------------------|---------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------| -| `tls` | `true`, `false` | `true` | Use secure connection, set to `false` when connecting to a non-secure server or cluster. | -| `connectionName` | Any string | None | Connection name | -| `maxDiscoverAttempts` | Number | `10` | Number of attempts to discover the cluster. | -| `discoveryInterval` | Number | `100` | Cluster discovery polling interval in milliseconds. | -| `gossipTimeout` | Number | `5` | Gossip timeout in seconds, when the gossip call times out, it will be retried. | -| `nodePreference` | `leader`, `follower`, `random`, `readOnlyReplica` | `leader` | Preferred node role. When creating a client for write operations, always use `leader`. | -| `tlsVerifyCert` | `true`, `false` | `true` | In secure mode, set to `true` when using an untrusted connection to the node if you don't have the CA file available. Don't use in production. | -| `tlsCaFile` | String, file path | None | Path to the CA file when connecting to a secure cluster with a certificate that's not signed by a trusted CA. | -| `defaultDeadline` | Number | None | Default timeout for client operations, in milliseconds. Most clients allow overriding the deadline per operation. | -| `keepAliveInterval` | Number | `10` | Interval between keep-alive ping calls, in seconds. | -| `keepAliveTimeout` | Number | `10` | Keep-alive ping call timeout, in seconds. | -| `userCertFile` | String, file path | None | User certificate file for X.509 authentication. | -| `userKeyFile` | String, file path | None | Key file for the user certificate used for X.509 authentication. | - -When connecting to an insecure instance, specify `tls=false` parameter. For example, for a node running locally use `kurrentdb://localhost:2113?tls=false`. Note that usernames and passwords aren't provided there because insecure deployments don't support authentication and authorisation. - -### Creating a client - -First, create a client and get it connected to the database. - -@[code{createClient}](@grpc:quickstart.py) - -The client instance can be used as a singleton across the whole application. It doesn't need to open or close the connection. - -### Creating an event - -You can write anything to KurrentDB as events. The client needs a byte array as the event payload. Normally, you'd use a serialized object, and it's up to you to choose the serialization method. - -::: tip Server-side projections -User-defined server-side projections require events to be serialized in JSON format. - -We use JSON for serialization in the documentation examples. -::: - -The code snippet below creates an event object instance, serializes it, and adds it as a payload to the `EventData` structure, which the client can then write to the database. - -@[code{createEvent}](@grpc:quickstart.py) - -### Appending events - -Each event in the database has its own unique identifier (UUID). The database uses it to ensure idempotent writes, but it only works if you specify the stream revision when appending events to the stream. - -In the snippet below, we append the event to the stream `some-stream`. - -@[code{appendEvents}](@grpc:quickstart.py) - -Here we are appending events without checking if the stream exists or if the stream version matches the expected event version. See more advanced scenarios in [appending events documentation](./appending-events.md). - -### Reading events - -Finally, we can read events back from the `some-stream` stream. - -@[code{readStream}](@grpc:quickstart.py) - -When you read events from the stream, you get a collection of `ResolvedEvent` structures. The event payload is returned as a byte array and needs to be deserialized. See more advanced scenarios in [reading events documentation](./reading-events.md). - diff --git a/docs/clients/grpc/python/persistent-subscriptions.md b/docs/clients/grpc/python/persistent-subscriptions.md deleted file mode 100644 index 9f383af5e..000000000 --- a/docs/clients/grpc/python/persistent-subscriptions.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -order: 5 -head: - - - title - - {} - - Persistent Subscriptions | Python | Clients | Kurrent Docs ---- - -# Persistent Subscriptions - -Persistent subscriptions are similar to catch-up subscriptions, but there are two key differences: -- The subscription checkpoint is maintained by the server. It means that when your client reconnects to the persistent subscription, it will automatically resume from the last known position. -- It's possible to connect more than one event consumer to the same persistent subscription. In that case, the server will load-balance the consumers, depending on the defined strategy, and distribute the events to them. - -Because of those, persistent subscriptions are defined as subscription groups that are defined and maintained by the server. Consumer then connect to a particular subscription group, and the server starts sending event to the consumer. - -You can read more about persistent subscriptions in the [server documentation](@server/features/persistent-subscriptions.md). - -## Creating a subscription group - -The first step of dealing with a persistent subscription is to create a subscription group. You will receive an error if you attempt to create a subscription group multiple times. You must have admin permissions to create a persistent subscription group. - -### Subscribing to one stream - -The following sample shows how to create a subscription group for a persistent subscription where you want to receive events from a specific stream. It could be a normal stream, or a stream of links (like `$ce` category stream). - -@[code{create-persistent-subscription-to-stream}](@grpc:persistent_subscriptions.py) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to create. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -### Subscribing to $all - -The ability to subscribe to `$all` was introduced in EventStoreDB **21.10**. Persistent subscriptions to `$all` also support [filtering](subscriptions.md#server-side-filtering). - -You can create a subscription group on $all much the same way you would create a subscription group on a stream: - -@[code{create-persistent-subscription-to-all}](@grpc:persistent_subscriptions.py) - -## Connecting a consumer - -Once you have created a subscription group, clients can connect to it. A subscription in your application should only have the connection in your code, you should assume that the subscription already exists. - -The most important parameter to pass when connecting is the buffer size. This represents how many outstanding messages the server should allow this client. If this number is too small, your subscription will spend much of its time idle as it waits for an acknowledgment to come back from the client. If it's too big, you waste resources and can start causing time out messages depending on the speed of your processing. - -### Connecting to one stream - -The code below shows how to connect to an existing subscription group for a specific stream: - -@[code{subscribe-to-persistent-subscription-to-stream}](@grpc:persistent_subscriptions.py) - -| Parameter | Description | -|:----------------------|:---------------------------------------------------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to subscribe to. | -| `eventAppeared` | The action to call when an event arrives over the subscription. | -| `subscriptionDropped` | The action to call if the subscription is dropped. | -| `credentials` | The user credentials to use for this operation. | -| `bufferSize` | The number of in-flight messages this client is allowed. **Default: 10** | -| `autoAck` | Whether to automatically acknowledge messages after eventAppeared returns. **Default: true** | - -::: warning -The `autoAck` parameter will be deprecated in the next client release. You'll need to explicitly [manage acknowledgements](#acknowledgements). -::: - -### Connecting to $all - -The code below shows how to connect to an existing subscription group for `$all`: - -@[code{subscribe-to-persistent-subscription-to-all}](@grpc:persistent_subscriptions.py) - -The `SubscribeToAllAsync` method is identical to the `SubscribeToStreamAsync` method, except that you don't need to specify a stream name. - -## Acknowledgements - -Clients must acknowledge (or not acknowledge) messages in the competing consumer model. - -If processing is successful, you must send an Ack (acknowledge) to the server to let it know that the message has been handled. If processing fails for some reason, then you can Nack (not acknowledge) the message and tell the server how to handle the failure. - -@[code{subscribe-to-persistent-subscription-with-manual-acks}](@grpc:persistent_subscriptions.py) - -The _Nack event action_ describes what the server should do with the message: - -| Action | Description | -|:----------|:---------------------------------------------------------------------| -| `Unknown` | The client does not know what action to take. Let the server decide. | -| `Park` | Park the message and do not resend. Put it on poison queue. | -| `Retry` | Explicitly retry the message. | -| `Skip` | Skip this message do not resend and do not put in poison queue. | - -## Consumer strategies - -When creating a persistent subscription, you can choose between a number of consumer strategies. - -### RoundRobin (default) - -Distributes events to all clients evenly. If the client `bufferSize` is reached, the client won't receive more events until it acknowledges or not acknowledges events in its buffer. - -This strategy provides equal load balancing between all consumers in the group. - -### DispatchToSingle - -Distributes events to a single client until the `bufferSize` is reached. After that, the next client is selected in a round-robin style, and the process repeats. - -This option can be seen as a fall-back scenario for high availability, when a single consumer processes all the events until it reaches its maximum capacity. When that happens, another consumer takes the load to free up the main consumer resources. - -### Pinned - -For use with an indexing projection such as the system `$by_category` projection. - -KurrentDB inspects the event for its source stream id, hashing the id to one of 1024 buckets assigned to individual clients. When a client disconnects, its buckets are assigned to other clients. When a client connects, it is assigned some existing buckets. This naively attempts to maintain a balanced workload. - -The main aim of this strategy is to decrease the likelihood of concurrency and ordering issues while maintaining load balancing. This is **not a guarantee**, and you should handle the usual ordering and concurrency issues. - -## Updating a subscription group - -You can edit the settings of an existing subscription group while it is running, you don't need to delete and recreate it to change settings. When you update the subscription group, it resets itself internally, dropping the connections and having them reconnect. You must have admin permissions to update a persistent subscription group. - -@[code{update-persistent-subscription}](@grpc:persistent_subscriptions.py) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to update. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -## Persistent subscription settings - -Both the `Create` and `Update` methods take some settings for configuring the persistent subscription. - -The following table shows the configuration options you can set on a persistent subscription. - -| Option | Description | Default | -|:------------------------|:----------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------| -| `ResolveLinkTos` | Whether the subscription should resolve link events to their linked events. | `false` | -| `StartFrom` | The exclusive position in the stream or transaction file the subscription should start from. | `null` (start from the end of the stream) | -| `ExtraStatistics` | Whether to track latency statistics on this subscription. | `false` | -| `MessageTimeout` | The amount of time after which to consider a message as timed out and retried. | `30` (seconds) | -| `MaxRetryCount` | The maximum number of retries (due to timeout) before a message is considered to be parked. | `10` | -| `LiveBufferSize` | The size of the buffer (in-memory) listening to live messages as they happen before paging occurs. | `500` | -| `ReadBatchSize` | The number of events read at a time when paging through history. | `20` | -| `HistoryBufferSize` | The number of events to cache when paging through history. | `500` | -| `CheckPointAfter` | The amount of time to try to checkpoint after. | `2` seconds | -| `MinCheckPointCount` | The minimum number of messages to process before a checkpoint may be written. | `10` | -| `MaxCheckPointCount` | The maximum number of messages not checkpointed before forcing a checkpoint. | `1000` | -| `MaxSubscriberCount` | The maximum number of subscribers allowed. | `0` (unbounded) | -| `NamedConsumerStrategy` | The strategy to use for distributing events to client consumers. See the [consumer strategies](#consumer-strategies) in this doc. | `RoundRobin` | - -## Deleting a subscription group - -Remove a subscription group with the delete operation. Like the creation of groups, you rarely do this in your runtime code and is undertaken by an administrator running a script. - -@[code{delete-persistent-subscription}](@grpc:persistent_subscriptions.py) - -| Parameter | Description | -|:--------------|:-----------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to delete. | -| `credentials` | The user credentials to use for this operation | diff --git a/docs/clients/grpc/python/projections.md b/docs/clients/grpc/python/projections.md deleted file mode 100644 index eea06c819..000000000 --- a/docs/clients/grpc/python/projections.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -order: 6 -title: Projections -head: - - - title - - {} - - Projections | Python | Clients | Kurrent Docs ---- - -# Projection Management - -The various gRPC client APIs include dedicated clients that allow you to manage projections. - -For a detailed explanation of projections, see the [server documentation](@server/features/projections/README.md). - -You can find the full sample code from this documentation page in the respective [clients repositories](https://github.com/kurrent-io/?q=client). - -## Creating a client - -Projection management operations are exposed through a dedicated client. - -@[code{createClient}](@grpc:quickstart.py) - -## Create a projection - -Creates a projection that runs until the last event in the store, and then continues processing new events as they are appended to the store. The query parameter contains the JavaScript you want created as a projection. -Projections have explicit names, and you can enable or disable them via this name. - -@[code{CreateContinuous}](@grpc:projections.py) - -Trying to create projections with the same name will result in an error: - -@[code{CreateContinuous_Conflict}](@grpc:projections.py) - -## Restart the subsystem - -It is possible to restart the entire projection subsystem using the projections management client API. The user must be in the `$ops` or `$admin` group to perform this operation. - -@[code{RestartSubSystem}](@grpc:projections.py) - -## Enable a projection - -Enables an existing projection by name. -Once enabled, the projection will start to process events even after restarting the server or the projection subsystem. -You must have access to a projection to enable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Enable}](@grpc:projections.py) - -You can only enable an existing projection. When you try to enable a non-existing projection, you'll get an error: - -@[code{EnableNotFound}](@grpc:projections.py) - -## Disable a projection - -Disables a projection, this will save the projection checkpoint. -Once disabled, the projection will not process events even after restarting the server or the projection subsystem. -You must have access to a projection to disable it, see the [ACL documentation](@server/security/user-authorization.md). - -@[code{Disable}](@grpc:projections.py) - -You can only disable an existing projection. When you try to disable a non-existing projection, you'll get an error: - -@[code{DisableNotFound}](@grpc:projections.py) - -## Delete a projection - -Deletes an existing projection. You must disable the projection before deleting it, running projections cannot be deleted. Deleting a projection includes deleting the checkpoint and the emitted streams. - -@[code{Delete}](@grpc:projections.py) - -You can only delete an existing projection. When you try to delete a non-existing projection, you'll get an error: - -@[code{DeleteNotFound}](@grpc:projections.py) - -## Abort a projection - -Aborts a projection, this will not save the projection's checkpoint. - -@[code{Abort}](@grpc:projections.py) - -You can only abort an existing projection. When you try to abort a non-existing projection, you'll get an error: - -@[code{Abort_NotFound}](@grpc:projections.py) - -## Reset a projection - -Resets a projection, which causes deleting the projection checkpoint. This will force the projection to start afresh and re-emit events. Streams that are written to from the projection will also be soft-deleted. - -@[code{Reset}](@grpc:projections.py) - -Resetting a projection that does not exist will result in an error. - -@[code{Reset_NotFound}](@grpc:projections.py) - -## Update a projection - -Updates a projection with a given name. The query parameter contains the new JavaScript. Updating system projections using this operation is not supported at the moment. - -@[code{Update}](@grpc:projections.py) - -You can only update an existing projection. When you try to update a non-existing projection, you'll get an error: - -@[code{Update_NotFound}](@grpc:projections.py) - -## List all projections - -Returns a list of all projections, user defined & system projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListAll}](@grpc:projections.py) - -## List continuous projections - -Returns a list of all continuous projections. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{ListContinuous}](@grpc:projections.py) - -## Get status - -Gets the status of a named projection. -See the [projection details](#projection-details) section for an explanation of the returned values. - -@[code{GetStatus}](@grpc:projections.py) - -## Get state - -Retrieves the state of a projection. - -@[code{GetState}](@grpc:projections.py) - -## Get result - -Retrieves the result of the named projection and partition. - -@[code{GetResult}](@grpc:projections.py) - -## Projection Details - -[List all](#list-all-projections), [list continuous](#list-continuous-projections) and [get status](#get-status) all return the details and statistics of projections - -| Field | Description | -|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `Name`, `EffectiveName` | The name of the projection | -| `Status` | A human readable string of the current statuses of the projection (see below) | -| `StateReason` | A human readable string explaining the reason of the current projection state | -| `CheckpointStatus` | A human readable string explaining the current operation performed on the checkpoint : `requested`, `writing` | -| `Mode` | `Continuous`, `OneTime` , `Transient` | -| `CoreProcessingTime` | The total time, in ms, the projection took to handle events since the last restart | -| `Progress` | The progress, in %, indicates how far this projection has processed event, in case of a restart this could be -1% or some number. It will be updated as soon as a new event is appended and processed | -| `WritesInProgress` | The number of write requests to emitted streams currently in progress, these writes can be batches of events | -| `ReadsInProgress` | The number of read requests currently in progress | -| `PartitionsCached` | The number of cached projection partitions | -| `Position` | The Position of the last processed event | -| `LastCheckpoint` | The Position of the last checkpoint of this projection | -| `EventsProcessedAfterRestart` | The number of events processed since the last restart of this projection | -| `BufferedEvents` | The number of events in the projection read buffer | -| `WritePendingEventsBeforeCheckpoint` | The number of events waiting to be appended to emitted streams before the pending checkpoint can be written | -| `WritePendingEventsAfterCheckpoint` | The number of events to be appended to emitted streams since the last checkpoint | -| `Version` | This is used internally, the version is increased when the projection is edited or reset | -| `Epoch` | This is used internally, the epoch is increased when the projection is reset | - -The `Status` string is a combination of the following values. -The first 3 are the most common one, as the other one are transient values while the projection is initialised or stopped - -| Value | Description | -|--------------------|-------------------------------------------------------------------------------------------------------------------------| -| Running | The projection is running and processing events | -| Stopped | The projection is stopped and is no longer processing new events | -| Faulted | An error occurred in the projection, `StateReason` will give the fault details, the projection is not processing events | -| Initial | This is the initial state, before the projection is fully initialised | -| Suspended | The projection is suspended and will not process events, this happens while stopping the projection | -| LoadStateRequested | The state of the projection is being retrieved, this happens while the projection is starting | -| StateLoaded | The state of the projection is loaded, this happens while the projection is starting | -| Subscribed | The projection has successfully subscribed to its readers, this happens while the projection is starting | -| FaultedStopping | This happens before the projection is stopped due to an error in the projection | -| Stopping | The projection is being stopped | -| CompletingPhase | This happens while the projection is stopping | -| PhaseCompleted | This happens while the projection is stopping | diff --git a/docs/clients/grpc/python/reading-events.md b/docs/clients/grpc/python/reading-events.md deleted file mode 100644 index cfb569743..000000000 --- a/docs/clients/grpc/python/reading-events.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -order: 3 -head: - - - title - - {} - - Reading Events | Python | Clients | Kurrent Docs ---- - -# Reading Events - -There are two options for reading events from KurrentDB. You can either: - 1. Read from an individual stream, or - 2. Read from the `$all` stream, which will return all events in the store. - -Each event in KurrentDB belongs to an individual stream. When reading events, pick the name of the stream from which you want to read the events and choose whether to read the stream forwards or backwards. - -All events have a `StreamPosition` and a `Position`. `StreamPosition` is a *big int* (unsigned 64-bit integer) and represents the place of the event in the stream. `Position` is the event's logical position, and is represented by `CommitPosition` and a `PreparePosition`. Note that when reading events you will supply a different "position" depending on whether you are reading from an individual stream or the `$all` stream. - -:::tip -Check [connecting to KurrentDB instructions](getting-started.md#required-packages) to learn how to configure and use the client SDK. -::: - -## Reading from a stream - -You can read all the events or a sample of the events from individual streams, starting from any position in the stream, and can read either forward or backward. It is only possible to read events from a single stream at a time. You can read events from the global event log, which spans across streams. Learn more about this process in the [Read from `$all`](#reading-from-the-all-stream) section below. - -### Reading forwards - -The simplest way to read a stream forwards is to supply a stream name, read direction, and revision from which to start. The revision can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-stream}](@grpc:reading_events.py) - -This will return an enumerable that can be iterated on: - -@[code{iterate-stream}](@grpc:reading_events.py) - -There are a number of additional arguments you can provide when reading a stream, listed below. - -#### maxCount - -Passing in the max count will limit the number of events returned. - -#### resolveLinkTos - -When using projections to create new events, you can set whether the generated events are pointers to existing events. Setting this value to `true` tells KurrentDB to return the event as well as the event linking to it. - -#### configureOperationOptions - -You can use the `configureOperationOptions` argument to provide a function that will customise settings for each operation. - -#### userCredentials - -The `userCredentials` argument is optional. It is used to override the default credentials specified when creating the client instance. - -@[code{overriding-user-credentials}](@grpc:reading_events.py) - -### Reading from a revision - -Instead of providing the `StreamPosition` you can also provide a specific stream revision as a *big int* (unsigned 64-bit integer). - -@[code{read-from-stream-position}](@grpc:reading_events.py) - -### Reading backwards - -In addition to reading a stream forwards, streams can be read backwards. To read all the events backwards, set the *stream position* to the end: - -@[code{reading-backwards}](@grpc:reading_events.py) - -:::tip -Read one event backwards to find the last position in the stream. -::: - -### Checking if the stream exists - -Reading a stream returns a `ReadStreamResult`, which contains a property `ReadState`. This property can have the value `StreamNotFound` or `Ok`. - -It is important to check the value of this field before attempting to iterate an empty stream, as it will throw an exception. - -For example: - -@[code{checking-for-stream-presence}](@grpc:reading_events.py) - -## Reading from the $all stream - -Reading from the `$all` stream is similar to reading from an individual stream, but please note there are differences. One significant difference is the need to provide admin user account credentials to read from the `$all` stream. Additionally, you need to provide a transaction log position instead of a stream revision when reading from the `$all` stream. - -### Reading forwards - -The simplest way to read the `$all` stream forwards is to supply a read direction and the transaction log position from which you want to start. The transaction log postion can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-all-stream}](@grpc:reading_events.py) - -You can iterate asynchronously through the result: - -@[code{read-from-all-stream-iterate}](@grpc:reading_events.py) - -There are a number of additional arguments you can provide when reading the `$all` stream. - -#### maxCount - -Passing in the max count allows you to limit the number of events that returned. - -#### resolveLinkTos - -When using projections to create new events you can set whether the generated events are pointers to existing events. Setting this value to true will tell KurrentDB to return the event as well as the event linking to it. - -@[code{read-from-all-stream-resolving-link-Tos}](@grpc:reading_events.py) - -#### configureOperationOptions - -This argument is generic setting class for all operations that can be set on all operations executed against KurrentDB. - -#### userCredentials -The credentials used to read the data can be used by the subscription as follows. This will override the default credentials set on the connection. - -@[code{read-all-overriding-user-credentials}](@grpc:reading_events.py) - -### Reading backwards - -In addition to reading the `$all` stream forwards, it can be read backwards. To read all the events backwards, set the *position* to the end: - -@[code{read-from-all-stream-backwards}](@grpc:reading_events.py) - -:::tip -Read one event backwards to find the last position in the `$all` stream. -::: - -### Handling system events - -KurrentDB will also return system events when reading from the `$all` stream. In most cases you can ignore these events. - -All system events begin with `$` or `$$` and can be easily ignored by checking the `EventType` property. - -@[code{ignore-system-events}](@grpc:reading_events.py) - diff --git a/docs/clients/grpc/python/release-notes.md b/docs/clients/grpc/python/release-notes.md deleted file mode 100644 index 45ea07593..000000000 --- a/docs/clients/grpc/python/release-notes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -order: 10 -head: - - - title - - {} - - Release Notes | Python | Clients | Kurrent Docs ---- - -# Release Notes - -To stay up to date with the latest changes and improvements, including release history, changelogs, upgrade instructions, and migration guides, see the [KurrentDB Python client release notes](https://github.com/pyeventsourcing/kurrentdbclient/releases). diff --git a/docs/clients/grpc/python/subscriptions.md b/docs/clients/grpc/python/subscriptions.md deleted file mode 100644 index b00802141..000000000 --- a/docs/clients/grpc/python/subscriptions.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -order: 4 -head: - - - title - - {} - - Catch-up Subscriptions | Python | Clients | Kurrent Docs ---- - -# Catch-up Subscriptions - -Subscriptions allow you to subscribe to a stream and receive notifications about new events added to the stream. - -You provide an event handler and an optional starting point to the subscription. The handler is called for each event from the starting point onward. - -If events already exist, the handler will be called for each event one by one until it reaches the end of the stream. The server will then notify the handler whenever a new event appears. - -:::tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Subscribing from the start - -If you need to process all the events in the store, including historical events, you'll need to subscribe from the beginning. You can either subscribe to receive events from a single stream or subscribe to `$all` if you need to process all events in the database. - -### Subscribing to a stream - -The simplest stream subscription looks like the following : - -@[code{subscribe-to-stream}](@grpc:subscribing_to_stream.py) - -The provided handler will be called for every event in the stream. - -When you subscribe to a stream with link events, for example the `$ce` category stream, you need to set `resolveLinkTos` to `true`. Read more about it [below](#resolving-link-to-s). - -### Subscribing to `$all` - -Subscribing to `$all` is similar to subscribing to a single stream. The handler will be called for every event appended after the starting position. - -@[code{subscribe-to-all}](@grpc:subscribing_to_stream.py) - -## Subscribing from a specific position - -The previous examples subscribed to the stream from the beginning. That subscription invoked the handler for every event in the stream before waiting for new events. - -Both stream and $all subscriptions accept a starting position if you want to read from a specific point onward. If events already exist at the position you subscribe to, they will be read on the server side and sent to the subscription. - -Once caught up, the server will push any new events received on the streams to the client. There is no difference between catching up and live on the client side. - -::: warning -The positions provided to the subscriptions are exclusive. You will only receive the next event after the subscribed position. -::: - -### Subscribing to a stream - -To subscribe to a stream from a specific position, you must provide a *stream position*. This can be `Start`, `End` or a *big int* (unsigned 64 bit integer) position. - -The following subscribes to the stream `some-stream` at position `20`, this means that events `21` and onward will be handled: - -@[code{subscribe-to-stream-from-position}](@grpc:subscribing_to_stream.py) - -### Subscribing to $all - -Subscribing to the `$all` stream is similar to subscribing to a regular stream. The difference is how to specify the starting position. For the `$all` stream, provide a `Position` structure that consists of two big integers: the prepare and commit positions. Use `Start`, `End`, or create a `Position` from specific commit and prepare values. - -The corresponding `$all` subscription will subscribe from the event after the one at commit position `1056` and prepare position `1056`. - -Please note that this position will need to be a legitimate position in `$all`. - -@[code{subscribe-to-all-from-position}](@grpc:subscribing_to_stream.py) - -## Subscribing to a stream for live updates - -You can subscribe to a stream to get live updates by subscribing to the end of the stream: - -@[code{subscribe-to-stream-live}](@grpc:subscribing_to_stream.py) - -And the same works with `$all` : - -@[code{subscribe-to-all-live}](@grpc:subscribing_to_stream.py) - -This will not read through the history of the stream but will notify the handler when a new event appears in the respective stream. - -Keep in mind that when you subscribe to a stream from a specific position, as described [above](#subscribing-from-a-specific-position), you will also get live updates after your subscription catches up (processes all the historical events). - -## Resolving link-to events - -Link-to events point to events in other streams in KurrentDB. These are generally created by projections such as the `$by_event_type` projection which links events of the same event type into the same stream. This makes it easier to look up all events of a specific type. - -::: tip -[Filtered subscriptions](subscriptions.md#server-side-filtering) make it easier and faster to subscribe to all events of a specific type or matching a prefix. -::: - -When reading a stream you can specify whether to resolve link-to's. By default, link-to events are not resolved. You can change this behaviour by setting the `resolveLinkTos` parameter to `true`: - -@[code{subscribe-to-stream-resolving-linktos}](@grpc:subscribing_to_stream.py) - -## Dropped subscriptions - -When a subscription stops or experiences an error, it will be dropped. The subscription provides a `subscriptionDropped` callback, which will get called when the subscription breaks. - -The `subscriptionDropped` callback allows you to inspect the reason why the subscription dropped, as well as any exceptions that occurred. - -The possible reasons for a subscription to drop are: - -| Reason | Why it might happen | -|:------------------|:---------------------------------------------------------------------------------------------------------------------| -| `Disposed` | The client canceled or disposed of the subscription. | -| `SubscriberError` | An error occurred while handling an event in the subscription handler. | -| `ServerError` | An error occurred on the server, and the server closed the subscription. Check the server logs for more information. | - -Bear in mind that a subscription can also drop because it is slow. The server tried to push all the live events to the subscription when it is in the live processing mode. If the subscription gets the reading buffer overflow and won't be able to acknowledge the buffer, it will break. - -### Handling subscription drops - -An application, which hosts the subscription, can go offline for some time for different reasons. It could be a crash, infrastructure failure, or a new version deployment. As you rarely would want to reprocess all the events again, you'd need to store the current position of the subscription somewhere, and then use it to restore the subscription from the point where it dropped off: - -@[code{subscribe-to-stream-subscription-dropped}](@grpc:subscribing_to_stream.py) - -When subscribed to `$all` you want to keep the event's position in the `$all` stream. As mentioned previously, the `$all` stream position consists of two big integers (prepare and commit positions), not one: - -@[code{subscribe-to-all-subscription-dropped}](@grpc:subscribing_to_stream.py) - -## User credentials - -The user creating a subscription must have read access to the stream it's subscribing to, and only admin users may subscribe to `$all` or create filtered subscriptions. - -The code below shows how you can provide user credentials for a subscription. When you specify subscription credentials explicitly, it will override the default credentials set for the client. If you don't specify any credentials, the client will use the credentials specified for the client, if you specified those. - -@[code{overriding-user-credentials}](@grpc:subscribing_to_stream.py) - -## Server-side filtering - -KurrentDB allows you to filter the events whilst subscribing to the `$all` stream to only receive the events you care about. - -You can filter by event type or stream name using a regular expression or a prefix. Server-side filtering is currently only available on the `$all` stream. - -::: tip -Server-side filtering was introduced as a simpler alternative to projections. You should consider filtering before creating a projection to include the events you care about. -::: - -A simple stream prefix filter looks like this: - -@[code{stream-prefix-filtered-subscription}](@grpc:subscribing_to_stream.py) - -The filtering API is described more in-depth in the [filtering section](subscriptions.md#server-side-filtering). - -### Filtering out system events - -There are events in KurrentDB called system events. These are prefixed with a `$` and under most circumstances you won't care about these. They can be filtered out by passing in a `SubscriptionFilterOptions` when subscribing to the `$all` stream. - -@[code{exclude-system}](@grpc:server_side_filtering.py) - -::: tip -`$stats` events are no longer stored in KurrentDB by default so there won't be as many `$` events as before. -::: - -### Filtering by event type - -If you only want to subscribe to events of a given type, there are two options. You can either use a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `EventTypeFilter.Prefix`. - -@[code{event-type-prefix}](@grpc:server_side_filtering.py) - -This will only subscribe to events with a type that begin with `customer-`. - -#### Filtering by regular expression - -It might be advantageous to provide a regular expression when you want to subscribe to multiple event types. - -@[code{event-type-regex}](@grpc:server_side_filtering.py) - -This will subscribe to any event that begins with `user` or `company`. - -### Filtering by stream name - -To subscribe to a stream by name, choose either a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `StreamFilter.Prefix`. - -@[code{stream-prefix}](@grpc:server_side_filtering.py) - -This will only subscribe to all streams with a name that begins with `user-`. - -#### Filtering by regular expression - -To subscribe to multiple streams, use a regular expression. - -@[code{stream-regex}](@grpc:server_side_filtering.py) - -This will subscribe to any stream with a name that begins with `account` or `savings`. - -## Checkpointing - -When a catch-up subscription is used to process an `$all` stream containing many events, the last thing you want is for your application to crash midway, forcing you to restart from the beginning. - -### What is a checkpoint? - -A checkpoint is the position of an event in the `$all` stream to which your application has processed. By saving this position to a persistent store (e.g., a database), it allows your catch-up subscription to: -- Recover from crashes by reading the checkpoint and resuming from that position -- Avoid reprocessing all events from the start - -To create a checkpoint, store the event's commit or prepare position. - -::: warning -If your database contains events created by the legacy TCP client using the [transaction feature](https://docs.kurrent.io/clients/tcp/dotnet/21.2/appending.html#transactions), you should store both the commit and prepare positions together as your checkpoint. -::: - -### Updating checkpoints at regular intervals -The client SDK provides a way to notify your application after processing a configurable number of events. This allows you to periodically save a checkpoint at regular intervals. - -@[code{checkpoint}](@grpc:server_side_filtering.py) - -By default, the checkpoint notification is sent after every 32 non-system events processed from $all. - -### Configuring the checkpoint interval -You can adjust the checkpoint interval to change how often the client is notified. - -@[code{checkpoint-with-interval}](@grpc:server_side_filtering.py) - -By configuring this parameter, you can balance between reducing checkpoint overhead and ensuring quick recovery in case of a failure. - -::: info -The checkpoint interval parameter configures the database to notify the client after `n` * 32 number of events where `n` is defined by the parameter. - -For example: -- If `n` = 1, a checkpoint notification is sent every 32 events. -- If `n` = 2, the notification is sent every 64 events. -- If `n` = 3, it is sent every 96 events, and so on. -::: diff --git a/docs/clients/grpc/rust/README.md b/docs/clients/grpc/rust/README.md deleted file mode 100644 index a654c32d6..000000000 --- a/docs/clients/grpc/rust/README.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -index: false ---- - -# Rust - -Learn how to use the KurrentDB Rust client library to interact with the database. - - \ No newline at end of file diff --git a/docs/clients/grpc/rust/appending-events.md b/docs/clients/grpc/rust/appending-events.md deleted file mode 100644 index 31c7599c0..000000000 --- a/docs/clients/grpc/rust/appending-events.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -order: 2 -head: - - - title - - {} - - Appending Events | Rust | Clients | Kurrent Docs ---- - -# Appending Events - -When you start working with KurrentDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs. - -::: tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Append your first event - -The simplest way to append an event to KurrentDB is to create an `EventData` object and call `AppendToStream` method. - -@[code{append-to-stream}](@grpc:appending_events.rs) - -`AppendToStream` takes a collection of `EventData`, which allows you to save more than one event in a single batch. - -Outside the example above, other options exist for dealing with different scenarios. - -::: tip -If you are new to Event Sourcing, please study the [Handling concurrency](#handling-concurrency) section below. -::: - -## Working with EventData - -Events appended to KurrentDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**. - -### eventId - -This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, KurrentDB will only append one of the events to the stream. - -For example, the following code will only append a single event: - -@[code{append-duplicate-event}](@grpc:appending_events.rs) - -![Duplicate Event](../images/duplicate-event.png) - -### type - -Each event should be supplied with an event type. This unique string is used to identify the type of event you are saving. - -It is common to see the explicit event code type name used as the type as it makes serialising and de-serialising of the event easy. However, we recommend against this as it couples the storage to the type and will make it more difficult if you need to version the event at a later date. - -### data - -Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of KurrentDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes. - -### metadata - -Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. KurrentDB allows you to store a separate byte array containing this information to keep it separate. - -### isJson - -Simple boolean field to tell KurrentDB if the event is stored as json, true by default. - -## Handling concurrency - -When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform KurrentDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown. - -For example, if you try to append the same record twice, expecting both times that the stream doesn't exist, you will get an exception on the second: - -@[code{append-with-no-stream}](@grpc:appending_events.rs) - -There are three available stream states: -- `Any` -- `NoStream` -- `StreamExists` - -This check can be used to implement optimistic concurrency. When retrieving a stream from KurrentDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime. - -@[code{append-with-concurrency-check}](@grpc:appending_events.rs) - - - -## User credentials - -You can provide user credentials to append the data as follows. This will override the default credentials set on the connection. - -@[code{overriding-user-credentials}](@grpc:appending_events.rs) - diff --git a/docs/clients/grpc/rust/authentication.md b/docs/clients/grpc/rust/authentication.md deleted file mode 100644 index a4abfa37f..000000000 --- a/docs/clients/grpc/rust/authentication.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Authentication -order: 7 -head: - - - title - - {} - - Authentication | Rust | Clients | Kurrent Docs ---- - -## Client x.509 certificate - -X.509 certificates are digital certificates that use the X.509 public key infrastructure (PKI) standard to verify the identity of clients and servers. They play a crucial role in establishing a secure connection by providing a way to authenticate identities and establish trust. - -### Prerequisites - -1. KurrentDB 25.0 or greater, or EventStoreDB 24.10. -2. A commercial license with the User Certificates entitlement. -3. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/kurrent-io/es-gencert-cli). -4. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information. -5. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates) - -#### Generate user certificates - -The following command uses the [gencert tool](https://github.com/kurrent-io/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days: - -::: tabs#os -@tab bash -```bash -./es-gencert-cli create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -@tab PowerShell -```powershell -.\es-gencert-cli.exe create-user -username admin -days 10 -ca-certificate ./es-ca/ca.crt -ca-key ./es-ca/ca.key -``` -::: - -### Connect to KurrentDB using an x.509 certificate - -To connect to KurrentDB using an x.509 certificate, you need to provide the -certificate and the private key to the client. If both username/password and -certificate authentication data are supplied, the client prioritizes user -credentials for authentication. The client will throw an error if the -certificate and the key are not both provided. - -::: tip -Please note that currently, password-protected private key files are not supported. -::: - -The client supports the following parameters: - -| Parameter | Description | -|----------------|--------------------------------------------------------------------------------| -| `userCertFile` | The file containing the X.509 user certificate in PEM format. | -| `userKeyFile` | The file containing the user certificate’s matching private key in PEM format. | - - -To authenticate, include these two parameters in your connection string or constructor when initializing the client. - -Check the samples for the following clients: - -@[code{client-with-user-certificates}](@grpc:/user_certificates.rs) \ No newline at end of file diff --git a/docs/clients/grpc/rust/delete-stream.md b/docs/clients/grpc/rust/delete-stream.md deleted file mode 100644 index dee345a3f..000000000 --- a/docs/clients/grpc/rust/delete-stream.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -order: 9 -head: - - - title - - {} - - Deleting Events | Rust | Clients | Kurrent Docs ---- - -# Deleting Events - -In KurrentDB, you can delete events and streams either partially or completely. Settings like $maxAge and $maxCount help control how long events are kept or how many events are stored in a stream, but they won't delete the entire stream. -When you need to fully remove a stream, KurrentDB offers two options: Soft Delete and Hard Delete. - -## Soft delete - -Soft delete in KurrentDB allows you to mark a stream for deletion without completely removing it, so you can still add new events later. While you can do this through the UI, using code is often better for automating the process, -handling many streams at once, or including custom rules. Code is especially helpful for large-scale deletions or when you need to integrate soft deletes into other workflows. - - -```rust -let options = DeleteStreamOptions::default(); -client - .delete_stream(stream_name, &options) - .await?; -``` - -::: note -Clicking the delete button in the UI performs a soft delete, -setting the TruncateBefore value to remove all events up to a certain point. -While this marks the events for deletion, actual removal occurs during the next scavenging process. -The stream can still be reopened by appending new events. -::: - -## Hard delete - -Hard delete in KurrentDB permanently removes a stream and its events. While you can use the HTTP API, code is often better for automating the process, managing multiple streams, and ensuring precise control. Code is especially useful when you need to integrate hard delete into larger workflows or apply specific conditions. Note that when a stream is hard deleted, you cannot reuse the stream name, it will raise an exception if you try to append to it again. - - -```rust -let options = TombstoneStreamOptions::default(); -client - .tombstone_stream(stream_name, &options) - .await?; -``` diff --git a/docs/clients/grpc/rust/getting-started.md b/docs/clients/grpc/rust/getting-started.md deleted file mode 100644 index 45c90b29b..000000000 --- a/docs/clients/grpc/rust/getting-started.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -order: 1 -head: - - - title - - {} - - Getting Started | Rust | Clients | Kurrent Docs ---- - -# Getting Started - -Get started by connecting your application to KurrentDB. - -## Connecting to KurrentDB - -To connect your application to KurrentDB, instantiate and configure the client. - -::: tip Insecure clusters -All our GRPC clients are secure by default and must be configured to connect to an insecure server via [a connection string](#connection-string) or the client's configuration. -::: - -### Required packages - -No additional configuration is needed having Rust installed. For more information, see [https://rustup.rs](https://rustup.rs). - -### Connection string - -Each SDK has its own way of configuring the client, but the connection string can always be used. -The KurrentDB connection string supports two schemas: `kurrentdb://` for connecting to a single-node server, and `kurrentdb+discover://` for connecting to a multi-node cluster. The difference between the two schemas is that when using `kurrentdb://`, the client will connect directly to the node; with `kurrentdb+discover://` schema the client will use the gossip protocol to retrieve the cluster information and choose the right node to connect to. -Since version 22.10, ESDB supports gossip on single-node deployments, so `kurrentdb+discover://` schema can be used for connecting to any topology. - -The connection string has the following format: - -``` -kurrentdb+discover://admin:changeit@cluster.dns.name:2113 -``` - -There, `cluster.dns.name` is the name of a DNS `A` record that points to all the cluster nodes. Alternatively, you can list cluster nodes separated by comma instead of the cluster DNS name: - -``` -kurrentdb+discover://admin:changeit@node1.dns.name:2113,node2.dns.name:2113,node3.dns.name:2113 -``` - -There are a number of query parameters that can be used in the connection string to instruct the cluster how and where the connection should be established. All query parameters are optional. - -| Parameter | Accepted values | Default | Description | -|-----------------------|---------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------| -| `tls` | `true`, `false` | `true` | Use secure connection, set to `false` when connecting to a non-secure server or cluster. | -| `connectionName` | Any string | None | Connection name | -| `maxDiscoverAttempts` | Number | `10` | Number of attempts to discover the cluster. | -| `discoveryInterval` | Number | `100` | Cluster discovery polling interval in milliseconds. | -| `gossipTimeout` | Number | `5` | Gossip timeout in seconds, when the gossip call times out, it will be retried. | -| `nodePreference` | `leader`, `follower`, `random`, `readOnlyReplica` | `leader` | Preferred node role. When creating a client for write operations, always use `leader`. | -| `tlsVerifyCert` | `true`, `false` | `true` | In secure mode, set to `true` when using an untrusted connection to the node if you don't have the CA file available. Don't use in production. | -| `tlsCaFile` | String, file path | None | Path to the CA file when connecting to a secure cluster with a certificate that's not signed by a trusted CA. | -| `defaultDeadline` | Number | None | Default timeout for client operations, in milliseconds. Most clients allow overriding the deadline per operation. | -| `keepAliveInterval` | Number | `10` | Interval between keep-alive ping calls, in seconds. | -| `keepAliveTimeout` | Number | `10` | Keep-alive ping call timeout, in seconds. | -| `userCertFile` | String, file path | None | User certificate file for X.509 authentication. | -| `userKeyFile` | String, file path | None | Key file for the user certificate used for X.509 authentication. | - -When connecting to an insecure instance, specify `tls=false` parameter. For example, for a node running locally use `kurrentdb://localhost:2113?tls=false`. Note that usernames and passwords aren't provided there because insecure deployments don't support authentication and authorisation. - -### Creating a client - -First, create a client and get it connected to the database. - -@[code{createClient}](@grpc:quickstart.rs) - -The client instance can be used as a singleton across the whole application. It doesn't need to open or close the connection. - -### Creating an event - -You can write anything to KurrentDB as events. The client needs a byte array as the event payload. Normally, you'd use a serialized object, and it's up to you to choose the serialization method. - -::: tip Server-side projections -User-defined server-side projections require events to be serialized in JSON format. - -We use JSON for serialization in the documentation examples. -::: - -The code snippet below creates an event object instance, serializes it, and adds it as a payload to the `EventData` structure, which the client can then write to the database. - -@[code{createEvent}](@grpc:quickstart.rs) - -### Appending events - -Each event in the database has its own unique identifier (UUID). The database uses it to ensure idempotent writes, but it only works if you specify the stream revision when appending events to the stream. - -In the snippet below, we append the event to the stream `some-stream`. - -@[code{appendEvents}](@grpc:quickstart.rs) - -Here we are appending events without checking if the stream exists or if the stream version matches the expected event version. See more advanced scenarios in [appending events documentation](./appending-events.md). - -### Reading events - -Finally, we can read events back from the `some-stream` stream. - -@[code{readStream}](@grpc:quickstart.rs) - -When you read events from the stream, you get a collection of `ResolvedEvent` structures. The event payload is returned as a byte array and needs to be deserialized. See more advanced scenarios in [reading events documentation](./reading-events.md). - diff --git a/docs/clients/grpc/rust/persistent-subscriptions.md b/docs/clients/grpc/rust/persistent-subscriptions.md deleted file mode 100644 index c3a7c4433..000000000 --- a/docs/clients/grpc/rust/persistent-subscriptions.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -order: 5 -head: - - - title - - {} - - Persistent Subscriptions | Rust | Clients | Kurrent Docs ---- - -# Persistent Subscriptions - -Persistent subscriptions are similar to catch-up subscriptions, but there are two key differences: -- The subscription checkpoint is maintained by the server. It means that when your client reconnects to the persistent subscription, it will automatically resume from the last known position. -- It's possible to connect more than one event consumer to the same persistent subscription. In that case, the server will load-balance the consumers, depending on the defined strategy, and distribute the events to them. - -Because of those, persistent subscriptions are defined as subscription groups that are defined and maintained by the server. Consumer then connect to a particular subscription group, and the server starts sending event to the consumer. - -You can read more about persistent subscriptions in the [server documentation](@server/features/persistent-subscriptions.md). - -## Creating a subscription group - -The first step of dealing with a persistent subscription is to create a subscription group. You will receive an error if you attempt to create a subscription group multiple times. You must have admin permissions to create a persistent subscription group. - -### Subscribing to one stream - -The following sample shows how to create a subscription group for a persistent subscription where you want to receive events from a specific stream. It could be a normal stream, or a stream of links (like `$ce` category stream). - -@[code{create-persistent-subscription-to-stream}](@grpc:persistent_subscriptions.rs) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to create. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -### Subscribing to $all - -The ability to subscribe to `$all` was introduced in EventStoreDB **21.10**. Persistent subscriptions to `$all` also support [filtering](subscriptions.md#server-side-filtering). - -You can create a subscription group on $all much the same way you would create a subscription group on a stream: - -@[code{create-persistent-subscription-to-all}](@grpc:persistent_subscriptions.rs) - -## Connecting a consumer - -Once you have created a subscription group, clients can connect to it. A subscription in your application should only have the connection in your code, you should assume that the subscription already exists. - -The most important parameter to pass when connecting is the buffer size. This represents how many outstanding messages the server should allow this client. If this number is too small, your subscription will spend much of its time idle as it waits for an acknowledgment to come back from the client. If it's too big, you waste resources and can start causing time out messages depending on the speed of your processing. - -### Connecting to one stream - -The code below shows how to connect to an existing subscription group for a specific stream: - -@[code{subscribe-to-persistent-subscription-to-stream}](@grpc:persistent_subscriptions.rs) - -| Parameter | Description | -|:----------------------|:---------------------------------------------------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to subscribe to. | -| `eventAppeared` | The action to call when an event arrives over the subscription. | -| `subscriptionDropped` | The action to call if the subscription is dropped. | -| `credentials` | The user credentials to use for this operation. | -| `bufferSize` | The number of in-flight messages this client is allowed. **Default: 10** | -| `autoAck` | Whether to automatically acknowledge messages after eventAppeared returns. **Default: true** | - -::: warning -The `autoAck` parameter will be deprecated in the next client release. You'll need to explicitly [manage acknowledgements](#acknowledgements). -::: - -### Connecting to $all - -The code below shows how to connect to an existing subscription group for `$all`: - -@[code{subscribe-to-persistent-subscription-to-all}](@grpc:persistent_subscriptions.rs) - -The `SubscribeToAllAsync` method is identical to the `SubscribeToStreamAsync` method, except that you don't need to specify a stream name. - -## Acknowledgements - -Clients must acknowledge (or not acknowledge) messages in the competing consumer model. - -If processing is successful, you must send an Ack (acknowledge) to the server to let it know that the message has been handled. If processing fails for some reason, then you can Nack (not acknowledge) the message and tell the server how to handle the failure. - -@[code{subscribe-to-persistent-subscription-with-manual-acks}](@grpc:persistent_subscriptions.rs) - -The _Nack event action_ describes what the server should do with the message: - -| Action | Description | -|:----------|:---------------------------------------------------------------------| -| `Unknown` | The client does not know what action to take. Let the server decide. | -| `Park` | Park the message and do not resend. Put it on poison queue. | -| `Retry` | Explicitly retry the message. | -| `Skip` | Skip this message do not resend and do not put in poison queue. | - -## Consumer strategies - -When creating a persistent subscription, you can choose between a number of consumer strategies. - -### RoundRobin (default) - -Distributes events to all clients evenly. If the client `bufferSize` is reached, the client won't receive more events until it acknowledges or not acknowledges events in its buffer. - -This strategy provides equal load balancing between all consumers in the group. - -### DispatchToSingle - -Distributes events to a single client until the `bufferSize` is reached. After that, the next client is selected in a round-robin style, and the process repeats. - -This option can be seen as a fall-back scenario for high availability, when a single consumer processes all the events until it reaches its maximum capacity. When that happens, another consumer takes the load to free up the main consumer resources. - -### Pinned - -For use with an indexing projection such as the system `$by_category` projection. - -KurrentDB inspects the event for its source stream id, hashing the id to one of 1024 buckets assigned to individual clients. When a client disconnects, its buckets are assigned to other clients. When a client connects, it is assigned some existing buckets. This naively attempts to maintain a balanced workload. - -The main aim of this strategy is to decrease the likelihood of concurrency and ordering issues while maintaining load balancing. This is **not a guarantee**, and you should handle the usual ordering and concurrency issues. - -## Updating a subscription group - -You can edit the settings of an existing subscription group while it is running, you don't need to delete and recreate it to change settings. When you update the subscription group, it resets itself internally, dropping the connections and having them reconnect. You must have admin permissions to update a persistent subscription group. - -@[code{update-persistent-subscription}](@grpc:persistent_subscriptions.rs) - -| Parameter | Description | -|:--------------|:----------------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to update. | -| `settings` | The settings to use when creating the subscription. | -| `credentials` | The user credentials to use for this operation. | - -## Persistent subscription settings - -Both the `Create` and `Update` methods take some settings for configuring the persistent subscription. - -The following table shows the configuration options you can set on a persistent subscription. - -| Option | Description | Default | -|:------------------------|:----------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------| -| `ResolveLinkTos` | Whether the subscription should resolve link events to their linked events. | `false` | -| `StartFrom` | The exclusive position in the stream or transaction file the subscription should start from. | `null` (start from the end of the stream) | -| `ExtraStatistics` | Whether to track latency statistics on this subscription. | `false` | -| `MessageTimeout` | The amount of time after which to consider a message as timed out and retried. | `30` (seconds) | -| `MaxRetryCount` | The maximum number of retries (due to timeout) before a message is considered to be parked. | `10` | -| `LiveBufferSize` | The size of the buffer (in-memory) listening to live messages as they happen before paging occurs. | `500` | -| `ReadBatchSize` | The number of events read at a time when paging through history. | `20` | -| `HistoryBufferSize` | The number of events to cache when paging through history. | `500` | -| `CheckPointAfter` | The amount of time to try to checkpoint after. | `2` seconds | -| `MinCheckPointCount` | The minimum number of messages to process before a checkpoint may be written. | `10` | -| `MaxCheckPointCount` | The maximum number of messages not checkpointed before forcing a checkpoint. | `1000` | -| `MaxSubscriberCount` | The maximum number of subscribers allowed. | `0` (unbounded) | -| `NamedConsumerStrategy` | The strategy to use for distributing events to client consumers. See the [consumer strategies](#consumer-strategies) in this doc. | `RoundRobin` | - -## Deleting a subscription group - -Remove a subscription group with the delete operation. Like the creation of groups, you rarely do this in your runtime code and is undertaken by an administrator running a script. - -@[code{delete-persistent-subscription}](@grpc:persistent_subscriptions.rs) - -| Parameter | Description | -|:--------------|:-----------------------------------------------| -| `stream` | The stream the persistent subscription is on. | -| `groupName` | The name of the subscription group to delete. | -| `credentials` | The user credentials to use for this operation | diff --git a/docs/clients/grpc/rust/reading-events.md b/docs/clients/grpc/rust/reading-events.md deleted file mode 100644 index 43e068511..000000000 --- a/docs/clients/grpc/rust/reading-events.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -order: 3 -head: - - - title - - {} - - Reading Events | Rust | Clients | Kurrent Docs ---- - -# Reading Events - -There are two options for reading events from KurrentDB. You can either: - 1. Read from an individual stream, or - 2. Read from the `$all` stream, which will return all events in the store. - -Each event in KurrentDB belongs to an individual stream. When reading events, pick the name of the stream from which you want to read the events and choose whether to read the stream forwards or backwards. - -All events have a `StreamPosition` and a `Position`. `StreamPosition` is a *big int* (unsigned 64-bit integer) and represents the place of the event in the stream. `Position` is the event's logical position, and is represented by `CommitPosition` and a `PreparePosition`. Note that when reading events you will supply a different "position" depending on whether you are reading from an individual stream or the `$all` stream. - -:::tip -Check [connecting to KurrentDB instructions](getting-started.md#required-packages) to learn how to configure and use the client SDK. -::: - -## Reading from a stream - -You can read all the events or a sample of the events from individual streams, starting from any position in the stream, and can read either forward or backward. It is only possible to read events from a single stream at a time. You can read events from the global event log, which spans across streams. Learn more about this process in the [Read from `$all`](#reading-from-the-all-stream) section below. - -### Reading forwards - -The simplest way to read a stream forwards is to supply a stream name, read direction, and revision from which to start. The revision can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-stream}](@grpc:reading_events.rs) - -This will return an enumerable that can be iterated on: - -@[code{iterate-stream}](@grpc:reading_events.rs) - -There are a number of additional arguments you can provide when reading a stream, listed below. - -#### maxCount - -Passing in the max count will limit the number of events returned. - -#### resolveLinkTos - -When using projections to create new events, you can set whether the generated events are pointers to existing events. Setting this value to `true` tells KurrentDB to return the event as well as the event linking to it. - -#### configureOperationOptions - -You can use the `configureOperationOptions` argument to provide a function that will customise settings for each operation. - -#### userCredentials - -The `userCredentials` argument is optional. It is used to override the default credentials specified when creating the client instance. - -@[code{overriding-user-credentials}](@grpc:reading_events.rs) - -### Reading from a revision - -Instead of providing the `StreamPosition` you can also provide a specific stream revision as a *big int* (unsigned 64-bit integer). - -@[code{read-from-stream-position}](@grpc:reading_events.rs) - -### Reading backwards - -In addition to reading a stream forwards, streams can be read backwards. To read all the events backwards, set the *stream position* to the end: - -@[code{reading-backwards}](@grpc:reading_events.rs) - -:::tip -Read one event backwards to find the last position in the stream. -::: - -### Checking if the stream exists - -Reading a stream returns a `ReadStreamResult`, which contains a property `ReadState`. This property can have the value `StreamNotFound` or `Ok`. - -It is important to check the value of this field before attempting to iterate an empty stream, as it will throw an exception. - -For example: - -@[code{checking-for-stream-presence}](@grpc:reading_events.rs) - -## Reading from the $all stream - -Reading from the `$all` stream is similar to reading from an individual stream, but please note there are differences. One significant difference is the need to provide admin user account credentials to read from the `$all` stream. Additionally, you need to provide a transaction log position instead of a stream revision when reading from the `$all` stream. - -### Reading forwards - -The simplest way to read the `$all` stream forwards is to supply a read direction and the transaction log position from which you want to start. The transaction log postion can either be a *stream position* `Start` or a *big int* (unsigned 64-bit integer): - -@[code{read-from-all-stream}](@grpc:reading_events.rs) - -You can iterate asynchronously through the result: - -@[code{read-from-all-stream-iterate}](@grpc:reading_events.rs) - -There are a number of additional arguments you can provide when reading the `$all` stream. - -#### maxCount - -Passing in the max count allows you to limit the number of events that returned. - -#### resolveLinkTos - -When using projections to create new events you can set whether the generated events are pointers to existing events. Setting this value to true will tell KurrentDB to return the event as well as the event linking to it. - -@[code{read-from-all-stream-resolving-link-Tos}](@grpc:reading_events.rs) - -#### configureOperationOptions - -This argument is generic setting class for all operations that can be set on all operations executed against KurrentDB. - -#### userCredentials -The credentials used to read the data can be used by the subscription as follows. This will override the default credentials set on the connection. - -@[code{read-all-overriding-user-credentials}](@grpc:reading_events.rs) - -### Reading backwards - -In addition to reading the `$all` stream forwards, it can be read backwards. To read all the events backwards, set the *position* to the end: - -@[code{read-from-all-stream-backwards}](@grpc:reading_events.rs) - -:::tip -Read one event backwards to find the last position in the `$all` stream. -::: - -### Handling system events - -KurrentDB will also return system events when reading from the `$all` stream. In most cases you can ignore these events. - -All system events begin with `$` or `$$` and can be easily ignored by checking the `EventType` property. - -@[code{ignore-system-events}](@grpc:reading_events.rs) - diff --git a/docs/clients/grpc/rust/release-notes.md b/docs/clients/grpc/rust/release-notes.md deleted file mode 100644 index 30af1d3ab..000000000 --- a/docs/clients/grpc/rust/release-notes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -order: 10 -head: - - - title - - {} - - Release Notes | Rust | Clients | Kurrent Docs ---- - -# Release Notes - -To stay up to date with the latest changes and improvements, including release history, changelogs, upgrade instructions, and migration guides, see the [KurrentDB Rust client release notes](https://github.com/kurrent-io/KurrentDB-Client-Rust/releases). diff --git a/docs/clients/grpc/rust/subscriptions.md b/docs/clients/grpc/rust/subscriptions.md deleted file mode 100644 index b0bec8552..000000000 --- a/docs/clients/grpc/rust/subscriptions.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -order: 4 -head: - - - title - - {} - - Catch-up Subscriptions | Rust | Clients | Kurrent Docs ---- - -# Catch-up Subscriptions - -Subscriptions allow you to subscribe to a stream and receive notifications about new events added to the stream. - -You provide an event handler and an optional starting point to the subscription. The handler is called for each event from the starting point onward. - -If events already exist, the handler will be called for each event one by one until it reaches the end of the stream. The server will then notify the handler whenever a new event appears. - -:::tip -Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK. -::: - -## Subscribing from the start - -If you need to process all the events in the store, including historical events, you'll need to subscribe from the beginning. You can either subscribe to receive events from a single stream or subscribe to `$all` if you need to process all events in the database. - -### Subscribing to a stream - -The simplest stream subscription looks like the following : - -@[code{subscribe-to-stream}](@grpc:subscribing_to_stream.rs) - -The provided handler will be called for every event in the stream. - -When you subscribe to a stream with link events, for example the `$ce` category stream, you need to set `resolveLinkTos` to `true`. Read more about it [below](#resolving-link-to-s). - -### Subscribing to `$all` - -Subscribing to `$all` is similar to subscribing to a single stream. The handler will be called for every event appended after the starting position. - -@[code{subscribe-to-all}](@grpc:subscribing_to_stream.rs) - -## Subscribing from a specific position - -The previous examples subscribed to the stream from the beginning. That subscription invoked the handler for every event in the stream before waiting for new events. - -Both stream and $all subscriptions accept a starting position if you want to read from a specific point onward. If events already exist at the position you subscribe to, they will be read on the server side and sent to the subscription. - -Once caught up, the server will push any new events received on the streams to the client. There is no difference between catching up and live on the client side. - -::: warning -The positions provided to the subscriptions are exclusive. You will only receive the next event after the subscribed position. -::: - -### Subscribing to a stream - -To subscribe to a stream from a specific position, you must provide a *stream position*. This can be `Start`, `End` or a *big int* (unsigned 64 bit integer) position. - -The following subscribes to the stream `some-stream` at position `20`, this means that events `21` and onward will be handled: - -@[code{subscribe-to-stream-from-position}](@grpc:subscribing_to_stream.rs) - -### Subscribing to $all - -Subscribing to the `$all` stream is similar to subscribing to a regular stream. The difference is how to specify the starting position. For the `$all` stream, provide a `Position` structure that consists of two big integers: the prepare and commit positions. Use `Start`, `End`, or create a `Position` from specific commit and prepare values. - -The corresponding `$all` subscription will subscribe from the event after the one at commit position `1056` and prepare position `1056`. - -Please note that this position will need to be a legitimate position in `$all`. - -@[code{subscribe-to-all-from-position}](@grpc:subscribing_to_stream.rs) - -## Subscribing to a stream for live updates - -You can subscribe to a stream to get live updates by subscribing to the end of the stream: - -@[code{subscribe-to-stream-live}](@grpc:subscribing_to_stream.rs) - -And the same works with `$all` : - -@[code{subscribe-to-all-live}](@grpc:subscribing_to_stream.rs) - -This will not read through the history of the stream but will notify the handler when a new event appears in the respective stream. - -Keep in mind that when you subscribe to a stream from a specific position, as described [above](#subscribing-from-a-specific-position), you will also get live updates after your subscription catches up (processes all the historical events). - -## Resolving link-to events - -Link-to events point to events in other streams in KurrentDB. These are generally created by projections such as the `$by_event_type` projection which links events of the same event type into the same stream. This makes it easier to look up all events of a specific type. - -::: tip -[Filtered subscriptions](subscriptions.md#server-side-filtering) make it easier and faster to subscribe to all events of a specific type or matching a prefix. -::: - -When reading a stream you can specify whether to resolve link-to's. By default, link-to events are not resolved. You can change this behaviour by setting the `resolveLinkTos` parameter to `true`: - -@[code{subscribe-to-stream-resolving-linktos}](@grpc:subscribing_to_stream.rs) - -## Dropped subscriptions - -When a subscription stops or experiences an error, it will be dropped. The subscription provides a `subscriptionDropped` callback, which will get called when the subscription breaks. - -The `subscriptionDropped` callback allows you to inspect the reason why the subscription dropped, as well as any exceptions that occurred. - -The possible reasons for a subscription to drop are: - -| Reason | Why it might happen | -|:------------------|:---------------------------------------------------------------------------------------------------------------------| -| `Disposed` | The client canceled or disposed of the subscription. | -| `SubscriberError` | An error occurred while handling an event in the subscription handler. | -| `ServerError` | An error occurred on the server, and the server closed the subscription. Check the server logs for more information. | - -Bear in mind that a subscription can also drop because it is slow. The server tried to push all the live events to the subscription when it is in the live processing mode. If the subscription gets the reading buffer overflow and won't be able to acknowledge the buffer, it will break. - -### Handling subscription drops - -An application, which hosts the subscription, can go offline for some time for different reasons. It could be a crash, infrastructure failure, or a new version deployment. As you rarely would want to reprocess all the events again, you'd need to store the current position of the subscription somewhere, and then use it to restore the subscription from the point where it dropped off: - -@[code{subscribe-to-stream-subscription-dropped}](@grpc:subscribing_to_stream.rs) - -When subscribed to `$all` you want to keep the event's position in the `$all` stream. As mentioned previously, the `$all` stream position consists of two big integers (prepare and commit positions), not one: - -@[code{subscribe-to-all-subscription-dropped}](@grpc:subscribing_to_stream.rs) - -## User credentials - -The user creating a subscription must have read access to the stream it's subscribing to, and only admin users may subscribe to `$all` or create filtered subscriptions. - -The code below shows how you can provide user credentials for a subscription. When you specify subscription credentials explicitly, it will override the default credentials set for the client. If you don't specify any credentials, the client will use the credentials specified for the client, if you specified those. - -@[code{overriding-user-credentials}](@grpc:subscribing_to_stream.rs) - -## Server-side filtering - -KurrentDB allows you to filter the events whilst subscribing to the `$all` stream to only receive the events you care about. - -You can filter by event type or stream name using a regular expression or a prefix. Server-side filtering is currently only available on the `$all` stream. - -::: tip -Server-side filtering was introduced as a simpler alternative to projections. You should consider filtering before creating a projection to include the events you care about. -::: - -A simple stream prefix filter looks like this: - -@[code{stream-prefix-filtered-subscription}](@grpc:subscribing_to_stream.rs) - -The filtering API is described more in-depth in the [filtering section](subscriptions.md#server-side-filtering). - -### Filtering out system events - -There are events in KurrentDB called system events. These are prefixed with a `$` and under most circumstances you won't care about these. They can be filtered out by passing in a `SubscriptionFilterOptions` when subscribing to the `$all` stream. - -@[code{exclude-system}](@grpc:server_side_filtering.rs) - -::: tip -`$stats` events are no longer stored in KurrentDB by default so there won't be as many `$` events as before. -::: - -### Filtering by event type - -If you only want to subscribe to events of a given type, there are two options. You can either use a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `EventTypeFilter.Prefix`. - -@[code{event-type-prefix}](@grpc:server_side_filtering.rs) - -This will only subscribe to events with a type that begin with `customer-`. - -#### Filtering by regular expression - -It might be advantageous to provide a regular expression when you want to subscribe to multiple event types. - -@[code{event-type-regex}](@grpc:server_side_filtering.rs) - -This will subscribe to any event that begins with `user` or `company`. - -### Filtering by stream name - -To subscribe to a stream by name, choose either a regular expression or a prefix. - -#### Filtering by prefix - -If you want to filter by prefix, pass in a `SubscriptionFilterOptions` to the subscription with an `StreamFilter.Prefix`. - -@[code{stream-prefix}](@grpc:server_side_filtering.rs) - -This will only subscribe to all streams with a name that begins with `user-`. - -#### Filtering by regular expression - -To subscribe to multiple streams, use a regular expression. - -@[code{stream-regex}](@grpc:server_side_filtering.rs) - -This will subscribe to any stream with a name that begins with `account` or `savings`. - -## Checkpointing - -When a catch-up subscription is used to process an `$all` stream containing many events, the last thing you want is for your application to crash midway, forcing you to restart from the beginning. - -### What is a checkpoint? - -A checkpoint is the position of an event in the `$all` stream to which your application has processed. By saving this position to a persistent store (e.g., a database), it allows your catch-up subscription to: -- Recover from crashes by reading the checkpoint and resuming from that position -- Avoid reprocessing all events from the start - -To create a checkpoint, store the event's commit or prepare position. - -::: warning -If your database contains events created by the legacy TCP client using the [transaction feature](https://docs.kurrent.io/clients/tcp/dotnet/21.2/appending.html#transactions), you should store both the commit and prepare positions together as your checkpoint. -::: - -### Updating checkpoints at regular intervals -The client SDK provides a way to notify your application after processing a configurable number of events. This allows you to periodically save a checkpoint at regular intervals. - -@[code{checkpoint}](@grpc:server_side_filtering.rs) - -By default, the checkpoint notification is sent after every 32 non-system events processed from $all. - -### Configuring the checkpoint interval -You can adjust the checkpoint interval to change how often the client is notified. - -@[code{checkpoint-with-interval}](@grpc:server_side_filtering.rs) - -By configuring this parameter, you can balance between reducing checkpoint overhead and ensuring quick recovery in case of a failure. - -::: info -The checkpoint interval parameter configures the database to notify the client after `n` * 32 number of events where `n` is defined by the parameter. - -For example: -- If `n` = 1, a checkpoint notification is sent every 32 events. -- If `n` = 2, the notification is sent every 64 events. -- If `n` = 3, it is sent every 96 events, and so on. -::: diff --git a/import/repos.json b/import/repos.json index 9f57b1638..a3a335cfb 100644 --- a/import/repos.json +++ b/import/repos.json @@ -122,82 +122,104 @@ { "id": "java-client", "group": "Java SDK", - "basePath": "clients/java", - "samplesRelativePath": [ - "src", - "test", - "java", - "io", - "kurrent", - "dbclient", - "samples" - ], + "basePath": "clients/grpc/java", + "docsRelativePath": [ "docs", "api" ], + "samplesRelativePath": ["samples"], + "currentBranch": "trunk", "repo": "https://github.com/kurrent-io/KurrentDB-Client-Java", "branches": [ { - "version": "5.4.5", - "name": "trunk" + "version": "v1.0", + "name": "release/v1.0", + "startPage": "getting-started.html" + }, + { + "version": "Legacy v5.4", + "name": "release/legacy/v5.4", + "deprecated": true, + "startPage": "getting-started.html" } ] }, { "id": "rust-client", "group": "Rust SDK", - "basePath": "clients/rust", + "basePath": "clients/grpc/rust", + "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["examples"], + "currentBranch": "master", "repo": "https://github.com/kurrent-io/KurrentDB-Client-Rust", "branches": [ { - "version": "4.0.1", - "name": "master" + "version": "v1.0", + "name": "release/v1.0", + "startPage": "getting-started.html" + }, + { + "version": "Legacy v4.0", + "name": "release/legacy/v4.0", + "deprecated": true, + "startPage": "getting-started.html" } ] }, { "id": "node-client", - "group": "NodeJS SDK", - "basePath": "clients/node", - "samplesRelativePath": [ - "packages", - "test", - "src", - "samples" - ], + "group": "Node SDK", + "basePath": "clients/grpc/node", + "docsRelativePath": [ "docs", "api" ], + "samplesRelativePath": ["samples"], + "currentBranch": "master", "repo": "https://github.com/kurrent-io/KurrentDB-Client-NodeJS", "branches": [ { - "version": "6.2.1", - "name": "master" + "version": "v1.0", + "name": "release/v1.0", + "startPage": "getting-started.html" + }, + { + "version": "Legacy v6.2", + "name": "release/legacy/v6.2", + "deprecated": true, + "startPage": "getting-started.html" } - ], - "samplesPostprocess": [ - "pnpm babel --presets @babel/preset-typescript --retain-lines --out-dir --extensions .ts", - "pnpm prettier --write /*.js" ] }, { "id": "go-client", "group": "Go SDK", - "basePath": "clients/go", + "basePath": "clients/grpc/go", + "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], + "currentBranch": "main", "repo": "https://github.com/kurrent-io/KurrentDB-Client-Go", "branches": [ { - "version": "1.0.0", - "name": "main" + "version": "v1.0", + "name": "release/v1.0", + "startPage": "getting-started.html" + }, + { + "version": "Legacy v4.2", + "name": "release/legacy/v4.2", + "deprecated": true, + "startPage": "getting-started.html" } ] }, { "id": "python-client", "group": "Python SDK", - "basePath": "clients/python", + "basePath": "clients/grpc/python", + "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], + "currentBranch": "main", "repo": "https://github.com/pyeventsourcing/kurrentdbclient", "branches": [ { - "version": "1.0.17", - "name": "1.0" + "version": "v1.0", + "name": "docs/v1.0", + "startPage": "getting-started.html" } ] } From efed46416f299967dea6f7ae164bc0db222c32d8 Mon Sep 17 00:00:00 2001 From: William Chong Date: Thu, 24 Jul 2025 16:20:50 +0400 Subject: [PATCH 12/36] Trigger cloudflare --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 23fa076cd..2e448e864 100644 --- a/.gitignore +++ b/.gitignore @@ -347,4 +347,4 @@ docs/.vuepress/dist/ config.ts.*.mjs -docs/clients/grpc/**/* \ No newline at end of file +docs/clients/grpc/**/* From c22db4d7d435a4deb779e39653e00fbd940b74c1 Mon Sep 17 00:00:00 2001 From: William Chong Date: Thu, 24 Jul 2025 16:58:05 +0400 Subject: [PATCH 13/36] Remove commented code --- docs/.vuepress/public/_redirects | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docs/.vuepress/public/_redirects b/docs/.vuepress/public/_redirects index 102b2545c..9e7469445 100644 --- a/docs/.vuepress/public/_redirects +++ b/docs/.vuepress/public/_redirects @@ -53,13 +53,6 @@ /clients/http-api/generated/v5/docs/introduction/reading-streams.html /http-api/v5/#reading-streams-and-events 301 /clients/http-api/generated/v5/docs/introduction/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 -; /clients/grpc/python /clients/grpc/python/getting-started.html 301 -; /clients/grpc/rust /clients/grpc/rust/getting-started.html 301 -; /clients/grpc/node /clients/grpc/node/getting-started.html 301 -; /clients/grpc/java /clients/grpc/java/getting-started.html 301 -; /clients/grpc/dotnet /clients/grpc/dotnet/getting-started.html 301 -; /clients/grpc/go /clients/grpc/go/getting-started.html 301 - /server/generated/v5/http-api/persistent-subscriptions.html /http-api/v5/persistent.html 301 /server/generated/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 /server/v5/samples/http-api/event.json /http-api/v5/api.html 301 From 1525e9aa0949286e7ecc7582e6e6cd01f17c267b Mon Sep 17 00:00:00 2001 From: Alexey Zimarev Date: Mon, 23 Jun 2025 21:40:38 +0200 Subject: [PATCH 14/36] Version dropdown --- docs/.vuepress/client.ts | 36 ++-- docs/.vuepress/components/KapaWidget.vue | 1 - docs/.vuepress/components/TocWithFeedback.ts | 4 +- docs/.vuepress/components/Version.vue | 44 ---- docs/.vuepress/components/VersionDropdown.vue | 200 ++++++++++++++++++ docs/.vuepress/components/VersionItem.vue | 70 ++++++ docs/.vuepress/components/VersionSection.vue | 77 +++++++ docs/.vuepress/components/VersionText.vue | 19 ++ docs/.vuepress/config.ts | 19 +- docs/.vuepress/configs/sidebar.ts | 82 ++++--- docs/.vuepress/layouts/SidebarLayout.vue | 61 ++++++ docs/.vuepress/lib/versioning.ts | 102 +++++---- docs/.vuepress/modules.d.ts | 1 + docs/.vuepress/styles/palette.scss | 6 + import/import-client-docs.cjs | 3 +- import/repos.json | 11 +- package.json | 25 +-- 17 files changed, 586 insertions(+), 175 deletions(-) delete mode 100644 docs/.vuepress/components/Version.vue create mode 100644 docs/.vuepress/components/VersionDropdown.vue create mode 100644 docs/.vuepress/components/VersionItem.vue create mode 100644 docs/.vuepress/components/VersionSection.vue create mode 100644 docs/.vuepress/components/VersionText.vue create mode 100644 docs/.vuepress/layouts/SidebarLayout.vue create mode 100644 docs/.vuepress/modules.d.ts diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 444af26a0..9115bd34d 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -6,6 +6,7 @@ import CloudBanner from "./components/CloudBanner.vue"; import KapaWidget from './components/KapaWidget.vue'; import UserFeedback from './components/TocWithFeedback'; import {usePostHog} from "./lib/usePosthog"; +import SidebarLayout from "./layouts/SidebarLayout.vue"; declare const __VERSIONS__: { latest: string, @@ -46,14 +47,14 @@ const findEsMeta = (route) => { } } -interface ClientConfig { - enhance?: (context: { - app: any; - router: Router; - siteData: any; - }) => void | Promise; - setup?: () => void; -} +// interface ClientConfig { +// enhance?: (context: { +// app: any; +// router: Router; +// siteData: any; +// }) => void | Promise; +// setup?: () => void; +// } const removeHtml = (path: string) => path.replace(".html", ""); @@ -71,9 +72,12 @@ const leave = (to: RouteLocationNormalized, from: RouteLocationNormalized) => { } } -const { posthog } = usePostHog(); +const {posthog} = usePostHog(); export default defineClientConfig({ + layouts: { + Layout: SidebarLayout + }, enhance({app, router, _}) { app.component("CloudBanner", CloudBanner); app.component("KapaWidget", KapaWidget); @@ -100,11 +104,11 @@ export default defineClientConfig({ router.afterEach(() => { setTimeout(() => { // to ensure this runs after DOM updates try { - const {code} = JSON.parse(localStorage.getItem('VUEPRESS_TAB_STORE')); + const {code} = JSON.parse(localStorage.getItem('VUEPRESS_TAB_STORE')!); if (code) { // If a valid 'code' is found in localStorage Array.from(document.querySelectorAll('.vp-tab-nav')) .forEach((button: HTMLButtonElement) => { - if (button.textContent.trim() === code) { + if (button.textContent!.trim() === code) { button.click(); // click the button to switch the tab } }); @@ -170,13 +174,13 @@ export default defineClientConfig({ }); }, 1000); } - + // Check for 404 page after navigation completes setTimeout(() => { // Check for the specific elements with classes error-code and error-hint const errorCodeElement = document.querySelector('p.error-code'); const errorHintElement = document.querySelector('p.error-hint'); - + // If both elements exist, we're on a 404 page if (errorCodeElement && errorHintElement) { // Capture the 404 event in PostHog @@ -189,15 +193,15 @@ export default defineClientConfig({ }); } } - }, 50); + }, 50); }); router.beforeEach((to, from) => leave(to, from)); }, setup() { onMounted(() => { const route = useRoute(); - if (route.path !== "/"); + if (route.path !== "/") ; }); }, -} satisfies ClientConfig); \ No newline at end of file +}); \ No newline at end of file diff --git a/docs/.vuepress/components/KapaWidget.vue b/docs/.vuepress/components/KapaWidget.vue index 1a2cc9aee..542881129 100644 --- a/docs/.vuepress/components/KapaWidget.vue +++ b/docs/.vuepress/components/KapaWidget.vue @@ -1,7 +1,6 @@ diff --git a/docs/.vuepress/components/TocWithFeedback.ts b/docs/.vuepress/components/TocWithFeedback.ts index 9f095c6a8..ec342c8fe 100644 --- a/docs/.vuepress/components/TocWithFeedback.ts +++ b/docs/.vuepress/components/TocWithFeedback.ts @@ -20,8 +20,8 @@ import { usePageFrontmatter, useRoute, } from "vuepress/client"; -import PrintButton from "vuepress-theme-hope/modules/info/components/PrintButton"; -import { useMetaLocale } from "vuepress-theme-hope/modules/info/composables/index"; +import PrintButton from "vuepress-theme-hope/components/base/PrintButton"; +import { useMetaLocale } from "vuepress-theme-hope/composables/info/index"; import "../styles/toc.scss"; diff --git a/docs/.vuepress/components/Version.vue b/docs/.vuepress/components/Version.vue deleted file mode 100644 index 55feabbd7..000000000 --- a/docs/.vuepress/components/Version.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - \ No newline at end of file diff --git a/docs/.vuepress/components/VersionDropdown.vue b/docs/.vuepress/components/VersionDropdown.vue new file mode 100644 index 000000000..0281a1164 --- /dev/null +++ b/docs/.vuepress/components/VersionDropdown.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/docs/.vuepress/components/VersionItem.vue b/docs/.vuepress/components/VersionItem.vue new file mode 100644 index 000000000..8f294f864 --- /dev/null +++ b/docs/.vuepress/components/VersionItem.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/docs/.vuepress/components/VersionSection.vue b/docs/.vuepress/components/VersionSection.vue new file mode 100644 index 000000000..dae3ff2d0 --- /dev/null +++ b/docs/.vuepress/components/VersionSection.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/docs/.vuepress/components/VersionText.vue b/docs/.vuepress/components/VersionText.vue new file mode 100644 index 000000000..c8dfad60f --- /dev/null +++ b/docs/.vuepress/components/VersionText.vue @@ -0,0 +1,19 @@ + + + \ No newline at end of file diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index 8d0ed5b94..42123793e 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -1,10 +1,11 @@ +/* eslint-disable import/no-named-as-default */ + import {dl} from "@mdit/plugin-dl"; import viteBundler from "@vuepress/bundler-vite"; -import dotenv from 'dotenv'; +import dotenv from "dotenv" import vueDevTools from 'vite-plugin-vue-devtools' import {defineUserConfig} from "vuepress"; import {path} from 'vuepress/utils'; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment import {hopeTheme} from "vuepress-theme-hope"; import {themeOptions} from "./configs/theme"; import {projectionSamplesPath, resolveMultiSamplesPath} from "./lib/samples"; @@ -13,7 +14,6 @@ import {linkCheckPlugin} from "./markdown/linkCheck"; import {replaceLinkPlugin} from "./markdown/replaceLink"; import {importCodePlugin} from "./markdown/xode/importCodePlugin"; - dotenv.config({path: path.join(__dirname, '..', '..', '.algolia', '.env')}); // noinspection JSUnusedGlobalSymbols @@ -30,10 +30,22 @@ export default defineUserConfig({ all: ver.all }, }, + extendsPage: (page) => { + page.data.versions = { + latest: ver.latest, + all: ver.all + } + }, markdown: { importCode: false, headers: {level: [2, 3]}, }, + pagePatterns: [ + '**/*.md', + '!**/v*/README.md', + '!.vuepress', + '!node_modules' + ], extendsMarkdown: md => { md.use(replaceLinkPlugin, { replaceLink: (link: string, _) => link @@ -67,7 +79,6 @@ export default defineUserConfig({ }, theme: hopeTheme(themeOptions,{custom: true}), head: [ - // Business Institution 247, before the user accepts cookie ['script', { type: 'text/javascript', diff --git a/docs/.vuepress/configs/sidebar.ts b/docs/.vuepress/configs/sidebar.ts index 0a11f1b20..e77dc9317 100644 --- a/docs/.vuepress/configs/sidebar.ts +++ b/docs/.vuepress/configs/sidebar.ts @@ -1,49 +1,43 @@ import type {EsSidebarOptions} from "../lib/types"; -import { instance as ver } from "../lib/versioning"; +import {instance as ver} from "../lib/versioning"; export const sidebarEn: EsSidebarOptions = { - "/getting-started/": [ + "/getting-started/": [ + { + text: "Welcome", + link: "/getting-started/introduction.md", + group: "Getting Started", + }, + { + text: "The Kurrent Ecosystem", + link: "/getting-started/kurrent-ecosystem.md", + group: "Getting Started", + }, + { + text: "Why Kurrent?", + link: "/getting-started/kurrent-why.md", + group: "Getting Started", + }, + { + text: "Kurrent Concepts", + link: "/getting-started/concepts.md", + group: "Getting Started", + }, + { + text: "Self-Guided Demo", + link: "/getting-started/quickstart/", + group: "Getting Started", + }, + { + text: "Going Further", + link: "/getting-started/going-further.md", + group: "Getting Started", + }, - { - text: "Welcome", - link: "/getting-started/introduction.md", - group: "Getting Started", - }, - { - text: "The Kurrent Ecosystem", - link: "/getting-started/kurrent-ecosystem.md", - group: "Getting Started", - }, - { - text: "Why Kurrent?", - link: "/getting-started/kurrent-why.md", - group: "Getting Started", - }, - { - text: "Kurrent Concepts", - link: "/getting-started/concepts.md", - group: "Getting Started", - }, - { - text: "Self-Guided Demo", - link: "/getting-started/quickstart/", - group: "Getting Started", - }, - { - text: "Going Further", - link: "/getting-started/going-further.md", - group: "Getting Started", - }, - - ], - "/clients/grpc/dotnet/": "structure", - "/clients/grpc/python/": "structure", - "/clients/grpc/node/": "structure", - "/clients/grpc/java/": "structure", - "/clients/grpc/go/": "structure", - "/clients/grpc/rust/": "structure", - "/cloud/": "structure", - ...ver.getSidebars(), - "/clients/tcp/dotnet/21.2/": "structure", - "/dev-center/":"structure" + ], + "/clients/grpc/": "structure", + "/cloud/": "structure", + ...ver.getSidebars(), + "/clients/tcp/dotnet/21.2/": "structure", + "/dev-center/": "structure" }; diff --git a/docs/.vuepress/layouts/SidebarLayout.vue b/docs/.vuepress/layouts/SidebarLayout.vue new file mode 100644 index 000000000..c3d6baf41 --- /dev/null +++ b/docs/.vuepress/layouts/SidebarLayout.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/docs/.vuepress/lib/versioning.ts b/docs/.vuepress/lib/versioning.ts index 4d0c3b2a8..f25e3c84d 100644 --- a/docs/.vuepress/lib/versioning.ts +++ b/docs/.vuepress/lib/versioning.ts @@ -1,48 +1,56 @@ -import * as fs from "fs"; -import {path} from 'vuepress/utils'; -import log from "./log"; -import {createRequire} from 'node:module'; -import references from "../versions.json"; +import * as fs from 'fs' +import { createRequire } from 'node:module' +import { path } from 'vuepress/utils' +import references from '../versions.json' +import log from './log' -interface VersionDetail { - version: string, - path: string, - startPage: string, - preview: boolean, - deprecated: boolean, - hide: boolean +export interface VersionDetail { + version: string; + path: string; + startPage: string; + preview: boolean; + deprecated: boolean; + hide: boolean; + lts: boolean; } -interface Version { - id: string, - group: string, - basePath: string, - versions: VersionDetail[] +export interface Version { + id: string; + group: string; + basePath: string; + versions: VersionDetail[]; } -export class versioning { - versions: Version[] = []; +export interface VersionLink { + text: string; + link: string; +} - constructor() { - const require = createRequire(import.meta.url) - references.forEach(p => { - const fileName = path.resolve(__dirname, p); - if (fs.existsSync(fileName)) { - log.info(`Importing versions from ${fileName}`); - const list: Version[] = require(fileName); - list.forEach(v => { - const existing = this.versions.find(x => x.id === v.id); - if (existing === undefined) { - this.versions.push(v); - } else { - existing.versions.push(...v.versions); - } - }); - } else { - log.info(`File ${fileName} doesn't exist, ignoring`); - } - }); - } +export class Versioning { + readonly versions: Version[] = []; + + constructor() { + const require = createRequire(import.meta.url); + + references.forEach(p => { + const fileName = path.resolve(__dirname, p); + + if (fs.existsSync(fileName)) { + log.info(`Importing versions from ${fileName}`); + const list: Version[] = require(fileName); + + list.forEach(v => { + const existing = this.versions.find(x => x.id === v.id); + if (existing === undefined) + this.versions.push(v); + else + existing.versions.push(...v.versions); + }) + } else { + log.info(`File ${fileName} doesn't exist, ignoring`); + } + }) + } get latestSemver(): string { const serverDocs = this.versions.find(v => v.id === "server"); @@ -62,23 +70,23 @@ export class versioning { return `${serverDocs.basePath}/${releases[0].path}`; } - get all() { - return this.versions + get all(): Version[] { + return this.versions; } // Generate a single object that represents all versions from each sidebar - getSidebars() { + getSidebars(): Record { const r = this.versions.map(v => v.versions.map(x => `/${v.basePath}/${x.path}/`)).flat(); return r.reduce((result, curr) => ({...result, [curr]: "structure"}), {}); } - version(id: string) { + version(id: string): Version | undefined { const ret = this.versions.find(x => x.id === id); if (ret === undefined) log.error(`Version ${id} not defined`); return ret; } - getRecords(id: string, deprecated: boolean) { + getRecords(id: string, deprecated: boolean): VersionDetail[] { const version = this.version(id); if (version === undefined) return []; const filter = deprecated ? (v: VersionDetail) => v.deprecated && !v.hide : (v: VersionDetail) => !v.deprecated; @@ -86,11 +94,11 @@ export class versioning { } // Build dropdown items for each version - linksFor(id: string, deprecated: boolean) { + linksFor(id: string, deprecated: boolean): VersionLink[] { const version = this.version(id); if (version === undefined) return []; - const getLink = (v: VersionDetail) => { + const getLink = (v: VersionDetail): VersionLink => { const path = `${version.basePath}/${v.path}`; const pageUrl = v.startPage ? v.startPage : ""; return {text: v.version, link: `/${path}/${pageUrl}`}; @@ -99,4 +107,4 @@ export class versioning { } } -export const instance: versioning = new versioning(); +export const instance: Versioning = new Versioning(); diff --git a/docs/.vuepress/modules.d.ts b/docs/.vuepress/modules.d.ts new file mode 100644 index 000000000..2b3dac61f --- /dev/null +++ b/docs/.vuepress/modules.d.ts @@ -0,0 +1 @@ +declare module 'dotenv'; \ No newline at end of file diff --git a/docs/.vuepress/styles/palette.scss b/docs/.vuepress/styles/palette.scss index 8201c08b0..d7fb27c98 100644 --- a/docs/.vuepress/styles/palette.scss +++ b/docs/.vuepress/styles/palette.scss @@ -164,6 +164,9 @@ html[data-theme="dark"] { --vp-c-text-mute: white; --border-color:white; --vp-c-gutter:black; + + --dropdown-item-bg-hover: #2c2e35; + --dropdown-item-color: var(--secondary-color); } html[data-theme="light"] { @@ -181,6 +184,9 @@ html[data-theme="light"] { --vp-c-text-mute: black; --border-color:black; --vp-c-gutter:white; + + --dropdown-item-bg-hover: #F3F4F6; + --dropdown-item-color: var(--main-color); } $font-body: 15px; diff --git a/import/import-client-docs.cjs b/import/import-client-docs.cjs index 4b9962b16..33986112c 100644 --- a/import/import-client-docs.cjs +++ b/import/import-client-docs.cjs @@ -42,7 +42,8 @@ async function copyDocsAndSamples(destinationPath, samplesPath, branch, repo) { startPage: branch.startPage, preview: branch.preview, deprecated: branch.deprecated, - hide: branch.hide + hide: branch.hide, + lts: branch.lts, }; if (repo.postprocess) await postprocess(destination, repo.postprocess) diff --git a/import/repos.json b/import/repos.json index a3a335cfb..2ca722860 100644 --- a/import/repos.json +++ b/import/repos.json @@ -18,7 +18,8 @@ "version": "v24.10", "name": "release/v24.10", "relativePath": ["server"], - "startPage": "quick-start/" + "startPage": "quick-start/", + "lts": true }, { "version": "v24.6", @@ -26,19 +27,21 @@ "relativePath": ["server"], "startPage": "quick-start/", "deprecated": true, - "hide": false + "hide": true }, { "version": "v23.10", "name": "release/oss-v23.10", "relativePath": ["server"], - "startPage": "quick-start/" + "startPage": "quick-start/", + "lts": true }, { "version": "v22.10", "name": "release/oss-v22.10", "relativePath": ["server"], - "startPage": "introduction.html" + "startPage": "introduction.html", + "deprecated": true }, { "version": "v5", diff --git a/package.json b/package.json index e8185708c..73b3e7a4e 100644 --- a/package.json +++ b/package.json @@ -33,13 +33,14 @@ "dependencies": { "@rollup/plugin-alias": "^3.1.9", "@segment/analytics-next": "^1.79.0", - "@vuepress/bundler-vite": "2.0.0-rc.20", - "@vuepress/helper": "2.0.0-rc.91", - "@vuepress/plugin-docsearch": "2.0.0-rc.91", - "@vuepress/plugin-notice": "2.0.0-rc.91", - "@vuepress/plugin-seo": "2.0.0-rc.91", - "@vuepress/plugin-sitemap": "2.0.0-rc.91", - "@vuepress/plugin-watermark": "2.0.0-rc.91", + "@vuepress/bundler-vite": "^2.0.0-rc.23", + "@vuepress/helper": "^2.0.0-rc.110", + "@vuepress/plugin-docsearch": "^2.0.0-rc.110", + "@vuepress/plugin-notice": "^2.0.0-rc.110", + "@vuepress/plugin-seo": "^2.0.0-rc.110", + "@vuepress/plugin-sitemap": "^2.0.0-rc.110", + "@vuepress/plugin-watermark": "^2.0.0-rc.110", + "@vuepress/plugin-theme-data": "^2.0.0-rc.109", "@vueuse/core": "^12.8.2", "bowser": "^2.11.0", "dashjs": "^4.7.4", @@ -49,11 +50,11 @@ "posthog-js": "^1.235.0", "sass-loader": "^16.0.5", "uglify-js": "^3.19.3", - "vue": "^3.5.13", - "vue-router": "^4.5.0", - "vuepress": "2.0.0-rc.20", - "vuepress-plugin-md-enhance": "2.0.0-rc.78", - "vuepress-theme-hope": "2.0.0-rc.78" + "vue": "^3.5.17", + "vue-router": "^4.5.1", + "vuepress": "^2.0.0-rc.23", + "vuepress-plugin-md-enhance": "^2.0.0-rc.93", + "vuepress-theme-hope": "^2.0.0-rc.93" }, "scripts": { "preinstall": "npx only-allow pnpm", From b69a6229cf19506e800cdbb8ed25b8701024ac96 Mon Sep 17 00:00:00 2001 From: William Chong Date: Fri, 25 Jul 2025 13:24:50 +0400 Subject: [PATCH 15/36] Fix path segments --- docs/.vuepress/components/VersionDropdown.vue | 5 ++++- docs/.vuepress/layouts/SidebarLayout.vue | 13 ++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/.vuepress/components/VersionDropdown.vue b/docs/.vuepress/components/VersionDropdown.vue index 0281a1164..bb8e96856 100644 --- a/docs/.vuepress/components/VersionDropdown.vue +++ b/docs/.vuepress/components/VersionDropdown.vue @@ -32,7 +32,10 @@ const closeDropdown = (): void => { } const handleVersionSelect = (version: VersionDetail): void => { - const base = route.path.split('/').filter(seg => seg)[0]; + const segments = route.path.split('/').filter(seg => seg); + const versionIndex = segments.findIndex(seg => seg === props.current.path); + const base = versionIndex > 0 ? segments.slice(0, versionIndex).join('/') : segments[0] || ''; + router.replace(`/${base}/${version.path}/${version.startPage}`); closeDropdown(); diff --git a/docs/.vuepress/layouts/SidebarLayout.vue b/docs/.vuepress/layouts/SidebarLayout.vue index c3d6baf41..c9a37bf97 100644 --- a/docs/.vuepress/layouts/SidebarLayout.vue +++ b/docs/.vuepress/layouts/SidebarLayout.vue @@ -29,16 +29,18 @@ const versionInfo = computed(() => { if (pathSegments.length < 2) return null - const basePath = pathSegments[0] - if (!pageData.value.versions?.all) return null for (const versionInfo of pageData.value.versions.all) { - if (versionInfo.basePath === basePath && versionInfo.versions) { + const basePath = versionInfo.basePath + + if (route.path.startsWith(`/${basePath}/`) && versionInfo.versions) { for (const versionDetail of versionInfo.versions) { const versionPath = versionDetail.path - if (route.path.includes(`/${basePath}/${versionPath}/`)) { + const fullVersionPath = `/${basePath}/${versionPath}/` + + if (route.path.startsWith(fullVersionPath)) { return { versions: versionInfo.versions, current: versionDetail @@ -48,6 +50,7 @@ const versionInfo = computed(() => { } } + console.log("No matching version found") return null }) @@ -58,4 +61,4 @@ const versionInfo = computed(() => { - \ No newline at end of file + From 8dd22653f23679b8fdca240f3590c0df18f7791c Mon Sep 17 00:00:00 2001 From: William Chong Date: Fri, 25 Jul 2025 13:28:33 +0400 Subject: [PATCH 16/36] Rename import --- import/{import-client-docs.cjs => import.cjs} | 0 package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename import/{import-client-docs.cjs => import.cjs} (100%) diff --git a/import/import-client-docs.cjs b/import/import.cjs similarity index 100% rename from import/import-client-docs.cjs rename to import/import.cjs diff --git a/package.json b/package.json index 73b3e7a4e..b59dc1758 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "build": "node ./import/build.cjs build docs", "build:verbose": "vuepress build docs -- --verbose", "build-prod": "pnpm run import && pnpm build", - "import": "node ./import/import-client-docs.cjs", + "import": "node ./import/import.cjs", "serve": "node ./serve.js", "swagger": "swagger-markdown -i docs/server/5.0/http-api/swagger.yaml" }, From eeb91a8e214d4486ff665ff4b5e7da21e11b89c6 Mon Sep 17 00:00:00 2001 From: William Chong Date: Fri, 25 Jul 2025 13:36:44 +0400 Subject: [PATCH 17/36] Support alias in repos --- import/import.cjs | 2 +- import/repos.json | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/import/import.cjs b/import/import.cjs index 33986112c..bde1abeda 100644 --- a/import/import.cjs +++ b/import/import.cjs @@ -38,7 +38,7 @@ async function copyDocsAndSamples(destinationPath, samplesPath, branch, repo) { await copyDocs(repo.repo, destination, branch.name, repPath); result = { path: branch.version, - version: branch.version, + version: branch?.alias ?? branch.version, startPage: branch.startPage, preview: branch.preview, deprecated: branch.deprecated, diff --git a/import/repos.json b/import/repos.json index 2ca722860..85162c779 100644 --- a/import/repos.json +++ b/import/repos.json @@ -115,7 +115,8 @@ "startPage": "getting-started.html" }, { - "version": "Legacy v23.3", + "version": "legacy-v23.3", + "alias": "Legacy v23.3", "name": "release/legacy/v23.3", "deprecated": true, "startPage": "getting-started.html" @@ -137,7 +138,8 @@ "startPage": "getting-started.html" }, { - "version": "Legacy v5.4", + "version": "legacy-v5.4", + "alias": "Legacy v5.4", "name": "release/legacy/v5.4", "deprecated": true, "startPage": "getting-started.html" @@ -159,7 +161,8 @@ "startPage": "getting-started.html" }, { - "version": "Legacy v4.0", + "version": "legacy-v4.0", + "alias": "Legacy v4.0", "name": "release/legacy/v4.0", "deprecated": true, "startPage": "getting-started.html" @@ -181,7 +184,8 @@ "startPage": "getting-started.html" }, { - "version": "Legacy v6.2", + "version": "legacy-v6.2", + "alias": "Legacy v6.2", "name": "release/legacy/v6.2", "deprecated": true, "startPage": "getting-started.html" @@ -203,7 +207,8 @@ "startPage": "getting-started.html" }, { - "version": "Legacy v4.2", + "version": "legacy-v4.2", + "alias": "Legacy v4.2", "name": "release/legacy/v4.2", "deprecated": true, "startPage": "getting-started.html" From cab4c403e791700de0fb8db497369fe139ec7f9c Mon Sep 17 00:00:00 2001 From: William Chong Date: Fri, 25 Jul 2025 13:49:26 +0400 Subject: [PATCH 18/36] Update KurrentDB and K8 operator navbar items --- docs/.vuepress/configs/navbar.ts | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index 32782b5b9..42a882d65 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -10,17 +10,8 @@ export const navbarEn: NavbarOptions = [ text: "Kurrent Cloud", link: "/cloud/introduction", }, - { - text: "KurrentDB", - children: [ - { text: "Current", children: ver.linksFor("server", false) }, - { text: "Deprecated", children: ver.linksFor("server", true) }, - { - text: "Kubernetes Operator", - children: ver.linksFor("kubernetes-operator", false), - }, - ], - }, + { text: "KurrentDB", link: ver.linksFor("server", false)[0]?.link || "/server/" }, + { text: "Kubernetes Operator", link: ver.linksFor("kubernetes-operator", false)[0]?.link || "/server/kubernetes-operator/" }, { text: "Clients & APIs", children: [ From 92a301c6813bfc0bb13318e55aeb3be4129283db Mon Sep 17 00:00:00 2001 From: William Chong Date: Fri, 25 Jul 2025 14:38:36 +0400 Subject: [PATCH 19/36] change legacy paths for clients --- docs/.vuepress/client.ts | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 9115bd34d..ce30382f2 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -123,22 +123,9 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); addDynamicRoute('/clients/grpc/:lang/:version', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); - addDynamicRoute('/clients/grpc/:lang/:version/', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); - - addDynamicRoute('/clients/grpc/:lang/', to => { - const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath - const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path - const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage - - return `/${basePath}/${path}/${version}`; - }) - addDynamicRoute('/clients/grpc/:lang', to => { - const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath - const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path - const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage - - return `/${basePath}/${path}/${version}`; + const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path + return `/clients/grpc/${to.params.lang}/${version}/getting-started.html`; }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); @@ -204,4 +191,4 @@ export default defineClientConfig({ }); }, -}); \ No newline at end of file +}); From 03ec6c2db2bcbfe5da63458f4ee521b09f2cf70c Mon Sep 17 00:00:00 2001 From: William Chong Date: Fri, 25 Jul 2025 14:46:02 +0400 Subject: [PATCH 20/36] Undo path changes --- docs/.vuepress/client.ts | 19 ++++++++++++++++--- import/repos.json | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index ce30382f2..9115bd34d 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -123,9 +123,22 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); addDynamicRoute('/clients/grpc/:lang/:version', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); + addDynamicRoute('/clients/grpc/:lang/:version/', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); + + addDynamicRoute('/clients/grpc/:lang/', to => { + const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath + const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path + const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage + + return `/${basePath}/${path}/${version}`; + }) + addDynamicRoute('/clients/grpc/:lang', to => { - const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path - return `/clients/grpc/${to.params.lang}/${version}/getting-started.html`; + const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath + const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path + const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage + + return `/${basePath}/${path}/${version}`; }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); @@ -191,4 +204,4 @@ export default defineClientConfig({ }); }, -}); +}); \ No newline at end of file diff --git a/import/repos.json b/import/repos.json index 85162c779..53d38be72 100644 --- a/import/repos.json +++ b/import/repos.json @@ -231,4 +231,4 @@ } ] } -] +] \ No newline at end of file From b06b6a08d5346772898b4d3e7d95903a39ff9206 Mon Sep 17 00:00:00 2001 From: William Chong Date: Fri, 25 Jul 2025 15:04:26 +0400 Subject: [PATCH 21/36] Redo path changes --- docs/.vuepress/client.ts | 17 ++--------------- import/repos.json | 10 +++++----- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 9115bd34d..7eeec1e1a 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -123,22 +123,9 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); addDynamicRoute('/clients/grpc/:lang/:version', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); - addDynamicRoute('/clients/grpc/:lang/:version/', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); - - addDynamicRoute('/clients/grpc/:lang/', to => { - const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath - const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path - const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage - - return `/${basePath}/${path}/${version}`; - }) - addDynamicRoute('/clients/grpc/:lang', to => { - const basePath = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.basePath - const path = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path - const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.startPage - - return `/${basePath}/${path}/${version}`; + const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path + return `/clients/grpc/${to.params.lang}/${version}/getting-started.html`; }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); diff --git a/import/repos.json b/import/repos.json index 53d38be72..46de86bc6 100644 --- a/import/repos.json +++ b/import/repos.json @@ -115,7 +115,7 @@ "startPage": "getting-started.html" }, { - "version": "legacy-v23.3", + "version": "legacy/v23.3", "alias": "Legacy v23.3", "name": "release/legacy/v23.3", "deprecated": true, @@ -138,7 +138,7 @@ "startPage": "getting-started.html" }, { - "version": "legacy-v5.4", + "version": "legacy/v5.4", "alias": "Legacy v5.4", "name": "release/legacy/v5.4", "deprecated": true, @@ -161,7 +161,7 @@ "startPage": "getting-started.html" }, { - "version": "legacy-v4.0", + "version": "legacy/v4.0", "alias": "Legacy v4.0", "name": "release/legacy/v4.0", "deprecated": true, @@ -184,7 +184,7 @@ "startPage": "getting-started.html" }, { - "version": "legacy-v6.2", + "version": "legacy/v6.2", "alias": "Legacy v6.2", "name": "release/legacy/v6.2", "deprecated": true, @@ -207,7 +207,7 @@ "startPage": "getting-started.html" }, { - "version": "legacy-v4.2", + "version": "legacy/v4.2", "alias": "Legacy v4.2", "name": "release/legacy/v4.2", "deprecated": true, From 3fb8d9624ee6bdf08f067fc8ba7d50a32b37e27a Mon Sep 17 00:00:00 2001 From: Alexey Zimarev Date: Sat, 26 Jul 2025 13:14:02 +0200 Subject: [PATCH 22/36] [DEV-780] Move versions from navbar to version selector (#899) Co-authored-by: William Chong --- docs/.vuepress/client.ts | 36 ++-- docs/.vuepress/components/KapaWidget.vue | 1 - docs/.vuepress/components/TocWithFeedback.ts | 4 +- docs/.vuepress/components/Version.vue | 44 ---- docs/.vuepress/components/VersionDropdown.vue | 200 ++++++++++++++++++ docs/.vuepress/components/VersionItem.vue | 70 ++++++ docs/.vuepress/components/VersionSection.vue | 77 +++++++ docs/.vuepress/components/VersionText.vue | 19 ++ docs/.vuepress/config.ts | 23 +- docs/.vuepress/configs/navbar.ts | 93 ++++---- docs/.vuepress/configs/sidebar.ts | 77 ++++--- docs/.vuepress/layouts/SidebarLayout.vue | 61 ++++++ docs/.vuepress/lib/samples.ts | 7 +- docs/.vuepress/lib/versioning.ts | 124 +++++------ docs/.vuepress/markdown/replaceLink/index.ts | 1 + docs/.vuepress/modules.d.ts | 1 + docs/.vuepress/public/_redirects | 9 +- docs/.vuepress/styles/palette.scss | 6 + docs/.vuepress/versions.json | 1 - docs/clients/tcp/dotnet/21.2/security.md | 2 +- .../v1.1.0/getting-started/README.md | 3 +- .../v1.1.0/operations/README.md | 3 +- import/{import-client-docs.cjs => import.cjs} | 3 +- import/repos.json | 59 +----- package.json | 27 +-- 25 files changed, 650 insertions(+), 301 deletions(-) delete mode 100644 docs/.vuepress/components/Version.vue create mode 100644 docs/.vuepress/components/VersionDropdown.vue create mode 100644 docs/.vuepress/components/VersionItem.vue create mode 100644 docs/.vuepress/components/VersionSection.vue create mode 100644 docs/.vuepress/components/VersionText.vue create mode 100644 docs/.vuepress/layouts/SidebarLayout.vue create mode 100644 docs/.vuepress/modules.d.ts rename import/{import-client-docs.cjs => import.cjs} (98%) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index cbbc5565c..5eff6442b 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -6,6 +6,7 @@ import CloudBanner from "./components/CloudBanner.vue"; import KapaWidget from './components/KapaWidget.vue'; import UserFeedback from './components/TocWithFeedback'; import {usePostHog} from "./lib/usePosthog"; +import SidebarLayout from "./layouts/SidebarLayout.vue"; declare const __VERSIONS__: { latest: string, selected: string, all: string[] } @@ -30,14 +31,14 @@ const findEsMeta = (route) => { } } -interface ClientConfig { - enhance?: (context: { - app: any; - router: Router; - siteData: any; - }) => void | Promise; - setup?: () => void; -} +// interface ClientConfig { +// enhance?: (context: { +// app: any; +// router: Router; +// siteData: any; +// }) => void | Promise; +// setup?: () => void; +// } const removeHtml = (path: string) => path.replace(".html", ""); @@ -55,9 +56,12 @@ const leave = (to: RouteLocationNormalized, from: RouteLocationNormalized) => { } } -const { posthog } = usePostHog(); +const {posthog} = usePostHog(); export default defineClientConfig({ + layouts: { + Layout: SidebarLayout + }, enhance({app, router, _}) { app.component("CloudBanner", CloudBanner); app.component("KapaWidget", KapaWidget); @@ -84,11 +88,11 @@ export default defineClientConfig({ router.afterEach(() => { setTimeout(() => { // to ensure this runs after DOM updates try { - const {code} = JSON.parse(localStorage.getItem('VUEPRESS_TAB_STORE')); + const {code} = JSON.parse(localStorage.getItem('VUEPRESS_TAB_STORE')!); if (code) { // If a valid 'code' is found in localStorage Array.from(document.querySelectorAll('.vp-tab-nav')) .forEach((button: HTMLButtonElement) => { - if (button.textContent.trim() === code) { + if (button.textContent!.trim() === code) { button.click(); // click the button to switch the tab } }); @@ -135,13 +139,13 @@ export default defineClientConfig({ }); }, 1000); } - + // Check for 404 page after navigation completes setTimeout(() => { // Check for the specific elements with classes error-code and error-hint const errorCodeElement = document.querySelector('p.error-code'); const errorHintElement = document.querySelector('p.error-hint'); - + // If both elements exist, we're on a 404 page if (errorCodeElement && errorHintElement) { // Capture the 404 event in PostHog @@ -154,15 +158,15 @@ export default defineClientConfig({ }); } } - }, 50); + }, 50); }); router.beforeEach((to, from) => leave(to, from)); }, setup() { onMounted(() => { const route = useRoute(); - if (route.path !== "/"); + if (route.path !== "/") ; }); }, -} satisfies ClientConfig); \ No newline at end of file +}); \ No newline at end of file diff --git a/docs/.vuepress/components/KapaWidget.vue b/docs/.vuepress/components/KapaWidget.vue index 1a2cc9aee..542881129 100644 --- a/docs/.vuepress/components/KapaWidget.vue +++ b/docs/.vuepress/components/KapaWidget.vue @@ -1,7 +1,6 @@ diff --git a/docs/.vuepress/components/TocWithFeedback.ts b/docs/.vuepress/components/TocWithFeedback.ts index 9f095c6a8..ec342c8fe 100644 --- a/docs/.vuepress/components/TocWithFeedback.ts +++ b/docs/.vuepress/components/TocWithFeedback.ts @@ -20,8 +20,8 @@ import { usePageFrontmatter, useRoute, } from "vuepress/client"; -import PrintButton from "vuepress-theme-hope/modules/info/components/PrintButton"; -import { useMetaLocale } from "vuepress-theme-hope/modules/info/composables/index"; +import PrintButton from "vuepress-theme-hope/components/base/PrintButton"; +import { useMetaLocale } from "vuepress-theme-hope/composables/info/index"; import "../styles/toc.scss"; diff --git a/docs/.vuepress/components/Version.vue b/docs/.vuepress/components/Version.vue deleted file mode 100644 index 55feabbd7..000000000 --- a/docs/.vuepress/components/Version.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - \ No newline at end of file diff --git a/docs/.vuepress/components/VersionDropdown.vue b/docs/.vuepress/components/VersionDropdown.vue new file mode 100644 index 000000000..0281a1164 --- /dev/null +++ b/docs/.vuepress/components/VersionDropdown.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/docs/.vuepress/components/VersionItem.vue b/docs/.vuepress/components/VersionItem.vue new file mode 100644 index 000000000..8f294f864 --- /dev/null +++ b/docs/.vuepress/components/VersionItem.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/docs/.vuepress/components/VersionSection.vue b/docs/.vuepress/components/VersionSection.vue new file mode 100644 index 000000000..dae3ff2d0 --- /dev/null +++ b/docs/.vuepress/components/VersionSection.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/docs/.vuepress/components/VersionText.vue b/docs/.vuepress/components/VersionText.vue new file mode 100644 index 000000000..c8dfad60f --- /dev/null +++ b/docs/.vuepress/components/VersionText.vue @@ -0,0 +1,19 @@ + + + \ No newline at end of file diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index 45782bc99..3ee2d11f0 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -1,10 +1,11 @@ +/* eslint-disable import/no-named-as-default */ + import {dl} from "@mdit/plugin-dl"; import viteBundler from "@vuepress/bundler-vite"; -import dotenv from 'dotenv'; +import dotenv from "dotenv" import vueDevTools from 'vite-plugin-vue-devtools' import {defineUserConfig} from "vuepress"; import {path} from 'vuepress/utils'; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment import {hopeTheme} from "vuepress-theme-hope"; import {themeOptions} from "./configs/theme"; import {projectionSamplesPath, resolveMultiSamplesPath} from "./lib/samples"; @@ -13,7 +14,6 @@ import {linkCheckPlugin} from "./markdown/linkCheck"; import {replaceLinkPlugin} from "./markdown/replaceLink"; import {importCodePlugin} from "./markdown/xode/importCodePlugin"; - dotenv.config({path: path.join(__dirname, '..', '..', '.algolia', '.env')}); // noinspection JSUnusedGlobalSymbols @@ -30,20 +30,30 @@ export default defineUserConfig({ all: ver.all }, }, + extendsPage: (page) => { + page.data.versions = { + latest: ver.latest, + all: ver.all + } + }, markdown: { importCode: false, headers: {level: [2, 3]}, }, + pagePatterns: [ + '**/*.md', + '!**/v*/README.md', + '!.vuepress', + '!node_modules' + ], extendsMarkdown: md => { md.use(replaceLinkPlugin, { replaceLink: (link: string, _) => link .replace("@server/", "/server/{version}/") .replace("@clients/grpc/", "/clients/grpc/") .replace("@client/dotnet/5.0/", "/clients/tcp/dotnet/21.2/") - .replace("@clients/http-api/", "/http-api/{version}/") - .replace("@clients/httpapi/", "/http-api/{version}/") .replace("@httpapi/data/", projectionSamplesPath) - .replace("@httpapi/", "/http-api/{version}/") + .replace("@httpapi/", "/server/v5/http-api/") // Add tutorial and use case redirects .replace(/^\/tutorials\/(.*)/, "/dev-center/tutorials/$1") .replace(/^\/getting-started\/use-cases\/(.*)\/tutorial-([1-5])\.(md|html)/, "/dev-center/use-cases/$1/tutorial/tutorial-$2.$3") @@ -67,7 +77,6 @@ export default defineUserConfig({ }, theme: hopeTheme(themeOptions,{custom: true}), head: [ - // Business Institution 247, before the user accepts cookie ['script', { type: 'text/javascript', diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index d89917ce6..f2f383c46 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -1,55 +1,50 @@ -import type { NavbarOptions } from "vuepress-theme-hope"; -import { instance as ver } from "../lib/versioning"; +import type {NavbarOptions} from "vuepress-theme-hope"; +import {instance as ver} from "../lib/versioning"; export const navbarEn: NavbarOptions = [ - { - text: "Getting Started", - link: "/getting-started/introduction.html", - }, - { - text: "Kurrent Cloud", - link: "/cloud/introduction", - }, - { - text: "KurrentDB", - children: [ - { text: "Current", children: ver.linksFor("server", false) }, - { text: "Deprecated", children: ver.linksFor("server", true) }, - { - text: "Kubernetes Operator", - children: ver.linksFor("kubernetes-operator", false), - }, - ], - }, - { - text: "Clients & APIs", - children: [ - { - text: "Clients", + { + text: "Getting Started", + link: "/getting-started/introduction.html", + }, + { + text: "Kurrent Cloud", + link: "/cloud/introduction", + }, + { + text: "KurrentDB", children: [ - { text: "KurrentDB clients", link: "/clients/grpc/getting-started" }, + {text: "KurrentDB Server", link: "/server/latest/"}, + {text: "Kubernetes Operator", link: "/server/kubernetes-operator/"}, ], - }, - { text: "HTTP API", children: ver.linksFor("http-api", false) }, - { - text: "Deprecated", - children: [{ text: "Legacy TCP clients", link: "/clients/tcp/" }], - }, - ], - }, + }, + { + text: "Clients & APIs", + children: [ + { + text: "Clients", + children: [ + {text: "KurrentDB clients", link: "/clients/grpc/getting-started"}, + ], + }, + { + text: "Deprecated", + children: [{text: "Legacy TCP clients", link: "/clients/tcp/"}], + }, + ], + }, - { - text: "Developer Resources", - children: [ - { - text: "Tutorials & Use cases", - link: "/dev-center/", - }, - { text: "Community forum", link: "https://discuss.kurrent.io/" }, - { text: "Community Discord ", link: "https://discord.gg/Phn9pmCw3t" }, - { text: "Blogs", link: "https://www.kurrent.io/blog" }, - { text: "Webinars", link: "https://www.kurrent.io/webinars" }, - { text: "Kurrent Academy", link: "https://academy.kurrent.io" }, - ], - }, + { + text: "Developer Resources", + children: [ + { + text: "Tutorials & Use cases", + link: "/dev-center/", + }, + {text: "Community forum", link: "https://discuss.kurrent.io/"}, + {text: "Community Discord ", link: "https://discord.gg/Phn9pmCw3t"}, + {text: "Blogs", link: "https://www.kurrent.io/blog"}, + {text: "Webinars", link: "https://www.kurrent.io/webinars"}, + {text: "Kurrent Academy", link: "https://academy.kurrent.io"}, + ], + }, ]; diff --git a/docs/.vuepress/configs/sidebar.ts b/docs/.vuepress/configs/sidebar.ts index 109df14d6..e77dc9317 100644 --- a/docs/.vuepress/configs/sidebar.ts +++ b/docs/.vuepress/configs/sidebar.ts @@ -1,44 +1,43 @@ import type {EsSidebarOptions} from "../lib/types"; -import { instance as ver } from "../lib/versioning"; +import {instance as ver} from "../lib/versioning"; export const sidebarEn: EsSidebarOptions = { - "/getting-started/": [ + "/getting-started/": [ + { + text: "Welcome", + link: "/getting-started/introduction.md", + group: "Getting Started", + }, + { + text: "The Kurrent Ecosystem", + link: "/getting-started/kurrent-ecosystem.md", + group: "Getting Started", + }, + { + text: "Why Kurrent?", + link: "/getting-started/kurrent-why.md", + group: "Getting Started", + }, + { + text: "Kurrent Concepts", + link: "/getting-started/concepts.md", + group: "Getting Started", + }, + { + text: "Self-Guided Demo", + link: "/getting-started/quickstart/", + group: "Getting Started", + }, + { + text: "Going Further", + link: "/getting-started/going-further.md", + group: "Getting Started", + }, - { - text: "Welcome", - link: "/getting-started/introduction.md", - group: "Getting Started", - }, - { - text: "The Kurrent Ecosystem", - link: "/getting-started/kurrent-ecosystem.md", - group: "Getting Started", - }, - { - text: "Why Kurrent?", - link: "/getting-started/kurrent-why.md", - group: "Getting Started", - }, - { - text: "Kurrent Concepts", - link: "/getting-started/concepts.md", - group: "Getting Started", - }, - { - text: "Self-Guided Demo", - link: "/getting-started/quickstart/", - group: "Getting Started", - }, - { - text: "Going Further", - link: "/getting-started/going-further.md", - group: "Getting Started", - }, - - ], - "/clients/grpc/": "structure", - "/cloud/": "structure", - ...ver.getSidebars(), - "/clients/tcp/dotnet/21.2/": "structure", - "/dev-center/":"structure" + ], + "/clients/grpc/": "structure", + "/cloud/": "structure", + ...ver.getSidebars(), + "/clients/tcp/dotnet/21.2/": "structure", + "/dev-center/": "structure" }; diff --git a/docs/.vuepress/layouts/SidebarLayout.vue b/docs/.vuepress/layouts/SidebarLayout.vue new file mode 100644 index 000000000..c3d6baf41 --- /dev/null +++ b/docs/.vuepress/layouts/SidebarLayout.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/docs/.vuepress/lib/samples.ts b/docs/.vuepress/lib/samples.ts index 14b786119..fb0f7d4dd 100644 --- a/docs/.vuepress/lib/samples.ts +++ b/docs/.vuepress/lib/samples.ts @@ -24,7 +24,7 @@ export function resolveSamplesPath(src: string, srcCat: string | undefined) { const includesCat = pseudo[0].startsWith('@'); if (!includesCat && srcCat === undefined) return def(src); - const cats: Record> = { + const cats: Record> = { "@samples": { "default": { path: "server", @@ -33,11 +33,10 @@ export function resolveSamplesPath(src: string, srcCat: string | undefined) { }, "@httpapi": { "default": { - path: "http-api", - version: "{version}" + path: "server/v5/http-api", } }, - "@grpc": { + "@grpc": { "js": { label: "JavaScript", path: "clients/node/6.2.1" diff --git a/docs/.vuepress/lib/versioning.ts b/docs/.vuepress/lib/versioning.ts index 4d0c3b2a8..df5005f39 100644 --- a/docs/.vuepress/lib/versioning.ts +++ b/docs/.vuepress/lib/versioning.ts @@ -1,48 +1,56 @@ -import * as fs from "fs"; -import {path} from 'vuepress/utils'; -import log from "./log"; -import {createRequire} from 'node:module'; -import references from "../versions.json"; +import * as fs from 'fs' +import { createRequire } from 'node:module' +import { path } from 'vuepress/utils' +import references from '../versions.json' +import log from './log' -interface VersionDetail { - version: string, - path: string, - startPage: string, - preview: boolean, - deprecated: boolean, - hide: boolean +export interface VersionDetail { + version: string; + path: string; + startPage: string; + preview: boolean; + deprecated: boolean; + hide: boolean; + lts: boolean; } -interface Version { - id: string, - group: string, - basePath: string, - versions: VersionDetail[] +export interface Version { + id: string; + group: string; + basePath: string; + versions: VersionDetail[]; } -export class versioning { - versions: Version[] = []; +export interface VersionLink { + text: string; + link: string; +} - constructor() { - const require = createRequire(import.meta.url) - references.forEach(p => { - const fileName = path.resolve(__dirname, p); - if (fs.existsSync(fileName)) { - log.info(`Importing versions from ${fileName}`); - const list: Version[] = require(fileName); - list.forEach(v => { - const existing = this.versions.find(x => x.id === v.id); - if (existing === undefined) { - this.versions.push(v); - } else { - existing.versions.push(...v.versions); - } - }); - } else { - log.info(`File ${fileName} doesn't exist, ignoring`); - } - }); - } +export class Versioning { + readonly versions: Version[] = []; + + constructor() { + const require = createRequire(import.meta.url); + + references.forEach(p => { + const fileName = path.resolve(__dirname, p); + + if (fs.existsSync(fileName)) { + log.info(`Importing versions from ${fileName}`); + const list: Version[] = require(fileName); + + list.forEach(v => { + const existing = this.versions.find(x => x.id === v.id); + if (existing === undefined) + this.versions.push(v); + else + existing.versions.push(...v.versions); + }) + } else { + log.info(`File ${fileName} doesn't exist, ignoring`); + } + }) + } get latestSemver(): string { const serverDocs = this.versions.find(v => v.id === "server"); @@ -62,41 +70,21 @@ export class versioning { return `${serverDocs.basePath}/${releases[0].path}`; } - get all() { - return this.versions + get all(): Version[] { + return this.versions; } // Generate a single object that represents all versions from each sidebar - getSidebars() { + getSidebars(): Record { const r = this.versions.map(v => v.versions.map(x => `/${v.basePath}/${x.path}/`)).flat(); return r.reduce((result, curr) => ({...result, [curr]: "structure"}), {}); } - version(id: string) { - const ret = this.versions.find(x => x.id === id); - if (ret === undefined) log.error(`Version ${id} not defined`); - return ret; - } - - getRecords(id: string, deprecated: boolean) { - const version = this.version(id); - if (version === undefined) return []; - const filter = deprecated ? (v: VersionDetail) => v.deprecated && !v.hide : (v: VersionDetail) => !v.deprecated; - return version.versions.filter(filter); - } - - // Build dropdown items for each version - linksFor(id: string, deprecated: boolean) { - const version = this.version(id); - if (version === undefined) return []; - - const getLink = (v: VersionDetail) => { - const path = `${version.basePath}/${v.path}`; - const pageUrl = v.startPage ? v.startPage : ""; - return {text: v.version, link: `/${path}/${pageUrl}`}; - } - return this.getRecords(id, deprecated).map(v => getLink(v)); - } + // version(id: string): Version | undefined { + // const ret = this.versions.find(x => x.id === id); + // if (ret === undefined) log.error(`Version ${id} not defined`); + // return ret; + // } } -export const instance: versioning = new versioning(); +export const instance: Versioning = new Versioning(); diff --git a/docs/.vuepress/markdown/replaceLink/index.ts b/docs/.vuepress/markdown/replaceLink/index.ts index 78dbb1bfa..190bcd9f2 100644 --- a/docs/.vuepress/markdown/replaceLink/index.ts +++ b/docs/.vuepress/markdown/replaceLink/index.ts @@ -5,6 +5,7 @@ import { logInfo } from "../../util/log"; import {ensureLocalLink} from "../linkCheck"; import {resolveVersionedPath} from "../resolver"; import type {MdEnv, MdToken} from "../types"; +import version from "../../lib/version"; export interface ReplaceLinkPluginOptions { replaceLink?: (link: string, env: MdEnv) => string; diff --git a/docs/.vuepress/modules.d.ts b/docs/.vuepress/modules.d.ts new file mode 100644 index 000000000..2b3dac61f --- /dev/null +++ b/docs/.vuepress/modules.d.ts @@ -0,0 +1 @@ +declare module 'dotenv'; \ No newline at end of file diff --git a/docs/.vuepress/public/_redirects b/docs/.vuepress/public/_redirects index 12a123d90..5f3a912ef 100644 --- a/docs/.vuepress/public/_redirects +++ b/docs/.vuepress/public/_redirects @@ -299,10 +299,12 @@ # ###################### # Other # ###################### - /resources/* / 301 - +# ###################### +# HTTP API +# ###################### +/http-api/v25.0/* /server/v25.0/http-api/:splat 301 # ###################### # Tutorial and Use Case Redirects @@ -324,4 +326,5 @@ /getting-started/use-cases/*/tutorial-5.html /dev-center/use-cases/:splat/tutorial/tutorial-5.html 301 # Other use case files stay in the root (introduction.md, tutorial-summary.md, etc.) -/getting-started/use-cases/* /dev-center/use-cases/:splat 301 \ No newline at end of file +/getting-started/use-cases/* /dev-center/use-cases/:splat 301 + diff --git a/docs/.vuepress/styles/palette.scss b/docs/.vuepress/styles/palette.scss index 8201c08b0..d7fb27c98 100644 --- a/docs/.vuepress/styles/palette.scss +++ b/docs/.vuepress/styles/palette.scss @@ -164,6 +164,9 @@ html[data-theme="dark"] { --vp-c-text-mute: white; --border-color:white; --vp-c-gutter:black; + + --dropdown-item-bg-hover: #2c2e35; + --dropdown-item-color: var(--secondary-color); } html[data-theme="light"] { @@ -181,6 +184,9 @@ html[data-theme="light"] { --vp-c-text-mute: black; --border-color:black; --vp-c-gutter:white; + + --dropdown-item-bg-hover: #F3F4F6; + --dropdown-item-color: var(--main-color); } $font-body: 15px; diff --git a/docs/.vuepress/versions.json b/docs/.vuepress/versions.json index aa99331f7..11a543842 100644 --- a/docs/.vuepress/versions.json +++ b/docs/.vuepress/versions.json @@ -1,5 +1,4 @@ [ - "../../http-api/generated-versions.json", "../../server/generated-versions.json", "../../server/kubernetes-operator/versions.json" ] diff --git a/docs/clients/tcp/dotnet/21.2/security.md b/docs/clients/tcp/dotnet/21.2/security.md index a9bcf3f62..ae7c10475 100644 --- a/docs/clients/tcp/dotnet/21.2/security.md +++ b/docs/clients/tcp/dotnet/21.2/security.md @@ -11,7 +11,7 @@ EventStoreDB supports basic authentication for HTTP API and TCP calls, and suppo ## Authentication and authorization -EventStoreDB supports basic HTTP authentication to internal users. You create and manage these users with the RESTful API or the Admin UI. Read more in the [users management guide](@clients/http-api/api.md#create-a-user). Once you have added users, you can use their details with HTTP requests or native client's authorization process. +EventStoreDB supports basic HTTP authentication to internal users. You create and manage these users with the RESTful API or the Admin UI. Once you have added users, you can use their details with HTTP requests or native client's authorization process. Alternatively, you can also use the 'trusted intermediary' header for externalized authentication that allows you to integrate almost any authentication system with EventStoreDB. Read more about [the trusted intermediary header](@server/security/user-authentication.md#trusted-intermediary). diff --git a/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md b/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md index eb0b4f4bb..79866c30d 100644 --- a/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md +++ b/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md @@ -1,7 +1,8 @@ --- order: 1 +title: "Getting Started" dir: - text: "Getting started" + text: "Getting Started" link: true order: 1 --- diff --git a/docs/server/kubernetes-operator/v1.1.0/operations/README.md b/docs/server/kubernetes-operator/v1.1.0/operations/README.md index 90833bd40..5db748b88 100644 --- a/docs/server/kubernetes-operator/v1.1.0/operations/README.md +++ b/docs/server/kubernetes-operator/v1.1.0/operations/README.md @@ -1,8 +1,9 @@ --- order: 2 +index: false +title: "Operations" dir: text: "Operations" - link: true order: 1 --- diff --git a/import/import-client-docs.cjs b/import/import.cjs similarity index 98% rename from import/import-client-docs.cjs rename to import/import.cjs index 4b9962b16..33986112c 100644 --- a/import/import-client-docs.cjs +++ b/import/import.cjs @@ -42,7 +42,8 @@ async function copyDocsAndSamples(destinationPath, samplesPath, branch, repo) { startPage: branch.startPage, preview: branch.preview, deprecated: branch.deprecated, - hide: branch.hide + hide: branch.hide, + lts: branch.lts, }; if (repo.postprocess) await postprocess(destination, repo.postprocess) diff --git a/import/repos.json b/import/repos.json index 5bc3433b7..4532708b3 100644 --- a/import/repos.json +++ b/import/repos.json @@ -4,7 +4,7 @@ "group": "Server", "basePath": "server", "docsRelativePath": ["docs"], - "samplesRelativePath": ["samples", "server"], + "samplesRelativePath": ["samples"], "currentBranch": "master", "repo": "https://github.com/kurrent-io/KurrentDB", "branches": [ @@ -18,7 +18,8 @@ "version": "v24.10", "name": "release/v24.10", "relativePath": ["server"], - "startPage": "quick-start/" + "startPage": "quick-start/", + "lts": true }, { "version": "v24.6", @@ -26,19 +27,21 @@ "relativePath": ["server"], "startPage": "quick-start/", "deprecated": true, - "hide": false + "hide": true }, { "version": "v23.10", "name": "release/oss-v23.10", "relativePath": ["server"], - "startPage": "quick-start/" + "startPage": "quick-start/", + "lts": true }, { "version": "v22.10", "name": "release/oss-v22.10", "relativePath": ["server"], - "startPage": "introduction.html" + "startPage": "introduction.html", + "deprecated": true }, { "version": "v5", @@ -50,51 +53,7 @@ } ], "postprocess": [ - "pnpm shx rm -rf /.vuepress", - "pnpm shx rm -rf ./docs/server/v5/http-api", - "pnpm shx rm -rf ./docs/server/v22.10/http-api", - "pnpm shx rm -rf ./docs/server/v23.10/http-api", - "pnpm shx rm -rf ./docs/server/v24.6/http-api" - ] - }, - { - "id": "http-api", - "group": "HTTP API", - "basePath": "http-api", - "docsRelativePath": ["docs", "http-api"], - "samplesRelativePath": ["samples", "http-api"], - "repo": "https://github.com/kurrent-io/KurrentDB", - "branches": [ - { - "version": "v25.0", - "name": "release/v25.0", - "startPage": "introduction.html" - }, - { - "version": "v24.10", - "name": "release/v24.10", - "startPage": "introduction.html" - }, - { - "version": "v24.6", - "name": "release/oss-v24.6", - "startPage": "introduction.html" - }, - { - "version": "v23.10", - "name": "release/oss-v23.10", - "startPage": "introduction.html" - }, - { - "version": "v22.10", - "name": "release/oss-v22.10", - "startPage": "introduction.html" - }, - { - "version": "v5", - "name": "release/oss-v5", - "startPage": "introduction.html" - } + "pnpm shx rm -rf /.vuepress" ] }, { diff --git a/package.json b/package.json index e8185708c..f467c770f 100644 --- a/package.json +++ b/package.json @@ -33,13 +33,14 @@ "dependencies": { "@rollup/plugin-alias": "^3.1.9", "@segment/analytics-next": "^1.79.0", - "@vuepress/bundler-vite": "2.0.0-rc.20", - "@vuepress/helper": "2.0.0-rc.91", - "@vuepress/plugin-docsearch": "2.0.0-rc.91", - "@vuepress/plugin-notice": "2.0.0-rc.91", - "@vuepress/plugin-seo": "2.0.0-rc.91", - "@vuepress/plugin-sitemap": "2.0.0-rc.91", - "@vuepress/plugin-watermark": "2.0.0-rc.91", + "@vuepress/bundler-vite": "^2.0.0-rc.23", + "@vuepress/helper": "^2.0.0-rc.110", + "@vuepress/plugin-docsearch": "^2.0.0-rc.110", + "@vuepress/plugin-notice": "^2.0.0-rc.110", + "@vuepress/plugin-seo": "^2.0.0-rc.110", + "@vuepress/plugin-sitemap": "^2.0.0-rc.110", + "@vuepress/plugin-watermark": "^2.0.0-rc.110", + "@vuepress/plugin-theme-data": "^2.0.0-rc.109", "@vueuse/core": "^12.8.2", "bowser": "^2.11.0", "dashjs": "^4.7.4", @@ -49,11 +50,11 @@ "posthog-js": "^1.235.0", "sass-loader": "^16.0.5", "uglify-js": "^3.19.3", - "vue": "^3.5.13", - "vue-router": "^4.5.0", - "vuepress": "2.0.0-rc.20", - "vuepress-plugin-md-enhance": "2.0.0-rc.78", - "vuepress-theme-hope": "2.0.0-rc.78" + "vue": "^3.5.17", + "vue-router": "^4.5.1", + "vuepress": "^2.0.0-rc.23", + "vuepress-plugin-md-enhance": "^2.0.0-rc.93", + "vuepress-theme-hope": "^2.0.0-rc.93" }, "scripts": { "preinstall": "npx only-allow pnpm", @@ -63,7 +64,7 @@ "build": "node ./import/build.cjs build docs", "build:verbose": "vuepress build docs -- --verbose", "build-prod": "pnpm run import && pnpm build", - "import": "node ./import/import-client-docs.cjs", + "import": "node import/import.cjs", "serve": "node ./serve.js", "swagger": "swagger-markdown -i docs/server/5.0/http-api/swagger.yaml" }, From ad67f02732d0486872aa109faff7334225f2f0ee Mon Sep 17 00:00:00 2001 From: Ryan B <197610600+rb-kurrent@users.noreply.github.com> Date: Sat, 26 Jul 2025 05:37:35 -0600 Subject: [PATCH 23/36] Docs for Operator v1.2.0 (#904) Co-authored-by: Alexey Zimarev --- .../kubernetes-operator/v1.2.0/README.md | 5 + .../v1.2.0/getting-started/README.md | 51 ++ .../images/install/deployments-list.png | Bin 0 -> 147531 bytes .../getting-started/images/install/logs.png | Bin 0 -> 331858 bytes .../images/install/namespace-list.png | Bin 0 -> 186629 bytes .../images/install/pods-list.png | Bin 0 -> 151284 bytes .../v1.2.0/getting-started/installation.md | 177 +++++ .../v1.2.0/getting-started/resource-types.md | 107 +++ .../v1.2.0/operations/README.md | 11 + .../v1.2.0/operations/database-backup.md | 92 +++ .../v1.2.0/operations/database-deployment.md | 702 ++++++++++++++++++ .../v1.2.0/operations/database-restore.md | 51 ++ .../images/certs/ca-issuer-details.png | Bin 0 -> 247933 bytes .../operations/images/certs/ca-issuer.png | Bin 0 -> 48606 bytes .../images/database-backup/backup-list.png | Bin 0 -> 158227 bytes .../images/database-backup/namespace-list.png | Bin 0 -> 186629 bytes .../database-deployment/database-list.png | Bin 0 -> 178627 bytes .../images/database-deployment/db-decribe.png | Bin 0 -> 240150 bytes .../database-deployment/namespace-list.png | Bin 0 -> 186629 bytes .../operations/managing-certificates.md | 182 +++++ .../v1.2.0/operations/operator-upgrade.md | 37 + docs/server/kubernetes-operator/versions.json | 5 + 22 files changed, 1420 insertions(+) create mode 100644 docs/server/kubernetes-operator/v1.2.0/README.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/getting-started/README.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/deployments-list.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/logs.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/namespace-list.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/pods-list.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/getting-started/installation.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/getting-started/resource-types.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/README.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/database-backup.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/database-deployment.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/database-restore.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/images/certs/ca-issuer-details.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/images/certs/ca-issuer.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/images/database-backup/backup-list.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/images/database-backup/namespace-list.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/images/database-deployment/database-list.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/images/database-deployment/db-decribe.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/images/database-deployment/namespace-list.png create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/managing-certificates.md create mode 100644 docs/server/kubernetes-operator/v1.2.0/operations/operator-upgrade.md diff --git a/docs/server/kubernetes-operator/v1.2.0/README.md b/docs/server/kubernetes-operator/v1.2.0/README.md new file mode 100644 index 000000000..142f5d41d --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/README.md @@ -0,0 +1,5 @@ +--- +# title is for breadcrumb and sidebar nav +title: Kubernetes Operator v1.2.0 +order: 1 +--- diff --git a/docs/server/kubernetes-operator/v1.2.0/getting-started/README.md b/docs/server/kubernetes-operator/v1.2.0/getting-started/README.md new file mode 100644 index 000000000..052601e5b --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/getting-started/README.md @@ -0,0 +1,51 @@ +--- +order: 1 +dir: + text: "Getting started" + link: true + order: 1 +--- + + + +--- +Welcome to the **KurrentDB Kubernetes Operator** guide. In this guide, we’ll refer to the KurrentDB Kubernetes Operator simply as “the Operator.” Use the Operator to simplify backup, scaling, and upgrades of KurrentDB clusters on Kubernetes. + +:::important +The Operator is an Enterprise only feature, please [contact us](https://www.kurrent.io/contact) for more information. +::: + +## Why run KurrentDB on Kubernetes? + +Kubernetes is the modern enterprise standard for deploying containerized applications at scale. The Operator streamlines deployment and management of KurrentDB clusters. + +## Features + +* Deploy single-node or multi-node clusters +* Back up and restore clusters +* Perform rolling upgrades and update configurations + +### New in 1.2.0 + +* Configure the advertised FQDN with a template. See the [docs](resource-types.md#kurrentdbnetwork). + +## Supported KurrentDB Versions + +The Operator supports running the following major versions of KurrentDB: +- v25.x +- v24.x +- v23.x + +## Supported Hardware Architectures + +The Operator is packaged for the following hardware architectures: +- x86_64 +- arm64 + +## Technical Support + +For support questions, please [contact us](https://www.kurrent.io/contact). + +## First Steps + +Ready to install? Head over to the [installation](installation.md) section. diff --git a/docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/deployments-list.png b/docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/deployments-list.png new file mode 100644 index 0000000000000000000000000000000000000000..00a310c8d9837111cfa6d33801c4a12e9bed1d39 GIT binary patch literal 147531 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∾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 bTN}n?xMC^aJb{w&TdrTxzMTEL#pC}6Mx#)t literal 0 HcmV?d00001 diff --git a/docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/logs.png b/docs/server/kubernetes-operator/v1.2.0/getting-started/images/install/logs.png new file mode 100644 index 0000000000000000000000000000000000000000..fa207c732d3180df6eba06130b1e4826fbb696c4 GIT binary patch literal 331858 zcmb5V1y~$Sw>3(D1PH+$f(LgE?(Pik!QCOaySux)y9c)b8QdYbyUTDV@ArOk?r-PJ z^YnCem+z`wwQKFwVG45M2p@4jLO?(uNJ@wRARu75ARwSRVLyQ1NP#nsTr$--Wv=Y#QL<@Ay`(#ROm-MNG=0dkk zUg$I47AC|E3}BP`*rX$rzsNCp%rdX$g?S?}s>b#?g&w^&21b7Qa#()d_j zVX}Vqm=`0NJG7+#X$wV-_kyteQWsqwsPfA6u?yZO=%)NaA3~W!AK;poOGK%A*dQ5CSP~gDZz{1!OXibJ6E~bR*v>E^X+(9aX9~w5 z{T6 z&i!Vl?c1pa5l-~x9IEmeUm&=%MS_n6hR2TsDKJ3Wl`bg;6+u)QGKQG+Mcj$riYL{U z-l`ttGlf*YfrDv8k{Id4NFwa@D*;>N)0be>fUxG)cV`hE+b9W8u;EJaMR*I9+&*sNwmguf4n zTO%4*-J`4cxJ_}|GqD-ck#|$Tp{Ov%7|uVqw;yNm-NHtgx?b~5olvy;Q25pa>GtJw z&a3e4+z_N{QOC6RJ(~K_+vBFHJTKAQf|@)Vx*fPd|@F& z{m}&qX#F}l@eBo#g9Zf!CEo3*PXV#G|Bmpje}fZ`{Kcsh!VbhJPfZ1|YdsP0wS{wj zC_IER{Dx??>6z)reenTA1RLmQ77GFR0iEiFslAWNh$92zC;&$ZHU7gw;T^j_-8Yy; zgu8$bcIcUqroCjp5UT^Y?QWd{uyT<)p>j~5iHTVQqYp^QL&*$cI7np%u;7G9VmZFN zmlS43K_L+>CcTbjHhK^6vl6q2^%~LNL3em}C}2a36icwfb_F-6prVY&CRFt+juOo{ z@3$Ew7r}%GMc&|nrxRQ|W|f#r-t7U^4XQi-sgPdoEA|g%MxCGNjz3bd@gjx*b)RJX zCkCYI94c`u`qMYPy2G9IyB5VWLuc$ioI$ABQD%o;Ur0X4crxkwo&Pw##C)L!L7eyZ zpqN1m`}6ij{2-1bHbNywlY-q1v@hFdrBkxE^ME zRCG{gP>D=cw3J!PxN1x{>6#iznXlZUY`LsnWw=aAC8g9xjknBQ`W7KdtReq#24Ei4 zNY;qEY`*NZ48zu*UVtkeRl_b_1*phQwUM{Jr^Q)1IX@kgMu8G#WT@XvG!7 z7t@{O9lTy8JKH?JXJ%@dVtzhvGjlcroVK5noKDMEDsz-6k;a;7n%+IwJEEUktML%N zpJ6P}uhjR~j|iSa=wLqSTDRl%;q}ukTPNr`cF(!Nc@li$d>X&SyE(_%{P6ul-G>AO zcI-^11N>^gu*0I}akAKt*yh>pzD~01 z8hfs`4hPz7S(3177(4Xsa0-X?8tgF7Gizdd6$cmR6$54_imi)tCMqXTC-%}$nL146 z*i6$+Q)`%Q+0Ppo>p~k-Z4@o-SK$gd{{W1SYyY8YS8hAMdkXbR%{em&4&|61b=UnIR%86 zW+6r*wlazn{~|31ODlUT!vLL;=E$gmkeTbj)i1edl#t=F-#0;SffKNnaB2uKNHwrN z*!oz+VP@eXr2QmnV(U@$k*K0t)~H2c6Ou=g+wm6h>l85LH4-nNk3s0D)9dWreeav({y= zh51S`Cg*4m@3c-vLO@;E;F{=I>#aKq%~@;h=ov0@U^aw}+s$DJ{UdXo22T*uIaxM>PWUViskplerD75R9;o;5^JdwdnVzhcQHMC$vI8l zW%{k|tn#|;bT)SOlh7$fmy&I8_(*w&Eb3~LoTcxunco)jNwykky#p|I=hi9Ufks-S ztP6W22+xzIXZ9HWe3Y5V*)!#w-eGXI;x>AnzK1uF!}|tgAnut>E=`h<;=*!e zSZqbsqtsq(9x(>Ci*86g7GaHNj*X3X)9%rAKOC3pEr7UczZgoc0Pc(Ml2KB^lGoJF zT0Dn8PGAhu5L88KYxIQIl{?L?%%Q32QM%A=vFI6TP zz0LL3dMy#nE~lX@K)|-5Qp1eh{y5x14Kn z23H*p&p5Zb-|^2yPpU2R!aW_Y-lY>=RiOIe-J$POcg4{_{Nb7h9ZqMqi=!pWOv{vN zah>zlIM;2H{np9qjF*flo85JH=Z=HBeeQ;H)U)LEnN~ILjSKHv!e*b7Lx*#&JE9B0 zO|~+6_cWswehU#B2R%!m`CDs8ADOpT7q@f19){Q4H~nGpy@1!l0x||th~!Df)EIKW;s$H1j*Zk8cb1(Z}RI8 z5-8f7LCp5P-7o4sxXi%)Sg*2set$bR{0>qk93N>3U6$rEqzaU$GUUD8BW7J?cahJ}EBhYRr@9C`=7 z_}=0DD=hYo5(4V4_mB_}A?6U!f2WZH-~aq#!PlQW|F}cN2SdPspHRV}P(Z5+*PoeCJ&|HQ!ANoY7iKwy&nx!y?vzFdIIUoclz zcT$&?;WD(frq?&JH87@kwYK|H4g`-Y7dU8b?4(cRYHelX$mPmQ@>dEjaQM$_1`?vb zk~mrNlBmln5DD8l7!$G6Gtx7X@O>mABI0o{GT{Pt zot=0|Nd8pxuirn~Y3yqL@0x5J|LzvJgA9LS7?|i88U9r^I4jSew_FP5uEtgxBIed$ znStxz<78v!`78bZ67%mG|0AdRzjHD(G5(jV{}J{7&#K~R>>zAw4X)FP@89F~cfJ1^ z`FBPhhCf~Z4^jL>&VRiH3!3jE55vC(jqjtw(%~X_96y_j$SZ^I;92(P_ii2hNBNIC zI1Gi@jb}il1_2=eAt@rL?E3B`3&sj4j4w)$Nm&dt^0<T_j&s6gAiaKF1J0Xe8RYa{(XivyP+3R{~mjL8XHl?694VT}SN(V|AT#R!HX8q`SQ1)UG~{|;j$*Jr=D(HUzl`#sfWV22ev68#Q*A^D z+J9pf{HxwS#rQRT`4Nt2E}5|c?%Mx#^8A-wn z64RMGYW)vuO!cLLtUUPkkr2z|f7;mTc<>Mwl3CkC{7)s!DC&!WFY|l54=3wKhHZCP zG(LB}fFI;yj}QL`1l+(1wHlKfo4S|(+La%4a1Rd;x!P?Gu%A8+01L$Jw}%i~5)*>J zQvUG@`+#2RE9C6n$6!mP&0UA9*s%v026sk5DLwF?a{60n=0Zd|82DpY*J4@qew6rI zNJvPV13}!2&OEpjecLmI*Q*jkq>SHB)E}OoY5a3|+)!sq7|g@aSn?DBr)5{ts!1;A-fOcnLn8yCYZ;_*k}vI&JC;?J^6)S34B zzqd%`{a3Gk6u>1S(8mlFrRN*uNriS}fh{kOy4@Wy@YyQiHm2Bg^zvp#zCbREONxk` z{DV@lOmBY(QdRi#<71wBoq_5l^VZAbb*syH_NObR_t3g!3sAb*>lR@fZ#rQkD{8Z~ z+#ccRRQcUVR3xo;IAC8c z$XDo_@~CVqNBj28&Evs^EBT4y<0(p>gYg+x_y4U#j%MC z>2|%R((MfW{(acF4?$>nxR9%BtE}9sT|~`al)B2!2;!;8y)pmgD3rv}d3Qj;y!lqw~ok zQnrH;3%1SnqVX$n31)Jr(NCvz0tf$!2*9}i7!1r${%#bx-&m#2Y zy$UhITisCPWv!!A7gsDYx!pTEJAc(1OV3tmsbMe>6Td4Ek5TP!=5gp;>-NG+AeXIA z3fcyQ`O4dg&f?UnRlUxZyP&j93<$l?%T+kPJdJ)G3ne*jy-nghA3_;RUl@e(wlM{;KX*qDXBQ%4y|ro&7BYFka&>gMi# zG=2EB({LEkYO(g6y}i8!uHKsp`iVYR7!hcj&+?dr5UXB)c2)>9yHJ64N-kPlRYYrC z=nBZ8Aq^P>lWR%$Lyb;)NLv}sqCI=@sr9rb1y%I|4*N?)i`xlThBh2o&}?d{UW-lE z)wJw34Lds~s~?9C=*0=o=8n94;$sr-%g?bymGOk#*mqDLO4r`5#u=FGHU-#DDu>q} z^hIGz%i8tYW^wt?7L<}h|Exuu1kgw5H8EvbCV2wirk^9|M&}81qP+QUK2Y(sRuovT zNGzo^TadmFxUo|ySAM7AoI6^xJsh(=Oz6`{^+DcgX~2M*SwIH42B#L~y(0$T`0--l z?f0_|JXojP&B$Dz?@pbQA0*^do$Q7ilD;I2W8jO-iE8aPH#%f0f}q397|W(4mEGj@3WA-cGQH;5tm6Wwjvnv0Yy?4 zs2Xa-`=?n(D#4WqpeIXI`EF1}>ta9Ha>1ndai2rW2hsZck2Pcy*^gDt$+g*Aj@G*; zm_&PL0tTDs7*_Q(5|faMD3K77sm)e&XKEK-KM2)Y{G|5@$_4*O!rf@hEF4ly?2p*f zOV8)4@T5}ct2~W(Js)aOl+uGwWtB59zBE0gCDG6%%U6Y2cx;D&4V)8i^FH&}c5 zzqXxfvWpch%RyC)q&cZkZBSVSMeJ8`WPix3vdf*c+B>D6iw{NglUa~wxd#F~X3l)F z4srSR4$(3x`#;kf9Wt&|DpU~=@Yt2ZYehqLM#u=?KuV;)D(nf_`nw%HF19k+Ef(>4 zSp}t%c_o;FKU<%Re?)w|+BFn~apBR&O#=u6{mSnrwII9OB7Uzw;u~ay?bHzCDx%vy z67-PRrcos1qirF3a5GcUdOinji3mmBveWYb3;TEMa%Iw(52lME;&Ym*HQOA>%-{hI ziDEsczP=D-GVpREZiIyn|~iCeeC=?YG|g zi54focbjaOhK=g{0a;z|4}=pvxza8r0%A(&jP>JYSEfN>?jC4!L)R(OcB-2x0P@2m z{wDJB(AR+(N~B@Kf9Gq!)U<4U>z{^fW8{u?($ z&fA?mQinULa56%l--VZy_WrUCQ~iW`+=eh!!`Y(djpm{(-A1VqTBHp(;`lv7?}C=; zwyyRQwS7lKe!xe{AOe7c>y_lV2pJ96mtJX`7xG<*@LjrSz2|DdT)kXW{5M9#wY{D| zeA8z0hQpULMsM&ekAQstk|EjBvpL+`W)AylLK z5^&9`shQ-Tn&7gU6wBgV%-%l!`{$%qHiy!zl`B~{9`(gJylkUU=?WFoXdy-I2H{e#=)7E;u2 zDj5_|Hw$Xk5P{N6WA-YD;9#v7nHmF0Ak3c=*^!^1gnoT+r_KOw9T~aXVR5YKVRSU zrZ@wZXoTjY-J>S$-YZV^hz(g{1j*;L(({cT{t=-7CoFpHAMgyFL;>oZu5|`of>DgF z-Op#-zt|z0KX>^e;d3d==3~IzpKqwC68}14)-)DDn=o>?+>S}uph$dTvRUO&E>(Ev zcD19ZN_Vo{1h40HivfDrMwy**)r$)|p0}6l_M0GhEdL!Mm)$W8pbpl(o}fUIp0{zE{-Z{%AFPUM#Dp$ zSmnY(=Hp~!GuY?EsJu;wV-$gY-tb`4QEa8zI%zHr1OkPIhAIqgUi|K_T6Q)T0hnkCk(u!ZUrFmK}6vfGz`AYS83%Ut<6=aiQkh3cmIF=hg}AX_-5dyzWuRXGivco}?*iXoitgPCofi@0Wv= zbWAeAfY-l zPA0RsqkvMWXBxLhb4uh{U{6-k>#Xg1XW42GxbFcWNY?WCNz^JI8+C%{#HaXIT5MaA zj98*6+Hcee*u0zCD7rW>PRq5((WyYDOqeilvw9hWV>#>FDbOUMFw5-*6X|S6Ebb+8 zS(yN*R4(W8t50$?qlfsLcc&|3&nsX-+uz$fQ4?$Q$_K!nd-@9}v?$iPo4UH14xe7| zalmu<&_6htoi1vh=|2s>Q`_ zdv;?)t&YxrjF;@_ayW}71f|Y{;4Ev+KqZ^xYT-N}GkEsB700?Ba(qB_ z3p^!%0Eki8#g4c3EzmaN!kf(Zu~zQCZH2wRHn08xi&7PGEc%U5(X_K>{(QEwEf`w{ zq}9l8#y5|J$zV>04aeje&J*YB48^VO2j3pHV*=2>9Q3CHPZ#Ti(;nzl zD^ueW3BnQY9)Qq|-yxSqk^}iX?r6iY7^+8n9#RqGg{&CVD|siy!{ z`Fz%4akDp(VNFd_hVz%n*^ZhEw@Ps9k*6E>WZ*xjlr&g+z*xBZe6XS{_kkjR-E_`w zt`^dDfW`1vSFfcMepnbB<*k0GX3qC~b+PqM53~xzSAR||)2)|VM`kXS=)ywjaD-?s zfOoD(C2+1v3#*ZN;lYaJdac!7Sn-Zz5T>ADu2XqFxx@961iVpL(u|s9riIaGV3_=p z5Ff5N(Y+;MyA-b3y|``e^jU9pgt9i_g9H4m+n@G$iMP6uX}4Zs7bO-PJF3iw(g-9n z#xEdEcq$x_J!jD91wu<)4u2r^8T{^B(z0x<6^^(RF)uo2Lla0A*lEE>6VrN@wZVh( z+sC_5nwgp_Q|ApQob8Ar5rI|&iF-Ajc;j{;+B7Z!|CRPU#5Lv zWXIL_@eVD`YH&VW4x>-I*t|0iw9N^l;Wi~!q%59*_%9uV}3q`+( z9D8F%!q4ggrBEsgxxIaP&#M)k_{sZmH^nFk|L5wPR5ERtny#Cu`S*=(udx&t7WLXD@5(S4K5C+`mS&$hC>)+$NLPPu_F_HZ1|hxGG=tsnUH>Dn1TpAhk&NdEqejLc2fuWTv>4%0hZ%$jfY5l- zm%XgRBq|CBhWbuS%_X_ik8wqV@OE!1F)Y-VFO0)>lvhinSp2N2-IbI()HZ!hDH;Ms zDGpVarVDwy)Ge}TFz_YtHs+tYBdr?wLIcVA`%Fsw1qMk@6DLV~O|3>(h1TZRxe8ao%iRON>xDp? zU9pOXrs>{`60gZHp@zu8a#MxsmkjTxk%ba@LR$4&0ZEs+2d4fUXr>jPj4WBf!nEs@ z_)Ej%C)sesCd&oYA~I3jWg(GcGg0O$^aPuMP!w!7i^NY?e-0I2i7$krqFsx0k(6lw zIub^1d-3^et&aHoC$9wC3!Wqe7rNs}ze>sm%Oe!S1Wj<4EjZl2)~R19l_=dc+z zCdryUAob;bKefrc9W~nHK_Kd@J6N%CcjNR;(eX=Z*S00~FK5e?#<*drSmIS!9E=nr z*F(%AO;z{7hwSjLUNCOsJXG{PPsfTURS_I5myQ*qSLx@U1@Ah^ZX^N?pjbZ|Fkc=_ zXSdpatNYYfdXP)Lc=2Uu*x-J4IW&f=NSdwS0D0L4*OT=l?jud3A_n)?nf9P;07jU| zr53E#B{}L~(-H=nY zL)RES=fSmwmuw`>vf};<-V${Cq4@y?*4zaLv83XNgVd4AXC)q=U*|{rpk6_T*%Hx- z_}-vLQyRse>u-(Wh{~K@rU{>nfU&eZdq2|(v4!VpNBW5Ws4X+0U*f-YnLA>Y^lx1@ zg~X8q>H~5VIzdiML5Ew;DAlowfyTY?fTnO zr$XYzk7x$V0@vD{2QYsr!Ka?E;`_Slar3Udn71{r=(UG_!=@-E`A8gD_yV~mjj7pq z>g9@(Q?50v8AiLOUlG=b9~6wilhZg1&(hg+k+fj3RMB`64VI9wurZ@3CVnZh*Fljr z#euMGm1ff{Mo*#``HlH*v(pWUELzZV*ee*w4PbpXPZFFfS8+BsFFV+T*lk+SO;G9OI2%FzVBMeVJWy;hk#3Q=bZIE<{q##ZS;VY}D@re3 znkzizxonK1L0t1xvIpbPY!LC4+|1c?cPz=7Moz6tvq;@4)=i0;-x^AIuf1vV=VOU` zBibvv+~Gr!ihpl!ud*^#hr_Pa?vtRF>o4zZR#4H**m?M+@NN2U`Q3@ToFm5VpPBqx z+rz*OhEXeJRA4rt6h%X0VI~>B>h!q=_dFHSpGh>GA`tVT>sQ<4IHgixHv{;K@Jv-+D62ELKu#5k|tS)ad10U+vkk%pk` zAuF)+_W&0Vq_*f~6G9tLEe^V4 zG*t4RCkj4OMFJgRXt;R76Uo+=E~Sg`lC1n~^6w4Ttfp$_TPzn_vS&01cda-u#iPG0o zWx3#n1#R}Gw4i5epijlDH0M8XVKbN{^wIw>;>xlDy-P3QM6)dApb z3JZY<)l5Lk=V1uBs5ub*A^N!ai*ai^Cp4u(gTu1!DlQ@y@U zs~27~wA2t)FcjvJtbxH1CifdN9OddBFp{Fu{}-(P3JW$App>}1ie!#(i#Y6evAtIt zU^lFC3}pcQVxl2q1!Lb{S5_2=e&x5`O*C`55|P6sG#uor-sF@NFY0xf7JR*MZNnTn zGpySozy1;`S+DX|J@A9f%Q$g7W|ERCR>QvjhXBpmA?OQ5SdpC*e}&R8Gm50v7xR|% z1h+_WRVPN&I(&9+@3Q$No&5sQAk}8PUjsG>E0Jp5lIaR_U&_{R2zmg>rWp7m%L}*1 z3&w0?ag|ZA(_cB6@#PJ98aQgSMHMux+%^fVUe8>QSHEj7GQS6kd&@R=yxY}`u%=0_ zI24OONQ~|AwtaZmSG(c~4V%>nWTfVb#Ryu<3A@*`uOh`#Xilmp3qVEosm6bX8t(BB z{9sK0MZ*^|rsJbL1CRy^T5s~l)UEmSoExQNHGAF}+{QK7u~{c3@gMylsY?pH6-rtb z?%%{SbK8rIX!Bp&9%!M~?-I1n)-7eafOxsm=+=Wfg|Q;kQK*y9pYsj97*qO0EM#A( zFku6B-WW*=jM9whF7owD0S8ohsludf!PrWC{5q%PyBO~`u?V_G*x>bqk)`_5Z+D;) z6{p%J-uHB~dH3JkVPwJ}4WuUD?Hm8)umY>Q1sS{JTik8o@U33+g!n&9g>R7Nf}4ur zh{!mohdszcWN$(Ff?KD08RXg83R7iIlk}A}iEoykDjB;Ki5H5~Wl?p!5gNO3r+QCy zc`CTKb=Lg?O)t53@2&UZXanb}H+_fQYBBfby6b*j z8l6yk4*C)`gOabAYd}B-yL@+q^iEyAIWv`VW*38I-PvtW+A4o>LuGxPZz;kgGBVB^(IKsiJcDPTNo)S_arAtRms(p*v92$6pqr-Do`qyiPDPD(EL;n z4e}MpX~YevpGC!)fK}31gm_MeCS&l|Z|&_RGHLl08O!`m2eIkmp3rke8N6@H-nhf~ zK~0CvFD78z(VOYeX0BMhxA;!)q|Q1?&ViE~6zPRY7+-aSg-I}bcj!{N8w+@h+MUSu zi68v=FmosRbjUT=?reG6Q_Glp$KSTWpTt)0Wb}ePUYOWZ@pOLjz~ljn+@>g6us!Oj zT`$Ncyn>BjIKsxD$#ga+^nS=oC!hLCsB`^!^mCe_)Ud#Kcomv_Oj{uc3D1kk{_wbm zyt!h2J#V8-!Rc2LT`UX72HNDA)p`?Y4f}tWly3sC3}T+ z*k}cMQj)V#VZqWR4Q=Wd0z5a>uS0U4o_zM(+}vm`Z|AY}*+UyUh%=uJ(sj4hvbpmP zawDO{&sq%fRYsqC-d?9nHUdTIoMqt1%re}JI&e-Y?+)awIPP?(-+(P><6ZTvOdgkF zh__0W(6ZDtM`cV8b_RKS{is2ZBKa<$`ml?eW-V}oe}b<@om^W!#jS^<(`GOw*EmM13Qv)I#3=uIo>bDRLQr6p&3Q$R zn!(jSd301W?Q%^zj(hB`tPTPV7FRtzz*FEx0BmT z#e4oIF;<~fyu%&^|7MMz+LzM885cSaYkSRU+YAjxco#w_lk=WsP+HrY*)g$?rtVvm zwPUJJ3(p7FPZ!vmOtI;P0!K_=Ty7rZN8jyFwGBmPHI~{viqVcaZBRWWGrL%87(P6? z8cbwYnDHN#s^~9!Z#}#WNp;eVe~7Vo8%+nP^G(<1zx2PSU^LdaddA=~L=hY#v_Ito z@fuduogW_hVX|G5(eyO;&pf4w+*3r9Dk7nw0&NC#tseHPaZRVTBVX>0q)%Bj6)m-i z$xV`HF{bOi#8rpKI}NU;%)wjcrF=zLqnwPK|DF98aT9rX4C+Gi84FKMQHnLw9Is-l z6rz5oLY2Pv@S4qJk~X5erx`DlmKcq@kk(zf&L)p-%lZAU&-Zh4K!6-Ge%rTRNSuMI z-Em;Imj{~+O}TlFsRI?AZDXonalCm1TAP1%w4a~fn2*+NL>NFOgI(4<15|kPQt>`$ znB(j-P6Jp|Nv~$s3#VDxs$5gFdd-YozQ5o+`n+5YV{Ag zd|vmu*SVsW^YF^IW*o7A;aqPP>iyx9>bruBj5e4$XPiwvmEF*BF_(P!@Vto2Hkmza z2F#lcA%4i;mf=x3G#^-v=}qMq%eS)Q458yPTe-Tt8l<^(|Muz4$;Fe6sfeI1Nj7(Jx=_2LtXwpD<+q2OnMp$8 zywO)5cP*z}TWljB6Bn1}~9(+rA@(F83XKUPT zl)^{v0sUa(xd-Z7V|IXk<{o@IAxiu5Wu`rvYdcV1s<~R?P^4uk%wmb+$@gU^L4GWE zf;6r7?QuWH*&KZSa>5b$LGb5zx(fD*aXRcUhWn=Id276?%b~?IB7`|Dhs`G@e+3i! zxe~a!Sb(6?Fu+o>{i^X7urGEvC$6U|?5@k>-oKfWX#bOsM>y`#-EN!2nVD72RT_?u za(1(39+F0M>y3g_?Qo6}`-)F_zsh#VQT=}8{uD+y;!Pev-Al1X>&ByG6eXQ?)`q6R ze1@FoZqe{=V4L;N0W#LtK7VoAi39}4?B_yXdHkbuV(H6nfL>MUK1i^-F7qR^| zA*y{G(T~fxMaP|pi*DaL%=#(>b$MRM?)zq8hC<`*;e?Z4Sb^K{zFO$>)4Vxqs#KoG4P zl3Zab_hrrI)teRRvwkJX02}rf7n8xAY`S8=;Mdp!0k8mM z6h{2Xm?nl43)Q91-FV6xd&#N|}^| zGpr*9aEkSkI0TOHcVXZI+(BhM;Ps3#BOJ_|E5j6#Pz*t5i6-DJKf`$LgJ&ReIa~d> z99e!4J8l2l%zOKCNK1?)8~)mo^Zj-~wwE*!C@2h=X-Cz=WzN@X(qe2Tko2sSa3 z;9`X!t28N!{QcYFX{|?1Be`$wh>@1WxwapB{uI8i3IaOm33VofQV zN33$vE_i4l=_uW0t^_@<>~F>N_l%mQ5N6dKT!8()6__=0**s;GUSV|I%1dS>`@&}~va0kqb_er^$WZGo#5PNx0k3AuD=@0|ebI=qUJK>H)nhAC;X~@Pcq08&5?NF% zX@^?b>}CBx2M(vrDgTix?( zV|ywq)TH>j@bBD{i@PfbDg{>DMl7a#R6-3MF*T>fW@|jNXBbV+=SgnKVj{3R7_P2| zfA?!g#Ld z{MJ^Z24Qj6jvjZTF$JF`!hXw{p4HZ*HM~Flyb(+bTbO^OxgCQa&#M@V+Y zj?=bDs60^qai{!b$s&2Rc5j^zL&b`kmtz?IeSPl2zn6J8lh$&-QJkr%fi(Q#Gbl*t zuTqzzX?OuZzjZn=#$?uT1cpU>$H(Cd1;o$sM%#iB@XC|vdLH-iXo{eJdDi z4~*VVhZI^G@llS0uQ3?-@q^=VGDMchcD=6)8loXL-5}E_w4YsnuedJ6v3uc&5y45q z86SEL-qR=)j+=;V0Od!(Um_2by-)TsPqFTfB-oZeP(MvqMZ*YxPl@(4=Y9?>QWP+a z(+AnhXjH!;r>%!0c9blLJm$aSaNT3aMUVlJO_m#`!x}W+MsUGSW+7Z6p#d!x>7Bef z8QuAem$)5!m+fvc+%=W@n!gs%aQ*R3-vDIfEbFuTEElThWT^p}bf%e%GP0r}zxzWB zZw`Rv*hb{KmP|j)n0nVmN;D-u@_;dw#H)fNcb~V{mgRiKZqVy<0QpH#K@40Hjastc zuG#neSsAzGNkd@1XgLq-<;$#+e3||g&;6=nxyBxiTJ=Hmgx#D7Rg>^XOeh%gG=^93 z0ty84PNbyf)A0Gl9?bz=3VDTdJU3eT8wjWRQj@9KmERD_6?~e)$r|&6@1ByQ6Cu38 zUpMWNVh!qax}ty~?zqwLcw{OM3Dd+W${t1F(8*)T_lZdUBikm6xxxq6tuP9w?Fukq zak0fVr`g&NP2;HZQjiM5RjHKiDu z;-iktR~(vNOEQ-;Ibhnffo@BX5b=_D6sde=s?5vtqGp~t6Ff}c{oyo#B^Ce%VVf+< zR4wOg^pKXbhYybCDoXg2ii+}~c=@w99fv68ijhi;Uc7&~7b;vFRx##D{?di-(0{!w z+;@{oy_>e;(P@iH->;LrMe*MDNB!P%SpiE1ss-;QaaV={ORALfH~2gBz=86M36>0d z5i5S;EZaN_uE9{ekQCxekab$+XWbtOV`f;sY+`;M)wqLRtULU4cK*AMqOgkQ1&Wr^thZ%I z();K@7^cw04hXElJ2E6&P48oi_w;w24_gtr_n#edyq~B>Eb`}ps>w!=(Vuw@Yt-w6 z!0ZxB4E)bspoDy0Dq0Z{k#Cckob68p7#KPJz>Lw&)YPe zLjCTrD^asD*R8YR2sNz=G?^d5}R=FxycsQ3DQkNzsz&| z)7?M6{g7b!vzZCZVeIv|7`x}yzV04b?s-`z5KUhlJMDDzt2cs^chcru>zK)&+U zZjUchrfzR)>@{e zzg@{FE%6H2pUOcZBqUC>yS%(Sm?=T(2Ges@g25bo!ymryE^cm=w@0AeA}}Qh8%Cwx z$^McSPgrxfT0a4^)_10N+MOChc&a`WW1WHdPX$^nHk2ymi88@mVRCFrA9+k36_r|S z)&R0t31PcnrT14=Qm)d(VCZ?Nw?Oc{nl8L$nc@-FolDE2WYfx)Q3aDU)Z+GsqVRH6 zww%02QQucF;;@>hrt1#ZY^%&< zqEIFI&in0eAUbC(!`Wmq$Nq)8;y}P_vCa_23^0{U8dL}-1};l&ae$YD)z}}7DmmgU z?!1Zx>U7SQ#LHt_VN{q!mQ+{#gqZ?zJ(*G$nlk9#s~r+nE_K*s*GXc}xcGCD{~vpA z85C#tcKHSZ!4jMh+}$M*+@0X=?(W)zV8Pwp3GQxz;O@bLySsJI&GY=U^ZIySuksdtGb&w$bo;cs1h1?KG&CT1(9)Qd2jMve)Qzz@Xtz+GZI88>-t)K^jv9 zuS*vSkk!aar23i$8F1VWi9vzhdwC zwfJ0TdRzhtI+4-SAh979soIdS)|Aj-V*YRAQXdt|wdrUCu@57^zXbJypHZ8bC>e-D zyD&oGl2H`n63YZg5wkkM($72px=_?S( z4cpQNu(HBB=Jykn#w#J1u}@t3U^mud|wQR;y^qM8-q zAd=^mmHh4Qr~8|zt&&vn*;=>wO)DP`G?P5aN(Th>>$|hxq30e15d)=<8w*nn8#K2z z&Dc+7* z*c#yjq1Ly>c{OHLrk?{MyxYZ*0nu9~7P6c9B?5B6-iY7nPx?@sZ#mcQ@p6zSt)=4w zefT5fM>V`J9Pm7W2QLh`7gUVEh#P=+oOnXdh|u@1uVpEYa(RI; zGge=_^JvSH*;-**baMxK*!(zJgcp68291Lvut)Z@3mfD>@o~gR2 zD&*lGXdIV@l+uOcImwXko$cxO=Iv|eo(@R%z$?E2IwMj~m4L%J0?&!^)EHeGdL9Lx*p>e>-Wk60iaaxqs>h~Ypq z>j(62-98Rzz-uOcww8qTjUz5IEH7I9n&m(-3Nz7y2luCm=z}sXq+GL3MR~cF4=~dn zGP8jrw3!rq>+=pySK9_Nwe7`|rjK91nFIo6_wll3k3bij8}QG50gX~~Pg=2WHImJ8 zt~K@?>v3n3iN^|tL9GO>O66|)=qK=7XNpNYg2;3Kgg%=H5(p2Rz z*8!VL7oiRbCVo*sBdR2m#DwE?9y-l6A(s;j3K1n=`%I~NMIwwBKWUkul45K*3IU%N z=BuTWb`e-x^DUOWDiDYYCg*3n7V_n+(zT4C^A{c!>!3Cam?`F^(% z^D#|c@oPFxbGL>BhlE(?vo@@+-BXwbWBID(8j%2Oi)AC#&gf*$T1b=93N$s^45v?M zsGo1qrBld-OngGWZLUS(=f2p@hWSl=1i2*eplqkhv_v#aS^mpk40(;3p-=& zgt7wVi@^hhSbr#P0|`%730c?Q-*-%lqlV&B{7-}+0s+1l4Dp9U zX3~bj{^D;H9uFMn3kOAMPmD_)u^U1DNL>*5$k=Bi`yeu(r}v_#85LT~3T%b7As^Ex z-Jx3HCeK_aviNdN(1+yD*iAO#D)+ASM9=K&Kap_ljot{bv#UJ#D&rOWkvPL}i5>)u z8`P1QM>LVA0VaGgS$l>5mipvhUwzRAVE3$^+zUOMHxNYwGi z4_?N`&Ot!|P3BoF;>J$v==*cr2LU;%@6cGxrf4FbNQ9FyagT!-ln+UhyQ1^Rr+0h# z{`g3CAzF_w7hc3E+!Hq$9hth|xeKd@aQrQQu8nf%#_SnXj~gem%~xz3Pz#~g9t5mW zKC_~HmiO^eK))gTut@c)UOF59YerF1-rH2u0x8yq8V$7LE`j>eY`sn(idgykPx}6B zlJl&65>bPQHp1i~7fpUe<3TXz?`Yu^P;j!F3ROKl%5^cWr_3OQNXOWj`hNs z6`c?~mLafp&yv3{=rl>LFDN)2;(Hjb_`q2Bvh|wqED-S5>O0JHJfOTcS{2P?_Fr^1 zbX#~R(a!5+)WiGXM~#`X01D&MHnYlCtdRULS?aZvNBRgl)a0M}Y(*tFF;pNiKTrMw=n5rZ6f~#M-5V4DZK-Vnx84z8z;< zi7Ut9OermC_q>ZT7~Nv@lt@dGr0UVwDm$TH$06T)|2cauKD0vJN}8PrVP1#|S@_^uzYezf7hq{znq8D57a`J*l5?N!#4Ci|c)Fz)tN=JbU7 zkb8uqBkxe8mMNBKT>G^6ji@k-5SgqV8wRcJ!9$VnbDZVTBh@S+EEnc`;Q8bmHzUtKO8uT zMZAXh6wa2|;eQXT4(G`J0Et~)obwpb1#hWo%Y6!Uu}H%^bEgT43v#0Vh)SJF&uhc$ zL2x$4<B*$E;{^Lhn?*Ca9LcOS5=RL7xAC+(Q2A!TwvC zimd#^qpki$4Oddu=>eplCW6ugOF&oATcU2qbk*b~VB8vr|GG+3)rZCMPtL%p<~z?l zEX?y*%~HFZEMWmMmD)T3u+=DNzD8Lgbd1;O9IZ|mwU(;!y3!d4zrn~(7+AevV!9PKD zThWiQdl~%oLkup1j|eno&wv4bSVMB?RT$f%_fx;lK6D6j-u>sizFPV|R15A^xa`Xv69kH7{*LzkXn0}w0+ZWz zo07#d*n@7%X;{zL0Qj-Xb=%aaxM{Gaue7gr$2Ru%iVLQki2!$YIO6rFw03nYS&-6F zlGM?f_ZeS91_wWvz^c9FG#!`3WlY{%+XvAwJf|b>)a>nIP_+yx>NZi}hP+?Ia8Ma3 zdr2TS$bP+zp;3X$UmzOnU&Yb3H*hek=0dGj{z=dGMin+GKfXfBq%N4reGYk;a0P7i z^o}kWHM+#O>^BGU);Te$B@)8$US`$%!_G_>zUt2iN(YgygQ_dFzH0=dtQv(Ay#;z9kSICR+T^cDFY=IvB&LdQ0!v zigrHu@l7@_#YQRv6)!Izn)?yyrhOLn()8mA$IRF6^2ut2+AFN(NDnXb-T=JfSXAfF zfXlLxK5m(9+BYzvb7p!<7|H95!jx}`vUlp~(>i4OlHTzZ!qEH{DjOOr#sNY}D6X&6 zcY%c%eZi9KdPle}Jl9v(%|*T<13DsUfQI9<=U0F8wQSp!nKOZ_kfctYn0J`9IBsf$ zXXQd=IA!g5)QzrVXYY3A?#|ln+2J8VhIkdo<1%t5WxOUvfrUHlo8r{3`LO5uxS(Yq zmi>Q5PINcG)Gs^nXgQBSPL!IMC-!#;PMocFWb8p^Pl;=n&QFCGN>@EJ+>w>fFGVGW z;~76+StLc=nJceSU5eoDE7&6Ss@9@<_z3c}&wJlAr zFKG@vXiemR2X9Mweei>)r_Vf~W}kiv;0bZ=R%*6i|C&F&NRDos+da@&ods6{Xn+7X z6t#amZvXw0|EFa950+z)`<1D2lwp1PPxSx)=2!lu#rVIM2VNQLGtD;g|ABt;-@eq> zjO+jZFaI6W|NZ#-|G*pD-2smeDPrX1<;Bbet$E=9<NaoI*5}i4PO=fs5?`VA#iHh=Abx%Po>stG!tBk;1f}LO*uIzKz5B)= z07hUC@VJTkL&H}4K|t?u+2Mikg=-GE`Ty&b|Iet6BXc-PraXU^pE3kWqIQ-Y6(>!u zwRceJmm@$rd25|LP@jXTurR>fE`O@~g+t4Aq9lT`%UfxTSLt&}3V}6$S(%%~P?3y> zZI9IF(X3IK|DB)0RR8!51N+oq;ld&VKDvoCOCXsFSAEgY{ z5c+!7*YyuphvKPNd>>tu`8t507a}%e`TRv6wm$VRvXv;Vckp|h?=dl`g>y#>RmQU= zij0ZfbI&@o`08e9-#RX4N)*Xl_9umG12DZm(re@dF9K|Y|ENJ<#Q*lCF_92!e@lA+ ztTG%~I#t1|W6ISALfgZMNPuh$kA&pRc_BN3fr^^LFQDJ)g9E6pth!X{{|Wh5Qp9lD z>+NU}U}6@OA4dMeGWlY+(!8-0+|2R11_F=^9_Y%968E<8LVv-^?S;L?=T8uESk=Sm zPCox30bRA;)6=2-%Ql|%QR4MAoCbx)AEsdDT|M66&Q^k^GfK1IN=Kq&R7q^H5Fm*D zX^{bwPYcUGxwy|JHh~3fNNNTF5$0oONsM+BK;8GVJ+RccPm5{nCJ&g0ob~qy+?g_hY0?BE@ZiFxp+Oc$$d+N z^XmufzOIg^nEQ)$RAC<(!hj61@pOUIDS4WVNv`=yvYwaJ&m%xERxPh@DKM%G{CC>R zV*H0Z62-&JoMN**OTMgOs9$Px=9X%B zWN2IRGV((udfE0C9^sf@IEW{&U(}6rWl}JgI~%sIx72I-bYJ)0?@m|)9G=wp{}omu zYP>~{J!8W!#l$DhCLXQi;vr7WZ8K~ThU{&QctUD8w)wk{r)18(YB+$e5uu=8^rhAH zC?VO-isip}B|gj01w!Q=p;mQc#qR{_SWV|HO}I>e&Vbb&&=QwqqBLKbbo^a>hMaDj+^j1qvm_TW3#@y<4~_81)G-)jc3q@Am9JV6A4z> z{y2={pR&?KdbxKgmdCt1>GqqjT);tnD4l8YEy;tg%U=1&R?xXw`ld8K9rymE$*`c+ z*IDdnU){uy-mBnm~cI4%d%VnetX7y++M zlSX0+2}|3hdMH}~(Ws9ZF{(1JxyM(m#shq_RUZFUtYf)EHD@(zvHdiaTV<=2&b-fr29B$2u7@hRr|8MjUpp*Pc|9Iq6 z;o+PJShQDHoTg$D2#DU*Xa13ai9cO~%J0<@f&MEDSxSesjEPQm7U&^ycb2DhT+myQNk=>F%$(u@(H{=e zZr)U6(fP9ePF958VaR~^`D?#%tJ(*G?$hDQaoVSu&^*^;`FEp&Zu$)?=PwvmW~i#} z9_p16f#>hio4i*ly9z(q3r5c}7MtyziW=U%kJKk|ruLHH#rOyKf|k61*`iRt zlpoLp9Ax804RRECfA{>u1=xd&L*PK`IH7XJ(LXK4qk#i@z89vLq=MV4jmj8X6XjGo zm;ciWzlx>RL6M9`2T%W>a&$Xg&NnA`*rGKC0^11ZLhY09TQRZ1{l-O&`XVtq*>&`j(zTFc&$UT$1+70V#QxB+afaGDk|r-0kTV+ZZYK&IUalq+ zSp);oMC$xekvMGq8ami+K#mr+64&pwwV?-kFvX#s_iF@@@M||ub~7@& zCmw8>dvJ)m+Y0jfYeV4={XUike2cU|Xm?%%5NrA1@wnanf@hBEyu-|Bo9-X@>80(x z>L%Ug9LPFdY5nEMJg}!X`Nt9)5#TJcZTuCR8vUl@DuGs2TEpS%n~u8~#UmddA7-0B z%!VvOBA(bfwI-n)nm02q#cn4{@W{vjE5P&O@2|I_Vqzrp^s=6CDr~sCU(?v3R;%_q zVlip<`IUfBCMJ`fPD{wtT{?qyaXM-Z00jegWy7Zz0e-iJN;1zTZ6@A>`OA*Scu-4_RKG>%uF19g3k7s)c+2KBVxT z$tEkJnNDKm5_}XE>Qxx8c^yr6-vCfCviVDYq8E7P`p+|+B97%YTY9bY^E&s9RTVC<9|F6gm6r0^#Ng&(o zCSMhLDfTvwU`2lZdf+m)A%R0c#{pV7Nq4?Me#v+pnIWX{LxAhWlHm2KhYM~Ukv6!a zI8yw6^Ie!x0OPbAaf@%9*8Jr_JvdR3+MXl5FxjR(a7|f`bgjQh_~fhMR4Y91I`ti=up_wPMd3E38JJV(tzK>Y?%a(Pz=~xBK)3KpmY31{@a6VUK zoH@~L(*(R8sH&ypL-boajy-`0pIA+Pyg!WU58X5!NurTP2CB?fpX*CGOW=qy+o$~Z z)vPJYIvrw~zg%M+!g`@yuE9bro_S>9kO(tBi@5;%ia3I++E3=NHV4>@;>Tedo#fA0Oa~$vwSY4=2S`&LMUmdD}0}B zS%(WHw1z~65r!_POp%meSZVQbb|4!eMCZqK6H5u%!^pVogGDRjS$?IXSX=fdOAW)G z3Go}^BvQXj0YVNpU|R&0Fql6mYrZO{EL$0Te*G8maYvjL>|{Gs0s;bJF0F2{-=n4? zi3AAGI-e?WJ3Oz<(ubw3-rc^IBb6|cP`MH>dL`<4opv%|fIqf!Kxg3392u5a5HW=K zc>efeza%f<_s*6SOc`*#h0($WE{0gIlZcky&y`1^fxrbn0_|Qm+Cff9$Nfh#c|-Ve2`Q{=1v8AIn9OAvG^k*#s6dz zky`E9=mJ0?Axhq6U!09)^UdLLP04m5hWv*VDFll%fmb-;qRbLE(9 zk0|6BlkhM7Xf6BH>4kqcVZT7bEy*?g^v{f5OfL6uf$j1A-$SSnhpWiOB^L*IQDr!bdzb7 z{xmHsckShQSIc8`HmsAk5x~J1%pPHF=`@>AJ?8R6fsP$e*hg>nzYeh$mRp!X)S zI+~;9R^Yuc99yFnT@RJG!WE)Up_204RIOT$BRu?Vg<$oLMG#=??GR$MTm_I+6|zoNTlJtv4Vf~W z!NLY0FLK|aHRXRFD-%UhF+Qoqm(#u!s%AbMU-$#SFLp2U90U-~S-aHN2B<|=Y1WB< zWtB@P+J0`c%3A`ue#2D+)>c%ItI06wM*|Uz(@K}$e&>IGMVH5^{fg=P@Yo@3p0G~n zr?nx1FFt;oayO)kL~J+t}ZK1aFE6%7=D*LP;5(;<299b z$d*<9d>YWE;k@mhd(Mm`!9&WT2KOH!xAdsV-(@kOa^+`{)oBrND z@jJ_4{d_wwma%-_l2|Kzn|Bi!*Nf=!qzT$%?V4jDA%xp)>RYWQH+7u&_Dp^COg|#6 zj56YmqR9we`yhG@#zk8$A`_w(s2<6H*?tN6$Vy(kZ&0=80?EBo^2{bR{okYETUMzoTcr}{Rts@VT!tg!eokg3B z#huD;@2^P?-yi>TXcdR1X@UG#b5zCAYYblJikXUcPkR!)nLI(N`wF6TaYw{m&`4&%+O$Xhipcg)6;q@gDsB`k(KpaX<_AkA^VbkoZ4R*38L?oc?z8o%FhQg#WnWp{FAgT zrK)9z)6+^*ztBK{9Ww_UKL@Sl?|6T1*f;$yH8z2$h9;Ae%6v3MNUzV5N{fcHa3}O< zeF_>LU86P{(G`&P2qzT_qo!mV!mo3wFO89%mod+vF7yB>aJD}$m#nLXN)7PcuWN$% zvn&X1D*h+lB5j{ohO}NOv!7{*f}n5YMa48@k*s3AU_H#G-Y8_8rXq?eKD+)U(B(Qe zjGjX>S?R$NFQqser1eof3a}8U8n``A(Q2lZlSu3Vw7|sSn}EjioH^nDE3`$is!l;h zBAdA!B5jxXiH17q!)q|>KsrYvKyP1X&otp-V!KQ&>2r4&Q3FBo~w9YQqGiGc13ns)U>XWK75r_*wnQp}FYl zg;;9D#40yG#F0X-RwH@Ckd})!TA2efsVl|A)gKFCsTB(IaldLSh!W}n?0WA(b+9E2 z{1NJOpD2F!uY-Bpdl>bP+9vOX9p<9W&o5&a6UpYBJt4w@_F1H(&e`*Yj>KCSF?U2j zioX7i$O}8yU9@Ek&DKx|_#%V?HZYaVT+0@ZWSJ_iz7O3tQV7v+dw+R~uBtuHPX6L% zL0{W8S5gi6fG-hW(>I5^K8hY|$la_oz0t^I;8iA#fdOoN@6@b-xco;tRh^|LhH?6{ zNPG$+k(&jz5v#s=#l32KVNVJjcaOllhhmLt} zqN3}Hl1;q2ea!wB)ZF0J)%d9$clXXz%}x>LLt^$nwam|EviQT-fBc_Nu90|HogsBf z>x6~-Z(>Pe!AR7M4@^MHuKmS&=65{OVQQtk2ByMc-ea2DjdKZqjcbsS8Khi`;|fU( zu3=p01W9WLE$qGYn@oprRah@eB%G7iAHu+yy|I6Rrn6 z?A2-FtUnUrTU`ttg_9Z8CXS~2wwoArZ$+r_$-|Ou+8{xm`en6%lekTbDgox-a627C z`E=g^0$@e&8?ewNtU(t^mfMrKO^*W7?S=lLhOmMa`m)lc1k6D~tJ2ewH8i$o=O22!Q7fC-EAEqc+$c=2u_m$Y9eMxg5|W zuHQegd4r|I*|y|m1F6uJSv0Gj0kvV>_2p=##W^pfUJ(bM+eI>&aR7=S6Gy=8A^oH) zVSVu^`Cl|e2WaL-S$5^;omnx)MD|A|j$G6J26I5XgP{oA6Cqe26>ld5lcchxOqKHtel*Tr{DGD6?`}YQ}so6<~(UH-s%5zj%*?T zx3dbtsp={($u_k`(QeEY{Iu;#ME1k2Dt-Ip?qu?PTT=J7))PI=q;zLIa)WrBudT_;;R9Dyyl>fh;o_Hv~^S~!vl;-gGRA_7Cg;nVW`rLJY#V}>{I`6aMzbL zqs40uP8?I-%NMxpn+%+~=NHH?I3mg8?jM!N?M*(9$KYU)EuPa;N(jQj(RAWYYUo#8 zZk`y@L;Ka%23mr%5ZSG_^5#o0V{7a6FS*RC<`y4JB0d{zgO9Si>YF8!PHs6NYeV{V z(KL3m1T(JJzC%>bZlRWTl0(a`iHAJWE%Uq^;1Q0)KG5%`w_)1HWwqH;)bp_1%+JRkJqW{*9x`}ifSo~c&X}=Vj-%wTzlC*pg5W!H^FxV_#PMvs)t6(H zKw90lsbfjcBCx)yyNykGsogQ09plI;K=>?mIT8Pve^rHF?6$f{wr}9_V(~Pga#7YF z@?uQ&WoJW1wxXDk;Oa{oxZW6mlm4s(6>SLBM`s&Tut_{sG1$9+Yna66vz_Q`iMomb zMU57m5)8!xlF9a?FEh2Ac$`Xd1TYf)XUC5$+tV&#gMmCCJv z9n%?mQrn@IM;*RA}KQj*&-EiGZ zh1pdK9o0at!|&n=j?z&CT4rY<-b~9ZX6+`Y{9zr>7J}C4J2`Rfx1%4M|Ge4gLAD7f zm`#@{=pNKE6Ohs3PrXc3NR0NdjH|@wsi4KO=974S*a@B8nVLUJ|13#6>yQ%o9YdPr zeGzEcOw(2u^Y(b6!3W}~HVFj_e-8czjk3Fo8#Kg10Kw(3DH$Pa5-=G=)y173s7Je~ z)#wCtHM1+`3K3qEP87p5R53yypguf53&Pezz1V$}a?I+GvjkaybUNO>U-e5BG>nXG zx__xTgrj!p#vF_NLg1N`(ZP^oWg+cW$*$R*My*i__bO! zMiNP4B+Lx(1s5a!`ODuprS*>_N+uuyRUA{#!gU;>5NjFhtJ~6@OEr`391rD;Js?jXGw1v|yLO%?-Is>n#HYcb!>eC6V{zgpGCh zMgC+|?L_VR;!W|603h<}zKlkMTdd=N=O3$V*QXu^F7Pz{SOxI!fa@42iaJ#z<}wDR z_lS-h&0Z`9&Zzy=BiB`r2BseB%wM#h!2K6nFG2?i>+;ehSTe%Gm$*4)kM39(#Du4M zZ?%L%`c^@SxJhn4YhRnKzF-iPQgYgAp|40Zk|CTsBDcnpg;JKrXR7^gT~Ll> zaPpOa46Sw-0*#sy<@d^#U0ru9_lQeMwTyF^K?q7v+!qG-exPn?=MsWF<}5PS+~FMr zJx5wsv}Z(DUi-#R&3|*tFEj}eQxX(<%D#9@mW6>wO&x=(BE}?p#;#1HU!<7Vg84F~ zIrR>KyP#{Lgxi>yP>0y)k5brM*E{sv8+Fb(nNa}viLUom!&?Gb z?)XN@db2wR4@%7MtyD1)-{y-OKEE@}cg)i5$b_TU_qq-}?t|g@)u# zCMW)#LCY??jwvW}bPcVM zZ6EV0#JvfYnPG~8)lDSYdX8t);OY2m^4}N9WzyzNzS}yg>SFBKH^ehV#laccn(TB0 zESh56%O&s32n7RymIBIgUnP8g2m<#TZ^>Opi|9^(9==lb9MTxF7;a>mFg~I8r58Yw zs9uOa)Fi)W20&VhdqAn<-|+?2@LB^;pr|g=$bgn)3dx2HuhwjA_+{9SfZOFw{apm| z5y0xLkmOLxvc2wEw(nv%tljavKPRciz#~ncdcekFiFRAf5mGjfGH*I&xi^t@V}JA%p1A~FbR*_tZwPAS z8thuQxT4{yC(y6b6uBFP z-T_+68_ER4QI|B<(5DMd#$}i-kn@f!EcJJI6I5uMeAv>CIx#*isqaTr;NZISqVAXG zggts!O64EGAW9^Jgcan=cz55du7_8%5oXJ#l2Dhv4O}>Wt9g}v96oZhBJ~FWu4o}P zz~w6(jLoW_%?HI!2ynxXP!>d?+8VPI7)WQ}q3u32;!<^^}I@vKNSuBzM8)qSyC95Y(c^sj;OadA07P?z*L zEK;e3^`!NRQV7oTeUx6qGr_7wQ%D!tcjTyXfvAPSM-iw}1PsbIbvwgTxj87ecZ0EH z-Ssf%&FcETSimhmV=rs8``tWe!LK#X{_|oT$OeJ?Z*`;nIx-6ji%;Medj_rgztAeu zP#?`2g()z1-{GrJ03QZ2>L5-ElGm(f2oe_NU?S-^T6O>Lurh8;fs5%~K?Cw}+ZJW& z=CA~$-$^%4v^sJ$gLY$h$_}3N?BKhU-Lf7~I+wYTz}(ku_$P5?6_JGAumqL5ZSR1_ zXu}d!5e3q@{DDINHE^Q=?;&stla571Dm;d!Ld-FcFx)eA{*Fk#Ppl9d0{=y{dw}W9 zrJ65NkM&Iu{evu=XaZJ_!LODv{hqP6GK-6>FWyM%h}`!uyMZx>d?d#$S*S6}SGuE1 zon9ue8JYrUgf;xJG6MgM*T`867=r3(;3}kG0DyjZy6G&H#p~&TFaCN#5|Gmyp4lh* zXB;AY>VO1yFux-`e80)OrS>7f2*O6dz08+Sh*`QufGFA!g6DYjS8AGIP<_`l%l;|Q z=zO~ol-;d-+9l3$`0$49Ucmfet||dbEkfF}>18YJYVv60OI7Z{$;%z?b#i8W@kv-&F5!R;PoM&(=TD_!C@LTF&!To!J((v~d#Czfqvce*L58pQ3a|-SqX?YDG|qnZ`j% zKfEraQm2KqmYkCEaC%X^MzYHf(#g0w?-7w8u_hgIn`PTjENhNeIJ~K3m0ro*3aWoG zr{Zwkl88sF6`4UCzQDU-gTigG0`*;39GOtLiV~hYGB5e%Uq$aY~DYagKMMjuZ+J_m2@|DpDK zR8AImK1_8EGb8nyKOw6iXckKe{Xyg_bl(K3mcV`PGDJ@+to|Gll~!5uNlP=#mhCI| zy;O#Uyxr69LFeg}sH;NmzN1B(1+^~v!n#PxO1gpa$L$7X3xY|#q zQ$e)nmMaBcz^dwM5G@fiJub-(3HVvQR>GHUmS1_j?{@7vFJD3|1**Rc04@Gxpw_2O zeF7(+37jl9acc9cSL$p&bpaQ9wemJD0r_9F9fs6OL2)3Vit$jL$zi*6eqL?ZOU|CX zVHc&+5+#+C>0)8ng zUiDiP@A$(+GJ_T6N13t1>1^Qmi{NhSP^H=)GOFC!1gyVVJ+Y5a)9onIrTj>9(xyf0 z_CK$AW3-MY;)W2p)^>0S{=DOB*C7kcG=PP-ZbGwL@BN&(DSUa~GvrC>S|P)!7bura zBri34pHM`nN6?7`Uh|cY7a@AKHQ};Q;9}yH10j;wa@3S@%b%%V_6FKfVuh_zo`r}V z*_E=+mZiY5K0I`fc@I?|HG^l9m8NYDtBMT=ZEiv-O-;uwTw=c39}Bp`S>33YxvI|F z4rOPtbC>IP5&jWjAu7Ej=M;YiM4ZV2DU2+$lk8iQ4xZ24)gcD2eDQtc(gSs?_mft# z)oyv(Dx2RV%BFrPf;^^AfeR_n7_6Qan(Xxj$6#uCT=r3cyMy$QFUw*vE;RgOFD=H6 zfnqC9pd{_#^|)nt-F`VtCtPs}xW!b=*#3zBB$=TY4mL72RxP6aV@C68LL8>&?wY#E zKk1sUM+7CEJCl_a%@-YUZyUg*?RGnkAj=2VCTlvy_~`+HnS3QWCK=E|L;Gx$#I+1p073!8%zM&JyE5HGckB?^B_1R2{F`mFmD*j;nBo3sv zyVyYgOtq*q!nmi1;wa$49Hvexg-E-L&Az@?RZ!Ki>Ap0~k8gWu7DQJc>%%=UhB2v& zk5*#CLvj{p#alg01Icg+tgy?FoVme+Swzo?s@-HoR=3&te!b;i*$nKzd&^@~M-qw@ z(J54Lmfo2Omoq!>%FcbUfh|?5pdIDNm3C11Q0Y3l+j9TaOfElQ1q`g{DqR%YURLwv zG^4GlbWD5suLZ@MMHw&(>0u{QOZfg*(G}hXG~@|s&tS9fC?bIN{Fv#8k_@Szu@-=Guk)0a5v=|I z4goozB-3l6pL4yFO&;RmLcayz+bB4b(3R2aP)9v4}>%K z50R43F}ka8*l5-2+xn(1VxUs2)c%}cT5Rw~X9VRGue0R6VxN=n^j5J#>&VAuCmG%3 z{gj?M2MbFJH9i4sOiS>A+`apmuNdu{nLsFAefT{`5i_Eoma@v9)4DYKF{vF@1dBB2 zxT-^N*i{0X`lwwtt%X(-iBQ&fHx_qyZD*ZZDCvL9oSazwr~y|{ zf}bCBh~LfmZ*s>Gq`?~$OYabKO62>tm{vgGPzVDNv1or>?z6B$G}eGxl7vK)fpfmW zYz)_K0ZV_s2BUPc&E394iDCyX8Q62#js~dx^0x*q#WQ0cW-9%F`p@CLMH?aK&L|hA zBrcm-L<@Ns8MJ8kTZDF{8VZ;4HP}4TQp6cyi{U)Oa;bf-Q>QXo+eK&L;WG(8%6jI* z#0w`@oA7n$kvj&gjhThbjjowxk7lXGBIf*6{8+cU4PA{PS!JI(OI+Y;Ba+S4gIG?l zlt#)FUeDS}njLX8@O<|fSD|w0asT?VN3;?*=34yN<1^5Qp}qR(0kK?eWSEGeWH@)v zpWZlwKF+4ku#i*O0KOdpG!(Cl?w9$27@>+kWvH8Z}9NY{%D_x zYuDOhnpBjFjF+!p%;aMHGs#sE#4^C{_&RHBL|K%p0qr|lf}zQjwUwT* zqIg<(J41I>LOr*s4vt4E9$rj4EfSc-@~vdwdaiE{Q#sawYcP=jca}<|VrtZcgsgQj zt*$5Jmk5#tSn?pn43=8C-^3Ybz2f)40A0N5cjR4J*}pNTv_rT%1lvX}IQmQ+V@zxuID`tPQyWWf5sUu10o80Z(XSanuzpf5u z`Fihv@cw<@#fb;|s~$uHhe|~s7BF=+;r-z&pm!{M8z&~{^Ia!%Hp)?06Xf5dYl_QJ z*|TjGImdyKXvH@xMdDVW-b8`Ol_RIV_-+g-BY+GV{lSlCh%<|1LNoi%lQoXi_ce*` zkPVCyHVYnnc?Bd~YV%wjL%%<)J6yM$Qz1x5Tzd^sNk^QuBrn^8aA0<0kWolTWJ6?~_x^@561KjbFmvL-ZMDsUj-+*w%ZTlVl zq61nZVdv1uRF9dL&YVFRApX)_)6oNj6vYC)x zSow!K9PpO#qS-{(HBMQ|d)gA_KUedwr1U34HLd{ntmOcwp>Ju33FCv}Ec3?o&wzRU zclgH^{rhPm-6(vnZEDb*)ty7%^T>z4IyvGfMY~E-)4Ee`u7E8NP*>)o8zH4(V=$Aq z)OPsI(;FjnEAMM|6ci8ys%m40CaM$^kk%D3JH zhl?arAv^0E?sPMi$y`7y(jmqULR3J-=!(AJ?^6kWTa;@+TEyph8JOMNcP6s9aYi>w zOOC{ycT2j0+3IyeyMV6P=4M-ID?Dy5rvSy7yS<(b+)}&qJ^r4DD9FxnOX^{H3DC^# zTG63MbEy6jDP>uDe1ajt(*BkC+t(gvc9|^uOLvv$#Lj7kS)IVaym~pDt40eb(80`5)}P zWmHvL-v>%}3JB7jN_TBS!5{^c?(Poh?odFwrD20~2?#3P-QCjNcj7tcecpaQ-f_pc z!!K^w>^;|9YtH$PU%+RCA6#N$(=cj1e~#d|JsP?pE`AAu5BpsSSNTHC`U-wi-)R)Z zmBEpGru~s}@`nSzNjfX@Ct&tmI`DG2BNPn5&UBbmlr>+W9k7SdC5X5?d$CJ2XJi>8 zKuvR*7<|~A46&}#3I_{$PW@y%c-Kk#v!;t1Y+X53>+C8B$ zYiLKLfjZ4E^D3!`JyK9hfBaQ-9jH^7a=Rjv3f`(F z&1`QhMQ=OcdlSO@DdVL=#fWhuw^E1%maC=J=!%)Gawtp2WJl5AsBrqQ^aiRQR>5an zzOL0^gZZx}_Xo<5X5pxah*gepUcvaa-=`#N!MmAEz5uTuDw=FTqNAJX1K%7oD40W% zE7fCguSk|RY#34#P4vs@i?C<39dwrQ=T$Qh+`Ah_zFkih5J&!V$O@MhjwWXQ_Aj1D z*W~k(0xoIT@vqPXWSf_-EdR(^vKh+3}{e(>PPb;_5|2%>&*vTz92+zfleT?uN@ z;xA0JIsB)lA7ZL`ko!w0Xl}GPymo~Jh2^ z1;n`U)!`GqOco4+4GNJ zVHcnnqA|k>picztGy}!bOnFZ-m8|k#P}%HztF!0uTH&?AUufig zF|EAYY3Ug>K2e-OWD0(d^AZo#@s8~yQ`xf(P#JNHM29?{E|CMZ1&nvQRVAq6uO5#@ zHH`=(2y&wZQd6lp!lBT33B%$M?#Rnl8%(2!8l{|6G(0N7uTWQ7}E~U>>`m2?80ACg_ky({=OsE@(0S^u&JS zx71V&m89-qrg#h>3ut4fYeSs2@fT4)REaaCl$BQxU6znI>qH#IlC&u~xY}m{{aYVi z9;0BA(Sp}R@=*Ci-StuIo)9)RLn?UuZH3PXJ71l7)U}}`)!vJ!F~9-0AV6;LjJug~ z!W^#E9-8c3kL?O9acQe;7Sf9~#?4*WK^Ms=RSPnGxALK#Cxn6O@C&A(aHL<#rRUYj zP+{r%6U_tc32gHou~?37LRr@~BptaWq&q;daC&COS2VPWI4uRXR;a@J$lH$CY*UCz zv9pF+7T0m~S|k)g%GEDmjo(G@sBn#nX8csWDx?fiTJ#<)FO$ng{hMw9_GK62yQ-aq zsePOJ1=nO57DjHzO@&H}_pFi+Rr{ud)+PBBsspffx=Vcp<$8A4DN6T>yw~JwQqck< z1g`oufacM}HqPrlNQ-Z7EFp{aI{4fMKS1Qe=*=5AeC5^!Z$J(5d8$@%kbTjJEBhnM z80n@D;JT&Bqu~lo$6xJmn)G9^HD6E@n#SyBU1*>p4wMTgf0Z;TY^o7O1DpIJk*^1b zjpWNUK1%8DVT&X&M_9;xDyef9h?-Np{sB)&C6lx4b3)(XtHvz&cKUa;lbdqBvapws zODHo=oSJN+@cm*8`0IJw50V5A2`{YYG_(2+ZhwCtYYucH5y;A+2> zmajt!4t{l3OF^^<{{r3E&!e8xjw+OkFm~~Vr@Bb^{mGCz8I_wyQu#|`s2?LM2P*4= z%-oscAZ^ie7|r@ignsRsr=%`WsPm@ zfk599$zFjTyzHyYIXN3Us3xQiH6mF-fuK4!mV0l}kL2Ff4=>R3?s9{oc}lO4tTYq8 zx!{wP*9!X6s@=#GuBejlRmt9?B|ZinPPL9(Z&TRLo^o&y@1uCovsP|7 zcyNisaJej{Fmch&g#_ojlzp*BE)cMx#~~tO?B!Z^;YafnT0S86$y*+bKumtsb{)gR zfG#)-jPIK-meJD*_H|s@+Kw36P0Ey#p>?)PaF7Ch8?|ofhiXFSCIabP!N6wIL!WB_ zx}}n}TG{^7WsgC!t6yVj4}Rxd#wx|^$=TT*iQdF@{Eb4bU)O4g$myaym2g#>?N}9q zX;qVm)dz?4=4TSRmV~j+tfa`~b@y-eR9YD!%r=&{#A+I5ted)Dj+H;7;5=MEClYLF zrhh%&`%f1HvT_vu*8i)Bzu}*BhNJwM1_F{A@E#cc z21WVaQ3TSZ_r)HRC8Q)Y%&JwaxDB$ROl|3V05U+bCIrfgrZbr_l4IPL2aw4R7gTHp zRZWtZ?t1Hsn$5O`aM84j zJ*sH3=lDyfC(sg_n|TW*oQ4}V8TRelH7eEG0Z~kkYz5*EV8KWY<(^8_58b&-UfLkx z2MZD$9YC|CB9QiXAE_UWBzsHQEOcH`f#Bn$;OSp8@dXX`k>g8(-cgjlUjLcBzelcx zV;i3-X==*oxHBHfCGg>dG4sibhhY7mH`(&|%E=x{^i|}^y1MVAmtS!Iprb$jE!8tK zWBj4dB#t7Uuf{8~gax#sB%-_jJh>raML0m^4KadD=v`Gc@KhrLDw-&2R2;(q$|jw8f<1crT%1W4o5ZoOlVm{c@UW4>P`3 z&(^j|1t*27s^KlQlXp~uS{DvM6`VAd7Z~R7o&V-8nZj#D>3w%oZZbel#I6g@6?;0e z=)@qY|M5xu=izF-MX^03Z2gkKR);HN5#R$$~(`C)<7Y&8`Tz{&(m z1fqos=E)?r1(H2~&g?$#eeVez>eouOTfE4mqDZ%f$?K9c-Uvy@KcUyPx*aW2L07M} zel{)kJsn_bLcxIkZSl<@gdq|JgXWiH;9!{T$~-1;Gi0#j|BAII+F;OF9=r0bG*bVR$q94H|9>miHLM!C4YmISH^KWz_ggU%FQf&Revfq|-_kEy8`z^t3Pg~1i= z@lzB5hxJu00q5U|4342!f2Q={^}`B}A6fq_ckaPNB)YFHHG121-mw&(!4}5;!CAH# zjjmnh8d4XmT5m#l)59i5d5Rjxq>81l z;f?vz{|#Dou|3Nx z6Q&J!ahGK^Q=<<9+%A^0X{;!+kmQw4npHa8jq7r+(o2iK;BL;rm3k> zw5n3tTQsSXe^M=Mj?Be7EaQ@U%h72!W4iIg`#>ZGA`cW0 zdBB@niY?uJ`9dp~2?!a3b#?~g{s?3UXh(leqG7U!Bh^J|d(`K(w4vX9b5R!-R$^G$ zv>T#&q;PgI3v~;{@B141i_2tAYe7e{WGsP#9%A&Qm!>m3TR!hcj^*C0 zj3&f*wi8mG9Z_VkD)g-CRVY|wf^m5{RS%bJu(xbdrSs%#QzLItX(=r^UtHi`izDM(i^(Pzs2p_Sjs!^oQAbKn z&PSj{fLL$81_uVP&*JwB1chQ!^kRNkPu$Lweu*|X@SoVIJ%8?)R7dgIvW}_k^}v2k zkNCGRH@DH){6`}gEr@bj9@)JTUet>?u+rlhk_1Y|jVN^~4|kpiGp-8{#V{c9g9XW$ z)CMKZ0arI;b$6ph&h#`0WP(SNwa#l-prY>%NIZ43;g2mzaf8$iMu%zlB+sMWv?(1qi)3PR6Y{ZTL0 zo+1RA11O1Gc-tX`mdP}$k}VVC%(@VN?IlayS8rS;DoM6{5!WYmO%`A(xiu84Ocf_9 zO|V;#jk-P|KFIM|qiwhP!Ycr0On}w6#83$Q>zb&*Y^HM&nvLNp_uHB}V+5?BuWHpf z3!%Ptnn#KzPuU+ziS*M|hs0ho_8v|x^Anw}xE&`keMXt2T->~>R3xJldP&K1;a-|4 zIgPo;A^nuo(l*Vc%QmmfH4iRy_U+8sP{jZ^T&`*`0>fU|iw*gy z!M13+khUPsM9&5gXxP9P_m>na{GdQ;Qcuk9Q**-FgLrh)4xveIg;*}`Z=f>_EcioQ zG=1HQt!6NfOpseew{Wl`i`M9Ny&d3ACvuxT zDgpBTDv#l%dU^n)&|JP33Z z6bYjUszW-lCYX*C1b-_526epREI^A7p$RUU=z$*YV3V6e>nUK_^S+dkS+%eQf|w0J zli~0ei49CYY|+54kuRpa>tK7maU2-Tl7yXz8c$k@&iA&>$pb<}Ac;c(8-)LZOuSSy zdFeAKnh@8$s&DbQ&iUTlpB`bR7;N*NVkApC^yh%^bgmY_2^Y113{~|j*Ui_|;$P8D zPwe`8GwM$b_Rr5XY`!6SUVX7tCl_{AICcBn;g=zMb9ZpcV-;k+53v`0sD>}9A*8ds z#cLSbMs<2UYS6LA++jeQbAgVW$d?*_WRJk(vBg zGMB;XsrxLJ=Rrr=)Gx-UaEW=)g^%L$$hpmT%jr4I$1)k%7M~Jf53d~zMxr@H`xnZ= z#nSga=qY((d78L5?{>&KpQvN*Y0o0(-x0&fTkGJg!K1wpuXd?9IB4I=Pi$>ZuyxvS zp`?T0yLHBTp)T62095l4?DDrP?Qb7!H~PsyH<8oZt9@hecw+#*S+ek5X|jqqvWFMY z#uFr*?n&Ze5cawuvYv11%E)lun?;pRPbADn#li{#0KG#|UD2n(^jr!T*!xDVHti;z zfJmQ|hQfWR+}vaqYXpS4H2D=$a5JV3$-}W0b{4sK1pYd+74Rs+iXlZhbi6lr{_UK@-yZzOu*^iG3qq%y|>1YlZPKI16pYjMba&;7&qB zV7rXd8#jz#ZS2mQP1QS z4C(uy;e>&M@IgaMs93XcQZBpGJa-kh01mUL2O#pWK-e{76M-q>a|iFQC^B>)Bf$DT zt6&n-w%1W z9CmsRt`xpMr|AiFn-o3Mr>Azot9ZKwK!$79o_ass2|F|pkxH$6fTBftc;|Gx;Cr>j znrt34q9Zz1VOe3Vba78v&DIT-lz&Q<`vV{T41-4L_yJ0y%yyJIIPN1dj3#(eG(kul zXG$w53lSn}XDj4=k~M_b@*5;$7FO*!cB)zMpD-?BZsdLl4w z^}Z?JW~w64hQ2Ful4bLto2ATF4+)>O_aja4_FdqDgVXjG%P{@93wLKgVYcUT1W^NM z)@Q;<7=9DS(X2uAX}gJfH%MiyN^RKvDL8s@{wI7)saUsz<8qXM<|dWKO976y>-SOL z=h=!m`Y^kM<(M`pODsUQhgM#~64Z1rGu+If#-S#n^{XMM+ta-HeK z*cmZ^tZwpVFw1hPVi35)YGWWy93G%0Z&CiKYf-|PgXlGL{UffV!#oRY=}t11^zsD> z=6pXEDWoDyf4y~iutuEf9?&<7-c9JdkZYf$J}UaE&R%#Ui}*Z<#<9Y`WEF zm)TPbqVY_f)kRT_4}>HDUMDrjQeq+>f=|#cEnB2!vIDGcR)TN3ied}w!=KzoPdFu zeI(&4%+!XL23bIc*fi0BPW6I~QjD1+Bh~WIyh3O#@64za6`CP?^fU2bkQ^1rO)ck% zh)y!6u^^HiaQoB;8(Lz^o1SkD!I#UwJ|BSGAIQoXr4C0kEP8k(a$`FbKHJm{&nQMD zi=hyFgR!!_tgMdBUS^*&mUL9Wl&#a^6~h$!iWq-~d*eX)6+@mKjJ#;KT%+Q4Cy*=1 zneMzAI@75iU*+h2FO2K2j$qq97msy`4WvJe;{j%HiJ0%;m|4i`zVxso;Z5Dr4UjYH z`gu9ld1HVmH9^t5XtB`ztw??yuD~qQWFVd0W?ne`chRXq0L1yn=0#uR*hhYv&6muhG6!ZY z=5FyN%vO?|L)+W5j+c(d4AvM^CM4=5^;R11QT0Nt4mC38Qt|b^f1=9O(>xAU5NHa! zh-7&G0kS1pB6`Ds=b8vB%}V+yM`>-lAQRqs8>k*>7F0_`5^Lh&|61DTx#^2s@MiP~ zS;zv(Y^`g<YZkEaXRA4G6?Xj&C%Fc>b)9R+&+t2xCe`I-XJs$ z;ZPA>-=BW(AUn#|;r>zj9G^RToT&i((Pw?X-GScwP8xYHTlhyVy+J>o>9i}+--xl^ z;wqpCW>UhIeEKO!Owa6#SyK^oHo%w^70$_E?{{RL;=*A;nj=+0ZD>|GceR7e2Y- z>^BzZe&|Q1YI%1HcJ2%NjxO&z`C+|*Fu}_fAv#ppc-CNhO?`Pxt9q>VqCi`aPu_bi zHtk?vyP9nFl?a;Txp5xeF@?7ahQ4<_tud4IJBkYf8M+YW&#_5Rc2qLW=1b)-Inpef znQ^p|R(O&#!EMM^VTYU+&N_jg+p&wgS>TtxdzBxCn|7v*&^r1i(>BNrqrYeDF*I!9 z0r9z{PyXQA$lL|Y3=sCdxY{XG>HPdu4UX>h7nB4bZ}}z{whcEDOO->^H0Oha$Dou- z^HHddO#29`tG$M^D>D%vT0F_MY4IcZ$M{Td1B!1|@^bSs{Y7pxpKbbRDp-6U%8{<` zLK&^{WfP5Kn6qZey1)`}fX zdpwr>%%aH)XHzKr2EKg9O3yQH2vsBG?!w=~GNwK1jH0jg!PLs$&Wi^iwtR<9gVp6E zBxI&TY`unr(Y?GgQKNxH$MGqfi|Um3`x1(h2^8p0Toc2)-cky8NXw*2X-tT{ z7dzS5^0INpO$9z=pu0NC?N1Y;20?Ia6UpYei_fFWH(P?AT#tosDqK)|r@7&+A<7HU zPDwnt87;)FuW??yHFp$<11h3 z<*g6VD2oD7G(A=kNsIeA>%Aw7g}qqpn>qoN7B5feXHucamN^B}kEEa!k}gguos>Z3 zmsHS6PA(lPc4ut@DZ@e~UGo@>VSg=LXu^B|EF#?FP=6 zOMZyZ?Y`?v&73=|6Ktjd8AA-8m@uov)PR!Zn%%(@5A0kFAM(j+HHio-h=jA3WE#L2O2 z`V8EgYGaX+vwwG2^GCvTCF*0#a+A)j1bFaslH*uj8ake%KQN9HgqMTj1GF?h9j%hF z_1)tMB+0)m(#ohNGPaEiKX6m@j2p=3`WmCNp66Q~u!qXfsT)X{nZp4hYXd!+01yzC^kBvEd|)cj`TN_!%1^yDh)%I@1rCe_o`Nu*W+&iDXiumWK^+} z;S?NFR<}@XZxDLmSq`o<7sqI>8!| z+2jl0C{LQZ_c|gDbo6?KddOUS>fms&p^mb8d&pnH1$<u@8Y4XxJAV(oR%bGqdSBx8E-BNWF`?9zCcV}$_$M{1dtsh1^m!v9HS5h!)WYP}OS~1=HJbc_Ud?O@!Z`Oz54OtO^y`R*>3nhE~G12WcZU@4* zOOINsna>@VK+l!$zIQeMA3pzYu>jUI)SB?C2aCfu9UF7<8K=Ie&o+nSJ=-?)o^d^; zNqAoqefx3cP{5x|btryp{Dt1WMmx6&w@DR}W-U@;rvIe;rL&mbRlni>8RzhoI#07- zqW3Ic`>l|B2c*d$kum%_a5sIxz(vh{CevffU4&T8yNWlWEOK<2t%pOk;X`U>J0KZ^ zvDFTxwdXEso_TXDw+RciAhESrx~f&`gk8J{*GaxOcRO!u5C*^tz1_Z+A2aOrkJ!BT z@`)RcPL^!%+V#wG?)PIxC~Thb9EllJkhuD&^c4* zFTzUqWko`~yzf-_&fxhHj5;hWi-xO7a-;fN>{F+mOrkUWA5i`frJrTQ6lc+9q%py4 z93=S-j=d{@^B9#hB{nuTz%3kdcIZ%IxNdr1y%yOIIs4gpr4;qzY~@^eBv1Ay#Rxm) zFPp97Xrt<Q()KYnrV6UjCqSs_;)GZ@izr%lH=k^Y*9l8Z|zg|;?hP{TRSt& z@X+D(ENK;|8!p}03v0l>H%dex+vHm9K7H=ww*CQ)5kL1aBaxFd^Xd8{CiaTYS_@oY z_Df!n9B{tQ3bLe2KB!x^Y9ZWJ#dD0A2(=lfEL3RMdwUWyl1+*xth`x01oi4V9USAD zNE2oQ@z;rg2M}=%@PQer>ReG+Bnd?71<(U0wFc(E-=HetxFgN9sZeXJ1+)%&xY>@* z4!?b>Ap=`I2(aVW+0LGLAG2V$nD!`5R!%VXVfSH|`i^SAgQD_>5)mscLYBB!Z~O1d zXu7xdYR9i4g8k#y5~A5#@=Z#yUgw-L?4JuZ+?nnYX$VO{?xPNBX%{Iw+*30pd(`U# zDE*qmxatmotIm=n>tg7~Xwx11>JMGL8*lK4K2{{fi}U^NdIsPE0^QN!J~nH) zZn@$ipF*R!*bArGI=hA=RVnAsyn<^5?xT-{I_9U=wq(sT@aI-+x=#SY@+mr$~q@IJnU^ot(w3P7zfC z>i?2mSm9rM{LWf(Y!fo!Dg2|^Mi_@Q!|paqaGWW{gHNiP`%nehmEzw5VZJZGUH5gb zBSMQw_PPK*aXC;N=p}t!a0?qqtI)a#+9~+ny*IRM;cHf?g34vubH7EBlSX2ILC(*e z39n`lgaZO|%yg{{8;8S_Y+2G^P?a5-5X`&$a`}a4F_|ZGwtzko3#zyM%;H!nQYz?7 z&eZV2T_Q{>grsNtWr5nVHkQuv2M=%^T7@dT+JN@55urc$0>0Q(Vxm37rTq znU1c`{7J6Z*&p`Wid3Qi-CPI2m+dG9gs{H8VJjNu7(C9^B^oVa#K-6^dD9+(9G%|U zx)rQg|oOHuAQ>?H%olQ*bnQW>f}15=Meop&M3ihT=I#gq>l(A@bZx^ zeHX<0#NW@aWL=TI0#kAmG;2bV`R%CLd77w8PRb)W69t`$LiDGRfWR;d*$ksUkfJ63 zDc2$Sz!m45&M@4@dEt6{a8EVC?P_;RWc zMYY+Zo_U@T0?5(;6aCl;l$r@AdysIYqN@)L1ZNn7K-(jSa8ioburE3OI{tnV9RURe zWl>Re0T`>isQ7qfnL{}5b#0}X@N59cX;Zy<9E-``YvFhoziT!@HjTHt(9*&g-f!c0 zJ2~P_&q!&R$vN`4RoQL(YU$t8#c%(2x_H6wVf|D(6R>+;rh&clP^gdzy6dizr@0Cwbxy1AC!`y=&>i*rFQQKOFDcPK)q_M}>&Ft{&;;J|DcSEb}^ z`5;_BI&1SIgS39qf|w1LAd|$IqkJvRlZ<*Q@cfs5=yld{le6vaJP)o(Uo68L^3Au! z$WW< zcm?W|h`nF1*{RscgU`l>v;`V~82a0?Q7=fvuOX!ZMJzox&0en@x$vI0`=oMhm@88 z2XCx(FNb>%PNSgA0xTTuN^HYE9rgG%xi&d|_HR+lQE>BbU=|?kmG~Yo=!C2Y#>s=f zb-|ajk36=$KC{wQ$53$tj1+{#bWmnjX{v`2HCa3k1LTc!KogIZF4e4m1enWEnVKyV zKP&~H2N-^NP#=LRpdpiw@K;%t9aq;6YjJ0#9Uf9D8?g740aX@>$`(j?;A3%o(*Y8f z9C5#^B6sHwccmIp|E~H-tx{aBpk8dV=GL3spuYdxLf6n`7-qL*2yG#2a znf?!3FCfV(_?QD7+EzJMJ4eP%|639JRTTDTu)=$wND~M&7#vz^(F70r8<#SiZ}|ni z&q^pX{IK|+dI$im_;%@#<8jb0V-@=;=NGETMNq?>#r{!@98BwQfLMR4=3q|0kY+)q z7!)5?xt@zrwcPMrBJta$hU*ROt0-RgQl%zxkEwN%&Ul`Lmk?Vo3didu**g34u#n2t zP?WHMT8mRZV}fMKy^_3rcL6r9{NKXI6dtusk8hkdT^=fzpqWOZUX+O9iUCW}0@JB+ z`V6IPjId&rC2NNe?Qy2=1K&GokNMOculF}N@H1Ldao&Do2oRaTgR?hp4p*CbA6??Z zwZqUxGtOYYO9zWbZT9UPn{l!8rq52ZKk`rXk(F6vHL zbUw9fE22zkfNMK;)uTG9$u~W^Zu4gF`&u5$U5a{ON)W#w1Coogqj%Y8CzFgchU-|9 z8Onod^wW&8s?`7Dg?O%2O-HI?zSJeEXW6cr8AFtHg1=P>bAy%g&PM=LMsHmS?3F{0!X5CKoYfD>L`;FZha$z9?_}4dt7!q-&X!P zm)A0`W$4i2dc|~d^TuoMt_9c#j!-WZYwM=Ac<=YGpPN(@qWfd|N&7nh7XExk=9C zhh@d*PV$a?@z3~C*lj?@AeA1w?wrcTL4{ViYrbQzl87p3J2qpgGpn8^lLJ3+zSp=P z<^lc}Z6M)6Eoa7%W(5=KYT=|r?CE8O`DK_`*O=P=y(Nu`he2 zGxkXk(`dGkv(*}lh$cD$PpiCDp!-#%rA}B_#oF5x?Lg=5 zaeu%Bj9$DqYn5y1MhL*pOSm><8CZYR&6~=jr3cj(kTYv&o0#}QFT~ESKn&1!nBtdOOlx$Sb!2~(op=`NmFK(Q4UMhVc#ND#mUK`JyC{BD~ zP86?Fq(0n)sY%a7-5tF{oW(LAV{&lPritV<8Ynf9@C;pxaL;Fl6AV91cO z=1K3R1)L>cR=%rsZXZnZ!)g!0R64Z-TA4+noRO$Sjus?o#Q4y-n1Vwt2LPC;O|64Myi||0gh8qP26s` zSIz^`(U|_lm@)8Npvzm5IC+!8dfq<8!qrE$Erkt5G}1CH<`EE3TYdHNrNTp6Uz!;S zl#`l?)j+XnkHA1O+Szjny#nBSLWRfwK*axK@&Xh67m@uB8zIYPt6bzO8PCQ_e@6<-R+P`q}(P9A~w5rBe^~rgkksQAd~t2NZVTtKTP3s znN|tZ(c_1jikjs{=Yi7jXwAaw`1YdBX{FCD2^k1voa4zZ6N1?vzS)o&v0Xw6Eo;XF zv*7VXTV2;ui3uFVV1tNhthc9u-!{wJA8+vJT4tAu&f=_M7p})YJNL&)plnX$_2|9v z!%``JN6>}5miHT-V>{84GXvymxrl!S zpkVt-q=a{Lqe_h=)V*orC#n>)YB@dlZHj`;JGEOVVoUNnT&XxFegwD%`-aWcwgv8( z6NJm4BSdT~hfP3?rkIF$&q>dF?jK`4!|W^CFez$-P4;fUyPI>@kz1bN(4x-Vsl3BX z^2A?y#u7rCD4_p z_ShPx6RU*VoRoS}uCz&Q1wd&&=HBs9R&o-ChP2W8`IT9^-|?$cEolfR3#~tr{l)iv zAfSV)JQK*{al;5$=!Z)Sp@e^PegRV8O+l2QkY~C6Pqc^rsB(!auAt*)tCdB!))i15 z&jQhweT>eO6o)cYGwE8<$$Pv+O=YVFPO3+z(HYav&(D?X_bN}h(z1tF5U?&D#K zl+o{&KV)F(mX>&tg&Hf8@`R#p#w8QDSM0{UL=O=aDC^2D#)m!2GB{<$Ay8CFd@P~# z7{spOQ3(L`*6eLTwc3|1|6}fhEjsGX{i4CeQHxzXq8;=GSzE~8bR|>#}{H*j0I=?j}>)} zZY^TUJ?S-P1qssU-?;7JKIx2wqAVUugP!zd;$v1#6d8BWs9$PKeMI*fX2crx0XNr~ z^VA#QO77;xX*sb)-*d`hD-wZMxTA6dqaIC+~D1Y{-)U;@J|gTGkQx= zE^ePD;3n4FN0@!jK;>5@^Xow*GfxH(Ol5)fL7XTbjzuNUN6dl9SlnCv6J)G-@ z9mPhywW!7-w12p;y9-U{M4~$Q*eO_ZKII<13bpz;AVlVucLz<;>}yN^y6300xu6R< z4aq<@#&|gu(&)N^8@E-V#b-PQ!)Xgc;rI+ykn%G)*&hh8*uyfz+Bog9FO1hE0(K7> z`QB)KReVfHh-@l7Om1S8Gm?HZEi84Z=UK#RisXa^Uk(#tc~Opns|I zHK`SJ=FvqyoUq3(d*EB|@mWp|0&aCdK*oEuP84+h>H8;K#$sjK-;}MMBzc!~0`hwn zF}|@v0|>Tt=>;iWtgF+UdkuDv9|R-YD6S0+Z&c?Cxc;W>>4ECX0dPjx4stlAzkb$c zdG_gn_I{1R%{Yc5IOa-XPEd+z0?l{_I?M0YoGxz0RD+Sm?DlrbnXKX2XaH-Y&V|ft zrX>QE-vg7-M$5K9G$#r8c@|%L=`$F)k)lDf+0%!Yf-pz4+j9 zx5|7hY@t1omz%sp=DipIE!RElC$@J@$829+=}w|iaD0`i01cL$dK=3xCaiQ(ZdtSz zMNqgQ9tKq-|NGkRf?u2?o64^jkzYh$J&Yg7z5^RFENM7#3*X%NNP!7F0KTC0mLQHo zwMg39+kc8FX$-<3dF4sN-o-M=huy{eO$K<20*Di6;StN%o{nw>9cR;nB5us$ zYvdY>Cv<&M8UE~vXU-3VQ^wPAlk3gF@=S4ZI#`zyh|%q8tsLdEi~NR6cxr%BVQd=X z@1@4X=QI`YAS_w97yA#4Qnc}Z&nRt{cG?Tqeo?0o$SRJ@@!|Wc#Bz2;T!W*Aw}VS_ z*J~ESRZx4*YIvD7Pq$C-?7O3rr{LkiOxS6a`VfCw@zK5 zPx2^AbNM|55gv=qzc7l#`FHfufWW}-0QvizqOUrVtyi%%3n0iE4F4gJI!IKTk2!iO zNi7QM=OM-^HbgqpkmRZ!f@HNlP+U2Z5pErU3?NT-rP$J6zc-gr;I?v#)k+#rg#5)L zZH{^x|MT=1oDt!Dj|4LQut+KBx$~V0)N)^bq@FgNhgKd($3M~X9!F5Il|&7+Hhjij z^CyP+!y=sv;3ryQ%Fy|Z+-%sFF4Aa@@cNk~DA597=^_t8k<<^d-DM};ZuOBMQRmr$ zOv&7GMpM;>zuS2-Bz;zOxc(^;XM(wzZ~({oCh`aucAq|msQ_j5sU`_@|4tm^M}ZV_ zi>6*oqaohAjc7`>K_41o8lYvMt2_wnyGVto7M?F47K}}SgugDCFb%R~dUKoyyQLv? z#uH)SWhkcS{7>Kc0c~ndz9oX6w19o)seyN+fC=wFf~6U3EQw7_?i@&cS8nt=jCZ-^ zt`WmZD&O>;cNRt^hV=m`or}(2$R1L)oI&r0)mbTBsY^6llQ`JyV<$g_Gy%n{UHoPf z)wYNCnF7l^4l^KYH%xr@NPHO`uO~G!?K0_eXf8=# zONe7GAkt{-sPYLAqpf!JcHI3N>GFsLWpcWpqvYRMm#c)0{V0Nqp}bS0a776nge?^g z&N=R#F;wiPgOr^KY!qc^@?{xo+)Jdyxyec;P}`=IrLw+ zmgEu=5nsL?Y&fCuA><|LAY*Fec#^;83%QGycXe{|_$e9PanK(NvwsJWE-pc~+FcCE2@KVGWg}xa9hZo4&#tDEJA`smpk|Y`crEWe4A^L)w03ljb^jW5kv3Vt73=i6sK3iQx=Q3 z!8%bBH9Kr$*@;%f3oWFp{7Qc5 z;7Q)E>nx)sATr>AiE-eYjmRb5teKQpkBr){DdTrMK{^tI^QnXIb%60Yv*Yrk*u^8+ zj_w{$yR$GqD@8iE#qK@^+p`LeQ<45N-|k#YSmph2>>m~r&_HnX<;yZ))P!N*t@R{q zBr__Y!&!5>#}>cMMO(0y#w0O)t$(^braj{M9!fEbfQ5zz$BpTea#^@$yFwwqm|2e9 zj8kD)OK_b7vXSpFY6L}=DW?Eg{PW8Te1;txM92@n^ z*o|A~LE+zw53#?AGL(`yV!p`S=fQqQrVVg?_aFaoy>Vdo9}v>>T<@WqTMq<8!-6i& z0ljz4O+_Ly zLhf_E?k}oA8V>BI&_c^a(&;JgkTtL&t7>3KA}g{3ZnNL+X8ZbQCUn$~7{rlX%H)bN z{vyv|JfJ??Q3~Pys#a1yfcC*|{U62_Q-t7LiFfAkh_fFa#|Htg>Wp3t!$Cw)H43i%S`^GN1~rU&z^S-EpFd|{DiIz9uL z>7%ONd(S~te5AqSuR%d&ic&4j?sI)HMK~3K;ah z4Cs>lKN(ejMiFE85M2C9vLOCLlKJ08_MfJ(>;dDX4GH9i`HwUEuS@w)fAG)So&-NE z_|*EmkAD#%|BVIp&l~=y`8oLTK%zNSdI?YYzt7=+{^I|aFS3kYAzy~FRmmr^gZ#rO zf5Gwpbb%clGy`+<)>mw|!gsLj6+cEg1$I7E_*LNJLe&3j(*E_C!XP#k zblvV%XaSt0MTG1y#MTOImi7`z|M$%`!Vomvf4%iz%(VaZtNP3PrE*%Au!RF&5U} zj6&`Ohi+Ka#*Jo_d>45sqWcrCpP72`9{S8WL=||;Y%xd{us?!2h+87cy(|}BjjUF! z%KKrN37(GfgA4hL@|+OchoWQLr_=uXU~>nOYQt7VZVCS1d)EJa1IVQo$IF~r&yzCS zP6e!#Ddo9Y&OM%8Keo@=oHxMRf3#)cokeFF(MsxXki|S6P06#G& zqFO@iv90Hi7yEZU?9Smn@RhjDM^OO&0~6RQ`--@qwE~XBLoKF|vpizHnWxjJo$GrW zE{8&mo097B2xQP>QOfmXvXYjh5*blkb;=&+Z3&}rojV~bsSp-n6ovol7g`HRhd0D$ zG(b){dk>vKzIFFa!t=@04!kQJ{vtHPe)B76hvja<|@f~2-#XoJ5CGMChMgF;w1Jq!V zMD=w*&A@@D%B#HzL~|IY+*oGoGwk*fw%l$+bkKqZ8WV8Qmt*&%+X*2$_AAnFBd&>eaezkkV#&j1sNq{lhWbfm=VJ4uCi|A3o)k&8SS>$&#*E5I3m z+=szw5 zA^_YeJV-PB%FEfcO1rwc%B|-FAL3NjJ{8<2-#j%)bHb2XOU_xu*RZ}(UJl!t9!zUa zRt#L_eJd5zN=lEl!sqth_w3ZEDu7NK)`*wetm%}4I=iFUUKk3~JB;b5C+JBxw{Cch zj)(2;`)z3~?|XT-P;Upic{P(ywh@08y(qq_+bDzR?Utw&@msaxU6t+P1^#`Mc;fNj zmV_rKGSJ!CgX zI=m}rIjF^PaJi_RBZ$5hju#A1Ta~_b$A5NfQT&X|*ved~>Ws14EE3`CIo2b6I(?(? z`|H%5)KnqPeOY@4k^PO8beD|t+jN@q^y9nv4L!Imdfgp$te+_!rB&FX{O}wu@{DFm z(rA1)Xt~MvF^08l6q>C`Pk25(-GCdxEw8DOdT?b0p0wZOXlQ7@f>}jCMBIwEL&DRA z1MbGESg?-;zwD}e&Hco@-+3!##%*|p_;l(?-j`=0`d!BheD$2>pZgfJ+UhP4ls9*y z2W_3l(x%-7d2XIw-o1L3Us95wa?>ZbIanRaJ--z=0{sjHQt*fT0 z83*=QQ8-SA2md+=e|-bJP`tzSng01~y=z*`SBP@Sk2g8d-f5Y14U=^J?$!g={wrL; zhY1DS{_F5al=62s9}Hw(ZR%pJOptJ!{IOR~^!bUWo8|vgM?aksOxF_`N}EgGf{R1* zwWk~Jo!ctIHR7rYX`VW=^9-Gwny~!1s2a+VN&4}V_z~Y~ZxSA@Po`Lk?0A_@bWZ|X z{yyz&80w#o?M;V4CmVJS{ePHy$LKoywO_PN(#E!JHEC?ywr#sfW3@5bG`4Nqwr$(k zcb=|2_Ils*u5tGHc0Oi|Ip(})<{#H}{lukJV(;Rutu_^*hX|()AsSvbmRAyMrM0B6 zr#ss9xzA*_2b-R5-u)SI@y(4ATen~s*TdpL{qQBWp?b=vws_N4MF1T8BH7VO#n}yQ zgmifB#(;Hv z0=B`gWIhvUT&U?s9Ak~=LS}gCKgoP>BaRT7PU8Zx`jED^w&MGI-f)x`toszq+KAmT6eBwi#nu+XoQTR66ADh44?mQWT?b( z(KP-MErIRrf;(J4U+pPYux!9I(D)95eV`8oB0DgRbd{HKouO#6cpdn0gHz9T`+oRh zIl3%GatrlcEQXyXcQSgOQ}MEGSNEQP%jdK2vt=4oyL$M@vC^yjD5cV#=e=9$+M6o< zGb5Z32q)ffYIg7kyr}IWy0`gcUr;|r=Z~+tG}#~6ASu#RU`9|~^d00O0EgKE<(+-{ zp34mIV0r=Du6T98Q3(vlRg|CX68wJd8+@3JoTV#esI z;m!K^_>0|w!+3P3KQ`<6-87{emCpP&0`#4+#Z2!Lu?U26u86hg#@fp~gQJPV6iZ=o z`8?{B`Lk@;P}qJVJ)q_wzBu;PXT{(B^15*}OYLQLnW0*iDYj4v6$~5^yI;JG({c3Q zkE<^q!-?f4N*F!nj=<}hg(vJczzdSrwj*=51k)lUR=5*g4Aynih)#k9?S)6y4ps^I@u=Cx?g|?w_&LYUSvU^{(-~L@ zFw&U?!@=$GT&yIUi_Mw)f|O7@NJJUu;*RYne$PZWo#E|n@aM9KHyC^+s%UUl0b==@Gkbq$ zjr-kR(Hp2P!Q?UaI@--ZM!IWzm{Bn9uH=!s^L_K)U&*q-BKPNJ$m1An-0SoY!H7F> znO?si2<%&T5teT-!i%HYgm~P-aJwle|BmR}2AT>P^f=Obs05~S+K}USL2XM`0CGGz zk2z9^8g(eW<_2wQi}e~VId|M78wY6x;R4_shX66=Dy3mSd9zhD#-liiLbw(M#Op>~_FD&9 zLeW8GhZQ`#0T%;G?qv>6dA+T=lC?ZCJ2j*wSlKBdix~||F>GhNq^v%90BBjjP5{nk z>gYw15SWUAY7TR%Xz%7z4WYPmQM@c2{Gro+`gWjJbHG16rXk+baCEYzSyb ze#Dk@5O`eG{xnhZFKE8kI!6~^KT;apP$ycisazlBFyWubf zjD-hcBqBZ0Y1$8Pm*T5!x^a5xp>g+xRo8QWveoK?elAlhfMI6O@Mr&_i%B8+Pduko zy8*;BojQ8U%VS2Xso=cE65;*@EK`aKeb2+l@inK0vPIVPl8X)W=d#&4u-RrW=;5PA zwZgmo2SF>Y7C30Q5&rq1;i_Z;dZuXib3iXGj_GJY#KXfwq0`J}R!2)Kr(C83*erMh zuu?LcJ&2M_xRO!Ob0NZ)S3q3Y$(ZH~9zC7>~*m1~#ID!xoV(-W}XMe1;E?6<=+EgXmElL5HjUyWAVQm|F&IZLRZ-NX6&SKM)R3 zh`${VdL`Dz{33}iFPKTCqwn`k>#LjtRCGSB@$?^UQ11u_f)ie^g;MMD zR|ARoci>3Q6t8Tb-~lhCEy+@&Yx6$KDL=F$8hA`l(KEmDsS~j&ekx6J_>Fc3(>uPv zFOft%fGkGME7{}|lV|9i^Y;{ZS##~_=GnQ) z%=4g7250=tP)M`*h?+1M=HrF1F@~&L8~tedKtb;%R~OY$8}~rNsB;|06DYWs6;m9$ z>NgF6yUpPQS2qgY<7cyZPg&-EqxFlqo+zvyVk-P|XVRO%gzF-6_Yv38&y(GV=o3kC z+TN1ppwJ>g*y_)4vgq_Qf#3axiIfkwBG*MZa9hl08lu0V!IWiRBVytCU#8*CaF!`_ zgg|h6eg6Epv!jFmFmU(~jUpY2wwzX zA1d>(C|fag4F2$n$~CbPi36$TlRege5`lwcHJaBoRSPvtxSE3=Plo1*2j~lUR%mYj zFVv5RHDY}mH`Ih&9@hSFL{Y6m=(p(&`}-X76H<% zaTlq-{btNOs@%L)-^kqy#*g6+WdD&C07u{1#c#uHlg19KdC_UsU&sq&ypub93BI5P z-GTUfGZ=Y-knruxH?dm87t+<{qEgpUfy=g~pb3|#v zs0&p9E=f@#9di3qdGO22%On*bp$w_KKBdYf+4EZCwbq(Z?VWOLj=L~`VrbX^T+og! z^1bjr4|>0aU8!mAGhsMbT@KAWg6&Y*!6X3%)&la(}WbfH0KoBUqG_C>`;P~3AIxu(qbvO z@SE%7`hut{o}W6S*k3428sS%l5K_*e-ny{c*~`F;1yc z<@ss%;cwj6ToA zHk(haa}V+{F*W@m-%(>vmAv&>O-RjYoMMeKEdVifB@l$izgRzNJOd!}4k7@=^dKO| znA$uHFd`C@@ML!cj4KEvp-@yxwL$?_hJ?LFeuC?XB&IEoN{L1wopz%br6M#gP%IX) zD>etY%Fyg@{G80WB%EtniSFVLF+u7cN}AgQ*Mz&kk5m#DSdSt$m6vY<)9L#}a5&Bd zmgX5iC|RaIN7?oE<~&B6rwLg{vh$4OYF3KF4RzOZ3hnIXdakErHLW(FLER1N8W8eb z;O1^AT|N>|fr}DR(Be=G7vn-+?U?0&$)F5XP7HZ%s)?&=GVPI7g5g;j>b{f_@YzD99U!V}pc0V4}i6WuE@82ptT z<+a~rUI8(%LA~Dq^Cr0i9x5sc4Gakz@|>cB1qnBIeKxfRJ%hrsn~M=R zl(6j)Z|O*D`bYv`JMS`FQpL12mY`*2$iv!89MA(yo80@)NO!Xpd3g>YPe0Lha=$Hz zA#8#>!k#r>!5z+)P{T$RzXB8p;mV+>#fuo>3_RP^j)SH{ASt$x{)#Ef8x1lC z*N+h4@Hg{i2`4i-h%C;;g!C9@zp-31dY-}Rp~fYMI=H0ZY-jMZti9|ahiC_yq%|nt zDof(XEZEUyuON>u8ERt`^?&;9@n2;}JQpx5I39({t)>RX(^QGFgO*n-_Q$-q1X!9aa!VTi8qMc7o7BH*C@XxFSrw|)_$_gsOUN$w zYGNk`v^iI555#4EGk)soF{r@-xa$#sIpU!B01aV_RnCeDirF3}VAb6bHJ%PYu`wKP z9sb||3-L7e3(?m=INPa*og=`4 z&-?=WZ+27N>57Af-;w6t>P02{Qyt>T?hUX{j6|(_6_{ zFF|?Quc1@rJa9^A2d}|)IO>~dy!VCfG?x=<8Gl&LX>Q<{v|fzl?*#*hB@wRkt%a zA1XDwU4Td@G0D@gkDsbCikGgkbDECg_~*7cKkYIBhs$q4g2=n4a|Al7lj>anY1Y5hcvkFBR1S8sIROmDjxlbOP_0+Q%DmL zl2NHU3d>y;jPE^mkU;_|HdKh@hBQ7YTWWK{zdon!8ov*UDsK4#3Yov;TFMJ6Wm3nb zhdq(2^8c)q@f)(-2-^H2&=s53_LEtzErwVCuV-^{CA;j;EFe@qzr5@OW~wN6s2Ld< zF`@hoO}4EMpSOBRTlG|$O42zR1;7_S@(p^TqoWsu0|a03R=ls0`{%VOx~(!!*F~G( z6#}ma7^(17HUrUC&Sq!X^{it-D>@m)y!G{WI5$jsYG(GzT}ngpzuTX$xnie{v;g-0 zljJ;=X!NR&(N9nnOHrM~6-R~-=k(cZ-`tdn1K_Cc;4SJ)NlpG*AuZa$qA949k)=&$r^G}5EiT(uzVcFlY0%>SMQUwlB6m%n|fnmV&{rORcVFM_8tytzV&H!!TXcD~h0&hU9c3I~ z09th~5C_W(;AR$A!QSTL7!&|UVvE}U1#)5l*v+<7rwiI_QMh?}`hzv2^jmbVG`Z%m z`MkH%&S1qU%kuK|$^FXteyaqjt8jehgcawW_Tf6eIkI~5vCD^!$c%eh+`hL%cE;zI zuM&Ksw!DYoh7ATGiu6Mu1p9#;KG>=8)23gu6_(1oSz~~wtx_>;FL$s}Aox#{Py36H zkMbksiasKg@=0O#SlKbn<4SS%O!PGr?lE__2v!}{Vd?c|q-+^dDM__9-uA5p;j)UA z+~J{yRl1*F%~K}};FBnG93Jd}#vIp6WN>oqo9Qhmm#x97wl{5cDmVD)Y5hAp#H;99 zNw5NWIMFrU9`VMeJQ`RX;4QGJVT=9LS^1JfH=U1Lb6X;OjKo3X}ZK2<=gb)T;B z_F>s0-P)LMq^?9)hXzj`v$pz3GXQk2)BbhVk!@amE9LOhx=y>!U>+}4tN*ny@=z;P zIQ)^hm!!-ZM!*5~smZURPv!(1_?6@Q4Jw zI*Q?Nx=6W44Ngb!A_^DEpB!B;5Vrl?&jL*qLI!T~hE7%gozP3W2+2y)rfI4MMv zgz*h)&NeXiczjSzw2th8m5ue8kI})sTWcw*6Sl9?V9>si3>i6guAACzzLPyM8G;CO zQnCtW&kLscvz74*wYN`a_Iu0fq$R-qTscvMQEQY6`D&HTp$hVh=&@rF1c@6KM@!vM z95secJuF>@a}!^_oUSe=Ry0mn)mQdiN%#jM$FHt?WyKAOzlHTLO5fcbO+B5tp22+` z=-3VNv*h+c!=dtnVGmN?8bk-}=p{P%W2+On(sEX-66S=F?b|HYi1sApqHUv?zR6ER z>23Mm4DgC)^M zr#Y?E_oGDSwNfB|A%5i4x6bJ0d+SDo^c9$&!L9$Mhm~oIFEcDlWTM!P+^S2$10NU? zc+IIPYBob=iCBudMCo34`}|#17KzoV|5Gj!2iRzSL_K)u8UH0j5mG#l^s}b-x1~fk z3K}I0r~_1v`ZiV_weIoMI-9q?+&FYJ)N0m+DAJ%LL6G=Dd3{#WBj~Zfo$&p0>=1Nw zVW!M!33h{>eZNlU&*}NLw)4BQ&o8+uV}cP|%gc|Hu2G+uwR(0xRHpJ}vQ-A8!(FFT zxtwTdP1#cyl*TG)(N+@IVN^4S;O=|c0MtK)gi_0}X7?+<<&0f~vo^plE|gbk7H@~A z6{Qq?;M=E$mHVqPp*kW5_692~1_4LgDC`;SCYJ$WFQdOxbyT3B&ezLkI8;|E-We_+ zE}4^46hv#Enm4X3OkLTNwb_&%m2UQak_p`KuRyPyVeTL7z#5`&TH{q8SVh?zm3mbt zbAs@}3+7Q|h9A*RLJ@v?#JcFXTp`3@Q{*})MQ&uV?@cB|4O~#w-{lD{|JU3~$DEUw zoCZIqq!->3japr-{)Pa`S2fij{LOHA*8U)UPM+hdQ3mLVo)2cp0wn*HU4MbPRU6i& zLVXe2&vntD9z6Y{qfqoBm3nlvpI7{goS)6aR5Hsk9L!mNla=x|>up zXM!?Lp!B_Df3mMdx9N7CE#c)jCScC}aQXRDsR18wRP?Xr{5~qS>jI57eH=9ItjWIv zT#OzaO}1-1(?zPXi_s#vFhgNI+rvm4&DMK)mQhJ^bDX@jBQ{}PuskB!Z&1$FbXFt~PfZ<}P|X7^esXZa+RQ~&XWq@FX+-)-fb+a><58%_`e zxB#~5A~x;>tN3Tpf57%!CANo{WKA?qf=j3d+v0TRNpesfY!i{h+*hl>!&q}6x#KW3 zIerED!etDx^Cdxu;FXn?9E)qu2LRZUKt|)BpkV6+tHk}NodMb)QeSgt+8vZCKBLti z!(Y?-6yKOQcZW(xmq2|`EhI(gW_j6QttHXvDwKJ?@pxNyA*WXO1%**_ zKT7cVXBo>gm%}c#i5XkWryuA7)fd~nJj>i)K0(sour^}YP&fn@^)(9^ZO*vl8X$Hi z2f|%)S#^{70y>Cv!0zw-;(~uP8OyS;qM{I z5;tGR_F`BE@Jk)Q3RtuNwdQg^Yq`rV1(J2c00n0M3RNG2Vej`|DLVT8%zT^lt0_(r zC?HV05Ab7jDzZ!Z3(SH6y8y!#`#4n&vL=w!4$3I-4-LpNtmK!{DXVD?&M}|j@_q&d zM@%4T~Pl<@;P-SQlfYurahFsMxVZzvAdTv zL>v4gM5C=+hHfjH4V{YFW~^+zw4JXd59fvf;pa3KYAVzz5brKTQTyGXjlc=-5@>_^ zdr-x0;VU`PJ4*a410Bdjbo8&=kr6aba${@EX{e(kWuT&-mIHGNfjpw;$2oEW7!Z}? z9emL`DhdL@WgMs-b@-kVH*Fern2v9=_gnEJ?NP?CWvQ>fEe-^1&&7@6sFa}q&0MU~ zjZ&b}1F2*}_xF#WUp#NEa%Ox%!N<$>1xck5fg)*;TrsTL{{)cctJPR2=R)DG=3Y%{ zDMHb?Aud z>r1tVMC7mfjL(9IUC&Z+5AzG80Quo7WR$JE6A`JTrkl&heM*O+WmCqaaPDmCLse3k3K+8AJM~NP#efa}LnFnh-h>%mVXHp|U$BiMx2u zv&^+?Z1YAiymWc@CvZopSl^j5usl`ZC|$mBaRUe`p@nCiJ=-+Il>aX)eP0pz7Swx%m9F^2TUXm1Qq@`^O^oqevwiHPlyEJ zAP+^Zq6}>vb_g~UPN3=^Ab7Yy5%*>V^J|^MqqPIzJV0fMh+71LNg5@cYg06tQA%d8 zWqMxL`7&V$RlcC$B|kv3&R#Pq1pttoJOIhn&z*udHFK;PZ!U7TUbEV~v0^f8CYj`= zyU^MLz6vy`D$p|<;qJI{5q?p-t<>HcK?(GlSy(LN zd$GSE?OHRJJOu$OY1?-9{+Oe@VwA8UCm;BqcXuC*J#T1S*wJ9T;GTcb_G!q}C5&hP zSD%h_RLKpO_01pT*L8ykCY#f!FwN=(TRgY1cMT*m**bOn)5pu4`E-6z6#7!cMu6TY z#uMx;Dgr-}y_g6ZN(urBx|8ihqKa{{Xzul+x38~D<#?7=`5pX5>PujTHf%YkOd@!N ze`9)}AbZB8YETs~(AF3lx}WU?&k~^=xuw+rJA1s5-~KruE@(rY?=XW#JE8QeC9Z2& zmPe#`v@~)Nm!rMR5xqd7`J9=f#gV+BaY9r(Lr?g;5cu({Qmk14OUDEEY@f%RJV_tmlvbQ{Cldu4Pe^4NMl$iD$ zV6KUK_d7p1+uL`nclhU6A)%ZBUfKnn0^pxMiT>idB_&wK*)E#K!@CJ4toswW%9Yt^ zL(uI*hKH{kG_HsS1bo?%e+iG zi+8h%yoBOx!i3PK_Zv0UX{y~3b<1fv9Zms&wqx)p=iiX zzhj%qlT|&eZ)|*@eJdm_(&;p-QN|J*rBnfwP6bBF3{ceD!x>43Z-kn*6uPa=mGUN6 zyCdRZ7_G05mIKVafzasXr$2`zAC~`B$@@+Nj5WbSby8)=1y$n<{gzG%`z`v&&HH!^ zQtN~0W45Q;Wy*0jhOFCM8o zzag5Us*FYA82|o;p^Rqz!lbLV&0)CV@~wh@{n&y+m4H z1|X>u1cb2J^^b-?6Qlt@YLsfX-5-5O#pd(MMWr-;+)2#bN|QQXcugkX;9%@^HNrYM zWTf(pjm$3TwU(} zFr3KFT@VN^1XR~#fe7NY%g&r9^l^)X-frfJU)LKWRl;vbb)vdCty z7f1rYR1|d1V>!*(auO7D%A7!HPHP3Ye9Xd44Z96Cfgx95xdEO`u+g$jGT_Bx7+~ik zyfOUy>pQB#$ilvPa6tL{bKW(OL}R}{PS_Bltx7=xbOAK}e5aLXomm|a+tlj1wgQO! z;P&$MvQeN7n)x>)+yL)GOx@_?W->xEn)n~?9Nb$oIA0ncajl`FTlNQty!`9tjm zCIo%oN9Z|;K-Or+l*Eo21yM@l;_;5AJr%Y@bE=zogeN4?!2ItuH#}x8{8`mb_kMTe!{_u+a&0=^KBLa(2P2jvDcAE&Dab z6or+D;$`w1qaVPZm2O3zPedld)J}{HQ?Aav&S$YDDN}!c+F(ehpN9=jJyaQrV){Lk z6RaWV+YQe9avhsN1YjTnh+^Xrz5u9cFc3qUuU0|C^SDnuz!rR_OQx4X5%H0__F2n0ydDqo!Xlj*52SNjcG}T! zjgWwoK0&yBH483`6^F1Gs`|q!L=6li=HT6G4ry3@%^NxwR}B&gO22LfEtjS&+6gl@ zoI%=J--YfC?Jfd)Q)j%K;W@)6gY7O!;Ki!lg*5vl-NI1e2#W#^icq*=ZM>+$mX2^yg);@i{On;voM!@l;w zS=(Fb-HT$D2rQs3m%w@mMJCU_`+CVVJ&R?A4AoL655BlBkbt$k%rw>yta33iew#05 zQb3+jTJ>;08|6q`cDl%`+x}aN3$} z^c@{^!-gy$@3=3rA)O7UqrDCMGfyM7F)^j)cEd$f?2NtU>atJRH1hT@rlucD&d7p< zaD*6`)Chgk3U7i7w$bPJsqy$Hz#|pxv363;S?%SF`#RNwd*H}|I5qDjPu0Ip)TUrm zPye^x0bLjLlLNWM5xgiJcgG^=9ip9lJx9MGG3~t1WHkj8$Ab6_=MTLn^q#W~S^EDR3?T#btUR6RRNZ9*f z2mJ>gw?^4p_OePpsyVsuGXd2eCI=Y_$@FoYV+;M@*4{ouN`$`oJ)#AUPQl5BiI*X$M z8bN^Oo#9gw^s_`xEQc}q-V^#2l|F7;Z}4L1+hz3MgZLMpVOj3Jd>;I>#7x)8xu%8y zxa*#Q+T5OP{Vr`bXjs6^rgbb82}yG&`qAf&v#L-PWMGQeP(AP9l7+xF{5h1A@hg+< zs#YbR$e!2hb3--tEpS1^+$RQfkxE*ikqro7(hBuJ-f21j?Em-1shtsW9vCaraKVUX z44zy(uVQkC!FsZ(K$U_E>x!y$*2qxo_`VG`xU z{y9N%a;Cac!dGcZr+(#J%);wu&C|tohUY;zEuGa-J#~$*)=+W2XXR5&?m6byu}f}< z9vbyUc7BQ#Sml*d%|n?`jcCk98G^%82mxTj9bH*hsFv^&!6tZwh@hdE6yv$@K0ZFn zEuN}KyirlUgT=+gd}CuIByvr41ooYB7tgesr`fQifK6$q;l;3w3fkdJ5qU#a6e0<* z<~RVWit(!X2Kz0M0ge3S;L{4BP^A6Yl0PI-AxJjVZ!dSc;>YXT+hA10l87X!1c?|` zCL@!`4*R!#{~&GcOA^4vnA>pK=C$j~j~^$;0gxc1a;-U(Ws(A;kC}XKu-1wK=JFTk z@ayo5Iy2SLbnq2ZIf(C#^Pc+RXhw3%e(c)12!OMq|5OGCMp_kmuUO7OpVu#OyC$po zt)Vv(b+C@0w+Ay`%M}rPSYu$7C71N)%9u%u5C@c>&#W*Oy*vqfUSp2BuB*Ji|nYuU(O!XWK|T>L^U|J^xL8LcyqZ{`3ILOBEUB9>~c3d~s|Hg|Ozt zk|~Jj^=7^)z^h#bbZgMU8MW~+f_p41V=F7#9{r?_&4*EOz+D8#Emfx7gck3F_G`z1 zBj!QCV}KLrxSeZtyw+O3y(^bg-lIoSi^T;cIof8sr+(+}Z-n%G8(hyDsjGOXugxb< z(atUW9Y6mvp;}*NheA&=O-NaX>VRumA@T?t_eR8?_XvLDIOzkd7&DAN>6Zw#hCj4y~h zc*->!Nu}YHdNjkb>JiYM++a@lMAHGk)N7_(uzBjAyOShIN0lmUx@wDiLtxc&mbkj< z3Qh|{in@PyhVS$Iagn(Q4wyVnt+OGQYk{!Pkw(`EaR;P53);pA|9K-Q=Jm=+EE{$6 z;QWA&-V!`lW-zm$ap9%Rk>v%hzac^cgAIjA>y+-8aIcqZhdQw|evrcjTsHY#oj*k~ zra9LnzmeZXBcKOPg=?CtSC_juh_+Ua^f0SO)68u@jvO*RzCIjRjmhOlm8!{k8j%pB zyRtWC=ywHuUWpmJ>F4mbvL__X0JU~ApAb;{;*KmfEowvEzbNnEt7S-HEUjcy2T%ra zc)ZkP{`V2$1W`WD4=%G6j0_le*U%1cvt+Yu`jc}>wk4oq=`;_tV7ZaBkxl$K?3rcNWziU7P8V*GSg z-hMF{o&)9|MOD|EBr$5$X3^WFet7jexFFf%dAMNNhpa}l0(Hbl%s=pX@jgML#i2X{ zVk&A|uQ5n5XJ(FUt?;UXe74_cfhnVi!%8;wWVg3~5{@GOI@UX7Vqh;WDw z^q98|exlIFG%vr+_@Z{AlONkh9jbXK@z6^aGgUEt4}5`~wWBQPy=I*Q$AR?t6VR&tjk zv;yJM?{s6DKMM<_P%LKXv<-zo3^;ga*G)+yDY+BD5dz@45}zyaIttihQ1qbFX;GZa zGqZl?dRLE3%BFv}#YZVz{Nx^{gr)-FK#3dO6vhee)0IVhrBH)$rdCKO!SssnfOncJ24mze)u@lHR&w1~sMn z@`v+1>!eL=km-P!% z7JDB2zw=omR}iC_jyyGHl##s%h>Cre$5C-E#J*z`vkWrbRxg5R`i3Hc*rmS{$pRuh zV^GeG)6PLMa)Y#Gq0Vs80*l`G0K)L(2K^%~C>8cAf?&Hjgu83HP2vDlTtXK&O^{I7 zYnbh>=l&Zg83yl37bjEBk^MaqL{3IYKIhDecF5 z5u^tK0_YAucC%{lYwY7y-9wpJdFVAF|8kdI(0?W0RS{jt#L_>%>UWDf!TgRcUr?29 zvwQ#5*bQ@lKIh4l4_lQfe>>*TJuI#I-r-d_fNQpRz{L4U37#vQDz|&>mwwBP0Jveh zz2@Jx=U>XU|NKYS``Y*=>EQs)p}sM>+1PJxNy^MiTI|Vszv<-BIGA8P{O#2n^`v6U zR5$SC(B~}UPN^%QC{6-L9>R#JE$%e!?^w#bieS#`ngL8}+G=~`@D@t!>(A`>$Eh0c z!0=d3_*eP&kJ|5D4E8@i5MN}wctzLBs!Y|Fwt=^guXSQ-Oq)?QAZ_r}{*UoYr*&qc z?px91j4Ok#jo`L^LAzXU(YWF1b4{m%G~mPa-+ji6ev(odBP>wFU_Qq*`BZA;>m5H- zb>+xJv@vX%X81E)*VF!8A^+(S{@cSDNrG@E?TM~jVj;>~kblu1pt8yV=xt4bq4LTb9B^>epZ~x9A)^Ap zN@*^HBXHQW5v@49@O5eHQv$OFyz^wB+w}2Kdja5%I`)|L1?M&;OldL!Z{Wwn7_I`A zbP=kYTmqgF*I3Q(QsBf8wxKE3E-yHjkcg=%0OW`~OLw~pj zW+mznZRR{gXxomXMKRbcvjK5kqQ3_K9vcI|>m{{5?9UdD)w8txQ)mMU0#XhbqLLf| zauXa{%~~Nq!iWec#{k}e9+3Z1?|x+xV=bi~HM7UMqg7A;Z!14Lp07y4TJB3-(d6-V z$`+gFU3Co0Tu4(BCy?4n3VQ~)ji#@)4Fq~UTxI|g{sHCaK|qzpc;adn=Dz{;cXLMN zfbDzwxAIOR2?z>a04Ai>ObkPfaBy(v=jUP$R)Dnxzmk$t%+9XH`oRGtH8r)l+cn%F z!1dncP>PKV_hy}7c6M~^0z{aII5`{Y+SiYw#AP{Yq@;$umb*A~rVq>TIr&fb838N%CXUj_SoykTaYgdn-kz#Frav^LBxwhFPMeY5oIAEW&?? zxMeSQ%0}0?Cu>!U;|xOs2?I3j8v@rnCZaV+JVUmgRymf z2S>6w7D%-iFJN(|RH!6g)CJ@_XNkv>X}IS~35kjl1L>~?hYmmv0Duce>Z}0V4+Fq< zVp1@{>Q=H;i2fIlBNOCuvN)hl#%pr(Ak9N~8uf2yhdIgkd=aJhStA(BEY`=P@O||C z%6&mC2=2t*RK~K#ni^(cURP$j36~ZS02X!5+VCC$T*4wglOr4n=xE55hadj_Wansz zKzEG|q^|wW#Vpfp!vj*&Wfid^hEAD(9T#!QbL;75(3>-5mK-+Y6G*}_%s+dr|KaS97AEtMML;qj zQOX}*!q3=%Oo*5^y88P5GfJ}{o>FLoFLS+Z?U)$Fa;e2Kw)c~pj?ngootpiVmP7?`XgxBk>Xv)=1CPrjM!J)bmxAe0(_a9#U@!(nhS84Xo zEjTIB-Z6`)34SUt0Fo1*+jf!?^83k0adH<8$awD%#s5ZfBBT`gGZ4-K>u(MF<)b1Z zaJU;o;uflwMF4Jb)ODg>UR-1{$q88mSCNwpoRJ`#@XW2O0 z=!(rnDVCA=(AU*`5HGV%ox)lkR89heva$}xsEK4Tj?cdPO8O6Z^(YDiJf z5qOhIsfzV9Q3>1#3|T#Z2IK~0#do8}?1t;q_5DEO0OFLth=;=g^1B%FydgnD zNqJS(6p=h&$=Xx63*>U#EGxYi{tOI@XCG=f`pF;}SIS(XCAvxh-??{j(g*>kh7&=B zQBN3ZP3Z^iuA{j!%N=7SB0!P&j`ocE?h4sZvDhp_c;uP>b#sV{hlBzgczS_DG^d`_ z3*(=ygM@L3a}D{vb=rdKILW!6Ya_}CW|J-@*ZafjWqEzTR(x(|zYm8zM4qX`2=*+d z;CM*$P}5Y2_KWl6^0ljZ_twhlyJ;nNfH6Kk{syq0y`~2S!}MO9`CCKy3H#<&BA1(A z4rb~@s76@1r{%=;UgSDQNYB$lpn{7DQI{MMyrCz3I%e^v&H{kuX{RwO#}=>nwO15t zw>ArY;(`3zXLau2V=r&*H+LhOGPjG(!8k^Z{q$rpasd#SnomLBzkl#L?*NYp;V)e* zR{wguSR;vOJ|1r5F|S!=0^6U`4GaS0fZ=-s$L;9~w1r{e`#m+oRgeE~_tZX8{=N!k z%h8R$=4$4C{W<800qM$o(QiBT3N?H63&vei9-U=8)3a2S!+c`zoI}H9aOCohX)GEJ zE_`|W=)+B^(7UrW{L)gaL?2*q-wo)HvezPjTx-dy@r^`X?}0dmD{-J~>*oTQbzfQE zWyOGdklZ*7lOf}*kmje4JF7?O2sYguSeW7KT)J{tF+!j%CSG(RqQ8yJ83Z`bYV$C$ zsc<8Ic4Y}Up>Tn=mM)aFRI33*R#sL`9gs|~=~j{@T^CEM#-Iv-FF2!z3Yd;0<+!%R zNQMIoNivq?u99TBVp{L`1#o4O+<9afq2`9Zu|-ac+fBmrPGfQGNG1#gsR^~T(OV8{ zqD&by7?kGrVT`cXkEUOSo|pX5ncCA?w1?Pj6rrDG<)i)2Ubce&@<*27YiZg71a3dk zzg!zY`)`D@0FvLKNAW6Yb7M7HSp9bQOjKe%&w7B4dlps1y=SsXh3nxX!4GY;V%1>A z|8Ck)N&8<-8}4Vt0n-LU&i`WC5LbEa=Xi>Pv0O?)l{oCLAdJKBqXk;VgNpWr=-jpa zYlmDJVNwu%2e3ci0y2x@!UJ;< zU@<)87Fxe?_W$guFzk!F1QdtQ0Ki}dXzm$%T2Y67h7GfyVulIrtlH?9SOmIQ~f6 z^n+@T&qsTszrp`J+0HqrGyFx#2lT!TTD^mAkosVOqGR|505qp&X9m})W0JZ93Mc@M zppb?ENxFpL!E^yKK(-~g8h!^fr+I4d0q2CtGx^06G3fur-dk|RwQb#^!Ga~Y1_&P9 zgS(Sp!6kTb2<`+3?iMrBMgGd zz85~*h0|*r{LPJt$z581x7QeXCIA#mG_ApZ#@Sd#r*-x zoyO3H-(4g&xt0N`C-vcp!`>9JCc5+84r%SLqx18aIsf5vQp9q7&ENxe7sBt+x5zf* zg0ZBOL-+5_xA=bU3N~kMJwBU%1o@j>iVQ>Y!gW43^TtD_d&uYF*N9!^6rN|aV@8AD z4f}FN+XnwKSMY8K(}NKA*}c?4$Va*{Gr?t9DL5P-`^RE|xwM1Zo5{{0;@gJA3G|;k zc1^r16Ic50TlS{;FeuRNEj<<6E&nfy=2z~joLu>@dR*7U~clA=>Ki4pxnfDOw0T_sWYWD?Nn~ZJgQxR)GlIo2!5W6u>Dlx^SIFIPA#LE zmFT-8UE>dC4~U|RCX*<|<+^(2?2aMk+V4%7E!J73Gzd&{IG=14@SkiIUj4t?Dtw>I z#4gu|429&S92SnWi2s+P!f2Z!m=hZPwvmH8hLtxXqT5reAde7%Sz${6nXV#T#=Rs< za0GGdi3x#Q%*70bCa)7moOnE38x^QmzSk6W8A^ktKsaOmu4S4?tq;;-R^$W!|457f z?O&k9@sUd48#>qBm?25sm3!V8FZvg>eRs>ujF+NgKy1ZB!VEb(@VV2g&DNUYuIfjU zt~fKhbUnQZssPe9D%X(L5HQ+Ur-JP7&Qhb^y)IEX= z3w8nKuxIcnp#2@@wLS}}oDc`vHh`#ntJjn>_nFijKgzl2OVU?v*lZ&GO-FTaWkiBC zuc^&TR5V6x<5VYUQ3!XvE3ejTZ6nYys?*w);lQ!C5R_od3c9=)Ya@DK}v-cE|SOAcB< zj5IDa>`(Y+?6c4kdG+f<1l@b`^%>6%kZiK&Qn_7@T0Y|pdByr3jjek-I;>*p5j3y2 zl~^_&uGgYuKh)WoZ!EBPcY5AFWa8pPf-qT#_n!DB#@)>GFZmZ=CHkGs9caQd3wqP3!)s`kQ zr^bGQv_AT=Jy{=(9CU0@Xf~~boO!K%E8?NRIx?enLbVoSp zs_YZ0?r@93ZxUS}qsum2!*;g>%Oo{XR1}Rk|GCoHt&o8`LZFN|XLdotr)$;uVh#Xy@ zUJYfF@)eFlDb0a7;#V#C2(ns!tHtOvOeT|qc^c9c?`j!6hX_ngAK@`k`TXHS#Mvz`00fBgQJWub@+*4T6aQyI;x~c6D4_ngSdIp)#ZFOJ$XrMiDd3HB@~+2eF@OmfFP`8cv#M6lFGwq$Pp>< z!Z@3sj;J@dsbbb`w(7GBiizzz&@IiJKU9>!g4-heoJyQ8X5&iDLT1NU#d}WUe@1&Y za`%o_U@;uSm?@>;*$|T3%nLGxI{H8dIu3EBw5G`NiIJdd%m&`}8L5-;i*h6-mrq<-W8_Ip3uy zSYGR=VRgRP!|isXhv(mZi0MeN(;iG=m`e;?RN6_!;`+b`FJqF-#MF9Y`JGvw-^R_x z#1+hR;iMu6O=_+yKbvdLGA}*|UY(8-aKYXw-!zxz-#I%m(-=qn=w6Wa!uT(f0>3BQ zuiT9kb`>NIO?m9vJ=R6xKNbbQ))t{uxn?W+2LDtIy{ffE+wl4m=e^8nZEXRn6<3Sa zfg1kLeHrV@#mFTm;P?`MHVPDXe(at`aHUXI(aOs3Oipi#;4kU}As>lW@Q#sSo~NW{xv&h_VAt20xngG;6xRjIxob7j&=2L(RJ9L8gp2lV1{&aXH}-YYF8D z{gNV7q)is5rZ9Wy__|3x2GaDnbuzeEXCkZpp^`dCq||GI zugOMVNkA+%INN68@@@@D?)4$4xjpnHP^A1jHvLad07pYSJi!z0Y^gnKWqOj21e9{A z(IXB69xRN`mkdW%RAD=>o8CVd=r+wq7^nT0DFAE8f0_cIJF-wG848erdr-KIh^0rL zE72X6?@K(TK-}(=IQX4Z5*Oy#$7+B<1(Cy+m5DJt;IW!!#Cs&O7$E_afy}Yx$+aMa zETZey%?S=0Q>KG8@%7leC|`q*&Z8O}e=THj$0CV+iEaKH4Ox8UG7^gip!e-0;UfDG zfTJOoIwDRvYFZ}$a5aLZp_%r0XYw)Ur&T1=Uy^;ZQf^U9w3VM$k7Ecv_&@xvjuP|G z!qiD1&RdykJIQFGf5ViK5LxPT+V4b@8K!nVh~Wb1Iy#ndr(J)avX|4@+3Un};Z-jJviwm(IKX2@|5fTZNaUN=9o0-_Rq zi<@rVmlY9xlqOp42tXyxI52@iZcJps03x=n3wE7f&xW}9Z`=f$(dE&{?nZ1Mhw4Rb z2x$=YB(?-6(Dfq?<>@KbN^?DCQR=~9>#uV~ABa#P@3BZ*pkOqEv7)nS>{J_^N>^Tc z7a^*3kX#aBNCX^jrUVMH^sqQQjQQh(SM2$`ZEWspuZ=&L3_Vi+A%)k->_!f+?eH(7 zfNEeAQ2Dn}fJ@D`xH%thg5Ezy0a34-cevi%*~|VP@lb7&;mIiAS!c6LsJb_l6)TxD z3&H_R0b^P?#mpF0#-y}jAI+D?F4n&3pN~I7se6TXNAFn08H@->fn1Mo7$LzGD%L{mK=ZmIj{iq)*`l1eNou4~o=xA-z zlGMlioQ9KRO^&u`UizWVwXE_udVDe3WZIz1j>fw8TydCIDiwF9?ix7lM0ro{%>;ouK$$V zOC=pk&i>v~T>V78J2%gArBgJOMk`dGN5GhQ|02`8^C36B%JJK`iBLrvWvIqGK5_J7 z!;rw9ClRXZ3QJvjH8WUmTDVG6y+RZs<0cd8w1bqq7ijd~aV4(pwDEM6uYo zR-#zYuyw!N`cEzVyFXfZ;{VdZBSL&vmO%NL`y_=os!(R5pbZvK_eBE6($QF6CfVHZ zt9ID2zxPEzY$KP@AO1>L0JZotAm zr=@guarp^`DU6uB*xyn~;cv8dbaec3F>NGoYg74NS&`}m7;bJuAxR>R_8kX7jm|FO zI`i@&jdR#lqD+f8m|)F$q|xqpMf5joJaHPuc)FSJBqcGiAe!rrx_4?5x8nh=z4O5w z=Q}v!OIh*Cp_T|&1hgMRhKy*uIA~wv^&U=~{_AcD0jXm$3)_B9=<;Qwl>y&MD2?qa zrA3p?5>xFHA>q+5J~LOAjyuN(b$I(;Zb@|F;0;VyLb2}EwaLCRhlve)hdws>$no(CEO+_<4w}2!cK`1lX{>On^EFodqoI*V0y0FmKBNjjm~<7m;E)xOvy6=ADM9TAWugF3^<=(KOF}QrJKC}X(_1axPhcl6a)EZ&!YGGsvj9O+(z@(TT77^l3|R1>Ar<+Cf=@$JGt<`v&0yq~+dg%X2i!6p zm1Z}wf&MRWN$!;q5E0u7)XK;DGdSQefQ5d>OG*9Xm;$~WZ}qJbk4N|4N`-YlR>*{i znGgaw0qCEjWS)1ekiA{&G49P&)mX<6W+V&Q`2;24COV9D9-Y!sPk3#NMNYUHEBes} zBsx@Vj3<_!Qm`LVY`!^}b)#?7^in|>cTK&qYy{kP^%f3O8M}I3#a57 zWg^aGzLTpcE=DD!T_o`GWa)siMbp&?*TcEceV2O%n7PY!#BdbFyuw=Ic)H6in1t+f z)LJ4N&(s`@@79?#YA^x0{EtXpNtA|RPpv?oczME`^7qS5tjDgJ!qpMMd{0zhEhB)1 zrzK{lg)rn~Fx&|M#a7J@6KH;B+6%ak+Q<%7e+%RX&&5tWE(W0Zg7VB(Wf4pS;8;;4 za^M>sAt}8`^dPhaL=(Px5nv+f-HuI)p+-;#q)r*LVZ_8~2_F(Q`k=u1L}cgT?uYIAe5H-T zH2<^s0LNEc4-B5D(x0tyiS~2>+wA@9sdr8>gmq|Tt5rff>)Atsos(YiM{c+K)k@`! z>dC6b5&m7@VdN}>F%hqi^I_z?Kmjv7V4kjg&@*}WdNIaKSDQ=#m?%CyM8m%p4(aX& z_Q#i6AjA^(Eg1fqglcLd&~@C_F)T>(l6`#mAiJr&MMQvcdL;BX;eDi+9Z9)u#yPKn z;)`^nMbF7l6c-J#$;riY+GdqXgyPALaiej? zf40PDWXEfqx#{SLdc(+gL4~)jtE+1on|_YByTP{5?BOw9_SHP2_msmriuj2a=>*(! z$7^`vqBcKN5jXoHy=tD*;;-6`G%E!K>ys9Z`oqyhl`0gLBZi)}aDfW0u<~ShX;FHO z+?LL6ok%`|SJcvy4jDPQpvFfWZ<@)J#N9~_?DG9kHzq9(`1t7@h95Kz`vv_cA1_RV zE97VcB~fS=^dgt~I_xH8%AQ>s8r~mLV=;-nqSbq$LaX=15l^k1@wO^q-KeT@`ntT4 z6VmzmVLfq3Py`_jid0cv@14%<7~9eDiGa=fI-4CG(lGH^%d_B0FM`q8yz_w$a^kxV zI)@^1KWaW(zUFO~&CAfuq03KZq6IHF?m+lbyN1n^$L*EQ-Jc~V35?6yZzg{ECm*%uIC5IQ4k-mM^s9ky{uDQj`I4jWxn>ao%eKmN)q=PFz3`%iXY{v3L+sWNDX zLPaSA`+bJ@axVRWagvt1JKXxXdW*Ju+Y3Mks=UjoDCX%1-os4N&h6X^3k*>>McNzP4lz4b*B^7Vv1 z@qb#sNxo(8a9y2nWeO7mL_|{~l#YroiFWvzu`QDMzAH-yar-8f9|+E5zPS7m_NvC& zC0%ON9nRts|BiaBG*2ka8#9dLd+N}##km{iE{0wvNq*{QMI$BI9!uXL!S;~i=7+kS zDnSj>Zd*3GfbO*gS2~M^wTJ;=-<*ZHT`VfSmC7I$_+&a@6HYovNp3z>0s+8dh1Hpq z1{5yiPn<5}MT9DFynP6meN~PXd>febkcR9#h?Az8{2$Bjk{gP7I+2U>W%ur#{h16O z)Oa<=NDU{NjSM9f5i4qbV9@O8db3f%77!fHV%mq*s->v88_sST4w$cUJuNm&xHRw7 z#49QL7fq8k@=NvWMi`Um;`;#?2RL7+N%3;8AG7bgc_x1IcY~T#+<1M3gD@^60g7$< zoD|oc&%)_!pe%<#1AjcmqaaV|Ot}Aj5FSK_x|dJ;u8HwOpIF@OtTmZk#PJ)x{DS6u zgZo1_SDaNWj)$^gAEd5m{SjfSoIiCJmC=-U7=rZlRhMffF6ZjxZ^}gkKgbT@9TGX0-+woj;LkX zbk{b2lqGDP@$k7(3*K5>TegAL5jV+#9t%+tiXxh_SIxi+@@cy3m?S@R_hJO2rtoXxT~<}p@H?IN zLd7?=S03Q~fG23z{yjnUd3k#|t1i>{Y|POAl&@L9xh9p-#;~x}LQaNRIqY)?mTsov zgs%5Qx=NP~&S|vh^ySLfef<3-36x9=0mx^zppG(^!VybZqt2u zd@jl&^siMY069%YWI^KR!|%)2fBREiEf|mI)2Qw7@Rh+NNuN6VOYD~$lb?Z61zXrk zm=97YHM<-w2ahkkeO>DyP1}5Yg{;EeY%zD)^K$ktftBLQ+&d?+YX&M?OS`+lfYT$? z_lc0-9ltA#pgb}BiXU528%-pFb|a=z09;0|VzP*EXbg5#h?lO!8EtUUa6MPNdHq{6 z9q9pcM=eF^^5($*!mlo`-Fu%8erZba4%l?un_y;pKMPSr_8iZ zkVKaf1_ooQSS!)Ql4r>znSR`3EIf{a66I`kUvvHlcHeP#WCAW9AVTNHU!68e5v{dZ zAFD)!`ZVN&G(0>Er~!VZlpl}xYKpoGNLhBP_u1Jei%XIJ$phv=9+2-aU!d7yd0?jN zRMXgD-_TbunvXhlWBG0OjoL5Qp8gx7CPl<>2ZRw7hs7;A)%vc752ae3s5Fp<*WW)| zvf{ou`5~ay>;WUTMU>HnTVT2&_IK&H zcM^+w&IB$}Qf<(NtY!JmYM5A4UOdr(DRmV=8GogLVuIAeIkcEtOeH60K17)W2RfHT zxurI;aJW@3c390oeC3#yIhgm!G6qlYIp2kjF-gE(hSTqSEZIoCau0zu+-)0mx!l5r zX(bzc5>!K?X-!r3I<5#q1D(gFoS_I8?6A;GZOZw|boa0mpiHp_%$Ym`wR-E}~1!{zZkil!^>0q3v$;ORS2F+9(LDbY>UPIw*W?(9o9A{W9s z*@K^(iI`j!#nY(euzd>d9vGvy(GuUvzSrC>F^j4)5pa{9KD?E7@I}(&-HTDtlG|)D zo20)x>19yfjSw+5rUW*e`5O${P58SLg`>M4wo=n|e4r7aJ<)VEQAdt3p%tsmwO&zR zI)0(MpgEwZSW?O@jbU6FX%elm<`tw-*3RdB3olrhJa)?Vpv^fa(Ug}JOjSgs&Qt$; z08+%|1XJX5VlYe4ZAb-2SE9d*e+UK@Bqt`9G2Z$~gTcw#ZwJ~CELahJ3O(*mD7z`4 zch>8k6<;zK6 z>GxOIX*mUw?HM*(?~trpPf#Goc_5`%=jGK zYAWHy{ocj@l#yf+gwU_e$IzkFk;O(MHtL2HHPq~qhqO{;qNw{nlndn~SB1VsFb#S5 zoIF(inT~5tp%^dgGN~|5yVf1X1FU|-g2bS7CjaxhhA@4VEuzzJt_HxV>D=8GuuUB( z*ucswzRgKyw|pJ;x}S0LU7D~~b2)xEbeZ@siVV8Eh2tQ-m^8dpRg(y!BH9b7UKD|7 zlLPh2rM;l=v$u1+!&}>|xOxG2CR0~hY8})*>vpMedb~e7%JI%_as#nZ zahcGE@hC{=bvVU~e@R4AL@1OQKJ8b-#rB7T}JSkZeYOq(0j@%&mV?$B|T2=A_Jm_c_infD2?SBe4N@jpTL z&NP|F2>n4lqTj6)E05p+brM_exYud^06x+}gxp{&Zw z%R6r5rWe^Vq30`?100^%Xw}NvP2YprCHx8OmPH%WMcT~koT(eJjvxuVT6}yk8eaga z$iADxH$Ta2Z0}#)GR`hcVXyi|eWhXBLEP-oWHD1YvQ@cAMC!BfO)cZw$D)VV^Q z6=!%(Yi$HquDh7|7l;c*`Sn>-c1vhj1%aKN_d)sI-;#Iy+?oes2)W+Inb@!Q zpKE7sVgo>OVtg}_6dc_JHE&k zqkSy}4mpHBi(ov8=Nc6V=MGij*%mw=-5TyMW(N{D`ml9<;fV2le+(>+uW~1#pZ;$l z&Mt2r*L#L9@aWaPHS>i}3=p=~o|%u}t-45$Jg6ok?$obq@sNnyRdC)1%R zN)?S@0pVDT=JGvBG$2vPKchD?V2%TGleB59kasH-r?wDoO>v7Td$}Vo!%iPif3U5gy-!qDCAUtA0TlCXMULe8Ut=IqHDuhNkX*tMo$M9 zZMNMG=3G?>#^4#$O+p?XnsqR_ze~j} ztTiH&tAiiqSYA{j{Jy);H$VkeDCF<1t0aQN0#>$$#e}77#Cp%+ZM4b!BSATo&ZmIE zC;!GQYFEaGvg&{?Pcav=bce`Zzi35E6iFdaAOi>z;SdoOe93GW-t4kBT{35ZFgbnR zi(e6uxT|7DQ*1bkcdOT6g=W&AbzA6Tch@c~~)75(#DW~_W9_n>jVu?jrn z+Z8cXX~mR2#t4I?bMtn$Irx)||#@I;?s;*xA3>$1;zz?7KR;CA~W9qWl!A zdFR}5(;?1Ys4cNvnele)RRzScN_q8`ii=9C>pctG&H6n8Ud3ysxWYpHsh4|RFRojx zmVQA5aB6<)?)mIXP-<&-2OH=W@C*^Dz3>|aeFybk9qZ9KlTNsl*gpB zjj9vD3d==4sl2gSq{hS4>zr1Lc=>`;+I1(oa+d$|Cm}Yt&d_qJLhWWgAYk!rZx;!{ zWf9w#ms#uitpQ)Pn*aSy7?R9N65c5`7wOS-AGLmd#?GaKTU$J|ezDhP?=0GEinE@( zC}k#R@|;o$2156e(rutE^lcXw+<8yP92T?HlT}dzAK^_nqAb%WY4ye~g1LM@6B+(;-jPtf%G~4~#}&<>vB(RZ7ncjJ#R_Iw z>b#t(q*xFdxFM@S26D59j-P4wUA0COvZUnb;!F)rTqZRg1(EJK5LYGyn=U(6Obi8) zUVz^53q6xoIjaq=*1mJnOMYR$7lJxEsp-V$JgBMN2G z_`G|qW4D-KyqFrY1ITE#s_)|ORmeK&Li#TJnoHf3kHO|O;(p(rWvtkkF*812Y}uIw zHMw86KUw=?!KDF|mtLQ-+%=NMFXnLSauHOCrMi;npMff*}?V|l$!Gfu|>qf`Ms}dAJ3p@F| zi#z&V&8~a{Gtw&v3ec)@paJoVYT!%$e8T7^~(cwre zlE|Z|V4mDZ&AXd#jsZ{9`>*c|gMw_GCbbOk ztrdu$&T>1!%JbEwmOcJ1ma0Kodb~TEUlJT1pskxH3MqaLn7c2mZK;<*^5VGFQwjQC zK>89qez*Q0Sb*2fQoYyYLBfH8Bq%6|k}uy$G=b%lk`79hNFxWm@%PE+fp`p`fX`V2 z*G44iL~KB)JsJH3p8f*Z?Qlfqh$omY4i_!^CRU43xFn1WCyHgo0@p5X#&19^wd-FD z@}K;t{AZ_sa3pfMMeE7A=+qg|3SQYQHQ)}VXR|^5MQf*D>RGd2tUA-?^shxjn zP|1$FwEx}$qs^Um3sKjMzo{uA(e8&0^(>&EbBU*av*x3>++=tNP4IIeenbB^8Kyh%>!SNDU9e+sovI9a096ABe0j)zqK(bKl6m*Nb41Vn-KmZ#zSrL%`coc} z`V}=IG!}>+#`&vi@);At=yep>M&DP-a9^>c;3MO&T zA@Xb>B5HkRT~8Lv)gkSTkHv(p@2$nQLwXfmAFFt3b8RsUiK{tK)F* z%&8KlbOyJkpZ@S2mL~O68}qaukv2@RyE9xQHmxg(Z)0P+?iHKSUiNE|jrHOJ-XBa^+pwAg1ex1IU ze&rMM=bXZ!cK;T;?~5~C9+na0RKMr7GzYmUR`Aq+9I%P!*X@6K0W_Rs&ROd?a64g_ zt4b`Uslpy!jmR{+=8fAwCen^IS}Q0$lR(%{SR6lF^iD*_Q|N!GLi*_s_{Jcd*Gc38G1W!81M#``-?GxKgbBVTViZnUWJvcJ)Qe1XBM$B zA%DNjar4rEVUsns`S(tO8qNE6{aGv@AG`Tt7;DTh-2#l>?6>7<2D)(NOSqr*9v(kc z?R?FXDT}K{_HGM1HsyyY->*SC&F}T>w|_RZ|KkS?2}m$;)h|0cyR8w+)i}QbZ#sB#<{Qn>8-zWK>t3`zm-Dy|wwP+mj z?6yc|JN)0Ur*MA{R((gY-d4M9OuU8vqo0llNcK<3XpP5d&9*}lkI4K zm{Z8%z$PsV8UwyDzxMC0(}vPYv?_m8_rgb0Zus4M@3a=j*UwxIoT>~PEL+Egw;}!0 zFa3AP_^%G?KhMxY&rF=Q@TXLaSodk$VhMM?o)|SG&6KQJUM!w%nVc2gH@!TD_GzwZ zGp{z6g@o~Xdh6dRX~Ib;vK22*#S42nmN%Z`bGczAK8ALsbt`6Li=8qu_(We;(#T3S zd!la^E&s~J$l$OHo3L+0RqTXSDazEFzQ}jDSA???ce?*(`mlhmVtpm`CTY6TP)zsD zP_c!z)Rv;Ac56;$HlwX6$H>^AnPj!`l2=Qd~3N$9yQ&6OE=)c>eqM?|{HSL4AEPpmzJFHc3kgfkycr zdTwr6t?t#A9^cmfwq8>M6(okX(6L=*XQ{blXy74?iV~qq$HI*_5f)uNR)56%t7c-dk59PPZYt>XD+MX`UYLAKmtT>Qk^k z-)=nZC;rmJsQ%~LC;i&Lx&DovCM;mh-oT#v>bZR(B(kIEvJPCX3H#A{O7>ApgF+Ba z%L8GF((0>pXJaa1#9ia}rd;mxPOsCOxx8|w>~@97EB{9HN##_A?XKABPwEpfyH+j} z@~`>b4{Qee_#q5$``(-K6s?cL38F|nS%*X!4=drUsQz6NFqpgw=nCzLC( z=fD5cLHUv5?+@#8u@?yDH{g|zJL&0>0Nqvq7)m}H!{q&Eoe^C^i}7OluoL#yOn%Yr z;rnub*)iv6Y+S2nPP)ESxnAA4M>;`R2Vq38NBk;*@jaw((BIdj?K0hT)w9a;2IgC| z9x9pBq8%;~41YmDs{(r1mVJc;;Pn-1nF}EtxY#3xiK%_mPaP5@ZC4@n%zHSPnkY_A zu3VcUe{r)L^509I%&H!d0Qi0T0kTRO=o|0A5M^VpuBHSaDS{w3-0=4vP zTo5oQ)uF%SJBp09NItvNlff2C^Hz9UtqI|agu%6T@spiK5oEQA)pL*F#K2aX8kkoF z)(9SWh&&@EW@W`B8RB$0N}UM#8{mBd@1uD1>wsZ)8#ZHdKUlO{Zo@Z1Pt*Mrdtb5l zgt?=+x-)h17FKE?w*OtK4r+}iKfg1*T}`v}ySpPph4XoSzzc}WKI|eyJ^nzONxcH= z@#VpeH=1ER^T%_@f1%`c@^90G=VCDC?mMv>`vzwTUgpKL_crFG8`V4Trs3V@(Q3KK)>%DQr%3cVrD3kD2^y#nIEkb~MLaro@ITk^C ze)bSfOLTs1iE9ErZ+dFmM}P#Z?4ww*V9^Y&5rzo3-#S?ZBIXftk zPu9nA02mT@dr&Xi4|aoQMQp52n@$i25!fJ*ABmuS`H>gPSgni~NM$HyP3_2d?rD*K z6l-(&CXLS0{Pe@gKIiS76l>(OwQ{+~uBrHFy`2u%fn#9_2?T%DP1F1)BV-zNcH31D zBqXqE%|5MQfC*5wf-)en_%KGzz1D<*z8-MKGV%K)y8yj^zevT}WH?8TG^W=F9-T;t z;Q3!U)+EZ--zfRvUiq~+rpl$!nVk&jLC^D{regK9_nf`S%N9@+Ac;OR@3>6ezhb`gx%?IIIC0Kpnsw|_ez_0(DLN#%JWw& z4k>M0_5*}d5*<64b4(e6YCf?Sf-z`X67ofxQOED5Y?rAG_iID0^gGDl|1&ie@O(3r z<-+~qC1Ds+nqz9bKX#ZlN6-K|?F3>)Af7K0i7HO*mS`bm@1*OFecM@6`M3*H&+p9? zNBZ_Ydj;#`JhLw$hMW)-nC69V`x4oasi-bwo!j4@=E$WhqW7<`Yxc3sKIbf@u_rTM zY$9lWe5lvTG#Smx0o)AJbwRd@ryj^frR$}I`E1oodHO_XJ=B$3tdldZ_yWR^5ujwY9W6BDyJ#t%GWp@lS~w8=F^FL(5V#tuwXI;U8RW2 z4mHL$*_%G;TTr&-DHs0@de2HrPt93(5tuf?@vie)W3#C}Wqhw5EaQh_wsA zv1jk-LGp%5yNRdW#s|8VZ=Fwif_SoYE+vp0zV^X!e1%!lS4wC>y5@bNYFG981y)o(Q#57mDEC5VhQIAfo+m<;$FCQ9}N;#43xk`z!~ExM-49opOI^(!jA^^Ar_>&^%|4Pop-4{P*B6x!#`nX8Yr<6lLgjMe669 z(Q@y@&S_#PBo`M~-TsX|HzKPb5WH?Ie{0xeUdl%d^&?bTsF4^|VqFj>shWl~4dP&G zsycaLJ<&{7S8=z8a(g{(^BtMAGY6MCRbnN33-zMfN^m{(N-5X+*^105GNl*HrsYbG zvH{~yXL2V>ei?kUKONLzA5mH_6`rK^#ETR^t z4M4|705HQV$Dx2gvtoikB~ol$HHa>rgtDsU;fW=-A+wv}L+--j{l4870+JIw8=@sb&0oyg!N&X^l>8pFqEPRkyO~-x-BlAK7*IfU2q}MzF+8+1g+n4d?FM?|ZukJ|+ z0&`?U99QIpylTiJDn37aVnuVMY%KvlDDcPt|w0m>rbRbf`3>c zzhZy=1MGfHi)rdy`M=BcjYyaY!DniJ= zuPAR1j$i@r15EK*UYdg~4INj*O!hauVPeIUqANrMf*R1X*gh5TUug{}99m9T`Pe$i zvZ|YFos&^vS8@M9Btx$MpcO!AwU}C0r>eKuAu@M7%JfM^`Pkh)_>)lfji3STuo>p?|15SUP@HN^2+u5e;X?D@$~`Z^D%1iUJ;G`?f2PMT`m8m>Kii7B z2?98pH-rg4y&cFv5MOLTKtByW`F}7GPf9LfLx0mJy@vGY!gl;ShPJ|ZnTJ28pieP5u8d4 zb;zWItL5rTx*{wC)W4{aTnVe^S2RTj$ZqpU9d5M#2FS@xUa^A~gVy}!0+7Cef0nL| zkbjTCe5tOySu~Z2TrHc2Arz9RVGWa2rl|kY$!pbHXUXXEOZnpC>-<5z?wU5=Z5IYb z+e%EX?lt62tu`-VY}7547maN_KPzNA1EU!nesny3ZiwH0MVPzqPnAUX6DRj-z;86Z zZnRdraXfrX;J(b=G)0edxE8sK|kZ6^>1a-^j?-@}FQ6)}YkRi8=6f&Cf zPyKEvOhmM0*4ef;D=+n#Y|2FMe5Aq;ohhDl6iF$D(RGGxq~Sb2Ee?$D1FkJm@dADu zI6t$*!v{1^jj|s{Q3?S}OjwSVYVZVW8QZ`?VLZxJPgQb4f`cYbnrMyrIRh=*&U#^?YdVQ-G85 zL1sH|05q!J6Sfb?y`L^_m}VEi7ST(iS4+antC^HMryT_M4&AITp2=I8pn^T@sd7|? zzUVU#H1%vU)dF>$57La!E~gzXU&cpHDJQPB_cetuPWceui9AU}mK<*GFx1n8zvxlF zzBTp-;{mA;5ML=W1ZES$3F>^UPIw%gz`5IWGZW1RU0~*bY!c|*p&{f*rr#W2-Uxq4 zlMO+QLoLDN(x{0IaY__Q|>LbwrwVZT%aalY(+YSmXPuE(@Sxa-dow(*PS zKd@2HkHV?eFbO4LtfW03 zj~q$^Ky%K=>LPXe4Zn3eEdU-cN%H{BX=Uh-m8WsQb;K-&eK@SLH&O27eF?0+Y4Aps z5gy>qDwF;tj7s$u=L#_hR(;Op6`mGfEo%0pw7}iNV#u_zwF)>u8Q%B)sWw-LIb-I} zcp6w_Nb=XWsW=*~sbwCo{gji6MI!`ce34{%j(zG-X({GKag6FqX)P$)3%#LBjfrAk zh6wsRBk7BBIC1+lyHFFk`-k&nO<#-3WxR_m*p03IMb~kK_w8E@x7!OPe`~v+iyZD2 zD+ypNlIhtKl@nQ%nD1gZOk$QT0Oy@m{>STZdWRvL?n<%)95(YQ9mhj3j`>n-fpmHf zyL1!yNLG@ZE8V!C4U3Oo0Zx@7u}`U&+}2VzudnJQ6VZ-9WJ&(BVszgK6(E;}3B z1P3peY?}@o4@?(+iUup91}ee4dD?*lh;=IF=mq?wr@RkU^!K{-VMi8I-ip+_U}66+ z_TDlqj&182O_1R35Zv7*xNC6t;O_3h2~Kbc5+Jy{y95vJ1P$&k%`NuXcFudg_uKdP zz0bpsN~fW#x>n6K=a^%RDQpEV1ZJU!ocx_?Cw-uYoIo15yFRn>ka4+V-Fy}d6@o+FIg z;i0~K!{XieC$7sURwsiX{`t``4c_y!)*`@H8?>tlUN@{kpk)^+-3i{2QESu9_7}Ju z3jp+u1$vzCPk6KmkNTsWt<@o5)@(8(^j+yEFIXeI1>8|+5=uX)_9?$hd|MhuxokaB z6`>kRT|%KX!iF>(rrs_Xlx^4*>6*0x{LukBT|o`-Xf008S55c9A@ z+3@Fr5Eu3ae~7y(B6ANe(yA1`@^}_aDAIiOBPHyo5FN%_ervmxn_w(Gg_Ve~;Sj(q z#!B{59fgX`W>Lk(ATBmGyE%UXE-_4TH+#hnXPBJdcn}$=t;Afs&HxU$CPq4tde#FU zvSBH*{COb+7{E8kPSF)72Dfzo9_Y^lD6%lEm*K&5{ZNAk#!Jl zslcRGziN|&z?0K%S=`j?bEza)Ls;k0pAptcT0>VLbM>Aw&X7QFcg+)7?~o0Z+=u?AqCso-0}qCS2=TW-lN!l@vL$E< z;ZVTTrw9z@T`HAn$~FWgJ@@=)lQf9)EI?Sb-tE6;Z+Ism$#3Pe&)33gb8!sW=%wjh zEJ0h&5KZsN(jt3wKuyBz*OxDTM4+Fo;V|4GfX+Q{L}U35;6ek#Sa35lGxy(|0u(#* z(4JfTI)HvTQx{w{35-n)1A5t_Vqyk6@4XIW`_ZldK?J~``t=zvC$Qev;mrB^P}9iG zQio&6q(&nk_o@Vv0%R@>RV7JOF2Vv=jbdk2m0bvpU+XelrvbQ&PM2ybV*n%SwM$_l z@R(3M!>(wI2KVooXI;=aVezeXlg+Pyc|5)lP*5Vh5F3l#*dxCub|?;E!2KthRqM43 zhXCHW_mWF|Aglb1LO5p_N6bEI7`G0{|BNsS&fK6>x(4-dY==W>F^SuUbHtzvzSIDS z)ocHy?F(gdU@JD?eU|D+a%SdnVxz(NwaM}<5iJ}le7fhvBBl<9PjWviJo<{zrMB@P z951p7D$d&BX4m*lXT&JjscZV-9d-Uh7qvL%UjUq7CNi*LYP@Ol*Nx*jdrGpa`mlub zZAY<6g}fBIO3zIM1;g#l(LnuR?f7JSKE@43&qR$BBLt*zm~FnI9vr^$h+3Iej&_4B zYH-<})h5Lx5W=er`(W!bj|hQ_{RCX>oqVU-ZuXcYvk>9$61v{pXo2xD(_`42!1Myn zA-1E?pRVIw6~g!>IaJP--HK#r=-kU??G=V!giBS7F>0fBO82Gi%FwyPW&&dP@2PmE zDvOn;gAn`s5&==%OSx<5B6Qvt+y|JXMXJVP2}6~VS6t1iCJ+zWDl5R+MKw>$Vr;MZ4OfTTTYWuZ@uD-QoGNVn%b3tI%xZ{P}1 z0Zh6E*-6#`G&F_PEE;zXgpQsgVp~BdyBoW7jm~YZ4yF&_vm>a`RL3DAPK#Z0+GoV& zK~Dwc*;h_WHHX*#Qier}K>tzxnDD3pts)?CynEbgnlRX&?>9$LgJn*RSIm8;2%Q`8 z3YSVX%sl4ux*T#K^& zy3@h;OaHxw_gFb1E1>@bZgtigN*L&ho`S`MT^Ea>xBj9imErIz$>h{>n5b>6rvnth zZl-iuE2<`-1b#JqU*v(#t&wB!H+Ic=)W^n8*r*`%d$yAZOOukN(M=t1Hs6Ih=$cvC zp1u;StMg1*&s>qRXwUly)ht>ytmr+9PjtSPFlj+->KDK!jH_z+=i!L)#j`~flv@xhba}%E5%hm{&o(v2d9IY}3=c+4bmgj; zKv2)(1!%zsgvLa5%Ah0z24sW_%*MOZ3*(R$%NTiZ?)9bT!^m zc>>ICrXNSsIbZymfjvHI7O*K;uNmjBp@|m-YM38I%9QMDzm@BoAAd_P*Ba~yfu5cD zA%pyeX)t0>D3Zj74@8DWMyhj&_3>kepq_eL+gqH6K?^Scud20PP&#^nb-8@*YpZzp zK)__2uR2YR#dsCK?6mzmR6uh2yLd}g(-n2WK{rlQ;I}YRH;$yMZhXy96$z+`S|E0S zJSucaeY(WWlO0U^S$1+NnuJxqI9P(m5p#o&Gf3HdB9G?p%!{nk=( zIEdQ+G_Er6(<^Z1oOsjK2(-^ta+W$M09Fog_HIu)vzt#liohN@uW`HmMzlsb+hoWu zVQX}Fgmdmkd?Y2mH~L02frmoPiNP>NGy_=HV~ZLW%U^jV7wM^ciU00WvB17ssh#?^ z;3dCv*0R{RU&+#Q5eX#y<^clhSy$GHxzseBKAaza!&{QPSY)3&y2Yp}XgIQ!c2kKF z0w$zPfZ!iORe_5<*wohrqr&*U<~I_i>@_<;Zq5$=VDNUT6oN-NCW9`JD=|8NKW zMN&21Jiwqo3|Io>q->-C(v5VYW12`}zB|~j^`m__eLmt^8JnXbMn3%!h%aKo+9=0& ziu{1RIS(>WK@7YQ!o9U4L_aS84km22%Nq30M-6M0MgxfK41TR`ZD%8_2~d1XPX02eTbWB2cd<9R3jPhrVPGlr&_4(p5AW8PNRu6|xY zfwpV|(3*M~ES}czp$kkk)-cnaA>nJUbP zAMK{wwYrSFQ7_xCwR}Kv&Ba?l|Mk*h^nNS=Xvo^5HsbTYG-Q#j5MBUG zJ(Mh}^x@~H)%)797U{de^ld_KH|(q@<0HEPK=?srY|jP)RcMhkw)WY{KO}P)%>6Jf zP_Fv8qeJsp!or>byhW}P?lMP}N)G5C*s_Z|S`3eJzzE88*R;x8^ZDVjr=dKjCXQZLu<(hs)^$2s`6VLoEO_pBynO!_N|b5)@wCMITJx=48j z>UhzefPerfHnE428#K7n0RvD5-R3-ul8P6~Gmv8t;h`Ja2odby_4wSZ6l8hUuC(S% zbV-Igpi*%`cndFn-N&!Uwm!1`Xm}cpaQ#8Vi(|j~8%^f8U zg%zdEfn^dQ$>|a{65ZoP&-dc<3fOilH-$~eLAdo3C4KBAiG^4o<99twslo<05j~y$ z;4{2;h)c~bw4!W8Yf%8A9b(O9)%9B(EVJ{lnJz>DSPVs`z<(ePCo^(l@|U@ zVIzW3Wf)1T>B#E$z?r%REPNQi5n89iSGR5u8O!Wxd4g(szTO5eiB8k-Eh_NX0ve(Q zjmK);4wXY-`W*-aBnAX8lPXIW0f{BR?Hs8unCRL+G6uH9PO{f-+rRGp7s`-TW+jfK zO8e%3)}~Sh_U`fTeNe)ysjTRYo|DoW;wxcs$?Pz+-&d}=MjJMuzecdzzV*_&NANDW z?bmF6_l7g!xtSWT5B#_s9x2#+g7|Tp?!#qeq}lspt6BY~YuUE0G#s#u4xK+Jf<9~D&nHO) z5?SFsh`&NCKv(=?>DHfJFHh1c?v)YAXF%?JdP5zopQ*Rsxf1M%1{1+0tUZm;XS{MC z&=DEDBp=4uI`O?t%1~~$%9uqw8)E|mqLYHfS!4ZHbi(d(yj|mO>*%Vs5r;GS#ojfHnAj5C{ zkq1{3BB~l{!Fc{n23PWT@vK!^QZfZL81$>(m=s$q9(D5MtyAOYfxSOWNNwp?AMf?w zgSInts{j_hGuPc6F1EWHMoW8LWWu!brMDfP+R50m**I+*?Rpys=Ri`n#lKSM0L5ux z@ooAnqy8w0eegt%p#$e3fr36tv&K&K`K8Gvi0@&C1xo-sAX=5~8-k6x69Y5kxnHg$ z=GyQ}tzr1LS_78Be}}kiqFoK@y$lImA`=OEK<8zmnnK zg=g1GD?67v#q5720eONnd}$TGLS%aGQ(tv8&uqcNEC|NQl4x5YYGG^^@zamr0-Zh8 zm!^C5f-yWgH?{?n92jKsN3+!Z(~4Pws--g70z9(}%VL;HxN{fuys*C5_!G1ZZ0p&qf$4-v@0_`~*_B*!uG) ziY`FEH#Ab8%uj|*Po(Ks`Wzms(EF<2{-o`uc$PBKqu!wkf(X#N-~+42nBQ&11&iC+ z-j-T?nLDhG3dPVA!?9<4-b`)@i&hQZaE6A7X<|M~R|kS>qj^|y7qBwtc0JrJlpL>d zdC12|!QhsBNdj4cT5@7lsvV#tH->+Fo4v}!yqWo7Z|7q7VqK`^xJ2!=vz&3MD6}Zw z{$KKyxpD$l$)Bzy3ey4tcO=fSaJ&BXpxchuInZS~%ln@9oaZ#+;~*?QyEenb3UVD{ z=h*fT7si-5!m>~2`K`6(aphEW_4w_Pajb}j59_6VVd@MA(W;x;Ukxqn>W+|TzcP7m zD7FcR>&OT$i&!6+F>6!tb=2>WnV!g2;u=fE6q}=|D2*;T5u<$B(N1UZZnvOrUE;^=eu#o84xv6!LJV8uEaF30Dn8FhgaskYLlZ!U*EAg(aqP9t@`# z{);}EZI4{2Tty)6>LG$6>>QNbwbq)^jYf;iIxE*DuiZgg8F6-T5t!15c>wQ-stD&; z?EDOR(x|si_0&=vZUAN!Y)PJiKe08;@70cSv?qGSOuVzFMb*vqI-KA8lxCdJ(_4(Y^rd;LUfeTM9v z9D`iv_zW+ilXluZg#NC;>vZ0J&!#9V%$(k|eqaAiZSW+pF)wTN7>ajrzSj$FX!ay1(6ktTtW`IN^WDXsq~Z_ z-?s98)Ot-2KL2{&j~OAH8R>VX(rL$Sq(51)E|(uW)|N0YnuPG|N5^q4>Ii|H24;qJ4N2?z*GjlOd zXg7yn6DX)-M8B8g9SksXpjbmog_RthL_1ii{ORAyG&G9$5xwD&aYpWTj3Rwz8j} zOxpH$Ycd)H-jJ#-v`GA*W%`>b%U{_mkj5$)Lx=5F0Hwh0ObJ$NE1jAiP`ScYDJ6XQ zQ19c~{{jEc_K_FZwoKDz=b`H}UZ3yRSmp)1kj_?sj-v9Zf{OceYIeVgu9D4!guLSBZ%<^AK207l&xh(!DU?9@o-581K63;>M-M`%!L9iVdh20OC#9n{$L;uOa zASoEYl|?Z}1O%ObUd#XW;6vuCV8k7qYN-FXu>bX+{=6iDIU)r9J52vCKI#9ztiRvI zKkt?@7j)#F#%tXY$lds(`dg+kou-_BCkOxi*Z$}6p#IBkXY`BK`w0CvQ3ZF&mtPfM zhr2f+%|kL^|Ie%QKh!pYnXvfMx6L^+HGqN+6mNfNP2x%@Q{{=(+`s_CC_gNIQMbkR zShpRn>M=?r&sMCrOf#-Y0&r|OjyuY+S`5A0SjEHN`u|Q8x^EUQ;|osp0!p2~RnGsn zHF+mbBo8?5c0ZjR9mrm)RxF@J9OvHb?=5y^&U5E~$>hgN52_Rbrl*sjWtByD=?0da zXOM$daRc>E2qz+RncG)!Uf58d2~>Yj6y`OTCtTtc3YZBPR!rH5#d+m65&f@g`;Xv4 zXFFpd+#E$Ui8(YY!MJ z0lG^kX%>(rZnT710vnrZV{9KgZ{#;-q=YM4Ve zQnRjn(?EqeyHWe)y{<)rJHi(>eW79I(2%^@UkdtrvR5DxtSc6%tCE~swIW%SjJFWm_efE@ zg2U+MU8EjXZUMenF>QASF~Sf@Z7ou9!l|&*B0@%_e0L_CIl|HprPHa)MO9nLdZxqrQ-FeC`RM=iA7AY^D1;3*?MG1Lku!_(iBe1?VfB zMHLeMM)_P;7)Mpdy9yB{V(-xo(d!TM0Q-aS`QzUipGW-&k!nMxN3xYeZb`Qr<>Bt7 za_`z2ryjw>KXl!ta}}%NM4Ict5ZD^Rb@TV?%J)qHTkwKZb9-e$&)a|Y6aWG}38J+i zM5K-e1VG7-;YK@)O!4Fh7TBUD1fwq>6f++-cMlLPkHGATCWsq0@f5{b%c!=dYAFPv|j#e`tUzrtp4rX4Ha`NA@w8i)zq{0 ze$;$2XR)UB#nqLlJ0`+J?S3P+yN#N9YwaS2j#9dVkW~qYy?FRN{J3|x>j~xREtg1_ z3D??JMMsB^Zu=1fhrK=kLrxTD*JMUBJMQU1B6+M!yBpzP=3(*k4g#y@Dt}IhLEK}A zoK#j*9pzGC*@pbiLn|c5Z|7H9LQ>|Qn;2eQu*X$))0>^DkNbm&R<9B5?q@{C0YIVo z8=2S&6}-(V^!c23TpRHHHZA|57x|ytz~5hCl7G2lF+R26Jc#;z?G@eY>$VQBnT~Ga z-EDTH=)4OUn(L{u09M^dQpeG$$@1M0LkZ1q4|T)7f|NUr9vVPW7BPO$f|w;$M{l|q z3;}Sfu*&nlu4V)(z*`iqk9}aI^Co&v=&*Ojb*YbA1Ux#Jzm@inGbAVsY$-K_%yYJ` z=2L>@lWSfo!Ar8q7_{>G{qtow!XeUqE0tD)KFh5cX9sZ_@OP9$->@kD`5hfWetD#x z<=r-tug)~s%bC+cwdA_o{H)*r*UgZuwUSW4qIgB=B|-rc;B7`d00t3|S2gX2G=<5Ob5q@&LIe@Acj+Bm_6?9J}j72z} zj!(7VcUkJcXyQEsic7TjID*GvO_sgF`7OMcAf^r~zmOc}W;1#Z+hEk3G`?!+ z{HVbj7q#{eecRts?y7=vzDtZ+1oHY%d=2pGoHb zaf^!e0t0Fad$y}XSbR%FjnE5+S;IFHPZk~kF+nT!jJ@V8>I!>Y8>}3YTlBIlIPEq6 zKFLNotu50IfvBU_j+JMX=Brg(W%3JYP8n+FK}-s@zw7S)zEJ=3*#9jc>+O2Y0E_=t zkouKoIXZW(N+}DSPh)g@am7vMK#A4ZfrUg|$Tn}~S2x|2ncy%|-*>1HVY{@A4mDl7 zYKbU^CuQG&s}+s&_&;9Wf21EDqJab$@fILvy^?-C=$JpTe!&Cwqr=z3NA+JV)aaFL z^F%#6%{LYG@ROh2Z|D4~cHW0)CJpXOSZ4cb3b4lrL(#Im^f~^~&qo<(z$W??>5K0) z`bRo|*VfAS5gbs$>XS&{{?-@cP1}Yoa4QPZGcdXGoH08V5e_#UeoeK5_?AEii@cTY zNeQs0^nZ;dAR{q?Pc`?A+FlJ2^cS?e7I$c~}T6m=kMbd?zyp4hM9pz7&oSw&rKnHb6Y8SA* zaG{X?wZoo;5}YKQjL}jr7s8Pvwc+C1aL1=UJ$bRPjt13sG63-w>4yKu+n;Q<0vvv| z*3+7{(ZsEe zkediN3z}q?f#NfI#j0A)NxS9F-;p*S-an8wb@`LaI(ABCFS`I>x&EFHr#1W%CgC0x zFjWP4Pbs-K*i>e6{&%3QQF9vgzW{BZthSn06&t(Vr%;Y%lYQPU+Isvmf0K0$pleBsZEEb6@Awv{&ty^3l1J;ZpUprW@9E-xuS5dw%r5U&C^@z8SRMI3iM@YQmf494c}%T|Hac zZQA}u@a1uh8be}4S`^2+}gE~xbYf_JmOZ;DcW^~%7}`#*QU z(;?_a4|hQj}fA0DNOhE3RsN8SS3=3H@l^!n*9zW#b;d*1YU$)Wt zR-x9)=JaY#GKoJ>_in)L_`_?zmIa3&BrNDuVV1frmO>>5nTfOxr#E$K4)A~7N*lg?&~s5PBdFJ6a^A$x{Q&cu z-|PYd$R<)Ub{efoI$yLKeYMeji$U(F>1n7XHDAMF`rtq#%mfg0QjdL#XFqA7RjI+GskI0MG!(SxUE^6s&uKIB z9DeQiX~j)ez!VNk3<0ZO&MnU3y*gmW4!o6{!%vbM@#y0snK?tf=Z(%cUuQmYJ*#o8 zHVKxicqotiqt-4{6&IWg84c#vyygQx$*DX^r{1eDD-0~X&L6B>RL@YF!=y6R)--z?D;M*Qp7FWX zRG-_q&hx*YFpXm4-0~tv+${L{;$0Za$Dx_jB#79ajR?Sc=Ve}%nbrUF{pn-GQ2?5T znfjS~n5f94OS}x%7`lSxwxO@6=j$rkCl=h1>$&YoK1aXDu+s8zw19(q$P~-W_0bh0 zEiCNt5ih+kvmgoAtyy$$o$wMHtJkOIXt{%no{hPUX5i{sHO{BuU^Kbn6^q%}hI8!e z*RSU*4Zch{*KB`LdrU*~{!Avc!mm$kGF$37jP&?eX?RJs+~TPk6A>wa<{V4$CdOtt z8w>IQ<~rqp zK@3j`CyYWZghXx^rQG-(8adl1td=DDo>uirI`H9V3##lOE z$Ch#dk822z&|sS}^3(Ia9Dl_n(ag#{y!Z2$Wx6ZpiJ`Yzbs_$|GbE_mjf4|||s?CXI!wX-oW#r2ayMCy!&@+DK__i38sNV+_)YTQQc z6I5eZd3@VQuspu9JXe1w*^9{WtLvglXb;mx0?QKU3gB~MK0Z-Y#N?_f84-e*^Mg`Y z6;$a82>wy(A=9?4O6%7XjlXnxy0o*mSVp-&<7WHjsQ>D~e5Sf+$~K+;q;`WdA-2qz zI>CAx`a7$M5+Aht>8lzqpXkm|B+?a9*@^YlI;)h0HtoFO?~!Nm?qAKXEV=9b{Rw<=jefFqf`R#xVTo@SP?&xRne%PIG=_ z3(+t_;*$hNrv8~LkO+MYK#cp?OZR8c26_M!UELF-J>W;a8FYG{ipXRWinHf=XTnZ<3OpSVN5%G1tEPD>0zsdR*ep6z-oSQj@V_5ZdofZU<~+eIDc zBh7Kv96vM~0_Ly+YRwYe$K;kiop>A73Ym%ZPzr$@InaIa-H}v|DhsGH)-{ z<8%xaCT%^aD@>1NKE5A@%kE@S>1tP&Yx}CVX7x{Qwr08k>cZ2p^W4kY+Y5H0>Irm%=|uz>(qH@5!(uB#tFI!M&mc(Vguv9A^LQq?|Sbd(gT|oGH)m z_vbVdEjv4K`wf*^1;J3=y(naP7I&~1IMh!ubMrj0*j4l!tN?Ec1 zl2wNa*Q_hG1A_t~Kj-i}G!i-Ad>vZTP`l4J4H0Ou6*tTxgT`>0@wKIWbTX~6;V7wG zIMY_$2@rJtrO)9rdBP?B$gDA1)5@7YF+fSaw0|*YX{vnK)Hn>;244~ofM`Isn#cGJ zhP&2g4n;PNqd|CQ2NSBw@Dsl6I>{tJ<8D>$u~Q^cjecv+ZOygO*tD+sfymVPApGM) z94r1M12p$wQP{yj^zA2JhX==x8Uy-V8DHM^#pmd-Mp#hNi@bI7c-9b}-py8APy8cd z|Fn5YM;lBi=8=BS7u*M4oD7|<@ZJFDBO_-f`0 z@Y9+p`n8--uv}`Ho-IX(T-eEMjRxz!dtRiX+Rcu0zo`I%#V4uhZ_uv;X`1M9UvZB- zK%~o+BQ-pT3qhHsVM!a)1w$Ssmmsu;u^ma)z*)6CMp=J%Ds(M)e8^>b$HcPCj}3|M zi1;1bR!`zn#A1cu*?V#nR9yHbl=g#e#1iW@joT6o8LZXwudG% zEtg4fDmpoe@d$;@k}nz9(+^{FWG!X~Azi{+^D1uJDZeE>h!m;WC{wxAe}0O7ra%0U z-p62V`skXN8W}bQNRYkW!?^N#pCe!S7KO;TF=}0P7Xm}{l3;FKd$3EKYk*2Ag?u;d zoLLqa23+Wu%7La?ZLBJV0>j-JejdH=jpne;e+SXGKdUTjr(cWQlEjS_$$EXFi{i`_ zO-%#hUO6X`9TP2v28ui3XpcX^Ks~6J5)5(3`d=PLK(Y0z9NGEw{7fhZmpztEAdEr)P&boFTbz6Cz7neV;bU-kB)OV_eD z@Kuw5)NPAO85ia=MWFiQEi?j*|MQbqqsuxNVySKfW%rJiJ3~E}(6mpNFkp)XU%7;iB*uXkg(juz8$ zNxlE;R>5H$*|(W*k}&K+^w>uCkDSz#Z|lxyRL5lxHL8f^-58fSv7|OAy0W!Mr-`;% zFMImWl3sT_R;*CofFI{fBAJ|N-W~6QWZyEv9DkZxI|n6hzg_82!$^hClTARxANCFz z`Cd&@XJ^TavVXB%({b?VIWp94umeHuakmffmHN~+@jSO8Wu5N*_+?}nnP~e&X)ALrBbYmxcJ2SLw|f9-;AJ(!S$Fv^W}}dT#FGp1CQ51E%MvK!%HWT z5>X%%#Km%i$E4}V-MzkfK>D;nj+xb=e%8g=cPKr_I1ddxQF$B5NBTkhwES}y*i*g> z+&D&anzJx`Ju>6p#@&dFKEFTpatF^3HYGA+D1MB(+LBI$8s;feG?jP^d{lf+-Zvb5 zXEm}hVQ2b?NXv$TGjo@`BM#a({h@I-zBg*lGjJc&dMG{W?ZQ-4Bo@(6I53-i@Kvrj zwC-X~Brsr-YzXdB<6L0ygmzMj9vN~9QxPO(xWaF5l65{j9ug9qw&AZK!LPq4*7x1d z;NaOuC0&JIdQIQhL!JLw3GVyPv>rt^5twDHEIwMmB2LGknv{jXX@`zVwVAHkbTkAW zhoyU^2OpTX*Hu@d4vecI(P?%kUbd_@8~5jSIUrRnW|K^!!^z}F2v{3U=W@D7$7D=n z?3OJ)*xLM)T8dM+XdAM4HYqV)Y*hPS4M~*@>-NK_?xR9#d~h&Viu~Vm*LE zo((FwbmXBh-p3t=aM0@I#ZpBoRUKb?T;!Z74BuRCK7#@UDBm+t@LWlVO%Mwy$)lH=-^o(Y zUP>JX!+W3|xabR9C_MTiO!Q1%&{09OsOi>*Pl54&0_}zluV4?Ux+F zCKcxTk8rl?0A>n_UyV*5BAw++qlX#XM#VzH*DvlKT5G!N;#*T zyPklOZ<3=P{qvyWx6<(EhhJF^&Vg6dQyO32AFZ~D$d>s83ND*jx7uTjU*!Y(cymVqiLO=oKI)`EiwNTW{=eFTHD)p$r1 zxg+kwaIW;SdUzNh>`h#adv>D-6&{{-$3WNjPj;#(9$*dDvyS^gMOBDg3_vtKk%KL`J$;`8L52%O^`OZP$-ADpp=}b4(9vFLA(aS&XiBxD52i z`)TLn<2lQz!`UYOB&&R$)MLw38<4Wps9p9>Suu?ZkKG?Ek-cZ4`_Vse7jt*P$oY_t zVU=GJHT&(hFG3-wA0)3btgI{+Ou1|S>&)g5`NrI6v%#tZcM|hvh zHT>??@gnQvuhP%Db-pR2t%So#dt^O5bevalH}4F z=UtEWOJ?(ldIj_kLn<07P&EqAjK~YX1RQgHr9xH1e&NW&aQf1WD9o4Ns3ms1WMxXE zBK1OhZ%tr0ZDlHSr5mMIH^sz%)el=u@3QzTq01M6*4^)FEjl(ZV zM`ocA`sxp@J5ddbCU#VPv7k2-N%M&vtIz89uJ>i#Y$zLk&&7R_B?=v1N41Kp#B|iS z=69=II#Vxaxf!eVE|1l+sgQEE=>+$=a6^0iUW4;{^^Tt(sr+3cr?=y$i06OOLE)3c;183Jyo6Yuh!b$`X#4H+`75zm7FA@7ZGtX z=JVha1p$MK4Xj&*31vF%X6zbMxv9;_%;+!tB5n6kKlk^vI(20uJ( zjd60N$p_Et`cOD3?Rrg!@Y5QDkvP&o=1NQH(6FHMfSvY_bX4a;t+F@GH@Dq@@pz*> zfj-hMoIpqA8okzOr%jDmUBIL@+ARm* zM_}{Tt;PmO>*rAoQvS*-NnY|w3yyiLKcYb>ObUu~ShD2&S4=RlRYv{K{HO(;wh>b* z$C-MP^l}+|>3(|?=_{2=a zD`Vs`l}1&YvT#cQ{j!mdJvBYgdq#XRV+l>fsv?x9azsHK!auw``qpk&`WEA_D4Kb2Cyr#0^m`;NqAF5@|c@0oC?Flf&(o+)Xb zE?zD(gx}qzW09AZfh}loRA&^34Mg&9LW4qnMnB`fZF9x8K+P8$LvOnDl)w8Tctt2M zS?su=%J0|Vaj z5h<3qc6edu`c!3YJcO22HI3^fX1>A2*q=owB#gf?=fxI_0$YDmdBIJZQC3`)O0ARj8Bk z>+BM0;mX%p7E_Sj?cZ=KG7CxFk%b#`MHhXsNUvw*qp`|^-do=4eXFY!jI`fN} ztdSCm%KxH9t&Cd@;;2bKz}sL^9uIH(@zlep0%AT0G1{N4jM8XBUDv!?&>u|x_9_!n zK#czkU+4ke3F8^bNd?_%{%zf?q%7O{yC`!f?Srh;Gb@+I4cwKxn8G9Gt9G&Yub8q( zxuCb2Z_gwtyvUh9n_L~~A znEP&T_^mGr6fTv#8Yy#_k-$*hooMc;bl6wn zdk4Uu<}A+G%fYbPdv9U5*|52gQ(-aG_N+P{5DV(gFff*Xfh=h}$ zOUv(Q)rGdlzNju|2|x6n(WjS9eu3;>+SOY&AkTXTx#ug;jJtyAXQ>`l0*UVl%RW*P zQ>t(@C_9$Z&3`-4r&WB~HT>|y-jcqAf4<#3#?qq*Q>!>M>3Hs_UX`H7c!6cTa3=4)5m`A?*< zh;}^ZA@^34?d&_@w`YUf-wwTYPPu_OhOJwl{H{FI!Io9TRzFy&lFl$w&@%aSd#0ib zH?*USH{qq}w(?%&`}_RF#cMKtshRsFTRFH#r+!aeR(?N}tB!|_F%2*0MAe&7{%6xU z!p%2(k1I82S845@&s(ND#bXBv*{P9_?w&r929#zD+y|kWAk%>pYr42k`cq;VdRP?F zBnNp?*{wa*q8vPt1)Dun?nLZ{k>!-^RDGymux<(uzi66gNsICYVc+sXw}t`$`C?re z4EH>F7&Ntpy%zMYcY^_4ea7k*RRpSG3T+VGXG+PO%s3mf=e{aDiJv$FXsV9tb6L7~ zsWbw3QRVLapEaht&NW-EN|CqF(q3DC(E(3#(L%Uua$FyKr-Hs?!}f~?)ZwBP5wI6g zXt_-dn(sDN)gj&`gUpQ9XSO~+?!eD$43iVDuFTx$4KDOekhG}Cu0&t?s>gTxSXm?!Bm zzO?jURV*-guwfuY175ezicn4$z0~Kt?nhB#!2P1VW%v=8a?smL*gg}! z2*W)HQN%82DJz-6gc1(xzueTF+5P#2`mntk4E6h~HNx{J;x$6?=O^MULVh49-9Cz* zZ_YAk8_&iR_zocNcN!O#j?`w0)bGH>(#iX@L^J4lY=7^YMMJh za<$3 za_15SlL|q}#uAHW+@{U9;t2OeNasdm(WO?Vr%8*gpcTYDo~*D^9QfvD_Yihd9KsOS zqTu|p&TUx=&Dy*O_ff%6Y7uP9Dp{|829RA{>fOqVN7vevAA`jRO+TvD3XPH|XYpZP zVe8jQ6tvdH(Q`uQdAb)-X!4X5yL>e{BOYxSL0!i*}c7knW<1UYMReR%R~YC2}40X9k2H_;jO znhfmC-W?9S6gD8eaSB-_SxXj3$Vm(}2cY1GaG(%r~ zmeh(%AJxAaQ%AmKmqW_p@_oC~90K#OXbFg9kp!puU4mo#lvTykVt22Cw|QzKUj!tc zuFvl)#&?UfD~Ow2PKqRCf9qW6l!t!tu;$!XFVpdtLhG2SiNWR5OTC^T@y)mdS1Yfa zwsL*c`m%WC0>@4EJ_R`)T0G#u`Gc_yHFb@vyxB2qL zl@*B7d5!&6}CHgn4;$^S#yTZYAzeSM3?^>@7#Om&dj$;1(Nfe zz1H4)t)DEsj=yk)xlxAbMOdm2Y_vjDGr$4U!stQmRS~;nJ|DI^JAT;M@1ldT-)xB#N3D#?_#QgR zSeaJ4*vQpu-6fh)?=0NV@Ue37%1+BmO%sI76i}x_$tRBIgEy>j!_Yxnd(pUay3HUg zbksPqsUPY)`m-tm;ZgyC(BrfAyc&s7bhCce0kd5gr{Ht7kBkyZvfL-NgYAXXr=>p} zZ6lPnp1_g0MZ!%eFXu_A6hv#az-lGi6)!QeXLCn*rFv&y=y~b{zO)V^qSh6qd4O$x z+XM3z6y0C#Fn&Fwg%%MkR(s$`ziNQ_YBbos_~8zD(ltxt{PI#ML#SeCrWA~6&=Q19 z@VjN9=8ImcYzCNNAgfyW_lplUzRzt2a^9SAAF$nUeML-I5G#{1t=;I3;O)Ix%rWIH z{)HqGTi3J#+xh-**l?i(RH@0#R6yS?QbWM18)~TrQavymsN}tzx@txsvmOO0q?`+D zmOqS^=z)ECkr7bv)gA7vca^1=Py{4{GBqT4{F12mKTg~9x`w}jm+2nyojKCLd_UFN z3Q`vCJPebu3D*vy-~SjC@K0xv(vMJjy$)GGsJRt&Jafe@bU+b`iH=^Yd9urv8#l<; zeJvG=JWar)?Ar>;sT2qq$M}83pPgMfS=qjz%^XpQ=E)F)bLw$YsK0EV+OKp?I@mEF! zvI4tQe-#iKw`L`DT6av-DsktRl4Zy8egx}Mt{UumV%R=>3%!_Qxd>nPi$umg^R;UE z?E?;IV;W*p_u6Ha2jvuTMJ9H#seI})0OduqSNQGxI4;F^9;8-sfKjO%$j4D!26~27 zAsj!LkbGLP*o1}@Bh2#wNn4pdBTS>dvMfU4_{v7kr86s~XV#w7=7)^)voGCu@n@@ayfl4`lac_ux9?NE+ z_C9GWW+^7mECk(2w5#6fSvNk>Z)~S|b9m@UU8JQq5i6?p&Ejq(1IRMP)Fj$wNIeJ_ z*P6HRjjO@JCyjDk@t6XtyqZ}$sx5tX*!~)*(h9a5e;NpzeM!%vnmX`R!-yYO`&i2b zQ^5B;nIlovT0vyQstt3eS_4zpu3c;uiWb9eX=YmSdRrcboFNE_I1blef`&Fbp8&fzpy7=U`rjfZ6HcTQh#;qNaL*JN;5ZL?V~H5y{bk0(`u z8E|l?CzD==8M2?L9TLCKNHUj{>|i z*e_3~ouPpDafPy#j?$mdYqsVOXDTZ7Cc5gM6IoH2MO0}r?#Ea<8s5_?hFTDdl3uW* z2=K{aL}&8Y%FHLd-j5Lq!1$)F9R0aFP)f*%iizO%rpL-+9zc4p1}BGfv!swRr<$9dLN_ykDGv21V&mw%sTRo>550h8HfJAF?a z4jlF4D8peNOvv>__rTQq#>0Io_cm$I4Pq178JLcA3E6=(pFLMFQu_skA}fSJldBfd z7P&0d{^*`EJr{f_pqis-^=XlUHMizpLG~#!3V6;)b_yJ$BTpt}fQ@XBs0N`pUtmYC5Xg7l7cq`$yF{^;mH56awdi>H~T7*p#r zQ6h8Kr#KhM`8IU1kV)~0Z0)MelJI(x4ZGB=o;X^+BDKsc!KnaY(%Ivx{ic8s#XE^OpF{`V zA>zqxyYPR8l0pyQtGNjZPA_M)dXSW1o%scfKqM8sFn#_PJ0HPvkMl<-3zSAQ%AVY~ z&6iJ_9`-ficMHN$X-kz_ZKjDtUm9F(YmI5~MtH51`Vv_!@16fPeGHqaT)vI?t_L}8 zV6w2+dey}B`k*P!ZQzkNBwuc+$(i0239l~Jp+C~LshGy7qEI0Qd#b<2`H|&REbidb zp{LD}w-!7Zlzi<&eTB_{`KvP=+9@rvdXZlyuDPAs9Xeu&O;murH$Ha=g|ZzcJ;{6; zC_GC-A^mr}b-826%s$s62}ruZMs2T8&h99%`{c`hlC?Yjaim<))7L`a9C110ezlod zbl$?SpM^1(M+=15Sc=}Vsjy?=Q0ey$-AVZ*HG8Oz)yjUt?h9MdW>YQGUnBV&JEv&$ zpUSz4|`skfoyUmDa+;|ge-nPKXzQ`rjU*Oj&^v!Y&mm4pwE?*Mwuq=*)|h)1Y+ zt|M_=+CyZ4AWsIAglwL=>c*S<0y$9p7SOK(CUNd{Xtp=YJ;t>f*zPs6+GlvO+E$e&tG8$r;I{DMbOGrSi{-Gm7(PYf6`T}N zGuH;5Njw#V`nNQ5PxrxAev zDxa@5A@*rq^l$ir($6gdV3n^`A@A7#O=6=gz+t1=pYVaf$x;Q#%S3-%jG=O+^A7qc z7V--}wO(fKIr2uWd!}<}WON`xs>FH`6BqOAuguzNMxz1`ryth9D3%b~{f}B7Bzpd1>j>B)` zBv=?`&o|OtxuXW=?0!dSW<8b5Qy2G-r-CAOdhur&enu0|VSa|pT18fk2AO^bn8_{l zi$D6FZKfE|eLOB`HCY^=P%aWn9GjGGa(x!THTwfKvK9=_y{0v$ptZnF92ANp!O}TB ziW*W$F8M^yeJqEspr@Ut`)ttnd;>na2X~`udW_uuh84`7*sW4SD-N(|B7id943bLJ zQFT^vF5{BBs**YtF}UIyE~UyOyOB5rP|1c0HX}$@l{niJ?13ZceG>k@Zg!yseFEF! z&*^Lre{3T8PoEIO?bFK-Ugl-{*bSvjCF;yqD0* zFX%n=9XO4wBOP*nsZG@5>vi~wZ*)zU9*7L4_3SPotZKV2UXh8&k)R~7>V3-ur4)ta z(@OL!3__=zd&4I_STEnQ`UeDPWJpJ*=3JQ@+(1PYGXlX0tdl)coR*jBpI}|oS)aW& zMGGvPe-g(~eRPEem;AVM`QmJ`P(&~CXtV%*PZccOJz}K3QVI}?A_y=H%*IuAIV;ln z`~VW4WQja*709-qb*59H&0TAV2a|P2Iz`|7yyiO9LwXfmi*b-fMoOC} zm3eYCgY8zWCExXYre||vG=?tdIl%UNH&6~gKoKwnl}Lqru)mTN9-n+Qr~7~z`BI06 z0RxFDWK?{iD>nROH~174pE|1O=ybL;X*Rbd*V@$~il^E1?TJ(qP=01b7R+`xEt{K8 z43+Og5mEA(;VtExCk9vKK6EE#E64vi^s+I6q{f!7z_t!(s(OsH)A8yVPRnk{me-wGyLBIjEVN?9-N9F7&XAcE?MlGN- z2v};8-Q%QLpm7(emSxuPcVbiG&Xi71IXcbn>n2)(q zF&pVBW20no$!WD$S@?Z>_X0CD@{UGchwU6wKrrVF(Tj)N zjo{ZNuZ~oBmtxzn)!tg*iGuE|z1#YY86>1TE2z+wIy@L;Vp@4;)S>!k*W%yvy0996idVJ+};?X>M}s$yz5U7<9fD zh+MBj8mx#cu&offw0e1PQvocY`5kz&CrXH-ek3?8Usdvjq?_wJ{_{MGpsoxl;nIJgiExaHoFOCEB>=zWX9$$a}p|q7V!pA|wMq+KzPE#v_#wAE7Oi zBLc4tl6kGgt%`F4dV{uxgn`9bzJU~J4CYGq$SaIDc~|wL9R+g+YaOcupx`6+bs}EE%QppkLN(QB`Chr@5KH1U57XM)2*G~JG z(c%TnQ4bd^ldOt(qpsf(-&W-g_6As?PrQ%NR2|UL59?^LI_aW|v}O;uSz4dZ-1U-c zVSueT_Yi5Mf;|_gA8t}dbmWqk)7J!Sun~PI-C~pa{Vu_<1q&=FvQ4aiRLBsMdSsRc zg~pLgM8T7NZVN%okoK;;w_3I3uA#p*s)zYjJ%Em4cwKyFgJ6suy*WNt*QbLnAZ2jR z5LbV0r;G)E4SSSkW+^LncVg1O`Wii?QGCHN;uxP;pYOIi*{1t-WvLl3hW<*e zQ)*?&t4vWvu{X!DfRti3N57+m^_28rE~53^s1DT80eo3w9&d%ZLV{Stne!ymGm6_FfyYoohT}3 z0?$`;fsbI4UolB5w5vEoZ0GbN4GM-MPhZ|Jfp7@cj{WLT=UUKz)+K%6NYMDGB0N*zLV4 z`fOeAyt@P9B)Ksgu$#rgBIL6mWI$5$NfBhI-L}E%2!VT%X`$kNzTU1@jyg%-;r>hR z^?R#D(hgc*LB*#X+R0t%{5pv-BR47`Y(ZD+Sy(Jh$YiOxRvYV-NpPlyRPehX9-9w& zu4H&MHXCrqhV>&chbv#C0pP2NAO)iysqh#6sUcctMjb(5LD$E&uDx+_N$&-H+|pQb zsV`;|({~kZfiFNtVitp_z4F_B#f8KSQAh)e zNVuTZ(~W%=TlB@bW(+xxr`+6VsJO<|fy&-3xc?&E7YSb+BPDLj!=Cd4sz9siL>Cpl z^uOXqK7bdFNc)lSuMy+FH=A=aB!I#-<=qS8F6}w#t=potms)U~O%w8=;eOkT9W0ms zv#U$=`D-SoI?z>I3`^Af#2Oai!QJ7&x$K%N==CivrciLFKib)-@-!UcRffP^vRmQzi$WQX z6=$nxG}{yr-{fc!)O*k?*zX@a4S5-q^3gkhVg`yRgx1;J=2UgG ziJo_($aw6Z_-?e-MLlIk`{Lp{*qFvDnmGD){8-vgGrASFWL2U1iTNq<%%D5UN$*0z zy3tZ;$X79W%;u5WTTIsmo z8!-#~Hp*NaDYpDN{_bmTq~i%J{@{{)J_F43t2)PfF8YIPQETFtt*xwqqAMpn{bnx} zGneF2t*mUmc#-#Y7fko`niPh9Tf9+SJ*zmgPV5MyvV7ccMD2gNiq|XV();hH za8#Fb=0w`&zC>s~oM8X>b?Iky>#%MD zb+tf-;fyPLQ^Bihky(Q z=FNy`Mj$SFn<3;yEds{hXauwOy4*?s)k2ro5iVceR9f)1%GGew=l3oBW`G-N0pq=0 zDM00Te}dYvh@?y0a>2Kc)xOHsPZ(7B<(0(p6xj`5?p&E-=GjD$!kcA)g|H9dimvx< zNApL|j6VxzWeiE4i|H0K?I#dhzxp|El-L4WY1A zQu3G20snXbXy|8FzRZ%FwbFEmf}2|D>-^KF%I?focrhN}JMMpkb?=;CgcZ))9W{CF zv83=+S)@)*jo8irRn8pZiEg>B;`QmY7La~0T3@f5{oCZ8+WjAAq954+!@OT5BJ>lN zn|-MF?aw+hR#Sza@-M z&PHTOFlGB}#Krbu@%l-51?4_ata$qe_1qr4Ke&1=KKi^f3s8QA=-`#fMFZ?O>`L8< ze&RXH{+J@60NL=ve@t9_-}@IXme95MGLq}W?RjcZ$|j-ZN8qp#GR+pr)Wx{OP8wY_3sy zKP(e%y!bOa#x*#-iBFtQ!pbFvm^yE{&YP&7)xN!o>MF2dl6gAc%B9%Ypt%L+_Q6e# zJ0DI@sug;t*n=EH5%K zpfX+vRsSShItmBKzW{D>M|q?xb61fS6wn}@)T&xQNCCAAyBBQd*J?+z%@psj^`84c zlg)!!_J1;1T%?PtOO7$rhKvI`Jok&R#Wpba^|S*{s*+f_w@dmQ&3yFQu-Ch_=X#~1 zjuqTECADYURMu8ls>g4@s~_j6-Y4Nx@wc@chyJRpZ&eD;^BA1a(J1f&s0OxgT}!eI zZ5w_G5b$NBZVWD@8pZ$Ycie!`EbS}3g(pq`J+yFSZk1*1QH@XRHH=psp4++VeD9T~ zhDR$rx(hXUiA9Bw1Y`)l>XxeeSkaSMieoXuh~!{B%~8%U$g#%qw;XlaZ2PT`QFeZ3 zQMvT+@esg`YrZ6&gi;W>OIy~4Dx@}0fW^bA@VoSwK{dwZY}KcH%%KUK#3lm}8wR0< zNKF4NxFv@Lfty?<;#3kW|%c1r)q814^o?A$4Da=XQa5mJJ}H z81)~mXVYACA?`$|Xu{5cOH+SQ!X0i$>Ps~8DC{@Py4hvKobaT`O@p7cPy`yiJhFEh zFAjOL%Dkc{2CH07^$#L{aMJ8kk_;w^vX{7FXBtJ>QDh@`=}w3x6wkh4o!U`)-R8=& z-lYaF-oY!9|R0_-{i}Ukb>G3hG~;|7srf#j_Uo z*=5s(z48tn3*@-8nl9;P^N_I%6pEDyhKDjleM)LYtuxqPVA!sNsz22yU;3(JX|y=2 zO#Z$E`U@ebH(RRZjmF7n)s)QA)Txu|JoDZ{Z%HziTJvTv2`eEC8qxrfZI&>vvyVR8 z)-CZvy64%Uh6&HAXz7i(!(oj-3NTK2f`j>}@nsOFw$kZBN%Y*MGs`?4nVg%nF-17B z4iT%7Iz_AFAGy!O!7sFKEp^I)YItZQVP1d+LEv{U1E7Z0(YdtQ@1;!`vmy@1!j@q8lt%%R&D?&qarlD_ftEy5>&X@3w>MuF~s(e1We!owL z1L<#4g{O;oE9kNEusmZ!$nuiG<(?xB_iIx932i=_IO{cv5ZREkCT*PBTiN`|4%MEX z$x<0M&-AMsiK7nOZsMQK7!Mj`fq=O4P&mT+IalyEmyN#YQYyc4BFFtp?^Q(M12gYj zo^;}>BdoWXzaHksur>)jc;RypcKDDTAI$;+ppzxHzFE4Ts!on?@`0)SOuxobTz2eV)U)A>rzL+f+QUjbs}Ll$1wmNUN#;N3*CKw_l%y!HY3 zcr}NjwsY8ceP=Pa^r}?0D?e`(c10bvlcMiiOKWl%L=%~bSVSTI^Fmyah=AeR_l%lsaar**lX+#3Oix#onJW-4_q z20()keQmk5_}9a%pAwPuS(!@0P>O?)QNjazYdSyb3*Y>K7(^6q++8d6AQYw%Z9uhe zubPyzAaoXi1DCL`fDlIsg3QRK36QsXcW0O;d%A*c$}&ATRxW4uFUnnXk$of_+x3QA&A)D z>bLrpvlNtsT3v9W&sH1~RxQ27veR?KTUe?|qnI>6`dihtM$`jn(6u9?E+u=NuvH+*9&z5%`5fL5#`8wV1F$x85A9Lr5YVMo?gK z)J(gj{q;jEZ~ZAC{9xQoa|y(vORFfto@oNaf9U#a(K2EfJ=ioGam3W$Oqs%Dx+5Z! zxhb&~+rBe7p3uiO)gE>fBvUe=^<7`cn3kOx8#bXQjKipGg`2|wO1hLssN=K<$j=|> zDdHru7+4P?^IsVd;`UI^PxN~4`rmJ)QZtp*aA$#$)eR5z@Kjt>qVw|U`mtH+aR$G93hFt}xbuzpmryrYG$fNiK)!i4{ z^wHRVjBQ$@;Z@CsgMYh+NOZVv24Y%JMAKq071Uk_%DQs_=yDl`-D>ysc;0&)0U7x1 zvtv)6M*%rF1Ts?NPp|)J8GrQy;FDKu`)~dwas2r{Yh&K1hchD@y@%JsvG?X?wx`hT zq&MYa>*oCET=oRFX;|xBh2sve4hTLSo@Ardk@J$2pcMb4wW*x^t&x*y3-;W}FILH; zF`di5{RHd=gnknI-5EOHmrr{(nAT z!c#MXfNsbd%m4me{Wq^YyR_eU;XUrp7ynnk7W)Q>m%;DGBL6oJ>Bp<|JN&&-7XB-{ z{ttfNZxA~xOXBl;_J4t$|F4z&ugL$;-*%Gx<((vgaQwgc=~fc>mAF0e662HgbUxJ6 z3>d20tpcK9U^_{`7Ty1Q_11_1>n-;$1^#4I|2#b#_HX%!;rnW$+;xyAnPH$%%{LQ( zb!{)7g0}X{QGiT#a9YOQ5k^sXU<_t@=7Fh)Ha(1!m|97UgYQa}GXou!C9qB|uCMsvU zSI_H*tf?u3m^i#=lq)xe=EB@PZ92#c2I}Bd6V3ugG=c@nxz=|N zHpzbX=q#(p5N2?&p7nt=!|Bg?9wBU!71v)8pNd0-Y4K{+(X#p)!q5yR%+_I3M0Fyr&KF` zw~!mzq~bCw*a9^AV*j3DhjqdRV>5rG5K6!s*?kk)6EEsD+$Wn-8g-eey+nS8!TiA& z_TnCT&hqa*5&8?*-!S9MqkU-q6SaPBN$;wB6W34UR;&UmkEA^OS6pHm`i$F7Os-PD zC7PGsunAYZ0lEsa)*f1sZ|mKd)Kh*S8X}h~vo6nptY*2>QoM$FQZ@(`C_Vkr-v?&( z;7sT8cs-{wSE9Yk_`x*g!D-yIXlMP!WBcZCEYlux$6DOKhP1Q9Jq#aBF7xgDVZbMRvc9knn{RCSI89*0) z^BcSAvJkuD%mCC5pAx8tfQ`Rhu<8)V-ctkK@Lmf7!C1fQY5CVKkn$~HA0wfVA$*(u z_u;mt0$gozl~f#v2j+wuf1(W(YSl-&dL*%y7({Wcpu{EY2bRqaXzzrb?9%hd8kaVP zatS0c+s*zAdzTSa9FuP)S4w=E<{9DsOL!xlZY0ldVkzpTEt+!wyGIRzW+eN0KT_*^ zF~q-eocJ1Q;Hquu7(+}-ZnzZI*v%Cw<3FRz<08zKFXUgbPHCKVhLcyS>tZQYd``Qs@*v3OO1sL5V>#r|t^mYFpGTg&iNMMC zpAgN*tUb(cIM&$xHeXaMSvrTFoRTH*t0x(tc#z}cw;y>GqWa~FXgbvY+0dK39?K>S z$9m>zH!^qrn0sPy?%A#1VTiHUP#*8h-H+l|a$2GXgd%PVi8N(Brac`!JQ5P7VPecA~W;u34Q(k@6rL-D}nbtk|`1O&l0Th!~Gg| zmY5^nI_|%r=0j=;F2rUX2{@k8C+Z@Yt;i#4Yrb?|K>|nQYit1gXwo{sZzfluClUuS z69k4svcPW?)%3SU9XhJ_6Pg42 z3(G^UOx870cHLI~&yC2Zn!d38vB}bXVaC3*Xgjm+Cf_!qQ#)WdlBpMp*ui88$$TJB zh`e}dfXrbx-I8g`S{-eJ(&hwwI6t$&bWb?uF=-m1DrFq{{~Wyqe?@Pm*lp%N(JKZg zO;X~f42ycrUlK-eijTJtVm>F`xrpYP>ni^p;Xw4bbiim8Mw7A1R|b$dOoJ+W4>rpf zSl+eXH$%=EhR!mC2&UqX@}ZZR=Kfr=KXxR9q5DI&LQPK681l;Y6EymUk3kw~_@QxZ zWUBaQU)_H>b_zO}!HeF=tgqI%(x0@T1jj5p9EM&=3vU<7N@yB!O^G1JECgve% zI?3RUmU#^ed5S=5qtlDP-ej2XHO`i7LScsS<#iPW)Q+@!7StamV0*MCI#=N~cY@kiecc%qfS$Xiud;DnjGPhrs5Nd9gDFb_*-;XpSjYdiq zdXr{fP)o#T3w&eTT=Sq(nxOq>!mf7F2CJO2CIbpB05yS1iNgO)P4~xq|~T#Jy$e>bL+k9AX$FfIm#Z~3hoe8$ECUBsY@w&g2h6d2FcRB>(xH9b7$rrxh56>JxtD}7f?>XHljK(#<} zyH_a;tfXBkY^dO z^2nLNr1z%h!U+R&KK6f}Vsx85%iI_0sPKfsOR;soy^TOKYmYb z&xm@R7rm%=J#kE_4-Pfzl3lJ}$}gn}F}o23+oS9fnLQ3z2GuQpE+kbe$0a{iQgr{? zNhfVTzmwA+0YnvayUz47`S;kXXoIuN+~?Fe<7>!&W6v545Xl1g&;TA&!=ebjmOV0K_l%^@u!_F0CqK94f5f!z2g#tNK&g1Vd1MRuq2 z92zv$nle?CQ{;ri)7G~pnzTjWq$rUhdAA+hFdELu4bB@=8GGGp-#wY`$6{&Zeu7^0JW6%z=O;qr`h+H05G=uB`_8U z9v*(ZI|$Wvwz;K+Mkb1s0R{{cZv+`x6Y@KlA>fT9xJ@xj%lN%h2h3f<_ug8bdMfGh zQD=}mtAY3x=9P8A)gh})8Ei%c{PZg{K|n`qFjs2h*NGY*S5=X=MA>MjY8`G zGYJ_zUP?^P86I!`Q$F-45%8dKlI#>T(ZM}zG<+l6+DP`SSo)f)$R~GbmQiovU8@9mJrD51MBkzgncUOpDkZ@-RJl1 z`p&d~U+M4KDwGO-TUu+fqUCyxJW2J>VtMCxL*mRDX|)g-cqaPVdDO%#cS3`;WGj67 z8KTRgRv1+4%ik==T@pf@Sk2j`av#2Rj?GhEo`z{XF(X5=rOad#@)&|ooZB0|i!DAV zh9rmdSi2!m#cyw+X&}Vk@QWe!LMl^elvY`|&$S_~x^{>T4rA;&V5n-dB^q3^ z)|e%6iVmXr1klF}y2DJ#?4Q@YOZk}B<5tNiB2jRh7Z&b{CWMUJkmEYO=zcDXQNX+C zAPQ78NJABXM-1v79X5U`@kOE~SO~4pD3c6}R=3ZLeN|6v-G{(Ah89U4?Rt7%g#Lre zr!Co)HSRZ4CE4KM8^%gL1mfXQ#^Vf6stoojbmH`m30!AuX|zC*Ci943{pTFLHP>7k zU@C^TS6lhvJe=yj)mdH+QoEC8cy)`k%hPu}fLoxd7BI8$@u(XI03zwI^7;`+`yxpQ z3=Q$4Fvx{|PVZxql1At?bSvB?F;~_NmmVRt(u*N-!xfM1=i{^bNb)!g5PFk=jO^{~PCJjS(n=@9C7_ zVT9tb(3_4coNRhIF=PL-rexdn>p#Jy2sLA1@fCbu2%qIk7y7EMgFshBpy#Yp|24r9 znXy-IPx~*^Ugcswy3555hO^Z;(E7|u@DS^B^3#*aF2tqpst`lc{T@naIidXTF4zt< zdwU)^rb%i4YZv@Ae2aOjIZ(7VG@7y6qelIHl4p=bokX7Yr1+FLc1X#mkw^^j4%ega z;Hgsm=`u4!+3McxmEghE`6jy1RYygk{5YxuG30oYN7Esw?>$weXf~5<{$icYP|SKZf#u5_N}$BoOHx?y?-h^t+O)>& zdoSVEHn@fybOF^|Fl$S`IErt-Zau|006-eX8`00DH|6AH4^ZS=@3`q=X+!}29t=K1 zR>LFUS;5^^7K&+-lXHgzSBVNdW3!a~T(g)Jlpp^>`;l?q-UO_$vcS7+DVnh=YUje5 ztkXftefc&c(|UB5T4zmKb2T>Acxt=n#V6a1xoiZaCeSa2Rl=VJAj7+dcr6R~DJ4)a zyf9SM%luC}sY!(Mt56v?H@AkbIp6*NLJs z+I!_Jt!bp%?QCsn@$NLdrUUHd=IROKY!P(WeMPE&kFX*=3!y^(E)hix7AvS`u01B# zz312ON#A{tf79xa9k7Yk#RNCkO7A{hWink!BTpv-es)mn^&Qz(%;*fIpXB zy>$$=6iT9ydkd9VNB|;+m7#ji7p$r-9ymV~fxOBUd~Vhs(^D9V-()Oy%F0$BOD8w3 zQ_eO>tpe#+T?NU(@lt`bEmx(%;>D~DR<5*K=>Av3o?k9Xg+STK@)C>V^Og<>Q_t0< z&)PXBb9=gs9|&*mt3~KOH0%E0#kuuU+bhl9IeUFeHf}%H9bsaPU%@ll^Ao4iHQ93muRe5~-dX(A zgILM$)fg%-&(Ea(T1AOl8{553>5`&v1a1rqM47XgQib zm`CHvZ0|9g8m<2dhgSogZqbp5WyExLXves-uZ8ixo$tYm#9pXzYg3Z9%NrDwbsI?F zY52|t9a*xS#X9|)zobpA(08w()51C$W|nN8bdw?t8N-r|NK~@ui}aeHF$|DvtBk5Q z2A*B}hqs9H=&;BZ74YO~Wbp3*Hk6w1i%OCG{yHona$@2GB^svlqzYj_qmU3OF#NAv zr!;t;+Bm=l9uCi$?XC5(3en>chY za{~dM=`+zbtElLA_-Bs4WA!6kRoEY>0=)%GyVd`E7kUV9U)>93eq1ZYzPE-cs+Pw!XIiou_3()O1*nqQUBx|RguZ8(Iev#-#|U`%CjN(&0s~x_YS6c117UZ>xx4GK<~2DYz6cjM zrv3HL1O#p$_bNq+RChf3XcPoUyfDbUw%qOYu5ga;5`ig{8OdkO=@OX~;4{k$VdeQ3 zGYVB?+^vK1+`#s@)m?9CzuBN{dR_FMmi)(&r#_Bz?iQzOv`dCCY$Yz`Jzx%!#DUB* zL1FNCcjhM8+`SKWuOwb0qyQr-QEL063l`3ZWp~H3h@-Wf7nOU-z{Ea{9K?{m@X?-Df}Cq?xySb4;z6#AsZc+f^MOgmPX zxb{z=2QGv9^+b8BYqG7Z(!fC7b*-Xp5w zV&}5q`Z)4-CgJ?sZuF}zd}mpWOCP$K^CpHXvbZnZPdH!nFN@CHgG3v{1{^<6t-OD- zI*9Tzn0fIf>hn9aS8l)np#Ca6d)pg(ch9qw@EXw_H{_3wxtaT%yV0#jR}VdNu>$K!0>$?FliknZKo(7^2q0>&E!(?Uoph zJ^2_Wd7_n2D0Bhu(!**NlP^T(YLKy{t>ZLpIe6f;aDRCp-KRiR>Dp-lu}h|ue$uVS z$$JX6bc|BB0>Hh{L;(um02{KL&bt8F6)UBjQ9(c2l@`GXHk z{n6+lMGLU7`*HMU5F$t55GZ9a^=f=g^kE@=Hx%EQ&Fgvlix6s^C12g3kaVQ6-pkzy z4l`O&=BYo>pfD6n?N^tEKOxkz=^X`hSe9J$lbgz))}THrgW9JwgD_Q@M*o3(;Z~nN zt2e8hoq^>=LlUglPddm1@?YBc26D6acyo_NFx>>&$jlDx+;*Fy-;f@&kG$?>p70`>5H@&T#j zs2o7T;^^=`SI!c+Y1VfJweb1BzwZ(JSxkZADJ+=Mm3iqE2pQ=byGyLBjX1O0dSsnA zhcP+Bt3J0+@jC4Vp>r}+&9exg3fz})Z(Yg5G#-o|uFI||=)DWHTEr?2!H2n*7ExCI z=s#3i?md`lF%W%0kUww((w*8ku{h!_-^#fgdl(IBoRA3hQXM$a7V~n0`Q7K72OKS!$dx1x`8?oRlW6&&B7+ zrz_ik7G^_RF2qelCJddw3=cM^StpB^|T_vp(Eb`mdS@`H4fY3({( zDGa)Z$yz6)JZ+`LLgE+^H;9hfp2mtq$16L|Smn4FL_|HsSckTDW8XMrZ(tHVO%2ir zc|y$h9*-WfpR-@}zlbiL)Bz9d`jj=1fI)u2cjnnNF%R<`_+R}9P+ok+Lv58d7Ylip zDXNpM`Dnx;^rU+r`u1Hpuj$fyRIa)I$JZ8~reN_#7b}{6x?7x$O&jHz`*?%bc!1$N zor&u?4npmDG}s6~t1pI9$LiXjv$xh}#3Z$HM{+ua3s=G7-p(WleUB|GCF~gu{~l3QPfb#Vj-O`(F1~ z;KNJ)LF+zz$A@}he^)6wpIk??F#=xYszk0%=nLE2laV6TdqC6I6;^Pfl_*AUp;B4$ z?jBnv+S7bnqK5nB52>}(?EHqaM2z*hHE^vL2QKs+L&!Hb_~%s~d)J#kIKomn7+=e# z6HMV2g$d?}`ZpqfM`o3t?Xul@Ho|DE-StY`-^^mzh94g~vlj|NEOfvo1MTE4F;_Y;Vd zv$_LG7^-x^TRM(+n2r3f$o?E_~ME zbKB{(I6$h6Q(gw^Zy#o~XCvJeYVd)}B7 zfA*DmZ>g1y4-zYB9bdaBinSQ-OiM{E?xGf*ZiN2azDuNtF)m81#nTmoHAsg|#r6wg zBQ-~ErMBT1A(Y$s5tE-9h|pzZ4-`e(4u7>~;ZpAxEg7%8c(fb7+EWz(^FpEbX1yZ+ z1O%I3ks=T!Ij&Fkr~iD{OAKc$Gh+Vbe~|XpaZz?%+prQ+Qi32kfRs{7_YfkWq?F`{ zG)Q;N2neX8A}!sGbdP{^cY}0yPw|~z_j6tM{l4GxyubJReZTqdoSAd>>~rnC)^V(3 ztzCU$GJ8!lFWsmBjI-v2J+tW!P(m~~Q&Mi#_OeaoW`*?y0pD3u`T`wC;CBC&i+x&` z=lRbxC$C(s-~y_xL}vXAk&M?d^-1R$!D;Q)JYbtk%aGylj*PwdWWl^X-;K5rv4Lu& z=qD}t;8KpG=}-+*MXS0)nw!iG#-suq)&Zjzjqo3i0b#bjF5UW`g65sL3f}fxDOB`P z2cHbZ4>IM3PRTf+EY6N=@^RPTE8J14QjYoUr8v!;-%r(0JufXX)vHnbq$hgd0t{te z9l=mgoJB0O30)YHS0{guHF)hB5)>*j^fO3cXm^r(K~!1pcZAIl?)^xEN_@5)=Y&(5TLpH8N;Fe`*-W+5^mxrR^_iU zrAGC?cnIX8Wj^G+)X|U?YRdEb(R}k?R+l$>GpbcR3hPHMx@i|I4bu>}fVZuM(a2yy zUmY3Q-=Z1H!637n8p#WEcJ$HUBX_2~D}cZB63*s2sX5}qsz zep3p=H@E)a1N+ckQ`dq-*Udh5e64!u@VGaV-h{)fgW!piivmm(j`H>ylo`Cqpb5(u zZnFgR=O?$Bbk3pA^4^oLT3S4Asdeh_^ zGS7u>sB6@MDd4pu2U_tCgt)uvqX*mHXNb7&SYMKHFj6W`bS6E)iF1@M6U_HH&)CR2 z;<%CNH5v*AtCiB@$9wi;^}eLlUP?M79(N+Yr*{Q&+hlpiux3>Cl{{bNtRN1uA&c4Y zI`!>7X>*mHBH;}on#*mE2_2%I0sz)|-L8R<--@J8hS!+4C`Zz3^BxtaXB#@0NkjoB zs}dt*Ub-GcG6$6;(W{vc@+w%7!H5XR9MIBa>rD&nQcm8u@2BE22vUxWra#`239i{i zD>xU_+{m=Y^qy3tm1Sjj+z-Lhwh{>s+RcYbsjUb`lL#%YJu}7kri^mV2*<)bMJsH_ zV{E~Mqhd>+NFBZh2EnTX$|;IIOeUM>6E;rc!B<$6B~J(~16>~f!Lx;dB)W?bpJglo z**lN$W!J%OTV#^Z@UZ8My#7YTBdyrkoDK}p>DUL0>fd)Q_8`ATUc`zY_C+_pu-Z?p zdbc1}E8hrnIpmjY!*y@arrvo(61zDRiJ@K(;N?Phy{pEPsiBq-efaYxPm^w@ejOcb zi}uP7=2DzEh|c)so8umV>JDt5lgUMb*3TE^%Mk! z+OjE6{5N&N^M^XA85fL?`I|bSkA1XS)7Wjj+#blj}_%@hZ-!V-p7R#X~WnY zTX22c?DQJZ!RY0Kx4S;m5lHg&*%_)@ez>*tlA2uG{^oXQ7w+IF!=-H?mH|&vlW%v# zhw{NJrUVS(1(FN7E6-$?!*{Nabq_y_At|Hh*f+b;V-+aoX@Q-^zwla>3k9~`*h}D4 zjpL3HO6IGQ^elE>BY<=@H6`OvqgRSyC(c$$d_{SAu+ZpqvZm}mvd|9z<`C9deH@l8 zvd^>m0JxJ*=ij03+b46=@cxVFXfxaf(?%_(*QH7~gtb*qF`E|d@!Rf;@B@u5eyJ=j zBVqP;L_EPuvW^_!7x7CFT7Tgy*`L!lnM?>r>+LcU>)Bg91Dw`s9*Qm;DKb}Dn(Yc$D!(QfMmgk zA>$jx?$-^U;;3l+2*hvoe*JcsO2i-MQezhXbI73_VcLEa8QIS97}w6*OcxA2GJC?vEC!h#-hIkYO#Ldd+BFvqw{# ziwTMX%ukmUnE{+C4_A6PM!L2|`0|iXh0}hvD*CC}^Tg~qJ^~qfF_&LO!gz$g0!bXU zGE)@XC;+Sq-3R!q7d4|WZq)HBrNqY1;ce^jIHimW&EbcWD{a!5xD11JIek=1#mQEhPFw4J^vMXGZ9ieDMUy$`*40YMwHk@_PI+C z93S`VG&rO!;`?&6?Cg;0gjx9&V4K5!F#M8_-JT7`BB>p62!0524+*uZwVqtO`^go4 zR}8XGqRda}GIsEWeT!+O?MxuuGWcC=i_;A59zHDGHo3M{b3F6tcRzbnPcHW&nM?ZT zOI9zxkh$P4ccYGn^nmxd8#M^lyKR3KU*q?(TjRuEDI{jaSuVzUP*5N0Gk{-Laf~Oz zjCb;_vDMsY4JmU4bGfHbj#l*;gdF3o|DTzEF-9Fx+#dhkM}+uG>ZzdK)lS_nOj)kDuZXbE9%P3`)U zB<)`M-WYRwk2AQrQNRUgmGuSgjNN%~e}26R;}`kaE~WC{loxX@%g6U0{ZM}quQ@Cm zo93Kxew1005R9{uU&l(5YQx)(+3YZew|xT72CROuTY45Z!wUuCvS)y!!pf0ga2bJC z+^@cnYAAn+Gjxf$D=A(cKsE6vG#8@W7=aY7f?_wPN;lQxLeoIXfw07XxRU8-077`H zW$&v0_qAXASk7N9J`8Ku|K5(lJG$zXbxLRd(A{Lc!o_&t;_(~jIL59^C74KZodah` zAu{c;NNUvgyCM@E0bR9&tue`YnrX)r>az3u&Le_?@|sUg(OaF)UOtzf8`JQsG#|lm zEVwo*DfA0SewSN2F@8HQ>0Y5z1-#okx z#k~8_qxtloH-E(a;oWBoHvs!bb#UO9CfZvKRkx+00Ur& z1pXCySDcyUzx^WVpD{_f53pJMbM5~zD>2TaTV znMieGSLOeCBLCYVJoEjtzwZ}C6aAGj`}f5Dx1auxUuC-Z!#GcCO&PuVhjIR!3Hv{f zek2u`?`O!zYgqqryZ@W7ew6wXlU|Gq0Zp0zKYdlEisNS>$w&)f{jL9I*8fj`{O$jb zNBK)!HdLFYQZ8k3fmw0+RkWn>^N*k;GO9?#oyq=W`hBjL|BE>XI)zzF9P@Q+W(&@@ z_|WjCNfRp8lm=LgDR!K_b-n)gQ(_2s&9)T{pXVC(`NbD4sAIr@^}ZfkqU|Kn%xLc_ zgkV~k$s&YXmm#HPY%?Njuc!M<(Dic3r z$L#ruke6n$!kk29|Cm71`)s%))$yM(1SBXk=@N*$C0E{dq2l7QJ?Ux3b3**)W!|s% zz^K<9HO-cUR8n!1;A)5lmWFYVw6;{g46biW2FZ+mv-#k?k9u@;gpo4Mh0(ZDzh{ZH zv$=fU-s1jpdF5FC`R)T(N2}|SqgsmWl9=mtWyh?6;SZFb|^6>AB zePZL%t+j%yl=hJC*C#slQxInDDeAHhXMd45Cu=q#(nDC- z3g7z7Wk31-==T9bo!bsR{dD==L59U$(mTiVmV8F9KET{=TCS+*XHlT94B<>5(NW-)eyN+j&S$*Jz_hR2Qku7{{$_pexTWb)z2WlB+n^{W z+01Ncp6}aBcF`8Qm?OyEdXFj&+uywarkMRNB%z^fQC%LTp)tNSK6kZB2YsU@RehEZ z0DAGhK$p+iOA^fj^p=1@wu|cC!~2xF@oJ0#&32ec2|LUC7z0*en&K*ux-!xb3QGgM z*nDzfJg}(X(F~S~?TGg;AG?eNdqlm)YAuDup1ss9A+o7hd#^~^CTWZ0(*7ZCK4|z_ zM$*%ZlzzU7|80QF9+V>bJdaey-P?SQ7T&qk0rAEjwdgA$hq?qd;1`F3 z-CJWLT9uZ@E<-z!ND=N(J1cdBacSUvli+zaF1d!i!NZwYt*+nQ7w);Pi%><{bVaUx z#he@6Mhoh0-F#MaKJDIX22uiYu~dmIuGi9LZtv@@4*yx%GH$G7MK}zdhlD|O$16dr zHllZ}waL{EmzJvsY2E2=>m>Uzqu!ZF(&hRs7$qn=G!cIKnnSh`$!8hpD^hBEJZ?Wl zy;HSQxIjk?c1M#5qs98H8O#p$x#9OQ9)VQ?=tHXgQFet#QCWuY41&SwL@RY?9h-65 zMN}~dt9tUtK;J{k@#~6rFGPHGh$OD{d%}#jMRp|!IGSDCQtaa2xNPR?R{VJoT!}Sd zX|Yw0!fg@WFLVO$q=eQfUueybZ|JQ$E5M_+mNnbJddDZj>0@NwhPnK>&h?C|*v_M+^Y?fiO;Lc|=eP11r!@}71_txSOaYlz3=b#q;(nTQvUGRWY1{*oEjTPPMwwzR+S0k0dc^ zsBi~G!}WyWv*3%YA<{(Uqnxh!h-hxrJIjKVQ+c^^;=n0>+Xl_Gvrx&LO~>m;P4FSo z>+|d{D(7fr=OUw4H3-`wy>5z3`7VSFZ35d1QSl~hZBCv_H?z2uc5NEQ8Ky&L``0{> zUf;DW_de#^85X@Gf~AXCs=&;%xQhPn%&BxD?7~zc{YYv{joePekziO_WK{$7UPG-n}7S@?Q@rx5S*0N=DrAq(#AYDT1or8^sCch`@4 zj^J6>aU+Afr8~-0arW`*&{k?o?IGy^1R~){=uw8DgE9;+nrV*x?u@*Xa!0-A-zSe%Y|6$9xEPLp2NmR*e_z-W`E}XMsBbv3x)P;(HAgT$c(z-$bEn$SJ>ZJqUh5AAx;NI9dVBqaQ*|e? z{sgnCMt6@X*!jz%8`9dNd5E3QJ4D<054=a#oH(VieeBtbpeY|I7S&9Jx1*q1*?ss6(1lwC{G!45 z^y+DC_LPtDRlhyB$L3C0{{=j{C9vA4-m~RWkPF%iww*XZHfqoTLwJnRp`P8p=a!x# z3i1;%vHm?GQo8kc>!_zZQKQu3q2@Piy7>0)D99M~OM#-3DVA4H@`0_Z2Vn>$1UhZY zL!}7B^P9krOeVOdw~IE?+Kb5XJ6H~kiSR#DjrJiT^R*;kERUs0tNRLw@K~j$#$Ej!fdP|!6QL%Ijps2>h8d*O4-qFyC@(6F%u8yabW492$6n>D2dWMeLmkU& z@>0K~bI|Tf1Hu)#{9g&N(W1^D;v&N9Pl)m!8tS%}lP-92)3)RKl(j+N!)jfc+^NG$ zg4gWLof&a~@7nBbFQeYHXVSE(bUkNPSt-oPd>(e8Q7)&mEKP)Kr)2#CW-RHAUz#db zs=qz=K!35p?{=!RKg%f5vtj1f`-)uM0`i~qmauHcoL4$=?}^e*HWh9=6RjD?!k^l6 zT|VCL;%=7dRbQ5p09V{(Nd)2KJQSQJJ|7l1Z3emYT*KItpv9T8HBlpTRBABToa& zW}6;ms(fW3W^C0V+1q9PHA6N6BFJ7~jdTTy&|rqqfxn&xIr5|7c6bEQbIxIaQG) zs3Xq#zK!VquF(DD+-}pJUjdx&HVc7n(U)^Sky0s&g2N(vL&yGa76Q|l={Jjun&$2; zqELoU2Qx8!AMK09{^dOfui8WpNSt&1QI^8vs651hn!yAg+h$v1MI z1R?({7nTs6_38$>!lzmKI2S4zT-^s9{!BqKzVrJ*6{-%hy&9Nsq;5(J6L?M}zue<6 ze<6{SQY+aqW%i9q{aS<;dB4-pZ)9M=_IiKCF;=g9tTxHftWG#<({7)12oqLyLH!Qu zkrPE>5eP!l&UCK%HeTslWPimR32iE*M7)O0e34c(sr5mcZ{6Kbl;II{IH=1qsEe9) z8why(VPSq3CZt3ZWlO#=uQS%AU`h^$FFhy+^Jhg78*Lz)-#1=Yi=M`wFWh`V6{L;W?6}|+DtWr4 zV$wdEwH@H)dXJtGcpyhMaVMH2e0XL{VsBC+v70x*ELXdyt5Nzn=m)E$RjAIRPG6&2 zW3OwHtEL~mjJ?czs>*fQsyJJ+Sp-aVUL zFMAeD#e{WtiD#a`?SM_Wr-mzS){2ld7U6-n=`gr1(D`#-cF>F)!6$Xsrg9@N)YLP> zzFu2;wKW(zFS{p6&8-nZ;&$g6v32HQ6ZAIk7>KsdT2%%(w{Ec=f0u4R2ys#mA3PM_EYl4uW5Pc8 zsg@|sB?%?FGc}kN*q*G{3cx;@cvBjWtJ z!O0D5dv~k2R<6K%_dE()pj*F~-bl(oRK(sU-%Cv9(f*;tvy)^&^jBMCzzu!Q{=^&Y(EKE6HWnfA=*~|= zFW5&$Bkl&-UQ4ZO!e53&M$t|n&hf=S+OgnR*sqYj%m=BFuhSV=&eU?lTG(6>wG@`> zH)mZ`ckN6DRD(V~rB^#!MhXkGn02)Uni_u);4PG0FFagWV0+<60O zzlLTX-uDmcNAQfo7f{#(a9iY;^=NoN93(^lsgS|5C2Z9^9igD8Mr?oa_W(qGHe--ZVoj^v-q=Ts9MZ#I))v>$r*VWKMKny z`C4Asnz@Cv#oEf8lcsFi9bR2}z7}w-2ulMXwOsYapkr^yQeHbYy`8Qdf-Sq<3dy^(H-|7z_X}C%)fmll2QI8`E-cO(GO8K=PerT{tZVp!FIOg&k zUu^Lq7l-eS&t_j9y+uAty4aRDY9Hy383@TRz&QP1g2jR0l zi=lF{g|anRY|MLus(y~kSL9I(>ClAQK3nwM1g5y@X3rY@_0z<0nelp_AI>c7i+3%8 z?*2y9-ip;ZvWOo#UX2_!4eqU#23GH60*fYF6h*NbRS}dmqX^g8R-w2t8uxfZuutMv?uHI7HBUrlau%8g|_d(m2bRb)u%$ z{+g|_@4|lA3AX%66ht15t7kj6=~r43_Ly&Tb?_| zRwM@@DSgzml{i(m&X#X&t_c^Uq)smuq$Wu2P>YLT#E75=hzvuoiU;+_gsd;(UeViR zl))y>9yvVPI--o~wANyIs;@AcV*srThaN3>W$?$$mwuPNlLhu~U-fP0_G9uWL^^FRd!ie3X7+-vP z1X?T&$Kf%|_&RJeODNgk~U$v(+gnEJC|HZYP;+V(1(aW~ zy)m0Y&L!Z%4oh-D_gi4&cjnYkL=!mhl^=Di*8J!>b=6=T?RKq9VsX*{+v!l&0Ex=5 z4{x>`VQxrq0jsA6Uh7gQlFVLzv_e-3Kt-u=*TkSfWb52X z4`+(pRbpw88$QKpb-kD}uP7P|L>_Ujnb>typ6fn4&di*xx0Z@Z=~sT9wNR-`0|`sf0brGMIGk z!QQ8`yY?j#$m8wZRp!dr6Ro3`8=FuLusM&20IvogL|aQ2Ouulo&7!BBg_Z15n zh)vIJf&n!!*}VQ>{i{) z=L`}~+y$uZViEB~Qk2X#4r0}gMboj$VLNVLWJY_M4V|9Wkf)BNzStYwL)ntV_Yg{? zLW)q&*xhf=hJYHo&eOb?i{tre{mD@h8#jO$-n(AKE&WZ;(1P?=HD36`Nr)V#U;&50 zNYcCRI8GY(OCZTv$tcl}`Fdwu&vge6??owA)0x?WlPS9;QrlWLUYuyE>}8(9MuG|b z!QzhhEmyu_alLXDnSEn&F;D%{14%lM+#G>&fXEB8^XnYR+B6iHQ~L)kjp^=^>vESG z2*0uyE^}S9wxlJEwg-E}rF~eE23^u!Ft47t85D=w+D?o$vi@4bn%!*$syWrKtWo6dMRlJXkqYhnZ54yt@+-f{ol_O< z-I|@b-!*CPLaNaPf4OjNXzX#B?e+ONIXRlzANAZ-I|2M^Jr9A_p@CDV0~;p{itP`3 zg)pmKkSqCyA?T(PqJ8C6$rXJZs_zBc-(!R!l1tC1_s$-HPLQkH$Y4cjIXD}#167_F z@^%KmhVd2={Yx@)f1LFX6=SQiU?aB2_`3mzI+U)q&%yuct0l2K2*lq@j$x4}rUnEP zh&?`s^I`6-pZGto&hsjs&7$S&s$=l%&^OLM=@X3VtkZ0+4?>NCUc}p)wxE{P0U2jF zU3;$3f_s zL^b?#sMzgVS4hMg)l#sp6$51BT_cke3Y8$Eev3zCuY@#ejz4^Xdq-PG3fG{>k}Cn<*zwsemp@@>AkdRCe2CY-%cp;C?`QDP`_c1npsePFbw$+| zycRUI=t%6~J$lO}HZv2Jl|>L{adiLFo<&OflVpfH(0Ixq!Ox=P9JVDPv#mCb{%Muu zQ3C|$dM`4N zT61Q7aYBZJawR_j}eyz~u6nKAmMGXq9J=qJmVljM=spTwG;!4P} zrIUGB&$NATy_haS@{5qQoCjr!=<$tr? zXO@G`kA&&;l?}lcfTcH|+TWV`ucarnx^j4x(pFdlLZ8~Lqdx_b%u0Mtb#{c6Jnwh* z#SHX3Us1Pay{SUGkr*m^@LzfMP{rpYaSI{%iTvDSN?PRkGidyP%vcs;}>H7Y1~Z^(`3 znd(DWRwuc4HBIF${!Q-|B2N9CD!C5ndWe*((f0{%^yuM3ZR6?MmZImR`ZugRn1$qy z`SIrF;~5c|M#e1!kXwne!X+XFdL65MBhZOth)pXEF@!edWyknWK8m()8Sh#Lk2mE?YFv zhT8?^y~r@%OAQeF=e*Mt`y5$)Xi}Y&IhrS0oky?es3b8^O;ob zq8D%k;N$@iEv=fR4~e%tBt3ETytadm6YRi*G|bnxYTTbx&2Y8RQ`{&7AA*{1wxyH~ zUyG*>dP&j~GG%&*=DoPC4E3l_aWA7y9Vg6^2^yBJ_1kzL5HTW z;JYZ6^amZsN0!W7b#W(5Y`SK}@LYP>x;?m7ws+Q!kTydc&p{{0WCo4|HeTb#3ZgD>4v7U9?) zH<$5zj<;>Tozf&ylLG6pnbl&467YsvCrJ6z7B|1#CZ(*`HGymjOB&P5PtCQCtW{UP zSG)tKw!rvXx>3aDC|j!*CEuqEDaxy=;x!0Fu)y2-YszYu5%<+mF_DNGkK7^We=A^G zncu`e59MUr(g2dqM?D&zvLSYL-BNheA*k)~Iei8o%2l*)V8;=RJe_&XQk@=?*|Va5*D>DL`z(=$2)4U4CpUy{tWEb1u43_V1kzv9a7&9% zr5>!e^zz(2zxXHpLSeFK9lAIZRNd~Hc)yUqC=`m0us&&BDN>RUU2uyZU^rH!?x z;}=~A`c+UAv$03s&*7OMuXkT%yI)v#+F~rcfc6mA$-!(AXqL;~nN?G@8;{hchUwjQ zg^+ZB8}G`wb$cHUci6bC=g)(cz39d-;%OP-gy* zr;7sv`i)_V;OAd+dYGt66>Ewa1WgBIUhALJ0XTC%@AnrjuV)X8S@$k3qk{Yy-E;W> zkLPb>X^F0d9h0IvjwyU#^17)Zl-mNgBfJ|{M`$}=!iQ~uX0yOTskpIUdw$7^;;))1 z^7=N&M3iV~!i! z-c!{atR(IM+6MQ&$0b*{n8RX{^HtVI^m42TV`fT23KcEuCfJ8C`rz|#k6}f9Z6iLq|;GCdvta8 z%Cc41^soS3kNY{7N|(L2|MQL`dhW;Y!(H`tw5e{$);q<+CIp1I&9!g!vp|uJ$l~lZ zxc+|6yUd_LzmhW#SNukQ3d?iM-AD%rb@_8V*qCQubSqZW2-zl{Rll)JUH<`+tvKm4 zsFnI>mwc}5^%Py>%q~xeu)o4L1xISl^>~}~9oW{VMolfNLEhr$S>+uq?l($S`%|`< zYW%x*bTGgCe}Y4UJ?OTxWSB_jcGP8H z-Ld@gaXXSzMY~Tmq4RTk5FyO*`h03&>B7wOI{7l~ZtRW_^^6hRiB@HId3=1`u_Y@R zo_~Zcnylja{RNA6>tLy#4X4+^M2zEuLM@N+Ee;Qf;0R;Ml?Yp}&t)1NI~w(v&}cTu zQ>6&n?Ugra5EGzd;eFbjtwojL)+xCHX_#do2~bDGgj`~MEe;a09M;LbXw-PH`+*nY zZz6%qpk#<=v;V{-Eegpn_gr(l+XLh?!E>-u4B@Q$;||!s>O?#N;SeBa=bv*}mM%ZN zPbX(c+e%D85KuMaBLAg#B7jQG`mWlnU`Ta7K)t8BEtmPM?p~kA!XWEi53_!U5rjPx z7U51J(Q1V4eYKbX*bmq@npnU+Jo(!_FaT!H{9xnFAgJJE47SADDATgUAC8$?I+h65 zvAljSaFZd%5e&)X`hf7uAoy^NxYjz74}I>C zEcoFe=5zv@4ev%p6knKeQ}`Ddk|YP5-h2uMVul^x%TA&3ce~?TPNyeg3DYfKo<3Om zcW!#*yG%Hx+mj*+gM@uy-xLo&h1wnO{w9TwDY3y&F^v-r`Be6WEo&n2mB7*)RYpR1 zl+%HEF0Sp$u^@`ztW4V&k+k_Z{KM6mBeIk5iBG8s+KzuL zyY~>V?D}D|IMS??yvxuLh+9kEr^-&Lu8$phKn{(Y-M!gs?emO<@QCRKA3)g$WIM*i zjYLuzE5C{0RS#6VzlgeZA|>I_{=j7MMy#|pS@`2ePPmFXMtDo|fvw-P=6n)E^D`3N zQ@*j`o7q;lM^ULpS&Hjrc%rzIzYl;%0dYdp^%ykV;^;C}FgJPwyFqfF9dHZjZA(i{ zz9-a5$RCxcs>%v<)XQHuoBKua8g;qFbEi9xfFn|*3;k{u4~9V|#W&=v3a#9gyMWN` zh}u?b7(|zQnRl1Z$q3ahWNdG2TaCyXBibps)osOWG zrkYt<`U|iRjPWCLE_KEhDS~4-fX0(fqiPp7>&>;0N`%O2Uev?rzjoWQGk*fY?qGIt zM9FF2%$Yv*1_Ds2sA`j{$4f2(&27&33h~9SwCF4USXm*kv9^>{fo3oz|AGUs^8VKE z;EJHM-pi@*dibg*VbLtquNe-M-d^QH+D8nPr+zRM*KCRwb z_&eHm?Smi79QhY`rWa*iC@;m;TuM2X!+EQ+yN(B+>3^ z#>`_Ux=>Tnl5C0I62IZ*=j9?oyQI6Vj_OaJF5N4ekqm4Mi?FKFd=Kcp+NK2bKBaKx zT{r~YjxZtHB!N}FDT*eM{^3h>*9ZR9X5J&4?_td=D2*^X`VPOwg^&h;d3s+UiET+Y z5DMsj#!SLfh@>7Ll2-CRQ*3mprjvEm&QYiJ-(qo(It_*H|KRjcb?e5#QiX(^Uc7AV zoKx3-+yv+#)#u!|c*5Zh9`Q@u3y%+L+FS*?2=V}dWouJwN`KSLTPtdq_kom!ZD(!C zoBhBv^dLl=!tG=CMHXZ$&+My%ar5ua0-1WfU#AbcNA5pHE%1}QS4iLQ8a#nXncZJ| zw7-}2g}nj>^_bu%lX;pMF_nLYe))y>p*A2H<6rA0D&RK{`bNVqUl^_*TqA__qH%xg zHI+El;9dnS^lFwU={@fGm}eP^f;Yvdbf!e3qwwgJe4Zt#t8A!1w50v>Iv2!)vtr|6 z9=kvKi(xr3<3&O7Uz3=iJdEe=7dRGA+i11b#M=i*eJN96OxPo!er(ssjup_Y>@?>0wKrvYMEYuurh{p6D zA^x~%%IDSSD<9ak5A4FAiVitNa6WTsz1X+`J9-JPVO+?O|Ce29#r5ooOmAzY0)$pK zW=zwyV#RQ16}rpw&A?BNgF{LWAL z;V9p?AFvt8hdvmaM&1=W6?1aY>g!8}_-#IQXdKP+(|-idJ9%d1OV3Gkk$-RWp{Kqy zeLg;XsjSg@hZ?WJKq~XIg%+5fm(pz*Wyz&IS_Gl7+`E`#QK=Q9Q$er(cx3Qh^xAGm zvGe`{%sEr#TP#$kcf}FCDi@{X_zTfz;8XX6dGEPHL*dM_ShWGew}J_c$~?*0YgFMk zv1!w=W>f?A5Z$Dx5XPgJh@%p<{Dmy(21uZLpMib)h?mO%?wAq%S~+cT3?OLste;vJ zVsoHWRtF&m_j#fKO#k%UOjj7Tr`;FTIIOVv=%z0HO_B&O)|10s^tyVg)b)?HC2n5r zEN%qxI1Er&e6UIEZ&Q{4KGFNqFWa99E~?48l2DEem^x~80M`wd#p;~Z<`1nelU8SX z@r12q^+Gx+w#s5J%=E6E1B_QE%@!@;qPPYv`CH&Z*i8jB@A`1(z3I{dbq0Jz$g*Zh zlkVX-OeBm>$JGwHh^UB92F)CTs;?W8={lyWE=dip{*W#k95t69$#b|XCC}=E+SSrG zie`mPIb4lD9=4$48L6Nl#gg_r2fIkcCI9QeX9KFa&I#2-HhHvwyOuhRxh674z0JAV z=kgzS%Rjas_Wno*F|xjQAg`C=>>6VcZL@`38&y5`JnGeAL1S(t%#)-Emu#;8a6%4H z^Tp@yyre^hHw&(~9IcnZ^iMi?0M@jq3M{b*LsS^pfD2b4u_wEyjPEK@kWpPykkzyk<0XXkdl|BxVwx?l0EqAv33Mj4==E+%4W<7gu0~Y`JbfI*~E~QCC8rgY#-aoMdMGg9rNIH(2&3ojiUst?>s;_?< zya>4aO$V>RM@<)pVeQ#|`u&YCAH=8L5aSTV_?%hfMgeBG*WVL`?aOiy3{HV& zpwe%JNrJ*NVo~^)M_Xij7xGIXtz2q8=$Noz454`biAa$a#6x#3ieWvEpkKBxDoj|! z^wMAP3$-2Y{DxmFAK7I$3iJFA`OyBjd0}3&!q!;pfUjxdnJ?(Ke!l}$yA8-FsE0Kw zmk~HPYc-Fo)cS!E0okEvdyH>Vu~-Ldy_*QI|L>#m9MOlmOE;N6&@OE(V+iKkrYkRr zK3K|~AG*=!cW9nwsW~|3^PUxi0Eo#Em5<)(B5lE8DESjis-y4CV2K1Lv*b_i=a`-Xd!o%T!awq}hcnN5BbZ;1-2t{8{-+QmpiCtEZA%{2P ziIt5{hrXA6q*6ro+_<`m^cgat`v3ewr6~Fb()vidq&PpKudD(=!G~P#5c}IQ0ntwN z+#j)HdXMMRr$72Jp9ma@(dWWa)sa;04Ncdv4oQ@cJ+!$d?RTg`Jo+LRJPc9I*VnZU z2mFi%(MZ!F`7hACf<6Y9Te4WBqfs+u#@kx+y1kBZ97P^g)<-?VG;ifTdpy^5oE)^9 zDal>sGGfBEm1eUb{6RG)jg1|Ks>wh^1Jw7gS^ zT79a>vPbI6m|)8`4A$bCbX=Zf*B;9=4jkXuVo1x=W~;s0mbyS)BYzDn6srVG7ko>@ z*|H8yIZ

vo=*t^Z2T5)6w{P0}P}gjpomxB}qEhyJI=1$oZ{eQXjl434I{s;|Dsb z7)#8lKa+&N+8PJR;^|;?PaLg~BemEz7dp^;xnG79iw>>kFn-;BS4g_Vr6mA3$xj>y zf(h0Vqz~K-67a(7Z#%{SihR`A-Z4iY*>Kn`m06|My%b8l%Dk`?}Bpri$gWb ziD2o8qr&sU2vF?Mlw3+`D8L8Qo++2h9@MehLl9Nj`n-a`ve7_~c)glTgA*z6JHP;z zM?bwoU5>c($t$wJlQ-=7%zf$y5e-ppM0`s>*3@Qs!jFq4;V+PttLQwwsMw1vag5F* zxb&epQ2qL})AU^W^h%KMBGujFLM}+nhptj$)5Kpshk)7;K69O7E(auAt zsa$l6*TdynLBkvJS{k?zq82)|Xos=2|kfU8d3^ngBh`k$j_P>{qD|N4u<)KFb~MauJ#qH( za53=W{wSe@WCNDdvRnd(`@6eyaf1|=2&>K0A_dzKvhYn(>cCqqMsKy>Z6^ir$Q^7Fk=)T(h?%To0mKXoRMjQ_c3w{lAQMhMF#MdVGLR-blr zQ~F~VFI(fcq~9(6iu^UX2eGt7qD5;5!uEI>Hv*NBogG4KSn4R|kFHZLEn#OM;OEKh z>JK3oa_QBn7NyZ@QF1!S9rn)b+c!LZ-!8u9>K#&zpZ$h>)f&2~IahHg`NQj}SlPG_ zmcRokpVB{NxXh>9$dsd;M0icWF9LJb)%?8Lvl45BhFDrzU40JSpr*cL{V?B(h^&u1 zs3CsaG(cR0`nkIB``qj`CwPtdzj!mah5*naRmW^e6;UE|h4DPK8)g-R!?l*KLX@;a zAtFmzN3Fkf!6?gIb;W8XhbJyH8P zCJ=@Zy`wHaHSv96!_PLUb@Pv7jZ-K4w;NAE#*Cf!&6-Gv^4l(J{Nyt=1%o9gtD^buqk4_t~V(>%$hG{G=$=dc?d#5OIi=L^( z$<;A&{?!u=*$d}dxZv+E=j&}@gbKmoO!>SeCZNJWWS^!nl@1PMyz=NpwR+m0stV` zv<6GSgb~|zIX+pB(m@vbLO*}){b$>r7QiYX2~S@!LN`Z8FBW>z=Edi1R|89CL{H}p z`ioXH{LBG$O*%Dn02q%KVto4NaHqn=HcB?g&~%toiB^vH-d#|ceUH$v57EL#vz5mh zlhylRl(Be5ci7V#pH|wd*8pJdNzpjHQCIeB#MBhT;Ev@|ofqxrKJH+UPKkA1RwAP<1D=*TqA@-E1EgWsh1P$eLrr=8GPPr1K(t#A5p z5oJgZN zN(WNlFicvjPr2S2Eb1M0|Lc*V?VB)pt^gyznKxtG8s_Hsa^c~o`CpklF(D6c^8K&u z&E^jizT$?mERdBSM7`|#1@>cnc6uQSjJK6#7e`~@@(s9zjciht9`wXEmt`~Z+3yi~ zew=p#o@jh#o+`tKtEtNgYJ4QUSLHAxqj?8Udo*iEN9^23<<0)$I(E@yQn~;;E=%6{ zH3LVyef_VzJbSJ}^XW23IE`k!OaxE@zB-J@YK{^#9KP1}+Bv^M$kBvj%Wm$1qloSX ztGZ=sJe9Ig%EkB{0m6!w>yepb^R`R<{zc&v#w!iWBm--~4{`1~2M?UY@}ZJ87CSK5 z5p~20baxEboe#X3_=^WbNHMZj$b3Gi(Pq+e_{(9bM?M#$JCkmB0OAfwI9FKmJ-QIV z=<vlB^QrfmcCU1t?TjNMmp#}u2n5}2WUC3<{i zCpn|jxt*i8H`7~@+$$PisnGb6ett%%r+o)e`IpebB`*IIx@WG`k&OOEj^Z1gr$;L> zE&kJQ&R+kryyuM|z~v@S;`$Ftg!P|h+A9peVF3<+B%-Y=FrN@R z&sp4!v&Zuo;3ppLz!U+~KnxO&NY~1{I##D+I+vWNH%>4Jf+Ko z7f3L9)a2c@0iZXR9GUuf>(V4}SBtktcXF|RBALGN^uW{F@|~cn7igb%o5N(jjW({) zUgbN;gd=?<;36EteI%_8oG!AcG88bc?+C##>ewJkRSh02%1Uk}qMqFFnC25uIw1VJyqp&Kdg?0)&sNJkfRAbBn}di><10sDx6nZzYqm* zUS-?2KckvH?iM@`aDTnSPcbqLNO=x7YGj!3f^}O*>yv`+Szo|+m0m5JZGT;HqN!}r zgcsW|=i`@vI?sbUC@;6lH%4EgKh}vcW%dD`UTp^e%>i3r=`ay&&)|sQC1S+zVWWE= zpTE+Y+^aEM7XC{}`eY;FI@!rA^tIupHVOa9`^xJaGe^mL5msP%N0Zhvz}vv_a-cE`N00R8|tm_QN^!!YU$bvW>-q1-p9sJ+r$7h0~hMt zPc#Y*(ua&NiIrb$4Bfagc@;+0p>V)Ijfa{*Gzq>P1s9*erZKw^EZ#Ka0desP7_jy| z-2#T<&zX(J8N!k5k_ceC!r6k7gI7=y<_?wU?hQTAe3J8sW5$7o-y3MZdpO8kqEOHh zZ=@uK?i26UO!d*=*Sxo`IZ$M=1Sb9nkQ;rCl7*~YbZMit4Lnf^dHU9`LN2sacYUiL zC=X?Fo||Y}xy*ITExw_zDuPS*<4{(Mbv*eZQv5js4yALszL zWgH7%Jmg8hqbB?v_8b!`CGwE1mw9eQ#~w6{Mn>!-$tO|GKyrR8<^nM?E@#Nd`|4uc__)SB$EWyHyJyAHxDVp5}P z6N4JL5c-hDCLh;1oVv5bbk3eNdVlvaO8o~L8%+P0x+6R7%Pkvnu`1g@G0f0A375?H z%VKb2vWh3~nWN#e)N5L)3a;@ODZawci3Ug`|3{)L=+UUX~ zSa=ff@VS4^hzbd_VTdT~BS805DnvP3{^LN<{_GYC9U)$s!lFe{0L(*6+tipk#y9p} zIqe_LCu=M75mJV(;pSunRx`GgGLTcJ{~b1_ECGB4p9HSG4LI0I>_!g@iU>R$>nBf0 z0R8&kAL_0UVLP`RL6N*feVs^={eV^uagOpgx$mVfxLJVt9=VWhvT6rzmUsYJ6C;5x zT_r{Co4?sfk5ZCC%m0xMuxwK<9ypG{*fqp+2p68I#M=ITG-4Ih-lI)cdu#L`F94g1 zigKTJrKgoXB7hacUG%jl$SF*L@8;j123I{}AQ>;3J}R}rZ;ir0!Vfp9=#%TQiW8}9CdXh8+4f;ZKVt~>WC-c){xdH2pi z=jZmf46s`D5HXK`Zq{En=A2>?18bBL7x_0Tnp6KZTp@jz*dI_REfc^M#Z>oyUzI`} zK8VQvHnn)JCgX*;q0T(Zkt03v8%s!?rdL1i^ygzo=8Zc_LvBaytdrI5g-`T6PjHk| z1S6inQbBl3^Kh>IQ+`19sF~x!yEkt=S?%!1Knl|R-yJUi6|G#)`?F`~*C-4V?7lzH ziSG9Q8mytyPs6Q97gRgP%nH`_=XJ>B5=RF zKmX#=OI5Fvk@ z+Z~cWP>vrvaMjqI$L;d4r@#R7G>M$Sw624a)uYMZXV+uJD3jiCFS6Kt75-Vq$ovx1 z^*2$F9#-y3Wbrkkk{hjO-NZPA}47m+fhgkGI z(MsgFr@`<6ySHcj;h=7Vl<=l7?r~z_OF4sIU19-hOVF#P`mRInEvUqMzW5?cm1>Hm z=oqJ@?h&u1G1Z@>)E7ts)Q4wMLQNx{s6`oHEzVkg$Hdv6#~RyZr6<+`>BP)naz zuvZ)iM6H3{1CJK>?UN-DkKbI(=!lADe_}){nSGD(a#X_n6(i0t5I}8~`m{JdU^`S= zc9s0t$okf11Y~4{jo3)L$pQZxH8v|YNA(SOtKM^+9)`PXjWwb)?z+u!H+5UX4fFD; zZ_sO8rQf)>STd%eaVolwe@N-vX*nJA2GQgISL~(4(X~s@-|=!c@Vd$g`FzC`2B-nd znXd^wR+WDaglXPaZ9YW(1dEa6Wlle?3x+i=N?}@;{QvPR$q>j@{V<7|u-lUEL{IBO z9;5bf-&$zm{#kd8y|hP`WDXdW3Kbiz^y-~+Sc^Ifv}+`HkAa^NN=)_)3a`lU z?7aZQcU>%Q>$^^9l+EUA_L9_T!LXJe(61q~(7k19>$(v@(XInF)be9xyw45;OkQOF zwJf<^ekJy4DhG6_22d+puiS8QdKd4pIZ655sn#lB5!NzAfP5xy@;@JFC(tC9D}05U zdz(A-_DERhy#%)BviG(g-X8hpe`=JgrzJrpi~C7qtMP){(EC7{vW7oSDRFjxe$FA* z$K%3i|H8+y+(zhRFlUgHkm5OQt%;P>u+{qs{^6~&xLoG#i1+%)REIJAz9Bh$=v0Ke zZZIiq4N5JuBaxEU-1b;6hfcy*#+q)G*D&HsnIoEl<}DV-h^LJ=3?35`q@W1(jd9}! z<$1h?KKaG3K=AdP@+1NMDW!=AE78bsE0YgOdpU{qd+I`(Gsxt2i-j$qlVlQGe$*C- z-EV=lYq}h*WH)!fiXzFxH#~~$YGQz(f5urq?5xgnoLv%J>X(|(LXAnd7$05RB zQIWerNX1~E~RvTbJ7 z^lOLnQtAn;MB?0!%k}2*di4mTyy>6!si(CV5}MA4xc zvevJ6$WiRns(EGM$m2bhFIhZ;WcMBXo)cxI!OHJLhciXjwp*f)gME#rUEH)9F>x%= z+QF<5=1H7UA7M`X7q(kh1nJd*WnlLlKSHA`!R5Z=Q*L59#AZ5=pXH{%9#4b~Mj*X1 z>8b_lQD|V4cE`wk4a(st@LtE%l0$vA<}^NHj24_JM+akk854YM&@FVgN3scbZ zwhl@qVt%8pp_6H((Ba{d-;2SBOof8euDh!-D+3;VINPp3t$u?f5`Ub}!DsH4Vp7M# z%Xh1WiqPH7+8E~1t0E8$RR}}dTiC)gPflmS!@FiPr2|E+=eZvQx_7unA>I}b5ESn( zKich>f4O_x4cRxuuba=Ymw)#QQ5RX;px?WeUkOCr!0{%TY~qzLaF@chRLo}I z22;I@W-hjrsPZsIB(_(>9sN?o4-ucT{-BDTMF_G|+NXD}T>vt^bG8h6v$|qk{co%Z z-x46Z38d2DtIL;6DE7Nk7;^bE`9{Z4I4*72bmvjR>jWq~S4nzRhd=|)p~NuEMQO%n!Ql)QJruen5RR=D{lnUPyc;#73yhV-LRtE%{!4V-*Bw~xMf zW`tZ|ozX)RdO+9FeO$-U;Iacz^mgIN;xI^*nYx#Ul-x6WCUBmh{utgvY5SN8t8hSB9CFd`;YaZ{VMh}|W#oIb^;b+06CTcs?g737j;mieG!~D@+L*g& z?KydmqS=2*+voG-dxcMVbtQ5!rEBhx4HAjx&5YXbt1Dol-kzQHL7yCMAf1;JhnYWM z9M(khMd5nZf99IYkO-tqX}k?+K=}E*f*Lr;Dzy`W;ryst&<75d5pd0Nv)lb8$y9${ zhYZ5fx;+{FhV=U**UmfA6&3Rv9=hL~#~O^U18Oq-@F$C&88Y56#JD?ZVKbF`p|rr) zbbd0oZ-c&wP`mUr%>V%qHfl;Wi(u4A;?kj#|5v#*gF?Q$O zM`x9IHJRUhw5XSm@K(`ppw@i*HX;{1_LQm-D{)n(Q<)L z%WT@FzlUccGD|w=_bGSd%H{c)t<&+MI>KtgviYiWf1%zs6Kj*dbcj;b0@I=e>Zlo} zntoFdNNdWtV|Qa8wV4cV!+DOLZGICXzYZD=E^ktqEiqid4Q^slm_ZQ9>UOk+km9$g ziUuHuE}e0@^~*kTXq<|9oZdjn|H!qcIr%YcPu$42H2q2FaAru||8)=Sz9;pFWe+LV zsFv6YgZu`u@m)WZNo?PUqmhvPO`+9rS`<66kyPPM`#>Y<<~(eM?o|wbNnFlL0_WVP`SWa>s>(cOd3Tqa!N?vAA5++XcnZwkD*i4xph{4;*24O@4* zIENdZPKCWh-|vVTwjA921+@Y9kQ%PrWv?FP#4eHa3ce1vN+XjA=Ev8_KX^y=JNRg| zSmL~mzn1_ef#*!PekIBm;<%G&D%VLFRdrB*co$+svc7WHVvC*JJqssIY*@@nKG4Bc z%zW*lgB|(;*NFM)4-@?w@BMh#W-F!)k&ROLlbV0(XISbF4mJK34%$_PY|nkK^Fyz| zcxiO%gVu1#KS(sx0rNs?WqL^pOR~!p{5Uo8?(g+aYQ%@-K4C)tfH}2u6aBj1uowBY zWA0qB)H@S}!RVmXsJ?BoxIpQ--ocS6>CeMdt_T}m>9bp~?{sf=48@v6i+&1q>5W6a zow!}{y#N_pg5u-OS2%h{DQ797oge&Zq)*~+{>px3ywu*}blwetJ9X!EjhcL!KzvD~ zxUehRuxYII#t1Xa)ZeEHKTzuYNR1xhf0M~+lP|-1lJIi%S#pSz>xTCT7)?0IcMqL& zQ>}i#y0FBiMWYJY-g$&`YZx6R?VnFN*WhyVEwxw6N3|n5wT#Jptq*k|#fzYb6R7ZV z0S&0E|5+dQto1BZY~^AuTFipZn{KcG#yxzLExs__$TcKFpaDtw^D{=ArtCg9 z9>-2a24;q8AV61$%d^AeR0~?~n;iIq)mKd;{zbg7`0$ph)A{DYVOO%zU2Dw4w^)l) zGCVC^3>&I=2>P0a?NtA*Z|^y?uMwL=Lu-f~sr+>R6st{&>#10XWVmL987E<5a_sg&JQYrJ1ux%JODw)_Jjk_x<3k?g$9G86= zvGVFZhi39XhmkmOsnR=S$uB#b$G3LgxJay5b$oae4SA0%e2ebpU&YJaKys(|P}yA? zRMuVcVA8$3U;ar8+|Q!I?DQYrpRI#*z%)5*pAsBb@b zAoWDkHA^eU#n9Axn1CYYG1)Gp=Cf!d@ofLM@0H$>A+5~gxhjcRF?`7Gct4-`sX2<%Y-w&-yJH|u_SU(3{oPcy&RVy zW+fU^>(?K-C~qIiw5^@6Z%gKSS8#c;&4Ku4SG5j-2@(mWRsS*!P+9OLl}sEELhUk$ z9Z?Iode*=9^M2`=m2)lu@!WZvJXR?49i%AYYY(gsQ|24fs_~dZHN66pK<$s7xh?*5 z2cFN99%1v$HssE$Rom3cGGm{p2!;aV{g{hOFYV0ckf)pYk|(pr6Ff8v-0w#dkW1QC zm@ms+C;t1uO5oXWDmhL!^1PN3dJwdy3K1&Dt+}C@KS(wPoI%Dkk(ELovao4@y>bO) z29e~QlEJ^=Hwe?z&E_&DMA1HTX$R9Uh{R;F){3Wf$ zHaO2l`CN(WL8k^4^cYWOm6y@Y@HXG-zF~cLn3O~N1;!RMXV*#6mX>gWJNv}Rc5~=B zZj89~E--@l40P31Rp=5J@NF8Tb%8^<6| z$2MN=>y)K6M)mbWpCk1$u@3_u`n@d9!Z!PwLsn0<3Z|<-Qc26Dm}BG;>a=T~*Z3qI zemEce&Jrz~htiEt|AAqwb9Rf6G*v+wI&6A^WSUccf@?ku|{XM zNv8V}uJ+z}`xbFFHfxev_$`$c2!(dT1UH2th)SiC1F9hplxg-mB!eQ&hm2gOnMZw_!CO6O$;=I< zTK&5~FLBWu+7Q|u<%Np_?VmU~yy;qeXxR)qGT)3_QTbe|!uY@nMFGOzLZ|dbWa4l_ zWJM%l-=zta+<)W~vD8?9U7TtcUJz2k1RI%WM_}cvUPm28ALsVt&uxstU&2Whqs;0> z+Zt!8Bc8aTe9(g7HdK{ft+z^0@U*7hj1PcP^Z5SIP0#Hus~e*7Q(2E3-bOf>K5Ye_ z$Dx^Tx772kY*uX)E+O&A=N@^o8N23Bz*kyK96$7{e`_=^xHibSoy?jx>tZ)(d8y0k zP_#lu5{sE?{A}0xn*E}JD;I244SNWQSJ`I98K>2$c)58-?$}_t#%Ix>DiZb?VxJR5JqO*g?io@S*+vWRdi$X?ad(!g2NlMsNxBs?)1;yZRY4CCf8U^ zH#6j+&vy8GhfG`3qbrRGxqq)?(YF>Vk^SnzdJu=Bq@@LFGxam2T$DBHe7peML$gd+ zj>S0wq;^h4hR&@GDit6T0i4R-q3JU#(Fb(*U{aA?o3;39vV@p zig)Mb2YWWc^H)CnX!HC+1^JXJ_MA=vBhT2pP>55X2{f@|1K2ix?r-5=Ro(E=&b#iH zLk@!J%JLc_W-Fq^L3ecLR9gTN&kKcQ6C(W(i!u!J zb&)h43;yBa$CNnJtHCto_*H?=|In=s(W7_8`tCYu z1&k4y?{ZKU2q0?(Pqi$kFgPdC$lTuOPrpE=Q4CH$i8P#*)WWuhj!{5b{2?>%1wTjjY{Pz_q>@pH@x9L_$x+JQ`sjp?sHBCT?>Z1#RoH}KaJ*h( zlO2|t6mU{N7ox+*qmKqqIuVzUSJA%;YsVikg8vH`0JhqIZUxzdOq>!)-rKlU9>)J^ z)^HZI_8v29VNa(%_$b=fs~l`^*KbDiMy)sW9IdZH#uZMZ-Xzi4q(q`qFP9is)`i^< z%(F~p$rXRBGUnPG?h&&`AW0E9g`-~G=8?fG(o5!=?|aH8uo#h6p@x_)ir*(XwQ5k+ z8Xi9;g0w_!q(CD#s&qHx7uPpRi#&1GhgrZn>`^TV)yr03lq=qvtyb=bAvK%+J1QMed@ z>`b(o%b|T5yRQ^!_@myV5Dlp{y2E;IU0iKEnn0~B(ZN*e_vjtp7yG#;%Iw}ighhW$ z)aCg0S*n(zx#^BBK9GCdsMcJJK&qVKe)X#Lz0Uf5@9wNLYIpPOh2~0!1!ij+`ja_kX{uoKjSX;kQFLUqH}$7fx#2SVZmT#BBE2*F!)2j5#6Z>RJ69S#;Np{ zpj}P(YL6&H7L#=f(JzT5n)xoBM0oUiD>^hf1SO%5>0wUclrvpqla|04t5skHQG-)qhRgDN zgcaDU+j*a=!P9rZA?7IC4jC80ne7_`bs30l5fX4Y8rzlma~td3`JTPMU$QCe&@m}$ z^oTz%;Vae{2%;G2eDe!&;e6GS zC>AagT#a@98A78^${{GY(1I zwUJmH!}w1LAiRTtOmk3lLwU_*!_U%~PA#JRj>;CvbcR>j==lFgBW7SG3Pr$s=^I`+Aa;JGjBc21+;jBnkN#R59B_ zZb_xDyL#||Z1_`?-Z54A;Y)QofnK<4;JMLKgkt}Bw5>`w2%^<+k$y!2rOH3qv*>y$wizVs*<6zqOd7ChHjfc0 zqGdL7pB3~pX(;wAN?fqpY(^*=4Smx112c1U&>6LnzD44*{9SU0#-ElA zL1$JY;M)DRBq!GwiTpOV9%YA48V50fVvdv6()n%4(Mh@dGtfg+Sk15){@M7%rRL|9 zfpAQI#|8B5X;=>sku2{p4gGA_9aq`$399c``sW-gRM;=(?&Yq&gFin_Q4eRZz1uJz zzbOoVY~R8U{?$`cvTu%AOVU*Y*22HfZ+DM3C7$82a>K#Pbp<)y5 z|12i8xZl@Hlu6GIMfqMPFH`An($}t~*dy=3hT9)P>-o7o`<++@UGb>JkWau4?f?cV zK4ZU8wY|Y1ISaJKscCDueEELx{4yH@ zq}C>}&mkL*Ei+S;K+#c*hSErgWkz|$?Sx1<>Y- z;K0{uIc`j%`U*Bbw#evpO_qkROY0E=O|1Es(T@)dwhHYoW#1h8L6LcLJPjsrf7HtN zElmAh|+0TcniV7{kpUg;j=DtiKGzT zK12)bVxX+&4^$s*hWMNa=fO%bv0d`3f+o=f{OPGa&Bq0pY%FkmSzW-<(F(mwV{rbf zJ{cxq?U6`IafXSYj!abF_nhKn515h=c7@}mduhz}= zIakbjVn~`KFcaKD*NW3i$PW*lK2RoL`^JX-+Id?X9BPD;jh+f@c$y<{KxmM z8ndeR^#QU?x3Z707lu%Ty)~EW+xw^bd2Gk!6#`o-RF^jnY&x!D>l1zEVAkeYxSkqJ z(5}bn{=UOFmEI7g#>AJ5r0`SQ0Ro@e&zU%@JX!&lXGO8p>bo=h_Z==;d$EUrl}?7D zmg+qhKm2I57uyG_Sf0;pV}U&JvSrjpAN%s76hdC{6R9p$pn9G$cHfe$#a`X1;E9hN zVds*N%}s1vItNCIY|uN~N}TnYxqCOZnHGv9?2xv3E%c8;U(egRd4k1C28w6vm}{%0 zm>K~W`zV<4*$-x(5umwd0qbaC&rb4M+eyzhQ)@qQj|ab-fVH0PM=TBfc`7Snv-GvS zXYsJAGAFXZtfy;tDZWWO6`5*~Eq4It_~s~VtvHxhvYcPKZmkJzHt*J}s_RI_@-0V(J;QJ*1z;AO=(9ldA^WTQaoBKG{@hdhy@}$10+fji(?6S>y zH5t0kjP4%vN~xVsZLYxzkzeBZ=VY;|V*l zx)0fU4Cid$m`+&1rV2~FZY=hRqAdC;)U5m2NaEm*2zs)#Q08&`e&!ka^@z>j`A)~h zFL8$kUvy6QPx&m$X)*mRCm}WhWSIOeGATOQuD#k9uRl&4QwNHENes@Xc#uQBztD(- z?m-|B^94sAJ&FoM0R#`gc_TQlkpv54U?lkDgX}vZTW~~*g6m_+*?K?vI^Av)LMx^$ zRQc)dmMbdk$YKLjb~)%tF|oc7ij+DFs~pS8arv6Uw= z61g>irSSuwD7nxP3eyTDt=Bv3-%B1VZK5Wby5uj01|Y~DTrUDN*NZ^9V>&Ir!zFW~ z;wfzb2DdlqzqT4F=zq`o|Gw3P3R_%)?_WMv0BNGvW|EAEV8-dS&m8ql#C37l>3~ZAVQKbq1xokj znC>62q(0jK8Q1){WJJa{7?a>sDkzT{B~ujglg6DM?M^;NBTlFmu9j+$boc!-L4*SB`LkKP}Km_xR0raj4YNcTNEI7Uto3Rm=2% zEm+?jG`orkq`8f9^aa%$zfXRcg8BK1nOxzI^H@Qz$cNuT$-$%ywCTTPSD@*H?7}xl z`ki@>OsfoZKB^HxJ`&p7UdAi_RqIR|;R(6|2ZB734T5S@osMrIsM-4fj;+J#Bv9N8 zMnYX;*)mGms@BN%u>{tK)*?5|gYPXKdQh;K@>-y&lwj2hRUi9R+MI7FXb@ zbJavh#^uh~Pz&Mw(rb)m+VG~#)eN(yqrnN%%yo=mo5En`u2skWtQ{Wtjc7iZva?^EEX0fiV>st1;sz$?q$znnIS6R`U#KIXUwZU!#S)^Y>g$;*$U=2JyaLC%nWWo zp3W~{!3)UJRs*=a3oZ*27b0O<%%c8-b&*+eVfn;?U(qv@&$XBH?*K;;Kg#L5tK30ccc4Ta8)5iAp!?ZUa z^O15N8(Gks}+^?tr0MdP>qQ19)CoSXMm#@RNqBM1^S3CTm70yTl6feoI z-LpeydHHj(?x^~slMVnJ0^vBAE;&woK|U#Sem-N@)-fbkf$7^$=SR`JQ72)1hO}}$ ze3XSPS_fyL2?pVzl0%9%8B$+S(?fEYXDqG6VSky#Vy2~9 zV@Nj+F&`G&HtLXz*ZgZte+C|4mK*x2zhHo&wP+<;V~Q2Aql($rVNe!#K-+u#=_kBEyg@c zeTzijXFfwogtK5_h=iI1gh}fJF!QIV7^Q?WJ;im+e7}{{G9wS6*9U?lL|l@XLmBtH z88C6mzR>l|!MdSJI}sVqF3&u(Rp-a$y?y>|m6b@b$_pM_o!nv;$O@Y3ER7rZoc;r~ z`q;Hs@>nDCs%kBQMuG-K@E-pCaQAWKZH&8DjM+2kmF}9GXITre*;Rs5xn_{|p_XXs zBNL26+N!N)N>_5K2P%)O5)&N(QF#42%2&Fl@FB#)1kt@bc;t&e)QO zBwmwb@W8%V#Hj@w)k(o662;t|bfJh%fbHf}*}d^PediKnsw{%%*V$6z&=tkq%iKls zV}OGTgj|d2S=rf2go2S`j963eDP+_S%vEelAz(*4YBjh=Te-){OaDF23Q}BRKegDn z^akQNQO7tSyTYXi?XK(ka9buF=$mLSweklqsOZYhz^}11*sK$==pr9ngV(Uy#Wbx5bFV07P3_+FQ(_c8n2-iYa7TULlEWP(8JMjy<1--v+gNe z@Ul1vlkK*k382*18?B9yP2unaIlD#XdH?r(NcH}a^-E#Sf10|x4*y~gib0t;;(T98 zJ$*?qA9cl0&u~NwQioW?TWtc<^|Z>ysU>CY zUGawJj9AvGGi%)1oG;3EreWdd{AB2fev(#|vw5$wBE)4asO8;HqlKws#b3XkEXQM( zZD+&;QD$$oP1S6#aedtLx0_{)ti+Sj2qyBtdb43lO`7k zwX+d(QEg9Kdb#F~D#$|VItbUSrT5rFB!I}0_!`0XlD`;hIX~BQwE}Oc2GO~}wvubB z>H_iC3*K21n_OshD*e2q^J)Na4GuCz<_MuZ5sxnu)}}et-{61uai}ml2>{zls{RYw z+5&mbKc54J{`r>zE`3kK98A*0MC9if>USc$e&5#qJHl%JpCatzKkHWnX$Y1SS6DctDAu#am>IiHKTWjifFGg6?KmsV%MFe|33HktreJ5%x58-c2h4U?R5TnWG2WA>Z)R z$-cjU|7cb5>UleW?&W*IrCGOWu({$zF5oI_XhO7BQ`ox^;(+>+`U!4W*~Br+06uS& zKS{%v27|?WM-CI1G!|v`dz>LmsOdSq23d@HAJ{!B(zoCTJYeLk z+Nq%k5za8nXI>1ZbNF#oLCL9R;=A@mFxsrSu@za9<)Dx9s_Q-&I@4MUu)k3|-S!kd zY_sX#P&}4yJO;LO-EJR}qk@uSbhpW1s{M@05aB$Nv-*~5A%h+I?CfpYR5U=0gYJgC z7Va)BKBy7z?#&0lWu7(mxTa?jd5ZHjOXhqEKggul51uYh(n@5+;IEKr_#<5=`I&@W ze~q~N=U+o3G@Yfu0Aye#1UQDyd+07hX^Zx^-OGg+yjL_dkf-k>bHfpWA0#04*=M#_b()CU|M9DQsD1J@86K5 zma0vz)O9yA{NRgbLejshBX*;G55TO~+@u@Z{=gVgEb7-!|CO%DXy2b8`P;A73lwpx z)I6CTm7)i}%2 z_tR$u-Vq9}cPo`QOJ?}!4iI=a7?H*2>WD$B_W<^VvE4~j?(v7XWM4PDsj$RM6}~j7 zJ5U(-&IPvK%G}v>LFA3JPu5W+>DOZ}O1Ex|yG@PT-d{Mydf)z7livwlMR)qg%b4QF z{&ohM7l_y6CVgO`LV9fB54d99$4JdFfH8-=x=Pk7u)Th{kbkv``4eIL#N&+>%t??H zzbwEUDAq>byxQ+$F z+ynQB_Q}`2S;cN%`hBF{d;i{P;p=Akg)rIxYJKDp#-*W)0jl>qEd!M) z+@o-ED#sp?Azx6&!VhEh=7HWmsC_X1=3rY$$?}G?k%=vE21nP0gAht*TjR+#|I}s( zwV)Nd{j9}EXRaWk>O=Q3e=Gb2x-{-lG)iFt?2kLhnW-{?5ux3mYqCfpIV<0R`YKWp zhyKQhGF*aOp5ifDu^WhiCreFb7^WNUgvQ)7=Y7NALd8$k?jM{b{_`EXgv>@}f{I3X z+|7ggk@N?IDQkT4J`=s5rBzI7w9GrchnLO@fGVq4&H*zy@4w=80wbiYjvgiKpFj0m zsN;ARNik+GN)60NLloI9M+FuA9Sq^Ob~e;Pvg<|UfN8b=_h0gD%k2?L)5`>h3RiU{ z&X}lss`b#niluZrVYz{QEx-2V9tD$i|0?$%;>REQK$hG>n2u9``5<^1CDo0(b)-S; z$T~=%wNfu#jQzMo(&rV!-dQQD4q>sEm8!EW*{^;Ch&D`>lONC)V!<>k@X?TS`HMS_ z-nkvrip+ClJt=L|wc0k`rUfK0Y6zL&8jtLTyBK8e#QCNeboZ{}Q^@~XUXiebDm=ql zZ1tToOC4nGH(1C7T%x&dRyo&nR=6#}N<8-1lw$>X%^&MfboYF@d-0j8W#y>(!rs>V zry;A_-;2>2)&G7m;sw^qVSpL|yK@=(_2u7f1hrjXcZkCn{l=>}IC7TZ`G0FaasGib zUN8gfrB!nrLFX`{CMp8di-)w6)`*v7QwGCUe2<|>(mW5x-TUhMMj^8Yy64A2@Eiz4wZI5Oo{6ZcQrg;tzJ=SkMbS9)d9NdRlYoI z!PzuAQfrQ=Hb!^HL>;b<4vPI|qAphwf&5?=q~s9N0Gq6$XrgqW3Eqgo_ut^G>my7uqpDv!%MJwTJ9xr91^8w`LI56@pD`Tt+5>Yy6U0 zR^h--%A*lu^>BNkge1wI0l5=8XG{HCw%&C9TW@l-Zvu|~G1b}EE_+iJfl>wO$x^#C zjz}IfkT1coeAq_-qIz>|$wU@fI*_9dZUzn^dcvQpL5m!|n>~I3Z4qjJ(mp{(f+!gv zs@OVs+z5i|qmT{ADuBBmT#`bQT7#~A>dK-Na>?r>SI!$itTGKxr6tHJXS&&S8TUup#)jz@%u}v`}mX_;%FZ{4JdKO*mqC>(H_- z+jANvl2(M2*F}q3vGT$_3+45`p_?lJ7Z=Bcylw1WyY==>+Ka5x*#+P{)VX(9`L#cO zHi_=Rq%?QGb&;vO%EfbePYdYBVoXv(^+#3u;%NSnzBy z?Acfd(NkID3?%(;i=kw~jeBCujOWj75I${!FoPZy0nH3wHGU9g4K7)2>^jQrij#7o zB$^#%_9NutAkO*C|Ha;WMK!ra?Y~=5P-!-L35tr;(4<2U1Qd{>0wN{!-UUTUA|gd8 z0jY`*niN4nKtNigcj--f?V-w8Jk%G_@j zBT~}|EVF;Kyt_uKh$dOzw&TfBLN1JN%d)7_|1&eJZ68yF=hr}+-{>Q&I2?+Nj9fZ; z@)0xDCHKqBefQyiTmy+Aiut18A-wN73qxEOAs3fTFa3(>(NCW%zvuD!FGJ63aEEL6 z4o^hD(wi#d)~ud?d7y7Z$-b+u`^71*SabD=Zp$%Q5yrmc_2EbKlSRw1 zz`6F4+uy^e)K%;Cx|_rA%s+3idU>~edC;Q{J?EG>w@dwcoS(^?h2hj)q04ekv)0}+ z)5Vc}F7R!(aC`lMP>5Z6Y=N=Yc4MOz>*S;bgX&Lcpa%vX)a2!pP7$F=iu*izPW?Pl z;~gId@#GoeCQxLX_nm?atpe7-CDsBCI_SA2@9iK*3-yf2?4XSA8&`WICwQr?F>7aX z#cCY3YEMnv(W*>TtZ|q|iq3DkrvHKx4rO}+u<4&kMT9#kX*tNbyMCCYwJP=+V7KYS zZvmcdiGzPZRrk;7j%bW|?Xbd}#^`B3{a~Zh{$ozL{Y8>svbuQU*dGnUKu+=B=UMG`OFBMZislP^GFk=6 zF2A9#`4e{_Ni(TF>vzcOy)sy8ab&%m_iXdJ#$s(^)*y;i9f`damB)BRw`h^JNQxv| z@sy&2bL@mHmmPV8^ihtlsUPoa8H+A`v2+~|6a^=~=yGago%Wb)hX zuG@;qE_>)t32D$iq%ginyTAI~o#*eev=-wAfSPW;ToPUAHe&`w?u0Gj13qut63PWZ z&1&tbGH<&Kb_qrFp7O|UIzI0ltO=8p{T3J=$oybFyGt=0G{2Hb4r|z!Y$utH4|;N( zBpQ(9II|AC2|Y>DU;hu;X#pevX*h7Re_vX zh9KGW>%n3n2P*uPX<1Ny0WJ0-ro+F!no6A}ul*KCGRfCKCD|;Sw%#r{`l%wZ!xUb7 z>J(~w6}RJ~KGXE+X?Ir6LAr*peRFJ;vI&yAnw0kK@dwS3sReM~n(O$Cok5tUG_{ht z$9R1we?rTRLm!`y&pbu1aKqyL7mS0JnvTBjWG~-93K!76)iS;s6rWGJ<3o(_Bq`_G zilmX_mdRTcZxc-0?@88RSC^hP)0K;Mzq^O>NfJ>*+>KvQ@wnBgZ#_#|m=xqvi%Lj$ z*n5g*EcC?R#PHn+L{EluPzG0!dPz`Aeeb*BbEu8qQ+?%)X;P6Hr}GFLV&|2)D+b6q z^)K-Ub?pUxF^}n-;nd`J?m457Qst3zu`k&Yx+*22XuXKf`SYX^Ifs89XQKOge{Dc@ zsfyhb{6Lrs;P|RtPcx4X$m!tgQ>h>TMdf1i(l7pgqHEz&B^X?OAz**^lo%G(hZR&W zdx_3KLAVA?8Pkm-#O42!s#1EXI4Gm_yMY3kpXnOxTRzH-KS z)B>MdJ<6~%T2)cx=Tc=7}=RSAIN*4GY zt}^}SV_Mue4u72pJHPo==ziq7I@!nN?#HVP)!aKnuChNXemu0aIqR4!e)2-(Pg@h! z+dU4nIhX$tp6`_3`QZOQ|Et%qlNDrIvgmf>6(QV>ySR@RK1x|TcrX0OY&x0*!Qd#L zO_t5yX%|B8ov|aL?tRL&?)hi9lYItIjthE1N21;s%f2AiNlQH^aIya`l9|f2))E=O z{^z?0r8#AhoThAbIc(tpIBv|&lq7EPfWr4xO{Al4#6(1A-T!e6O>w0jO-@a*a{P## zaHpP;$7TxV&ian=?lXFgchq==O_QoCMIJv9{O~_1r#gxgprTNd4t49X z*?s_34go=rKn+{%pWnulj^7nm4Ohfj143^rt|A*Q$Jspk=LcQBntB8aGF!?2?{9qb zR7slh9fkxO{r~+qe;eTcPVfEa?;eNw{%`;JjqQZ<()r4ExW>P~-#`BO|7ZUkd`u-p zHkmt*-0f{{{cFAdfA~-T@#$Ay=nkg)R!R82`~U7I|NC2p{{LUW{|8?|z+>B`C~+^D zn|+1cnO*VJDZUD~J+=KonpTy|%w;>jjBi!GWD?~w=+J84gOhc)2|gX%a9;amM>&?=tUOHQygxkrlDE-3Mho5qAc-%oxw<=bQzDCki9dhtpJ& z1rOd=|I+yH!dDDe=E{mduj~^~oQo~E*KR*eA85WmwJ-9uXWMrXC^PmYt*gQW6V)8@f5-rV5wl!DO*;3{Fj0JegfLY|`%bjNW+7&}sRK#N3#I1m;PriawRqEl~ThI5G5W~fI z=*lnhv~ASQdmbyM@~gh(zDMwtCS4upFW&ZE1`*|#pth9K;y8E6{f+#TCg=X0I6QhkZVed2?|Db(FHTe- zXo1uGjPIb(D`bIjNg8{K>GUH~S~q!1AZ}|`{TYEfNr7;_hdo!3>*H@o*|t@i;dxQ3 zE?Rq0>mc0OOLdJgSRFA70h2ox9?vBm6hsd`Dtv5_eD8+h$7nI^fYe5 z8BzOX(EJRrsJ(6)kwQ}XO@5W|qBlWaxG0yDSYgC)Z}yhi*X}BwSo^7?)qKeBp#WNp z_JM}vI|{uv=qrr++N0i0ndekhQPN4Z6I;RaH1#a?Vxf`g1FUr+5wf*Uc^??%jBy9c z+~2wO4cG3I)1du2VOR@h8R@6`Z1l{6B#aM?R_s-TFd z!=;q}ODU7^=p>^9p3geEHBY|_3+@r1EO%dK*R*5XV<^`|)N1k@A+7tU9!eyaF`wky zmF%D85ouk2$UrPV;Wy}Ynf6X#J;?MGp_p&f@PWBf>|Ft}&H)@0jt>@!)-g^#7g7S_ zZuHMH3E-m#N$=YwWpJ*C^-4cyt+7LLNRJ{#|M3phmWd2yk{Pu@x{VmFoM@(Q1N0FyN}B>>lJyT3L5Ok+6Jr^Ou_ZFF|@8qWR1SEQ?vT(gAnpjiLv zCUlYSl-_T;mzu5%WudQp70O94+ZIWMA+mBOvT#XFjr_@iV8JV{!U>-ARsA^YOW;X2 ztskOJhCH8{F?bY!h#TDvIan!8?->Mg+YRK7v=_ap|BV$qHHwPW2HD1+q(~98iTO&) zMh>k=8saynd7;aTIYZ(ze{>I{8Azv7Q9HC{ML2bwQel3am#D5!T!_2gHQMbr=67sF zE5*LDUP`?PGisvnZnD8kwQg?h$lU$F$Dz`?vvtLohwYR0b#Kax*WQZu*8L?HZ37Sl z6kNQF0>_(JIovV%?G>&E2!SteZF83MqHe2j`ZI9^TS2Q%C1^uJ=sub1M_YGqM}5H* zEeGC6{Pmdm1OuL}4I5K9rEsy7FbyqwqxUiR*V4#keS-L)TF2IwzAmEZ-5ra=kP7m- zTmI3a3C?8ezOXI!eDO3Pj9Cw=WWUR}rl%Gu1&vh=A=q^2VcMBxUMrFAu92-fuqZaje*_?4g~EAEJWOnY4)%&&kzi?>)@EzG}a0FM;dX zi4~$XU;o&uRpiCa10Hm_=`fMnf+U&PgDju#xm38p+L$laqa$@19kkF~?ARDfoD1KTlS@?qSRW%-!#eyfz zX*z`Bf}5=wbD>QG#h8%1#V%F>Gh2*pr_!uRoboM%%i-J3-PJwxsl#@E)hn`IX7rky zJ&DZ2`JXl+eiL+Uh>_^hAaCc^P-uH!M*i3g+szuVwnkBkgk?AKnb24?nSDGc_(P4X zOCXa`NM^rYF1rGPoU_lUL2nEGr5}41?79x z8`r9#ci6i1(w_SZL3tbr0`hlXw3m{LmQ}pz^grk%z=fC8ERLEJTs^UnuhgGX&q8pKiTfYNbueAaHR9&V(->Sq*b30b1&x=HN`kmu=3IDGS{8ler^&zhCo`H|((XmO*HqOtKr&#vWEWc^a&?NBZu}tvo zU9jHlCz)iD9Vw0mp+R6&dv2cfdGPZ*$#hD3dQv5ovI3MAR1UirulEzE!VsQ&@S<6! zf;t`CMU!oQE5m#GpJ_OzKJC7j!>N@Q5xHN>1^G;7At|H4N`XrO#ra_LeK z8j(`z+N`HoA$^ZF!8T6*D;2cu7O6fj4 z*7a$HYP~HBJ|W}r54%2$&MZ^X@`0guRQw^3LgnW2C^g<2xQusozxfQOFM6Hib$8AL zkPFsB&UDFi&XSDu4&PX?I^fg&^0d@$d@lJq^U!OeCmQ|dKrLt=1JE;aPF9uzex)Wa0Py2_F1-vbM%y1d^@oNWMIna-3CFD(h%blmb{a| z=)pR#9qCc}IxqJ6jd=z(&@nY*ie@1ryCV0<+`931hu~$237`9V?M59BQl^TX7n{q# z5M`I8OVB?Yva)wjo2T`VCOBVy^Gebvyt>-rWu&BW(Y)RPu@t{3N zb}U}Ak^5Kr*KbR}*L@eDW5%kzE`6B4&ngTN)!|}%6k#t{#v_yIEpjRLA9jGW2e?n8 z20^REId&FEBQ!v2|F!Q}s4YtyvIu`GGlNIl*1x$H8Be{utVm{Uk`~2PYW_)lqtQwG^>rbUHnmuwI&#my*`dFPwYBxfsd$5`9!! zLTj0Ft0E$;ISyXwMu}kieReyJc-fSHODMDRUGig2(_k?&ffmq3j@6rQ*A&nV-6uTa zLuWo2#8tUjOg=-qcb;hNvwnH7S{nR_1s-sXw-3NeTxvh{HBbF)VkmsgezdsB6Ntw6 zB?rIhHPA!eSx%aN3Wl=ZrM(Au@r|zvWPf7q@@lB*Pc*!tsMPNWiH_j^(5jBfdj~He zDxR>~W$I(f*NN$`*1qeDKFj%T6&AT+ti6T5)P1pZiHBDBT>g~qe^0OAjYx4q9dq5iEmo&y?wKK<9ZjB-m-h6>^)e>^9TBNgB+o?JPkbA zl^kOgtcaBX_KkP4{OiCOVwu2%_ev_e)LZqDq3eEd8XBpHDH3j`y+xkxCbh)EP}xpL z+J`rFQwBesvf{*okxTh)tr@AORuF-YQp}(M=!)6#$XmixiFzKUzp4>Hyr1NwX>{~c z(U$g;7}@cx@!2ETOO-z72O;gQ9)m}s>oBDoF{Z%VRyx^I_IA78Pf41jgeP>}J8EuD z;DF^ZW3~uV^XN^O?Y^sq*3i-AB1XOw(3%gIT*k}Qf76O0d1ke%R0lQ|=fZ?lDf$Xh z4&|LpcJr?D8xlHLWTN5L%$ezkvG`Dk4Ge^y*na;o6 z%r=Yz`{Qp2eo8$gWj!*F5hnr!aQOnnh|%70kDWdU_ST^!;U9Fs$Jm+! z<3jqao0sTEey$$bUy&;H4Kt9_#hbp5V)`#TfYQirtvgy1;V0-)94fk-=f$kVh|7Nt zF`uw~lcqf6f!d_A+QsoWMv<$1&XOj|**!1@@9DEPjE27c%yd-<0pSJ1I&XSi<&d(x z!H~C|z88tbL)dzwp}I`1y=j6-k-5uGOl{W<*&);PUA+N_F5c$$_zD!(ZTL^DUs?mN z;7L3!+M)qs{meStZBwlh>8aU#hbp7=hD4Q$Mg{vbV1eu?{k6G2R^}oyWpjn(7EQy{ z-T@og684e&YwIEyvqxXcW|@H(&Qebj3m|M@xjXQ?TOK!w6(NfeRe*o z2c1u`Ky`|@CjnJ$^m74*#BSR{Me*Ey2>MCSAXW)sg_H7Fb=IduJzbLM_KsZGAUrMs!o7+R4e2&mMNnvMQaqs z2x-4>L-^uAsKdF}!zPg%hC56m@n3%xiKIxCp?iN^ae~VXZCOStvQ=+Jqv-j{men%g zvdG}Clg84%@2+QS8xpESxuII~1_Q{}c!-cbQ|<#atK?46ln;|d3h2^T)`2BDmynq2 zL{3X5$M7P7?WRg)45S1URO@91KNotDn&Boz-rG81Y2G>W2D+r8y=G$SzfTg{#pCaDmt=9+iccw|V?_aQ6TOSAAfURgxn&SrNfrn2)oPARy-b5Y1lzt#=Zsxq?)@PCNB>PLsvz*|Ok;18jL6Ml}3Wpb4 z;uyrwA^b&wOJv1{M|mpv#p+dig7xkCJCv-r0fS0={v0m`8;}121ndDo!2C7IcSz`! zIXw1uHnyI&9LyV1H*t-~vTf;b;f0@2=igd}s!V>`8>y)t(00J@pSo!0-{CaDcaF?#q9h z0Es6L^%<~u0u;I$t$2zLp5lEn%X)UUyzLN z<>X1@sTU?T3j@#M$ZpX(6sD`p2?2dkNZD8JCKE|6%SgiU%^AB{7(?VkCDML0tG>~Fg?9Jg3*;3ckKfX#?d7b@aY7^i1)auoa(8r@iE^ZBU5x$+vMg_YUeJgHqKh3{>j`~${v-wV6?$l( zQJK?W?i0J)HOgri(OI6-o>x_~t+rqunw7nsstX}?ryiiklek=$9Wu!p>e`F;M=m}E z1?>P1a#56+2UukC@2SC+RIhni!I|J@hqP*gU}K%h{Nk&(wN9=mhAmuSL82APnY6%_ zHQt|<@k2Y^eS5-NgWub`r>g}_4=}xV=Fpnt#_gyVZQTitD51y4{<|EjgL7Kw zdN7o!E{baG;xAVFXWPe4vTeo&6{!A_2xs3MtD;kT=KQ++)N{F!7&J!umZuvZtnT_K z5}&YOduh!Oqj58;$7<4^owq zQ4+*B9p-(+h?tEnVb*ZBH)+D3xPGtv!y7{8d`HW8D8+-bo*YmY~#AQQ5tf-Oj$ zTK2<0Ei+`wbG|IP(Oh+8Z|PCA8s-+5Pc=iObS&N_JY{$dCNZ}+KOfo|kL;1%43Uzj z%G|e_*o#}J#==@c#@3h|NP#Mo_sNY15FY|3=c=tHOeF>MZZF5}ZzpaI6aSY*0KjqI zG_u>E{`+Gox}z?=zV>(_nYmB}>50ZbcPz@!#5~hpX8-xh5O#47v~LQniuGVsKmH-3 z-ZwSMqRQ&=`LzM7M^I3RfNJm7x5~{IEvYU1>@Sx0Fqnuf8rQjRuXp71T>2(23TdFh zMGW(g5SpOh6Y%XlWbuAiup+R%O%N^P!wX<;^K0vJ7Oo|t3wZ49Xc41Yh8tI!QLOeY zN+FA*w`?P}Bqs%3Uz;P6ZJb5xfCdFk^##;L(`6A9LXb`L$HC<| ztLUzW#Yd0139Br5;OA=T%`fUBS?EP~TNNjw==a!;G~=N^YTA^;86vh&qx2GWkJ$~0 z(e@Y?`ZZpU=5(jS_O>qX=Ip!2GBX{p+0=e9DkZciQ4ef_Uiz^o+lwnP2n-(LK>S`G z79o8y0^OoY9Y@=I19lD4x$i$(6uXRJ=6Ih?<8MfK zqKWJKxmYZeQMFYoYuRdVq3RtkM;fBA__HyqCSF?*8vE4BlJ@Cm+fnHG#eymtm&3)Q zu6@|oy{LkT_~yyVe9|nt z>(8Rul8^4}cNGZRQ^bC$Axlfk{(vs3`^ADsI_<6@5lPzy(nw{~v6X-Ko>wKpp-JKL zEZp$$1&hTh?oIR0FGgLMFGt>5qmaRaUv7nKVjFz1LyoHvA3!Df+zUP7P)EpNSC?6<}H2T{PrCL?el z@M5C04YnD|w@-SCneLkL zOsQ_?b$j2}e7bNS}XgI9;090)hiAW!Gn7K+#E+1~ABuPaZ=;_yNyJui( zw%uk?fe%0a#H~!W^n6l18kjkP32uuKR7OF{c2ppHO)2c|@g8XBdI0n}F%tK8Qp+H` zG%>HPyLKHH2$l5=TPl#I_j@jbu%H%H9!!y3x%Fc+W$*y-CRq@lR!YQwzx+Fi18ftC zhfn}brTnsRiL|KF&MrBIV>)&o-m-kPsnrgdZ7U^rM45L)8hJ)fcF?nSr}jvYrnBBk z%k@rLW0mXGKQc`XhfZ2qm5Z|~^yScBcP!fqLvO(H!+z1IWp^!cBHtf+^pVV;=*`;p zV3P#M1RT_{_8s^l7P}x4%MND`zV{fF>hfevm`%D!O6mrn!wGyx(4K8eq9mdrpu#mi z1RO0Qo^E-V+9lZ7F0yEkhnbMn{_}WQTTTqCm8Fyq=Rl<(R!FG=a*iH6%v3lQ{+D9# z?nMV+Mp!pA(rPJmBqSxj?6Lm!3>YLe8+Hr+#Tc9g6*f<-C|H%?_qT~aIMu2gWP0E}lw@T;+Yo>;}7Pd=9mm0m;*fq>#j60gWgr3Um3xz@2L*&O> z3ew5%1Tn|5;m56Z%^MWtxkcB2-w@43RYW)>oK&wzK3Ec`=s9#0#w}v$=i&#D9hhgE zXPbCy^1ouWKeAcKm&{)82a%DvEQ0ka>V1t75lAL2+vIX$92`d5h%?Yf)DZ48!HSlF zB9XZ`sY?l92ki+kP@*9p?UF_DmbObTRnvy|XQ^s5IpyY=X|MDEG6`2P3G!=oli`C` z_I7%QRD46<1T*Iv%RkF)ubkXH`@EkT6xyHn#IlmowZYKaeJh8m?i4%h*(pdoEsyqV5Acz(v3hVY=8^j96azu`KJhSLJ-Ng4KnOXi_ z&I-WP`)eZPEe8CAlZS7EEB=KTtSpdoQ@ge=MWa7O+|w4-`OD+=^&ffre|ZWXRKR=g zDpPxFj~=HH^6GL0-LW;f$K5pv%z8uM`0u3+=A3`j$s9$vuU;!P&%U$mZ3U3{qjxo; zqHwtUy`kP$srBCZ{>cQA;YF3i5KSVm&RC`XH5YcOtquSQ%|TzX`>PeisOrD08kqYW zG`ZQWvT}iq9=UC``?cuAt% zF#gx(i+SMBWg(}p!wl_0K8!c(#xrVjo&#fw`H>74iyqBQ>YC?A5}tWc^%pr?IRm!n zud&qwz4PG+BIXU>HQ(v$<$ic6&zpN5T!Z%Ie@YlJ-oIbpKvG?K3HfHl_yz)<+A*sjED zuWyx38TVvAcvQ0Bb{K&-2QuPxdV7G%3+1ZEQA)TKQ-K92A!e2fR3q0ygfK2a-r5SM zL2f&!bhE03%4qEGa)J3giBPKH0jbfF-L&fN>bj&Vss7GY`d{OO z?=Y8nwUd6N@N%F=6p?2Si}PT9<$NSV1+A1KJRBqh8Bv3SPS#%RJbXq&ir? zDjJ11Q;+q|)XcGYI013Zx`d9)+r{6WpaDXQr?;gh%otwS->dDw^XdDGG}XV z+1t0Qc*2^lzq^7Z$5EL|MDSfM%;NGuW)a)X;rV=84nMY)Qy+46sINSuRw-Jx9)*KR z^D~(X4+$ryA$PTcF-uB$ZTm)6>3n~hZCu+v`6}2)a*&#_XR|zpgeZLyJuFb*M;Pv^ z1`!DvNOnp2z}?zA6inwp!_hHsao~~-^OFEFRQ#K}F+_-2un%j|_vvQ7z1 z!bvqRjiOhrKJjYY>h1JQ-Cz-$6t|c;`l5UL7%Z{l_64%gD6&Rxh1()jo(^~_u5mF2 zNU*B>MyBN4#k(!RyjiY}td|m%4Jnr4saQ#VSPzyBRd$9P(1dhhRDWTb$VS@--Z|~2 zg2z=j&3Icu5&5DZEH0SNW!`o;cLO$-56QiW93Y4pf0TQnOjU^^?V>+EqlRn4PtWx$ zSgiT5P!0;wWz%n9+k*W@&RMgnehJ|mEMkWVh7ll`jD z0_1?-aLLu|H0I-S#gbPPs9{~W#U1Q?X%e#K7cx3N1*vvLC>`_6dcK6HJ3=1Cn(vFP zqF~A)w~Be{z)U+_;P-u_6UVlN<^!jo35c4%RL4mbu(;fb9IFraw78d=897l@3#jGO z7}QGbojspFo)wiQ*8n`dJmR^{($uHN3Z@-;obUpgOSCqFrY5(DUbQk_GtuwT*7T#36{av>7*H13a_95#$d|eg#TxT)WIjo zwys%>uE4SL3V~)U%2cKYgqxJjms|nKP{} z#}vIE_#K{3Z4C;4E-+vV2E2LY?A`*yL|gb7%a_$@fyO>f7`vkai*&mSGOy%zl{BU< z$rBiO`d~fy`bEM2R?46@Z|c7N2@fgKX6fpTh8r{tunZSIFof zQA6VQmr8PD;b`koq$*70@NI?N_uwc#f1B-Fdtp)62B?pHZa%*`n+`WOoIPenWOu{3 z;&0rLv&OPj;ls_jUhQ-wwrAuliasKam|%C9EAHvW z4?`ulk?KvzJd$K9(VRK-{PJ8Yn@srt8C(r;J5GYg`yLR+>$R(sM&GSfCVq@fSh!vg zgXy@Sd>!*1bO(P{n^iM?5eUp9$Mey_76g8NSOLt3)R{5e0fI(BGvwhw(;6c z1#Q&x+2lLkkgi0IGC8Ynabx!;{!1^odKCs$)^v|~bFMLk{mtB^=QsH6?d*+3&C4P* zC|6Xa-*N9c&lXmNrUhO&Xv~);Hd%uk%c`~dqB4@5W@8*5hRcCj|A+)#JO4X$`f;fo zlkp+E=+L6u6KyT#*T=wGupVozF#GxeovKkLF=_y=zu}Ey0lmc_pa%XdUrU&LJkyeu z;EZg&(>aAQ*0Y*MC0xHz(W*ophdDqW1z9BwLW0&M4eip3ruys+TjMc+n2El+XCUF9 zIRqKmUIjDc&tl#NlBnxXnTX{9Jqp7SkVlcQJG%+kR#p_G}>bea+kU&k%Vhc`9D7VR+zXQTZN;fmiY!9^7UIGJxd-P8=mGxcQBX8g z+GaAHY?U#T19AGoXN~XRG^YQ#$4>CYAdEC*RFxTF@$_A`p8N2k`DVAP5XljXU63uH zj3oVrTsUNTR+ExW3`rts>m81^a3hSI42sO~>Rt5WZh^lI_92@Ba$`D?`=LnN>8EUir9td6Pst*Gv3V zU4Gc)jRGI6Y6RKs!7k`uR8To{&U!nc*k=wI9VD|kJHD7Z(tK>5DZ4UqJ_CV&f$U*c7ClA z86C6yVx|>jH;j&JlklU><8{dQ_d1+M@1bW~ZtzK;XnH_(j2c+Nj1xv&GMLF71`#@+xl&3OU^@$kjy5!!~_-?m$MrMDE>zYGd!G*ab5km0c**!T`yQ71+5Vh7U2zo8t^X6JkWJ^n}2nu?GzZ<8EJoY zlnDP_H1}dOa8~SNNdGFVwU;V&0=!A{Op$7)W4mZ($dJ_g0IIgfl?SJcSk_n6at;kt z;3Z^>;}LQgc%*<~=O4Ql1{ynJ0_oDNLK7#B;kJ{@Q2!Ct1i{pq;Duq6=k}(5*anoRXgNDxY;OX#LCV$bovN0Ko+n2;0S}j7 z3A#8;TLd_zTwNa5eDqj3&mvXGBb{R9oKdJ>nU5v4sojazy2-CkfFS(}g%M}?a3H>v z7WWBL&Q}kpHtL*rc9}3%wcE9~;a}gy33y{=jzRYtJ|5%aBWLoONW z`p8G6linxKZ>vWZ@BS!sZqg_v979Pi624Ro$UY%zhL7mOT4TCnMY8;LYH%$((dnE*re`q+>v)S^CQI#>e# zo@|A!C)}C0Eo$}a;guyh$y&d7bfh%c)zZ^xifho0>K?wULh%0%OW)>x_K)y2U+@m; zK@6nQ9#qc9wm*h9xmMBb$VARh@povEMHIe9T&+%9g?hWuhG?TUKva*7sGTt_CODlI zKiL7TspLhD-~)H9cHuUJmnGJRVEMk?>(dE8CcNyaq0sq6ZWJo{Sl~^Rc1HH^l4p+K z9o+#yAd{?7wG07ySy6nbh^(t`5ys>isth^1UgROh{|~kEAG?Kg&oTjoF+ymno%5AsvaX>pU>>jji7W&+EN%( zsOV+oZBej_fuyKMo&Sf_#NX1-X^Z}%!)qsjP-u8_iHZ|=)ahJJsI%!e{n-P`w|+I= zCm)S$@jv>;*uQcsAnOP4iarL=GWOw;iw`pI(?cbbn$pro_R~Q zf>6QGTZ0cyC>yWd_B$1~t1`FvBHAm#rJIvaV$d<`jRr) zGj#o7NIjJJq?oHc#>qkX*F}aLWC7oc>4uv1cqtotiyk_!BdtuCXP}rKE}!C&`r%5| z;LE2_rT6)w6<|N#_yM3+yPrSM18TX;FQsMKADn^R#L$Hw&RBNlQG(^C!=rZ1OcJiW z%Q-QW^se(c7qwLE<@nBRbW`2rYQpWhhSpTG#t%`%b$Ywu^`xOx#~*9p(hNh4Q_w{u z5U7KI8Ci^JOGv14vc^k;%dz&Nc#DA%U(DY#n?H98xc)-~lod&D)V_nXW@$HCxRf)A zyx8!DjlK{yR0$6lzcO|UhtHMC{2U^%srn2>~W%fuljhr0`~A+xqJ)hEk=Xy1M%+!#-BY8GD=t;uo*h5_lh40Q#8Gn@ zJk|}>hWw@;=dWt5zdxQf2!DU9h+H8ijd7$E;RCti^T$uNSWq`UJ@^bWZ%BYVc%F)! zu7k~rU0z3N9&%3>t;2qNc=fAT82S-PLRa$#U~+LYJYOCd7H?`?zfOuxkNu*T8}*>* z(d+!^@8D1J-FN{(JKZ~_0wYCM&^y= zIQeN!aq@d#8=LwW!@{SX56(lD8_VG=>Us#81}ZC>;8s_OxE-;>iy27XFG$_3OJRXr zk*AsbyR0up+&@`)Ut{5C4O&7eAW0*Plzn!N@5z{w!(e6gUtT#nz!Iu-+_>;i8Da;5eKjL>5Yg~VdpxL*?NonL|Fy}WpydMtl-_GkPl9e0F zEPg$=+iF>Of2qSLp)-h@Nl5WiMdxi}m{~2uXL3&*L@X;3(vPKoks1q&LuM8r9@9PM zTnX{2dHUVr<^07JwJ&7nrcQ?S?4k}*NA9JsjHrI1sB56HZDir%d40zCZEYBpjC^XTw`@}4E}-jxf)n8iu_ zBvdn;9D7(M>=D>rpia+ks}+n*W_=R0A;CFwP<}clxHkL*N4~dK$S*vmb?D+@3bcZdB>AZzn0|Oy%75YWAhTdbDF1Is)zOn->Jnda2%4<`X0@nw0ZNtI> z>Os~P@;T#HTFxr74A*Skx$|ub%)e8oCW~#&{1%x`%9Q7v-e=Ywqd)h;m5=wKzYyho zLG$ijVj#kEd_O~5MEH{nkwJf2XKnv&!26L2w-aW5*{X%+J(@`cm3`WTXzpZE{T2O-jbA}~zGk|4C~aK@(Z2_`S%+J5c*u-$pG1m86M zDXk}fL@dEC6IS+^X`c@{UB38^V-m_xu`Dkt*B_$lYmrPse@N*i-QS&jM&fnB>_W#$ zT|)dS$gCCUWzqod1-?O-_t!w(&$0D`&hh|ZOS9(GR5yr^$aZ~%?Cl7Bd8>+tYKV{t z?S$thU1?L<{Fq#9*aO5&KcBaW(^jkDQZScO&up_^n1J#-9U|&0Ara<95Eda_fmF6unSd~6e_TxlwQym~@z)YI;sOGYWOYkzH_l*dvuG1dKa`87P(=;M0| zGcT!2iro)M%k>}S{e29GX1|E}p zyosK+eCFoT5-$w9(Ca^gqS*TFe;8OtoP)ei>&*^_I}pr>^7EsvIx6B*(OF<)==!*M zHFfm9Et@Pp__-00N2|ze!YGCHG1k;{&o;?g`*C7&9i#G4txm1_$w+l38&AoMf|_FE zI7znLw{lozmvhQx{4R{3IOg@+;YTII?8bT77|MQn_P>6a%(d0Ov>ELDNCw@ z+Pc>I=_D)#1tA$)vDa)xj*uJo+2pqPR#^PFyt-$FilJaKtnXRV+lRbsu!r*n{Fr1W z&(%_R9LfcM#~GH@wwab7^H*trV?%=}vAg@}L6e@azv2>hbQ7=9gRb+p`?mUUTA-If zzhaN-`FQ%Ti0mfzBY%izzVTga7Ay-rLH51oGAZN%>DdG?5tj1dKrzE$egiHZRYu;5 zt@hec2!g8Zx)Fccp&aYh6G)%JAp1kOXj*NQ?oMiE<~1q8s?cza&6|&s{j1S_uf{v3 z$ISj$cMzT8T9t9GC6%0+0*iNK3!oqqz~h@$HYf=AT;!`@jQ2> z`~G_`Xmy9_+nsta@_l`KYoH~J=l+v`x+{@$AxVv`^th)fOI-4eFn8k3%e?*xevKTy zv$7I8w=bZhw=!B>JqW#muv1({HFaA~WfydeKZXbJR8DW=(ugxw{f%2Yc!n*_p|swv zFXXfqs2BtJ=4?nVRvSCxr^<&6*Pfo#qF*${^;`)X7I;~)*aqbZ5f?I8*6c^RtDKb^ z_d0V~(BwqXyr5mO@M~FPccSM=_(6S2!(28Ys|{X8Ow1uaj<3K6ex|A*e~lo9{rfD76()I{e+mO zbb2VSl!{gIu#ILuW;Gl=;}iMv7TL`s1YmJvkaG!2XcobQ5m5zDfSR02xbK)V^6AI!48p#}SNYzHaVo^MH+ysvvOm2qyDXv%)S+Y5 zyajRcCJP^jjs;3^|5$RO-6r_W`wxztmv%(f3*f;mrghXMo~}Jf@=F5@Yv_ zRLD-cIQthlUG1kMF}Ke?N?b?vTzeLVKBl6YUH%($!)_ar=JD1o4RtbVNN*048!Ik> zaob=g)Y$qy8p6E4D8;!8H6iG@3O*`gw`z@}-*+)dnAy>PXdSh*9wLL>dTW_~1S`N7 z8xVuqFi&na9uDR`UwpSUt#^53o8cn$<_uoMJ^dvba~G#OFDaNbv|ZfSToR-LdEIo~ z+uuYS7PEaMk0@_t%O$MaYhqE5Fce6?sx)g|4=Ge@lyPBpLW~V8Fph8 zHj|SF%Msmb!>A`bNqHlLOkdUR_i5O1WqoD3f|8Lx$@?`~mZPb}KUj54(V-1rd3AFU zw=79EU4GaM9h}trBDS;Ji|Ev$>9~HMMP}-iZdf!t^mHEkiJN}C*@6Ozasoe5aOM-L zTnguN9+k1kja!FW*&MAj3KyCW;LHRf+-h-f0lTs54@htDIuF;n9~hk7^-dQjl=|;9 z-ZeMw-!(5<;8J~g!R!=sfRtkD&`0!KKQK4rFNpb%dd+!<6 zWY>KUiYOpRlU{?3-UJn-ML5s;?zk{}2O2uKGhq4y$9I-!byN(bp(dMAPO zxp|)V{muVBpJwLUT-SWcr<6NqpMCaTd#!ao79@Z3jWHyq=wT$2VD&nVi=C{r4{n*^ zijVt3${D%!%5Wpe;H$D)>E{&rlNk8<-R>LWmp?t0zEasPDp?0TaOyY+JnzC#UX1^C>1~G#{|Fipf6$FSZf1U6GKp7%H^D}M7_Fk>gCR}J-l0+P z%SW*twXUCnB0bqPo^HUzuM{GkScuPyZqbZM5V#6OLr&R57d(^i`D;B^F~hsrPi8;u zSN$mn#wL7O$YN<>Bl+hsS2*4WHzbGt?FOej=l)Yqz2IOX($4m3e}(;hT{*1Rvs3(C zB}M8k5jPCiJOqhR708^YeO|1$x%1K9F&mc0<6XTTsIwceBx8r@XG)t@6Tg~|M3(aNT@4%vZevVzd?*N#1 zLZgBo*uWhesU%X z;|PN^4KKD-H9-=#G{CC;`&6v&4Wb{LO(OI>J8RtN>7NB5N$#GJ>*2v1Tx*DH0jvEB5G&gAdMI_Zj5Ao1D8{HJ* zm+vWF5;?8>6(2DF^BdENNYu|%y4B|)bk7FQ8`2xaJBF8W2x3QE2%;owPi(< zNAks6ndl?g+a18$KV1S|@~N+k))0~&s;3rQ4}F}wJtWpHf34=PD1|*ijzl@#fcCD{ zPdxBzQ%Mt^Qn;au;(}k@`_Fm>(=}F%+Paw+YzGw`6(V>UEaF8oKh=8ed!&Nh-E;y_ zFRqxtv@Jb@sJZlveQWOj^L_vM+W&hmk4v9kyxH@p#_j*bo41wz|8M?xk^evNZ}a?O zlX>|&jfLA~l#O!Eg1xdufzJZkYj}wMJOy~FRF^bon@az?Oa8O3fbCsCw<&HX@KQ|Y z{>Qog+u_;%(X+w0)!x-gc4W2@mQcAXoJmj!P-rZ3V)d8!PrO@QaS=4WX2mXTNZAPM zV`lyH)lunM`X)}l^A(z*g`hVGA1iXcGU|ubo-G&}mArV@=SGUd^Yx0|(Zrl?>V`#f zO|n3Wsh7W*gGTuRXS#y>yD#I;L+QmM9v5=@USjzzX$7a6{GCZ7J1P7iO@5>IzgrDh zg~t{*hwT@JKHv2w@MLLm%3P{4q(sq1ZYHSq7O{8N&OdF`gGl>I2h0^k|8GB;9mPiO ztze{0dH$cC=fjPMBj}>wU&lpn@asr1$7s#n(<38-LmQsY%h_h1jl`9r$DFtt?H}`t z;>xX#Rbw9RxCP+%D;LEYJ?=CgRDb>(AIOX%G?LKl&0iZVjAa02rChO2IxCEK%M*|3 zSnQk!cP87tD`=U^8|r$HR-=9(ScbdcY}!jH8!KbWcU+83dsV79zaKr(o#OozFJ)V@ix&*H+V%V1GNx%3 zMw8?C_xi2?_fFCBDYvf_EQQrD*(J_%7CgiDdc_U zTZe?zwBa%&pfeZew!ZW{x005n1(|4(Z8ExXA{3}L=|t0*o)*Ni%@YpC z+$<+|C5H0zse;Z`FlnW*xXllg+B>IAqT`sn<0H%|2doNb6HrQcstG)5`RKVNv^p0y z&19^!h;CUj8-ZtHH(WOfJ^}!8WMBT`ewM5HA*6Ym;qzT%g??o*N9} zF-!c#xTcL1kATyNLC2<+A7zc6M}tBM>5@`PmA87At5#LBokN#oK-$u?zW1hKr2+7R zM^9M;89!X01l4;9-Z>>-b%vhwiY3Yk?15;{b!TF)wc-jvT491nvo3uu@&W$Zg}tki z;caZ9emblV0(HVfxuL7}k?j&50B$7aQEJqqGTH;&b=1Uu%FUOic}+R|(~4u;cT(_& zT)Tam%M{?RzqsegzwU=&m;`;v#~r62`Bij`>k#WpjZZA5&bDMT*ZZ2YDY`<`K_@?X zw1&#g{yyu7sKr=H!??dBx2m^=1$-%m-MsdM;@Qq=36k$}D}4z5JNQGWE?l*|I;n=EAUvYRF@Az$p{7mYN zP@V`e;MViq<6I9~3ojltCMy5V>$ihUB-2mWUoRf$fQ(>C0S&f~y9|zP^q^cg&92w+ z1ONc)RF0PIST`;Vhfh@nHNX)=cgn0!1dUMKuOIj^TR;u{rhKX;Jb-8sTBVo67lPim zHPWIkl8w*#aJha5FIHOxvY~97yHfNLg=PCU8gLiUKsKOs@2`d?C`O9uuN1U!bLSLH z8RFwt2&4?uWtE(*&s(2?c8)5z7M6JfvuZeM!Xcl~gR{+Pe0z}4US;NN<;}!#+%(ff-vwlm_+97 z=#wunT_niSPvTF;d-p5P#}|FJVYwv5PeQRdx`>GWMK+bo_Zj7Jvtoy55SY^64BsBZ z?5i&yHacKKq`q_<5Ai-ta2|KZWf7MRi@1tJ6O7x03f=LmltIC>DLYX69(%V{vI4VNlMIhsY1 z)SgN9*MDW0q|t3T!z90-1>kA{VUaQzB`Y#kGzk)u4v*ZCBIKM?ZfH*|7H@SQC68J| zQy{{dtK>gi;KWNl0lRQjVi1iXW$2u4@~DrhvRJ`+>{RGzVm$auO?J=71Q?&VScMd$ z{N3zOf`pgCwvM?5J&tq;&`F|+4TtE#e_{jUCjB-QOp#iOI2tBCiF%RZP}b|2P_X_g z?7$wz|Mx)TvQ}^Du?3aSX_CwFOSCOHEHtZrpF-MH!AvG+1uai>0&D}$A@zKB{So*& zwQ^Wph_et&*Tj@v*!C~0aCOgg^^ourB7ro-DuBYP-1G)d~zF~Hx=7GGKF zO$6>)6Vs8tM*Q%+5*DnZhqkg`gJ6`HELT6MI}IQXy5`kZ48rr$F2|&Xmm`9lSZRfd3w=1POSZ>`BNxpeZy7j5S1Wqu`OCd%B-Zmh{moeuccaTm9@& zhdv##qtNFsR;2K55+6ftoSp}i_onMMP$ls_XdB?08@s4VrnX>R%PYpI;vQeOKS?vs zzso%8@@|Qsx?7>kF?1&)fj;>4gI&pm6%|f9R>lQvI+sKM0R94x^)dVKOBJeqbZTFm zhkuSSFoUl?{VR_EfU>FWfzMIkwBKYS@4CMm;NK0(vLouA!_8p1ol<(7h@;pZNZqml zKKhG-nSy5DNej+Kkr?r?tpZwWy?9L*XWz5 z(#+Ok$!>#Jb#}mp#AAJwPhlqW4lH*FQH-H|5GXgbQP*LfI|Zq-GXN$w8s4RgPH&#g z_g5||%;mrP;bXOB8-Un=k*4gYuwFNV@~Z{R(Z=ufHt?CUM(A4vcj5nnjZXC)ak<-K zGM=Kz4!QMU9k1&-St&UCwM+hIyEkxT#N7H~3N44<O`tt*^Kp6?$h%X1-k0tIg}gx9j3UaEnKik#UP^9eDuE701Ptq+>SS#m zVfXhA-Qf=_tp`q;q*NnTBaXWxz%(5jAuU~8v2vtR^QPC18Cz6L_PIhy5jcw4r^sMZ zu&chBl0s+>X<}*o&q4Egm+*@cQ=(Fm$7vz>@Nu{CP1PI@9(`16khd&o8bSW8%IZ2* zPj&w?lo8jp&f&}&+Ae^LB2-;AfL1oit*_4rPYt5{aKnI?ohR2%?y;!}O8o$zkl=;| zn((tdvev2A-H`fq_X!S`p?Gh-iPzIyA37;51hk5#t6kUvPK|`l&F4(lQF(O`N~o6= z?lla>h4j&kbHU~;g|luZBDiEd{P)1sZL?J+0)qQ8EyvqVYd-ZS2+KAvc5*KlCg$3` zJ*yX#h@j{4t$$`0>!5qR`)l^uK4`(u2jBJFFyrphjT)!0JbzLv<#kkd-eT#v>)jBe z02E0EldUIHH5JD1o=Z{7soqHVUMR>|B)IA+%0t5iy@i5NBEYeD5?47hy-&+rYwmqO zS0?y9`?j0gS?u9Nal#Nb4h)3%A``l>|B?>|u z{gPt$BWPq!Cy+j>p_LOQW=q%He+*^D%9D5fQLK4|Frt-ro9gZ;K=d|o*umCuFlFFR<>#lN?WyLQAG@u;2hm8FTW?-c88rBac|xv_g!Hc= zOEeb8aT+P@`dU@Up(l9vkCNgEj|R>q?3@|ob;!9Y@9`x0GA*!q%o_$e7yO5pkxBd$W~Yx!_5 z&_wEBjOSa)`6J0sPoW7Xu8!!fZMas`g#Z2Hvc~ho9TP+D1in9oEIY4#_QnO=!2v;5Cl+QULrOJ_BW>+1{!r=p)H335JWs zwFD;{d|%IbZ0gQH)c_To5g-0#K^xy6^WIph9@j(eHNCN#5qO-g8S-P%qMhBqdDsk7 z1wUgG&V2ZgCuR|uGD=M4BzkUZm))yfdQ}be#jM@iG_5VikFEe3KQZczTaZbpBM*zYP}#&`igDNGRPt zsd&8W6|dXQMvSR{F@-M^`K%vsE`M90v9A3D<7WCpeEvOV{|j|!j*9C}7B}C`-78NU z`~){|Z=A^YJr3ndkZp4Xb6y3tPmHD+w4Y_PX)eH{&dyN2g>t*otq*y!MDan-d!j0F zg@>@EP}Jee*#+hc0}@kV?r@BB`7OQ8C@$CvsrTW$V(OWq_2zH|rne=9Ngk{3`5MLr zz6`D;Fb~W@#<+#&i?lgIu31`rppJS)7CJ5OLCv*ag1;=cP+C+B+xNt6cn(@CO|dKu zb63CEKh9g)h|jbaqYPv?pK@FTm41{7QhnZnce^23xF`Ab-MlwRr^rI)wT8Kq&vNV! zlnaI3)S5La4uOBZGc#6!53IvKRR6AMFkrmJPj6Q2D!7+a0sk7tI}jTQcR|lqD>qCL z-ff=sG9f+rXV{9jQCuIj?Csp@?(C;$vTf_K1w?%uTn;CTtMiNV^i0a6i&181X}`jO zzz^&@Hg6b0N9PB@4@xx7sCv2i9eyI zh{%TuC1EtpI3e!hEkgxq2d82Gi~vi1g(X!9Bf~9^O(9#y-PIYRA0;(4S*X0S4Q)=& z7san2{3hsiM%KmZ_esC^SzC{3tDnWISvf545(Q4<$g~m>nKJ5D4LPs<9(afw5}5+4 zv@J1(e<97MnQ#3nV7%M03FMjHrMQ*TC&lyaAd3`{Mm!JL2iXzcX4d`X5xlWRl?!H2 zXoZwY(vtTa(?2EWMlfPn;O9r#1tuT9gV_J%l6W?Pl4k?8rLLtStZ{d$33blB0Ufbd z0V4{Ham5TU&^i31T5LP4IyL5md7K_RqbfLy`o-{I7Mb*BrT%Fn!DDx+{SuH1uD<-M z2-UyH1-hr&MZ4$w1-K)}oYa50_N!j+q8^?J$%&^5}=`gdB4LVaj2TH377$Q^A>&*&PbHe zc0}jo_yI6cZz@j6qx=T$sH!W0dI_C%pf<_;oL%rC34*<&@ZSu;PW0RvN{77pV4)H< z_$!~3!-%?L0-fu&Q2k2adNIV5On(Co9U@l#`ogtear^X@bs}LWmSZ{mDqOag3~P3s z{YQ+8W#2!WKKH;5r-!`tVC%q$#7X)BS347v8cd*f%i&<59kCIdJ6I@!kh$B1ehO}> zLa-h;dz2;IJXG!lCR&s!q1VUQUcX}!psCWd685&Y<^@+lND$78SBxz(6$9!@ge&%j zVLQjZ;%f!rBMx}C%k#ke?wHFPhd`UC2|a)0R-}%lW$vdf#6o8%8Wt{7W1h#mVdD~gw{RnlRnQIhSi}ty8h(9|EY=}^a*rnO8*m;Lt5DDpXg5i zVk#`@*p>@grvY<*nzlz$U5gg6MuvMoC|f*{|Na<-WAP@jf@FW3vkYJMe^~V%_B%sY zcm1R)LDkw|(2N9X0*rTr>o+rGj$7^zH?EYHk;uNyc(zO%E&R0o#+wiCtpQq-JW@5M zii~otQ;3lIl%}U`A!UyW%OQ7_)Z5+uXR^jh%Kqq}_?OpX={bE21qJ4K{Yd8a)qWBG zZ{=|&A0kj1o!SzZMX*0swJPy7Z2UNH zMO6SM>$Ul9mE~8&Us1P^wSPU0o}A*eDBvVS61I=T#v4xM@B=R(9s-8b_l2kr;Em*vBI>YHrbENS7JT%ZV7-zJFeI<=zC;5NZWy#Ehff?X<-{ zK3SF&&KM&2-tclZquzSb)|rqwejX~(1SF9${T3Cw!`ZVTX{0C*NESU(=a+B87f|`r}bnpJIOH~+6;Wi?ZT+GE1!}}NVqewKc=#$kB zJOZ=2rnr%L3%oG#X|+gV^m~&`){2|v_czA|s&W(8VA7(r#gJ=IqMhocsPUt|tTZm- z>r*LzGmoA8qU|a<=pzl1rBDLsN5ZmrPdhgwrzAS>SSYXk^BIM$^l$Xp!JIH=|G6S2 zJUxfhkm#}6Pen{72uh5OAi4uLfBEaH(M_?b-ImSZ(B8$|DnGZ;yENEXtkEgPQ%khU zO#;fG^ctwr1X$qMc7|QV|6_uiO#hp&xU+*lln9r_OMs`#`x|!aTQ#gc07Gcg16Cb` z?H++Q6I4WCf<%7Ob$||MfFE>4m#iOn6ICZb#kg54q-rOYcM?{-3O0oL&yJ12inrom z0~jhMuq;u=MKDl5jOIrR=%4c8B6-Bh6j&q6OKdE^wHxBjMtyLNtCALUZ01%&6->_y(J!Z(e30-K~Sy$`i7P5SN|UfI}nOO0Pr0yqDQ zcqc;f5&uv_J7I)U%*Sau+f7y*$lg?xMWYR?)&NFE%JVc%b#w7w5bqmofuvNV5#2Byalb4IP$Q2&dZg54XE5U=o$CG}$ zoKy(=MOOMC+J#4Vz4XnNdk4r+;YuU%)*qb-=^BG|lbLf}RXY8$`HLs6ZT9OonaM7{ zPJNAF#O0L=%<)k3(D6MPr6`f6Sn86QbepSnp%gfD{599 z(}Tbjez(0oU728G8bXifh*kd4*hajr$`AJo61ULm!m`1)rNy%k{M|d&coce`%&yd0 z!`&q;IEzvZsnG;_2w zVK;{uF7thsN)cQC z?%1o9wh>O3D;}L4dh#Xo#LX#sez*GjD{ScNHp_NAN_-qFPHPAT`8H`hmi}I_4fpcf zL=7NV@DrLuW{{r+`@~`l zX%ftzxZ{bRifH?di;^MeuQv>4=K*kZUkKr4N@rQR8MJFy5p@vAvio*#wpZ1=jOaZE z$5$d;d{kzM#nmYf2|HDbZ7o~nJ(GlaTF-KCDZI0FrHASo{k)}uDU*&?BHF(7Cvk3o z4u5EFuz0nlVD4jtxH{G6c~^q1;$jpbl686({u}ei5SFv;nloTE1vbNy+V#5E%#-26zbk1pd&Y9Ann%N);+rMuaxzF)U0-<4Oa`SJt& zMJ|`?^*u3vRnP9dv#UqKTI|&WXF1=wNW0Q$(&O$_-mNC=f+qZbq5F@G-L2r&4|(KA zjn@Ii(n$XEN5@w}ja^aADxmq1AMj`H{O5TY=hjT_ohrf`O0;28Tr$79svPl?B_z6MNbC?+FM`fNcA#pCP=Uo*0n7pNBrWs8E$#2WCKZ-Re4U z6sq3tGwvH|cr7?{{v>aYZx(f}bn4llbFMS7@dFtxt5`-3Y1qzaU!4ogikfTg_!%R3 z8#h>&VYQ7Y!PuISiJ_NQXuc)roS3^Kqb4fN5MaLIcD+83Y?T3Cldp{(;eiB7D|!w)ogk8-b3!8d$ZO5{Mf%1s83L0slx+L5Y1S z;HaYY_`ww{gX}^4nIWwsYhlOrq}bn&qe1uMyc^~VpOGiMxSKBhSNIw4++76>*r{p? zOpW^-%_nD){33=%um5pD72v57gF~H`^m6Szjyf)laXg=4P_&C$PJ;XQ3c{qK)MZ~? zV6H1GK{0%ZBtIh}09u(>C>v-VH1v@we~^Mu80*?_1;zi6Jdw zyVjfEv`=-myu(&o8VA(>zK;_4?dC{ST?bDhhXh=6+f*IF7g(iTRPvrn%`~;$+zjY} zd_AG*D5DrEgV&ZDP`~Ff99IObs-6_^D6OgmV?}T(`xx)Pdk;tU8(zmwKvoc@9e6d0UrI!m; zLF4|1=7%xXjj6Fa9$E?$vP|HlSUBjVbikyMFhr@h*D*5*JA}u^CwzRTpXM6f3VsINx1bci84{ z9(I27<=Fu>A^>=F{V;YU>+Ni5e#_jfxUf1~`^vNf+i_%!t#44=y_K?GwYWnLr`;Ev zN5Oc3O37o**g=0x|9Txy%!`yWPp>koTjj5F^Wx8Xh@Lo#x{A+|{Gtm}rvXD}`9xrl zzYGip$$E9UyM{^B4NGo97E3*4am{<=OpM1R1H=uaP&UBy3t3r~PhYu1u>~q6T)nH# zL(6bZr6E(SQ%kZY;3f2u{>*V1f4H3@I$z*6on+i^yuo#(G!ksS@B3^H=6ii6aY%Ia zBLmkGfb%c?g!5&4HoY0u7XB9e6_dDs&v~b7rfDo6xS{np?-XS8>e^;@GW;6OV{q}B zR6UWA;p&fgSup23fft zD(vemDcH)3)Ja6(W9fE^sMjM8T`wBO_fk%Y*C~wGt7eJ1Xyel{M{I9bb{)vQp5f(> zM8mnLHm2sOMv?3{M=Akxm#umD@tJrrKRuuyg1;0_!i{agR&+f8T$I``HlbW3Lyl8n ze~kCln}?ftg*n4j-!$-c&|;tr33R&EXzmEgHRpHGt#iDv{TBLe|DaZUC5g`(=%ty( zY;vh>RN(=TNAGTYIv9Vp&}0elF5NI|?x~|~Y`Yd`TolUWjWV{(zEk$Zjs5!3ypW5Y zdNxYjBPiESup{(jBgdit<$ND=#&$*`ItBhBwHORNj;&j?YNZ7zB+5TCy*oH!=gNC& z>~Pf#`Tw(nSu}J4)pjR{G0_bKI(+_N3P#EW9?5Du5X#5#;$g6=p1z@MB zR*!RFKilLm_AsTyN6XvH-B>JJYTkLL^q14OV6n8Su%nTNI)8Q#sCWIdtk$I-5hq2! zr3AG&(AdmQ(ZCL%^8xVRf4IYI?4vVHk^rPTAt=2vc5%|+Y&&63NSx`5FQ$8F5d<~m z;MPB-)~yM!Mll_YATbUD5!*q?oQQ3oYbPzzl*JH~HLK32EMYk-;W)%F?AF}TGs_l! z#r=kzdA^Oezb^>}0t;h$!ua80%ok%wDO(%<3^{aw;pq8#`0*R@-Xp@!ILLaF=PxRy ztMyvQ3(Rblnr;u7>NA+;QUwrgM=0sY^1piT_-z_uX$C=D%_l=XnZ#wO zL15Gs>XBk4I7#=rGm-n3_4Mf)lC@6<+r^CQs_5O{ZLH1- z;fmgzGr$pz_tdOEO0Wam7J*xe8{rQVB8{G`+)^qg-2PH`#2#)29Vf)<5wxC{;ER4g zNr{B(lT{tWZK~>x=ca9juBs&=_Lc4?!BoJUv4X-6zCj$ZIiid}D%pVx&W<0BU+jSW zL^$rBx_=f2+8MYo|FVk>h30^Y=;{n7pbaWM zb-r^s!{OKPdkG@tCDBkwF_JHI+Vd`pLr(95xL*k}gg-TxO9_PuS*75^bI_(X>Jt zw?FFHS;r%${6Z_cFf-$hrY} zj4-3nJ8%A)QQ{!|e8Ewg?ZIe;4luR$+vK=^bz% z>!4aAkk8QkBgs)5`H47MLo$qpVkRBp5^NFb8qdess>gd9u)uXqFbVsqVV`Y8x>vn; z)>-IkAO4er)a&ECX&K@RJEJP6)0IE;R&V?71{opScIK}Ap@6`vpPGHzTR4|L4J-`M zkvSDtgxHneMyRKM$+BX^KjTVbQAwfZYMr_zNFYt&`pQi4HPhMR^e(P_W2IjhASPcw z8`rWDk1EI^Eg&AonBnrXlR@>wyhH?piX*W^a-?8oBe8SG{|+XO@xk^J?f(h2ivKmt zrcgJAjyy4NpG3Zb>s+M|-cSMJj|4j5FETe2wkHOdViZn#)#RIw$un>t=t~%!1p|#= zh1#0|MaWNtl6C40!Z;@3hTPL!dWW35dVbsIwnOlLn@n0csHJcxckMT&nBd+^EGFa+ zi!TGb$Tn8iuDkoMnE4{tK7dh#>z1Hq0sdr}99q&julps(V-w)LE1nmr5EVKKH-ZUO z4<^dT%2_k|&NiWBeXwZk?i;eklJjZF6G51xq{pEkf~)1z3S&&9=a{|E*<1O}2!F?(9Z0V94Ee9e==sY?HKZWL^w(YE|1G<>5o-8BG4#CKksbkh2D_+r zVEKfpK}^+uo6afV(wXotR!3DW1f|}g--wuWbvQNGPga@DaS%}ITm(@%ah{;VRZN`p zKYjvzLxoBZotp`}Aj(zcAynAG7dh&bMVLV!lWvaQK2Q7Crv( zvO%BC zB^|rB?%XqF@s3B;`1k_Ui<>78RY1NYaf_nLj_y<{5F4==M#_kmctZ~ZiOTb(6?S9( zW}`=uw;L^2i(5bBgfK}#j`XZoOYe72WhOfGj6AD6>a7xLTYS-$QSd4990JNzjge!^Oq)qntKmb>|W< zKv@wO-}iBX{&Nqz`OYHA104V>P+I4xK;(j7_x3(~p>2NLzHNl1?+YO7zsu`q)Yw=m zz(1FjlAaFqKWOd2y{RYIPIvtUhx2vbsTu@gxy%UfhC-Ntino9XO@$V3DO`)l5L-j3 zOkVbTeCz&?daJZ04&U=AIOgOJd&jp2jX zexE(C2_s#&I%NGI0Qdwo*YWSQB&QiidSfm7K*4^!7}=-2z~p?CqcmA>^$vP$G4=ct zIFdF%4=I&-3dBoa)mlA&OO}9E*QaLD60g`ZirJmuw^KWW$_Z8Q@!OPaX`lcf8Tm^@ z0OL%&xp1P{aY_9*KzL*32f#A4t-}h>TzaK0D)ty0@83lL#omT9q77$swB1)8$JZwd z4$x0AD)-i7{mqCN*Ll4L{GTnE`DUE#$+a`B5@Pizf)OEb6On5N12QPkR(p8P0Hc!& zDI%bw0gG4vpH(~h->O~P10P`q1;`R9tKLKve@iSXQv1QT@7@guw9u*l_L2V-?Lc7k z811e#d^N^Aj?#sgK>3Y_re|MTY;aojm!I;BEfQB82;Km)eTUlAv!~R_bCH#s2N6F; zI8BEooOfy> zyP3_H*-qu%GD+W(qq0XsYO$Is9P3p3N?U1_5~m!(mEha5uF^?7nshaF-UoOXO~;WS z$VA_D;G|}VOzubRglV^8bq8qe@|G?_^&1eX_PH9pLjoaF-YT%V^N)O9bXV(h05Yph zJ*a`uH~vJsftYu!T>`VJj^Tx>qY%6^v0bi9qj*J6^7Z-#0efQ9@&z!+qM3F_oimfb z$8Dz}piC~y<&MjD!m9*eME{6jANNc}OnrUOXJ^t!i=d+HZoKLuV2gwgopCbI^<4p4 z$MgN79A$MB#B17f1A>ynx#@4mav%hvi5ze|&(7IlJ>TW+Z!3FYvj+*^iH*g7>}Ixu zq{x>=nd9_SnEs%4J;V~9bPHU_ z)K|!t1j~i$l?*(v7~J^XmsLBUJ9qbhUG*qC%W4u)ybhuwXc+p+sqIdFQa4h^OXXY? zo`UbNV;X4v+1T8&F~U6&6ww&9|eyAazN9kXA~11#=(D zV;mNVlJKo@29*&J2;G)!g^>e{(}rPF-X09lqC4UyM-adRSP?xcddw}P9Go5bjZj&4 zEI_?)0h*nX4qNtI^NIG@33#n{@I2zkJ*M!woX&Sl+xO;y;(@7)c-8+mUOlFU1Ta*| zq=vBCl!9yC0K0j!;gDro;Nxvbo{Ko|V`#pEv6BwP#LY)rb?INlA4PBe&^hu9liHQN z>2N-ia4a@=g_Gs};{0jD&$9UsSJg^MayvsLwXrP%m{b4-@vy7dq%jd*-U{5sPv9+i>IZya;$azA6Hh zr%;-kD;CpERSYsN9C{)0#2W98LVP5@fJIdFc}Kn<HG}1{#F`C7PyY(ovseH|IM;N*rBf5f9YNZ4TUMYM}^!Mz=Kp^k7xcT{_)`#K)10c8C>RqTX&&JJg$YkP{|{c%}TL! zFYt`Ngo-#7{JW$Yz_ri; zg8wHF{0S%E%%j?+3cCahtYvESo)tSQ=B0W=&3`=@9ASSHJST_tWFn36R|i8%5lu+~ zy+eTJ{0fTRJ^NUfP^ZbJ{LH${122PQQFvixu+}5Bi6y31yCFn z)?7;1n;I|}TLxxgiJ(Ze&R8>oRw~eRO7CBHDLMc86Lr`=f4Djj>bAcK6P7@@n9~lv z`qZ#6qS!0OBN@%20!px=v;BK4#@ji0@HgZS3E5r2IoeQ-c>yf%8`?H_GXu@uG}~j9 z=cn0LXCtGogq}|E3K%x%@R=CU;0}Nb2rBWKd~$aIb^Tt^)4_e9EB&oE4v2p`AL?#2 zh^7M`CKf>e!#6~_eImGXnrL(BB7>OzWOF+oA72J$T=>xzSW^)7C zK-SjRKNXq~-rW~CQ=I)(n+pSYn}nth7$&2$9(i6if<98&bl$m%f54X0Gk-=Jb1j$j z!yR2XAY%tK%6umUtn{Fv$E=4xjK_bq<2Nlw4#a}5v((*LZ<1A-e787RQO9{Go9Iob%I5qEJL8nktdVdKAWn+2 zc5%9AfM<{_Jk*|m^eUCGA_UdYfW(9St3r@BYZNW|GhybFM1bQE^H-Bk+P^_p!9O*O zp$z|!a**1QxKtwx&6`tfBhfnr96jvce?QPrd^1Xi{3elDiesf9mHF2yXD8u!9RV9h ziv0}JBN!0&YL?_K4=Ur`eor@<-RtmGDF$5-^u!SBMakfL{EMc|Z?NYYBOr14B-jM; ziwSYUl$djY6$8dGz+~OPEMPnT-@>y?nwuSQl4H`{ZUC({J3^Dc#ft!3FdIDPE}iiU zjgJ6RfO6hx?p3&XGce3cBml%eZNU3Bf%F2&1yCai0KXgVnsk=yIf$U*r4C^ul`%QW zpvgoR^`qgx&jlU^2TM1Z16DIEjRg8_Z?p2)fO~7mpce?VlpR&TyDJ?{4x zFYvDoI{Y4@5DbWSJ)C!VbRIqIipOZ{7**U7(8C)rQVaORy=lkjsYrBWrnOjEp&sRiSmd z7n36+$Pif>lS3*YTE3aR8?>N8g!7&Y!)rA8!BDy3DWM)ZoJy??he#&w%Q2#pk*Mi`07R zL;>N-ob}B#H+0h0d`r`A>omh0Pdb^iu<9Fu-TLR0~%uit}pw(UttcsOhGqK0F}W|vPm|Ox-ONz)SAaFqm7lgK=T)&! zGeKY;HjN(7giW7hH+pV^M)Sr&dE#ke!}@pxe6I~} zTVzZ~B9xZF!p-?r7PwvJt~u6izt^fhTJ_$e{_Um&^gAD9Hd*@q9=kr_Kt+s(T4 z9qRTn%4{@9n&)xrxg|^hA6s$+X&`*ud3*C+Ol#001=;;)3%l8eZT}k6$o#LyG(rSH z1qIIyc;R1|%<9HxL)FI_cV4jE&c^~Nbg3SDS<3LmOYna;T*?oO|BuU46wiPfWrbe` z-AUrDi1bHs1MNi!S3D^gS#Y1QrTf0-_-0_-<<(aq?j1tb>N>@yPQ8h3zW@u*82AE zUdp>H=BvWt{bM`N%`nUHp=3{S%YYYifJR`8Wd{~w%>B(P2mtVu ze$I+A!O9P$)l_$k4QbuZ{wzbhJ5dib?zkZR?!cGsz4P%-eXuP;)#VnM+@|nBc0|$c zRVf|-SF@mXzyMR=k>?Qr-Q_yN^sqzb2Z2w7Cq0-!P}jPdxB;TSyV;;gb=e3(G88Va zE#{&E(nh4swLJnPg)EgrFn1|wcDkSG;uP)d(_;_J85rb$nlu3HR$Kqf@d^P0h8EHz zMv}Vm?~pqLyE{kP4TO@@!YqM#;+NN8z+fZHz9l+n#m4^T{%-H$kutWo-y~`o7(!i$ zA`0NO#H6eh(A~BYOp#BH93J4h-~ehG&?SrsnF5qxkF6*nqou7%OMOD#y|d&R4BBS zO(x%iXh$9|0TldsJChZ#ag6Q8lo+n}LFik1dq8crx7$%2g1w||hkk|YxCBGm*x+=1 zml;mR(uiep9%DP(v<`u|E`4&hUsts8(kQILrb*LhLCV|O!Ys%fFd!ScF**S*!3p6F zjfu>v$KAhH)*j#kDA6lZ@N0*pr1{++N~3Ce}(tr;(^ zmQ>T;_cQ!$?iP}Y4?juyuM^J$ot#S8v_n(V?Idtv&Y^2jge^JLqeH*nEnysRu4!TK zn;rukX&5i~XPN*P0((!FNUv;(SDd&C@Y{(_kOO_+iy4jB_p@e#ts`zK3FP~Y=mEIX zg#YVKleDNT=K0xqiT%jh691KUuFak4If%{=zX%u#ZNZ+$5M_|6flCVSwgErlmJHmh z?5|V4+rPopzjP*P8LMPgiyE_TzxbuJzK*(Xx4Fbe{J|Hh;EB`Q6VpX{H@q!8F95)a ziT6A&HhM?qeG+k?mG0HI?!rUN?&a=s#J4O$B)*aJf=qjOS*h;#@P-2Z7U)AMu`B1!l*u)-A=}Tzq?ysRArgj|bXh!*v_!A z$C1E(6Qk^-eflDC&Z*Mw#y@dohrfdGTY$~Ro~i13;b?5+vro6s)3DxWcZR0*c0dJ$ z9#XX z-527Cg?evmnXdpa{PU z?gJPiXX=32(cNZ3<@To%djJ{fxSGOz8$n0uA9D$(ur3Dk0%rw!4>s3l!M!JvZIg zUKA|dCeJ*=`Bj}8*!tf3$PoxIR$Y9*LI!v`@Wum6oRO5PAWAk=tnn4UUud=c;=VC3 z7HmxKIxe9!y*?&XPt zOEiZFo~DKDdo*)4Px~?##fBa^%V_rV$Md7_y;*3=+ze8?m#Vr`?XtH8*`YF&T;_Nq zzj*58Hi95R)jkU)B-ct(($45#{J=yuye3m@%UM5M{Gp28u0-~!5!L!F!+KjO^MjNC zy2*_&{&zeTdndKe+gQrt)%4eFyLy*eKvF^|_ zj+1f#^2tt)J#2sbb{}D-);dr0onH%V7_<3lfcQu~3zHK3s%P#arrh)$n+ODX;W-u8 zP{xuIacB!bwP=EO02u8Qfa$V4GI2x7>^XE!Xe_1x>M>1@lnW0u(41jjpZbZ8atWu< z$9gm}G*0BNK_6;vM(nk3QV5kw}8S6jXT^a;%dCNP=)smM--%sZgs05w5;1ns)v6rY-TMDhDC${jq?~a|gS% zv#+TUV!$>`;SIRxFmCy%(Sd3wN#U@6*14Ux>{wRk8nYK_>rw0-&wEnn)iZ2Aztnc+ zON+(;cZX!Y8Qlkb!#U{0A(V9S^x}>v>FF;p>+@A2KNa&8OGqloJEI(R5*Y$3jN`?mq;E?&y9p?lkx!mDK_-jZ-C+D%5pL6ny8gnQ z^Pmr}KLxniJZ8Cn|0JEjVe7$ao^l1*I(_= z$WAA9-FmX^v2$=E{_x(8Q05J0=iY|6t`PqTI7>U6~kq>gK>Oyt&XnOYy*ZbnEtPB^JLIn zyUVfJT->w?evBVr`|MvHr4KRdwUsF!wIy=~1*lREz35_8)6QeEx%DEb0^A#t z3MYLl^U{3xe|Vt4Y)Dgn`h9=a4^(WF3CuSaq3kkB)_?9%BQhYFY@M0}T({P*@!U4N zni8_vJ}Oj9-idOuBj0$gaCrV;!8@6ui;L-E$g5uIQ*g+ELm1*6xv5pHoVVy$yW_d2>bQAEsg?L3gOb6N~yL z>)Z}*`|T>;t9IKiSM@OJslD|>KK3wj0PfCm-q(oTOA;SX~~^=hEb=(I*qQMz0dqynPY{MD^r>h4hz2|*kMxcHX zdbL`fe7RtJG3gm%n?x7#_0e!lz#6#5!Z2d8=Af#022gD%q=g$Ntc&@PMx3#SI}A=< zhm}oNrsN-x>_V>J_cB79>IuEC*n}iyjuai?u5zq`bA;rXt_ecIoH<4Bl`dUx@`5e!r0M>aJZRc@JZtwAI%tB^z;VKPV*A z7hf{wI)4oqi9Bm4=X&mEVr9QHEIDXeeM$6T95c`chTrdPH(QyAO`k9WR9|xTOGa-b zx|FdBoVp`RAKGGfkNxcxl+Z$ZMP9K>^V9dT zW+a}^WYog_?tfhWup1a*K@Dk{rv#)7HGZHE@ktkBR`_Y$8cdVsI1;^TAO@FtN}jXl z;i)7z^`cnqhOG6M7!fYh^rP2PXM*p{_8nwCdMGI~RrCs>D(pT6t$D=iRq}}cVVpS2 zrZM7N=xr}m{yg5EZs-EL^(|-SFV(ja%^N3N+y>sH^DW+pGalb*F;2P4gtd{J_J!V% za<>M%<-C{d+tAK=oeR$12lm3nsPVlgInb&MRs%NvP#1G^LY>I|Yij%OOo|62xBa|v z4AMF%THH(t=C-@6MWs#FTu=4dyUfV?whmT8J1}{VFi^v5GxQ}kLE1MWonXkf(0hmK zWKjqBE39Z0%8j4xG^IZ^_yz8cNgm(J%i}(ik%GMhH_lI2-!F=W9oE9Q?FTfJ{bCVL zQ}-%BIs5Z_>{Gbu6*BAWI_2op!Lr?4pBV*Il>6;fQQ!#Q(CIXI+!zuC+_5J)q-E$! zi1OVB6e$hcGavT3WRjp{oOtKt>=a1ipt$BwCEts+aEB%H7D2m07bx(2`(H=N;X~ z(`EdXt8ck;Kw4jQzI?bRV+6TdBRR9|eNZaWp49*GlvVVvgQf4>sw6zIBlbo1m5p}M zXFT{KR;zgVlTtz%R`R+YwNt&jXmIubj{K`*tA(YGl;>;DH9N#s^89?=ZC|( zg?4QiEK^(T6k2r1M;>+^)1eG3;P98zklzc~YF-MFgeSA6$=FkMYGXCLYF7-z%wyUX zjsgPR(<`-aaB;`N7JS{keBOTP!a84UgJw5-*ot&47D8+2gEkTa;Z^pr`K+aGh=y)LHGI+ka#y-?P%Eo1>z!KAFeENA@H;rZ>1 z?ug3UqX)N4wh)(H^NvtbR<-byRNvl@#8VtK=lNO+ph+Eh0NZjydld9p zRj@&Tzp%)-NAxSqa!pSrtidqiaZLo06kUKfGbfaV@Z`bsDmQG9(1TAuhQr9P@9!=; z$X?%Lb>Pm}^EQGD%q)nDNG$Q+0Ol#+g8qh;+9NO4XGO;SVzm86C8#DVBge4*%MGMT zHw{&@Mjv_7b&LVAKTWgYJ=}eb{9V}BWh&E%+--kGalR?%o;l z$J##|k+Ki?5{)6C`})e+IP$V5xZJLv@fIxV@zgNjHc@*%gl8LSYed!@Ip1XH19Hd) z!cDLAh)QI#qvMin-!D(k(B4Y1PA+aQeC${9&!MvsWAPXD%&QfHB%-|q_Od7(i;&}k zq2CQd$BB>}a0VC=do-8Ec)*U5vOsn(xX(}|>L)$j(PzA+m0|bm zq8#*#tjrv{W#a5Q{qb1wzMgB-va8j6Q=iIi{|eZ2G6_WC0O7>?HcSb0CJ0$Z;2k?K zA@ZC$RF?CH6OE^0z&))IR*|m&sAbZV^$c#po4Yk00*196=#R%-n$7$=-?Dzb_yae0 zsl`F{T?zZc1bokk!>Kkwt+K>7%#g$F08y&?)%VvfBQae4F`QDqgqyvfK?WZ9y1UnI zS81#~oVnTye}Rj%>iGP2BZzCJK_!;5K^#IYpra6))OhEKj1QEGuP=5HmOZlO-??}9 z1u6C($f{`;#uknT7F9 z>wMJnP0=a=Qy!;f7oQeqhl9S7OAyQEkN4#DX`js`h9dKfkh(Nu`N(-A1Jk}a#xZ#+ z9zmj90=$eN#sG(*uWoTO!r==pogemn6o1uRyck3>ZlG-B9`A^`v8!A`bdk=*D<#~^ z&>e-#><;rHUI((`W7vIqk#)j5uK*n3Bu8!BDP^gzU==>A%k6mZvDZ_jWl_fxW7pRc zM`pR9%`AA^t|xPhynlxvVO5&)^c~=8!sv6lW15s7kdbWUQ&0Cvq9{dsh3)ua`yDl& zY3d%fvBT+)XI^@;_mzo!7+|^>y?y;5Hc{SMsj@y~!q1mW!LLT3%v1(dbYkdBf760$ zOI!oIwQBJwGzH<-g#ei|Pp@Uq_JU4Wl3w@1Aj|+Akp$ijrk~siGm*{xfJmBOpXWPs& zCzwyZaX!W`%(A1nctJ!dK|Kwjg&miM=Z(ZvM}XkbBGAMsvz!Un{eq8@^Mss5C$D}9 ztnUh6rmf6VqiO4+&8()OneOdw1>R=ix$|M(aiSF}b za94SI;jjJua3OzXex+P2(Tv zZuPlIaNG!fa$86}uk}(jzqwAw2hrlwh<CUHt_~n!RL`FhJSu4a*9>n%z=lWI>ofZ&T=(T;qNyC94 zZPa4*TMyoc=ru4@>v)mdGsj z|8Wkvc0+^8*qJA7W{Z1bA6ey6&N6nDtP{vgm5up`YwZOI9>|7Y*Cx~J`2eZ+&gdXiuvCdn$Id;1z zi^M%p??4FL66-^p0=Dwu5a}EtGcsENp0iif3WH2)7JzI9#~kHR1_D^Ds}~Ym*FMH= z={G@7!fv~ExIO+-0+$4@^3@xDAj_E;G>8(n`%XyYI@{yA%9;Y zJ>OI$k6L*Gz+#XpEqQ0#Gfm1eE4FIG3pEPx>^(cW~k8 z5rE!s!(!xaOb?OYVk74zCc~7>wi@~s`ZRd5fjFyOEiEIbiL`H22wo=MwwLPVK8JRA znh>LFv?rRx{^rp71>Yo}AuP7u0kVmG zvorwcpSm%Ux##KX=5Y!LvOHl>!ePGth$y$? zp1cl+Oz-nkn<7+P6OCu^_4?DIOkZJ$R})c>k4hpZnm|36U$tlC^W+!scWA%DD&;v{ zC2U@g>LJRLw-=$UkcG8??~;y&R&_L70rH%>sM7*|>nR)C<@M98n?2=?cOGN6HU|T| z^)34n`*S5Vx9jaBLyxe;MiF>RMNd+}ZF)mFPuljX!gba#;_UkHY`#xlx?Fc-%deB3 z#jdG95^2`3ugo9eEV8A__MGiB7;JgLQ2?{3_eP2o98VqXKHbKv@-xy;mu-6V1iU&{ zcK=7I(|&p?%4jXbNpH8<{jxcOU91``VOLN!P&zTE5RpTN3bbX>pR3E0^ z6l@^r*tG2~l^yK@1@ zV&9QB4Xcl#BeHf6^q@>MtikqT!y@ZgL%D{jDFVT3Nrm9Xfq!oKW$(!rIG5lhPXfUX zu6lX)$~C#Nqdb>eq$kR}8LqsjlbP##SURjJ0HJmhY-n3C7>PfsEDWMQT(+z`CvTDH z>(p^^jo6)8AKe76T>=+RJMCNt%xbTX3-IU)6J=r4T`KUC*$1`3 zz8qWGjM)LYCcfheQ8Rcw{Y!m8*o1>l!$euYaEv%~#7icYuQMCnN4aVJhc4!kkD6{Ieci7pL>rFZ;(dj`!&egqn-iSzY#jC zK9geVGRUXYC~>&>*9m6^Gp*qy9KNFI5kRU2KOpmhMpmK1LE^ADW5N=tqq_Pzf*G50 z02+m5b%PSqWMGuA325BU7?~BQ24WiC8G)UL2>wuR_xn`kw|(LLWM=Zi1zkx<*ugM7 zkZ?6^9_eYWuN5YOAoj=bI0B%cVD2WL07i2Qx5V8 z&$&NO%A|OGOXPVFS3lB}1@{QPI}`TnH0IJ%2t z+6V#oT4_)U^`t;7SO9WJ|BibHeK3L2eq9AwVcUczBO6Iw4F#5Q4ul5JA_3?Rc zMI#8=yFG@d$6B0lD=$)Kkrn$atKWLrbc*NbzJWT4$EWsf;B+O-UKKMGO%t#~u zpzO?4n7QgmS2O}8X2mbm;IV3|^Py9zEoO-PirQIQdNE2~;Q5x)q$wopxxIy`v_HmI zrFcm8hq1%gH!?X}tjlxS+VI!nT5CD@m~haZY8-UXquwWj{652~D=fb*7PMkw^_90z zyy$W-y?>h3+=6`cdheTF!B!iB1}bYvbGZYFntj=#NCzDWaRHS+xFp2jt~9D6Z|{Ev zJ&P-2fvw(M5!UME$Fr_S=;pr2gh&ruB`bcr-0*Be5*?Nd4*v1g455i(a&?LV+Hvp2{O_tm;sky2*&*~#LK0GNxSg!2>CQo%WULTJ!Bn)LvfO4EaB zZF;^Wa$AX%t$2BFDeYqB$B_kY2kxI1vCQ7uh3&8}1!VPQ-R)Z}xcGJVkhTv>Qb_(0 z9JTk@SF-k$TF&f5dOK-7C&s?JN*Q}pvr@-2{_+{f4Bo@q~@2MJLX3J>CvFG0_44Fj>dj|uv z7JbkADYSqMDGH~*MC=5K>Kc@*K>SQISzf5Gh-y$RKh6RE?%5VoQ3um6*r&;&iJb&e z{Bk=T@sU3)4#zrg{gF&Li<;*sBnR%A(|APbMl){uU4xE`>W~hry2B#;&Bs$$yS-hr8yJXsUk)af)uR!CHZM|X2xG)X5HF4 z8V9NdHIYd;Z5zbXBEA%H?Uyqx?PI^4@)nxVO$1=aVYIs5IhnDfX`yP-+Z2Hcvr zf`{-MjHKD9vydZVr^*0zS?$oT;c>*aPBI%~7I83v8rqi; z$6@D}P&E7VC4B1o?9@-SHZ``~PNgqI(Cf1B3}LW9`A2+wfj_p?rDY|Li$WM&tO~gG zy==Tvi1BVwE<6X@wKdKhZA)bB9q`TZmb9Iodm`*Xm7?NN+#ti?&w~4U0N}2A9`Y-= z+bgBXGYR*+d7FL=W(;Vu*zNBTn(LG7*8?#RrW%sL4x+d7BEh_HnN21ZqG-=Y+J?E= zJX~wn;7QipfqTNc{aqT`NhD1mERd2gS$QOzNxm_Rn%PG_pC#VIP?N3Nj-Z?wi-+-2fMynwj}M-kZ;9|Dl&c;hMkwek4$z|4C^GUT;| z$vl_HW5{DD`wXZr9jT3hJHrTJwlCKRXV)iQTM&9Mnk$Z@tFsTMR^EXNw;=4`nw^_m zs=qfKL1Vp*kRb!JAZRVAy`xUV>5izmyU}d=I>#(7L@{+J%Y`m`w5{G8C9&*fzC6Y= zZj(&8i;yb2?-isk3J9qRuvkA_)$9Jbq)Xh~k9A-_`iswXvnN6ZS98DDxajB!aM$3k zI0g-m4^1>z4_x|*=^Ie9w^vkhxqS4K2mQ%2P544}D+TOLj18z)Z!ziGo(A&RjeI4F z`zxNw6UY^_?Uy-FtML&jAbH|H>$T?tRT&*)zk4ECr|BZNZz>Rcg3MuV*Us&YThHC@ zkZbOa4#hSjwpX_}_j|z6_DZXKl?{n8snTmoSz%2Q8URqpjV9@eB`i~)cKbkU2bw9% z43JW`?mhiYb4oM`kbDvZ*jkV_H3#_Z&{TT)6i;;>b;qX@er;iBx8ln6+xyx}NkFcJ z0}9$qM_Xri_@~*sb7CwYA?neL=3{BDUm%Y5V(?Fg)tcOcTvjVFQ*=KB7yElbw+Sg+ z+`+`_?Wxt3sdk%qYKeU07C3USYaMI((TF(O%r7wk^rbm_^P$kkuvu z|BT|>)l3BIS!!*9HQ;vAGIMzDZJ(xSjTkSk9{Y$Q(_G?{RB$~HSnDWI2DXrA7~I2( z!L{Y^+#&~-77i}2#Zp%Jn50r19d0#8Y;_2}`sZe&+XFfEedp{^=WKUI+uV`EyX{7wSo2{S;FDM$f?7QfifbsEa(2e$U^ z9Xtv2)Y^xS#)Qw19j4CSE_!&Di0~yoW-}~`d|g?%iKRD@y|;U0vS;-oy5$5W(pC^A zbCk~B?X=@xGdGe!9QbNBQ|uEYFL0M=eBOH|Ju4q+7=HtGHSAp4Q$1e)cU*D~n5y&^{#1^= z;$g7mno{WIVe2{{S#fpG+fHwKAH)I|l>hC#HczrY%j!AN+*fSXXVk>C>4gyftE93% z4sjrW4Zn$(b0GqT^9^rOd~>(ogn+grElD@g)NQb=4G=%>{DIZn#Lr3>u}H6@(+KOA zL`8DW&loLY`oy2@$_qB0ggOxFCP7-H<>qW4@FJ5|J)3)$(N^=DC_bkZ>^%~F%|V!V zvF9*HTs~%_0#HK)5Z$r$B+6<&_{a8zUEbA9g}b3PwWU?j@GJG|D6~GwEeg!Nmsv`> zbeKrnum&z#?eAgjYndjGMTaAvbJBvf10_{n{J8lRrIrZZKo?EJ2iY$EfsN5nL3uz+ zgW#4wo7anQz?5YQeVXhPt+Bq5E_>SYzqj~ z5*YSa_k@R`1RN1++pWZz7#2@WLS@DraOM()mLTq=T_3_)DM)KI-8u=hfsW8T`axI? ze(dEuj|bfZhsK_67lKgptD@TMk|q&KdkLN`Ijx%^(2!kYtaKua4Og2wLsp@Q@*?t= z@=4i+SF9-F67MbsV&u&RRp;ZWa+nD)9*t-QI=l9xG!N{bIK8IPL3HL0!R~#GEp*Pw zwwR9042o3tGBrBikejh+nO!SV-d&(2meA_09*d-*rz2+kgw@F9lGHO;2|a$4bh7J! z6jSp?_&cx30oMg@rv@w2Lp+P>Be@$l=!u^a%P0X4bPT!FjMkhNXQgC<-zuEo1?S?2 z8Q{0z!R=7hsCFQf!LI8x%6u{D2V9hvH4jWQTFsmTUxF@|3m8Ap#G)PU6*4hJd z*D@tt$0(u8!z~ynXP>U*6r8Si<_>Mt<2kT<&K@aZ;CE#)T@ViB7o2E~i}S(ID?~`e zY|diRV>NEDDz@wLoF%y1TN@Y-#J9S;NqH{NxOqur^)fR3-O~%x6-haxSy%s}=lmA) zg(Kb0n7@*U7vNw%3RSe4lp9K#>Dc|*TasKAuhv)JUt9}t+9z1vvgkoynw|gj0#)v` z_;Yku{qo9Zw%n{3o`4?+80*`hR3t16Xb4s=cWG{3Uz4)E{)wLlragt|i;r!%%Y1N^ zl-|oJ%6`PL$i#;Axz5S0O!Gh`2YMm@zuyb(l^OZSd-s5{EikSbMhmDIX`te#KvAZX z15=GFy1O{P*c+}Mjjd-Zt;T=Onm!C#eI@b3Rw?~YEYoE5nZ~NEiE{iP%r|B#4K(+k z`;HYuQ{OG-PE?#m78}#!GQ9$qG|t9)i@I>@Paam#ac1Rfgvry04Hr$NP(F5mPLioW4z+uD;R;o&=rrjTQWEcBp_2>`!la*- z&&{Ne5n?bdjoHC_&+VuTWGOpqxV@^){fST{=k|e&V?ag+K^uhgTZ;GnVa_iR$>bFE zGoq?MayU20Lgt3fdqq?IQ@4q&r-WnHd1dImD}R+C`d9Kw+Vg@Z4s^G)3eYz|Mb9Mj zeL4zd`)y{@@veY?FMi3X|MW*MX|F;Zpyhb~+AUBHy{uG}G@hgAygJGR%0(Kfea;_lq!+pM##n8> zxi$43g?tZ5V2RR|7(^dnj$n1qrn0f?n{c3MRXKNOy3vI0v<|s6)1l?t`DFm^bTOot-EiN+}{PO69pY|9i8^Cq|i|sji^~SSlNe|*_2j7JcZjBv}!{j~hi<5#zMV;IY zz+V-};Xa=+9P|jMqnMWn&E=S5f6=^qesAs?{4&V+x5JoJogG6%e=r8wo5yk+H4ldg z6UX0O^E&Sy`P~1qHBX!*uTg6WJO>RF(ZgPX)jQP6d+3fm1<{hEdB{Zbr!}S=lBpDP znzLq)r)EVfMbL6`pzTcGqt_IR?;)(K75$!5E#07pqT9BfJPs<>+WKyX?kN?KvoTXn zgB^VawEC5W_&6p2)R4{(-MPV%82K?gGw8iFHK}x5L)k*9Kqo6B+S`IBd%o_L#X*Ma zX;MZjV}+a~o(VD2)Y0|6!ipPtoRNVPvQ+?pd)S`iY@g8#{vLYY8WUWc4~Tw30nXfI9%TSs4(U+I_-1$y}A zoW8F`W!qag;8E25#mgCgA!futI_d$LvfI;c7U*q1L$RV`HqZbn25{4XB#^%={LbHj z398Vd5g|u>cw(OAFhl25yf*R?-n`bFr-p$|IknXzfnKQSKRTbo)MMv!nd=dmjswTh zg+Jp?ibIYvOCVWE5hHu}xcJQ4$eM71Mn}3TE-pQ>#fY3ZRip^K8bG9CJ^flMxNIdF zD6$0K0Re}oMUvGq=6Vi${JWa|q{Jgpj@FD_x_@Bo&t&bbesydJAH1|TdktKL=iDbw za0JC96ujgN0)`!`uZ4k1<~X?b_|cr4^VMnKoCDF{*h7654s0a5PIbd~KsN8ZFxm?z zNqjl4+`MouF|+j(l=McU7u?Zk_U3ND**4l1ign_f#A>w=caSc2*A4;?4B> zVoW!JPE`=a!CJ%&;Qa!c=}QNit;TBzlTe<@2dcKWY~t+gOw+ElS{W?TrE*x%PgHs< z_?=+EpGl2ga--M$yN=Y~_bjS8X%ci5n!gz42vmg&SO+JldAYft`=l1~5!OoJ`YO+@ zF(8=H*$H^<4iNXqu_h}_a5=>;gWG)|k&Yi#?W{6V)RjBGN}vYoqIZs(-l>kmZy&|w zl0!)MiAxovN0EQ0ZO~=}5LXi6-u1Z?J0tiuRwFE?Al~(q3_tBr-e7>59bRcA-JXnW zO-0=V%M^|wr4=k-UlQ%V--YN(|Coqb^;1QH0ay$iEd{{hL{ifF1F5%|^QrympJCmj z6X~RbcO_sVisq`ppfx;n2wa_)k6rL2eCuf>Ty2?}mwt-^<-)%IR3T;eBQo%}hHi^) zb^tqU__!(f5}~o4bD$|eXo&;sDQm6Fs$(+EgC?9!mNw#}E1v_!XhV4G;q?}h>rZC& z6(~fia8(V+@+ywAy!}Iv&kS@UmRoc`ixByFkFYSZ{auDEZOUwuasv`}h0JYm5=iw- zxT3SyqHZwWp1yb#Slhvt{42Icm3lm>VEh18#!Wj49cz$>gkp)L6p^4fBeqcgC_QDPAlM{XCVsCrX z0&wo;S0#T$NyG~c)bJ#^*On(dA*c7F*Fuvq))xq4i}*WvUF2ix_Nq$7wpbI-g-<}! zQBHL^(g}!#mdB;A-~ElQt*lU>z1TYtM4c|sqvwdePX#76UF-`KxpFtRZg_8h(qF%M zsGlEu=Y0QJ3n=5=A&V|-N{tJNegc2gzxlMuH{kV1Tkx5VgRQq+6=8stGTB@?2ucPo%p9kw2W@w5Z<5b| z%q1rc5k7-f#r~M0*vl^-Thi%-T~^aQ^^QiWl6u_tBIC}?3jd`Md=45oo2Y}I7|*r} z6(o%u_wirBM^{A!$$KVRg9xCZJ9xn_^(3wd^EPTz4r2r-QRNI<1uLp02AM7Ao-(+* zWY@PbnNpF46Ua-ui1Kh*JRZu{-dE%ukVS1idn zv=P>C5`(IiH@x0U%iN8A^#E7L?4f3?p2{5Q9kH1Og> ziV|D|5*Pn>;TS`tb|aheZ|jB2Ts?8gkW8`Cakg|J+sVyDma~{O=@IWlPh70X zm1`29J7J+?VBoBJ(gWCZyxsaw($3SpUt*@`t#hX=MnDi zNe7q85*&w`p65Ne(AyUsmX&+wY*qBQN$6$EZ*y5?ELVjn!O_1BD;A1Cz%U+^iVi>VX8#(ug3)zL;}8aaR+7 zM8syM)|q1aF(>-jmEvL$n4Jn8>dqKB26F@g(L+8xYcX`#Pl6IVS%06&^@5Ob&Nq0+ z6HkSe^4pGHtXP{3r|S~evNK`f#2`cUeE=9G^`$K^)Cz4ih%wM%L9BTGzZ>i>1RB!y ze&_|#3o-3M#6z_lvgr!jFT3xov2x3);zE_XjUu+DPDHDd;}>2LC!*DwJfce84mupo zg}ib)z%mQnxM{Kp(I>CRLI?SC_xRVe@#(d&SMHjtpk_pL9uS%|ZUZ}1iMBRC zI1PiV-;H}8xHMi1L6-2%dNc1PKO&KAHVk8`tdkF{zaQ*iD4>KJ^&A^cCdaSdapGU*&6<-X$y*Q4} z0$S}rX<8aqJe<7)7FdKt3=ni*v*P3N1hW-z>bY28bZsJe&aau96-(8CqTl>gt}Ob2 z_pwrIj*M?fP@4X__$;-TDEVD4&#IK^938Jm+MVKC;Y*uN7CVdwENvYDP=h++fWW$h z6$4p@8@+7-wWRkiOW|Z!8`l6|{PL4j{NAlA7)oxG#Q7fFaiSufCcS$xi<4%ljupBZ zW9Uk|{nX!cqMY+$e;BI3Ru31Fan3Gd3nl128BHw?w_OJm0a+2D&CEE9+0GVgng)wd>#pIJnWB42Cs=ZiK`HyX?Iwcn6kp%kp2yf`6^ zhHc6EFP$KW+tL%H+}}g}=Aw>kksxm$>}1k}nYr%4Lg}ZF%sG|@XZ|vy>r3g;)Tf2j z0H7tx_HBbn+ee$2MTfY{rL_%&1G^`t0=tgj zTX%m{s%n7wO$PK8RyO50L zLEQa<*B#K@=rH0FYQQL@SD`4Fabb&Azto`3lIFfsTw2S1Z0%P31jX%{BbSn2D2J9@ zM@wng1A$@oBQYw5QPS{L#Ah|FWv2DtHgXyJtq=T}YvUNh(S+uKPiueKgN%|t8yoFq z){-t^)xYW(=k~~Is%@oFbqkzg*4gItV0gLdR3~MyNGA>k~cPob8gis4F zZkDtD~c>2_14OCHqv>hba4*hQjop z3V!MWd;4_96;>*j0(S4+L2{4owS2vWhEzXnoAt9K zeZnyC1cml9tt~ZJ4GZ3d{HP{q9Em<7ieALuDE3|;W|g77EoeMucU3sSKVg~a63{-F7x@m}$EL9miJ)lT|iZvFTVFD&qTSU@uPJT(2|MNUe$-)yS0 z)#b^hEfJeiucw(g#^e#|IQp(8cc3pU5kK8RY9epgW_4h^Ip9L;r zwqZZ46LccL+3n`DzsYXKd?vu0m~YdF<*=J!I%Zsyt~ z2G1A{EByKD>o6L&qgy;4;ig@GmSRC3Sc=F)BMY|MG~aD0f%0noHcxBH|ABV)&&0WZ zq3nsDY9G9(+#1aAZ*uwm{?pgvG;EMCuV3<^(*Jn6f0G$#0X#%dWat^rf16PF*G-%) z0vNQ6s9Ilo*ME7q|MAC8;325l8O}@mFIbJoH*pEr8(iEA?uTqE|1K%=?-vQ|?Px}E zj%#-RFsXm@YWtX=3ixn+XNAA~utv|svk zJ`kW0v}%rSDE)joX|l!SYPy<^SQnm2c=3OEC6{VFK6$cM^Om2g(!^rJJrsQTV(l+rxHw5O9@DM`_rzZl^n zIH4ZZniW zRtD*)@RIR@5Hz*SbA8hWdyItFr)^R6XWGL5@rQ@W%>`Y2i0T9h7D zwe5b|Z6T{AejJmxn=)aOjSqSZO5X)E8Lnf%z@%-pq=72qD!^}8IG-QN%0ROutVK_o zAkg~c7(i`KR{ty-0kX_{p_?`HKNFuku6v=ePJEA=yT;oIenCJ6Odr#NcuNxRrNVRe zQOrAGJzAmD55kqcrFhS+V31C3v#JxQj%O2fHY$D=k~6zY7;M(aP6a9E0C#JK#`N-w z@3uIVFU1{GmcAvh2LRbFVE>r0_0aBx`W8gc->+FV1&07;T;>}6LZo{D@>D27SM*GG z;~$2dJ@Mp!WY~RxQQjwaU0u|l=&L}4U`R!4uG(1i=ch6A=&a~g1l%#8wXW*)HQX=F zbs{Yqc!-Jg1XK})%Q07k%IL+F|C&j8CEC5#k8*jVV##|<_ydEcOk-CopH6CkmS@)T zya&K&ipWxXzN}?COf4w6Zug6tN@0EatPUJ)W8(IzW_%LHLU2EoQ%2&Ulh9Ybx+j%u z!_wod%-`SKEvT7wy?**L=XAVSo=DG~mF(f%`!WV{cNFQ;zm^8e#~445m$jM*^j=KheRK{i;b2%tE5zCxT%#nLTrC~})29gOgy@8U2>DDai@qxC$Dxvw`Fi_$>Xr3uIh^vA zS0f8Lt974gW@X;AhpB@L-khK_eAyG5xM(S$vc7*UALmgCQcx6LG06HHQn`_AWC>mB7XB`3BhZtOpCi-c4$C z^8ki#&QUtbc+ytytW)&(!7*)CcV4>Ey8a#XG4V{ZdQ<@{3i%h2^7d0~Mu)^J>Q5=M`OmX}Xg#vadlhl2=qdTzD&P<%^0> z7kZFV(|&30FQX(XrNX1=XOu5}*x#`)wBapUPI|vzTK~5eK)Zj-=V+$A)iylK1M)`f ziQh)U{o*?{j;@MZ>nQFq=tg=;YQH@R4kTjg4ffDJs%>G3UCa=#-kupD%&hZYjP(y4 z7NLF>1WbOnR}`M)XCj#QtgK{TqG|j%0lFBu!Rt^UlsF^UnR!>S7<_#ZO1=4e-_&+L z{4W@l;ieU14H+)OH{?J(8e(OTTRc1jB<$hG>zvcI-V`5LF>vpcWfH-zC)p470<2eY zBO#x_5%Xj%n(;UN6}0=E^A{#dHJy3;X==N(8DA;K+j`Y;X7%kTPw%t_y9m@W`dd@7 zd6oPb=dgGLj4WosF8HPv6_G#<9LAS0JJDTamfdzy)M5DAPHeNy$1^62~p@v0JjenxU#vz=3D*mR!?y|9ZEB+u~ zpOlUL&8mzzW>wn$Csrk%;=g89cK+C&oq$Dh6l)g@REFcl#%C5I9=PKEhw_Q+q?epuVQP(L{@v7V^SSL&=}Z7-JX|> z&>F5HICCq>wq$~LRQfoE`XEU6uvdMN7^7R{^=Tw87koce%SS`i5ZZ8TdcEouZj8P) z=M!C6$BEnqn6`GT6&-^PS;u~Kcnq<5FD8qLOnfaOlHvi7Rde_x&{rsNS-=BL`22n# z0X~WLBF4rRk)UIT+PbW1rC>{NtXc8RU&xc-?yO8K-(MBl!Bl-kE?w2{0SJ(q8&&x9 zg7aRcvKe;4+6=jzOJ&p&oZ`eTQG_l*BRr}Qc#w_vi1H8&#G z#o!dvNo3w?7nEGNH^F%P71XPauYS)MoaTt?9o$`RdT%a_Cl*tPuXvp(G_E~S@Z_7P zNErKL^-2f2G|?e$?p^wV?j5(#d~aGse7^MDUQL;k$?CP^1ipB)C+1|85(A-O#{Pmu zH%r+AV$~wPC5=IdqHNdK4jR~zzC7P{OSu`^1210I%mEjlJ*Lru5TAVtkdWA&!6B#l z{WH&hL^JA%`x;*QSn2zi_~NBxpczZ6y}&^0!sPU9=CRP^cadF9Ff35##d;Wmz_m@B zqX#|9*&9q6R3XONKtWk8jBuICcnu8nMvE3p>*-$E{}Q#}x+Ri+t8FLmmE@7iO5L^p zkGb~@Yie89zio(8MXFMQpnxC(f>I?EB}(t0l!$wI`W@qufm%rP^@GoEq(?t8{fq{R2e(n1TFCMM?; z>-q8py)`)QJS<-Fp0+@H0bthn%5VYlAT5>b@fLnmz!w?gopJ+oaCfA9O^|Uj$d+!+ zZ?p46**ChSQ8uk*YT#^)hL*6c9tV`O6wM=)4DwO|=}6AHbS?gckq`>QcCSC(<$; zbPvWih*ZI#bLvqHL=kV@Y-rDHbOC=fkeUG}DZamwr8}Wh$c51MXz5)(R4EB&6Z&z{0Kc-j{9?DvdAOMx_ z*cPBg>f_%$3>(5qo01z#X{HA~k0aLr8o3En2- zo$Z6vRTYr1B&Lk<|B}JH@*gmm`)B`S{ zd1>Eno%3$=@%F9odeC1m)z+(UWvoCQ5j?Oi9_!3Jb@si0j+F?AzbDj2|J$(DaMcud z|7F~iBbNPeMr9a^B7f()v^F;O+Cj2PdLh6;!-lD94`DDm^Fwbfa}Trwi9^{C_{*j` z2peMDy)tk{3d$J{pqvu`%1J&+^lJ9>ec*Zj@uIf}NBI}Rs2Cyw8^VYB+Yj#qDGJ-K zfj8MkJTv@^GoZU@MDkdM&MTL}J~!HZ8Dd5Szd(RPDk4yhPCxCMLOQ1rTZ&$qnYVnM zQM!Ntn5PH`lDiG_XaxY->@^cpXcY@-cX;iMBRc} zdVf0(VjCZ=+SyiPM0NvBF<=x^|_)z@W(aa;MUjJ@5jF5DRrWgpZFr+ z%bi;SbCCSmjCzIm(R(!1WwNr%lS$@?-;MlPTHeDx*}Yf{a{im0_x%O3z{Q#Vd1y&Jx=UB2`bZE+UR1XJJ;G<(i1V|ypjsIQ!iM=bt_*jlX?9W0oLGt} z%Sg?WOV1eO7#UdtjsYt62Mb8~&-{|*ip84}O3oV|jpIO4!9 zg{&ePwdh?aREjK*UHRzle-$8^onbK99RZjeXrQp;&cdJc2AHs}vAr4V^L**p>=v+* zFSOe|e+O_`_?{SPlbH$79Lt8jVVxCOf^O`=|4wK!V3C8c+rA{;Q5TvDm!8Q6i`TB~ zp+FNHjTHe}Le*6d_5oXg;T@Nm=KDTjql`=1JRi2j>bG^;#^J9w7W>0SRkXntxaRD2 z*I9s0#3SV3t%vbgvjB*E6tfSB#tQ=IxB+!F1^1kx;GU2P;toKvwE;@7=!GdqB7ZyM ziv*5!5G}kB+rNgkMt9>x^ogMXnlsSmUFLMyJX8_N-rSv%Xf`v&&3V+zqlKt@y7rsk zB47{3;_jmeuIS#j9PW0+2LqTZ1t@7LV8Eue9rYm6pe5HJkBE0#tUh;7$<0FsM7zl| zV~7`Q1r#(!c@U~XZjqNO6x~S?93PaUA0IvAoUEq>UEE@vFMlKMK?uVYDMVxAt4PoH z^^-t6=WjehJ@ z>wGBy|D8NKC@nAuS6-;nBX&A7DT8%nwbi+7>ut;k}dFH%hf9Zq&tL{VHcrF^b#M{mq~n=6$~jYWRdm zP5=6W@u#d0V=z4iOQU}WpaJg>Q6Q7*!rImO5ZRG?4zEi(a!-{|U;l4VoTvVc;ym*= ziZea2c4K}^lxOPDH4ln)Vi$SD$W_s|8&f!*W=I4yzK|Di0NOm9;crU5O5|?~+XDzk zN*$=t1lGrko)MIUHxqZ6jmVM^>U^lL*x0H}`7ylAcG7*Y5iA&HoCvqYdi9fwzQE6> z5t&buw0Fe@VJU3|9l)mS^Ntt-!b;Tmf||>-{TRSkaPxF60F>24cd?~MyT27`Us)|9 zs{Ex-KM4IppZ>5@FkxQ=C=?Y8*1_D)83QisIwi1+L*_<9TfnNdj6@i7?au6ql8U&` z=E?F;TzB>1x_ymwoA^4gji6-#@5u%O3)bI$4nTv}WDiuE8QJ{q6!0}1ugu=Bdd+UK zxct2zUBjvfngQk4nLOzO6uL3FqGK8SwS~P8&l&obz&!E9_~GsX6#;;NU1wk24Pn5G z^Xc(<+S^XY7d)jaBzy<3Zylg~5F>pS((%=xc9T*~O08P><*CDr?<_WfLLMpn_)9G$?Ue*Yg-qbe!>c z<}S2nNX1#B052?nIITRz8!e+#&a8Q7k5a?5&!=*CLOP4)3jv_a`Hx8*!~_%d8yORG zeKRCdMt(`i9Rpt@Jt9R+=qZ2vW}kpcu%*R5EVA;C`SIGG|d4@fm zhb3^n`Y9_CE3R7vZ?Xuz4cEuU>?7KCnaf}^E#k1bOAx#WMe2Uody14YSJP1tQ81QC!VTfkjsk!RV5F==m+%hGQ2zl6yiq|bd}Bol7%HJC6a?TU!-Zb24u zb(t5Zu>EF^Z~Hh;oZZawnLC1;KbL{+h%+SQaGM}};B5XfyBqY7(8P`xQ@64qq&rEF%PZ5jLq5)d%6v9PjQMVFOBFL|1S_w1R~LA=`RHIJp}t}udwb8X zE0U)sypa$H1yc>VeIq{J3tXU@G;umiGD0x}0{~2E%{O3y-c1#Lz>6#uj34%INK3*Y zn?lNiDB$1o%e?FGl!G6vsHD?eU_i3Cqmc-AX@{>bZz)yJjt7*k!3&zZow0iTNJEmX zk3L1U*z04t9HMqy5naS@;w-1KsOL2T7|gALe}gp#nZGA45{(^%dX?TAfmw2f zP)9GhBvLRt{`PQy8G`HX$Mk?7GDH?EE5s~C3i2iC@SP*4!Up#>R&hapFm|m(f%=)f zzuPkag0S|tZ3K~3geagT1~(RLj!Ix6=0-Yu>%uLcpbSRxkinKH_xdZJX0y6Ma!W4U zl`Bu(@4PU(DgNpKx%Q@a5z+MayRY`#JSf=HOO@4LaiWO)*VJzm8Or1s%DOISN8@-} zV&`CY-0XxaeTe5fILFShb)Wx|D>wW!HsyrvTKP1#{wBZEM3ct5D?T)pt~ePkqFu}v z1_kT5b0P|`x%a{1`L^_CJQ$^8fCTS*chssu+KFkOfy3NEw^M}$9RC?7`igH_)&YXq ze9mLULo+IMLvQDqT2LbTM=edz$pFPg+bc=3G__oZu%4Y*N;e7`o_X-)-dWPm@(cEs zk-RuKWFFu0{beUcilr8h>!gqbipR`Jc$F;mebg zw(BUqxwtE`-V>`X;9woO>+@Eb@O5SSYc?p*A6`M-*6p(yfVYXkO7_m&{-GVCJ;ek? zrqoenF9-9Q9=mJ!xG+* z(uc&xOGW z_W{v6uXUFKaO_O;Jwjw@OWI8fZlAV8vAMjzQY2miGd}gARYwI5OIL)yM(0|SFw9Pk z@vcP1SdePV`Pt~SAm+@&hvn_-Q`lL|zp|w?6t=Yezr&U)mtB&%bs`sP1Nbx~Yuy>H zlwz^{lP%p%UfoRol~Gs;@g7Gd!*Eb!z-w%go)OyP}_*-%ohfKuGk21H56?uPa8To zwF7IrU{c!Uu8yfkBsB=y6;>nxmv4m@?F?RMgm)RWz83_hw2Y@1LvC)BGOZ494u;)> zq_vJ~cEpEJSX13=0)2qTVkLU(5m^_@?%a_3hWI&+WHPx%tuyRR3mC)+l~@P6nAaSe zx+d69);e$BxI*JCiZaB<{|Sv{{Rxek90L#j#>S+`ka}8HaKVDk@L~T2u<#oADKxt$ zjP#-XG+RV2_QOWjX`s(f<0O5*(q~Q%(19wfj}~6zFe^X2(*y<(`ZdNIi)mNtPowVq z>PIw-Q9NuCwm;nd-U*A^&7lCvA#2O7n?IPAx1F@(xOwt>VL+Z-7B^$TeHrEqPoH)% zglm*;y7Zb|3Rue147IoRR;VUL;g1Jm=qNPR&0VR`7glnvc){o0mTOP3_x(z@jT{C# zi}qv=^*}D055S=}g>+X!M8Qrqyh`$R{qJ3- zmutu6tyz6@xF{Z4SK*XLBA8%+rj-*kA968EM;gT-@vOxLcv0 zPPb(YV;GId21s%?rU0OfF^tjhuhvFvRUU)Lj~g$HGqep_-phl==|u%Uw?74a?*0_C zg$Y%#MES;TR32Ud%$hA9#c^Q(o6Rc7ly_JEy>w_ z1)~r?E2h=e6UC68Vu1Fl&MJjIQB^rDsTyew>N*$VlsfMdSGP0*aY`-6MLJ*DjD<`$ zadGEW%hIya#+mfIz2_Ct?~e6Pw}vUqX(gO%dMnnfkeX*-T}*8>SqqzTF?r0%3Qi<; z(_Nort9~`kzOLN93iTY&8gWnce~iB^>zz)i+H**0K+O(5-{6!o@E#;F{HQCjI|Qe> z9IhTNe=xcjVNPq(#@BqwrRvUDcH!6lQEAVDVx$P&759(X;Rv#N9nwrCU}gv z0QEb5Nic`x^#SY|6`Kwp(X|N`PUMCsT-!Uq$J1nOL9)KWPN*hQY% zzqNLq12*$Fr>qwr)1%xKC0i=Ntul8XJQ{K%rQEKy6NT6MI^;EgW@;!%Q8b=H0q(eu#~-Z zCj|6GX0iQKX0r4814Z{jm5@_h*7bTSO*6m&Oy1KZcy7%Xy1zIjDslr%-ll;Kugqhh z9dYah`4^uWX#bl}mF)zv;8vaS_icyQWG9WKcMx4>^)pSO@Lxw@mk(R#G)+c2rbyZo z#l-pftV?rG7PrPD7~J+LWex>rMF2SKTo!ypg6$*8LBac#C}SDW4ZEEPpNl6&HXE3~ z1YCT>uuuHvE;`0v1XmC%5kB)b z9&mUtjQ2|BRsYQvreMNLct@~5%=IEs%zobS;+hG-L+6`7MkuyaKbC4-Hz4;G=k0#F zuKaR``A^x^ZZNPU?o)pyr%G_qpj`j#t&8EHgCx3OsLUTV|C%v8s1{^qy$!UjoUMC0 z^^OkTLSIr?m73RCWN%=hv?zdmsR!{|Avo*64e0+P!L#v1N+!Zd;*QSShliv299b_o zfTC{k=aqEKP_n~~^!Z!kurV_Y2s=0S0p%5!9 zmP;&cR5bTiU3ksF$cN}RG9j9ltK$>B^~1ldCGFK#gmla^AFGXOigC`d)mxtJ(~ZI! z0!!yTCb1W7L(WzWxeaeG8RI0&&X4yk;5=UDmaSM1vagF+aPPnV8?ZVy4AgYSzH@b$ zU;$y+lUMJ@gI?HETe?v*t!tDg>h`d=KZVg5&>I0%9qeDJx;i%XBGIS!_cv_zd?rj2J@>cn7|Kd z&!<8CYwp}L5CpLwa7W7}_k6oqNEX^#SSu@TQws_HUOZZkuAK}kzweW92$=5OYdX&D zF<(0J9!>*nG*>F6cPnrzC2^=Z5;io4Y!(skvcm2z&d8+->@LRC0c!{9a`(qXLwuMV zxrxHYZGeCu20oa=#u-7V0XEJXfQBek>&$PeHG~FV@fXz!2B_B45@0z7>Sv@V2OG{t zTHsQ!p)X~NY_ds9ajP=IK{MC^PmhAET|}0_FaSd|0R%1kChpr6uii=+i#mBazjihZ zi;lmF--$Wp60&ip37&;xGOPH#@f;{*$5;ad>o1Q^z_4wv7ch8O1-m<)fmS2T1NwSB zX&17duOSZ=HAdjt^2hXnwKQ&iIk^&ccThHP@2@8>v%U91E4<Eo621#eamXs{R+q z>WBXWWR>&3Mpo&JvZfsQ5O^QlsaVO%AZXP%J>YJF{TD18T&_#QsHpd`WO6Z-4u%U9 zojB(AE|?-0T`9qrzDP&vY&!}hSv4yRUvMb4@$WL1g`adH674(%e%9z_VC28^V7y7H z-^x`A9wQEWXX*d4PXZzXUI38+PtC;=<>|*`yGE)A)Ri79ry78i177L5Z<-q!??j;&auxq7P3(@QNjz9|fs6AO0q3;b2i-b`#O~V4SFecR z8M#e?k}_j499?+% zzElMC1pj|n#cSlR-QyGr?{XN&wf(G-%%U!FRwwU zC`L|DX&@r8V@#nIT#cX9bcIL0{~mF4QL5HV+Dbk1)i$*sm>-xg9}(&9tRbF)muZ@T zzJ37dwF?GXNuusRT(F6`9Sqo%jy|uc)TF7ijCkpEL81toCF>t3Vk!YZ_8f{EgY{xx zTOmkQ^pfLYBh}$yVPZ5D)Z7c6EuJ7(I`!rm&2kQ?9oR@Q>j=B8 zhv^F)G<{=R0bIdTO!gtuElC>`{#<_Ni2j6+$w=dDd#r?Ljv2P`7T~*K&HCe*a0J60 zF;0W0K79VfHrv>-GKoB*RmAHzWsV0vPP6brAu%`*0kMs`d))fVRXuTed7h-4A*Bg9 z%b;_@v2ibuT_ihbwdz_Z?I@q0aPy7i{?5+_mb)5h=W_-yc!`E5zm};~vimgq>%i3- zcAVIN%H{I3rys8Be$jH7{JblOP$3Vik1q0K($6d0D}(hs0`OWuG@8@O{qC3~#i)}X z%tA51lPqvs?&7*wqNvMz=01!JCh5pbmK;``2RG{-q4|W`wGqW3rvuHI4kp<7}licz9 z(T7X}wuukPezLF= z$YsZ*al)PuLpCx1>j>-zbp!#BFNok6$C=g-@WcHN)GEBVJ_M(|u%3lS$~=jINiZpH z4L5xZS9cleeyAv=owsHumjs^u@T;u)&AG<@=3JXHcpr)!6Wm-~Z)ETtOK~Xv|xp-vefyR9+di@=jy)VM`5%LuGk{ zhpBYsJ-gn~RZh);D+;Lbb{Y!jTKVeVI9G@NJI>YQADpZ5ADkueGvEdBDjTO7 zO_AT#i=Cm426%4J_5?}1Qd|*#tjoGb^DCKB2fca-BK(={_&7#b~j^(W5FIqkzS`6r%a&f-C(p{ef@X`(M( zF4Yy*P=E8jG`aMQ?cGzC{XSmQC{KO4YEr6;tGIhHbv?S}eL#C{K{vdsy7PMXv#pZO zxP!0VyR}PL|H*@{8cDmZxUB@)XPXnxmS&H~ZZ)BfLL(GP`roHE@<;PD`_%EGQDnz5S%`op^#W$6RrafZ3dkg8$`R6Fx{;Yp$RVzB6cCNvSxA+Rb{m40?_kWe z$!TO)lI7md%q7MVcsX*GZx#dt4q|#c2ouin-tQhdEJ+7vtbucg8G9L+pf^w{e9(sP z(wT2e}8=B|e&44k2?;pxe)YiR+F1scal1-DD>| z0%?EPm2OFg(p~W(UJ>oNAX$JMtt1y-hx-ZpaIs4oB?r}VQ$G=WV|H$fg?8#$WBEvBfWb8~ zkVZiptYIPQV%V$u>WRmv$zpsbfY?e+EIg@Y#%xZ|k*|=$?^|S~btj_4S-z%L6DFt? zZQkyk40U#O6-mzr5&3c(D^T)=vdt1(}T z02lch{^gBG(>2MIW*_pk3;0H=u=-bE_H%eGLp;clvmrXnggh9IQI^oQto)js#|FOi zp<>yVZ$#C<_Ku&QAeWBWun(y`_%nQeo1oRe16B<=aN)2)d5(%b4=fI)fVt5djI#-= z2XOT4R=SzMZf1^PG?CpYXllpc&>F@1E$4;*D3w?9SS`#*6Nxko$czB&!@Zgx@!vNJ zS?PU6`m|H73|Rql5}XHS?8ty!fjWMa{5d&>s}#11pg(c#1+g$N=q~rj!Hpr1rnks> z42bnCiOYv@7$jeSMC0PZ@rsbN7wm3E@}RmX~|o{mwb%7e&ba19dmDz_QkP|Fs5x#piMED zlvZ~Zh`K$(|NYcq;1N6$mfWTAJNlC&a6pweZWB5RPg&E+pmA5Ke7YcV#4EI0nMKTu z>FGkJ7)ozH`%rteI-7aL{wY21A`iF&A<%P22hU%R*@pqA=9)Y`b#jdP@BWB9ea_T! z>eR*l@bleM=akbb>E9}?pSt*g7;5qOYAcXc3S9p#^2`IWB>%oZ#qX3QpbxZtxtDIz?b?JtqNSk3S6WXzO-f7 zd;a4GrotelYoj1}(b@aI<3;u9k7B?EUz$xV|GY!rLBHRoiorGcIJatkAn;m!Oo18& z`6t-T6QEB`CAR!zd&}af5D8XAcXgB&o#IM+V^^n1)r=-gvp>0-dp2e5+K? zbVmUHVY^9E^^Z3R{H*kx*!_9=B-@L>KBw=W?^^Ybcl{qnpq_nsgj(+6Df>s1OxRyT z`9JyNenO@vFyg{6CD`_VeDP_O=f}Cvo{%cB`d=is9+f-BwXD?q&hhuC{g3_xp1ANm zkm2;PPow{fkNx%t_fZD-Wb2me|C@`IUYwa$3ORAK)9HUaRFn%MfYIuam_Pr&xtLe^ zlueaVNEi)Epqyxx3i{e`eK3~h`{+^vHIgyl9PE?A4dr)|oPR#m|4HEPe|V$CZ}S>Z z$(ie6Z`h-oLf-ABRx5i4OcdPgh?P=UK93YXc7v$}nBXT23r^3snVeyRNm7wW8-nqJ z&n*7y$L91=OB7#S^N+Vm>ipm5!0F!*!FInAko)=GWgp|NBDnCF`+8g&9Th}y2h+nv zgSk148xk&Wy{7Iiu~65Y&)IQJKNazPs@y|l1|d7uvPXZQKqLEXDRM>DpsB8iKg8xd znYEIjE@W0#{*33-;oOqTgYmKGlo-j5ubr6qX&2@@@dPu5cska{12MDQlNHpKRlDjk z)o_HCTiTF^WfyJAkL%L)ml`!xhMeqV7jzO8j)Gw_ZL$^7g`vn$P1vqM#;ENB)+`KUB<+G+AR;?#Q+8-VbOidU0&KjN5`e{fsp3yO;i!rB6W#9K* zrmLF_Y_G8Q$vs0Hua&<{>nWVhIr0tOgLqW<4V!YgtX;8a#dGM|s{7nRmic`1BEGT- za&E`U3&@D=Pvp-Tif+Tv;Mb^;Wa@kuw!=G^6-MWgna0<2`io2}+UMv=EIuggi#OJN8o z4Sbx)ep;ie1o3B&oeCLEw^ ztC(POg8bnc$yq6B6uZXpC`TzIQiD;oyrk>Z_Z5Tf$7%5o8jxWgSIk$`EGD0?h9f@= zvul!%GoOkB#oH#k`Kvm2x_F4Rf zblsG|yBk<9WYvJ1uwIju=&D?x*%2m4B_N`)hmYc6(s#bFuAM3b&$S7 zgJo>;9d!iHgv(K;{Q47tdmQBJpGpI%7U{UGaFO3bwvB!eateIaqtC5`^Z>Kz2yQT1xUuaTY95J2U#)~0eP^tkax zG10cYyQJ}sLl6N9@-Yysk5U%fnc#TY5yy;b1_z_2FyO(ZZpr)8aN+3n0?|^!5Y%j= z<<$PgAQBdUrHfEEa6es0H^v^MMcDM9Ovjb?K|uCtTioPAYA4w)@!8cqmV;%V+uNd~ zCXdH7v>9*?<164MxT)1GwbFg+&-;D^{loE1)E(2OmNq9e*O9AWlg_{+>!Y=&hr)pE z<(@AaW@BPe_yxNq$^8P$*WzkB9?OX`Ea;F_b78vy&#%y~yK+-RYr666G+ZC}!da5? zaP9`6FcDuwFc)u_kx0jVhYFJCrsJOUSRI+@&8z8%$7B7rCpC0h_tu`3X9SQ`IKHqg zbe&EOUla=WLra)$FHkE>om=_w2(PtW5t^<=^7!Nx`0W$wlpQjjd+16Mb;0$T&WtRk zHDRL_HhcL;atQ&Jp50GZSeG9#gLUfC%=hBqEa~yO`4Cawll){)rspWH(eVJGxv5tX_|7RcPN#uL zp1I*y=9V76INBIZn0Z6+JW#(L<5*9IaZJ3s?r7X1{9H%c`P3Y;e#(U$ zB1bM}NK)pFUf(*G?Qj{jA0rUZl&XD_xckR%)BgDs!MU_fjk`4&UQ`~m3WQr)M@!bU z-;O75`QmP8P30q4j(f4KkzEI0^I;`O{HIwc>@1N7#X>5_i=F+Lz<%y1Gd>e1rr#NF zd^IT2`TX~MEpp|X+q8zdC!paztQibz`Pzy6(UaLNnYYxo0d{uks7g)460uKhj5!x=Y{ zhDNBUo%+c^ueln8(t;dgtK+$wJ$00kVmy}Q4a7%8gzeP($UgPecDkj<|6Y1k?nDk4 zmv^N^+et!k>4RILS99DQm5G^o1QHc)8ge(onJ^n&=R!ia#ak|Dah2`8zjVLG5D(-% z3qbjHi9*moCX^7gN-4&fqo)NC(JY!S{#X8WviH2IR9 zOO#niFg$nwJ1h{9ZD}Gr3N%B>V=!dJ6vCPl!}0byOU8N@&@LIkv~sAIWpd&!zlS!AHt_L zvZMR`^>{+U?M8Xd*FT@;wmS+&@B|(W&#h}>)p)U*+(&J+*l_pv7|&D2IOU5H5bH?T zIYJ6;yGcHgrW9QZnTKN9b9_FYhB&VIl0idMKk^v@Ns>cNKTuC{V{Cms`^+!QFwpnS zl`(}e$PDwf9`!(=6fZ4Q-TYdQH2n&S#qayxn1{^lG zBu(ytZLgWjJT4}qmt*KyYBMmZ=+Aw*zGnmWD9dAT+Uf`w+Ewt<{?%S$q9vivnh+Lz zG84Y#{Ig*YHLIqx$Vl>u7ZLjifV0*!kx90{XHciV&!G9HYspAkLVWE6KJcjIaJz)e)0LU;R6bYT!j+k_cz2=kWxdfMrlmfPRg$k9 zZ#b_BtEL|?yUZst5dg1&ia_|Ir2=aXM?&Bm>r-AGJJ5H>olH^216!oV^LjHGrC#ay zC5>d=Y#>9d=cv6Ou~AQ?b~jtwb!s=j_Uk$3kcMVrzoK>TLA=qsiWXbf^=)N)18i#6 z{wc`mC-BeFSJ<~A7!K*b$mw{!Iu-*x&CV)x41(DT(t?Wx!9S8umVjZLuJQvtQw={~ zDc3%9FdKl&7Bl8qToWsOt)y4$& zOa18uaP(5a7aHmV0_|>Nrs^Y@_%%b#VcB4K8FjpB@TYxqkJ;djHRC!6G3lVgfSvPz z;}Tf9&}GT^(EpBfC22EcCWq4{q&~f^F6HJot2HpZZci`3YV8y2n~UpuC*+iZ&pQu3F3r)q(ZvcAK==X0H1wi+q3y_t7koc59Cd7e-fp~KsGGEJJC zgl7vPyp&ARV2zJKVKi(^$opN#{K}nQY2|*TK(w2jX6m;L2tq^z@e4fT^L&}n^u+En zb-yxSwE3k^&nBvHI!})C4kvSsgwOp-*r*h>Nd~}3$itLAG zsv4th)2X7T!xsq?ZJ&8WZExaGKpK&9XY+WgMi>fD2UP3E-2!U`;Uv{S&3%ZK^+U4r zTR4?~8q%a{S6Ozmeo>@jg%*Uz5hlo_rh*f4!Qfi-wmAa(~YmPL`c(d3e@ZC9LdX0SfYnO{x zUldHPiY@lRjr6+HvWW*~WDjDTLNfn^?tzt%MfypWn&M+ziiPauUsy>&v8ZjyCo{0} zb)8CFnngw3R4F;iDPuP#0$xpu4@Wz;!{W-JGa-;Rf=0S@8Oo4gNyNCc7#!-Ksz{^n z3b*Iq4sq!ZcZk6ZMO5>W^su?Unt<}k^R}BJ{Vri5D#?3ls;iV zx8csK$j6Xs2+)6HM=Zf_T!=g#(T`CB1kfrxRcv4_Z0f@B zC91|p3`aT8>j8!SL+-=dlxS08f3SoF{JR`r)R5QANTx)ak`r_Oh&IiZBfnZhl^P$N zn5qR0z>0$u5=UyNI^uRB+TKIT_!~&@3gu?Au#*cjt)29rls{Oyw60ZR&Q+6E z5S>I01Au%LzDeM&m+TWpqTtmVZ`1wr(A0bp7an?CW?JrXn7tz8X2HrN#`1hAcRr*6 ze{jnw>UGqMS7HqBZEFL(#Qm==-;UeFE`W5E6b^6lvArGt87uaXJJzA9C!|TUdgHik zqab57?C@)#gfr-+HH3l6R(gZTW>|xYtH#WQq)j&{I=|Q%yt`Fk{GGD#ncj0)K5%6< zCF511FCj7rLBdRe85(cPcB@PJrp064I48XGFG*>QTx=+FkiAEa-4W!#dweTXYEAyKnxAza9!fP+AZe&VTF@$gPZNSD<=A1(Pmf zU|whouU?H*5z^;C1>~k(uR_nyvjpN;o>sj}hgiT|%vuz~lODL;!%XU# z%!M<7CT3QR)muSrBe8HH9H8g-ARdg9Y}Ck*8J##VaSt9%kbyKhf(MnZMNhpV-ae;^ zI%J+cr0r2&C zN)Bq$D%pw~$bbUlk<~DpVi-bB1IW%LIzab3aF^PiEg5hx6q;Thil&y%U68$%H3waC z0kTksK!rdSYVLD%1E5Ef1auZ;?LmMac!+Ge0-(Tx-Xlz^$i_l)#m8XEnq}6^vw$y?pAMSXC>6ajRMYZ^$w6mePK>*;7QLW zeMO+rvBwhm_E+ZV+&q(L&&*Ir(ou9PO(=gYQQFAgjurmc?v!~Jd}i^*&i&7D0a}m4 z8#bADOQs35{hn`4OT2lUEX%mMm}srjUGlE-6Cwp+;~vZX9xq1b#`B%0Na~gi(j>nL zGesegj<|mA+{-xLq=(-#qT7=Xh^#?vx`)(87qvCV5FVeYNv1B-dzY8>wmxOKsOlbu zZPeW=Y@KWA!Y;I#+^MAp=_DUNi|L`|9&))unaz`S<%zSX~}r9CR<+ z+aWUe`nKLbyu@9LeG_x$n*_`Ir8PL2J^~~=J8w1HL;5M6(|KHZxR4C>Ckuvj2U?6b znpNgbbD=F}>P@1a@%UQ5YiwDXQ06c_M}^|GqSFCRO3VUeNQS_^n38yEmtXz#&%{%i z<)U#bJQz-W_im$(th%W~H4zbLy7Z`fv*m-viN{$X0f*Bvdj|*gvf}v${mJcBX>ZPD z>Lk9r9<~@doqXK&9+s0AvZdnRSv z2wyx}fe9nlr{WNq+ol?VmVD{lD!Md#P<8VX3K~(IjqK#So+oKZq$K6R2|Q$zDPL&? z{G#CVDXJe+y+L@ZjUB3YM(eB3<@r~Xbs~>(i)ZbX#=7)s&t9eRpl;x*;P8d+{=`TSo$i#9mAlYq+t0TK@ODBMdJm3gIDr&Y2InvC6b)Eq0 z9i|a*2Oe$&CoEoPr1J6Q>3oL9cH{To{2qR7z-;BSYterO?e+rx}Ie{CnHe?zmWt=i_IX+*+1;K?Mx;29G4M1y^gb_vt)jI%m~L5 z2_F^9UA!m2^(B0*vE7L7t*O5*Y&c`eE7y8ftlWv=!94Xh}BT}YVA_cwPh2!U)@cHwYYY>cHvYji>T zKyt$o6UAs$L`av&5Qe`-lu)zfIO7~e>1E4*-b zO*={WS1hXfNe?M(Q>?3DA|_??wN9ptGYg~aaV_5n&mAb?LBxklZ~gIt)jFWu(DjJz zG1vgHf};{sQ8^pldkv(}V0{SKeLQ&Q^$~eNMzYhfNp$O4Q4t)S7d3s2z*&7u$N)Js*jB`;C5|w*e)*2dNK@ z7>3g}hAwUWm;&oJROQ~Chn zJqP8Bj9o@*yNG-l@_%>_mD&Xsl58ZG^gg12W57PdJ72zj%9}FSh$#lUbo^xcjyEGP z%U_gvrk3Y8jgxs}M-U;s4s4|WwS^8~!ZwH%mO+I4aYC!Jk2To`DQ5OIzf%uWqPC*| zwN?2Md_BsGbI(Mo!9ad$P(gpS#&kMjNxoF{mH&Kdqg>WrHOzAn8$WeWpe{IjQ=b3; zwboJ5_29{JH4)J7ZKP(75;Zy?S!o!tNIW>uIKm#Uc14aiTotu7e4=lzN&IY&0OQy| z(7^B`XS(U2#vYuDUuC-W`s3@4TW!OMpL8L#YpW91op}-WJ*9Xjd%SuLuxmS?N}-t* zk&4oO45M3oG+l$nocqoCA=zo(w-?6EuZ1P5C6G|LK1<1jj}73{ue;yNz;UXHwa^0h z{M>6|@M7`TJmaZ2`0|UNffHETZ#!${zN0gU71J@Kx~=O|Rl%DRhgrR!!~02|bG4pj z$T!HRQM#|Z@n9Ca55Z@D>N%4)z49?L4Q;*ch`V%!B;BL|%-X)*M#$-!_frETeRTi0 z3xA?Lp8ZM6-sZ=j32s4*dOxH!EvkYx%6!rurJ{iOb`>!-2W>?tyJpF!$Yo8vR-<(n z3NX-OuK_rw3Wzz@7q7L9&N$;ULF~{_Rz9D@EgGWbxmUPoyl}(9$uK1w;V4G11PgYX z*#c%i{89`#x83C-km$RHX`TmqGEk~(Z}0n#^pk~+7srm&O1*${co(!g@^4g-Rmy-Z z1t3!0H`!8UCibs5r_bF(=^w^*fy-?$xjYzf_X)Y!3HbN`h?%T6%*pI~34W~uDLk#h z?WWZ)QVDe_F_B9`>y*KPxp<#i410O_>;`!CFdJsjY>Gpyq70UFglkse{phqgyIJsR z)x&GR^gN(MJ-Czt;bKn_+g`qws}!Ou=fM-6G~C^FLhfP%F?X^e^o{`%B&gEl?QPSd z6w>Cw^OUV<@Ou;gdGb!hU>VGSgWi=H;;>AxD5ke`(clMH_Zm6-`S#%RZ=~=`s#QB9 zYm~_97ASMjT|D3&@cxDy%anO#cL^NWmUgYc3#31Jblhi% zpN(py9`LoSEFC*K7v25Q`(yJ1zI1pe4smdWIe*izQgOSPzBu4G?6A4SnZy5LIXnGp zmq{w|gzn>4Z(*Y%%zjd#UL1H7*)QeBj&Z+zPWfFAp}EKI}8q{jeoxU!+s zSURk7xl2Av#9mrW41E5(kDU3q(_~iMvKSBnhnqV%gcCDGi;?2R!?}n(rQkb(3@%qE zw(cT&Yaf%oS0Gh<5*$$H0_+1)mdbeGlQUbF0GT78SXl{&3MI9AY6Am6@Hh#tqLk!> zz_W&UjWROu=(LedJaxFy8*x2o)dihF=qkZajojZ13z>~}TFQPx29|ugz2**>{=)En z>kpDX)_S|Tn6VRA!+Zv5?lF4GLT%gu=qv-@f#Q_0S}=(ez-9K2tLI`xK5}ydqGr)J zVonILTQZPA;9%;;ezOe`LV03xh{kOa!fHgtu6ev-ES_{+GwO~^ZSj~jt!9>B^I_$7L|E~{hq>p z-X-}TqtDDw`GlF%*dYPah(s9%B;6{VqyT+I-AoYgB&ikH{!wz|2$a=^7E|6 zz>U9oPfLFcF5xQxyuj$y6o@!|+z zvsc$lgq|`(o^pRqbA7dypvY+WDqQ5_OVQkGhU9{K3XCUj3-|7bLpqum zVd`cCS0K-R8#NGwS74%61`^m)hZ*1jqSgg2oYAOq`L)i(o!((`geTt-_C=8+>6qLKvr1OQbxb(>fPU5_7)YlO&ceKeXpilUw@&DuQ&BLi|-}diP zh6o8sh9wG76opJnga$Gv8I}woM481}By*^YQO3+7WDLtJWX@dXd7c)_ny&X;?(X~h zeV+Gu-tF0*-#_p6`?FzfYq-wqI*;=>_Rqfa^A@H&@oVu9t2`qj@_?m?Ht9C8=y3;? z)yEf!vY2-u*_$|k5+c!N>dI;3HNp@&kiZ#I&q{2#3=m|YQK=&+QKAkBJysTHa>aq_ zxW`gwa=R``mzds(?%9FI6B#M^C^fWylZ1(z?NC?-yk|u~4{1EBwjvshUPD|k2$e}VNM_o7&ixuiLKKLWWd+D|$#Am~R_i>vQwWR^wW-`2mltWOKqfm&mJ zAp57UK`nd$oJ1cety19p%WzM``|e!Q_6w5ib4QrkzQbz%lrf_s`!kK#@W^YU?f{pB z050hXrJFsRv^wbWNF%d%er~316mJq5El6R_2(Lid+T9PWZ_$-EE-s(XZsRsRN++V@Y@AolIAQj$;h~C5**wAFc*@+}pe9{)- z^kU>98`#W)%!347wJD|DZ-+2G{^qq&Z1iiaT2FQ(mwogIyr6QbTIE@k*(7VHjYs+D z+hQ-Up}JeEpcJ zm>`alFF%y2$UC6wRLWM>j=)Hm_E&$To+P*WQ!-51GZW#OrjU-#A0YCca6As?xn&Ig zR?^i+xT@kZ%1An!+wZPN=Wh}^wk4@TTDG=}z_DjN9RzutkEK7u%K8^Go6r3I4~cS?IV^AHyZYV$BdF}z;H zAORL}QI|j%fE!MC1&}lclhhaVpr+pW;COgbczpM>`UoD^G=CidjoRdvC$%Hzx6PQe zV!*Rf2Lrh46HaMB5Xpwz1ik~P%)jz|-6u2MT&_Y|qPAj?$~4S2`S0G}($sfnKZYX{ z;g44>aj`bclfOkYjz(+wp3DFR-l=`%Y3t?K8z0}M3PjDfv<}RuF)#Sk?qSWYvs4j; zDjMpXSe@!xr&~_;!dO&ox^~sS5Lya&+xGWTlOEN@!phr>OeXmkuG*Y3J$JfB5C0^M zBV~hiwlM*V4z~VcH)ZdGNP!ykjGWzXs9$9v<(Nh83Xi;YR{NBeHQnsXAbqAVeP1OS z7B%5_QU|ZIE8}kw1?S1*?J3jS@mW zqJA7=u>saXS<<%KRbu;DZWD%660|7Jg^95q0p%ZR53Ue*QCYi5o{$CxmDURDfPgcO zTVAVT*(Fj%qlk6?nGzpD)7_BY-64u=1pkRt3gwxnNrKbC=Bkb1p=D&P-!gAxA9y-| z9ML~pqwil^V@okI9o)vrBQb>FJb@7cO#PG)61kl8dDBV>m9^XjGM*r{btoI_zYLvH zlBe(r3P#TsXEcD5sj7~$06cLM7LLxjI6|)PHNCVkry0->@DYPuyzs2>3{>S<+z<35 zPNV-Wy>qQ;x-Xax8S6_DOOAU=W@Y8Xv{?Hx^eh0SWfAG7A^P~zYZkc_S@^wD{!v=z zLj>n0R8qkP;qhxzmaN{rAVNFR;98d$#Ruo=F`KEpuj||-q^u*5ru0R}j-8qmygqJN zRkOx-Ws|FL!RM35E={OPgSpS8UK@ z0k7Yk3Quj6k8$7(3D%BbWk|Au1qY8Tsuuc}Te16t)~#dPsY}LZ%?y;c=TeF9GTNaz zkC+yRs%(dVWAp9BuXBW1Bc@dJN(Z>RrIQCF-6 zhDS0O_u+q?F7@ES6Pg-?b?e=ieo*!27v*h&`{QwC4bg!(BT{K4197?_+$lPxJ2c@$ z=F=TiRddA9nUM?Af66ZwLe<8d65E5u3oVL+#PMf4f~;`@^5^G%YSubzsA6d_9fW*=OSA%cI~ z;VQ{2(`BBt?i+r@*j)3d(02kj;5pA;7-oq$yA8R3A7&fJew3y3Jq8%AUul?c36VDl zFKmWoNd-8zM1d~7yi4{~ZY8!ASN4FNl@q^v6pwJwi88$vuv{hfhs3o7=5E(@`f>R^ zEbDLgy%+hoef#ZQ2Fk`gWc`4BD7?+Gm*lv5dv-b4nZ@OU8UlwGCbtKLN2)7ZMG=%*@ci# zQm+{=^o?3gWodB%cF|=&`#%@yrD>1*N;|!FntyTmg8Am+8JPzRNAfQ7P_)F+Ms+_c zM|;CF6J-(?CUOo!UUT3;C3PNJhTA`T6iQ5vxKN;Q_&ju)Nmpo0!MR_ndeiA1^TSiVj0=I=hMwWpzrA17{K zg`Qy@UdXLRU|;*2qY^o#>huEIl9o_f^Wzr9aGd*{o6`NO=y*td5SE3@-D%k&1qz|_ z`S^EZ+n|6K-1NE?>xBybOBkcl!FS6+H zOo%lM`Pzy|#_#h#?lJct%q9dzpt3@n`zHeB2ww zNqn0vm8rjh?prnWBeJ@h&3Fvd}}<<#!; zy;?tKuO4$&FxFyxNuGn#6@)WCmfkPB>eU-vuwC{xf3UO+q;4BlN?^03A6D;YH>{Hd z110P4Q(!Xt8Vt^&SG6`n=LD6%X=$$3@`31A?+c}Uba+z((FmKIv^(}_5ypPxpI%ut z@#k0AuIMiSC@BN4LNFm5su$~^MoqjHJ^rNo%8Ai@$_=Vp!ve>pd$+HsHznQC=!c%_pG)fA#?NXri`|3xyvbL6|`^l%v zT*>;)Rl|abqsJNaNDjrw_41WK5j2*de8`QzaqF}crwCRjv&WkSP5>`Ga1a1hx2PJZ zx&htr(S+Qm0L`+H%+GxIq!m;uG1P@C0Kw6Psq2xy&e{$VsuJ;f%e@ZH=(%8`w}nZhqigTrsi9G{WrvRMzlrTmcbUOHDr za#w#)yFBJz2}b4z343WiK29*jG`QEN zsI=f=ZAJdcdaYL()#EXl;`|JL5qNZRk&!CX!XZ#vM-Jj;HQ6QdA4~}`d)}zhq5z!( zVV9MeP4h1kxlmmO>)o>nSc#u5C2M}|Z3xlZu1_Bv@jhe1sLHs;__=)Q5 z8%A$7M24SLWda$e>xvgn|aYCh$Szd*RYCqpg`1$EN-gFc=ok1dsWPWU|IN;n#3 zoEI9B)Inm?8r95y$Ti%ElKkw4M(!WJmngM%)nhuO>GFJ}+earg8dcW#9ZtRiZ)ofU zP+pj8BEK?|yEFgx;Lpq;enFX~u;f=xx?b=c<=8qpOkLGl_2=V6b9IE@o}$bjRp95xQWaqufz%+fi@De zjJv{cj$7?4>(eNwcA)d0=%;pg#kH)z42W8`&g;%3)9~((#TFm2mwIQ5(E;khu{WNb zbt|DZRH%EG&V@AD(pg21<235J4mX>Ev*K!A#^hd(sl|Q7THh`ZlC9NJi#G&|z2cNp*rn5W5G_ zSXG#HFd}t0DHDN$3H^Rw8h{HdFMtiC=8st*<+BXM`wNlfOsL&Q>md z(C8bO+uWa|WSjT9+pb5o$!>a^S<0KXxf&})5K8P?fYZtqBmuFc);hJ};!V70=3o?7`WlF^y-PzkrgI!hh(py;?Um8-+>gwgh$p{WR$gs+Y=&{Y#BU1RPZS(w7u;!}aoEjYy^{5OwxqHgIk4`Rt zz$5YW!OUK=s?Y74{4qN8`#h2K(al+n#zvH$hXFLNga`m#jrpw5sg((BmX2&(kWUNChe$|5K?` z8tJMYg5)MBo7VJ35zU*6j>D`e-EG@I0_99$aIk%y{^Wt1xh)0PA4&DHwj8h7miF56 zobPV$3=6p69cf}dF-N6QzNE)SB4Gps_4ZGBES-lx)?5MiK*0vQ%Aw3|dcQ&>rllJ- zxxsizRc?M?=5(DkowuhA*x3MCODr*il#@-GMi>{2*`pYOk_$Dc+vmv5KCgOSW0~x(>BDF6(F=_wY05?h+ zntQ-rcLv!5P+IlP@$7AZXzp2!S@LA4l<(L2d{=YBtEU<-9_K1hcKv`vrpiBJdQM{z z0L+{^G4<^L{7#5UZPR5ZuX^&$Ypx>ol_6W>~7TK4hgK`rs^0} zMrLb1otUT~CG6MT((vg2Ry-d#=^MNVBq5x|z|%2fGfN zk3pv+N0l#fUjl2coUs~l`@5k3#_ITd3-Zz!RVUwgE#$qcf8z$F*7vZYK#?K(`Pp)w z$0O&(wjsRCnGI*1I(Kkue~D8b|P-p zd<+;Qw`-Q62S;@pkK~lxoy$&L^yJ)XM|W~e5MlZ8UkZigohYusY^kSYwr{MC7TYru zE-$KMcYhE1cU04}K3Y;Bvi_ESrJSY_QClya-nR#cd4qDb- z1yx&b!U)_D>px}s94vok!!0HD%{h6JqMNg({fQ)vmnR3u&S{|br@YIjDvUjCbiw zlkIp>KS_5j@qSX7I3l77`(iPsm5{x3+Y+K2ohT!)kcJ$Z@^g3)u64f)OA8RJee(i( zmtZ7;b(@!E&=C^!YO%I@@P8VvryUqAnBkNyYlW2ZmNx^UvDYSzut*!lIFsU20P z4?|=;a~gi;;$gs(g8%6Qqxk|YQZN08{D;nz`%Mboe9!!!}$;R$pI$!ooFV_&st6f>wC-r^)rXL^0p^v|KUYn`zVP0&e|k= zWV#wMT1(Ry4!G2$q4c?Te+WAEV}MH)*LHYr_%|HryYn}LyXTZa=bWt6Ohy(Jc$usv zcWuFVo4)nA+BcQ0(NDoMUEoXoAx(8}@VtNe6V#ZjpC4UkKP*GWYzzB%^Z!t_JpE+M zw%_yhEMSNKdJO@*;xE+qUvwf57gPDp(jCXTrv3AQtlKq#ku4GFe3JR`|NKD4M-x5m zd1o#-U*No6&KOXVwQQ^8PTFNfKJKJB$4Takk2%PSTm1DVw`h+JL24mSP0#-GIX|iX zdDmRJ|05>SFwi$$Wrdbv|A}^}oS2Z=C?}>>Hls_w@hi3;hp1b}dae(*$6t0}fc~fB!Z9M=w4{ z1K``O5{G|0C2{0o(=USqe;9eW}7MqE45L;tCFZ@b2{3*zb;= z%xpDhK6?Fs2P5ko71K*@V2yV0JLTX-17=JduLl1-X8iIukMWr@la(#xYFr`Ti}KN= zq|U_pII_q4rK!Q*Yjl}QO0iT6CQdVl5F=}6mE`q4o`4_ssmY|40Nq&O4=CLs=a~PUn76zRK&wlNhl}T7k*}dI^+B(#$+4n) z*z}FE->A1=W@Pa+S)@MO=8`XHHWEwUHX5j0qW40jZ70joTbki!(R9BuG?WWHOg$U@cb?cDelre zZ*|5e(AB5NLDF9_BfA089WvxA=Oztj*hagCmEL1wp^kX!#H5hg34pI6 z(r$CO1A(FThs88}{ntskmp7NM*t4@-)H=hk`kQh!w{reNay_?zu4e>jHeKLb0MWps zherS4RXeBA5;I#l2UoV*Vr%)~q;Ol^5iV*)_QK@j21Q4MpKW2U#7VmFsQUu$ZJEhNE~^;z(?Y2$wbVpPP?5-wc` zWRT{5STq(HA)p4X&ns#?i%8TzIzHuKl$r6x6c_lYY0I1t$f{y-(-5Wb5Zxl`k6tB( zzB)gztWw)Z$|gDWbJEl%t|pjPyYFIe6j(hP@3hb7b)THoU{ic6-2P&2vdK6B@?9V2 zpnwCxUh(nhvEtsNCO>FM0^ke#NEdGpUiqQx%V18DIy+i3yAB6U09rC#NySA~%hfT` zUR9BVre3e!iBdz$TiK4xi@xf4qP6ycXT&Tmri|WKWfFZf zOsp|H!p0^<^{vd#N2KJ=xz`29_<-=I7ogB4SIJi!rQ)dDmy2LFcKA26@{snm?m#kI zS^nR#l}5MLa6O_vbqq^^b@T?skNxv_hfIh&_&Y9P5jHeH5qg0@p5AVYE>Ex@1y?Qc zZG6m@Af(|`H~g=AGk^;F2d_PjW3!dXB7yYZ``7!v8GYS{@-q>yz%=I86-TQ= z5~F^Y;5*nf{GCG20PM}c`sUq9hi?$?qgIc%OqUBmvx~RC%4SyV^l--Em64r@+y`G3 zD3v$*7c&L7NR`)Sjo zJU1yI#P5ny$)F~c9|ra&G-RcE%&Z@bdmjBYYUp`}g{HUU7@kHqfBQ{UOwSQ6@|A*k zCV~Y@_vgz6ML)#yWzILMuw3KyNXu7B#-(+&i7hvtns$BJ? z&SIol)P$Wd2LnE;dSi`RcSQ|S`|p;(baB>O=f!~hFnyzoCj1F6URus0{a=joS(hVR zWJFp1zeAM!T-?@oJILGLECT~}zx+&?VS}-T+ezP+`SuszC%b;pp*o43j8`J#Gs7R{ z0c9A+&B^sL2xR}-PsJ^{q`xDU_?G}yGM9@zCDEb>eX{_ewNem6a2s>T+MW|)AG1o9^n!iGXRSY*7Q3~-8b>LF()>N>k+H(c(uoDQxxE?z2vZGWRO3}mxYxRQSAS-c zI~k2PnX_wj+r`Nor26Jo0y_IwiZf7(KHJgo`gY+FZe9|J+-6**MtAzB@#A3;$X10( z+b3`qptH;o=ustaj|i!p@D3(MH*M|plfTCon?&WB(GRR0aeHF}az;eqr#lv;iKMcM zEi)T|X!%pziw69EJwa;+{{0CWQo^tVXu1f!dkM22HX;0GE$H354J#CW{$vhce?ijI zuTeM9E)hAf4(Nl-KGrfq0>D4OqIX!g49))l_ZiJEW~Ced16cmXf`_LP8{v;XfeSGW z7oqFP;eEn^>+Kx$BGJ2PQ%>d{_R4whF0eBO#U8-RX?ut&+=`V4GoCFQdOk18dHS+b zHK!k6EH{JEoB5N2r&)Yy#h?-c4r7lX<%F^f8S`>5tj!nG^@MM#jIq~2pI)OluvV@l z>43k7&=(=f>$L$GTV>)JB9Dpn>75t)m8hDdWP>SHMlPSyK?G;XluXjn(LK3w{g{L+ z&!oJ5!B@pk0nq>@5DQYZFu-0(M2m(z1m^S;yQ&XcpKq=$_>6bwY&%;CI_^h1YWeay zT0rtcJ9}bSt9^&d_~|loY%Edkm;LD(;h0ioVk{q?EbLJX{qAHp&N?_Q)F;k=+z&qI zH7#US5C3|Sj6K7~Q$4emIW)IMavUAI(3cTj(iU^nd`eBuA9b+$FTPyY%`)iH6EGR7 zdCKbbbKRp$)}`=S1PJCh0(5KsU4hPi%j?L~`IVclf<`%QVcT0gS2^Xs39okVEjvtdOkfQA@U0 zqm_t7sZ;Ud9!A}Ulo1#%VK?>quFq;qJ=z0lkg!hrsh?g|AFIA%zjaN33LRrt1n_z| z%XeKAiv<7fcr#Yt)NIEiT?Q64Egw4M>ODAzxol|aJ=wHBQ77VOS@@?2VF{KE;gA!2 zkO~+cw|e2dC^itACPphauk6uSV*JJaH)3NpOa9Tks8IFEj2Rcb6whg^SrJ1vn)f}3 zk#FXqSd}SW?9ykFnFvvz6(buz0%}>rU{dQ5>3Vt>SU|7d6NMgO;o8X~FCL9PoP-DM z)4``tty#5`Ugg3^TsR2oc#YP_(x^pj%QAZSG`e&p)&|dtbpP}Nt?Nk^ZLaq_KmlYq zrlZWr#IGO;3KUl2cbuz@!|HdsDOfZ*r{yb@wOx=8AxFt(bVKoQ;u!$_G}^+W*QR@J zA~|;TTTSZ`JyTlwd_T+earMJZ(#>G9FhTZUaapA$_d=UwYqUk5Uiw=(PWj0O(%Ko! zAZ5EYzW9`nxPZ*qX6zl^fTB40RXGU5(9sD@8Wtp3>SyoX1;Q$l08X*G2Fvx_SX z?t~9h*BEuXmAV@};}RAO4UA6%5qVxiGq%YSunZvS=`WH&_19)>4w=BaYs*?oT*co2 zQ0Vu*;NOO|z@-OZJ-RYtE07z9b5)78CU@emU&-uO7cnta;kHRBwx4u8n*bM8`VtTg zIigc?@t`-`6`{W0GTQl|?azefek_>KeB|#0tyw*$O~u3RHFuCwRVa-{mEcWysdvUj>^B$@!G0g4ou=W-M4!~ z%5_Fl)3tBR;YL3`q16`n`OwO*^zjQKKJJj7P?8TjNAD#CAQ|<2!C*kwV9UA z*$C1QJBTbwi+f<=(pYaAm|t?I($R^Q5SzTg=3p00eX+~`{)MixV1>Xnmv+y&>`>gz z{lS;8lqoKH-594v`>W4KG7LU++ov{WyfiOLc@LFw5q2>xiTf;oU5Bp>%87lc(-Dja zwY|B~P}^*CSVM@z;WBxUsu9~oqP;Wz;K;_ez7+UzSNG{)8AZ`{r#pBIt@>(UPD50p z8Dux1+K=c5AqI%A{=G6cH+20Ni0MIiSG(x#u0;EUsPD<#EUUw%OwxmnGBCY$6leS{ z(l93J%Ck5cMX$P)rlY`Vk}9T9|8FmV>Zm$Lk_srN;cY<dj7JPsi8loiIwMN3D!H zli+CBdKa*EyU;hT`yz3RUX^$IeN{gMjxXiJRM!yqa4~`W#mr>f0|_AS%V0C=GX8a@QW@ zYwhdc7-!Rd0L*R^=OBxswp9g?MnT8OIYKj`R}xuqZ*c-d$@05;o*CW#lXmsG@(`)AZu0$F4586x#vYEv4-=JMNt0Yi8QYSU#KRoQTxi>-T4Fa;vW5=Z^fL)>ad6J*0zJ|ObF{AWft zHjhg4Y-UFaG>T9pn6CCBW+-UnojZ{?L=4vNZ$5sUL>2wgb=O*mmnd@Ke(z*Lf%~yS z4yCgmHKe`q3G7?Gd))jCtK;-(BeEx)>G4q09_l%kbEw3)%KsZ}C(}5qh?ny9`4mYi zgV$c2T(5kiwKnKZHgCKF(eeF((;Ac>6AxO9IiJt93A_2%8PjhB(gpi*f8#2Jw%y)D zk(rZM(aodK=^&Sy5Jp-mX4~nf5X&9sr z#YUqKKcDHGj!N2kC@^VPJ^8`>Nod|>CkLQQ|r!`6-siRZ2 zGM7M@Y(Hk)0iU)E!erSAFlto8e&71$^mkF5un8W7$-W(LCNlfO+X_(RFxeP1^eQYj zhGK0=v&!y##W#T%nJNcK=Zdtbovw{v16_Y^N+1JWD4-{%Eggi(PGk5?;M$(2*NJ8H zM6D{!KKwqU)ic!tkRW*0?%iRSw<>j^vi#18Zx82LWH?e8ujVz$ZSDJx-H*-)M>WBg z#owc|ml?muK8J#KmNNI?CU;*!SsUU&C-E1eP9|o)pr`ub9NPs`1$(fzR3!FYx42TD z$(s+LOQ*I%dfoO8D1vFZ#_)&l=v6A`C)Et+$P-9?kU{!9ruZv4OcuS4@RODZXV$@6 zP48a`v1x;c^EVs)yq|m|%i$qSXa0KA#I-s>&GdDq{a9krlSIq_peE{B zH+!6SnKVDitbOiKOcR{x<5c%oZlZtH045Fb!S<~M3v>Fm92e6p2ebNi9Zc$~nSLLPvD{O>rFadBz~TkA3qR)JKGvSX?4K{Szw{58tL%*m}TNH`W4B6XTqeM~J|IJUJdzuzv)~O2Zd$xg+7K@Rg(of-XBsWyXRLG+&&y zPFNY=k3J>&q(}{7x0TygKJi{Ba1fgYL=l-}x)6<7uwkgNro+gygr2y^JreN3aL*C* zRs=QAI8Wsr_{DmW_HaM?7NXEqX?bV08M*o$yCBT>a*6HRgJUSu%t%DeyHQv=x$cB> z6NJb61!-W{sO*PfdWb4jS`@gA=S8_7cVe05hkxWj3e+|TPj#rz$6mr_#gh zUgxwgF97baANDsX5&Rb^@uWi_<{(g3OossHu+P}Af+7bae#Ymv;^g{~7x3FagL}9N z-2^XGdMR$zSV@&1k>=ivo{Bgf_hTGzWC^^?eDRP?<0AAe-i@Kn;W{DG2YWGiI}`qM5s$eu zUn#V`B|zu5PV3PSonC!B}MT!egCuZwX2}nBkHiSi-Q6G_7b&y=M)yHRJ zFQ^`~3<6!4XA%a2JzV{}>&W>hF!?;rYC>G&p=HL|+rVZBclIXFqi5pDf(Li4TNk8k)KS1SF2y*F%mD*frefe zpSdA!jM{jY^!!o}DJ?u{Nz&zYI+R6{A*VRxk|ep{(nx+%TD~wpcsy&+J8OD#dp15} z!cjzs6w^A>r0dL+NsSe?WF@g*=q2xjpsSeuXS^1#162c#J7*cqpS5B#q_>kz-4q4J zn9Gv>J%=QpMFFYm`OyhX>D8?U4&(mPOzP_OC(P1f=8dDf52(TtMflb>d>p3C$L>b5 z9i7d7u1f-l1evn#60~7f-R$tk%i=RVr{_PA_B_)JTJmPUT)1c8rSN&)|86eVWpKv^ zTX`Jk*TxOzLGE2*lS}vfmye)+@r+7N1fpa|1L{=GUiA22=Zp{eaVw7ABwKMv;Km!Z z`ndEy>?n=~&QIwmoa8h5LDP|0iYSP90#^fG45slKX$)v?-rLO|02o#qnRrl=x4;B%kWDYvSr?KCD9gQ{Oyh~ixZret(g(Q~f8gkr?zrnQJoz(tdZRVDlkDehxRN@+$9cY- z`1XF0QQkNW$DhfPRJoOa9b{D!N{uu(kP_a)0b3>087F!p%SQTREafY-`|8bZA!7psVK2c6R>cnJi)Y%6@`j7s;{DvQA#dd8> zKT5I7bFh4ath{X#4cZ**5 zEVS$$y2!fyxb{uv+VM)Yzj$vBbtr8Z;<>E7aSkvdy)ZOk+#1K+K_2f}_>s*uR8tXP+{7_ScC9P= zawgj-*&>h_X$aYc!8vf|MWnR7=wsDOaP)i^AN5{c6g03VG=>3Aw0n(MagZtdhiy#W zLkMO3?OpL#rYtR-qf0|=ZrqyClqoy`xQV;{e=1qEH}N3~l!DJKJwTI&v8tcM^gj0d z-BaHUcb)?aX8xeA==S-9@(g&E0sTE2hST&~AXfE~F_=Y+7gHx@iWvgv)xfWf!k%cB+V-a7LOi(_I&8aVwuA-m)Dppl^wd|~hGB{h z_@P27=|6qIERk?E$%V^@)~p9iGEna&n8sGOZfdf#3O*ticyAF`!%LCuKiMyMDtZ9x z0QJtRz6>;85u!0lb?pW3WH@E@udscPMP58hyzwk**KYi1JBlEb`T-@1V?X7!@0$cbv9_@IY|_ndT6fkt zt}Q7lUENRn4bo&0NyYsh3O>lrqW6f}U5u4$vyiur3oyCU(S~}#YG4G<2{u>Lj9XOX zwSd2lQtd-?PEF35K1$nY@nu-!^44zr@rtz%7zjUsviBfeNHU(#Lx2GYu_gYZ^XOF4 z-IbU3KWou_M^t?pqW>&7(}|!F5z@T5wi_&#DCK%{rQBWE4(n7XB6fWhJRLv`2{?BH z{aTWiE%c5;*c9-D=<` za{T@oDW~dRE-rnD_GCA|kenyL>}lZy*;IsgS>r3FJ-PE%4|Ci0w1sUEaI3A=&?oHe z({?#D)2R3gc}ILluf*zYU*xO3J-7@S!FTX$lj|)>Zavo`IF4! zz^?XIJlhyiK4VK7F8AAfNz8x|Id}m|Pp6o=bXYa!MdC7d=~F|3)~U$dW&7`fHj{#P zR?PRCQ{n_I4JJ1{cHhQjeMGVt2EB;UDhC@}rd>}jD{qY6RR@s~Q5)bzpJ?SlXimUA zj&rP$ZO^LI-V}VQYl+7pt9!HT|F}C?7;c=lMFeqN%0x9~J~hkG!2tV)r8>TUBgV4h zPSK@@ld>vy-%XuAV%-(>JBw)1^2M_sIJp-6s(sHP+phcKONCBEEbu$~bGk%eB54>f zjZpYwQ7P>BXk}pT>vvF?hm4U&R@baU?s7Mrv?Qg^PFr1m?AekE)M85r`keAn>|b~Z zU4ia5m4n91M%g49s0bU6P9G*Zr9b>QB5|(z84$^QI zfvf4Kwt~IPU}8xtB9^kRsm+MP5oF0qogH*mY}f1p4$c1}!5}gTRu&z803{xjUgY&P zlS*D+S}m{=qI3-~U(hAHk4%9q*U;G9)29ou$vbkJ?-g2?b1JdbCfllgj4*N1Lv5ch&q_cbczuXO>t-=)|zBmPy!!9?Af#9OLb zEv@IeZ(P4aL_L_#=BrHW-e|g!Xz9$JwMe&Rbh37WmeAnC^~Aep0Rf75P61#ZGvB%# z(pE;fq4Ee6+`h5=qK?riQ^lO0>+1RB2T%?=HJOPfvKUB%qQ{?$( zexcv&qQ9xn)z1N+-$@!I+(;<^hT}SJ)7)uBRa(g7W7>x$|5-#DFsssD&`YO&woHoD zPmUqGdI0Y8qziPj1o{ov*oFl{rGtH>psoi}yYsES%tn@3glrNy6q)T8QG4@p?tnaAsWw3r<-NcWyzsg%CT;rHyp7i+rD65dv%1f zFwIKM@;@xHb@C$9Uv$SIdKOy#BCR_IRpN;nyYNkX9o(JOhne*b;x+jW)I;KS3#Dy^Yzft&D8Jweozpm#r&YBPZHngA!i*>Sn9 znyEH@7qg=i3$ra2#$3%^G!yk4XH<{7Yg$%?mtxI-^RMo`Yuy>yXER}OUn&WHu2>t` zi~Z8^RfN`l)+bYO9VuLWc*wyg%DX<9PY%}i4`~cBPbRe(5=Y0 znAa*=|27-NDikcDq%EsvGDlFxElNjRcB*!IL6B^U`>@pf{-{^V`#=70kP{!=ZH101 zE-*aBO4Vy_W*nG%<$D3hpKK`-*-G{|B?nKUQkDwdjbH5s(Z=#7>SU`KPd?7^8Vv2d z+6m2BNMd;}ydAl)721V3>S(2SF~YZD@+I8m%x_g-MVj(2=)ay^bw`p07xl<}iX}pt z`-pTA)JhT+)f8hagy55BU8VT!pFcX#!1U-gF~U9FXv3%n|6 zXb~PR-Lp0gFAgCSqk*P`e9@F9T4v%6U|G9f^K49dbTjEQPI+M)?O*yO3*MRPC1-i zzP6v@JbQ-6HO6Nr_VJ;lF6wC+i7k$A57=1Y2}IGV(iFS?heg4t^${wxD3QC9_+r3j ztCK$0v?uRarySL*6xuM)i0EhI>Sw6Lsa$sMMmQ^h4kG9l$3ftivgKKqgA4(N9K zFFSlwEgIV`SOY{f+-?eap9tefZJpm2@4~Dfe#d|sTXp)tc-P&<9)>rU)Og`i%4Kp{TZCL(L7z& zKw3?}OetIteeJX$=Kc1~$GesvK~im{KcX%_%r@oA#J8pCOFRyn+6;1%q-=6pXXeEG zA@eJ>+hy>$!XeOe5;zE$Zeknko(bDa50??O`)uh1_X%r9`W%l%h}dmbYVL;P70yvC z4cyQer+iUrx50cu$on7(Ju;GXJ9L-K)e;q>5l!et5YB@FTL$eVL|;W%H&@gW|fnzw+fC z2M0sA=S8HhfIT0mT88K8SKX$m756ON%)&~S>Hsm_%i@&eJFLb%P{MpZNO|{lzP&iU==zPqp0X4TLy7Xo(jE@RGTicg4~nz)KXJ8mAg=Z-=ecc`YLOEUJs^D1emGxf zLYmJM?Bi9@4>HvHk8eMWV$54f*bA)9J8Mjl_K}*tZz~M<+Fxc#jzhN~1jJjxQW`J0 zwHZp1uK1=x)iEf4s5LFnf}`NaJ7be0kbgb=G7OVA?|?eWcWGy_!hRoV}`J*jeVy*6DsQ8jT}(v61BQGuSOBRUq|L> zfKpiWUr=p7fNF!`Ec#^-yp}n3fSs-!?JBGM=out94Q?;M03oXvm48mhKD}|W-r^5b z`*5GL15o88sCI}73kFC;kf7S)Kk+ZKi}<_@9fFUBX(ADF3FjiK#U0i3!YB)Zh)VMn zMyNi6qax@;(wjjL)G_aJ1lCT7Q3w(aPaw;}_M23Sv7t-5 z>rUO+z$1|ts5?U(43Vp1D}SKc;Er=&QR_3YZQfjUWIflB^+e~nSeW|R3&AX0bWqs2 zf_5j}!I%2ISn3Dm?%f@Q+?|?KvgO0Jye_O?ZtN+0JoSM-$UQsq8W60ZgKx&K=1^g} z;;P@_q-Yj;!5G8|_%n(-EmS%Axv^P!4z;w;j?4GX9=+qqz42xv*i1dC_0HzK_&eJp zbxoeG4Tst@0e0NfJ0Wy6!lYs?r-t|>I>}&TjobKn3}9+&Qp8sz{xG#Be=)W04MN}$ zi4h-ym!YVd8y2Uj@H}OUf&KGc-ng?{D@o(m!ZhAn+vVJ_i-pP2a64J1e2!l~{Zs06 zSVMPXMkVrZ$^lRcs=LI{a_h}Kc%+MYiFPF>j`UD%4t2q&BYLR`m z=;hEww-W5R%i_zM(?YKM>mqrCRh-7^*hMQ!w&3b}<`oHKbtDBJu}kfjTunJPWN0bL>gPv5Wm&2=W2>TfA(U`0*xj%2=v#5)f;yNXjO#?7kRjf(6KRF4YR!S` zN>X}HmhRPAKqFk}VSl;GVm5hD7-{eKtbS-O=2i>+$?F`Rbqc%b!~MOPRWPNj*u8OB zawlDBO=IH^;+u}b`6eAgQO%!G43}mGG0H=VwI%q~@E1RhwWEV|382{fY}c%ckUDN> zIIRQM+zCm87a8@^B~s2CJQ`~rn(6iF%NK;{sIU!Ya(irQY#ZD=Uq}NqIXUf zqiPM_gnXP3=URr=U3_^B9>lWfd-G;zeZKm_&+3u=>`lcMBXBs+wfjt=maCvyL+O>f zPaT&7PmM%Jwt3I0w%S8KjgpaC4&f4)}|`wH8$G91?%$#$I*QEdbSqL|3cT zv9>LEK89CpzFnQjZQ4=9;_I#kmB~f!N^CPR)L8UBJMWSQwR|J4g@*sIp^g^R!|2nE z^E6AiFNM{V7|J~2wrEIc98+Y4rg_)W2WRBF{b6d2{$gs)R!|t4gpKk7Bgz%tZ|&@* z#3v;L`FQQ)J!sxhb;n;!ZN~vsS%Wo!Z@+kk(gmkfQkyPuYhw=Wb+@izXtqeeXN4 zF#D`rcnH>|M}Z{IUtr`tD}{HPy@P|_CK>pY+`A{*`d$79vueo{LP!(7frC6_;qYMrm6MQ?M&75$(8K!j<}&m_Vf zDHq%I&w#Wb#jP!s3R7?L4RLgj-2>BmYfP*^U2| zscaa@RJP-P48@Xuf$gNr|Hf4Ig)+%h*8G3`sz|>O2Hw{H!c;a*QaSLAJLSE6#;GLx z)o-(F&)u&zz0|L_X!5KNzthTf?(M%92N~zm_>=?JZ7W#}YtSdndtwIY3d6DGf$rMM z$1OWFB&as8a!)Z`>f<%lf|{cF^{=QlLC83`kDLBOrvJCcajk{3ew~M}j;iux=sRJ6 z)P77}c>hn3-HTJY2F@HOygkLG%H))d4Mz+0rm&fjdIH-wlfLf5mXKwCc?Hec6>d<^HSdzdw6E>E8Ds{#7kf)v2PwyeXpxvHSuOZ2(t!lu32-25lP zXVnDUaxb0=;w3a*SgC2F@pqhY#*v;ZGz>{Yq5T%{d87 zW@5ayrhm}Fpkk04y~d%$Pu(B<9`+&)hSzsglL52WXwqSMa6uEFITC6u49`0f&NH9)eHK8^y&~-6ynLf!f(~9@z%Ktfms8w(a{$a(ZHlhpl@I z+dXagj+WcyUqiXvdUm>4=L0z4*K3g~JlVf*^%nvSok*v70{t9A#d)f`aoBOqiaGMokh-^feBA*Ize2uSg zX+%%@iK1+WJfX$_lDqQ4q)^kORKTzkstbj_ayeQVo-fiag z=w8G+ zn(MCbmgH{HZtwnJw8V;{X6(rJTV6nZ?)?_&E9ZR=HOMJX z3e_#*CS!YI;d$0$YjUT2cbmqQxbrDs-MiB#F6g#eW72;u`>(mFC~cry&2Y+wD_V5p zmz2qaaV=p_>?sOY$sHHf9?LB97z-qmR<~Oz|FDO{^~wol)sqQqgLF)H`!hA@R{g)1 zAFuX`-V7^LIrkrL79P`dUjv;x%|* znXeV(Ntbe$Ma`a49FhI?@a45KPooka=@1$>k)xOKJ*i9!&`fsbuzg$zrWP2}9s^_A z^N_l5U~Y;B#mh>Yu2_8=zK za5{nC&Q#l!=&x`SZ0@1Br4P(2Utb(%K$Ckp#r;Vybs&Ro(5g>&dY#hb7o9ZeFtMM* zNxpvCLtJv$;^1nIfwUw@3E5+tXy#%JHQFl%w^m+|_HpbK3p z)Hj%~rMF=a-5aJZEEchShOX|HS{+r3S=SB*-t>8!`aCVP*&5g6xSaSX0iL}yRk_P8 z#&rPYO?x9LbuYQG#p{UYTqS`*p{^6J-hm8N%B}iMp*yUHd$(PV0p_=LC-=%8C?Q>P zuZlooEJw}Kw8^^6CZ+kqr5)znyyl1I)JYW=X5Fv$==2|V|2Dq`yZJ7gLBZ08uVJ{L z@8uV{;l>NgqWF3kYR#Cr6PVwwG0pL3B+xtj2b+jp=G?_S1vaxET zv3jg;r~1PLoa2Ua0}6FNc;Takm+-)eye8u>Tk_RiWzyztvoD|L?Dvhx?y)1BZ>dwi^@D{Q77GqJ>csjU)Q(CMJ|i}_L*tqA_- zS!v(?^C4o}J;)Ie3=;xtIk;b5o^+(9JKH>mH2Eqa zWe%!>K5xjTv{&@KYb2uzwRp1BLr2SP=)DGsFGub&V4Mp3b}M{R$qzs(UDcFNCr2?d z1EX6M)M6w^dYwDKVWhj+rsxjdj3ov8)le#v^Fn2VVn^0z=GVM0=h%mxQkt#HD7?3o zG9o{0O?e`5(+O3$S!9Vh1up95S*9Y1@1di?sgHlivzNci8A@SU6f|ZmSrWJwR;5lJ zc(@f{^lkW*?F7SG=$)1nK3Ei?jW8U}#|P7XS%K^9egd^2^yX^s1dhml8)*uaXG8Py zYA+dQ5gtFgT)sHaVQ;unwf50a@pkfIKlE+TCm%Kxs8^#}vg%+3gBSEN4y^dr z`-ss6&*`o1TJogok*3S?_Iw*4nU^dv2xjc2776ze#ehhcy_U#7O{`!&Tx~8pBzLuo zwZIxB$TG=HJ7;x^xju$`xlNe9j%BPITh}(G z4y3(=kI_YYu>zPwvs(cyEc@<+6SEjjF)W)>R1UmZfqbzYdPZS0>wVQ_=eq=ybye}^ z=Q`j94xrt-oHi!{Sd&KZ9_CRkuc_S|Q8~}qC}VEX@r1Mc)IRga-`WtDX%!mmZ9QtM z8komfD-t=Tsn zJ}ffmXq-|cgp+O(<~CVBS{B~)RhxLkCBB8dt>gY9I}|(T+lOjcx54!fsm%zA*Nggx zoKBn>Aa;Nf+6co<6=StktS*P`;|V(|A~tcIm-|4Rwd~he^0S}w@)eSo2~?UZA%egC zz(Db$NA5^{390=&qgGKhrL}<0ZPSt*dpp_a#pe#svV#ic=&XPDI?PX=s<1biU$I{{ z>y@7>^Y+J8b{)k;hnSciF25kU2%A*lc#kS|m>e%f*Nu9gy}B-OzM$u8Tl4`%@$8{I z(goF}&t9FOjY{1oen8Nvwvp*)Jm+vw&6U^Sk(9|c_o}xZ^vtUagwcQ#{vo489IFT2$sD}#3i2V<&>`h=wg(&8L&or}8O~({XdUpy z$k%2`*SPXHWnX>c1)def-7RclH^i><+??N0ur}jq((2`+3)mAU73Dm(Vx@kBN~rGgW*vZ29^c22{xnKyq+2R z#kacgo_;qocW{`sY)Qhy%70v0QYuH^b-wY zJHj9RS&+3Q5NG^AU1tmW&f+p*S-NxX{2CW4_meiH`iv7HLxyO|lC{9JUXNfp0APv= zQESt6ZI8TEW?sD*;e<1dCJ}?`&~3;YCc@1j%QI@z58v7vfPU4N={BN~(hcQ6X?9QJ z0y-0;8Fg05J2Q_x!~+i3EK~`)-o+pkCp_S<9zlu{io=Mwk!b%BIU}yzr^lGPUw);l zyola~jrO1Zw3Cy!`!J*)4Ieor{NTxiMk#d7mGws0s+WqCS4D9cdqnL7L1naNm#5sE zr)MANw(3dIF!~Eje$?I!*M;dyej~NWem!&hJl}J!LNmM*@;McZn5j82-%c4M?m_Hk zT%MfQ*rfKMLKjX(=(qY~EjU(=M9nj^sZP{>N0oz)&SQ$-G3JzsGQnu~Qx4jcWG^UGn?AJLVn;@m0C@5RyV)LBJn>|12^J28ZOd*GZSwAd~ z^XidVZ5`EevVH;!C+wp_vS677eGj+Vr}(|D&-@776*)#_@>`+HymPAc`PMO=XL-F= z<9Bjyl}yXdcl{Vy*WI5OOD#tIsL9ZD2(&F|90{Ic-tE9{A_=D~G!owS3!!?86@{wQ zypa+c#GV0|(+Vr3Lc`0yn&LM7ved%;9Al5v$d;_w_X$EpB9t&#H}kaS%ED7s2|`rl zUrxD>G4cO$%9TF)>iJ>@0Y7p8PPvzJ3@r2T;b8``7TqhTNF@oYG~`|1nl`33A0$NY z*881=D_Es3yXq0pA(xu9%{J_Pkg`z?oh=X~XXEaPd?41-5?KWi>8gJ7Y7KR zn-Jr0BFmP?d1Eh6#@WiyBWdq><~K&=toWa z-8UQhwI1PG-iYn9x4_a!C#muIgS}#3tSDYvZw0YmQVb88%JT@ZI9bmA61R>{Z^4W- z%xHp^1~6lh!i9u|4iQ@GGEsI-u*_e|1oYlh2OJLF<}q4nNdr7^{kwFcs#Q(vB9-an zM?6(4wnqI|GazN`KS$u_9fNV>pCAJ;{iUpR911c&7> zBMra|EJ9nw{k$1qt$_suoc2<$4B^r8|T#Tm^Mz~h}%{`$Au zm;Sx8(KiYs!1?v~`068_8twM^v-MLaVE7$4Yza83zUOxQM4Ycn&uANm@P1jK;7`sINl&*^HfWD7kSA)!z8=*juL)&KdqMy3sXE^6mPSGkloX;@7$( zGRd9e9|WJ5z28pI}%MkfiGog^U?aEUNIvu|K&WUTz%*;{h>4gi) z1Hol@gK0*>=wVX~VRJTUS#=fXPYEipYwR`l<%=h=>Mj0Nl!`5LOufbQ6G(}d%^?cx ziQaO0@yHOk`1D>;WB}S3f%zVpvFleI1_}XC_qXs!|=q-t|)=bNaZ)48`?JV z7=Fh#Z}qt8s}o17&dT%|znF{@)Up0ezI1KzDM1#-6c#)@cu;4HzZ)GG%$`nUpj)$g z+xiVSm5c|LaE7TnjPn}5J-&jzx{&6YSl6zieK&hkA3Zyy0|!>}AYOor?qUK5$we3a zC+k&~bDHwUogY^?*EQKmy0u6BrF=-#NCLR%R(u3LM}xaMm>myX`PDmZ4NT6- z(}AWJ+Eo;%Q15%1HEqGY zn;Bcqpl40nmxs_?W?vkOA&A>RNXzF9+`|%n6Tde+kFUGPklXne6nwv$EH^yCpcR?& z7Zkh<{dU|$h5ZW(#wJ)HwYs!7dHfOCxYf6IBE*}=M~U|eRsH=_eeWKqZ-F(BsmuP5SE5kV7Bx zc&B(oW9ir;-p3fB;+{iDUV|(m`r#f}vuJ2-UOq|Y)ERz#Q1q#!)a;9`gTBv1Ld>y! z@peLVTl$MbqHT!aRl47EQqA{&4TTJfGi~h8g|yTkZ^KH`?`T?!*|0|yutfV%tv-v5Ac11CRSNc*RCmfnLl2;@FaI8 z~9aJyusp|vNcWCndG!h`1 z19{xZPf$bu#TqvT4a1WebJ*XEO##;UqH25t;|&sPOxMZ1OJa?2pvK5RTsae1LeJ}4 zb^U5bU$Rd675ODJM$xO5KI-a2!Sty;oP$I1m^qFQ^W6mgWd&|DP5Ok|ILIU`n|(4R zTk|R6B&)8?D#=BhbS^v?gb1QTs|hOBdv=eHs#oBJZQ(u0AiUZVbOgeEARS%z)||Qa zciK7*nzgSchkJdJ_-p6c@(9q+wcSwm7{K@faUFXcNnEEV5rd}ZB4z+n)Wq7HK+?s@ zVH3=o(%gg?5wEcyvlnD5c~mZn*_vJ^N_ltUY>sj3tq`u;eWV<1+Lbvh6rKHXr)K;}QTsS)QbXhVzFdJ;v<&c=2?cXa&@aF-vbO6?2W8-Dk z++=#bUN7284s{#a<`ihr?z(U%UNReqaT?{2U-F2&Qf{Jr8bc5reCD1VCu<09Jc-Fb zImgMVB7K-X>^y%Wtsd3-5t#;aZ{QMP=1lT;4U`V zQVmILC*>tgGk@RuLASiBY4aTeW{Z+pTVTXeZ{Q2|OVwd4E@LwoLM<>mL%qy;I!BEJVFwq=BDj>*-&_RTyHqlL% z_+%#&my=>>Y;a=*i{1$xtxL^dTaBT4| z?_FrOS9%~p+y)&39_?3st}Ma~Xs=LvROJM_6wDv}G11h{f0t^Z1AtMI)^@STwrgZS1E^*BcGe#CWPU>4e=6a*c44QNp z+(%^N9}W>MjsA*c{oRFVJVOu>Km{O@fx!=m-t`@Q~-i4 z_?&NC8v`J%)ELrC1sJ;LZUm&ZCch{Sner5(^~Y756xZb#2%~Y`n>OX%)8pi(A3FI}R-7}N9h6n&K()qLvXEL{7Y z6i9gekLmmud!2}T5>oZiPfMC&bVFLC6RT^?B|nG_!5S!A)WbB>jp=v7=E>R<%de#| zZ9g6o^gdRd?e8l5RBpQ-dz0N*?Kc#>I?`dEKpZ?D_E%BK#0y9Xn!jFcGd*V z99bv_+V_(uEe0;rRi&l}5k@@QNN=zj*vP)&0jUNcFzm34Rv zh&Hq>+9(jxj#ui=tA`OiUEk4L@Xvx)$0o$e9Sp5m(%)95#|(5$P_~u8Qc!mi;BR&| zbY*S#;J0c3i*87gC$fN?6SC(0@`*7TVXTp5pYmIyIF-{W9(Ve~l;#|+5^e${vnK0n zT*;%9!Qn4);68PXV`=uH46$z_AzS0ygF9dsWP{iqt#X|2fDP`&bt8e6aec*p1L(1L z3f@aei##uEx>r$d>3LaCaKKk29d)h~dq?ow*6)?sRt+l`r;5tosq>1n#iW9Wt=eIT zYEKv~EHt1Zs13*VUMKjY`kgS^QN>z0D7kxxk)W%DTebqDgzLd$1*tI8tgF-IRKs}G zO9MIL`RS)!$S+r;G7T_~ep#-ax~Cz7%Q^T+R(|?s!`1Jw3)60~9}0zG0Vg%|Xm18y zuu94NrO)u~2Q*quZRGxyH7VN-k|(p#7bZ#$cmxZrN;(9<$3EGFRJqswO=4VWt5icQ zvBVQ{2)YvENa&W3AI{ErhaNPWw?3(<2+(zA?9#8wi%!#Z4*DlP#C=ayeApLDp@Y9n zL3Hb)14r&eVXA5=M2(cqwLut=4-ZticXr>dq{v?6c5!;>E!_#u$Orw9hm}}1xPrWTyS=^bqleswZLVB3TTRvk? zjlxp^L=ku;q@Y~$w%~w!xIddS7}mH16HA2H>;T{x2m~VB0B~H2BLT;YZOyPj?4KYl z-00QB&zO!XzY|PGmD@HvcdOPls?9cODh?%T?lbs2+!F`qX`f2=h~|;f1iS`jW~clr zl2o$hb5E0!O8VZP1X@xBh-w&=3LHn8x|wnOOZcy`*MQuu{(Ny+GV6~W+2wHzqN#3^ z$+cAwKpK;n(Y=yypTDR2>hG1u?y}I0gLCvmc)`*35#`7o&okGdOR&sEXlshD(cTBL zR?)hFsIw}|B{+{^SEb*%3y)OoLWFb@_FmZLPYKK1QQ8DekfpKlBK$lDrxqF`KCyrP=yipA@iC#Bv_!? zXpeW&FV#1){6+Sz$zG0#U7-wj7tk&RS;J(^G!n+RL!l!wIR#N}3{+=JyzzD8uLs3$ z!o;vp(0vqe`&cH}tl%?%oX`4})s=nx=Xx4V%H#iBPHXXe!nYW6*f3g-o1ln|)kN^s zI?On-DR$~23&lIUe1C7-|I|kB{8pE>1%)I?sf;eH<|;7<;pdpePdF6wZfTg=43%yn zK2trYjuCWqwaN5~6mPBmtrGOM(Cs(IcbRU`F$44zi1$B39HOG{5P*8}=4+hRs`fHG zhoG^3+_sL14TgXbJe`H}z_2l-6B(zBvNAP!#^&PQakzhhAEw?IddqCGjYN}^c5;9h=Mbr4^JhIRhA1pO=i{7q zzUAJRb!`?QDE8@BJTQc$%Mou%@u9C!B47WfQjNk~=Hm6wxNI*s(XVjMJ|<~z>0UTc z%urtOonN8+O8EUgLEbW0T*+*-1gZF2%UyeIXdlGb=1=Xsw1IL`@;xTb36s0E=NvBs zF~3?kE?*4wqpux+Z9vM!KBQveWx#>s@%4uUe0@`cX6`kfE{a_-%R1QJX+_fW+ zF1kuec#V_}JFi58lA^NP{YS=FSmpH`T=JS%O_!#{J<`2y#Bxo+9b$!s$T>_uX|J;B zQ?7eF&YmO7Cn*;ZPz9P9slFmQ)vIr3a5W zqT!nZLvQ0jQk})0543m_fpk`8!wCoAqTsH1^(L(I!(F4-LlYLJyxQ!SvNlIR6B^(y zI(X$44LkTF>S_TUGij^4wj>Z)V0v3Ibu!<3<%Pc>r9&u~VkJA1x`~xWPh#H$CXp!Q zF72hZ^_{{a_T2@j{HQ5p#jJBvUVaCnClMVic+Yn&>tJ71ow$Q**b9^^6Ykz4|EZO> zY@u?{)ea3i^HH{0pVe$G6uC^MM%$@41WM4UYsAG2_^Bo7=|doQ(7_GiKwC?d1ZQQF zPODftdThcYFySk4H|UPHHxS2B^wYFYY|=sUSHo2b-1o&^Fgu4Gjo-?t`7a6oHn`CV z7B&{|BX6cc&7MM%dmvIqEGEWC6!C)^6!O+lXGB;$0vD0mAB?$Nw1ztmYALG(k0J&i+UVbTj|b)aMY@HhaNeaKfv) zzkue-J`0kNc!$icW_d12n7O0xtd&d1<_^Sx!!2e(dP`p6NL2NJ&J8Q#LExWtPG9d_&#EiOT_A#d*tZ zLe43mRIwcRpSHNcBBo=(K?Tt=B@Jur)?`w#zdNZS87k=X$C>vx26a+rmEB3Ie?a(g z3&JpwRQ!fJ#8_RdYa~=G`H;bmj1z?;_c*R#>q$`>zDiR?v&SEfAMogA%_O4M-`5kq zd-v`IVifN5vImvVfM!&>7D94?iY@+h+d#;+*IF9ns4-W5Rp)pRgUBKN0SHNH)t{0Z zh|$#3AaAev0}!H>7+~J(zvJKa1a%Uu#)CNa6`(tv~XkBP` zxUpxaeu}A+v`m`_p{Y;#4QD<=ixiWo0kuW!O><0Yqy|(D{(*o-DWY+X=_77c1iwsW99gQuCvOhH7+IBqHtsErd1H>lVMDeJmG7Mv$pzD9Af4O3~U?}0Z#!dnfZ=GpKzkGWyS5G3Z zeo6mT0FZk&1>3#Cq;F2|^WVZ98S$ty-~4nq{^VUvS>fllApMgjS&9pF+Z_{sUw^e! z}EG2=YnxNBRXPO)V%M!Y#>A7%!nZGfrf2h_luXFcxjJzS^mm&-Lx-u)qd|?cbi8 zL|PYk6VmpcLf%1xZd_X7+Cs#Kn9T$QF~@#`@_u2@&t z&z+haKq;M{(3k#Fo#2pp)b^Ok@8@^7gG*y@Q*t_zqJ>wF;38QbFXeD)+70J2T9|-X z)_DVv;Xo2HOeX`sF%8RHW8Y~J1zyG8lC3=VyT`L-HxhVkUJmr z&dl@IfNMjd01NJnAF1Z9jfMjp!_t9}KCc1XZFh5z#JveAyM=TQ=<%xQf?*k-)~Vac z3u5ywEN9yhmXyzj_`O@6h#?WfXK!`<9yAtMI`-@Ne)WO$sZ9!WlO*!l&x=nEvnuNO zC&GWA!5|=D!b{4mBMF%Wq!K(>iza{Zl6P>&g<*P+o+Ce`!Q*JYk}+&+7&c+mWc0&c zYdy0Q(QJd?IF48Zm#Fm-=J}6I2WB^L9B5KmYTOQ-4_H1xPcCXO{i#bq9Cy!jBjgPA zVukl~KjqpxR1k)%TdKy>MQnF0B4709_O36Q8%Rjq^ZC5AST&WR@p(942S21c<|rRg zQvOaNK=1dSkp$g>w73tV1?%HRxF`!>vk`WOXT)X(sI?-G+)g%Ad8u5P`H8zWtPh7u zv5UOypp9M=dtc%@EjaLtarAt)X3ldj?1&1w^Rg`PVr-Z75 zh_VMs2@fV5zQyqp_S!?cWWaXI#G9n+=zIDQTF+nATn)(7b$wzfy*5sy<+&A6-Wa7 z(WnlL@9ycY3_fLY2kwgJ_HAeDd^DygCWdd*HFMe?zLpqb5On!9APj~|oY+Rs;8s(g z^H6(TztQuZ%;7;;BHMxO#ErTXH#(H{`a{UwM^(KBw~^{?HSiCDcgP^x0#Ag$+WN}r znU52)zJz|FKoY#&C-vv8XIXcta8M@L>ax!H!k8*X&0= za0h00ubL|$Z!t9!-FV>QynCLFhX%YZs@4MQ7sQQC2~N9;%%DA51t|s0WxFWexcv?THWf7%wKYa-7h7T@>_*4HH*F?tEF&8w^CypbsYt0(nJ2>umP(fCc1Ro%x?I=3z@y4zz}0Je+}W zgj47PeJ_&!kTB&k7@`M{+uc652KO;Q7v9uJ4zGSNeYnB@cDj}B{yuvcB67Qf16`t>ub_9zg7PYp z=Pj%dWbN$_5va|yIj!0obV{5tZiT-!79(~Ew_?NsI<2J$4n1xwEs2`w;^k(~-jFcD z%50Iv`Zj9mi+Hm-IW&M{ooSnakg*Ld+63uEL^Uzz(7s}8=ddTgXf@VQTH&qtmaxRH zMYbDTA%FYQ?0trcp*J<|hjDVH-dV3ZryU@yl0__p=Z93KRd@B}thaEQvsG_*E9ksB zn762|PR!2g-Jg;(yqVilh?LeryGj+Q_2$b>=HzN-e|yxoHnyIZkZ`dCgX-W&Gtq%~_MS<7f)F-4*&@CL)WOs+h&r7s~(pKOn>?0Oelh(v1K34+;G1{47TMbd&G3h3%6okNa<)BC*dA zK(qE=+2;!fK@yoRfPL2US?UBIR!@6MqxOJS$L7~_y@RR6IU%zb@A|omVSi)54~0&>fpat4bGQA)6@R)3{s#jSw&u9n7DV>Ig@=w| zv`+06BWc^4gzAo*@wJOiu8_f1BHW;5?;dn{`hAWv>9= zEau5_Pht?K=sz~X*GjL|?B5?+fMsjgc?t2%P`*_}?`0{r@Xoe(k5E zlzEr-39Hf-GJn;XGy2P&r!U{GJ|zdTa9F(XZTV0CUK|MhVUM2!70<8vd^!Li#KYXY zCy}zGmb+k>9rMX==gfa5u#Z}|Vknf_a(og{fZP?a=P;H3qrOXq^CBRkk0r4D&jCul4qNPY4BsgYRU z&yA9&;GX3+et>BaXeyW8zhvGMrx?KWla;4yT|**Y&oJXp!S(K z*?(bS%UOj_cj_1Nk4d}l3)OhQRV3Uuiqu>hU#jqNc;+4p=C;gD?TtTDKk1ll0> zMlCrd88+6j4a1^cI4c2YJ}tmAn0pfCENh-IDiLsBgll%<>aI^%Rx#@mwYzwfQFd8| zRFtv#Cn_l!efNk2Dr_0?@9KT&os-6EsXPHCeH3C=%(hyq#;( z8$;uxB7X?rx18>49QgzKpXNL>71FyDdjRFLk*&RJ^t*KlQV)i@>Bdw%uWg0g{uo^H z1O^Mbn04l*s&*J{>TtZD>g}H=fB<^#BU$u|wqsor6Wd>C0a8s}q<6P+z{D%l!rTp{ z(bpGrpPEk-SpydRUmFV{TBstmicK?|eZ#e-WsiDb#?4ebV%NwF$TH!LF zcrf7*U)n~mm*_4IuceX5R%@DK%?J_(N!-QG)T7I%IJI7TKBJZJp8s<8eg!4{nR#JC zuDI3daM#NmWB({7!b^=EhZUx+RU076vZ-{-}_^U`|xxX*YXJZMbfRahXd zIm9T3kQo!MU;TLPC*0_1){MjXC`PKzPq!1G4B%|>;rgCg-`$Y#R2+NVai{eUEQcn6 zIna%uA8e0Qjz{z~+y#(j;}KWZRA_gXTaGD|h~q1+g{u>0Za%0!wChQr-$mX(;>;SB2ln z?a=l|W)B~(?}x-xGpxBXpK0OOp-|X_&h3}jw@MtDzZS1AedmS)RP0ro;4*a(7mV4> zi=?eu7BfWOp~*Ibxokja zaYBk@ueQFzs-en*($$Vh1I@_eTmz_ME&K#>W9q+s+%D^|8m$6aW%}{31ggsg?JIGD z#$mvG*zu)|LfXhaXHjg?B4NhXX9Gjo07@nIM&d@eLklRbgT`D8m~deH^8c{+o?%U` z-MX-Ci7pkaptPto6(Q0@YE%{?AWfy0sDOw_?=4eAL`6VAKx#y!mq_nKr4t}hLk}&q zP?J#7&%{;s`|fjnd+&37-}U`E|KK8XPG-h<#`BCZ?)x6K;93v7N|_QlRfOYxjf=K-4;iV6=_<0+ts`7=WYkV;a zhReQIFM4ibV>|2TmfsHb(Uddh=%MVn+ii*OivJ&a zo<#4ARwP{gmAridBF@716H!C^toh2G<0|-&LoRm$=6y_?#m`yKeu*rV+U@-X3F5%j zUN-QMdD&~DP4clw_*9s4epwbMlo5sIKekup#1dFOrufcezBcK%@8tk@sY~RA|7Tt^ zbFrQ|`N~DRK+MMCskg`1oyp?Snx*0Jd}SXUm=R(+7T>5J!2^w2%-B(=xXloe9@}B6 z+o?gLqK~H9~4)YK8m!@mYH#5#eFc3^U$gs$1OKfRzQ*4xe(Ut6mZu zs^9}RR<)Ih=PmJuK((Cm&-@sdfV#V?4etUbADW=IM@%%o&=`uZx>eaj`$GQGrKosg zt5qm2vH&-~20{(~T&$9$`1y?!Z&_vCt5&@g-TV1Gg?Xr9nG*NuQD&;Vf+wQHMj1er zN$~0h)y%cj_S~-ZqKUzHX=I`PezSzcS^ zPDL+B&)8FCe-Nl+aTwIGu%%%+lMht%BeXu3`}aCuDbN#N4_bcY3$V#46W@8N+q~0! zo++rZolQt7yMIiE`Gf;LD^p4BSm=6_{J=2S6ZwnJeAbVbwNc9cV$!iT=7PA8gsv{o;ZbJajffKWj>$ zKTj>&mmrKY<#V#-cl^nSCl>eC(8vdwcyMVGBQT5YV)e#_yQpi0TAyJ6p59&;Y( z?l}+--f_}L+r|v^geb-@PdGo4`$U1Zg)6B~a!}=!-QQFm-L)M!Ly&*bW2jpABEw&CBt8kG{W-YV2iTG^X!>(Jf0_P^2Q__%&VH44 zc0ln*CmZZpCR+P@B{S6CmZ}J;u+LlV?9R--aiFNZB%Z260aflXiArea3C6P9;kVPH zfnb+h^vPk6bo*Dg9~@)sJ*Q}0d2717(Dwq#ZtrU89d@`g>pfE@VCcqRdB>c@faSm+93SEkQhj5-nc#5jG^vX?nGvrDPm`IPeiJ0i2%sTKP{ zt=TY74G!goe4`S{_gN;It#Mhqk`=v9dNGT*cj^aVpGgHr_Do$;-Q#vjYxpxO%mCFe z(64Rb+qh}zO|;ZpPEy{3FsFFxtDc|*#eOWubF;Qjjhq-8e=#L*7<3|({mOP~{ynu< zg$CT_?jbw+(0zx;ZTK%eGGJBuQLGJFtujL+Lg_thSz6ae?}`ed(X>#QLYv zWE^crqxHlZ?9+(3@=uRcy&TsD+C*;d_xiSqnQh=nr_o{$)k=X7yvQ7uzNbDYh7aT0 z9(oUN{06EV9#;9kMCSiXWd7fY%y)((mGH*7BeyGiwjWru+;SleK5TpCVixp>;2i&u znKCQECHq_}QZ|mrKdmIk`Dkbd!~!zM!k)g)VWp8!^Y>8q=`mXH*d5)2ZK>?@g}9TG z^FQs|_f&4qw!0mzvrwpzd2L}Xd_E+L_kgol0;BU~+7$;EyE7}yCg=AWwc9Ep+#SPX zsp9ut#l|V>e7d4j4&tqsBa~g}ldgNMM^rh%jBYx9v~smZpU|Bty%NfGtAPVmv94__ zABY~^g*z$9>4VT?i-|XY4V7$RU%8A`<2RMyI*?$j`WL2u9K^c}-n0vKk_+RQoVD48 zUQdJ8e*}*X=#wTHwRmxU0lxvs>BP+Qo@xYdDN{qRfu`kFSXt25Xp9V%BhT&h%PcCd zxO!BQi{?H#jnv;{joJoa+MBKv(cQlSH6O27B2F?aa>EqfYV8a^j`ZX|0Hzt!TJ)DD zYxGZWrENl9q-F0#aG3***w75?VDWpBQI#3}pR!{3Q}0WwPRK2)7>yU2Z;O1Wu2Y<- z!Uw@TynKj5{(I92Dj7__5Kxk%|DoBhmKccc??*r>aACDot4U=;RKu>escxqK48z@L zRkBGso5vH>Nq8yQ9~>TeDe`Jib09v3I;V5yT=G%4Yx|?;VDGth2Ap@?4CZ>k%x<2r zm27sh$I1`?4K@FV8(SrlnY@v$*)9>BEv#`4zId#6#L8XIiBofvnqx`dhavSp(^I}m zP`xj`le(UPC39dQAd%(mMMHLN)r0u2=5E>}`5Fax3!|ankYcZ!qOR|TQa=@l=TM@~ z+Wsj!zygKGei&3fJi5Q~0IW*mP!8tBarJ$kj66k9Y#?tfYaW0uLz`gjuNTPi7ui>r zyg#ViqnU6!GOt>rpGQ}WhgTG$OCF6qBsoC8Vd04RMBO(w^r!*gB(+Qg_^{JfKI_=d z2qri#0Qs01jSTFj7%12{gsf)S!wFNgGbDF5S%BbjVB~8fjH1hqTK0!k}1f3Sr83snw^uCwu1^b~wiLiP8obkYBw+j~{EW!Dr zsXGJ(X-1#J>h=Epos+AUBNP4f!Wh>@NYkIo@=$ruXCRv)e)ytsE>km2;8!`H!kzl1 zQU;tem`*YtzZvu?n_iO&wy~p5kv1{j9N(U~c1f`Mx{g-rv)cuHZ7nJRQRwiRL#ysR zo?U)+lg^l2k+1%}ij{XR--)ZPOJw}mGrj(7Y_jv|!=KbiT%jYLes_GDhg~NqIrk;! zItW<2-qJ?S(7^3ToUf*zx*uJ8cb;x2>;#4y&&It#KF)hmnUd>n-H0-{Kxx{1_G9SF z!Dx2`SVW3}H?&O6KMz^w7YR66>DhU=YF7v}MFx~P8>rC;NZ9nNdy7!=m*q~4!=1de z^0U)$+YFqKtm=zq;@~?)2VLI%ECsIvw<>a0c|w_Z-{DBk6tG|X2IV6E-FC{tF8Ox9 zwzEg^>5aQzPwY3k^&J~|rh)JGKxOe`El4-gx1xxeYc^fc_f~!nuHl{F;&J1ExpOVi z$y_i=aK@$DDe>?!cK0zN>D?ItMDYQQa8TR+{nqx>wY9C5x9UgdkL2im_{jc2b^mHh zI6lem!T&a{=7_Xy=j44Ea;NT(!9Yw^%dVZ-aK9Gx-PBxm_V&5elT<^;mb`I9t=>!4 zA-nlgmG%4{AFt{04qfBXTV&NL!vuZr!9c2-iCz9bWHskX;tikmWz*+#(o?IHH`ZT0 z$J}m1y*$6AM15ejl!6O*J|XZ%M@6<+1qyypfpm(y=6I~@;#l2+@jUr<&)&lWV4I>1 zZDn`);SLc~QnCHqY*7R(74`%i<;hX1ZRP*fzIQvG&MUsOW>ki#AHoXuz z_!aVO0qD;(L7k*M1A3Ok_(66C(? zFA0%aSjiB}qy>#kZ%Dp)C5>28_`0sl2V#*R;tx^;@2s_Oq1N|4V|1P#++ClfZ1D9@?dol3D2g5wxjocdHDP(z#DzUv?DHk zZ?=rYJ`o(*>fcb_FE2R=)w>M+Uhi#`@_w#|!uE2%PiczlRP6`@ekiqF6xtvE58e5u zfx_J60cd=7yDUU;?BWTZR}t5K{16jWOHjR){9Sy%`u|6CXC8(B-|5aDFQjayExk^^ zmwfeYd~*G*x|VATDOpgro|8IH>4qvka{Z88&OgDxT)tVYsHaL+p#1%hpYAhiILp?^ zJvK3we`^7_e0A?RYL{Ysikqul8vESW+_E?11UNu>WM_b~gkCHJ)dCQu-1!3xcoqXM za0eyJ_8sA>SUJ_Fp~$vWHCgiJwE2FQ5SR-T1%!Z8f-Xh6JcEBV+m zZ@#M64i`}M(F1AV9uja|b&{vJBRIQE8p|wB zp$b8|a^|%Ei2&6fFpIr~{k3_k{gLqsw&sWF7eK}5U}+#n@dC&IU!=>-B;ABNd*@HX zuPI(*f^tFhVxW+>peqG=on9g$Ho#!dfLUcw@9PwdchXg@Q?A`f9|k~4%0NWgBIFYLcX+ROKT9@)FW2I~;5`#Qt+2SZ&uQq>N3X=y z1p9C+g1+XeX` z*>%TlvC&0#Sx?h@ZBtDW+FUB=$)dR6Mf#+zd1OXuL> zP^frIzLJpCH`-qNyP$}bMn6Q9aEhHtiwCFUB0#V!5v~7fJXoSeX?j2W(HoiC7d9Lt z4&)m{e;{_qqM#dtx>P9>`d)i%_2nCd6cj(?-WSTQRRvz7ykGR}UC1c)2R8^w*`#+c z5#Z_)*9j&Hlced}gf=FJCZ+F{yq^|qGJ#A=&y`@>?brZC#J&b$#i_11n7tz_{2;)? zT;162rpgzgL9#v#pfbJ2RRB zK`r`J`DG=;h^IiV-!sd58R-omhILIQ|ASj|TgB*D8FT+jiL(v;*2VgYU@>NBe+4Qd zid#}P+e?m5St48K$?b?!@DXc4N>?wnK|pX#JK&DLXR{kxHa1cV-XClX5^)IkvyGMP)#NNSaO`q$@tc1{SLLx2ee^Kh!88;fRo!vKvkWWW*9BN#@M_0}3-;ieTKC=U)ane1uT5RL}{j8SOi?d6Q0fH>jTd7v<*H z`5}n}PLchD3Ex5Zep-ZP0Db(Q;oZK4gW(lT%1F?QP6hUE$oxYN?WOC4q%Xj7nYw=; z6%yK!k}{&3$j=a{28RW@0ZMF=T9k^ku5)aYyAue^+SY)Z{r)ce${_hE2Nyy3C`v%! zj+Fjto{ODZzFH@+ol0JgZJDXj9(||;l1Fuu_N2V|x6R%j4-VI+-|M#~KE-sO6L8u% z`|*XqNX3-Myx4*7as=MiZNur6;Cmz7`w2y-3`$1})=aX#cPZqbk+D3YaOh;vVPl(@ zWOizZX>iTA+8iOrs4$br)7dV14Mx)NQoGV{Gxy_?RkC}NuLbPdWL7D>-k&NZ{!aZ2 z`Z0?iJQmk|Ql1JrN;+Amo4U|nVWs|!{B?cHBuhRGWcu4|1FJ_~VqbZJWdY<7TCQr$ zW?pg5!llEY4%Z?G!rQ0f5Pxt)_F;Cb`>UHNMI!a>!8`eJiK#kfBzzhfb#RQ6F_}BvKJFL|k1UTf~FNFwIw78Y7 z0PJ@SuB8wm4lj&dE7)Xz0d|w~Z1Rjzgm^H4_>1u`^B;`=9n#`oQV}hVtjG|aO9(3r zvS8g#4RL1xLaCR&2+m0*Qpw%A6VEA}Q%k#g9*8wn3)i;lB{g4eP=5Pip;per}Fc=~uVc?F=B9C?7sD znfRj#>>D?Odbz$&uG;W2{AW*=)~N6#EBQC)XoSOisY$u8Y%KIGfSPsYxZSV|JSPbA z6`TAy2Fga@dLanU|i*A?}C`{~Lw64x~^sfX%Kw<8P<@CtA3bzScBNL>6S9e!$@s{7C-o z=LhNMPiLD9j*Y=;ep6R(x^7^wWOVqt`U=pcYB%J+HJcjfyz0N|4?}Kwd3#NDY;|;W zb)=>g&BAz*Wz5^h$1#xD^giFBO>8^rzFB9J%5b;1Xo**TS+M0I?&My=UHiNmLtuau zmDHl12vr=Ery^;{eEh;r zy+s>=jKK#+T;U0}UF8O@KggPZ&WF&HD6qD|f4VxuGuo3{w#m+)ETEOd;j;x}KA@j$ zmv%WMz}6Yjsz6V)LY~iC6}CfEQ#+JMiZ^0vr!#~XV7EMDg==we+0?spIvWfRaYb;} zG4ezOZ!SY=0ixi%+9f>;&i`n9TZOyJE+AkP!Gj9Ega7S%o;onVswrccHJB6iq!8Wb z^>f&#H>>*fn}-_IMkz90)ks+eD0?iRnc1?{y?O{@wgFiqo3p^xYF z@1*+4d8~N~$@>=b_u8LZaL0rNxi-8P^7dMl;fnJjdc?J$6!ciB*Q`d%D@e@2NWzT7 z2*I`+hyQ|gcA!5LK>JY1(uPx?rBd-C(YeDz!|Z&;v`Z@GylNZ-*I~8Q);-#ikbD=H z?WZMkrn?N=#G~Z3H8$c`>pys>`js4wZy0)Lv5A^p*RdK9vhSwae%MJuFgDEUD+0bRGMmRn|mwgCw>-ks5idKhJPL6<{)j9I>oISHb6?SO@{@4o&#R3aSpYk8h z|0EfGXroa<9}1+$8!~f*fecoKA#1+(oF-ePfMVyJ=TfB-Xsfz)sy~@5ao)Y7;!~xq zb#T9^;VovOR=5!iKu;bj&K`{;=VMT1%(7P%i&!&6dbRdl*5}DyMU*Y8k*qxoXlc*p zPvuY;DB<{6_y7S~K#RXc)s$u*?bnN5vjR3Y8OrlNlx+HSybcs^b&(@mMM9l;I-d@a z%@)yR4AU00txV5hr?@HO0@g>grnCC2FcyE8Mpnl@o&VIVHK(j})ntQ=;kwm+MyYT% z-APIVLoc~}PS#s3^tX6Z1Km3G!~S(`t`RHF>Its|zeIb&;1TY)<G5BIs(?5gE^Z@etp#V(;sOo*a0%9oSW!nT?z^ zS*hz#hWQ|#D8-kuog9Hnv9O9*LlbsHHLb{mS(51-$TA;c4~(;Hn2a(K=(`0390nA? zw2j5XG$=c9?J>>3loHT=%BU^G{bFHwuR_R8*Z^_I6B#BA<{NerXalCmMWB1lJ_RQY zJPKre5pg$KzwgH~j>hanGP?p`fT2MZO#r^WswjsTAu=fFL9IN3WFR^6(`t@;k2b2> zsUI6*wg}`Ow^idEzW+%Ar3M& z>eq*&5ykB-At=Vt)>)(e0}*>upZa)rXZT|$h8;VPbrj6=V+6(E{4sbMqr4n4upU+h z>fJi`*OamCbH7mBhJyw{VLF!E&ODawm zBz$Q6`Q7_Ihbq~=Tl)BN_HqEjSDpEX?blSS;#RGKT;Wfc++b0&@kPePt-4cvG1}v& zjb#gLaf4T~_LgDr2_Kc#3n!&Out@!h1dq>hiD+Q~TVileB0HNguqmYJ<3P6~@N@$1 z%Fu!C-hl0hT-8X))3iWcB|;M^YroN=2Jxf(hu5@`G~DyGs`7>UmgcFiq>5J+amaik zIv)5L25%Y675wa(o1E5gsw=xMa5rz5^>iI4*G3CDcuu3#iKu|(N=kc8KYul znpGpmEGr+9ncJjvdJa}PvD-I>OjK`LU0zwP#crMI= z8ons0Nez3oHCHx|4}BvD?yp6vz~_Zb*Di)SE7ZB0n*Qk3qQR_YJF<+GVT$-{o$+)I zNT=!@A0I}TP-7hcPGxra+K_AGdyZT`!3&X~Ush4%3bhDWvNpK8E}|4tq7axeIaiqlbMw)m;=n}%(M^4Y_ zFc}oz+cZ{3D0VS>8qu$V9I=wj<&!h%q0?~8cj95RH|^tnjQ;mGY{{$7BI_m-t~c8n zt)8spLTqFu59n-^tfz)H%~YtO3zkDY8IK%+e3FJIa%Pmqx~!Q<_)&UEEwltly_|h| zTrr#fqwK1qXRGFoYO{-5Ds-Aj#^tzyA{?yuXmi~KlPre{laGRXQCLe-v-5Z4NS3G< zz9r|#FkzK(s?l?4LvJo%Z}xt!alImIvjvAyO%nW0<`*ZK&Z~A#Yl!R6l9B^Lal zR&LH8$2T>Qr?gimzI(sg+ENlz?Y1Kr=cJq2f8y>;Dm?qS+6{9K)D-65K+O$sWXQ1% zeDjwzqSpq%BOf#oAo_AI!*e21XGQ!_bFq<)i*YoCHHLWuE#uY^gZ)lJwO?cM2xj3C zpSLzf+wr{PW{BcKwiC2}KdX>k)XZHoyPlHP*)bXRga9A-`F#w(@$wM)M;;=glJQ+1 zP4m2w#_Fk`rA7sOPMFi^-NF|vV<+RsAOlc27s-6RP)k3!50DqE2TH&G89@O&;wk-u zC%u;!i8cb|OS69YF|VQtD58%OUPj3UvehFHf#x08ZiJsGb6S8$?#49_M`kme=wZo) z@3Ij6E}p2~S06S|57Pr1Z>r(uRcMiD!rM-^3C8(8pxF+W4LHu!XrPnLX7%#15aeSs z4H}XHD`Vz)vEQH1!#D)s5 zm{K5^^}JiZ;wt;`5$9!C?6k2CH7qU$-0j^K@*W1Wr!3*8HF`;Ngu?>hEJb|QHVa;K zYImTry+9I;x^b)h)ycw8;T4)Yyr2M8TM5#IB z47=*3&G=@`e);iQKbeHJg+s1-;Y(9iBn-vzaU4oDKtmV*u>Y2>qZUQnWAu-RTGFwE zr@1*ZcujVzn9!?s9I_VH6s**%f`QZV0%_(g%hlRjGAPa;cNk=E-}S;gTZ#kp_DBeK zOoq|&g*?Y{cNb?8I>zRws^!e|F=*(+LwdSZ-Y+kgj<)-DaajcdEu#wHHgvU{MfMzxB zGnHEF4-ZEeTUCM$<2fr9HB#+lyC8m@~HG!fAhR?CW*2Imu7U25HJSL7+ELhLPPl>tGFlV z#}o8WEG$aK+v=VuYu#MfgO=4@H#r`#s9IG!C%GVY{Ech4gm(S_r6mf_9qP#vaHp08=ny#_%e5Eh>ku+}ak zy?{hFj3T5Kb$l06i9Z}vT)DIs23FsGTh8H={7}=ikm8N*36W!WZx{ThMT;cPw}I)@ z$=BoV1y$r>jxn_^9pT$argmH_c)#XjB*t?5obA1>qaJY1%DSPSqHRB7Hisr*ImetKX`+I?aq1jBkq( z!`$-c7j>d8zOUL8Duo?m`cnHHi;3jJffJe60jJ-%OkKxxK<2Xp2bO!xZZ+R>Aa1n< z!G9!`rhttM_)X}&M>-h^{i*H~PojQyh*#1xFE121tm{RlrWo+Q&cje&rG_r_u z4YLo1V5%qhc9r)yrG#fRG>^PZdVZv_mRhRzg8C-AquYI1;|cJCO-TTLh+_6RMtX}Y z_W-4TMhVDYQNnxN6$j>YA> zIdJZVhvVY}!&%d3_NIu=BV)D0r9mS<>CW%@bVp%{7A`A?1#Bh>!yIHU=-9{=`TSMX z;}i!$(|`=QMn^TiZHx}fxKIHB@$IaGJn4YngTc~$H9=}1@3>#;7gkLqPh;Tolfnh7 zk5k>rd5~ICeupyMqPWXz%qC+)o@>P(&gd&Jj&_9wm>YFu&aN8uyzd%|IAB|Crw{j? z8YaIW%CNVBI!fm6ey@sK6~a9^9r`kL>`fWl&JmVB&Eo({$->&D+p0F0rqQyPkemV5 zw;`zyVYd=P(t=BNxj`kf;_gB<+Gl_Ikl%-`{4RQ0Tb=wP#kfs^$=O*GIPqHr=4sN( z$2lXPH0W!JxZ6vff$5k^k)khWHwfVheHR#KJ zm-`LwgA7~yMSS48q=wb{C;ztY%qN0<^Rw;g-k6&B=HQ-aw(`T#kYCAf4=dw4>ivx# z;^kqqn}AAZOB}~$Y@v!CS22aIhi@~j@qDKeIU4_>c(Z&=>oFbqW|~ke`Fbb)IdTTu`9CjYI0^& z{RY+99!#PY5Tn=|uO7RdP;Nr#bhApE=TLLtA4>9JRtU^C<~&fEFKQ3S)rv4R2Wz1s1tVwV15)`>#J^+jOVS;>`5XxA+S7t#VWoJ8D+EoD&G zG%3z0uXHgB zUQdG)+9cxXy?o7a&T1(;W162VdBIPBsp3zxRfn9W-E3X9lW>Ym&i1Bm_I9s`zs>st zU0z7()os)CKEhS6YmA0eL1nr|{HL|Pzo6THK^+t61PpH)t$l&B1p_y%R~#m)f}v~p zz{zgq^cTN>KQSh#%&<#voi)wlq!09NVZeeDCzBqbmGh1|KW{5z_r6QDJq?~~s;OBc~SYkOl)r>w}pE>S>RU6xW zSpRj`{H6Q&s`cQ)AEf3J-k~eqV9=^iWyh4W>zUpCy-q9MAD29qzO9KL?XFB*;@L}OuQJR7wGo4C-5FQ~j*PUWjo-`&k&N8hkYS?_#E zR=)E+z1I744FJDFYcb1nj|zX|@ywfMildZ0+`CZ+(kJI(SAX8lMVGdtaGE`&tjU;p zydp3~C|3mnlm~>E*nk)P@)beXKh=DPk0WQZx6cbxxI$Hkv z1~=Ys_Qn~v#t)ISUwd2s2N-4>N0bP+{c)atc@ukpRFio%LlS>p1#pJ2L)8 zWLY_&%6!6Kow&^f2hU8DKzWlJ7RE0mH^gn{Ke@i6v-qeBdDxjYzWv4<(Y5z^%PQ?Q z828UetYV+GSzknJ649zMxUOCqmlFU1{JXgQ|F+wdDXFZN7UoqL&j|26yo>H ziJzk_kTMdqxvz&MKR1_E+-io5v-7HQzCC2dE@Rhxixz(!5vp;-KR0u!bRSC@?Qqw3F|}Y7 zo4=>*k{U*F|`-`Bc!*Uc;>LCcGUmG_{M^}H zK?54k=j_TALxFOJ=9um$!!wE(3Ww$r;N>nOH!hb?J(cz!p}tW0vEoVZ3T{mzC4jpXC!Tn|;`Fj<-1(SDPPcnumV9S)v&DW}Ww(ZyyQzvhRw=ZLJ8Gofkg)o*TTkeUz}^uXlW+v(E?d zIL~q04ukAl20!;zMtDE?$YTdD*OL~di5BGFF3z*=#;{m<$LX%dzZQg--Q z{lbBr8XH(|)dxErS9h9yzAsn#e`=@JQ>T>WCC|PW4FZoLx4~A2&SRwAZr|zk8bUe_ zen-Y{>cv0Cl!&;lO@wWnb}7iObF8?o_xGW=Y2k9`;WAlfR$Hb*V+boTIPU$i|M<2) z6&;Y>T8F#G<8zHk_);>@J4k^@xo4=e;VaHSXNYJRs@Ct*`cB^w3-d9rXEUsQ7gij` z!sd7$i9DPnj9}cluH6J{RkXC)t)A)cRI`z#izOXW-Y%@3F?CDN7@6ECbW z^|ACJjbkD)V4`x_!$}HfKMOm^mc5agz&gh>CL*Bd%=20vF$#5?n#Htj;}M$oM&G)2 zUc)>q?qe57kR{7Y@2GT^rm+DrrVw`Qs&K6?QCJ6|Y4db>!T+(@3b$oiaH*w_E7kwU z%TE$?mu+`aQ+7pd{4E91N#tXC_l1O~>QSQI@I;?tU07#rX&0O;_dYPYb~pmp`@Pc)2#-a$L)da5j69Dat68%LQJ=1<2KK6N z+`pW0k%S*SQ~nN8+zQl%L-@>L_Hlp%yQYXdd~&@4bUMtqAQbFRr_6}5#qE}>BLY~g zB-=Bq!&`fXd{7O0VGWQf!$Jk8)d|KAW5kE6C0&BaTV~EdwY#lxsdlY#9C0i~;;<^c zHIHlT?$xo`0GUpP*d$W4Mz$BW5maIOJ;V4wQ_cLR0=0&OpGC*?6qo(pKXaeglr|rs zTIVp94|_(K1V((U=|8t)Nc-glXg5MmQT_8;*1biFn=E9LuO^Xr3(UY%@Z&i>H3t-&vqEsCx>YQR9gtOnDL$teB;3uwXhhL=0XQdSsAu#t0d|DjGz(TUlDP5hMn%;+-mhpWJ7_H3`0!B)dIkct z@W7uI)?PTZwRoT}jJ24?HWVnLkqn`}sqzAW#+lry4rIx>v2=Q7{3=N*to z#{_QzD!4@Ro!VU5=>$u8brzqJd)&GjHx;A-Sz8mu!b#4{fV`Jrk~9lU!(5vD+54V( z>RB+~=Jq(ZSc6ptf6DK*N9x%7t0o(n!Q>mzz}~M+bxARf0@*+-*;qwh96!3^Fi`o> zdA#Kff?`dDgi=R4ZH+Xt3#`a&ulFi0Z}RN5gs+MmmHYAKPE)>EWwB->H)&Xc1&n zJfgXsHG~k3Nz_lhew<1DYR_My3kz5Na;)XK7%Zxa+u}ZgMRQ-MX}fFx$Iug36Cz43 zAl>%e>k}t#r!yW80b0rH$9G58Z@S9ADRFh#8jy*2Kj)0DeTk*H=z@k${@c*V@-#Kj zu5oYbmm^o8NvnW`$xF}QYEN9XyoF${6>TA77BKCHTF(2|^l_G@+=@|*i+eG|rNR77+r26k%1F^J~^QQ8r0 z2W%`6wS5~u*`#9GEbF>?6!&8=ua^suD85>b2ZNExf_%j~JS{cpCQH_e!rh)S;CT-$ zWSeR?S)YN~M6vz&U~yB4aW!QOb2{FhkZv_)4~A*5A(rRgEnjjUEK%Zw^x`GB7Ww8c z(Qd9K&#A@_&6!>oWh-fN+9TN{pZccwC|_<Prf%!@WHAj9scaf<}@_w<-H=r;lMft-^I^PvBzQlfZ>khZ!(?JR;P6N_X6!`eseB zAf}Ysf63TE7r>XG;>*g%Wv*}b&u`7d^>TUczp57OkWxCfIC0`dxxSbqRMp4)jNDR= z*}4%0`4UK6)==NQt{(@QI5zxibCPKmJiRh}woXCE!}OO$F9z*cG>`GPf5)QdcYE&g zTVy)_hJmxz$y{y$b0WNs>KW(T#N4#Bfj7q^_dRu@VQExbO_-w^hoQB~FT+~lR4!r) zsvdq3eoNGYNJ2+l)lTwIJKOLTfBjAf}Tt(0pWvYnD z(=(k}D<{V4-N44o2g$LB_c>#WnbpN=NJ;JL{vY*NOtB~9qbDsf;W8DcM)Uoh@cHo` z(|8EfrH+EGRqiC1>@45-e_Ot{Xq~PMo__axZO(z+e6b3hhJowd zE;`*SJC;wt53_Y;pc_Yx&0cX9&p*~? zy5}j*>{nIE%%xPQQf9uPUky#qgf(2@wHlKIQ48}%y3J#{{QS)&vjhJ3Pi0yJbS_)< zFtVCp7g1pNyyX3`Qcbd2=`ye^KU&?^4j*8cxzp@a)(t+9zoS?m+~FII9`(~wdmE&S z$m?@WD?D*&!Z`bNyt`nf6||AS#tSOKHuuT_m$Pi%C4R!v9u*w$E>w(b}We@1a1fx?JKJ968WCJVkD zb3YOIP-S%Ub#MFZ`inIDZ-~emDs_~wdgpN07HliC_~F}(GoE=O%qQ0Xrz5M=_H7zF zhSZK*s3|ad;ihOa^D^0dkD`&0|KUo>%WS8MQ-guTZ7Cwf5HKa7LMgo$8VVF5@-dNi zdh9&kO>`|QUxT=f;~l>Q^sJfU(9O5e3K8tjG>1#nv9R&4z|=b#Yi3OL9Ub5C`&8#8 zWf1{b=?8}VRk#CVU?;|!6Hpav{lgF+rB`=ba#%8M@3AcruDXQ7(3kSO6!z>KjW{%TCO@_L+=ttE9j9zrmz@N6xq zurj*vcxgDge#N>kO&e#Dytp=&l}?D*t-(__C$OdHc>AjbwGvVvMTaVD4vaqaHbpFl z+oahVMZ*B9X+3pmudmH*fI1svpnAJ4UB=@*X9}Np}`9(e4!V9BR{QO<4wy`@Ux0kYgTV1%%>Wr zj2T;yE9VCKdhbjxuFa9Y=V99$;!_MRxcQ{Sv7Snxt)9#F;6!{Xl;`)EK3Ryh>H3Y^ zt10jjl`w*u!E_6a2{zfaRYEfJpH26M3&zAjwCM%Qo*qeQ8O942WIANEf8w{d(T1j< zr4i(H`bt>cxPh3a8k_fF4?`oQs1F|Aa$FTdJ7KF&tTF`rx6q0vo_8vgs=&_8qc+q} z*AolHSc4#XlHRx&bllT36$t`pGT1X#7VT5wsB>Uj&Hn2cW-)1%|1wUcM`doMX5x>n z3_Fr0HR76+iM{j?2KA-c?-!=!2QfdyG)3cumhEt z#w?nL{oXgs;&AgAznZP>IC||73C(U_brOkiZhjXnR>&uekDy*jv>5m0#iD8tIMjaq zvWi)Npc!Ygp7oB0--zTYHwUwtsg=#1&ur*pMfl2rtrWdyV5Y~95G=pDtCTN28hS(KvIC@R1 zWdL6-HJW3tH^hDRu)fP99hkijk=$U{Fw8PtjBI~!(D@=;mF?G2%ubXIMAt21o$|-M zV;HAy$#s=gjAbpUTK@{=k);%rs|YnCsy>5}*D*j#qEPLZfdMso>?_uN zjX8dTT!_PKks-D$CBBs5|0dqb({ks;{K7ER&NGnH^2QvvOU4zgM!wfT z@z2k?0Te53L5XR2c;9i=99B;@+J0V-40mAmUZH7=GhYqzvgioUs&#lD+LLu9oSKxa z+}{paM&muboGYr=R(cAp?M!W|IHkc}&sb$!9omKLTpb=z1eb%C(q&~C+TNBzLaDX# z+_ACnhcEkQV4dqAT2-@!D}=g<>z~2X`>lIe+DE(Az`08g`hmODK$>PG7_}Av4co3u zY=bjB*HC}OX)HS(&}(N56xa%J-R{Dtm}CvGdhjXxh#Y6p8Mtz>Z7*WMmg-`Ssl5~d%9v##s+ zrn}amCq^gGeKX}-Pc#8sJx?X)%A{&;t+iZ?4J(KQw#?f&8jvylSI4BFoOP#RD?C-K zMkZm|4)Sg+Oi@_Q!vvUP+SH`lRg#Qr-vQE(vMqof1c_;~^`o{G`vY~`LrzIV2Ub9f zk!AjPH(-X~G4m2pAk@nTKLP8^ze?>P2K#Y5^`zj^1kZ>E+F|aSPp|k~T9it&Hlu<& zp$P_+Su^Rx(FVG3jK=k?^8Nxl%wYV6b8UH*zGryXcc8^S|XTSGfJQs4()4NFBl#X~?l}I3*4baz>s4m+jlLKJ}3LgBP4VoOS zt#g7AiX3xBOe#fU8j^Cr(m9K{XSzB2x#D;rF@eJ-R&s=+3q+83Ex02doXr*NKW#Fy zPmUM2%+ek5%ZRpyY&h%SkB`$B`c#Q!@aSREkjIE4p(dHoJXW4aAX_S80BJ>RrlVKF zREILKpU%F?a;m(7)xR3PlYcoh_w=A~Y6TkFH2V*LHnYFhEEPGxvKv^ApT&QM9a#nb zW9@@g{#1BRx*-7GUV62U&cCoU``k0^(<2!3wN8rwB+{p9aQUai!ZuFhy=<*IVBZJN zV+F7r3IJ6LvjzHgt^nJYohy%FSeudMty0Zq{ug`S8P-(Rg*#&zY``c20s`Y$P>NVU zq(-F;U8IB_0g(>Ur6no~N>vn)8Ug79L`ta1AOg~RFOl8}1VTu^8)oL~^ZEU_zwVtU ze|VBZ&N(}4ukx;Uy(el5hw~@9k%|Td6cX0517Gv$D4d@U3yEYV>-%+8 zz%&LjwbmGmajw|bFuBi zV$4_ux;fd4A+{X)%o)@RbOAppBc7W=GM;PDrcTSCF*Yu=jqU5hW0hGD-DDi-fjJn2#xpap_3Q@Qa#6EaO zrw)mEwB*~DURw%ZM+}#()cG@%#I*cz+fJ7zs52p_XTtdnH_%Vg&(f=(k19vg98X5n z!lwGva(gNnu%W`D`~_E!!3*t!_XH!((b^O`p41NXmI4OYR{;1-Sr`ReupWn>wR^Og zVY5T-n4~uttE5y+E&7W1dqU{y@jhJ_U~a9&gLhmcgZJ-cTH^x8v^up9fQ}XfK{XCO zS@9ZsBr=yd9L88Bz#HO~gl?6b>P7Mzn|VJRJ)nrs$bdwMG>O|&?0W@c zr0glrd?We=YoIx_SuOnvZrK6i82VE4*I}_Hk*jSA&~zRd2^B`3`O!ubc&T0%jGzS| zs_#Wm#V`b|z%gp>fMM|Z49u15s^<<@72EYVv-vt1r$%UcZrNVGDE-IqW)OtX3DbcAj{9n)OM{VT}B401YjT;FGOIGER4#tx1AkSDW{%SGwomY!Rw zc@;n!QdJoGY9|JPzsq{nHw@1^HFLyy_$i@v^@t?x-V03mMOxrygNA#X+t@}Dih`bn z2y2$mbIU+xKA=c{F`L@&k;lmAh%t_XX)v2~B+h%7lbx3R3t93A*}6zZ?>kbl5A3yM z*ct+{=u#T7lVP-3D2G}>cp}D| z3Yc`FD!zp~9mi$fXIaDvWj7q?@ob2q8dF>DBQZ=nq;}n?h(X$|95bQ_T_DT;$ z#BECFz)rQ-e6?~hsNhtbN-b2uie$NB)irPBF+OdYx0WhE4Bo~_4XU$MO{d(}?(2B# z6Wr44V!&cPBtDD~v7LWs{qC%6z8DANgpew#&#>(J2c5e#l>NN0IwiV%upW7IygfBiem$KskAFvFqAQEywTrSm2&g-d(htOyc!yTF=xuojkhR)&+PCu(Nm5{4=WZ+|~TXSG^kN!Z*x2G>6&OeZyh=krkySrCLs+Z$l79T?iw?3Z3@dmr)sZT$1 zGc}qvv%Ox9AXg#g%(AZFG0pC?Ooan@anO?~qUy$b%WW+W20Bu71-eRd+pxhpVc10m zz#otJRu(Q=kt3RyI(pP`jXvXtVf(LSuU4Dpq%WO+O4!1zS0tIjMUG4fY)X&Gl0r$0 zgA9gix^taBFHX$|%Qe0MZ{`<=(+8^8cpJg>a5e03a^0_X3|-qy_lHxe?Z~EXHEo~# zyJ+v*#Cd%r=VCWeMAez%_kwLOKx5a^e^$A4`RnivDHnH<0sDa<_kz7YE(%wY9!S)b zw1es+daKR^&R#Q}@-nr7(`HiURfUEMjcXhS@Q;nvJeVV3N-v!Yy+tlrtwOop;u$-G zC@{sg)KMF8lsgZ_6FN#ZL8(K$V$|)E_wgyYr>2w`zcA%B0-Z@JvU-RM9NM{q{G9~A zpNDq2NdRR?H{HP73|L1~02Itl6iNs&=|E9DIAU&+1-3We8Vwm5Cmp>%L_m6x#Tr^j z(!xaKsFLDKsg*?0%1^>K8Flha$s@;B29AtYB7F_M{6sP9EkVs>-G-yJR0eH(Y(q?= zKW1AcdgRt4qVb7H*xAuxO)l7O-}$v9M!`?aC#((ao-baHA23BfTgX%5T(+ z4JILsH(`Opewxt$^6T*3+IW|==+POt9o<8ZDJ|qfRZ)>X9&dG!_j#up^LqxW-)A5? zGWyfc20D__{jjBtp17j-^p5p>~c2S^&tTC?S#UTW{O&UA6=*lgc-IO>(im-;*6olxCgp_pPRC)S^5hY9u zd)ilp>tFH&6AJvh`1+&laOU_5cF#Kh;dUiJ9593{2q5y$GBJ3UM8t=Mj+VPT% zqF7oUfa=dCltBt@Xm))F>o52X-L@_hh8W#7Mtq3|t;^d)qtzf^<9$zySI^cjA=cKA9)Krs zdzsN6l5#S$aIS9}D@`uyN0w}uXpqIO>2j`|%&iS-9vBQ}v%maHH^{2-O+HwGH?ESA z9#n~jW*^U=V6C0CyyGokv?@ybII(iI=`Bsh5Q+WMAkIItCstDssYe*_ zO(R!=Z5KnycYDKuSjYgB1F3r_2wU5CqZ?bkMmgL_R~eyXy*@NvlW`Jki!m81#hMjQeA!==LoIyfE~Ew<$+j-=7Z$CAe`tuUdKO{n`5-G9y~XFk@2Kziee7q~=*Up*FS*MZn6kcG z%Nw(?7hcS$p_J%xLPEGi=Fg_khqoQCvLYtU>#Qv$qktVJMNdO`F&Rk%-M6WcpU%35 zi{v6BNHTK0h$8Xm^j5Zt`PI%s%-8U75wBI~uh(ZV=uisO`ezu!??^Q!8+pe~ip9r~ z-gG6Z{#nAK>gM}sI`IG0tjN@HaS7$^zhq6P7UcOuoA=gLBxhS9FMH)o)04u{-ucu^g@A2*pX!`Eubzf*WTeZXI+$lB zmQoqzV(;Be(9LwQA7$p(RFs*mIP5P4<_CTJL?_6gK9D6B5o^ph{}r)`A* z6=@^$#bg+BBLqWh=KDy7GI42vZ+8ZidPo5o&A|Zss4ks`MC@Q6{p&$znY{hO zhzpvq!W|1E;!Y5_Tl6kSfi&zP7zmPd>L&vdVvaum*!33fuxlS62P~hE{|vu)DjrQQ z0LU8D^&E#n;Hg<5F&4B0YB^xkcS7NY^ZgX9;fvMfno`z@cOm2c?MtV1Z~<;6O$L7l zYz?X!`)ypK;_Ne%wHezpENH}bW08bsRQg$_E9zG|KqcO^u;DJxs*?N?0kbtoKBs-q z&8v(4>n3``Z7#IJ%*8 zuLURUyGdb!QqH~IBH4=Ji4;X2Q~GL=ORL`_d6h*2n0TH`ntGD5#ZR9^*vHR+ibrbj zYTneAe+y{J$Cy(1g+YmHoRk_gk{)o8Jl&S6-N<+Eg8NX(>k`3!g8%9Utl7zV&chk6 z>fUT9@_E`rys@6=#QxQtxrcd$jxHqdw-9?O{)dEa6b?KDxH76_RmgnXgJa7DyAm^v zKgcm%Qm}H^RcdKTohD+_zM(VB$QXiGy|@_fSgSk(z@9ivqNst|=2wgX6HEd=)4YQ~ zP1Mkg`;nj^xd~9|C_6)|xjFBVOLk$0U5$uy=Y(xmpK-;(F!Wm#Pm7P2{Bn8`Un*%0 z`@GqJqaRfY$}eGXUD=@?csBY5WsiokeWZ8MZ9WN3O=p)5|KQ^CQP+DhQ2PPgrcizw z03wIli6AFVH#P}PZ zqbX=N(AQ8jN*(m3AO(ESD?o%Lp-p>>?$BWsJ+bcFFIk?*vHO2jsbD;%3(sP?=mzT8 zJJgx7t=I8$Z%x%#zCYPlxHVS74&9brD46*8hr&rXJ_FJW6(}pu) z7{EzqtMaR+6kH;0Y~mdsE8laFvc)6xbmSv6W$VIgZE_ePq!ExbDKOjUMoZf|8>Trl zWh8t3tY9ErLk7WVlcK~>r<2ryI$auclxyhm32Sp~eT{$2&}=+xHpzA3*Ok5y*H?~F zIHBv}JHuPNwkWcW2Q5Ya_g#O@L?O_ubdwqQcD^WfJ>7sAaS9fxOY};lle%W-f4J=9|^5D$TI~|265ZqwP6l-+fIL_ zTq z@_gQ%%^1Cd$kjO;hy(#7G~-FCqP-%&qiPfH_%Orps;+*%X323hF!-6C4IP=zUyA82 z`7a9GkK~i18k_?eLI?3PQO&xG)ke$<5tQQoYyQnw@=#FWpK23?9efb%$!My7{UFr*~(5he!zigotx!4Y2bvsG1lrr$4 ze+xEsyY4N~dlY&G7Mk4c&zK~n3@4FHJH*h(DpwDq!w@@5rS#reqjs7kk%gdO?7%cEp5F& zfhp052V7v(6pIEU&`5(>-*{BM{|a1Fk!jx|*rt);p+QD(VQZX>XK^hc^XfYxbN)k* zfS)RtkvsYBv!FU?qCD-^X|cB%lSP`nOu|?kq1_`YHdN*T^Gjf|JZ-|%8b12*i~DF> zM~gmaVL5R6^cOgWv03S0=DYyaCxXhmAjwni-)MB*YmMJPgQ75bhD@?F?JkN9uDqj~ z+N}h8!xzk^%iD)EUDP4wyvO&*=*D1_%1!_WjG?O!>w5ZgRB`gp#tAAgm9&Sg$VNZV zxIg)&58kNzEp>KY+1sYhKlb+4;gfPqKoM`-k_~%t5u_g1U-yD4RUF}gg8VJnAmTgn zRv;PDT`x;$595gsDW~x*0b$~&E6lWiSm`lV@T1qyuMGO`)`%QIlP7cgu)(EeOoc!+ zOTOnY@uzs#qKvTtrLZq2H^k0+v|}H97*3&(=L!$jIv63bxDQWa*#}0WVipk@FPg2$ zh02JS?m`Jhk@hAEZOy*mO^K=h_-bxzi3Dp|=M#&a%jEu>J@xD@0$KY*aaBhdm+tg9 zz$zcQ8H=nTUfG#)NE;Gddt-XR>9O*Lp~9UV9##JWcbn5yFU`NFz)KnQ+z_kR%FLFX zIp3B9z^q{RTS)A@VK@hHHR{U%Devay)|LJtqkddP?bnJFR{rQnL_QG^akAn;fcBo2%J~ptgbb?I`Gy8~rQkKp9PnBNvh!N;K z7uP@GF`yTJ_;uNco0PoZDoT1vv{*9!h)WvwlsOvRnP7_7HK>e>+?GG!(dwmRFoQjw z*CTL(=kwL+m33*Up~bB;c){k6Z4+6s;Xt3npx_KyJO(+tyvn=ysAl9?>KPv-WI*=- zt&+u17weKH-kWZE3!5z{2$IbM^o!jEipE%l*0ZPKhd*uZDi^qnyt&jKbg?=e90T=G zIER85&w{7ZaxTt3+Hkp$lNe?}J-aqQZLkHC23G_XR?e)1fRWakrIZI2k@H0W22pG< zWU4-ys^1DAs*2W}_;LjS5LP{Nv^vP>HzYBp6B*>|REkxq!83pD!9_yiT+`K=7{Z z#Mf2J)|LFavXelMrBSB~%7)rgt1|7yAQr1TMTWb#NX|^g1pT;)r#2L1Ad z1vC#q1nG2G27YXmo1@}^=t6_1OeTS3(%dz`JRGc*qu5og+)`?K4$P1bq(PAI?)9kP zo|=HMMpk8;k&?#CmNlYfs@`B&_ZdkX=oOev;9kDs_(at}bzhDRmJ9?C5nUsX9u~`k zZ~=R8%_1_^uXnB@HjwTCgEus1cK9GoVGe5~AW;#2Kk@3OEkERbGNuEjA#bSnx5{p* zg6^>B9`n0dJ32HxTQF|M`oG{S!^*JhpFmqURxOXrThXKJPBe6^lhkw-hyemCLQq*o z56x(fy(a;yCdx!?z(D_SRoT@DLaVCuqt=`FTpKC$>8gzR0Rqbe_0(>vouUVB z@+?!qDaTrp9%p6g$O~bR#;-2W0*f|lOhK=4+aVIT?iBi29)RuHAt|v~8*B3H*dp8u&HD+)6tVB>;Wrsnh@?$nKJIQz*$`iel(vEC2tKL$0 zwzsQ-+d@uiKBKUXT7QHeOfs$%dZnGurOrNtHwU`zr<wxGA@6eROnst2c%HyKq83 z!8%Zv!zN`$3Cg>I002`PB6_W@h5=}6yyqA1J&JXM=>BL^saW{ECAD-%9-$f0KO-fa zw^QW3X;2C(1%8)Zj@kcm<621av8iRcauo3lwmC+b$}uz1v4hE>%a|@B@n(%Hr1l+I z1Kng)&5A{;1xa=;I1OGsYJW1Zk~y=)5kGQ_;Zbm4ns#QVGR1%^##*#Y3h4ey(T zjmVf+J+tX?#-0#KOsV@d3&KjXr>>6Cx~}Xn;E*8_QCedRlNKx>1Odcir>h1{uxaFl za_uzd@@EQP8tV-}G|0Hs?5lNKK45J9^RQuCB0M1ab7$%>iA5LQh0!kEkvZzeWz*Wo za!nwTJ0?R)+F`!4YBMDI-215zD{()A%!_0G!9*3vz1!)U;*OhkGjmhw(M*X3Jm@M? z5>922g2gsp#ttjUBL4AdcQ)^vok{lbN>!`j>XtlAu*{c8hioItuXhUpg;X8tL3QDYp&5x+x|zY6|!DmqCj2t7{Kf- z811l|W{nn1&vy2^eP2^AwaL?C|a4M~9W&YAnC9L^w@n2VkN&OCxQO>PXcAszU5rUlDOSHds(_RpYi3)B?+ zVa3_i4tLXDUv4&LEtq}lntEc+ik#0)26`e3EaFgt)*Ynq_I|YFMKcw-2HPR4(9`Q@IabT_kaZ0#vSZHL1fq4 z>HwnYJXU37{^D zO$S{m)Nc@Sb9hvGKV_+o42HvY&AVf6Ofa#MVcd+EtBE`?Vkr4`&3COae$FY;qh%rl zeuyeKj)Yu+m!anGq7WABr2?-bnG*a|T52F;{AVm4E5r|ZbO#p-0=sD?J8n6 zlEPL*1c@*2Q-0eonEJW@mqSv^wIjJ%K9>EYbTUqI0pTCT36)?DaMzUcBD=lge+zN=d; zGeOXln0Q;HM*mPjBETPJYikZ7!e8s5Ez|%=;B0LFaT@ua4(QAR3e(?r)l7%dRapH^ zc7~zK4RXawpMq|(OWH4$#HycP;(wP&Fc;<1nv8unJFrpJkmgu zVTPWn6S}&AzSVef(lGc{PFC{8K`K6Be2kD%lTcPldp`shoM@g!pBTRjD}+t5weQkRKmzul11(0_67VsFJ|D5VvFYp6YvLRPpi+^~ zJO%sbpj*R=;}2;CFG1Y1Qv%4d`e>Z#%_KZ#`>k2P+BHksjP{~3T-=&#B}$noj4q}7 znCk7D5{=Mk40DArp9jz=VUy=_#yk+#3m?|YCePg_mW>7spQ_y!Ew_7*&>CYBh_K?T zLlMRy3J>%;;pO7l_v*c*VnEB7Kb*BhA-S|=m=Ji6Y0qlihtz>AY&W7l{^ZiPpHsPk zxfK@f-qA{e`I(*5Nf8C2G;hmiq=Nh@g%6^fNNKmc7yRK5m>E@tuM)N8uW$0nyTLw( znXcRd7@(^3{hIx0=+Ds@m3zOTF}v-n4!z*@pTiiA`qO6?1Or#5KGID1Sh_T~1Cy!= zonkJd%*>K_8*gK`8ZC3dha7I4M(za)qoepAcZP7%)xcx`pdb6jt4*ZkjKKcrWeqc1 zE9vT~U!Llo$-!FQ^@;vH4-A`yb?mw!>{U??wAf2Ne=WXyQ~U!y0dvn9r(4)no2?3P zUG{N7KuTofnX%|H;;9rv){-h%OaVt?$#oL5uA&4gqiXhS({^pm zycaz#V$X3fhaiimKe;N$P5K!&+$!V$fVoS&AES9sbbQj8QU`_gPALAz_Om{ZC|E04&YN|DzX@P;|FHjeK?T_O;U{*L_9<2LHlSEB!lFA4*}g}{#q8|~ z$2jezokPDkmdBUSWb$tB&fM#DAN;UHSru`GQ17Zi7%H(egWxkOs=PDkrB_)k!tEcj zR-S}4V++Q%2|?(YpoxyAodH??D4rj`UI0VHQeqQgyLsprBXwppm_Z}B;2#)gIg&nh z9r=B#BaBk?1}QP(N~*6p>02LkW$cJ^XmgH=2UMWObi77l)3phaa%uHvHF`wDt1|%} z1rYoBjzIg1j;DI|B(VKAvIH^?)f4KP22%CyEJJm%D#=g19D&AzwT%vA)LQmC@^T1YE8{=Vy_ z#q+IG90P38{yz{ecya-@6h*BO;?l<}J;bx!f&KjP@=)(Y5ERKObmuTkLTQO!8o2ce zI;Jscg`Gc~UCZJWKM-lsJy4QA(en_lBz?RETN#sp_yE9x?K^~XZXLPIMH{VXjOn5| zn+((2_&$*sC{dJ-dGzq>WY2U_9$z^9ki5}vA)R~4OAn3R<$xJj#Li^}qc?XtW%`T~ zxZ0wt#0r3%5-`dLp#Q{>U}HKiQnD6Ini1%p!j}L%8weAWg>MdrxwsUhI$vBye3p|9 zIWvW`lLP&X%{Uc$M6;_jx*z-AUWlKm+*8~tXfn6EkEq*j5SF3%rog+n64 zxGG=DidkKL>_?B*s=Jq79cA5IM#VL)(EU}CpLjTTj={6j_DfNyyJ8G!K#ZXuwb{e{ zS!hgBZoATe4xh$o%DCbqMD`zE&3c7Vc_YCzIA~n^8ea2ovoETmkY|n!^EHt4Om!pt zknlboPk+z|wrPmBMae9i>fpo`BS)oyM9HCybCmv3KXy_*f%P%-PV#=ic=%Ao@O|0+ zaeW2zU+Z=t9#8KX*GMoug!y`hv@?`ggpYVxHMVc=Ejrk@Fv72TEk;oBaQow`!jbo0 z19uSJkD^Ox4#^|4AM`SM+Nl-ZuIj3KtS2!%8;|Au$j0s6w60vG)@baZwsg2BRLjtT?kJ9TUpPu4cop zq8@Eix|N*T46lxkUDXB%b~i-oRlEqcL*#-sgn(f;Asv=%hctyokY}pIGddbHw$FIt5Zsz|0n|%AgMzY+M^5z5Tj`kbD`%=>6{Q=hviW#kdp;&nIGwQV|!Cq>>H7(5HhPB5VY5BCpaWfRSdw?2*5m!^tWAfWc#QXI z%O&$6H3SyUEH&j>_XW)!%a2qw?)@(87Tr1mJnr`&6fj3W(m(zh-NG`JG|qR?gwVo= zj)`A_A&))v-wgep@T)TGoI=|Bg{-3rs5#Z{EuD?KJDGM$I`ORy)4)b20W*@O>@92m zLA0j1vfF#2zD_*c>lq{&;s-{JnhTVycL5FqeAgN%AsvQ)+n79}9XhPYk{uX0t{K@N zZcmTM9P6cvBfam?$w0elZmKDbVLz z%70FlU-tH_v1iUD$Cw6o7d5zXE$UQN z<9+TQ!Xct$lFWzA9fqd3VvhA$y5sdQT9>ESs&RzMXzcUa(Gd~$F*CxHjNrxHxjox> zM8_$VbslKKnw+OE#lrhD-oqd8N2R(L<4B_)V~I4=2l1RXVE%$lxEVYbRs1I$E)Ue@d3NH(wryic=JM)!SsKV&(4>OHodWe)eZAllUt3L~faZTZi3jJn%v zX*#m%P)#|;-_8Mm$b`!o?eLW`Gmmz(XcJl?aBzHR=TGowB>IB~7_vJvxy>Bv@19NA zm3F9{=_ecLyz3_vJK_%S*=wVfI!Yk*Y24i~&ZCv}E{c}`qh1l_GRG+1bt=f?13)Yg zV8CW5r&>^8&6dwfWm|ywgJAyimxc^pS%E-ru_3rvSChdQCN~GM15xyRDa@en1^@|y zD?h^6=0hfa>tJjK)Est>#&ArNxyu7_7%$eweS$1)NrAP_!8W%OXuWI3BnXN;AZG*z z__vyD#0QYBY}=YM-@v*Fg?_M4M0qe@dz4J0AJtNDMFy`*vV}3aqic`p=z)PD0cM{J z!f1&WVE}iX|8cBe3!P?H_2pRmV52j3(NMpI0DXa!WZKUG-j;HY&J{SAyR+YfrIFR9 zs-qd{_V3SPc|{l$I#f%>=j(>$0s{S%24-|wRxa_o4efRLPWy#orXS%QHuvd^O}~O=MGyKj`_oJxugyhg!AX4`%JDqme;A!2eZLd1e~=8y@C^u~Kkj{7Yw$yxNx4cJF~s*XH}~G&UGeGVZ?mydqF@FL*e^jTx_AWyAgI@ zHiDSPcP5PE7Y|xoJRK?P}Yb?8K z{)a5ZkF&e76e(uK%dQQav1rWoDX<`RkBZi=#rv*hcdwG*nty{}3%O zk$Buc%5>-oJ?jBz9VzoK3r!!=P>AUAMDV3U|L<0sVSL$vgAIaaePfPCAALAq=8`? z>a*}bl9%u7tcI{d7ca(Y&%-~IBHk$8GalmQ<(k{pNoJm%{RT6om*pg(@QB(p$%YpU)Aar+--gap?fba@ zxVe9jQuxn*F1`V37hbt1KL1_4;2SC#KLII~|M~m=!@JpfK<%P8$Lh!5#XA03 zgyBDFaXh{bq$nmeAN zg?}je54ZTo@A%JO@f_%a{Pkn}=e7CgcmMh^zOm{4Fs#3J#@|F%zOiC|xv6ja+24eO z{&G|QDF*!~k)^-f)HgQWUvBEJZ0dh<(0^r9|I;!7C-hfp`@hDqzv_(tHIDsN^!=}K z?60El+k%<9_3-~yH}#ka9(^{oEWAX0j40OH3e@@Kmf=q~Zg^*lmZfDIjpiQTukV1; zK&rWzsT98b6ox8j{ixD6nVWfggXm@#wqn|M=sv4CjxY**&4UqJO;ew~zky zk9T)&bf$KH=Kc18+WYtMFP2yx5BvLh{`Jd#zl7}L;Or7b!QVbm@B5n}GN=>vKmX&^ z|Hp3?24@%6%0KnZ0~htd4QY$06#dJZ{QI{)RtINS=WzV?fqyOMU(5MlH^^Vs`PXLu z2mkx8zUJLuzVm+xMZMiYF5i83<+7U6P5r;Z(qCcezpTLj*HQlQ#lteKm{q>ZTbt$7$!vxVu=w6H@ck!agKuNT9{S!o;g_3$EK2ggW!h^yO)cAJoNf1IDKQy zq2vE0F#P_JUE!m5ivAhPs^2{Hqz^d#l*Rr-|9)lv`c4THB*Ha!wod=+2mf3vfW?Wd zdi1W&t#Hr&e<~vWRgWZN0*I{o>7#v&?n> zBIiC1gO))w^TQz4*0Ild#dzT%d{wYR$A6r&Z)=^gw)@K7a!L#qaqPD6)WxGGhCsT%UzYj~p|yDW+nLQ=J@hGa4)v#dUc zx2U5>^y}J$-3Y5NryjH;WXy_@L=s9w;C}}cNFUX`++CdmAe|){#X;|YJte|;onxo11G4# zTzXyPy7DBq!>UaYsxO}x^Uclr-DB+^fApN+r=Rt0cOjz+jL^d@Ip&+IFuxC2w)PD# z^>6QMkA3_2Wg7d84}QzE{<_fr_g1u0bp8@P9Xliq{hDw7^V%j3fyu<{G9}lg-`>#L zQ>uU+!T16_0K^&CzPrk6AFzxQ-?mC{ExmE z_|e;fAjS}N*}Y()CVcAq`4=&voF7;Y_flwwWH!Ghrt`<0o9|>hQ}w4C#atNp^Ni6k zQp@i7=P_P|(_^sR^QTgAdrQq8zf%hF+@fYEZ|jr|F6=HJJ&z|Sn8R^;U9=7UXOB$MpZS#e2f&rE387Y=QoUEh=~X^4+TB?&MTsN)CL;%B z=jV5qN+$c~#bt>w45?5xG8?m!7>j-z7e)ctF?A7 z<#Vsw-jPukMQ3oqrDW-ZKRx+FaPmkg)I#`SeD&3>d?O2)#;?Z3*0ToCK2J=fOnHCs z9dJPIi_DFC@)z>qwDrmNQynrQ6jok+QJ=ont5OJQwpACGM=1d_F_$TC^r{w@0(E5f zI|Ra`d^#s^co+wsy!`1};nv5iEDh|;Y1%dP$n8XsKsduA&;9A|WC4DsDJ@5t^mmF{ z0Ya^{Ro7ge*WEAh#l6CE~ z7vdV$KzVgE@DeY(1gbk-Q6zy41|rIXJ3@aNQ5=rXzq%Q+mr803e%8@g5RquLm=V|i zOK)k2;KliutkAVj2s%^~v-aeK9Q;-sSAKtRcfrZZG}!@!zes5c*vw)ZFEB74IK0Yz zK2+YH{j)Q~lqbw^`FY29@7AUBQjB`Nbyt$hg)u{+Tb-6mk#x5ym;xuV+Ql$Q%JyNL zg7yo6s-=~T8*8K`dqsyvhi3*Cu#@^Grx3?^=qNr zx>AwcYU|Z>AEZK&*G%YO`9rm3T#c+sd(zRmEbXx1Q;MPV+_rmj!{ztfmQApyybEB0 zffQ0yt##w)muj!A=HEBT*$x#3yy}94x?XXE!MoTGT5fOZMrZ_o+2;gmqDF;&{NclD5Vxc@#95a^@PE4JGXnR6G1|n z&x<_fRO&iYQ5c1hve|{KFfacyrx(s0;^$*ow2?=HdgQy@7kjX$8aib2W^%0*WO0<^ zKMYs61TGJiQUB`;NKJ!l;&%9L(My^v5h(h;hhE zOUhP_!;&C3T+~O1q~U*keA%g4Er-To^)CHpjoL#xWKKZ(6G~&g*HT96FPcxPk*R zP9qf%7mTAXt$szsidqol)<;&HjMPEuSrF^p#cqa}`}0m!kx(yeEk=1eFeUOTM^^c4 z+fVRfA5gM4nO`PlhZD$M=}VJX0dql}i(|ZV$SZOMGOkW$ezV!-OA}t}%Pk}7A<0ty z539G5E^}tt$vwCP-|ifKc$blBRPAo-G>j3a5LY;_o;wnHHIqF87TEUwg!Fs&?Km&f zt%mR=LD6LVvN7v=Jm39B$9CQ^&O#;t+Ot(e{?sa`L_1GEVKd%q#dUXZ``)3;C$IO$ z`92Y2m$`Q{m@I{;_z6NzaI_-Jla#C-BwQpjRK|w}EJk|o4m&9Je2P7;WVDqoSYPXj zap-w;{LS0-$^irCWx2P_=;?wgE2zVHF=T_eyP6ZM_?kE7!~2qj2RB1#g9@irKEFTy z@PxGW{lthWGNv@3-vbmPL?jGR#{7g2kmZ$fZHJapmXmqgvN9eubv6l=njpnbI@05C z2tB<6w&XD%=(y?vBXKKJs(#I0Xb#5XU*_`S8G77A6zzB}*>*exa;IpCvVX(6uLIt{ zXl!4hhp!E?zVCNU{qf^izHS=9A0MGL-vX4|CT<~oZgyUw>ZNpT-wZygfcUb3CsLP9aJ3Tq8T zMP7}V?fz6}SNgLFwI0AcS?)vpxf2z{=8txXFo=@pGM$5Pzk=J0 zxi2QdlNDwNEvAx&aZ)8)>NS^6YGR!VuMyR;>W~%r0q9dsZ`a`yVVL!ZP`n64weGW; z+v3Q$;ZX&nxaLYq7DNnJV=s-5pXe-o!@~d3;y`Rh@T^$QKqz6UjWqXu{IlFkl4P#TcP^bTfQT#3Vy_>T zelNfudcohNIfePXUS`9x6t?2$m3m=n7N)w)?iux^ga+s}WIJ{Yt< z9o^p%z~y9@AMIa0=V4o4kpq1mFpOs2pfTDGPsK9Lpx_xTuWF{)3y=c%$^a{g&Af3w z4S0$*`MBqGF3H9}&FqpdbOO8F3G*@R@@AU>oyX1}KB0-(PRp%ReIq4d+h~Jb6kz5S zYbbK(Ybfqr)=^ZO?wRftQRF&lC*8&zaBW~n=qoEozPA)^NKufIRB{cA=#b-Q@m_6} zs#nW_KFW8b#r9l;|Q@Dn!f4HR9A@v583 zslCXW+U4HN8`Ws>;AXfiJv>xpF_y}|5+J{yKeCij?C3JonJi|j_$XX@Dt!Jm@8*E` zL(GY5XGUU)t(WKG5YmZanI?g3JTr2m~SwyL}`XOSQMGZ4n-PxHa8+z(+(lDINo)}5#pP{?%p@?v7am2qX;DNzko-=rXZeBWxxhQ&s`X z&*N$I!O5StAQk&LndI807TTeqE%+m1EoI29Y4jE6sUWK?#jB0SJj=Jy0?%z>PHaup zl<>#v;Mty$+yl#@iHLHUekT|0lL15ykI9udZ98IV&o~`|@_X`dqrPqu3?LrYsVNu3 ztkoEx%3@gf`(4KQuDaUs`u!}sPzntXhxp->-d@i|ERXs8#GuAUtoK8bU;#MQ0v>K; z%|fr0G;*lK85Xb}(lS|ysS)|HYgo#&WsH7SrhYo}Qw zD@U3U=WMC#NaF6fQ}`qKO(3%vM!SVMu{W#Z`H=nd#{t6l1h|pI4SBL;VUrXz2`l&I zgY`V)S z(^uH;Q%Etkh)h2ybCO8Rvfxm^2_7gW9j>KVrYT3No^`hwajmF$$fW{I5hS{wW>@SB z8CxK)JbzcW zS`)Fp)ghO{yO|hZl5j8e5sujxf7xg8Wo#b1ETUvL%ds9U9EB!rXmPVeAn4P1p)*AL z0}%@YQY=Tusg+&phJ><4wlTgJ?t}$ z{4F2f)fHt+|7k;UUh}aFr{{V0V@ecd%Ja=I(!oMM15n%fDP<9YXD@S`z5R5QyF_M{ zjG&?is~l|X&2e4n)~kgUP$zNM-ef;w-{r~ah59Y0Su#FAXsf`5QtywuY;Cn#iZyW( zXZ3$D;#^NC=`Ce|)PuXl7_lhE=N@(3^9y?`ybZJP>}(OGmL=V-B{sn8h^9?qa`WI( zJ^6k74k%`Wgyv@tV?{=)J-6Qy4yuytQ#9feasVKCJV)K^Or~i3Y`uQ6GCkzh$k+~5tm|EQ-?+>?D*P4*q+rKnUhbBoqTToVOeHy*ius3_As z>e~F;Xv@fC8ZIDhJ7omoQ>B!)# zyT!9c>Ws#3OQV!e--pu(;5kTIIufi$Z!^L+2m;*NHS0B;--pFqaQZOOrK+CQQrQog zqD#$WMJ6u|)JG%e16JfWd@jG#u^thREsl>>JY15MS}{{=oW9X5NPA~@9>1`gtJI93 z8#iEd^_$nG`0>wAah&67QBBAxWsG<*OHU@GA{JS{zCl-KI21MS{h^PSo+t3ua8;{L zD_>Kdds*{w%AM>q<<8WZ%PSSk<`y@Jn;{MzxQPPnDB{MUgGB8bm*Y1hJo)|6P8a=_ z&m$Ng9UXZ*v&-l=7R4rq5EQH0+XD9!m~E~lyyKaJm)q{iKibq$912g8yxNd-P3mK+ zV&whYxjFRJCu~EVN08ewy?I|g1gBdHZ^;k8tFsP6f94c)U3If$h|M*=DcT#hVRIGX zIWoE3;)=S6;)A65h*p$VsJ`Ccf^OU|XfL2J+l7#m(w4S=kT->+EvQbVWF-WP3xo0@ zYDk&6^!P2)eWQ~{jJ@5@@*$BYXi_Xr^SMvf#3c$*zLF|**u8oq3K?nRnD~k937eQ# z+n>X5TJKC*_|;>&@}Nf&{rxm$NTYVYD1Lv^#X(2WqwQu$h(IW7l$@Ecim#$W)e|taDDS-^^ZiF6`%yej7a>=3kn(&}>Gg;uO}EoN#@;ONyog zK9nZ?NEYh%s`h_?kU#Zamnie{nI=cB*xRjMyBX5^snmYqaFH-yfmKf??O39M z-qOUE-jVvJy(l=gH&01blX%Hf*_*$#m-#}#a}e!eE4tkbQN5<5evPQjO1Ey85ee2z z&^Kvkh*F0-LIn;l%FkbtV>Nxf|LAZ6MM6UVh*nR^J4MsEmI2#Hz7*KY;4oues@_^E zsL;M$f`r(Z_6NGp192yj-L(U{fhf6r5+RIJu;{zSXsFF95tq4M;vD;Q_9ZNsq z|Fn0d@oa7V`fb&5+aA<=3`Ik|y@x7_V~9C*LQ%9@)GRGkb8)B;iJbD1n)TJ9rid1$ zC1NfjZ8fS?#XKiPk(yF6NCdgtIp^MQ?)&}z?*6*>@4xn5d;QmXp6CDUwT0S^=yl=b zOan$&)*?(1!t0BTc&mCYbunaVO`IyD`Rd-vbzFxP2Kk|>aJxGc;wB4;2?#ae4^byx zw#LUGICm)X!5-hY>)o=i{fgn2OF`kGhU_aDozDhLHM<82Wl%eC zJ0X|&eZ+C2uZxDcJDPed0aJsg>a$Wvl{{B5a2}Y>5;HO$0XwDLxb^&YPj&^5)ndwq zw;n*3%xHRY+1bE~4wWPhi(Y4@_Zi>D-4$fPMMxMQaUt9}(uqjg?bvR8Ch z_t#O}+l}1Rgisya!4XajSJvnfPE9{#R$hg){MJVhLeChWMg2GW(I3exg)I*c*)PsBSQ9bzh?InA{%AA!CzbuJY zJs;Uqg}SQ2iDz&1YRlH%59OHZh*BxnC0jT@i^04y(9UN{d&L%Sg|B)b(4Rgk_p{$gw=m7N9Sdm}(1N!c=?nu&v|2 zAJN`OIO!82_iiDa6h5#G$sItPH2OLouFHm1(=^elVjHs_MjcZWg+2xmtZ&M*h~F{T z6C!#4^D=-|wib+kp=<4hhNaV10ni#zzbl6R2Mg> zC5pLOf0@*b$DQx~s)kP=tkeZ4qSn_YY zPZ+_*BzJ07-u9){j~h~&G|mcr);J?+u-i$&iOa>?sS97&n%xE~q}z;B<=Z*B!lK@2 zYBranSdcGpi4Baf_lRCgGi1com5Drj1VxZlXr>zXV%EQ&o)CP8 zdP%C7^~wTZ;8=t4VU-!mx1+OW^z4&EhyWP#zK zX8K8Il`FI?%>2wB`tNTlZjtH5$xrg*0dQ*|+VtoN+Hyya%Ng;2nmqwtlqj&b+iOGG z8KPsD&`-ng^a9h$GV_*+s>Hi1dh~3VciakO8vZRSe&m9rj^QZmroinPx7k^3p`3w+ z?5%ZH{oF9{P$FU{u6BS_#&WYg5bBzafqDlgk{u9A6-EZFJ> zS9o9T{+c#ei9@sO&5J@VXfg?&f`n<36o0H%qZrSaAZV|OhNUOpwuge&sEyjvC}yGM zUWRp7iye_QG}Ot%x+jQD!`wi&q`mcBr*im*7j6w{iy?Ohw>!sY`s~^&mr&euWX{I! zZuCux(g(Mu+wk4d7Fc>A!`x4UPh~LLQt-uS`Ws*nioK7za44yU z9z)nsl*W7H9LG)APO9PA>>e#+;p1CX9XLH0Y{xExIH|esakYWUu08$u*Z!%iE%hYTC+DP+K?loC9i<3^0z8G`LEz#b>z6?RZEpz4j3NEa&*Ww5E#I8WAyN zOmhyosJNpvoz4DXNJaQA2M>d-h%^^c7{?-LU`#X0mt#yfja%-uw{;2PR6++Y8xMBJ3_cUa{Jpy}75&tj? z86QZP8T(Xvgy{2DLx%hUSA+R|0${#HOq_@>ySqZmsc&JRWb{;*2s;G}A--&EGofdL zj2GMZzGz?Ob>>}GTHoh0vhpn(Y3&M=X9}Ca0(mFuGfRaigZn`=?kCZP`D$jjG|^NS zONdy+;c5ej1)mb}7&I{1l$=}r^2x2L<#({ty_dNCJ_gA> zQEZa<{T&GIL_{|v5SD}@xc zxSpV%=Gblm99hcLu#8+FoZZ3w5%5ucoFu-FD~S-JiUST4MzqI#~w*Y2hJ z!=|KVN(z2e$2{%DAkNd8fWG#dq_S1AtooFcd$Ydf7+JOMIaZQaZ)BHFHR?QB-@X@b zw$Tyh8$ylH>dvBr7_CUV-Ot8%-(!ZtUUQjif|ziU?4c=l^%x?Af-4A%g)&(!fKq&i zyke!8Mhu)t7<$}Rs2J%TbjwJv+r`PP^hY)vvj=u78HKc=uFC;>0T)U z=c&K1f6xe|)&CkHZp`?NO<-$ckkS*MO5I3xHf%-Wi><(^sA8-X8eJB0J|(0l$1Bh^ zX^RS~76#SNIgXjI?>N3$rkny1Ma0r^suS9qMUg&asCZMX0Ax$K?IhRsb34AF>Kq=u zFmFlN=OqzTMt%Dzl;2sq#ZjA^rrhbz(T|hAgz)k$f<+i48 zhD69gIXu=5fle=i-;}FgnxPkZuKHE8dFv~sU4yNrZ2`6`N9M^fcjh>$CDLZU^|x}@ z>?>~;ZD7P}GOnTgY}DPFNE7;{I2X^@4GMQg6|oB>UM7|p zc4+my`eYHs9Fv28t(;swr%|sO{LlXVu%4qQCbfQ8FRD*oSZnqEmT$HU^%x7W8?vAx`c;%{c5hPA|qJGx-^=H>rv8bQZ>rUmk!W1IcA zsc%_N+5Z>{t#sN)RqfZ8+^oN4j+fM>*Q@H-DLs9)ogLD2`CjTuGauo{~CCEkj;g6B@T=&z?tg7uRE>N7|Y>DaJ4YP5 z9vEbAlwXI+yC*4c?XAo?Qg8}E=CX$t5p$2KL;-szYp!_A=Z8tZXu>s?B#QOB1ZG|u zkOYh_>s96$->P*KU;MpJplb&5ifmF$_}eA!{I<(`+h957XvBxgYiTb(a$zsq*|o_|=zVe?Jvv?KNANsqPRAtt#z$l(BAJ+Hef8KL~>gg731sO|_Sa{ia~u zu)q@I;JeTnrr=_FCu)jj?7$pkgH`Ab==)_BhefvlEUBlW0>*Xz2o7z}U$-cA{44m& zMQd}+c(JiTCyO+YKG-E!AilB`nIJaXaa0O>2nS$YdhpW)dUzc{J9joN?0Uw+a zh`x~9->C6t6VuJjr|2PoqXcG-S(2M-^Fw$@b6ixdkfJj?%6am*v|0L+*D3 zuzEs?;||4-@qhSGjH;~321*C!5@FEQp6QC#0CP;jyB`l}|Ez-w;C{J(LxSy{{-@uF znEV8<@|WM}Yx_daxH3Kb&bhclt5RNS6hCuJEm56z`QLh7Sr&kkro{DSZOS1J^FOVy w9Dpko+zA)|?YC+FAM^iKe?B-T4BCf`JNt^~aQ-#(H{h_bylPSV>#cG6XjO%NjC2ioqACzDc|mKx&+iF81z@;|{YL%{k`;gj zLwQq?zqTL(X|Y!rq6gg-HKzuFbJOh?RzZt#G?0Qe=BRVOa^F&a+xnV%KbmB}8xP9= z{85E^M1%#T4;5W}Ll6v0UtS*j7rqY&7$LX@|JDUuS8-w@42b2~le4=sxSLSp0pa9> z@vAqBR7<80Gzbc~EoZAw0`$26$Qfn2syqycTu+J&E!rTx1-}LuYJf}DJ7Y?lxOaI} zXWI2Lg19&v7$ALxnx!96L8_hln8I9=WQ9r)^~jKQ$iev2K+CPQwRs6Pm_sZxqp|do zc$uD|(}r42a}iDL>XU?288GX=fd@ivXr4^HR^q-cUfAXMGZcSS82%p6)4%iX(20qR zPcuk~=mb4SOhl*{@*J8-=LC^KeE541Ddm%#kTxjJ%)33oqpn@3AR!AF+u!7Dl!E$1n1bX+kIJzEDJ!hX~pcJ+b!>pMTj_JkbzFp@s;8p*^U| z1$|_f-q%T1p=Z~zP>7E~&FOlCuS5|>p=fIrF+sqFx)s#t!W5zfAGQ&vfBs9bju8F9C8&;`RNxz# zcIxo^aJemiI&fs4_h6vlpLHdm?+I~W7Ts{%*5iJXVcGaX7=VG=$TIqqeBb6Fc8P%Q zUXuxd$oy)e>C>bF5=Qvy7@~xW#~;*G`cOQdL{6lN%Ku^NmH<8cw5L1{&x_F>> z&zCdK0>%VfKG#X_5icc^r&8Th41OMiy!MZ){`^{wQHMU|&XZM?#lbMweWrg~yDuGDpzR>8+NRL)!1m$i9u=D8x8`h6E*)+q;-Mi*gWqeI0&Qy{E>R>{Bhn*QAbl-# zVY9O-s`t*|S$jHPZxg?h{j0TYMz80cpF`j+8TWEHm`}|f!h%xwEEElldvPz0LEP^Ft z-^fu7v(`<(IPr&t$+EilJRD#fFiJ$7v#$3ju29_Yjs9vN??AsEtaKd}! z%il@*4R?u`+ZBH(>P%kqYzcGJZJrZL4VkosIss9!Ax{svJo|Dd>A|4wd)jt*j`2kK z0&?2fifjTQP73z;vc|K-xrt651ea{u9~*Lm_0o%e1Sz z>$;1l>qi&D28kYDsPF{Y{11=M;~!}YViX0{#TG<31sVhoNIeOQVx;;;w!Yd?stKn{ z(2|{gBp}lv;``*CYa&Zcp&e@im%$iU5nB;AAzUxHpX-rpCSOv(I|X6J>WJV-Qyt|N zO z`$>7zz^YGG9~Mj(JQtu@8j`a=h((sMN|eZ#Xdj0yNH~TykSB(o3pghkV#%n0vT8nTv(agm;qIRLvC9^t^h<+;W_=KA^Wg>u8z&GeG;#(zjrD+K zhUJEBgjL(nW2vq;z-q&sm|4xxu49WsD7am3i*bfg9m_K}C^sutesVb1GB;zmco=1P zC;6D6(O8&QiOT(wfgG*}T-k@1Y% z4DO-cq55GXD>DvX$`{sY)>(_t8p%c6#p{}5r~I@Ot$3}RWkdI=m1S*{)|D202;G2P znDLMU!yD0@5{T%D*YtRzmm`#yV;R*rg(ZB9$a1}1TH#ku_Y z>}1hqryBbm4i!!v`>cA1#vwaX2iI-0Q%alVHMhyg6O8?uwvzedqQ>CHuI7>E-p&q^ z;p~Cz9|gk^y0k{=w;x@gTt+Uq5AMeYmy5>CTW57v5LP%=xSBH}Yw&5XnjNo52$%>; zM~yOQb%LyuPf1s4`4sp{b*fi|yzRYPURhuBs5O*X%`p!ReH45?uF1B!*I>FsJsJ>V zV4lC;0D^)xDxs$t+ z-t_(~`j?UhMh`(@rK%clu}H?cx1lnZ?5KY zFB+rIJx?V@DeW~CmO8cJHO|K&i{tW}atf7`HoFt*Rm$p%mF7#OH_N__IET0gtf%A4 z3N@HVaVMTFbe5};&+CsVi1dh4cval0jv-$8Rrm!N>Z`Lc(__<#6LYrgM>h69oF}tL zqQq(lSa{T3C3oj0Hm5c(qY+cddB?rwJt}S$cM8OYQBzJ+@$DbfB`hQslg^lSN1-x! zJfj>>x?D3Z#pqnL*gd|vmal(*%z03*oe^qneD=y8ZZ3JL=-uvd8okMl8prD`yVK%u zWH~#SH%~QBC>7H>t^4M(X|!86QkwFVGHSKG;^x@6ceBe?d5UrpzcN{;;x4TT&MaO#^ z|5R{qJS~xu0R4LLT2yTDhW&+H;-W)28{@FUZKYWItb zRfygwrPvyuZa2Q1)d|Q{`|ItT_MP)2Y}-nS%_HRXbT2595IA8wY9=kMkflu->8i>= z1k5dHie78(ZjQgVei+X#qU);%6r+;L+2y^C4!MVimNltxhOIlq6Ydu3+7fYMBazMCUIDuPBLkC?#7fTB(drlV~;y+Sw z0{3r^>4*vcNaA45L#!$#ODJS*XGq9OOHWHr%nL_INXTtxV8kgeEc%b^z&{>h69)$y zPC7bgXJ=YxCR%GdV>$*74h}kcMmk1D8XyIYy{najt_zKoJ;|Si{8f&yp}oGHsf~lF zwH4u8xw?ARjt)G;#BUY-^Ydpr4P8wCRg;zdKe`2UknZgb9Rn>r-9O6)vU0yY<&-sb zF|<$JtsApfhw}?z)+bOwxaQjxWaJ!*FdsN# z7dQ2y8MXu7d!?|H$*N zKhkX^jD_qaW54?O|B-|+7zrlK?0ulQXN-`W#PUZlwdl5-G<~A=qk&>$b~VZWQj)L3 zM}9ve&W@bI(0{b9j>OmJ_kwJuB<9(m#)l>k|D|!^icpv>a! zZ`lvhX`lW%4F75yFeV{BBoGs5%%f>M+n;%2gZ~_;|C!?NWAV2)UlTzt>5B^eA*9d| z8ve`B{Vn-Fd(Q+LlbMusRbcs6`+q6>-`*Ud5DHAv;){R$FMasWQV9Q_uVsh=LfiY< zac{1iBp@iLW2M<$cdgCW=6Inxb;9$2>~He--v?40UZT@MA5cSdbyDZ@GT2;McE&Y#VpyoAmlU?}VVVnp}{>&?txx6B!NRFj)+R zp)%fKGeUH9cDfdomzUGKU70A*(5GY+^vD?o!Oo@dz5l@MgMi1`$12;VQ)iRal#BY$ z$s=?}KBHBIdlDL0I8wCJ16$&$UNLeL{d5;N3$mISd%B5u+SBn|nZi_P8oWTEn2!Vj z4PA6W`stH^q~yD$MrRpx>z%;XRz6`-(S_oRrF#4Qg_hwU3g7>b#F%ynMy0VKoIOyI zMp2iB6BpH!M5T8o-30< zTcllK0PAot^+kK~%M4MB_9fXN5~0K&Dy#OxN5(`g#Eez(gSXeF;^(G14eb<9`TTw^ z*`{vtlqCgY?Q*QMNr>B%JZF#QL8}z%49>uNrdXlgQ7A)Vc~%3rr9!` zU?$^{wu9-S_4UqR<;%JcYRztrCW|#C!yA{oqtIw9OpI&RWnhqS{DOjDPxreS*z?TQ zBLAjw{0O8m1%5jlS%#UG&Geys=j$Y1C%c;zn=KkR;LW5NF|#KwKu15wCYR9iIGrO* z?WK6JkxUewstvzfA#Kf+YQabI++c~N0_H<hVOqsv* zv%;*2uf04!4o(#)JGR>Gvv@C+NyG;bc-?^_;B)79$7apmKu}}{{letScG~W` z*#Go-K85e2iBU#UJTT#pNI%n&-Zq@2AN->5$&iOve&1>Ml-kd(ZotnzyN1Lnn-q@C zH6i)!952@Dj-+yMXJlj$+!jvc%aM=+V;J3eOh0xQqz0-rveW-VOi3$_QYq8x`GK33 zN!jFkX2FO5TyF{eVGNQpIa*YhuS|bbV1BMWfBd@NrT_ zho3DR53>!-m&Iql-#A;Q>4;AyYL&v?W^I{lwpt$f7Q5!CJ!(w$Xob9AD zZ&k-fx!P~7Kbc6jQj%V?{vPBeL)-_JFFm-(mcq&=E-7-R>JuP#9?y9QCOWK-sSdhpIGtkvV<;8TCm-F-Uu~IFreD!L|t${fBD108c!;``Ym6}r8N9C)31Uwcq%pPrtci(9`hKS#5x7b5uS=J7U9@ zMr2gqZ|*(bQk6A3&uz1$E#59}xy2q6UN0dY4ghv(Yld;bq=rO} zT=5fB(t$uc)wDV6puM{d7gdhDf}?!b{wc#JGbA}C?=#EU6|B!An@p!=4d!+Z4b%F# z<+X9Wj0s1G3HRrjZA>(Td+}cujy~UDcWXPB4|@$c(?2fD_}I51D0ib5KYxG_nc1Pf1CCJsriE6DCw3zVX3xCL`&#I{qH?3_DpSi!j4X^tintx?4D27T0 z?IZmNTht2zY_N)8&Wbq^+h(XhV{k5Ac-egqM!HkR_4CtCfsN-Z*zb?aySCWpqv@HU z$Fs$1sOq&=!&2?5D0$Lp6=oPO%J~|#w6CQRkFqQE_RwdQV6Qfgd5~IYImi(($)#1R zg-TRs*Vl2%>&AFqyB(vlPb)d^?=(yvZ;lsCypF{mm8pJy{wKuv3%=v}N}@8qrmI4l z#li&*vY}>8QO$TCF&Azju4v;UIdj3@q`PF|q>`EM1Ql4v1`|U9yEy$ublPm@?G_1= zyTog@?EFjFVyWP0JaPl)7`jz2gZtN82FFFrmZDxrNi9$uWI(C?cf|;1a%%FCVJ07y z0y^%K2Fa*&`yV8RUN$AKl*ocG&jN-O%!GV1(Gr@D#g2pcZkOZ?lbP~AI+!IBhtMp$ zU^hhakxmX*=qTO^PI}P0%MO^SM>L|Pz-+r)%+AwX;P7l9?vaSeL!JP-EHs%br8NDM z932mjX7jAyunCr^1JKwk`5eU*ktTNOM0(Jmci6UB8aRVXL#bn^KSoHE``BTjP5=6H5DPR>jSFcHT?Sxz_Hl#Aa;J zc?1EeghpWNtz<~g_(HzW^7`^Pa4^B$>$YZ>Ipjf3QKVhx@vHBQ*HT`gR0`|YVJ~Vfn>Bv9oP)iCJN-{a zL#=$TPd}owk(w2I%Hh!}jE9qRDprf{{VnSU2nLhKy^DK4+c-W|UG^s3p2DG1p50P9 zJO_iWHU_v080z#y6Chf*KG#Gn)Y)cF2csB3aS{QDLIE~Y7Gv4~DInGwdaXZw;*o9+ zh1nBc#dn~L8hVvGP*{1Ifr9~5y7U9WZ0+dxbI?!t!G&cnlx29FuCWjrK}E|E@gBNF z0m|a{+ODTPU+OAe#X`J}c(fc56Mxrx>vFl+m}byQ2^$1u?(b({4lp?hAUg(NUtm?* z<8L8QjY2FoaE}1c1x}Zb&f*!Y)Z!I|S`tM1G$uYXbk*}*7w4V#^EIZ$LRDx6)hjxc za)kFQEF7G?=-{R2<4t=QI@JUkixxVwmL&nfjxgxtxDPRzm)Inf%Hr&d(5&!3RO2s- zuq6p*MPssn^L?x-{kOhbSbp$5t!69YqYNp3W-I0tMGB_feJ%`$&Z{fvN@A`zr!q{k z>P>s6n9at7R*lT=`?K5Y0ONyT+j6AIo79ltUZ_)rlGr8s0?IAj;}9hDgHdIQ+~O{F z9$h?&x14n%gGI;WU&-1Fp4XiFUI(sVO9~anCBXz(C*A_(EB#dBu;{w2x$D;H7ZFy2C?0 zPtfnhwF>l#PRwUZ&(W*y+|UKgTX|j(@wwMJCaO#)g>Ai<8DCU=$M1uwaJigMiYxjT zAWPl$Ci4)fHS1!?Qdqnr&cuWwZdTQG(n6USy+(!z%uiSA%y3lJLVWx<8eWuwN;GOO z;@F6-xER)NP7KiV*lMQ{u23?7x608nyn>W*$RsRs&Exa;>#2n7c zfW#Y9$_Cebm zyOD52+*T&;`$jNS^g0xE%jtE-T$R%I)!-^SYe4vYQ zH6RP)U^Z^D*-eJ8kNt>pvOKe6^E&fN*uhUnd3qt_5a(E{NreONE6LoGB-*2II|hzx z4VGu5HOqC>WQ0R7Eex7$y2+t5)fV)BY6mFAGuT&j<<_wfTU)F>$3I zd@pw-v6OL?9Z=BFLJkg9Lz_czQq%!fjN@9=4Uxri*-# zj+;8;O7?h_uzy=m7pWx3iS9RLi}@z;5$+XG$pRzuFN6E%qVEojc{II52f$XXfNJazBz zd77Xh2W!5c$TJ)}4e|Z<78S?g)kP<2P&;sfY^e|Ld!}NreoCS_TXTAsKJZo7T{!(N zE2XIi)$*}ex6amrWr_QqZHw-n9o3k?xJXigpkk3Dhm+gDvjT%reeCM&#-Fp3mf=z! zf1!(j(l(E+o4Bjx4V(?tRuAFtqi3gpn;$;#_i=$!vxasiY z&TmEnpP_fBDt=qiI&Lpa4U;UMjC;9)29WujMr!DQgXFkZL!o9OdNWhH_j-SK*ZzxI5`I81kN8fq8w8=F>l7M#EDw3 zxc`$tQniX&yJ_x3CtEbq!7%co(<#n3)VG0k%m{goQcQ~zRalsjuY!k7$<^t2AxFIT z9QnB?``d*iZq;uk&k8Tnxq^cp2U5F%tK~-LqKU|;)(V0J*SzCA#xiy`P5|UodZtiY zKvo`Q*LYR#u1e4~f1KZdwLhj>?BT75ODS}?323EUR(q^2;{z0l^+S^P(M|?r5~Ezy z>+{W`b>U07Ck>6{R_wc%=UW}6hD2x=2g4VvZR@Jn4lk9})`+MKrx*6em&ntMBdAJT zf}Ia)EW8%0YDqz47LHMrT2~oS52rj`0g1nEanImr%?c*G6LMbW+#6cqnrGDg2Kdr; z4y$(>$qeV!h30RWWV&y)W#}ZTYhU8_uldA(yWBykmY^=mFRXuF>0wZpkZb z6%MX1yvn>7&7X*iNXn$RB*rvMZobs~=14>2=)U-T*%v3KLa->NSQG5odlPrORrK(a zGc7WdQOo@#j&1^F-pDU!Bv?ghn_Z=c_vdt;)1djG{Z=w;GDgioy0=Psd`8LG)_!8} zv3IF?hNWTKWKseW{AJfq31dW!feT=jn9QMCH1NwE8pNNdOi_tts`PwnVfVX6jsE#k z6=hVDp{x-rok772ZGtd{o5{g%@3R9k44Mqi3|+B{J7$)kCOXDlnNN#(GDELBxv*8N zI3xz=uCFuw+K1}5lS6QzLGvp4OsMAd^-)myGQ>#>8Di8^BYL*g!oao25tC+*Vv%5# zYQYTOqE+dbJ3atC(skvz(o9{?+pKRCaj4W#mx{+S9<^q39Q`qFo9SUGp73^r>oh+A zqz0~EzDSuS7|SFO)EGjlgfM6WY2_oPfP1I=#IG;Jp#<}0a&eL5f|QVK8h$ADo4*Qs z7a-jyG?dt);^e&ciA;X>Wu}T*pvM++NyJmj<(NZ$G9F;6O)G2wAWCr|&M`momw>rB zRiy@HBwMGaxaX-6E-?tH>`O6oKKrbK1A>KKWu&kZjg5^BhyBFf>HEB6ro~QK6+Vq} zipAd9^6yENH|B#lc-~dreNPHEBB`5?ii7bq+XNa6e*U^U6)ObmJ3ydQdY(=l7 zBLvx-d1-v5OKwc-9m+O?9ASv#D%n2CZ`X-Iae(>6%8KXnh5ICR~*A-G=RYbJzxJMmv_;}J@olog-AFCFvm{-$S|ro z4a+n&dh`RwTYha$=n3fw`Acm6lB2dEj!blB9(q5PuS}_2=24IM>lfD-!@@PI8%`<5 z^Wt^oRYZ3WE*H&Yi_tTU@`APHVwlWZ-6hA_Ny?8hiiiOjqBCpT!F1eEKN1#Jq61<5 zWI4H!qO_X8SsqSm3@a$L=LqaKd2!iGoM8|9<1Jasw8wIv2L^I)sSwJzQ?%9*}+1~ydaGHN_P`~>tB!knD(wU8_^cZhm%Bv;sXWwST zpc-k70Kl|`<-81tA%sOl&g~uOLfsESd`_(Ar9f<9GrS%sob4$|=3q~jRr6)TxO5%L z@*RSyF4kL^qxnWO!{=f5DABcYDgEWVB*y{(14thwU{FHb^OL|nx+b_}5P&IEE*S`4 z@b$OnY;S&HT`gtrg$+j(D->kN~lp-W1oi>Dn6!i^tx4x__(rc%r z`ePy?7+~8;*iOUqR*Ok9*-ay{pV@n|?ebb`gw-O@|4PN418vGKyUN{SrOskY^b8a_3y20FqreiQm$3k553%_Lj;zu zY1`4q04c28iLTt-?R%0rd=BS1>$o)%!N7_=mDy{-&^ps4bgsk&e;8udVGe9_>=PriYYvVS{#&OcXwS?PtdYc-RIcadEeW1`` zmy0ysm{v!oXv3eXIv9?Q`n&DpPHi9;*-W1~cfo`;83aaQ-=;-o8GAw$69pWV53IDsuoVNv;^!Efv(NV6=`UxQ zjN!|dM}#J3Tp{jV+oKseIF^^{RPPKR1%A|aRkhKnWGEX=F_oqa-N7J-Raz5yY63-ASYg36Ar3<7 zZMs`o1S0G2;~s+=I##g-6e0pkvTHntj169NU6+_D0keQhvQghVfk}LC<~ftsa)inq z#2G_6lityH0zXPRpliZ3TCCR(@oxEgQW^)Ilam_NOeTJX@?4Tf!XWv+`v@qs>*SGd z-Q1>kN4=E7+DZS^DfY~e9h(5t{)*HbLvF~3VhyF@3C;c9h@*=Gopb^;i6%NTJc}nL zF%H6S^}LX!?wb=22Z?9;e0{$i1X2^_jcImblZ}?t`yxl*kOyl)eiOBEZoY=f%mT)# z9uYUVWY%Owk-X^^WC4Zgn8@&|g<83YpMUvi|DZ4cpXu8HT*g)9g3Q?v!wLx}9k<@S zb7@8?h${i_A5Z6pF1LM9#_rE;lA@@X7ZFw=abBynM2(Ed=H(*ZiZxrZd;rWk_${G9}|xt3y5q@<5&AFd?OL_slS^x`Y{VIQ6IoEG+@pI zfh?Egv|{*4K;f!=K0DqU;K3tNd^fXwPx>b_Uzh4^?L_F|F38*Pc|EXfayWtjt1`mH z&hX%9WnpH2q)f2)!u{saUDEZ#a*HR|RH;_VEmCiZR-=>0cCCEA(TR~#(flMRw9*&A zmy8O*-QESBtz}m}#2bz??md z#>`^}DWIChD_dnnaQ0rlOuoCk(d!PAz0nKoV+8{XQ)0E?Wlto|*(l%Z982Ue1Hzp# z6_#3-spz99fP)umy8}1=W2{#os{D+CjJ-J3jN$>LCtq!XK*Aj6z7M@$%e^H9hEuJ%m|l;5cHJs@2M&$kQ0Pe-LLRP>isx;(nwVKo z2wxVrKQj_JLQwKtq+Bvl?RqrFU^)v}5FGYrj_jDDV7Du*xZ7V$2Jv~^6nDl)5VLRI zfWdU%lhDdQo2K;PL)lX2)XL#%+`WEm>-dX#@4~$KpLn3fD~Y@WR}|j<*ix?L)cn@U zu_hyS_2E`E?zA27NowBuDqb2Psn#)3y;}6yMepI}98@&+H zY0oUHJfALA7lkIN*q2boFHj}Y))NeP8LX~Fdo{vpGc3tG3Kc2p zp-J8MM2vgKvV>e8E=T#wBxT>2t2L+4NShFfX}C3nBV^A(bWAnFHlQJ6g1TVVYanx_@rL_MC zS&@bAV^HCO{0{mqK;dV+O4e4YOcmfY$|;X0a^bl&c@VJZ`DY@@*fC=rt4+o`zQ@LX zywt3-5r{h}epVM)-n+{#5#6EF_(t>?M7D6RlqCo$p{MtANdNTubl{0$VAbR`PXBnI ze*AoLgg^ySYR75D?(xQwL)s!I-)x1FFF|vkEUsT$r^b|f*_qou!D~XkW!Ef?J%|{) zhpHC=a-@Mo-*83TldW)q!FqpWwcnw*Grlf9Pg6sw1*}?odOF8KBejx;*^ndKS zb)exOs?O^C?7c%Dlx}!sujaRF1NXk%Hx_d<2ls}S$AsgrMY{_wzVbMVX;uo?Bz-*} zz{x5cReQwk&v>)DW{E~%wZ8%;a+0h@X?$zm(3Un2~hcNNfUZ zs^1~g8c*G+Bi~29|C4k41s;8NeCF->DU3E;frX}DS*K%dSAq5H>FV(Zz0Lakb* zeE^Mp$njgRfTcBNlPrXr7Kdo}501_}D$-a}Z(5OxE3|bwe}*>9a!ixm(L-8GLT;RE zNpMzDn;THvJ6D8=#^Jn$8PahSii^S&hf+w$@I~B711Cl3tSMk2BJRqVeeRfRK3j~^ zXs8%~d4rp`m!Me7G;ql(bTA3}sJbVoyX$#U=L6Ka>E>Fwr8=$nbMGNmdH|ve0gpiq zLO@`I1}}-_%j@~j283$dv%J8=!ukUK3je&kya=ILUx36X%u*>A`}jjE+!8h0ZNp`9 z$-X-ZV*jmV$awnwlSHOMp7g~BnM4>+IXOA*sFE7LjzEQFU50k3IZB!&f?JozofPY@ zH%Ieh6^0Uf3)NJy`E>1O$iz0s>7+PGT9Su4V+Z>|p2hm--S$#B_QAR6#1o zEnsBF6w!a%BTwJh!;~$m?9|yBe9~NaX8HJO<(usn=dwXa_PqMfE;T2(9 zkG3{P2?9vYCXjdNrBK}|h`~+WDSZyd_{j@AvOi8%eBc+2JGVLLT%|bH=+!D9d1d%}wl--75&e2qfv&P7nca{>Y69cwHAn z&!5hfSmtzr%Td6Nq2yo{kJy5nNQssCS@UH2I3~7u$Z(~eM*umA!i;uejCu;1^5Nx(CnRISgi@<0h(m7OS+(P~z{p5Vb2$1A8VL*)e%l8sye?TQb z?R)dZnTcU^MMMWHrxnJ2eL0X~D*jQg+zr0f|09^7oA21G&?urcAE#Fjhyp;u!Xp3a z&fiK493=io%;&no zM1&9b_W~v+f^LgoXta1$%1yOR%40CJsv0H!>q%voFKHrCWwV_8LBNi)2k4KXA`FtR<&A+PS;3hl06z>$m{S#NXk% z^E-oMj!O(mcmwb%$C!@qPGqq}TT(frzVu^|FI!d$Q7MVwjo?nAY@LN}1B-t@x{E4X zsb8m(GuD#8A2y=3VViRCNSvEhKFyq9HjXYh8F#;+iqz~~(R*Dkz+?pJ@j-LWq{LFQ zK2*>Mh_Pm}}(Y)%mH*ZhQG&OiJ zIqp?58bFT`#~Dg@|7qnBS*lt8eUt<_k7wiQe)aVQ8jmZtSQr_A;k`B?3`g_&zX%lJDd-|plu=yd%{uoBgT#wUN$Ld z`&{7d><7qxqiBYdvLJg%GL`-1Bs2c&#H1#3A5$B=@K$>eQp-}`xfIv$*W)=7ZrsKv zK`IkBNX)>d9F5-$Y6b~KHQG#NftjXd(i(cXiYmpm6{4T=&Vn z1$GKgSRO*Q=a=SWD%QCLPK?7lC&Eu>bE=dtjPH-J(>1-y!;)*W`;?h=o6m8N(DP)|jg!G%@J2HB) z!&pi4RF2cpba3V7dv~ab(lI|EX?VA500ub!n5mbs$|81l#hn`}=LV+Qb<)PS`!j;; z)6*a*itbpZfRBu-ep_DA`4=Ni zo_9g*4EJyJ;u+D(ORAef@k%8($Q$^0qsy$ddn8?(d75_U&N zheHud32d@z&-8tEHNh^|qciQm$+1 znI0l4#5CnQ%*094=*%Fs|}7tC%zyxh>WT!jX&Sv0sC^_ z0|eZR*ZYpb78qAJ6)2h2sa5(tqno9kFE*Bo2?(K9phMkeSNf+yUsXAl&7{ozjLvs= z`LoQ@IQRi`SvNW0pFjzib$t&eIN(#;>gITV-N^@pD;`*)3v;MM*Atrw&EHh2x#zf| z$Nv%z;i`m{E`2}}uX$2!NCP}{r8UMz9OizcUf#XvVRy^hK+vj3j)A)6Pb!ZqMPDkW zIMBm3XsG#?p#hVW-8*_rxa7S;d`Qvq?I7|qAh@n0o<`#jN$2&l?)E~XkQcsvMqli{ zDS@n9s8wd`Mt+M6{hJ2FG{YJ+WKx{{1W{p~h(3LE+0rClY8s9==0vu8bmtEx=9L`s zfFPqKWzZcC?XZerq0S&fb$q@H8~nk5xMsFQ!uET>7B$iNYrgUTW@-1Q&ibMm5rbay zK{XCr$PZx=cWBilGWv}qX@I}${25U$wM!|IoYXMKhs{scKu``lP%Tn!h5=WxiW;E5O z?k0@}2Z~l?v!c~~?9+FzS5=+U4S>XHRwoPqeT|8PadGpfvsXCWKZZuMO7|11Ei=p> z$+1>x^6P9Tvqt-w$%I>mYV}iH&XN_K4k|yg>Z6SZpbR zmGR-hMN(}$*F7GQAO{U`LSdHXEujt{Y~!7{a2gI-c!@T~&EF_ICOtl|aC+x^+nxybGfO60Xkw%bu?raegK39{c8pK*K(vulDUL1IQ~JssaD7eFMfKEYhm|l zAYuL~;)bg7IPXTGw$k2#df4NcbAfbw&=s)h4Y}$|^Zaoz#6S%U2mzkYBI*2ha0!%8 z2#wsg?sQoY7SR7=4M1++BQangj@WXiNQnPSq5ob~j3o?kmc%mXJE!2^b?X0= zyMh1|g}HJyQ9k;A>F2-o;m_*$YlwhzH#OMe2QdG0-}>(z>hpRN3@?3go`%sqnu{IlaG6bTnctaB9QP&u+vWTyQrbMS=9px&~MiV%xG4g2*!_R2`vvs}_CyaOy zbVZ&ANK{%YI9C*DTRHrfhHtR2HvvKDmwOu`UAf@3YwAxVwqJTJ#NTK)z+n2^ouBS( z0XsoZR=W28kB4j8Sirp2S=!jhw;#7U8_R88kBnw1f67~Z$&}3!M8d@_uArfyfYsB} zTLaDy6}mKhPT>cvznRJ<>fD=eXA3U2`eRZp+(kmyqK5$PmgEE;>;I<)PXziT`Dr#_ z?d`-R_m|0}AYrW*r5>FJ>k#;Vd2OUFTYmmnw0L^rQR(m5XguRHA);{dy4sQek<(}$ zsNqaApJhG;4gMboa*V?o!NwDQ8Nd%c9OHUa?cpx9Byh^PS0ng_HY=bxFA%c34n))bcDpunxjW06=0+;;S^`VZs~jQD zD7I?Fkt(t<9~i?7Z+oPRk9|Jm+a!E5e3?%H%RVt-bJ#1D4hn)^Ay=aOmTDpD*%)o%@{-; zKg7hugbVNmheS1YVuTO-sEVRVa_C;7mVJ2}w&XTL&mP*O%ic=-79ba5(xzFwQw zOHSVOWlh6uTT;J@+^8GEE4;EJS;+P)8?oDht4R8GRsQl`0zN-6h_KwG8@^uu{{iQT zD&IE$L5z-qeypJHm8Y&>CqW15psceeq)mu*#o7&myMBe(sK(T!=i+gHZxi?4zc8g(YsglbmPZR~YzuqaX6nF-oHd025Pz9bWW(*~;1hGecz;{zN zo5;lg5Y*@HRi~F*j(&o3h>eYnt@HEqByeg+lmaZ4#eZhs=TyXj=Re2BMV*W1>AVc; z#ag{h!g`CF-|6$gYDr{u8m=W&YL*u-jVZ6a2$bLw-!rr}M8kUEC$B7g#^Wrll|H9j z$$FN_-V-s$P2a!CC5c-p|4sbF1TgZ(q8m5Gtd*OM$>prJBmGj|?h7L!c+?)GEqP4! zoHfR<{Fkfjv!8ol1cCZ#DUzEMCpC5g2 z*TXg&L5DrU3Ni>ww(kWMiT}a*kk64_VH`A9wALG)BeD?@5gn|OLvCT-?%WZ0>=8so z)52xN&q}+OW3F-^|Jg-rMO*0vhN`A2yr@|&R*Nl>e@z8`N3ypi2J8%f!ofT-bC^rh z@Xoo(je2~Q+mYQVjHv=5V)olaO17LHjj<2RURT67G9y?!@BT#twGaO%8fYi^0nmeF zG>GuK_-NVejA_4YP`e||eYTI_Hz#(Q?X_TodOPE)IZxMOrOw4(X|0Ar+72VpwIUM# zAcv+^pNeuVOW8W`g4u>%=di(JE~%5Gby#W&YB=co41WvZ*qQJR4&1a+BgZU+1}>Yf z0ciERJ?ePUmn&A~>(mIThR#JxqF8yQELtao4ynRk7HT`W7#SQW|6B)|!uI8B8TXZ^aZQ5nZ&KL4Ri zqmA(A-RTmdl~5^+p)@}9VIF95t^Z;3bwo*5G)7_+fKeWf+~iap!A^(U8xEUkqej^F zZ?2)=K!s91OY+6RTU4a1G{`M3IQ)^Hn#q+Cxm09m)!BV!)a7kf-2}VzNPqZx-mD?V-gHglNwx{$_m^t*`nO}EWP z--`n$04S8n1BFyi5<4RxEn7hrLvO7k;GWd!=3pItE#+8~J9GuC z&)&2SEw@+ZGj;YkJv5P`U3d2}11Nv?*O!*m(x@RO=ky5Sj%0&018v4dUBRgst?8OM z9Q2dtW`fBD?8)QD{_*iId69#j;ANXn4+P`rdSKW*wkclEf9Npmbhe|+;c>y_ar6V( z!&=kQed?mSyIZKiX+IqZPd?MCG8|M}EY>?R84tX)w4JP?U5|Vb&vxf_wu7Wy@32bC zWy7%YWCWxtZ*`c=#$JPreR!V^%P(}5Jv0cNiOO9W1KE$5!6D;;n_}qH3$Z^H>8ea!B#;qh^K}3;z#1uO6+vu2Wd8Tc*fyg}( zHA!jpsu)R6qQ1o3j})+n8onBXiEQ7%J6mvp(cA7!P!|yVP)-3~Z!E_=!lHWMe6Roq zD{SS{S~L^D5pfa>c}|}Gp)(Z5We;TBr#8QXAKJf!KYp1)_gV zxCedfb=P{hccIxaMVL-PLIMsF2s&qAJ#}fmI@=Wj0p5zF)Pfk6cK5-2&G5%lQ}+6V zD(s`{!>J<8BJy62A4Cw!l|$B_+KG*fi4Pw9@dBu}Q16MNL|@65*}Kb@Nm@Br#2S_@ zPv7jIg2*^J0D%EW4%i|NJo{;f&ngl$xB}+j!chx)LBGav^MN;R&PG*3nxW(MVv4m> z1tW1BGQO@nx-WeEgCA`n@mv-$6qd7bi(Rt`w*ZyAgm%!#XS`?9YED1_aDmn2rf3Z8 z$9zA+nib`bB~0|f%^%{bh=VCC`9ib73vYE1|IvF{KGk)3Ou^Vx_>m}$;__Pk0|n?%C-WMYL@T8wT1#+d*8d#su}p#D)@ z_=&N%3&)0dCE$1rBKJvv9aM+|PM`;s43I{%2LP4~30)-=SGYc0c zai1zwr@0D{$8J@5CGR`HPYEWaAq^bXtBl0QzMoI_A8;#qz0MGrLX?raYm~o@*?5MfAZB7e zFy#7~tB@ODb{l5rh%yQnKZ^Qo^mlP=jIQJK>e7h6Z*OHI`llQBZ%}(dJA*8lU|;6#SYL*K6Ae~bUJlj6Vzsii{M?W>GT!u%57|ZD=-VspfmE^@k1np^TOh0L z(Npleug}3VZR-rXLiPg8`BT7CzG1938792dMC(+rY(@4uI#tF4Bsem?M&*d;skwz* z?QvD2j|keWt*xyMNcQtHE91%U2|KsUAtQ?LlEFj>?r}trRB?beMzP~e_=XGHY|=)1 z$11BX>`j-{(vU)L(fjV&*~IbM{scBy*gWi2@VfCx4P(}$0Ntsr3o_{zCY>2&A=g@j zBqO$M5}1CeQSj`dQI6AUtvyq$blsGDkNZ`3KwnqPsSs+l#`E@=T45^aj?*OC#FMCe zLBhNDKBP1gL>`SwDt0SM59hoK-YzHEtGpmcoW`t{DHw#}cKT0Roc_}8UMHz(VXrhG zHGf@ziBQbo>DXrLRSe6)Vr3@0E_H)Ciq}RVMk>=j2sp_K&0I{7TDddRf~Vb8Jn44% zZKAysGpM4PL(^a9mKvMRX}!cfnU9P0>j=5_4XDwqDGf|{4H&rBuH^&f)cY+p!qQKE zg+7&5%8KJ`q`*(utmA7Y)#=o!@HL%Bpmde5{HaHnI=5DlP}K_*Y10m8{my35E;8Ad z;x(Gwss_Hl5KhL0R3K850fBCdU2(7Mt@GF9DIqjA@9=luh`}D+nt|Gg8&Wgqc7nW9$v@Fjuu8KVtvkTMd{lKT!@l9 z*W_4K?Sv~=jFG0SKsy&a%Zc-$dH`_qKQmWS??<=Pi16X-El)TEx6qkVeZPFN+Qf38 zrZ^#?(;5tJBP)K{5oGM&6Z|*&bNn6bqc9Rl?(Rd=iz9;KoepG6`CLr&*>uk>9weer zrH2DS%e4OSp=(69L#;0&s2oCr3gwwP4!tgHV%|_8$$S#SD@EVZN8pLj;~}L}FZXv} zcsA`KEcfa|Ku)k2PSZ>=i!ViNXZ5J8NAPpi1e*PB-c`ShIlbtXYTo+4GISt`ct74_ z2+rrJTGIK^Io`JLB5q37m3aJwS>~Q~rPBGa{>c)s2oV*$dcYSc+k{hLIw-Qmb!PZ> zm)x;i0c5r2)UuPO&<3-JV*Rk$ggAbw^3EgkS%#`I>z=9`UPIU%k6=hnMO|G3f|wukp5l0^wOq4o03v73YDm4U@E)5Zi zd2iC~IU2{y5KHU_Q+JQ{dW6co_9gBKqvZFG&=9i<W0-zB~k4BHCpj zK?~03=Q=#fe#{F>_%rN{KIFcmmj;7gT4sT?e#fFXLjVLr{M1dkGx(U@dg*7$3k6DE zkw}A3_BESHxccxH`hVD>TBj*5hvfxOe^N*$3jf5XqUUhCn!iz6%4GE@g0Wt?3ySX0 z6joqldmENsx%}zU@9foTwxrKO7vogV6PZlj<+rx`vU^ z?t?RQAMTC0Hwq{8C=p|j>cu9vmqXSGPs`k~eaJ6;`b^QS`EptIp1WLSa(YzWRbf@&KPE2~*Li|1RbJhhF^7+NzNxL-fW zg^)TpV8V+c4N|6gD0+1ZJKt>)sv!PW^O-mD4+=V+Ot{b#-hFo#fTQzS^KE(#Qdak? zLS&*gOhQHZk@jIJBmT&@GKs9K3RJ?kK>X#64$yx znu2_%H~NRSA16=<-S?QiJb^^8xf8ji^c0=waob_a5GZ9N;)p1DT%aJ_p0`hCY~5lb zc$G{SzhUc3QN+;=Wj7r!+#+`+l0M+-)f0e!BIh}zx_vml4k<2&ZKihuD)Hrf^e#3he*&9!Ei zzg@-mtLqpa#<3M{ngD5}JzzKLxur{gZkO?~Rl2xuyJFFA^;!zJx1G4|^wHwJ5r~=& z5Ho6QI&JC7se}M=<|9nvKX}sqUwBdqYT_HuQFkMU?NuahdfR?HP79njdU8?#MRMQW zDW67H9g9!z#g54eY`MGDtgdrC-JC#l>QX81Wp%eKd+|2kZonvg&~7iVmgW#7*65{C zqAvNa_gIwQ*@xV-NY!gHf3rxKqxk?J${Q2mi!U|RXNcLmEyH_MUk)nG4SlUv##?jz zNg{d$_>SAs&oFvnJ?9JWH}tPha>r~vgj&Ck?H`$^#WKaC1_AQx+@j^ZOX!#sqeL}8HgI~X%OWi{vT0HlZIrUO z%v;XSOdMdNqGYF$s5;n&eO7NyT9&=8WhVKmOR@q&lE3}{H(VfzbNV0>i0U(7;pe(D zhdbACe~I}_mRpW*q89aH*W0zo3c7;!xoF3a{ELPZvchi174Dh>;-5wRPDRl9AwsWw zbyz+@&8R%&PH{yoV}g^9 z8zQWZ-sq2^&5<(kC70_Ser3LqkZYokzIV(=A-~hN?(B^*Pz^kBG-pz`>m6X9+8tm9 z#g>lS7oG~474)bM+cUiLG`_!n97avOG+PI6{S?$MSq5Rgd~>aYzT+DuidkqSkH%*| z%4^pv+-l5kzw^{F>4>Qv!?(HPY(?aB<+Gh?{aO#zd?j>kU>d!gFGnkJ>#~e}$Y(;n zslIqy*zvAm_FcKT0w+`f!7Wd{nT`!wG4En%45^$WM@`(LV16pD;k()9EZL7U8h?Nh z`&n_t(31{Q0O-l_oR<_(;VfQ!%>o(Ur?bT`9wuY3R{6fXo#{^cNos2CBA3W2@%ordlRm#3Lqt4l z#aK#S0~}iO3C(f#B&?MeIgCXwvx3q?Nd4@1%arBw4@xOZmA5qndJ|3tEOYX$Hore&QY!r8v%e0T$9VB zNr>vN$Uj0-ofZqWB77olecIX${LUcLXgKRvVYb;BH$>+hK^K64({ne<4``3HQtxYo zWss}BM+nl%aqX*8h(Wg;(N!KIQzevYQeZbC#F8M`jxyo*lKRper2g><4_W{BT=l;( zqK6yIzs|@J**q@#UX52G4w483+WdGzq*Ja!h$MiueiXUSme=n`njvnoq)RtY5y%i( zTCzkYWH3pr<7%q@l9$Q?P}g5W z9u@UB2Lo>@X9B}=qfa51RJ)1dvU*>}uf=_{!)RI4ET7RK36bEZs=tp5^VV(AoEt0A zjwh#?=>LX}4Nk6jQg|olkwYbx`UlpI5Gn_>20&sKR|rv?K6QC39T&m)2~=`QS0tw# zG4s`Ah6`~bRX(>Tb@#oHSu-vtV~2_mRkB~EU;vz}x{pSp8v>P^A#J9}T>e!nUif>Db zbZLV*xNbiTttxOG;wMyq5kz)g(UfF(r;w~VM>nLM0@1i76N{Lb9A04TKi6Kh9`>@l zzGoGddtjKb(&Yhyq=0>U^6QWL9aFnRyS7HRrq_pbkcunoDHs6c@DuLNms-m1E-up_ z_dzMMURv(zKVU}Qif6N$8R0NWvmHZA%xZw?9nivSIknzSW@Fmfsu8#TEWVf(Wsmb#Or zF^?>-;{kEmeo|{f(XbknWA;$91VXpf2OB+KR==Go9=$anFdif-?AIBINFzJtD}pjQ z3E|ApSY0*;T-x3lc<6Rd=b(Ubu}~o0F$&DLdn69ewPWCngaE^re+YZJzrSDfsoZs_TKB<%m=>N*iGB6E=kYdqGHcVd zloVdW95yT73?Rbt&^6iQd1ySGS|lY$3(t3FlP39ij)#Ao#+-IBhKJSixci1BA-*q3 z@SNjepWZ`=k*9;~Upc)z#CT%lREtBy$A4FHf4;|JIGab|n7kqKAtZ@0GVhg_?M`s>fimn)8M2 zV)7`UTkmA7pGJO-6eI;3M=BpghoJa>urQe05`>fgZsU!Gceo@M_^QM@;L$Wu2x)x= zhQR4WR>RTF@;N(X$>S(n_UGV%FNI(#IP0tonv40WyzD{q%_h4kkL|_~!0ex0i&OB; zW}6pDCi4yLDd72tlmeEq2lmGWgA^slUC->B$V&#F2@4zj!Qe)bO(HdJhtNJo965`Q zI5@$|T0}RA?42L3cZDNtPK9R(2@vh`fIM}nG6YEE%U9U(k4X#A5*x|3kM46>1bkwf zavHuAPUaw4)~eEWM7UN9)}9DHs&82N0EnAxC))P*%fEM=LWL*PX_im#qJ1`+PIQ4I z?fOhn9UrOVZzOA0!{P?&#DXLfsU`4CB?ld=XdcVMv1TFy=w89559P7FmW7$?RNbhO-r^i{7PJ;;-L(^hCRlWEKgp+vNl;c*!23? za%N-LM-U?DbJ1_TbQ*Vqh86?gSs(P8y|nXyRQ-i^g;+_ClJEROcGb@A&Zv^n1G1|! zk)f~bMdDb~$MwF5ee!YxH%Fb#R*PMCy6VCd%_+`OPm+fHM_e5k&=Q!f3#WQ&(a%cF zr5AA(st}9TU0v?VPmA>dGIJSZ3?@}Z3mdN%>8aZ{2b1VQ)uf6ELlM`qH?hKlIiYHJuM5$N02Y)Y;e)e@6q?jgS zPGU>KkUapmxx{9@5fR&G zZSmzm+jdy;Sk-a_PD*@n2^%<+6&dMhqW`kINjcrJziM*EzN8qd9Yqe6s4R>;s09Z6<=-u43Os$tmlbP^I0Zyp_d$(42ncv!j>I51+9oyHaQeD-X|+=qRj zWuOZQ33(IQG~Ggb+D!$?xKWMBqWvX$pIHa+>~S{30V6HECUt&dO&?TQ^-99%_i}$Q zDzii+=jVpsQL!gHs=FN`Sh&nOv&O|eZuuVM?*=9_r~~U8}W&kXlUMpd(;!YN*6@Ya`0+5zWU6n&@tiWf|QS?H`*( z^EEwPTz3>-=U?ZyCqDhf*0@#q!er&9Zffx~xc-=<%$fD~M}pprr4)Na<69493U^>agh#3B*VlP+ z#Ia!gYwPlLLIh>d=9F*nGYIfK!li-Ep~ZceEY5q#i}R4kk+!`b1YNHJ2l+~9N*ZT? zUDtbB3`BH7Uf=Q(D?1)#Zav2iQo11vviwWg$#Z=;_gTwu`d6v5x6~F<~A5Fkudz{ywN= zBRO(J@m$UfEnSeUR8(mH@87?pZMWWizB&4b2Se}MrBy9{P>;|FqCUJip)aU!TUE?@ z>un=zK&?9P&}jUBC%zb=2m0*4FM*3soH0oK!9kl1<#MIMysr1zO&9B{fJYAnN>*J^ zcE0y!o2jb<8~M3f=Z(s2J|l0lg%P!MG6#kY9}zR34dHuWO{Agc05cNVL;OX8Ic_uo ztc~<%%Z?06!zL)5DUMTX>2OAK17H)hiy( zNFvO%K=?qC-tVwo4fytcv6$W{{A+5l4v60wbw5siiOaVSV=hNN0G@u{i%eB>m`*}3 zyCMk8*}_SIywrvdUb@i#Z^-KbA@wqPmAjhT!=FL*L|V~Zl*^HR1}%?$YlUcAOKjMv zmOMCq(k}^Tn?pw?4ptK!pbxcXc<~slQ=Ud1WO^O+qiuEUqs-WI_9IH``I0Q(rMSjD zIJe0h@`6PuHG8-cMz*LPaW%i;zP(rYO%c(tyb5XGbQXc_&S*u!Ha_DY(k0q zBM4yfZ+3PQM|{@KTv zth6sqeH<}&ywf5nU-Ol>vJXI^hg`*F-O6+$5_Hb?d zc2_YvQYz?`>inyW!}R>zOI ze;&mRhMuE`xoa@$TbFLT0XxztKuJAk+Qyi0v&T#Rq;SfjG_toqN94iDq|8+7!Gh7( zR8R2rs|fl4&m88@(kx)Ts!X2F42_Wom3K45P~=*%Y!(6P(0E%R7$|sovm@c70(-IV zJZ8u3+*JIlGJcitnr08d@c@1^LLp`{m-s^^wW@$* zHUpRl0!JJOd!G3C_>f9Ee+m!ZxF)5>{4@X<^**GN@Hq4rm_qe^gbTZ9)?OeYQ+*MM^DoGYg6yXI zL=;q+0f9{By9qMs@D?#)#aysl09|vW%7Up^cD$wXcYX}MhXLO9^rlX{-hhcs4m8J>|^=m@zGhmK$)ouj=Ysi}CnyWoT z9PL3bjs@5^$%WLD@0|2$*6D z4lJJ+S}-%9?=**OZemb7QX zP-m{Wq3v**`NcQXhUqZ4!*8nlO-Msp5>qPs)zj*WUNuNbeoqXRm{tc(zLWcavR7Pj zSb?FC!y5Lz5UXQ}MYZfmKTh$jz{*ZL^cPXUc7Mst0NL~GW(E9uKK1unI}vH6%IQSr zDn1e0gm4I{^x6Hiq*lvPzMF>!{(dHep;WGg8f`c#5Dh6SL0U{!%3bKPcTNxy;<>8< zOLWLl;1kSUe*WU<7gBSd>}Nu|YnnNV!UH8d!vyXPU0sYi{szkWsJyJQ(>ZH}^j}`u z?Ql?#YoRz$9-*|bRE2+ncu9v+(dYZf)=j# zx*qMyKb)A;d!sUAz9r)JB&E65g(|_a4_8nZvh_&Imno2QM6=DV=&)TNhTUA0Fn_EC z0{x4mQOFWA!X2n(Io-a*U>%KU4?^!x>i#YzSpr8IabN#6r2ltPtk0(9=#_jERO9IA zM7eXlGle#Yc-xB`Q7p@aa|A6BB=SkDx3LR{MD!%Q(rM)|4&?Z$b7#w^V&kb#*3l$2 z3$8^7J&sUR#XlmTnYb@3P7uvB-jHY(ePK7VV{w=wF_gDGMCt0@jg#beiixNnYcqx3- zDYaJdY~DiNojtOqtGr$DE|;v~1!}+swgr3(e1_=xH{_EI3t;gU>}D3TWBQUjc_#gW z6~l4fO@JxioSN!IvCcP#-)#gJdP@pwRsH9Eq8sw7cI)h^sD2EC?cdbmTVze~tF}0# z)$AnH{nJ`HRB$5nJ|wGUfBHhzb5jL<_c+1vv8-@-cO(^v^PHzq~t*t2jE?s~|1dnb|moF%{ZN zpqK!1Xf-VgmFY5PywoAXak|79EfLhBR_{Rj6BjHIyzaZa*CfvbANd0~RaqW*I`Q*| zK8dCwRunNC!=fHj5J+SdK%A#cCk5S6xV{Mq%8A=8H@feYH>lbDywZPoxqZKkH^8gJ9BiAfs zJ4I*~#X%uAdx1?0*iY!SKKQ*e`3RglVy;NdD}e^cn{KT~rg+ckEwz9UZm=Il2JC15 zh)g)>ey|Qaw}r*UgOlkOxxZ1?_dd4-QH^BtJ3)3_L*_45lDYE*yR)HqmW)uTsoahJ zIOIB1rLg|B1rZpCoUmg(Cx*0l86$mkfL<>UggT_8q-|{)DLRHCoXo92g2kDP zB>Rp?`0z9<-;h(S{fOn5vz*)T1HMF-BF@E;Xl=YGHWt*Oh>Gk!>D#0rEYgZTTB}hxXypU% zk$3zEUt;}wQ&7Qn3^bQM!V*_p#gO>0W~Hdf4Y0WhED>2Cm3L+C_TTySoLMc@lJE>T zUmWRkN}WnhvwrwCTcXR?oA`b_F9p$anbcPC=^MyN{{3FE-9QvBf$d^;>rjY%vuw=x za@D#-m%#vD+8Z_V1^f`2omoIw#;HT>vWcagK7WCrBy=$wzinYM?^mtw1g{qow-|Rs z>(%jw{I}A}>q?gH3)cl<7k*hxaa#c;Lfg&9yi}>|DGn4rM^DRYJsHg~Vmu zE7G~D@w=jl7q#z2DB_x%1N@L~1wA|^TV$o0EVk+EH^u4|T|475c|O2=T_*DseOnY> zo$YIUbRvA+7U`D|VHrC(sb43Vu`5G2LLbmm=p`9OwkXCb&^l7J0!C#7>{g8rjnj2T zUc;3FBZx8iZBbQ2!%TCh-TpL2eUmjIdWnpLRzG^<=ncJtZ( z$(!POmv#@iWm9*t;)KLq2kYlP3j1NyO2qB85;TlyqL;Sr2G^?U@rJ=JpVAW^+pjYu zJiye0mu~Gx*#ZC@wv*0VqtvJO-|TNxV`>{0qbHJY9gJy##cXDa2P+ z#=Vg<&p2AWh?1NeC(HAMiCzv}WHMGat0sgfcr7f=+$v*};*!#tQXsrP`1#e_a*1 zOjR9?-SH^`=mhSHP4p+IF&Uo3&}r>LXR|NTyXX>_`c=GAL-pc>| zH{R3F^aRGuW4}_i{o9-TKmVpN65R1pO*S{#|M_eGb_FYJh-xFh6SIDX{Ku>QPh;tj ztkpLgT0}h@{69z8|MsCSPvEdwn~bSlN&nv?^FRMh>orPg`nIQeAIpdTG=TnnX#evM zbcDQ-WJ=T}Q&IjI^#ABmP)W1> z*@LkFeBP>Le7gJp45z%$`~xM9E7!s!T9p)N1eD3r0TnAG4SxJCx#$st#UU#WUW(4w z!wVuskx(k_X)0X*NnK^-F{vrtE@T5aDzgYCI5Nbqa}d$1&1wluafw@MV5&#^<>{9M zKbu2+?%O5LWnaZ}>E>Kz8oy}B(Vk~=Eta)H5X%^Y53sW%^}PE1+#8cpR&Qq_FHldb z-U0Q?moJh;;5*U6GUV&HVpr$;VPF%LP;GMD#Rf;A%_)r9q%=+B?i5@K@Ng#bl^+3N ztbDNm{4MY-ieVM|w_)9iNQY|J7mbR6ff0+OVh1<_{m-Ys9>BM)*dho^1Yz*(}#u#gCKk-YR$T17pcTa>;rBY&1 zW*lS){?f+I)G3T7Y75`H;SB4FZ{a9HoSD_^3+L%whE z8ti1XF2|(s2naFRAj{SP+L3(EOmqARWZOMo$buYZfmr|v0CKGGd>bz7EcMJvGlo*Q zGJs61ZvgNc!N38O%1o8){Crr9$kU%%DVs{0QN0||y6G(T>!$b)$!D!=%Cl!HU;f&< z!1Hr)LfnG*_fjZT55r$po?9 zgtwN7?S#f#kQ^Z1Tmc_{0bF}xcsc%AwTP*~W26wF+K(>5)x=f~HU3Hg#GFB3Bxar$U|LT`E%A7TMZiu>&A%<>r1>%dgZX!rwrgr$u zJRjXX_jWo*K7D)Km~ayO&uGcyhLgi&?T@BLC?AuKV;~Uczpqr|2MTvvjtHeVbUZ}; zhX2p+a!7(TMohxhxoOSyrp(h$#x^zIHMPJ=N9mHr8jGi$b~kD!D+HUBK$o_7n*{Nz)Mt0-qO(G+jsCWAD-cyGI#k~` zphA#h@DlBg!JenQ$G7glO31@SUw0k}eYTeH&oXU81Xq>LX+A|aBJ{Z$K8AebjmmOt za|V~eH;MgwR`2l8+L`WZS3VI$2Jbl{{|sq-60mfWMK`t#1v|MO*^a~a3C~9^MrQ41 z#8kdJ=?+$ODYn3-rX?AD&CO=jl|Z{kp*tA7K7?Uoe8)M>GVSEgFL`PLoGO*q-Vurr z)1%nkUv1bI>Wp@30atV!#!lbtf|Xi= zKMOl}1xtvA7Oq=C`8_FY;=Z=0viPA@^Pw}{Q?rfZ#4OooR7F@`O+T>$he3Y^+bm|W zF>W{$sBR+irtyQ+R=&wci6!r!bS72V6I%;2wFx0SV@&;B>p_NnJ+$znQa8hfM|8JA zvn6o#8}HTE6gS*KxAeVH`@v#qK*Nt?q?MiEAYEBjkrIDacP~j5=eI%HpebzB^bJ;A~2RrcaKC zO9Y0t)IpDM7}CM9%4V8li%@-y)q)CgTbwNIf~ zi?eqh6IIgTd=PL@-zLVzObLO@8Ou**5mI%=tOG(pCx{@2o#q3pk0)m z^2TJ()%Z9NmsBZTeXskfT#9d+_8i?Yoq4iIQ#FOWQ+tumO(1INk%RFbo^>P1{xX2X z$Y^LJ=lp;VW@T+L7Ypb;^h5(;ZukDcTKEVsNP*yrR)G6s+)(wT?(i!}xi|2LMeU1Y zj7(1_?%kh*+}#9Wkcn<3nU570@;R;)-%OVoh&2L>_A%GGN}RRzb=%!3`t6F9BMe5Z@_8&8-RZMK7(&n-U^m{3D7#;ZD zP)prG#frO2Kv3a=4R=>4@;PUSvPYqr%>(9V16`BFkJstmA-<`=63lL6BsNH;>3OCO zcZ_ae^J~qiBY8QZfl}oMmI<{3Qm9)D-yGc;bZZKi#6q?$JjGrw6k>SxDtX%#ae>?v zn@&ysYAA-s-D%qzsm>D|k7>8K;&~no3I?G0EDUHo`h8;yOuwf>Gr8?#@Ls;mjUHd7 zxf&9NAoOY%@s8ZR0qoDXiGAWfQNg3cM&u*K4S5)M?RP=ngD?p9*{82lVuHRNHXmf4 z7(T{eZx!Ldb<|ZeI~Y@4XT`J$_O7@d{w7=ZwH=Y$2a^ASRpLqNbj!=7TwHz3ixlKz z7xNB63+{`Nk12sMV+NAYv7Q9Zl*tqFU51Qtf6U;TlLu99$JoUog5w$(D6+pyMu$Nl zbTqWJj(xfFN#(4KIb(VpBFnfOD$snzlED8p7%x^FkESH|8OB!@Xh%7gI#$4?L>par{2fo+F`PR?nZ#p`J<<-H1 znH+(ZRf;(%1RS_+9SHTh-1`^xW^U0efzc})oS?0r*FyQ zR7R$`;km;QX2|C&X!rtONdD`KT_U=X$a}cm1?bBPBhu!;l_(u3p6={iDN!EGK)~o` zHzhC{m15!eLQHZEHreS<%i7mL#Tzt`kGm0F0;p+#y`QYSxY#v&B7L(wj(>d=yY(2ySpk!l{w&p0r$U`@I#BJXk^~*-CIP zg>#f|@$$4?ioP&Wd9me=!y~R*^--BRj__$_OU;gahUgPkiy8TptPV!)dVkQ{k;cr^ zpRnsS=zhdcO6l3X_D@*PFXv6qdL}%k>>->dpY&}S;iNbzF z7>uGw5qZ}ev1EKMt;_H!GZ`#Te9mfs7uHB3YW4AW zuEt1K|C_pSFC}D6WNAJ+(=l(1I9%lGbJlHXys8)YA@;vtSH7!N8u5T#FvG*cPb|{f zme+zn7}HdG=Li(yBtHbclOxDUdUX;WVM1?8(K)>6OL3f`7q$v|ZL+F-dap{KTRWCY z$9Lb-C52P?W)|(Y!#j1K`xZxe-*JSK)gjJ+13!=Sg6%YAOP@%*CLs~9lMro7LX*<%1^J3=humFa41owfWja)NvZ@4~8CKa%_icSqD+!*YiCRx1&odVTy8BjNWUa1oF2xbE)NOI~k zi4YSoz5R1M=Jw;a@u}}otzmzI?icaiiQWa*a*N2_+LSBQurpr@;lSRd$oMy$ z`fRWYgO4KPi_1HS=N_89A9Wd3q#0wBQc|rqOLHqMY*4cr)%TggP9V(;1<_&XGGQmS zDJQfWJV_#^eJuVL@ly~b9U2@+u8bgTB6=Jake*kW!#qWeSvY|)m60uA{Y$Yg4xK(P zTHPRyGAV6)54IzDL*#~2rn#&^WJWEAk|^ls`U(go3yz+z1xcu#Q3tFAR!S_is`MGj zf=nyh{$hjbCC2xhu|SZl?fM?R5PLO_yt>)@S}P;bpFBchA$bJr(IY+?-L}5&*Z$Zt z1SE3_rqZA^RY`?86_I#;!lC8K)(1W(vFs7t#0L*nV@?!>k?&e4q;_S$Y5ZBDY)(IF zlpBUf)Z(!zXb|`p$jA_h&OiF1wyhH^nhj(u2{bB&rXLq-%Orv^BymMRKa{%aFK0N# z9x*&(*K#d~R7Fd1Sj$cBHJewW(8#LeFg*2azT1oT*Zzu1pvjW)ZAbfLlX1Z!AUW8k zpQ$ubtQyb0?jVgSm7a(mt(~|5BIUcALrCKJMBJCNoO4kq(V*(n%4yX?HT~zY4cXv$ z6yNbgxK7+nIdYlcI;hLqzlCd4&hzCZbGg^lc_d5PvY>QT9WQH+#cX-P!9rce#5ZWv zmpVI51NVSSW}nXGrk%#-++BWpRZ?gkn4e4w|!K+^C$j6L|BHkLh?PMcl& zW>AI~?gz#42#S(V_IUK0ousQWryK9!v25Q#lf;jY8#40bEc4NujQZ}nUPnPTeO2Z) zb|X(y7kP1fvn9AQNpGSVwCCP~;$i`xU~Of+*KZyrE5^qDc>mJ8iHx^)xJ@d#@&eQq zHC<~zUgf1cqa(;?go-Q|ZNIxZoU!9<;cf8jEKFcKgj+($vqT^9RIEprq}4S6S7)%flx!DO?35c~-M}+mxiRZN9J*!CS5_Iv2u3^-f{<%w)!v zW)&X46O#GwRuo}&;3RW5{sDWVuKXhLyK4Mh&tamKc4bV7NC_+QbDglCCpBAA+L7x_ zvzR~MTFzxIh-agqvPLjrV!usv8bV0~Bn`{PP>N>V5Quk+ws(Q2kR)z+fE9i&LWtT9 zGnzSvV_9!(x*(B0v@3i!pg;b~czH@9Lgi6>%6;MEG+qRnm36~FLxu<|fqV_CLPk3WKa7e#71!+eKmXl4-%AJBY zeK&UXhceJ*f|SD%XM0*piN^>BZ;1c#0yD-$I7XMBYyE{Y@p*2(JT(*D@G>NWnc!5@qctCC(8tnVJ$jsNDw2`% z%vN9FNx=q8)NViAQ0m?}BTW>Am^PC}IiI6Lhw(87nduG^^YfrBiaPw??2Rp#n|NS; zllM!X=@4Tm($~&DkM_r-lHr?r4lFi`v#skR6uf##OuzP|8>iR!lJ?6u*6GOGWjEQ( z=LxXsgZ?4Q4g}A?{Imh*2$?z^(7xwp@^s|zul7CHVtiiZq3NG)WkLh4Rvmk zJ8=WCrzyiYIY+M5cz8{^ORTLOZp`RJ&(qu(?2>tNwkYyo_WN^eu2*k~Ow+5~Vk7p5 zJn>8}8_aKu4~R1E!@1%{NR9P!aUr_My}zwdwU^_*HJ`nKl_=Dk zqg{~}|7nXk&H0d`l6OAkkxIDfVMKa9O)T$Jy-?rng8sC0Kp zgA&pWQUcNq2Ho8uNVn2McY|~@(k0#9-JJu^#V`KrS!?h8+53$ztQqe6o@>td9>?LH z)8uYucYg#S(6p6XPBDS+%dTv}Y?j9+?lz|n3^=*QVYjzL|J)NhH?WSd)2CmVbq>a* z>_2WaU?@mQHc-WSoQh3xMk9~e(K^kvExzaRU6uQuUwhRnHaLFlSdurAigSdIVapu% z>4{tH_wJ-ZyAMKAuRxBCdLeUQgw0^R7AQvZwI~}suGV6)_wqsse`*e9?r^p~)KRs# z(Gx-*RAeedr|H2OA8o1{=bxM}w+H{sB2<4qJODQFAKt!w+p~5C+W}#b6S~P1joTMV z6t3f&ch-8hpbJr4ms@Ud`C~JyEF?AHxjC4I4U0_B=BjB~n7=%maCCqf-+>$aCw$!< zxQB%Xn>qJyt7;y2Zg)n*GE$)Bw{z^Cj(a4A69YeBmIo&Z>vEnXqe8H&OzaGEz89ni zk3H;Ru8+#UIu!3dZcJ4_-Ano4#YJ=<29WPc6|3F4AyFnHX-6G;k8z~OHjQ~U_liGwo+Z_61O<&ITSGh>SQ=;tsZ z%U+ZC_iXtyvhi8M%$q#h9iK9N{p&_&X7QzBXHKq}O;6v5*kQ+*YybLn>w2n)JTTL{ z6W7)HS;OW2P)pl$pyuoSThD_V-j7NMxB4@T`w zyV@%cu5twKSfab`f~=YCgkH=E&9SMS@Sf8aK@(KA?moIezH<)wSJ zrlINUzk2tVBz0RS!0yI$I~OEr&FsJv!RCi@w9!U?qKmFxZC_}cptEVudAi(j>MWh}aFzUbFjr!N0%PA0^?QFafiYz?rRxT&h zt6p+(>;uY(5jTsWhAV%(Lt+VF^@GDkbx}+~92W$=D4@-ZICu4{v>!%>1i7kxmN91B z4@liwNs&#gyzh412?oIBXbFA114t;hfvk1N9)%SJcP9J?$ zhV755%t*>!R@dWO zyJ-fS{&icnNOh^ly@*WJufeu~@AOj6PYp?0+tyUs*AgZ8p9n{^f+<*NC)hS~g~7(vpiJK6KeV82dbA$;&D| zzP?0lp_WvzF;(5qK+Y}&A#V}J;IdhbIBw%|?Me}VVmfv*XWaUv27+-8jYvG7>pP## z+)UapmUl`_aAZ-;y2Cs7)q<4aB}2!OiC^+P=+YmPnV8gJ zc;mOJ2P({inc9OHUlaimurBH^7I@j#b(b*^4K9F4ViHwf;JLsNzs)M5kKpSy5aIEn zWm_a@#`V6w%=7fbF-G7eh?vci#JkKQftK%VblpjAp9K3sfxEv_k%lq^sVKq8N%UIF z88rJ*Q%H{GkO8TzZxmpxl!^G51S+VPcS?Lbx*fJyD8|t7Fj&%>WJ4N4h(X$ty77Ff zjP3nesv<6{qTb$&3LS%(7W~X)`;TQAVS*`)S?=B}wsQ6t!`D=6?@ zQotIcd(9f3b5tQBBe!Nr$G!oUc$#Aj$6KCg*2NqkN#fOYO5oFfS8n1+0I6$|yGzmj zd!=MoK|3Mc4!0eR+natg<#_`3pF}I!S&zAYli4?fSYuGxRv4Tx#qy*r8#sU~q^> z(Ot8O8W#$q%J-P7t4$|F{y2AuEwW4g(P+BW>qD9zl0@EL46PF=>rz6HD(Ee02ag); zQng4!-&)4Tm(IW5@jxR=lOQ(3c{w|Nw(?Z!WT=|YVK+`e94ZhJwy=3Uq87RgU1vyJ=8 z0#+OuYeg-BkL$z-eN9M@N5xbN-A@Ka`crPB9+k$(?oI)TlPf}%br~6V!`ZQ(uSdwe z`aLH-v9HVKM>Xxoak0PBU9P`S6g*#s?DUvlv9DcJ)HARNTrNH>Fx4v4lXT$P$##8t z>mhk{fn4&qX4NH_yJWtRd9L=}se}`%${Pyx)yW$e%$cj)grYEKxj9ACqJBDRW-m2;oYk;q8_&>_ zLQi1kk|rFGr!XWK%z~fsF)aFA*CS#g{Z*2=B+2iD*DAkgZ1utzjJTm!L`&NeM2)1? z4tpB>S9BBy)N6_YlDsb}n0L0i*M6es_zLsd%Lt4{SLFa+g?B?~> zMR)-yTavO)^w&rk#Mp0CV2<6<&Nc~AH(|}YBiJ{C>CEv`9yQa#T9lm4AnH7m; z8nu{TjYTPHgDw+eEQ4g>)80KZrP4!BFoK|+a~-jh-B1!5J)K+9X+1C#42&v(_ojq* zR+0af$#`KmsQXBc<_-Usy05|0$5C`7tDQaiX4kc;NN@Atj9ytJx@mL%)`toH#aS$& z?K(f7VM@L0{n0dcbyafLf^f;G;pWJ`hF#^SE9V3)Y!WSh&)jsknrM1GT8*By3D08v zp7^QbN1w~KGf~8@@rIbf#qNUzn3gM-En;{%a?}wCtiQdR!^LLqtJaHUp6@h&% zj*MF)hKG_67np6zfbW8W!2X@gqk^KF++kp~m-j1jW5rQ~~c9Zj*@ay`Cbl?HMKTl;{23 zO^F|~`#Iu8(=hHYx(vDj?9mjesOLins+Hjh3kD2*86-0N`sio7dj!rAMn}~as_?UX;OuruEh~=p+iNiTr=KJkR zTDb?Hk&*di_Z%UEHDaDQLz2nyWBw-Ao5=};?62hobneM_rFFEw1@^4%{nRyzclKei zG3s?Jj&iFd6Z9!lc#ukIgq49G(NxeKl&=_veawcxjuy>*vMxIPOIDkavC5uz{7$oV zl&{|)ZljivT#L1$4UR3)iyYPrpY0evQ~kAO#n!@lnIY6(=yc<&)rE~s6J3qlL_qI2 zt2nK&di9)4jj4Z=5_&LnLGtyFTu!NcVst!@De87iU&yP_V+sB66%6^T8I{DKpot2{ z4Lpc>3QA`+UoQOh%VsaXV3_(i7a*nzJG|wB>sM%4qov2a}O%B^n}-8JbCSd zl~HWioB4}P1gzo6X5X4T_a%+`VrVoh=yQgd?7Gj@7w2QDOe*e@F3dot()c z-p_QV$)9$=N$XEZ-nVbpFJ!JYMHdv!;ExVN*YC0NsYRvMZpwchcY?jU;C)Vj|JRQI zNbS3SHr_v2s8WP~3xl!87HZeO1D)(b(J(R=!J0uiRD_qtkiNeC^NNYUi9a9BzP>vd5 zVJAh=YK~)inS~n{5|1g|zy7V>lkU>{)ute>)gxuyed@SoQBia;$pD1?( z_)@=hv5unaB(%>-ovIg;ec_%HU=w-?hY{2SMVk1E9?cuZOBE4CN?n+A2u?>bTZ0o4 zO%qzJ9%0^Q2K!|sZv(Jv6XIxv-Tv|aB#=a81x6N#1u}mX^;OhHxieh&96jO16v=d* zz`-;6tw#O3xkNIu6R<3{k&SLLQo<~Pl0MqQ8(MHKh zGoeIUdy)+e=Pt*6v6-2Hg9Xc+<~k8YQ8=*}o?7uKpfTb{og{O$8k|bA@!eI?=5Zg4 zM`fB4QxRyu3C>6bvN=vsW$Ns>>V-bYIgv2}h{6b%0zNjLre>}6_I5Y^5%a4-LVOgdQ8lg@<{fF!uKaQwl`t=Gw% z17rJ_+UlO$3!8TtTqBT3)SaCjX>ISqc*$>AOdqov7ysNWM8j6-Jn;*Lt`tf35sM4K zq__V1iZR?1EUvLp;1Dm|e^oiIy}Rv!ixb?YjySm*_)&RDkJu;wjNd~JKFw9$)!L)g zN%TM$a!uXM`ipciBvleSyd|qijD%7G7=cNkGp!vwI@Jy*jz~MWUA}yg_ma=4+VkE+ z=EehdEmY$_wmKy}xUloE4S82Ecp-ZnhlYn|d<0V@6neCTy<9ZF-5O)|rP*jst-7s5 z`>&!k%t5PC)baf(K|!sRMjO+;U#-ugiS6<}Qld^|U|8Kj-j=(ocK+T|@Oz}5`lGAH zpby_{x`I~!+2_Ojju(NEdSen_6il9D(W^xHu$RSA;rs$cmn?g$DyX)pg#o+;Dxvh20YzW{in8_D0P(ywPD6~j_V_vpM7G3_X zsl&#TEM?LOi59F0``m&{nFM8|1zn7C5D%&UOv6-caSOZNv|E2UTL@?B^H}8 zZ*KGtTPUyQXx^70f0OV2Hmhf&JnZvuP=QpP>B?@d=6c=*U)JyUqLV;Rc+qKnpIW2o#03_^-&(8E5=3``pCIQt)~hK8{ay4{aX(fdk)i z=%Dr;%J<0p=|DMrII=fsbNNGwy|UU-uW4S3x)!{da_POBfygVsvCh`V-WdMP^j4z* zzS*3n_J0p6%c4y(GMsxq>3cF7)Teqhg|d-kG7znZ;`J{g{@5|e4$<_2@8j@(fZIg* zo9!s1*gA6L-fMRUS{)3B4KvpjuJ(PD#X(>;Cuk_@;>j z=sK0eS-gKI82=L*2D*uV3GuDX#rMoy!HV)n3TLD9^Fv&=d;^rg*Z*qV7rt-xYcJnF z|7QZypmR~i`%ncJ?OGcuun5okubSY0A@l!zy?Jr)ARK5aCZqkI-pT*GTZi}$M0uaW zvFQK&lm8vH{qQ>9E*`G<&3Key+y66B?gv&oI^|Kk|5w2M-xpnUe;~@6*w^s>&)EHc zd*I$YE_uKbCm5*YeEy}C{%_a7iR6JOx0G>y|KWE5(kLw&9OV;&Fuvn$=i}A?m#e`F z{<$+XcpDKWh@(t+KEy9iQt!P-IBogJ#zGPhz`6S$>BPS`=-*H5zkgCA3vSrNl(jVY z3&~_&&wZbi-i{o{U2VXJs99g(>BKX)|3CaMnUvt2DE{Qveb5&8BP!8DULn6%dEe3~ zssuA4_(F`BQvM(M^nYBnhu6jP0-aDxXQz1G{6Cnvp~K#&LmEH|1Scj=Xj}Jrj~i?pFZ6?MTM3mS9sa+DD7W3Wg)sJ^vJ3${Qf_yNcoh&3)lJg5}%o(WE0V49ox& zBaKc2C#cDS0aX79jQcq4HV0Yb)ij_@d|gy0mtT)?l;w{@RSyT!J&!u52~ck)%aiS% z_a)-hO2-I`rg=L#9S}2-@PzethLiC#_0Ny~%nIrF!OyF;b#vT}QDb|S|Fa7F$meLI z5(qs^aYK)T=Hw<4>!k+d7B(C z-;`b;Vu2L9_oAYtirF6|BqV-!N5*hivg&nx>*|s)-UpCbM-q?YYzrAkkOT~7<m@?PeeRE+0@b>bqqLEDcOC|g2sYxNPhLsTH+(ZMA|Rm>&h#Ch zD)~9eam^OH5KXB#^K2{Vx!+jOreNh7tn@p9O6aY{Eaz%}(oFiy<)sto#ITv0F4M*0 z>sf}c&mx!A(ms(IoHP0#TRIBej;-Y0ubY|88|o%X=gT?97-Di%&To$3Od(@eY`(iY z`nszLf{Xg&zskpG;i36HPaEr!KSV){U=mv14tIB1*+1J+VctSoK|$kyCve#E7LG13 z>ZsW$x&PevCmzD<-h$ClLV}U=kKU>t32vPxxMz;>-cr&D^Lu?P3aQD>MZi3Cw4N+; zX$mMgAC?#bz=A9sAoLm$G|KsyU|P$x#;n^!cyn=3ox39S9z112D1y_^0onL05b~c7 zIWICe)w#u;1$QLe#_N6!=XQ>Y#5Hbb|2#hr;27}in=H#!V2iBqc^EEixAxVz1(Vp= z*~#(zb&oO<70QxxjxW@N%KJ{1E{hHEjQj59Y@f>b5snv<1jf_*MT@n!e3rVKLpVZw zek%42TJn?Q%aUY>4q;X%AJrGRL8Wl(ZOe_rtq)ZE-Ell{3sP6~-IvQkbU|CGHP0C!Jp69;*54&IJY^}1_5VqbLmbo15QYGRT zl~TQ*VkkXxR^UwM8IH*Y^9A{Kigalb#iyjO<#xGhB#y#T{OjIlv4X8VQ<)8Wo#{h6 zGZ~YPbh3yLej{xG*7p_kej#Lc3eNR!Zw^oVaAj_yWV^f#P8&PFc<@9m>Gdy$Z}b?v zAIOGBMb|rTp4*wBh&vM4QBjc+3F8#|HYgECi-1ZQd z!Pv(vIXxUn-`Y66Yry-dMC!BleFv%kFN zcfSw}9qbrM+5?ZX^<5t;ONkFIz^eDxnRhAT>xCTfW+_ zLImV+{t$LkDRr~7yw|PPf8RCDVv*!9B3NWcMlSb@t(eZ`LSr2p`w0~QHK98PyGdPhuaROL#G{MubfN}~Z< zr7O~lwycG(EJ4jnr=zAO&24uvJLaD|Y)(zwVZvBFpBs;MBEZO8dE6$FuP-zb(>wQG znRPM83oG;JzIG2{MU|(Y+R`jfjTFH{!%fY)7--u6fZ>B-s#=8+TA6;YpPT>;6L?}M zxIDnuCZoA&nW68&(X)3%@z&O&`U}lM&Fd$@Ztx=+RJc4w4A-G&iLe6_+<@@){-=!! zH7?tj9wY*<-l`V=7Du%6El}><+FsrVCaOr&u`q9U7YW;yNGV}r>QQvE(eNvn?^ z-D1#VccycFDjs|ibOe|cF9%ndNd&?Y#e(Swcab2;Z#?u>HG4?I`kIFg< zPH7>+l>3` z^VSVrh2eSPqpGXO(!Dg2d~(NeQsXU)`9P6U2Tin_$r;sQz7yM+lXsPytidHUtH1Vq zmRNWDXpLtts+_&#U$I6>jgFJiqviHUmRQTSFAMQJap$I(#hsMl1znkNGWeNphudSD zYM34q#|^~!BE^pN9DTlJ@GPmH`cVh{H^WxmwxqM;LoI75a1|KMH!oCVK>>c=WZ@iQ8r^4X-LjU(?(Phg$eQJL+?B(mK&hz&rheCZU=IUsZ zhH6gceVNOjTm2p~U~QEDK-iH<+z!2dW_JPHIYPkG zgEoA&&p@uFGFNG+Sr=$ltKLL2;D)Ft1*PB8D@PQE{9^hLAUqpScB#LGN63TzUC{dE zjgXq~bpYSqSMt(99HExPoBi*cFSK2TRH`9vHp&_qV#rhn%S#lK)h1a#V<=<3Zz<$)din-A*)9s!(%s#iYwq5=R{qSE*pb&ISJ)MLUY(Ktrr>6Tk6yoS zE4Bm*ofMe!E>JGZ!J<;z1*%)%TP?nGX zaI!$DdN`l~=e+IaO}M7n+9`nO$h_a?wPjD3kP^;Jcg`P@dg!JAyY#Ovbyp$|HNwMH zfBYbRh!&``e~*|DY4vr3Fm9QI%i(2l^zwuFAzM236@Zk*!94YcnA1fnE7z7M)-@Ly zuSdj2c&0b~U#xlNPJ3J1Cji6I(DZvT(-G73#xkd{`GH@*0>2`s!$l#5*bSS1&Y;$Z z%E#kK(}K zfsFQ$MX#CGKd#>Ahiyb8Ka2ZEJWA6chN$knUcpP@ z8fR{g9#b`1zHB?@(8Tx=`C$-=;E0#>I#IA;|M4N&!TS4@b@;67R-DA&69U>*M$&j- z5gOs6VB`NWyVXFerg&#lvfwXyMeJ3BVo#kLJvNoVq=EGu_1MeC2>TT<#uhA&rI~GT z#!xSZh^g9le(eYm0&x^kg)a%-rGjT$!3C&*jAp8e6jbsQsCMTYH6<1GfR$FzBdPS@ z6wZu6ZL%WW1^iA0-{H?OP7ATl#SGpB;h4(DzcK4^k0v~@>awh)A)nBC|c*EUy`&ejeL|Sa9CI8qzyl%T7E#Oy~*=$M5 zPdRTYq*%-@WfK@RIrp3uom7Bj#%5zRJYK#6LBTz z@|q;zwtm7`Q3m7Hx~uVG+1DJtcTmbMH}Z^B5)AY2?=MjMf|5 z-j>dX;Ix{TPL6gp0RFM+rSr&L>7$>|S->V;90}6A<@W1hhA!X_Ivo0t$=Pg>h#_Oq zlNo3t7Dhc}pybBt*5kHfye`~is`H?A5^mL~R`P4nWSacDkOM8@X%-vlhf5V;LmblCjdG{U{?Vj7~L2np&Jz zM11Rszqk3u7w)fjy0%n(d6t$dO?o96E-RpRcUeEl$eHaA!iLYb>D8ruC7g5ud@<=7 z=W);GJ#~X-(CLZtDC|Eis)mt^2^vaX3s@%+(kEwAtCp``kLy_JnT3s(I)-NU=p4-8 z=t*9aPB%Po%wZvYKe#1BfAs!WpMjGb>}KyuVfzCor7psqWoGQ`*$W%&qD!g<->Rg%S zh&G7LA-YZHM_^L#w4iht`*J#~2d$su?5mkdb*FG>3Dv*tTq9p&SH;%djng2)6TU4y zI3*h0uT`bZ=qhWb8vJGRj`pCjy{;RGDAwjFE0q0JWr^wDY$amD4d)%xMF=tUfN6)9wYSg*`{Ve0(_w7*$7SztF3 zWa&#qjFdW{F!(_lWTi@pCYK}GvaNH%Tw;adE7-a;{tIB#E}zB>W@GYCsN) z5*MmxONO5b>H-KHW+_Wt;htKoQi?sBB z;yFY>Ja0!cmT7rEl%Pi$9KJoDl0`$FLk1vFkK06pze-iFQIQ8-#1GY)n3uhV9yM}& z#|RT)i!JN4HI=SShtJV+n1KU zj9@Inq%M?C-*`GK-Saf|K|&AQh@zGSm&8`*92dlZyBg)rAJC*v+rvzh1}P`1K#J_+ zKHn#Sg$E5MVK#rB^@X>o{O7Pf1y#f-hBdGIr}tQ^IO56jq$|wso5DNN1SfudeoQ*nQqL)F*oqp8Ps8_kK zX?2@!UfzXaTRtcmTeFhlYD_;YVazm`Oo_j*PR+y@)%r@^2s--B@Pvjf^P9LEAsHA4J-#L6Xq@ZX>O;S?X*C*(Ayi(CDae#))%%qav_w}Dr>YjJ_~IazKU}_ z-<6;3A9iMb@N%iVUK+GbzR*paq!V~GUlCSAxxM^ zY(*H6Te?-AAZAHDdCLcqu8{RO?{7K>4u%}l-nhjjF*_hOrhWg09h z57E`8f7=iKS|Br-C4S@a_bjI=k3mz(=8~#( zxqcIs9d>!_p{FiBi`|mhxQLUCQ)_Z2*dKJz!klzP#+&7_{8ej`3ML#QGI#Lq<-BhQ{&Wn$9JMs^`V083CDAF2!m2HQCV6$bq)?fV#mQZ*E6-MtB$Cex z=Hef2*A&WXC8C+qZ>W$Vb!IXw*LPoEK->v!RRpk1*Pa8(hhWVwqZ`AEmuy7&mGhb0 zlwHK}`VIwGdn6k}7dPcLid)fzT8^@n`wH(Y9RvvD5JsWz%&XCn7+v@5@*_Au= z$SZ=Y8SlB?8r-@fGL1h$c^CG3TDf!R>Sm;d)W?k??T3}3R=TWqR`3+b#qT0&xwMJ< z#ivSUr}+w1cAFm)1%ByD?!Y(a9W;F}wq1XYHtx1RUdotYeKmQchrwox%}7@Zi7vsp zI3&Y9J)mZI%PjfTPG!(-d_`3-pZxt_EtLr!;XjT^C{&-U{q(=^S`h07+U`&<4%N!Y zhH@9$u|}CR{x(Taq!;KMd%02+quzV^vO9#3y^dUU3tX?2`9zeKj?lZVy5U_n-Eg{v;kW zYbBc1uYlD|Wo|3pzlG{w4-sZJ)qcBd0oj~omQJDbs%@j=fMxvjhFoX)UhP-kk{GACZwvouaQ)@M-jCNEoV z)k4U#XXs^M@f~+T63>WlOx(QXlb3wsO;j&U$)1emw5 z#6D5i^xI%d@yc@KkX~~UI!VCpJ8G!8Qe5|a=45w3tRfrlUAVk;vsyMd8eD3+@u#_X zAw?sKlirAb=Lkc@{SCPhII7N0me~HDg*p)f{fP5QmnG-T0Zp6s{Kn}g))=>^Su;#3 z(|k>iFRSJ5{dfF5ME*4EM!ES@w6uG?UwU4x7TJv`VR`qe*E_rQG+A9tebDW66K&HI z#l0(uhhux3UEqyjpYRFzK>0(R9_<6e7g7|~Ye7S`;d@d{hyB?=;H;piD<(;R#s<)} z;G-2rv5Vc78N{R`${Q#9Cw% zAwx%b@5x$Ps=|9(s>*-;(vI+BFw>qnlGCjHu4^(cASanQAD46ZP%!rFsbM+~xOpI| zKih|>5DB&PuB#E%uVM2N)U5Cas@+HuJVpcI8y(Pt+4qw2b zn(GbXu_L@9j7YZ0rUTYZVgOkhtTa`PK&Ijv6j*tPdQObe0i2MMV6mAc2rK|{wyz*1 zazN>!_>09R3)GEgeYSEi6#elo>77%BD`WP+te=p8_U~4;3%BkJR+{cTv%^SRl?)%T z{q%unr1g`k2O)R`Ar=eU%9k7U2T^QdKz$P>S8RrX;WIPaCYoTMn>=&~ak7D`^=T+@ zycKRpnaV29mIkgX+l%UQoy?GV!Zcu+7=Vy7 z&dIy@f=WjuzB*RwY=vaL;~Y&coZqSjLw=}JfQUuaiNM*!K|}&@<=G5ICRR?O!q{vF z3s4m96$KKhXgXhDjVL_@hDz={rp6DQ#1ij66Mr}`I>y)ZeHB{v*=++|in?_@<#!xa z3<@_bRs+LN$VLg5$VVq-2D*MhcU)6gQ)4V+f@b#0D~~+q`x^K!&mEU(Z~3GKGuh)O zD<4fm6U8->;qP^XHv)4KHS&juj?;E_t}@@9+}HXrMebIkARP-8xTt?*kaNLAMPS_+ zK=T&n5~17?-(GFbfK%G8Yu~&31@4YrV<1W36;v|z`TEqC= zQY&EdsyM$#7Auqblbm}PIxyB-+{-k)JB&be>{d2s?A{(5k=dv=pYa0@*~3bitVTff zuu-hAkVQTP8athx@Bh3r5($6 zUsjKUod^%+nUPA|Zr@6cvj@)w3i~7u)nfFpyCIFG%m$>FG7_=CZJ-bjz8Hx~%`0A& zAhLHiTs9GkoNnhIOs0~;hCUV&l8Ti~N|VG6yN*a)na~X$-bZB{gMkC3prr4g2|j2T z`8~Y46t?(Q^Bx?0`cO{u#HF4r1M41C_fPScUySb`=MR10`)hUb0FAZ!>W`mIw?_Qf`g)z6h=6R+J2<7h1*|_)wl?+ zHhV0$bYSgmkZfi^FJsdvh3&0eXWpJiQ!YK8i4Aqq@ie>6uA_WE?}{7Vqg`F6S0%S0 z=P{Cnt5f{N;cE2ahT`%Z<)TizlFI0(z*dr?>FjKpbu-6? z;2LE9N?9ZyudyOe4-E|=qHxq(e?)N%vl^1*pj;J9-vk4?)yz{Vi%iHnbGr7Gl@&D7 z!h>0?zjmIJxl*qf5_Av(m-%>YcHf2E!OHZ^lazQ2dy!R({5Y;JR3SxIO9oU7-uMF^plT-L<@e2>sPUYciDj9>54%%K*hpjUeV;-(dAYMfatb`y~mZz+Op zdJd0Jye)ID?%@<$zEaLNeyL36A7N&|A@^lB&|AA$!ikbpG?NNw9dnnq`rOJ1cG^mc z9Y_PDz_fwz&8J7e;LI8X8sFZo<~~(5G!PwZpbnG3<*-O>&!QkFAFM5(IzgyUto;3N zIdbUp@L*K8%zB6o6;@q!v2Pc7ESOI^GmJZR=4JYia^B;mV7@Q7mTN3yyLLl(M>sf- z{DJCHQ7>+PH5UIuE=W)=JJ{vP!)hY%?6Uu_{vYWkon3yDb173q`j_2DBrzXC*a&Ti znpL+!{YK9->GaR1FsEH^i>;q3u+`sDx&vQ+qg16tR63*az=O4<$?@0wbR&h{TmMk4 z`TpBp1*O@ym49jUJghwofQ8;+tn# z(}qp~=S_xnanx)-SRIpWjpW4Q6JuD2fVI>M0f7^)OdwDc0ShSx?!BQ5gx9i(xvL`r zr`so-d5b`=Kw2%2xw&PeP8rQ&2knVr3UeZYT#LL=TsnJGd}>-0y6WK2@d3{84-Hnz92CV_D#km-N?iK$L4Ne* z#mzxh&9&;Q($49yJB{vZnZym3FFV-42`_s&B-0yL3^7!vwP4~Ge5 z?T<#=74GvAjnHyeb7)TJa|kV;$Jy*!4Xbx{eJAh-*8O|ZMY@NE$asx@JiZtD0e)NU z1ON4(XN1X9gX9ZiA&-_6s*c4qsW{5F`O#PQ$xJ4+w9qXqG18fHgE{vUvyJEiYHxKOMPBD$-0K>CyyjRu{o5 zgulOOK0R>(Up3o-oGBhzCNwcG3Uk?Rmr9T~x%jrAYf|5ph$YQWs1L%Z*GC0AP)}ej zk@6SvX(z=>P0t4`F89}Cr_TqB`9GA{4R6q)8F_mRK3g?$;8jjOqR z@vPtB;N>${Z-ccjTff$KOb(A8hw0XZOKCF*P~v#%5SFO)GHDe(v3xNVczY77NJi|u<2`k%)(*t8)K z%SwfwGi-=b#LtzSod*JE6<_rgB@;BQtct(Xo#55oNr_g-W`U~J&axQQUjGq&lFdKW z=`e#=Y6E-3LG64OxmLHZnw7#YN58BGKwRfY8_svFBMEuN%68yM9Px~&u%@RUb!~oQ zjrp@;vv}{en{jAP&J_I7U?2e&n_g_TgYi3qmLH{wtOO@>jkjm>q3;b4pl~n~> zF`oezNe>M@GGCRVhn>rqS=Ln~C&h8=QB@JZ9)#xC1F_`EEpscx>yV{exeE3ca6f9= zTJYHrNKfcC$F#PH89(!sjC1`*7;`r9<X)>$Q6z{1BRVs1A;N9L#O;x zIE>(1Ht2mmT@6YdV&xlFa0WR2mtZD>Qp&+7N}SHN&HP{?qc_zh&}vKLxTHAp)pDmN zAx6|RKS`LSYs`;?Wl-fu89`qjAxWu}iEVBzg9ZI)x~JyDgR*_XvBqm!Vpp|1m?rYp z?b6D$U11*hn9FBMpvhbTvGU=NIEnG`D3WDelZ(##W%F&l&QTQPjMh_%OXnSP3T>|0 zs*h`QM&z@eTdhe19B(od#X*3TN(wYjPa|;fPW_!3Za>MSW!7lo*q2S5F3t6=8-JU7 z2pf|BL=n5H)v;rf&DxOL;is%oxyWM+)IAmq)Ff$G?8a zsHpN9YG&ucqEqWN1eGWVKFDsSX?8jH5pON+vo=@nuU8&=huiF2w0Gs=0|>Vkv|iR(-_P&HJkkP7--!@V;Iya)1n#JjLlHm zTJ3=s)HA-!Zm+)!vAA!^;0xD+JW(YGRGyAIGV2GL$ z^08^eAhGfKg@sGb;&si*aCb8^`yPp7*=bah0tDLm9P%T+PX$6I&X?5Cg zCazq^9{4+UuWvkR)w@!5fDbhVpyMbQ$W>68@Z|<8|ucO@j4?2RdrX z>F8eqn2o$t@g1=ZYn|{RjYbWv$(MMwwi_M5nHCk_1iO5V$-Fipx;Ge$-VcbL(?et> ze)eufTfA}uew~{jA%c5`ya|x!qb0h!kqf|Nu)a96Ve1+aSRY4|!~s{%joHzqJFqm7 zq;WLg&O~IgPCtv`h;Csh(iTc-|7*=crFez9t!Cop^f6L;)sv*8S`EY*@$r&!Ww9Pl zoy1Ocp~PNVgvdAb$rJTB7Msb_vAvNl_M(FywvNDIGRJk7>16W{g_+6sM9(Y!t*80y zG%RDRTNQSTek<|^g;>G2w?%(9UiXh7iiSBU3(SYzFgyLFSjvgehQ5u2`@`2J+e)mi z$5gf>UVN9pz2O1>Vg}7M|F`>LWJyx5j|xbrExl6kFcJ;~)_%ro*8Wd0 zQy;<8q+)*(RAl@-X-XkLU~DC;nH8Zeo-t^7E~XDHq?VGtcc<4}`eQQo$8R~A5HU`60*Um0b3 z>zZED)#koeY`UF7+T~LJm6J3xUfmfY#6FakmcYA~Z?N=bbY&V!et0&32LEc;SSLl7 z8~QD~=I(Gg+h{lEI(2FVmceNwbU{1SELXpjF=5)Qh##LQlGh_-_+t8R=22p3XwzeMalt8zMVDaUoXbp+LC1G}Mjx5=M z-{ZDM*40Lb;=ET1c73f9$2(y&?o=Yj4(Hpk9Igm|GsXDf>MCi*^wx=OH=QVAo;=j* z1xoh~3MSf%Jx-@LZUh`&38y*=C5`dqGKOv!*X)VcD{@+V4s6hEc}W-Yd*5!w#qA}p z53~UuM~7s$RH1_m+v{_wWY>}z!ecWF^s3~SDSX@7YhzJ+o)`WkpTCyCc%+TvlG}#% zpv#LF)4Fs71u&QVuh{T3f{&knB$e~Z2WD@&6DXNyZ}xt~SP^V^5C%jY-rgsq7^d+W zojD8OVdif;6AA0SE1<{R+71Wn}+D?HnlaeFr1=*rQbIOHCo;{HmP z_TlY(d-B2v|A5cxlMn`5QP#C9DI*`Uy*OM{*COi5+3#OJr9|!p2v-BQo|@1Rxr;-v zY()6Wh3TkSy_QeuUmm2C-D1DVf_6WFtlNp~nKOROfUwg=SI3Bd_Y=!r8gE=C(Kh<< zovt|M@S@^7?zP961Ah9lR2A&Y-D>t-RX|v8TVL)l$F7bW-e8d?M*zwt@Li@GE^=1Y z2tNYax=C=@q?IrupW)Pvgfr)E=%Y|?Is1H_PzciS=`Ja^xBBL4FOW$^O{U?3f~jAi zQGiW64-NMph9puomcpnQ`>+4HD8%B|}jKA?a!NH>a-5(VJJ?vTG8 z#ObYTlu-Q3@BNp5rL+QXR#dfWH;VM{pZNK@{cj&n*?Gi}qHMeO+==(Ue&+X=c)X%$ za@UWo&D=rzj~(*+Gk?D1|MwTn@UEpo0TPcl<@m+Gv4WuaCZp1Z>sR_UJV`bi_%Zri@B3P#N4 z4tMay9(&Kxf4&mGpKXMt$HhEb%aH}oF>rJ5P!0SVaYP(xdW^U{QPIG8d#g#4>7j}; z)BOE1wcAx$64UNZJ@LgyBX#ySKa{&742rmUuHm!0+46_3404iFCkP73UgQWvXVtlp zBO1Og`hZAc2lp&nZ>dNZ^|WQ|y!H*QW$(|8qLXHD0zPK9QfxXeeMQHiF8Gc&OF_piw`v^ zV!hwuT*gI#r7%fcH#GM+mEBsHRER7;YL^JWq)aT^f^Gmu`FafN`y0+|^r>;HvFV83 z0--A0TQpTv{-y0gyOX3=vE@g8S~Ebfc_>GktPuKqciI;a3XN9rtSFv8hq1M_g`qy0 zHg9YP`rElyW?-be7nRqK6y^h)4*ikhb$&rOexcj_ z($x>KwRi?R)9Su9sDSEwJF9ls$1neRb6)o4#`UHHts08~qA4T;U1dxfvV;z|{CH&1 z&;&-6K=g8^Kq&NJvqS2|Rr^iS*Y7kbxsyYy>@5e)l?kC5BW+5X1Kf9n_x-}lqg9&# zrgQhTCXWZj@4Ft$?EUxFg4I}btzZTGC8)Z^<3~)cslj75(hg(?QK5I={lC;-S(Bz^2V_3@L%Xy zLwn0Z_BLxiGW+r}L=2+?gWIBc$pu17p^W#jPeXC`Em zyr_jAIMllRIW?9^xP5QTj2?w(i1`FFADmgqGg$dGMpQ%y8DG^AyRXO{InaU?Ja?2&XK?`7f7YkmfqqTw# z%r+3g&4-Ao{}P;dpg<^mL5eAv{xd6hMJx5gT`jhQl6O5|>HK;JcG#{RYjvuvz*Srb zZo%=rKDse|Vl<}EodN23$HUE9yVKV?x5`FYZEsHLG>_4LuF|m)F)B{!uT}Cr&+~h} zjQ{8)@o~dHLYp7bQ6a2!`V< z;p=|L`Z})!(PI655=)V0yGI7XaZH8!^0nhv)#bYNw+hTv+7@|TLB`2$4rFGyX$pgr zPFI}a<=-y`b9B)Q- zt;eaoa~s(F^~rp>r{Z&`*gXwi{4FGI&(V_-I-`VJye)%`(~eCTQK~$5)*0?nM8g2| zsBDD_Z*wd-KPuf?F_e~E8Y8xj=!r@}W)^m}5Mln~VhZaJJEJAP#8SDpi7<_7o!JB} zHvQ;$0~MAnG(>qVLU{vYU9fn=;dFL7G8Su&&!W#cq(MEt7xH;~{Oi~oCq7@4cJ}?c z^!pw-D-sEp+N2@{ko5KnCSYk9mSKi`w6}kw;d-fes%^AVgg{P1gIH_3>lx#E21E?H zEo2`u-CgfZf|7h0 zC&Q?epP<`ba*#7D79)Ok>qng`uByV_(2Q6f5$4$d*z@keM7iQi&oP>t45efua&vm zy~}SDk+o;HsP|ZGE28*%KHmq!^)@56rQFu;4f%`4um7Hd^e*1Us`FU&9!I`B7ax-= zX@r?+U$|2rb|UeNV&-!pp;&p{a+rCxT6_p0KPo3Fto3ehoExJS;tywO(1fF}$WMzb zst*4g;c;6kxj0x|$1P{9Av__S&-2ZoiWzI!0n32{RcE{skDgUf>_K0NlhJbE2+$7me-+DiLuwRAT;YiNpvO z^ueIe&`zLVysD)S#v3fw#Ll8+p5qN#+u4D?%f3QSK8lP<#^3~|&F97()ys{s*sM2F zR$T7Yb%5|;q)V8ezkgWc0@@}RKy2;n6Mq(50%A+LwWrUocnJ!scRUaAUDzc(ogfYF znOmYyp~4wcjP^%h`{w4dW7Ka}KeQ#yam@d!lJZ@CtG}xKDCx1&j_zd#ybuzD$m&J4^&iC_v}nGboA77Om1#&2f?TW zQMnvR>|}#`&u>`fF;eHh%ZqeG%;%&ACxQ`6(1BZ(YxOF)gJXP~4*PhW9~pjJ%q!Ah z#VEJLKs4FgNs4UpvQEBTU)PAvQo+Rz{(Vr};I{=m#$xcjHc)^Phhs-f&=`A6jJ5m3 z({ML4_dTE41_{=i{lYC=NJ6M{YgS>kUnF~aM7)8)gPT)%jItbc4Z7@QCm}Rv_1Xj$ zr&`_S4aXy9ovEqx=p~CC8N%-9(zg^w$USkxhC;>uLt&?a58ug7ch?GD3lSCc(vq5( zn|K`0mw$3{Q1!EUT@MFiJf>dl`8-5e^NZiI&b6va-G#j&M*?BNkRrnHm7D_1O$Bk4 z7y2<@`PUCpv#>%@ISr<)Pt-^BENw|8U3A1zO^h-Mj4f805YLB>AzG(T5+`yYdGE-W zAd$`%`!~MCbQME|Pg8PPGq(Umz8H8mWx9r;$(9FDM2}5pC%XoK>7zV5i=&ly4(jjF z-(bd5J&4nJZwLZLWQ9Nd(%ODZy-jL(#q4{u%Q&G>6{C674<3SZ-VIfFM8yy)qhp@;$8EJAyh`B;0sdf_wWaT!Xuec&KckFGlt}f{urOzm z%1{^IX{esC=P<0*vDxmaKXI8w0N_NkN5{s(zYGk(m8T*e#q-J1PT@p6#jBg!)Le%k~3bL)N|b%>+l@ z$wv3(1oz?%`F=z740kvjQ~J{I!H#d|D#4LTHuZ%Tk2ou>AWq1Q3Oic1!$e+{%F=vw zUu3S48!Ijq%(G=}0~7y=T8EUcm0MnO-HF;U735;aGOUmuiqpYTpV|aswsWKkqJRmu z_2lZ{p&Bz7)_otz5Z(FBXNAk3_ExY4G1GMo%8j_PH@{UY4FH~LR zI=MC6-~%i4LV0X#%bG|uncj}X(H)i5Kdr*Wiq5ogSs2bT+}M6Wf|E{fE@%|mFp4B2 zq3HzQQ(+KYB>%Z=dDqOx3sE&KEs(k@Zoa<9!A1KVG@MMt;+Wo5i;3Y)*V>uuX$INX zIi6A{BqpwMynHMxwiz*@-|e1tG0Y2T_pS*>CE;oVjI9vRP0lMtxQVkOk|?gw2g2uw z&h@DjaW$@d(*xVT%Rb6l=>F3r-%zIV0>@{W`jX*kbfg?wu}nvn7{q$U^bXpFJhJMc z;*p<*M=O9fngzF#(mP3QV^ihLEax$jlQ`w_qR(R`rb7%l85-Myu2MaPAqJ0Qib*>aJzAR z`4V(}DX)(6H>|hNg-vP9v)852vseGbwb?`^t)}dK+>f>eoI7oy&tI}Q<27x?_2~72 zZbO|b9%BdR7A^GN9wMyWSgTGNJT-^ngCNy&?T;TCS|G;sKo}i(WJ#*}&~LmF6z|!tLsA+4=y>cA3xt7iT26eq%|pgZ;V= zL-}k^Oh2)xEHBQiQiV0E4+)2EB(Edm?=w|XPPFW?UOX?3$OVgj_nbEt^UhXHfZ^JhOfQJ6ay&wnED16}iB0-KFUtgS);%kp9v=WffrQ5=Zy zRL|EF%oJEt!Wb&uvucb$`}gg1Mcz=^R$ZM&yGlyh-Bvl@$jHb`;DzJBIaK$Rar`AH z*a}>~5&kaNx})6X9q5?|Ylv3!mkiIM&1Ow@PLS z`wX~Fp^%V}II#MI9?h28{{DU_kaFnaTJq=soQas;0IZ)!1kWTE!!uGvTX}>zM!p-a z@F=wS8+-Vd(#z9)nw&Tqb0a=@qUxmoEPnN76 zJ$g69TBEJ

8HMFQM^bVq2+hSD{!uEKjyNA{E7Oi#@A9P*kk5bDK^VGJig*+`ZjL zGSxCR3450i)GV586gr1V;qSiVQ=Vsotq5_&kX4+Q`ikX0r7`}dLG3Q0ge$TTtuBk` zMdoHD%EQjIfgmfDiMUpYej}B3oQDLjO+Uw4Z?;3ZZ=0+JIJ57d$=1QU zPG;xZ{<{*D`t;Cx{9A8#Q+Q9pq2N#z6!@%i5IG>&iYl(m#=R3?`|d6<=?OgUecf?2)mHZfgCYCc;K*Hn$IH5|dZD0z`&&GP z#%>P6E3+944+~MNWMiXo26HjzNy!F@0={a)X`2KjareOVaweV9R~l|p7z)EPg*qAf z6S+b*<4exDE)J&7jsD~6jnSXUL+$Gk%81hCf6( zm5(prNUKsq`Y+kgvdK=YRMTaVKtX}y!D>qAz7h-aY>~LAx zl7ECFS&5Lggncf8KB}U)FVku~;>B91VIr{DcxgVz0lK^bMjc?P<)E9U==-&_v^3gC ze?TGWNMFFQ7~UY}X+8_OALL>=^uD67iQ>SQFQ^WmAkSLBN|$MmCfuS0f+3)h&XkrO zcy|jjLYw4Ekw0MR3H%C@VTale4}v>a|1x%ilf%)H}A5CA5BobXdC-gd?$!Z6lZ{&RROHboPX?n)7a%@t;?g5V3X->BcW0bh2>vO710*~ zq81tyyUkzwpv7~v(Q#kS18k`KIbaL(0Pm$p$jsxl$Ag%=+mof)H!$9g8Eb&qw0io{ z(&YN$aQP4jsi%VZk8Ud9!W8zP&R`&q7+VSjldom;6o)Tb>DlkfP*051fJb&O>Eyk( z=?3u(M;Y!r#q+hv<)uf4DoWGMg_~OTl}>OWk=w>&1MXSazREke_=A{u75LbC)8b*!u}&Ld8oq4y(AL4A#gp?{o!$(|ZT)j`JSTa$t8xjfZ?+=3tanzMIOjKNt`^B^lZ3ZPt7ur!pW^sJ zHX_JgfohT=MO0w)kPeR9NPBflo=CbhjtP>@bR}*2jw;rW>-FHqvC%fbAFi-N!>{H= z$J~lxHzrh1?}XkF4c6IGz;i>Q&zIVL`S!L8nyI#q@{N5)=5w;5X5G$+lddWG5%vOd zji-CkRr_2vT%@GXRLYH?*E}tHGE!--S$DY>uOeFzFcbpBU7`lMwn?lI3~DaBQB(<_oJhbq;1zqBIR|7YSF;->lQ?qwsVe~VscA~2+x#1`iJ*c)q*0YK z<-(lX?QBi`vgN_mhZ69Y&c)($Kg3&st5%tFDmz_RCfXf!smxPD`*J*F)oA0mzR%ks z)!#6*uh+@sjWJjNgeAx$d(zR-0gH^!^w}T+-9*2prY23NJ)pY;<7p1n_;=@vgH(m} zF{nN;BC-hl;#4{<_wFafm+oeM9l#yf3{0d3J7*CUM@XmnQvJ{Xsgc#cV0SxyqS7dP zGk+HwXeE6;pXpC#+i#p|tvkY9$)N9V*87D^J03Z;?%a)!zR%Bt2)A7}8yRxx-O zQ?@7o-II2n)ib|RUbZA}f4ogGPiI_e%$kjFEup!{cX`aWOv4RQ(7>^q7c)Kv8G9fs zKEal-9fAv0^HGe5V?>5|b!2o5=i8Ruvcz<(DvxZhkh8Ocs*DS%We98KiA$b-^hiXlg z8Hso`+}%1|`WpZ+j+LH{PU6;+hxJJ)|2vQZ{8a)>t3*t=ZVvbe*=@xpao}Gr$<2n& zWc6V+PXqZS6V65TFU?}I6Gbo`M8DG_N+~obBgYAZU=1J1PXCWb-*277T#SzD^Zgzv z1;i{998i)8BqFmHVH7&wnUNA|gAPq&_aVT_x`zX)m1q zl2ZlAE7Ap~P&f3|$j9?uY;Teq{7q?`@(_zoj)#Jw#KC|s@Lg2pg-V%lwzN*o1W4q& zF99PIr>!*_X11->9~d#eovq0Ws{wkX>=FrYQf)55qt`Yu2?Qg;_hPFmomG5)M+8c$ z`*-{Kn1oefC$1|&)>uamQ69DW4jVHVyUC;m=$~}NZIMF}Hmvojl%eCmn@?WNFq%DT z)d%q6KSQu2W$mQ(^vquJBn(q~q6$L|+uY7B*?igEv=f0jZB3fZgIcatKO#nXN%`KZ zCzw_&+a&GwSMk_KhCRS5IFp{Vj2q3?Y=;yMdHFHp$0f@+g-abF#-qBON`jc%M2qB) zeY7c5Ter86sf}rkQxfu*tGku8)?NXfQ7nAw<`fB$;{&GLixE`?!qZMg3hlj5@)i!* zdw36cT)&D zEQ~}Zv6n-5#2E9d^)flzb}lg!Lts!*VmS}Fl49pK9E zB`yUr97U> z|BIZ`--!dIG?ebc6_K)LeTCSUH%T8>y=h69WgX9EzkU=`b5Nh8-}Y}g)9mfX{fYM# z>c!DiVhmZA*(RhE#N!Qf-xpeQpDT`4T48z*Z)5d%MoQC+gT+oM`(E!8H?R8bNXNY% z-cLRtnNCkA8-Fjxiw_$6NQ*fbrz2PPH?=omMO4eBcG(jS2R;)w0d)rQ>H-E31%MjzaHB#}Q;o2hnp9 zx7$l17}HIoe_~X8yzqka!;lcZ-i1o1u_X@!<2L%$0GH2fXZZx_Bzu1mBJN?w4d<0U361U`8w8YGXv>%@a*u9cb zjo}{EGTXEjB{TbGVx9(tW4}tOyu?R&XQJmQUlQ&0#r*6nDs=Vrha$CuWw)Q{@~Ikg zDT8entMi>?fr5q^dy$=0d!B!AL~Gc&th6~l+N(0%-fjzB@`kG|8s~#%I5vSbmf3=f zr_EC;r|(1h+Z|uEVGILXpFt~r1U6AJG6)1x9^#*}T4k|Zb~MUP#BS^Th#`R4>S(&8 zq~xHBBH0i|A2>tevQt91tsaCsy%JKb9Gwo@9<|=rDVXgQHp|tOe*s*-~Qt@ zlBc3^=uE+s1HSRe4adB`UKaU+H`A=Cpy^ro5r9ODogY4hRwSi1WG2ouf-5_sjiHE< zYwGDiBohq!Y#@!E{2Ybw4JjPf?(XhTiJs`{v3rcV-l_5CZ2*NN^XtRGG)EC-^dL;e zK5t*&*5+m?a7yt5g(lLhB&_Ky@%WFYTk^p`1FpUFag>l7S59b!662(CYb^FiG99j!ot^-+B^Nar1MLOmZ>I zth>1R;=nh}vgU9L9kY)whNrx_Itr$wxcQ3isQ?O#KhL!fJR_~*%pxPw_&%{=mybSB zJX~7p+Yu5c+Y?i;Vh|hba66&W zI}<{0o+nCI-ay9b=~o08B#1 zI;ObOp3ZdT_U4sQu~B?%ckeb&8^#x}=ih(X;XBr5gske_^a%zrS*-Tr z8*q>7ikvlBcKn;zMT?APbxmj%mYe5}{JI_IR<(2sk*;yBw)Mf zBjx#{AkVH)DKaDCq!UlvVtEv~g;0Lfl03e;83tU(_ETRR76DyugX$dOeUkPtL@Ks+ z6xS(al6noqq~Y&kec~r>LlxT>&pW?M^jVD>p>uFGR@Cbp7)W7Wxk(?~Jqn=myi*-~ zEU&(s(X>zIXCo;@Kkk~Qq^@XD2MY_^E&0qOiW9&+_e0-t$|{?qqodA^VuN)&V$-7l z6YhKQoYpfM)GnWDYuVePaXUjvCX7NYO9XifBJZ8OK*Ng1q%6liPL-n&0`eYSvEX94Re^dd8lA?Ai}g2s+p)h$ZJ7K`N>J6Fqw?4T zFSF)7V8jQ@qPF%u%1&O45}`{y^%Ct}ZNSX9BSAT8JAq=3ByTKz@sQwl%@P$sm<#?V z^qahP`0*uT%=SHxX5`15j>j-L^Umkb5&oYEHhrk)=Ek9!^OVzN984UT43*yFo6XYP z4*B>PzvrS*v?%v(%qD6Zyv(m0LBmok*~K}IW;v}CuvQ~C6Xc9-J)3tqR|jS>57=#Y zzOS1ZkzjjB9hOxV718VH>aLzz^78VQNm6^%r&TmQjO(EORf_?#-z2;eo1#x)K1sRTafGXu!sn`!7T^kU%lDy&_3|rgI!Wzu`zeMRX?}U&A7|Z-rDN%^OJVT zR-P(SJQqDKXK;<1*c4q)urTkK5>+bUyl$qJz1}n_eR+Je-I%l8)(zN7$`W7C-parl zqk^e|70*6lLt}0L6yLu~@ili@Uo~Av;x0(|TwMc7H}%L3aU18u`z)Nx?pp5Fwk}`5+HfwhLuwHulH02FF~AibZ)3=3_kv47LAl zi5!;WD77~rH2wOFV1a7>uLZ*R&Gba5z$)9es+jp4HQfDKl71I3JqOxtl5!yd`I^t= zzve>3)ZN~(t}BG*UYl=SSy^dwHMx_|!~6-=|G}I5^AOx85g1a8Dk?uA|2kFwDOCQ{ zxPQ~A@4pOpaK-7rf7d^39R^iEYU(>1|EB%_;SvDl)EV{v{Mlbut4{-%z>{;U zp8Dq!w0Oez|9P(e+`^wb|Mk%((|d~Tv})_8-&pv6|Li@N{D|}a`v1RgH>MEWmA;e7 z4~G9`761Jb+@Zu9;3!jsv^282H{|O*EmtN#q*k3Cgp~|D{Bz{~BF+8FI&C0`{i1jh zf(aR1C&}kj*B!zIzxbV0Td|v+7P}Hz_g^BC|CgJqWuq06;hI@1nPiT8crZ*qYCfD0 zfvEC=wcOL1J7);|m{#TQ*57~r7^Ygv2N$OsNTWhG%x`9ALn=HV;HargprF_)SW5q* zbt2J5O~^LAczAIfe*J+V&|P1h#H6fX*Ha~FRZAO64MnnTNEE(`Ff7cZCw`*BC$!e9 z|L~rBXu*PqW0pn6dEPTrlSITZvvbJ6`oKwod@Dj0blay`K1Ll6%nI{w6mlSpRL9|E zDr4Et9P3knOR0l}rZ6doSF3fRRZ5uKl(`(|c7 z|4G(#+(Q+}8^G{sZ*N}&b$)e}iLR~}KC>}pr>?FpIuTJJU`G_Hlxyi_Uh&eCkv&i> z(imf-vvqcH(Ka^^Jvp&ftF;whfAhPa0gmvOFcJlZAyXQwD^J_)4$6Ju0MW!kzli{n zz`j;5FKM(#K|rs&I1tv&g@H-A3w?7rKUe^;w`Anp5bgRpEj=oMSIiYby+TTm zb@ARQYgq)gt=qKg{cUo?Jxz^egx&X!g4nKzK`lZ1Ul(jmqt4zM?f*E^&)MGf{#kjS zz$Y$q#znSP48-+Zl9*Qo2{azyq@l>*^2-MO}GwY;>2QB2tu$L%8#o+!)_=Y~Q= z?2ug4^P`Gk-?t0xlA*fuM!N!D00^$~-P|~Aewk?(VjE?sG>aFmamv?c9AbIvv7mGk zn+oaq0wwMf1dr@-u3DpQEQcr0t_cI*va;!&W3&wcG&e z=;)~Bdl;Es%<=kwE}%_UKdnFNrZN2SEp_~m#PtG7@#_ZHcN&Rduq?Tz?S@0Nsuc?@ zFk?7&09gyq4#y&+2Ut2PEK|8*^)HYz#T_2THF@^0L;}SKRnn*c6E?QLCde3(jfZv? z=VA_I&MdXb){@)DA6URfb_G&th1_q5dK$1k{Z9F8g52w5m4-j+7%x_}>J+wNZEf1O z&hfh(5G&O?DYje7L-HTQff{;|n@M;(<_G%7BrL57d}zSgQL!xsG`cgVI%_Cc5l{b4 zXr19@3@^yyvJS<1o3K?a%gjgg;R2Z7K>Gdrlk^u94GyY(840Ry0P{x&S-14lA5--x zTj#2w2d$zOcRTu|J>Tdpg2oxJ<+MDwT&_|C0Ti0ONk<+;BQ-e$&8Q-; zfS_*6hHoS@SS*Qbz_F|fC1I=Z$p2kS$MMTI*s;sOnQEEwhWpxH^H+Hd-e^LNtWG$L zC<5C_Ibq9+bC1ag6ucYrIqMQk!>H?%TOZ4y6NdYldo723?kHzru8PU{lM3ilX{mRS z%n{A=jb+2Ov`i7BJ`EwW*AuEP95-`4*gQ)e-t#`ty=Ok{C+Nm!OM{hJ7BGc;4upJ-vObep#o(_;2MloX*SzZIq#Zp)$n}~ z$?#qz0?s3X*EN0oQ}%c1Cqq*_Wn#Y8Js#RuPi+o}Ahg$j8qvTmrGRbVMQHi_$Tj(!D1guR{-Ov`O zj32i|;uN+KEg_$Yv5K9YA6(WRj8&c+$s;^5Hz>G>r4#S^(s-aYgo@taqlZP|J?2rj@4( zsbR+pGYI!;Ry{FedLiTz=BuCl`|_Jb5Nfukmt% zL5ZKj|0|Udf#j21ZOpL=V4V$Ryu+yWkCSa^0D6)~--Ru-fb`cR)QKc@;Zn&DQ)O>~ zVCPD~J-k|w4HT0_9S~HD>GVYc%s#6!rc@h^ke}?&ljvMc0~{&^(1mjpi-dC=~>aLb2E z#+GCiNlhsz2AcciqE;CCkC(E{HjO}P*v(A4_e;KySyEtG+svxXu2jDU zbIz*H1z#DVUCH3;0W?Ac`OgPZ_=;fgq`=VM{dwWynkm_N)#Z=B)Iz=|xsJw=G1bo& ze*CB{Dra3Bxjj{Kha%`olta7WOu{xNDv6QtzHIv#jt`Kop^x^1fcM^xLya>LPNkd#N4$i0&)aN9!QR1nQGjl&s zq=_uM%1Gx8P;G^m42PpT7-Kv|q2m=a-9sJE9azsddZ^)YD$it?5(gvv5T|`Z_+^WX zDHvtoY{QSP{-BfC1G=isb8{LR+{b{s>KPu6K`xo}LeuhOLwaYbTy)*C4^V1SsXTM; zQzuIeF)^eldd(1EY}d7`4e})IKY0=(`Xh~z$7A_#z8CsC#h~2N{A9jo)(CQ`!UuM| zADD`^5)@?Iq>g_Jm5z9@P7z-=3PxSOyka=$krfFg%rFunxMJ1qJ?6@hX_n~!-PBk*~gq{&Uz#rDQxT=ypn79NeW;6u|NuE@0t$Ar(h# zi~hKOf3SD_-2_nuA9I>4VV8)|U>)0cu`06U^>NcjTMb9SmVJ@xB&1t|I(pm&E!|^q zNxSm`%$sa9>;}87GLwrQG-$W$a8s8vjEGRhbE{xzi?(tV@Gy_AqCtv(#8j$NGgxQI2TSiJ}*)m(>Oc2rFs3yBrARnN(Sm_Egk?%I<%RQ&9 zr4}bq#fc=8OJ^Doq)43}pGl55vo2}dWZ9xA4TiXop?KZ)vj3GQclPFqKHIm-{-m!v zq0z=EA@N(e=}pt92RCQm5~4r;CPD*%AjSJXm~V7aG?rh(9Cr65(W>2&oIlK_HZ~X9 zO0q&IWf5%qPld)?cN!(F@|%W-kmaXCd<^oXzggs^C1jO<%Kp;hUHvF0J9x}A6!(Jz zXf^k}NGywaTmc|<%UjTzSZ&Jqfu2s=t`esc4>+xlF)&uku1LTuP?LmCCfGDRt;(eb z#^2GJKME34eGCR$7bH!uLm>PL`6EP!cWMpdAZrNFCm=$4$ ze|SRom`I8@j3xLvx}BzAw?_V{L`E2M|4e2TF+`t2EBQ$HW{x*MvofJ_9=}=VS4+N3%2d=N$y* zDWG%&Ln%=c1J2L-kjN^)e=e>@YetQLwmsj+Z%p;Y9a;1#RO5pM8ue_i7#WN0_BH%U z07K@Xo0}U$O0GxeAM%tw**60Tva;N4eC^n9$UKcMR$&@lO(EliMa9|~P%!1YhfdqCx(qL;0|?U3pW+YL>P!VW@3yj7)qQLrF2FbjzVDB6^NVyZ6dk>TNP#HMc~})8yt+BmY#00&;+%5 zW4YSBc;ApcmrP{yA!0Af<{rlxl%pF5k2Ke#`JXkSIM6q@dx5JiX*AI*o*GjrQ10#Z zC03Nz1i87*dNgW$K}=$ds4b#rwKt0=7Y8iS7IxH?yZ#D9?gAB=`h?&MR3C46Y#&Sq zl3_)Jpz@w0>osDA&3YQcDUV!|%LlnG1Sie>Y%ysX&y?v*n^#^>Nq8a2LwJQ8i@Q1$ z(XH{;vCrsoh8>yerh+~diZbuYX4HUP z%m3r{QaEy|t3Z$ZL)^=uxcy`w{Cb2w9F{bfpS zd-ES6kVr0%k0o|hT>}x}PDXic#_mm@uOXzr%h_q<7kw(Bax+;Kx0FBbi4Orx5-CV2 za?C1#u*CHm%iF-IRdk}{Px$79L)YUNfr(Q}s!Lai&zx&%1h*6J8q7S`Zdav8-PeZn z`lJRr;VUzkUvG!J$&;`6;gDL0=o)hyk#Ki-C8|_Ld&m6I8bMpI_z_6ptG`)c)eZ45 zmq#0#7A4a!@yiJ&?YcH*5@c1JNcB5hR*Js)NTWW9;}3zDq`Vanx-WKV@%R3L7)RiR zJ-!2OQ>37>gm<`*Y@+S6`C4iis_3U{7oXI;zMOu#gPKs8T``f}^KI^Le}Ju!x2eAm z%A@VZkRd9?_n`0R?aPEelHSgsG^seqwl1xYzn3)WdEli<#<`U?{&FuS8;teFffMiE z-+Z+{BiqEy7A-a^Dhe(AO?w3xeQ9fN?=m_>eGrELgYi3^2Gi%rBgV_CD0$Bb`4wv< zkXsH#a~;l%f9BXGXLiN)286B63pde-J*85_89Y>&3j?THC4VrYjB>8Oir&K6j8_*d z8T-=^uzfer*UTtq@a?NDIK^gUN~yL|cwlWLBTZL2>&^2}bK+L2+P;89kYkyagyiy6 z*>o});vtj&qo^YF6 z#j)Tp?Qti@uSZ_H~e zj}}-ap&(o+b93{I%uH=CUHiRzm>9mGIs`~;D2Q?9&w&6Vdhk2Icns4Wn9@*~UgpFO z2k+bZ=q`0{cf0m`|EV*}oj1T79}|(w({-bn>?VvSpr*utWoqB(=?cX;f+S<|UoCa2 zs+hC&`M4TD&;qLC%hyLeH&H0yWCf4nVx-XChL11vd}xmRCs2z_v0Pv`vJnW zz`Z`|C$C;(E#Vwi@EyiwGkoB`Uslb$Rd;4i6KdLcn`h90l4~SYw^iZ-Vun$ioIgC5 zD_`F67u4-#6$NH8IhMYH9nH;%=yA{DZT^FNU^1{nIVD#d>~i2?ZFA&{J&&KjkJ7oC z!XBY(?Z^#K&}`f2mqo-kUd^?${JIzmDoOOWCTMt7NXq`_quGb$nDCh7DMo-e2NKvW zGKPEi1~93)c``aVi3gIPFUMfQulU3C>s3NnCM*Q<-=IF_Ds&X~@L%EOg$vR{8hidR z^~L=MWWob_Ep;q4wc72qlWw{Llg?PBZi69Y5tff%Cqu)4Bq$XAL0s^S={Iv%lOOL| zCtsBkFFG0RZ3B6vOy)-o`omfg>J5SM$1?)ON|BPV6dJ|ZfIt9L?%67&PJ^m!~nasKAxg8LjXFxWte zq?QLAQ)p~DwVZ@>2M8bwd4nl3s!k>h;NtDs*x1;Ax@GkXQqIW8SQvaV8`idU+-9Pr zg!}aAQ>N0Gf7*S5=oiKrsB;d*H8SIa)drSCgeTWKpEhQGh;u2np(Q!8|HZPmb|_FU zLk-~hcxcJ1fzYn31T6DxFrc>>-h5l#P}*i)M)I}RTW@-QD?t}bKw(yyIwK?PE@sMB zu#s_+A=10pLSGN8aZ;SGOyn(=vXoqh0X|5%FHzJu+*p#JusWS4G6vx8mgbc`I-Pui zoZ()PM|<6}d^pwbDS2GJ3qxXkWH~e)R{L%f?ao}y-^6eWMu+^*F~OhCBpNwoRV9w;el;GV>l8KEc9q(CDxB|)(gU*13 zb5Dll~$}6^k#X33$23fMf4q$mn?;<+p#v3eU3y5V{i4tm;jmR z74H(iAxD<86*>jq@m))EY1;GKzX=d4CU*eS57Ka!rwWB%M({IImqhwngvqwcgFBw& zl(G}pw(sIH)X}QkkN7i_ohS$}ErNc_n?M55g@0hcKrHKXyIwqWH`r!UOY z_coQoWAGK@q#i&QBNYgpS>gp^)ABky?}>(hO6swOhQ`rVtkrtIfWCg#TunSshHh}V z?(V#oRR@ZE-A3S)`!)4cZ?oPz^S82iX^`_h2I?O9=T^-eOO;J^{C;pMN5B0KPT1>@x7FU zCkhGHDW z(2_?3p_31pl7HBduxl(qi_@s;4&>WJI8TGsfNZJ>6o086VrOW&i_`Zs~3qq&pPp?hd7g9+)9!2Ht~uD^J|_^Iz|`cdgeCta0L8 z=i1lqz0YrpdNcJPl_l)BYs7yu{x7>``VgqS$4p)1`UPe4k45l4VgTlE^vxfTiofc6 z|9(}VVj2S=Ls`&p`*fcn;@`e>0&4X`oX>xvSNxZap1G@MG(fRFwmtCKpX%)Iion?e z`?;1rKpUYX&qajUr<-@V-vD$=hDe^W9#P^N||b$M4%#*iElALZ8&BrwElFxYfA z5Yu6?xLAJEO^DcgSv8`mCEJibz>kggQKbP76AYHMXLa;BPU~iT@;bZ7e{#vco`;eH zHVwWx(q_wNYZfB2y7;4dX|FI|IByd;-#JN-a($ty?5-68q@(>?4}o?ZyMo#&7Z-}) zmOOS=I^RI$29-NEO%&$#>+8+uzcKAI3ankfn=ceRMx?;4yJXA3C-#qbAe?jUw5HbZ%sBw0HxJ%1LoB9EFH>ch=G|7Ym>b*9MPL0sBO(Pc;0?id7-!jk*8~5B z%ae_9<;eTwWZD6@n^>Yt$iD#Z`@+mt%-}^ESk-q8IRbvhamofSQvf*u=v9l!(|h`Y z1}bSvF-n%AJ#^$)5P&CB)`()BepHs>JK)QGe7PA)n)7cO>c1@Og-y-)3@{uYZOc_D zxzVLtTr+yFa5op3?cF@xwPZTYjzKFd2CG_}vtFj%4}5_qv(%sQbOT#mV|{7DUo>>_ zJ+Z!`6yRusFT( ze&L5OJr=h;Ev~gCE^6?!y!nRx-^yzY{JZ^>T_Hi9?wj5kU|T-f8ujMJ>d1&D{R+Jh z?C`4Dud4-9kBZzlwY1+CB~Vd(UW;r>g@UWdH7VXJc8e`D zM_&t7#K3m{diLaRZWmAo$;_t=d*{Kb?l{)&EHtZh9hN}Fk3ia6Cn{@_7tl-akC5L= zC%f&}JdaMF%c_Xy1}Q%x&s?F9zD=Is6P{wBGinJv6&lV1Ik38T0r1`(;PyDoiYKq^*L#RMLle(%abc*Dih1HksT>zFM@2z`1CC4so)35K9Q;dhi8qp8I9A!|N zD2g)W+Zb!Re!bt~Vx9W7GpS=#69)YwNgKwl1i^?);TSCz_*XE4!S&^UN55wO%1HA~ zaUpBb&nP66(C?f{6Jq&#LOui|yTdX)K6?9Ba8~T}ZSvs5))Jhk;STM&u8<3_&@L@M zYZ{YBxhDThN|J>Iv1tg+>mM(3lv5})LJYY@93jKm<$@IVn!HQe4-h3sD>L~jKUfVS z2<6ucz~;e;B^6D5Y;mHWA;C!h{SI3`3xl-kZT}5xryJEa-JVBUinOxv;Iw+8WHsWQ z{lF)ekJz`)Wy8AGAsZQ9<#mX8?DTaZgIsT3+pBPV?+S{!!;R1A$62 z3&ED*bs}OSzHE+5@*>yiQ&otst=7HXqp2IcCiB!`tLr<9yK5XsQmV~Ph@vuK9Qe1T zz!K+fYuX@W9Z>FXBV1ye#OZKcyqn$j>18yTz}hid40W;lfLv(g3(;PUmznTxV21BP z4dm%m5W8+*vIm{r1xmZg@jMk*O8^&lG}kzko1)8XW7cQ}98+`>8yRGop|g444dczP z!s4!DlslQ-0bmfxyz@AJP52zv-~736>MeG&&&kpf09h#xXHUVFxkt|2nW_N|wx z6R)-C->wFHkb3)m^5N`7Wm+2SSOo@Gq245{?p(`=MG6}kU0MW2C@Z6PU{GViBEtho z1mB-G$)~q;zP9Izi0|U0Eqs4C)O|b*m-Y_$+_HI|BY~*>AJ=+8D=ZuiAP0bC9x^QU zdM!nlIZ7`(@Z^_R?RBz@znpM8dQqY@o2#9nI9zM0GSM~0EF1h**P^a?!7o*XMOTM1 z*ejFt3jW`a?#C|gD`21Jz&CHnX`*`f<(RPodK_`2puWUFR<$}Smb~ga&3{~E6IcXut?#k|Jse!|bRgNm zg~#pqT>xtSJ-QmLGF5oN{i{r)Ay)TD^I+RYNq_BDveKjM%agDAWhBesJ)-03nv47+ zOROUl(GN&_NPDN5A|5LR&UDc$Ms?WQ&?Z|bfATqpeeu56-~9QiJ(qaV{A!|$Fw|FE z%ngnTHjG^Dw8gulJKRMlge)+R*!u44wWNwDZmX#4)NK`V`}Quv4HP&PP%W*Yt?`{@ zuFz{~$P_o-;Io_r&coqzohZl{3++?8;L?Cx6M6siDEvVG8k_pmqggiuQ@78F0QX>h zs8^=`Yv+F?i!JuPm@s>$YGTE4K&d+Y&ilzlDu1t~_2I0HCdnG6TM#^sU6V@@&4y}`Q`$b%1B+ovCxR@jm;Dd512kT1 z`GtEWjyQ{E6^{toF$qx3Vs5_3Ky<8Yyj@7CB?+jtF)Ngr&cT~1Z&0BRznpE**x?TT zj1^PApBouuL2ZQ;>EpUh9+NAN7f%3TeDV%+^t|=%_8}{`{MWwktgI|NiTLzQg-o zUcTqBXlProR|4@mLN-m+xs z|F!nq17YDooHtbeAd)|Bl8PJ)JJxSmr|-u9T6_E2{p3}wr#Jrb2!NZs5qu7-`>P|f zIsTcoZL!4(ZikgDvr4rscG@0N{U<@Z7pR1V*?IJBdWe6oaKHVcaeIVvM?{UHMxg;S z@L-E{<}?S<@6UhG?)1-g1#lt|e-(-|O9~PIV?gLQb2X!#Nx3=@R-;sp9tq=e>I;r^ zY+k(ovhY%R+ehVxo1d>wds_@h3B!hN*nj&{2gc_SI!lT7PrbZMi5?lB5sQ}<=QkO3 zby)PO9|F~=NMOD=iO8efAj1z6hF2qf$}F{8V~)SxbU-wM8M_Iv{nYP261_k_ylGEA zomo)%@ZrL~2J;Oo)%j^CQzV1zWPAAH+?Th-o-iVws#o^4YnJeN#jpY=`a(=${1f_y zGV`U#t-^pQXP8veXHl}e$?c7bVxuXoRvY7oXC$?e892th^Jnh-MyT*o07?4G{ujk= zyQW6QnXEk|8~qvgg7HrFBJ){0n@%%8EN1CHWwj8xWGWL zMQ;Xm<8T6*H@?#$jpsOr^Zj3D4wiN4Hq@ufB+X1XeQOk{Dz(Xr4C<5_C+}^e#JQkV zlaF3!ALn&=0|>bHSDI_rh^Wd0kF+`j4%2l9(f9g1vZb!jC)DImK3)f&+Iqm|IZxys zHCbJVii^zX2-l1aBB!j{EPQ6#o+0XMyfmmNyD}r7VPLJ%2 zJQ*{zNiv}qu1s;+V7}pLAG$y)YR71FdgGa^7-sBhem!X$bDm7dwg%&6?~NsGo+$JE%n)8 zrpiX7L0FwNiP7LNyP2^{n&e_8@BSEzsqpT1ZydHNg^jUIn(6AYP(mROdH7QIYFTd} z>GNXCVH%6+Bk`(NkH1>gsJ=_|DIX>jx*K=VoEJaT_xI^~dDQ?C>Po0`h89#Gg{ypW z(oHt7RkAd&4)?`AU5;@Q1Aw(dpS3Dl;&rH2KsgTf*rl^1xZGHFu9%zB=}RQWaw|3m zJD<~D=u2&eOO8&aW%CD%-u13w4#_eQu;2mv=(3MMFlE*U@Jsg7mEWSatiFtTr5B?3 z%7h--=vZ)D1sO9dPmR@DbluTrU-8UJ4RYJTHy1qdz$4+WEHrKl=_yiRR}CJq?*D#x zN74!gKhGi0X>i7jzfSQ0+%)IgS8TU8GE+pz}&b8^r{!M0mwbw%*=Gp3BcofD$LG60zb3um$v}zzy6fvjDiKli|d7gZ7#L()iJge8KtlxqjA_Ahv~12BDXZRq%HeZ`-AR079Pk_v`R;ma5yf4 z+O&cr83yJPT)v?><`x=fW_&mi zH?X=9=m0+uvCv_TLv!Rq(-kO~u4_W2#a?}k7jjnz$L|yd#CU35O_Bvsat#u*J|IMH z+PIM$)@Zn3<^=UKXYO1hV{*PgSS0Z*akiqDS@`({4*l!bi@#0UnE*pO+Z`wE6njaN zyi5%cWIeZLJ?+YDPz&wF>w$tA6MEA6$;m@2lcRDSE&XZK51HgXaN9DywHytNSRH6T z^mI2tEhH^2gi&koWJLy;bV|R4>Qg(WdvV*6Z1vppR<}viG<(*VI96 z5~~Xg&T@-d>l1NMuQa^Mtj$E)fRSL!MyjvR=sQHQ7Q)7+pKiP}BJxwnHJ&<~y!f$F<*UqE_d^-(4Tn9Hy_M64v1nJX_j$Zwm+NFft)d^? zr<%1m@J+PX=DS!`rL+I&rULl6CR7R^!7sKE&EN^*DK{-!H+*EMz-qWz)*wJB2u5OF z@7@mif`Hux^9+?;l)1+g9Zb#+O-iihSpRD8ZeNI~`DSJ();x1UONiNmXpB&>HcA$!h{5^o-> z;V`anFjrU&IUzd7 z(S*n}X}V7&+1U2_qXp4(0VG#CJADZ|({(uO^e%B&Jd|&^XR>(0ZV|?`<;wRSsI#YJ zDYW|t7LtmHV#w;2T{g-)T4|HDPuA?x0r&)sdkv*lv}U8wqJbqDQ(}G(2c$JSJ?KL( zo&i`}C6{aL_C0HTPUH917|V2lNgarJqi|J&E;lC|_uEJ_!z%m3VkX#06q?WIoq%rj zNy#*vufeR)m|6SFM7`sY6Xg>#K}99I%2(UTau#F4xZO?p4j^j7rg!kM_n`(GT$fh+ z!6ntsp>fMSG1?wg|Oz$lCG4u585620^@~m8-#F- z7gt3NqI%a5xub`1Z@;gZZ6=jD5L*bkc4{9P#17cn+NPDMR~T)w&cnY|}RVl9Q$0@y=2Y=$^t z^_zC(^lw3mZl-Ho^Rm}yN9;mKY;7RYCd~T~-S_nLPouEhp`l zz=cjc;%kqOXn|zKTcAop;C9A5iZRbcdztPBH$)S`#)*rx*-Sc_qk9qpH$pm=1z)WILK~g z=)T24RIL`@()9q%CaBClzG8c|XkJ===MQ&el61uWkf2@bQ}UZcetMzY)l{RBubjzM zV2qtgMu(@w@NE{ouzc;hZlQy@lXS>Qbbb@$Xw`gm)b3NHi;nbruO)U-8s2-nBW_bC zR9h$tsL*IqL((CNXQbf~Kf!O7cvZ{%irTeMo2oN2aJM6vzKIp9yO8Uhl+veNiuA{v zUK?lljmp$}xwCoG-@QMf>1Oak2>xugvbs0c4Hx*QE|f`9*LbWBwxeHZcBC@7m6C#r zaXWozO71PqH}II$TuF5$eEmKu)Q zyNl7qtDUS}>63Y8!U}e^ujahg6Zl5W9d}yE9Z9QJICM%eU&LPor4EUdlu=5w6%E4< z6WriZ<1QQ2knX!9kGVZ|1M^V_l#Din=CJD_YwxZ^Ufo@it=7xM$!TsQ6_n#e^YnI1 zKCz6*$86)|1&x#}NkLJJcPs>^*TS&2Iz)z#lLKM`R-L+)A=QmHh+j<~Vq8b+$8$Bp zTZg5T9C_+p67r89 zB4wlbD%5B4Alc0I2df`QbDx<$b|!Pg=K-l*WztHnXL>15Fj|n6Im>Kg%jQ!(NN)2C z$ns3@m2iLEd?^t)l`yk_Q#om#%uNQc!hOg!dslK`Eq4cdgOA!RG3QxqUTD#5C_J$#H*koW-I^7EtWva^QGo*KwRhz+)PsoHO(933R)=Veu zK`>Nj^;Vy}YUO(;?b@-s&Z{KXO7S?%1O`Qex|3Lg15ZA`x|J^2Hg(%Dq{(qfiW0%! z_YhW<3>pV!eiy6A8|Fm|6LYMmWQNP99Qhl#V2<*bHm5taMo(5Zrn#+4CGs}aotf2~ zV`W7+zn8Xi&&Epcka_2DN4RggNr!XhDKEvw7Q3K6PLdmdZ?krs=j`Z8FS3`}|w?{n^SEiBdcQLaN zq}S4_%}HCKJn1AiA2drYRK~P{e|7?xrY*6GnmoyOYDPzz9PO6m=a`RTY9tcxkRtX9 zesYgxrH%!1muSB8oGV-Mcv|Z`o6GtJ>zz0648r|xLZZh@ZcF#Xk1wodO-gsiR!DTi z%Ju6##Mw-8jqNh$d9marZ=K18hIs>?kMYY;9`WBP3-33#f%K~5w!g{3u%JBkcR0y- zol{NafJuadGeh1v4PIikeoFI)!{)LG7=h}E+B4O_E)pln9)Ve3i|D4%(NAz8~fkVmiu ziiz(V(k{NEortAd5|7~oay-(ZGzF2vE)yK>dg<>&1*FWn7?^^fRu ziMklsB@|;vxFttMm7bu3m`mQWN8_2Q*sjV!UjJ!!}oJ#OSqT*{atLQ2lJc0l_&R?~$_EYSIsxhOA*RPLwax@9oxm~Iz z!KO6`D-Y~gB&Hh?PvRi`Ziu8iU2f&5WT890S89u=Ojf{Z*zL$fzww6!(+$*M#J}D* z)T&#)ZkD6o>7J|YuG{5&Z^e2B&BIQz$cWWVXEF9i54;S%1mt{LSs!Kn$qKx5J=G2I zdowr#!X#o31G z?{+EyQ5a&!s?U1J=GGphLR++sL21G3as1hwh~Sl(OdLf&hk6BFpr+<%OTWih*Ib>0ZbD0ygZBKKlIZ)~zmI;S(=mNBR@g2d+E zdZHGyW1qTW+CpK6aarqeb=Y4Nz`;Q%g%4cT=IgE)v>VAuQbt|s!O>#Aw(11h19ij# zs%cn1{)Xp1+z*|#5ptjRz&9_49#lHz&4?11(lf;jz@BA-Av*>a%|UU-J@Fz-J@;sb z^CX4fZ2aiV>s|5OtVgWIE0os&NLCuW-+}IZw~JKOz$`_%B&prF#R^uRVM{}$wuRXi&C7{R`^mzpI} zXOD;_Fo*TWvv9sO4>_NOA7yxpEOc3D+B8Bs|HLim1%H)&IC>`c?JEWD>W!=<N!}ZN-xYv+>27N!5ODyB19kaTcg_x@Bg$m$#lU)%GP7Q~;ODb1vv6XOMmz=X zKr>g&7Z^{>6+FUFB8Ezm=~PM0Yu1Gf9f)+IKDqa1=CMj3(6~WewM?1izHAIzGnF&!S$h<7N!9o(KnvFK zqhI1x)MnoR1O{!Icl0HIP}boD(|bs}g%bMhy45#4bvv2Eyxu3=-w$pif{9)artZh( zn4i2Ky!+7aPby6~>{eR{jZ#!_0VTDpsq$;KLH`dLAJ!&t{c0V=d&nD@e6Q+78MQ(? zVoEBoV{ze`p?JAw(Op%8d9>y*(i2?~dCXMTw$*b7Ove?@4pl|vwXnHTdTP(8Qusy$ z29B)s^qa}q+`g_NgWIzAUBwWLt_L~O&sLS_CU1=f-CNj$FFsC`^}va(0${u~gcM3) zvpk;FOot6KKo~>Kg;lj8VQyN8OfF5}9gh93fu~G(jEIgOtNeUXZp}zz z?@j?sU}?nnNG!@DZ%x0xAk6Ox6rJ6pz$ z+kFX6rIw(C1)uWK1-aej;0Id3YaWJz;yUs}XMTcmo& z?TZn`&1~83u+Cz;eQKVU_tkLOnh?)qt5SU;G>0$t1mvhnEjp|&))T}~$p#GpY)enY z_9X*5=9|OLx-(A}cGB}vN@{tSaC;(m*#bj|!qMevdLb6Ugq29R5b`4jsX&Y6a+o(x zhEv|ih+2U?zRXwdWDCMv*t@SZUN9?QB(v*Gq)e}%RYJvKmn@@b!Iqb=kc8AfPz5Uke&u)=dCq4Xi}86POt({%B{H`I;JMTCv(U>X)jUm}(HK5d}#sY`p7 z#9n;O9hOxUJn2NT&n>F#>>08Tu3J7@irM|UDeluhh7S!aTI~6%2Tv58odA0OWlU%b1|ca7 zpc?kDc^vSKWREgxLS?3_6O1uOHvQz2|K1_s?XK?SwNwW(;bHybm%6Lm_sq0*pk4^u zS?^M_G@d+xEro{h47NdUYG#0&nQr7rm~Zlc)nyiB86Rlcb!>`iQY#4vvFiz_vg-x* zT-L;W3YBat3VFoit}f5#t|~8)=aWR@^Lk;TJFXbHt)3Q??xktA@(8F81{$eCHn!8_ zM=0mXqH1}^(v#?qX2YK1io^xowV_#TL?6O?7m^D0fKnB;(-t{nfu>CEs>+%t+Ap%g zc0p=#<5f7#hzrng z;M}ZOphrytU*-^u(h}AkC)>?ETbg;k-UXR2rzB#A za^S|SZ?sJ&dzT(;x-+h=2PMEeje>P7vLaJ98lr9y+Xfq;J$G5*-zabv^;US?fMTB; z@PJ&7I@;x#P^Qj?dDbFh;KO|lfV7%no&Fx=VcU0Y=JuZrK zL8h5pAYcL3D-_+`^zO7?0I-eYZ2eo6d@Yf+CpT%(4Aa$!vVkJ)2gxL))E$4KUn*yy zDjOCh^io(4r>1j8AQITaGt{oyjK*lHPpVL#QQP}Wi&y?GX-DHUN$6G?)}UWy_X@=sk*zQjU|*& z_&OEH1V=@z4(9d8?Q5sWBFb;Bakm90OZJqTPC#iX|d4ATF@QB42K8 zt7{Z%I|8H?U{Bv>tN{fSrOh!ICtIE;Uj>&~k22&Q^hX5@k5hHd1| z-X!2wMc7VHRNvANDRXd`r#Y;PbS3rNVPD(#xRn)S2N5W9^G6@Q(zRb@y+0NO5ZCHm zktN}qn91@03RWxM%jKDeoV(qlJgg_wCh!RMaNELYs6m+QD67op{I>z~P`7aTDr_uDLj`NLz!Va#Z2CgUg3DJ_QGqZe@-7=a?C5xNYLL=OPh$dN7ef-&?Gq&W3>zj%%Y;Hpt87ES_5e z^KMZllV#yd&Hkh&h-3HR>^^Ecq~qm|!|!HxazNWccCxK(yFqot`5d$8SpTaGb}FWm zEdfXZQ{ds9wdw5=idntF69l))Q+Z-*L)&b#C|Ki?1o7CO-Unk=20Jd0CM?=EyZ+gA zbL)C?u)Iss6ul5M;lASND~*n&s@}F>d12Mt>)Kfr9EE){aMKRfRi8l;RP0H?iEBYA z#pD2xxKUQ1U=Fg9qY8Hfs{KocyFsllJNBrPdEDSiZr}YfHOf%?6j9%s z*K}7a^RM*<_}?-)BPzK-3MU=3XwH46CVX*<7>oUV3L&}6;)ejpr&zJv9EO`9d^M5r zE|U(KWCF{?$y#Z>=g;w{&(FUCMd*&8I`WjmupI19jBEhgbmRn1*yMJ#_O>C@ZUX)WG}D-3j5S+yQqYGX0uwh5CWo(r_tiB1AhZr+`l68deznhb^5#JAMx*Id0so4YWWsbGP<@UkPnk&`dIas#*j+DQXeJvi&p_-U z?1TN<_^>|1l6URR3CXs#s`Wq)d?|cszCN66u|ubsmHf$l_9U-H>Sq)v;9zvsXk<)2Y^N>WSS#FI7YUc%SWNU(AO~%5 zTJ1T=0fg@e%TO_K`*O>JKP9su5%qo7p5SZTvMqq8T6zdNY`Y$#R`M=p4`ubE73X77 z5aLFklktO_zr&9?a-g5fjZjZa0qggBr`=l;$uA0LR5sgb3tls?k7_F9E?X2+1pr6Q zx0Wy26=glBA#XM%v4`WHMw;Sgrt7e5*_$pgSRTi#4&<-zPiDzQ4KiwcMLp}LQH+#( zO90w{EPj=a>CcSRtZ!g*P%C5!2Jd7TIfHVS#uU6aw6J2%Y6}%WTlnpL>0|n>Eq>mc zEAaj%xhos-#|KUNF*1h=iQ(E6iMCJRFm?8J#|ZM<{tKo{o5t3W6(_(lE9|Q z)=9kDSG!|PGPFg0_mBPP(yZhL?7>XjXk^LLfBoR!dpPG3Pf4e!C!v6SmURE6r_EjU z)SYzG=VAP}yZQJ3ZsL23-R>i+-}E`3CBO9!HTounZKFic){W{vullcR&duE3Hv1WI zKEq;YT8x?xed4j=B^mTyh;%`nhvW=-|2QpYUWKHeN0SIqCC8+*2n34%^TzM*069E4 z^yvFrXM4|n8`M9^z7XqE(>f{J>vyJa?$5`6UWFW-e(~5!?9v~_@?Uo>RStAMhHqpn zfBj!yM4z@uo^YnV{U1B0(gipLHn6`sC<#2%Z06(xV2O2_C3!B5JRk=jJhzxEF9@vw z;M-yzJ@=V(>HP{oc~a5QwY3QXRqD&6TwNvaBcVEFxlZe2%GlW00kuF&O&c(k(#B?# zv05NUC4&tP)vuwkt3S+~M6&2tO9A+w)9_T8_$T&H1u=Vr*<8AZCW)I5BsB}dLK67$ z`8Ce$dz;9-KlLpzZ&^tunuQsd1s0B28|_>GdIf>G(TU=LdwGTR3;-^q^VBW%B>)fK z1eiIkY!g*E1wqXpEX@)=c<=z;!?*RSEYE(vWguIbl2RzMf#N%C+4&LM&t;@ivF#5r z8*U#8YvCV&I*&2|5#9Z7-@ZAl^gYlnHueK1%r%!}N7mm=O45!j`Kv*}Rc}t=0!Idr z-hi$g=ae|Q9jjh(2%I3_L~iYHUvQ7yo$8I=YY(T@UvdCIjWmM*$1*6(Hms|g1tIcb zlB;(ffJ+%>$kS94W}ko?f)6uv59{3bt0RHhX4Z818q$s25rELMHA$7Vo~@s@g1CDE zo)^>?kI=sE<-z;B$*2P8RGF2e?o2)F+6;!|rrZk79@f!0PcK1Xib_qCFhF*_IBq+a zTEyimSDb-~S8Y3jr!WCQD6!~60JNTWB*SJNbg~gV9|sYN7xbJc(m$H&rp^Uuv*uce zr0wzFm-%tIklG_*JqRQYlLky>Wr(RM?do&FzaRmXh z)>sSy(BV8ZFnMVjRuc|nEJ)a^W6=lU*Sm(Wxg(xY=d7_Qwd!r~j2-)nYS0*bM>1dX) zf9@Bpq;fs)LmL_pZZNEipgAwkei1no#&-s}oCE<)Lsl^O=J4GxHHd*Zw`Vj!+GN5h z7!FYNAxWl;C*bW^+)lwUm_+j!59Pt>*oN?KgfVKeSmhXCsN*yDGgLo@U^7zFYwQMC3!J`#Q zi;2>l&o7s{NZMoAvq=3CHUAA=t5O_mmA{j{Bj%E(GzctxT4l_{}13)ts{Os3% zQWcH*yoz?J8M-L%hT5nIq~XP2=KPb~W@>-x#*hfy??))zq&)EXh+_fhZGrB(W3=^L zqj!rM@@Pj6!0?Qkn|tQ>{(VTIfcuBoZ=dO`j+cXbd%LP%{nEmx1u-+UQZwtcVxwbQ zrkPG8@~9<3h%#RR!M7MQ`-!XJTSlVlstQGmmW_YsMS0?v9J&3fHMyj8MxMa<4h{Xp z){5Z1p}}sL2{3|A;t&|}I+RVx#x_v)yy=3Gt{f%D@GdBoKWe$C+bI)HtfyF@v%$qS zNS0y&Dd6*X!+2jk_sOUoxv%EdaS%SuZ#hdQq-qxY{GJ>pJ|F z_v?%DU|^ouWVYhTvYMfjgniwKOD-d{mHPzzek-En80pAM3x8#oLfD4~$gTI+DZKBy zC|!Z*iE2Zo-V$W>$pHY;mA?TxpS^rIDQVuayvyEuB(=*f0WjdtpS;VgvSA> zQL6~<*HOUSg@m#b0Q7OHJO;II{&lB*+n=@m~8rUT;RZLme0hna&fup!JgxXvmlNqE8j{{M{hnPA6_0MulRy*ev30jRX zjZTzV1v+QNl^@K6EP@W6kCvd2HMs0+m+vjXiovfVvj!Dev@J87pY84(LU1yR&en9@%AW* zyToT3xa?-8vQSNx7l^tYIkpn!9ZqaEtssGGJKcb(0q{X9k}!H&%L1o%>&FqhQ@jTz z8IPUkNaJ(GjzwFGjS7uPocv^azlI+>CMmq!N0NI}tcpy~snIIV5-5zxZ$+K__7soh zvI(iEfLWk$0GP1@02`(hLT|qY5E$Rba%l{4_lVg_>Yk4qS(UuO-%D}fbNvI*) z?3oPUJcv(!l&*4EOa~BA;Q;O&&7mtXz|g$THd0Q@2)#PcuuV-2Fqb7HyD>M0h`2AJ zngUD(6Gd?7_^)3r&(z{gM=sFV#;f2Qu(je`1yY__wK26;kTQP+O) zE>(-*T<4Zu*7evU?P*X8doKi3&fdEVSdY@#npaSFFnCFu&;nfk+uM5SdUQ$vgB_XP z%e|$8;`?T=<6*8H>_Q=raAIM)i!F5lSDAAA!-{}1?y_ENrxlRvpXLAzct@8@nR)-0 z4(`e4Ks%OmLZMxJmw4bEPI%Yq6EsO*7ov?4N=7KKFr2vpB&R&zlJzw4Qy6UZ5VCDn z4xU<#pWfa}?xRLv@}2d0)-(cZ80&g-roR0ZIvDS~`^m;oVkP-3V4S19GHrbu(D6Nf z{4+Oy{qp`}B$god&OR$W0K|fWPi9w*HD6Uy$30p zwFB%;>>Exg=<)kmM+xvQLMi|^9qf_`ewS&m7Z`P%{8=wkApzzrn!cts*nL-g$Vr!l zQ#@Z?LLSR%6E?60m|)<+;H&p6txvxDv+5m*M&e$&rRBUaRW+DRo9UH#H4}C}f3She zX5!Vo*%ATXd#b{N78LLoC!)T@8fQ%Il$B@l)3*dr0M=@#3~)o%c(#w0)bV(Y90~7^ zdZi-$fg=w0)C;yd#>`m>4_f;df=vZ#;WJNv*&M$*!UH&JG6{G}$^#rVR$xJ~h4&XN z3lXP2Yu)$AM3O`cTDji}6`wshr}Lv~EzE|scH4(I!U^cjUpCPhv`OG~?mz(Ew9W|t zDgR=l286II^hyQpJSVW|iaD3<)Y#e`1%!CCq;NQQ^~w?6x9)X>hB%%;P9p~@vO8>QiGQxu+)Fgd!4o)~QxQP4s z%AH4zN0(VL0f_4ZG*c1pAj=HSuT!2g_!l=J``9`}6{Fy`gm(i_`&VUtSb;9}XjS3e z*Mx$f$|Wltkn7rogpL=@;Y;6#Xxq~ae|Q@|SuG?2B@Ecvg30eVcvoLdfwB- zpMtoP>t_8_DyM1P4Zpk}GUa~pFPSPAoLd8A$}1B?=G-`>chP*{WW)2d^AXOEFH~}$ zl^|7G_-_dUJQbiwWi20F=CYx)3vPRy%mX?0u&PPa=-f@>@ho6T&+;j&@CNbkf&jtn2C}F_E4wR%^X{D^iASZ42%aOYyp9Sky2q`uW6@Yd>x+90v04V8+{g)@) zm?@U5Bf%52qfyOq@9w2g*Dt*}R~B{z#r`6D!4I-uHYXPXPwnj60ghzBY{Pku)f2yh zlR@$$svn!#2Ds~tha&uog@C=YRDdy{c?miys;|`#;DDbN%?H?nA`CF`8k#EZ51LjB zBo~;NfB=fxb`szGXvQxAO7B)V@JG~vz>eK>E>hE=XwxQ|MIYv3XT{y%aagRp2`Fdf zsK=eHoXM-5mqB6-LL#E^J8Bg zTR8Q{$0In`_Z&7RI4fogmdg4Edt?0vBlbI^nAy2&K01u-uUS;@exUyAG}R~oU%Zde zU^V7jj0>;y&mGogW5*_ek8+&TjG(VBa3Crgx~_k8N3Pq~rT`e^2~{;#fJw470r;wE z^FR1X3ndIVANoMd-GV7N7VdYvaASJY?(u>){F!QK#v>% z#uiw`c`gEDOv41+U6g0lqJdn3cHBBD&&*lJSsV9Qcf86mD}qIT!U|HS{VT2u1K`hy zITtq|?rsfaf*x8R1Z=VHbJU;-=7Mw_dsb-4B5KQI*vr*MSNl(nN@^3EQ6oPDn8b7E z^63n8AXEo>Zgi>SV>#g4O@ySAzypQUY-}pPoSFNu814SB9Iwow0^L!%!8&(WU^KXx z_6+!hEa``L;NVdQIXT9d^d*bjxOVM6LnR{wz2lp&ThUY5Yd2F{6~Un1@gyKNRs$HM zN&}2@apuc!z)UgFdjIqq9ujT0ZrOP%rkt$KHdwy&&Q|`I>htji85z^**lpl9cg>(% z@_S~kNBbq7JNwIK$ZBoLpUF0FKGsuH^TDv1dyM_dYK%rkT|M(+@5Q`RouwSuH)OIg zTR$?3y-Su-W!!#axAQsFb=Grq&7*6+z@Tn|VgJh|R;|UMD+!UOV`3R+r+Piq0smtP zn6^^eG1lg5*i0@3z7#RlqnANhi%kku~Ji2r? zW&Kt4bi|7T5SB^!>GJ>1J3mtFf_g_&;+cbQP#-NCa`onbMQ@ zd7|ve9cp~J>&9d|U7o%KgK#x6@CIG8SNqm+Cd;uKfFI z_vdZ{8GXS=NhD&nyt?ia_)Pdm*L<3R4e$+Zq2+E ziKg7DfEs6P?a4%oq*3eEf4SkX84<8C$YbD3`pC$Cf!SbW!u4Rc+ZY9R(}*Shoml*< z7E@URNQLKiF#UZVsGX)ZpSwzgN`3SjQD?8dkd&2yS;r_v1p`3 zKw9ZgYUu9n4pD{z>7$VeOgO zv+H;LuIt+S?nrX}%B9uX_r`ha8#*_?M} zO|NwHCGiu)POP<_dDV}6Q0LwD{>NZ)5(7?;z$mIkjtPBoFQ9&OU*Ti0Qe{_!nBI+p z_0);``Jd;{?7she-K0;NnKx>~eJHkVvpt+U)HGmIJ880x7_zn;s@ zQeyg}_J6f^D5MFfePp1o zR-J9b9V>&uLCj7^R9G&H1%(yRyyDxE!0)rdt^H#xoav`rQOIVjfmi|q)*#nDDtYrt zwm9^ZR2aKqxBI%=-hP(hw3Uunn-6zu+l!!gK9s(>VLFGiOz`d`t)000)0qB*qr9cI z#b$}_5z~UJ?@?wFZ>ElHmo{-Hv)|_>^?Y#WHk>kcpD80Ty-rZE7z7LpG6_nS$%hBm zv698(=++pZensm~u;T}|FQK%>%v{3qU$x7$EMHHzkoa=*MXGf8I$zkn0l6eP&}d%J|k0vhZ!{q=5 z;rb6It8ILi99f2cIP>Fo7JeV0am$mNVX$c)PpKJ7*KQ!zG$LhIxx(ZvsK)%+e>PnDN@CQJ;pZFUVfW7 zYK_;=V`4sG1^gs0?!B%@C17Biwg;VPUO_>J&_hHs0^?3vOu9*_`_yWt$LIL>^ z?WP*N0JvtxmIvz(J8cMgx=T<0(9Tzzv?eSow}m&mXJp5Phk%{RmAFg&knd(S*><)V z;6L=(l2RP8rJMfILgLdL?0+bj3*w$l{0tFkxFq4`>Wq?m56Y#N)-ELT^}GTp))m7p zFi^5Z`K94OAEZ^DGx?RC2gD(XhIGp$)6_3BD9X)3vY#I^CG$QLt{aO|zTU0ObGANl zM3S>}^){l!eaO}v`F3#`Ge4oW%;~Ew{;3!qi)jNpmv9RQMY58BY{ zQw+V=trA(CUC4&u91p*cZBnH`O?-4oE#A2IX*^j;xsRAFVDsH-xfg^PA)f2?V#rtU zCRH(~>g(n6E&Mp)XyOReN!xa_x)}`k1XzZ9%eHnIo9#kL9@AWZ`}D|#c5XxXVhYq_ zr!Nyu8$=8`gkKnZlDRx`0Pcjmy_WU7HXww!#QPo;82s?SZ>R(BGWwrzyv|>y(WC5! z67F9bQM`0L-z@1Y_8zpqUxr+Pow{1q5A>po*DzIWogX?T0Jaz z-PmFi++R)7-HUk#AoQ=@&?EqRqjG%bZ~L;q=Xr#alsQl_A7eZo-0I2qm12(wWQVv9 z1bWn7DkX>OMTL5PaEk+j*IJ_=vx6n)U3?m=9%Ld%XE7ath+!#S9xjnaDm}A^Ced#f zFrD46^n;bVA2D9PTYqQy&LyF3ktlxoYe&8_oBKqZT{xG!7-tDM$PGARaQx&wm`)PH zJEY36b^XaK@Z~YB$o+rJdI`WT0l}-6Iliw{ZVBpAPiwdkbH0s)ids=8`0^z(60)3S z29k*ueZg-y`}Fl~-b#zxxNqx;3CN2_yI%(}TO7{B50#By`t}AI>~+t4BXOlc)3d!< z+rT`8(Ag|-V^znqC9Auv4wpyeJVB-g6cmOE)6?lPB#_r7tm{+L96tQ*ZnVu9?$cZL zO>?%YN_R6O>G1lgz1;Pt?~Kfo1Ho*tbH2<3xRqgfp*sFgN&WYXlejt2ZFIC~rXl}0t(m1WOau_hQlON!~hN3+Ct zMk>t9|7N^+N_FFQFoQH*d1t7Tbg!>0j5(A!e52=dSU&+}_NWva^HTV|%lgs^`8~qA zG*Z;2cZbel-(Dc=@VM(-j4>>$?gG1s9u;cn&V8zB{iJm=2xM*PRK($K&-NmmvWjDF zv3>mrum2u_&eqVcYy9bUA4+y`cU7AmQO~DXS5Q%CWjR%>|Nzm?48zz$qNjB^h5o7f_oZL4#Jl9R#G1&29`JBJAU2T zzN4J+JPDEuavRI7+Mcf%DgJ1nYaiY`*LooDCgqf4CI($aRb{Y@iB*u>TC9PO)a(IB<%#-5`nB6?uW#^4bnzVWY9G;YSnp%L&z6_<&6aBE z_&vF>VyOYz*qN#gk*++4t+)sVX<0m5Mmr)kI2gLO|&6eR;p~Id)G&lEH%c4P4Xf zRlNH*(PjlUhHJ?~esM0~PQ@6d<0Jj}90*?VO=ndV>&{zu;@Qd};d>X3cKJ;IX&n_M zHJ^KbxR_iYg!##@+By+LbdHEOIGr)A9UnlXKjdM2tkGd^f?#N} zEs0l`&GO?jsS;GZI9zoHiP)D!{`;wOp3C&1+jrtFg#A1sqP3M@S!y$jS24hpgLmg> zeY(}c#i#hKWhlUo;ef&RLVL0}IO#Qyv^XTE46-D}*#z;ctv{%<{)()5+JOVu2^P2D z09F479C<@^cUvD(2j0VRZu1!>*zeqMQSb*&tbL=Vmmk$pC^JeaFBKx+K{yZ>7+6C? zxOPp;t;QJI%L&a@3`WaXhha#)RFJ~mv+JtiOH6NY8jEU5BPOv)b_w*>>nG-=u2;Ke z0F5F_+HscIMbIb18-c?RNcOlz-YaF<_T^Em6WN+vkMH^LY!%ToG=x5J^Qw2y z2{KE4E*0fO$8Xmv@C^bIsT?sG6|Hl7K6Vzr=wjl(9{cJf=bg!kn@@(u3V~AQx21M= zOQ>`8{W5u8@reJa6~8-qKq5!XF6|>>FZb%e)lGthQmr_HBT)?;ZgDCF^R(R;(Q-r- z{EbfLTAJBHO}l$4RDYh6aVES_%S0s|B|c4{>ONi^Ul4m7@w)OvV5!77{_$;T*DqEi zK@pn_^%La{W9o1|LCPaYJKcOzYIe4}!-x!!T(u`z7H%ypuV1?kNo_@i5i&{wxF4`; zNv|{U2D^2g!<%%IBkh8V84k2ndnlu1xW|cCW4^zf(*HsFEwWu(+d}|AlEUbs5|lMxhZRf*1#QZ&Xao2 zSG`QQ{fmlKi%)}0%b3@C%}1=~4ZdX*gAe^0w>7P{fM2hM|7SLLMg9EE7<-p;Ma4{m zjqb$=4YfLx{+oivN$EWaXv{oY6|jDkx&*HlI=C+0*L9KfDryW0OE|egp$h4q#}@Ct z+T*V_7O&N7a#S|GXwf#?oKy;@^txo>9Pdk{e?3Yqf5~jIg9d{%a&F1uym6`Mg0Z~Q+F z;S4VXklA$RxMwRlE^%amGjiu55#dTJJh7^<;E%cR?sMY9PR*Pe9D3!+oQw4&h64}u z)kG6*p^?~X5zZTcAR;ExdEkD%?<66VV)r{f{7B3_pFRVQTa(mfB>4D`r1^K41D**S zVv(lAHWY!3|69TEn}QjPc>mQZ=?s{CW%S15%YXCLe=PgIeU_w>HwBeqKDPh)v;RYN zLmO^RlPuoqoBVGDGj0mz_K3dz1H=BO?*`;_z*9MXylU~^3M$)ST~oz@Lvi_N&yAK>vUKj{aLjuhEPs*zFc6HH0%x&XYaifJt@*(-4j;$ z^X$pLe*GCKa0cfC9>;$f0bzAS`r)5(1n;-SQamu+`aUTcu+p|Tobd{#CKg|;S4RpX zp?e0*VF{%*fu9{Hv5gQ#SQSQJ3+P;_& zE3SNV3~#o-*Ok;f&Wm1F__YqU?-0EyE{s{LdmK_gC-`?oQ5SJ4v-gNMFY{%o3y8z#7LSxBe3 z!QJ>heDs?sdGigAXxZPa zs&y$B01=6Y>N-Dm+T7KG8GtBcI~Q)0H}E?D?L?)5W*$Ojv-_mJmGA8S6uhM*S1DJ} zyx4636&5?Q71H{o=6EKA^=B`NFacBDCHZOf@zTA^X8_Kyg`XJ!SybuMaSwvPzlUmQ z#a*rIdB4L67Hf^5;2L~JYhEoO#w0GImDw&_$jmkSKS{UR2-z&FzeZnp=I2>-lg)vi z3t25InHSc2@3vCO!f71{%(IXZn+?0EV~;%K%l(g~1cuXI{uS^%>&XQKphYF~wO$uX zcYvd7xXi@2H#zsJU&zz|2F;8=0AuyN|AETpSe<(T#Df+ zm)QOwwDk_cogl@C+K-W}>^r*ED!%sldzvzCM5*UjgEVQ`jiWuKv(xb8#`1R|-_O3E zeGRC`iCMrwYO6eJmO#R(CKU~+$Msvdi}+{;xkAH6>&biI)gyX=5~0wCPiG)=8TH$9 zyKTGFl4pHu5i@7K9!?8-t9=dP`BX=#A0c~LcO}D>3+05pkzm0}rT9m?46>%$x@RLN zLw$mZCQT4*iKJP=&F+d1DNfdg%~L$Bg17Dp{CI3r-SWwTp;D+~1WyfqP{Hu&dUp%) z?}vyMf-*X9%3Voi|M(!kjPt6;FJ6BuEo{Cv-o+rj7MsfS{NVXlae+^W_6beV33Q{; z4%Ug>g2epeY3lMMgi}-bgZA@~5UflI*=;6Qi-@74{V}%L$CgxZsWvm#XlL!U;B+)% zVfz&=AEPyE?5*z5Telzn^*B4an=&}^TrQ4_VRU^T1>6~y9G=}H@#0l$O16hn*J%LA zGLgmiisanXj4(ZynNu;y@eXyNvem}&)v+DquyIosG(b#MtO}Lc*|TGskIWT|(sqm? zBG#*pM7X1;wDL%o#-ZKfyP*cX3wdvc9#@$k`v3v>am7*v8;et+w3>dG9+52+V{TfKOsfhDs)(hCdab_5KU$MtQ9l`e-Qy+j;R`HVbt zF=?o`=sNwf!ejF#tzJ3O3XNtM^KviK)Rpk5wO$%SQu+q`_@mL+JZDTI{f(4JX_Oa^ zuNM{OKJdAn34j`|v&t{wuuXS0ke9H(U!AF)9nhs*owoSUxKDcdGMA5;%loUoy_26)VePSrBSoKsa5 zXV&t1Ma4^ril%m5@+2l;(@q*(*e}C1KiwC3_H%&v`vL>x>NN9F@n|H$5s|#4QY<$v zp<~=wr8E~F zMRTHVgEm{DWG5AGR_9iZmy`c8Y9RuO9rwVxKm%8ldeY%UtXsc`>qWA6m(s)JPW6^~ zLP%yfKPy!#zFOIOYZV)7wK_Iip~wW8>&mJwb(Vr}+&wil+j?^<41$14gq_TE*IbE8 z7hf*73#)^aDtn^=F=2e;2^PL;Yo1OoTGrhZSC9T`4SM^7eYtM+I$A2zrK80P@QDfj zIQ&9qOPu?`zjh!2`X_pf?>6=LiJK35So?)?P0t^S2%E2fX50o(NEFYfF%PZNJ(XJp zxzeralk`oxHO3X~a(hDxSJJm(eGwjZTUqY(YPW6_VW~%{1+(TtL0#R6S)wvI<5dAsMkK;T&V(ruBHi+_)fA9J9_ue zrHGUZ`}s7+M6IEjH{$`g|9gfouCSqoJ*V1->1wwETmL7VWWsCg%uW4q5f=>8RFPr1 z;Gme6f_wAbGLfvfnFHrR4bQsn4Uq7sNHWk3dBv+c@MiWTsaF}tUp^^H=8|zLPRK0A zdWzHCC6!lxfa2#EDqc@eSCueG%gPBOTj$l~ch;ch*H@@||I9n>`7`655~ElAQ>AYM z!ZR@A2R=@RkXV~g;v#E`(wvR#1#8KF(BZXt_vpw@HQW(Gi-7Oc3R1LA^Jdqa{hk6LGm^~`0weX{hO#Wl) zuz`J`8VKAI)sH&gyncr8_kW>N}NnUOmzUCYnvLrJ2t#b=#w(ep^a zcbqY2%MaV)JbiD7SE=c^aa%UsgFY?)b@5g97An%OIr;wX=Fyw<&7F&$*z%|sr(>#} z7yBW{uP5uT0WYtEmaB}%656gtTGGRazWteT5&?R%`tFq(2FMP}f1+SgRE zC!BWP?I4Ey6KkULVs}Iu1bqJKPrlFAPkfX|T(-$+HMM7Yah#W0bu@GA9OA{nn^ob% z;BsQO*Q!XotJk8=(yGyt#Zh*q=bimhVLYSop6;(gH24Lii6doYUuf#pQW_nxDu=o-Occ@j7(3(|*JPURoh2F-WD4PWx$|nw3oz{K%5FYi0R>=#G&U@< z1_Ncb#P5Y5{*KAsLhp2uWsVM`cF}R@NMjGVh8IS~Gs*Wx`W;xcHK<>poOI7m@ew_{ zmOHGIc5|fw`Y>eYWbK)$V>EcdrsV-1$@cL5syW3{Q>xgutheIhR$cAC8}2 zA|i?a^OzN%Y-T8wgTdkjY)Ii8g-H|R`;B=jWlq=P8y(v$sUexd+Lu?h>@;&7{S1B@?5-nIkc@AzIP$Gfo}k zIHA6W$g*5{JNZ?+U}`*M*~*6TG$LQy(ieuY?k7P76zmqLD^qK0wyStryq1Kn--Spc zmSj1P6cS_h@t#6?f_W67c~zS<(6?4X=lQG9iI%m@OtoyX=s13ivR3Ix5%u;JqU=Jo zX*JWyuL_KJwJLekOObsKvxKwqSH6$EOP!emyhxmkm&wkXnWAT&%tuV@1tSON_=V2m zS;wz=K^e!_{GJcqzC`RKwh>LGLtghl0?`jrG zrAZc_xmC$&4c1xws_TAoA4Y}0i823>K6&cmvPJJ)KK210f01~}EtG=Wz~z}!dEZ+| z8OAued*@Iu{EemInbpdv`5s(e!aQRq1H9?x!Zc;d)udpO=TKoc*3LU{SEC!W`O;+1 zA66c^8d8>12?sVzG?m=HxyY;TKgs2<7}FKQk0{4JnTs|uNan4PhS7m>%_T|BqB9gk zBqP!WNG`jy5^_b7yBl4s%~=v?u+@hXZDwzE)~YODUXYDJAA;!I z2P?DJjBNGw|BN2s&C$HIgr*l^J`{1rO5^ z?~5?iMwWGL$FPL?6E=;!c~}2rUM3Ykb}R%L4fE%+4=nzOKDXkd`<|lj9<=N4m2Idr zE3!>tJdN3<0B-^5g6Y;wsc(`{L^3LxP^W*+mH90AEl%7_w7auZH5SSH)+}?ySCG9Y z-VXR!YNCc$1I|mPu#qp!MKCZBtaea-g%^MHyA#V>3##JFWbPis=1!ss+0?8%lh=zL z6`sxITgSvyFcS!(3)3tqkw&?K_A{9SAko6Ue6-es_(UymQ|i(qxvkw%C!@95B2a-6&esZwz6Qki?%(`K)&Lk$nWVI>; z2f2eYFS$3A@_+^>?j)FG>H;ZWh$Ul9t())oLb3e|)$bANE%FXTM77-{Y0>4);Pti; zosXy866=|CF6~jjvt{N6kuIvP4<$c7fp;jT;`w-8&ps_{JZh3yOQrYrYVkR?>1^ae zJdyBN66wiOe|#FnCPzf_02mmlbIl~EMC5mVriE#@JulolP*C(6mm>-=;n_}z{3BBf zCO(w<&rP`Aar_%4#7zCBuMq;qrl<+CsEHNehcaDDz`??=3 zqWM>gWMjB(Y|j;v6-DKL_g(tdM`!QQVk@jXPU`KQ&TcRCSV(;t(X$u!*dmG2h zKA+f}EBiMuZ4&FcRR&c_Hsg~YZN%i39YEM*y76sii?zmun21D3;2!9R{8N$!p=9|C3x$jQyWJ&Dd2gkn<$9htK z7_#gl3UI)3UpmLZ_nsGy^hrYIlqbVMcyl5^l9AK#-m(n8Uh7qiwA7nccL4Uk*Q9)O^Sy-xNxzSo~yGe77*)J3F`F@);c~%3rCQ1o~;Q zE-PDhe&gc0iBFbr`}~6JhV63Y#(YJa|D=lA+53f;f1w9CtmdCR0c8B7I0%IujA`MO z@jY65^Gz>CfTO9RkN5}fVaGwl$K{EJMoZPYfsE?_ly!IG*1yH)t?7aSN4YjFz>~n!^?>PQ!}g zrXDdRry+HK^(@S8qS_X{@bP5Za}vw;aZS7Xmy>~*UPZ*Gf>0n<_dl&L7!xdKwmy^U+aD$pIHtI5OF6xM#et+mX-8MBie65r!EU#35%b!B^%&R z&vE?%2}JTU5|PfzAv|g~AR(9Ub=WnV0(9%>jWRSI<5UG&34KM`9hWofP?H+`&;)$G z?B(Ihyeob-s4|VBA6>^4{J8mYhQaK53@RP_BEJpxnYXfGb->Gh33^37eDTdzeCF&L z`_nt5v0FbcfqepnZFz;Zka5 z(Vbn5^$SWsR<&YSEq4G8U_N zq9Q^odvY+gj_YJMndbEZ_Vrxp53o>jziF9mK?0Uqxy#&5&C1<(CXCCmdGaJ3o8zs` z)pn^A!?kG(maubjTfJA$Kx1X3t*HUEHLq2v56Jaw&97e=Z6#R6qYpR_m-D#b9lrIUs*#ToyQED_Hot@cHt^31S7%sP?nbn^!!IcUD{$(F!lz zsWjU6YBQq`Twf@ghykdpkHpkX@YUal>m`~-u_w+3i#AWAzBIn^U>?Q&^Pnx`E`5L9)%9Qb8T)a0C{05njG5o^IeMZnFBSZ9}eMcQm_NAle?8`Po!?^5YGf#yW8X+P1n&tt?El337Z~zYW1|6d3U-|6}OJ^ z%EZizLbl%#cU2pT!cz1E;IvYt0aEdFZ!YiaZ0*|s^a9vAGFpPD0*@tl9FflOoijB`|98D^Toubk0;*(2^Z1$>ME6}6Unj*{d0CZN|=Fm5- zC$o7T_MK8fgei&VDLZyH8o&Wi6sxZC3H!lq!kK}Cj|#0ejRds60O)!e?^n9~P!;h= zvn<{_O-b%Fcb;gf*@*1?TqkQJwoGx-#qx$IE8E_Ug0hwsl`och3q=fp2c(OWcvJPj zLj>JEK8&_RZ1St|u?4sfRzJvg*dn@}C&1?_blUqo?ltUZ-%y>RJCqFBX`_VQJV|#3 z=1+(4rNTGOX~Ye?33=9xF?OZqr{E!1BPYPL%l#d2^q=1r-^B2ND~aDsI_I&%cKU}c ze)+q%3$Xphm{Om4O=%hT*k95#D~FjK%k)I{x;GDG;ilKoN*)gbVX10--m+f|NGd0C zYq>g`G0h3#V=IfY+(M-0FKmNxbS#0>0w+AWHR&}L94dq&Ix3vpz;ghRskE5qK%;um zi-Uvn)MrXs{B$V(ow`c#sfK2sOlsG?FffdI;Jy5B*j6GcKvzxwWH2CjVghx9mVkF^ zH1xs!O7|%`2%S5?E8-SWQp+{mmBLH)I841^uRe`ouO8%>&*_NwBH zAAPfBrCa0ChVW11g}D9V7JBb$ERLIhVV4SJ_31M`6uk}a2lGdbeF0*4M;KM!yv$Zp z;V?X8SGgHE)?rdoIXe^HbE@2ps_Ae(B@$YrQu6imr4|_b2m}YG~{6$)vAs_*f z#(6_kr(QWKns-^!R+gRj7@9fTV>Eaox;ted+#q)8sgmoACzZf_mX)UTWv?CA#@vp0 zM~7LpYsj5TDYc8J+zuMYe=THMzLItJA!4(gtLoS(j>#&Pi`M&TsHuGKWL;_()E}m* z^9uYDzz)=UEv>d@k3RYk&mW}H3B5b!bl0FJ@{(`0PI&RY>TTUd7D=3dc7vL-%^jx? z7Uk}#+=UJ#DdyIDXLbEDSPj7a&O#!eRpG?xJk}fw>7pP-`57gFSg(Tc6_l81FXy}t zWbd1F>=y`0{Hi?_m7+dLDAy zkcKp(%XKg#$+S461|x$TPd=V6xbc!7&=3$6WAlhcfFZNe)zmNG;2NAo4&YwDbUr=G zGg9=bc`nHNF?k}HnBeVij?b2YC-_X}98puvI3R zyvbgvWGG>GX!)(u=XQHjoOKXbT3;RYnZ!HXkCVvJDL5O<-*!-_uI;Rn&8~K#Rmj6_ zsw-YaPlml5nUc>BQe|Ih@KY*;-usE^NFNp=0kBZqfg|)f?SioN>MwNGBK_|4r7aF4 z1Fkn5V=rtVmf~pjIDg*}s=39@8I#7^BD33*E#G=|UFF=lRW66+<@Hk%VI{xiW5ntb z`!=#uloSvHRO+mxfup=$+~z5>GI&KI^9M-%!I%HWtbe>Tpa4E(f+O`2qPJAab-*1Q zegmvZy&+ap8o}^ovpCsc8B=9hS&Cn{^gn*a&woDTx=qb0Z0t=y`j8T#y#KC3!Gw*> z)?CvYsWV1PF$^m`HU@FZ-^=dbD$u__dB+KSPG2o4-rW}2l!5SBE+3=8`s$F zrvyi)c+6e+;4gvcH}w4Hf8HS?%N8K~UOaxH$zS@B8-9WT2mOxjl04&<;mM?GZ==09s=1oKSmp=FBx=YKxBXYx>xQLH^#xQ@KAjUxE5sQerN`qe z0KKg8HyiG7`&)bkdJ6s;0f3I_eA15j>4#zqopnB=N7=y~LLNj_i>R3cVe*Na73h`g zSDuz;1i#slOQgU_57k{xpRwWk&*LMR5?I1);@iz&CY`v=(?kI|AF0O|kjo2P=MNu| zx3W;vPOax3cSBAzL;>oEZCTrRKS?Y3FqO`#aGDJ5@5PT9Xnf&S>?|d5L=^*qb^aVy z#|{UnFg_L_BD13v#KHICT*enenEBl$Infu6df{%WEq5f0Pfx^LMSkY}dbO~%|HwvQL@%yF#JpD@6 zFXxwP{i(PV_0*~(^3<%VIQ~Ds_Ome=kSE_M5l-E><-d;b#}Fcw!dkC1d9cE$CkQ%S zd4)YFZE+ut_XQJKHp#eUITr}FB1f&KtB@C#fxqNQ{U@F}ZL|_AsmER&{`kssaWe4? zG4ypVy&own^DK0Owr3$*&mEqXPHLk&F(qe?VqXllH9IN4f7+D`ki{ycrsBC1s4l0` zSrvthZf33D5+JS8$%4=U5QB>n{}Zy}suzY`kv@O4B{LI3prYu%d> z-_Wm=-obxPS8_H_8b4x%_Zc*;eeJ?SZrXvLO4ldG=C4^!?}h4993OsO{#l$<1%W8L z_}Q9NCAd+0O)j)!pmKe5xWm`+gqC&obUs~#MhW|}hj==JmAAn`79=+Pp;-w?Ai#5D zwM!;m9S?PD)lw(Vr(5fopZ;9|K3-r1umwhB$w>nQq!7OCa`y5Dvr^#W7wft6x`&P5 zWwqA=$*#pc;-*N_wLHy4h>ZVKsqdCR*5Q596>WB`v&|j{uPGuPbL0IXcz@hE=Kovp zjzzMY=>viD6j!2W!6AO*44I$b#i-PZs!Juli09CJ^f3t$S_+_n)V^{td@*2RqqSjX zu|G)k93 zPn#Hqj6J2RF>iR>078B;U0&yR9!^_w*52}WEKN9Fnpp8#jBI1j_Hr1)58N{Im7>&m z4X;Lm9a>&ox(O5YQ_q+10*ea6Wk51Dk~<=D8s0Te+9e;J=_R?-A+*+FO0G*Ls_TPU z1)+dxqOCO5X>syp#Ga~ko%0EYb77qECd6}kiUlIRue=)a2T(?2@LpZ13B6ipya1X=XQMCI-`wM-^N|25c~C*8%7f7C1^GnAxMp!-WVInU z0Km$^ylQ500K$o}uDWH9TY%+u=ph7M2*S@#Lwr`>KPPeCqe`_J|6CLKJ2p(}%yp?) z<dh@0e z`tB>6PDyP)_ShIqUa`Dm*@VTUUCcJR!|98KqzpFl^jYC-dGeu>IeP0yPqM@_9sWIQ z1W4)c{!rtGY-WF`@go1G#^e7`VT<#T4TF ziTJ$bK3nj=Tno>|tn-fH{HPa$1L*HUaV*5;lvu~y9eAOPnFg^cU4cGFaTmx8m`EhyTN8ROkk%cdj zQmJKf)%00PNp>`NL}f!J-1KHVuHFJSFH=~jl~PrEsO6VWg+BP+qiAdrQ;rUS$muf( z|3;p-s$qZB8{Wm|ytKAj`&y;Ig~Fhlp7VgF=7&C?Kb8J)Sx~1g2nS^Mp!-0By3y$v zVYb%R_bl2d+B%?nI$G!P!Zik3L3G58l5V^ErSPqMM{b6{utA za{E`Ao=gc6@0d~djmW#M?jd??iu_V%fZp_cgSFo5#?Q$alQGT&%N75iqS6Svl{d^g zL5rw;yueT2`=0l(nqqmJgbM>#s!Odd_nB;>UNX;t1F5$MN0_twd}b4S%H8L{%-16D|CQCWA_9uM zN#WpAH51<>imYB_`Pq<9q2T^=r@G|(Fv`tMjp|Ym!`(*?JgE~EPvzqkiGUE!@O3O% zt%nf(je1X{jgLTP^r>#$I2My4R;64!&pn0+jEmeAAKEdsp2!nGQqPPA5ppT3Gs-z= zXTf0-3)HmQX+A96{evR(1440k}sx!NqJ3uP4y}3$>^S;bthLJ?KiP^YRGqZ}# z6#|QP&Rqcr0K$uhl#(O1sc!6%)yWM)4Az5?@S=qA@Co~fm8-y4P$~6(y9#4?@Iv;R zmTdSn`Ti}8AByY`RW@||-5aEriiS?nsj=!=4gJxaLaPR`Di#;`%fvppfY>{P0pXJJ zNL+SM?~ezAEU%4hs`;664|M^~5bc-{<1lokH&rkBz}FV&!*WhCrsZQ~z6CF~cfj?q zc1)mIAK;{-uG~4H%P1c?Pz_&P>Z#5pHeOmw@f#&0MP!!+PCHPXUBb2rKXSN%&)`Or zzH4SDEYK0@o|I8>h8E=5RH6_+SbS$Cym#!@;ePN>{r8$c;e@nez72DfL~DyNJy6K* zv$bEw^Y0r(CYT^{wD;mGk7iX2GCSTkqpoOq(*7-n@3iGQ2y@brnmZ7@$~}jYCNis> zKNzu@GOKh4cofu~O5{GhkB*PKonM<)J#0UF=9iUY58xi=(?LF5Ppj@!zs&}pW-?Co z5DNK`hP*Od zTR&_7cEwY5F{v|2=iKj;kKMw8udZ#Dh!%+qesaMgzHFrQCOOQ(&lmH$IbJ*6CkcIx z-!aCsb0gydeSsDtRDS+O{&=zwqvBx3*BX&;-(+hK1!(^rC`Ir!#$PQ|azE`mL5Z3P zEn!3ho}o02$sSx=B4J8SE6bz$RIg%K#TQ93HMckUH2R0i9s(o0;zl!trJ`=#F~0>| zq!#8k;zfF3*CdjwwRCyP0P##FJgO|9G96?4wIVfP=EnG12+SY$+|27?j(?w6BMNE? zqv-p-9<#Hf3E2Nh za2NVt1b6iDAA&n3LgGZhbU@JIFe^MC7xFo~iRofVctRI&@>d|V1pV=F# z`spI*6NYSRMzn``t?QU2cfL`>&jAh(un?s(A8RT4Cj2F#vlz)#CVzVIT5-GPz>tg8C#x`~gHRgZb~U@Y zSbz8pUV1VKxWwNI5yoopVc&gHWuyJb?$t+R`<-P$-B^mdT&_6pdGKxS#CX$a%{J&Y z@5j7fD;Ia#=x-Yq@~l(45FS*$0KM3fxm9}WQt3?Q?Hg!Zsub!0V~?bP~JBW(pq~G8rR8%7m-!{MCR+? zZg_YDkrj1Ik|!7;LJ?c#Oam2@wqYy6p%eBDv~D@cOBPtGRuUSjVK#i!)qvL(@Hm#K zdyM?yKze}CvP_4j=O98{wzd{aiQbmXU!!|!5nUCt@$0 z(~8kYZH&3JBeGKyZxlS3D7VBcj%a^EeK+d-AZW1ccuIksOd#Ip)EdFGyoTs74pUApc0YMSK(7b&bitJQ|2YPm(MB?)D5-TEpaH zHlbx4z8iHFDhQh<;Km{`~-7g=0NFhlcBVkM{J=sjBD{ z+TQEsMq_N=n&X2k{W+y56+68!)l~d%kf*^9*Po;gE}v7$CPsTF-?`wDMwfy+P)eOR zxB%)*dV_n{%HCW<7E)g`1v^m|TDR}W@Pj6M$2~R6FftF-83kT|jc1(yv36TA|AH(4 zTO;roF|u$xP75*SPO6VF#-8GJfXlGOOgk{PxOdl-Ot=8%6+ohr!)4X|i779Fq@*I8 zg~y1qAGfq1_Z%<9MUKg-22IoP=lxbt{f0;2v5&+icePUVa;aM;S+6CVPtH|5XDGCK# zYJIP|w^pHFXPX_rjXWtBdrFHF_w=4nAx7V~=^_dKd)w(L`fa_w>e;ydh4P*FwA$d3 z>z?*I*-9tYUZ8Y%9KT>f6G=us8xZ16vCg``xi8Pv1r*WKBe||(cyiEtD?a$edwl+O zS1UwUK z+PU{J+0t0^b`(kBrSLCapPc*l34b4moHJpr)>Cdr$M}=2$tCDyyV>*s9biy2<2Ima z1B`M;d)l0SYJuBng|GY}iEPFt$$bD>uxZ1j{9DYg`X%PWUS5lddj4`UihTNd{)jFvkB%D4KI^e#67N_P#Lhmg7l=UlBJ$N4!nTy!{ihPz@fy!Df_r<*2fIJNdPF$|`i`KHNhi`hXj&C8sE` z2eQqkW~p5$OCntRJjR?xw>q<}HvD61;Pl5nuFA%JT(cYsD~;|$MQtX6?v|GRn}Mva zvFgv&ex3jMuFNm&00`zOoy{zAJfNs%Gy5~qsAM3?c-|=i1U9Xc;BbAPF3tawzRz!V zqwh2Qq3^#t)r)LoP_K5*nh$GPF3`$$sfYV=1zcf_{fXu;&B{A2LQl4C|AkaunSTzu5C$Aok%}gcaR+|1Z$@@F#i-uw zw_HrVj?%Kq8Y~k}$(w1&p8{ELYcLruCU-L1_S~!N&sGCeeRLFu7Sw1_4rWkqhl|Ha z77^KCB>{+UcnXWa>JQtIAa=ySj5OnHPhR0}W(i1}(3Cp%co7(Iyg?K^I z$qE@F4cz~7hI(6~xk>pLp^m)?z%yW(X_)+k&jYf`%MLMdtXlhC1jWBDBQ*or!4Ie)^q zWiGR%-fDJdT6RH`&jEMxB#X)~s|GcTn>$a-Kw!*OxgO9qX`cp7qK8>TxvtOo^i>Ng zqaQ$^tq;xDZ@}uSyZ7zazSD4(IEKYlfynQ2-Ryz5cgCN2&iA+#7e#lbo!N85qJpKrbSimlyg(d7{6mlgs{0B3y@Eo4tVo&;j(vMK`#L zmN(h;FXWNkj)kK2Iafu2d+vq70thq90>`6W^J(p6&%TY^|B-J`)smwB;Zmp!p4_{NJ{?%!Gb{WC#ZFf^))5bMD( z_09gD?_I*LSZt==oOW{_YO$%uXSV+`5M*(d*<8GNRXeLzqV7>K%5?aX+b3nlUN1KU zA&F)td{=Jfu7LCj0bHR>E(DEjQXBQfu>_8{VuiIh%D0f=3UUS}U za+8BtYcVbvH6!Sq4c`wTt4ni?h*ti#i3TR#yM1`&&XkyX11fF3%dU^MzvymgPhW>6 zPZ3{&Xpu#J(Zelw0Yfj&h4d^>TA)yb@vK=d0-0OQCh=!38xt6o7IRLa1N$VMLgiyl zabzps;Oo8`7YqIs`bYHp?q)ue)0cbf#uRNI2)A)&UF632ZWZ)=jdzR`pt6!f=9goz zK)(k3wnh$xOt_1Ip@B{GZ0aQ%8k%R3<_n_d0v!RepLADn`)`etHoI4ml~( zpiVga!;)m!zk=AUyE2F-D@i_gw7y{y#(QdsrUM%@?sN7M1ChQE=#7@qyKNt01g2&E zZTRdt(v^vZxmtLLffZYt;kBlXM4#KyK;yJolBP({w}J$yP&kQYr6Au=PD?}$pMpxFo5&hFaX5Aq^k|M^ELz*EsZ?G2cKqrtzme<-K>C#^tKKFlVYcEqXg8(HQ9a-#tG zPXTpgjFkd5`He>Tfxh&AGlyTHWcEeJf2WemGxxCA+GEw9QF2g0luQ|(dyBT=o5hT` zsPB13L@5=f)s==JC}{un60tCrRlrsSrGVV+;~~V-C1U>rsnurtNL1N#ciRq<3e(lj zhoCGoK&*+1b4qQc@v@GiO+1^eA-A&Zr|}dW{P2^9HL0-wxi=Q3?AbA^u{jE%eCEn8J$R9U;vO=fo^UAc~SxH-APshnO zlHEH#4kg1`AqIQ!=}2J=A(bq%2W-kFw$5e6EE4&zMDyU(=;H1TsGl$8tNW8vj+Gw_ zXHvLU=yq|OSffh(y-jVA63~>8%2+jR6;>POyRqi!j5E$rBFxYSUbPtk+ktLO&Gwfq zk~i*xuN`MtT+6bVN0ZH|pxedkQyaoZQlB_c%wMvU$3i)zGnf5N_cp#1(y`w&)ppMs zIRAg_eRWin%^$Cdf;1>04bm+w-ObXSN|zwrtVj!jNJ)2>bc1wvw{&;s-Una7_m}tg z|Gj6=@$6aF-DhW>nfcDA2GO8hjgLxUSBn#K=hV3G>Rk`)`5%rRB?{J+?wqseRiTP| zAWff#(;a4~3cH7|8q}DU_OTx_&wT(GRAy`3(MMN8lH&ofsswTOQl0CCP&dRf#<%8W zi$25M9?cK>mTZQmM-Bd)gy7Hj{mY93;lPbNaNM&{`KNRL3-?TjjRNq^*fm02kA9DY z-xvHBzxpr#3aLDjH5M6T3s`-0zvcfgPdtqI0FK{y@7ezUB#j_M(E?;USXy&5@qZJ) z{Ffh+{16~5QW_+ifi#}~;rjV(0adP{ty{4p-9OOJe<$nz{`~(p{+~JhUwh#{Hoj0S zA248L0kR^D*^Yyw@ExKScOCCSToUQO>!S}%w|x$s3K*Xh@{^YhdT?e%+gH0oUX>IT zNYn_4Q@A934I`68`h-PYHmTNs=}>aYCc|>gP7IK9Lu>{&MmBH&dW!Td$wk$f9dMv~SX%8&nS=R@8*q0!ZW%NV;Zj~>3epa>- z9LDvoRW{=sFcEI6F?7lHRepsBpfc}SXz2c%kwe7g`3?&CJRSqU_jT*u@SxY}_ta2X zUzm@xJ?*UAvlYCRJxe7MAR$|7r4(yxG>zbg-%A7O0_r!ePPvNoQv97w(7e zql{W0Und81ku>y1;wx2NQYe57$&DpF)t0JzMDo+L~pV_{KN+Hy4u<)0j; z`6$xGg8}5o#_n?%hDu*x{**_ADE?2EXw-u)XeRP{{n#Ffj?(6)^V&6|9xQ%GG@@_| za@|nOu*(!)MK)I$^1B~B<1%l$PjamL$V=j9pVXz(34eW&jX1Xk0%(ymmA-h{0>)Nu zCPApsz%6e{h3mTKw{@!^|S@PW~!j!w-qDwLOFzTKyi*{*P*f8D*BG z-;~9#u`cxNUaVl$gdyyn6%iWGU6Hfm*6ByQ)P}tcBY%8yO({KnW_vySHhN8cUO^hm z?e_=#z!d*!L(S||Zvqt2gUvMuj~?mNCKfc~$BuGL)`i;`x3tqqpvNSXav&xFgiZKz zc`sfDfJsc`2K-SsUH-aneIRK9#RK#TS@Olb*2-*NCR0#mnEl1R?i)0;1RvL~8n#U@ zY(#EduJT5mNihN)lb|fs&#jEea3DNvl0T!0Q2k!-aBAMwLY5dgj&Mc)krZTpWx$1V-a#pRR`Ih zKkq6#9#mkqZF+E0uV`!^TPAY0YZX!)JyB^9cE~&I_{A6H0cXd#U=o&3i#OGu6$+&V zR*L=T!!r^Pkp(OM*Oe*V=0M@LvYVTPO62!p0!*Lkp`{3ZPcz9h9zjE6Uv1JRt#1Gn zh%h+8Y#=8i7_m>UKw!uX!kzU&A3UKK6BfZkU+P&Bcb4NU2Hu>uDrwO3D^ta^TsbmMr53#xl>FESmeJu?v>Nq@x3qX#@3+rqw&S7I<*D0OBnu@s@hSSAq@0gqc+=;2u3b;oHo+YFaWY>jdceCV}Xp1@F^J42Pteu<$Ek*JNU zh7T3XE{!FK48z9I1=5E#M2SC_@R2nU(ArsQO}mx^}aX&9}UR+4@Lo_049&G z=jP|;>X*?z95v+Qy>6A=yoGMGJ=<939^F;C0Pi*op5Q4=2>)D^gAKvNYy0f6`ho2BVh+-WhVzeSD=f6+z`fP>X_bPjhfxvw>cy zj+T*S>eX`g^DZ{n&@>cGO5Lo|o7pq!@T(+t|Bfsta^TF!OGi`am-nL}{qiAaq!i-u zvskREZndMT?=N09=_<>0RJ(PF`e!E?;-I0%eVH_&2zfL&lG@8On%(#~A^(8gB~15| zMl?HIWD>AcDY?8-Fir<#ei#0sYUVZxO@O#>&AX_0FnK<(nmgC~Lf5KCCGBO(~L!3~u6+Yt6i3 zI}-|KK)C#;9`%qBNrW6+FD+?))viCvz$cZLJ3fKRls=WS<|@l>u&z;iqq9ZBOD++w zj!}EbNILkwk&qgVI7|`;Zpk~U5*!HV5D$$7e-4|>~33wMtUzr zh|jYHqzJmNuk@~s0h!UEC*U(v#&hjh?VhuqqqFSjMB}xRpIEBvBel*^VU~&*EYUMY zrp=2QPOyKv`FzwPPr)|++;>{g)%uj|^Ls0#2 zmkbfXori*j1DR!u{i#?!EW&;lFY(u|8`S!sE9|*E*^uL13ASqbdGGU|L=?2(ERbQU zr0lR$OPa7)us-it@2Bws#G^}AWKJ`rb+xEKCv8?;JBdff8JxSvR=9QGgia=wsyE*G z{(!6chCA^h=fdr4C2`~iUGB1AkX6`AsW}oja41&TD6_DRdP)acNljU=BkZ1Wac(IOa1$j`t=>q zm$6I2hraXlw?{RxIVx1)I=$mb;0E&=C*a-Nl(Qe_qDObyd><)sa*H0SyarRLZDc4X zt31xdC?oL>32F_ zlKwVtb8mKGkO*&WJb~Iy7#Mq?g%g@Mk%+?j?J923F1MN;(vRqcN*c!`_S7wJEeg_Y zbz@#2->-yxw{G4y?|)}HnHPZHA9MMn$>j{8=oTy9b^*RQ5xi8FxNY`Tgq0F=H@pk*UpHmn%1 z>%eXi#9Zs!Jnd=p9Q5JUs`{LWjprVs=24*C|Cfy5M6)99AS{z&vvA?yXB8;`%2AM_ zk?F!KW#>g$5dgCA{+VF}KtA$qXEmtQ#ZlH+V)*RNltKm69Zx=Wz+9(_e{vb46AS%L z6$d7se7;}^*Pv$f=(dD8I#?%8qNp~U(HtKM7MF%Zr@YBnGCyfl_RADt`fbh!Ofnx{ zqb7)7Kond3C~-fx1>wk$^{fztqeoAEW?ps@ywooyGKYJ7-^~CDM7Z#Hyu=(J`-9oG zZ^?dj%BB~OQ(pfSC!&9HSm%$& zn9vwUh8D*!Q}@GdbUn?%i6E~rB~boOAhIAH-*{MDF( zjbP!+D>~}GAT80C{l4z>t`-nQ47K;Hrpj29A*6GcJn>GCK)VyAqc8yY9GpdvyfKg4 zPf4Rw3&eepCb!d>Jj zh7j~O3*o&Ljxmaifr@nS%2$nh>0bT-tolNMd}>ygiQX07DC&+Ud-%r%-&$m8IVhOp zVkPD34K7nnCIIz%|2Gj*f6xk|nv15Yu|MhZffYysCq9k|%{!g=#{CuEgQ(vH9Lf{e zFw60HAc%_6$YLYKIb}~Sj+>r+!H4X!%Y2_PCJ<5u6dl+%f)Am7nC7`C z)bcb0HTR%>{AI@1ddH5)X8S@w#1TFEN#|H1T|AC{Fkr+_ou_+(SnF#DoQ6?G9Y&?c zdH{AzxKKi1-A>vTqL%eBEK1oYM9v0SSM$0=a2HB=`6NSF1+kP5e^OR|^PQvsXfRjo zTYvsDnD*$d-nn`=y%!{gxvGN@QcNl18$2yuJ24eeIb)u>ML__L%AqOneYYy2Qu0|(7&_A zkP!bEEjbe*`QzS4cn9f_WBZTJeG$)_(9BO}4pHbBzr0_=_13J;`%6jYP{7?q_P4t$ zK|V=5s`#~cUm+$bJ2UILL38?MFZH2CxGjhu8FI1p}6*l%~? zJZ}(%`dA2A(b8&I7MpDp&I?6+brhYt)25z!ar)rP&s|6Os6TU&ge2!qy?RT0K zc1>@UGFXDt^dz5O36j>6@rOJ4_rr z@=Hp&h<2_6#WLs2Ben>6a!-_7A^wu@Rs-2EptndbRaIY~j=q$VUi0#<*nh6xj3}b? z?UlmQ6SW$RcRHPE-uc}0*`tdX8ji)jVD~kyVcC2wM?j^dY%!}8hhvFga=B2kXQ_`> zx%^SR&HM%^lx4froU*owfjm9h+)Sm%+!$9S%cJ|zcrZD3Q-M0Tx>}oMu`7rq_>$k| zi&E`6@pew8VbG$_`lij_5g~6r`c1w+F#Ew^MksvIjUlr;CU1ySvf-Ci6F~|_RU+Fe z{7EkuC(U#t+qHRut49I36(!sZd6D{9Z&%xTUA12e3ng{*v0rZCu#f!{$-mQHPmp^l zGRd%si`#(u>$`pw{`T}+)T}PL|BNR!Xw9wKm6)xUN20Wfixuu#?>u)K&*|@0Ps}uE zoSn)J902f!w+I@$ai?uSlvKz&qgYpq4u$08q&y(W$aJm-Gjkgr4%C)UPOH(}fbr`~ zes-xr0Yd@HlO^+x0`O5|G{ra@wVsL&e&8%NvaZEimRq z0Ma0;Av0(Q`58uPL&0l$d)MJ`RAZi#VSjF&xvyNULN3DCp79Sb9Lru#x|j0zd+4iW{#}R3E2yxlo(VCl1!zu#a=O(X zAe<9N!-)9K%Xhmx?-8K(chkQJ2#jL)GG6aL^BONG`+|(vyQWV!2Y2YGSgJ%{%JHu;05#vQuHWR){;gwvLLJs( zn5O{2wBxbZI%q$4r*qnB5$v{C=#AHr~)QahcdrA8u;Hf!!2OyezZB@YkG11?PwK0u8ahGy(cu zeR>+;jPr#sp1%{cKUV*luMeh;{q|&D;VTdapay`uzvBQjT1q*UOeO?pmxfn({~mu3 zv%l9Fj4uiy61FIt$V&ftlz$9BR~}@mddvV6!0dP|cWmjG({?(P8WGN;{FG?Lubx0) z4PW@KY+HYt3gBfM$5^805=u#`*k-Wi%bP{xo|jE-i9NO7`_ZCX%vjJd2qW5!X6yRn zMyrtfxgozPed;NBW9v8(s0`Vi1@xtNG6sE{K%!VP2Hr_ttYjNRJ#AZ}RSD=f`HnPjf-@1BYDgnTMtViB=8@e-jfPgVMUI}%J^N59uAml-9H7t1fY;g6;hjEF9 zFBhT4VH+1PE;78F@v26Imz!vwR!Hp<0#J#-y^0#jP@YS+BeI|9TAXfv+OSM-|B<2I z%X*sH@zs-Y^;+3}*JU}7nfElS^;6)rdwxB^OJewL*k3sE&o06rE~)^GNH*(xh=~d3 z+KZdSwqUQP2-mnvzD%bcuU+p*Hlre(R;ibN*L3K&v=RCo_6ox9d-eApe$AZ!`dsHJ zuwShIg88}akI4QGHo3=7{yg!>6a%=m%(Kx~M*kDVeI@`zF`RqX7<2tEK>QI2o zaVMh34!#@t|Js6oe?=|?kVnYv=e_Oy`>X%)`JOi*k2r*P8gRTLI{viuzv~3QPq%7~ zPnL)_zs21D?oEF_!h_xmxE!7KfL6WVmHU5bO5jg?iX?!3LDALh8`HmI(*NZ@yAlDH zb0wh7jDJVr{kOJ%@HqL_1Ddj+(G>enorNnxI5CEm3FK2tM04N)Mogc4{JGulbpxpX z?m9kP17C}Va4Q(395ndK>~PJ|J7$^xckDs^q;>UlRWVEn-5 zb%5pLM=9Cd6js2jZ5-hDI6zuYnOe{v;uXb@<~}Z9$mw@n0F46t5EqBE2BUKJ=DP{0iBw7_;Q8#XXvD@JEZb( z{414sVoh_lXCjsok=*pZ9U?e4Nc}H`9))YzruaZj8^qBTiw?D}HworKbkM78350<> z#P96WjSutI+S8Z+QOpqH!PlF-oC#!eY$!Sszt^8>G`&y|1>7d+zEJlH090&?aUZ5I z9#Njs?f;lD;BMsm4;cdq|1M(y`aWYIk4YDd9_f?E3oL+Q`q~P5NElW69qI)Pv4+P$rWk0h{F>Kg^Xo7@bUir2bv4^4nOd>(x*E z764T{WhOd*$SaffM0?IeNi#mDWLrk36eqE>4{s9Gw1H-)hWX@v0@-=~fj<(Ed z&pA@VQ3WwNi>FT7;eLYqsYTXru%h0nmKi4Ae9i@1 z5kd|%*NTb(4GLl6A4EfA;}@uM+TWT&!Ew8zUBZY7chp)O*Ib1H@U^z1rQ+CqsW>Xl zh(DXik5*z=Rtpv%pCyP-&vsg^pYf|RXXD__+>p1(goQP~R;zNyF&KBfIU>LwOMcll zJZl`n-z65y$bzVfEe4QoshE8UL#bu)dpn5@_t)6y{{SHx0Ry_{J+{`aSn+N){}7VQ zOkG_rU%8U-E8|I2f%|l?AJrmnrblxCvWIbYqC%Ni|?c0i$^#A3hGkAHAo2FG3D)-+gA4Gl^FHFQ3p+%NJSqfXb=#^y9( zaL%u5cP)iHRo|JKQ#F@hd$A;%Fk+f?@Mw%KEept=>a@BGgCImXdHkkdKfOS&A5Bj==ZHG{3uDQ~4T22YMKw0K+smCq5~(ylt# zQ7$n-)$&x@A(2bhM@L8df>l_qLDE|YiN}Xzb@E@IvBbzV(3>fA9z}^OpU%|SO1JQc zHRmjwp5o{1fYlIs{1%K{UpXK|?{p??hb}0l^K+J(9dR3y?Z4d7gip5-eI$q|;M6Kpu zcc_tnp~hrG_e;bVbocVftj$pqX_Hxbgu0M zsxCT)@0xhW7a-X_ie>5yM}_{ncV$W~h?YSD2{}c_He};FlOJyM0+4?1H|6~JibIMs z--lZcKZi-+lB&z2uC~=E=mElxZ9<_{4jog@Gi=!p20!SWWV<6-stG<DoKnzmPfyOn$(gr@!Mz&rzs@sBv zomaB`>7+qg=5(F4Tt;Tgg9^9hN5@n#!hK`UTIwwXKKn>1L~gE1CwdcCnF?>@QtE@} zDkRz*Zqf>%nUt&gsD}(s&BS3?bD0e{*PpRO%OCePjX#YR=wl)iQj3`^w6CBLjJ`^i z#h>-9 z+8D_CK^w8~t#DD+H;bA!en*Rix6GB&hq`2>q`NJ${B)J z>2T7RMK-pIo+wSp%8D7MueI9^2yix)TE|5Mud>d@KuQWY?nfyEwVcL1(Y=Do1Zk&C z1_~FMTaQBU$XlTAIsgiHSAdh;=Z>W+Gf#S}$NPBUCu{A-BnLWBsU#~5;5 z5O!MpiR1zVB*{1uxg*qWoan5|hZJC=z-O#(pX(Jy`wlSuA@T{U&p+4|w`pK7)FWjF zMs=6f7{|^#PJCYNd!qKKNuE%0k&aQ@uwN>Hn%6F-G=8BrQV1l{y)*W)j5fi{lrk3~ zdg*;XeEbz^Q~K5?$#~Z1yVh5-D%NyyuZ6Tncv+8WF-?kA((!8;rCe{itekgQt85nt zTY?fkSYuMAz;N;w+0mYt<)&_UEz^UN!dMe{T{?3%=;ixwwn=>Qr-eHitDCc{yZGDM zt3~*`q~${DSFb?MwJvN0*-F=iPH8c@iJ|sOD0*vQySc4{t_dpXfSF+}R^Lvuzab7S z&cVd+vZBJhzT~Y@f1t7Z%Sd~#*2MMvD~Y!R9D3X7;;TYX~w1U`Df5bl`Y znqUM&KdUyNG2+y)%X_wjTJ>I+w}Y-niU32g+B4Sx)KZG_v{tXG-AC z)yDU8`xy!zU4SU6vn_y3&ZLXKkQ8>{_Y% zp?R3OZl`1{W8TK85;SPPZV>Rp+Z8y<%^kL4dUZox71hgUde<^_fw!sHs znE&zQS8aTo){qy)VBj{PbxC;7)66Mc z-61)GJKQ5_Wb!?u&Fme1KSK0iyrVp)gCpDStGt{Q98wt!o;dE30G>QmU#)X;Qvbz? zTHACL=dQ0VcXJP)A`wc&iJ*}unLq!b0WX3YLVP*_Mmxjtp2Cn!9)1eQE_T=IG#WA5 z8Eo~OjPbbTIjXZ-P9eOMfqK1pzoMN;E^-m=YR9wM&y%&TG)LtQS{6(bEftw$VN zt&K^g^qO$4a+35z7nqgIhNaFy4B>!TbhaUsCmT3#0`l7Npjk1$biQ|j0({DjgDc`= zj$$7;V=WxHn*y9pdtHuwnW8;AYgtJQ6gSRsz!{gEt>!hUU68l_^hb;!LuI(*OSN<6 z0mxm~s68?+NbJS@3Xzcxw5s|nqa%YmopUA^yUq!72;a;%LLJaww_4Wc zM;g(q4l2?y9(^m9qo*IsOi7E?s#;q%=PC`Wrmk;&Xmkik`}q+61=L@Ud2Z-&(rCe< znTgj~b^FQH(gtw~NBNd+nCf+x(Nf99CKox=)Eqg=td!A#aAn9)9CPSRkwUx_`nRYaKBg#+39*1)tr)=jmEB%R5N6DFRW8L-G+P zo2Lnxr+qmmw9C;~b)1&$UsENFDA{=GQ{$FLb`mNsg9OP&W4k^-7qN#1ZQlTOO4!)z z^W!RLki+uow+y6t_4BDZGQIC)DnN~JbgGhXMGmji^Jcvql0*xZ8(vmh5+$Q3wJ$BM zJ}}$<85qpk`r!BD#}pn^jVIq2>bQ5#&1Zr-y5=7g97Q<}F9Xh&kdf=5g7LOOn&b=2 zn~HHotNI3-;A4aqsHo;Qc~ZP`{egor19-4wg6FW$2n zn?4V%g8(YgN#xNbA^iji{s?2#LKMM2KE2 z(;n)2JzKV+5U-Y_Qzveug;WhfROgPJ`)n0>`r-5g!|h|wzKzcjo0+(@OHCV9B+e)| zsRDLZf#HMUk@*7S4S~$4?13%8_Z+2DU4X#7@~fl%;s-(ehO8%hKr3l97<-c^g|50! zG>hJ0q3zJ$enBc_VBG*sx>0SM(K&ZLB@jJIOEO+ns7p)_rrI+A=|zxkcRd{PJb72V zR4kA+Jqvv1mt|xtdb3=TeSZ?^5L|l(p*G9etI>@8(v1#&$IM_lD&P}i~<-aIYD4A$c=aq7V%ODR6xZ(!vd@2b86 zL0WE%aD0_dO_T^(YG3HAW2sj4hJ6mHXd2^kA~TJmkYfXs+8=0}x6r-OvwrPEE#X_D zc){k07#&9QPNWLmHQqV0ZzFq>`q0UjOx!h3r7||$XWZPRZPXl&0 z?b_JtIbYH&*LX2VeoGbnbRUoBK=oCU>arccDpthwnX+btVF}hPCUYWWy|o{sa|A}I zwfA^&(;K9;AyIT*_xHiAtkjm9H={3#HWEaUjl1ZJ*SkI9!ais#wCUW(?w@Q&y!4PmrK!MhCZs5{RM>X*rbmjKvC=JeiKUA+#kmO zMp3NU2;k|`g(wvi0PWz&i-|&Op6egbAQe$nEM|h~N^z}E8D+M_H|O<0Wqwdjn;=+x z!OS)iRRkew@xuz(nXBvF_m+<8TzZM!_O<&!?rr!k6_UZBT=9eh*sZI!HE;k?^0tC& zr2%5TBvcM0U6Vxw)3d68VG45hzh=+o7ni(z)>Z;}=0tyD#XONl3!^9_-H;LVe(Pf} z&FLW=SXae>YOa?ss&vQ6T}H>-uJ zC8MRBnZvbNttyvmxS2|Ke>&WmHn_8AX-j6ytv0IdmgdMN_j|%}!9)W3Z(Tp&SM?VP z%>0?1V~-^AoI{O7=}DWd=N^_!f-8g*2OeTl%6(F#VqN*r=|r<^`4try-yt%(PU*d| zg0$|qjaCb!vlX~oJ3iw%-V$8`1qO?kSta|JM+C%(cUFWCep+?%_1>JrFG=SaJTONH zW{XC#+fzBZC)deEag2iH@UhqFoIRtw}nh@QoXBd{BBNh+N9M?GShaQDRjz&+ewzP+SqsjX;=MsX&D987SS=r{Ajr(RWvQW4Y*}+5Umy## zCRD;dbY8iY-{hH4NC52lTJ1H{wwEBOS7YYym9S{)O zw-u8In=GFSuCqZw{x0cGYd}!{Q{5=_AXi&-xSB|}WXK(xG00E2w@p4$F zq$tCF&JrsYkolrX$V&a2{@gLkM^?r#$L94i1fcpr_=yQ3_xC0b{N->M~;i~$r^`fSfp9aa+pKU>90nr?A_)@}KmQ8drM%G4t!9=q^&pyeO|irTu_gFLbAJ;%jq+2PAc&c1XvQouOLRRj zf3;(m&yISDw6iloqQ>AMX(C;MK!HLSC)(SvhlTBDldyi}HR z!A)y>`JZ!W)Y4oWF7Me83p9pb7FTp_ckBuT{V0_*G0ose=ZNl_0Cpk9{VM0cDkqm@ zqLMv8t8bJT$4{4hj`alTGyf3Y`RAQL`UDOMPp(6p7CDm?Ni|OQ2pj~gXZ58PyZd3s zp;*0Q)QPFc|y-4sQaH$O<+fo~-wy)qX zf|*b?|Dr{%#$d&+OeRn%+v@DPOm?fjIMFTI)bCuW8LuXk)E&5KN2v!!3j*c0yxJYK z*iyEt4wwxpMevj+HeWC&@Lu~mNAyUYT4*br{zxk^#e61RpMXvw$-axCv<&Q}OT$bUy;jvi z6A%N+u8TF0wA{4^46~Y`-zxDe^f5&+hDt=G3$Kj*#;HxNvLv3v zl0(bm^HGRK!(*x2!uj^mXpLZeF_+2>p4zAnS3e!7hs5JSYt%uY+$Srx}WpiTo>^Wmu<3$;1LFr&G z`y25y{~)4Mvm$1Ej+wz=ywzX{6}M&XE$h*w_2*EL+f1ch&>*||ZhF)0!D{ z+y$N3+-%}##?LSXKGT=Kz-r;?XR#oLU7ILrobUVM(jyH=T?dY0Ep*B_3^ zpp6Zq*gbBAt7|-rMk*H@xcqe#jWJ6hqt8*YGW|%5y=}cP%pvC3NbJ%ag?3}2Uw+oM znZ{R&wWCjE8(Ot9ZrN$b40O{^6*gm-H+CMDKR5bP=M*?!d>Oz^Efnhb!S420x>Ui> z={*FQzQOTwdTIhacaT4wo^X@fBht&r9Z(q0upM+|fKxJd8R{>rSN(P6Ockj>N%V-r z{>stUn<}B^w2l}^qKRN_ewz0glHLUV9#&0UUtCks3WKNj;P->@s*SIx1Pjj{20v@p zWzL(EX3pLTCh7pAzaDa1pl1!)56aipIIq5qH~_X_8_V|a$$`6S2w#%TzT>Dw!lQgX z)=DddZD(UJ?zC|S@A+@&*iQOa?`D>~VAVP%KJN!Nf@A9fc{_g){QAb9+rbaj)|kRq z^Oj<^i`mCRxUON+Ez`PrjRV3`rB6O4M0GC5RdPa(`0G9f$>H=;W2FWIpdhVV1vU<2 z{c81MdQ~L%XLf6Jx_6c3A(8d7W!)`UQ-dofZ~9#?_4>~6zd(Zn9|8}Lc5Y~3JYs=p zV!8M<@o!O_&PMC5%rq-ZEPFa5AbB{EXdg_lTiZ-!*6`&7ZExsQy^sT}na@#*eMwwB z@`=B1VrIC^z-FyI!fq>{6)QY<1~|*&ME3Zj3|>;h)~C+%H{OAR`aO9?Em|X^%Qhp| zHN;^&G}<0Tj%ad)PWUtRl1-+VNoGE0KGq6_rk^uIPHmM|_dQ)oOa^Q@3eAYq#3IEj zFP6}?vbS0ejh2Q|apM+VN56G4KJXn~hA9{%w$i|$RcC${X~3xh5yA}K$#_w?*iXKk zqp))29ab^cmq50w?j0uiCgrMTBf$~#L+7*dTG4WdxF{=xpI*BraqxI5q=I_{i8C?_ z*s6zudYwLnXCU3=puuBFWA%9i$Un`LIfILb45c(A{Ejcn8!B4*b$QcSNBO?iikIsymy= zYU*mb-7x_y0o#Q4s+B$ar+XhMvS(a!H_Q(gu$UcwmY3lLtAa&ZhJZLFXgk`FR>jpJ z3A?QGb~UQe)U`|xvxvcvJTviy@l{IYAd)4%qi=e&!Ag7Mk^dME z*nKc6_+$4_0Lr!OtwH~$B_(csx}NqXpmx&!4gwgZ{OGXv3R5cGY^*>|WQ{{)#N`Rw zGK&#gsW;V_f)j+xnNPz#3WOQFoiYyK)1q9b4IsLN$&T zXG9Cv#&pew}M^lV;SDMV~K>77ZT30}l= z&!(V+=J_l8t3IlroOxEsgXtu0=Ir^^PUCIOwV z#LsoK)M`gR$(jsh<@!YE(d{>jCYY-&10qM?B2x^%-6)_UtJV@`kiKxpH>1*3DMzEW za8;P?qSGH3OD#LOz^ZObIRI6ym3KX=y$L^5z0vNczKVHeZA&+l-y{hhn{2yd{btD? zs_o4gv=VUbhIbp3GqRD*O@~&qsc!(lU^6GpaYa-_YaHW_cD)q0gn?}*scFw4K|&a0 z@@s*CUy_Y9WHh2h^_8)y*ZaHFxc*z_aiWk~t+R=fXn9Tbb)^AJ;!^PxMdyW;oOm|6 zCX>@a>-ihV4Hchbqdw(v@-5F71;uH+|4kdM#4;w{QtAbIQ6`zc0b(=eEA*>}WS?uM>KK_i-0F^#9- zM?&6#j$s(>TnT)*!Fgz^M1eg;Ct_bbSGtWalnDclwbp*9^H!Bt9oFk8>qFBD;{iP} zjG0P|ZcZhrwWHa0iUo6z!%sI;8%jF+G}7Y0!f3ok?9F@{pApxJ4%s>`O~ms*x9PyA z_sa+hJ{rI|6r`>%*_~*R+$IZ(`N=(!+BBbtgZXjoG2|i9G>)_Pme~6i8T*Ief!rMI z@_}Sgwok&0?oa?-h#p$2%~6P{eh!M8zxN3Pd>4Yc)t5p2jwQk4#sFNcP?r;Mi-&j4oy`udhfp4`srnP`6r-d{u6E9Tw4aZ4(s40n&>AFAO0pl2-Kvy(E+4RAP9 zbX(=je+)7&0m2l)7n3#=+oafCOa`APQQ@*|5X!#zINi5mvs)pRW~SN>wEfC8^m51$ z@&!02NmN$~k;l#t;6pFS%0(S#NU{dyE^yD+VGB&3>wV9)2G0oY^n9)V&Y0{!Rn(6g z5~pLlj7iGHR4f@m1{KHq>_xT}@gl1p9kPL9qdU)=k1U%woO=j!KLrM~x0SPzGU zAD6&sO|8=j6#Vq@;|0@wwU_d~abCchA4IDD7k1)@`&b|8+V3_%_eB1`eIn-taC&n8 zyO`BR&FngE|4i4oDJJyc#?;RYF z93qp2kuzSSm2(~?R#am+(5shhv+W*9M$c?1+bc{q^7h%7GcrX`4w2<5|r$Ak|a{->uu$1qGDf zlD(Nn>1W>m(O~%!g-sleYGXWbfkZ;Y$Ucw!bja5|l(X%fz}=^Le5d?yqcMIp+i&{M zpL^!^7^NR=&Tba2l+wLO@jzp)+_hB(a)Q^%F8>kDWNivlhGVH}FGGhnSEpaOK6SlV zHfRB?T6;|`YCllS$(FmK(Y40h6pq_D_H`nDm&^G5GR@NYY?HcGs^I8s<)dV5Ha4F=PDt$&HzOb)UfUHK~+P=C$Qx$QPC)xLWKQZD3n; zf3K_X4f)R8O3JsLB}dDPFwX9Cart;tlEIeRWs1|L>MI`&D8e&+%P~(a2T04~l)GL+ z-8JLo?XPpM#n?^H_3o1B!1sRc7u4-?sp#o=;+Ka>speyTw7zY&p~Yo_(kEi2agFN| zn4Y~2qxwXXE0Gis&<&c_l?Kjh(8(SIPK<0};bjknH&qYoZQXa2hmJU*g2&h4HiLR+ zNiLMv+4kDUuPYp)gX8J(k)$LEw0SeU-C`ze*^lPTb(_Th>Rk^)*ubf6I!G_lTI#M2 zkHXkhpb`&pr26IMKeKP_gnIZ)v4AZ{1L$MAX{$VVkM? z`<=i!8$j$V1G0?gO7uWy8n>nVr{Cmd%NKeH52cJ3A^DgR5pu8&B^-neiZl5*gq$BI znj>PT^hxzPch-qwWQ|d3Wv<>ex|M~(w3LSN?tcHS^WY)qt>1_AYu?l^xecQq48N8{ zQOHrvWvqprU}jBxgHwJ-f&329_@IMffiyLfL3eOd^i*H#?7qLBUS&V3joeD2@$URK zJuAWRbd3xe3fyWa#1}f{e>2s0R`wq8*AO_1d*bM=TESjwIJMt!1#K=1Y|f9^36R_fPno_*UB7D*%|npor0zU@B`DUZbL+1T=%sI-+3``xxLs6Tv2-xJ~+8YdX(%kP;*$}6iy zgy9T8GB=9Sm*G>;AU`3x8}>g6XkKlv*?ht$ulp9YkQrM?t9ka+)^rs+CIgI^9WM8< zCs7-7`R?tnL=uO(5tn51({s0OmYJ5O3pv~l9Mf`u)6x?tedF67q^@!zW6x!N(>#=S z2`LMW$U&~$jpg+ydyPC|7_-HO#}FwoYDPWOyE7qn=*;@6qwV3{4Acrwm`EuF^}K&6 z2u=pnF!gp!xH%5pz>L8@DK`IOMx{DKa_HAwcSCyR5UP?b%HY232_fHR*Q-g;`WLq& zNAV`pC15yR1h8;-$#pxzuBEh@IoqFdyi4HpiJz@Y=LVH0yi#(u+Ib)m%@d%he|>oA zaMXVNa;DlgdU}-h>F^b#N&+e*alFRmJWP}PB&~4-N3KkFnNkS@=HO~CB7UY)nseoI z3i*x-%_xTYRfSdAV`j+_OBp0|T-w>G!)iAFG1;fxtum)d+pqlO^}EIQzowW7hgkS0W}lxNjVkR!i|B;vyIfd)_UZm|+Kz6K zz~r+N%WEiKZvA6u&yY@09e+oIwP`^EhiC+>GU+Gt*PP5J2450ip%_Ta64LY2ig*=i zBv)FaATYtr`7&B$)H+dM1Y2(Or2(aIdhE*w7eMx}5j^G|+yf#0s-fzmT{VER;b{FxT~S4Vb>W1EO%p zwpc$7u26{;;Ln5)Edl>E_@z*w5GL}@7c+Yfdjj#wF2xLr0o^Z`6HO(CQpgunqesoq zzZa+v2@f7cH@-~#V3?*1mW$(go;q2LDPthovN%DkB&P=TV{t+dTb8FbI)4idQcTK1 zP|FAWcplGD(3xb%*8~aQt?Qgs+r=gD#?YHd0fLrL6FR}k0bqS7?bvYl=g7;nFR*&~ zG+GukwDaERop$g=!yuOYWFKB9u>ANV8R%`NE%U6>;!Jw z@%nQoOKDA+z#EuDI3-J|;|uB3aoA8Q5X1S^*$QbM{#2+mq`H>`59WTsB_w&Wf&5Kk zImRv&^lhXP!zy8z|MCA}?=7RM?7FsL2?2u;6{Jz5q@<-wKsq*(0!sH*q#IFEq+3F| zk(M?H>8?#|q-)cghW#!s!RvbN`+mNAeB=H5{&O(gXRLG0wdOpIV;+m!y|&Iw6Zx^4 zm#WOVyc}h?_apSA$m6wztT#mi5U%WJXI$mKpDuiGZ2 zRg6&4bZSR=PVp+1={(tmmm|Ik|Bfx{bjw=jc4fvjlr?v2P!u(LlueJAu;A&&p(K9;v{Xiz>XyBg6iW+B^wMda z{iyLS9f{lQ8*rFF8ZzQ|h%km;XFqKWuES{B`k-+}fPK1|KB-rH^aE5^QPP5ow)YWj zK-a3a(zYwFYDh80MamJDvFTOE+Ha4~j@|sgp0r<6?@`#)3_JjT4c==^HcG8Kr%rf$ z%`CGcKH-pgLb}(WDaz*t_-cK{EbR&w91p0ag@tEXusk1qc1A60$%YCBJGC+U!CIZ& zwmE`x6NhJEZlTN)Jj?V+*Jt=p&Nc39cZBMl1MW$Oh>ZqDLWl(#T z`!vg6=joQUSEO$SONNw*)YgvQ+_XD>(jr(b=U0|oAqFDe8O;e#+p_XeKzNWn@jc9C z1g2hlL_dfNe&w;@~L*wHi>yZ+kym0laFey|VJYD|D z9$bOc=RDmL#laa^=JU<dYW!IJc*8nU7H3Iyj@ zUJI1z9OdLOps0{WeUrvr2C!ja3kQ(XFuz$5pWQi-S{Z_GAUDM!wc1@3G=F&p4hn zl!NZu^7H&&H$mdFQF_@)woJw*WY(^zO(%5Rkz(3K6>F;tG4a?lh(sJH4|YA@YfEr4 zoK&)-p2hTc*`i$DX!-#&OFRKIru0z&kYXsYz<2Z1>; zr<=$ioW(@CVHtOO&!PwKK!{d?7NWRB%Qi-RzGVF;i*;s|PDkwC%)(ig6cak}vO>|q zhW;eozJ(&RF)yb_Z~G4aG~e{zLd(O0R13Z{zI`mpFY>m_{a%vo?rC|cox>ho_5I8+ zZg`{@-5y2rAe%gXVN#m`^Ns<~FfHY7g?`s`S&Z z*38fh?W=5;4c|iJ)B4bE)*t1*xtpY|bb6uL?2k9Q%11f@9XUvYA!Ba+ywu;e@x?x7KAH zd8jm`>)1#HKdmc2)deAjG2_kAd{Tohr#b!mdWUc?9J5@{7>gFPM5Wr@8<5iFQyXIm z#6AR65O&5uah@~8XcF8rceE!|mRKt;v{yvy%96CA+|_G3IR~}iv#yCciOYf?zNBhB z*1ng**qz|8^Ddr#Xe`>?ty}gWki|6z85Bc2U`I=pdT$hn?BH*Bd+!(R{gG7qv3A{%UVw~ZnUO*f53 z61Q9A`}Reh#k+=f!7{n)Tc*^{whVuxXrrIeiMQjSoV4M{zagr4?RfXVa9N+VV2xDJ zUbg&$PZPxRMpId7_pDBQwfIHu3aT9uEm2HlwozThR_^PXVaRZ*>Tnbxlju&Ns zeQpOY&5_96O<$8t^o+)mTdpjMjO{3@yXY0R!K@xf23B?A^OZ_cJ8=7`duZqJ<%{X0 z?gvu%_DZs*9}{XNHe`H9XmIpB3aMfC#KOe>ljdZ>rv13}osy4*R&((Vw0iUjl_?!B z=SJM`gLLjm(%xJ@c08;)wP^`jE~oB(bR6)($~Fx8w3z_XIM1jNQ9{I;H&px?${E4S z9mUJ#9NewfMA&Y7FGZ%@HTY@P+QQ=-J?X$B&8R*@3uc6Mu^k*|qJKN^HHigWX4mk# zMDb193?~`Yw&bP&1e19&j+yq@`>Q|Ck}?-!rQDk9-Q95eHKI5Vt9A};{_J3xI6h)Q z#y6V0AlH>+r)Xx05EP!`X6{FM@?Y1xm6$d05Dt4((_Vwsl@N4@GVWz1SUQV_}FHoS-uLJzgUz&f$&xvElHav%IW0??9 zvm=I)R(nJXFUnq@I!y@O8AV+Q@S=kg6wNWl*l+9-`V?MnB;Adfa}OLf&K3_!vPC6d zzG=R_bJte?$nVC9qqX~p-|q_Ytvy=Omi^D_o3})qEu5L6Gj(vyj%7MRr8=eALKm=k zQd&JthYu{@eB>V*Tfr_MAAAQ|*z;%PKhn_zk2`2Z&tM;#+B>AL(4TTLwy<5hRn#w= znK)YKJ-=s>Jx`O8qxu~C_XK!e3R1^6ibrpwXl1f8GXjP$msGs76ICQ3C>|2Ft}gd7 z`9-S0(2p9vIv72?22BtO2dR3dLiiDyJp;zopT1|anxJRE;vZw9Ni-!UoprM3ZyN5j zJ&RUVb%;l4yA*4HctD%tIBHGbxjLJjH>-hT#zV^C)7Xc%HF>K0D1b*{+r89q(U;Sf zf{pSPg;u**VU980^T()(T1E165aWBb=tTX^CbGb~IqQ7l6{YnXE6SFYUd_pGNPC!7 zD!I8SIU?>o4rGol-uXoFx}~RLv>xBsyr}&MRvlvFa5v^#eW{vRyJQGOh?I4Md@x1nndI##y`&&$ob%*weQt`;0_6;@4Pi=X8$4v`5$C-v;ZqQG#GfaJfH0cy3B zCn{;JmaAI)!9z;RrnW)|F|em(yOpkSm?LA??4Bc^SyxoU9Y@jHVjCVgyE^xN4J7f8 zA)dxXQ;5P5I3JRP%V0?CU|uF6->)pTx9l}SWUg!4#~S$4cQ}tdvL`@jbIGhFpx7OT z6=Y*MDC%4{BM+mHiKG%bQe$^Z2R^Ct8zrqb2_8ziFZ2#4CD+K?PnY{Um2%Cku9i|U z7(`~X|@@dhl|tb)Zdy9;#LClQVuCWvo}`@E&xa!HxfLDq=uEs>`>%y~;;~rhs%w4s#9=#US+Y0V{gY>#&X5!)*Hg>h8x^CkOU4YfLNs+4zw-N9^Ru;g z@o#q-jCNdZ-`{|)tjp=UVbvs+X-c``j|`(6FVj8z2EEjPc8s+__7(bd1n$*`O0b`= zYdVDv;`s~+M;Y#gRi6fhodDm1$l+-v*ZPH&9eCu*0M)~%b=}K}euq0czvx01KB8tL z0JxBcxUzIw)92wvdbEC7@K?a^9a$5F>!0yqpn)?XMC& zm}#|O#lkCcV|kTY74zcjA;lX9vQINL@r56KlvWzpN4{eHey4q;Cx%orey3r~3*nSj z6uOyDqR{;M=aDco5&J0E=+soku0DBjVJJQ}Y19Wo$B$(PwMBM6zsUQD_1hoFX8CP5 z@e5TS3(M^t4Y8r8N>U^&ZRsdzF8}aRI93W~{b6@7kGQg2T!+9n7eSn;uW&s+Db!Ya zW>Ff|=Zz~bTDqMdyv%L6N19b*BE4X5;Xy`EtXp4kGJ-;)(t_9Tz}YVnFwrL{ECBZ* zIQOPaM@2|#*WNbO%fx>?7(A8hmP9SLfj#EeDbZd;6IY=+mFV^NTFQq|S$DT&PyNFO zMR3z4;bf31wYlS2Juqf=_q9V!s3wH^qAJdFyM0{D1*jL*P8@x6!T$OxqhIp={U>ol zv+J_O!j&Ogp@cE5YANY5!j%dno+aEVaXcDmR9P7KMr8Y>h|K%}-5>F2A?tj}PAuJt z_PcdTL*I?<7kH?+^$QYOrpxRZ4P9}}rs153b@Zcsq4Qgc9pPe{igJ=mKWZX2uy=il z`oP-#Q$xx=N=N21*Id48}2>e;@d{$e|EE9hMICY$wO1}DQ3t^K_%-bN10T6qrO_FWeTgE?wg1xlc zwRIjnkNYMcpR_IF+Y7egj(*^t@dyeIU(q;WgPoqxv;q5OWXG8xU3SDSztBN zTpD>#j@6pbI+5>!cNTPg;y1*WY3gXB zoT|2z{Wx(blEEG;Zf}47HtEwbM`ndF9^>QIAx2Ya#1~naK9lgLTegsv%7OuPXvzA) zFAD2dlosJbQt}X;Y;BsjUBos$e@W{*N?j49u(YNW!8wa?9NV_qq9iKwZ~6+0;bV$O zH+jCif21j1VVe>+8o10`*lzU93gp5(sQGs9&_dUKtSoR9zF>FRp7n0+tRQXB%%>UX z0I#xf5=7s*q^^OLTefr-x{vNGoy=fMhTQC~^%tD1bGm9B%kkAf@5tPe!83!OXgl&T zUZbt((4vAl&@=ItEHA#A)~S8#c^1IdJ_4ODY5lg!%Vg+|Y*vVR+QJeCx!9lPYd#jP zb|LTS%J2~|Q#b8D)cK(E7%T-xuFJihtg{?n3L1<ROUfe0)g>%gv5PGcIfB+9lMN^ zpVfvt2cFtQZ>-HhmNn?gwH~PWEm<<^H;LFU$)aQP$KWDTT<=hzDM;d+UleWZZ1Z<8 zc%aqBI{9|CK>8PEqmp?X)BwiN7FwAtKTrQ9+W#BbwnE1`8!=7@iAY%d9AZw=ku50& z8G+pc%AWx{#D@xr3O6VE+>uoJjIJaN%vLvS<1d_*rb}EfVbii*t_fjmy(X80TTEgG z5w)g{(7;L_;vT)2CAuXk3I@c&yDp9QtK#-Y^2*7%GnSYYCjg;v@;85+9gXuGz<;l9 z($fnM*`NyIB`li{Suwkpy6EA`19ytcB#$RV8laq=2t6eYU*eb|>Uvj?2(cP4lOG>x zbfiwmWtv44pU-pj5sT!~C9*fUJ;$HrQ26PcLG(3*i5e<+MLv$37x$GAqv_a`Az%T` zY=dlT$)<=@Pxda6`JN-(-p>iANZOYDU!|=|GAUzrT4@N%4FyB6&1WLLcQ#{gCd4)14Ie+ z_atM=+E;o6#Wdy6q41(hEwqC zV`PKj_}%~V6C6e`RuZzO#MP|m@eMsO0Xp92Pw+37{`1#Q@|Vy$m3QC0ZJIAjEc-}! zUr8=mq&^MsmVQk-q6rs_(ceq^zdWpX4yegK?F5OH{;44TT>D@CEBFuhFu69F{?}{$ z;|k&hXP4d06Z`RxKmM=(1Xm^de^>p#7y<9(yZ=cN&}{tbH~0BJFOAL!h)J(DoliVX zO3||6;MjSZP`l>auNfAeTv1K`1l1Q@3SAMOc_5|m&l#|P1>Km;F>~X_y*8#gHzz+< z%8}EXg%;zq{J%FWqj&!h1AMubLU#eyGJsW|QLir&P1ecvBn743*&D@ad(7;aQ60%) zX#)y57WadF?eYLGqjLUn9i&t7DzEe4-`=JU`t$&X# zImhyJq}o90eX{XSo%hST_NhD0S67x%y9YO`0*G;W6v*U7>fHzD66hblCx7P)6;=x9 zH;UAzuc|u+%#?u8rTY zIfv3fxrbRKiqJF6u^sbRmaO$~%My#?=p9=K87!L`XHP|`m!F8{_SK6>1`-C_BnwDI z#K&CeqD!;+{Q_U1j0AmX3Y6<4pO-&>G|)Rh2WMP~hNVeCOyj3^d@L7wb5(Ss?x~C9 zIa11US6`1f0B@Q33O7)jCFuI!V<0LDxpObY9EHE6k@L+TtysSaeGlzV3W844ufphw|4*6I7s>{FfhPFEN$-pB47_SPl$T0J{w@;An=Z0zKd3v$7~zr$yP z$IHjFmUh^R0JA)uXkIp{-TF_XFAlZ&5G)$U`^~gKJ|i*wVLfZHc;*H+eLK(EeT)P> zctdYl#nZ-km`ybg!7kRx>Y;&1AdOR2btJAG_K-Z#S=bX62IL)3j#?|&R7rK z7oWA$uo}Nl6{NNPnekugyv?PPAv=#Yn-YSh=XR`reV0yw2n-*WEgkiGmM&TTk#;E4 z^q9|M*)nKADi;31##<)Wp>_Vn#@{cB5vo^VubR);y=P6&lJ({(SzCJIHhmA#!Y7zj z#7QR2ylSh9wJ~f|h|FBC8;kDXPb&V^32X@O%%7vjkE{I3VRRB$t@i&?nrg+;%o^GM zbb~8{Ny<(&e6V}9>4ECIXrZ~yDj`sj#D?hCFjAC+P_mh829K+i>v|Svn(_sbu%Q8p zUZHzUFAD(>E3mniWi9RA%#>y8q7aqoHw_EQ_w+!0psdnQca2eu7^}YQ9gou2Fef0C zJ!9DCEMdz;m=E9kM z@HDErYvNu)iEFD`o6ckyVMZ7AVG*yn6OtT_Ck$?r4SPY5@iR7JnpRHc*Y|fcA*LZq zy`4d2uO}b5>}|yr;?W#JOW>N{R5W<$1&OT}xIgDx|7P_M#unax5?Bb)Vs87*>CbDe zG{E{i%beKnpX;uGq-iBUF6SkZt^}zxUKIM;&q6(`K%==^xXxXH#*$C@lSMFtWmrk% zJ&59sOYRa%>$+J0JN!?KexfFL`J9Q!D2|hkHC(QS80gFX+UL1ecmtkIV(dw`66@XE z*nHBWn`_G!UK~s3dAt9POD}759J8yHUg+^r+9#6shw`D{*YyOWC~kunReNQOdnv>e z-(2)y$D+Cfa@-v~;I@PA`~`Y&U7Pn88?Btj1B#NpqNM)d2vm-ekNGwCTS}Q#*UhDg z@vVmG@{VYi%Tj?`NC35&IJZL0kHm6kp=E5jhwq8S)`g)pHo5Ewr1J};@elsCEM)l- zc@Oj0mr{BDdi%>PBqOp31#2Pj*K(MV{r=QT_@t0ZYCr;Ob(St1MxS0*W~%u714{Xb z8%Yt{XEL@7N30h_mKxnYWI%5?W3fHb#Qw0@>?K+Ed*gIh%stknmf0QtEajq4t^!0T zs*QJrF5zL`YnEx@FdrO?LnqhX&&z!FP+_w%?Q9pr++oLiO^UH<3HfWUQD(@IB)dbn zy#?v|onBANhc8K^EG?X^^S#~_cS?6>O?w{hYT^H8_<7BfZ6CTUa34%1g;Z7^qp&?@ z9@mV*JO_p@hF(;Y$c)1c4`2j}li%C1E6shKIJcWlbkw0TBqB3j^Po&QEB~rXj(6w! zzF9AQ_ta6?GN64TpFw69imxP8>k-zqK4ul(jScELmG)Ob#?_usU5B_j8DY1s%X{G9 zfED_K0$Nt3iVf^$Pv#WrE5A2Hg2!lbGia{5nL6&^@b6^^I1g*?-OVe)r->U=z{$EI z47cy84ehrEFB71s%jxcOzr~{djQ!yZ%bP&!rIF}4I&PBNJ@=`owupR0$VX~Dk<7FN zXtlTEY_r8!@uvSXfgg*rubcX_*HF3Q-rPV_7Z8$2bRlxvIHXR0jkrfTm3XA&_Z_u3 zx=edSQBKy19!HzRlV6@4OZ~WXu!f79A1NbTm-$Sj>Py4jLV8B=^q(Br!vN8oNJs~( zj7k}||c{Qfxf<3*2>5(alit=Nqlelqsyh(v% z{;1rQtCH7ZHj0@v_y*PTy)XK{HQlIZFbP{&$GqR(enCg8_u+Cn6x^%_FIY{AGglgV_Y@cT4fRp=b1f$)MX1Kxx~}P>&CU4%vuobr=f<_rxPCtLHVU;a2%k| z^X2ugN1HxtKr%sW$oOh@39P_b?Dkg|n`4gi61L00kuAyN$-Dle^c}oOiK*?Y!M6Ep z$Qf6zzTUgaZ1~TQTb>cN{9Y@)Q?A`15jm#Ch!-RXWB0tm=n5(}CxOCZ#nI1Rnb`+x zO%SdcOO`W$xfV~!u(x$IiZJ~NQ^>*LI38liWBEZFN?Itc%rTC$N^v#Kq(v@1+=X>q zvi5Uz2u|z=yAH!w%eY8PGKa&0muc6XgW5O`VB=VbW{Ati0A(!;#eg<3!CIYB$e{zh z$geJ?YD?avHJ_}Lso-RnnJjo&Lf!E2ka0Vy{O&#zh4!h*F#99@w1^nRtZZMDbTC(gB+tsfSGKN_p*5*DHC68;$q0?&Ug zurBsL#*?+x!ZWK#C{y*=D$XELe55;Swba14U?D#~h|0aP5jxQ;pd5Knq^*5n(PDC>BoM9|=Jx3P=c?QjWN)6qoakT%R(ge?+n>y>R}CZ?q|)IZi*#Xu7U1AP4Y^R5=5ZyW6-kBJ=ky^q`o!XNpP_1a7BA zqOWpi;g5_54F$aQFW7@t_V1ANe4MPfsw+@2JezPP%iM&_)>s&kUiXswQJ}gU5pgttCGRG>1 zG|og0)v0PM1~g;mLdZOJ&y>)c(pFVZS~*NgT|9Sps94G=%+G`6Gu?AaaE3~^r7D;) zk*rjQ(lV+ddOoB;EziS(m{z3Z)fJ$H)9aj}Sh!ilm>WBZ?0R>TOQp8gwEmUotA`?t zY!&^e{0OD52{GoZ=z#}J!`wASq^_YQU-x)oXuxV#P%F3`dF}m|`aVS+tj5*Ny&{P``H5z02~o&_ z@5Tl8C~9`22MamxP?S|DnNi3@JE=#`@+K;zk^kv@Lcce*t=8MhZYl`M*1WTHZs64* zKOPZO=<%&~cEJd!`SR5hk#Etb2^rOI2zxrzQX(~@#RcCoU~zS3Mb4o@ro5~l0Uamw zeSyXkM?MgE)osAM>#w{A#|K?7PXa)3b7R4Rc^a+N*0ZbFZcO8jcXV6qsvQ(H(Bt6^ zPJx@8@FinD-BBlZt21qZmx+^d*Ds}(HJT<>Ss$am7$qt*i*QaIdV}2bR)PU@?Kg3##F4NlDP}QXCvQi-Rko)oCrmDQ( ztM>aL_@MkzT0)6XV6g>u_1nZktv^0%garq8Mksus=Vp?q?4o3snZZEZ+>xDMz+ayo z%ZKU?m~)8q$}HdH)T637SiHP-{1uDq zV11R}Qy~=6;sS7ksI=;yU&tW)R8TyphmEne+a8O5&+qzRck)(~O{a9T9lfcE*{Jr9 z@W9|$I^!$eZ@lfR$yr<_@}!u{^yQeFPnWyrTYsWWF)wh3*;%4>e&>!?&O{a6&Sfc@ zfb+PfH!(U^T~`XzPF1wzDE_ZQipV zW~&Xnv(@sl@v6xOS#`r2%caJm@+6_E%Ny(c<5U#dsIpM(3q;WDHqa~37c*aC!{3;1 z#jt&iq!66lZN6ox!H8DZZX;lBLN7gGeS8&7L9fp{#$gHpe-~la&jsfd@U?j)Fsq?I*|ixFZN}Ae353;6FtNXw zW5n|+QidkRehGm5q%Vw%A|_29sJ*_fJuWUM+COtZQ*HM=tBL19z}hr!d&HOqqo1!w z^9^Wuv_+41xPR8rG_8!}tBCtCK{?xFX|?XC!?;I}Iv`Lj*qN3z?rL$cg#_ z8=U^Ie1$`cKc;`RPI&l*l4w7Xr=6J=1=$5^`a(gp2CLfB+Vg1o3X&~BO5;q~k?F`F zd!kMr32EPAW}6|sbvKCvy6D?);2Vi!;1CYs`lP}>QTG}wC}kNavtsd!TFnE^TNOD5 ziTG7ImuP0Xu4>cy(~GVsX4IeqJ@6KHe7;9_pLv;ws>qybwUXXgf+^07^|_Eimqc-~ zX7!SBhyJs|G@;K1Skp^L=O6naMqjDUOVOG$fXeN+j=`Updf_?D>!}~3uhaLBl>m0{ zEtHIytv{eLbeu?k%h=xwU!GxzX~* zrippm=%}fPawCIE0joBv()CXwPA6Ty7+DZsw|XBw6ssMfQW1W|2x-C1q8JhZ4};z- z%wm(EpW{yPZVv#}Sdtd>4U`MJkt1LvTF$0rz0mBr{*#(O`?7YhzPO|XPgLj8CL*se z?ibDD&=q}K-;7bkNU!-kKgY8+pXzO&@aJcn=ZRRNZS)FQZST>x$13b8C~cF4)h5Dg-gP066bpSkIs&Y-@cp=;lqpwzv>0Y@P-+HIn<@MdW>Y&vS0eWPMod^C7qh}OVa^XF4Tc-w*bPJhRM~G_lYY7SfD!XJ^?aym}Do5(5KAWyNA=K zETr1p39VJ2gv-hcCSXr}=wkUQSdMaaT8wQ{aZOV)=&<}Vj5!NMsr<3A)qi;E{rxv( zg25z8d+iu6hInX-pzU6kqpg4}TVeoB+aA{X<3~B(BU@=AGeg(Mi+z+{mm=v zkU=S*VW;Xd#4B6n!`A!;h1%)|6lzwZ?eN#{Yfpb7G-i=aT+f98^tHKHEn9=w)Tkc= zikR$SLM3E7kG#mHtb!p%6AchI57=ek?hl|UG5?2Dh1$sjV>2RaH_mmlbT#3+p5u3e zhWiR##}@F6g;Y;_WBzVf_WbY~w_*&u*EumB-rOn~Q*>fuz0_ddt+6X93ek&Lf%Kst z&K?~f^=UXKX$pTconNZ7ZGd0p^<4R!g}S4h5K1N3;QHnJ?cY+8&+ELQK;n|@Y%m_! z!jnnvF&#l|tR2z7)O0v5JbjlouG^U7HiLP1_i5Yy=m1T(o%2Vwp(?d*Vo2k1n}5s= zw~u&&%I#$dC8`?Du)U5M*DiX!_SdF~?&}fdFSRDBI;A@`R_2QzS?k_G6|e85l{X4A zZvs)yr3P>K9`AFb;~qf=k`Ffjr|M4wjA>}{)!D3~Um$Q5SesX-Hjejt4Gx6) z>MiVe`M=CVBS^Q@vlS3og+%=plGJSMLd(US?TgD{b<^fW`)au!0fa;rds=*lb*^QjzLj zFG+@#WP6xIRlMyByZZUS8;M3o`MSwj{uE#4v-u@Q7x1A?I(Z~^N+*`xyjzD8^ERJ8 zX5_Xl>kC!O4Tr2}QGq#T?COLdrxo1JRrVi8it@2Hv@r&vm;&pk2FJOEiGxHF02qhD77ElcMWbcxF>zTrI-I> zjmG4m)<7l6nOMH{0EPi#UGSP*VJ{KoE_2_+^#;Ms}pauG4NPUV%QdskmI^1B$5Z z{`fPzbej@hE1qU?^dZB1U5P}b6p7oZB2WliyW)(Z1Z!ZM)=cGt39GJwaX&yq8Mllj zO=b>@T0xln5nwzhMrXxC3X`*b_8KTtvhUKq`N*-Jw;-*(0Zw9`t$+wo&4@g>e1X~V zoWT&cHsvB5jtS8e>eE0UX1HO9%GSJat%u?aDN!1)5@qaozSFkyxzOTkzxkQY0&l>q z-&ubt^wmQEGU0=!xg_Ts&b6RP0rt??tEqOke@OXM)}DEuF@W5E&MUuHhxNv#)kp3H z&szE$szLjugkq;`M23BI*#c7ME_%AN`|$YexAcQLQj1diBPqS)EXpNeXkP5vkfVyz zc9523NC8;BNO#pIY@s>?<@qQE~UN7>^q(wIc->g0^eCO)^GN?W9RQW`M#L zn9_`sfzLz%ESZo_=KK}vecF4-HoErm*N+6XPJ~E}Da~fJ_`LV?h&L#a#fIh2ZV!_2 z7Xqm_4o-BKZ*$6UZXMP>as%>o2J>p><%FuXCPl!WF$`LV`8zW!#LG-rhk|fd%~}&=mxK(nBlWgJ7a7}7 z@6N<9(LDDGlYc!F$Q#RBZ50jxC)c}13z6?Dpuj9g&AV;kN(SF(*S4?T**@awA74Y- zEqx3H#3d={IH|X8YgseM3~yy=+qCgYU^!{I#3XsK#WN5+iM~rVxWwsQLR=tvgR7Kw z?os(k%^I@BLwRFpGei;M+v655 za_E7)Ht#1#0!z_Xe{O${2K-ODoB9%H*#<+SzchAydChp-#__CqNmFh|Ah=K`H0g`} z!R589mH+Zn#0|fp3on3w*Iqo&0}oWu_Dk@`WhaV`U5G}j3p80s7Az}d9=K{a=QH4c z6;cpXfCAyV4t$tx0w!B?3BaJ>-1Ua@r|_+}?GYHX82?wP z3H8Rx6}z7|S~n8JMf+c>{`X{OvG$YsLx$W7HO{|(kMq&lF91RtuKg8h z(f;SkY8OTKe|*ogDYBsh^f~4m!y#Uo-%_&w>zGef5{ZiTPZd#tM-o$^xF||57My?m zQeUAgpeXsKF9JIAeNy@V+lTUoYyb7G9++IXSd#Ytyea^HL8R){z_m|-jW|3{M-HDd9oK!pYI$`7EnJW6mlRB zOt}AU@U@;uwH)y5SKpqYlacB*Y=QjUTq^n#Xd28v*MZ)eePzFoVT18x_=z$ZWDaT} z#oODMP7keyQ(KoWw{s(;if_`X{QX1leFzRQpCumlo$2#%$tuSZ0S93jPDG9^g`{#N zR+3GgtXEGMahXYqfQ?zO>m)|Mv znN2N99?#NBqzE{=G*5;e|2KaB_9IwYu*PUo%pYba4w7(F8=G>z2+h$EWcZxST-&=x?xCj6rwLA(kC6F0h)M7*>!A2;#h}Ys$Ikw4i?(Bm&xi|8Ahp( zU+6Rrch*?yJdyGWOeRD31_mBHQpE1U%KI4wj2 zhmDmhUf#H;yuWcHQo`+z-3S`a9fp?&JtADCh6=jDDrqh0OZ0F|*XKRir)g_g7a*;d z*C+IOv`+IDy+9Er0Dn;$P+cEU1kt8B@mw};*C@tIoG2CJyAS#a zu3lJgh(G%)K;8gkP^8XX0#%TdrYH1tXgo42fBkFc8FstQVai?fUelA)r1tGH`})U; zI`5?Mdb)m9lU7N*IdX+9C~yK?GsSB!OJCxE0D^r9R$OOi)qd6G6^f2lKF%AkbW*e{ z6`ydzj)#ua9u)7nWl+|~xW*{;7nDjb&bRv9V)D4xru~IEqa6~fYSacK1b!NUxj=E} z@yV0ea;VN~Jnp-+|C3>*)hwVD>CJM40*+DTflAhGz*A@og*bvFq~|oMbg&FWr@!m2 zYj|>^s_|aJo9Js>(`$3_b}HS)W<-1rP5feO@TA(Fa=Al9&twV66LR3Ven-Y0U8z7_Wx(i^Y9;PP>Q znfp&)`d?B8*t`icAAE7*9dq$4lvdVIKlB|L&{?TbHn^Y09>&O7vMb4a94`HI*r*A( z=8^Xme!aZtfVuf&~&1O$)O=(&lBil7A(C z#uwy59!pVZ+I66GN+c=TuTN?8cQpLK1bQt|;F=POv`?sccdE-3H?Bk#-U9meQ&T^5 z7U%_KIVO&zr#pGAM>lb>H~p|j&=p1Ek1$?-zbsPCkIblx|C+Aau*C=H?`dq@PF_kY z3hKjCAj}KXTCychM+2uK6Q=?GuWw`7!}1$1FsI&APAWKoPBdM_8V&|J5c_}P(?vzH z1XEMKO`hHLzb75^sp5EO=?7Piq!x0dxP<{o+f!UR1ju{jquB+(qdo=9q$k_!_>#-F zdffK57=xk8k%EnyN#)=W%elOR?1mgoMD$P~HN{0CB#HwRt~lu_x30*GZtqqZ&JL7C zY8M>1h)Q8|9pFBuqJjb~ZK8_;LJ_p~Wh38$16cd8xUBh5ONlF7Vs?v>m84a+dc02r zg0ZuVfu~4yp!Wkr|0}RcfDWksn2`0VFE&B<_;VGpsZ;^GW0a(Vp*l|t@`q=b=Ug_} z0f9&g@5$-YdvV&Eji|N$U${Z$WBFkmEGR1bCX82kgKh{sY|NHHHgUnvi|}Ur(qNc} zR)=P|A`xdU%FI$Uf~?rR%M8Zj8VOs?nMQ=&G2tv*CE|>=ik;@g5qJTo2#n#1a`_;1 z0xc)JSc^RFdXpgXdZU0%sK9h3XQ!#?*tB3|t|Lk22f54KDSQ=rcU@j0Kf2&f{<@SI zQn~*AD(ty^t~G+v5Qm_im&)$0t%wg(~JG5=b49BZ4WdBqZBW1kgB#%*yWMzN8F@LXum* zFiQ*MV69JH0%b1&-#;AMM83rkBPxHUkoPe zk6h!J{*g@&pcFR)yK`-x&F)UapzP;!JBxiu%t`+SKWz1m?8)GRc1#Q3QAK6+_%mB3 z;SAMW?u~00ptnsLG>sJTA=?HWj&Jl+CUHWvF%eUS^UR4k=qB> zJ(QPc`iHyg`@amWaYsL>MAn#gq4JzK>>t3+`T0T11Z=LG=}#nP9F7#onpbXYczq~| zBC>qXL&*=}<2rDg_IM{Xw57utf$iaR>1RW5a-ZkH2=7#WWWr#p3ht!^AbD%6Tr4zd z)ysbkk|%A4$Fyv8F&_RyCzdeV~2zj~#A)|LMTauu)puHUZpKyzP}SThEivHd#;!L%69LoAyg16%SvJ>IaO`+ zxY;k#Zo4}LlPh_mO6-T_esG4C3&u8V(|u>NQ_h*hV@f1XlZosP?Nf1n?2(XGP%as9p6{PU)pN{o&>|%IG?Gn{v+Slyd5f5XBuMU5%HolTg?a0 zwn0B`U|FrCQz`%(eI-_y;Ai{I9fpsh1;c_2EPgWSKM4ISgs5 zf+>NK#Wf4O>3A#@T>;D{)W1Pfr2;4+lvLUc{_5A)v*#5?95v*5SN5d*>%d}U@MkeX z^9I#tjz)3gvd_}-B@vOIRIw}!XbRhYg<#)TiW)nXWaOC3d=wC&S{C~X{k2TwpGh8i zHpvMed~RaC%ylrnaf2p2BqpYnG<@idC0M}?>E&f38u=q&2ms+N>pe`09{`RsZMvD& zF8R1-Sjb}_6YbsiZ5pWF50=u)^G_CB_;6Q5>~y-m<`A>a`2;NEYul9&U>}!_-0Z4N z!d+TT!sTGm39}t|9R|N;0DCi!Av4rbzCfLlGkD>X1FE}yK6I+d+7w}0NH%eQy-cx{ znE-#utDKHAg?ge%p+@_r;`769I{N+BfQ{-^wVy{~g8d3uY5=HsqOh>vy!hcoM>GMBGN_U-1-w!Jsx8`IOSD}{SbpG55_*Lp zB@6e-*7(WICjP|vFi0g>H-V0|e8*bV| zsAROR>j^(~V3aMp(`dMqstzeZ=4{~{$B+=Q)zhRS>A z6eE%lc#=Uzn-d2OCyOgl)~X~Iz2q-6y{J;D)EFZU_ZUOq@d=AjQWi$u0#rz3}%&IoLC*}SXEx&y!@ zE7zVppAx(5=71O7@ZK-vYyN6yl0_`oOIR%AiW{B{?}6PD`kyqslu_GN?4Qn{@Wg}M=r)(PB@%r&_|GJga(_#=%j zl^E^M6%>0aIt*G`Cf6&c?xI|)c~U-7x!7xmUA*NxLkaYIs-gFGO#eRat>+@l|=g{w;Mb+(+dwy zh=ifsFF)WN*^I?i)b~@{dBAe-)u>Y3)kw7vj2a(aE)1r3 zwtoN>>P7T*eIa7}or5}i&4PY{w%Bf{fUVb%vByC37TO zjC$d_ALZLF?-j8r7l(|<^@Qk!YF5S=r)@hbb(pxH#_9CzSP3-c4 zn!#gZDe{qm6lvXdJaAU{F?33UpSnezT{0nvkYbfMp1k*e+ItV6CbzGB)B|>!C`boA zs7O~jgl0ih1Vn|kzPXY5T#0Qh7J*s76_pwKthuHqUZd+^Z&ks z-@P+;?#!Lh%rF6yUDjTE?Pon}?e)&-fq|T=f~O&mtvQ1krTxA0SN3ZAfPx>T@{&`{ zr0x8|aeGaQLABK1*Fa449{*KR6L`3Va$692{SimCT2hdUoy%yHo$!a ziaaukCN+;IxwKh68GK-ET+1(*qdZ3dR;O$6eo`Ul6rhE^4n1C)S0CP#i4^-UX325? zjP2p?%h-39RRAYejfSvOU;IVWSekLr+^VwFM`{2#8_VvT-LB@9v>#RvKCO^>2YUOM z1ViC&0&p?ieBctd%!~$yW=6(jSBj3bSStUm=;lGMxUX3g<-^+ehZenRFN`z=g3c=K zzOI2&Am5U*cIL8Hi~dgU01gjU-XiBmEY1cXh)(OZh8)%8C4mM%{AF25!GcT%l&}9g zi;aY2T*X8|Jqs@VV_Wk-HK>A2WzG#Z#E1OF?Jnv_2LbH`@(!{p3l%hX0}C=GEamBFC8t3azAn@H7BZt?;oelI#nH1 z9{!@;APpUs6Xsbv;5)nY)Q1W0liokDmDg4wl%DZo?0t&0b0Yi+7y62NUHek+IO8>p z5<6Sp_g4DC#5iMxI-3D|jM&*rZ1L0vL{z*$5zSBf_IM!qAwo=u*r=8A;d*oPu^&Ghu9C(L%y5 zLE-MD7WKr$OJom70@t^O`UOFjZMtGy`pE0?F94pkf1a&r317`yQz^;V_f^@1P&BeB%KwtpM9KoxPZ}HC({_YJ&Gx zb>aubRQF9Wl?j#;E3FU5Sk5v)tfY;dft$~N>=$>nE16iZ+UN|%!38UqRf}i%hUR$x zzGCP9Y5(@FXP$C&)F0i-(X{$$JgA0&V-c}H2``|~VDPbyreg)qPl;e=XVrm(oHq`4 zoQb?QLzxOZ?`?fGU|+)y|8RT&wAL``@B;{~D-z$-iG2?zm-O4xBqI;GnMmBOB#K7G-7e zEtsn1|8{wNU)c-**}=x)+|qw1njPG}f1l{HXXcBP@V@JRL-zl4`aiz4R{=LKxpKsHEqR!oY6t1*@|A4N2Nhn`A*{uHVd9a*RI#9TC{{~k(X)En<9eeKI zrL6xUuXEW{2sdSMD}qo|`VNmycOmDfO7H4KQ9RF(ICPsRjVAuL>&of5DhmJU?p)XL zD7zn2{N-^XP`sqZ^Rdr+E0A>AAT8MWGDNLnbTjD~U14GXK*zt#@liJYi_JUaljHs+ zHnxU2Dj=9=WQPu=M=o_tQ;I!U9=ks}#_^1yu*E1u%|GzNk-O_>>Gqh^oP?uhR##6= z@M{<(p1s_XR&_XbM&mO3h0oh5;!E|0Nw{s=Vfb$l?cc{g_Stl^(~_S>e7`AU#{D>8(E@aKe) zVK!79<=0dRfgvRtoIbrbjW|PJhhM*f>?(~-C%b>|nZ~PW*a>B({MGvTKm5&E{O7%V z>`!yokW08faFfl&KPtOCg-~=1zJD<=rjJyYez>!kB;7bA*fW%Sd$1_k^1gJpD=VF) z1u3ZiLvGB^mRL0o4~^}vt&IzBXNz=uprB{)dRF0U?LH3RAiD1GWJ^ST32w?{u3($i zG)&ysbGMk-RLmhNF2OQdcjDAJ@!Zk`=ujNM)9IwM$fcTmZ$Cp2^`O*6!e=YULv6~JjT!d@x zOHeAf45(EHRl(oVY~G(}2^@>kniE1`N!5lIc~1McA~-tVLPB zswg%-(L6@BQ%h9Q*F(mBaE>D+U^N*wI^T>4*cln$@ggc|1_*|a3d?VQ!kFy6zC?F5 z(XgVo!mMa_QW_G}U{GjS_mH@nX_ig<-m}B1@elAe%^3|TvmJ6RwlQZMhj$G+8J+^D z#5v{1mrsNa_?rt3;m-$YcG~hu+Lqu zBX6Zoe^kmp+px3qA~OKJx*I!7A!)EFw{Dy9RDV7_2NJar9NicR$&;3y@Wg9P*F@ss zTt>t7)7LCsLJCUFWb;wN;Gj}>eYkxc_r6M>Q%+qtayXtYbMk})pQ!N#azeK|-9r{| zl)4y_79bIi1u~$#6zbOcjHWBpG_107s-=x5%R8iqFPAJ*MDNLAXiducZ_)5nZ`((vQdQ&^O|R`;7xSn*R``zECrk0kQPs_R0ESV|TBkRE8NlYLa|0hC#dsDM-7w64^(IUTC6gAs{wq#Ep7N zl5i;ecflrIN${~A<2p5y#C1Me2;H81-J`@Po4q>XKxqrJZ|yK$q1}C+I&*l@VlKza zY8D8P;M(RJu&X*fIUGEvG`qI8+S!X#A0AXtgV(w(mhZ98r9W&lk z99}N))bSd^2x-x|`ea)R;&9JmY`wHV#U#Nbn9ZCH1*7G+DNaV!hSDjp>$;A+Qzjj8<}@UT z-+9ievEIO{I!qbN=L6|MMS{-ar1S2SV2nZobzW)jQDTx|p(!Vfv=kHo=0+gQ`gd5T zWLZdVva1y#8unhpw=~On^hKWe|5X0Nr$+V`X@WPE5u&jY$=kA43ECh(TR)E;#66`2 z-|1&I+=9zq^HT{;?FR6%kELr4!*m8*Fe}-;{sj0*3#|Ok3Hz`k7KvHlkpVKcYjfEjDWx&@@n1;&gcy1JOba=Sqr>4IZeG|726d(Y5x$D$mG zSG@aKt#PkSrblaSPZ^^<9P;{+CYVB)+fh5$uTr;Ds<$C3*^CaDY}{-cuEGe(raY#+vkXnKIm1BCixIi zo*6kw=#%VGkIiWIW3eQRJ*A^-28!q+jKB0$y@Sb0Pv@2QpcI%)UDOdeMj=JLXr!~? zHa7UUVr-4+Zqx?>&rc?6_DhJ+zk&%RmCx4PfrZ+-e^1HtpV#6L;_tKNw?4OTlW0Y$ zmRH@bd!2t^nEbHPK)e~-Y^;(!x=!+#eukW1F2itiR*sV~ukoGUKHI_~hiysr`R4)S3*y7S*n8=6H1gm1m0kB`D~%wZaSr=L_Pw{mHOBDf4rdQ*o61=Yjx?gjQiaZoB3`nw*-&6 zexME(@zGlH^(DAhcr_-+l0l){k*_=16^U#08@XG>A%f*I%#WiT zF9qslIiNV*TRikuwG2nKPux%v<<4Wob|gB^@He`;?B&;~3HR&_GEC95*_GIOV#`^U zhd$amazTwp*Ix78n=wiQ_OjwV`Ia&>QhLNyb3HPKC7C`bzx?rJS(pL_u&VMo-^7v~ZzFWzTQ`{WGbZ{dwHh7LwMKPF;=HtFx=|j69Ky0aPNy-c=sCV2* z@^*`M?H}|Bx)BWW*%nc|iSRJ?m8#oqJac|3Lw2+GtO)jODDN@)oy#lr1Dtcn7ty1* zW`c(Y1x_b1>+DCFtel>MZnI3IEKFjKoE2mzM1s#&?(v={7vCo?_245mUwgc21*r)j z_|`AXgG3dK>Ta06yFz@frUQeSj_UZE8&YcL9JnbhIu{{3fvGTX}P30%YOQ*&^mE!f~X$ii{BUZ)yjU5J9ZR77OEaHmD zKglNj=)oksgJv0IAK<85uC|)|pe{e>YF6uW+uyvd&#KMEUMMR}^P7xi*b(&n8K0R* zUU$S|c!?i*2$oD6L`GeAGxM$?-IsPz_}gCUx@0v0yP43c|ti9k787E3H~lkjuc}5PPha(oYbfcO=j}mF-FDC=x*>c{JIL z5_|+LvmEDuCKr^p6}y?SXDzjp|Ln^fGBT7*euN$3+slyaPU)#CG<|+2D_cW)`$?xe zr^ojA+>Uq(xn|Zvjg%=@STdpVB1g`TG1QeQA}>FNpQ<~Y8tzvo2c4`Bhll6gLkw0+ zYqwFz&j!)0EZ_i-#GOw>kFf_*Ho9IPa`$urP9Hisg80D)SQ96zAT#JlR1+fHob;UbjY zSfg|~``er9T!^-d9^eH;V=G9i8{zr!uA46-SuzY>kd=hPu96{#pTmF~ofL1<1=!+?=hX&ZL6qo@bU zjqhE^Lt&MYVAGi!<#yw(y}e?;XZHHM@k^!Ic2Q6;NG_pO6wwcOa2|5l%*^$xhk`f5Ow{b&>*QFBN5Zo; z5RI2WlIjqC7T8d-?;ScY+#1!{}g10>-yAk-8rg_SxCFHg#oVhCP zV~$vdIJ$}gdkVAkc!rg)sh9u!t6j6PDlXi3`2O-|7cn%`bPK?4GDSERK-;*ymcP+7 z&!|`>$+}jO3_vLNG12lta1HEUs$Ly+L(OU!i$u#Vm+Ry=8oZnhYTK2VRzeSz!;kC> z8EEcR34_GZ_-Lt?I}FefE&2FzGma;~N{?<-spXPJ)l{aIN>Wj+qw+EP3M# zA6J1$EBtW0AC~CgHq}C`=#-n416Pa(C#)J8g$F=OHQYSS>QbO>nEei(`8|F#bquf? zvK{iy_~v7Zmw5yUc$!|O2v>~uiY6{)=XNJoPeU5#&L<@ix&>^xm65;cs&Bfl&>SDO zo(pfdn&me8MAP@F9plHSh~~Ym7v$-R5KVi5LFBU!SD9u&M`!sOD58o|rKOsTmVstO zz;RM^=v8mLF$@{f>#v#S;Bj`>U93dpaSV;PJXmkU?W0jA$II*=&nvnw1D;6$h9y4R z$`_+HimfN?%^1ZSNJlSOe~Qqf%)HcnZ(9@B!BU2;pRqOSu8>;|n&Z(GqI_$k2dkdt zS|{CGS5RL+Q#m=OiqUr;CJ%EV{`@Y20s*!aRlC;f5>9`^o6XN|vV0OaNIkYGW2!x5 zVz5io#bb5`wYSZ-KT|yA?ujoOPIrnb(tt$d^aghdkJ4HZd0bT2iPFfj^NIrIDKl^D z!czXc&#+$Xx;}`0TiU|IomTZG)w65u#q^@0nxqDIu(IrmPs@$DHC3{gmyAUv3f!4r z+56h$wd697iTu2-DVWEFgQxZkYF3XZ`(&~uo*Up`jHQ2=^e-3hzw~bLDXSF91DOW7 zqfc?D;w7~y2^)9$t3hGHV3 zgja=5s5~}kNM8=K;GqeEms%!%Tm=ri8ts=Tp|j_U#`ejQrtbxkJ{;3FIBl_1LQ{C)Y? z1wz}nRME!zVMA79zm2pj*VbQ+q=;7Dax+Y9tFComO0Kb4tNtW&ZSHL;^)X*gcjG6y z&fF@gZ2K$*I-NNCY0QPy0z1GbPk;+{l#qFUf_ra#baV?>yxYh0d#PT8Gt^D2rs3KR zAnbd(*uopH6k1GGo5)}VeR>BRceg3lTM&TuU(IeieahXGQcn>}tt!1LRE^JU0r4#` zM5=>KSxGQ#Qs`i~B7xPU%c)h^LcENsTR6PB$P*7s5n;iNgvFc?#no2k+{?H|XyM}t zG>S>gwDR>;y5`$vvNr*nRGEJ6S79kI_;48oxc=vbVZKU(twG5TMO-ZW%{}&lL7q3( zFVDzDUQ40d_mO!Ny(pNqd6x(lx^H}=&hF#3eRWeVEoIqhJ(E7zdlj`4tpfH0^@{)2_H4RpC|ZILTGHYJG(_VP5GY z7L|FThP4k+9OMf0UMgEw1a@PeOS#dujbi3AViB22Be}|s&p1h^c?#SevqcgV5}x2>Tzj!j+QaOcB0xL?iNJueV-?S&<| zZmuJ~XBpf^Baz1>x6ffbQy!-RG-00y$WLe}y_Z&aKZM(V-gG<2gwc}xq=h0#RazQc zd-E9Lc3n$F4n4cR|NN6Yiegvs{mn@$WN=70EYaPOtprIQGI_)L4LyI~N;}SB;pNDi z7^RDSE8!4{Q1F&;Iey-xafacUPKpD9AZ7@eNFw%@Mp#SM$mJ*D;E8X1s=GANfa2dGSv8wR{Vyd{TZ!L(EIE&xZgwdi>*fd;R$HeiSM7zLsae zu~A^YZA#ruhX=_rMZ}0&xD8gf1=Bg4bcN@9NtS8#1qp39t*PoP1MQkp%|duC4!Lp!_sN|Bg!y7h8$6jMsLYZF@# z^FrZKNR+mLi2HEzcr|v6rYV3(5522mSG~>`FTv?d8k{@BGv$M6x$iUhT)9-|?oVrF zsi~Yg`faF(7c9tkVT{hT#^-vL=Ls*#FW$KJpr%NVJ>I%)0)t0z_h#o@ZUi-lzP~y3 zYy_I?!3$RaX#YIa1IzZx!=`#x`}VXRCozdkQCMS)9TKj%IU&D&eAvr+DbBm*%94b5 zlm|oGorYcO`;1i-xn|WAH#|VT)z(rxr2AG@@uE|HdK2dr)IBL-u}x6H-pQK}y$;{w z>_>9N^B}f$JkdQI37K%NwI@zN8*jL04eM@*3pKRfntQ5hSM+ossl426@zM|LBYQYT zU{!G>yNbr-c8VsMs4?O)8kZ34wttp4{e70(rpnsDA%O}a)p@>UE6bWn?BTi&>l<&q zh!EUu)&kG#cWq;N%0Hiu9vvp-m!){;{?k)n*7cq&Xu>kc7Z?%@MCJGmown@VYz871 zAi>*)f$H=izEH_kPcyDc!#-(4uN7`L91`EmXWBxOJi7q+)<2x=^7OpPT8OK~d%v`c zAv6gMH0#>8)^QKkdHeEDFYR0SKd9_zXuFlgnJR7FU2$+-^p0~?4NPJ8L2s*9))tGu zIc{z|q;M$9epD`j{1uuKGq^$;CK|+ua!czaElBZ^3v%u`UC-i#?Wj|%*oXC!qNi0x zz)9QJh80Gg2_HUd3zxR0&|B+eiXq&G5Mp+q!P05BKr9DElYjPFG3FYN+583drMb@z7otUH!gN zLIzr`B?9N0PAuH>ra^4yux0<5aV7FpBCboCi%(%otFuO0Zl?>q!Hg}j6L8T-^meT8 zqocv9);aYhQL1ihzfz$h%ZM)V3}Z7iBE)m8h+!XN8DXgtxV)e^BD$4xIxPGw_ zBc-5$DK(Z!TMh z^;1eD3W%hN1SRc!JBD;_0ZHWHgtijga+_>oRXiFS z%Jw2ViVMF6tG_QL6<$L^#?0AJ7mOUTPF(n7Sl(CzhEAuBZ*3`Y5h=N+Du2g${vpJD zAGWxe4NWW+S>MR=?AI`cT!g z5s3vcdR}=72_28dcqU~jr+bTAmIOOX+NT$!kb@mXo@QOAviP}W4eT^IJu$Oxo6MGk zN!xM=n>pgAwkg^3oU%O2Cu;2xuU$C_A5$I$SXFc@GA0i*g?T=nJ18`6QJZPC&n=*L z03u&ya0jDNUn2)CNQ$szrvyccz{4GAKgOWeG?7m0&G#|REvqx6TUhqPb7!m)@JdK zZPx_l*@y0O0v?Z7eRf|6BgV~>9n#Pqiy8})Ums*c}U&rrMy45+#7%Lmv zF!w^VMIHp3&Fk)f-DXWkfdJ9&(jJWmr^^BdQmR9z4Knsf6(fdpkC4U7AZz7jBXj4C zZAUY$q!qufpzCIujUje1kE%Llr@{G}dp<3Ic+{W`PK?5e?D4me^!qEI*W zO3%)jAvy%E@k|qQ+lsNYttGCjwmH}&sMO&yDqwT667@2cILR{QwL4maHum0{T3b`1 z=y2&6nw<@9vyUG1CE~!-X&e;xDeu+SS6WAAUqbS$bS`sq=*5I#7eTg3DowE|F#RMc zccGFFf=Nia=w(#-CdmU82$hC#CD&tPuCzZI4DyQAJr892D(rgk7Yh~npumx$ynVNcI4EejpY}NJS?KJxneY*S4JpWL% zI>i@-n{t`+nx3Ji^f|NbQ!X2RQz@{$Ya?zsR?8i(StJAL^bc8p{yKdIv%2ILFPm!{ zzJEmK+87O@&_zu7YEM>GLOkUr{JfSu0=XUC5LZZso5Rr#Nb_vrzCldTnAh@8_|cU2 z$)073J2 z8c(olbL?i=!aVm*TZX#ZqocHYw#rqjA4!7sbG?AGb6Kbcebj7w_(j9tt3e0D-v^vD|e=nAH1*NanL-OpRNUwa!w+g*eAK$u9GDdKp043tKuMEk&fSg3>>d9BT0d58mMHHeGos=*=wHg2uY zT5N+L`Lfra@|3=$={$eP%W@9|F&$<(kZiRZ3K1BfqhBjDI12M1;kq10(_m=Zvgw~> z@k_>R(iCyiI3e&DNR~~PLn65hDKK}$r(AFpV5Kp>V^#Fc1`DTeA|*LYG`) zw2WW~Zkr8YmY&Rz^RuON&P-BYTdbVV+3BrIXcE3MbKVx3|a!z_e@tzotc8*KW>02elkIfjC38^YMK4a{)N6xge zK9*m!9&Qq#?k)g-3g;p_Q7RiTv5D;Vijac|0Ay~gIz8kW9TX_~^K_s%eV)d6ZaNT;lY~c^L?5-PV<*3RL1Befj%y+FHfFYp zulno84!R2;V*NPD7KrlzWEYg{GFt%7wEY?L$z3PLy71^`f<3 zFvw9z&RV$El4oEmv*$?#n8ryWj`ud1zZti_z&mVx+jGRoer}g26#ZAg~eYSMy3W~UNF&O1)DM5h zv(VG*EyEA)=G+xmAVcHE@bJW$!vcV?n5|Ak@?U?PeKPc69kuD}aw&c|XMz0loj2uY zh2T}3xy%W&Kfm{rCHrwg0e$Ze>ptJPzWmufaiPP97`tn-Iy~o@%DB4z zXz(TA#Fyy{P4Q0vA>>@rPj2O}@BXtje|cbyuzCZHq*>VXyrweX_HlaeTayxaErsDYpF^qs z%%fn&MLqvXk-B=3zP;51cvBDwMGIFV-L4|Nd+1Xk=JFQ@_|Mt>?BN|CtoBDIe`G=& z(DS)B2Fj^%28Mn=mTG@t{_V{Ln&T3YIZPM+$H0G{Uq8NbuJW0(cx4sge-7gxf4P13 zl;x#|{6N*3fA8oAfn^UQf7v_X{z_*0xAB}h_eSVk-@VKS2TF8*VEz+;R3~Q82g+xE zVCVFJ`QOVpckpG_lf_t1m6Kc&YuPI{Bqds!2F*I9Qm0^cEBgU2%qcg5-wEy<*-GtN7a@{XW`$A8o%e(r=7(umpaC?cZSgH`xB|wH@G#{lrwiy|&-(|8MvI zH;?oy{^vK3^qY|UO-TM`wtq>;|7Ny-GuyvIB)>x>zX&!d|Bki&j z=`OC}0*=g}U&`$*B$aQoDb75(oZhzViL&bCo4{mgV_1gC?c)m7%If0M2S=O%i|x;N z7x?-O|M}zPOTt3G2tD~vLzGix_Z)cDewCm3IEwj{Wq3)#RPdSqkpuL1n&a_PtYjc% zvWX&9^724g?m+TvVa5fGa@2a$j~6e_vtPI8uV2#FtKN)Zccy>5-g?(r3N8Hg zOTVY#ZH&jB5gYsCie6Besg_LD^;rE^ZP5_EZ7j+^|)zTyM> z&Evg>!fVdcDLB-T?>4XQdb^VCSl`bJlyTWKVgWqwv; zI7nUk&HyQ|$@e7~e(BH!20v4F$u5fLKd6}>I7i|9m3!3P54m?Qgv#Qp?kry&vrG>N z4;O(9j?Ves>+L1aZfAAAxXHrHrNsH;RU>oLRkq`A>HR{v1=>rZ z*?SsR3*xb&J+SS^7l7WwUveM?!s>v*zV#T_7e7eQspY_&%R|x*2ktAAW3`?T(?RWC zVFDz5gK;?j#8w&br7V^115@Bxr}mYAc(%m%ur+WuLy}eQAes7W0e3EB@7kIR%9b2I zE}u>1oDT<5?~k>JQHbiGvA)p;l9Zwi%nsK8S438lQ*sXMpAjhK zAUk6xt|osH$m>^~4s$>r@Yzq71%OSWB3*~%z6wl_ciz49>p@DcOaugv$K1Pft`@ja z0IEKDK%0mBO@K=foUI(nxWmxUXUdyxmi%f5sY56&6|Y%y0Ow9RwT`g7qu5_zVst@ai2|gnaNkX(AU*bAa>B&KbASg$`9z)Q7A_bX(3_y zeJAQ<3IqB$!suzEV+$FP?cA1Hij{=x5G(cEGOx@prU!sh_AVQGZP!lE_99M%bSvB$ zd78o2Nc%996NW9LN%9f;_BD_P$j=lUrC%S#WUcB2TzIZ*@lnrnR9d+k_)OI zU2r`7{n=-zB9Wn|p|E_|XA`xJGq8a)*pB*Lm&)E|aNxf1!n@)Tsq&3I*Y#!;{0ZgO zjf)v9-%ATr%{mLulwkYV7OFUo5bhWzJYJeAjtgZwebMB6Sm<~+!~q&cO)?{e%kMsJ zGHDld{Gv|M@9d3iyqK$vA;yV*aPMJ>zN@d(U_0sZKq{N8nIh~IPK?(`a~`L&ySVtL z{Vfj3b&z|Wz1l@%r5TSwK^wXc07`fv<8pjiYuEw;AUbGa3rjE`zgUJ44Y zooe!IC2*vQeFbMWcP2G`04m&l&O&0-WhcLXR`Iz&d?ol%(w?67)ac#=_{mx6!r`yI zo@CF48-W_AOL|IG+ct&_47f;X3)jeN3i|9>6Hptp1)W6L(b@5%w>MsDY~(Hfc~LoF z)~%e;awu8|^XIceRL9T#>knl=<|38UIG2_DE*KW1M~;|v{>(dGD|YFAGNLlXAbXC@ zQi=v2`COcvA;z!xo8aCB8!x33Rv!k`J2UebRlDw1CayP(U+RJk7%%gwYtLmC>rt!w zX&i&KaK|MsRMUxGy8Fa8yZ`0WY%AAen#3_Zf9u4r%+Hf&dA!w&@}UAb*Ry3Et%E=*@t-o`C?)qxpxqCT9A2}#mmXq?G#e18EW<3%EH{vtto)A>L zo}RWdzp^5As?(o7;~@mYTU?N!+Y_t_RcXoC7#X0|!|xWKG$!~cNfxG0C}yM4_bXX) z=K;$qnN~&j3;nU>?MtQZo;;@6DV`^0hMC_x$@39bDfm4Hbmk*P+k`oj3P<~WtBC+r zz~$3-7#l~<>Qq-fc2!m;>X!P&7n;M4px?<) z5QWwxjS6nJZ(=ErrE;>M^*)}U6FQ&QLCenC(KcybcDnG)5_9)=Uilur>*DNkTK6x& z$SbLJMRMRC*$HYRu6IgOa;>{CQ@YYH3mbx3s@_A{16rCH|)G}-zPZ^^p!;HcWqJb8*1=IX}d zfG3c0bmv&|aBy8LU0r-?jLOReMP7=H=q;ssh^i97RPAMFx*`o;>c_ei>GKYZ$dkqb zh@Gp$$5>;NY@W61W^NVODNSk(eD5yV_5mN_9G6pe7viTt350K|4=%XDmq{FXGkxiK z$Ksb?6VO@XmG%T5`29f!rBbwVfK`Yas#iUi^_4*iBFc}dTdjY__+aCAs_2FC3t9<< z;VWO6-ywLo&ohLrT<)I+KiV~tr>-8I9d9o)n4L&o1|C5t>-klZAwRjo&Cc1Oayj{! z+yy~?e)s@!?hNEkN1;p4xa*ginf~N?-XUdizdJljshKy*17ocOzK4R(FANIebJ2*V zo`rmW^9p^?CfcV#Y@FCD$UL0m>pRNrHOC899^);1YpdVaTL%H3t>7_e2warRtyxcd zTRfmp5m%;X4Tjr&4lzKj$Rid`frY?37J;@+lv$D0`gofP!JD|J4N*27vWTreU!hFyqu5<%b ziMy#V?1LdhnFdlSdoKpUDiK^nb1THFj&>@Q=bierzN}-+EEbWtq7O${6aMu$K^}41#Vx zXWz{ui^`y`1-;O#Ug$d6IwZVz(M84UNJh;{V$YDAaQ^7~v3~6U>Y8Jn4undrhp1b3 z(v{1rGR^YBQD+>Ueo?bAL}qY3I$~C%dL+ZXFca#n|E zd{trL-teAHH~N;JrrRE{On&Qm80Eq7s)B{OT|M}+AJ=Jzv1q<_LGkVm!&z=B^&8J2 zztCRgZv#izpQh$CrPD2WiTSiBj>b4OG-kU!`#2nWFO;FcQ9UJF;~ZEo)obhH4ejHZ zx9{ZS?N$hr=Ex9LHHy87IgCMMN*GiclGx_PWvNkj)$ln-ZRSHs$fuGs0~eId!}%dM z2CF`{t>cv#+OrHI?s``=8Ac9P+3zWO`$WlKt=QW|?`WU3B%s0L{^shWGR@cew{e3} z>1fzhH8B?>8*g^|KXQw3KzAKCto;UugxNW={0L?pdMP`etiL!^*i-knWkC<>>0IYT zCB9wh0S$2K6YEbue~Pa<%r;RPUHW{mDh-glng4t)Y_6l8Ml5W;S$A_lKF$4B*Vv_H zkE)?J`50vvBH5R1?Q#655#C@}+o#58^Smg?qBr&nBeOGkGl2&w_h$4R_*?GOR-)L@ zAXb#Y?cG(S5N8{wjYe0!U6tfb!~A$>_aI=z5K?%eyl7Hutfnk+HD5&RgTqGyO8AEd zvfdrj@(b`>k97TLc!53#bb<3?iM3Io{3iYnGo2XQ*!pXctx#+Aq00+3$=wOLyFNBf zKwUDGd-2zQVd{^b@B2orenVEgvadRMjzS`Sbn4jSlFSYeN*HRA$J2fnaiim92QPcJ{@#aFNrhC{*p1yiC^SnqgLp*W=XP3&;Z(Aw7*JLDwjlb0b4gd_o> zcRdKTocsOkXJ`0ITixHRH+{&sbCJ39k~N+CaS6cE^Bw@R_VHI=>Ji&Bmh6!8+dHz% zQme5UFp#;%iDfoVucOYf?3N9?+t|5?kOuLZs1^nQ72Zfs(oQ{M5j>Y6Il3|7Q$3H{ zpL-K^R_1N}%si@MRYP7qoaYDE%LX8cS>p92igK<@hq*FxFu5n?Ym0A6fsaN<5gRJL z%|QbzR7q=V%DtTQwmrujX_Fe?Ero63=n?>HD)~`@RY9GvYc{7S>rJRNWV03YQ;J674Xz zTpbs(?%q-ucHSc(FWh-$Z$0Hhuq|$$C?2KV+d9G(Jmu*2{`(wDJE|f{B2Nuho-1I8 zQ)tZ;)NwnK;WobZfVfBEq2$6_3T&q}6H% zeDg8RtV9maj2*rmBo$_6G{)wq%jchIzdgEL@?Fz`XP}m4vM#`jFkhY!@ukW_T!fJ5 zl%`jd;#-~_G0q;9%p4E+Aa6$nox6f{XZ1)RXJr>X#q=y(lnaVQDgA11xlGvR5DK-$ zpp8s_ZSIzX(^n^L5#n-)8yNtSH6Aa=YmF0u2e=5|_4$S7-bWp=<+1c89`e>7$?i|+ zR*RLJ%ZCvv|ie%-@qkV$7V?$ zYr;Flo}4EZIg&gqF$KF-E>=8NJfk=BZPd|Lc5ON3Yzmb~4*Jg8WoN*1ye{k0P$%IG zpv{e~s>78Xw|gxHOE%`(rMEj`$BjPc;k@sseo^54(+pkUbh=;ui+9fTb9}~a^aF&4CI2! zBX&8$jD=rBXSrsoSM|rGW4~I?kWZ9OEPn@#Ux!8<5Np(1$`L@XT399bSTk5L6(ge-J$0e5A zgDh{uucht|`Uz73#paWfe}SvMWig)X+q0VBaD@X$i5ri+lbC?oCn>0a%Ilx<4*6$-&uaX_j64fFa$Lf0&xtLb1dJ53t%$N-ZM1VuPtcm?%@{VkWMSN1d*jjJ0{NhtTX7c#VA5`iIzPAJY ze<6OLk!M`Ma4|dDY-fHk%6-pW3Xo!1d(czX|E1>xA`La@9fzoLEtD+s}X zqrGh?-&zrewmqzjFox}mThfNYzwHl-YGB0rIg*7jynFkn<2K!4G?1DB|O9c*0c_2%X5o46uR!A2DJ;bBnodvC9%DXbU z3xhUA5d!=lSYShydbQ-}U`=jAY*8K=N}@H$##E?=)DS{B;Pnm$1_H!C*dy%n<8h2L z1lV3+bH;#HrN~xJZ5g6kEZA*{kfG2&^v>qq8VTN3FP%z)S*ky&j(-Um7~X$(;>JcL zs28UG;S94xQe3ne`WNg6!!u+Snei`Sl(f&vq6Xmj3-1m^e)b)}go)b1ef~<#MJqB~ zW&s!c5v3P1NC6eg35{eS*rOnygxcV!QThvUSxo4Hh13!~g?}zx;$TXDJJYzdDb0`=Y zVdUHjM~0c2%-n{ys;LR+C4Enbjc6j6H{W$U^gLf38MQiu`eX>^P%&a6ak3E&QE-aW zd2i)NWMVXreNeDr`e+7zsC~ANnIYyv-whk`V2jX4jQWvc@~c>+l?3zABdnE~QaF*y zAbT7sT6s5^2@*8`2?88a%19RWfdn6J)eGNiJEf2c$1xDf6aw5)i8Yw)%N{?eM+|KL zmSO}{{wGVlfNz>$Q6z7!5$XhlLSf%pqy$J|`2x9-LxS}@7*gWVki=yn;y;i*OS&-H z@})a4+BUrUPa-#L;$oSSCdarilZyIICELA^Lc&SIPB6WAak=idLP}`?w-WL?<02LAr*# zMR0jon5ED=R=OU4ek?qs!;nktECS~>2P-x`i#=y%pgRM}{+@Fkufi)WsCF zxR|B&;0`%$_cAg51PPXh4hab<+2w3R1-5hmPW;xp`4OM;*`*xJ@s(MTmPW;~^`}sP z1H9{f@e!oSr}ws7KG}i17cj3Ra3O(~31BMSQ0cx{dIxCCxN@-0Lh#g(qutg@;G97W zpJ11eZi8VQF|r{nzEe!SuMOsPym1M}&PV$J=4B| zo%aG!Euln%_`gSYe~9^Dibjbp1Gg7q7a|(McAj}TH4z=j6>%Qnc9COBUy`Z>`Jsv3PfoPjV!5)6 zROjTxRE8e}Df~+h7t-XO(FG!{P0 zs#t{rC;)gXRx7?MupI4~MR=02b)2#_Dm4bDQ7f{pQSBu>vc5rH^I+;HUg=MOZf*dXdW@yff#eH4ED_&9ole|?U-1>*)& z50iw%iIdH8NLb6i=FRQkadh$0>wsSv<`(ujZ1!CXPBY#uJ}!PJPGsx?ZVu-$#{$PK z*9515na^75V2J$>8&Y;{GpC;2kD}qygZOYKVY#;eEC#`iN% zSvo8fI4m+P((70qIL{lI>mvZ^_R2P&SHBn!1I8NkOgtwpJ5!p}8|ERZV5%$@ycP&f zj8Akm{ZoJ?4xWU_*7u!t4fYa%EO-9T{Tsvu= z$7mSlka2Y{Dr4WZ2K3K7R9qJh}4rc?ei4>1q z2j`Dtg#97XGD?iBmsC??Beo$1O`Jn4*izwo&-W|;jtt4_>`dE7Bi}jZcDp<-osWUt_r?D88G?jNMAvCcS#dF1T zb`>us!2`8KtNasodc&>wJ2iufxc){#-$T~m2PrERcNO>&B&1{&Rx@rx@yBcSZ_Au# zs%D-%Y&Y;W5W58ZF@cg>WLh6QGPjfJNq4kM757KRa_NE9m(>OzbhSSCq!4CyvOM`J zxJ=w;2d?d|@q6xm1AOZxWl)YQr`Y87m+=c8-h%|k+1Vd~ldhQ^#%HUZ!&jO6_~Uu}Z_`X4fODzkDN-^# z*d9zvttf`ndP~hiX4CEBn=%h2*rVAaBcomP`wU(8C*_8VuRLGLO{7;}eQPUz* z*R{@Cd99F7vDN=$eMq?hKo)VeJy_r8ahbD+8`rC#f}0Dv9c! zJ6ZFc6jO}m3oGwV9!~0PFE*80rY%jD2NbhHvh3~OFY6iFsq1%zww73qCe=vmPQDC0 z*O+I0Z*H(NY>94mKaE(OR@qTjZJc#Hn9%`f=&Ux{tkvGG2X^3}5FB%!Pp_*sWB*J! z^X+1?+l+nLe#$~-MxG-C@M*b5_>}{QD)MwT7Zc{E=F?}EK6C$cbWU=gEg*}NY$oR5 z*YT7)Sen_H+qsHI&ZZWa_E+&~xKrD&kQ_(PI?pC@e$aBpb3NwaF_aA@nA78 zo0SIpcKKG-kv*xEQ^82wZ+$xUqBgmwS70_dFK>GQH%#84XJA4?5?45#)d2 zdq6xIU8!p}%<2mD@8C_~VkX&_X}vTAf5*vA1{tup3Z7pACKUd}cC6L^s%Rf!JV`6L zC1})7q-=i%HuwGQZpq-@eHOlZqsH+G`euF*97Pn88 zu=JoL*xw|I{{Y$Z%?E~6UGw7V!O)P}N6u*Cryt0ih%(cXHkX$NqXj*~fkA=efkA_w zz(GF&aQuHgOMp{@LH>z{00RrR0)zTHjRGkA{Ye1*e&_isg!~c)1`GO!2KssAL;RB( zmM(UO$bCG%|HCHe>X#bNpQn7@r3Z=+Vy1#fZei&eq-*WNH`gp8JS515J*T!_?%45c~rzC{>~2i$4_eM;^N4|#N_Vo z&gjm@=-_0*#PaduMtYM;9vxdy?Pf z8W}sdy6}^d{;ud>pTF8^=3({kn(Uqb?iQ$nOuyeSu`n_-{i|$HR=(e{JW5s`X13a5 zR(7B<1JxnG!pz3b_b0>u>(#%j{Ew_!|B;oOgY`eN{>Q8TnpNG|%t_S24pga&z`rN# z@67-C^6!j%Ouzg7A7k;?K>vvajkEv)AJe~PO#tC4mXrWAkpxy^ifW(`Bxb)q5Wj_y z`mYf541Oe_Knehfst}m8n6R1$_)mRUAB=u%KWR7=84*ix5%|tK6dn}}F<~)iH58=^ z+Lw50QW9}-C8a1hDP&KH6ma%a=d^VE^K>Y-T z1O7h?q~xK}FXZH}+Z_I9>HjX7ITQ>%w{&Y~PPJYQ^{Wa!R-9NCub%Uq3a+6us`=oUQ4 ze)plxgcZZY0Cvy2^aoNn(s$L%s^5(vII&Fb<@-Eb(yZt5xJHqZlJZdomHoO(|8(@VfQa8q>F#WOK5;TnFmE7^uxenP|8uk7 zhR>CJCcD*_mFu2R#0vcmH_-U_zy|K>2zCX7$&UQ)rO*hO63sV+SO>PqsC`EJ*@xip zJFBA&!}2%ePTNbLj|DnS)^iPJvf-lX95z^i*De@i3+{7_W&c{RM@WHFQ%c9{9W6Yz zK1`YX-pzOi=>G^iNe$W7e8|DGyR7QyiqSDaAHPR&wgm#O z)y$Qa0-%bV*C9IZZGR_$nlrL%b4dkj)M7nPYdu$<7^JGFM-V6_H6AWu5t1@HEGJ^_ zw3QZO-xfg#l`mcGtNrjJnyFkdPryy4J$2Xig?al3FLgtYr)?pgD?Y=_CKKauT#DUJR?h}nZ;d2#-3V}!8o--G5E*Vr*o^#E?d$_~z+yUG7d7RlGy9Q}Fj>d*FcAQSc4AMduSSRCj&iiC>qG zUfh^NdMS}8V6QP0r?7jDr?Nc!$=2@U5OojgVc!I(hsYs0Y&|2~{49}`W>&~IrBI44mm5TZC%se{FYdtcVfrc)6V4ih?4>h7le zDPSJDr=CvIa_dJI;N<6fiqn#zTlQ~zmdYE)r6%*=_vXy(C7b-#jc=?>t5~jgCPJ@o z9<4B*y1luaD@Axef-gVxp(|2Tppo&Na+oxCb#i`;{k@Y1&WVwbw1Q!luSN$sVHWi| z^B=I1i{{R#)t=h&H2RUQFJ19Z7ll`Rlsn^1K|S0A0vq6urV2#KeLd}$z6Pc;8Rm|B z`F!`!?kF@u0+NUWhoX^LlN2XZAJ=`m##Exd6YycIUC9HiIWm7i!AIXKGixrM?-oVP zlFmXFo2|nS9jGF_D`A>LF4$N0OxZ`y zZj;}^GDy&`807o#dcAGaA429VSioUZ;HMg2(WS&sBgpe^Oo$yI`oZg)mwmejL!9}m zt45+e=0Go%^oO5bH^<^rOUc_~8En^U&XdE`zIW^HQJiI&pST}xR~_K@#ZN=A4Lky2 zknoDlzh9qrdf#DeN-Uk`(x_5GY+sKu0jFSzeezS;az7E648#;Pn2n-6Gk4$hq%!Cp zR@HSC3clV4BVbVHt4Sjf=T2OlthKQPvL}Iez*EVklN61hnt*mgpws)e@*3Tig}uof z-ZW;v5ZN?F8gqTgcp`ZY>$!Y_k4{Q*axp&;k7pGHOAP&A)HShD8*j{laYlFI1#5>? z%9TDu#m1JPQz=m6b#3}wA=$0Bt7EChoA1BHa&6>m8v3f+A)170)W6dz>lVc)Q4NMc z0!WXvb({=JdHm1`m|W4Q(Lr5sSg6)MdVaVX!6RTbjgSZC%6S}>q`^4{H0AQT+XsC- z8ck!G4TOX}?7Z7h^*Oo@dlj&?updN((%b2mNS68G+ZFUE~fp_)S1a@lnv zHQ=rZLZIi5V-{=Hf?V3&tNE4br318Fcgku4S;Oa-jLi5X!3`bplB*Q;nF-0fBCj3N z`RCHT%-Oj#3))|FEsV2Y^aZD`T~!ZPa%`+Kl6k)Kmzj@eCUZF$AiRICF}5WxDM@#i zXSdos-5Vb1FUKXTm06RgqV-wu&#EF16AD|Ss8D+GORgJ{-A((zw$9TLd+VpYY0r_6 zw%yc@r~)82n^2A*>fbE#o-RAO4dr+F+-vHE;oVzmFaV)Wb2*MA^VoSp1@-FzT7R80 zi@uOC{5lluY?a^pRt@Im=^ThIH*heT7C({0E6HX)CS~~P!V>o{9dCvK!a&yJ^~%bu z(ttIDaU-JWOAhC1PW~fiFtum^vG`_OS&pQg?-qOXn1tas?Kp(p5!;s6Jl#5_J9yZm zM+V&mrPViwEJoF|{ZQMLfQt3zBDbmA-p8&^Nlmb z2AI_T6LOrMQd+H#K?!dWB%wFU+ilNQF9*uWbW7HkcMr(TvzLVKE}`bvOv0ylI`EDC zHcTo9_2KhAio;C!KJ`Y_^5+io1L7;8C!f{MZpJyCMla3d@6&xQK0$zYdEHoBFMTbj z)lSerMMbs7bIS$ZuGm=nOy=^d)f)$mSr7PA?F_^gf#eY{DWx@$S?8Nay@;FnnC1E} zCOUq!+l<7;W;@-CVj_Gl`|5i*=wb7BS)6t%aQPrLgHF3b*n_7RSu8nKiq#mgKrxq3 zT09Cvc^ByMt5C*|7XHU3Xpk|T5PsP#*3$I-NKzD_X`J5yEm6zEsRGWB%H_wytzKlo zVsJ>9gwGqM2W5(R8bj~y-REK0u8>vSFSfp~?4$7y@*u!TEqw|^FkgsQex;C2rN+Zs zZZMl2hG6p@3Lehhg<~c}`Z9z1N}^x?p}X~0H}zW(G$IBuf5-_2I&O+);&qoQNd7`+cdB%wE)pl%it9)l9IT>1?@6S zDPEM$e$IOX4z%8xAtB^vnmH-$$7lp?W$jrUjYkgJWqt{vVm%Y|5R+tD!}JrWQ&y7j zw^pZ;`+%OZ2-c}bAB(V8GML>> zb{3gms!^*l?A z`vUrtwB7Kcrlg0L4rmcSIK?a8)^HN1?;#xpJ{jjBK~luC2URb@!PG(MVjP*Ykljjgy6&x-a*Gd-G!m! z^X>_XZ2Xk^m0fo;!#4YmpFzlp6h#dHj%mdl;FRhkvLjpXb8GqV<{o(H&nb2+sk7>PO;@raZ16$58=RfRzlvJba=^}5am@%$S0WL zg!nq8TB%0U?tND);@Fc`ww51*RHM@$0EmT(kNeB2C*dbcFo&O<^b%8AEJL7kep;`* zn)4oEX?Ne0IZgrDw0?L7u|3WfSYjoi$9Jpba&tP;m~A+KkON{}M%AZy!(uP-a6xAcAh7Z7NbcA^?Ny_C-o3MHc8nzSs}rpjuw`;WNi z6*q)E`1~daCd+J6A-0{j%MDE(wG3 zmB^&f9$l(@xsXHf%cbNCM06wnvF!u0SEBYAh<-F>I*`zm%4Lv#m_r50J8Y>+FqXNR z@MRB_-1i{pqjmSq`9w@+d3e=SRvdWrVk*~HBij3$MZ+}t#Lw%(Y*_o+P2fx2YO(Lk z7vuRK3Myd6jjMI54TmToXF$gULlMzO5pSr)sCUde(KZk(P99dl+B&$YjQW+9jw7vA zm%V(~s*3y+RdkYUSMe}_5aJ)TwT71b;h~`gl`7cgS-+mZXS*)K!)};@HT)E-i2*h+ z{&QTsegGrN^bA4o6RL_uCR5HY{VNZ`ez|;}a9QjP7L#%1PW(2D?O%r8{@T|M^*Rtc z)ruff#&lOC-lrG5d|o8YthcA_Uz^>GKSj+=>8Vn>LSQ(Y8AmMKK%Tp*H+T=PxU5|? zBVV30MO~x&jR@M39dw>=ZTmhRT+mLxX##HMD7E`dBwKO1ohczW6+wrff*t;yLHcQ! zl{b`@boWb-GV^a;=v<0X!Qzh%+lDe^&`g1eRca#|wbX^b-suxCVVf?t=srdfeb2xZ zHqzOmyzupMVOR2(i%&mXlt5P)YiNk->(GS8BKr@b=Q#jBFGvsKk3qzxV z;Q{)POHa@XMHbtAqNLG=>TpOUOM?5m1!}i>Ma!n2uIo00tmOR}bd@@sM_ykCJnX-W z#u~B&oNehnI*s}*MGU!_Jg|4wg-3$I+&cCzGu=+63i2&0Iv<E%=2#++3Vy&z`=*p~8T+XfLT&e9kM$8?#Y&k~)p|5`T3FMJQE5 zy+KPRY}MF`-iDJAPO+Yb{{zUn6+Gr%tTW6@_%P8oNWd|v4HOZT)KpA|{H&$u!@QW% z>HE|yj$&s0peXPlmIm~H^W#8fg^T^D-!&yPzlUhYqu)jH-Q~fFAjktSmM6G*Wcc!U zV|Sd{kNjdCOoC|l7%;{P#~_{MBb+{DyGQNgcRT|3rrho`7EizxXMT)$IYkP9n7@TC zD6_$T2!c|-YH`@C9p&PETltK$nDaS%rQvez=OfFA|G@-d^i+Vxpr!5R?8*6FnxRI0 zexZI@8!9*!L}tw5oJ%U7y2Ak~w^JRcz)It< z?&k*jU3#$G?Tvn8KOEeiRs7ujfnyVSpI=%ZpJF!^>x*=9hzoE_vWU0uG{$>}L8m^b zch5cm-!mgQoTOa?$P`44rfS@;{Z2k}&{;r1?-x7ICO6Hp#VQiMd9Oi<+(sy9^Lkq^ z@3hR@S5-24kzUo**Fpw+%_# zqL7f3a5M=$gR8{g%5%zj^9Y*W8SViv(C-y1xoYagVXv-xN7Qu>(g~ws4%b!Ju0!n! zy4`2z9zq0B7oi2mqT=IqgN|g1ooP(TlqxZAje~9cPS-R#{@esFh@Nt zWtjuc$N0`8SAAD~HUW!Zb>MdkLdJZhlW4hA2Ma0@otQ!QfEI3AEF`r^;B?(`SBPxS zRnML4&jkl{Dy^E$y9Xb)(ILO}5APHwt7-s1Q;&}wcGzR5b+>}ex*_YVhi?_-KU355 z@Ttx2Qa2u8#c3mTZyNEX;tCZUp-q$W6vao1?oi!8=IodYOpemmt{HWw)T;orl^ZXU8h{+V+MG9%g^xmLlI!V>H9IHn>tfR-(bq9vUqe}+}QlWYF>YDF<$bje$=RX z3b|X}*v>jBD61eFNGVFsvB6)l0R2n5{$PcCKJD~knyVIM_2ZS_9fB7a%frQ4C*_s>Ss-0E#qu=$kBA$!1w;bXcTm|&DF2)es*~&B6MGf|NQ(%7QC%rT6z4XwcjTEfGmD%!~o%^r(%jK zLOZMkn}GOQ!8um*n2ZdLPvm^qZV$^d#d4}y-U&qlF(FhV!iZN>ux0eCo9h-<`X#Zt zAyg~y?}jWrYZSOf&+gt=6D8u`3~bF>dxMaqahvNDO#|h#=~j2dtLEd!Dy{lLuk(R6JqI7TtdoF)l!KJt zJBR^fa(Rl5V0t5_&~!~Y4gnfcnIZ+Zq9WjH5=4+=@iB$y;g48u+GVT8q%XIPP)1U? zkS|ut&2-n#5s;jrTj5tzKfPogxke{vve0jws1|@Ed`E-Z^C^$#lON^Kv3T9UnBYWd zF>_Pi|K&t)N$fWWO5QZcWf{+XUSVCSCw)2BUp&kxcmjxL=XQ_*XJL{)s-n0>@|c8A z7Jy6!N^LY@0ws`{GJjcne}S4(;P0yQR@jiu3|V#ml=RtKlDp~cs4UM#+x!=L2o=a}C1d9d z@`8~IWLA96=EfJigfbe_op-Se9a$>DEi&$T;`$-?Q4 zC4)rXauN@}{bdy~0VI4@$D?dWDq5Cz%lhp8CoKTWC-*Qu-??05#bme%0+IS2cf4l@ zgrw%k$BVgUJUk4Uy7^OunyPO?&`u#XjfZ{nCUd4iH~JE3Mx+pi(>;K;ruShm;<3hiopIHU}+hob~; zatHft1_Z_N>Ia|Pt><%i8xy8xtdwy#IefWD+}$QaZ1VBPuUS87jccw4NO>6hsFuoo z@L5xkVMc@P67rxl)4LrZ54{lMm%J~**tSx1%SgrO5l`hHiVd0k9t3thx&tzT z%Z7%eIL_dE#5m3M+`Gg)Mp#wnFKbU$`)xSPZ3lB-ods;0DBbv8EPJ%4l{= z#-wzI{{ZPs(IUHUbW$)a!W44Q*ClkLiyr+&t=9me|thfU)No^DPg zzkmNOqYHvUl{p>YW?!sVm!_s$>u<<-(Q|3(eR@Du9ua^817eb^yr^i^TCkz_7_EX~ z;0D-Efcb}=(V-KsWLeL0+w=Vc9>Piw4|JZt>bVX_y7CV9E96P-eP5YYOySH%l(mN4 zB|IL@-j{yO~zbI zjQ^VLdsc`@)ZB{w-mCM^DVS{4gTR_lD!vZ?US2Ff_nUdzew*DT6GL^?+?$!0XBHm- z8x<=*)AQvywvf|IWwrQpPh8{S00^?5I3+!nWW(!}k9t99HC`&d>@nTW#*2C}g|1Ri z2BNpCS!P`pKp*JWSpqu0v4mBuYu@RojD(j}QObw9Qq8h-YD8vBv%NYn{?C z)%n1Z-RgwakGY@_NhEkqLZJRciNW~V2q6R7sCa*~(|fVh&v=JbmDs~Z6lAsP9~+`j zt{h`&9vJd+3VR%{i0EZGoc~e3-xdx1m#^Vft5~~tEBQaJ$)k(4+vh{v{x1v4J=Eh;~_6m}z^%Kp6g%vA+&($~= z)>z6riOu@jxTMile@0V19BjpE@bvi8=`DuQNz8Z}XX94z3#y9Y`*$uFdypZ6o>OaypHK};UpnnQz?ItOwBwuR2m)bvWaiC zqPcx`k^Qv6+U_@dqZjGzq=N@siYea6gGDB?WqC!yWfdF8#t^ zeQii?76KL@FQBGj{gX&ef*M!QoQ(?L1-LDc>CK#bH&`n&WqvN}e&Qj{o?P}zkh1G> zJ~6F&J`t?5X5;kUsZWE6iStuc{SGc>p_UL2R_-$B z^s;JXczb=Sv-e4ueP?9a+{JuVm2?i`A^;N4Gc0oJ^9f#=4H%kpN#&;YL*UU}8bHXF z7I=JKRoH2E)*I9%&7`zELnTDlnLQ>jG%C{w+#659=Sf{HM*zgmApH zN-m4*`zen;&+~3SV0hj{aeXCt-2!AXMNUBWDr!-7a*wN&eB#Ku1-xYO*BNxSKe7OX zgJImBDzzI+bp|kdR4sFt>?SkDdWvgS(s*xjn#MhkPI&eo_8$~tITC8r*ks!nM{S2B z6B48rN7R1wJD`ogZ|1xTdx^-Tmo?4dxrsBFkn;(fF1(WHjHiiF9b?$DOrRwcCDaPq zZTjSL)*{=g;Zbsue_w0{0)gW`HZLA{=bI!#x-IrK_vfiyg3fy*W}YA>1cS$2nhiNU z{TONWg4XeTRaxmUpFnA>Yv0w-)ey)|6VlO!1VJ?--l}NM=bZ%h&Z2~+!~Pxmep%1w zFlovsE!Bj!NkB&_5x>SETh51Ea=yiwy22sSXD6M@kR<`1C0#khjm8n!o)+a4dd^GX z#+$+^E_@pu0EqKU9}f|x1mrFPneMC*x$3;isrB-#Tm494J} z+g)6sN1bm(&`wo#H|L!#LUJx-O;IVO_P8uVTRmTH7F{nv1dl;hr(LO05Cdi&xHp;^d7*-KRh=9ON_4*{Ij1MtWVatyoU_x~d+uShuCcrhYS@7jr zb+k7edEST2$j0rJ0*2dI->SDnHjQ4jOkuu;A0>N*2jqQI_Pb^pTcEiL$F2YoQY^(A zWVLMeKHm_WD9T#?@X`lZCe8>BSg!%TTFp|f-|MFs-s{ZGhkrBQC%zf427+AT#~1w$ ziXd+x2JSCiis!WB%N*2PkY3ezpG63)I_Wp?WV^D^6Ffu9O+d7nRqh_Z^los*1Ae-| zyO`j(kSke8C2oJU{>XXxO-8ErXUD`o&&JD!5r_W?uQ$V+_YZy9L_JijgaQ%F zdrmJzn4a)*M*qnKvQ$N#_!f*w)tS<~T`j8nm%%}m=g!CDDo$U7w@+BxJ9-Qz&!4Q5 z;qMp$p+JxlxdgDFcZkXQ;{@37wEOk#;#=_zM?#yUo$QgO-&c?WL6U-;?pCkrNuGZ0 zS(F3W)a<)CnL5MNyEa*!sFs`(khPrqyK=$f&c;-Tc;v==e0tPk*Xr4mdsYxw_T8KH ztc8%rWvYfDQu_Aia*9tf>Y1{OnPa>J&nt+(ll-kL&re4lg#6}x3G<>37FKgtTT0JcZo4?r z<7qMM<1sm$;vZUU97=rphHzpI{-LgI%G?!42f$y%=NWTGh9i z{cUIWa{D|&mvez!)rd?_(7YTxWAcF#uk||GY-HPi67t!v4~gcYNc|x90H%Z!Ghuy zG=oSwrG93rRz@K2laD!8&Vy)EQl~3Tsyp1M{b9<`6mtsshjRcQhG5~Pl7_?f=d(M>a>JQL?av(%Hc|N5m<3SSAd?Al{SO!GN z3sWGvkHjqXRtM&+$XP4`LF9sWujYewgjpR2=KGVaerpdesZRbNJO6ru_k5__D<&?k z6vWEnn4tO%=A3<9%`PllG zsl$AcP=pF&^8H>m_p`N;mv;gcpMe8c&0i4;76#$ZjCxdp8RaF$7C^3KvDgAfUG zH3X*pR9+8lr%=npd1f}i`SiT`zeS-wZh}q51Ex1T(;j7L~Hy% z`t~1K)dL+O^5H^`qX(S?$u=u5%lq==Jb%eego6YN zdp2ZeBTTC}Q8{uD+;JH$HWY6mwid*%>FbfaEB(s7Ka++xs)pq%%|D%_~#7QS4} zm-lrBUJ!sRqHUA5=fh$IS_MYKE;$l#3Zvtgi>U?K<2LQ*DMb)mW3}GyS{ZZuh?S{` zFumO7Y>{Ql7J`b$rb~Ruq}>ogN=9a9I!pP95I(7Bh5VA-C@2j0cuW_HvEW)5xkSb{ zUQJx|EFv3gJzrUJ#Iij%Yopj4W20vIN_!$ziW{#b=<&g3wYi3IH21j&DsO4)gPR8q z1Sb(3n`fBX$)l_L>va0^%|XmpEOQn3-HtW##3h2?+R)Z{z(;U)mL7E1Jg;LKG%T5z@$z5l zRT|SPO*Zqbzxr%_O}q*I0%Mv`hY}j8p(W>vPI$ZKBUR3BfYg%pFzxKPZT=^u>pV2qO;SI5hJ*G1N!OH!n?v zd3wm z_Nb;Wt8t)(E=%{sapA7bqoBQFm;1lHjxh28Lf3zR%u^D}xtqgj(RKYaob3;LQpeNu zehtKy<$kxz7S|xY-yu7@u$mEk-1o$t>-OiH`Fb z=;ar<#^r!io>aYJGVA`_7lAt0EDwkh!DWrJ5QBhr@=Rl`{yO7zy+KrnvI}wrO#Z1G`zq z{jWO#8xaAE=(%X@C@y9Q7Nox>SvH4 z$oru9o(OpXlU7ZMD6Rk#zF{~GLSQa1Bxry^Zj4d4dCa2kZujx~C@d@Aaw|XPx#K9zj_{^85=Lej z&|S^*Hx3)PE7{E?YK}0b8ut7QNqyF1U$2@ZU9u~gKd2Ip0RuFQdA7(${m(PqNUU_l&#kHK_}uqWzOleexW=*xk1Nwa5^aC^fMn!Te)<8tMGow z)ECqfJSE*?3$a+qfgr;Di~Sx@hQf@Nd&_>!H;>)Y3vy8XIWYfgaP}eJwIyW^E3>On z+*N-66rGa+qaKE9C5+$KwQ>_6}Y%F4#N5+Wam_K;>L+jnuII)v98M z-*-MB4%aCD`#T?7q!2k-`-MDvBKnma=G)RdZX4ET%Zn!+>=&lg*}ogB^1HERXEz}9 z!|??W4Z5CT&rZM-hUm5|7LiK`G4OI@pc{| zGyZ3H|8G0`e@4zA{q9Uw#eU%5z55^3#0+7D{Cg}nvM(e4&(i)s{{^}PgL-;oUg??t z-!%XKRCXaI<<&Q-=o`VUj!KW6R!Rw2py?@4RVuqLAZ?kM7ldRj+0l7Zz_=LajqmVH7(}lv`Q~{w1EOD6IBa(PcI#v7Y!&{0POQ+1_}2d9 z&G4IG&(+@-Hmuyg4l}bV{=m*0kAFX2DJq-+fgydD-74<-^ivL|BB@N;Fip@?X$0~`hP!8iC;sXBa2kX@YM8nFb72VYsLlDHTqqF28Xx5M zYZLLRgs1Ugb=(p{Kt|T|>hycziN#^*DMItW6O2a~jLnefUVg05ZDDM(nw2<(gn9#k zUUUDsPK9PrJPKB#lNnSwn=T@&1}$$Af%B~`*-+5X%G*7mgi+3q*H$1lxNG|P3GR{a zb8aRObRS0F`nYVwXLR>Xk(^E4)3 zZ@edhI~I>NDsE`zU8Ana{QaA9wp;E&*l~r^+by|K8KJ7z$2)RAex2Qd`t^~@DWsQu z=GeFGLcF_Mbi=gG)nD?6mv(t7IWm|4zc(NuzG8{Nx>U=V&P>mg$2&@t3+o;>New}~ z4VEAtE;=dj*Px@hko$0~%-bg`ypMP6>v8g0L+iN{qIqtL{|{|%84y>~u4^VZAq4jj zT!Op1d*kjQxCeJ9xH~lNu0ev61b26LcV`xP_xJ5R=j=Um=Evk8bf>AVwN}+5_jT7T z7;)6#8XrN)CN;=*({5G z>+k}&7E%VUdm>QgC{ld_Dp18hyWgBAA4I3!DBw~g%Hg<=4hYOBcfhwhW{*5XN^VxU zfaHF%)!o_g_F`wG5SXkIJ7-XOc_#acN8D>ikF6C@CYaAuWB~ZkiXb5X?wk;I#Qt63 zqPgIJvW}k^KXYPE==3=J=>a&iXrv3=%wqFhxl}bmv%zvtK3=2N7)4^F4tMklTduJsdKpdFV;mnmo3#@FlVy5hEx6c#mQB zSi#l7Y|)<8_-$dTu@H35d(DPnaqru0e4;%s-qQZvAvseKC&Aq+yX=mNYH5k5KIU51 zB3)6ZP=f#bW=7XUtx`8Xjsi3eNIQ3dZq;?D3(rtoK*pcI3tt%Ckd+dVO^_%W~em`kb_JL_v7Qz=l>3cAp)|&xt&O8v*&(zcO7i%+f z4Q`o?lt$QTf-M=}XYgeF{-8TM$A(A@{})NO%fHh|iG%woN8QLJucXUN0Flk%reVIlp;5y8;Re zQ5-9I?;Z}y*d#`v5ipV4Ovs#1Nez+~Yuvs(fV+^UQGdvk<*G~daJIbC zs*wYa!EqMH*ajT>FrI*W!IT2V*7Q+}+|bI?%*K3@Vt`{A=L}jGD^m&ySv& z_n;+^H2a@Xl1|r#GJKg0_rzQtBAh>wVJ_&miCm=M=LnV_My;<=FJzO72s~o1Is2W2{(>)IMCww}fz%tl+WzJHZR5k6( zGwb}3qh1qI?6)Jt4A)KYm)cWo>)nc7+cH*2%Tg{~c@{u5us%m|t3RPwE`v)-Q*-82 z=44|=_R$-~8IJ$1GXoyv{@oszB$^2>k7X^T#h9IH?D5Oe>Lare@%;&3FD{tNG?tdw z+Z$NMWdU44{=P5%bDSYYnb*^OJiwEXAs&PES*e=*3*lNe6DPD5ZqU7Qb!kOBHL+BJ z@8%nM>r7?q{&O{vK7V2>;o(*7Yo5CVTC^%h)xL7t9?6M8y zIYs*GmH;$5I%nc=H{aXQaA#&394m#22G%qh-*$B){5wr1th}oxn7Q#Knc4vfwO8E% zCQ?Jz=QnZM2NZW?JD>i>1E;!BROm$_I{Q~y5S?q2PGZyeJ zSdYU`0Zk}hge7Z`*J4w2n=XHZA%QvocO@v@LK*F#fq1enQ>THc8!fmwV_w^94k~SR z>@f@X!SsEzCR`)1q>CP3ij5CWZTRC8Z`^LJ13`*CPheCEwN3i^&uj@+}^g1U{ zo!ditonA6-B)tsRg|d9uv-`gP787eDjo}X1`92&-$)je><+Vl^0k(0EiI0NIdma&| z)S(6R@6U^F3$x{@HlGqAz?Df+?}DKfOdAA3vA7ZGv?FqtC=5;eM|Sr5WwjRe&{n9# zG?<`^j{XZI)&x9^t)74rt8 zUDg7zOh>Z>%`s(GmRp=bXAuEQ=d)(8U3*D-UfD=|w*s^#Je?e;48TsH@eUDD#lz8h zt|qVzs7l=f7}slvAeAtAy0-Ve9SDBVB$#owhtkB+$Yr7xw!T;IjAZI@276CVmunrI z?+j;1WAk?bZ4va^3SiGFz-2X;kNn7q?k#jmb_M8J#w**OOG?AO&)wGuhHstyAy6~& z1?9}ns&m<`2jr|h46(0_0-y9%;mXwb`OI!_N=;8?p-Vkmg$8o^^XVu|?_}0@F(u)D zc>xGQTE*HQ1GNQIa3khwZ3D1ghc<}+kF;2%PBBCKx4ZMNT(+xk09MRB)JErv_w{MJ z>jgRQ!(pv*z7$4(Iwv#GcKH5U3rDlcT5BTvJP3j0|XJ-yi z_l{dX^dE1}>I{Fq%lHY_<~Nlj0drpGe+f^V3{|8)bU4w%pqtPuqRi>yAO%WB0IY6S>_{5FdZck%{TPIDs5q@f^ zS-~mm=~|$8-CsUXXEcMv;<<$0>_l;9VpR``1WqP;JT1e+!I3mDFbF^@10)|5x5(U1 zhspLxaxyX==@Fr!ipMXfBzqLgH?}X`%p~AIvaW${swk*dd; z3k_De!ANK?$yUaXArT`Ae08=Ax;#J1G-`uFF{s6WUR4gUXy|ALw{!eWu;an>*iy@I zpRM!nmq{g%!tZb#l`-4OE@rf2Ul(g8n4bfd%Re=e%AQvF?AArLa2kyIVoUTulN#+_ zo;l|SxQ-->KV9rfGy z_;`SPz(GhT&=kag1#|`yb>?`RnP29Es+LPs%S$d14sDk{@p-5>S({JQ+>-@)G=4gQ z4ky?;tq8sfuMac9e-vyPgh12TqcQ5Gt?<8pqSQ-B>IJF+&5llZM^80vI_MC77fKQ# z6qJqfq+jXf6CNRJM_chIb{kFuT@AX?-5j)D=&+N2&|sL4>RD08&4#0C{*1wm;;c zHfqc%wFu9{T-&2K9x}MPmyi7J7SCA+_X{q)693-c@B>YL=#rWOn=ggmSg?s$%%{6; z7_t*E_Cv~*-sqH7Z6B&PNb(}kdwxaFoiE-FTel z8xa3H&UZ<#WbbiB4WkhBhCj3oAH*HCoYcoA?hH3l9#^W6A~g3=mlUKtAjSWovf}dU zIlY_3;7nAfeKz8JC~JJOL@t?52QQ=v4|F7Ul;`-euh%^M7wxP6nvua>)4g2h25=aq z5L+XkWkP4+5!Cduj?p6Je`Yv)9Swbb2KbU@YiwvU3H7-}&;k88^_LF=MN1oDh{9%W z-lc4G@3esq*_Q5# zqsSCd#;WqS`!~6_`5)xoF5j~$H|*Lwd(>y0`p&^e|4Dovm#T&)k&)`iQxp-r!Pg!E z&`MKa;Q@l>f+L|jb>E*r?L;@}xEM}G+&_;+m%YX_x?&btf6+xhp1?~ApzsC%gWc;V zcNBNtA&77>e4^EB)4s!x&P$f#KT=NPw#j=su_&UKhKD^n8CksZ?|>R z0_1A_HW)G_#H&A~Q=`TszaGw3U$(zIfn+sXoXVGE5zOE6832_xWzjbxMmw51MaE;A zTuSwka3cplDkpaNgQ)|)R+KfFmi`Ww0feBOtGg{@bq*&ZES^tE4)^z;Q__jWo#FYT z9cD?PbH;Q#nC}7UNEx!(_4%1c*aJV?!yE!3Bo?iv$j|aZrojwn07UM+?^P_7hh7-brnVN1SH}8 zEtI|9Upj)Qcrs@Zj)&VV5f0iUfwz=4-zb1d!MBZe>Q|)Nt-t- z`^Bz6(#0DH`6JE&s^ErNke-byOVwq+wY<)$5^STud`CJ&vN{o9qG&?F3O7;#+R7er zi&qixKz{k&@UdA^3rUn(#Mobov$%1zL8K8KU;L}yLfM4A4s+YPuSima456EdIUVm+ zWswgR8DLC3+n9x4P)Kb)c+bBQjNd}f2LitBTZvmMHe|iOEF&~P2xCLZ%DA8Bc#7oD zvw#QnFa~{Hs8k%xa4}bA#o9uUB~;MEAP@FtNd72>k5hL`f_Pmg?WAd=)}k`a_)X?N zVMTmhhWgI901Bs_d3Oy_@6p-)249TPe!IY7d>iDBGDIv+W?(;Wgpr^^Kp$BImAP5&N!>7A!<-+#{o$c-=0u zIKORE-hnmwjZcFKjsMsPC@Nw)s9Y*z)oCsin^H<;3qcT?&>iFPy*? z$h=G^)|%c-6Cw*xt!u!iB?%byn{b*2)9N%Ue*p0scEcT8#L|R>geZW&t?8j(ZIKh! zg_$7b7J#q)>A-sW7!Y`QS!Y4__Ws!5jOyx94WPU*JTEN;e$C#w-KGOd3X3eaQB|CxOM#A!u)9tc|>0}n2bOyRt ztoOuhycF)txFA!qC#f#i1;3C;#5hZXD6kW*Y*{FP!z zJ;{fG@#H*DOh!4W!gO$FWoh@nh;w(*EcW(0^Sfwlzh)aOgg!EBvabv1k^q?48ybYE z6KR8l`B*)HF7=ow*T%+gbQwC_zU!3)Nh&|LDZRay$ar`?pHj&Vf5OZvqxR5vRkDxB zqPZn1JP)2BEz2M6;x1RRQY~2V+Ohiby7tUnCttlcC-Csje&AFm2wa~Nuw3ToM z8ccio{X?kW*wFxEqh+=O%fTO*gGZoW@6_u_kupMZrP(h7a#d-7BqQMqwSw~AM~8cR z8kNK5so!e<@{>xi*2ViFZt5mx(K3kw=C^4S!RO=48$cS_qW`ErgF#@}Gn`F|T#WM|44~*|H6bubvA)aUROPk;$Ticxd^cJTNiV(0TY@xwIR(6bI6}Bg z6R@io23qP{!eyflacbllfak_i+xO?`L1>;l?rFMI^S_QkLZrRxLL%0r4vS&1b9~;y zwq>c{-r%VJy45sy^(CHwfJA>;RTuaHE#7&xt6(D+@6s;_J%rmcy#Vo#JAIS13i=RaCN; zHy9Z2>m4a+PDQ{hEbc`ahJwzgPi)j#z{=zg)_e_~Hu_K}gh;^vhGi zJ89VaDh9U}B>AmR>E>h0b*LDW>jIfJXNBEfg#*awhr zXSqlg7jfF>u7J|wQA&B>qsxci%vrp|^M{ZA(LLN06D~||{$$q2P!w6;m*-(IiteM<(a9!{SP{sn}t$TX<-o_i~To*0n zO?vhI${aE6?SRl2+~zfe>QwwDTg}l7v%Q_KLc*~>km`$HVCy@b>4~}0$aYTmsntLR zAXxaZmIB_yS*|8TbjeQU+B`266&GoKWchnN`|l*tG?nSB*Y%{C-DT zZghtq{B0qi6e!T{xz>MXaVO*)Z-ZKM(>LZ7Z7XiiDDa(-+m9YKcZs}v#*RpJmP?B2 zO&tkHGz~!xZM*P!*IGA5&R>uE5yc58cd~gtp8cUxc*Cr4dIo7vRIN|?L7RvtA^=C% z*uYQen1S63`422{xn3uM*RAiX@nPuqrB*_7GNPUDwtgwaJ-ynd!XVw4`4#F|Co!26MjJVIiT?G6S`UR z$U(U^ZcfNGF8|H>3FpuIqYt^6@}?eAh_Kp!#zinUzo~eA@vOZ-!Wk^%pJazwr5~yy zLL#>m3@7GjevUEeVfuXVNBxh=<5(rd?-QWD`IliBzCy6lK4SGpsv1A68e3%XK(>IF zU;X0?G)oj=-`?)0-`jV=DuivJ9C5T}Y+I!W^B?IRCdwPbf#wX(c*tJOs4k7}Fws%b ziR1dfND8bIkQBg<%zzfPqm_&rh~)gGqZL5}72+{?ja>n+stNhVK|L`Ua6n{}=7b$n zsyA2p)epm@6El?>U33_PmnC#Vt7<<5VCK)hTAgE!$iS64>E^0-U%O7-ro(R>oO9#h z?U3<9kaaVUHhhLZ@ZK6Oy*#W6aMw7O?%;Jn0Q3x8$?&xSCI`(#mqUb4$8{ErHy9BE zaY=@O{3B_X13{$@`!!R8agdDhM!>#m5q6;PTfm#k`{>h?yHGpihlqQGp}{|;TdMOf z#&;TS-`4H6w4WzX!NSJ)IU`Bhu^Rhl1IxcY*Eql}MS4m^Jpa&=1s$Q07{Iz#bt{{T zNZ!SspXnvC{>7|kJKv#c&%Y^`H3L+tC>~V3Zwx_R?}c#rusgy_*nCKbl18M8xQTfd z$=(mHznTJhy~}Ti?|H)=P3G&vLh?D6Ok2C$W-=@A1osd<=>S&zHZk@&Kl}&}9t~j9 zB2mOQnx*?wSzEkfiTPQW^7=ST^;RK+7#sgZwX%5J+Ui`4mi&SRK{=l~lebrUtL+dl zrD%8;Mfos(!Q%14J6yA%-E!@k;P6sA3)Ti>w--)Fm0l#pU!5G@;B5q}Lh-rvXFYj# ziHk_8a?jHc9-O_(vlTJllB_iyZDQV=FBxgN+NLb{x%i!m?D)RL!SK%U#C?jYfz_y& z{TXxG!%WDw>HA%~O5YdJnoxM_B$t;TTs8fcdF8Z))3e!PzOIJZ61j^RqHf8y!qL~q zgu^VGqzMjW${-XsrqOYM&!&wdY)DX6J%_-Din8jBn3v4xV*Us`&>?+DM}j=vB!Gn# za4w27cJW&pyUuS^Y!vHA(@y%^m~94V2!BIaAm0^>t5Vc$wCk8pq+>T~=1EO?>8aqS zZM%j8aeA$WIjel>xT08Mnr(TG*z){rP0CaG={8WV;xYPIPhy@O)s#*30Bp-kpuMP* z+%{z+B}erMOvpp999A$yg4PDgI(g3-ra0*n5cOLe2z%)ehE&{%^5I9KLr0YEuy#sv z4#88g#~*dFf7>ZG&8YULR{F&zDt9S;rtxrtL8xiEtVR3GQ0mxirb+rYtRy-_U!1t( zXTC*5!?k{yFm1d-#mNElH86chu4&DN!0mZV0!Tfwarox5+zKIN-AB=CU zn1TS#v5262^i!SgR|cgOiQ8T_eEcP%MO3`@!-2+QkC0ObU{5&vA>L@U(x!8zwg2H6 z$e--#KH^6_<))`x1>ZAtmR(7QvWRz%1;NGxGS=k(m8s?tbXoT&tLxZ0!K`rh*!=ZJ zsl0%TPgPpaaoA{+2at_P;6Q~36xORD9Pzb;ZQDF0Vp_cne-#`=1!oIpca>Q=o9k>r zQ$>?#&+wyxxj5qCWWIl?jjqcv)FLJ#18%b9%ZTsaC3bs%+-p<#$3`-5B1CeS{fNx8Hw;~+qNIiVVcxOc^ zpiqI%{j5&Th3X3?UPa}91+3@0yBFX_ZfEi8zQ#}etWaI{86_^U84!1_7|&H-h`^&f zp<7F-TqC5?u8eAsPP?$`a^B6=!gAb`B;ol1*HxRNNdGy2;?ZxrY~J_XlxtYcCT;Ek zJuMoz*_Z1(>DE1~@GR#pn+{o8CupZzUVVd_%me%PZw(I^en10Z;v?7X=j2I+f?^s=77+z3loJp`WWw< zW#N+N-(rQ=lS9bhKlF?F&@UX$a;;t~h?=z&nCnGEpMeG5fSz0OodIl2p-f6na=T3E zt=M`87Tic)_<$}>?f=GUBRTmkJW!GytaVEo8Rdn~Co9WV;)1CN>A=`$Agitkz!$<6 z@P$Z5!v#9&B?|Am2%u;^BBb;r80KIQv7z+Hcre!D)?Q6&xV(YkGtwk?z4rRVzPtL5 zaNX)oqt2bQzqDC@lVIxTlm+xbJ_vA7fYSf?YDKyCmj{vC5GD(xpWRp_^sD{rCE!U; zT7O8lromx?vak7rf>);+W2@KjsWl0Io&D=VF)fSx#{2s(D>h7X8{*C~&8cJ_s3h8` zct-7BPs%w5y)h*H+i2wklE_kk=vp;Zk`Abz;$&=5h+&h9xwzT?vsh&UUMV?Vfi?!a!4y!#Vp?0(qSo36ubnGJCyzFS|gVyZZftYvza{FDMpFm`pmxGHF z{=0tkth)A>ORJJQRlm#~qrG^%D=w&?iKmb5+FwIyFo+*@mkSLmEo%@yrjNlGpBAF| zO{SgwQEB-a%~56Lg*)GQzj}8WUCy=%ZVlBUSIMmjtR4Go;ME|crbQ4nlv^{_MKl#( z@{g;Wi1%Pj* zpbbd6U%NFPhe>uHE47<)?nznh8ARJ~x_T`=b0yV1c#;_mAW~%&PtgthhQmeN6#;;t z0_b6#R!)>@FfYxnr4<@U9@tRvVfNJ*QEwVU9q6Q52%{w<-Re)l9Hu9cSBK+v7;n9L z1dNpkxY4uq%Xu1<#U8N>LYSeU(*1eU%h|7}}c-Drh|yLQ`T zzhCisD9^DYmQBI){L^pm0pK9Mlj3i-zvxviM9iytrx4p?)T8Vw4vPLN+zEHo8?Wb{ zu{^JbuRwkEB?CN6tS?t@k(cc^bjGvWjm#Q+4D!CM15EVD+Uyzu=lKeS_PyN1x#PdQZ?J3uJJkzzrR+y zhAO;)J&R&nZ#a|WC2KU@3UK;{Na5{Liu48${Y#*i$l=FkRfup=$Vt^k_$Ys!Z`oB@ z$k?OHEoQp%;x@}?F{GI~pMaGsBX_nuX=|o4SYMXt#XYmjhWfngC z%4f$OzjA3!{I|@{vYOB>!g7HKhQ8_0) z6W850j;`NLohxMS??_u8>NoI#swP-b*fHvKMdQbaT-r05w1jlP4uJO+18tZ7==uVh zm?}UO4A4JL=y>{ZuZ8Mpu6DAm?Pt|Qf8ohGAE%+$A$-~oplf20f1cz zFYeaCR4JBkW87Q%UjRh`$Zbp$85orajJ*KSO=UkM#6HkMR^H%n-A*x4{$>V9O~+Fv zu7F3(OQ3FjBlG>M;j-iYq@>u%De=D?cv)|5uQDr?@q^c)Y~8AwtEfh0Bjhy51R%LrhIKUPkESP_h*wC6wQ z;#n;49S!g!(f|koJ?eIDV7q_iDam-w#_RzQX8#0A;vP``6&3Q!V zj&ixi1{5mg=RCHoxOi;s2zYt-?9v>p{HOy=TGtUxjsG;QKM~0Z4dTBk;$E5tb{ z7_X@P{DWIV+GYK2qbCH7tLacw;J0tQe-Ip-K8}ClY0XaVDWDc2OJ)i57P_rshcP|y z{q9FEkc{xh7!^mqU)g+YVM1513CK}PMjU{EOA^05{?}42&|bPH@VrD3L<3UZIfNTd zC=xI5r@zVR${4Kk(IfZyS}}fQ>5e-0>D;?-S1x?4FqT~Vi%qq$KfRvZ{Mv2BJ2TGG zbY6fo8#KsYrqF95zi|}hTX*9)tLEQ@P~rw3rwh|!r!rD3vh-` z|3Klt@6nv+Co%BP)e9O_zIZvz0FE{h#rvHZ5FH>dgg_gB>xS4$qKJ2R`Ss70TVc^_Rnq4V6dlx_<}um<`{P3RLj_0Klt5NG?Xg~rwe4~XxmYbg|U z8&SPV*{u%7%BM6F8{WMr^XmQ7eA`4$UMkq+b~1E3dPNPhkgQ{tr&o|+woV%K`5aI0 zG+S3w6q3uzudhEu<7m}~MY;N%w(_r+Fi3yIa@D}!bn?<#X}`qNU6%4EN8f8F(RsRa zRIU2PT~(}1WO5th*g0`wL82wl#W9p}8Vq-kblC$|HrI^(<>vMjXNe7)_wMZ#F>6Uj zdOO{hQ-_82uZsCK+NL$gwpyKWsy1ymmbqJ%Sed_eMb%i}Oyc20X}jRA&`8dI`u3xs ziNR67OW>EYkoIG5Xd@*SQ??DtrE77t1DEAByo{Eo@CUyiSXHiy*i@K9R63>CfNJq) znTkl%P;q2*mW&H3T5zam1IfDF&sZ>z|HAgK-sAi{i#TuYD9|?96GZ*qLO&ce7?BaQ zq0qd;R=uy1mPEc`LJ`JK7m;MX9RszYnt9UM4*SV0C*oKGu2uJaOob=M4%BveYdO4g z{^}mZZ!0ke`fzd;`;GYw)4ed`Ux}2mt`$7h z#g0y|tNo$Dd|WYP)8`K*KNav#it)2p!Hj9;$N7O;!(X9Ut?XMlFQxFOQe-0M$!kSP~zsTc;+xLznPVRC2!`c?w#=2wpjQ zwmrayQe2U6S}@^jma5X;O%CQUK&zMXAFU~83qh0dx`r=$OWEYTj2XS1Tl};o>Tg%a zl+jZQ*p5j0%c_)+s$*r@TKE+*KmDQfE{Th|R&vW7?tPlL@iu`5nRiFxbLVwBN*`s1 zzyqqp2K1hp}32Pu07Vk$}BIdczN z#i<7O%l@=|_~@iFOO&yHgY0>_`F0vEuAbjAC8(AiG$5&XC~;zGHD4Fgzfkiv%$P|_ zF(J#u0Wc}f*H7gUGyXbN;rVb)sYGr7!gu?@>wKKfrH)D?*+_H)Adf!R@JifnNQpy% z2hh}RUVWwPeahsm&L#M*YNI|3N8cpm=y!`YVpmeG4=!vkwLeuAI2alDU*9Wpr`l40 zASNyx9Ut~Q={Y#m@5@;LQQhc60WAg41BC*)1~RmAk3U>=2W$F@(z*b$J`Lt2=9b{guE+7W*L4jh z&S^Png0ADR)f(5_dsRv}PY>_(B}Zu%+%v>Jww|7-HCB5QNiYnmRIp0@9U{C7AGhmg;s3Nw}Ikli0mF zNUBly^b(`g&P)d6R2^l#(Lb!w*zn}uQ`*?KcI;Aj{gg(p$2S^4oXYU9J4OBZw&dF#czb@ogEj?^F+0`==*s^hXdEdgla;eHcZWTFF?hDcM zm|qZgHLA$#luTvLVb=teqLCJ{02 zrT(CTXqG?@9}yQo+2nO%wb{GxFK88-rP~C>XmnF7!SnJ=B&+LCb2z~i+Bc8?=frTX zz+%>mMo|jXwQ>;QkAl8Soo~TzPcVHb=Y|xM;x9b5cNajgW8{AC&0RsFIVtG`JG|K4 z+!{h3@j*S%nw@*! zmBPp?uo?K>uW5G0D|v@gR}DaJo*#1`Dfv;0Oyz$k=HfioB|#0Pt8wT0g^XPS3yHF^ zK>t-vC!W3AMfv?yTSeoGeToCUX`l^ol*5*^vG{yi=rx%lH_4N@p0{IL;$z((5D@dy zLUVdXi16W}S8thiL3rwJ^}(R8jNOkUGYWqZN;+q-fBD=R^IXW@Cv`XW4(Z;G>SRH3 z#>nL8;>7ZWu`6@`Yu=N6OZdl#MSjm0Mq-!o{g17jhUQplwXF8eoU~{XIuH?3tYSCw zHaXVSZjCNG5V)X{!s5|ldis>|(Mgffj53~6>Yzt1`DQ8vurtAO=e}?|eD*i03Q^Hr z#k@tc%uFi z$qw-#Eh)m+u*?$FNOi!*!lFo7BpHieZr#<%P~}k6Wl4!7H!L0~;2?GBLo4XTg*fu| zJea06o6=}?yFx~dWtfZWuOoBen(%VeNPcLNH${?4 zMgPpL_Ct@hV!US*t*C%6(e-zPeZPumT)*R75dde1{B5g%cQ#U6u6vEIXLbCk4UT8a3ug zs5Ff(hKBw*{GP4+P2o-U>9=V@5)m!6DYGJ~cy(J?tf_aRpwXQ@OO9eN)^Q|3B5HOqT4Cx-KP6 zauf++4~9!KQwg&6L&Q8Srz_bDE?X11$RoL=I>pEYmZ|b+Z=d0r?=MkI!t&=%G}Tj| ztX^_~zF-BXK{qL$dQ|Fod5qNuD2iF8!;`hx)LZ12#P+_8qV0_I zDvBwlzM@e{g_bG3?rrj4<#gDU?~6}(G%T^^D?iUAh&k7_orXekc zRPR4{O)ttpW6vhCRRx}{ri6^%&yR}VESDfn?xRqiD@@xb86dsG|KsUZI|zLn;+#W1dlGItBr# zgF!X7fPs@lPC6HaMykA)pL}pkCi&Uu13^mOk4@7kfqClDRB7{$#KEhWxwgEIAx`J- zl(qaQw$@}G;;0tD2j@PHigAaVJiT1~03f!dw6)uRJ#j*sI!c~4s`k!xn+O5VNLB4< z@~TiJ+fDpLnWKmf zc2VP|NK)ekP6i6)GGh5!>fVK?lXb>bOt2ANE?W(a^>ArsXXs{thI4vV^FAFPKFqxr zw5_H8Wj=~DSW!wJt?q0&9L5mhNfu{6N9`yw=k#qTK#|kS9s#T@7o)n8EfBG6A7d=8 zh5+{JR3WQvAidpR>OS~`Obsse4MZzL--8}`?+YE%YQ$^@!c^ZX8JWo#-a656VvXBnZ-Yd2 zqERWUaAqY#-ChS3epIO0Dh{oD;;H@sWgU%Z%i9_)_;|SK z3R^DMEh0X!JF3MEX)BYWXSXTm#X|Y{`W1O6Wh#4I3i92S-voBMGPgy_xHD!c8b6j{ z#?SYu6*2lZBhOmcTo>rWdeUycWsYi|ZyUeaO;Tqnxt_|q+1KscAE#0$pB`Y;K1re( zn!W@D-iNvcydz@8v;R8L)+77yL>x5KTqJvXczE@j^Gq^H9x5y$!`ylGkXJ_2?$ZFf z)+c$p{8gOv0X#ekRq?iuUP801l1PVMaU&(A8;b3~L-uasq))OyYEPVr(*z1Mj~8!T z5tmCaUu!aw_;~qe?(MgE4zJ#5qAZ;4O;ab{p}YbN$2#$F%jxOFRU$H{RlsD-Ug0t~ z1BN@5%_`K#=gnOWOQQhuxf$8QY&E8Fb!alncapFO(&Lf|Y8;I-Y*~5}*;3!VwpbkO z`dgXWd9$qW>*i5zwIyKZBoPZ20O|&Lp4FG7ytMG(`02Ul+)Dl{_I-cAs3Qr6kJ1MB zkx;>=!{=@6oLuv^x%gAC>PYNov($Pz?o$vt?c8K9|of7SO*p&c)ZPU zv*@|*-2Xa`OpyKa&frtw&+u!0bLORQxD2tf78B;CxVD-#Mj?|}AMYNyC%n_QPC~CK z9Qi-C9uNMF+1uN_2hS<4But#fz%#rZA+tTa_;%{u0Gq~JuHJBi_5Q)? zJFkKg*#}un;?6iIWK^F`TB6PVQSdSVt;B&6NK(r4;SK7T6u`D3LKG=gWHI3ld{x_~ ztP~n<(JQ`NjdhxF#k_7~k|BT|Ok=1uIPE?&gzV<78&t;-YA5XVQ z;Z+AgK_|L#?4M_1)NiKkN)tVS_sjq3l#)wMbL@`v_w)IaXRAC-JCZ%@y@cW3FAKoG zmU}s2sy0P!`Qx$>%XOR#UOHk_XGCv2Z6?%C6>3`}4o_rsUG|QI?HI1ilOn@Lnp42TiL}Om9Pbr=H0Vza~WmVGHmZqFWf{wfg ztZFnG#l|%D<>*hU?rGjzVOJ3SJ&}aJ6HD*51c6NX1BjY-%j*YF@T+Ydjt%?4rzd`U zFwxxYYQDtpY|1_33*5-$(Wy`pghMeT!A8r8gKC;u3MR#1;F!$NIj_`J(UX{K4pgt+ z_dK%6#4+(Q9d3Scuw^GpEx~}oMYV*f)mcI7I{{G)D7R$kTQdyO;5|IK{byjC}f}ZPQZ(M|0xQECocOaoebEjWqjcC7$Mv` zC&u5kvP>IUfB5HjuX6_j*Xw7ZNKHB+fYt>6Nx}ze5-@9f^(YT*(y!?{KV1_>vP4u% zfoJfIC+zSmWbBVTE!A2ku=qVG|4zGx@nb86CcAH`h!bQKuMttRB1|sor!p`_ z{~qp#x0pOi!Q4sxP(X3v?>E3EdHwrd>GP~mT#oyB$pHl)&GO6K_|HkiBYkM1s=mB_ zO;S<)Om(~6lQh89ZP5vzV5lixS-H*H*9VwLn@j>;J<6iZ^Xd59S(i~}8ZG&J-qz=L zE)=}Qw8@+rR#8&d-K+AGmC^dD8LGW(Zr+uKS4{PHg*WGMwItQ6Dd`TJHsl?z1CmgH zpm8anw5AJxy#fFJ$`%C}u?|#hEu)CfHSW#XS#>h(5#;SbW&6C9?z|zn$Lpf|&s(G6 z9BdL19Q)00I2rHUN-bg9jp}(@wX;rray&2k8I`*xHA9!F9M;cSx zs`LEUKtGV}<|zK3_5Yut{Bv($zD{-+Ptw4@C;MMR{rmcV^Mj88Fafw?y*U5PYyWY* z{?}KcHKBk@Ona_P_g@D7uZ#P?zWMKz>O%yePCV@ma{JsueTn9REOpZb1Hk`4_U(c+uBvLhh^LMiP#Yu80lLU!v zcON|`Jx$t$a-B51%O0A8?Asiapxh$(%hPLv;jxMIOJ8vM(kAACo#64chNSTu3EKXC zqjN*OY~^M&+z@=YT%<);>hRPX7|h|xI!*IIPof=4Eb3DP&_9%ZBbUh+QLI#m>t}bh zuYyh~FVOepe6ufhw^&=kU<5c_73JecngloCAe?Z(!X=;8mX$wAHIkWG2AF|Y3m2f) zS{N?~@e;-VT=Y7gf8C)~vRN+jl>5Pa!S6aT>~7X{4qJZ0rpej#`0qY6pcN{H11>8h zS`C(pdlVqBOunXV^*^(eMX`#djnOuT`kMsI*X&P$^i*@qeGaL;>qbHMD79QY`w^i_CCfsO(Dy4cotYrKOD8H{{EomYOy@qRp7vh$ zda&{U&HFe$f=?d*8+mmJ9GQD;_Ue=5S z;NyItArfGYg|}=JPaX zj4Y+ES=}?w0jI45ona`n8aWle1%262sJLMhSsZKA^O`Mw!?%xK!eT!RzgHv+&>@yXipU4;#l}4 zj7gEf^5;5ARqmPnU%b6#Sd?AA2l^-=Akr;T(%sUjba#VvcjqV}APCY8(hXA5AP5o? zGJte5($YCFoW=9J?|Jv$*WTB4KAo>3!`$m$>%ac-3%a9ElA%ezRnxgq4%$y*-Tzef z8{C<7Pw1EbNo8-jj)ONQIrQE~ZddGwz$K}>L8U&PgR^Vu@vZl3(j_?G(Umiw`{PG- zE9oJhod~4o?S2+2&PiDS$nFbs4^9yC?6N^*vb+8C1|$04S^!vN4!L~YnxpBj#=z?f z{a&9i4=%ukFj1O2Xn5e~-8Lcfhp(lArvJ1=P0KvvuL#T&A$7I2Cbv9PiEM^#k@Mai zM(T@nenoyp{o3WugH|=xLHzCH@3D}Q+l%)W{%CJE@b+50cHe(NkQ_!@(77OK@`x8|uL)T={&C`M&AcH9I4_nE8A)P#Q{tSZl6j^)J&))^yfWP(@hy+|LsA&(3V zeGM8c-2OFCB=Le64dx(sbe&(<*cdrXUOtIkSzv1qntHJRoyV?pA`cOlMlPLQ=Sh5d z-H^MeP-Z*6(06ztoY}|f?E;k41Ezoam|;I__5aKAx3^xs>d#NT9ttP~vH3>GH zj^9wT2|Oi>3g{D}RrL-%xzw;9HUWAq-SVmFrNwFG?;68r*fFefYKMHd2{@O18T1V3mH8D`ck38(FX1{ z9p_KqVUiUi$8XPr@cjvpQ%kkV@NA38(N!vRYrcabp{#czpp^WS+W;s+19Za6xe5=U zf_}LgL3s$cS9w4PL?dBx=G(;6F3{5oeZ@1&X4H%W^rsS3i)b1}AqZp-mj-crU}np^ zib2Hs@ehqL7?HPH{_+CiW2Gh?LckV~ec#4&8%n2?#`)l0(2<@k`@TOR=VS*hjM5^W z!(RtV1p*L6dqd9!(D&}S@12znjSt+GbXNg$PDVd>h%gkZlJkNH4BI5&Lp}gb}2v`X>oUXtbfORCLa6@ z@XKl&nyNcR6mNh>>`zb!YE>JNf-+3N@0b<=tesrSqb2k1$ZJTaQO1M*IxU>S@v z(iMZ=27g*=@sPb{zXV>~M*unDu(Laacu6Y!Ef?BSew&nv3%VZllaRezMDY3te$Lkt z`Mz!&1Gpob`py_ZFSg;|=7l8*#>F8UzJZnxmA-bMO)?vxcI=+Nyv4)pYis8iT^5S| zp18x5yr*5lA?AD(?%wG-9e3$@<_ZJS?tHAf^#-%kC&M2!ZC@1S;Vo4MCFdw`unLQhP-+GuEV`{= zSBA-G#L|?*R5@Ko1yn2pm{=hP=}tfl$St__5f9`lY#GHmd>m)%r2QjU)bqm{YMx?B zO~CKKM;~p)x1=osr?1QF>mlurOQPG^;W?6%)*S`y-hUR#x`sDFV$n?fAa`Lc;1i;4 zK(__IJ@CfuZioU52$n00P1a@;nwEqIObRJ(JP5vv;vSq2cDWv0QkMSoL8>D_ON4G+ zfPvt2MMsD7;{f-~b{w&im0vkmoPAw(9 zukM|w=8|IM_&?u1xCyt{Kisv^PI@=dd?~Cs#`$Okr&=VG6+TFl@WG&Obz9U{DWlf2kNXsF>`TjvJ{3f6P5PX zf#RPMx(P2+R)D@}!=7T(t&*9WDZp z$jrI+vHsn*z6PEzi&h+Iwo)PXmb*;xO182djmYWUb0uM~VRE6exk2aY z>7VR*MF}~rhe_IjxK2hlL(%J1>h9!T`MG87eK5es^Af+_qVe*6aXT4ji=(z5a|$2= z5cobnuhSfXex0Q{F*WA7ItgYheFV+KIIYHxIKR6-?^gx8Y%maN8c0zH+Z4cS6qr5my?t`3jHi9%3o?L<1`P&O{dkBA-QT<__GV zhrDJr8*J6BdR9SxE_u*kuUo0d8S@ToI(Ra2jthjKa9JSY zeLAbSN&BVRpm8XFtBk@`%zKZ-{#T`43Tir8;ozH7M1?o6egd*e0D07>)7WpZAlbj5 zlaR7pefJVa>kHo}ZU<-i!_(0ua;s&%C`anw%VeuIQU5QzrEQrb3D4H-gV- zR*ZbwXY|eXpy(AhGj2Q|(!!2na^4PozeJ`kPRQZe6N0j@imH(gK z3B7Htt3-x2e(ykCB+0kvJWkV5Bgq$8u~I2YVzz9rCZ+uF9`U9+y_Xm}DoOUNlV$UT z@|A<>ca!UZ8SB$(0ZX@j=UuPxQz~^~09;Vb6$>xwe##uD<9N0|PprkzSdglQSC!z-TfeY7JG#uo z<~z5xY2TfA8L#-Bx(Z9JCZw?0zPm5|w87mIh;khs$)_31_!+qKw&es1R00cI^j{eC zu?rAgbe+G4WILV3yvOMb?Ce+#t$Al&v zo&uxb!NH<}c(^Jl$v&h(st(j78AAF(dD@h~YxNr__ZU&y%I`>4RSCJ~f)$;-HZtPj zn{s!xr?<+9JhqP-_vF+VCVK3fg5chEu#bWJAVBm3YwHb7G0-$vp+}y3*C;!kv8Z15 z+De^aE2HVeX=hQ8H^sHSEOxN3#V`V*hlD2>kkShjpK^D z0i;pS4>`EJM<^ zba3X$AEv*5A+h@CfZ8Uic9Y?~XNi}$G*!&REI)G7 zm8LOrmh?l^@<*O*FrVe)$vXS(t+$~qi=wX17e69b@z{GRa7v{a>xQ zY@R{mWzSc?wbCq%h+Adp zN!D!R#}HV(=;g(mUkyLQI;DSZ7KIUd=8lR-$+J|mG>JL9Ax4lGqnq{BqbGhrUt9k$ z;7gY!;@_<)$`h`W3xJ#?lnos0MOOjKYzE}H4SwQ)5sq2 z+Sx!otqMKIGABu=Xb_2%7v~rlX{3!vnSOC39Y9Xr8xTqLmoBAY5n;mS{w8nTHNa{$ zRjy54^H)Bn|EgAWCNGs#$XkOInnW7jiH_1VFOynxX=Ocy$2sSR9*ryVF}8&3z_XoJ zv##OzUNG#vpxk4IcymwWfqo;8BgGMyFAchx`n?(umJ}Jo17+FZ z*j?QpyB!*Uw9-i4LL|&uUn8g{IveIvuDkXo&wQls@&Z2`mYmAWtNHP{tb^wdQ}&)~vyW#~uL{p}N_F%<9n3<&$}pT>X!&9iCs=c-Kg3gNOQeeaQea0dK% zvJj9TM3E`|%a~-^8_%Q)D%qmo7o&etL|H_jgUQ zS6AY%FZ#&c@lwg}UsinB7kw((v0#I|GM{Q9k?q^);emvLs9;O(l;PhA!d^Q`4JhHB z$9r)mhn~E*7#!`N+SlU+A&rB2bpn#}X2__hic)m9L_af&lTowEgieKkJ7%Ew7JuqHsnX zxHq00AH5t=eZG>-Wv0<_nIO4wHPY<0hHc5FCSQr;gyOOcOv92?IDCivtcDFu(m-#k zopAmeOQ^S3;LSvT^B2g2YR8cHNVOw8^eY z=$3l)=oy@6!rD8TFd79(WbaU?<{;^o4D|YI0kb2~VHlXW){! z>{Sq;8-6NWDNw?zq^MI)r%@DCJLuk#*edcyGb8JF|D1>y~Zr z#-~m946X2xA{EHauG(7fy#6fcn<-M53F$Fq&N1o)+xPT6MpbSuIGctbVwND~1@Q<5 zWG;Lz!u;&hJHRNJY*5{+u)_;2d5lzxnn7>$2i4QF_>KhT(s1j3n|+Jm_P;y5?H@mI zxkeBmtqk4b7N_!E$nFJz8b)@w`WJY>&4Q}{VjeU4!9`SN!Y4dV{w}H83#DlFcMgvb z4m;{_5FFd#6@9RQb}0Z58RLvg1EKPnjgVjZmNT_d+~Ne5lj4H z5FN28X%z;_zA)*;nIVbyFAr#df|f0B$4t4zkfGicC;HndRtOiVMp-TnWTdC>O+6m_ zxgZ|~F@Tb+nm(twK*v$8g7lE>ZNEDi)woxvsEeGMsA2t7~Ri3xT*?=s58 zEOxXqt-baeODl*^<_JO{O7O7gicp~^X{c(rLlGaH*S%#;^t;`Znc*EtK zy}yH>hu+Qwzv6{NFyg0+mEx*-c**e%uAyC8AJ_HGL@E=qs+EZ6?-jNBd8`CSagIK9ozgYT-9Oa+TJj=e0nh)ww;6ju=(Fmg z*ng_mebSGuz-*cTnp9~a5BKjvim-z0%$%5RT}+c2FJTI%Gp8`cyZ$pKb0UzU1w-j( zShI#^cxw}q5XT&iZ0}A`e;i>GaVaW%h68O2Ua7ZweU{}wvd4JutmiFFNQnt&K{v_M zSE<>-5;yZMUCE(^1!?5fWi(Mq_LA&O-STNI&<%_2SHoJ<8~cxg2dRB`P)B>2nUy`l z^m&wpPeT%Ew!`(+l$St91G=FcBWIbAJ@ZWgU&X2{yWqm~wq^Q4H~?9-;2v{mmajP> zR-UUD|B082n;XiSwI(nRSY1Q`p6M`vXJdvHC|miL?lq%woqC(9 z_^lRt;sHNpcEC9g|8MIC>_|~wzMkjkNk5j1oa~JUjeI={D~W$}SPI>2lPWJ+7|@Bj zspR?`eNvmyt?JJ_hXhI`_KSx$HQ&I$C9E)=*YS=E^G3OxW*6o3mef?Rpr|S$)oJB? z4x^q5-znrUW%CtE3iBNdvkl(164 zo`|A~P|>_VJ#X`Y-~@Qthxf%_C>OP|^IQ>EI~=u1K*Z}){PYvWR2L;PJWUY#%8gy^ z6}{BB+PM)$9tUr-iXVOu=hD7A1mxdWV~=n7=aZK-aso$0;rTZ=ZaRm&U>9Cs5Q!|- z=WZQnx@Qq{tXOC)-)RHa(k=KqqN~!0nj7eGTA=%6_Q~l@utUS08ztv2)P*R3wV8<4 z@p(@c3%~d?-d)`0InMW+tM{>L64qb{&nhXE(38!6)w|K}4 zFQlW1&k7lyO$U7|&=391uD7)_V?2*5nihNd$lNjnjtBQ)XDgZGWUEcND+5>XV=LGe zTT0N2vIIk+JG)!L_S@_)i}s0Ma)*VZ2D|7odXst5#YzRrlOOkn_Pg1hA|yc#g^7m~ zQer8iko|$=^^19IyP+he1VKZu_QD$}=Xl@cx`>O?TI0OK-6m5pMMfF<2h zTe#pRY$Xa1mYMWNGx@RCP>ci_;u_C2n{i^)TDbSqQGSYr+v9)r{GjxH5KaWW0?Muu z)-#qiw4(d6SHCk|hV)kfp$ST%cAQh@Ne~KwLf#kFa6GOn zK_aDkYj?oRU8ST_`IolRD@Ed*TemNF+gFe)SSs)t`;u~ z_I0-m&Roj1;}|q*ahIP4b@#(L1`(!Bg~TuZiFNMj99=iuQc_ZdL860}RdeXw_{MGC z$?SrOIZI}Ccjp0XJ{%nmyW|~6L)NhHM%<73L5&3$#^r_@^eA=?kNqR)Wa;1b6+ZQH z|6q!i13d{jXVG<;{}k2BaGwRDJfQZ?pPQdgYF!ZOd`gTU4NXIXfA@XJ(*E9^oS1PN zd(P6Ju+b0nf-Id`f_oC5#0lhX{X%U5LeZr*2h~822;n%yxaT=uTJ}(=Cj43`BDV zw49zNl?}_L2_Nttm_HKMsWvK$GEd5_KpE?gqoe`VpQfzPy&fjQ7}O~^%* zq7chY?4nT8P0)&rqB(y-#&2N^>N=tAo|r|HY`Vz1;#-F$2PtN+9z?D%Ek_r|ULP~% z#3N+4?Z#A|{%q_odbeWtL40b~7S4pNdqz3*BV%G&To)~ecZFT&Ez7dusb7ht^V9ZX zbo4s>-;U#-&0bz5#ep|e$o&9NpVY|lu}lQtNVh@0*L8FWXuX_^_JBG}5WY>oqeK@E zqY(H0z8}%FKg1$i{A^3ViDOPH7!wrC4p7>rl`^KiS@e!nv>#Y0A%zZ1)V}ok&1j!x z4;xZUC=MHmWU(x|HR-!$!AR&dq~z5rC6X2oe^GX)^cYzid`O8wzE$o@iy~SMVd2I( zT22Fp?da!eTn(GQ9v&zCBKQ$f@<=vAz%6;j4*QAXn0S!T-_4n^7HjO$2vv2Bz3wXk z0|Qwr{;+=>=GSy9?-8lN+oUcn!bhqT;Judr1>x`vWG7Y# zx0F$@J#vc=e889^E@99izZ#d*o3~>)?*>cp{u0URn-lFD)<;(5Qr&*GW$Y+)npUTo zCCVa_Jh11+^dJCPnE9i%;>5}qQ56mmzmOF>)i%~Xt|5*hWK~74)S6kE<^i`e*^U+O zwO({I{GMyuAwMOhC*{CcE2~Y4GoEMSLRb|~1olF}fAU1tse57^uDZ_$y$chhjv*J; z(T`UN5k+qR`z2LpP7MK6d!>PMz#xVyp-9mX!#B#HJGWCr%g#v~Q01L0RexzuUG>p^ zv9+iK5mMXNI`!@YsB-8{)29!wA z??rbza$g>0`GuEc5W&+W=BQWbbXGUZuOCU>562cjAt3W`9ag1@0CwblRr>R zAkuMDPwg@i%&1pE8CbuaW0k*W*bnLNyZa89AW_D1)US81EDj#4+JH!q!0NjbRTy`& z$&9jc5g%n?fr03JkI)wl3 zj>o17`>RZk-VI-W)H^DelujFlhGBS=DvWl1Qi#mt9f!ZpS8;X+Ez@~=WL3bg zsm5yB;Gct>o)Obe4-biel30Vo?8^x2f=0()2R;3BM!&>}xdPRI;|+Pb*iHyZRTtQS zUSJ1CHqD_Y{<7ZJJ;<{M>=LCruAyaH_}RtWxJSW->M|tj_U7@pK@gd8k7u*|ZAZa9M>-QPym%VSzH z+2&_T0pcRX@}Q;nR8x)UWSQ(*Nc%~(W5#4~#`b`X4c~Uz-UJPM=5H@UTRijfKKC;} zK@Vp;Y*h#Zg1?V01J{Axxx*5cqRW6;n?@GcWd@ZNM{9jWu0#D$ij*Bu0bs*w$A#^% z&z*q)bn>K~i#dlHL8BK_icbU-w-e`HDx>A-%-1-R9jp#6>+c}G24inyn=BRY5zc2a zcXoiUPQRZifA{U(GcJ^=9f#xNqv^nY%Dzf}-y!rPiA&Y4KCs2bPi`46=<8fZ-PsKjm?VMnB$0dMm>VR9)5;yF z>%-l7*0AmMla@31E>oa&2U&Sc{j%xeSFJ87`jUg&ILf5S4ehF=+zCIw$Kur`wPSBt z;FQZ4{RiP~M@@|pHs$C!U2&`>fi2pM8RL7=PREAQ$%p5d^_k)Pm1%>M0<2%P8VhUm zNxY2mL|C@FcC-grV`pA!Jzf?P9A+KPi3J#ebxN#&<~e*>jv1$gX7!c`^P(hc9DiV! zqmb6v4lcBr0=7X<8Ps8MARMSn9zKYptZ$A|M85#IP*uwE;iRyOo0BoaDoV_dvTQxc zPj-}3KO$dS@^%0d_39k?y$4o0T|kAp@72+kc%$wJbn8}klg|!Ht8CocS(H&X>1Ne6 z4uIQTCLbYxS~iu;`zkazf|`x6ZQ}0n7YY1+r5vRvU@VZ%1aNgxKw5+F@2VT)kIaGi z)Rf#EA&WxNmw4IbF56FnLP7>n7XR6`Qx|ijU|-)?CXaJ?w-77cNHDP|ZS{=ciePrZ z2^Ez@{{xa?v7p)mjdjckN+iS!d`kH@g}c`XwE{V|iJVng-Xq;}ASCUkmECD_^r%?V z)C5{suEp9?}#X$!oZ!W{PZ+>Jvd>R_Ii=v9h?EoPyi+Ty0yuK+e`}t#CnY1p# z_ELd!;;=kE6ufx3^118h@5YGELgoa3DLZ%D4tn0AZ)0)4%vnDho07sB& zk6foWo?d_c%~!|h7w;=n22p=`wSBUA(l8}!ym;3P5%?v(5Dy9xo~iRgf)INDPLk)> zB!_2f^&}lz<&;4L^H2RdAe*G4zfW|C+Z!AZy`G6Vm*$(XvK1bhsx_EgMAZ`YF@kD zRP`Cw0}~SE@{R9}!sBTt(^i!;ctvH{xwN1JAs^UC*+akPACwj00{G)){L#%)cY z7LMP8-s|WI8tAe@CE}8jk|eygIK2`d+&?Jczp#V85;SeJC%ku7&jQhd+|oHIi-a>m zFS$4jyg>rsprJN8Nb~CP{p_%nUdQ3BQp|t~nh;J!`-bLE3J)+Z;sIV0;b3rC0PspU zJR8Zb4)kova#+4G$6y+tpZ}4~@I{#x*BZyZynxG+h*qVZ`donKFsGLNDNwp!D@rxd z0Dl0P2F&dBTT><}vNDic@e8&GlcL-ES@tiObw0>n=vFHAfvzEyP7w2L=(Qvmf+jyD z0kw(@U>~bR?hh3Krr}D{axl`As&}sq$N`R-V(wYXOcryR?trX^m$=jsP~g2kr{H&e z&hkLTzw}N$hm@N(jf2{w=hV-z*)^}X1tj_!;tBN(6M5#zk%9K-R|S7LoG~N@5i-;6 zMbOxoZy+=&WUiON6C+W(4{3KVL+&uSnqyu@VC4bx7O2=q?Q$*ko~j^3_O`gp6`4~P zloN@92HX;NpW*#B4da>7~Z3p?Szp=S(; zV2z0QGOt^TL#N(@j%LE9xx6L8BHD%095dAsJCug)UK~yyP(Ouly{O*H3U`?Al5NipkYP!$@25f63qYW~#Rs}9 zZ)$2d!n|lB2jSLE_YDP`0eUAep+xxoi}>3-Gec*?WpB22kx_u$-tlJL!{L(zJA`R_ zq?9CSrxr=of_x-uy#)1P^&iOg+jN%st=Jo<^af?V?s}6erArG>KHq4{{m7Xgj`v|E zXB;}0hcUIx+Qa?v|4PiY{rR23M)~kFLx)(bdT_HjX|Mu4iNqM-_1ipCuJk#-DjADIQ5B7EfFQcmVdH8s$%)a?{CV!nPR*{y{AveO zkIX*cA{h{>YjhlqNSfRf{CpjkA>n>1?uFQEQu#`L)mF74&)7w&_r!&lEsa(ik8D1$ zmiUgGJNL+-rJ3Vbkg@UXhCrDTLfDh6CeWW?4L&m*G~ZQ9Tb+SY${zC%CAFfO*4LQH zw{x0ZymQMyiizgMXjsBx)0(x`TBQTsN72u8GvmzP0Crbbzgu>|mXN$^j%E`pWD~%g zB|~Ay%=~5MV~C&3;!nfkbt4V%MJBiR&d6Z0FalOR9Dr3;-?1%oG`NzNvbp%PI1=&! zO(rRQ{8S5KAkU;!lRl*!^!7U5pN}HEMT0Z%Cirp{Ri1#pi_S*=kQWLP{}OHc9m1p? zq2|_uLB9!`B%OCZgXD(P@2<|KO~--5wK9Ps_&?sK>&geVMU5ht~lpjMxHg zp!=!+G!NaX;dy^T!BkDd;}mkR>vDk2sExWMiw3sO`E6xcv#G1L)^^(i6VhSv6YLtw zmzBQk$V4ii>k5cPc#w%+ohOXE%E5T8(3AhBm{UyN<9_(o_>PXwd&myJK{iA-zzB{z z>eP)jivbC1v@-Nb1FL4Ua>T((QCu8}bNkE^);v9f0WsWR8nb~i*>+^i^+A?o2GvKS zTMp%~@^59DSs+bdLfLs5#Dw-uh)7q*0@~=y^|Rx`lVIs?75O~-i{tb6Yg6pIadE=L zvK_~Q$s8uFDzQ3FqsAU6_`w|^0oZJ%+34ek{_9zng^G+JeM2gZ!mj5O^ikR+_l(Vt zuK$g(sWA_k#fkl!vH2~S@PT0nxisC|#9`5)Sfym>9>4o2T8`zM;)`wtYX&d z!_#f?dpn~O(g7^BpLu#JXR*zP#hfOpZRd2ySN`flaq3CY)K^c_!6z{WfyMe~0HgWB zkW_Bl$mpEExWqDL(<-RGwK;ea+|y@ z$|my9BPQaNZYSzvbYzBNb2>^?b04LL6jfof3jV!~-LvIp=oImHt~E(IAZnRYhBgCs zTVNkE(D@QEYsqo5$hp}mqWYVD{=L-^x1;_^;z9jI7dR+p0RQqU!Gi?sZ3>yM;)RbC zx`Z$uNYWK$WSSS?`k7&jR^L9!8|i1Xb~+0wiQr4D$b53Yi-jDXia*DAaJnbt^XJ(> zT{_$5JwlMl41m!c@ZdA(2k zU1V`b@8Ikml!9%#X~6iZtphY4ALHG=Cp`SNp62_kjd2(*DsNDjG%+9xG36lmaS*!j zRt&U1(TQvNR(72Fb!2~!tbV}j4u(Q+>Q}j%akusSTi8c|oRE?py6Hkp%(o)4@52uT z3{h25g^+Dg$f7=yy>R?2kSXG257R5-eIpZUN^1fwm;0OFm=ne8Dx1%co@U(SoZYXr zoO~P6OJ(3DVeRUO32ni{sVxz0+>#~3tTcev788reQx$gWyPv-N_z2VP<9NJSn!!b` zj=|8aGsvc)*xI`8jr<(4m-Cr63f~p0;He2t8+G9Jef{u{+?(NLXaLfFzj7jm9W;SK zFvC^$tYpx?p+q=6)u#V%PMY&W(ubk(TmfdUOofp(8@zXmHrO*yY#zS)x^)tVGIlx@ zcdkgx&m z78rrCoQiZMFFgD&G_!vbW5DCczClsFXk!@EE@*|_)>(X?^Y# zoxO9G?iSJk_I_|NKoIiJUzX##XX=sIvq%2F#GL;^)q3;pt61&Y*fPK5Cxe!KA+Zb( zdHhiZyNIvw{gZ-C43y+Y9egmx7ZjdV(lL~eBJzX7pJ|XbNY#(S0|+akbJ$5ptGXVF zW&3O7-_bD`6kLcmPPFkrh(r?WH{F*&VF4cbWBxtuO?|=W{Atd%Ls}`vyUuO^Xm|9CpnwmzQjftYW-YIs%0h{5t7MAtT5>thv{|v6R_#UIK zU|esF`R)m6{(og2{U3h^N&#qo6HB5nBCh|Bq_wx6F9FTX)1#s#?|=Q~fA7uz{u8SG zd;Z=2qNX$M|Mk58^S9*q?^lSwDTC}kWY7QXmH+ds!hYQ02;pDMc$2|YK{n-}fe)^~2C1v)Z?Q7_zR{^v^mZ=W*{7Pny}(gLjL%5P-*l+$lL z<5M^nR1|zmOHrk=J;iMIwc`K&NpA^gT-{ADef|98VO0zMn3Thsl3)p#Y5n;ggR&v8KV1_^IY>-+!dc zVqh{`N>*{ty76#7GK^j7Lric*^6SU^AtJ6wI+R`&Ngv)hW)#8_juU^i@shu~UB5~c zF7+dYZM;w(KZ)J=DKHN02Tpmlz#Z= z%|rY+uuP6BAH)F`78OuEvtI_tbR0rLD_z46ua3{pWdH{BqiBHlM^kTrbr%Sl6Mclt zV>J{e75;con@8BB)e{}?5MQ*7690P#HHZ8qN&__V9CUSnCr&R=f7yS}BI|y71^T*5 zqn+zZcG~K7udSJmfglg#tcCC&aRqUUPP>-dTNA9FW-+Uz*uz=XlEeL)X+ZwdV|b0- z)vy4moN$X%^MM_F3EBLPo~+jRimH0?gG>~^cgCW$iy67ud=h68OP2QIe?ZWcx76}H z4}xz#vF_*&Fg>Eg8)h0Hl@<$p?~H(T;z);t5p&1uAB=TW+OogACbh5>o^#yVT*wSeQcZdTI zQmF#nO|yB)-L>p05o6LE<(n1TGlbd(lg=>s?GjZt*Adeh0Z6Al5M>!KY!?uUr9jG! zAuW0?7kGPh3oK)QD@RMWzPv^1#cr~`g%|iX?qmr4x!YBBOcOQqP=>5wolQ?i-9u`@ z0jF}p7dXEXytEm%)TLoSh!QQkWLfGO`9x^}YNjX1{>n!|LRuvMW>CKgucm%Z) z8#j&tCpQEn$3rD${*@XbTlcNXfewlzlzR(`2MUcs8j2l3ikPTj;Y;KGd3a+u4aG z5zE|Ptw?X~x%*D$@_MZ|YJf>+Q{MydwqEZ3s&eB&A0IFZJj50|YfNdcEGKagzysNFqJ{`PaPs_CP4<<3uG!;li;NmElBF`K{d__qzJAj6qn zw7?UDpY5WWnwmzZ7khP|upMC$5D?JbeouShlp+1-KbipG(wwM=Oa7Zh`6*en$4Ss1 zbwpfbZT5rvr*pf;+aips*V8^;y}@75Ie-1byYzXZbRBEY(bX^q5rO?_V}ZmGhy;ag z?;0=bN=K~>Qw0@lA7=LqJ2Vt?u-;WZ$`6}*^rL!Zt|*x>dYBPSj^=l%Jm}X)>)^b9y{wC4KHpcRKm@ zpPTq&Fq$KID=|V0K}42CQ}2zpIPD;7{@Z#CukM-gsu^xrHZky*`T%<8^0kAW`+&%E z1OzYW_&N+*{Cn~eT0$wf?K1fsLZ+w%?SM72T8Rqz_GCI?4y*4F?bX0P;q(hyDau%j z$L4b(17Wdp6;-p?j6xp}?N~&ndiPK6T(ktaer0mbW>#K@pUuBJnO<;cqlX);8C5pS zAnxVKVoBOkjmM56!iv7j0RY4cG=UxtwsT4{-v#Cw@~eQtmD%-hqqJjh!R_COzh#_+ z@><4&d(78i(q2W%Z#hgLF*``-D{c+mFx?8F+0U+j4;F@UcSLZ!gdFF1?dQpI;eHjI6nwsMBVXwtY$a_*{CICqFL| z7uqJscf>cQVUH>81AEIf2TbbiJ(5ffcEzjn(%f5`X&`aMOU_f7{IZI;qXix@0wn)F2gKDL{6F zmJI(>OH$(Zfz`LsM2r9r1{+Agtu-%J?ya(YCIZ2p&-sx%>Je$>yj#djrxS-lcguX zWB}&sOTkpp)1LDQRdFVk0l7)X`7c!jBIdnlfxukbUF+wQ79c{)w7DS&L5RF3V0vy` zFbnf@Ok+=eK6k|cgi#2J>-xCOoR@9%DONb;CXl#E=pbe=Lq zOWSZZZ3!X&ks^!;mW%d|hwy1WInur6S0nTEbC^K!rn<#<$L{Xa~7ZE7{?*yxm>%cs<#y>%NaQjnqEb1*IFf{TcV86wOGOP_(3%? z^rAmz)T79k|6uv63uT`!;3CYs)y5{?ckRYqnZc|MNX60!8;r@en@?`EZsSj zy+T*{*FskvYDCF&lO9v9QD3}h16N(Rmh7*GW|2Y9!UJ@@sdu343*sF_#UvioKXiNV z1*Ms~7<@)CRy`g&@26vH?%_vU9riWIe$~F`D0C^Mps1#Y-Sz`qRaTCvVeKnl`kOpG zSj#lxiHL}`fx{ifRNcz-SUIDQ)t|W^zBW64U<&vPU0{f#>Wp&NbAe+L#NDiw*)A)J zz!Ph`?LXCX-sCk9Cj^qKUjM_(LXT2{l6~TU+F;ZCD;lq+OFupNhU!e!R;}hA)(b7U zm+P6<_&2 z^&n$kp0qk;)$ZSPfBoxY*sadCMsK!l(thJa<$}#PCb_NG24H+k78ebSzd^xN*&-kD z4*=pC$v=2Y@11701G_^|wxC7Pcsjt0Y;V3vRghr}NCXkSO?s97#60fR-?5)A7WN)) zR(-jkYpaKwZvTNuUF!9Flb9K@im+;?SN#Hs0+7d=S!r)xA4@J&$@S)Ra0KIgUoRls z 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

eeU5h3>3aYCQhAC0Q=J;@H`;hDhD3ok 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 literal 0 HcmV?d00001 diff --git a/docs/server/kubernetes-operator/v1.2.0/getting-started/installation.md b/docs/server/kubernetes-operator/v1.2.0/getting-started/installation.md new file mode 100644 index 000000000..432760792 --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/getting-started/installation.md @@ -0,0 +1,177 @@ +--- +title: Installation +order: 2 +--- + +This section covers the various aspects of installing the Operator. + +::: important +The Operator is an Enterprise only feature, please [contact us](https://www.kurrent.io/contact) for more information. +::: + +## Prerequisites + +::: tip +To get the best out of this guide, a basic understanding of [Kubernetes concepts](https://kubernetes.io/docs/concepts/) is essential. +::: + +* A Kubernetes cluster running `v1.23.1` or later. +* Permission to create resources, deploy the Operator and install CRDs in the target cluster. +* The following CLI tools installed, on your shell’s `$PATH`, with `$KUBECONFIG` pointing to your cluster: + * kubectl [install guide](https://kubernetes.io/docs/tasks/tools/install-kubectl) + * k9s [install guide](https://k9scli.io/topics/install/) + * Helm 3 CLI [install guide](https://helm.sh/docs/intro/install/) + * A valid Operator license. Please [contact us](https://www.kurrent.io/contact) for more information. + +## Configure Helm Repository + +Add the Kurrent Helm repository to your local environment: + +```bash +helm repo add kurrent-latest \ + 'https://packages.kurrent.io/basic/kurrent-latest/helm/charts/' +``` + +## Install Custom Resource Definitions (CRDs) + +The Operator uses Custom Resource Definitions (CRDs) to extend Kubernetes. You can install them automatically with Helm or manually. + +The following resource types are supported: +- [KurrentDB](resource-types.md#kurrentdb) +- [KurrentDBBackup](resource-types.md#kurrentdbbackup) + +Since CRDs are managed globally by Kubernetes, special care must be taken to install them. + +### Automatic Install + +It's recommended to install and manage the CRDs using Helm. See [Deployment Modes](#deployment-modes) for more information. + +### Manual Install + +If you prefer to install CRDs yourself: + +```bash +# Download the kurrentdb-operator Helm chart +helm pull kurrent-latest/kurrentdb-operator --version 1.2.0 --untar +# Install the CRDs +kubectl apply -f kurrentdb-operator/templates/crds +``` +*Expected Output*: +``` +customresourcedefinition.apiextensions.k8s.io/kurrentdbbackups.kubernetes.kurrent.io created +customresourcedefinition.apiextensions.k8s.io/kurrentdbs.kubernetes.kurrent.io created +``` + +## Deployment Modes + +The Operator can be scoped to track Kurrent resources across **all** or **specific** namespaces. + +### Cluster-wide + +In cluster-wide mode, the Operator tracks Kurrent resources across **all** namespaces and requires `ClusterRole`. Helm creates the ClusteRole automatically. + +To deploy the Operator in this mode, run: + +```bash +helm install kurrentdb-operator kurrent-latest/kurrentdb-operator \ + --version 1.2.0 \ + --namespace kurrent \ + --create-namespace \ + --set crds.enabled=true \ + --set-file operator.license.key=/path/to/license.key \ + --set-file operator.license.file=/path/to/license.lic +``` + +This command: +- Deploys the Operator into the `kurrent` namespace (use `--create-namespace` to create it). Feel free to modify this namespace. +- Creates the namespace (if it already exists, leave out the `--create-namespace` flag) +- Deploys CRDs (this can be skipped by removing `--set crds.enabled=true`) +- Applys the Operator license +- Deploys a new Helm release called `kurrentdb-operator` in the `kurrent` namespace. + +*Expected Output*: +``` +NAME: kurrentdb-operator +LAST DEPLOYED: Thu Mar 20 14:51:42 2025 +NAMESPACE: kurrent +STATUS: deployed +REVISION: 1 +TEST SUITE: None +``` + +Once installed, navigate to the [deployment validation](#deployment-validation) section. + +### Specific Namespace(s) + +In this mode, the Operator will track Kurrent resources across **specific** namespaces. This mode reduces the level of permissions required. The Operator will create a `Role` in each namespace that it is expected to manage. + +To deploy the Operator in this mode, the following command can be used: + +```bash +helm install kurrentdb-operator kurrent-latest/kurrentdb-operator \ + --version 1.2.0 \ + --namespace kurrent \ + --create-namespace \ + --set crds.enabled=true \ + --set-file operator.license.key=/path/to/license.key \ + --set-file operator.license.file=/path/to/license.lic \ + --set operator.namespaces='{kurrent, foo}' +``` + +Here's what the command does: +- Sets the namespace of where the Operator will be deployed i.e. `kurrent` (feel free to change this) +- Creates the namespace (if it already exists, leave out the `--create-namespace` flag) +- Deploys CRDs (this can be skipped by removing `--set crds.enabled=true`) +- Configures the Operator license +- Sets the underlying Operator configuration to target the namespaces: `kurrent` and `foo` +- Deploys a new Helm release called `kurrentdb-operator` in the `kurrent` namespace + +::: important +Make sure the namespaces listed as part of the `operator.namespaces` parameter already exist before running the command (unless you are using the Operator to target the namespace that it will be deployed in to). +::: + +*Expected Output*: +``` +NAME: kurrentdb-operator +LAST DEPLOYED: Thu Mar 20 14:51:42 2025 +NAMESPACE: kurrent +STATUS: deployed +REVISION: 1 +TEST SUITE: None +``` + +Once installed, navigate to the [deployment validation](#deployment-validation) section. + +#### Augmenting Namespaces + +The Operator deployment can be updated to adjust which namespaces are watched. For example, in addition to the `kurrent` and `foo` namespaces (from the example above), a new namespace `bar` may also be watched using the command below: + +```bash +helm upgrade kurrentdb-operator kurrent-latest/kurrentdb-operator \ + --version 1.2.0 \ + --namespace kurrent \ + --reuse-values \ + --set operator.namespaces='{kurrent,foo,bar}' +``` + +This will trigger: +- a new `Role` to be created in the `bar` namespace +- a rolling restart of the Operator to pick up the new configuration changes + +## Deployment Validation + +Using the k9s tool, navigate to the namespace listing using the command `:namespaces`. It should show the namespace where the Operator was deployed: + +![Namespaces](images/install/namespace-list.png) + +After stepping in to the `kurrent` namespace, type `:deployments` in the k9s console. It should show the following: + +![Operator Deployment](images/install/deployments-list.png) + +Pods may also be viewed using the `:pods` command, for example: + +![Operator Pod](images/install/pods-list.png) + +Pressing the `Return` key on the selected Operator pod will allow you to drill through the container hosted in the pod, and then finally to the logs: + +![Operator Logs](images/install/logs.png) diff --git a/docs/server/kubernetes-operator/v1.2.0/getting-started/resource-types.md b/docs/server/kubernetes-operator/v1.2.0/getting-started/resource-types.md new file mode 100644 index 000000000..8a03de238 --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/getting-started/resource-types.md @@ -0,0 +1,107 @@ +--- +title: Supported Resource Types +order: 3 +--- + +The Operator supports the following resource types (known as `Kind`'s): +- `KurrentDB` +- `KurrentDBBackup` + +## KurrentDB + +This resource type is used to define a database deployment. + +### API + +| Field | Required | Description | +|---------------------------------------------------------------------------------------------------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------| +| `replicas` _integer_ | Yes | Number of nodes in a database cluster (1 or 3) | +| `image` _string_ | Yes | KurrentDB container image URL | +| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#resourcerequirements-v1-core)_ | No | Database container resource limits and requests | +| `storage` _[PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#persistentvolumeclaimspec-v1-core)_ | Yes | Persistent volume claim settings for the underlying data volume | +| `network` _[KurrentDBNetwork](#kurrentdbnetwork)_ | Yes | Defines the network configuration to use with the database | +| `configuration` _yaml_ | No | Additional configuration to use with the database | +| `sourceBackup` _string_ | No | Backup name to restore a cluster from | +| `security` _[KurrentDBSecurity](#kurrentdbecurity)_ | No | Security configuration to use for the database. This is optional, if not specified the cluster will be created without security enabled. | +| `licenseSecret` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#secret-v1-core)_ | No | A secret that contains the Enterprise license for the database | +| `constraints` _[KurrentDBConstraints](#kurrentdbconstraints)_ | No | Scheduling constraints for the Kurrent DB pod. | +| `readOnlyReplias` _[KurrentDBReadOnlyReplicasSpec](#kurrentdbreadonlyreplicasspec)_ | No | Read-only replica configuration the Kurrent DB Cluster. | + +#### KurrentDBReadOnlyReplicasSpec + +Other than `replicas`, each of the fields in `KurrentDBReadOnlyReplicasSpec` default to the corresponding values from the main KurrentDBSpec. + +| Field | Required | Description | +|---------------------------------------------------------------------------------------------------------------------------------------------|----------|------------------------------------------------------------------| +| `replicas` _integer_ | No | Number of read-only replicas in the cluster. Defaults to zero. | +| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#resourcerequirements-v1-core)_ | No | Database container resource limits and requests. | +| `storage` _[PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#persistentvolumeclaimspec-v1-core)_ | No | Persistent volume claim settings for the underlying data volume. | +| `configuration` _yaml_ | No | Additional configuration to use with the database. | +| `constraints` _[KurrentDBConstraints](#kurrentdbconstraints)_ | No | Scheduling constraints for the Kurrent DB pod. | + +#### KurrentDBConstraints + +| Field | Required | Description | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|-------------------------------------------------------------------------------------------| +| `nodeSelector` _yaml_ | No | Identifies nodes that the Kurrent DB may consider during scheduling. | +| `affinity` _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#affinity-v1-core)_ | No | The node affinity, pod affinity, and pod anti-affinity for scheduling the Kurrent DB pod. | +| `Tolerations` _list of [Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#toleration-v1-core)_ | No | The tolerations for scheduling the Kurrent DB pod. | +| `TopologySpreadConstraints` _list of [TopologySpreadConstraint](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#topologyspreadconstraint-v1-core)_ | No | The topology spread constraints for scheduling the Kurrent DB pod. | + +#### KurrentDBNetwork + +| Field | Required | Description | +|------------------------------------------------------------------|----------|----------------------------------------------------------------------------------| +| `domain` _string_ | Yes | Domain used for external DNS e.g. advertised address exposed in the gossip state | +| `loadBalancer` _[KurrentDBLoadBalancer](#kurrentdbloadbalancer)_ | Yes | Defines a load balancer to use with the database | +| `fqdnTemplate` _string_ | No | The template string used to define the external advertised address of a node | + +Note that `fqdnTemplate` supports the following expansions: +- `{name}` expands to KurrentDB.metadata.name +- `{namespace}` expands to KurretnDB.metadata.namespace +- `{domain}` expands to the KurrnetDBNetwork.domain +- `{podName}` expands to the name of the pod +- `{nodeTypeSuffix}` expands to `""` for a primary node or `"-replica"` for a replica node + +When `fqdnTemplate` is empty, it defaults to `{podName}.{name}{nodeTypeSuffix}.{domain}`. + +#### KurrentDBLoadBalancer + +| Field | Required | Description | +|------------------------------|----------|--------------------------------------------------------------------------------| +| `enabled` _boolean_ | Yes | Determines if a load balancer should be deployed for each node | +| `allowedIps` _string array_ | No | List of IP ranges allowed by the load balancer (default will allow all access) | + +#### KurrentDBSecurity + +| Field | Required | Description | +|------------------------------------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------| +| `certificateSubjectName` _string_ | No | Subject name used in the TLS certificate (this maps directly to the database property `CertificateSubjectName`) | +| `certificateReservedNodeCommonName` _string_ | No | Common name for the TLS certificate (this maps directly to the database property `CertificateReservedNodeCommonName`) | +| `certificateAuthoritySecret` _[CertificateSecret](#certificatesecret)_ | No | Secret containing the CA TLS certificate | +| `certificateSecret` _[CertificateSecret](#certificatesecret)_ | Yes | Secret containing the TLS certificate to use | + +#### CertificateSecret + +| Field | Required | Description | +|---------------------------|----------|------------------------------------------------------------------| +| `name` _string_ | Yes | Name of the secret holding the certificate details | +| `keyName` _string_ | Yes | Key within the secret containing the TLS certificate | +| `privateKeyName` _string_ | No | Key within the secret containing the TLS certificate private key | + + +## KurrentDBBackup + +This resource type is used to define a backup for an existing database deployment. + +:::important +Resources of this type must be created within the same namespace as the target database cluster to backup. +::: + +### API + +| Field | Required | Description | +|------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------| +| `clusterName` _string_ | Yes | Name of the source database cluster | +| `nodeName` _string_ | No | Specific node name within the database cluster to use as the backup. If this is not specified, the leader will be picked as the source. | +| `volumeSnapshotClassName` _string_ | Yes | The name of the underlying volume snapshot class to use. | diff --git a/docs/server/kubernetes-operator/v1.2.0/operations/README.md b/docs/server/kubernetes-operator/v1.2.0/operations/README.md new file mode 100644 index 000000000..90833bd40 --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/operations/README.md @@ -0,0 +1,11 @@ +--- +order: 2 +dir: + text: "Operations" + link: true + order: 1 +--- + +A number of operations can be performed with the Operator which are catalogued below: + + \ No newline at end of file diff --git a/docs/server/kubernetes-operator/v1.2.0/operations/database-backup.md b/docs/server/kubernetes-operator/v1.2.0/operations/database-backup.md new file mode 100644 index 000000000..ad3fbc4d6 --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/operations/database-backup.md @@ -0,0 +1,92 @@ +--- +title: Database Backup +order: 2 +--- + +The sections below details how database backups can be performed. Refer to the [KurrentDBBackup API](../getting-started/resource-types.md#kurrentdbbackup) for detailed information. + +## Prerequisites + +::: tip +To get the best out of this guide, a basic understanding of [Kubernetes concepts](https://kubernetes.io/docs/concepts/) is essential. +::: + +Before installing and executing the Operator, the following requirements should be met: + +* The Kubernetes cluster already has a volume snapshot class configured. +* The Operator has been installed as per the [Installation](../getting-started/installation.md) section. +* A `KurrentDB` has already been deployed that requires backing up. +* The following CLI tools are installed and configured to interact with your Kubernetes cluster. This means the tool must be accessible from your shell's `$PATH`, and your `$KUBECONFIG` environment variable must point to the correct Kubernetes configuration file: + * [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) + * [k9s](https://k9scli.io/topics/install/) + +:::important +With the examples listed in this guide, the Operator is assumed to have been deployed such that it can track the `kurrent` namespace for deployments. +::: + +## Backing up the leader + +Assuming there is a cluster called `kurrentdb-cluster` that resides in the `kurrent` namespace, the following `KurrentDBBackup` resource can be defined: + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDBBackup +metadata: + name: kurrentdb-cluster +spec: + volumeSnapshotClassName: ebs-vs + clusterName: kurrentdb-cluster + +``` + +In the example above, the backup definition leverages the `ebs-vs` volume snapshot class to perform the underlying volume snapshot. This class name will vary per Kubernetes cluster/Cloud provider, please consult with your Kubernetes administrator to determine this value. + +The `KurrentDBBackup` type takes an optional `nodeName`. If left blank, the leader will be derived based on the gossip state of the database cluster. + +The example above can be deployed using the following steps: +- Copy the YAML snippet above to a file called `backup.yaml` +- Run the following command: + +```bash +kubectl -n kurrent apply -f backup.yaml +``` + +Once deployed, navigate to the [Viewing Backups](#viewing-backups) section. + +## Backing up a specific node + +Assuming there is a cluster called `kurrentdb-cluster` that resides in the `kurrent` namespace, the following `KurrentDBBackup` resource can be defined: + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDBBackup +metadata: + name: kurrentdb-cluster +spec: + volumeSnapshotClassName: ebs-vs + clusterName: kurrentdb-cluster + nodeName: kurrentdb-1 + +``` + +In the example above, the backup definition leverages the `ebs-vs` volume snapshot class to perform the underlying volume snapshot. This class name will vary per Kubernetes cluster, please consult with your Kubernetes administrator to determine this value. + +The example above can be deployed using the following steps: +- Copy the YAML snippet above to a file called `backup.yaml` +- Run the following command: + +```bash +kubectl -n kurrent apply -f backup.yaml +``` + +Once deployed, navigate to the [Viewing Backups](#viewing-backups) section. + +## Viewing Backups + +Using the k9s tool, navigate to the namespaces list using the command `:namespaces`, it should show a screen similar to: + +![Namespaces](images/database-backup/namespace-list.png) + +From here, press the `Return` key on the namespace where the `KurrentDBBackup` was created, in the screen above the namespace is `kurrent`. Now enter the k9s command `:kurrentdbbackups` and press the `Return` key. The following screen will show a list of database backups for the selected namespace. + +![Backup Listing](images/database-backup/backup-list.png) \ No newline at end of file diff --git a/docs/server/kubernetes-operator/v1.2.0/operations/database-deployment.md b/docs/server/kubernetes-operator/v1.2.0/operations/database-deployment.md new file mode 100644 index 000000000..b19fcfada --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/operations/database-deployment.md @@ -0,0 +1,702 @@ +--- +title: Database Deployment +order: 1 +--- + +The sections below detail the different deployment options for KurrentDB. For detailed information on the various properties, visit the [KurrentDB API](../getting-started/resource-types.md#kurrentdb) section. + +## Prerequisites + +::: tip +To get the best out of this guide, a basic understanding of [Kubernetes concepts](https://kubernetes.io/docs/concepts/) is essential. +::: + +Before deploying a `KurrentDB` cluster, the following requirements should be met: + +* The Operator has been installed as per the [Installation](../getting-started/installation.md) section. +* The following CLI tools are installed and configured to interact with your Kubernetes cluster. This means the tool must be accessible from your shell's `$PATH`, and your `$KUBECONFIG` environment variable must point to the correct Kubernetes configuration file: + * [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) + * [k9s](https://k9scli.io/topics/install/) + +:::important +With the examples listed in this guide, the Operator is assumed to have been deployed such that it can track the `kurrent` namespace for deployments. +::: + +## Single Node Insecure Cluster + +The following `KurrentDB` resource type defines a single node cluster with the following properties: +- The database will be deployed in the `kurrent` namespace with the name `kurrentdb-cluster` +- Security is not enabled +- KurrentDB version 25.0.0 will be used +- 1vcpu will be requested as the minimum (upper bound is unlimited) +- 1gb of memory will be used +- 512mb of storage will be allocated for the data disk +- The KurrentDB instance that is provisioned will be exposed as `kurrentdb-0.kurrentdb-cluster.kurrent.test` + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 1 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true +``` + +This can be deployed using the following steps: +- Copy the YAML snippet above to a file called `cluster.yaml` +- Ensure that the `kurrent` namespace has been created +- Run the following command: + +```bash +kubectl apply -f cluster.yaml +``` + +Once deployed, navigate to the [Viewing Deployments](#viewing-deployments) section. + +## Three Node Insecure Cluster + +The following `KurrentDB` resource type defines a three node cluster with the following properties: +- The database will be deployed in the `kurrent` namespace with the name `kurrentdb-cluster` +- Security is not enabled +- KurrentDB version 25.0.0 will be used +- 1vcpu will be requested as the minimum (upper bound is unlimited) per node +- 1gb of memory will be used per node +- 512mb of storage will be allocated for the data disk per node +- The KurrentDB instances that are provisioned will be exposed as `kurrentdb-{idx}.kurrentdb-cluster.kurrent.test` + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 3 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true +``` + +This can be deployed using the following steps: +- Copy the YAML snippet above to a file called `cluster.yaml` +- Ensure that the `kurrent` namespace has been created +- Run the following command: + +```bash +kubectl apply -f cluster.yaml +``` + +Once deployed, navigate to the [Viewing Deployments](#viewing-deployments) section. + +## Three Node Insecure Cluster with Two Read-Only Replicas + +Note that read-only replicas are only supported by KurrentDB in clustered configurations, that is, +with multiple primary nodes. + +The following `KurrentDB` resource type defines a three node cluster with the following properties: +- The database will be deployed in the `kurrent` namespace with the name `kurrentdb-cluster` +- Security is not enabled +- KurrentDB version 25.0.0 will be used +- 1vcpu will be requested as the minimum (upper bound is unlimited) per node +- 1gb of memory will be used per primary node, but read-only replicas will have 2gb of memory +- 512mb of storage will be allocated for the data disk per node +- The main KurrentDB instances that are provisioned will be exposed as `kurrentdb-{idx}.kurrentdb-cluster.kurrent.test` +- The read-only replicas that are provisioned will be exposed as `kurrentdb-replica-{idx}.kurrentdb-cluster.kurrent.test` + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 3 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true + readOnlyReplicas: + replicas: 2 + resources: + requests: + cpu: 1000m + memory: 1Gi + +``` + +This can be deployed using the following steps: +- Copy the YAML snippet above to a file called `cluster.yaml` +- Ensure that the `kurrent` namespace has been created +- Run the following command: + +```bash +kubectl apply -f cluster.yaml +``` + +Once deployed, navigate to the [Viewing Deployments](#viewing-deployments) section. + +## Single Node Secure Cluster (using self-signed certificates) + +The following `KurrentDB` resource type defines a single node cluster with the following properties: +- The database will be deployed in the `kurrent` namespace with the name `kurrentdb-cluster` +- Security is enabled using self-signed certificates +- KurrentDB version 25.0.0 will be used +- 1vcpu will be requested as the minimum (upper bound is unlimited) +- 1gb of memory will be used +- 512mb of storage will be allocated for the data disk +- The KurrentDB instance that is provisioned will be exposed as `kurrentdb-cluster-0.kurrentdb-cluster.kurrent.test` + +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + secretName: kurrentdb-cluster-tls + isCA: false + usages: + - client auth + - server auth + - digital signature + - key encipherment + commonName: kurrentdb-node + subject: + organizations: + - Kurrent + organizationalUnits: + - Cloud + dnsNames: + - '*.kurrentdb-cluster.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster.kurrent.test' + - '*.kurrentdb-cluster-replica.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster-replica.kurrent.test' + privateKey: + algorithm: RSA + encoding: PKCS1 + size: 2048 + issuerRef: + name: ca-issuer + kind: Issuer +--- +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 1 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true + security: + certificateAuthoritySecret: + name: ca-tls + keyName: ca.crt + certificateSecret: + name: kurrentdb-cluster-tls + keyName: tls.crt + privateKeyName: tls.key +``` + +Before deploying this cluster, ensure that the steps described in section [Using Self-Signed certificates](managing-certificates.md#using-self-signed-certificates) have been followed. + +Follow these steps to deploy the cluster: +- Copy the YAML snippet above to a file called `cluster.yaml` +- Ensure that the `kurrent` namespace has been created +- Run the following command: + +```bash +kubectl apply -f cluster.yaml +``` + +Once deployed, navigate to the [Viewing Deployments](#viewing-deployments) section. + +## Three Node Secure Cluster (using self-signed certificates) + +The following `KurrentDB` resource type defines a three node cluster with the following properties: +- The database will be deployed in the `kurrent` namespace with the name `kurrentdb-cluster` +- Security is enabled using self-signed certificates +- KurrentDB version 25.0.0 will be used +- 1vcpu will be requested as the minimum (upper bound is unlimited) per node +- 1gb of memory will be used per node +- 512mb of storage will be allocated for the data disk per node +- The KurrentDB instance that is provisioned will be exposed as `kurrentdb-{idx}.kurrentdb-cluster.kurrent.test` + +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + secretName: kurrentdb-cluster-tls + isCA: false + usages: + - client auth + - server auth + - digital signature + - key encipherment + commonName: kurrentdb-node + subject: + organizations: + - Kurrent + organizationalUnits: + - Cloud + dnsNames: + - '*.kurrentdb-cluster.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster.kurrent.test' + - '*.kurrentdb-cluster-replica.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster-replica.kurrent.test' + privateKey: + algorithm: RSA + encoding: PKCS1 + size: 2048 + issuerRef: + name: ca-issuer + kind: Issuer +--- +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 3 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true + security: + certificateAuthoritySecret: + name: ca-tls + keyName: ca.crt + certificateSecret: + name: kurrentdb-cluster-tls + keyName: tls.crt + privateKeyName: tls.key +``` + +Before deploying this cluster, ensure that the steps described in section [Using Self-Signed certificates](managing-certificates.md#using-self-signed-certificates) have been followed. + +Follow these steps to deploy the cluster: +- Copy the YAML snippet above to a file called `cluster.yaml` +- Ensure that the `kurrent` namespace has been created +- Run the following command: + +```bash +kubectl apply -f cluster.yaml +``` + +Once deployed, navigate to the [Viewing Deployments](#viewing-deployments) section. + +## Single Node Secure Cluster (using LetsEncrypt) + +The following `KurrentDB` resource type defines a single node cluster with the following properties: +- The database will be deployed in the `kurrent` namespace with the name `kurrentdb-cluster` +- Security is enabled using certificates from LetsEncrypt +- KurrentDB version 25.0.0 will be used +- 1vcpu will be requested as the minimum (upper bound is unlimited) +- 1gb of memory will be used +- 512mb of storage will be allocated for the data disk +- The KurrentDB instance that is provisioned will be exposed as `kurrentdb-cluster-0.kurrentdb-cluster.kurrent.test` + +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + secretName: kurrentdb-cluster-tls + isCA: false + usages: + - client auth + - server auth + - digital signature + - key encipherment + commonName: kurrentdb-node + subject: + organizations: + - Kurrent + organizationalUnits: + - Cloud + dnsNames: + - '*.kurrentdb-cluster.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster.kurrent.test' + - '*.kurrentdb-cluster-replica.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster-replica.kurrent.test' + privateKey: + algorithm: RSA + encoding: PKCS1 + size: 2048 + issuerRef: + name: letsencrypt + kind: Issuer +--- +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 1 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true + security: + certificateSecret: + name: kurrentdb-cluster-tls + keyName: tls.crt + privateKeyName: tls.key +``` + +Before deploying this cluster, ensure that the steps described in section [Using LetsEncrypt certificates](managing-certificates.md#using-trusted-certificates-via-letsencrypt) have been followed. + +Follow these steps to deploy the cluster: +- Copy the YAML snippet above to a file called `cluster.yaml` +- Ensure that the `kurrent` namespace has been created +- Run the following command: + +```bash +kubectl apply -f cluster.yaml +``` + +## Three Node Secure Cluster (using LetsEncrypt) + +The following `KurrentDB` resource type defines a three node cluster with the following properties: +- The database will be deployed in the `kurrent` namespace with the name `kurrentdb-cluster` +- Security is enabled using certificates from LetsEncrypt +- KurrentDB version 25.0.0 will be used +- 1vcpu will be requested as the minimum (upper bound is unlimited) per node +- 1gb of memory will be used per node +- 512mb of storage will be allocated for the data disk per node +- The KurrentDB instance that is provisioned will be exposed as `kurrentdb-{idx}.kurrentdb-cluster.kurrent.test` + +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + secretName: kurrentdb-cluster-tls + isCA: false + usages: + - client auth + - server auth + - digital signature + - key encipherment + commonName: kurrentdb-node + subject: + organizations: + - Kurrent + organizationalUnits: + - Cloud + dnsNames: + - '*.kurrentdb-cluster.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster.kurrent.test' + - '*.kurrentdb-cluster-replica.kurrent.svc.cluster.local' + - '*.kurrentdb-cluster-replica.kurrent.test' + privateKey: + algorithm: RSA + encoding: PKCS1 + size: 2048 + issuerRef: + name: letsencrypt + kind: Issuer +--- +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 3 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true + security: + certificateSecret: + name: kurrentdb-cluster-tls + keyName: tls.crt + privateKeyName: tls.key +``` + +Before deploying this cluster, ensure that the steps described in section [Using LetsEncrypt certificates](managing-certificates.md#using-trusted-certificates-via-letsencrypt) have been followed. + +Follow these steps to deploy the cluster: +- Copy the YAML snippet above to a file called `cluster.yaml` +- Ensure that the `kurrent` namespace has been created +- Run the following command: + +```bash +kubectl apply -f cluster.yaml +``` + +Once deployed, navigate to the [Viewing Deployments](#viewing-deployments) section. + + +## Deploying With Scheduling Constraints + +The pods created for a KurrentDB resource can be configured with any of the constraints commonly applied to pods: + +- [Node Selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) +- [Affinity and Anti-Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) +- [Topology Spread Constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) +- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) +- [Node Name](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename) + +For example, the following KurrentDB resource would schedule KurrentDB pods onto nodes labeled with `machine-size:large`, preferring to spread the replicas each in their own availability zone: + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: my-kurrentdb-cluster + namespace: kurrent +spec: + replicas: 3 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true + nodeSelector: + machine-size: large + topologySpreadConstraints: + maxSkew: 1 + topologyKey: zone + labelSelector: + matchLabels: + app.kubernetes.io/part-of: kurrentdb-operator + app.kubernetes.io/name: my-kurrentdb-cluster + whenUnsatisfiable: DoNotSchedule + +``` + +If no scheduling constraints are configured, the operator sets a default soft constraint configuring pod anti-affinity such that multiple replicas will prefer to run on different nodes, for better fault tolerance. + + +## Viewing Deployments + +Using the k9s tool, navigate to the namespaces list using the command `:namespaces`, it should show a screen similar to: + +![Namespaces](images/database-deployment/namespace-list.png) + +From here, press the `Return` key on the namespace where `KurrentDB` was deployed. In the screen above the namespace is `kurrent`. Now enter the k9s command `:kurrentdbs` and press the `Return` key. The following screen will show a list of deployed databases for the selected namespace, as shown below: + +![Databases](images/database-deployment/database-list.png) + +Summary information is shown on this screen. For more information press the `d` key on the selected database. The following screen will provide additional information about the deployment: + +![Database Details](images/database-deployment/db-decribe.png) + +Scrolling further will also show the events related to the deployment, such as: + +- transitions between states +- gossip endpoint +- leader details +- database version + +## Accessing Deployments + +### External + +The Operator will create services of type `LoadBalancer` to access a KurrentDB cluster (for each node) when the `spec.network.loadBalancer.enabled` flag is set to `true`. + +Each service is annotated with `external-dns.alpha.kubernetes.io/hostname: {external cluster endpoint}` to allow the third-party tool [ExternalDNS](https://github.com/kubernetes-sigs/external-dns) to configure external access. + +### Internal + +The Operator will create headless services to access a KurrentDB cluster internally. This includes: +- One for the underlying statefulset (selects all pods) +- One per pod in the statefulset to support `Ingress` rules that require one target endpoint + +## Custom Database Configuration + +If custom parameters are required in the underlying database configuration then these can be specified using the `configuration` YAML block within a `KurrentDB`. Note, these values will be passed through as-is. + +For example, to enable projections, the deployment configuration looks as follows: + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 1 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + configuration: + RunProjections: all + StartStandardProjections: true + resources: + requests: + cpu: 1000m + memory: 1Gi + storage: + volumeMode: "Filesystem" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true +``` + +## Updating Deployments + +`KurrentDB` instances support updates to: + +- Container Image +- Memory +- CPU +- Volume Size (increases only) +- Replicas (node count) +- Configuration + +To update the specification of a `KurrentDB` instance, simply issue a patch command via the kubectl tool. In the examples below, the cluster name is `kurrentdb-cluster`. Once patched, the Operator will take care of augmenting the underlying resources, which will cause database pods to be recreated. + +### Container Image + +```bash +kubectl -n kurrent patch kurrentdb kurrentdb-cluster --type=merge -p '{"spec":{"image": "docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0"}}' +``` + +### Memory + +```bash +kubectl -n kurrent patch kurrentdb kurrentdb-cluster --type=merge -p '{"spec":{"resources": {"requests": {"memory": "2048Mi"}}}}' +``` + +### CPU + +```bash +kubectl -n kurrent patch kurrentdb kurrentdb-cluster --type=merge -p '{"spec":{"resources": {"requests": {"cpu": "2000m"}}}}' +``` + +### Volume Size + +```bash +kubectl -n kurrent patch kurrentdb kurrentdb-cluster --type=merge -p '{"spec":{"storage": {"resources": {"requests": {"storage": "2048Mi"}}}}}' +``` + +### Replicas + +```bash +kubectl -n kurrent patch kurrentdb kurrentdb-cluster --type=merge -p '{"spec":{"replicas": 3}}' +``` + +### Configuration + +```bash +kubectl -n kurrent patch kurrentdb kurrentdb-cluster --type=merge -p '{"spec":{"configuration": {"ProjectionsLevel": "all", "StartStandardProjections": "true"}}}' +``` diff --git a/docs/server/kubernetes-operator/v1.2.0/operations/database-restore.md b/docs/server/kubernetes-operator/v1.2.0/operations/database-restore.md new file mode 100644 index 000000000..3bba8bb69 --- /dev/null +++ b/docs/server/kubernetes-operator/v1.2.0/operations/database-restore.md @@ -0,0 +1,51 @@ +--- +title: Database Restore +order: 3 +--- + +The sections below detail how a database restore can be performed. Refer to the [KurrentDB API](../getting-started/resource-types.md#kurrentdb) for detailed information. + +## Prerequisites + +::: tip +To get the best out of this guide, a basic understanding of [Kubernetes concepts](https://kubernetes.io/docs/concepts/) is essential. +::: + +Before installing and executing the Operator, the following requirements should be met: + +* The Operator has been installed as per the [Installation](../getting-started/installation.md) section. +* A `KurrentDB` has already been backed up. +* The following CLI tools are installed and configured to interact with your Kubernetes cluster. This means the tool must be accessible from your shell's `$PATH`, and your `$KUBECONFIG` environment variable must point to the correct Kubernetes configuration file: + * [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) + * [k9s](https://k9scli.io/topics/install/) + +:::important +With the examples listed in this guide, the Operator is assumed to have been deployed such that it can track the `kurrent` namespace for deployments. +::: + +## Restoring from a backup + +A `KurrentDB` cluster can be restored from a backup by specifying an additional field `sourceBackup` as part of the cluster definition. + +For example, if an existing `KurrentDBBackup` exists called `kurrentdb-cluster-backup`, the following snippet could be used to restore it: + + +```yaml +apiVersion: kubernetes.kurrent.io/v1 +kind: KurrentDB +metadata: + name: kurrentdb-cluster + namespace: kurrent +spec: + replicas: 1 + image: docker.kurrent.io/kurrent-latest/kurrentdb:25.0.0 + sourceBackup: kurrentdb-cluster-backup + resources: + requests: + cpu: 1000m + memory: 1Gi + network: + domain: kurrentdb-cluster.kurrent.test + loadBalancer: + enabled: true +``` diff --git a/docs/server/kubernetes-operator/v1.2.0/operations/images/certs/ca-issuer-details.png b/docs/server/kubernetes-operator/v1.2.0/operations/images/certs/ca-issuer-details.png new file mode 100644 index 0000000000000000000000000000000000000000..430f66453e4f3817a5bb132967b1ab22df43b32f GIT binary patch literal 247933 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

BdIDUjZd^revg0&M{yG?wMvyINuyr+9#fPgoZ3O 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%0A{{=g5ytd+k5RFQ^udzjG5pr*i z(Uz8Bl!6Or&a|?(4CYr)`Xub`3)!^7Em}WYcj7}|f%#U3F9F%;ZIz*ZDyCurt|jOF zNW-mCFfD3lCLZ&FzInT5kr(%cTb{1Hi4dsTnO8DuixXo`p6sFrdDTD9Ut6xYc}5JI zrEMg9_iSVoHh(mJ4GdS5kK^xwoh_%&1>PFd`}2UOPx;d}0_XvS(0~nWZ}~F6@>*l~ zsQx$KkTZ$_?H5mG(_vQg-5!JJi3h|#%~Am-35BZrgtXeB_pI*@&iJ=gVik~7;%^9v zUmL<4k7`;_H~*}cwJtb?kBeTHi}R4XESs6VCp=3Jg~>1Mjm2+_7bZ@&x4Pq8Q()<2YqD&m@z{ z9>zmU<6QbUzM&f&e~p&cJ3|sTD%j@AT0^^LE2o}rLP0STdKkJna_%m>Wu6?3z7>z$ zM9)vPsIJ6hxq%=8E!BZlA7#u6lQxrtL=P!>nbMlvoNRE8c4qk?Ix4QV`D z)baZ17N{v3FLEOXhVGMHc3fo0_1O+$sNIh6oyy`l%t#d_R0FtI=b-1wrSjLIeXp zJKmSly0SA(R>QbQyVB_Iv1z=w+;NJ1X>_^aG~SPRW_Jo+&b7j6U`PT%JxuoUO`MzW z$w;AXojT1P=zaIX-3JW|3UZn-Y`_Dw*PM&?OzRAz1uo!hAeD4+N{$L2E${eoM!vlL z5lVVlMjObMn0VX=`Q9zt^Psxd`?8F<*5MmJteWJ|#Lfe84NqB^&a}-t=Qg~DsK-Z8 z&RqL=mqs^TGOqMYo(q>rA(Iw}aXtYW42e%ShVdu$uH0JRH=a@j6X+Md+;oVuzp2V- zT+9kz;oKLSEmhhw)&n2kznn!7M5CZvG`y>Skn)ZKrDJ{Eck9o~Hi|;I z6&6CCkhhvDT!*yjJDC}W9B)$hAc7Q?{@CfsUgo1`pnOVGxH>oBV^$8YOA{RSIaqAl zJQXshhB53k<-;(@#rv&f>~M)a1Pt_IXlu%-*J;GyEFZHVK3B81C#`2u>yAO-cJtk0 zliLztV)eX|dVnSYgNg9zXo(4Ad9+>Wg%9(T+nDqYU&jRw!|z&8JfR_0Cv{S`H;LDH za=Wq!*n`K1BPA-dlka`+VL$w~U^$7hj)UG?Pv>3Am0hz|=seh+tWeo2;j>77u`pXk zu14-ZF$%L0Dy0SBd2tBtyFES!B^jIPrfv@=f8$0;^TJ)RA@ zd@PTm{vpZF>;~SQhcGCXJ*tgUxuF<1OG_fG9_s!?qs^7?e1c3YcWGB(u`6{OH0yF+ z!o<$`uT1R!u{pXodCw}P(RH}U6QGxD%+)@;= z=OZ*VQF37}2s+o9Vs72vA*__fE0@In&WGlcpp%APpAU+py<3PD43tlSLBC1!W-j`7 zvj+h8_$ysf>D-!p(P?z4!>E?BFrpgnLe7q7k5E%Ba8l21vqK2HzUwL zPK`7LW^3n#7fG9BZ$;|6_X#}hz7TkGjgc#7 zm{%aNV{1^>=T*x>@*j7~H%Bj^7wp9a>CKD?{8 zA%iyQrI=OhhW}%;x+K+_=d>e-`uQ{4#UPsRH#sIs9dlycX7PI>{2(-*FkB#oxan5C z3@zeD4MCyS)o3&fbkPau7@ETofa(1Ee(4&4ExZ}jh!5;tg6=UXbIRbk`_^bD<`m7O z$m;gzV#?HzmO1p6gZqg58-!*3bKym1Ez&#(El7u1fmH9oef-Up`>CskA>HJ5fB5FT%^?%4O6{Gd5=J*jq~ z&|`|~59UK!#`duXb|}zzOoPs&kyVfmB0lw1UoBqxlec4?&L!9Qk|xlLvMtW;mZ$JvA65{-=LjI9{wji+<2e?Sa;ul zbfN2c%4Byt7WGnT{rhX4c#4FXXal{Z+GWjt!)8SHKU}(PR#7qJFH$Jg4Cn3$dEy- zzlK{|%G&1TEERW6zK2NF%PJpa`l`epPhwic!U7vt=M2Fv5Ch=UE8O0zwai(}`f{oF zdF*+P0X!S9Cr732TDaT%0Nw{507GsTz_=#@h_YRgP~`mP_ZK`Cbqpm1CHCwk5j)$& z3R;9r+k!6+Y&tJoUp4h?EJTSo9TQ1?3&VCOXk(BN+S+(Is+P_&?$$ePVcl`MB!%M3 zogU(dI8{O;)vISknNs#Bx$L^3h3w&WDt*J6T?{8r$jf_dhkX(+VRw++s{J9J_Q`YR zPIj4VoUzZwk_17~jym5JMEf*UK3b0WnkWsB#b@WaH*?zaa{!7LjjOn9xTUM}DHO5XTN-Q>XH@%|5qTTO0_(*M09RO(+l(#Rg%zkV}F zI;+DyPSFwuy9rI-#uvIn+%dG8EMJ1mfIb9^o#@6}&mTF2CJ#Epz<9Y~ygKvk=La{( z5_v74pZn7;1)OSo2v@R=XzXqZ;~>U()B+zNxACs600tc{bgL?$eh=@&!dMdI7DL4* ziXwbj4-Y{|4hLvP4RWW614abD_J$d98G^Snp(%kOu`OOkb`Vx*et!_QQ&#Plyy@ni z_OukG7@3kY_vIN`99ibDnu;sykkfc`<@0G#o58+ybM4XD(%)VvS`>D@YjYMM22gzc zgIZf~`7o5CyPu|QmP)`vS&+A-mbSX>L@06(ufyJ0F3jpwt%~Ik!Q4HG{qq!8Y7c*0 zdlkN`l;GEas6g>nG~wZ&RwW4h-Tp2pSOu*sSy^Y@BTH^Rb@g*FFIQTt_s7QUFg+8q zQEgs)W0xy!oGLqB4G}FG6?=n%$~bqw(F07izs1tWxS< z#NTU@&#$xk?KBB?PX6spZC6{1z{#({7PgNEkoWInOt4o9XSUqRpSg4UylpS0@{k-j zASaSiq*eX#j$Pj9hu$X56E3E%1b??$ci!M{(}c#ZniLEC=j}6Z)+e{nR?mo>m#Jr1 z$j;b;gtE>E`nK%8x}!idfs!W{Zj$G2YBSkP&B7Kw@^ucYh`1+%_3aafvtJ1KZd&Jp86^r>#WP&q4^fjIDCu|X*9}C{m5L*!w+Nwdb zqwcthPA)x5H56`n*SxrGlZt?Kaoa+T?s*Z5RU9c;Rl4!(r zLQ40kWVdS0Xh`}BaoNtyjLFeevqgDd$#!^PJ5t}U)zn8)O;=|};MNBqrt;QhY{V*`E zR+%=DW;pU{qN`=*!1qB#F2IZ_>F)m!^zsA7Li#dowF#;Q$Rs&K>yE^io?FWmYWn)G z;qK?Tq+NV2&At9Wzhg|_m=fW4ZVbEK`|&<=?i(<{wLRfxIISgSu9-iw#$jeyrl09z zO9~`64~Ds&V~F^gBDly`Ex2$LuEB-H zDN(|4Y{P=zmcD&Lx6s1W)a`-v0F#v;c_1q+29#x}Yb9S>_O&Wwi?C^bbNx$wmwLn* z-;Ei0L6>nkbGO>E^r(T_Et%eGUuc$F+zXV2Mz>`71sC7{`#*amx4~KE!Kk_$#gX0QXgu8#8;cUd`&^uuD)PP!{S*swcBN#WjmEumU~n1sDtD zrdrb!n2T1Wf;)1H3ZLDd_~S=eL=$GiiVOb;C)_z!j_RW|3TfgZW#!IilBK|yG^^M? z{^BL}GN(#Q?8?c*Z%odd`| z@$Tw}A#GA*Z=G4$2p)4zyttbpv`P^K#%+*&7pEx1+^$_)%72&i{zvd42a2>&4h!g9 z)*l4EY(vmzYu^^}6z+&52&d*oGu^g;1@=Jz@-VE6{A6{j2^&fKM%y~7eraKs-T2d- zvLVjatse7#FpKGtjM%yP=G%b}f%k-%mHfHAW<^}~LA`@+g~zQ{y;!O|@Mwu4UIn%^ z6YCC*uXGh7NGrui*;{l;@E$B%oHvCM6KjMpXqBWMyOvsZ@1+eW{=S=8<~8Em=XbQl ztrQPh)I54U)insvUj0Q0r~Y-ME$It|dWK6zYqhNpt(i1o&kc1m3&dP~!6qubw!WN1 zh(85%SZnI;__5&3H^t1?1DN*0okWOqvQ?iJwnW<_b8c~6)Eam?zZ}Eb4lxWsKl#q{ zRYQ@!qezOEpv~5}FRXM?+UnM~XY)R(N;s57WYfBw-PS@wBZ5ex1LDEjydDdit6uf0 zO3^Z{mX^p7eC%o|oLR(Qvg&X(MSj p5msjl| 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

xE$vg1Bj%LX|5AxJ-tR(Br^Iv5VB1o0 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 z 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 z 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 z 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 z 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 *)Ga$mQC6`9^;O0 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

lb>HzWZ7&wNSX#B&t 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 literal 0 HcmV?d00001 diff --git a/docs/server/kubernetes-operator/v1.2.0/operations/images/database-backup/namespace-list.png b/docs/server/kubernetes-operator/v1.2.0/operations/images/database-backup/namespace-list.png new file mode 100644 index 0000000000000000000000000000000000000000..75b948c65075426eb9fcf58de3699f863cb8f62b GIT binary patch literal 186629 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/Qz_tck{aTtDdRq$5!f{AGS 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 literal 0 HcmV?d00001 diff --git a/docs/server/kubernetes-operator/v1.2.0/operations/images/database-deployment/db-decribe.png b/docs/server/kubernetes-operator/v1.2.0/operations/images/database-deployment/db-decribe.png new file mode 100644 index 0000000000000000000000000000000000000000..f57b3dfbde6bca01803e6e244c9c7e9c84147e36 GIT binary patch literal 240150 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Ų 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

@l9Z;o7ZmnnQ%T0 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%0AuUk-C9db!`Zy z{1^a(!{feQR2=ht;`3&$ZnILW1#8%W&ZWHeZs+E3Z!!e$7aWXwUC5$Vc&4{W7pcQW zrWDHL(@Fb0=yk5I`QtaS6w9@NyYsAFc~P3e1h-hB1cAaBap=I6!Y4j%rVcV>=N1!V zNtcYMCuJfquj5qN^(0=}TEn1*zNse^m&0iBj+ue(PHY2DoRoVC@LNy81Ig}3_lYi`B2dv%4arQLQgV1`#^34l>777o^|MK z1WU}&Ze?qm?&7o55A0Ll--K|S-^9?`=wmm>igo)c# z=@v&U%hZ$?t7X-MB13;rxW%rz2=0mlJxe_le{*=?izlDPhz-r zS7YgF$C54CE={K-n>QCtBJ{WqzsIm=IU~b26j9O$N=5@;ttx}`V>tunEa4VoQmpAE zGCq*nKx-C=eS1^b1zPSmEOb1ny&IHUTMstoc6M6sz^C;__Zp{Cr-P{xxlWHP^G+tA zb+e^edTXD`*#q;c$8T%ZHnPL?xr4SzVsLChVUxwf2 z?d}fWDX@8Ck#*b`<{PNFfgJa+IBD4)Oo7F&->I7kRqCF})SI1(rE)e~GD5erApD*l ze19!d5m#Icta#GWs+95AQs0f<$~`s1rIWUs!6zcT=T3&jTbv4eVm748P#YK;k;e2h zkXIvhv_i0~GxON1LI4S@w&#jFI|F*JMqXAlMN9H@3{rg~d%98^7+@9q>h_kkm-Euj z6pPaLHEQ#&-R0nk+XSEvFI}uGpMe|k1Zl(h-$V%7Cr!nU)COu9!ev84{0Xyz=g;(= zA;UGOd|FM1-a;+}lJ<8~`Ce9z=xvV7!+`DOxN%y6#A`YN5ir`2DI%LhX$k{Az*fZ7X+I z;XN}zMkSSu7lkG@_+N_7Lmc;oK5=zdiF>tGi29~Q%a-hjm@&3-S zoen1M`ku#n2?A76%z2TAFKC)Re1;Ko^y9dQT3JDH!Re+mLm}` z3d{80s*Xw4%LelG)BZn=U3oZ^ZTs#G zktK>~%2=Wj86qM38U~d@cD+JL86x`(<0WO!GWJ2rG8ju3%Zx?~vKB+aSci#>eP`zP zc)zdjIKJN>zIXnf`?#-rd7k?`&+B}yyX{^z-(Tbtlg-Z4r)EYImuh8DS^nAOMggNd zgR8qBi@*TaX@1CXk4g6}b~}B4ykN(i%>~Pc zQeoo!L94AjCU=;VHuuBqJg$ddq3l21~_=l%`45hN^CN=_27-$dWhwp1yH|k zCvKY68YvbyXE-5!<`!RSP!5$TTx=!=@#6y>OAxi5VNF+NfrwErjFSZ`KIuc(fJ1G) z>dnqb9@Nzy$%ZhF(mFEUHVj*?S;p>>RLJw3tj)`-cC6FamwUICO}#L{hM#bj%k3%) z{wL*pgss<$iUqoZ4U$9Jz0Zu_lc^VP(treAV26ksrEIq(&>y#}NhZQ+;QNS;+}`N4BOTjZF(%&-G_yw_wvG2& z*#PL6t?}rb{hN)ZOG$W+atu*^GNi7|Mt89#IwMlufNzIaZ#49u$yBoIOo7c%e#*(= z3&b&20)M{lV*=dakW=IKOsvl2!DD-9x9} z%0)faXTkG*V79?c;2DCDndlp`G9F8V*<;OnD`pgeav1n=HiB{5s(z5y7?i><`6xTv zCCdZbM2de@K*%-Zmr;?3Bh=fh^Z5;wrTzJDGW_E%g{ zSOjB_yzlH3vVAbWMgtu^+n0kVPY2}~YBZ7iT;~(a9!e}3>n%JP1>3@&OM3IJzmW)7 z6&BF}D2VWrit2N?oBo^ezXDcFFr~RGGZ@ObiIPh4V1-|Wf>;ZHDGA%?2KTh2pc#;@ zZ@0uaE+GyHe>)-!f54)6SPhqhGTWq>gT7t3I{aL}UFQrzCQ+W@g!lRLLlv+1YlkHB zew8W&UZ3!T3R3cA6&RM6%TyHAZ~lOcS-{fS=Rg8p%a~Ho@$Jv7?PcL)5Q}%#MFyd{ zLJ+w(y=_T%jg5W3;Hv%KTBtCAc5Xx~m!Va℞GKJt5I8_TObV>T|o^dM= zPp1(Y+HKZT+DUPb@3cGkHFGcv3~MJHhz^;J|7c=|oXRrmEpI742R8d0hk{jm6JONu z6IljWXjVsl6{x7(D~#wH*LXd6E3i9YebosvWPK^Fu^wvir1V+l zdED4o&i~gI|63+;pIyu? zm*5K{gDV-;>J5@O$B~|vt~O?YAX^tfFIItxKDjg3PI;C{i>nS-BsE{WJgIHTBG4E4 zsEsDrHqfqfrTgYR<>Ifq_HI|>r#vUcjXR6K9v^B8@`&?A$KI9H=9WWL)!h}cPnCZ3 ztnVEzOXvaI(f(~T_?L=i-&bOIM)!^QLLsvAsbTQT7n}(@GcNVqPymB8(g)#NF!Nk@ z@@=VPQg(bu!-U#Eek&HcW?(~|OIp{Mw$0w!3e{Ol-PWp*09CG(Y9cR1ib@u& zVFk{$Wm$5*A}py1&it@;EQ+l8;t4)TZ5%@%9ucyYwUXpMX_UR49JofnPm9jUUn;`p zn`TH>6z!>L9Ifq&1mHkom+I~9*wfMq6z9s7>VXpL+~DojMdhb9wl3D^>>gg&mB**$rFzWXCIDCpUx}>yR`09F#b9noQ0q3@k z%fZngPzU>&CK;4GeNv@L0?KeLi3Uw^DreHGDE*o>fkkY-i}$)8-8KzKW1oAg{tP%x z^EJak>N~V@)$LiKi;xXw&@l8IUs6ACQQU&raSwG_V@T#NPD4_^g3)+_^(2Hii*+_a zv$cTdp?ZRkKC`s2T#$Ho0k=2|+-khhaxqqAnBLO4JX`STbA@;HosZ{-%#MS{9qfig zq6n?1(ME!0n&LGYcu>rMMv&8kUsW-g$RpK*!MNkLR88ab1Fuxv)qL-PWMK4?IsGj~|d zQFDh5al!X%0k|F!IARB{TQxTHS^Z=O>-I~KeOT$F&$h9}i$@FXv9|U=W!A|0CKt

Z7Q^mAme^qLyQjdwM4VgKwQH_7O<>Ay<3{k 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 Date: Sat, 26 Jul 2025 13:39:23 +0200 Subject: [PATCH 24/36] Fix broken links and anchors (#905) --- docs/dev-center/README.md | 5 +- .../tutorial/tutorial-1.md | 67 ++++++++++--------- .../tutorial/tutorial-intro.md | 32 ++++----- .../use-cases/outbox/tutorial/tutorial-2.md | 2 +- .../outbox/tutorial/tutorial-intro.md | 40 +++++------ .../time-travel/tutorial/tutorial-2.md | 2 +- .../time-travel/tutorial/tutorial-4.md | 4 +- .../time-travel/tutorial/tutorial-intro.md | 40 +++++------ .../v1.1.0/getting-started/README.md | 8 +-- 9 files changed, 99 insertions(+), 101 deletions(-) diff --git a/docs/dev-center/README.md b/docs/dev-center/README.md index 1754d00d1..c3614d139 100644 --- a/docs/dev-center/README.md +++ b/docs/dev-center/README.md @@ -1,9 +1,8 @@ --- -title: Dev Center +title: Tutorials order: 1 --- - -### Welcome to the Kurrent Dev Center! +### Kurrent Tutorials Here you'll find tutorials, use cases, and best practices to help you get the most out of your Kurrent experience. diff --git a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-1.md b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-1.md index a9534e8cf..2962d809c 100644 --- a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-1.md +++ b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-1.md @@ -7,32 +7,35 @@ prev: ./tutorial-intro.md In this part, you will start a GitHub Codespaces session in your browser. - ::: info - GitHub Codespaces provides an instant and preconfigured development environment all within your browser. This environment contains all the tools and code to complete this tutorial. To learn more about Github Codespaces, [click here](https://github.com/features/codespaces). - ::: +::: info +GitHub Codespaces provides an instant and preconfigured development environment all within your browser. This +environment contains all the tools and code to complete this tutorial. To learn more about Github +Codespaces, [click here](https://github.com/features/codespaces). +::: -You will then initialize KurrentDB by appending sample events that mimic an e-commerce application. The events are appended using a data generator program. +You will then initialize KurrentDB by appending sample events that mimic an e-commerce application. The events are +appended using a data generator program. ## Step 1: Set up Your Codespaces 1. Click the button below to initiate Codespaces and ensure following values are selected: - - [![](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=951198039&skip_quickstart=true) + [![](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=951198039&skip_quickstart=true) - | Configuration Option | Selection | - |--------------------------------|----------------------| - | Branch | `main` | - | Dev container configuration | `Mix-and-Match Database` | - | Region | Any value | - | Machine type | Any value | + | Configuration Option | Selection | + |-----------------------------|--------------------------| + | Branch | `main` | + | Dev container configuration | `Mix-and-Match Database` | + | Region | Any value | + | Machine type | Any value | Log in to GitHub if required. -2. Wait for your Codespace to build. This can take up to a few minutes. +2. Wait for your Codespace to build. This can take up to a few minutes. ::: tip -For this quickstart, you can safely ignore and close any Codespaces notifications that appear on the bottom right of the page. +For this quickstart, you can safely ignore and close any Codespaces notifications that appear on the bottom right of the +page. ::: ## Step 2: Start and Initialize KurrentDB with Sample Events @@ -57,45 +60,45 @@ For this quickstart, you can safely ignore and close any Codespaces notification 3. Copy the URL printed in the terminal from the last step. -4. Open a new browser tab. +4. Open a new browser tab. 5. In the address bar of the new tab, paste the URL and navigate to it. 6. This will display the KurrentDB Admin UI. - + ![KurrentDB Admin UI Dashboard](../images/admin-ui.png =300x) -## Step 3: Browse Sample Events in KurrentDB's Admin UI +## Step 3: Browse Sample Events in KurrentDB Admin UI 1. Click the `Stream Browser` link from the top navigation bar. -2. Under `Recently Changed Streams`, click the `$ce-cart` link. +2. Under `Recently Changed Streams`, click the `$ce-cart` link. ::: info Understanding Category System Projection - The `$ce-cart` stream contains events from all the carts in KurrentDB. This uses the category system projection stream feature. For more information, see [System Projections](https://docs.kurrent.io/server/v25.0/features/projections/system.html#by-category). + The `$ce-cart` stream contains events from all the carts in KurrentDB. This uses the category system projection + stream feature. For more information, + see [System Projections](https://docs.kurrent.io/server/v25.0/features/projections/system.html#by-category). ::: - 3. You should see an ordered list of the appended events associated with two distinct, virtual shopping carts. ::: info Introducing shopping cart events - In KurrentDB, events for each shopping cart are appended to a stream like `cart-2fbe05d1dcf043d782ea24923298ae3a`, where `2fbeone05d1dcf043d782ea24923298ae3a` is the cart's unique ID. + In KurrentDB, events for each shopping cart are appended to a stream like `cart-2fbe05d1dcf043d782ea24923298ae3a`, + where `2fbeone05d1dcf043d782ea24923298ae3a` is the cart's unique ID. The cart will contain events like these: - | Event | Description | - |---------------------------|-------------------------------------------------------------------------------------------------| - | `VisitorStartedShopping` | When a visitor starts shopping and a cart is created. | - | `CustomerStartedShopping` | When a known customer starts shopping and a cart is associated with their ID. | - | `CartShopperGotIdentified`| When a customer's identity is linked to a cart (e.g., a visitor logged in) | - | `ItemGotAdded` | When an item is added to the cart, including details like quantity, price, and tax. | - | `ItemGotRemoved` | When an item is removed from the cart, including the quantity removed. | - | `CartGotCheckedOut` | When a cart is checked out and converted into an order. | - | `CartGotAbandoned` | When a cart is abandoned after being idle for a specified duration. | + | Event | Description | + |----------------------------|-------------------------------------------------------------------------------------| + | `VisitorStartedShopping` | When a visitor starts shopping and a cart is created. | + | `CustomerStartedShopping` | When a known customer starts shopping and a cart is associated with their ID. | + | `CartShopperGotIdentified` | When a customer's identity is linked to a cart (e.g., a visitor logged in) | + | `ItemGotAdded` | When an item is added to the cart, including details like quantity, price, and tax. | + | `ItemGotRemoved` | When an item is removed from the cart, including the quantity removed. | + | `CartGotCheckedOut` | When a cart is checked out and converted into an order. | + | `CartGotAbandoned` | When a cart is abandoned after being idle for a specified duration. | ::: ::: info Quick Quiz - What were the quantities of each product in the shopping carts? - ::: diff --git a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-intro.md b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-intro.md index b44ee002f..c9993ea29 100644 --- a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-intro.md +++ b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-intro.md @@ -27,19 +27,19 @@ Before starting, ensure you have the following: This tutorial consists of the following steps: -### [Part 1: Setup and Initialize KurrentDB](/getting-started/use-cases/mix-and-match-database/tutorial-1.md) -1. **[Set up your Codespaces](/getting-started/use-cases/mix-and-match-database/tutorial-1.md#step-1-set-up-your-codespaces)**: Starts up an interactive coding environment in your browser where all tools and database are installed -2. **[Start and Initialize KurrentDB with Sample Events](/getting-started/use-cases/mix-and-match-database/tutorial-1.md#step-2-start-and-initialize-kurrentdb-with-sample-events)**: Start up KurrentDB and initialize it with sample events -3. **[Browse the Sample Events in KurrentDB's Admin UI](/getting-started/use-cases/mix-and-match-database/tutorial-1.md#step-3-browse-sample-events-in-kurrentdb-s-admin-ui)**: Access the Admin UI to browse the appended events -### [Part 2: Project KurrentDB Events to Postgres](/getting-started/use-cases/mix-and-match-database/tutorial-2.md) -4. **[Execute Projection Applications](/getting-started/use-cases/mix-and-match-database/tutorial-2.md#step-4-execute-projection-application)**: Starts up the projection sample applications that transform KurrentDB events into read models in Postgres and Redis -5. **[Review the Projected Read Models in Postgres](/getting-started/use-cases/mix-and-match-database/tutorial-2.md#step-5-review-the-projected-read-models-in-postgres)**: Run the PostgreSQL command line tool to review the newly inserted records -6. **[Examine the Postgres Projection Application Codebase](/getting-started/use-cases/mix-and-match-database/tutorial-2.md#step-6-examine-the-postgres-projection-application-codebase)**: Examine the PostgreSQL projection application codebase to see how events are transformed to read models in the tables -### [Part 3: Project KurrentDB Events to Redis](/getting-started/use-cases/mix-and-match-database/tutorial-3.md) -7. **[Review the Projected Read Models in Redis](/getting-started/use-cases/mix-and-match-database/tutorial-3.md#step-7-review-the-projected-read-models-in-redis)**: Run the Redis command line tool to review the newly added entries -8. **[Examine the Redis Projection Application Codebase](/getting-started/use-cases/mix-and-match-database/tutorial-3.md#step-8-examine-the-redis-projection-application-codebase)**: Examine the Redis projection application codebase to see how events are transformed into read models in Redis -### [Part 4: Project KurrentDB Events in Real-Time](/getting-started/use-cases/mix-and-match-database/tutorial-4.md) -9. **[Browse the Demo Web Page](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-9-browse-the-demo-web-page)**: Navigate to the Demo Web Page to see a sample of how the read models in Postgres and Redis are used -10. **[Start the Live Data Generator](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-10-start-the-live-data-generator)**: Start a live data generator program that continuously appends events into KurrentDB -11. **[Watch the Read Models Update in Real-Time](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-11-watch-the-read-models-update-in-real-time)**: See how the read models are updated in real-time in the Demo Web Page -12. **[Understanding catch-up subscription and real-time processing](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-12-understanding-catch-up-subscription-and-real-time-processing)**: Understand how the code projects events to the read models in real-time +### [Part 1: Setup and Initialize KurrentDB](tutorial-1.md) +1. **[Set up your Codespaces](tutorial-1.md#step-1-set-up-your-codespaces)**: Starts up an interactive coding environment in your browser where all tools and database are installed +2. **[Start and Initialize KurrentDB with Sample Events](tutorial-1.md#step-2-start-and-initialize-kurrentdb-with-sample-events)**: Start up KurrentDB and initialize it with sample events +3. **[Browse the Sample Events in KurrentDB Admin UI](tutorial-1.md#step-3-browse-sample-events-in-kurrentdb-admin-ui)**: Access the Admin UI to browse the appended events +### [Part 2: Project KurrentDB Events to Postgres](tutorial-2.md) +4. **[Execute Projection Applications](tutorial-2.md#step-4-execute-projection-application)**: Starts up the projection sample applications that transform KurrentDB events into read models in Postgres and Redis +5. **[Review the Projected Read Models in Postgres](tutorial-2.md#step-5-review-the-projected-read-models-in-postgres)**: Run the PostgreSQL command line tool to review the newly inserted records +6. **[Examine the Postgres Projection Application Codebase](tutorial-2.md#step-6-examine-the-postgres-projection-application-codebase)**: Examine the PostgreSQL projection application codebase to see how events are transformed to read models in the tables +### [Part 3: Project KurrentDB Events to Redis](tutorial-3.md) +7. **[Review the Projected Read Models in Redis](tutorial-3.md#step-7-review-the-projected-read-models-in-redis)**: Run the Redis command line tool to review the newly added entries +8. **[Examine the Redis Projection Application Codebase](tutorial-3.md#step-8-examine-the-redis-projection-application-codebase)**: Examine the Redis projection application codebase to see how events are transformed into read models in Redis +### [Part 4: Project KurrentDB Events in Real-Time](tutorial-4.md) +9. **[Browse the Demo Web Page](tutorial-4.md#step-9-browse-the-demo-web-page)**: Navigate to the Demo Web Page to see a sample of how the read models in Postgres and Redis are used +10. **[Start the Live Data Generator](tutorial-4.md#step-10-start-the-live-data-generator)**: Start a live data generator program that continuously appends events into KurrentDB +11. **[Watch the Read Models Update in Real-Time](tutorial-4.md#step-11-watch-the-read-models-update-in-real-time)**: See how the read models are updated in real-time in the Demo Web Page +12. **[Understanding catch-up subscription and real-time processing](tutorial-4.md#step-12-understanding-catch-up-subscription-and-real-time-processing)**: Understand how the code projects events to the read models in real-time diff --git a/docs/dev-center/use-cases/outbox/tutorial/tutorial-2.md b/docs/dev-center/use-cases/outbox/tutorial/tutorial-2.md index 47d908677..170bbec51 100644 --- a/docs/dev-center/use-cases/outbox/tutorial/tutorial-2.md +++ b/docs/dev-center/use-cases/outbox/tutorial/tutorial-2.md @@ -44,7 +44,7 @@ On the other hand, an event like `OrderPlaced` in this tutorial may not require ![KurrentDB Admin UI Dashboard](../images/admin-ui.png =300x) -## Step 3: Browse OrderPlaced Events in KurrentDB's Admin UI +## Step 3: Browse OrderPlaced Events in KurrentDB Admin UI 1. Click the `Stream Browser` link from the top navigation bar. diff --git a/docs/dev-center/use-cases/outbox/tutorial/tutorial-intro.md b/docs/dev-center/use-cases/outbox/tutorial/tutorial-intro.md index 38fda0253..56f33800a 100644 --- a/docs/dev-center/use-cases/outbox/tutorial/tutorial-intro.md +++ b/docs/dev-center/use-cases/outbox/tutorial/tutorial-intro.md @@ -31,23 +31,23 @@ Before starting, ensure you have the following: This tutorial consists of the following steps: -### [Part 1: Set up Codespaces](/getting-started/use-cases/outbox/tutorial-1.md) -1. **[Set up your Codespaces](/getting-started/use-cases/outbox/tutorial-1.md#step-1-set-up-your-codespaces)**: Start an interactive coding environment in your browser where all tools and databases are installed - -### [Part 2: Trigger Writes to External Data Stores](/getting-started/use-cases/outbox/tutorial-2.md) -2. **[Start Databases and Append OrderPlaced Event to KurrentDB](/getting-started/use-cases/outbox/tutorial-2.md#step-2-start-databases-and-append-orderplaced-event-to-kurrentdb)**: Start KurrentDB and PostgreSQL, and append sample OrderPlaced events -3. **[Browse OrderPlaced Events in KurrentDB's Admin UI](/getting-started/use-cases/outbox/tutorial-2.md#step-3-browse-orderplaced-events-in-kurrentdb-s-admin-ui)**: Access the Admin UI to explore the triggering events - -### [Part 3: Write to a External Data Store with Persistent Subscription](/getting-started/use-cases/outbox/tutorial-3.md) -4. **[Create a KurrentDB Persistent Subscription Consumer Group](/getting-started/use-cases/outbox/tutorial-3.md#step-4-create-a-kurrentdb-persistent-subscription-consumer-group)**: Set up a persistent subscription to process events -5. **[Review the Consumer Group from the KurrentDB Admin UI](/getting-started/use-cases/outbox/tutorial-3.md#step-5-review-the-consumer-group-from-the-kurrentdb-admin-ui)**: Examine the created consumer group -6. **[Start the Order Processor Application](/getting-started/use-cases/outbox/tutorial-3.md#step-6-start-the-order-processor-application)**: Run the application that processes OrderPlaced events -7. **[Examine the Order Processor Application Codebase](/getting-started/use-cases/outbox/tutorial-3.md#step-7-examine-the-order-processor-application-codebase)**: Understand how idempotent event processing works in KurrentDB -8. **[Process New Events in Real-Time](/getting-started/use-cases/outbox/tutorial-3.md#step-8-process-new-events-in-real-time)**: Observe real-time event processing with persistent subscriptions - -### [Part 4: Error Handling for Writes to External Data Stores](/getting-started/use-cases/outbox/tutorial-4.md) -9. **[Handle Application Outage with Checkpoints](/getting-started/use-cases/outbox/tutorial-4.md#step-9-handle-application-outage-with-checkpoints)**: Learn how checkpoints ensure event processing after system failures -10. **[Handle Transient Errors by Retrying Events](/getting-started/use-cases/outbox/tutorial-4.md#step-10-handle-transient-errors-by-retrying-events)**: Implement retry logic for temporary failures -11. **[Examine How Transient Errors are Handled in the Codebase](/getting-started/use-cases/outbox/tutorial-4.md#step-11-examine-how-transient-errors-are-handled-in-the-codebase)**: Understand the error handling implementation -12. **[Handle Permanent Errors by Skipping Events](/getting-started/use-cases/outbox/tutorial-4.md#step-12-handle-permanent-errors-by-skipping-events)**: Learn to handle unrecoverable errors by skipping problematic events -13. **[Examine How Permanent Errors are Handled in the Codebase](/getting-started/use-cases/outbox/tutorial-4.md#step-13-examine-how-permanent-errors-are-handled-in-the-codebase)**: Review the permanent error handling implementation \ No newline at end of file +### [Part 1: Set up Codespaces](tutorial-1.md) +1. **[Set up your Codespaces](tutorial-1.md#step-1-set-up-your-codespaces)**: Start an interactive coding environment in your browser where all tools and databases are installed + +### [Part 2: Trigger Writes to External Data Stores](tutorial-2.md) +2. **[Start Databases and Append OrderPlaced Event to KurrentDB](tutorial-2.md#step-2-start-databases-and-append-orderplaced-event-to-kurrentdb)**: Start KurrentDB and PostgreSQL, and append sample OrderPlaced events +3. **[Browse OrderPlaced Events in KurrentDB Admin UI](tutorial-2.md#step-3-browse-orderplaced-events-in-kurrentdb-admin-ui)**: Access the Admin UI to explore the triggering events + +### [Part 3: Write to a External Data Store with Persistent Subscription](tutorial-3.md) +4. **[Create a KurrentDB Persistent Subscription Consumer Group](tutorial-3.md#step-4-create-a-kurrentdb-persistent-subscription-consumer-group)**: Set up a persistent subscription to process events +5. **[Review the Consumer Group from the KurrentDB Admin UI](tutorial-3.md#step-5-review-the-consumer-group-from-the-kurrentdb-admin-ui)**: Examine the created consumer group +6. **[Start the Order Processor Application](tutorial-3.md#step-6-start-the-order-processor-application)**: Run the application that processes OrderPlaced events +7. **[Examine the Order Processor Application Codebase](tutorial-3.md#step-7-examine-the-order-processor-application-codebase)**: Understand how idempotent event processing works in KurrentDB +8. **[Process New Events in Real-Time](tutorial-3.md#step-8-process-new-events-in-real-time)**: Observe real-time event processing with persistent subscriptions + +### [Part 4: Error Handling for Writes to External Data Stores](tutorial-4.md) +9. **[Handle Application Outage with Checkpoints](tutorial-4.md#step-9-handle-application-outage-with-checkpoints)**: Learn how checkpoints ensure event processing after system failures +10. **[Handle Transient Errors by Retrying Events](tutorial-4.md#step-10-handle-transient-errors-by-retrying-events)**: Implement retry logic for temporary failures +11. **[Examine How Transient Errors are Handled in the Codebase](tutorial-4.md#step-11-examine-how-transient-errors-are-handled-in-the-codebase)**: Understand the error handling implementation +12. **[Handle Permanent Errors by Skipping Events](tutorial-4.md#step-12-handle-permanent-errors-by-skipping-events)**: Learn to handle unrecoverable errors by skipping problematic events +13. **[Examine How Permanent Errors are Handled in the Codebase](tutorial-4.md#step-13-examine-how-permanent-errors-are-handled-in-the-codebase)**: Review the permanent error handling implementation \ No newline at end of file diff --git a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-2.md b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-2.md index 7e1d82a71..090f143fa 100644 --- a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-2.md +++ b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-2.md @@ -40,7 +40,7 @@ In this part, you will start a KurrentDB instance and initialize it with a few h ![KurrentDB Admin UI Dashboard](../images/admin-ui.png =300x) -## Step 3: Browse OrderPlaced Events in KurrentDB's Admin UI +## Step 3: Browse OrderPlaced Events in KurrentDB Admin UI 1. Click the `Stream Browser` link from the top navigation bar. diff --git a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-4.md b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-4.md index b0ed13b1a..47400aa8a 100644 --- a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-4.md +++ b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-4.md @@ -10,7 +10,7 @@ In this part, you will modify the projection to also record historical snapshots ![Time Traveling Report](../images/time-travel-report.gif) -## Step 8: Add Time Traveling Support to Report Projection +## Step 8: Add Time Travel Support to Report Projection In this step, you will modify the projection so that the read model includes sales data for every day of the month, not just the most recent day. @@ -171,7 +171,7 @@ The optimal granularity for your system depends on your specific requirements. 10. Repeat 1. to 9. until the results match -## Step 9: Explore Time Traveling Capability in the Report Web Application +## Step 9: Explore Time Travel Capability in the Report Web Application 1. Run this command in the terminal to start the sales report web application: diff --git a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-intro.md b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-intro.md index 1ab212cd1..e8877d64f 100644 --- a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-intro.md +++ b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-intro.md @@ -30,23 +30,23 @@ Before starting, ensure you have the following: This tutorial consists of the following steps: -### [Part 1: Set up Codespaces](/getting-started/use-cases/time-travel/tutorial-1.md) -1. **[Set up your Codespaces](/getting-started/use-cases/time-travel/tutorial-1.md#step-1-set-up-your-codespaces)**: Start an interactive coding environment in your browser where all tools and databases are installed. - -### [Part 2: Initialize KurrentDB with Sample Orders](/getting-started/use-cases/time-travel/tutorial-2.md) -2. **[Start Databases and Append OrderPlaced Events](/getting-started/use-cases/time-travel/tutorial-2.md#step-2-start-databases-and-append-orderplaced-event-to-kurrentdb)**: Start KurrentDB and append sample order events for use in reporting. -3. **[Browse OrderPlaced Events in KurrentDB's Admin UI](/getting-started/use-cases/time-travel/tutorial-2.md#step-3-browse-orderplaced-events-in-kurrentdb-s-admin-ui)**: Explore the event streams in the Admin UI. - -### [Part 3: Project Events to Sales Report Read Model](/getting-started/use-cases/time-travel/tutorial-3.md) -4. **[Start the Report Projection Application](/getting-started/use-cases/time-travel/tutorial-3.md#step-4-start-the-report-projection-application)**: Start the app that listens for `OrderPlaced` events and builds a denormalized JSON sales report read model. -5. **[Start and Browse the Report Web Application](/getting-started/use-cases/time-travel/tutorial-3.md#step-5-start-and-browse-the-report-web-application)**: Open the web app to view the sales report generated from the read model. -6. **[Examine the Report Projection Application](/getting-started/use-cases/time-travel/tutorial-3.md#step-6-examine-the-report-projection-application)**: Review how the projection app loads, updates, and saves the read model in response to events. -7. **[Examine the Report Projection Logic](/getting-started/use-cases/time-travel/tutorial-3.md#step-7-examine-the-report-projection-logic)**: Explore how the projection logic transforms order events into the month-end sales report. - -### [Part 4: Time Travel with Pre-computed Read Models](/getting-started/use-cases/time-travel/tutorial-4.md) -8. **[Add Time-Travel Support to the Sales Report Projection](/getting-started/use-cases/time-travel/tutorial-4.md#step-8-add-time-travel-support-to-sales-report-projection)**: Modify the projection so the read model records sales data for every day of the month, enabling time-travel queries. -9. **[Explore Time Travel Capabilities in the Report Web Application](/getting-started/use-cases/time-travel/tutorial-4.md#step-9-explore-time-travel-capability-in-the-report-web-application)**: Use the web app's time slider to view historical snapshots of the sales report for any day. - -### [Part 5: Time Travel with On-demand Event Replay](/getting-started/use-cases/time-travel/tutorial-5.md) -10. **[Discover the Auditing Capabilities in the Report Web Application](/getting-started/use-cases/time-travel/tutorial-5.md#step-10-discover-the-auditing-capabilities-in-the-report-web-application)**: Use the web app to audit and reconstruct the sales report state at any point in time by replaying events on demand. -11. **[Examine the Event Audit API](/getting-started/use-cases/time-travel/tutorial-5.md#step-11-examine-the-event-audit-api)**: Review how the API reads and filters events from the event store to support on-demand time-travel and auditing. \ No newline at end of file +### [Part 1: Set up Codespaces](tutorial-1.md) +1. **[Set up your Codespaces](tutorial-1.md#step-1-set-up-your-codespaces)**: Start an interactive coding environment in your browser where all tools and databases are installed. + +### [Part 2: Initialize KurrentDB with Sample Orders](tutorial-2.md) +2. **[Start Databases and Append OrderPlaced Events](tutorial-2.md#step-2-start-databases-and-append-orderplaced-event-to-kurrentdb)**: Start KurrentDB and append sample order events for use in reporting. +3. **[Browse OrderPlaced Events in KurrentDB Admin UI](tutorial-2.md#step-3-browse-orderplaced-events-in-kurrentdb-admin-ui)**: Explore the event streams in the Admin UI. + +### [Part 3: Project Events to Sales Report Read Model](tutorial-3.md) +4. **[Start the Report Projection Application](tutorial-3.md#step-4-start-the-report-projection-application)**: Start the app that listens for `OrderPlaced` events and builds a denormalized JSON sales report read model. +5. **[Start and Browse the Report Web Application](tutorial-3.md#step-5-start-and-browse-the-report-web-application)**: Open the web app to view the sales report generated from the read model. +6. **[Examine the Report Projection Application](tutorial-3.md#step-6-examine-the-report-projection-application)**: Review how the projection app loads, updates, and saves the read model in response to events. +7. **[Examine the Report Projection Logic](tutorial-3.md#step-7-examine-the-report-projection-logic)**: Explore how the projection logic transforms order events into the month-end sales report. + +### [Part 4: Time Travel with Pre-computed Read Models](tutorial-4.md) +8. **[Add Time-Travel Support to the Sales Report Projection](tutorial-4.md#step-8-add-time-travel-support-to-report-projection)**: Modify the projection so the read model records sales data for every day of the month, enabling time-travel queries. +9. **[Explore Time Travel Capabilities in the Report Web Application](tutorial-4.md#step-9-explore-time-travel-capability-in-the-report-web-application)**: Use the web app's time slider to view historical snapshots of the sales report for any day. + +### [Part 5: Time Travel with On-demand Event Replay](tutorial-5.md) +10. **[Discover the Auditing Capabilities in the Report Web Application](tutorial-5.md#step-10-discover-the-auditing-capabilities-in-the-report-web-application)**: Use the web app to audit and reconstruct the sales report state at any point in time by replaying events on demand. +11. **[Examine the Event Audit API](tutorial-5.md#step-11-examine-the-event-audit-api)**: Review how the API reads and filters events from the event store to support on-demand time-travel and auditing. \ No newline at end of file diff --git a/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md b/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md index 79866c30d..3c87f9906 100644 --- a/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md +++ b/docs/server/kubernetes-operator/v1.1.0/getting-started/README.md @@ -27,12 +27,8 @@ Kubernetes is the modern enterprise standard for deploying containerized applica * Perform rolling upgrades and update configurations ### New in 1.1.0 -* Deploy Read-only Replica nodes into your KurrentDB cluster. See the [example]( - ../operations/database-deployment.html#three-node-insecure-cluster-with-two-read-only-replicas), and [reference]( - resource-types.html#kurrentdbreadonlyreplicasspec) -* Configure arbitrary scheduling constraints on your KurrentDB pods. See the [example]( - ../operations/database-deployment.html#deploying-with-scheduling-constraints), and [reference]( - resource-types.html#kurrentdbconstraints) +* Deploy Read-only Replica nodes into your KurrentDB cluster. See the [example](../operations/database-deployment.md#three-node-insecure-cluster-with-two-read-only-replicas), and [reference](./resource-types.md#kurrentdbreadonlyreplicasspec) +* Configure arbitrary scheduling constraints on your KurrentDB pods. See the [example](../operations/database-deployment.md#deploying-with-scheduling-constraints), and [reference](./resource-types.md#kurrentdbconstraints) ## Supported KurrentDB Versions From fe7852854aa58140ccc4103e854c49ba942287a6 Mon Sep 17 00:00:00 2001 From: Alexey Zimarev Date: Sat, 26 Jul 2025 17:04:21 +0200 Subject: [PATCH 25/36] Merge master and clean some broken links --- CONTRIBUTING.md | 2 +- docs/.vuepress/client.ts | 22 +---- docs/.vuepress/components/VersionDropdown.vue | 2 +- docs/.vuepress/config.ts | 1 - docs/.vuepress/configs/navbar.ts | 99 ++++++++----------- docs/.vuepress/layouts/SidebarLayout.vue | 10 +- docs/.vuepress/lib/versioning.ts | 72 +++++++------- docs/.vuepress/markdown/replaceLink/index.ts | 2 +- docs/.vuepress/versions.json | 12 +-- docs/clients/grpc/README.md | 12 +-- docs/clients/grpc/appending-events.md | 12 +-- docs/clients/grpc/authentication.md | 12 +-- docs/clients/grpc/delete-stream.md | 12 +-- docs/clients/grpc/getting-started.md | 12 +-- docs/clients/grpc/observability.md | 6 +- docs/clients/grpc/persistent-subscriptions.md | 12 +-- docs/clients/grpc/projections.md | 10 +- docs/clients/grpc/reading-events.md | 12 +-- docs/clients/grpc/release-notes.md | 12 +-- docs/clients/grpc/subscriptions.md | 12 +-- .../tutorial/tutorial-2.md | 4 +- .../tutorial/tutorial-4.md | 2 +- .../use-cases/outbox/tutorial/tutorial-3.md | 2 +- .../use-cases/outbox/tutorial/tutorial-4.md | 4 +- .../time-travel/tutorial/tutorial-3.md | 6 +- docs/getting-started/concepts.md | 4 +- docs/getting-started/features.md | 92 ++++++++--------- import/repos.json | 24 ++--- 28 files changed, 223 insertions(+), 261 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f7538af53..75e47f552 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -164,7 +164,7 @@ Configuration for sidebars can be found in the `/docs/.vuepress/configs/sidebar. ```typescript export const sidebarEn: EsSidebarOptions = { - "/clients/grpc/": "structure", + "/clients/": "structure", "/cloud/": "structure", } ``` diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 7eeec1e1a..724ea4ef8 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -47,15 +47,6 @@ const findEsMeta = (route) => { } } -// interface ClientConfig { -// enhance?: (context: { -// app: any; -// router: Router; -// siteData: any; -// }) => void | Promise; -// setup?: () => void; -// } - const removeHtml = (path: string) => path.replace(".html", ""); const reload = () => { @@ -122,20 +113,13 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - addDynamicRoute('/clients/grpc/:lang/:version', to => `/clients/grpc/${to.params.lang}/${to.params.version}/getting-started.html`); - addDynamicRoute('/clients/grpc/:lang', to => { + addDynamicRoute('/clients/:lang/:version', to => `/clients/${to.params.lang}/${to.params.version}/getting-started.html`); + addDynamicRoute('/clients/:lang', to => { const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path - return `/clients/grpc/${to.params.lang}/${version}/getting-started.html`; + return `/clients/${to.params.lang}/${version}/getting-started.html`; }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); - addDynamicRoute('/client/:lang', - to => { - const lang = to.params.lang === "csharp" ? "C#" : to.params.lang; - const stored = JSON.parse(localStorage.getItem(storageKey) ?? "{}"); - localStorage.setItem(storageKey, JSON.stringify({...stored, code: lang})); - return '/clients/grpc/getting-started.html'; - }); addDynamicRoute('/latest/:pathMatch(.*)*', to => to.path.replace(/^\/latest/, `/${__VERSIONS__.latest}`)); addFixedRoute("/server/latest", `/${__VERSIONS__.latest}/quick-start/`); addFixedRoute("/latest", `/${__VERSIONS__.latest}/quick-start/`); diff --git a/docs/.vuepress/components/VersionDropdown.vue b/docs/.vuepress/components/VersionDropdown.vue index ecb2705cb..0779c95b8 100644 --- a/docs/.vuepress/components/VersionDropdown.vue +++ b/docs/.vuepress/components/VersionDropdown.vue @@ -200,4 +200,4 @@ onUnmounted(() => document.removeEventListener('click', handleClickOutside)); // Styles for dropdown-separator and dropdown-item are now in VersionSection.vue } } - + \ No newline at end of file diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index 28a711795..1a57d4c21 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -53,7 +53,6 @@ export default defineUserConfig({ .replace("@clients/grpc/", "/clients/grpc/") .replace("@client/dotnet/5.0/", "/clients/tcp/dotnet/21.2/") .replace("@httpapi/data/", projectionSamplesPath) - .replace("@httpapi/", "/server/v5/http-api/") // Add tutorial and use case redirects .replace(/^\/tutorials\/(.*)/, "/dev-center/tutorials/$1") .replace(/^\/getting-started\/use-cases\/(.*)\/tutorial-([1-5])\.(md|html)/, "/dev-center/use-cases/$1/tutorial/tutorial-$2.$3") diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index d56876a27..0423f5e10 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -2,62 +2,45 @@ import type {NavbarOptions} from "vuepress-theme-hope"; import {instance as ver} from "../lib/versioning"; export const navbarEn: NavbarOptions = [ - { - text: "Getting Started", - link: "/getting-started/introduction.html", - }, - { - text: "Kurrent Cloud", - link: "/cloud/introduction", - }, - { - text: "KurrentDB", - children: [ - {text: "KurrentDB Server", link: "/server/latest/"}, - {text: "Kubernetes Operator", link: "/server/kubernetes-operator/"}, + {text: "Getting Started", link: "/getting-started/introduction.html"}, + {text: "Kurrent Cloud", link: "/cloud/introduction"}, + { + text: "KurrentDB", + children: [ + {text: "KurrentDB Server", link: "/server/latest/"}, + {text: "Kubernetes Operator", link: "/server/kubernetes-operator/"}, + ], + }, + { + text: "Clients & APIs", + children: [ + { + text: "Clients", + children: [ + {text: ".NET", link: "/clients/dotnet/"}, + {text: "Python", link: "/clients/python/"}, + {text: "Node.js", link: "/clients/node/"}, + {text: "Java", link: "/clients/java/"}, + {text: "Go", link: "/clients/go/"}, + {text: "Rust", link: "/clients/rust/"}, + ] + }, + { + text: "Deprecated", + children: [{text: "Legacy TCP clients", link: "/clients/tcp/"}], + } + ], + }, + { + text: "Developer Resources", + children: + [ + {text: "Tutorials & Use cases", link: "/dev-center/"}, + {text: "Community forum", link: "https://discuss.kurrent.io/"}, + {text: "Community Discord ", link: "https://discord.gg/Phn9pmCw3t"}, + {text: "Blogs", link: "https://www.kurrent.io/blog"}, + {text: "Webinars", link: "https://www.kurrent.io/webinars"}, + {text: "Kurrent Academy", link: "https://academy.kurrent.io"}, ], - }, - { - text: "Clients & APIs", - children: [ - { - text: "Clients", - children: [ - {text: ".NET", link: ver.linksFor("dotnet-client", false)[0]?.link || "/clients/grpc/dotnet/"}, - { - text: "Python", - link: ver.linksFor("python-client", false)[0]?.link || "/clients/grpc/python/" - }, - {text: "Node.js", link: ver.linksFor("node-client", false)[0]?.link || "/clients/grpc/node/"}, - {text: "Java", link: ver.linksFor("java-client", false)[0]?.link || "/clients/grpc/java/"}, - {text: "Go", link: ver.linksFor("go-client", false)[0]?.link || "/clients/grpc/go/"}, - {text: "Rust", link: ver.linksFor("rust-client", false)[0]?.link || "/clients/grpc/rust/"}, - ] - }, - { - text: "Deprecated", - children: - [{text: "Legacy TCP clients", link: "/clients/tcp/"}], - } - , - ], - }, - - { - text: "Developer Resources", - children: - [ - { - text: "Tutorials & Use cases", - link: "/dev-center/", - }, - {text: "Community forum", link: "https://discuss.kurrent.io/"}, - {text: "Community Discord ", link: "https://discord.gg/Phn9pmCw3t"}, - {text: "Blogs", link: "https://www.kurrent.io/blog"}, - {text: "Webinars", link: "https://www.kurrent.io/webinars"}, - {text: "Kurrent Academy", link: "https://academy.kurrent.io"}, - ], - } - , - ] -; + } +]; diff --git a/docs/.vuepress/layouts/SidebarLayout.vue b/docs/.vuepress/layouts/SidebarLayout.vue index 021219362..9def20b68 100644 --- a/docs/.vuepress/layouts/SidebarLayout.vue +++ b/docs/.vuepress/layouts/SidebarLayout.vue @@ -29,16 +29,18 @@ const versionInfo = computed(() => { if (pathSegments.length < 2) return null - const basePath = pathSegments[0] - if (!pageData.value.versions?.all) return null for (const versionInfo of pageData.value.versions.all) { - if (versionInfo.basePath === basePath && versionInfo.versions) { + const basePath = versionInfo.basePath + + if (route.path.startsWith(`/${basePath}/`) && versionInfo.versions) { for (const versionDetail of versionInfo.versions) { const versionPath = versionDetail.path - if (route.path.includes(`/${basePath}/${versionPath}/`)) { + const fullVersionPath = `/${basePath}/${versionPath}/` + + if (route.path.startsWith(fullVersionPath)) { return { versions: versionInfo.versions, current: versionDetail diff --git a/docs/.vuepress/lib/versioning.ts b/docs/.vuepress/lib/versioning.ts index fd3ba12d7..4d55f091f 100644 --- a/docs/.vuepress/lib/versioning.ts +++ b/docs/.vuepress/lib/versioning.ts @@ -5,52 +5,52 @@ import references from '../versions.json' import log from './log' export interface VersionDetail { - version: string; - path: string; - startPage: string; - preview: boolean; - deprecated: boolean; - hide: boolean; - lts: boolean; + version: string; + path: string; + startPage: string; + preview: boolean; + deprecated: boolean; + hide: boolean; + lts: boolean; } export interface Version { - id: string; - group: string; - basePath: string; - versions: VersionDetail[]; + id: string; + group: string; + basePath: string; + versions: VersionDetail[]; } export interface VersionLink { - text: string; - link: string; + text: string; + link: string; } export class Versioning { - readonly versions: Version[] = []; + readonly versions: Version[] = []; - constructor() { - const require = createRequire(import.meta.url); + constructor() { + const require = createRequire(import.meta.url); - references.forEach(p => { - const fileName = path.resolve(__dirname, p); + references.forEach(p => { + const fileName = path.resolve(__dirname, p); - if (fs.existsSync(fileName)) { - log.info(`Importing versions from ${fileName}`); - const list: Version[] = require(fileName); + if (fs.existsSync(fileName)) { + log.info(`Importing versions from ${fileName}`); + const list: Version[] = require(fileName); - list.forEach(v => { - const existing = this.versions.find(x => x.id === v.id); - if (existing === undefined) - this.versions.push(v); - else - existing.versions.push(...v.versions); + list.forEach(v => { + const existing = this.versions.find(x => x.id === v.id); + if (existing === undefined) + this.versions.push(v); + else + existing.versions.push(...v.versions); + }) + } else { + log.info(`File ${fileName} doesn't exist, ignoring`); + } }) - } else { - log.info(`File ${fileName} doesn't exist, ignoring`); - } - }) - } + } get latestSemver(): string { const serverDocs = this.versions.find(v => v.id === "server"); @@ -79,12 +79,6 @@ export class Versioning { const r = this.versions.map(v => v.versions.map(x => `/${v.basePath}/${x.path}/`)).flat(); return r.reduce((result, curr) => ({...result, [curr]: "structure"}), {}); } - - // version(id: string): Version | undefined { - // const ret = this.versions.find(x => x.id === id); - // if (ret === undefined) log.error(`Version ${id} not defined`); - // return ret; - // } } -export const instance: Versioning = new Versioning(); +export const instance: Versioning = new Versioning(); \ No newline at end of file diff --git a/docs/.vuepress/markdown/replaceLink/index.ts b/docs/.vuepress/markdown/replaceLink/index.ts index 190bcd9f2..dcdbc5de2 100644 --- a/docs/.vuepress/markdown/replaceLink/index.ts +++ b/docs/.vuepress/markdown/replaceLink/index.ts @@ -109,4 +109,4 @@ export const replaceLinkPlugin: PluginWithOptions = (m }); } ) -} +} \ No newline at end of file diff --git a/docs/.vuepress/versions.json b/docs/.vuepress/versions.json index 2b5d508a6..be41ac37f 100644 --- a/docs/.vuepress/versions.json +++ b/docs/.vuepress/versions.json @@ -1,10 +1,10 @@ [ "../../server/generated-versions.json", "../../server/kubernetes-operator/versions.json", - "../../clients/grpc/dotnet/generated-versions.json", - "../../clients/grpc/node/generated-versions.json", - "../../clients/grpc/python/generated-versions.json", - "../../clients/grpc/rust/generated-versions.json", - "../../clients/grpc/go/generated-versions.json", - "../../clients/grpc/java/generated-versions.json" + "../../clients/dotnet/generated-versions.json", + "../../clients/node/generated-versions.json", + "../../clients/python/generated-versions.json", + "../../clients/rust/generated-versions.json", + "../../clients/golang/generated-versions.json", + "../../clients/java/generated-versions.json" ] diff --git a/docs/clients/grpc/README.md b/docs/clients/grpc/README.md index f486fe592..b8542003e 100644 --- a/docs/clients/grpc/README.md +++ b/docs/clients/grpc/README.md @@ -11,14 +11,14 @@ KurrentDB offers official client libraries for multiple programming languages, m Select your client library to view the documentation: -.NET [.NET](/clients/grpc/dotnet/getting-started.md) +.NET [.NET](/clients/dotnet/getting-started.md) -Python [Python](/clients/grpc/python/getting-started.md) +Python [Python](/clients/python/getting-started.md) -Node.js [Node.js](/clients/grpc/nodejs/getting-started.md) +Node.js [Node.js](/clients/nodejs/getting-started.md) -Java [Java](/clients/grpc/java/getting-started.md) +Java [Java](/clients/java/getting-started.md) -Go [Go](/clients/grpc/go/getting-started.md) +Go [Go](/clients/go/getting-started.md) -Rust [Rust](/clients/grpc/rust/getting-started.md) \ No newline at end of file +Rust [Rust](/clients/rust/getting-started.md) \ No newline at end of file diff --git a/docs/clients/grpc/appending-events.md b/docs/clients/grpc/appending-events.md index 9bd7784c7..c365638e0 100644 --- a/docs/clients/grpc/appending-events.md +++ b/docs/clients/grpc/appending-events.md @@ -8,14 +8,14 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/appending-events.md) +.NET [.NET](/clients/dotnet/appending-events.md) -Python [Python](/clients/grpc/python/appending-events.md) +Python [Python](/clients/python/appending-events.md) -Node.js [Node.js](/clients/grpc/nodejs/appending-events.md) +Node.js [Node.js](/clients/nodejs/appending-events.md) -Java [Java](/clients/grpc/java/appending-events.md) +Java [Java](/clients/java/appending-events.md) -Go [Go](/clients/grpc/go/appending-events.md) +Go [Go](/clients/go/appending-events.md) -Rust [Rust](/clients/grpc/rust/appending-events.md) \ No newline at end of file +Rust [Rust](/clients/rust/appending-events.md) \ No newline at end of file diff --git a/docs/clients/grpc/authentication.md b/docs/clients/grpc/authentication.md index 81e26cb29..23bd6b4bd 100644 --- a/docs/clients/grpc/authentication.md +++ b/docs/clients/grpc/authentication.md @@ -8,14 +8,14 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/authentication.md) +.NET [.NET](/clients/dotnet/authentication.md) -Python [Python](/clients/grpc/python/authentication.md) +Python [Python](/clients/python/authentication.md) -Node.js [Node.js](/clients/grpc/nodejs/authentication.md) +Node.js [Node.js](/clients/nodejs/authentication.md) -Java [Java](/clients/grpc/java/authentication.md) +Java [Java](/clients/java/authentication.md) -Go [Go](/clients/grpc/go/authentication.md) +Go [Go](/clients/go/authentication.md) -Rust [Rust](/clients/grpc/rust/authentication.md) \ No newline at end of file +Rust [Rust](/clients/rust/authentication.md) \ No newline at end of file diff --git a/docs/clients/grpc/delete-stream.md b/docs/clients/grpc/delete-stream.md index 9aebfea8a..8998a0459 100644 --- a/docs/clients/grpc/delete-stream.md +++ b/docs/clients/grpc/delete-stream.md @@ -8,14 +8,14 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/delete-stream.md) +.NET [.NET](/clients/dotnet/delete-stream.md) -Python [Python](/clients/grpc/python/delete-stream.md) +Python [Python](/clients/python/delete-stream.md) -Node.js [Node.js](/clients/grpc/nodejs/delete-stream.md) +Node.js [Node.js](/clients/nodejs/delete-stream.md) -Java [Java](/clients/grpc/java/delete-stream.md) +Java [Java](/clients/java/delete-stream.md) -Go [Go](/clients/grpc/go/delete-stream.md) +Go [Go](/clients/go/delete-stream.md) -Rust [Rust](/clients/grpc/rust/delete-stream.md) \ No newline at end of file +Rust [Rust](/clients/rust/delete-stream.md) \ No newline at end of file diff --git a/docs/clients/grpc/getting-started.md b/docs/clients/grpc/getting-started.md index 52efced84..df45a8b95 100644 --- a/docs/clients/grpc/getting-started.md +++ b/docs/clients/grpc/getting-started.md @@ -8,14 +8,14 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/getting-started.md) +.NET [.NET](/clients/dotnet/getting-started.md) -Python [Python](/clients/grpc/python/getting-started.md) +Python [Python](/clients/python/getting-started.md) -Node.js [Node.js](/clients/grpc/nodejs/getting-started.md) +Node.js [Node.js](/clients/nodejs/getting-started.md) -Java [Java](/clients/grpc/java/getting-started.md) +Java [Java](/clients/java/getting-started.md) -Go [Go](/clients/grpc/go/getting-started.md) +Go [Go](/clients/go/getting-started.md) -Rust [Rust](/clients/grpc/rust/getting-started.md) \ No newline at end of file +Rust [Rust](/clients/rust/getting-started.md) \ No newline at end of file diff --git a/docs/clients/grpc/observability.md b/docs/clients/grpc/observability.md index f3e8e7999..47ab8b4aa 100644 --- a/docs/clients/grpc/observability.md +++ b/docs/clients/grpc/observability.md @@ -8,8 +8,8 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/observability.md) +.NET [.NET](/clients/dotnet/observability.md) -Node.js [Node.js](/clients/grpc/nodejs/observability.md) +Node.js [Node.js](/clients/nodejs/observability.md) -Java [Java](/clients/grpc/java/observability.md) \ No newline at end of file +Java [Java](/clients/java/observability.md) \ No newline at end of file diff --git a/docs/clients/grpc/persistent-subscriptions.md b/docs/clients/grpc/persistent-subscriptions.md index dbdb4eaaf..b009afb28 100644 --- a/docs/clients/grpc/persistent-subscriptions.md +++ b/docs/clients/grpc/persistent-subscriptions.md @@ -8,14 +8,14 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/persistent-subscriptions.md) +.NET [.NET](/clients/dotnet/persistent-subscriptions.md) -Python [Python](/clients/grpc/python/persistent-subscriptions.md) +Python [Python](/clients/python/persistent-subscriptions.md) -Node.js [Node.js](/clients/grpc/nodejs/persistent-subscriptions.md) +Node.js [Node.js](/clients/nodejs/persistent-subscriptions.md) -Java [Java](/clients/grpc/java/persistent-subscriptions.md) +Java [Java](/clients/java/persistent-subscriptions.md) -Go [Go](/clients/grpc/go/persistent-subscriptions.md) +Go [Go](/clients/go/persistent-subscriptions.md) -Rust [Rust](/clients/grpc/rust/persistent-subscriptions.md) \ No newline at end of file +Rust [Rust](/clients/rust/persistent-subscriptions.md) \ No newline at end of file diff --git a/docs/clients/grpc/projections.md b/docs/clients/grpc/projections.md index 9303ba2d3..727e6caf1 100644 --- a/docs/clients/grpc/projections.md +++ b/docs/clients/grpc/projections.md @@ -8,12 +8,12 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/projections.md) +.NET [.NET](/clients/dotnet/projections.md) -Python [Python](/clients/grpc/python/projections.md) +Python [Python](/clients/python/projections.md) -Node.js [Node.js](/clients/grpc/nodejs/projections.md) +Node.js [Node.js](/clients/nodejs/projections.md) -Java [Java](/clients/grpc/java/projections.md) +Java [Java](/clients/java/projections.md) -Go [Go](/clients/grpc/go/projections.md) \ No newline at end of file +Go [Go](/clients/go/projections.md) \ No newline at end of file diff --git a/docs/clients/grpc/reading-events.md b/docs/clients/grpc/reading-events.md index 8683069ff..d8d55b06f 100644 --- a/docs/clients/grpc/reading-events.md +++ b/docs/clients/grpc/reading-events.md @@ -8,14 +8,14 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/reading-events.md) +.NET [.NET](/clients/dotnet/reading-events.md) -Python [Python](/clients/grpc/python/reading-events.md) +Python [Python](/clients/python/reading-events.md) -Node.js [Node.js](/clients/grpc/nodejs/reading-events.md) +Node.js [Node.js](/clients/nodejs/reading-events.md) -Java [Java](/clients/grpc/java/reading-events.md) +Java [Java](/clients/java/reading-events.md) -Go [Go](/clients/grpc/go/reading-events.md) +Go [Go](/clients/go/reading-events.md) -Rust [Rust](/clients/grpc/rust/reading-events.md) \ No newline at end of file +Rust [Rust](/clients/rust/reading-events.md) \ No newline at end of file diff --git a/docs/clients/grpc/release-notes.md b/docs/clients/grpc/release-notes.md index 7108d64d6..84c27e03e 100644 --- a/docs/clients/grpc/release-notes.md +++ b/docs/clients/grpc/release-notes.md @@ -8,14 +8,14 @@ sitemap: To redirect you to the right page, please select a client: -.NET [.NET](/clients/grpc/dotnet/release-notes.md) +.NET [.NET](/clients/dotnet/release-notes.md) -Python [Python](/clients/grpc/python/release-notes.md) +Python [Python](/clients/python/release-notes.md) -Node.js [Node.js](/clients/grpc/nodejs/release-notes.md) +Node.js [Node.js](/clients/nodejs/release-notes.md) -Java [Java](/clients/grpc/java/release-notes.md) +Java [Java](/clients/java/release-notes.md) -Go [Go](/clients/grpc/go/release-notes.md) +Go [Go](/clients/go/release-notes.md) -Rust [Rust](/clients/grpc/rust/release-notes.md) \ No newline at end of file +Rust [Rust](/clients/rust/release-notes.md) \ No newline at end of file diff --git a/docs/clients/grpc/subscriptions.md b/docs/clients/grpc/subscriptions.md index 070ff8849..cf37b8df3 100644 --- a/docs/clients/grpc/subscriptions.md +++ b/docs/clients/grpc/subscriptions.md @@ -3,14 +3,14 @@ To continue, please select your client: -[.NET](/clients/grpc/dotnet/subscriptions.md) +[.NET](/clients/dotnet/subscriptions.md) -[Python](/clients/grpc/python/subscriptions.md) +[Python](/clients/python/subscriptions.md) -[Node.js](/clients/grpc/nodejs/subscriptions.md) +[Node.js](/clients/nodejs/subscriptions.md) -[Java](/clients/grpc/java/subscriptions.md) +[Java](/clients/java/subscriptions.md) -[Go](/clients/grpc/go/subscriptions.md) +[Go](/clients/go/subscriptions.md) -[Rust](/clients/grpc/rust/subscriptions.md) \ No newline at end of file +[Rust](/clients/rust/subscriptions.md) \ No newline at end of file diff --git a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-2.md b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-2.md index 7e5b538bb..78cdcee09 100644 --- a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-2.md +++ b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-2.md @@ -168,8 +168,8 @@ You will examine how this pattern is applied to the Postgres projection applicat ::: info Different Types of Subscriptions This sample uses catch-up subscriptions to subscribe to events. You can also use persistent subscriptions or connectors to achieve a similar result. - For more information about catch-up subscriptions, [click here](https://docs.kurrent.io/clients/grpc/subscriptions.html). - For more information about persistent subscriptions, [click here](https://docs.kurrent.io/clients/grpc/persistent-subscriptions.html). + For more information about catch-up subscriptions, [click here](https://docs.kurrent.io/clients/subscriptions.html). + For more information about persistent subscriptions, [click here](https://docs.kurrent.io/clients/persistent-subscriptions.html). For more information about connectors, [click here](https://docs.kurrent.io/server/v24.10/features/connectors/) ::: diff --git a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-4.md b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-4.md index 394b234ed..0c74001f3 100644 --- a/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-4.md +++ b/docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-4.md @@ -107,6 +107,6 @@ Are the contents of the Top 10 Products (Redis) table and the Carts Table (Postg ::: info - For more info on subscribing to a stream for live updates, [click here](https://docs.kurrent.io/clients/grpc/subscriptions.html#subscribing-to-a-stream-for-live-updates) + For more info on subscribing to a stream for live updates, [click here](https://docs.kurrent.io/clients/subscriptions.html#subscribing-to-a-stream-for-live-updates) ::: diff --git a/docs/dev-center/use-cases/outbox/tutorial/tutorial-3.md b/docs/dev-center/use-cases/outbox/tutorial/tutorial-3.md index ecd1633e3..c1c889d03 100644 --- a/docs/dev-center/use-cases/outbox/tutorial/tutorial-3.md +++ b/docs/dev-center/use-cases/outbox/tutorial/tutorial-3.md @@ -182,7 +182,7 @@ For demonstration purposes in this tutorial, an insert into a table would suffic ::: info Different Types of Subscriptions This sample uses persistent subscriptions to subscribe to events. You can also use catch-up subscriptions or connectors to achieve a similar result. - [Click here](https://docs.kurrent.io/clients/grpc/subscriptions.html) for more information about catch-up subscriptions + [Click here](https://docs.kurrent.io/clients/subscriptions.html) for more information about catch-up subscriptions [Click here](https://docs.kurrent.io/server/v25.0/features/connectors/) for more information about connectors ::: diff --git a/docs/dev-center/use-cases/outbox/tutorial/tutorial-4.md b/docs/dev-center/use-cases/outbox/tutorial/tutorial-4.md index 0e4a1eb63..7cf02ba3c 100644 --- a/docs/dev-center/use-cases/outbox/tutorial/tutorial-4.md +++ b/docs/dev-center/use-cases/outbox/tutorial/tutorial-4.md @@ -149,7 +149,7 @@ They enable subscriptions to resume from their last position after interruptions ::: warning Performance Note While frequent checkpointing provides better recovery guarantees, it's not necessarily the best practice for production environments. Each checkpoint operation triggers a disk write, so excessive checkpointing can introduce significant performance overhead. In production, you should balance recovery needs with performance considerations. - See [Step 4](/getting-started/use-cases/outbox/tutorial-3.md#step-4-create-a-kurrentdb-persistent-subscription-consumer-group) for more information. + See [Step 4](tutorial-3.md#step-4-create-a-kurrentdb-persistent-subscription-consumer-group) for more information. ::: :::: @@ -284,7 +284,7 @@ In this step, you'll see how these retries prevent data loss when database conne Because of this, you should always design your event handling logic to be idempotent. In other words, processing the same event more than once—or receiving it out of order—should not break your application or result in inconsistent data. - See [Step 7](/getting-started/use-cases/outbox/tutorial-3.md#step-7-examine-the-order-processor-application-codebase) for more information. + See [Step 7](tutorial-3.md#step-7-examine-the-order-processor-application-codebase) for more information. ::: 9. Run this command in the terminal to start PostgreSQL CLI: diff --git a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-3.md b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-3.md index ace06bf6c..cedd7f85e 100644 --- a/docs/dev-center/use-cases/time-travel/tutorial/tutorial-3.md +++ b/docs/dev-center/use-cases/time-travel/tutorial/tutorial-3.md @@ -27,7 +27,7 @@ For instance, the read model could also be saved as a PDF for emailing to manage You have complete flexibility in choosing the data model and storage method for your read model. -[Click here](/getting-started/use-cases/mix-and-match-database/introduction.md) for more information about this. +[Click here](../introduction.md) for more information about this. ::: 1. Run this command in the terminal to start the report projection application: @@ -258,8 +258,8 @@ The Report Projection Application performs the following steps: ::: info Different Types of Subscriptions This sample uses catch-up subscriptions to subscribe to events. You can also use persistent subscriptions or connectors to achieve a similar result. - For more information about catch-up subscriptions, [click here](/clients/grpc/subscriptions.html). - For more information about persistent subscriptions, [click here](/clients/grpc/persistent-subscriptions.html). + For more information about catch-up subscriptions, [click here](/clients/subscriptions.html). + For more information about persistent subscriptions, [click here](/clients/persistent-subscriptions.html). For more information about connectors, [click here](/server/v24.10/features/connectors/). ::: diff --git a/docs/getting-started/concepts.md b/docs/getting-started/concepts.md index 95fbffaef..316e9a935 100644 --- a/docs/getting-started/concepts.md +++ b/docs/getting-started/concepts.md @@ -25,7 +25,7 @@ An event usually represents a state change in an application, its entities, or b ![Examples of events](./images/examples-of-event-dark.png#dark) ::: note -To learn more about how to perform basic operations around events, [click here](/clients/grpc/appending-events.md). +To learn more about how to perform basic operations around events, [click here](/clients/appending-events.md). ::: ## Event Log @@ -165,6 +165,6 @@ For example, a financial institution has a stream representing a digital wallet Optimistic concurrency control also operates without requiring resource locks, meaning these protections come without the performance hit of managing locks. This helps maintain high performance even when multiple concurrent writes occur. ::: note -To learn more about how to apply optimistic concurrency control, [click here](/clients/grpc/appending-events.md#handling-concurrency) +To learn more about how to apply optimistic concurrency control, [click here](/clients/appending-events.md#handling-concurrency) ::: diff --git a/docs/getting-started/features.md b/docs/getting-started/features.md index ddc315cb2..e91b2692e 100644 --- a/docs/getting-started/features.md +++ b/docs/getting-started/features.md @@ -11,62 +11,62 @@ title: KurrentDB Feature List | Feature Name | Description | |--------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Append-only Log](./concepts.md#event-log) | A log where events are only appended and never modified, serving as an immutable audit trail that captures all historical changes within a system. | -| [Immutable Event](./concepts.md#immutable-events) | All events stored in KurrentDB cannot be altered once appended, ensuring data integrity and simplifying troubleshooting. | +| [Immutable Event](./concepts.md#immutable-events) | All events stored in KurrentDB cannot be altered once appended, ensuring data integrity and simplifying troubleshooting. | | Guaranteed Write | Writes are guaranteed to be fully durable once acknowledged. | | [Guaranteed Consistent Event Ordering](./concepts.md#guaranteed-consistent-ordering-in-event-log-and-stream) | Events are ordered by their append time across both the event log and streams to facilitate operations where the sequence of execution is crucial. Events are guaranteed to be read in the same consistent order whenever they are consumed. | | Sequential Event Numbering | An event appended to a stream is automatically assigned a strictly monotonically increasing number (without gap) to ensure reliable state reconstruction and concurrency handling | | [Stream Indexing](@server/configuration/indexes.md) | Events in streams are indexed to provide fast access to groups of events in the event log. | | [Fine Grained Stream](./concepts.md#fine-grained-event-streams) | EventStore supports billions of streams, allowing granular event organization to efficiently track the lifecycle of every distinct entity within a system. | | [Optimistic Concurrency Control](./concepts.md#optimistic-concurrency-control) | Concurrent appends that lead to lost updates can be prevented with optimistic concurrency control. This is done in a lock-free manner, to reduce contention and performance overhead. | -| [Multiple Hosting Options](https://www.kurrent.io/downloads) | KurrentDB is available fully managed with [Kurrent Cloud](/cloud/introduction.md) or self-managed on Linux, Windows, macOS, or with Docker | +| [Multiple Hosting Options](https://www.kurrent.io/downloads) | KurrentDB is available fully managed with [Kurrent Cloud](/cloud/introduction.md) or self-managed on Linux, Windows, macOS, or with Docker | ### Projection -| Feature Name | Description | -| --- | --- | -| [By Category System Projection](@server/features/projections/system.md#by-category) | Quickly retrieve indexed events from streams that share the same category. | -| [By Event Type System Projection](@server/features/projections/system.md#by-event-type) | Quickly retrieve indexed events that share the same event type. | -| [By Correlation ID System Projection](@server/features/projections/system.md#by-correlation-id) | Quickly retrieve indexed events with the same correlation ID, enabling data lineage and root cause analysis. | -| [User-Defined Projection](@server/features/projections/custom.md) | Allows users to define custom projections in javascript to transform or filter events to another stream or a state programatically. | +| Feature Name | Description | +|-------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------| +| [By Category System Projection](@server/features/projections/system.md#by-category) | Quickly retrieve indexed events from streams that share the same category. | +| [By Event Type System Projection](@server/features/projections/system.md#by-event-type) | Quickly retrieve indexed events that share the same event type. | +| [By Correlation ID System Projection](@server/features/projections/system.md#by-correlation-id) | Quickly retrieve indexed events with the same correlation ID, enabling data lineage and root cause analysis. | +| [User-Defined Projection](@server/features/projections/custom.md) | Allows users to define custom projections in javascript to transform or filter events to another stream or a state programmatically. | ### Subscription -| Feature Name | Description | -| --- | --- | -| [Catch-up Subscription](/clients/grpc/subscriptions.md) | Self-managed subscription of filtered events by stream or event type from a particular position or in real-time as events occur. | +| Feature Name | Description | +|-------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------| +| [Catch-up Subscription](/clients/subscriptions.md) | Self-managed subscription of filtered events by stream or event type from a particular position or in real-time as events occur. | | [Persistent Subscription](@server/features/persistent-subscriptions.md) | Server-managed subscription that supports multiple competing consumers, checkpointing, retries, and parking (i.e., dead-lettering) | ### Connector -| Feature Name | Description | -| --- | --- | -| [Connector](@server/features/connectors/README.md) |

Fully configurable integration to external systems that can push events from KurrentDB in real-time. Supports at least once delivery, retry, event filtering, event transformation, automatic checkpointing, leases, and high availability. | -| [HTTP Sink](@server/features/connectors/sinks/http.md) |

Publishes events from KurrentDB to an HTTP endpoint. | -| [Kafka Sink](@server/features/connectors/sinks/kafka.md) |

Publishes events from KurrentDB to Kafka topic or partition using a key found in the events. Supports broker acknowledgment and basic authentication. | -| RabbitMQ Sink |

Publishes events from KurrentDB to a RabbitMQ exchange. Supports broker acknowledgment and basic authentication over a secured connection. | -| MongoDB Sink |

Publishes events from KurrentDB to a MongoDB collection or document. Supports basic authentication. | +| Feature Name | Description | +|----------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Connector](@server/features/connectors/README.md) |

Fully configurable integration to external systems that can push events from KurrentDB in real-time. Supports at least once delivery, retry, event filtering, event transformation, automatic checkpointing, leases, and high availability. | +| [HTTP Sink](@server/features/connectors/sinks/http.md) |

Publishes events from KurrentDB to an HTTP endpoint. | +| [Kafka Sink](@server/features/connectors/sinks/kafka.md) |

Publishes events from KurrentDB to Kafka topic or partition using a key found in the events. Supports broker acknowledgment and basic authentication. | +| RabbitMQ Sink |

Publishes events from KurrentDB to a RabbitMQ exchange. Supports broker acknowledgment and basic authentication over a secured connection. | +| MongoDB Sink |

Publishes events from KurrentDB to a MongoDB collection or document. Supports basic authentication. | ### Clustering -| Feature Name | Description | -| --- | --- | +| Feature Name | Description | +|---------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [High Availability Cluster](@server/configuration/cluster.md) | Ensures high availability and fault tolerance by using secure, quorum-based replication, leader election via the gossip protocol, and configurable node roles and communication, with each node independently maintaining data without shared disks. | -| [Read-only Replica](@server/configuration/cluster.md) | Cluster nodes that replicate data asynchronously from the cluster but do not participate in write operations, elections, or quorum. Used primarily to scale read operations. | +| [Read-only Replica](@server/configuration/cluster.md) | Cluster nodes that replicate data asynchronously from the cluster but do not participate in write operations, elections, or quorum. Used primarily to scale read operations. | ### Interface and SDK -| Feature Name | Description | -| --- | --- | -| [KurrentDB Client](/clients/grpc/getting-started.md) | Client SDKs are available in Python, Java, .NET, Node.js, Go, and Rust to use and administer KurrentDB. | -| gRPC API | Provides an API based on the gRPC protocol for high performance, low latency, and streaming support for all KurrentDB operations | -| [HTTP API](@httpapi/api.md) | Offers simple and basic RESTful administration of KurrentDB. | -| TCP API |

A deprecated API that provides low-level, high throughput TCP access to KurrentDB. Not supported for releases after 23.10. | +| Feature Name | Description | +|-------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [KurrentDB Client](/clients/getting-started.md) | Client SDKs are available in Python, Java, .NET, Node.js, Go, and Rust to use and administer KurrentDB. | +| gRPC API | Provides an API based on the gRPC protocol for high performance, low latency, and streaming support for all KurrentDB operations | +| [HTTP API](@server/http-api/api.md) | Offers simple and basic RESTful administration of KurrentDB. | +| TCP API |

A deprecated API that provides low-level, high throughput TCP access to KurrentDB. Not supported for releases after 23.10. | ### User Interface -| Feature Name | Description | -| --- | --- | -| [Admin UI](@server/features/admin-ui.md) | The web-based KurrentDB user interface that manages events, streams, server configurations, monitoring, etc. | +| Feature Name | Description | +|----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| [Admin UI](@server/features/admin-ui.md) | The web-based KurrentDB user interface that manages events, streams, server configurations, monitoring, etc. | | [Kurrent Navigator](https://navigator.kurrent.io/) |

The next-generation KurrentDB user interface built as a native desktop application. | ## Security @@ -90,19 +90,19 @@ title: KurrentDB Feature List ### Encryption -| Feature Name | Description | -|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Encryption at rest](@server/security/README.md#encryption-at-rest) |

Secure events stored on disk using file-level encryption. | -| [Encryption in transit](@server/security/protocol-security.md) | Use TLS to secure data during network transmission. | +| Feature Name | Description | +|--------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Encryption at rest](@server/security/README.md#encryption-at-rest) |

Secure events stored on disk using file-level encryption. | +| [Encryption in transit](@server/security/protocol-security.md) | Use TLS to secure data during network transmission. | | [Kurrent Certificate Generation Tool](@server/operations/cert-update.md) | The command line interface that eases the generation of a certificate authority and node certificates for encryption in transit. | -| [FIPS 140-2](@server/security/README.md#fips-140-2) |

Compliance with FIPS 140-2 standards for cryptographic modules. | +| [FIPS 140-2](@server/security/README.md#fips-140-2) |

Compliance with FIPS 140-2 standards for cryptographic modules. | ## Operations ### Configuration -| Feature Name | Description | -|-------------------------------------------------------------------|---------------------------------------------------------------------------------| +| Feature Name | Description | +|-------------------------------------------------------------------|------------------------------------------------------------------------------| | [Multiple Configuration Options](@server/configuration/README.md) | Configure KurrentDB through YAML, environment variables, or the command line | ### Data Cleanup and Housekeeping @@ -118,29 +118,29 @@ title: KurrentDB Feature List | Feature Name | Description | |---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Logging](@server/diagnostics/logs.md) | Provides detailed logs for server operations to console and log files. | -| [Logs Endpoint](@server/diagnostics/logs.md#logs-download) |

View or download logs over HTTP for authenticated KurrentDB users without needing file system access. | -| [Metrics](@server/diagnostics/metrics.md) | Collect KurrentDB metrics such as CPU, memory, disk usage, and the status of projections, subscriptions, elections, etc. | +| [Logs Endpoint](@server/diagnostics/logs.md#logs-download) |

View or download logs over HTTP for authenticated KurrentDB users without needing file system access. | +| [Metrics](@server/diagnostics/metrics.md) | Collect KurrentDB metrics such as CPU, memory, disk usage, and the status of projections, subscriptions, elections, etc. | | [Metrics with Prometheus](@server/diagnostics/metrics.md) | Allow systems to scrape metrics in Prometheus format for monitoring over an HTTP endpoint. | | [Metrics with OpenTelemetry Exporter](@server/diagnostics/integrations.md#opentelemetry-exporter) |

Export and push metrics to an endpoint via the OpenTelemetry protocol. | ### Backup, Replication, and Migration -| Feature Name | Description | -|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------| -| [Backup and Restore](https://docs.kurrent.io/server/v24.10/operations/backup.html#backup) | Provide functionality for full or differential backups and restores over disk snapshots or file copy backups. | -| [Kurrent Replicator](https://replicator.eventstore.org/) | Facilitate replication or migration of data between different KurrentDB clusters or instances. | +| Feature Name | Description | +|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------| +| [Backup and Restore](https://docs.kurrent.io/server/v24.10/operations/backup.html#backup) | Provide functionality for full or differential backups and restores over disk snapshots or file copy backups. | +| [Kurrent Replicator](https://replicator.eventstore.org/) | Facilitate replication or migration of data between different KurrentDB clusters or instances. | ### Administrative Tool -| Feature Name | Description | -|--------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Feature Name | Description | +|----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Kurrent CLI](/commercial-tools/cli-tool.md) | Command line tool for administrative operations on KurrentDB such as scavenge, backup, restore, merge index, delete stream, as well as user and projection management. | ## Next Steps - [KurrentDB Server Documentation](@server/quick-start/README.md): Gain a deeper understanding about other KurrentDB features. -- [KurrentDB Client Documentation](/clients/grpc/appending-events.md#handling-concurrency): Explore how to use these features with KurrentDB clients. +- [KurrentDB Client Documentation](/clients/appending-events.md#handling-concurrency): Explore how to use these features with KurrentDB clients. - [Kurrent Essentials](https://academy.kurrent.io/essentials): Developer greater understanding of these features in this in-depth guide. diff --git a/import/repos.json b/import/repos.json index 7120fec89..2cc986de0 100644 --- a/import/repos.json +++ b/import/repos.json @@ -10,20 +10,20 @@ "branches": [ { "version": "v25.0", - "name": "release/v25.0", + "name": "alexey/docs/release/v25.0", "relativePath": ["server"], "startPage": "quick-start/" }, { "version": "v24.10", - "name": "release/v24.10", + "name": "alexey/docs/release/v24.10", "relativePath": ["server"], "startPage": "quick-start/", "lts": true }, { "version": "v24.6", - "name": "release/oss-v24.6", + "name": "alexey/docs/release/v24.6", "relativePath": ["server"], "startPage": "quick-start/", "deprecated": true, @@ -31,21 +31,21 @@ }, { "version": "v23.10", - "name": "release/oss-v23.10", + "name": "alexey/docs/release/v23.10", "relativePath": ["server"], "startPage": "quick-start/", "lts": true }, { "version": "v22.10", - "name": "release/oss-v22.10", + "name": "alexey/docs/release/v22.10", "relativePath": ["server"], "startPage": "introduction.html", "deprecated": true }, { "version": "v5", - "name": "release/oss-v5", + "name": "alexey/docs/release/v5", "relativePath": ["server"], "startPage": "introduction.html", "deprecated": true, @@ -59,7 +59,7 @@ { "id": "dotnet-client", "group": ".NET SDK", - "basePath": "clients/grpc/dotnet", + "basePath": "clients/dotnet", "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], "currentBranch": "master", @@ -82,7 +82,7 @@ { "id": "java-client", "group": "Java SDK", - "basePath": "clients/grpc/java", + "basePath": "clients/java", "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], "currentBranch": "trunk", @@ -105,7 +105,7 @@ { "id": "rust-client", "group": "Rust SDK", - "basePath": "clients/grpc/rust", + "basePath": "clients/rust", "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["examples"], "currentBranch": "master", @@ -128,7 +128,7 @@ { "id": "node-client", "group": "Node SDK", - "basePath": "clients/grpc/node", + "basePath": "clients/node", "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], "currentBranch": "master", @@ -151,7 +151,7 @@ { "id": "go-client", "group": "Go SDK", - "basePath": "clients/grpc/go", + "basePath": "clients/golang", "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], "currentBranch": "main", @@ -174,7 +174,7 @@ { "id": "python-client", "group": "Python SDK", - "basePath": "clients/grpc/python", + "basePath": "clients/python", "docsRelativePath": [ "docs", "api" ], "samplesRelativePath": ["samples"], "currentBranch": "main", From 9c81a4d6b93f52af8cd257926ff54d5c887cb354 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 09:34:42 +0400 Subject: [PATCH 26/36] Fix redirects and simplify versioning logic in dropdown --- docs/.vuepress/client.ts | 20 ++++++++++++++++--- docs/.vuepress/components/VersionDropdown.vue | 20 +++++++++++-------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 724ea4ef8..b3bef1fda 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -113,10 +113,24 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - addDynamicRoute('/clients/:lang/:version', to => `/clients/${to.params.lang}/${to.params.version}/getting-started.html`); + addDynamicRoute('/clients/:lang/legacy/:version', to => { + const version = to.params.version; + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === `legacy/${version}`) + return `/clients/${to.params.lang}/legacy/${version}/${latestVersion?.startPage}`; + }); + addDynamicRoute('/clients/:lang/legacy', to => { + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path.startsWith('legacy/')) + return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; + }) + + addDynamicRoute('/clients/:lang/:version', to => { + const version = to.params.version; + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === version) + return `/clients/${to.params.lang}/${version}/${latestVersion?.startPage}`; + }); addDynamicRoute('/clients/:lang', to => { - const version = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0]?.path - return `/clients/${to.params.lang}/${version}/getting-started.html`; + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0] + return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); diff --git a/docs/.vuepress/components/VersionDropdown.vue b/docs/.vuepress/components/VersionDropdown.vue index 0779c95b8..02836efd7 100644 --- a/docs/.vuepress/components/VersionDropdown.vue +++ b/docs/.vuepress/components/VersionDropdown.vue @@ -2,8 +2,8 @@ import {computed, onMounted, onUnmounted, ref, watch} from "vue"; import {useRoute, useRouter} from "vuepress/client"; import type {VersionDetail} from "../lib/versioning"; -import VersionText from "./VersionText.vue"; import VersionSection from "./VersionSection.vue"; +import VersionText from "./VersionText.vue"; interface Props { versions: VersionDetail[]; @@ -21,7 +21,9 @@ const latestVersion = computed(() => props.versions[0]?.version); const currentVersions = computed(() => props.versions.filter(v => !v.deprecated && !v.hide)); const deprecatedVersions = computed(() => props.versions.filter(v => v.deprecated && !v.hide)); -watch(() => props.current, (newCurrent) => selectedVersion.value = newCurrent); +watch(() => props.current, (newCurrent) => { + selectedVersion.value = newCurrent; +}); const toggleDropdown = (): void => { isOpen.value = !isOpen.value; @@ -32,12 +34,14 @@ const closeDropdown = (): void => { } const handleVersionSelect = (version: VersionDetail): void => { - const segments = route.path.split('/').filter(seg => seg); - const versionIndex = segments.findIndex(seg => seg === props.current.path); - const base = versionIndex > 0 ? segments.slice(0, versionIndex).join('/') : segments[0] || ''; - - router.replace(`/${base}/${version.path}/${version.startPage}`); - + const currentVersionPath = `/${props.current.path}/`; + const newVersionPath = `/${version.path}/`; + + if (route.path.includes(currentVersionPath)) { + const basePart = route.path.split(currentVersionPath)[0]; + router.replace(`${basePart}${newVersionPath}${version.startPage}`); + } + closeDropdown(); } From 5f79ec72786b5fdbf0fae6e64fcc60f19e8d96eb Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 09:42:26 +0400 Subject: [PATCH 27/36] Temporarily disable all redirects --- docs/.vuepress/public/_redirects | 658 +++++++++++++++---------------- 1 file changed, 329 insertions(+), 329 deletions(-) diff --git a/docs/.vuepress/public/_redirects b/docs/.vuepress/public/_redirects index 02875b40a..e6db1e9d4 100644 --- a/docs/.vuepress/public/_redirects +++ b/docs/.vuepress/public/_redirects @@ -1,330 +1,330 @@ -# ######################################################################################################################## -# List of redirect rules in Cloudflare Pages -# Refer to https://developers.cloudflare.com/pages/configuration/redirects/ -# ######################################################################################################################## - -# ######################################################################################################################## -# STATIC REDIRECTS -# -# This section must precede DYNAMIC REDIRECTS -# https://developers.cloudflare.com/pages/configuration/redirects/#per-file -# ######################################################################################################################## - - -# ###################### -# General redirects -# ###################### - -/latest.html /server/latest/ 301 -/latest /server/latest/ 301 -/server /server/latest/ 301 -# Note: make sure to also update the latest version in the dynamic section - -# ###################### -# Clients -# ###################### - -# redirect for internet search on "esdb .net client -/clients/dotnet/5.0/connecting.html /clients/grpc/dotnet/getting-started.html#connecting-to-eventstoredb 301 - -# TCP Clients -/clients/dotnet/21.2/migration-to-gRPC.html#appending-events /clients/tcp/dotnet/21.2/migration-to-gRPC.html#appending-events 301 -/clients/dotnet/5.0/migration-to-gRPC.html#update-the-target-framework /clients/tcp/dotnet/21.2/migration-to-gRPC.html#update-the-target-framework 301 -/clients/dotnet/5.0/migration-to-gRPC.html /clients/tcp/dotnet/21.2/migration-to-gRPC.html 301 - -# TCP Clients from Vuepress v1 to v2 -/clients/dotnet/generated/v20.6.0 /clients/tcp/dotnet/21.2 301 - -# gRPC Clients from Vuepress v1 to v2 -/clients/grpc/subscribing-to-streams/persistent-subscriptions.html /clients/grpc/persistent-subscriptions.html 301 - -# HTTP API from Vuepress v1 to v2 -/server/v5/docs/http-api/ /http-api/v5/ 301 - -/clients/http-api/generated/v5/docs/api /http-api/v5/api.html 301 -/clients/http-api/v5/introduction /http-api/v5 301 - -/clients/http-api/generated/v5/docs/optional-http-headers /http-api/v5/optional-http-headers.html 301 -/clients/http-api/generated/v5/docs/introduction/deleting-a-stream.html /http-api/v5/#deleting-a-stream 301 -/server/generated/v5/docs/http-api/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 -/clients/http-api/generated/v5/docs/optional-http-headers/expected-version.html /http-api/v5/optional-http-headers.html#expected-version 301 -/clients/http-api/generated/v5/docs/optional-http-headers/requires-master.html /http-api/v5/optional-http-headers.html#requires-master 301 -/clients/http-api/generated/v5/docs/optional-http-headers/resolve-linkto.html /http-api/v5/optional-http-headers.html#resolve-linkto 301 -/clients/http-api/generated/v5/docs/introduction/reading-streams.html /http-api/v5/#reading-streams-and-events 301 -/clients/http-api/generated/v5/docs/introduction/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 - -/server/generated/v5/http-api/persistent-subscriptions.html /http-api/v5/persistent.html 301 -/server/generated/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 -/server/v5/samples/http-api/event.json /http-api/v5/api.html 301 - -/server/v5/http-api /http-api/v5/persistent.html 301 -/server/v5/http-api/persistent/security.html /http-api/v5/persistent.html 301 -/server/v5/http-api/writing-events.html /http-api/v5/#writing-metadata 301 -/server/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 -/server/generated/v5/docs/http-api/optional-http-headers /http-api/v5/optional-http-headers.html 301 - -/server/5.0.8/http-api/writing-events.html /http-api/v5/#writing-metadata 301 -/server/5.0.8/http-api/stream-metadata.html /http-api/v5/#stream-metadata 301 -/server/5.0.9/http-api /http-api/v5 301 - -# HTTP API moved projection section to server docs (90c84819f4226e127360cdfc807a8106735acc91@documentation) -/http-api/v23.10/projections.html /server/v23.10/features/projections/tutorial.html 301 -/http-api/v24.6/projections.html /server/v24.6/features/projections/tutorial.html 301 - -# HTTP API removed database docs (a99ff9f9cb89dfa0ecf1d731aaac4435189b6512@documentation) -/http-api/v5/appending-events.html /http-api/v5/introduction.html 301 -/http-api/v5/deleting-a-stream.html /http-api/v5/introduction.html 301 -/http-api/v5/description-document.html /http-api/v5/introduction.html 301 -/http-api/v5/optimistic-concurrency-and-idempotence.html /http-api/v5/introduction.html 301 -/http-api/v5/reading-streams.html /http-api/v5/introduction.html 301 -/http-api/v5/reading-subscribing-events.html /http-api/v5/introduction.html 301 -/http-api/v5/stream-metadata.html /http-api/v5/introduction.html 301 -/http-api/v5/writing-events.html /http-api/v5/introduction.html 301 - -# General clients redirect -# This rule should be last in this clients list otherwise it takes precedence. -/clients /clients/grpc/getting-started.html 301 - -# ###################### -# Cloud -# ###################### - -/cloud/quick-start.html /cloud/introduction.html 301 - -# Cloud docs deep links -/cloud/provision/aws/network /cloud/provision/aws.html#create-a-network 301 -/cloud/provision/aws/cluster /cloud/provision/aws.html#deploy-a-managed-instance 301 -/cloud/provision/aws/peering /cloud/provision/aws.html#network-peering 301 -/cloud/provision/aws/regions /cloud/provision/aws.html#available-regions 301 - -/cloud/provision/azure/network /cloud/provision/azure.html#create-a-network 301 -/cloud/provision/azure/cluster /cloud/provision/azure.html#deploy-a-managed-instance 301 -/cloud/provision/azure/peering /cloud/provision/azure.html#network-peering 301 -/cloud/provision/azure/regions /cloud/provision/azure.html#available-regions 301 - -/cloud/provision/gcp/network /cloud/provision/gcp.html#create-a-network 301 -/cloud/provision/gcp/cluster /cloud/provision/gcp.html#deploy-a-managed-instance 301 -/cloud/provision/gcp/peering /cloud/provision/gcp.html#network-peering 301 -/cloud/provision/gcp/regions /cloud/provision/gcp.html#available-regions 301 - -# Cloud hope migration -/cloud/intro/ /cloud/introduction.html 301 - -# Cloud docs update Jan 2025 (3184c4eda8e2746de38a1659e8db176c3821aa94@documentation, a9961eb03643546f018bfa82eab7672056e06a53@documentation) -# Also redirects old and past links to the latest link -/cloud/automation/ /cloud/dedicated/automation/ 301 -/cloud/automation/api.html /cloud/dedicated/automation/ 301 -/cloud/automation/pulumi.html /cloud/dedicated/automation/pulumi.html 301 -/cloud/automation/terraform.html /cloud/dedicated/automation/terraform.html 301 -/cloud/faq.html /cloud/dedicated/faq.html 301 -/cloud/faq/ /cloud/dedicated/faq.html 301 -/cloud/faq/cluster-provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 -/cloud/faq/cluster_provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 -/cloud/faq/operational-characteristics.html /cloud/dedicated/faq.html#operational-characteristics-of-kurrent-cloud 301 -/cloud/faq/providers.html /cloud/dedicated/faq.html#providers 301 -/cloud/faq/roadmap.html /cloud/introduction.html 301 -/cloud/faq/sla.html /cloud/dedicated/faq.html#service-levels 301 -/cloud/faq/support.html /cloud/dedicated/faq.html#support 301 -/cloud/faq/troubleshooting.html /cloud/dedicated/faq.html#troubleshooting 301 -/cloud/integrations/ /cloud/dedicated/integrations/ 301 -/cloud/integrations/cloudwatch.html /cloud/dedicated/integrations/cloudwatch.html 301 -/cloud/integrations/issues.html /cloud/dedicated/integrations/ 301 -/cloud/integrations/notifications.html /cloud/dedicated/integrations/ 301 -/cloud/integrations/opsgenie.html /cloud/dedicated/integrations/opsgenie.html 301 -/cloud/integrations/slack.html /cloud/dedicated/integrations/slack.html 301 -/cloud/intro/eventstore-cloud-status.html /cloud/introduction.html 301 -/cloud/intro/preview.html /cloud/introduction.html 301 -/cloud/intro/quick-start.html /cloud/introduction.html#cloud-quick-start 301 -/cloud/networking/ /cloud/dedicated/networking/ 301 -/cloud/networking/private-network.html /cloud/dedicated/networking/private-network.html 301 -/cloud/networking/public-network.html /cloud/dedicated/networking/public-network.html 301 -/cloud/ops/ /cloud/dedicated/ops/ 301 -/cloud/ops/account-security.html /cloud/dedicated/ops/account-security.html 301 -/cloud/ops/backup.html /cloud/dedicated/ops/backups.html 301 -/cloud/ops/backups.html /cloud/dedicated/ops/backups.html 301 -/cloud/ops/disk_expand.html /cloud/dedicated/ops/#expanding-disks 301 -/cloud/ops/events.html /cloud/dedicated/ops/events.html 301 -/cloud/ops/jobs.html /cloud/dedicated/ops/jobs.html 301 -/cloud/ops/manual_backups.html /cloud/dedicated/ops/backups.html#manual-backup 301 -/cloud/ops/restore.html /cloud/dedicated/ops/backups.html#restore-from-backup 301 -/cloud/ops/scheduled_backups.html /cloud/dedicated/ops/backups.html#scheduled-backups 301 -/cloud/ops/sizing.html /cloud/dedicated/ops/sizing.html 301 -/cloud/provision/ /cloud/dedicated/getting-started/private_access/ 301 -/cloud/provision/aws.html /cloud/dedicated/getting-started/private_access/aws.html 301 -/cloud/provision/aws/ /cloud/dedicated/getting-started/private_access/aws.html 301 -/cloud/provision/azure.html /cloud/dedicated/getting-started/private_access/azure.html 301 -/cloud/provision/azure/ /cloud/dedicated/getting-started/private_access/azure.html 301 -/cloud/provision/azure/considerations.html /cloud/dedicated/getting-started/private_access/azure.html#considerations-for-microsoft-azure 301 -/cloud/provision/cloud-instance-guidance/ /cloud/dedicated/ops/sizing.html 301 -/cloud/provision/gcp.html /cloud/dedicated/getting-started/private_access/gcp.html 301 -/cloud/provision/gcp/ /cloud/dedicated/getting-started/private_access/gcp.html 301 -/cloud/provision/sizing.html /cloud/dedicated/ops/sizing.html 301 -/cloud/use/ /cloud/dedicated/guides/ 301 -/cloud/use/kubernetes.html /cloud/dedicated/guides/kubernetes.html 301 -/cloud/use/kubernetes/aks.html /cloud/dedicated/guides/kubernetes.html#azure-kubernetes-services 301 -/cloud/use/kubernetes/eks.html /cloud/dedicated/guides/kubernetes.html#aws-elastic-kubernetes-services 301 -/cloud/use/kubernetes/gke.html /cloud/dedicated/guides/kubernetes.html#google-kubernetes-engine 301 -/cloud/use/migration.html /cloud/dedicated/guides/migration.html 301 -/cloud/use/migration/replicator.html /cloud/dedicated/guides/migration.html#executing-the-migration 301 -/cloud/use/tailscale.html /cloud/dedicated/guides/tailscale.html 301 - - -# ###################### -# Db Server -# ###################### - -# Hope migration -/server/v24.2/metrics.html#opentelemetry-exporter /server/v24.10/diagnostics/integrations.html#opentelemetry-exporter 301 -/server/v24.2/diagnostics.html#logs-download /server/v24.10/diagnostics/logs.html#logs-download #301 -/server/v23.10/metrics.html /server/v24.10/diagnostics/metrics.html 301 -/server/v23.10/cluster.html /server/v23.10/quick-start/ 301 -/server/v23.10/configuration.html /server/v23.10/quick-start/ 301 -/server/v23.10/diagnostics.html /server/v23.10/quick-start/ 301 -/server/v23.10/indexes.html /server/v23.10/quick-start/ 301 -/server/v23.10/installation.html /server/v23.10/quick-start/ 301 -/server/v23.10/networking.html /server/v23.10/quick-start/ 301 -/server/v23.10/operations.html /server/v23.10/quick-start/ 301 -/server/v23.10/persistent-subscriptions.html /server/v23.10/quick-start/ 301 -/server/v23.10/projections.html /server/v23.10/quick-start/ 301 -/server/v23.10/security.html /server/v23.10/quick-start/ 301 -/server/v23.10/streams.html /server/v23.10/quick-start/ 301 -/server/v23.10/upgrade-guide.html /server/v23.10/quick-start/ 301 - - -# ###################### -# Others -# ###################### - -# Getting started -/getting-started.html /getting-started/quickstart/ 301 -/getting-started/ /getting-started/quickstart/ 301 - -/getting-started/use-cases/mix-and-match-database/ /getting-started/use-cases/mix-and-match-database/introduction.html 301 - -# Project types -/project-types.html / 301 - -# ######################################################################################################################## -# DYNAMIC REDIRECTS -# -# This section must succeed STATIC REDIRECTS -# https://developers.cloudflare.com/pages/configuration/redirects/#per-file -# ######################################################################################################################## - -# ###################### -# Clients -# ###################### - -# TCP Clients redirects -/samples/clients/dotnet/22.0/* /clients/tcp/dotnet/21.2 301 -/clients/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/dotnet/21.2/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/tcp/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/tcp/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 - -# TCP Clients from Vuepress v1 to v2 -/clients/dotnet/:version/getting-started/* /clients/tcp/dotnet/:version/:splat 301 -/clients/dotnet/:version/:firstpart.html /clients/tcp/dotnet/:version/:firstpart.html 200 -/clients/dotnet/:version/:firstpart/* /clients/tcp/dotnet/:version/:firstpart.html 301 - -# gRPC Clients from Vuepress v1 to v2 -/clients/grpc/subscribing-to-streams/* /clients/grpc/subscriptions.html 301 -; /clients/grpc/:firstpart/* /clients/grpc/:firstpart.html 301 - -# HTTP API from Vuepress v1 to v2 -/server/v5/docs/http-api/:firstpart.html /http-api/v5/ 301 -/server/v5/docs/http-api/:firstpart/* /http-api/v5/:firstpart/:splat 301 -/clients/http-api/v5/:firstpart/:filename.html /http-api/v5/:firstpart/ 301 - -/clients/http-api/v5/* /http-api/v5/:splat - -# HTTP API v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) -/http-api/v5/introduction/* /http-api/v5/introduction.html 301 -/http-api/v5/optional-http-headers/* /http-api/v5/introduction.html 301 -/http-api/v5/projections/* /http-api/v5/introduction.html 301 - -# HTTP API deprecated -/http-api/5.0.8/* /http-api/v5/introduction.html 301 -/http-api/v24.2/* /http-api/v24.10/introduction.html 301 -/http-api/v24.10%20Preview%201/* /http-api/v24.10/:splat 301 - -/clients/http-api/v20.10/* /http-api/v24.10/introduction.html 301 -/clients/http-api/v21.10/* /http-api/v24.10/introduction.html 301 -/clients/http-api/v22.10/* /http-api/v22.10/introduction.html 301 -/clients/http-api/v23.6/* /http-api/v23.10/introduction.html 301 -/clients/http-api/v23.10/* /http-api/v23.10/introduction.html 301 -/clients/http-api/v24.2/* /http-api/v24.10/introduction.html 301 - -# ###################### -# Db Server -# ###################### - -# Server deprecated - -/v5/* /server/v5/introduction.html 301 -/server/5.0.8/* /server/v5/introduction.html 301 -/server/v20/* /server/latest/ 301 -/server/20.6/* /server/latest/ 301 -/server/v20.10/* /server/latest/ 301 -/server/v21.2/* /server/latest/ 301 -/server/v21.6/* /server/latest/ 301 -/server/v21.10/* /server/latest/ 301 -/server/v22.6/* /server/v22.10/:splat 301 -/server/v23.6/* /server/v23.10/quick-start/ 301 -/server/v24.2/* /server/v24.10/quick-start/ 301 -/server/v24.6/* /server/v24.10/quick-start/ 301 -/server/v24.10%20Preview%201/* /server/v24.10/:splat 301 - -# latest to latest -/server/latest/* /server/v25.0/:splat 301 - -# Hope migration -/connectors/* /server/v24.10/features/connectors/ 301 - -# Server v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) -/server/v5/clustering/* /server/v5/introduction.html 301 -/server/v5/diagnostics/* /server/v5/introduction.html 301 -/server/v5/indexes/* /server/v5/introduction.html 301 -/server/v5/installation/* /server/v5/introduction.html 301 -/server/v5/introduction/* /server/v5/introduction.html 301 -/server/v5/networking/* /server/v5/introduction.html 301 -/server/v5/operations/* /server/v5/introduction.html 301 -/server/v5/networking/* /server/v5/introduction.html 301 -/server/v5/projections/* /server/v5/introduction.html 301 -/server/v5/security/* /server/v5/introduction.html 301 -/server/v5/server/* /server/v5/introduction.html 301 -/server/v5/streams/* /server/v5/introduction.html 301 - -# ###################### -# Other -# ###################### -/resources/* / 301 - -# ###################### -# HTTP API -# ###################### -/http-api/v25.0/* /server/v25.0/http-api/:splat 301 - -# ###################### -# Tutorial and Use Case Redirects -# ###################### - -# Tutorial files moved from tutorials/ to dev-center/tutorials/ -/tutorials/* /dev-center/tutorials/:splat 301 - -# Use case tutorial-N.md files moved into /tutorial/ subfolder -/getting-started/use-cases/*/tutorial-1.md /dev-center/use-cases/:splat/tutorial/tutorial-1.md 301 -/getting-started/use-cases/*/tutorial-1.html /dev-center/use-cases/:splat/tutorial/tutorial-1.html 301 -/getting-started/use-cases/*/tutorial-2.md /dev-center/use-cases/:splat/tutorial/tutorial-2.md 301 -/getting-started/use-cases/*/tutorial-2.html /dev-center/use-cases/:splat/tutorial/tutorial-2.html 301 -/getting-started/use-cases/*/tutorial-3.md /dev-center/use-cases/:splat/tutorial/tutorial-3.md 301 -/getting-started/use-cases/*/tutorial-3.html /dev-center/use-cases/:splat/tutorial/tutorial-3.html 301 -/getting-started/use-cases/*/tutorial-4.md /dev-center/use-cases/:splat/tutorial/tutorial-4.md 301 -/getting-started/use-cases/*/tutorial-4.html /dev-center/use-cases/:splat/tutorial/tutorial-4.html 301 -/getting-started/use-cases/*/tutorial-5.md /dev-center/use-cases/:splat/tutorial/tutorial-5.md 301 -/getting-started/use-cases/*/tutorial-5.html /dev-center/use-cases/:splat/tutorial/tutorial-5.html 301 - -# Other use case files stay in the root (introduction.md, tutorial-summary.md, etc.) -/getting-started/use-cases/* /dev-center/use-cases/:splat 301 +; # ######################################################################################################################## +; # List of redirect rules in Cloudflare Pages +; # Refer to https://developers.cloudflare.com/pages/configuration/redirects/ +; # ######################################################################################################################## + +; # ######################################################################################################################## +; # STATIC REDIRECTS +; # +; # This section must precede DYNAMIC REDIRECTS +; # https://developers.cloudflare.com/pages/configuration/redirects/#per-file +; # ######################################################################################################################## + + +; # ###################### +; # General redirects +; # ###################### + +; /latest.html /server/latest/ 301 +; /latest /server/latest/ 301 +; /server /server/latest/ 301 +; # Note: make sure to also update the latest version in the dynamic section + +; # ###################### +; # Clients +; # ###################### + +; # redirect for internet search on "esdb .net client +; /clients/dotnet/5.0/connecting.html /clients/grpc/dotnet/getting-started.html#connecting-to-eventstoredb 301 + +; # TCP Clients +; /clients/dotnet/21.2/migration-to-gRPC.html#appending-events /clients/tcp/dotnet/21.2/migration-to-gRPC.html#appending-events 301 +; /clients/dotnet/5.0/migration-to-gRPC.html#update-the-target-framework /clients/tcp/dotnet/21.2/migration-to-gRPC.html#update-the-target-framework 301 +; /clients/dotnet/5.0/migration-to-gRPC.html /clients/tcp/dotnet/21.2/migration-to-gRPC.html 301 + +; # TCP Clients from Vuepress v1 to v2 +; /clients/dotnet/generated/v20.6.0 /clients/tcp/dotnet/21.2 301 + +; # gRPC Clients from Vuepress v1 to v2 +; /clients/grpc/subscribing-to-streams/persistent-subscriptions.html /clients/grpc/persistent-subscriptions.html 301 + +; # HTTP API from Vuepress v1 to v2 +; /server/v5/docs/http-api/ /http-api/v5/ 301 + +; /clients/http-api/generated/v5/docs/api /http-api/v5/api.html 301 +; /clients/http-api/v5/introduction /http-api/v5 301 + +; /clients/http-api/generated/v5/docs/optional-http-headers /http-api/v5/optional-http-headers.html 301 +; /clients/http-api/generated/v5/docs/introduction/deleting-a-stream.html /http-api/v5/#deleting-a-stream 301 +; /server/generated/v5/docs/http-api/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 +; /clients/http-api/generated/v5/docs/optional-http-headers/expected-version.html /http-api/v5/optional-http-headers.html#expected-version 301 +; /clients/http-api/generated/v5/docs/optional-http-headers/requires-master.html /http-api/v5/optional-http-headers.html#requires-master 301 +; /clients/http-api/generated/v5/docs/optional-http-headers/resolve-linkto.html /http-api/v5/optional-http-headers.html#resolve-linkto 301 +; /clients/http-api/generated/v5/docs/introduction/reading-streams.html /http-api/v5/#reading-streams-and-events 301 +; /clients/http-api/generated/v5/docs/introduction/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 + +; /server/generated/v5/http-api/persistent-subscriptions.html /http-api/v5/persistent.html 301 +; /server/generated/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 +; /server/v5/samples/http-api/event.json /http-api/v5/api.html 301 + +; /server/v5/http-api /http-api/v5/persistent.html 301 +; /server/v5/http-api/persistent/security.html /http-api/v5/persistent.html 301 +; /server/v5/http-api/writing-events.html /http-api/v5/#writing-metadata 301 +; /server/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 +; /server/generated/v5/docs/http-api/optional-http-headers /http-api/v5/optional-http-headers.html 301 + +; /server/5.0.8/http-api/writing-events.html /http-api/v5/#writing-metadata 301 +; /server/5.0.8/http-api/stream-metadata.html /http-api/v5/#stream-metadata 301 +; /server/5.0.9/http-api /http-api/v5 301 + +; # HTTP API moved projection section to server docs (90c84819f4226e127360cdfc807a8106735acc91@documentation) +; /http-api/v23.10/projections.html /server/v23.10/features/projections/tutorial.html 301 +; /http-api/v24.6/projections.html /server/v24.6/features/projections/tutorial.html 301 + +; # HTTP API removed database docs (a99ff9f9cb89dfa0ecf1d731aaac4435189b6512@documentation) +; /http-api/v5/appending-events.html /http-api/v5/introduction.html 301 +; /http-api/v5/deleting-a-stream.html /http-api/v5/introduction.html 301 +; /http-api/v5/description-document.html /http-api/v5/introduction.html 301 +; /http-api/v5/optimistic-concurrency-and-idempotence.html /http-api/v5/introduction.html 301 +; /http-api/v5/reading-streams.html /http-api/v5/introduction.html 301 +; /http-api/v5/reading-subscribing-events.html /http-api/v5/introduction.html 301 +; /http-api/v5/stream-metadata.html /http-api/v5/introduction.html 301 +; /http-api/v5/writing-events.html /http-api/v5/introduction.html 301 + +; # General clients redirect +; # This rule should be last in this clients list otherwise it takes precedence. +; /clients /clients/grpc/getting-started.html 301 + +; # ###################### +; # Cloud +; # ###################### + +; /cloud/quick-start.html /cloud/introduction.html 301 + +; # Cloud docs deep links +; /cloud/provision/aws/network /cloud/provision/aws.html#create-a-network 301 +; /cloud/provision/aws/cluster /cloud/provision/aws.html#deploy-a-managed-instance 301 +; /cloud/provision/aws/peering /cloud/provision/aws.html#network-peering 301 +; /cloud/provision/aws/regions /cloud/provision/aws.html#available-regions 301 + +; /cloud/provision/azure/network /cloud/provision/azure.html#create-a-network 301 +; /cloud/provision/azure/cluster /cloud/provision/azure.html#deploy-a-managed-instance 301 +; /cloud/provision/azure/peering /cloud/provision/azure.html#network-peering 301 +; /cloud/provision/azure/regions /cloud/provision/azure.html#available-regions 301 + +; /cloud/provision/gcp/network /cloud/provision/gcp.html#create-a-network 301 +; /cloud/provision/gcp/cluster /cloud/provision/gcp.html#deploy-a-managed-instance 301 +; /cloud/provision/gcp/peering /cloud/provision/gcp.html#network-peering 301 +; /cloud/provision/gcp/regions /cloud/provision/gcp.html#available-regions 301 + +; # Cloud hope migration +; /cloud/intro/ /cloud/introduction.html 301 + +; # Cloud docs update Jan 2025 (3184c4eda8e2746de38a1659e8db176c3821aa94@documentation, a9961eb03643546f018bfa82eab7672056e06a53@documentation) +; # Also redirects old and past links to the latest link +; /cloud/automation/ /cloud/dedicated/automation/ 301 +; /cloud/automation/api.html /cloud/dedicated/automation/ 301 +; /cloud/automation/pulumi.html /cloud/dedicated/automation/pulumi.html 301 +; /cloud/automation/terraform.html /cloud/dedicated/automation/terraform.html 301 +; /cloud/faq.html /cloud/dedicated/faq.html 301 +; /cloud/faq/ /cloud/dedicated/faq.html 301 +; /cloud/faq/cluster-provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 +; /cloud/faq/cluster_provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 +; /cloud/faq/operational-characteristics.html /cloud/dedicated/faq.html#operational-characteristics-of-kurrent-cloud 301 +; /cloud/faq/providers.html /cloud/dedicated/faq.html#providers 301 +; /cloud/faq/roadmap.html /cloud/introduction.html 301 +; /cloud/faq/sla.html /cloud/dedicated/faq.html#service-levels 301 +; /cloud/faq/support.html /cloud/dedicated/faq.html#support 301 +; /cloud/faq/troubleshooting.html /cloud/dedicated/faq.html#troubleshooting 301 +; /cloud/integrations/ /cloud/dedicated/integrations/ 301 +; /cloud/integrations/cloudwatch.html /cloud/dedicated/integrations/cloudwatch.html 301 +; /cloud/integrations/issues.html /cloud/dedicated/integrations/ 301 +; /cloud/integrations/notifications.html /cloud/dedicated/integrations/ 301 +; /cloud/integrations/opsgenie.html /cloud/dedicated/integrations/opsgenie.html 301 +; /cloud/integrations/slack.html /cloud/dedicated/integrations/slack.html 301 +; /cloud/intro/eventstore-cloud-status.html /cloud/introduction.html 301 +; /cloud/intro/preview.html /cloud/introduction.html 301 +; /cloud/intro/quick-start.html /cloud/introduction.html#cloud-quick-start 301 +; /cloud/networking/ /cloud/dedicated/networking/ 301 +; /cloud/networking/private-network.html /cloud/dedicated/networking/private-network.html 301 +; /cloud/networking/public-network.html /cloud/dedicated/networking/public-network.html 301 +; /cloud/ops/ /cloud/dedicated/ops/ 301 +; /cloud/ops/account-security.html /cloud/dedicated/ops/account-security.html 301 +; /cloud/ops/backup.html /cloud/dedicated/ops/backups.html 301 +; /cloud/ops/backups.html /cloud/dedicated/ops/backups.html 301 +; /cloud/ops/disk_expand.html /cloud/dedicated/ops/#expanding-disks 301 +; /cloud/ops/events.html /cloud/dedicated/ops/events.html 301 +; /cloud/ops/jobs.html /cloud/dedicated/ops/jobs.html 301 +; /cloud/ops/manual_backups.html /cloud/dedicated/ops/backups.html#manual-backup 301 +; /cloud/ops/restore.html /cloud/dedicated/ops/backups.html#restore-from-backup 301 +; /cloud/ops/scheduled_backups.html /cloud/dedicated/ops/backups.html#scheduled-backups 301 +; /cloud/ops/sizing.html /cloud/dedicated/ops/sizing.html 301 +; /cloud/provision/ /cloud/dedicated/getting-started/private_access/ 301 +; /cloud/provision/aws.html /cloud/dedicated/getting-started/private_access/aws.html 301 +; /cloud/provision/aws/ /cloud/dedicated/getting-started/private_access/aws.html 301 +; /cloud/provision/azure.html /cloud/dedicated/getting-started/private_access/azure.html 301 +; /cloud/provision/azure/ /cloud/dedicated/getting-started/private_access/azure.html 301 +; /cloud/provision/azure/considerations.html /cloud/dedicated/getting-started/private_access/azure.html#considerations-for-microsoft-azure 301 +; /cloud/provision/cloud-instance-guidance/ /cloud/dedicated/ops/sizing.html 301 +; /cloud/provision/gcp.html /cloud/dedicated/getting-started/private_access/gcp.html 301 +; /cloud/provision/gcp/ /cloud/dedicated/getting-started/private_access/gcp.html 301 +; /cloud/provision/sizing.html /cloud/dedicated/ops/sizing.html 301 +; /cloud/use/ /cloud/dedicated/guides/ 301 +; /cloud/use/kubernetes.html /cloud/dedicated/guides/kubernetes.html 301 +; /cloud/use/kubernetes/aks.html /cloud/dedicated/guides/kubernetes.html#azure-kubernetes-services 301 +; /cloud/use/kubernetes/eks.html /cloud/dedicated/guides/kubernetes.html#aws-elastic-kubernetes-services 301 +; /cloud/use/kubernetes/gke.html /cloud/dedicated/guides/kubernetes.html#google-kubernetes-engine 301 +; /cloud/use/migration.html /cloud/dedicated/guides/migration.html 301 +; /cloud/use/migration/replicator.html /cloud/dedicated/guides/migration.html#executing-the-migration 301 +; /cloud/use/tailscale.html /cloud/dedicated/guides/tailscale.html 301 + + +; # ###################### +; # Db Server +; # ###################### + +; # Hope migration +; /server/v24.2/metrics.html#opentelemetry-exporter /server/v24.10/diagnostics/integrations.html#opentelemetry-exporter 301 +; /server/v24.2/diagnostics.html#logs-download /server/v24.10/diagnostics/logs.html#logs-download #301 +; /server/v23.10/metrics.html /server/v24.10/diagnostics/metrics.html 301 +; /server/v23.10/cluster.html /server/v23.10/quick-start/ 301 +; /server/v23.10/configuration.html /server/v23.10/quick-start/ 301 +; /server/v23.10/diagnostics.html /server/v23.10/quick-start/ 301 +; /server/v23.10/indexes.html /server/v23.10/quick-start/ 301 +; /server/v23.10/installation.html /server/v23.10/quick-start/ 301 +; /server/v23.10/networking.html /server/v23.10/quick-start/ 301 +; /server/v23.10/operations.html /server/v23.10/quick-start/ 301 +; /server/v23.10/persistent-subscriptions.html /server/v23.10/quick-start/ 301 +; /server/v23.10/projections.html /server/v23.10/quick-start/ 301 +; /server/v23.10/security.html /server/v23.10/quick-start/ 301 +; /server/v23.10/streams.html /server/v23.10/quick-start/ 301 +; /server/v23.10/upgrade-guide.html /server/v23.10/quick-start/ 301 + + +; # ###################### +; # Others +; # ###################### + +; # Getting started +; /getting-started.html /getting-started/quickstart/ 301 +; /getting-started/ /getting-started/quickstart/ 301 + +; /getting-started/use-cases/mix-and-match-database/ /getting-started/use-cases/mix-and-match-database/introduction.html 301 + +; # Project types +; /project-types.html / 301 + +; # ######################################################################################################################## +; # DYNAMIC REDIRECTS +; # +; # This section must succeed STATIC REDIRECTS +; # https://developers.cloudflare.com/pages/configuration/redirects/#per-file +; # ######################################################################################################################## + +; # ###################### +; # Clients +; # ###################### + +; # TCP Clients redirects +; /samples/clients/dotnet/22.0/* /clients/tcp/dotnet/21.2 301 +; /clients/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 +; /clients/dotnet/21.2/* /clients/tcp/dotnet/21.2/:splat 301 +; /clients/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 +; /clients/tcp/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 +; /clients/tcp/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 + +; # TCP Clients from Vuepress v1 to v2 +; /clients/dotnet/:version/getting-started/* /clients/tcp/dotnet/:version/:splat 301 +; /clients/dotnet/:version/:firstpart.html /clients/tcp/dotnet/:version/:firstpart.html 200 +; /clients/dotnet/:version/:firstpart/* /clients/tcp/dotnet/:version/:firstpart.html 301 + +; # gRPC Clients from Vuepress v1 to v2 +; /clients/grpc/subscribing-to-streams/* /clients/grpc/subscriptions.html 301 +; ; /clients/grpc/:firstpart/* /clients/grpc/:firstpart.html 301 + +; # HTTP API from Vuepress v1 to v2 +; /server/v5/docs/http-api/:firstpart.html /http-api/v5/ 301 +; /server/v5/docs/http-api/:firstpart/* /http-api/v5/:firstpart/:splat 301 +; /clients/http-api/v5/:firstpart/:filename.html /http-api/v5/:firstpart/ 301 + +; /clients/http-api/v5/* /http-api/v5/:splat + +; # HTTP API v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) +; /http-api/v5/introduction/* /http-api/v5/introduction.html 301 +; /http-api/v5/optional-http-headers/* /http-api/v5/introduction.html 301 +; /http-api/v5/projections/* /http-api/v5/introduction.html 301 + +; # HTTP API deprecated +; /http-api/5.0.8/* /http-api/v5/introduction.html 301 +; /http-api/v24.2/* /http-api/v24.10/introduction.html 301 +; /http-api/v24.10%20Preview%201/* /http-api/v24.10/:splat 301 + +; /clients/http-api/v20.10/* /http-api/v24.10/introduction.html 301 +; /clients/http-api/v21.10/* /http-api/v24.10/introduction.html 301 +; /clients/http-api/v22.10/* /http-api/v22.10/introduction.html 301 +; /clients/http-api/v23.6/* /http-api/v23.10/introduction.html 301 +; /clients/http-api/v23.10/* /http-api/v23.10/introduction.html 301 +; /clients/http-api/v24.2/* /http-api/v24.10/introduction.html 301 + +; # ###################### +; # Db Server +; # ###################### + +; # Server deprecated + +; /v5/* /server/v5/introduction.html 301 +; /server/5.0.8/* /server/v5/introduction.html 301 +; /server/v20/* /server/latest/ 301 +; /server/20.6/* /server/latest/ 301 +; /server/v20.10/* /server/latest/ 301 +; /server/v21.2/* /server/latest/ 301 +; /server/v21.6/* /server/latest/ 301 +; /server/v21.10/* /server/latest/ 301 +; /server/v22.6/* /server/v22.10/:splat 301 +; /server/v23.6/* /server/v23.10/quick-start/ 301 +; /server/v24.2/* /server/v24.10/quick-start/ 301 +; /server/v24.6/* /server/v24.10/quick-start/ 301 +; /server/v24.10%20Preview%201/* /server/v24.10/:splat 301 + +; # latest to latest +; /server/latest/* /server/v25.0/:splat 301 + +; # Hope migration +; /connectors/* /server/v24.10/features/connectors/ 301 + +; # Server v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) +; /server/v5/clustering/* /server/v5/introduction.html 301 +; /server/v5/diagnostics/* /server/v5/introduction.html 301 +; /server/v5/indexes/* /server/v5/introduction.html 301 +; /server/v5/installation/* /server/v5/introduction.html 301 +; /server/v5/introduction/* /server/v5/introduction.html 301 +; /server/v5/networking/* /server/v5/introduction.html 301 +; /server/v5/operations/* /server/v5/introduction.html 301 +; /server/v5/networking/* /server/v5/introduction.html 301 +; /server/v5/projections/* /server/v5/introduction.html 301 +; /server/v5/security/* /server/v5/introduction.html 301 +; /server/v5/server/* /server/v5/introduction.html 301 +; /server/v5/streams/* /server/v5/introduction.html 301 + +; # ###################### +; # Other +; # ###################### +; /resources/* / 301 + +; # ###################### +; # HTTP API +; # ###################### +; /http-api/v25.0/* /server/v25.0/http-api/:splat 301 + +; # ###################### +; # Tutorial and Use Case Redirects +; # ###################### + +; # Tutorial files moved from tutorials/ to dev-center/tutorials/ +; /tutorials/* /dev-center/tutorials/:splat 301 + +; # Use case tutorial-N.md files moved into /tutorial/ subfolder +; /getting-started/use-cases/*/tutorial-1.md /dev-center/use-cases/:splat/tutorial/tutorial-1.md 301 +; /getting-started/use-cases/*/tutorial-1.html /dev-center/use-cases/:splat/tutorial/tutorial-1.html 301 +; /getting-started/use-cases/*/tutorial-2.md /dev-center/use-cases/:splat/tutorial/tutorial-2.md 301 +; /getting-started/use-cases/*/tutorial-2.html /dev-center/use-cases/:splat/tutorial/tutorial-2.html 301 +; /getting-started/use-cases/*/tutorial-3.md /dev-center/use-cases/:splat/tutorial/tutorial-3.md 301 +; /getting-started/use-cases/*/tutorial-3.html /dev-center/use-cases/:splat/tutorial/tutorial-3.html 301 +; /getting-started/use-cases/*/tutorial-4.md /dev-center/use-cases/:splat/tutorial/tutorial-4.md 301 +; /getting-started/use-cases/*/tutorial-4.html /dev-center/use-cases/:splat/tutorial/tutorial-4.html 301 +; /getting-started/use-cases/*/tutorial-5.md /dev-center/use-cases/:splat/tutorial/tutorial-5.md 301 +; /getting-started/use-cases/*/tutorial-5.html /dev-center/use-cases/:splat/tutorial/tutorial-5.html 301 + +; # Other use case files stay in the root (introduction.md, tutorial-summary.md, etc.) +; /getting-started/use-cases/* /dev-center/use-cases/:splat 301 From a1966e07e3be1334e29ff7f9c0fe52225989d2dd Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 09:51:29 +0400 Subject: [PATCH 28/36] Redo redirects --- docs/.vuepress/public/_redirects | 658 +++++++++++++++---------------- 1 file changed, 329 insertions(+), 329 deletions(-) diff --git a/docs/.vuepress/public/_redirects b/docs/.vuepress/public/_redirects index e6db1e9d4..02875b40a 100644 --- a/docs/.vuepress/public/_redirects +++ b/docs/.vuepress/public/_redirects @@ -1,330 +1,330 @@ -; # ######################################################################################################################## -; # List of redirect rules in Cloudflare Pages -; # Refer to https://developers.cloudflare.com/pages/configuration/redirects/ -; # ######################################################################################################################## - -; # ######################################################################################################################## -; # STATIC REDIRECTS -; # -; # This section must precede DYNAMIC REDIRECTS -; # https://developers.cloudflare.com/pages/configuration/redirects/#per-file -; # ######################################################################################################################## - - -; # ###################### -; # General redirects -; # ###################### - -; /latest.html /server/latest/ 301 -; /latest /server/latest/ 301 -; /server /server/latest/ 301 -; # Note: make sure to also update the latest version in the dynamic section - -; # ###################### -; # Clients -; # ###################### - -; # redirect for internet search on "esdb .net client -; /clients/dotnet/5.0/connecting.html /clients/grpc/dotnet/getting-started.html#connecting-to-eventstoredb 301 - -; # TCP Clients -; /clients/dotnet/21.2/migration-to-gRPC.html#appending-events /clients/tcp/dotnet/21.2/migration-to-gRPC.html#appending-events 301 -; /clients/dotnet/5.0/migration-to-gRPC.html#update-the-target-framework /clients/tcp/dotnet/21.2/migration-to-gRPC.html#update-the-target-framework 301 -; /clients/dotnet/5.0/migration-to-gRPC.html /clients/tcp/dotnet/21.2/migration-to-gRPC.html 301 - -; # TCP Clients from Vuepress v1 to v2 -; /clients/dotnet/generated/v20.6.0 /clients/tcp/dotnet/21.2 301 - -; # gRPC Clients from Vuepress v1 to v2 -; /clients/grpc/subscribing-to-streams/persistent-subscriptions.html /clients/grpc/persistent-subscriptions.html 301 - -; # HTTP API from Vuepress v1 to v2 -; /server/v5/docs/http-api/ /http-api/v5/ 301 - -; /clients/http-api/generated/v5/docs/api /http-api/v5/api.html 301 -; /clients/http-api/v5/introduction /http-api/v5 301 - -; /clients/http-api/generated/v5/docs/optional-http-headers /http-api/v5/optional-http-headers.html 301 -; /clients/http-api/generated/v5/docs/introduction/deleting-a-stream.html /http-api/v5/#deleting-a-stream 301 -; /server/generated/v5/docs/http-api/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 -; /clients/http-api/generated/v5/docs/optional-http-headers/expected-version.html /http-api/v5/optional-http-headers.html#expected-version 301 -; /clients/http-api/generated/v5/docs/optional-http-headers/requires-master.html /http-api/v5/optional-http-headers.html#requires-master 301 -; /clients/http-api/generated/v5/docs/optional-http-headers/resolve-linkto.html /http-api/v5/optional-http-headers.html#resolve-linkto 301 -; /clients/http-api/generated/v5/docs/introduction/reading-streams.html /http-api/v5/#reading-streams-and-events 301 -; /clients/http-api/generated/v5/docs/introduction/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 - -; /server/generated/v5/http-api/persistent-subscriptions.html /http-api/v5/persistent.html 301 -; /server/generated/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 -; /server/v5/samples/http-api/event.json /http-api/v5/api.html 301 - -; /server/v5/http-api /http-api/v5/persistent.html 301 -; /server/v5/http-api/persistent/security.html /http-api/v5/persistent.html 301 -; /server/v5/http-api/writing-events.html /http-api/v5/#writing-metadata 301 -; /server/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 -; /server/generated/v5/docs/http-api/optional-http-headers /http-api/v5/optional-http-headers.html 301 - -; /server/5.0.8/http-api/writing-events.html /http-api/v5/#writing-metadata 301 -; /server/5.0.8/http-api/stream-metadata.html /http-api/v5/#stream-metadata 301 -; /server/5.0.9/http-api /http-api/v5 301 - -; # HTTP API moved projection section to server docs (90c84819f4226e127360cdfc807a8106735acc91@documentation) -; /http-api/v23.10/projections.html /server/v23.10/features/projections/tutorial.html 301 -; /http-api/v24.6/projections.html /server/v24.6/features/projections/tutorial.html 301 - -; # HTTP API removed database docs (a99ff9f9cb89dfa0ecf1d731aaac4435189b6512@documentation) -; /http-api/v5/appending-events.html /http-api/v5/introduction.html 301 -; /http-api/v5/deleting-a-stream.html /http-api/v5/introduction.html 301 -; /http-api/v5/description-document.html /http-api/v5/introduction.html 301 -; /http-api/v5/optimistic-concurrency-and-idempotence.html /http-api/v5/introduction.html 301 -; /http-api/v5/reading-streams.html /http-api/v5/introduction.html 301 -; /http-api/v5/reading-subscribing-events.html /http-api/v5/introduction.html 301 -; /http-api/v5/stream-metadata.html /http-api/v5/introduction.html 301 -; /http-api/v5/writing-events.html /http-api/v5/introduction.html 301 - -; # General clients redirect -; # This rule should be last in this clients list otherwise it takes precedence. -; /clients /clients/grpc/getting-started.html 301 - -; # ###################### -; # Cloud -; # ###################### - -; /cloud/quick-start.html /cloud/introduction.html 301 - -; # Cloud docs deep links -; /cloud/provision/aws/network /cloud/provision/aws.html#create-a-network 301 -; /cloud/provision/aws/cluster /cloud/provision/aws.html#deploy-a-managed-instance 301 -; /cloud/provision/aws/peering /cloud/provision/aws.html#network-peering 301 -; /cloud/provision/aws/regions /cloud/provision/aws.html#available-regions 301 - -; /cloud/provision/azure/network /cloud/provision/azure.html#create-a-network 301 -; /cloud/provision/azure/cluster /cloud/provision/azure.html#deploy-a-managed-instance 301 -; /cloud/provision/azure/peering /cloud/provision/azure.html#network-peering 301 -; /cloud/provision/azure/regions /cloud/provision/azure.html#available-regions 301 - -; /cloud/provision/gcp/network /cloud/provision/gcp.html#create-a-network 301 -; /cloud/provision/gcp/cluster /cloud/provision/gcp.html#deploy-a-managed-instance 301 -; /cloud/provision/gcp/peering /cloud/provision/gcp.html#network-peering 301 -; /cloud/provision/gcp/regions /cloud/provision/gcp.html#available-regions 301 - -; # Cloud hope migration -; /cloud/intro/ /cloud/introduction.html 301 - -; # Cloud docs update Jan 2025 (3184c4eda8e2746de38a1659e8db176c3821aa94@documentation, a9961eb03643546f018bfa82eab7672056e06a53@documentation) -; # Also redirects old and past links to the latest link -; /cloud/automation/ /cloud/dedicated/automation/ 301 -; /cloud/automation/api.html /cloud/dedicated/automation/ 301 -; /cloud/automation/pulumi.html /cloud/dedicated/automation/pulumi.html 301 -; /cloud/automation/terraform.html /cloud/dedicated/automation/terraform.html 301 -; /cloud/faq.html /cloud/dedicated/faq.html 301 -; /cloud/faq/ /cloud/dedicated/faq.html 301 -; /cloud/faq/cluster-provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 -; /cloud/faq/cluster_provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 -; /cloud/faq/operational-characteristics.html /cloud/dedicated/faq.html#operational-characteristics-of-kurrent-cloud 301 -; /cloud/faq/providers.html /cloud/dedicated/faq.html#providers 301 -; /cloud/faq/roadmap.html /cloud/introduction.html 301 -; /cloud/faq/sla.html /cloud/dedicated/faq.html#service-levels 301 -; /cloud/faq/support.html /cloud/dedicated/faq.html#support 301 -; /cloud/faq/troubleshooting.html /cloud/dedicated/faq.html#troubleshooting 301 -; /cloud/integrations/ /cloud/dedicated/integrations/ 301 -; /cloud/integrations/cloudwatch.html /cloud/dedicated/integrations/cloudwatch.html 301 -; /cloud/integrations/issues.html /cloud/dedicated/integrations/ 301 -; /cloud/integrations/notifications.html /cloud/dedicated/integrations/ 301 -; /cloud/integrations/opsgenie.html /cloud/dedicated/integrations/opsgenie.html 301 -; /cloud/integrations/slack.html /cloud/dedicated/integrations/slack.html 301 -; /cloud/intro/eventstore-cloud-status.html /cloud/introduction.html 301 -; /cloud/intro/preview.html /cloud/introduction.html 301 -; /cloud/intro/quick-start.html /cloud/introduction.html#cloud-quick-start 301 -; /cloud/networking/ /cloud/dedicated/networking/ 301 -; /cloud/networking/private-network.html /cloud/dedicated/networking/private-network.html 301 -; /cloud/networking/public-network.html /cloud/dedicated/networking/public-network.html 301 -; /cloud/ops/ /cloud/dedicated/ops/ 301 -; /cloud/ops/account-security.html /cloud/dedicated/ops/account-security.html 301 -; /cloud/ops/backup.html /cloud/dedicated/ops/backups.html 301 -; /cloud/ops/backups.html /cloud/dedicated/ops/backups.html 301 -; /cloud/ops/disk_expand.html /cloud/dedicated/ops/#expanding-disks 301 -; /cloud/ops/events.html /cloud/dedicated/ops/events.html 301 -; /cloud/ops/jobs.html /cloud/dedicated/ops/jobs.html 301 -; /cloud/ops/manual_backups.html /cloud/dedicated/ops/backups.html#manual-backup 301 -; /cloud/ops/restore.html /cloud/dedicated/ops/backups.html#restore-from-backup 301 -; /cloud/ops/scheduled_backups.html /cloud/dedicated/ops/backups.html#scheduled-backups 301 -; /cloud/ops/sizing.html /cloud/dedicated/ops/sizing.html 301 -; /cloud/provision/ /cloud/dedicated/getting-started/private_access/ 301 -; /cloud/provision/aws.html /cloud/dedicated/getting-started/private_access/aws.html 301 -; /cloud/provision/aws/ /cloud/dedicated/getting-started/private_access/aws.html 301 -; /cloud/provision/azure.html /cloud/dedicated/getting-started/private_access/azure.html 301 -; /cloud/provision/azure/ /cloud/dedicated/getting-started/private_access/azure.html 301 -; /cloud/provision/azure/considerations.html /cloud/dedicated/getting-started/private_access/azure.html#considerations-for-microsoft-azure 301 -; /cloud/provision/cloud-instance-guidance/ /cloud/dedicated/ops/sizing.html 301 -; /cloud/provision/gcp.html /cloud/dedicated/getting-started/private_access/gcp.html 301 -; /cloud/provision/gcp/ /cloud/dedicated/getting-started/private_access/gcp.html 301 -; /cloud/provision/sizing.html /cloud/dedicated/ops/sizing.html 301 -; /cloud/use/ /cloud/dedicated/guides/ 301 -; /cloud/use/kubernetes.html /cloud/dedicated/guides/kubernetes.html 301 -; /cloud/use/kubernetes/aks.html /cloud/dedicated/guides/kubernetes.html#azure-kubernetes-services 301 -; /cloud/use/kubernetes/eks.html /cloud/dedicated/guides/kubernetes.html#aws-elastic-kubernetes-services 301 -; /cloud/use/kubernetes/gke.html /cloud/dedicated/guides/kubernetes.html#google-kubernetes-engine 301 -; /cloud/use/migration.html /cloud/dedicated/guides/migration.html 301 -; /cloud/use/migration/replicator.html /cloud/dedicated/guides/migration.html#executing-the-migration 301 -; /cloud/use/tailscale.html /cloud/dedicated/guides/tailscale.html 301 - - -; # ###################### -; # Db Server -; # ###################### - -; # Hope migration -; /server/v24.2/metrics.html#opentelemetry-exporter /server/v24.10/diagnostics/integrations.html#opentelemetry-exporter 301 -; /server/v24.2/diagnostics.html#logs-download /server/v24.10/diagnostics/logs.html#logs-download #301 -; /server/v23.10/metrics.html /server/v24.10/diagnostics/metrics.html 301 -; /server/v23.10/cluster.html /server/v23.10/quick-start/ 301 -; /server/v23.10/configuration.html /server/v23.10/quick-start/ 301 -; /server/v23.10/diagnostics.html /server/v23.10/quick-start/ 301 -; /server/v23.10/indexes.html /server/v23.10/quick-start/ 301 -; /server/v23.10/installation.html /server/v23.10/quick-start/ 301 -; /server/v23.10/networking.html /server/v23.10/quick-start/ 301 -; /server/v23.10/operations.html /server/v23.10/quick-start/ 301 -; /server/v23.10/persistent-subscriptions.html /server/v23.10/quick-start/ 301 -; /server/v23.10/projections.html /server/v23.10/quick-start/ 301 -; /server/v23.10/security.html /server/v23.10/quick-start/ 301 -; /server/v23.10/streams.html /server/v23.10/quick-start/ 301 -; /server/v23.10/upgrade-guide.html /server/v23.10/quick-start/ 301 - - -; # ###################### -; # Others -; # ###################### - -; # Getting started -; /getting-started.html /getting-started/quickstart/ 301 -; /getting-started/ /getting-started/quickstart/ 301 - -; /getting-started/use-cases/mix-and-match-database/ /getting-started/use-cases/mix-and-match-database/introduction.html 301 - -; # Project types -; /project-types.html / 301 - -; # ######################################################################################################################## -; # DYNAMIC REDIRECTS -; # -; # This section must succeed STATIC REDIRECTS -; # https://developers.cloudflare.com/pages/configuration/redirects/#per-file -; # ######################################################################################################################## - -; # ###################### -; # Clients -; # ###################### - -; # TCP Clients redirects -; /samples/clients/dotnet/22.0/* /clients/tcp/dotnet/21.2 301 -; /clients/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 -; /clients/dotnet/21.2/* /clients/tcp/dotnet/21.2/:splat 301 -; /clients/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 -; /clients/tcp/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 -; /clients/tcp/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 - -; # TCP Clients from Vuepress v1 to v2 -; /clients/dotnet/:version/getting-started/* /clients/tcp/dotnet/:version/:splat 301 -; /clients/dotnet/:version/:firstpart.html /clients/tcp/dotnet/:version/:firstpart.html 200 -; /clients/dotnet/:version/:firstpart/* /clients/tcp/dotnet/:version/:firstpart.html 301 - -; # gRPC Clients from Vuepress v1 to v2 -; /clients/grpc/subscribing-to-streams/* /clients/grpc/subscriptions.html 301 -; ; /clients/grpc/:firstpart/* /clients/grpc/:firstpart.html 301 - -; # HTTP API from Vuepress v1 to v2 -; /server/v5/docs/http-api/:firstpart.html /http-api/v5/ 301 -; /server/v5/docs/http-api/:firstpart/* /http-api/v5/:firstpart/:splat 301 -; /clients/http-api/v5/:firstpart/:filename.html /http-api/v5/:firstpart/ 301 - -; /clients/http-api/v5/* /http-api/v5/:splat - -; # HTTP API v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) -; /http-api/v5/introduction/* /http-api/v5/introduction.html 301 -; /http-api/v5/optional-http-headers/* /http-api/v5/introduction.html 301 -; /http-api/v5/projections/* /http-api/v5/introduction.html 301 - -; # HTTP API deprecated -; /http-api/5.0.8/* /http-api/v5/introduction.html 301 -; /http-api/v24.2/* /http-api/v24.10/introduction.html 301 -; /http-api/v24.10%20Preview%201/* /http-api/v24.10/:splat 301 - -; /clients/http-api/v20.10/* /http-api/v24.10/introduction.html 301 -; /clients/http-api/v21.10/* /http-api/v24.10/introduction.html 301 -; /clients/http-api/v22.10/* /http-api/v22.10/introduction.html 301 -; /clients/http-api/v23.6/* /http-api/v23.10/introduction.html 301 -; /clients/http-api/v23.10/* /http-api/v23.10/introduction.html 301 -; /clients/http-api/v24.2/* /http-api/v24.10/introduction.html 301 - -; # ###################### -; # Db Server -; # ###################### - -; # Server deprecated - -; /v5/* /server/v5/introduction.html 301 -; /server/5.0.8/* /server/v5/introduction.html 301 -; /server/v20/* /server/latest/ 301 -; /server/20.6/* /server/latest/ 301 -; /server/v20.10/* /server/latest/ 301 -; /server/v21.2/* /server/latest/ 301 -; /server/v21.6/* /server/latest/ 301 -; /server/v21.10/* /server/latest/ 301 -; /server/v22.6/* /server/v22.10/:splat 301 -; /server/v23.6/* /server/v23.10/quick-start/ 301 -; /server/v24.2/* /server/v24.10/quick-start/ 301 -; /server/v24.6/* /server/v24.10/quick-start/ 301 -; /server/v24.10%20Preview%201/* /server/v24.10/:splat 301 - -; # latest to latest -; /server/latest/* /server/v25.0/:splat 301 - -; # Hope migration -; /connectors/* /server/v24.10/features/connectors/ 301 - -; # Server v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) -; /server/v5/clustering/* /server/v5/introduction.html 301 -; /server/v5/diagnostics/* /server/v5/introduction.html 301 -; /server/v5/indexes/* /server/v5/introduction.html 301 -; /server/v5/installation/* /server/v5/introduction.html 301 -; /server/v5/introduction/* /server/v5/introduction.html 301 -; /server/v5/networking/* /server/v5/introduction.html 301 -; /server/v5/operations/* /server/v5/introduction.html 301 -; /server/v5/networking/* /server/v5/introduction.html 301 -; /server/v5/projections/* /server/v5/introduction.html 301 -; /server/v5/security/* /server/v5/introduction.html 301 -; /server/v5/server/* /server/v5/introduction.html 301 -; /server/v5/streams/* /server/v5/introduction.html 301 - -; # ###################### -; # Other -; # ###################### -; /resources/* / 301 - -; # ###################### -; # HTTP API -; # ###################### -; /http-api/v25.0/* /server/v25.0/http-api/:splat 301 - -; # ###################### -; # Tutorial and Use Case Redirects -; # ###################### - -; # Tutorial files moved from tutorials/ to dev-center/tutorials/ -; /tutorials/* /dev-center/tutorials/:splat 301 - -; # Use case tutorial-N.md files moved into /tutorial/ subfolder -; /getting-started/use-cases/*/tutorial-1.md /dev-center/use-cases/:splat/tutorial/tutorial-1.md 301 -; /getting-started/use-cases/*/tutorial-1.html /dev-center/use-cases/:splat/tutorial/tutorial-1.html 301 -; /getting-started/use-cases/*/tutorial-2.md /dev-center/use-cases/:splat/tutorial/tutorial-2.md 301 -; /getting-started/use-cases/*/tutorial-2.html /dev-center/use-cases/:splat/tutorial/tutorial-2.html 301 -; /getting-started/use-cases/*/tutorial-3.md /dev-center/use-cases/:splat/tutorial/tutorial-3.md 301 -; /getting-started/use-cases/*/tutorial-3.html /dev-center/use-cases/:splat/tutorial/tutorial-3.html 301 -; /getting-started/use-cases/*/tutorial-4.md /dev-center/use-cases/:splat/tutorial/tutorial-4.md 301 -; /getting-started/use-cases/*/tutorial-4.html /dev-center/use-cases/:splat/tutorial/tutorial-4.html 301 -; /getting-started/use-cases/*/tutorial-5.md /dev-center/use-cases/:splat/tutorial/tutorial-5.md 301 -; /getting-started/use-cases/*/tutorial-5.html /dev-center/use-cases/:splat/tutorial/tutorial-5.html 301 - -; # Other use case files stay in the root (introduction.md, tutorial-summary.md, etc.) -; /getting-started/use-cases/* /dev-center/use-cases/:splat 301 +# ######################################################################################################################## +# List of redirect rules in Cloudflare Pages +# Refer to https://developers.cloudflare.com/pages/configuration/redirects/ +# ######################################################################################################################## + +# ######################################################################################################################## +# STATIC REDIRECTS +# +# This section must precede DYNAMIC REDIRECTS +# https://developers.cloudflare.com/pages/configuration/redirects/#per-file +# ######################################################################################################################## + + +# ###################### +# General redirects +# ###################### + +/latest.html /server/latest/ 301 +/latest /server/latest/ 301 +/server /server/latest/ 301 +# Note: make sure to also update the latest version in the dynamic section + +# ###################### +# Clients +# ###################### + +# redirect for internet search on "esdb .net client +/clients/dotnet/5.0/connecting.html /clients/grpc/dotnet/getting-started.html#connecting-to-eventstoredb 301 + +# TCP Clients +/clients/dotnet/21.2/migration-to-gRPC.html#appending-events /clients/tcp/dotnet/21.2/migration-to-gRPC.html#appending-events 301 +/clients/dotnet/5.0/migration-to-gRPC.html#update-the-target-framework /clients/tcp/dotnet/21.2/migration-to-gRPC.html#update-the-target-framework 301 +/clients/dotnet/5.0/migration-to-gRPC.html /clients/tcp/dotnet/21.2/migration-to-gRPC.html 301 + +# TCP Clients from Vuepress v1 to v2 +/clients/dotnet/generated/v20.6.0 /clients/tcp/dotnet/21.2 301 + +# gRPC Clients from Vuepress v1 to v2 +/clients/grpc/subscribing-to-streams/persistent-subscriptions.html /clients/grpc/persistent-subscriptions.html 301 + +# HTTP API from Vuepress v1 to v2 +/server/v5/docs/http-api/ /http-api/v5/ 301 + +/clients/http-api/generated/v5/docs/api /http-api/v5/api.html 301 +/clients/http-api/v5/introduction /http-api/v5 301 + +/clients/http-api/generated/v5/docs/optional-http-headers /http-api/v5/optional-http-headers.html 301 +/clients/http-api/generated/v5/docs/introduction/deleting-a-stream.html /http-api/v5/#deleting-a-stream 301 +/server/generated/v5/docs/http-api/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 +/clients/http-api/generated/v5/docs/optional-http-headers/expected-version.html /http-api/v5/optional-http-headers.html#expected-version 301 +/clients/http-api/generated/v5/docs/optional-http-headers/requires-master.html /http-api/v5/optional-http-headers.html#requires-master 301 +/clients/http-api/generated/v5/docs/optional-http-headers/resolve-linkto.html /http-api/v5/optional-http-headers.html#resolve-linkto 301 +/clients/http-api/generated/v5/docs/introduction/reading-streams.html /http-api/v5/#reading-streams-and-events 301 +/clients/http-api/generated/v5/docs/introduction/optimistic-concurrency-and-idempotence.html /http-api/v5/#optimistic-concurrency-and-idempotence 301 + +/server/generated/v5/http-api/persistent-subscriptions.html /http-api/v5/persistent.html 301 +/server/generated/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 +/server/v5/samples/http-api/event.json /http-api/v5/api.html 301 + +/server/v5/http-api /http-api/v5/persistent.html 301 +/server/v5/http-api/persistent/security.html /http-api/v5/persistent.html 301 +/server/v5/http-api/writing-events.html /http-api/v5/#writing-metadata 301 +/server/v5/http-api/reading-subscribing-events.html /http-api/v5/#reading-an-event-from-a-stream 301 +/server/generated/v5/docs/http-api/optional-http-headers /http-api/v5/optional-http-headers.html 301 + +/server/5.0.8/http-api/writing-events.html /http-api/v5/#writing-metadata 301 +/server/5.0.8/http-api/stream-metadata.html /http-api/v5/#stream-metadata 301 +/server/5.0.9/http-api /http-api/v5 301 + +# HTTP API moved projection section to server docs (90c84819f4226e127360cdfc807a8106735acc91@documentation) +/http-api/v23.10/projections.html /server/v23.10/features/projections/tutorial.html 301 +/http-api/v24.6/projections.html /server/v24.6/features/projections/tutorial.html 301 + +# HTTP API removed database docs (a99ff9f9cb89dfa0ecf1d731aaac4435189b6512@documentation) +/http-api/v5/appending-events.html /http-api/v5/introduction.html 301 +/http-api/v5/deleting-a-stream.html /http-api/v5/introduction.html 301 +/http-api/v5/description-document.html /http-api/v5/introduction.html 301 +/http-api/v5/optimistic-concurrency-and-idempotence.html /http-api/v5/introduction.html 301 +/http-api/v5/reading-streams.html /http-api/v5/introduction.html 301 +/http-api/v5/reading-subscribing-events.html /http-api/v5/introduction.html 301 +/http-api/v5/stream-metadata.html /http-api/v5/introduction.html 301 +/http-api/v5/writing-events.html /http-api/v5/introduction.html 301 + +# General clients redirect +# This rule should be last in this clients list otherwise it takes precedence. +/clients /clients/grpc/getting-started.html 301 + +# ###################### +# Cloud +# ###################### + +/cloud/quick-start.html /cloud/introduction.html 301 + +# Cloud docs deep links +/cloud/provision/aws/network /cloud/provision/aws.html#create-a-network 301 +/cloud/provision/aws/cluster /cloud/provision/aws.html#deploy-a-managed-instance 301 +/cloud/provision/aws/peering /cloud/provision/aws.html#network-peering 301 +/cloud/provision/aws/regions /cloud/provision/aws.html#available-regions 301 + +/cloud/provision/azure/network /cloud/provision/azure.html#create-a-network 301 +/cloud/provision/azure/cluster /cloud/provision/azure.html#deploy-a-managed-instance 301 +/cloud/provision/azure/peering /cloud/provision/azure.html#network-peering 301 +/cloud/provision/azure/regions /cloud/provision/azure.html#available-regions 301 + +/cloud/provision/gcp/network /cloud/provision/gcp.html#create-a-network 301 +/cloud/provision/gcp/cluster /cloud/provision/gcp.html#deploy-a-managed-instance 301 +/cloud/provision/gcp/peering /cloud/provision/gcp.html#network-peering 301 +/cloud/provision/gcp/regions /cloud/provision/gcp.html#available-regions 301 + +# Cloud hope migration +/cloud/intro/ /cloud/introduction.html 301 + +# Cloud docs update Jan 2025 (3184c4eda8e2746de38a1659e8db176c3821aa94@documentation, a9961eb03643546f018bfa82eab7672056e06a53@documentation) +# Also redirects old and past links to the latest link +/cloud/automation/ /cloud/dedicated/automation/ 301 +/cloud/automation/api.html /cloud/dedicated/automation/ 301 +/cloud/automation/pulumi.html /cloud/dedicated/automation/pulumi.html 301 +/cloud/automation/terraform.html /cloud/dedicated/automation/terraform.html 301 +/cloud/faq.html /cloud/dedicated/faq.html 301 +/cloud/faq/ /cloud/dedicated/faq.html 301 +/cloud/faq/cluster-provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 +/cloud/faq/cluster_provisioning.html /cloud/dedicated/faq.html#cluster-provisioning 301 +/cloud/faq/operational-characteristics.html /cloud/dedicated/faq.html#operational-characteristics-of-kurrent-cloud 301 +/cloud/faq/providers.html /cloud/dedicated/faq.html#providers 301 +/cloud/faq/roadmap.html /cloud/introduction.html 301 +/cloud/faq/sla.html /cloud/dedicated/faq.html#service-levels 301 +/cloud/faq/support.html /cloud/dedicated/faq.html#support 301 +/cloud/faq/troubleshooting.html /cloud/dedicated/faq.html#troubleshooting 301 +/cloud/integrations/ /cloud/dedicated/integrations/ 301 +/cloud/integrations/cloudwatch.html /cloud/dedicated/integrations/cloudwatch.html 301 +/cloud/integrations/issues.html /cloud/dedicated/integrations/ 301 +/cloud/integrations/notifications.html /cloud/dedicated/integrations/ 301 +/cloud/integrations/opsgenie.html /cloud/dedicated/integrations/opsgenie.html 301 +/cloud/integrations/slack.html /cloud/dedicated/integrations/slack.html 301 +/cloud/intro/eventstore-cloud-status.html /cloud/introduction.html 301 +/cloud/intro/preview.html /cloud/introduction.html 301 +/cloud/intro/quick-start.html /cloud/introduction.html#cloud-quick-start 301 +/cloud/networking/ /cloud/dedicated/networking/ 301 +/cloud/networking/private-network.html /cloud/dedicated/networking/private-network.html 301 +/cloud/networking/public-network.html /cloud/dedicated/networking/public-network.html 301 +/cloud/ops/ /cloud/dedicated/ops/ 301 +/cloud/ops/account-security.html /cloud/dedicated/ops/account-security.html 301 +/cloud/ops/backup.html /cloud/dedicated/ops/backups.html 301 +/cloud/ops/backups.html /cloud/dedicated/ops/backups.html 301 +/cloud/ops/disk_expand.html /cloud/dedicated/ops/#expanding-disks 301 +/cloud/ops/events.html /cloud/dedicated/ops/events.html 301 +/cloud/ops/jobs.html /cloud/dedicated/ops/jobs.html 301 +/cloud/ops/manual_backups.html /cloud/dedicated/ops/backups.html#manual-backup 301 +/cloud/ops/restore.html /cloud/dedicated/ops/backups.html#restore-from-backup 301 +/cloud/ops/scheduled_backups.html /cloud/dedicated/ops/backups.html#scheduled-backups 301 +/cloud/ops/sizing.html /cloud/dedicated/ops/sizing.html 301 +/cloud/provision/ /cloud/dedicated/getting-started/private_access/ 301 +/cloud/provision/aws.html /cloud/dedicated/getting-started/private_access/aws.html 301 +/cloud/provision/aws/ /cloud/dedicated/getting-started/private_access/aws.html 301 +/cloud/provision/azure.html /cloud/dedicated/getting-started/private_access/azure.html 301 +/cloud/provision/azure/ /cloud/dedicated/getting-started/private_access/azure.html 301 +/cloud/provision/azure/considerations.html /cloud/dedicated/getting-started/private_access/azure.html#considerations-for-microsoft-azure 301 +/cloud/provision/cloud-instance-guidance/ /cloud/dedicated/ops/sizing.html 301 +/cloud/provision/gcp.html /cloud/dedicated/getting-started/private_access/gcp.html 301 +/cloud/provision/gcp/ /cloud/dedicated/getting-started/private_access/gcp.html 301 +/cloud/provision/sizing.html /cloud/dedicated/ops/sizing.html 301 +/cloud/use/ /cloud/dedicated/guides/ 301 +/cloud/use/kubernetes.html /cloud/dedicated/guides/kubernetes.html 301 +/cloud/use/kubernetes/aks.html /cloud/dedicated/guides/kubernetes.html#azure-kubernetes-services 301 +/cloud/use/kubernetes/eks.html /cloud/dedicated/guides/kubernetes.html#aws-elastic-kubernetes-services 301 +/cloud/use/kubernetes/gke.html /cloud/dedicated/guides/kubernetes.html#google-kubernetes-engine 301 +/cloud/use/migration.html /cloud/dedicated/guides/migration.html 301 +/cloud/use/migration/replicator.html /cloud/dedicated/guides/migration.html#executing-the-migration 301 +/cloud/use/tailscale.html /cloud/dedicated/guides/tailscale.html 301 + + +# ###################### +# Db Server +# ###################### + +# Hope migration +/server/v24.2/metrics.html#opentelemetry-exporter /server/v24.10/diagnostics/integrations.html#opentelemetry-exporter 301 +/server/v24.2/diagnostics.html#logs-download /server/v24.10/diagnostics/logs.html#logs-download #301 +/server/v23.10/metrics.html /server/v24.10/diagnostics/metrics.html 301 +/server/v23.10/cluster.html /server/v23.10/quick-start/ 301 +/server/v23.10/configuration.html /server/v23.10/quick-start/ 301 +/server/v23.10/diagnostics.html /server/v23.10/quick-start/ 301 +/server/v23.10/indexes.html /server/v23.10/quick-start/ 301 +/server/v23.10/installation.html /server/v23.10/quick-start/ 301 +/server/v23.10/networking.html /server/v23.10/quick-start/ 301 +/server/v23.10/operations.html /server/v23.10/quick-start/ 301 +/server/v23.10/persistent-subscriptions.html /server/v23.10/quick-start/ 301 +/server/v23.10/projections.html /server/v23.10/quick-start/ 301 +/server/v23.10/security.html /server/v23.10/quick-start/ 301 +/server/v23.10/streams.html /server/v23.10/quick-start/ 301 +/server/v23.10/upgrade-guide.html /server/v23.10/quick-start/ 301 + + +# ###################### +# Others +# ###################### + +# Getting started +/getting-started.html /getting-started/quickstart/ 301 +/getting-started/ /getting-started/quickstart/ 301 + +/getting-started/use-cases/mix-and-match-database/ /getting-started/use-cases/mix-and-match-database/introduction.html 301 + +# Project types +/project-types.html / 301 + +# ######################################################################################################################## +# DYNAMIC REDIRECTS +# +# This section must succeed STATIC REDIRECTS +# https://developers.cloudflare.com/pages/configuration/redirects/#per-file +# ######################################################################################################################## + +# ###################### +# Clients +# ###################### + +# TCP Clients redirects +/samples/clients/dotnet/22.0/* /clients/tcp/dotnet/21.2 301 +/clients/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 +/clients/dotnet/21.2/* /clients/tcp/dotnet/21.2/:splat 301 +/clients/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 +/clients/tcp/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 +/clients/tcp/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 + +# TCP Clients from Vuepress v1 to v2 +/clients/dotnet/:version/getting-started/* /clients/tcp/dotnet/:version/:splat 301 +/clients/dotnet/:version/:firstpart.html /clients/tcp/dotnet/:version/:firstpart.html 200 +/clients/dotnet/:version/:firstpart/* /clients/tcp/dotnet/:version/:firstpart.html 301 + +# gRPC Clients from Vuepress v1 to v2 +/clients/grpc/subscribing-to-streams/* /clients/grpc/subscriptions.html 301 +; /clients/grpc/:firstpart/* /clients/grpc/:firstpart.html 301 + +# HTTP API from Vuepress v1 to v2 +/server/v5/docs/http-api/:firstpart.html /http-api/v5/ 301 +/server/v5/docs/http-api/:firstpart/* /http-api/v5/:firstpart/:splat 301 +/clients/http-api/v5/:firstpart/:filename.html /http-api/v5/:firstpart/ 301 + +/clients/http-api/v5/* /http-api/v5/:splat + +# HTTP API v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) +/http-api/v5/introduction/* /http-api/v5/introduction.html 301 +/http-api/v5/optional-http-headers/* /http-api/v5/introduction.html 301 +/http-api/v5/projections/* /http-api/v5/introduction.html 301 + +# HTTP API deprecated +/http-api/5.0.8/* /http-api/v5/introduction.html 301 +/http-api/v24.2/* /http-api/v24.10/introduction.html 301 +/http-api/v24.10%20Preview%201/* /http-api/v24.10/:splat 301 + +/clients/http-api/v20.10/* /http-api/v24.10/introduction.html 301 +/clients/http-api/v21.10/* /http-api/v24.10/introduction.html 301 +/clients/http-api/v22.10/* /http-api/v22.10/introduction.html 301 +/clients/http-api/v23.6/* /http-api/v23.10/introduction.html 301 +/clients/http-api/v23.10/* /http-api/v23.10/introduction.html 301 +/clients/http-api/v24.2/* /http-api/v24.10/introduction.html 301 + +# ###################### +# Db Server +# ###################### + +# Server deprecated + +/v5/* /server/v5/introduction.html 301 +/server/5.0.8/* /server/v5/introduction.html 301 +/server/v20/* /server/latest/ 301 +/server/20.6/* /server/latest/ 301 +/server/v20.10/* /server/latest/ 301 +/server/v21.2/* /server/latest/ 301 +/server/v21.6/* /server/latest/ 301 +/server/v21.10/* /server/latest/ 301 +/server/v22.6/* /server/v22.10/:splat 301 +/server/v23.6/* /server/v23.10/quick-start/ 301 +/server/v24.2/* /server/v24.10/quick-start/ 301 +/server/v24.6/* /server/v24.10/quick-start/ 301 +/server/v24.10%20Preview%201/* /server/v24.10/:splat 301 + +# latest to latest +/server/latest/* /server/v25.0/:splat 301 + +# Hope migration +/connectors/* /server/v24.10/features/connectors/ 301 + +# Server v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) +/server/v5/clustering/* /server/v5/introduction.html 301 +/server/v5/diagnostics/* /server/v5/introduction.html 301 +/server/v5/indexes/* /server/v5/introduction.html 301 +/server/v5/installation/* /server/v5/introduction.html 301 +/server/v5/introduction/* /server/v5/introduction.html 301 +/server/v5/networking/* /server/v5/introduction.html 301 +/server/v5/operations/* /server/v5/introduction.html 301 +/server/v5/networking/* /server/v5/introduction.html 301 +/server/v5/projections/* /server/v5/introduction.html 301 +/server/v5/security/* /server/v5/introduction.html 301 +/server/v5/server/* /server/v5/introduction.html 301 +/server/v5/streams/* /server/v5/introduction.html 301 + +# ###################### +# Other +# ###################### +/resources/* / 301 + +# ###################### +# HTTP API +# ###################### +/http-api/v25.0/* /server/v25.0/http-api/:splat 301 + +# ###################### +# Tutorial and Use Case Redirects +# ###################### + +# Tutorial files moved from tutorials/ to dev-center/tutorials/ +/tutorials/* /dev-center/tutorials/:splat 301 + +# Use case tutorial-N.md files moved into /tutorial/ subfolder +/getting-started/use-cases/*/tutorial-1.md /dev-center/use-cases/:splat/tutorial/tutorial-1.md 301 +/getting-started/use-cases/*/tutorial-1.html /dev-center/use-cases/:splat/tutorial/tutorial-1.html 301 +/getting-started/use-cases/*/tutorial-2.md /dev-center/use-cases/:splat/tutorial/tutorial-2.md 301 +/getting-started/use-cases/*/tutorial-2.html /dev-center/use-cases/:splat/tutorial/tutorial-2.html 301 +/getting-started/use-cases/*/tutorial-3.md /dev-center/use-cases/:splat/tutorial/tutorial-3.md 301 +/getting-started/use-cases/*/tutorial-3.html /dev-center/use-cases/:splat/tutorial/tutorial-3.html 301 +/getting-started/use-cases/*/tutorial-4.md /dev-center/use-cases/:splat/tutorial/tutorial-4.md 301 +/getting-started/use-cases/*/tutorial-4.html /dev-center/use-cases/:splat/tutorial/tutorial-4.html 301 +/getting-started/use-cases/*/tutorial-5.md /dev-center/use-cases/:splat/tutorial/tutorial-5.md 301 +/getting-started/use-cases/*/tutorial-5.html /dev-center/use-cases/:splat/tutorial/tutorial-5.html 301 + +# Other use case files stay in the root (introduction.md, tutorial-summary.md, etc.) +/getting-started/use-cases/* /dev-center/use-cases/:splat 301 From 4798a549990158816d08cba84f4451b4ad388817 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 10:01:31 +0400 Subject: [PATCH 29/36] Fix _redirects --- docs/.vuepress/public/_redirects | 52 +++++++++++--------------------- 1 file changed, 17 insertions(+), 35 deletions(-) diff --git a/docs/.vuepress/public/_redirects b/docs/.vuepress/public/_redirects index 02875b40a..e9adf3366 100644 --- a/docs/.vuepress/public/_redirects +++ b/docs/.vuepress/public/_redirects @@ -25,7 +25,7 @@ # ###################### # redirect for internet search on "esdb .net client -/clients/dotnet/5.0/connecting.html /clients/grpc/dotnet/getting-started.html#connecting-to-eventstoredb 301 +/clients/dotnet/5.0/connecting.html /clients/dotnet/ 301 # TCP Clients /clients/dotnet/21.2/migration-to-gRPC.html#appending-events /clients/tcp/dotnet/21.2/migration-to-gRPC.html#appending-events 301 @@ -81,10 +81,6 @@ /http-api/v5/stream-metadata.html /http-api/v5/introduction.html 301 /http-api/v5/writing-events.html /http-api/v5/introduction.html 301 -# General clients redirect -# This rule should be last in this clients list otherwise it takes precedence. -/clients /clients/grpc/getting-started.html 301 - # ###################### # Cloud # ###################### @@ -215,46 +211,32 @@ # Clients # ###################### -# TCP Clients redirects -/samples/clients/dotnet/22.0/* /clients/tcp/dotnet/21.2 301 -/clients/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/dotnet/21.2/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/tcp/dotnet/5.0/* /clients/tcp/dotnet/21.2/:splat 301 -/clients/tcp/dotnet/20.10/* /clients/tcp/dotnet/21.2/:splat 301 - -# TCP Clients from Vuepress v1 to v2 -/clients/dotnet/:version/getting-started/* /clients/tcp/dotnet/:version/:splat 301 -/clients/dotnet/:version/:firstpart.html /clients/tcp/dotnet/:version/:firstpart.html 200 -/clients/dotnet/:version/:firstpart/* /clients/tcp/dotnet/:version/:firstpart.html 301 - # gRPC Clients from Vuepress v1 to v2 -/clients/grpc/subscribing-to-streams/* /clients/grpc/subscriptions.html 301 -; /clients/grpc/:firstpart/* /clients/grpc/:firstpart.html 301 +/clients/grpc/subscribing-to-streams/* /clients 301 # HTTP API from Vuepress v1 to v2 /server/v5/docs/http-api/:firstpart.html /http-api/v5/ 301 /server/v5/docs/http-api/:firstpart/* /http-api/v5/:firstpart/:splat 301 -/clients/http-api/v5/:firstpart/:filename.html /http-api/v5/:firstpart/ 301 +/clients/http-api/v5/:firstpart/:filename.html /server/http-api/v5/:firstpart/ 301 -/clients/http-api/v5/* /http-api/v5/:splat +/clients/http-api/v5/* /server/http-api/v5/:splat # HTTP API v5 directory structure change (fde9dd319a406350292fd2fd4a2809fd36338794@eventstore) -/http-api/v5/introduction/* /http-api/v5/introduction.html 301 -/http-api/v5/optional-http-headers/* /http-api/v5/introduction.html 301 -/http-api/v5/projections/* /http-api/v5/introduction.html 301 +/http-api/v5/introduction/* /server/http-api/v5/introduction.html 301 +/http-api/v5/optional-http-headers/* /server/http-api/v5/introduction.html 301 +/http-api/v5/projections/* /server/http-api/v5/introduction.html 301 # HTTP API deprecated -/http-api/5.0.8/* /http-api/v5/introduction.html 301 -/http-api/v24.2/* /http-api/v24.10/introduction.html 301 -/http-api/v24.10%20Preview%201/* /http-api/v24.10/:splat 301 - -/clients/http-api/v20.10/* /http-api/v24.10/introduction.html 301 -/clients/http-api/v21.10/* /http-api/v24.10/introduction.html 301 -/clients/http-api/v22.10/* /http-api/v22.10/introduction.html 301 -/clients/http-api/v23.6/* /http-api/v23.10/introduction.html 301 -/clients/http-api/v23.10/* /http-api/v23.10/introduction.html 301 -/clients/http-api/v24.2/* /http-api/v24.10/introduction.html 301 +/http-api/5.0.8/* /server/http-api/v5/introduction.html 301 +/http-api/v24.2/* /server/http-api/v24.10/introduction.html 301 +/http-api/v24.10%20Preview%201/* /server/http-api/v24.10/:splat 301 + +/clients/http-api/v20.10/* /server/http-api/v24.10/introduction.html 301 +/clients/http-api/v21.10/* /server/http-api/v24.10/introduction.html 301 +/clients/http-api/v22.10/* /server/http-api/v22.10/introduction.html 301 +/clients/http-api/v23.6/* /server/http-api/v23.10/introduction.html 301 +/clients/http-api/v23.10/* /server/http-api/v23.10/introduction.html 301 +/clients/http-api/v24.2/* /server/http-api/v24.10/introduction.html 301 # ###################### # Db Server From 0c98ada119f14d758aaa5b84bcf77c0a971099d4 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 10:09:49 +0400 Subject: [PATCH 30/36] More explicit redirects for clients --- docs/.vuepress/client.ts | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index b3bef1fda..6588db09a 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -113,24 +113,16 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - addDynamicRoute('/clients/:lang/legacy/:version', to => { - const version = to.params.version; - const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === `legacy/${version}`) - return `/clients/${to.params.lang}/legacy/${version}/${latestVersion?.startPage}`; - }); + addDynamicRoute('/clients/:lang/legacy/:version', to => `/clients/${to.params.lang}/legacy/${to.params.version}/getting-started.html`); addDynamicRoute('/clients/:lang/legacy', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path.startsWith('legacy/')) - return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; + return `/clients/${to.params.lang}/${latestVersion?.path}/getting-started.html`; }) - addDynamicRoute('/clients/:lang/:version', to => { - const version = to.params.version; - const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === version) - return `/clients/${to.params.lang}/${version}/${latestVersion?.startPage}`; - }); + addDynamicRoute('/clients/:lang/:version', to => `/clients/${to.params.lang}/${to.params.version}/getting-started.html`); addDynamicRoute('/clients/:lang', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0] - return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; + return `/clients/${to.params.lang}/${latestVersion?.path}/getting-started.html`; }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); From 824f715284405111fda85cfd43ed55a2e4879b31 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 10:43:48 +0400 Subject: [PATCH 31/36] Ignore redirects for tcp --- docs/.vuepress/client.ts | 20 ++++++++++++++------ docs/.vuepress/configs/navbar.ts | 2 +- import/repos.json | 24 ++++++++++++------------ 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 6588db09a..71c9273a0 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -113,16 +113,24 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - addDynamicRoute('/clients/:lang/legacy/:version', to => `/clients/${to.params.lang}/legacy/${to.params.version}/getting-started.html`); - addDynamicRoute('/clients/:lang/legacy', to => { + addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/legacy/:version', to => { + const version = to.params.version; + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === `legacy/${version}`) + return `/clients/${to.params.lang}/legacy/${to.params.version}/${latestVersion?.startPage}`; + }); + addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/legacy', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path.startsWith('legacy/')) - return `/clients/${to.params.lang}/${latestVersion?.path}/getting-started.html`; + return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; }) - addDynamicRoute('/clients/:lang/:version', to => `/clients/${to.params.lang}/${to.params.version}/getting-started.html`); - addDynamicRoute('/clients/:lang', to => { + addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/:version', to => { + const version = to.params.version; + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === version) + return `/clients/${to.params.lang}/${version}/${latestVersion?.startPage}`; + }); + addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0] - return `/clients/${to.params.lang}/${latestVersion?.path}/getting-started.html`; + return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; }) addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); diff --git a/docs/.vuepress/configs/navbar.ts b/docs/.vuepress/configs/navbar.ts index 0423f5e10..eeec0c034 100644 --- a/docs/.vuepress/configs/navbar.ts +++ b/docs/.vuepress/configs/navbar.ts @@ -21,7 +21,7 @@ export const navbarEn: NavbarOptions = [ {text: "Python", link: "/clients/python/"}, {text: "Node.js", link: "/clients/node/"}, {text: "Java", link: "/clients/java/"}, - {text: "Go", link: "/clients/go/"}, + {text: "Go", link: "/clients/golang/"}, {text: "Rust", link: "/clients/rust/"}, ] }, diff --git a/import/repos.json b/import/repos.json index 2cc986de0..2bb13659d 100644 --- a/import/repos.json +++ b/import/repos.json @@ -68,14 +68,14 @@ { "version": "v1.0", "name": "release/v1.0", - "startPage": "getting-started.html" + "startPage": "getting-started" }, { "version": "legacy/v23.3", "alias": "Legacy v23.3", "name": "release/legacy/v23.3", "deprecated": true, - "startPage": "getting-started.html" + "startPage": "getting-started" } ] }, @@ -91,14 +91,14 @@ { "version": "v1.0", "name": "release/v1.0", - "startPage": "getting-started.html" + "startPage": "getting-started" }, { "version": "legacy/v5.4", "alias": "Legacy v5.4", "name": "release/legacy/v5.4", "deprecated": true, - "startPage": "getting-started.html" + "startPage": "getting-started" } ] }, @@ -114,14 +114,14 @@ { "version": "v1.0", "name": "release/v1.0", - "startPage": "getting-started.html" + "startPage": "getting-started" }, { "version": "legacy/v4.0", "alias": "Legacy v4.0", "name": "release/legacy/v4.0", "deprecated": true, - "startPage": "getting-started.html" + "startPage": "getting-started" } ] }, @@ -137,19 +137,19 @@ { "version": "v1.0", "name": "release/v1.0", - "startPage": "getting-started.html" + "startPage": "getting-started" }, { "version": "legacy/v6.2", "alias": "Legacy v6.2", "name": "release/legacy/v6.2", "deprecated": true, - "startPage": "getting-started.html" + "startPage": "getting-started" } ] }, { - "id": "go-client", + "id": "golang-client", "group": "Go SDK", "basePath": "clients/golang", "docsRelativePath": [ "docs", "api" ], @@ -160,14 +160,14 @@ { "version": "v1.0", "name": "release/v1.0", - "startPage": "getting-started.html" + "startPage": "getting-started" }, { "version": "legacy/v4.2", "alias": "Legacy v4.2", "name": "release/legacy/v4.2", "deprecated": true, - "startPage": "getting-started.html" + "startPage": "getting-started" } ] }, @@ -183,7 +183,7 @@ { "version": "v1.0", "name": "docs/v1.0", - "startPage": "getting-started.html" + "startPage": "getting-started" } ] } From 862a12ad6662cbc24df1a47f4b6c1ac8ec9175ad Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 10:46:15 +0400 Subject: [PATCH 32/36] Fix JVM client link --- docs/clients/tcp/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/clients/tcp/README.md b/docs/clients/tcp/README.md index fae2e1fd5..abd636c00 100644 --- a/docs/clients/tcp/README.md +++ b/docs/clients/tcp/README.md @@ -5,4 +5,4 @@ You will find documentation for the deprecated TCP clients at: - [.NET client](./dotnet/21.2/quick-tour.md) -- [JVM client](https://github.com/kurrent-io/KurrentDB.JVM) +- [JVM client](https://github.com/kurrent-io/EventStore.JVM) From 2193e3405911a87cfb90a4b447b6a918d32c0494 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 15:17:42 +0400 Subject: [PATCH 33/36] Explicitly define sidebar structure for v5 and v22.10 --- docs/.vuepress/configs/sidebar.ts | 60 ++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/docs/.vuepress/configs/sidebar.ts b/docs/.vuepress/configs/sidebar.ts index e77dc9317..af3f3b1ac 100644 --- a/docs/.vuepress/configs/sidebar.ts +++ b/docs/.vuepress/configs/sidebar.ts @@ -39,5 +39,63 @@ export const sidebarEn: EsSidebarOptions = { "/cloud/": "structure", ...ver.getSidebars(), "/clients/tcp/dotnet/21.2/": "structure", - "/dev-center/": "structure" + "/dev-center/": "structure", + + // The way these docs were setup in server v22.10 and v5 are not compatible with the new sidebar structure. + "/server/v22.10/": [ + "introduction", + "installation", + "configuration", + "streams", + "indexes", + "projections", + "persistent-subscriptions", + "operations", + "diagnostics", + "networking", + "cluster", + "security", + "upgrade-guide", + "release-notes", + "release-schedule", + { + text: "HTTP API", + children: [ + "http-api/introduction.md", + "http-api/security.md", + "http-api/persistent.md", + "http-api/projections.md", + "http-api/optional-http-headers.md", + "http-api/api.md" + ], + collapsible: true, + } + ], + "/server/v5/": [ + "introduction", + "installation", + "configuration", + "security", + "networking", + "cluster", + "server-settings", + "admin-ui", + "indexes", + "projections", + "persistent-subscriptions", + "operations", + "diagnostics", + { + text: "HTTP API", + children: [ + "http-api/introduction.md", + "http-api/security.md", + "http-api/persistent.md", + "http-api/projections.md", + "http-api/optional-http-headers.md", + "http-api/api.md" + ], + collapsible: true, + } + ], }; From 9f1ff97bc7960cff3922130075ddd4ee2b717110 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 15:21:25 +0400 Subject: [PATCH 34/36] Update branch references --- import/repos.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/import/repos.json b/import/repos.json index 2bb13659d..5b96cec34 100644 --- a/import/repos.json +++ b/import/repos.json @@ -10,20 +10,20 @@ "branches": [ { "version": "v25.0", - "name": "alexey/docs/release/v25.0", + "name": "release/v25.0", "relativePath": ["server"], "startPage": "quick-start/" }, { "version": "v24.10", - "name": "alexey/docs/release/v24.10", + "name": "release/v24.10", "relativePath": ["server"], "startPage": "quick-start/", "lts": true }, { "version": "v24.6", - "name": "alexey/docs/release/v24.6", + "name": "release/oss-v24.6", "relativePath": ["server"], "startPage": "quick-start/", "deprecated": true, @@ -31,21 +31,21 @@ }, { "version": "v23.10", - "name": "alexey/docs/release/v23.10", + "name": "release/oss-v23.10", "relativePath": ["server"], "startPage": "quick-start/", "lts": true }, { "version": "v22.10", - "name": "alexey/docs/release/v22.10", + "name": "release/oss-v22.10", "relativePath": ["server"], "startPage": "introduction.html", "deprecated": true }, { "version": "v5", - "name": "alexey/docs/release/v5", + "name": "release/oss-v5", "relativePath": ["server"], "startPage": "introduction.html", "deprecated": true, From 43781b531267df82855c54fabad9f4e0c17c7eed Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 15:40:52 +0400 Subject: [PATCH 35/36] Add redirects for v22.10 and v5 --- docs/.vuepress/client.ts | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 71c9273a0..2fb54f123 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -73,7 +73,6 @@ export default defineClientConfig({ app.component("CloudBanner", CloudBanner); app.component("KapaWidget", KapaWidget); app.component("UserFeedback", UserFeedback); - const apiPath = __VERSIONS__.latest.replace("server", "http-api"); const addFixedRoute = (from: string, to: string) => router.addRoute({ path: from, redirect: _ => { reload(); @@ -90,7 +89,7 @@ export default defineClientConfig({ }); // Router configuration - addFixedRoute("/http-api/", `${apiPath}/introduction`); + addFixedRoute("/server/http-api/", `/${__VERSIONS__.latest}/http-api/introduction`); addFixedRoute("/cloud/", `/cloud/introduction.html`); router.afterEach(() => { setTimeout(() => { // to ensure this runs after DOM updates @@ -113,26 +112,20 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); - addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/legacy/:version', to => { - const version = to.params.version; - const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === `legacy/${version}`) - return `/clients/${to.params.lang}/legacy/${to.params.version}/${latestVersion?.startPage}`; - }); addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/legacy', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path.startsWith('legacy/')) - return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; + return `/clients/${to.params.lang}/${latestVersion?.path}/`; }) - addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/:version', to => { - const version = to.params.version; - const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === version) - return `/clients/${to.params.lang}/${version}/${latestVersion?.startPage}`; - }); addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0] - return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; + return `/clients/${to.params.lang}/${latestVersion?.path}/`; }) + // Add fixed routes for server versions because they don't use the same sidebar structure as the other versions + addFixedRoute("/server/v22.10", "/server/v22.10/introduction.html"); + addFixedRoute("/server/v5", "/server/v5/introduction.html"); + addDynamicRoute("/server/:version", to => `/server/${to.params.version}/quick-start/`); addDynamicRoute('/latest/:pathMatch(.*)*', to => to.path.replace(/^\/latest/, `/${__VERSIONS__.latest}`)); addFixedRoute("/server/latest", `/${__VERSIONS__.latest}/quick-start/`); From c7b539f26b65a71ab19f692ba9d1e580485846d2 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 28 Jul 2025 15:47:33 +0400 Subject: [PATCH 36/36] Add dynamic routes for legacy client versions and update existing client routes --- docs/.vuepress/client.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 2fb54f123..d0129b001 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -112,16 +112,27 @@ export default defineClientConfig({ addDynamicRoute("/server/kubernetes-operator", to => `/server/kubernetes-operator/${operatorLatest}/getting-started/`); addDynamicRoute("/server/kubernetes-operator/:version", to => `/server/kubernetes-operator/${to.params.version}/getting-started/`); + addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/legacy/:version', to => { + const version = to.params.version; + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === `legacy/${version}`) + return `/clients/${to.params.lang}/legacy/${to.params.version}/${latestVersion?.startPage}`; + }); addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/legacy', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path.startsWith('legacy/')) - return `/clients/${to.params.lang}/${latestVersion?.path}/`; + return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; }) + addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)/:version', to => { + const version = to.params.version; + const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions.find(v => v.path === version) + return `/clients/${to.params.lang}/${version}/${latestVersion?.startPage}`; + }); addDynamicRoute('/clients/:lang(dotnet|golang|java|node|python|rust)', to => { const latestVersion = __VERSIONS__.all.find(x => x.id === `${to.params.lang}-client`)?.versions[0] - return `/clients/${to.params.lang}/${latestVersion?.path}/`; + return `/clients/${to.params.lang}/${latestVersion?.path}/${latestVersion?.startPage}`; }) + // Add fixed routes for server versions because they don't use the same sidebar structure as the other versions addFixedRoute("/server/v22.10", "/server/v22.10/introduction.html"); addFixedRoute("/server/v5", "/server/v5/introduction.html");