From f4c9f7baad7697d12da376458ea6291d2bd23ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 22:52:01 +0200 Subject: [PATCH 01/16] docs: rename dataset validation and multiple datasets to task titles --- sources/platform/storage/dataset/multiple_datasets.mdx | 2 +- sources/platform/storage/dataset/validation.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/platform/storage/dataset/multiple_datasets.mdx b/sources/platform/storage/dataset/multiple_datasets.mdx index 7f4327d910..2b6e5e200a 100644 --- a/sources/platform/storage/dataset/multiple_datasets.mdx +++ b/sources/platform/storage/dataset/multiple_datasets.mdx @@ -1,5 +1,5 @@ --- -title: Multiple datasets +title: Use multiple datasets description: Learn how to use multiple datasets within your Actors to organize and store different types of data separately. sidebar_position: 3 slug: /storage/dataset-schema/multiple-datasets diff --git a/sources/platform/storage/dataset/validation.md b/sources/platform/storage/dataset/validation.md index ccd3c8675f..da3e080a69 100644 --- a/sources/platform/storage/dataset/validation.md +++ b/sources/platform/storage/dataset/validation.md @@ -1,5 +1,5 @@ --- -title: Dataset validation +title: Validate dataset output description: Specify the dataset schema within your Actors to add monitoring and validation at the field level, ensuring data quality and consistency across runs. sidebar_position: 2 slug: /storage/dataset-schema/validation From 2000dd02bbe1aed6e1b0a9dc0993ccc0c8d7991d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 22:52:18 +0200 Subject: [PATCH 02/16] docs: extract storage sharing into two shared topics The sharing procedure and the between-runs procedure were each written out four times, on the storage overview and all three type pages, with only the noun changed. --- sources/platform/storage/dataset/index.md | 67 +----- sources/platform/storage/index.md | 30 +-- .../platform/storage/key_value_store/index.md | 67 +----- sources/platform/storage/request_queue.md | 64 +----- .../platform/storage/share-between-runs.md | 190 ++++++++++++++++++ sources/platform/storage/share.md | 29 +++ 6 files changed, 227 insertions(+), 220 deletions(-) create mode 100644 sources/platform/storage/share-between-runs.md create mode 100644 sources/platform/storage/share.md diff --git a/sources/platform/storage/dataset/index.md b/sources/platform/storage/dataset/index.md index 6d21dbecb9..212ed31248 100644 --- a/sources/platform/storage/dataset/index.md +++ b/sources/platform/storage/dataset/index.md @@ -6,9 +6,6 @@ toc_max_heading_level: 4 slug: /storage/dataset --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - Dataset storage enables you to sequentially save and retrieve data. A unique dataset is automatically created and assigned to each Actor run when the first item is stored. Typically, datasets comprise results from web scraping, crawling, and data processing jobs. You can visualize this data in a table, where each object is forming a row and its attributes are represented as columns. You have the option to export data in various formats, including JSON, CSV, XML, Excel, HTML Table, RSS or JSONL. @@ -418,69 +415,9 @@ By default, the whole result is wrapped in an `` element, while each pag ## Share -You can grant [access rights](/account/collaboration) to your dataset through the **Share** button under the **Actions** menu. For more details, check the [full list of permissions](/account/collaboration/list-of-permissions). - -You can also share datasets by link using their ID or name, depending on your account or resource-level general access setting. Learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). - -For one-off sharing of specific records when access is restricted, you can generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). - -### Share datasets between runs - -You can access a dataset from any [Actor](../../actors/index.mdx) or [task](../../actors/running/tasks.md) run as long as you know its _name_ or _ID_. - -To access a dataset from another run using the [Apify SDK](/sdk), open it using the same method as you would with any other dataset. - - - - -```js -import { Actor } from 'apify'; - -await Actor.init(); - -const otherDataset = await Actor.openDataset('old-dataset'); -// ... - -await Actor.exit(); -``` - - - - -```python -from apify import Actor - -async def main(): - async with Actor: - other_dataset = await Actor.open_dataset(name='old-dataset') - # ... -``` - - - - -In the [JavaScript API client](/api/client/js/reference/class/DatasetClient) as well as in [Python API client](/api/client/python/reference/class/DatasetClient) , you can access a dataset using its client. Once you've opened the dataset, you can read its contents and add new data in the same manner as you would for a dataset from your current run. - - - - -```js -const otherDatasetClient = apifyClient.dataset('jane-doe/old-dataset'); -``` - - - - -```python -other_dataset_client = apify_client.dataset('jane-doe/old-dataset') -``` - - - - -The same applies for the [Apify API](#apify-api) - you can use [the same endpoints](#apify-api) as you would normally do. +You can grant access rights to your dataset, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). -See the [Storage overview](/storage#share-storages-between-runs) for details on sharing storages between runs. +To read from or write to a dataset from a different Actor or task run, see [Share storage between runs](../share-between-runs.md). ## Limits diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index 5b465fdff2..c03ac28612 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -179,37 +179,11 @@ Go to the [API documentation](/api/v2#rate-limiting) for details and to learn wh ## Share -You can grant [access rights](/account/collaboration) to other Apify users to view or modify your storages. Check the [full list of permissions](/account/collaboration/list-of-permissions). - -You can also share storages by link using their ID or name, depending on your account or resource-level general access setting. Learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). - -For one-off sharing when access is restricted, generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). - -:::tip Accessing restricted storage resources via API - -If your storage resource is set to _restricted_, all API calls must include a valid authentication token in the `Authorization` header. If you're using **apify-client** the header is passed in automatically. - -::: +You can grant access rights to other Apify users, share a storage by link, or generate a time-limited pre-signed URL for one-off access to a restricted resource. See [Share storage](./share.md). ## Concurrent access {#share-storages-between-runs} -Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Use the same methods and endpoints you'd use for the current run's storages. - -[Datasets](/storage/dataset) and [key-value stores](/storage/key-value-store) support concurrent use. Multiple Actors or tasks can write to the same dataset or key-value store, and multiple runs can read from them at the same time. - -[Request queues](./request_queue.md), on the other hand, only allow multiple runs to add new data. A request queue can only be processed by one Actor or task run at any one time. - -:::note Concurrent write order - -When multiple runs write to a storage simultaneously, the order of writes is not guaranteed. Data is written as each request is processed. The same applies in key-value stores and request queues: if a delete request precedes a read request for the same record, the read request fails. - -::: - -:::info Accessing restricted storage resources between runs - -If a storage resource access is set to **Restricted**, the run from which it's accessed must have explicit access to it. Learn how restricted access works in [General resource access](/account/collaboration/general-resource-access). - -::: +Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Share storage between runs](./share-between-runs.md). ## Delete storages diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 783dbe5a43..8325414a59 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -6,9 +6,6 @@ sidebar_position: 9.3 slug: /storage/key-value-store --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - The key-value store is simple storage that can be used for storing any kind of data. It can be JSON or HTML documents, zip files, images, or strings. The data are stored along with their [MIME content type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types). Each Actor run is assigned its own key-value store when it is created. The store contains the Actor's input, and, if necessary, other data such as its output. @@ -276,69 +273,9 @@ _Using the [JavaScript SDK](/sdk/js/reference/class/KeyValueStore#setValue) or t ## Share -You can grant [access rights](/account/collaboration) to your key-value store through the **Share** button under the **Actions** menu. For more details check the [full list of permissions](/account/collaboration/list-of-permissions). - -You can also share key-value stores by link using their ID or name, depending on your account or resource-level general access setting. Learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). - -For one-off sharing of specific records when access is restricted, you can generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). - -### Share key-value stores between runs - -You can access a key-value store from any [Actor](../../actors/index.mdx) or [task](../../actors/running/tasks.md) run as long as you know its _name_ or _ID_. - -To access a key-value store from another run using the [Apify SDK](/sdk), open it using the same method as you would do with any other store. - - - - -```js -import { Actor } from 'apify'; - -await Actor.init(); - -const otherStore = await Actor.openKeyValueStore('old-store'); -// ... - -await Actor.exit(); -``` - - - - -```python -from apify import Actor - -async def main(): - async with Actor: - other_store = await Actor.open_key_value_store(name='old-store') - # ... -``` - - - - -In the [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient) as well as in [Python API client](/api/client/python/reference/class/KeyValueStoreClient), you can access a store using its client. Once you've opened a store, read and manage its contents like you would do with a key-value store from your current run. - - - - -```js -const otherStoreClient = apifyClient.keyValueStore('jane-doe/old-store'); -``` - - - - -```python -other_store_client = apify_client.key_value_store('jane-doe/old-store') -``` - - - - -The same applies for the [Apify API](#apify-api) - you can use [the same endpoints](#apify-api) as you would normally do. +You can grant access rights to your key-value store, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). -Check out the [Storage overview](/storage#share-storages-between-runs) for details on sharing storages between runs. +To read from or write to a key-value store from a different Actor or task run, see [Share storage between runs](../share-between-runs.md). ## Data consistency diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index 08dd000fa8..12b82c2ec8 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -565,69 +565,9 @@ A detailed tutorial on how to process one request queue with multiple Actor runs ## Share -You can grant [access rights](/account/collaboration) to your request queue through the **Share** button under the **Actions** menu. For more details check the [full list of permissions](/account/collaboration/list-of-permissions). +You can grant access rights to your request queue, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](./share.md). -You can also share request queues by link using their ID or name, depending on your account or resource-level general access setting. Learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). - -For one-off sharing of specific records when access is restricted, you can generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). - -### Share request queues between runs - -You can access a request queue from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run as long as you know its _name_ or _ID_. - -To access a request queue from another run using the [Apify SDK](/sdk), open it using the same method like you would do with any other request queue. - - - - -```js -import { Actor } from 'apify'; - -await Actor.init(); - -const otherQueue = await Actor.openRequestQueue('old-queue'); -// ... - -await Actor.exit(); -``` - - - - -```python -from apify import Actor - -async def main(): - async with Actor: - other_queue = await Actor.open_request_queue(name='old-queue') - # ... -``` - - - - -In the [JavaScript API client](/api/client/js/reference/class/RequestQueueClient) as well as in [Python API client](/api/client/python/reference/class/RequestQueueClient), you can access a request queue using its respective client. Once you've opened the request queue, you can use it in your crawler or add new requests like you would do with a queue from your current run. - - - - -```js -const otherQueueClient = apifyClient.requestQueue('jane-doe/old-queue'); -``` - - - - -```python -other_queue_client = apify_client.request_queue('jane-doe/old-queue') -``` - - - - -The same applies for the [Apify API](#apify-api) - you can use [the same endpoints](#apify-api) as you would normally do. - -Check out the [Storage overview](/storage#share-storages-between-runs) for details on sharing storages between runs. +To add requests to a queue from a different Actor or task run, see [Share storage between runs](./share-between-runs.md). ## Limits diff --git a/sources/platform/storage/share-between-runs.md b/sources/platform/storage/share-between-runs.md new file mode 100644 index 0000000000..1f73734558 --- /dev/null +++ b/sources/platform/storage/share-between-runs.md @@ -0,0 +1,190 @@ +--- +title: Share storage between runs +sidebar_label: Share between runs +description: Access a dataset, key-value store, or request queue from another Actor or task run using its name or ID, with the Apify SDK, API clients, or the API. +sidebar_position: 9.6 +slug: /storage/share-between-runs +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Use the same methods and endpoints you'd use for the current run's storages. + +[Datasets](./dataset/index.md) and [key-value stores](./key_value_store/index.md) support concurrent use. Multiple Actors or tasks can write to the same dataset or key-value store, and multiple runs can read from them at the same time. + +[Request queues](./request_queue.md), on the other hand, only allow multiple runs to add new data. A request queue can only be processed by one Actor or task run at any one time. + +:::note Concurrent write order + +When multiple runs write to a storage simultaneously, the order of writes is not guaranteed. Data is written as each request is processed. The same applies in key-value stores and request queues: if a delete request precedes a read request for the same record, the read request fails. + +::: + +:::info Accessing restricted storage resources between runs + +If a storage resource access is set to **Restricted**, the run from which it's accessed must have explicit access to it. Learn how restricted access works in [General resource access](/account/collaboration/general-resource-access). + +::: + +## Datasets + +To access a dataset from another run using the [Apify SDK](/sdk), open it using the same method as you would with any other dataset. + + + + +```js +import { Actor } from 'apify'; + +await Actor.init(); + +const otherDataset = await Actor.openDataset('old-dataset'); +// ... + +await Actor.exit(); +``` + + + + +```python +from apify import Actor + +async def main(): + async with Actor: + other_dataset = await Actor.open_dataset(name='old-dataset') + # ... +``` + + + + +In the [JavaScript API client](/api/client/js/reference/class/DatasetClient) as well as in [Python API client](/api/client/python/reference/class/DatasetClient), you can access a dataset using its client. Once you've opened the dataset, you can read its contents and add new data in the same manner as you would for a dataset from your current run. + + + + +```js +const otherDatasetClient = apifyClient.dataset('jane-doe/old-dataset'); +``` + + + + +```python +other_dataset_client = apify_client.dataset('jane-doe/old-dataset') +``` + + + + +The same applies for the [Apify API](/storage/dataset#apify-api) - you can use the same endpoints as you would normally do. + +## Key-value stores + +To access a key-value store from another run using the [Apify SDK](/sdk), open it using the same method as you would do with any other store. + + + + +```js +import { Actor } from 'apify'; + +await Actor.init(); + +const otherStore = await Actor.openKeyValueStore('old-store'); +// ... + +await Actor.exit(); +``` + + + + +```python +from apify import Actor + +async def main(): + async with Actor: + other_store = await Actor.open_key_value_store(name='old-store') + # ... +``` + + + + +In the [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient) as well as in [Python API client](/api/client/python/reference/class/KeyValueStoreClient), you can access a store using its client. Once you've opened a store, read and manage its contents like you would do with a key-value store from your current run. + + + + +```js +const otherStoreClient = apifyClient.keyValueStore('jane-doe/old-store'); +``` + + + + +```python +other_store_client = apify_client.key_value_store('jane-doe/old-store') +``` + + + + +The same applies for the [Apify API](/storage/key-value-store#apify-api) - you can use the same endpoints as you would normally do. + +## Request queues + +To access a request queue from another run using the [Apify SDK](/sdk), open it using the same method as you would do with any other request queue. + + + + +```js +import { Actor } from 'apify'; + +await Actor.init(); + +const otherQueue = await Actor.openRequestQueue('old-queue'); +// ... + +await Actor.exit(); +``` + + + + +```python +from apify import Actor + +async def main(): + async with Actor: + other_queue = await Actor.open_request_queue(name='old-queue') + # ... +``` + + + + +In the [JavaScript API client](/api/client/js/reference/class/RequestQueueClient) as well as in [Python API client](/api/client/python/reference/class/RequestQueueClient), you can access a request queue using its respective client. Once you've opened the request queue, you can use it in your crawler or add new requests like you would do with a queue from your current run. + + + + +```js +const otherQueueClient = apifyClient.requestQueue('jane-doe/old-queue'); +``` + + + + +```python +other_queue_client = apify_client.request_queue('jane-doe/old-queue') +``` + + + + +The same applies for the [Apify API](/storage/request-queue#apify-api) - you can use the same endpoints as you would normally do. diff --git a/sources/platform/storage/share.md b/sources/platform/storage/share.md new file mode 100644 index 0000000000..f780186d3d --- /dev/null +++ b/sources/platform/storage/share.md @@ -0,0 +1,29 @@ +--- +title: Share storage +sidebar_label: Share +description: Grant access rights to your storages, share them by link using their ID or name, and generate time-limited pre-signed URLs for restricted resources. +sidebar_position: 9.5 +slug: /storage/share +--- + +Share a storage with other Apify users, by link, or through a time-limited URL for one-off access to a restricted resource. This applies to all three storage types: [datasets](./dataset/index.md), [key-value stores](./key_value_store/index.md), and [request queues](./request_queue.md). + +## Grant access rights + +You can grant [access rights](/account/collaboration) to other Apify users to view or modify your storages. Check the [full list of permissions](/account/collaboration/list-of-permissions). + +In [Apify Console](https://console.apify.com/storage), open the storage's detail page and use the **Share** button under the **Actions** menu. + +## Share by link + +You can also share storages by link using their ID or name, depending on your account or resource-level general access setting. Learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). + +For one-off sharing when access is restricted, generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). + +:::tip Accessing restricted storage resources via API + +If your storage resource is set to _restricted_, all API calls must include a valid authentication token in the `Authorization` header. If you're using **apify-client** the header is passed in automatically. + +::: + +To read from or write to a storage from a different Actor or task run, see [Share storage between runs](./share-between-runs.md). From b9c85b4767e6da9c3fe07c35a829e481ed97fdf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 22:52:24 +0200 Subject: [PATCH 03/16] docs: route storage rate limiting to per-type tiers The overview's exception list omitted the request queue lock tier and the 40/s batch tier, so it understated the real limits. --- sources/platform/storage/index.md | 13 +++++-------- sources/platform/storage/key_value_store/index.md | 6 ++++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index c03ac28612..3b29972122 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -155,16 +155,13 @@ Use this tool to estimate storage costs by plan and storage type. ## Rate limiting -All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_. However, there are exceptions limited to _400 requests per second_ per storage object, including: +All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_. Some endpoints allow up to _400 requests per second_ per storage object, and a few allow fewer. The tiers differ per storage type: -* [Push items](/api/v2/dataset-items-post) to dataset. -* CRUD ([add](/api/v2/request-queue-requests-post), -[get](/api/v2/request-queue-request-get), -[update](/api/v2/request-queue-request-put), -[delete](/api/v2/request-queue-request-delete)) -operations of _request queue_ requests. +* [Datasets](/storage/dataset#rate-limiting) +* [Key-value stores](/storage/key-value-store#rate-limiting) +* [Request queues](/storage/request-queue#rate-limiting) -If a client exceeds this limit, the API endpoints respond with the HTTP status code `429 Too Many Requests` and the following body: +If a client exceeds its limit, the API endpoints respond with the HTTP status code `429 Too Many Requests` and the following body: ```json { diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 8325414a59..d6b4a5a6f9 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -284,3 +284,9 @@ Key-value storage uses the [AWS S3](https://aws.amazon.com/s3/) service. Accordi ## Limits - The maximum length for a key in a key-value store is 256 characters. Keys may only contain the following characters: `a-zA-Z0-9!-_.'()`. + +### Rate limiting + +Key-value store [API endpoints](/api/v2/storage-key-value-stores) use the default storage rate limit of _60 requests per second_ for each store. + +Check out the [API documentation](/api/v2#rate-limiting) for more information and guidance on actions to take if you exceed this rate limit. From be5a79518fd4382480e3e7bbf66d68d3d0c1c34d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 22:52:33 +0200 Subject: [PATCH 04/16] fix: correct stale links and description on the request queue page The API reference link pointed at key-value stores, the #sharing anchor had no matching heading, and the description promised sharing content. --- sources/platform/storage/request_queue.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index 12b82c2ec8..f394efee10 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -1,6 +1,6 @@ --- title: Request queue -description: Queue URLs for an Actor to visit in its run. Learn how to share your queues between Actor runs. Access and manage request queues from Apify Console or via API. +description: Queue URLs for an Actor to visit in its run. Add requests in batches, lock them across runs, and manage request queues from Apify Console or via API. toc_max_heading_level: 4 sidebar_position: 9.4 slug: /storage/request-queue @@ -108,13 +108,13 @@ Example payload: :::note `clientKey` parameter -When adding or updating requests, you can optionally provide a `clientKey` parameter to your request. It must be a string between 1 and 32 characters in length. This identifier is used to determine whether the queue was accessed by [multiple clients](#sharing). If `clientKey` is not provided, the system considers this API call to come from a new client. See the `hadMultipleClients` field returned by the [`Get head`](/api/v2/request-queue-head-get) operation for details. +When adding or updating requests, you can optionally provide a `clientKey` parameter to your request. It must be a string between 1 and 32 characters in length. This identifier is used to determine whether the queue was accessed by [multiple clients](./share-between-runs.md). If `clientKey` is not provided, the system considers this API call to come from a new client. See the `hadMultipleClients` field returned by the [`Get head`](/api/v2/request-queue-head-get) operation for details. Example: `client-abc` ::: -For further details and a breakdown of each storage API endpoint, refer to the [API documentation](/api/v2/storage-key-value-stores). +For further details and a breakdown of each storage API endpoint, refer to the [API documentation](/api/v2/storage-request-queues). ### Apify API Clients From d12dcf507ff510167726ee861c8c96abeb9bcda3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 22:55:06 +0200 Subject: [PATCH 05/16] docs: correct the key-value store rate limit to 200 per second Record CRUD is a 200/s tier per openapi.yaml, not the 60/s default. --- sources/platform/storage/index.md | 2 +- sources/platform/storage/key_value_store/index.md | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index 3b29972122..5e003fe474 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -155,7 +155,7 @@ Use this tool to estimate storage costs by plan and storage type. ## Rate limiting -All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_. Some endpoints allow up to _400 requests per second_ per storage object, and a few allow fewer. The tiers differ per storage type: +All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_, and some endpoints allow up to _400 requests per second_. The tiers differ per storage type: * [Datasets](/storage/dataset#rate-limiting) * [Key-value stores](/storage/key-value-store#rate-limiting) diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index d6b4a5a6f9..29c9690097 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -287,6 +287,8 @@ Key-value storage uses the [AWS S3](https://aws.amazon.com/s3/) service. Accordi ### Rate limiting -Key-value store [API endpoints](/api/v2/storage-key-value-stores) use the default storage rate limit of _60 requests per second_ for each store. +CRUD ([get](/api/v2/key-value-store-record-get), [put](/api/v2/key-value-store-record-put), [delete](/api/v2/key-value-store-record-delete)) operations on key-value store records are limited to _200 requests per second_ per store. -Check out the [API documentation](/api/v2#rate-limiting) for more information and guidance on actions to take if you exceed this rate limit. +All other key-value store [API endpoints](/api/v2/storage-key-value-stores) use the default limit of _60 requests per second_ per store. + +Check out the [API documentation](/api/v2#rate-limiting) for more information and guidance on actions to take if you exceed these rate limits. From 50f0a4eb27d466a0e60bffd1a1c3e7e5375bfa2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 23:02:35 +0200 Subject: [PATCH 06/16] docs: rename share between runs to use storage from another run Nesting it under sharing implied a subset relationship that isn't there: granting a person access and addressing your own storage from code are unrelated mechanisms that only shared the word "share". --- sources/platform/storage/dataset/index.md | 4 +++- sources/platform/storage/index.md | 2 +- sources/platform/storage/key_value_store/index.md | 4 +++- sources/platform/storage/request_queue.md | 6 ++++-- sources/platform/storage/share.md | 2 +- .../{share-between-runs.md => use-from-another-run.md} | 8 ++++---- 6 files changed, 16 insertions(+), 10 deletions(-) rename sources/platform/storage/{share-between-runs.md => use-from-another-run.md} (95%) diff --git a/sources/platform/storage/dataset/index.md b/sources/platform/storage/dataset/index.md index 212ed31248..68c5efd255 100644 --- a/sources/platform/storage/dataset/index.md +++ b/sources/platform/storage/dataset/index.md @@ -417,7 +417,9 @@ By default, the whole result is wrapped in an `` element, while each pag You can grant access rights to your dataset, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). -To read from or write to a dataset from a different Actor or task run, see [Share storage between runs](../share-between-runs.md). +## Use from another run + +To read from or write to a dataset that belongs to a different Actor or task run, see [Use storage from another run](../use-from-another-run.md). ## Limits diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index 5e003fe474..45eb0d2496 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -180,7 +180,7 @@ You can grant access rights to other Apify users, share a storage by link, or ge ## Concurrent access {#share-storages-between-runs} -Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Share storage between runs](./share-between-runs.md). +Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Use storage from another run](./use-from-another-run.md). ## Delete storages diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 29c9690097..5fd6cd80f3 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -275,7 +275,9 @@ _Using the [JavaScript SDK](/sdk/js/reference/class/KeyValueStore#setValue) or t You can grant access rights to your key-value store, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). -To read from or write to a key-value store from a different Actor or task run, see [Share storage between runs](../share-between-runs.md). +## Use from another run + +To read from or write to a key-value store that belongs to a different Actor or task run, see [Use storage from another run](../use-from-another-run.md). ## Data consistency diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index f394efee10..ebd0e21475 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -108,7 +108,7 @@ Example payload: :::note `clientKey` parameter -When adding or updating requests, you can optionally provide a `clientKey` parameter to your request. It must be a string between 1 and 32 characters in length. This identifier is used to determine whether the queue was accessed by [multiple clients](./share-between-runs.md). If `clientKey` is not provided, the system considers this API call to come from a new client. See the `hadMultipleClients` field returned by the [`Get head`](/api/v2/request-queue-head-get) operation for details. +When adding or updating requests, you can optionally provide a `clientKey` parameter to your request. It must be a string between 1 and 32 characters in length. This identifier is used to determine whether the queue was accessed by [multiple clients](./use-from-another-run.md). If `clientKey` is not provided, the system considers this API call to come from a new client. See the `hadMultipleClients` field returned by the [`Get head`](/api/v2/request-queue-head-get) operation for details. Example: `client-abc` @@ -567,7 +567,9 @@ A detailed tutorial on how to process one request queue with multiple Actor runs You can grant access rights to your request queue, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](./share.md). -To add requests to a queue from a different Actor or task run, see [Share storage between runs](./share-between-runs.md). +## Use from another run + +To add requests to a queue that belongs to a different Actor or task run, see [Use storage from another run](./use-from-another-run.md). ## Limits diff --git a/sources/platform/storage/share.md b/sources/platform/storage/share.md index f780186d3d..7aa05da56f 100644 --- a/sources/platform/storage/share.md +++ b/sources/platform/storage/share.md @@ -26,4 +26,4 @@ If your storage resource is set to _restricted_, all API calls must include a va ::: -To read from or write to a storage from a different Actor or task run, see [Share storage between runs](./share-between-runs.md). +To read from or write to a storage from a different Actor or task run, see [Use storage from another run](./use-from-another-run.md). diff --git a/sources/platform/storage/share-between-runs.md b/sources/platform/storage/use-from-another-run.md similarity index 95% rename from sources/platform/storage/share-between-runs.md rename to sources/platform/storage/use-from-another-run.md index 1f73734558..697b47996b 100644 --- a/sources/platform/storage/share-between-runs.md +++ b/sources/platform/storage/use-from-another-run.md @@ -1,9 +1,9 @@ --- -title: Share storage between runs -sidebar_label: Share between runs -description: Access a dataset, key-value store, or request queue from another Actor or task run using its name or ID, with the Apify SDK, API clients, or the API. +title: Use storage from another run +sidebar_label: Use from another run +description: Open a dataset, key-value store, or request queue that belongs to another Actor or task run by its name or ID, from the SDK, API clients, or the API. sidebar_position: 9.6 -slug: /storage/share-between-runs +slug: /storage/use-from-another-run --- import Tabs from '@theme/Tabs'; From cdc4fe076e6d65af69254a7988983bab5eb380c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 23:07:40 +0200 Subject: [PATCH 07/16] docs: correct storage rate limits against apify-core Request queue limits were lowered in apify-core#29428 (Jul 2026) to avoid DynamoDB partition throttling and the docs were never updated. Also documents the key-value store keys and records list tiers. --- apify-api/openapi/openapi.yaml | 31 +++++++++++++++---- .../platform/storage/key_value_store/index.md | 4 ++- sources/platform/storage/request_queue.md | 6 ++-- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/apify-api/openapi/openapi.yaml b/apify-api/openapi/openapi.yaml index 149e19e4fc..6f4d089cea 100644 --- a/apify-api/openapi/openapi.yaml +++ b/apify-api/openapi/openapi.yaml @@ -433,25 +433,44 @@ info: The default rate limit is applied to every API endpoint except a few select ones, which have higher rate limits. Each API endpoint returns its rate limit in `X-RateLimit-Limit` header. + These endpoints have a rate limit of _35 requests per second per resource_: + + * Batch ([add](#/reference/request-queues/batch-request-operations/add-requests), + [delete](#/reference/request-queues/batch-request-operations/delete-requests)) + operations on requests in request queues + * [List and lock head](#/reference/request-queues/queue-head-with-locks/list-and-lock-head) of a request queue + + These endpoints have a rate limit of _100 requests per second per resource_: + + * [Get list of records](#/reference/key-value-stores/record-collection/get-list-of-records) in a key-value store + These endpoints have a rate limit of _200 requests per second per resource_: * CRUD ([get](#/reference/key-value-stores/record/get-record), [put](#/reference/key-value-stores/record/put-record), [delete](#/reference/key-value-stores/record/delete-record)) operations on key-value store records + * [Get list of keys](#/reference/key-value-stores/key-collection/get-list-of-keys) in a key-value store + + These endpoints have a rate limit of _350 requests per second per resource_: - These endpoints have a rate limit of _400 requests per second per resource_: - * [Run Actor](#/reference/actors/run-collection/run-actor) - * [Run Actor task asynchronously](#/reference/actor-tasks/runs-collection/run-task-asynchronously) - * [Run Actor task synchronously](#/reference/actor-tasks/runs-collection/run-task-synchronously) - * [Metamorph Actor run](#/reference/actors/metamorph-run/metamorph-run) - * [Push items](#/reference/datasets/item-collection/put-items) to dataset * CRUD ([add](#/reference/request-queues/request-collection/add-request), [get](#/reference/request-queues/request-collection/get-request), [update](#/reference/request-queues/request-collection/update-request), [delete](#/reference/request-queues/request-collection/delete-request)) operations on requests in request queues + * Request lock operations + ([prolong](#/reference/request-queues/request-lock/prolong-request-lock), + [delete](#/reference/request-queues/request-lock/delete-request-lock)) + in request queues + + These endpoints have a rate limit of _400 requests per second per resource_: + * [Run Actor](#/reference/actors/run-collection/run-actor) + * [Run Actor task asynchronously](#/reference/actor-tasks/runs-collection/run-task-asynchronously) + * [Run Actor task synchronously](#/reference/actor-tasks/runs-collection/run-task-synchronously) + * [Metamorph Actor run](#/reference/actors/metamorph-run/metamorph-run) + * [Push items](#/reference/datasets/item-collection/put-items) to dataset ### Rate limit exceeded errors diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 5fd6cd80f3..581c26c3a8 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -289,7 +289,9 @@ Key-value storage uses the [AWS S3](https://aws.amazon.com/s3/) service. Accordi ### Rate limiting -CRUD ([get](/api/v2/key-value-store-record-get), [put](/api/v2/key-value-store-record-put), [delete](/api/v2/key-value-store-record-delete)) operations on key-value store records are limited to _200 requests per second_ per store. +Operations on a single record ([get](/api/v2/key-value-store-record-get), [put](/api/v2/key-value-store-record-put), [delete](/api/v2/key-value-store-record-delete)) and [getting the list of keys](/api/v2/key-value-store-keys-get) are limited to _200 requests per second_ per store. + +[Getting the list of records](/api/v2/key-value-store-records-get) is limited to _100 requests per second_ per store. All other key-value store [API endpoints](/api/v2/storage-key-value-stores) use the default limit of _60 requests per second_ per store. diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index ebd0e21475..16d87a4afe 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -582,11 +582,11 @@ CRUD ([add](/api/v2/request-queue-requests-post), [get](/api/v2/request-queue-request-get), [update](/api/v2/request-queue-request-put), [delete](/api/v2/request-queue-request-delete)) -operation requests are limited to _400 requests per second_ per request queue. This helps protect Apify servers from being overloaded. +operation requests are limited to _350 requests per second_ per request queue. This helps protect Apify servers from being overloaded. -Request-lock operations ([prolong a lock](/api/v2/request-queue-request-lock-put) and [delete a lock](/api/v2/request-queue-request-lock-delete)) are also limited to _400 requests per second_ per request queue. +Request-lock operations ([prolong a lock](/api/v2/request-queue-request-lock-put) and [delete a lock](/api/v2/request-queue-request-lock-delete)) are also limited to _350 requests per second_ per request queue. -Batch operations ([add](/api/v2/request-queue-requests-batch-post) and [delete](/api/v2/request-queue-requests-batch-delete)) and the [list and lock head](/api/v2/request-queue-head-lock-post) endpoint are limited to _40 requests per second_ per request queue. +Batch operations ([add](/api/v2/request-queue-requests-batch-post) and [delete](/api/v2/request-queue-requests-batch-delete)) and the [list and lock head](/api/v2/request-queue-head-lock-post) endpoint are limited to _35 requests per second_ per request queue. All other request queue API [endpoints](/api/v2/storage-request-queues) are limited to _60 requests per second_ per request queue. From 4aae36fa9f123fbb40f3169bc25578a1faa2e3b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 23:19:57 +0200 Subject: [PATCH 08/16] docs: fix defects found in review of the storage restructure Drops a fabricated redoc anchor and corrects the key-value store records endpoint, which downloads a ZIP archive rather than listing records. Restores the concurrent write-order caveat to the storage overview. --- apify-api/openapi/openapi.yaml | 3 ++- sources/platform/storage/dataset/multiple_datasets.mdx | 2 +- sources/platform/storage/index.md | 8 +++++++- sources/platform/storage/key_value_store/index.md | 2 +- sources/platform/storage/request_queue.md | 2 +- sources/platform/storage/share.md | 8 +++----- sources/platform/storage/use-from-another-run.md | 8 ++++---- 7 files changed, 19 insertions(+), 14 deletions(-) diff --git a/apify-api/openapi/openapi.yaml b/apify-api/openapi/openapi.yaml index 6f4d089cea..cc92e754e2 100644 --- a/apify-api/openapi/openapi.yaml +++ b/apify-api/openapi/openapi.yaml @@ -442,7 +442,7 @@ info: These endpoints have a rate limit of _100 requests per second per resource_: - * [Get list of records](#/reference/key-value-stores/record-collection/get-list-of-records) in a key-value store + * Download records from a key-value store as a ZIP archive These endpoints have a rate limit of _200 requests per second per resource_: @@ -466,6 +466,7 @@ info: in request queues These endpoints have a rate limit of _400 requests per second per resource_: + * [Run Actor](#/reference/actors/run-collection/run-actor) * [Run Actor task asynchronously](#/reference/actor-tasks/runs-collection/run-task-asynchronously) * [Run Actor task synchronously](#/reference/actor-tasks/runs-collection/run-task-synchronously) diff --git a/sources/platform/storage/dataset/multiple_datasets.mdx b/sources/platform/storage/dataset/multiple_datasets.mdx index 2b6e5e200a..af00d9614b 100644 --- a/sources/platform/storage/dataset/multiple_datasets.mdx +++ b/sources/platform/storage/dataset/multiple_datasets.mdx @@ -1,6 +1,6 @@ --- title: Use multiple datasets -description: Learn how to use multiple datasets within your Actors to organize and store different types of data separately. +description: Define more than one dataset in your Actor, write to each from your code, and surface them on the run page so users can find the right output. sidebar_position: 3 slug: /storage/dataset-schema/multiple-datasets --- diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index 45eb0d2496..870dce4c3f 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -155,7 +155,7 @@ Use this tool to estimate storage costs by plan and storage type. ## Rate limiting -All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_, and some endpoints allow up to _400 requests per second_. The tiers differ per storage type: +All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_ per storage object, and some endpoints allow more or fewer. The tiers differ per storage type: * [Datasets](/storage/dataset#rate-limiting) * [Key-value stores](/storage/key-value-store#rate-limiting) @@ -182,6 +182,12 @@ You can grant access rights to other Apify users, share a storage by link, or ge Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Use storage from another run](./use-from-another-run.md). +:::note Concurrent write order + +When multiple runs write to a storage simultaneously, the order of writes is not guaranteed. Data is written as each request is processed. The same applies in key-value stores and request queues: if a delete request precedes a read request for the same record, the read request fails. + +::: + ## Delete storages Named storages are only removed upon your request. You can delete storages in the following ways: diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 581c26c3a8..e127aa5988 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -291,7 +291,7 @@ Key-value storage uses the [AWS S3](https://aws.amazon.com/s3/) service. Accordi Operations on a single record ([get](/api/v2/key-value-store-record-get), [put](/api/v2/key-value-store-record-put), [delete](/api/v2/key-value-store-record-delete)) and [getting the list of keys](/api/v2/key-value-store-keys-get) are limited to _200 requests per second_ per store. -[Getting the list of records](/api/v2/key-value-store-records-get) is limited to _100 requests per second_ per store. +[Downloading all records](/api/v2/key-value-store-records-get) as a ZIP archive is limited to _100 requests per second_ per store. All other key-value store [API endpoints](/api/v2/storage-key-value-stores) use the default limit of _60 requests per second_ per store. diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index 16d87a4afe..f1a05b6605 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -565,7 +565,7 @@ A detailed tutorial on how to process one request queue with multiple Actor runs ## Share -You can grant access rights to your request queue, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](./share.md). +You can grant access rights to your request queue, share it by link, or generate a time-limited pre-signed URL for one-off access. See [Share storage](./share.md). ## Use from another run diff --git a/sources/platform/storage/share.md b/sources/platform/storage/share.md index 7aa05da56f..3418752b99 100644 --- a/sources/platform/storage/share.md +++ b/sources/platform/storage/share.md @@ -6,7 +6,7 @@ sidebar_position: 9.5 slug: /storage/share --- -Share a storage with other Apify users, by link, or through a time-limited URL for one-off access to a restricted resource. This applies to all three storage types: [datasets](./dataset/index.md), [key-value stores](./key_value_store/index.md), and [request queues](./request_queue.md). +Share a storage with other Apify users, by link, or through a time-limited URL for one-off access to a restricted resource. This applies to all three storage types: [datasets](./dataset/index.md), [key-value stores](./key_value_store/index.md), and [request queues](./request_queue.md). To use a storage that belongs to a different run, see [Use storage from another run](./use-from-another-run.md). ## Grant access rights @@ -18,12 +18,10 @@ In [Apify Console](https://console.apify.com/storage), open the storage's detail You can also share storages by link using their ID or name, depending on your account or resource-level general access setting. Learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). -For one-off sharing when access is restricted, generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). +For one-off sharing of specific records when access is restricted, generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). :::tip Accessing restricted storage resources via API -If your storage resource is set to _restricted_, all API calls must include a valid authentication token in the `Authorization` header. If you're using **apify-client** the header is passed in automatically. +If your storage resource is set to _restricted_, all API calls must include a valid authentication token in the `Authorization` header. If you're using `apify-client` the header is passed in automatically. ::: - -To read from or write to a storage from a different Actor or task run, see [Use storage from another run](./use-from-another-run.md). diff --git a/sources/platform/storage/use-from-another-run.md b/sources/platform/storage/use-from-another-run.md index 697b47996b..d568aa1704 100644 --- a/sources/platform/storage/use-from-another-run.md +++ b/sources/platform/storage/use-from-another-run.md @@ -23,7 +23,7 @@ When multiple runs write to a storage simultaneously, the order of writes is not :::info Accessing restricted storage resources between runs -If a storage resource access is set to **Restricted**, the run from which it's accessed must have explicit access to it. Learn how restricted access works in [General resource access](/account/collaboration/general-resource-access). +If a storage resource access is set to **Restricted**, the run from which it's accessed must have explicit access to it. Learn how restricted access works in [General resource access](/account/collaboration/general-resource-access), and how to grant it in [Share storage](./share.md). ::: @@ -79,7 +79,7 @@ other_dataset_client = apify_client.dataset('jane-doe/old-dataset') -The same applies for the [Apify API](/storage/dataset#apify-api) - you can use the same endpoints as you would normally do. +The same applies for the [Apify API](./dataset/index.md#apify-api) - you can use the same endpoints as you would normally do. ## Key-value stores @@ -133,7 +133,7 @@ other_store_client = apify_client.key_value_store('jane-doe/old-store') -The same applies for the [Apify API](/storage/key-value-store#apify-api) - you can use the same endpoints as you would normally do. +The same applies for the [Apify API](./key_value_store/index.md#apify-api) - you can use the same endpoints as you would normally do. ## Request queues @@ -187,4 +187,4 @@ other_queue_client = apify_client.request_queue('jane-doe/old-queue') -The same applies for the [Apify API](/storage/request-queue#apify-api) - you can use the same endpoints as you would normally do. +The same applies for the [Apify API](./request_queue.md#apify-api) - you can use the same endpoints as you would normally do. From 8801b8c327f9fe233f2379ef92aab82fb15eef80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 4 Sep 2026 23:31:06 +0200 Subject: [PATCH 09/16] docs: deduplicate the use-from-another-run samples The three per-type sections differed only in one method name and one client accessor, so the extraction had relocated duplication rather than removing it. One example per surface plus a lookup table covers all three. --- sources/platform/storage/dataset/index.md | 4 +- .../platform/storage/key_value_store/index.md | 4 +- sources/platform/storage/request_queue.md | 4 +- .../platform/storage/use-from-another-run.md | 128 +++--------------- 4 files changed, 23 insertions(+), 117 deletions(-) diff --git a/sources/platform/storage/dataset/index.md b/sources/platform/storage/dataset/index.md index 68c5efd255..b0dd052afc 100644 --- a/sources/platform/storage/dataset/index.md +++ b/sources/platform/storage/dataset/index.md @@ -413,12 +413,10 @@ This feature is also useful when customizing your RSS feeds generated for variou By default, the whole result is wrapped in an `` element, while each page object is contained in an `` element. You can change this using the `xmlRoot` and `xmlRow` URL parameters when retrieving your data with a GET request. -## Share +## Share and reuse You can grant access rights to your dataset, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). -## Use from another run - To read from or write to a dataset that belongs to a different Actor or task run, see [Use storage from another run](../use-from-another-run.md). ## Limits diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index e127aa5988..467e465f3e 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -271,12 +271,10 @@ You can compress a record and use the [Content-Encoding request header](https:// _Using the [JavaScript SDK](/sdk/js/reference/class/KeyValueStore#setValue) or the [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient#setRecord) automatically compresses your files._ We advise utilizing the JavaScript API client for data compression prior to server upload and decompression upon retrieval, minimizing storage costs. -## Share +## Share and reuse You can grant access rights to your key-value store, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). -## Use from another run - To read from or write to a key-value store that belongs to a different Actor or task run, see [Use storage from another run](../use-from-another-run.md). ## Data consistency diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index f1a05b6605..f4166e8c79 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -563,12 +563,10 @@ await Actor.exit(); A detailed tutorial on how to process one request queue with multiple Actor runs can be found in [Academy tutorials](https://docs.apify.com/academy/node-js/multiple-runs-scrape). -## Share +## Share and reuse You can grant access rights to your request queue, share it by link, or generate a time-limited pre-signed URL for one-off access. See [Share storage](./share.md). -## Use from another run - To add requests to a queue that belongs to a different Actor or task run, see [Use storage from another run](./use-from-another-run.md). ## Limits diff --git a/sources/platform/storage/use-from-another-run.md b/sources/platform/storage/use-from-another-run.md index d568aa1704..baf3242e03 100644 --- a/sources/platform/storage/use-from-another-run.md +++ b/sources/platform/storage/use-from-another-run.md @@ -27,9 +27,9 @@ If a storage resource access is set to **Restricted**, the run from which it's a ::: -## Datasets +## Open a storage with the SDK -To access a dataset from another run using the [Apify SDK](/sdk), open it using the same method as you would with any other dataset. +Open the storage with the same method you would use for the current run's storage, and pass the name or ID of the one you want. @@ -60,131 +60,43 @@ async def main(): -In the [JavaScript API client](/api/client/js/reference/class/DatasetClient) as well as in [Python API client](/api/client/python/reference/class/DatasetClient), you can access a dataset using its client. Once you've opened the dataset, you can read its contents and add new data in the same manner as you would for a dataset from your current run. +Only the method name changes with the storage type: - - - -```js -const otherDatasetClient = apifyClient.dataset('jane-doe/old-dataset'); -``` - - - - -```python -other_dataset_client = apify_client.dataset('jane-doe/old-dataset') -``` - - - - -The same applies for the [Apify API](./dataset/index.md#apify-api) - you can use the same endpoints as you would normally do. - -## Key-value stores - -To access a key-value store from another run using the [Apify SDK](/sdk), open it using the same method as you would do with any other store. - - - - -```js -import { Actor } from 'apify'; - -await Actor.init(); - -const otherStore = await Actor.openKeyValueStore('old-store'); -// ... - -await Actor.exit(); -``` - - - - -```python -from apify import Actor - -async def main(): - async with Actor: - other_store = await Actor.open_key_value_store(name='old-store') - # ... -``` - - - - -In the [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient) as well as in [Python API client](/api/client/python/reference/class/KeyValueStoreClient), you can access a store using its client. Once you've opened a store, read and manage its contents like you would do with a key-value store from your current run. - - - - -```js -const otherStoreClient = apifyClient.keyValueStore('jane-doe/old-store'); -``` +| Storage type | [JavaScript SDK](/sdk/js) | [Python SDK](/sdk/python) | +| --------------- | --------------------------- | ------------------------------ | +| Dataset | `Actor.openDataset()` | `Actor.open_dataset()` | +| Key-value store | `Actor.openKeyValueStore()` | `Actor.open_key_value_store()` | +| Request queue | `Actor.openRequestQueue()` | `Actor.open_request_queue()` | - - +## Open a storage with an API client -```python -other_store_client = apify_client.key_value_store('jane-doe/old-store') -``` - - - - -The same applies for the [Apify API](./key_value_store/index.md#apify-api) - you can use the same endpoints as you would normally do. - -## Request queues - -To access a request queue from another run using the [Apify SDK](/sdk), open it using the same method as you would do with any other request queue. +Once you've opened the storage, read its contents and add new data exactly as you would for a storage from the current run. ```js -import { Actor } from 'apify'; - -await Actor.init(); - -const otherQueue = await Actor.openRequestQueue('old-queue'); -// ... - -await Actor.exit(); +const otherDatasetClient = apifyClient.dataset('jane-doe/old-dataset'); ``` ```python -from apify import Actor - -async def main(): - async with Actor: - other_queue = await Actor.open_request_queue(name='old-queue') - # ... +other_dataset_client = apify_client.dataset('jane-doe/old-dataset') ``` -In the [JavaScript API client](/api/client/js/reference/class/RequestQueueClient) as well as in [Python API client](/api/client/python/reference/class/RequestQueueClient), you can access a request queue using its respective client. Once you've opened the request queue, you can use it in your crawler or add new requests like you would do with a queue from your current run. - - - - -```js -const otherQueueClient = apifyClient.requestQueue('jane-doe/old-queue'); -``` +Only the accessor changes with the storage type: - - +| Storage type | JavaScript client | Python client | +| --------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | +| Dataset | [`apifyClient.dataset()`](/api/client/js/reference/class/DatasetClient) | [`apify_client.dataset()`](/api/client/python/reference/class/DatasetClient) | +| Key-value store | [`apifyClient.keyValueStore()`](/api/client/js/reference/class/KeyValueStoreClient) | [`apify_client.key_value_store()`](/api/client/python/reference/class/KeyValueStoreClient) | +| Request queue | [`apifyClient.requestQueue()`](/api/client/js/reference/class/RequestQueueClient) | [`apify_client.request_queue()`](/api/client/python/reference/class/RequestQueueClient) | -```python -other_queue_client = apify_client.request_queue('jane-doe/old-queue') -``` - - - +## Use the Apify API -The same applies for the [Apify API](./request_queue.md#apify-api) - you can use the same endpoints as you would normally do. +Send requests to the same endpoints you would use for the current run's storages, passing the name or ID of the storage you want. See the endpoint reference for [datasets](./dataset/index.md#apify-api), [key-value stores](./key_value_store/index.md#apify-api), and [request queues](./request_queue.md#apify-api). From 4a33e2d13d5e687c44dcd8cfd4807ab1f7575aed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:11:14 +0200 Subject: [PATCH 10/16] docs: tighten prose on the storage sharing pages The API client section led with the SDK's "open" flow; the replacement describes the client accessor, and the username/name form it documents is what both clients' to_safe_id conversions accept. --- sources/platform/storage/index.md | 2 +- sources/platform/storage/share.md | 4 ++-- sources/platform/storage/use-from-another-run.md | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index 870dce4c3f..f6cc7c8988 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -180,7 +180,7 @@ You can grant access rights to other Apify users, share a storage by link, or ge ## Concurrent access {#share-storages-between-runs} -Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Use storage from another run](./use-from-another-run.md). +If you have the storage's _name_ or _ID_, you can access it from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Use storage from another run](./use-from-another-run.md). :::note Concurrent write order diff --git a/sources/platform/storage/share.md b/sources/platform/storage/share.md index 3418752b99..e3cfe61ab8 100644 --- a/sources/platform/storage/share.md +++ b/sources/platform/storage/share.md @@ -10,13 +10,13 @@ Share a storage with other Apify users, by link, or through a time-limited URL f ## Grant access rights -You can grant [access rights](/account/collaboration) to other Apify users to view or modify your storages. Check the [full list of permissions](/account/collaboration/list-of-permissions). +Grant [access rights](/account/collaboration) to let other Apify users view or modify your storages. For what each right allows, see the [list of permissions](/account/collaboration/list-of-permissions). In [Apify Console](https://console.apify.com/storage), open the storage's detail page and use the **Share** button under the **Actions** menu. ## Share by link -You can also share storages by link using their ID or name, depending on your account or resource-level general access setting. Learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). +Share storages by link using their ID or name. Whether the link works for others depends on your account or resource-level general access setting; learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). For one-off sharing of specific records when access is restricted, generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). diff --git a/sources/platform/storage/use-from-another-run.md b/sources/platform/storage/use-from-another-run.md index baf3242e03..fddee3864c 100644 --- a/sources/platform/storage/use-from-another-run.md +++ b/sources/platform/storage/use-from-another-run.md @@ -9,15 +9,15 @@ slug: /storage/use-from-another-run import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Storage can be accessed from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run, provided you have its _name_ or _ID_. Use the same methods and endpoints you'd use for the current run's storages. +If you have the storage's _name_ or _ID_, you can access it from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run. Use the same methods and endpoints you'd use for the current run's storages. [Datasets](./dataset/index.md) and [key-value stores](./key_value_store/index.md) support concurrent use. Multiple Actors or tasks can write to the same dataset or key-value store, and multiple runs can read from them at the same time. -[Request queues](./request_queue.md), on the other hand, only allow multiple runs to add new data. A request queue can only be processed by one Actor or task run at any one time. +[Request queues](./request_queue.md) only allow multiple runs to add new data. A request queue can be processed by one Actor or task run at a time. :::note Concurrent write order -When multiple runs write to a storage simultaneously, the order of writes is not guaranteed. Data is written as each request is processed. The same applies in key-value stores and request queues: if a delete request precedes a read request for the same record, the read request fails. +When multiple runs use the same storage at the same time, the order in which their operations are processed is not guaranteed. For example, if a delete of a key-value store record is processed before a read of the same record, the read fails. ::: @@ -70,7 +70,7 @@ Only the method name changes with the storage type: ## Open a storage with an API client -Once you've opened the storage, read its contents and add new data exactly as you would for a storage from the current run. +Construct the storage's client with the name or ID of the storage you want. To use a storage owned by another user, prefix the name with their username, as in `jane-doe/old-dataset`. Then read and write exactly as you would with the current run's storage. From 11a429ebd42fcd1251fa5aada482ef36e53a69f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:37:28 +0200 Subject: [PATCH 11/16] docs: unstack the admonitions and link the SDK methods to their reference --- sources/platform/storage/use-from-another-run.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/sources/platform/storage/use-from-another-run.md b/sources/platform/storage/use-from-another-run.md index fddee3864c..6993e823c6 100644 --- a/sources/platform/storage/use-from-another-run.md +++ b/sources/platform/storage/use-from-another-run.md @@ -15,12 +15,8 @@ If you have the storage's _name_ or _ID_, you can access it from any [Actor](../ [Request queues](./request_queue.md) only allow multiple runs to add new data. A request queue can be processed by one Actor or task run at a time. -:::note Concurrent write order - When multiple runs use the same storage at the same time, the order in which their operations are processed is not guaranteed. For example, if a delete of a key-value store record is processed before a read of the same record, the read fails. -::: - :::info Accessing restricted storage resources between runs If a storage resource access is set to **Restricted**, the run from which it's accessed must have explicit access to it. Learn how restricted access works in [General resource access](/account/collaboration/general-resource-access), and how to grant it in [Share storage](./share.md). @@ -62,11 +58,11 @@ async def main(): Only the method name changes with the storage type: -| Storage type | [JavaScript SDK](/sdk/js) | [Python SDK](/sdk/python) | -| --------------- | --------------------------- | ------------------------------ | -| Dataset | `Actor.openDataset()` | `Actor.open_dataset()` | -| Key-value store | `Actor.openKeyValueStore()` | `Actor.open_key_value_store()` | -| Request queue | `Actor.openRequestQueue()` | `Actor.open_request_queue()` | +| Storage type | [JavaScript SDK](/sdk/js) | [Python SDK](/sdk/python) | +| --------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| Dataset | [`Actor.openDataset()`](/sdk/js/reference/class/Actor#openDataset) | [`Actor.open_dataset()`](/sdk/python/reference/class/Actor#open_dataset) | +| Key-value store | [`Actor.openKeyValueStore()`](/sdk/js/reference/class/Actor#openKeyValueStore) | [`Actor.open_key_value_store()`](/sdk/python/reference/class/Actor#open_key_value_store) | +| Request queue | [`Actor.openRequestQueue()`](/sdk/js/reference/class/Actor#openRequestQueue) | [`Actor.open_request_queue()`](/sdk/python/reference/class/Actor#open_request_queue) | ## Open a storage with an API client From 0774a05f523a51132ac5a9fbc4d563f94dc55fff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 14 Sep 2026 14:09:17 +0200 Subject: [PATCH 12/16] docs: scope pre-signed URLs to datasets and stores, keep legacy share anchors Pre-signed URLs cover only selected dataset and key-value store endpoints, so the request queue stub dropped the claim. Headings keep master's #share id; the between-runs fragments decay deliberately - Docusaurus offsets only heading anchors, so span targets hide under the navbar. --- sources/platform/storage/dataset/index.md | 10 +++------- sources/platform/storage/key_value_store/index.md | 2 +- sources/platform/storage/request_queue.md | 4 ++-- sources/platform/storage/share.md | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/sources/platform/storage/dataset/index.md b/sources/platform/storage/dataset/index.md index b0dd052afc..5f21a160c7 100644 --- a/sources/platform/storage/dataset/index.md +++ b/sources/platform/storage/dataset/index.md @@ -112,11 +112,7 @@ To add data to a dataset, issue a POST request to the [Put items](/api/v2/datase https://api.apify.com/v2/datasets/{DATASET_ID}/items ``` -:::caution Rate limit - -API data push to a dataset is capped at _400 requests per second_ to avoid overloading the servers. - -::: +Pushes to a dataset are rate-limited; see [Rate limiting](#rate-limiting). Example payload: @@ -413,9 +409,9 @@ This feature is also useful when customizing your RSS feeds generated for variou By default, the whole result is wrapped in an `` element, while each page object is contained in an `` element. You can change this using the `xmlRoot` and `xmlRow` URL parameters when retrieving your data with a GET request. -## Share and reuse +## Share and reuse {#share} -You can grant access rights to your dataset, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). +You can grant access rights to your dataset, share it by link, or generate a time-limited pre-signed URL for specific items. See [Share storage](../share.md). To read from or write to a dataset that belongs to a different Actor or task run, see [Use storage from another run](../use-from-another-run.md). diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 467e465f3e..7e96009e10 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -271,7 +271,7 @@ You can compress a record and use the [Content-Encoding request header](https:// _Using the [JavaScript SDK](/sdk/js/reference/class/KeyValueStore#setValue) or the [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient#setRecord) automatically compresses your files._ We advise utilizing the JavaScript API client for data compression prior to server upload and decompression upon retrieval, minimizing storage costs. -## Share and reuse +## Share and reuse {#share} You can grant access rights to your key-value store, share it by link, or generate a time-limited pre-signed URL for specific records. See [Share storage](../share.md). diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index f4166e8c79..9f879e04b7 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -563,9 +563,9 @@ await Actor.exit(); A detailed tutorial on how to process one request queue with multiple Actor runs can be found in [Academy tutorials](https://docs.apify.com/academy/node-js/multiple-runs-scrape). -## Share and reuse +## Share and reuse {#share} -You can grant access rights to your request queue, share it by link, or generate a time-limited pre-signed URL for one-off access. See [Share storage](./share.md). +You can grant access rights to your request queue or share it by link. See [Share storage](./share.md). To add requests to a queue that belongs to a different Actor or task run, see [Use storage from another run](./use-from-another-run.md). diff --git a/sources/platform/storage/share.md b/sources/platform/storage/share.md index e3cfe61ab8..bc1312add8 100644 --- a/sources/platform/storage/share.md +++ b/sources/platform/storage/share.md @@ -18,7 +18,7 @@ In [Apify Console](https://console.apify.com/storage), open the storage's detail Share storages by link using their ID or name. Whether the link works for others depends on your account or resource-level general access setting; learn how link-based access works in [General resource access](/account/collaboration/general-resource-access). -For one-off sharing of specific records when access is restricted, generate time-limited pre-signed URLs. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). +For one-off sharing of individual records or items when access is restricted, generate time-limited pre-signed URLs. These are available for selected dataset and key-value store endpoints only. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls). :::tip Accessing restricted storage resources via API From ea35b8dd822785f11b77257bb181192c96273cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 14 Sep 2026 15:02:10 +0200 Subject: [PATCH 13/16] docs: replace storage Console screenshots with the storage-types graphic One designed SVG, dead links stripped, SVGO) covers what datasets-app.png and find-store-id.png showed. overview-api.png was referenced nowhere. --- sources/platform/storage/dataset/index.md | 2 +- .../platform/storage/images/datasets-app.png | Bin 73072 -> 0 bytes .../platform/storage/images/find-store-id.png | Bin 40396 -> 0 bytes .../platform/storage/images/overview-api.png | Bin 100286 -> 0 bytes .../platform/storage/images/storage-types.svg | 1 + sources/platform/storage/index.md | 7 ++----- 6 files changed, 4 insertions(+), 6 deletions(-) delete mode 100644 sources/platform/storage/images/datasets-app.png delete mode 100644 sources/platform/storage/images/find-store-id.png delete mode 100644 sources/platform/storage/images/overview-api.png create mode 100644 sources/platform/storage/images/storage-types.svg diff --git a/sources/platform/storage/dataset/index.md b/sources/platform/storage/dataset/index.md index 5f21a160c7..7e1ed4e84d 100644 --- a/sources/platform/storage/dataset/index.md +++ b/sources/platform/storage/dataset/index.md @@ -42,7 +42,7 @@ You can access your datasets in several ways: In [Apify Console](https://console.apify.com), you can view your datasets in the [Storage](https://console.apify.com/storage) section under the [Datasets](https://console.apify.com/storage?tab=datasets) tab. -![Datasets in app](../images/datasets-app.png) +![Datasets in Apify Console](../images/storage-types.svg) To view or download a dataset: diff --git a/sources/platform/storage/images/datasets-app.png b/sources/platform/storage/images/datasets-app.png deleted file mode 100644 index 2fe5d36462c17561958fbe76741e240b38eac7dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73072 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 C)1|Bc diff --git a/sources/platform/storage/images/overview-api.png b/sources/platform/storage/images/overview-api.png deleted file mode 100644 index ddb87a72ff0583cc7e1c8bba06c379072a6cb60b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100286 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

vg)~kILpRk3}8L5ZA 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 L^>bP0l+XkK&y9CX diff --git a/sources/platform/storage/images/storage-types.svg b/sources/platform/storage/images/storage-types.svg new file mode 100644 index 0000000000..d273390612 --- /dev/null +++ b/sources/platform/storage/images/storage-types.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index f6cc7c8988..51de3f3ad8 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -47,7 +47,7 @@ To view your storages in [Apify Console](https://console.apify.com/storage): To view the related API endpoints, select **API** in the top right corner. -![Storages in app](./images/datasets-app.png) +![Storage types in Apify Console](./images/storage-types.svg) :::note Toggle unnamed storages @@ -109,10 +109,7 @@ You can name a storage via Apify Console or through the API. In Apify Console: 1. Open your run's details and select the **Dataset**, **Key-value store**, or **Request queue** tab as appropriate. -1. Find the store's ID: - - ![Finding your store's ID](./images/find-store-id.png) - +1. Find the store's ID. 1. Click the ID to open the storage details. 1. Click on the **Actions** menu and choose **Rename**. 1. Enter a new name. Your storage is now preserved indefinitely. From f7f4672f27e1778f66b5d6aa9523b7babee55e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Tue, 15 Sep 2026 16:44:46 +0200 Subject: [PATCH 14/16] docs: add the KVS and RQ storage-types graphics --- .../storage/images/key-value-stores-app.png | Bin 73815 -> 0 bytes .../storage/images/request-queue-app.png | Bin 83407 -> 0 bytes .../storage/images/storage-types-kvs.svg | 1 + .../storage/images/storage-types-rq.svg | 1 + .../platform/storage/key_value_store/index.md | 2 +- sources/platform/storage/request_queue.md | 2 +- 6 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 sources/platform/storage/images/key-value-stores-app.png delete mode 100644 sources/platform/storage/images/request-queue-app.png create mode 100644 sources/platform/storage/images/storage-types-kvs.svg create mode 100644 sources/platform/storage/images/storage-types-rq.svg diff --git a/sources/platform/storage/images/key-value-stores-app.png b/sources/platform/storage/images/key-value-stores-app.png deleted file mode 100644 index 0aad087c3dababe428c3a543ce0604ad4dedd721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73815 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 diff --git a/sources/platform/storage/images/request-queue-app.png b/sources/platform/storage/images/request-queue-app.png deleted file mode 100644 index fe3f0b836f8bc9bdee55bbe4bb9e47ebdac2af28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83407 zcmaHT1yEc~vo;|R9D=(A_W;4&g1arQi@Q6)3GVJ;LvVKw78Xm;;JUa3clh_c-@R3T z)f>L5v#=cI>~#0^^mISny`NQ-q|uOxkYQk8&}3yK)nH)Y(P3a-4I;jQ-r<_UdxHLY z<*Ftv4pTKwvIqTx7YLBGP*j9rguX|Fc@<#|1NYAm=!*#Yf`Nf8fc?Ka@aP4v|L^^) z!GHc~b&s3@10xC}D=DVo_3AJeJ_mOOe+Z*pzPTY7aWeRW4AnBryFj>TEF>fpI2@IJ z(L@!TSBVKYi4M4MuaIOJUQ4#=;Qd~Heq3(8W_R>z9bml|xc3%tKNsNiJkH_USux+6 z1jXYZBPGDRc+taxPdwe z_W{rcDTc8Ti^^S+y5Ata^f8~{^bsW`C1v0YQVlYkLSC5c6I_yDP(cBOQe4tjH7xAk zN&kl*;#U9?Qww06v(@W9#TQt7g(U-qGj>KS+<4Dm1YaTW;!^xZ>{)nENGDyZx=#Dz zAgJ_Jh!~B4P8IwrQt0AKOAWoR1nZ{hQMC47RP7U`=s+Q5FU^ayBz($J;ZsvD*hs*C{a*$p!_Y}P z|M!_tUIE=@q9yR({ddmW8R_Id4wy`Kp#pqgTstS40)td*=UwD5y%*U}m_~APNhuD1 zuX%cL%v$(AbiWR3e_4A=u|Ew^22je9!W}5Tu&ok4AU=5BmFai58GLt;v>E`2mvL1* zsC`9DiXl{!9k;VSvH7Kf_wbFkqr4<2Gx>#W-_I3vVA8x*ZH7-H6=gh}$dy~Hl>1)O zw6L&w>j9*~=X6uCHI}QY2I>%ipkiRmMa>kn2(v5XzqnhDXfb^ zy$+)VN7faMdddd}2R95*;zoELpuRVHLCQhAbTHTE03wUw6#nt^s7h27trS9FceePz z`f~9^hwKZRc_Rg8@WW^hm&;VUo& zqxAR736Y3HTkIMnD`rc(z9BL1=$Fa2ngP#!&S&Ct>5%QQY$aF#n_*cN4uhf2bCbj3y5J!0 zGg4^Sa!O!a{x6XV^_P@7iS`wMl$Id6&xqSTvGp8}Z$dKbLn%lzdT>GUHa{?KBsffd z>kPtlcXLP113tsG1<7vu_z>eFp|r2Z_-+m!x$h`dc~RG_YeTRCwnB6GU4PLiTvZT) zjGyj7E@AIj?_0%Q*eXtr*ga6bK03E}?a9#{DP(eh!5~*Sc`CN+V_Ftn&y?=z-w_FX zuHBxD=!zMlX)4?s2#7(*6;vT1%R|vhZJ3ytzZem~Xz9mmYipwA1$`2#Eyky`t!}qj zTdgAHf`*NuTR+ld$pyUcg0*PHOTGU5=$@=m(g}K(DE=}@pQ;$&QR0oGmbQ0{egb;$I4jPQR#=zYcKO`jPLm{BR&(Tw^YiZ%8y#?ubz zepVX(E+r4yLCXe?XhjIPo=Qi_%rM5w*3({62R=pQnAF0iTPaM!68?Oq$(`Wg+}?Lv zArw~0vszXl7x3S%@Zw-4!DpzdMN!iD(Ri zfM*UMziR{C{j)!ml@B`k$*z#_s|7s!SEH{qy3$!Mmwo0c8_jE1p;gRVPtv}$Npk z;WAAC`ry_ngXytw!FP9kD%}Ti?rURpUb1Ia0gKY3wY%F;FsReciLn~C(MH7O{XBp_ zgFsFCq*d6v?|$6wnal=_iu{e`5LUips=peYAm5~(9KO{(A5wll4OT{prWiubCDng(kD;}Pn63=%cNx>ea`{Cn{9Fm|zBX3}`g&pv9rpn<}xX+?VY@PQo67$BfpRd4Ut zxu(uVpGz&%gaR+KywF`_Pum2ePM!JeYzRE^)>QjMt^ix*g787n2g!_kSBTrkkdYJY zqrC1upI>k_jA-jbBqWDFTd($beo9#bieE5;E8T!E^QcDdFE=s<-irFgrK0esH(@ zS{rl9-RXw7$Vj(6Uf z6-Ma*S~z2>P6k zn~h|b7r2&!LvT0dR!7sclm)4T?mMcOuih<%yEae7SVo#%9tg22W>0&*VN$@nBZs+?g(~6=;$1-1k{Ylt- zkhT9!1**uMafZ512Ah!~WcHy@_B+se!^{$#!eHLN_&RrpU3H`+zvEy@_|Fh!kZh>{ z^cX4q0Ko@|KIxD5J(GC0_?Rh30Pr^=+#~tIFE^yfrnMquLS8V}*Bq~QwYs!jfj!H- z1`7=~0Woi2Jt2Wle8;s5H7X>RPXzuQreSqteKZ%Z30B{N``|bSDL?ftpyP!)?HDw8 zg)wVyzBYXjqerW(v%4kQqk0XQig#ohsTevsASnNdNGo0|p9;nWe&12QaEOWZI-LY^ zbs71j8{;x9@$JbhG*}l)o)#?x|Doer2lum;3}@C`rgq;0HMd7RTd1gdNd-IwrYiMI zJG5Z=J-?+QL*(^%au2%gS0VZlKi58>~h`7S7neW;(SkIuc@3d*DMSqw7DBn? znM~)Ya9HTscI&x6O_kq;PkKK478_jLm>_jV68EYhX-a zq5`I*7Ln2Yl$0}<2awQy(@8B1?@kG0w+2%=LT&YvsXVWMhi-@K-qg8_p zp*e#7y_GW*7HR>Kt<-Z>SKmBzng*pvB4zu0Vh;Y!vs3lk9zR^-z*|ji%d_Izahq6@ z%UTi@PP!A7wp=xk9Pf2EM?t#zc*<~V?r&|ZlyZ(yq3lM#g<-eTYtCYoUV&x1Bdt%R z>Z@dqKMCiXf={2<>U`JY`|c3+^Rv0^*RX7MPJDA0ozlk>sj^)c7r{xO^4y4M5jDx! zU%Wc8wz~w}SjYXxI1w5B{q*SU>YU$AM#ZVJ13QH%KhHQjm~Ug*aaLT-R=^AWx4 zHjA4oN!I4|B$kCglBr9|yD*gf&*G>{!u|-u-E>c!**>405v2W{e4C8v7s(j30Oa-A z0Z-0|dcfdI4M!BQZ|lpM zA)DjBKMg~{2RT0T!0Xx}F2%QB?mEU7HOr?lA1^u5MmZm=Fd<-&CcYbBlJ70Ty~Hr% z@<|G|F~x~7v&y~c4>hQ>$!69RX{TVO)nw207Su#oxu~B$QrQR7T>P% z#c3VZCErEXu*olVq`v`NJ4ch#ju!a6CEBz3s+WgXEXEn}e2BX;>qokg;v91UT)Ap_ ztDtUC#+K$LMxLOzu3}Q%BCz5+f1|@h7YPG*u2Y0moQyn50MGJVKD;-MnuW^&_nxw`sWG7h``h%>1F z1jl)iqaruE$GO9IfN(Ixtiy5Obo``Qs-od>axecr&ty*N(m+3n{Zy85V1O}0iqOQQ z)M`+?fozBW@A1}>Je-B!dDzhYLyJf4`R^Z|;fMh%{rT@#HdbTJEM$7&Oq>y6gnZr7 z78=W1Ykq_DBk><=^qDqd)ZV^&AGapZhtL*Usq-bul^D-^lU5;#LEUoCUn+&$YazvX zd^5us2-&}^Gv8w@X(UGv;N52_HLOhH%&AVjI?`>06Voy2Lo?Hw`|k&N4d$mr@&ITIgcvqwxhb50*|(Aab=ewl z=W0JcLZgZFVWYTTcs{eDec@fSsZ5$R$1XY%ko5+JP0+_nFsqyp{n>ku4Lb7J7PG^? zf&ybpB1*;_18^Ck3)HI_Accg@tOvKM8>EB`2Rmd}Sb$ShwOF*V%R8Q%KG*=H-`}Eu zDO_+-bK@GYq5^D!#|FClc3wGw*HJXEgH7HGhky4EBnOLXjkO)Tsj!I`o)Q_Oeu zcn{R-mX(S20vG}Y8MSf#ylG;J8NoF8Q1O_QIQP0C^7I`*KS!iCZ4miSSJNr~@ z0l76?vq1}LKd)MymDZ!&9qpgMjR8ioqf^$fZXFH>1e?A8n_dLL$$yIK+s!2!Wk{l+ zmHupaifvi(P72xP+B~Kju~(AurZw5bv6IYEPGSo~$|Mh=u8j%#I`IWCi5e4D6&;LZ z8PiAo-9Q_Alfl#lUm5$G@o3-4wm%C?HjkVf0HFOhI$mK#y2IA8OBz(*gD2olwB{45 zpJ=Ap(I2#R0Cssw->ZsX@~{`+6pAY(^U(ykaU*2SD2a*W`N4oH zc4bW9$N7_RD27qcp2&CpBIXlxLy^F#r`zgGr9W#uge}co}3hHR(1RD*p$^m|}4Chd~2fOQq`*JX&6@HM+JV}Fthu>pIFXipf zv;1_M^ulWNqXcO%NL&Ddo^!j(hR{&kF$-DtH)vc%ID>qhz&K(HLVQMf3IT&ri^dux zgDgg0m0rLq5=0SuF0UP0pK0I11>nAxQ$QTzy+FZ#{gN6ah)zcHD1VHp^|@Y zimFk#*i<(1h zwnPJq5(r?~q#JLMZ{^hc`x?mb!;NmyQ+@`4(eykLfBrle-}ow*DUOWugQ+rWHdU94 z-1Ydn@hn$O)S%TxlfS`so5`wzMC9p2R;R(dQqZuo2!}O=O=~hn_ML0D9;=y1HY;2A zv}_hnX=O71pCM>4@B0l70byj$sEe-E#Uff3&l$_J_qu%RB=9K}zr7(o`J$7i4Y=qq z-{jxi5Lj0V#WH90eoFc?Pn26i23dwGWWPn;wNT7Y!VkAsPRb=qtJ6lc`8QK3%pP`A zI&v#9%}-7h@T=y0!29=7QS@TUq$Gc##z0C;Z+ld3>-?$2sL9L{5&uBt7*E2M@6R{l z*t0tNVE8rQJa={7jOb5KuLy8+`@nhcL#?83 zy%%G1kVO`gv$^?5NmawY5DPW%@1WVjjdUw!^jGX*bsTn6MP11|ne{u6J$%C%xm-Fu zo|Mr{PH=Bu;IQ6FOfvR!ZW;xU<5Fb>!F)RMRT7{28|zbZj8>=9y13PXTa+`&@;7IG zCESLa6n`GVn1J95co)c-rfe>4V}qTpw4vA6*m{!WlCe3hFnm`1q@`9@oAQ<+aQZYP z>jSU~{rWN{?5t9af>r0e>Ug=6BkHXTI_Z<%yJ^`U=b}o4><#gPPJ!r_S*NuwS4;4F z50l177#Qilz8HGeMqX%?Q$|!_kh9ns&)! zGntvR921mR$ahCASH9z(4QSVcj81lno9c*2?{D37nl|WK1B4VNzbaBGH#@T0&+yfa zlr?t$KpXh zt3g%dM<|;G@=|%e-IUDss1Ys0Ok=z8EFh@pY8itT8~}u5a!9$9eyd6rtM-_h&5PVA zCE>**PZFfgyr{|@%$$+uWF5(|H-Qb)A70v{R?wktdVEN-d%jN#m6nw2s_5mookvxB z?^_e+x?vhBcsW4B=XI9W1US^9YE)QsGjOp$OuBr{As-=|ZvIHl13b~Ymc7#e7puz7 zsO~^UQxWH%J@7g^?{8T4uEv0Te*F4L2z1FV7-2t}4LHi&{Q)a_9*V-x>>5?ektrI( z$+9Dp3_!O3+l)6pwh~WBx8XH9L@c&DLLA0Kho7NHm(!>)fX`Trw^e<`NIi^N%RDouI_>*bL{4(>e8s8%bql%}kjjJhM9e&RB`%6QT^P^x)%kMt#p$I?Qr-4Da-$SQX$Nq~HN5N|Lh?wj`ugPBCW;H!C}!1Z z21?yYKg)0ezYMZDMq;h41mt_842ZyuM8uy@yj>!KI9Xe>hTC5e-M<`c%I}?7ORw?Q-{1z0$ zT$bWGgZ$M=p1Eoy@@@qczx7+%#{z?rTL*Y`o{BX3vGaY&}?Te*0Rskom_G??s85s+M2<4omXfoqHOSwglwJbI2Orq~y8rr}KL)@{Nmw z#|ka;*>VFZr5wS^_<=bQz%C&JIS7?=v1?zW!s=C!I0l#>;9aGK_eo`tyG(nT+Igt1 z&V?mn@`?^L+IJJBBD~RoA=yJ>=$6s2VvTgq zd-0V#IJcWTK`kCHH9nPw25vS;<-%Tb6PJidDmlE_RbQSV#DuiPXPFJ0bin{Z^`H;7 z95<|(xK?mqF(LIno7V9zQ#Z;iT3S;@pdyf;0+g@<8sr!Rs^vT(Hu1Jdlb{{rqd{~O zSx3nGy@AWKuXXe!7t5NtW7}VNAfCWSggq5@(1Sm#J`=nNdvjADZD;p$4%0%B)B5;( zhA%juhu9>o4!-9~98V1mRUoBeMw9OCkqSTg-`4jf)eLQx0-dmjyprNOeGQq$jgMMv zswK{^x`)*EHl09E7Ooj}8z^ZzWyMLPV9=d3@YjvQh}(kNue{}_=kJ>xF;{{|i(R~U zV}wP_iBeJDAQ>Ke?rs2f3#Bg&Ae_H=IFSgj?-N31Ok@PNa7%Ou<~Cypr{rxwF-%5Z zTU>Muss@D~v=oC~6pe2oihcv7YNZVdT5=^wHY8FlvuWyk&Gs`Y?V?8Na?%eJDtNlU z?mGGlY8rVQJcX8D1>Tkny42m%{vCB6Y*hNx|L`tiKxn`sc3W`XzADPO@gnXvh5C(! zy!uW1mPc8>H$PSv9toJ&KcZ?|l=mzXBxh;(R5Uz%OQ~{VpTjExE4EwrW%1Le_|?pk z2>Qi{o?51K<NiSo`Qb+eb*ux0}rgdw-3VaQ522&>;o3FIZ}m_y`Ogp9MiEc*P2l zK$O(dSIkN3I;l@3`dgK1(mJU`^PrT>1it+{{WASJ${OylLruKIpfm~T7)W6AJIR7# z4p^RfXVS?Lf9nwQ700+o-&84+Op~}%vRImRWduhsEb|@(_J*G&nSh9 z%Dm0R@yWqA!!UvatIp$D@hDBuTH;%bdRh!;Kqo8Yj5fW?eTp6g3RIlG6CuGXan|{0 z0APDgJ8@3w#U7#?VUP#o48skP`#e?%x&+n;>hU!;Fl6)6emhljC;NBECu0tW)rm9` zw|Z^61xn3k#!)8C3zTBIVb$-T)~UC+^5*v&2nw6;uk9=LnK=WK@+h?L3Qt|S>s(J& zV|~>(i`^Pc)Eqr|(x1;|t=w*LzdhD_Y?vXez`H&cqW&_Zlv<+Mx~Wb!nk>Iv&VF4W z7|JoxVtB7!GL*{1ZeeU#SpgfkP@@<>Wo2PC$Quis0YuD_GviQJX3tH@D{$AjjD55R z{iXoVkbnoFSQ@23%7`}@hoQl@8vPJrWL_*$7)r4YR$P|(Mnr`Pi=yJH^!^LizCJ~u zA@*qNg-2X&5HnLvT4*Reid=b*8kU*Xci@W5*;aEO0S$c>hI*A?tE;t^_4Mz|ptQa% z%?*PB$PG2IH*B%7qHhl#3;B02isr>z04 z*Wn*D%!rkicU9K1KM1jGeu<%VwC!Y0FT2@5v>-MbVIGqQX_)aw**%`85uN<06MV!q zNJZ0Q{dY{Ykp>MHDVrOKoU@H`io2YrJSs1Ovzb%Wp~iFu+rOu6Orh*o#Zk168n*4L zwGw+c)^ESBa1f%TS`yLyzeJD?y_IX~?Gu^7Hkz)`5@RaiC|0JUin!#Iwc*iG7&OKG z@-4{8DFh z6#2A!j@t_ClyC@Gu!s&#r^7B+3&ynLqs*`Gw~#(hBX>RcVhkxrmU}kjclWbwttos% z(%T?*GD>jBuo*>kdUg7>wDRP^RUm;SR-JY%uGLa-{FD1AVTH!DS1f_AQ%#mAJnVQ4 z>{toyNNsertKD~__H7lV^(C9;ixBC{#@A#r&o|vATf&ewG*?4UXekfnQQA_GtbHkn zHYBKLfN)3HG4H-{V{x%@n|18>3Ib^6wT-^mk7OIv-b`>AhFtmWGN&91*T|U+7yGc; zZSu&H12o5rVq+&BBL-mfj5MCal+t})JCyJhooDmJBeawq(@o`(&0bErul~44(OQ!h zM0Sl~c1y@m&Wy;OXEY>N3b`$d`z-Zd7Fj<=zD)3mm#_*q{0BL3pr6SpJ@0PBeNST^ zlg!$nEkHmqnLAArrH6>aVWfr0=FL7!pm=W%(fs~r!;7f9ooK4TAi?7OTZfT`BpL%B zgB_xid~Lk+W)Y2yhL*p8V?iwxFkk2&uu?bP)*qRE)CKs7S-YK06OLK@PFV4I=+Nh@ zKR7y>2DoI@dK|@fgF*7z4W=Wa{h>HcsiYhm>Rc!euR-6=$t=5El=CVr2EwGMn77|| zQ5IXRM_ks0*GYz6>Q_HeU5xgqe6nBclGf#_X6kGcsl>HLY_ZzoKayL18m2u<%Ibli zlwjb6)~J;)mlpa3x7+&3f0jnx^XWxvU$s3MPWgNiRn1=*Q<*iBJf`Qd*Otbhsc?Q> za+q-g$BB9HA#2wCW6&Ay4!jxLSGiR2uVuBcLP&!Wp~i1402jRmkDrJlej+lXusfp< z%7zwUZPJh5cqHcV`zx)GpGKvy9jN$Z{^=TLPbpM+ANc1~ds21m0u@A_GMGWrW?Nlo z)7jx66t32y`bb1OFOb$~tEFbfGCnu=XLU$vx6bS=#fgh}u&5P#8j!nE-6((+vq`F= zKep^)!1SiDCS(I$E6_>)_`_{d6KsD*XvWX2^O7m~`XmPUC^7n5WB81nE@Pdu_P)C* z99-4`l@I6{zEW#xF@$OBWN7JDGEn6(Pm*)}^PR~>bZj(7e5_0mX!fm+9(SIHIohx8 zE{jn;!(|mM5kJM$xlm0(+&B@DA(u`v-Wd^S8b36}n;L&taHmb{D3g<3>qALTS8Zea zgLR4(Wza;>W&3If*@&dKCM1i5Mt$FWvO9q2b|=TCBK7PtCJ2=G zX7GbjUKb-@JzquW2Icdo`iv?Z5fuVc!A_B9e%5s`@>{KNp=opanIa3O@I^XWSw62_ zHX$T%rQW*F8Tu&2QmKS|E?tUix5J}>UjD0|R+E)@qk8M` z%cj+9uTD5#rO8kO*<>^&X1>&#6Gvs7;)#JeS6(_66YH6b@ zo`bE9f9_@nSk8H%4DIYBu%w~U>HzQZLIIqCXc_Oq6;VVm8+m!4k!Z*!T$%jjy~)kz zcR_9qg(I}k&FE-@dRroir`=&eOoOHhsf?+p-LlqJrG7CYOkS(xzc^Wv1W-YdhfGy__&*leV4<=3oQdN|b2ucW2A7N7f?O7o#MJ z^92KEy0Yt}T6e$Sy$3}JH2M4FYT*LeTXaeLZUPCI{y2g(LMEMx)bzhgwcR`pLx_Q4 zUb{$)?bF!G}h^TDaG>}q*hsOt+yv73F2hxwL$z;@^X z5qr>bRIL~M!O~+KibzRY11eKD{+6}re-+fc8lacNAeHDrz0`W0lES=Q(-j@kvB4!v z|9Oqb&J({04_0o#7;<3c*W^DC#6`$FTj2Ep%xde?gV?MNXcH^6!tWot@yyWqjmQjH zv&f~C;IC&AW9ghhO3PuHiJ2MJG*~x0jFWX^d|fV~;ARHdVj#_t2p!^M-}yy`2i`u% zXT1fE?H!Qx#S-kG%ocv^K?MFtn_-WxnLn}p{Mk1luibW9o6iqKNA;%;BkxQ}OK z65hf{2ew1)TnWU;5j;!)5$P&F8&KbE$WAbsCpOg ztL99Q|2EmwFh3@rR)krn9M_1={XV~`Og@SPVEK&LqE2#$&-o-y6V5S6j)pV<;M)&>hUXfzN-$rXu4m1OZ#4Xl}jS3ht>nWBkuy55!G8l`=NuXg* zVW&JdoBua0T+W12zJY4ZNMCCsMgp-4r4JX)1i0Ts^W*7Vm@baHw zOMTF$g2>ENXhJALnWOw=L_g?1z&~^e=y}6m>=y{~&HM-WcXmnfy~U|__-|--jH8S; zq^Fhr&C9e+{SWMKMzS(hl9~GVibZJdC#VOpXCtAW5n(W<@MXc}(HZNfN*v#2)dfST zO8T-&s3rporxcLEg*2U{`EQpa5(An9pmo!X!xxoVqGe|~r*4!o>hZ(rDqOMj4 zxN28>=#De!V!Gu}|4XR(pTx7w54f{!CGwMjkhb^UXIn`W`l%;xK6%lNqrS)h1?E3F zg3oKzwUIAM)rkkOXFmZdFSN54i_oC}GX4K12~1#x#F+737C#!aM`Uv2k3)iG-iuQv zd_oenMl2jKffbfzepws)d0r{SVXgLOlD{||H7slmZ*jTHJ6=`hcQ20Wr+cMKGDv5? zE%oA7`W!0i<;BZ_jy>FJ%KoxER}i78P^1cUK0dh)O3RNgbLfSr;+)|%jw>(s;*`!x z(9QOi5q*<{i}OD#{Fk3W{Sp-K-iiPDvhn^jhchkZMT4=C1M^RB0PnZrY_vlKxsv;~%$Uk6O| z%`9GS*-E%Ubc*Tg_Z$b9zW7m*uCO_peB+p$uU{M@qYwA)-8<^wD)8rn;@XB6iGMo> zXKWwo{Ld=tC;vCHBL6WGW+b#l*n>qcrM(kG{oej>dh@-oF(<~$)G(YR+S;! z7m-^9XjuYpo9uhTPjItU_c}d7P1H?O(UmR(+WelIU7wYf#U&(w8|g+PfzP>T1dprO z&%@g47C*L1IfcSM$G&#m_Gg0@Y2p&g(v*FuxCTQLK<3j3W{`(llvCY^Y#vAOia)~E zbSdX)mZKZzVxw(*O!oU>vy13-)`Nq)!})WvKI+-mvj;S_vy|N6&eL=wNCeH(wc;_v z_FbEx*#RG}dXpFW7_=^5m_*31$^hk3hx9WG}ZC9Qa7*cHAL# znnGOvnFZGKzT-$`4$bh)iIbL^&-b_^hEzm$d-PFQcfjYmQ+aDBKj4@1>a$f&%+n2L z_oPmfU+hDNNxhMY5PWd(#z4AZB9~mE`_sdKKrqXlNvnfpm0_pHP;Ht$|1gSy(d<2& ze#@?1yuzYJmzt2b|4%2R&VXf_QD`;cu?!Qxfa#Z~U&B1y8w&Y+%3WE4ebvQz0owxt zzljC`hHZX2u(A`?3fMXYqQ}|oI*m-)Rp5K_xMV8nXE(hVVjc&XKH8&;h{(r#j5aiE zJ%Q877MGc}-*T+Kip@H;xu4q<17jAh^d9I{`o25JbZdvp)Jm7jookVTE^XAmj9rp5rm6O$g^7vZofiDSCyjZHn3nm6-Z;cm6)tBow?5T0UOO+?21l z?y1%bNcNPDJ;kLN9ICv9TTs%wpJr!4Oev1QcqW`O?-*>}F@YR$nPLffJ@|!g?RtLv zSlw~nN&WeqNh3DFD`?dplB^7*%%D80WAcPXX!$%(=pOR=66@zTYk~PLV64^Zey9dO zPbZC8kA<^4m(5<6r;&8sLY%heeEaFpe9R@^Zn;BlvPAwsSQN%rn>lyWbGLT0I|bo< zE3HhE@s4ze%xM7Zu2yBoka;_{b0y)kNN+thX-_dSu8nY!q{~$!7 z!{@5hb#q81|LwODmu)^a~KTwIrl@9fwgrD;=X_`eQW!@ zo2y6+kVMIG-QEreTB-N(bLEbmT~j>ON`Qo+FQ^$>bFm@}}upwC;mtd+u8$WpTvt)+7tKp{y6s zNgX1aZ;BUJ<7x|ywm9cEDX^dALP6VE^0CJDL73Dtz_0T?o zv%MBJ14bWc)$Cb!+%ib!6nw|qm62AeqURs9KzYN6ZcAwf9~S9V*z0UI<8?60;_bRC zLyCTXk4|uCde-ImOg>rc?VBq+`F+lYp4`y?(LS@NYptLn@*1K&WdH_pccfyN7>B*S zmMhn&S^=yf8*d#rTF7^XEAMjjygOejq`FHGxs(u9K2^M%rKxz+LvXu}@?n1`7IPeX z|G94iH%nx^Po1>Q=9(t?SiaL}3QsRL@1XRc#^y5qE}_}Qd&6P!0uSH)6EP_>r3x9K z$ziEMO8U}m1uvjmBZ6}-k>ShmL|Z5mbH(&qJoi9IWAg_pTY>|A<|!gBf4K<9kPj_BR!2uK z5&#r#{GvDmNg}x5nGaP0NQ`QnKGzGj%yz3Y$9!^q98}(~0o>UV^8Oj~H2?hv!<}PS zMf5bBpHjJo(@6MW+L5J2dhHlFZPD|=q0U3+-72@TaLMN8Lc@w9Z}(!rV(E!@vB`L& zJnSonrF^Cchx8~s25M4)hSb5>eXz2K;~5jK<7Fe=TItiuzOC}>#c!^QC5Au!dS1_U zV|rebSMf9mZ0CGp=!)qp!@94S6RFYx;1gzk@NRR!9&73z(dToO>4m+$WYe2v#)5Xq zEDZ*n7yf9dZpl+kJH_sD8UC)Ty|j5;VP1hLOm^N{pg7PN;p-l{FDkMMiboG_LO)8? z^tmSemXBnS-~3=ow7O-I_O!x7+o4kw({lC8kT{duKd#Gjtf`rMT#q>ZW_E|5syd(N z$tJ1O>~<`sb+XHhr;|L2T5yxXYun>^R=Zi<%F}qjwnB2$6)vrhH~ipNZb1OA$X6Cg zuXZm1BgBJ)`JfMDouS+qv*4BftbCE{yb^8!+H0~r*+xyhyX(~13exJido)VnmE&{Gx(8$}iceXtt!Q(ERh@ zt;|59T4f@KxmW7nkcQ@8l!!M%S+SXEBaC(QyH#(M*s1*4TTR_WmFb$jp zhB4_8UAU5HAmOE0rYiRot?p*K-ZdUi0{5W7f`t+E-2EIulb7l>H_#dp-PC+;78_BR z2o}=Pwz^}D`@io3IPtN)L17bRB9<<;2om$y-=$+P}y}A``e;jQ^t!n!ZyrUeg(#e~w8Z z4NwXYcAFx691?K=Q%Q{PnY9}6QC)sCN~qC`ix>5`G)nyLn3r18)k58>v808~y6@#} zD8wXWp`TV1LV8LDP3rj753egi6nJfb19`;3ZbrGDQe+yZD&ZDpZ2KHIL|eZDZer`} zj(d(c!d4TB2f^)>9aiaDeWLI_-=4(?zS;*lG}lS?V$SaI)B0Xz%h&wAJr6Dj+B-5^*lJ{1UkD1IQ3|Fa#L-n`L;6`8AmdJkB7?<&kw7 zN}aWBB1y@gZ4Cpz|5jb7dyB#FLEJvyiWPSx{TExeBU*rzjYf6xCgAy&k^Fleud~|W z=ANjDo9xUhSP(k@PvA&e3T4RMNPgfW)lvTOSAnOe=?Oi*+@K?JFzg_-rXZct5j`P= zK|PY^V`1SO*Thpbdg@0s+Y#dG%f#;K5%~xuHvZ)x73mhYO_PXCsc5`2T{b~0LFelM zxFJ;pK}520fY#mh5#?NU#PHANk9%2d0*)%Cg%34e#Ls)aY6YUgdry-vy@P<{wiBZ>qTGZmA(N#86ok%R!LuK<4LZ_7>^P zHx9K;kw4N{%DaTSa?f+C`g-OJ(-6oxJBDb+ZyDT4B?@GEqOG9~EyL0$-Ien~bFIz7S8~tk)beSgYArweg74|8 z%km9=%1R=<7ZlXzWHTrW?YMp-$YuTBRmCjhvOUTwrNNi@QS1`)T@$?f_@gLmchaSn zkuU7={z-Y))rX%?Lf7JskA-k^0Qec!^}GDbBUsYu^GJdwvl$>2DFEG>`l^ey(#>X*R{awXy0+kch%-I z&TU(i67V`=F?wyOssiBY)0VsPv3(lab^9pjaNRu)OM||!Rgz~1T4<%&2VS_7jtfe^ z50yAbQ@liwv2El_zW^ zxwAsNTR5ha%c$9KB1Dhy^Q6^#%K52N=yg!Nd~?8EYmn? z4nH>`x0`Rm64sN&X+G}c+J_wNN94CY9(mnPvP|Fb1G*J_uDrwoE1c(qby*QQv!K0t zI&F51uGiOczfh#e^THC)heDm?M%;mOoY;ZHc;20!{_rAKtf_K|}xJ_=nqbWM-y+nu-FcYun%Z^^JHz9v=!(M2|F{PtOs+PkFV9^G$X9_sfTo!;gaCQvNpcMH z)9t7I(Jp6dp*^$3kLmc3EVb!Q6|P1NrVMcpvUVDS5SAqB8OXIANCK!JSLMw7fyZiJByh?O$7$fdFT&lbqQ$9 z5+5Xa{5JRGGCPrRLVo<)rEnL8-g5^{V-$7zv!((Kw6;X%+!-Ho0UWx2efDgkov}4R z#5|#)M6;(xn>=X73QiMol>36k0Fo+AsoPoA3wEPN3K8YdjDdrcp`wU(tZkUo%f?QH zq)$p~N~BTx``CwtDy{s}PWl}Vk*&Pe+SvYLiSr2fs7%~w`X?fcvti@a&{S!hFb>TV zA{lMXAu;y_m-V%|JSmN3+~J+nE4I+}eJMh@p)?kvkxj1heWN~~M(XIgH1D;i9Nkw< zW^)eK3&mZFho-v1)KL-Mo%~#o<@FFZGIty8IirsO52yG++0AUHc;r!9o|6^UuY>d` z`|+u;yU))_i&sa`N0MyhUTH(Su5~)MrL94~#R}lEx%`W!%6{mzGBSqc(;dr<=;^D| zbqPG7@?B1giX9`EHR$PbA zum7~}GrnSuatotxTm09F3@R^%+`^@VQi(b8sEDC6h* z?H=Enlp*|CCBj;LP*z4J@`*sTNt_hI+GW5bSrTww*_HM+P)IEBr}b1>=5)oBethiB z?w9zbM9vB-XOTc?0%Z`YN5hp5<6qjT57jS;tF z=O$k^tsD|8fXG@w2ag)==n|ngFZ)<)0x_FnrHY!a{+Ud(z ze0LO&yw_L_0DvA}m?QqY=eHd>!oQBaEuD-y9=$z8*U#o#Fx;}N%*v;&-We(1YyIi{ z&ibqMx}$Nv*89ZU=S>m1S7!Z{@1Mz)mdudS&bZ^I`)hyICsnZj#qys%p~X6Hv%Se% z>sAqMCFkp$u&`8-iSe-WulrZvt%HMG6?HU*SGL$OM$xu}N80@gV88mWB)3LFWyih$wZIV+sE~lFrvIMwnwuReXn}Xg-3m8_~ z&~Ry;DC_p_m7dswje%jpObb#q5nP`2UoSzDdqj6%B1CJPkSx#KEUOR&l!SYDQ|!NP>fS-XTmSKT5EG)YXuOgL{c4MfMX4zsn_m@) z8kO^s3}Y4}KQJA2qrc7hhk2$Wyc=u~u{>#CQLXt#iapp>y}|DWK_NSgilA-O~+;I>|kXd5vN)JZClAgD*vsNsLo;r9qF?$8uy z^t+MtDSdE?+-hY5NHefs&mGlS}CrhTJQ;i_bAzLXTP@I9z z1jMVEO1LK~_w7Numm;J98e^w1BVHPLg zK)n4Zw_T4Xwgf6!J-QYhb;luxziai_*ttV6Mb41in zfB*mZddsM`x^L~f#fmn#ODXPFTw4khr#M9d1ww)11P>H1PH~DAcQ5WJwzC?6*WTQH5-LDX~v zQ35VF(b9IR9}cgx#0v$p3Yen957UF4kur9>t}ibBW2NFZ#%u;Ba-=}as27l2k>2)y z1i0GpkJ#HMJZbed+u7?On@r(kF6~uo!I+kUM`Kkhy{4;Gt)hjXX;-L?DUCTUKwE$8 zwKb-H0M^HLQWzc_U{AGs()NS6TVCVY`5U{-o7&F>Vq6-(dk%>KpIqNMIoxohsK^Uw zE6Fk-YXYQewl5OGs=2CE0=BUi82@1{uy5O1b<~6%-v$5@sz2dGb)qb?&)xy<%;vFt zJ?KTj`#&|w#h9xwb$BphIQr;`nRf3PRC;df;Cj1oC2Q0^o|NgLoyVKnq@FBrBiE)> z;2J8SSaj7%@DCdKCR58#XxMB%dDS=-X4E}R0s(5TDwuo*FBMP*$Bn)C!sw=8zdq19 z*ew-|M#s=*W(FQ*ntwXx`yAR)BMYhOgj*+sd<})+hRd?%jJot@IFD^TwdEulKadp% zFoh8~v?3sGYoZQlbK;zxzv&!V{_otj!SE#SyIg9>`A0kHrJ0##z!g-)@+RP6@+=YN zdiQ*LIUqQ~5*~iD5VuT83ww|de~+GPpc^&_(P^+(g&bDs*QqVAGvP?lZfsMHgMbiVLf05}Qs$lxf=^8( zq1iD^!7wTYdCU1crM%2RJcZKWvuSDPxd+)Wje1u_WT9NmfzW&9(oTIYNE(U_5n{!Q zO3+4_r8B61lx|pA5X@UIr#ZX2M`o*cMB$9AChND)9V%zJsBGmVq7Bd?Ha?#X@9m3lKc9|&|4VA@HZV7QG@cFq?jQg~e?K!0H@Xpyi zL+5inU%>(QTwO8nV0x1LGAlM;fL^Qu*FNv|YBUyjJnrCM$fD2A;z^ zKDKYg8KJMbZq*IIdO_prtEg!>O!#8&OZBQr=Kg z26_z7ddsKiTRa{`)mTB*Kg^@)Q3yD~!TH2rwg%6?oImU9(He5bqRF8eTAsX}{8Dup zO>>zVZob^OXttaO)G$~~kudH062cr>BM~%`CMoAGCQ!sbxhPLV3A#73%}HE+*I$0_z0F_ALKanz z)Qz^R+nxvHBv=%1UNVVE!E|{NOok+}E1Jm}(4q4grTmwYCJp(T(~x47))}(ztT2kw zkH5c5RXlCkM&^`T`$S}Zv9ZKl;yOM1qDDSs(M!AHHQMvRad$EIB3ZDNH@gQ!2D|x5 zcm6Y~`Sn@>otA$bev*6l)JvKd)pW&Y1L zeBZMP%w_J>*PTww6qcou?GW*H7>?9nF0tKZO^O{15em6(3^;#+F0`a_GPCk^?@N~| z7O9Cw-dZ58Nw3qx$wvnW7XRr-TkElM#c>+ZxmEOvG~dcZg((n?tn- zfhx;BWAD#r-IH3r%wZ}0!h3I_V*E5Bc}UIVOqv#KWkCdJcaH~#7%Wof*-0z>fvWNj z#umP^e=7;aU-dC^PENXMG_zYI;AY$!i_UL3-+rv^sT&RK9&UWHIE*gjzv8{JaPX(~ zsw};1yc3B9+qLPeo5#Gx52>7ojuYBFEo-+Lzt=QPwU-iVjDU^TPWeVPDi5>+=%P&x z8Wka~h7INKMT#5>rGa>>??SPgqW{LhKvo_*4E>~0n`eQ z_l9dUPx!9#;9~Wc5Q2VWuHYN}AXPq)77~DqE$GLjqcm`Sx^yF+6?6T>r4 zk}^LGQ_qlq$4Jya+Dj-N+%zv#gwI}abj6Sy^eKSjbwi*x z=K3FqPLrzaWS(Qx7Z;bFkC+q|Y~%^Ku|}x@8DP$I0e#vrQqG&&Wp z^M_gD<34ALuT*s0@5r^O>{YLw(UUDPiNz=c#Kc-06+}xDgs)#-ebub$R6^N&pGr2b zI#fRN)jF21O1$4A&@@tp;VZzpjPpk<9a_eSxy@O)kH_Y z$H}F~gXTEwACMKooIG84C%KrsT86W}#J>6d@H5W&eRj*eGzWbQ8=Yr47sWr?4`(asNXwM z_R>~Mn*xK#d1%bq2Y)%%{+!-nDzpqnSTFrU-X=G$n3Beuha6_(FE9=?@b$;ZSKHV+ zN|0|Hd)(g_As%LLKR7%;DD)#|A)ZyL`V@rD)a$ym#H68Fhnf=EHH2SLs!`MvFha+d zq*BG%Z^0tZ8$ws+Rem?Z$7yC9&ND-vOK^1kpx<+?1+=BrZ5_j~TA z=lT~E%2wX>1o2c!_v{B5ey8rx+mn8vFIeqYkQ=%k&w?&1%8!xGo1Vt7swZU>U+Ril zTFq-J)eb4WmY8h4F;|X=e|@rYjJhv5l5YJY=5Y zT>xe%*zdv=!uPEzDldLe2fWC1n(Mxn(+y5;INydfnV*HuG*oN$4PWXCmWnMnxfAZT zK}(VQ81He%d!G&B@&nm6-hy~|>TX2^h;D&IrT46(aG|K0`O(Tve7QGWd^%ikR3$_Z58;ILCat&&Ejk`3wXr9|;k zr@kF7{k%nXpT>~u{kwgcdcP`^w;k65f~&A-sj}14)=PySpWXrqdWKV=k{hoHg3O#u z>7i;l=ROzxBP*-niWy6FkDs8~8e?WRys!!reuUt_O-+ll#>=xA;WS!9nSGLTM7jpqN_KvWX41wbI-@FQ;E_#MGeyBdJ@h)>gj+O89 z2oC=_KlxBRyWovwE|C*sCP4u)?(x5vDzm(-%VY!d+ezvxMR6eK^$DJBl7rOg7~_S5 zu-ox?j#3qeB)2>sdo5UX^V2IOKHhmCCA=2D-SuY3Ly%oN{>evJ8ULB)Y`0g=WLe`bwlRO=X0+| zhcG#$M<_$)t;Ho*wQ_r|Nv=NzU{RfHM5IDO->L@qKk*2Y_o@Yr&uubo45MO538M(B zO7Qaj;>1u15!aj}yMv|9a0A;*+Mhh;S}j0ae!Y_vm~+e5=vG!DunYjOZc)*Wqheeaje_m_p{}ic4Lh6G%gA~Y zATTU9J~WvdcO#<4%m`n7qui*y(K`ahCJpnw^9&@+*PIFQsxoCI7Voj>7r;v)uNrbXn_CvX;sgQ z?)btnXDT5v@lzE4Fic(#-h|>5{PnCWyzed^xqC; zq4?3?5@5Q4QTl`PUC*uTvqe2fxwYxC$)gM`Vx8!>=+O)m&+hftr|W!|08qd=qiBuQ zoLTl4xt6adx=#VDW7&?u{HV1ng?e-xzcCC$nX3Bz<;Xz!y^;ialOLMkvJ(+l5YucN zvWgNLiSO0>?anNYH=$_~{fj+}PfacA!~}V8dsZpR7l9Jqos(ZH|Lw(Y+Ee@jTVyKc zPDlRSz4-W%fi)(|!*4W|JoRvgg1s%Vg&{X)U|?8wQD7 z1c48AZ(G2i-0z((%2|~fi;X)mAo7UfDBaoegtVcucyQ`O$iafz|hUR*0-m*ub=3uuL% zyoKG=2Y*sfG4GHrUx{Gf=9J?CpV|S~<)c(mhn@M;`ioW6A3rlMGmMSB)(Knua8AmQ=K04A&7QwUZ+LH6rGda|G0bhi!yyexVz2Y zisn|^W7f0z-&#v(CHrl21*ETm78#F~rku(b13<{8o!y_O$RQ*<%zhpDw&Bv$!n9Wo zJVd`!EL?mq$TJg2TJma6*F*BfMxuV zONCZ5DKr+KYZNbd=TM}m#l1JEq0)5R&!5GvC6qr+U3>dIQrDdLWBtx;mXXGg$^=n< zBL@*DPHh2B+&AUQAr|(P$z|cZ+dHz0krAtkw~Z0qkkfZhlzPx?oiLw&@>ubxi}_A* zgD1K9k}{FPMrM5lfiXCx8lk19H--ZKMrIz8GjbBmyTYlAMEQrr#Yj-6J zji7`-tt;P9zq##Lk~MAf-&>{MZS8{m)<0`sYDw#4#|BtPaQ?>Hohpr()=3h^2g1)u zfXIz$mau$(3A#Df>*^r>04h+n5D#|a?!iW>(Msc8xb66Gx~vlI$Cdl!bU9i&#+EMFS5}}){U&lO zK`ri~@$ixQHI&lV?(rHaJ}RDgE(Ze#?#o`d8nu^~zq=e`AW{#gg~58EkCNH_MR#(m zp+I%oLMxe9duCx21PZv`vWBhMn?cS$>^$;U5AR05X9-q-Y2rg&krNgpBVR;9Y{8ef zf}#;Mw@4(TeisDG5*Oqw$3hX{@<}?T!(Lm7gbrQ@-K=!;v{8gNQudXMR$uwe z$wnXmTwFm3}Cdsz(L74jojIp>cs|(PBH$& z82NdD68X%J-NXKc|21#IIYxDaDw$N(5+WPi0CZ^_Z%-9_Exnj65!4yJH$1KY0|N$k z&1d~sp)MKTd#+V<J&h*A zd)$QkuD+>a#M3|jMZze#?-S^`^$bRX@0qC8Pp!hSPv~M25=(=3$9Rdz@yUGy(NQM} zzXD%)@f7>aLwetq^-5+&X2nzY!`#6sPCjd*eKTf^u7?F15A>g*DMbTci#z7)3+<#p zshj%j3N)~SVK0?q4*gbBBUvBJ+7FBCzNfQS;DP-ctC=8wn}Bd6H*k;trSXMu8CYn} zUzsUK$kF$No_hSJK`jl!*y!<-1C?+Yj5~aV44DFvT}k=&eT(um!OV5@1;6tN03E>0 zEDD;yf_3rz>sS;2IGMX8uVn-6Ih^`z=J}16deu%acu9FvnuZB7-J&;@6zz*fTtZiL zN4s$()(ww{;kL^yyCWDQqYA2yC~U8iOmDGMxt-I&>k6pH3cxxqP^CD&;O&%hw;b>V zIw9=LV|88o5=Om@)4(d%0g7OZ_M7O;pZ$wBPRY`s5`|SVL}1{Z5Dbfaz3pnSkO&Tm zssFgU_O#h=i`$nDuC~R|DhbFl-`|P@P0Jm@nuWmbVK5LXf(BRpDa`JjFWlsEhAeBh zeq4_#;7S5FAI>)BFi{3uB)?$vwqM5XvGe?%pjppYFpczcjB90BTvl8W7 zqZnnmoi)TtciUf10Wp$4Dfzc z0N1WK`8MPwtcfSP#?eAfbA_CN=+4}y`vf7Ny~^$guqBlEsEjfwUf@}xR<>%{P;b1C z<79yxdo`*VsDr}1PLhxV2`$9^^#s4bXb&q3C_uaP#Q1V@FCttC$!E*K?hSx(r!69) z_vZL=0TIHdZtad8P2QO~$Gqo@=wb%$18v)6zuL&=?CKkwbB+QrI*5uBbjD0=&YmFd z-;=hEK_1erB%VzqmGIrBpB`{rLO=f)SIdJUr@Wvf8Haz~i5FZYHaOqy-z{vKv~IQW zSOXkZF=Bc`W8_N!+?TS|&4&@Gg0(5LSciDGe;$-vE5l^Q6Fau6L(XR_=+hhAe$9CY z2-4L?OQluT&j!KkFOpSNZo8TNF05mLu8ho1x$(&Fhvw}2Te?cx+o^o>`>CD}vb7Q_ zZGG2VA(_v28$Zr~ByZ#cHVroSq^_nzSOEp^w)vnwm7R4D?*>c0A%GOl3P~#!X6lHa ze|CvV`EVHk8O``i)3{PnR zC(KLc&$`K$xPLTUg^4d>pLuxv!F{ODTN2n9%B)G-9Bwz zNB;iKaNAR4%&hzyGpKmSd*6R1kFVOfqXO@!gnv7xI86ahXWZ5o&cO)JVV;81wi$+4 z80LLj9XfJQ1(@E-ccS|Y#s?gCw$)dM_3zJ3IUQW->Ml8~h|srJZep4z${e*d+SitE z*Hq>nrC_et`S)1lIBWGZHaaTwrnJpchdq|*neBG46PMIE_9^)q6g#` z_}VI469s-+TGRxp6%&RcCUySb{6@(;mz|I7VIq{ z{yM~%?8x2c60adLNQF%CaqZ!S>i0k6P2@0pbLOfFlfA%1f)s_SRg+DzKT`g%rK6rV z8M4^BTVKfCHw6z=k@R|%U0#(&Hy9V0S|d~_M0UB5saKMZ^L}lTN~Ok9g=wB2W0jN> z(f1))k>y>NA0rB^my;sS#PFrHtderXCe7m@Qp#m-Wib{v*m#!2rp3Nw%x%-0XVUS` zjChWm&@m$ zF(Kr?M(9%B0je$6Gs9tkrS}Y;6iIO&Ra{8rMsntp<6s^L9b*IKE87JPAYuRVk0(Uq z3EVo}y_pJ_R4NyNyj1J`CTjMr`ar_3L0`VhQ0i@KR|WS*59=N#Q6`=%#66q(t7zj1 zR-Oz>Rrlp6b{q=T05kFu|E8LGtM-IwrF#~siTgG0^uMS(s?qRcsQ!T@s#F_~g#2|u znI$X@CvtbUrN8@PXi_6>HQp47s5lu9WBhLmy;V@ac_L}UD(z{^w*mj zD-+IW3i?ME6n=l@3< z>c0%iuc*jhyFhc>EDos~lxlsG1NzDTs9*56a72D?M2+&*A%)R6aXjM>=lj}9QdZn3 zl=sQi(f^aA{r`O1*lRTWP5ihm&gbgo9`aiw>*r{$H`7B_BJ?;g7}~t8}i+ zUom7=A32#4!XYa}aQggP$cEZlZy3?pJhaCGI<|a-)s%?#5%aAWNIsI11KC$-E4pu| z5`Im}b0a=xsfIwPdqUgPEtjQXo9P36f1EDUZ}?A>i^+0Xll~{_VFlXQ-fUjBhy-Le zKqQ1BO_k_gyicFTW})%jCWvNxp3J1hbPgRS`CXF|-qtFdisw%fwH~#km&%F8j zvO8ROQ?hnro<0CVu4VW{xGkbr_o7 z(`-;vr4aO~>R6%ky>BAs(bfKLG|}0?-Hsz2MMsYuGJ#tKQWRC}L0Ys+G{!o(MY*oI z2?mS%%Q*g97|FaLc*h@~n=W2$F!q_6(5)qw^o}t};^cSy*@#OecDvbY?OZh+inBi9 zhmF>HIx*Kj2N8%WzhkPSxaF3s?}+skgBD*~3MuEZPL!IDGyP{vopb0zB>GJ2?r9v} zzZSsIWwr*pRW|qKyQ0BT&(eysE@TA=7J#1Dw!Y&%+KvPlCm|(n0}Hg*xn}W~%rS0y z#^z-?(R9-ER%7XWvng=OIsrKB>W@nRTsPhF$8)WM2eU~oqo31^O?ydqkyJ&hF%CZ+ zy49g9%@jiShObjUnP(Z&@!Hkz=~WuAWHg&N)Mr0GZhuUbsg-nFQgG#~zJ+j!iOik4G*C^vK46bcwgHgrA&yQhe`9{Sc==PuK? zABuaN#4b5qF%bG7P%AnlX6N4@V^P(U(`TA6a7s6x(PTO`m;ET_;JFCxa`mcPYx$`j&;sX#@ zN~bKBgAA**aOjHb@25@sZGoCs+o+&BmMQgj(#t06^AP8&69#7KgSm~-zyRlfFjYU; zTxk9;bMMhdjt**~ga|RS#|56FWQf9eErpo4Qb}9Y>SvC-3#mQv+pp3vHV*Yv1TC$L zcDOa9nx@8Qk;3|Z;VE0*O}1nMK(Zso&x-p$)2IwK^ONNfCU+gFrme281X)H4!W)q8 zWwU{3WB#3%Q$iB3W~T2M0h>u{5w6#{Y)8(3?cLOP+e?oxe!E>QTkGvtmEtn-nmP-z()kgve%PNbrXQD{0tz7- zp#&?odDU(8!z%eaB|IK8oNcpUBhG6BfdBw6xP7yp3h&B&m5y`x!KB!}_?hY?Qo#7j zO{Y@~9UMZ%Wr4U=bzYTBS$orog)E0hX*6 z7{zg?LvCE7qFVuI%_vHpG13SnO2IM?p55xNWSHbvxs?56LVU9miG{L~d^*h!+` zhuw0+TjBk1%e&|deuu7?X-2-}kF{IBGF8vEhp8q~&aLow-V9s;1_M+J^JVLBox!8H zHO_Yw)>jqB`i8AHk*#OLPJ?NJbxU(E5ff^2Nq4%T@00@?@Ic(fE@wsOR zZJjF6op9jrp7tta`B0SFYoHj-wAUG2!4jnZ(Sn>EXdy<9CA}}Ph?($vO#_|Ru7CqK z=i<)SUwt07F`EvPVB6yzAgbY-Pbn%Zy@z+VFz{g{xIeFiWBSX#9Rac#{c`(RH9m8Vg_iYWwk z-UVWSBXx9<53G_hSfT$>=kSAKW~*o3yY&G1?At!1IOuW57h~++%plmq8#UA87jIX+ z7uZ(u%GTbA*~OSv%qP-fI7vqy_pXarmAo;n;Op-lH>gjHHyjl5bNG8T02h;zs@%|KxMzW6HCuUKKd( z!0Kdyc~zV2<%(Qo;CI$>+JYyDlrUD1W*EJi+iL4RAHAgHC#aRh(|h z`+e&iBQpuy;$y$*pejmlT~{WG>a2JfnL?z( zl`|9P7`gN41ps=Lc^82}6po2J)ZGex>9L!IV_5szEse+g^G6wh@=tH=E6?vtrT?4# zXWm;RiQ;Lc@b;neiJ-(sUHjjRNhbJpJ&9SBd}oltYdE!MMmBn+RlXvU^td_ zeIHl$nGK<%v=l9)2prs-DjXewx-UD``UwyRgKcJFA$M14V2w%8Vw=LsbeLKF=Xqww z!TzSFJPa=+TioNaS0nkbZ$w?lzS}M9JOzYVjHJ?Z-={P$K$Rrj-Y0a%0i1V(#`8V) zOQxK?<0IwG=AfkvHs$WR(Zy$~l>+iuRuQb3;&61Op6QbDS|!;$j_({%2f9p_to|?Y zm1Hr?DCu>uvpUi(#}kJ1`92~#yvN=->DYhBr=P7WNihkz2Y2g}ZU}D;vF|}}ZbcQ! zDd+)_633aXzA@?qo^Q(uYWrAUsJ`_5?>hs=C;9YS_wloG_FJh@fr7g0v$6S^%c5*s zLZ3z4KSuP+Q*&A?FCTs%vky`}dO%3Ii?uvooy`z555awy*_*MOW%F0UX*m2E-{3VW zJ^91Lj?J(>!6`n7aEPs{1Y03zT8BcjOrOBdS^sEzFl~_)OD#hT;{OJnyTc@I=zTj^ zu2IvZymc5Pq8Lm{%!odH#;Z@UH9-WXOC#HP)=;z@Os|^~(5@9NE9Q=`-Tcz3Ra=nxgX5^t{Vm#Lm57phoXOe7c*I z@K2WYREREhNY97`Wq;@*`3a?#(B1LR7&ENJ$BDbc5}fvI*Wf&Lx;qb5=rvx%rs46f z?HIkIYDnp&W-E z-R0|+NP?0QRGAA{>dj~LMIc{2pL@VMFNOU{1I-CdE;FB$Ps@$pNBZBl_~CDbC&++i zIBKeUC?Vx4z2BlgU`dCHj)m=mFSgzc7v7j%^=+~?UQ0?#4EUC@1pX}NOXuhHSxDU1a}3X zE5BsN_LLDTQD!j`p|7%8C?QP>ekGL7g?jp=oMg=i40KasuIv5Kas+&27pK70wHQhm z?2WfA#a4$!N5QMsMoNylb^)vo*=S7#3S{OwGi5qtU?N&7WhW1Q(@D&&r`1W`NIKUy zdpYb>@UO*wU@!LcQ|?ub**sMk)tO;~-JE`il<*4jMVLk&GujLJ&locl@GEvYSjn|n~}G1S$eBt!*&0>t+;h~WqDH- zzok69Et4*N;kFaD-N;+(`A2NMVUE1&&I7Xf$5WXLEqiUif-M{E;D<_9<$!IaZH3Sv zuasG^;S2ej(Ccqi&gp!10o7mRN3@`CRljz8Xm(Y+c`u8nlF6@%KR%(`48K2M45!2X6V>&C z0tt1Ye+ZNoWO7DTE2m;~-f_HFo{&&6G224B(oj(eP!u&CL=|3|TlE0;L!>8E*a_uH zGZme8F4(S^RUeFb1NlLT2%Ftc z0w>Q&5t80xKIY(8C;7s%mSnCFDR5LsJ|Xi-XD{xW^A!X!I#R0;O-*Eo!I`De-m0T2kvahJXwt6KPH~zsPgjc}zP*rXY*D#*K$muSSJ5=ym%K1)d59!i=;00l`Sb{C}@B-d0vE`*Zs zw4Fs4uSQh1(%9BS(e9sNx$h4oJ}qllt6#|TWVz8`vGzv>j|O9%-RjiHpH_LU_m2qo zTsDprO*Zb$fzn46RBF0M`9iVZ_AzMb(lXZz_Sc=vaI*%hS=d1wlRB3`6vFj+wT*R!dyNAox$ z70!S#b(6HMv_6l?aIMLMsKCk7z`zE z%~$@)HclR(O?>r6`=pSujBk3k>^$On=*IR-MeVIum&5#PsmYOdbc9`Se84de!r_Y_ z-4`rox4K0)eg22z8y2*omQwGf&t<{9F8st_@zWGcAF^l736s9{NF|24CT*u_dt&+r zPaypc_=g=?9xjlA$48>^(wc+UQ?!kp->(C+`31fEAFgjB09#|;x2Y6H)l6w0P<#t4 zfB1Z@#l4p|svno43z1_$#EZI)~Q%%i(zKp(Vwz+N`4rK(4AMNAGJ%t`ZZl6O9f zSEtVcx6BTE{wb^6ytan#z<5$Dp`mlvP6c3YZ+Mn~orpPe`u%~^+Dt>&?Kp?uVittX zb4Z(p)U!Z3Fmlf^1sw;^aT9Ou6Yj7mXbEt)&mhqCb&(uX^CwZML5R3`v}EKz-h)O} zl8$}IgXJqF3u-ca{qb%&Uuebh&edVVKH570&|nWDldpsC8%`N9mv`A)&Yn4pHXgX( zt2dXQ=T*e0f%fJ{Rb!y%+stJ)%V!ko%-htI!cG^)qMrq?RsZw-#`gWmg>aRKN+W>1v27!lNcq?BTI$Pn*ku15OIM73@4ICyxer7CTEP%kE>D%-&B{wVp8UT z9oGlOo4&S0bdwZWQ^g#-OB{h%A(ROup3`z7|$eoh<_HN7PzxE=sA`Kb-?N7B?#z4aDd@q9^SM zf?f`empTN(v-BQP{6(W~le|vfv}|YdyMSHZ@K^W7NBy6sy4y1UuqykO47kJI zdz*sqI~sOJ#^qieP&b-LEav?LasHWndU_<4V6iJ@b#WYmYY^1F$ zK*gGF3QVv-^9S!4h5vg~$A}rt^fPJ`W5rN1mbuX1TV!!GPlM0`uS_Q|Sd`sF49x!C zw4y-6CmgvijNGXr`D^1x1_ev*2~pnf4c_ce{B(a`iwzCglw*?|boybz9_uP(fQXOYoN%*bzC2Aq#?SW^5$^}H$u&BC&#g$-$=NlHM;c2Ch=zTI8$M#xw zE=c8g*^jmB%tBrYh3xKH4f9A^Gnt{NZW!!@^$1>LnZCXtj}Z6=&MYv1avqaJ0(ps5>x8 z`|ifMnC#e$`@lMS94GZ{4Rdi;4}&$%zkOF3XZkO9<39)UYp`_2{bn5!ub#!kAI$R) z509_xeLwuhFksoWA*flPO~9tjtN#0^0Q8|eyqm#UXAz^uaqxpd9Vnjj<_>7R+*;3R z{80IMp;fEm=uhtfj^$_#2@Gx~qEw>GP4lWF2+1}&au)UN)|=%oA5KT-*lNx!C#u2R zAyG%sD&UGm8XGCahs*@*Tr6J5fpFK&_^qPLUQacap2?a z-mQJ4UA29j=cIdnL;nenBY}$T%ocyX-Ad? zb&&8V^L_thTDXl~LQQ@Iqkfy)(E`uZ!v{{|ism;pph1f>gze?3^X&+Qq~DxktaCba z?b?F8tm1T#hwZ?-80qi~XHKo0gHw6e5uIbqpvu3AZc8i`9x5!s2QcL;5%X^nT+w8Y zO@w)7Di)nmmO#RqRt&DBL7YO|f_in~A0Xbgh{<2`wG+tpm^9Lw>QT}4!eB6#zU|^*p_`RQ6@y;t z;p$dHF`2s@ch@~o8lBcuV|C7?aj}DYx_j5DWBBEEs2Fr8Rn@++pgcj3qcA&{d3cpW z_!rek5FA`!nC*Mbfa=yX~RrYje1S5ar}yyLizcRUvE}Pe`P7tw$`>-j30SZtVy&3 zePL9CMFWf`n$$=OQs9eMg62Har-3MXC4Kze4Cxxm>(j+k?-IkAwxiR;O-v~gO=4D^ zOM)D+m%OKtwcdKdXyZE-U-(SGI9rtsV)vZR;wm%HYemeetcLD) zJqc&5Ve1&h`YhGlZ;KOd-^xJ|-KJkA+myC7z!SQ8%;=CweRg0joVNPuE{!fy2oZfd zQ}p43eOq?md5)+>%Xfd8Y(Nj&=VU&)zu7-`PqhtL6rDT#6C4b6sr0cP z!$C&aJWyL&@>!i`#E6=n5I=0mqqk6Xo%-&RKt*}!#rMc_Z+S^~;f|aT*U!*WD)wvG z@i|@x(R&s+b>_SW{xwxDPIf;-MJV0wDY6E6kV^B$XHAZ&A`w4b`b86*(q?YGL5I3I zBR2z@iux=jWpg1Ut5XzfPI5^dEqspLwcu)qjMO*Y(OA-JDYBMQXDG#++KSd~zSM}i zGWF+ir^Wef#*PFA^VQ1ijD=a{p*_^ZkhFbu?p(y=mBg(KPp#OrC>_;u#RLeN0%%kS zp#*%Zs|FI zAkV2quS(+djr~zT;!bgHMto8O1v&}b8c-%oB+AmUF5wWh{xp;f_@8Oo4`Kbh8 zof>SQ8jaHMk#$vUA631*wJEYLEI2w1*oePQ-|@b!L{rV-L!lbbR5;Cn^(G0XD*qG` z8{&NYMe39ICS7*`f$*&@#cyZA^HvL z`_?am&#HUN$_zW?NYJ{LtL-R#9$#74dwTGsNH@H))9z_B_Pg(kalSs`)A^LBCpT?v zP-PM2mn`bF8Ov=<>7UrUNEh`j>d{UZu;KCKPrZ3e>*)il--1AiOn|q0d#kA6@&1lK zJ^~IMVS0Gw@khE8yB!0}aW^-QK8$m;3%)QT9Qjd2g=picXCSvi8o4p6e9!0JeEh!r zyHLYzK`OZ0@vy@%GD4W}ZLu>kgtGimH`+QYUBYwWzISw9Jj;jWnRd2kF#E9*DbJ?` z-i^g#ka$A02X8sBFvl~ckKEsx!a0AXXk#6tVo1XxiBx0y{+wCNWXTn}~O5P#evAGoK?SG>5a) z+lr!hVh*BqENyLxLHDSA|@!<}zlm?Nsjmsuub{q@q6>LG?&(yUv|v}IA0 zAxbdB`18oQbC2Ehp_Ao9kwN>Z1JChVD&-Z+X0^z-FC}{bNqd( zNXc2l*Q+|LP_4CTEjcHuP}?(l$>jBpRQ4Y=7K5J>QqD=sg<8B4ZO;Lhhi>g|=DWIj zR-*n;b=LCbXs$|gGS5v)f2U(&iMNZkDM+YgJzKgton2;&W8(YY<`V0{3tOu@cbje- zOVJ)5HHtPV!yb&9@9F$pmio>8eVR62UEZe-xO5#-AGXF^%K-Zi=g5d?;9ac-oBKQD z{ho{|jZs~l7xp(VL1zupDgr$6T{LBmkuSzfc~9BN1~^QX4pzK7m-NBl{7 zNsZh7m(9x@`k9UD-IDZ2w%M+aj=!!nRe&R#KK}TOz^IeHqf0TVwz2gh^&e;}Fd6?a zEAgPPfE4rJr}yTwdl24P*;aCvS?~n$*uN8#?*h<%#B@OrmfI!w&@#&%E{O#FM$yhu zPUcr#4y}A40hX(s=hqj2LZUS?)UXv0FUAn z6eqx1@nBONr(t8a_XevMQu5^+5Ej1|Mjh@+D^$t6`$2yC3uT>=LpM7WMIT${x)~W9 zA#e&J9Jel4>VZ?=JBPzzE{piXhZWsM!!GG5z$e8R>`SV~N1B~b=Mp}CHqUY-8!Ujd zq%(_x$fkr2Vigu68pW|swhmtx>JC4lQyUByjmg$8g5%@Ja0kv*e>z zP0du$%p7FWkESLBuAp1gu3AL$va~YzoYXF~4o@WSbqJce#jpG#n=OP!-FpYr3I=u5 z3K%CI9oZDT8t+hXuCq+tj$Tc{pF~{9u%aib@Td}U1hL}?7R(#7^IWD$h@+HRvFXN}tL z*Z_>eO(R@POIn4_hw9EBcHL~d69rGc5DwQypMgC=u{&~$A?&|js*u$-XZTi>PT#VrGH~_XF2&$%rTl=p^L3@c z*rd02)ldfn&Cl|~LPhHSo2ZT<#~dGzV?nGlU;EMeRUjaY!~vIK(!JxWbf+hEtQqbQ zUd5qdfJdR?vrVaMXPMLd98R+c_z2&&?Zh_FiWaH8YVFXp@AX>ChXs_?`jolTT{n#8 zt%YObYoVEooR8nWNAgAPcnHKSb4TvG{a{nE|81xdsPOK^wXdh1?*bzR5UXdP9q{8p zMlF>me6kUX5D5f?ZaMUUk@Tj$TrnyZD>ks?IUlr{je1udJdKA_cx=99x(4)8q0)=_ zaeAa8mKXbaxuiEAxfAN&WTQ}nc-O~?;V`?>;qmwdWE=dh4ojw6N4FslGX5pP^e#OE z%)1#9C^%73u?Y=BdnPZZW&#Qg6=JV%=&|gGssI zqKLnZ@RB~-SEynLz}qkP4JmTXBHhlEy|ioKe>LIiP7F(0rK`nPHb6-6%?V--f6#0# z0y6fC%H-u7EaYDQCid|M(yh$?2Y3itkpG852YnOiyBn8WdF;lVpnJ*{(4ee*KO^I3 zMEyXZKnPu#OP1%B5!2u$>F(N8hasdR5D||StJ9F0qZ5fBaD+OLjb?^Z{Aj5ni8ZlnhHQKMf{_oC>p{E%TuVNQNM3#$1PA>=gD z{=RnUUz7cvjKq(DCrLRTCY9*XhFOy*2{=`rP7SvL3rlY6zE+y$uYcmg5W2EL?y&7! zfFq8=Mi4Lod!Op9S;t=?)PFsHxq&@*dNA8*yu|61f#04L2xXi45yLN3${&i{IZr^b z!>WAUmR=Y{oL$e0kM+Z^14SjX3x3FaU3)->zbTmXwZ&Vjya)|;t932zt6L&MQ`}GG zsB&71IxoTx`IRo}Qd)cBQZ;ntI5J+0JF8PfeI+rEqrYUl?m(C5QoTI1pGCQ9<66k7 zTD|F?i(_Q@J4)hk!I?UNThtZF{JYUc)#oLD#l|baT-lMS!<^Y!N{+chR0Kxr+87rT z+KtrkrH&xB0!hJKQf~j?B0sf=Rl$o})JX)aYRL3H+0p3MgH??WIgvJiVn-v)5GCBH zq@$w>n{dCCsLWqqm`C4ud0pIj@0X^ zUdiz&w_Q}4PucRe7NN6pZ@M)8elj9hZC;!10|S^{_bqj%P-Yc3h5mr z1lcSz%OpVp;W{(D7%(>MfaD(Dg{XQz0Akv(+McqA!Ey@f2htz1>9s=1a92PjLVyuS zWnL8NVEU(o{+o3^EBM1k7#pbwp68#s$QQ^JI*uBVhzmwD%NJsrrZgDj6=+7Y>5)$O zR(`NUvLG*^b4TXPilQiOu?1)7m=b74Vx2vfHM*X<10HH2J9=vBG<*zo^)jXB?{yY> zQ=Aoay4C)&aR({0nuiT)eVUu%7?&HUvcjC+jhyNq(HHehT4imf?{6y_xcaIqx|Z+Y zJFR2Vb91GUckD8W-o)H-sCJh+{DPC&57eS=V4rL(_d>CUuvLhj1Hki@KMvf8To$RZ z(*ap&I)5W&tk=(u|&cKY#JG;8if{11M6XnGD*ST8kG_yG! zeE|`ie5DD&O_#}7y1=!}i zZl|-qRYrCM=2HIXn(4Ho+9~d^8!~;BIoHgCxdXTmIu0G-SEY^@?VU&E7u#tev26(mfH`&(Ar?5=x684Q z2{wqX$$ewg@`fQ)n9ugjzxIUEzPy+K3LL|WN*nHZ)9Kziz6+h{dEpjX3&XDf>Rw03 zuQ0}P8QgV7;+J5VCnSU!le2`EZ+_gP4*_`rX@3sD-}Wr7Q)XjzqfBia>WapC5ycrN z60|Qg*z4B3m(06!EHoJPhM7BbaLdPRfIU5FhjSYo*FDXLe_%(PM;rkFP{r5I5G|XGA=jgy+JC7I1bQ+f@)EmzEVJnEVSP*Wc>7!t9nHu)fLv`VxKcyHl?mPJ3nRbf7m zuR1SJ%&l{yHCL6i&DCzX9ni!#+~L6QNU;zxXtjIxH!B(LVCco8lZcH*wS?_$ik`rI zTBCcx+Uuylgt%}?lG-B=f^gLi=2Xi1b~Y@p^YzRg8&;kw-uh^S~TiUD;n-8H4^J95jOYb?Az~?kptWmIPv8fAL58T_l+dR-3@o&j9Ipq%q+ z=YkqzRtCZ_@tR*Ly+a^aS0EH;^CcaEekL{xCyw=EO>2xgbY_nsDcC9vVO7r9j!p~X zTNE8Q@JMM?0m{jMIsDA|2Ii6RIA0=D$OA8WyBg&`0;=nXrK&r4dKrCBsCbntQGkeE z=L7ef1=M2So?vC+YBTZ}`}>HRdc1KG6(E9kbBLUd;pH*eCX2R;pW?e8I_hE?a@Qs> zQRRKW-SX(QJeA@Zp-v4S59xWL1udU)_#hAF{Dxc9okqS_m}J_9kG%Q}guUqI&%#x+ zpm^b!P{s-Dn!?7jjKPuJ{Mw(&r8KBKVFgNbuIed{P}qq{oiP_#2&1`^!r;qr@pImM zG~aAL@Qk9Ary64N=Dn>{8)Y0nqxW|LFr!q9m;{4RT_P0UuLnsQ%$(+3REJRj&L;!h z>u)jKCO(a_1QmsAIE0vfqGAW2x|L>C$*UED ze9rUgW71qp-xYFIV0y$04)?XiC>v_2E9FAlP97q&Ltb8(P)mIguo3|G*2 zBcy*dQgvOT3TFoM2K;sXVcm@ay?sdB-*Cr8kG^yH_nN@|x?!R{n9V2KBlr-aPxxOk zrtOzsn#Euk!!S98-N2FK5C zKUMC-vg|v-NO5YcZD^KH>~s*Jj6nx7mdg884->iy#khl*(LZljiDt(nV()UIUY=?0 zyYX!~`xjA9=`R#_s*&`f|0u=sd;sppWO8q0_85@yNVp$^$6U@3+a(&Jghmmz;N)wH zH;Q3r0ZSeSNt5A^ws-jaLFsU?ruTSUkKex{YMxpI8<+_vmwR@LI&Y?nw?vSleT5;4 zs$8-^FxFp|Eg5CB|HWBF0jd{v*XF+||0&7c;q@)(%sE$CHE`JEKu=lGI4Dz!(GN(3 zjMw}mrQ5dbk9b5W^n4DX`M$`K=nsPmC|Q6Ypa4fm%)v~mBYl2$50gBxF!`P_1DTce z+Fqy2t2%_uPrbBkM2MQa_OxJsPQiEfnk5o~5rmjn7i@cCTK6_VD>1!`H|sv$clSLy zS~aJ?+#je`th2vtUB2`UZ!hJcDnJ9w-^ICDO>|m}y+^WP9@{>&wEJ-FyV+?I+ly5{ zCYhlQGN!1f+(YJP1F)`#B7;$|g=co}%+HbBCn5@0E`M^P?C1ly{m%wGaivCx6^2uB zZ2N*phN${uUo|0`#a}8*jHv-!sRTNBd_&38CK}wcwOc0q4(gWY4t);?INuxC z5d%Ay<0>8FmPO~9`R6zRJHgl+T|xt~vXTwM`}48}#W7S3?+$c1TttGD24vWFj9aBoD`?n<`XSfkPjExipNU4*5-1jVtL(kg42+^NwZn zd(^!%^=pfj$i#xouox+VKAl4_8pYwY!I*2lf&12+(0N*x4fZ+S&<&X%b)*lAFf!2@ z+78$zp7%cX5j=4_f8-V`L-G|aE?iCrZvXgSk!NKj0QH)Ie!->7E8*H>6I;QEV1Bnd z7?yf3|wI_!O$TDi!^%Y3gtkJDPSnM%n@gcUI91$1h9X^&Ln@1n~g)QrfU z8zEGRxxE`3#OO%sUw}G>78W=Ev1ck&H+(^z%S?w8wMX^d_zj+c3tj2FYdiLd&i;L+Uc)j2uoLp7 zE9sqpTaQ40MSG19+0Ejd^Y{$gL(+ttmY%=8979z*)K zon>vx*O+_hjEsN)ge88*?77q6rfqdC;Dkirt@Ifw`*6)#FuZAAwhk&RS6%??~{4#TwCDeNih`W{$Xt)==HBDN@3IRS5UI|0&blzVG26C%c>UW5-_@ zaFROpcGmg&$nZe4tnX6DV{o=Gh3~@~9wt?l#<$@(Z+>1PT`qa7)jSLBR0yYb44M_1 zVa~EdIvpU)F5Qy)!4b9_4>j_TL;sV<)1lpYpJF306430Nd$)?k)0A@*kc9l>1*)_n zffXHaqQm|#B&ag{5rdDSh7E^+ue$qq(-qp?*LSxr zCiwN8GyGhozltAY5%0kdSP%DehJkwGiARBeP#pfjNH>Fayt#PQ!yWJ6WSAPbDeIV% z(O%63J^`@9*8!axzmv5+Ur+SZ!IlXH>X7hRIf}e&FS7;aN0_5l9HSf^;RA(*eSJ1UFZDk0hgXu}luw-2# z5o5`p;84vAK$nFA=P1o9swe{ZuoEJZY!IUUE{%2pq3JMPj4K-I_quJOqFaMI0+9*^ zYF5=|qvgtmD9#)d_7IvZzLrCWd)j$Wj^U&7P;mw6mI3f$?x+a)5 z%O#T3tlC9WzdAZ?<8FO0a_Kik`30P@wcNnEg%AN2q#|;VDQKxegE^I@7?AtmWXZgD1s|)TfTNFKQZ(*kjUcs1Uvg6wi2uO&9_yKY zi>&&q7uOI|p#}7Rk({WUVQTKezH16PyMzC1d-GBXZ1N{rP6pP~nX9gx48_f4miK089;^BD}}e<|zWELug*uNc9VDZZaZEC*S^=VTeNYB3f!tK=CE{F#Vs;lKkzw{SgCN z#st;>t;Rfl*I3brR4X&Xb&mPtpBv9hWU9{J?H-G<{(mW}_zNx!YG@20cMS9W`Q>1K z$B>n#GFAH6pB>QEQC_w(e@)IY7yfgT2t+QNdiYhA)vcOA{>Se~>jAUV@DkcquMPkA z0vgL$AmN82Bc374XEp&RbXiS~B^Wr#i z_Hc1zZo+Q6+&JnHG5fn7turL1S4iN415sR-5U3pUU>%Zu21D-;y$k z=9Zcm%`95g%Txj5hOE)46^W3c0$P{t81+(L>y|n@v(ooKSI`3IpBr(4IM#0so1ka& zA_208Er3pkW$?wXMP2(}Gir6_6SPBdxd{VhZ^<480Hu0uQQ-MDvxIGD{67Xog17)w z5a#$`q|3mT+ra{!5`@3WGBsL7hBDwXNIWTWWYJ2{J?D%iTyE`yI@UhGo_xFU~Z zE#>A5QL!dF_j6gAb-tGYCSR>2|M&z)y1b}9^Ytb#Lz@!m1h=)hd@(_A!KU}nF)DRJ#at2q&2a1_7uhQkWVyT0@o3CL`|W7&DX zd9O`>9{LWdD`T=6^SMH&9y(l(-6zg4{M(2Wk=6Z1BPXqAbntCw!6=2QNYzr;@WZR) zHk*q?l_hl7h2TtRZ`(@;)n-y=CkP)>c^m4ghGENDf$>?C?ABqFBB?^MB|lLZipcp| zl$Zq9eqOkc!y`+u>#Yfkj2sKY)Q%AA%?Pzk%(-Mq^gH}BLHd}=cZf1530F_pq*AXoK4b$AoAh|c`5 zYsq}}f!DI-!@9^+lk^EcgI?3^RJCrKwB?wg_0-OAwo+?DH3u{UJ5>#0DR)^$SLE)N z8;ZLps6GeG$>vqcgEGhUpj>7)29<0+2~L||o#nH(pMAaR71~l8&3iX*oi9ElTZb=u zTwn%dG`a21s~W$&9Ze3cJMLEFxmO;H*)5XF6oRo&SYK5p{CUi5fGFs)U4iy&-FdlQdUehs{ zqqOmvS(EYOol{X0aXq5N51qC)kB^MIrh~Ba4{c82-IDCtshZX9f~6&pa2yYqrRKwg z%Dd-{?w8zVgSHuW_qo(O_rH=jHZ!qThwYm6IUoU9w4{7b4Cj_gvkNmk!=u%mEE@iq z?BSS{P?toTVGR{g)~%5{OWoD3=T9R1CvLYk+xo+abkQO_YuH}*%PNY3U5`S_#fp!8 zwq1>rZqC=)eq-JMasSg9B(L>_p~uvG|dPgaJBl!MQvQyqN2-VmSN@}KQAP>wt73=Nc6#oIWf z*e!W{s}Kv|<4{mNX8Gdr9g_Fyfz!RDbfW1{cxy|0B~`~|TjB0vw@A8vko)A80nN(F zuSM~12~O)+AH=ROZrvbbj)~sIUKLM=Q{|?JrK!#B@7jEig^2673BAmo2xYihc2D>+ zz~?TLzUj~i?#>jii*!mC)R5uvsq;wcFJv)nFcx?RWydAbFN-vC>(^{jK8vztzE2Y3 z9VOXXxG~x$DKd#Py)86;%5q*?Q_HwmqDi{?Rm)gl-WQKz5nU1l&Ey!1yP2c5r_qm( zrxdf+k7vn@Qjv7xtq2nGS^VqDcB;?*{@pY-iXj6yK zX|#&O2Rk)X5*d!H!I#5lPncI?eETV1*M z=Ve(3JhDLv=)4wIv+a5M!8lxcvx@Xgcs{#RMNUVSi)ruhLlT^DEk`NXD5D0|7eyI4 z7@k_YZG)YUlbP9pG4*w7_$kJ47BnMH5WDNzRaGI$+bGeO_q}B=`i1&^Lp(1ho5=5J zbsKk#Bc9%T4Peo7;Cq%v-Quznbr+GZRGIto(2eJpBB+7Dq+ML2!>^apCL5p4Ir&qQW+m}RweG=IHnnTEEO-p_DUvJ)52c2RHHm> zEQ?pgyA&Ui({Zmz6eN7S%h08KD>VdRO4^2sD3PMdGO|*KV^DJ49<9_*8il`Ujj6*Z zrNIe$F!H@+D{!@OmWI`7`B({Fy?&R$;{ja2kcR9S#U)gfr5`MG)E_L=Yv&N1h-F_s zIxqpKx}f46GliomEMJq^4SHFH#T+F&i7vqvNpe5~)tLLY@h>0k*hJ$g-q6oobS^VG zvLth`z@P1;oZ`|Cvo(tmu@nZ^AL;*X^%tlLU6`k1$@g&!MvwMp4h`pR$G^*l(WLeJ z;<`;a3JAB83$9b$E=mw9o^<66IVqct#AVp5p9~+K$ZqRMG)!IMFIz{-X=5ae7q83E zY%vX0zdJe9K=4|ZXx$j_lP9lkQ01GcQX6EPORc_B>7?LQIKM;0KXreM%pP`n zbH`L^&^avyit%Fw9Wu~t@Nq<5^9dygL9#Cv9ak_1Hedg!zeb|<& zhW%i^s;a@kK+n0<;?>?S-0LSn*Bel68T55ZtsPEjI=wZ^-%Bnwlu&EibV*`RzOl#4 zs~HS|!T0^bS5aZ@tCeT-e97eJXK}`(4&!yUnV2u#Cv0iA0=+63U%`r~yaO^6pBe44 zE(yPN%>*(3rA;~Vc)h|7O|(wQ4ai{5V!T%9^L0= zG;}?@))l3Eh(n{?s|P$hjILWgw%>LVqC8S`Y8&3IzA)>!K8sc%MjZ;LXjf=;wRf26 z$v-WhTKP%>|-qP??)#l9}>viAAGZP{}!1^>c>5P2EE1 zKc$BuZ{>&-j|$6}5S6`V#QKa7#I5EoFx6mT1);`M)~$XGji)4zE|T38)=l^J{%hiQ zwkR3f&MP$+$0^*u#xWu0-%py4grP!ZX*`_~OBiOjM0&RmPOnxTH;%q{9^!M~MAru0 zgxcd4k_r1ucII*_<#->&)vy5SKQfh;%mz8Kgwdd+h9hE9@bBuuh=Tq)|$`)r74>V6j^GpLK3lHwn)GTqh%Z8D6AON z3-!0GPY2$ekd zCMHn$SIhjE}`DTE(h za~152U)62cZkKVj#7s^)Q*NxC(Vgum7zVn;Z0hUfa>zOGZ+3YI`&qi{vLDt+OZ&C; zOCL8*OgFe`-1a9Xz(k#$Je1JZ8o?=7nD`RGe&H4FN7Gr+W%}Hs-if4Df}| znsM&pfW%#-Pt#^L!xyJ5rx+^@6CfwqN%>q~ac|Y3V^}*y$Y-)!hwp#wP#;M7x0TYG z>?BiZDKM`HtM`htW+``dl@mIl3ht>_Ua@kS*hNUdTV!peh&f;s#PsunOV_t;AyPEB zAQ-(l3yzg1Ni%{g8!~A|@*e?O##`0_ZI_tf(jU+8XInLGB%xf3QGDXFLyYp#<)r5; zMA6@Uy_|2B!uawzOxWJFfZ(`Gr&dNHOBmZqW(TFm1A@I9;k6=X$~F0phUGp1{IqPx zjSfEuOZX)fCA#6)^UG#!Kh9I} zJ(g;8?r?_`OD=MBQCK%Mw(XJB$CJX+-dJx`*Y2UQf9RSK^SZPy;Y;u3I77_AS98df z`9(uWk+xyqUX_GK$*Y#*zYe?mqcK*OQj2>wT$PC3uuhi^J%As5vH3Z#{caG8_+&o2 zYBn;W4RH$_>{M@g%0$iSg^VZr)lA=jYm^&L!!fWCW=oGxbFgx?VH$wcD}=?vE#;rJ zDa<5UE8vqeDfu-n(m_P$6en-|jqaY1Rm6s5$n?0WZKG^+y;W6@5@}Yr&v*=OzM>>q^APK>4*7!DL!R zWN=wjsug6aHo|)R03ixdXMN6|7|qT@Z5!zir6vPN(W0DdD?Ib+q%b>m2IS`}E99iVbFRTY49C+*RaKY7TB^xXwuB8t zy>V*9Y4jbF_t$rY;hl*k`0W?tb$pmM&dmy!Rt;babqm5_ETm2+f|nmuB<8u}pt211 zH+IJV#?5QgT*o~)g3*PF_svQ_dmZ6tFuyjRts8D*|Q$l~0)nH8L`S+-l@*=3=R-Jd_~>aI8mt+%;CY&ETj%nX#o{CZc-Gr3!EG_+QLNv5s7fONO@qq~ zKoETf+1@!sL!GA`ne;&kBH(NG8JnAV>H@1=@1KBciQ0$+wa5GAYLq^+y^PC@_GjRp zO^&DBZ1t)+pm!ejR-z|@=nOLG%QSOIj5(=&vK=IW1ena?)y_*sqx)9@-ON1tRzsWXp{g&9> zF}Cw@mb6fJMt)mxGPVaQjR-fg3{B-6em3-!+#b`R;^??ju3&DvEY%}D+eWtkM8I+m z_w>>rj#)P`ego?;{H#X#aD*EQ-4Kg<=QG>o!{Gv{imAa#Ce}A2dDKFmzbUJ1nV`q= z-z;5Nob^q*6lyh2B^p4;O|RA%-Bj4}lJdkk&rhn}AX9k6*1;a+9+0`d&CvDR^@76dV-Lm2gs4%IlhPjvFHz|u^dh_+ z)IARA%6^8Nxu!5vQ^TL#dgkRgGUS{M;h0%pHxCAf)Uj)0KXe+P`QY?%3tHvjcVI*-|EqQC3R3_h2SwFL1WZ5m_?w_I1ub_;aKvt z(72PJX1}emFNbuK$99`d5K)FF9UzXZ3sl55GZ3=sA>pAORnyF`y0yw&@bBXtSE6_T zy@r!dVFo6}{yJDKpBt(4xJdE-c*?KOffF%(y{9lK2bDRL>j}CY56$-rH&h2oE&v?X zRrkv@nKMSDoII!5u6JuQWeC^|3CblL@sE~iqUA~Sk5xRXujuLiE|Q?m9f;j0$~y?FiZG$I zg=tvv>h%x)JCPUC^Cj!Sv8ONTJ>LoxX186vje-2uhm@u?jnZZ`8a%+v4vVeC7}yBO zr5}yv5ZTq1H=UAZEWSF1CVRRJ9d?qTNHHE!2|Al6ea-RG$yK?Me|ivw6sRt_>`X9G zc07MUHV8qcq(&uR#U|ZfuK14GA2gZ46aKSWTS3=oLF!J_@hjNb#i9OolGsJ@!Rvtt zDgk-w9JDUo>bmP1G|WDgucTdY61?HK`OC@j{+k1|2qebn3M!<`Bj&$uKAFI6PAu8K zo(xa_jsr}cD(}Tdz)fLJNh=Dd=0wpb40d~!6YZbFsXmf+emYq&(h|tgX_8zo2kZ5i zVpUYm97kP4;A-|ssNk?kY3}2%vf#3Ww{k2I+PSTbJ?4&|#qwT3@r(Qh+4$QHkiq5| zM4t?tdP*su}Qij4kCVzm(xU#ovJ6PkcSI9nr1)$cAmI1VHxq(om zu#r%|g5iCm1g#7KGIv3@E*V5V<+Ju&nd`+%wUEN0(@3u!vmHKz%gTStkA2Cg=Z5DFq79Vwz{Qhu&DkVuMCJQnVQvA zHeHR4i_|(H4I<90RL9dwQ5|GgEn;}0F6qjq8mL&44Z^M=C|@^^XfTuUrS||oMhH?v z3eomw?vFdhDZ5O65mJ6LxEB3ri6O)Kw%vsEZk#CKitgvYZBE-Ak;MYoD|&30f*&Cr ze|&Z;_-E2}xd{fSLM-qa(H>z0@6{hvBrHMDz{a?+O?NZkhQTOEl z#JYhrm?)axoU_+(O!6wi31=JarbP-jYSj9?WlEQTqn9vHR-XHjr$t4lB!yNgyPkCu zG{0lE`6uW`mCV$6oK>eTy|9L&AxPlf9*y&*LLUO>moqPG)2`XdFSq#NhJGa0q_!P6 z`=pb-suc93+FOni#%IamTk8sw*XXT2hkF)q&yJU&q-^wuHMkkZh^%G^27uL`-Z8;U z&L$6QqgBNynEjqCLEm7MeQJJ#rCwh||M%tkk|&s`{QV>$l9MBqbIncB+oZKG9NK_N z6>bxh6Bmw|N?(JCj(U|dNDI2l4c;`=%@hwE^cPie7iH(mAs%Drt< z_2^e^sD(Rxx(Q3fg0<-?4ul74wi=U~zTBW>-*8lMuN!pdSdlX;3R3y~G#~tl}>R%@ETP6;f zN~7*?#(Q0Q(TOD@;)}%VA;(z7T~1sTX{mIJBR7&yVzMo{^9-AazYHaf;meBZ=)Qv6 zCO`0~HQmYG=Tb9Y7831ybrRT^r!ggr=R9!<801;ISPe*a=pyInQqE?d6uB;Ie;Py_ zL>EraJbo8zK?E=weNGmIn!Ux>KX(vqe*0{IL3!mBws=P_>f6s=cB-AMgE8~Q z6Ajz^DegjqO5q5tYm@R85R#6p6VsTEn(_iAU%UvYgeq;2S2tnra*vUcyCiDA#3>l5 z@w8B5pjE=cWr`(Ps?(^Bykj}H1?F;k!q^XCt|>#st8SI*F-?gLyx(Yc!^CJphl(A9 zFEaeR16`?uun4M^e}i1K}8)`A-)q?@fIPnSa$MqNft#h1f4;6XqD- zn=M1}^_plaV?U?@a=yH?&oCNzWcBZ`fpVV8j6JvKf|m;A^-o~4X{x!R_XcnMS-t_w zc+AK*WDACdpJh6l#m|BYeU{mmEZJDoWGDpt6CX$4>brgud$v7c>Ep9swB=X8k6lKz zk^Gv;sUJ{jEL>O+CKGgx1Gi;AgDi;x@3mcvBG&(*y{uyr3Bd^oR~{>xTn3)=+ovG{ z^I2O@p8=)HkQ3$Tw1>)5toz$?qyhbgiQpF!5k+1ju(pRhKihAkAFW{t*AUQJRNhRU zVDfL-c(2;Gf2-R4F<=WT#zLQ*><#RR!W{v8>y=g*_h@8JL9;sVJ6#{hE7oO*Q$6PH zXJ&0~JJ}+<`|=#Es-MWRaq=1W zqqNuHSU$K>3cS*QH+2)C$&9b!Y-biKM@5Z9)y>I@mefj{=1uPwS3&u2_+0k@!}k(L zrIt3CYB(m)T!<`ORF7(qogA!02BR>rNVZvdP^$E}PlY&5XY6Nmda(Pfsg)N#Z<7$* zX&*4*&K?Yhd-bi@y6mWdQwX$mg~%JX;ahLFrr@wRPVY`bkKm=qK-AMu?Wodu-}y8p z13{n=+|Wq8#odRg*fD;~b+>eEv3DFmV$-c{6fl`VYdAV9V0w{$3}4UN^)z^INs|Gx zTrBWmSZH-?%g7*R?{qY3@F_HQKfozI8RxmmQ?;T z#k*Zuq;0xCS9TFPvCA|Vu_1fMC<>iq^lUDH)chc2;2l270M5aRk#qsNWUeSeSdljB zF^zlWjzX7a(sA3diMw9SrAn2K#kH}0Q&uVKbaVX_HDdW*oRR|j=9~EV23zNqG%?Xz z$JJy7DnZINPt+7L+LoU@f;A6fK2|R&2Y!T|5+aj;mzO(0(;K=d14W>=Hhf0i3b{an z4+>206Q9n6It@8Ng&q;eZDn4*Q=cY+lt0dK&$v_glFq$i$xy_T zrMW2DvRttn0zbmS_;h!DNbj=E7MPjDUavdwQC7XL6IN#LSXG`HQr)2{>0+g#7WGYZ zs(g~ufC8BUD91zK;|-hXyIw3ZT6Eez5r*&+91e#hkPcsr~~=YhJGbl$JxlbHc=MBOg7 zOURY&QLo7JBkYQ> zo$rKAqw`5kX5Kb>hybJSLw8P)WMMEV-=v(U9m(&SK3VRq19;2-gH{w_3Fm!4M#*kJ zN^KHYWCBPDqn@#`S?=&LOnhyvUX+Kj@cBH{xkDPwH3WrQzCQ1gT7f%RS=D_Z(TbTO zxB1$PYazxirPdH3ZFRFul=d9SA#i2|GBnXVknsq)0pjs;AyhX15X3w3UeHX{O&bsa ze?InFo@)=T>hqw)x8m%K@^VPd2Ou<2P&mO31oS)mn8v?MG(VcZO+q6D4>?!mz3y~8 ztvk4Nv&q|&6#5z$N3AN2{Q&RxjSerIklm;BphJbu10$g83`x{p3z{;Dg#o9W+s2j? z2~lVod&+3*1Ilathd&KgEb@cbrI?P3XZ=CvMOxNnEA8Z?;XoGZsL4<)xvZ6n3=LlY z>lmc#&6a(q_%UFhy+1E$l!6xHkauV)+aJ zcQLAHzeBWe6flCF1=f7s_30$vxUc@rmaT<{fp~O(q;b|A#xh#Bs!januZ>=(fNMM?l*s;|y%1zWLvohA)ucvcF_R z2a2ExKB{asMf&{X9sfnqi!l8yA73I6vw_>Q{6`MwCzjt-HqrNFty4NCdVeOWMIm=@ zBvg&4`Qm_l{s#2^J0H-I7p6hLwUMXy>W|d9PpDX)ryKBW7zS%1HOT+{-Tv=i*3{ul zhvLSG!r9$q=869NKx!DpxD82$V5NU#Q~iFoz!LgTMB!M>7zKBVj?aI7pd{SG!vh>8 zGls#h!kT}kbp5^_AO0zrPKK`thxU@f{u8KUj0M_Zdm{O2WE7GP1;)GKUEzN>PM5RHO6E> z=xX@gPXZCafXLOfib|-wjzyQOcjWthZFQkanw%P5D}9@!g9+)M+89m9i{7(=cuMWv z-i?v$HkAf;wApYqHdQD~Wq`V&OqHbgU5Y9TdI1U6^~V#P?= z{?5yakqd2K$Q#p(oXkQn*MG9pTl0p?V+o#MWrmv#t4%)p&a0o2+mSF|YbFhkc=Ttv zQvJ9Wt`?p0Rs{G#H(~6MGPHArbTRcm*5xNSyq85R(?a!(p8}!5msTV2R;q*#4*tJ9 zF8-&Vcw1S81}%S*W=3}4-{@+8dqy`e5|Q>6C?|56p9vY}?Mf$vEuP{&Om2qfb9kY0 z3V_Zy64z9)iuT_KWB=YiL65N{_;AvkG%*g51E)?N=s3dVrGBCg(2U5)(32Rg?l_-L zX>xV00pC>pQhk~)-FM#lqFp29b@Hn;OVop9-kF^$FoL%GiRiPd4nH!8FpymAf%%z2 zV9zi%u7CE-n>ezj4^&?AtM8dygnr56DPQm4e6!Scu}+HJpp#(m6;=y0zN-4}YvcQb z^h;Gl{jL-zvb$*G?HYV888SDkyD$YrC#ryi#<<0=A*uvxJv-z@>(P-t8$JV-(gHDZStbV8So3Z<*PRx+vM1^Z;cNXP? zD-P%Z9eE?wybhsNATgRMQnux1sn3;fcZM`Ig9A?9>oHhPq`#KLxc#|%UT1nq=zMTP z+!HL_8-iRY2lSmP*CQQH5LF5};1OXa7cu<;wYAf>R32x=F=dKVBWyD@pWoq4g0NvcZ8L}+Q^8EoEa}DF=p|{h z#X|4!#%{*E`u0Tz>XgqKTn3+0O)|6Ee4R*{)jVav9U8R9HqPumT)Hk)+L3@-n-sb2 zzyJKwPiVm)9^Y!hFj-1gSuVJB2L77GYO_98ujp-U&>ck4%Y(7rZD=x)O+ki9pYhm+ zcW$OSjVPhfU#6#L4&^QDLuEE_QxDy~)aCdii5AN(`f1cGs=J>xB+zkQRZhPVn#AtIbzEYU7Z)>*s#t$H&I@?WgDFLF(e&{RmavZiFx^w!qwT(eN*-OfhY&OQDZYHbdbLf@ac}Gcm_x3vU#=Nb z_n}ONbC3d|W>SGQfC>4>dUVnaV2a@OJ-gQDp8^aFDe@^}sWb387h_N-RX6sy%0#C}J> ztGAxT&Nzk_a%o%20pu*x6hAJ-s|Gvc9pTk7ZM>2R7b{25?ZC;}=F8O4G`X*}y@)gi zd4`2bTk|?ShcjE23)D3-rL>~?uehEMKlfXi-d1HYubJOTrw9pJ>!Q%a3P`HFD3!An z!N-%l3>-b7o(soPX+UFn_(%D|&qZv_?49I)9+&;hfNG<*a~GjezC`P6sqVqlpTn=m zlK!!bDe8FPH_}gInu($C7~vFTyvmW))ZDdg-JUO(`{VpZ8bmGqq9Njxdc}%j7H+TG zI9fbrKTRgnKA~m%u=?glX0aP2v!u~G?DWOWk+zefN{`d`1a|q051O3jxqFa#u9vaJ zvl;X8maNa=GCxX4MWqwxEQAlWu{6)vQ3*`wI2BW7hIV?GrW5`?S!=h+?&b45kJliC z(|$-Zu-5Z6EZ45}fIV8NZO^}pI>FW6r~J16idE1RCBKeQ&5}UWZ-WyGhlCv%-IvN9 zeT-o70-EepPLBCxvN|NRJcDk^1|?*%3UM^=S?2{D|9n*F(}eHs<~t$H{#C+m6rpdj z^MyLAY=a_V|8p#iB@7Co-tSOl$R>NkykeaLS4N=A8K+y9kHNlmu-;aaW$`j)g4)b4a$_+ssntUyHK`_Qw(kFc{Ce^9czjabx_ZQeW-mOZ~>9qV%D^rrCtL>P=T|Am8 zNM2~S>y0p48ktOdzw3Lvd{~&p;^At=;B)M5G<8`F(lR=z5H`8!2u$|2)tDq+>3EYo zUkAqjJl_k{ zWE;45Sp^_~gT+!?rv84B;^I!sK|NSkXNg?IEGVsghj{M}kk(T>@2vV|4RnDnR;i9O zeQWr7`TjwljvR|FqTN-k)pD+=D1sOC?#I&w@f^3y+jUBfbfD}*^ql2f*f&FEQ1J+C85u+ICj25&V3OC7|@SrE>=yY~GZ zjOxh!PJXNm@Hpky+JnX<>GaF|B%95alj%(zhf95)?RSC%lySYnm@efNqPq5=N5>*& z3+ZvY%?xal2DpLLH zG2d!1`Fg8Hv3@S7obpMH4lE$C1ymL|SuTjR7p?uKyeT-Hv*I?{*(V-R5Q?s|T~Zp9 zCFHlLuwJXy>16G$aXxDqhqBU_F@FM2J@Ron#3mZZrdNfZ4N7#QsPvM0Ha6-_R`(>S zkKNKBA3%$VQNGtDDPyk(tutA4g&_HKQ!Yu}+v9y$^xj>vW0KSlR9ek}&p!*3RMuKM zN|X3h&6ulo)6vb$uOlV5_kbb>qe^evrYE=F1ovh`C+m$lLC@ZkLPyhkdPn)Ir>La7 z#bq6urFdg*+HtV?lIyEWKmkThWtXGycPbaAwAARX}!l+Jeu)K+2jWfshiIG{yw6t!J% z$u$-`Vu5_KpA1kT*e+5G>LX=-NM$cb!5&UHx=G@Y)@UvSp<;(CnHWN}7{0Eu1HmEW z%@|crh6#diD=eCo`YE`w)xZtj$_=GaSAIY7E(X?F=pl-LKbZ34SVGcO??E3%Px&@icI}v~6_i_jno8)hDp* z3h-%e+2826p+8Lkvi)$^e2V(v;&7~(UEmR;n9TV7`R-{0m+Er&>F7WhC=z9wllJ(O z6$n}rbibyWDOY9KVZtt=pjTVh*0)(pCa2as^+86MXkHC44xy~ab|gdANo=E+tdOO!0EF#ORR7@luY7$B4Uka-+XYdEZJgBUNN6(Mr@YbDppO3?TI z-1|{Xi?U3QP0lbU5MvY9288e>6qi0$T5P3qiIh|0l@hX%+FrLGS;*}nNM3`SeI%K= zB!;rNCL{|ho6O&FFQ{gF+g?&hL7T$#%gBqO)V2|zU>kUG60 zi%x;0h3b5?P3hoz$%b0&74s+wzX=WwY#FnM*Lx{wpd2p+4)nj4NZznV`->vKi$l<(1qv`bwC*NRWaQZO&vdaZOW$*>p6ddPh?&u>~CG3pY zyuSkHTEENgL^(Yn6~~@T-uW=8I&wKXvdk6Z^>P*idKEBo5`KY-aOo&)GdmR=scc5T;re3lia5@ReZ}uEKCmgzWvXm< z&hd3~^z`@iH)-<==mP!ExipZsastpw4i9Mu+z!7aK+>qAqB;Q>r+p*N1FNxr#yPWo z%P&0=my%G%NM;dqk@ryC=w{fVZutIWBoP>IfZ$h+n6Fyqg)zUcw(wakWyv9LgUMf7 zWh!5H>TCGT#jpj!x&=rG+Ou^xDr|qElg?#DZBJ=0MVl63$%=XVW?1Y2u+3rlDON%6d1(2x2ZQCNZc;pHvFGR_0tULTs~*8+%i}->Q*5} z@f>62?8U^g$_R0LJj2shOF7VK{fZ?K5RVu1jF;1*Cj_5CTQl1$SHsCCp5e-N)DMQw zE_^)ov`EAp!T>%pJSHGy?ET>1j)0bBOlg4$I#>Os;rHM=K|in$R?azv`BM+?4$yF4 z-<0^amawWT;_*$b=Lg!?$eQBV!Rqc2$B=6%%hl`xYK!n(A;S2cMLjo3Q+|h+0lQ}h zKiKNr25hB3C0e__Y2ae&MoKZVs`Q16qT0L}%5j(WG=dMy{5^KuRVhcI;(G!fBtH z5dNle6>HWYt!$lT(7e+Y{ZpC6!A%+2=0i=ZevEo@GhX)>A|bb1H7)svuy%~v1q+78 zC?crCd*T(&lq7mMg0ZV|*!f`Lk{>#5 z3eT_abyPLm^&5N}zt<_-4plK8FWUTQp#6A{6%^#3SA88RaOSWm#{ zn?(7?@VO{n9mO~R4QAb$r_?`2%pX1-|Gbx8A!e2Ofks&!2#Djmd5=)nuAU|B8^mck zB}9ZtDJ{SXfnO#>Q=6S`{BgGEJi$G&ha}5YJq(BT#)#8Ns-LSqe+YgwmA-;^)u7eM zZG|WRRVRq$4pfv+X4WGCaUtSnAo}w@8w!@Vtlo&)5>%%gn_I@QU~J}NF#qIyYa42X z*;hAc{r;BQIGI093TW4-{PbnUqwNh_nFLBE{<;836|(d)2fC#M6824$q)H^~M%|n2 z;W5U_eI9Yrs%VL(;O-XIs2MF=$g0_CQgQ$MI_?TM*Ul|+{?wNEU59kED-DraF1%|} zy8xxI;uFNA0%&QNGyOonJb=H)7RZWrj|Y<~6?;9|@u0y+n~#*Nu7uVcD*>51n3BXv zPO?qTUACHvega36|K%}0d6(wl%A-`7(w|OR9=#8A=mJ0Px|2>aTy*p$<3HB4ky zs$Tsx*V~^-cP`@Ye&lR>O(TkNSRtO_+f#P9xEUIUz@NQl?QgAUm|w{djK419T{YIk zF&OXzreM)&r^{eFtq`!ox7^P}GnAn8IvsR^(Jjg@COw2@d0`h+WL!)M0$_05ct74B zf%7v?ocA}t`^c*qFx~TO1cW&Wb4lA3A>)d34EgCR*(5an!=$h#V&RNTAvjtF{`_~X zdQS`%7^~sCh5P*c4R}J$=y=?zrO=@Pd5EzN%VP1tUGj_&=a#H&KWAbN%k&KO0u6AT zZIGenjc6Mjn>!-8pnX{u!ZQAt`MmrJ04-qmd(%b8rs0MAaPRd>fVCSf5{M(ONrO z^bp0f((nU-su3EIQi(+h-e0QlWNBFHFrZE!Oi6!+1&qFzx-4Uz-`#S5CkYPC;GGY> z6Ea-35qxnvaLJ^-f*l<3ptsMEN(1c zrB!6CD}UIdb0SkUQKBzkMrjfuYx=0~b6EumF8B=e8Im4@GBFBbn4KW?tv!W6Q%h2} zZj4#5Re{_>JKQ`Tx_f$&Y^O z*~%VaJ6&K`q$@T-uSwGMV;e4FT19|$Z!AtS)|$F506$cTkc7`i(p0abQoq8heuh=y zI8TL45j3SSc+D&Y!JX3m(t6CJU0^XJ^?h2mi9V~-UJ_p8%@LfQ;-UJXZuatUVUgy^ z*nGHF08!!{B&{zbK{)Tu4_y-MarO{=DKCq|!hA4J1rRF~{zpL?B7aR!d^G))4HTuA~U1?q>@ z-7D)Tl>MOxRJ^ZNjdruvO?H*9w+v_3QB)t5pf&^TnW8~O#euU`SRxu5<@c#%0@V-fP0xzo>$6*U(Oi{h4)Cbowm@I8A#8E}YESO%|oHB;`$I-1NoAU&W6P zXt9=`{E8Rkjg%kyJwMg`x?JQG?uM5YXUwh7$=MZB6%gOX;(J5E;}e>cAh|xQu3T+8 zD^G;{uFiM{3sFcu@b@oDEjOd&Pl z3F0Efi*wHMHMYRr9vDw+)Ge6Q{*@Gi;3sGaP?U>DZ2CYR#)<6_2EFjQR={^yQw-r? zabALlyy}NrT-I3S=O-83{P4q(T;U2m0&TVYDt=xG*4K9ZVO*(|F5Mg7)r1y}oM4tF z1#EL`@GMX8c`XG(e}<1?6c-B`1rL|%Ahl5cq4l0PSK2vFZ%G-qKNcZKx|0i7D@=&_ zGv4n6(=UkxYJO5B*^zS4JNx1a_U1sjySG(m`#TO@q9P57DBS(Y2p_a)U+>d0bUwuK z%R_xBnsp*T8Cy!9B@w)f9IZrM3XGVc777^VQ?NUeZ z+yGLtu$H)eg^fhcEZbydda3pB{@J>uWv0DxRaY8#GG zj=*w0acx{2Z^vIA16klwQ{qZ=4Lo!={G3XEcP0N7-m>_(OLS7oSv5@Rz97`%n6#Ro zAsG>bY%ZW6L42Qh; zyX*+r?&CQ=03X5^`Ids&2d2Y&l1E?kYQZIT?BP!sU7XnW9f0Gk4rme{57lrS`S;Y) zj$7B_pR(?f(Aqen+^%nfe|GNf$t%mHo@&L*1w3G^80CBn+Jlzg@m;xTY@)s~pLwf=hbSQg*%VHJnnVzU zyd2;+h(FrS{HsE+3NBEtSWphVOxk)!Slt{A&;sKe>bdsBRn}lH+?eulhgUzk{L988 zNN6EhU(|RCZqMvRkWY_g>+woO&~9nOBf>a@vj7Yn*|05_sk0na!nu?)iIE6i98m5+=}aHUuSDEgxe;fqZS1U4 z8GxT|iy1U4mreOL}02C78B>4mb)bOxxZ>%K0`_0h7*n2E0H`?jO83uIHW`A$>t zk;0teoJGkoL`wIF8#B$N*4iFwpO@l+@QvE2Ib^wXl(BJPvRa7o9#XY3m13PdC^;lV zX0dR=PAJ(r75V@N!P92K?)!}ryT8Uw00ciz^Q zL?gi;yty_J0-6?L>3xbuSXtXq+q|;%GsPiT|tJ z|3=aOqp1|35ZjR_io2)Lo_{MD0c&#bpk!jjBE(&Jb*%q)9rM2kYw(2xE+joFWyHsO z@xNvF&qX1?Jo{$FDap7g!{3Pqz%8Q)^qVM=kLVo|8TbD8kN98Lex4YHk>dA!2G&e} zD;|+Rg8Zr;jXk#d|IwGAK?(~CU*(q8JpE*CNc{V*3WWG0Wr!VCrU>M^{|})TSPJvk zkF6NkD=y3de?fiO^JU*y(*kMb?{8)UZ{Yvv6`Zj{m)L2(SJMQ-fBv6G{p*?kxDZ9u zZF*)s{3Y{O5|^X>opER5_@$Gn{V=zqy^*(FyG4<1oO9Ik)$?SFI#_}6oB2!bSXuwHAD*I4dvM-*8PA}gUb{ zGonin>`@qt8+z`3zG(Tk3ac=5u!^kbI5xZ&p?g&JZ$A(Gus<$e;`ais)|`JoIPoDr zNPlOoEBo)j#A@ znkU{HNwRXh$V}nqTFYMGC)8*y}qxLr5P+{q7zn+JLPwGqdQoRV6xnyxFNR$TwL^i!T)6 zt=F^fr%Yzj2UY7ER2o@H&%x@Ds=N%wWW{SAFP6?(QkXKd(J|?`zEc(@EOTV8`sDX= zfrES3smZwNj{3)c(dB?+sNui=8vue=lUver)d}9x!;&no$E9m3pL=2%;IUZbyHTF> z1-awpl=7qHj^*Ra!3CAsgtc~@+s(d>p2>zVyvfLIGrP@*xgPv6$m|U=mG?f9%AG;fB#K~UnHDDtlk?Nz<$U+Si7Y3ArVov_bMk4N#g!)_dXf>?iO}$9I(OO))k3#dSaL~pQ+|bG!h@Kc82riG#O3B()=U#T@5Nz8f>(e8C_m`sOgl*Vl=FA znRKVVrpDrisJ&Hoz7&@u4%2-Qk2! zY2bj?+thC!TIFf#Fr<`W!3fCxT;=KMk}CJ*X&xjM#rh)wc5{O#_1D!F2_DJpY}} zRKtk*8^H5Fy!Y_iXLqXqUT4A~bR9kK-;+OH@6X`+`#EaR4UiEe=4aG*nLdoA-pohb z3NYHhp%9iIc;259SqpAM3wb@ruo&>zwScuiEC2#c9sB)L_fJ{ORZrha)aaZzy0cxz zODg6~8m-Zuvd(4)z$|M-DNEGZ@jH{J|HmrTr3GbQd9s*aN%nnsBxYZSOD>J-d!}>% zww361g2|_s1ud2=U^m6%OH5~-4*M4DUbF zOj8Gi*2Oh{c>&b2G{CG0jBRXW)src$Ev7K_7nT$Ib%RAf{u+-U(D6kBJ`DX3%V!M3 zx7wKRFOx#=HFcq_#1X)%)vMDgh5zm>BMMfhJ_+JlyV-+MCn9mx?+(4~C0|eqJ}1pE zg42B~VI36*!YdoBllB;d3pudY=xw!DWv9nk$ZHydrprnHPc%x% zJK?9z#kbR1hkj0(A3-r-WX3yFAmxOcbU09YQq1J%Z`FQ#nG-rhtR~=Ah+CxYe<=jn zGP<^@OLtc;I#Obiy|R-$<^^iZMt^nsyquwq@|nno^c$_WH8V-Rt>0Iokn(;4N8U3L zFE`dOa&xF#eN2uf);%5ZEnec@BI;Y$@gYVi6+DG z#~!ar=VQXBAW1$~uZ2B-^)e+5GZhj++m^9Z&QIrSH}TY?8gdc)@A~`roE`)1r{QYe zc!k(beWMAQwGkU9N>Jp)Woq)SsP&HfWRZ_AJc+SuvNq(J9aePCh22WZvA&r&PXzIs z3vNBWOjFu{N#Pbls*&Da%HQf)s-oUIecvgyYQLfa8@AfJ$I~184~DUZ)2I_B8nD)Z zp#>dQ3wA?k^;vQ`0grh`f!xHlpzYu+B0(21cC!&OI+eu>JbZrv_v1*Du~_|?0tK7K z_0g0{S;qXRNo=acnzeUL0snjp>&ABdSy|`L_~W@1KMRhW1}K;$e8Gp*JWLqM^aLI| z`~RZ*Of+b;ef50k{MO;)gL33V%NlwzjLKURcF^I-+;(&T#jPwoH-pVYWlXA)V zCJ~_cdmc<=mNiO?M#dU>M)sUNoPX21dkqX_H`;!>UTYwA(tA67QI;3k%JN;K3=D~^ zH^Jx~uTiXI4zM=<;8&0jY58?JK8f9~TY9EcnucJpGZa{2pT2QF>HDWlr})DT15%bDM`_e#9>mtm$_*So{Jy^kDux=ZmM z1U^Efg1Anz7JXIPqxCHFQtf>eqg!X^oXXph zr#_nLYMr`&vbaSmxi|gMjXuYxpR}Uc&d->9P;LwEMM70vD5aZv+btf^fYl91C3mQGXdS#j^aW1dBB&RbW5r&L`D1u+5-5rWqyoCowYdpsLUV_4MXS3Q+ zP6O8){=M23Va{0Ecln6?tQ>gSTOg#pqIY4(c&yUKu1lNXe`B7 zEN`tuIA5%;P@q6i-Yg7$hcCMv(luT@v<_4HjGXdDz-rAK9t%IcfIS@eok6;f4hsyp zZihif!V?)l8lB`ZP)@Csh*w-WWa^^)`vzN}<}#Os+9YFm4LC%1rDH8yIAH*7;SA7W zU13Uq-C%^%78J0Q0a0O89=h@mm*Sud5j0K!+@sBXqvK{)R=!XB^78Wj>kE9cYzmVB zC6KV8p_sKAdm9BY2FVd`<&34k_H!>C0+;a)>x0qqBtR%C@!ZDS z^M()sk4fb3N*$dEdRG%K10LU&KL?7}my1}H3F?H44*km2+Lv;U)}jZZ`gLpO&e9)* zw8+TPfEVv3xBN)u=3DlvxospvFLdMnBN^|(3VzDqv}lp5pz?3%#GH2(oa8F zbIM-a;+&3`Sz_yn663+Paj_aq>Do0hTlru1Pto=+w~V0}WX<~Ca;!3R+nlsU81DVq z^COVimjZezVhd>-( zZcY5tA)~hh^NY^r>)UN-LPxHrM^8Gw!j>vgMiI7ApYa3dah-{m>oJ>hyW*j)w*m-o z8AbwNuSZCI&v6pIj{_(vG{PNXI^2%J86WJMi3FS^Zo17e!3&kjh<8p*CK{+xYZgxX zdz;N*47+2~TNsBF>vSR6c-lN#%cneFX%sv!GO$70uG;zCJoAl}@Qav`UZZlxEQ3mg z{3ikqkJ#Pe4Am4tm*+f^YGLpFHjRn~i#0LOy|>~N+6Vc};?a-R%NpOrSWmLArScnL zRz$Qs&z~hIabO~R{=JGDPfXvyGJX7OZ;{3u0@&f{=hm#Dq~Epb>?TbBOru4*+V&{2^UBg9O zn!2oP{_le!BZMeY)F>;uO<=?xx8YVeEyYiId+oE7(Kv zyPVI5mxqivH|e))d%VIkq`*b)mnqF_DG`E&N=ghu`(rvK43?`!6`3BM!Wy`m_b?-P zw9vEp3c1p^_ivsul^1!s22nHU$TNAL^OIbEgnq#Y0N1vUZSt2L%-cMuFvxv~^2ON^ z$5VSdUu~xuPr{+Xj!2;SV++WTuCAg=_vW(%tk)O;;KGfmm1--KBG=f9(zz&U?d6Qe zW}nMLro*J4K5lGiH^a+uL^{3{cl5r)9rV4gNNH0$-}^D>KnAb_8>%|-Z#k|tTls$4 zKB9Bj8BiW+&K(K%)XoNVqxxGYvm^!;xxRJ6I}`L`CWp+cyhhF7!Y;(+4%WApDT8|2 zpDWv+>Y?x|wq^?>tDCU6El%wa!yrcAo=!-YaudTtBzHny4}i9QIC`s14yKn?S1N_) zD;^#)bXrm1Hj8Ezo-EjDlQ8C>gj}QB{vHzAJFd|(HBJ`*Leu33$i!&QS01qF#=EWn zr(THh(lsn$NZ15Zym(Y~+Sd?7&PK>2|{lsub&aR9@ zE%Tr2t+<_ptC`^&3*blCu>*irUEbHb#Uxju@mNT2^FaJ@Id`0hlb3fuSYv{~TByMpPR@Y6BPi@a`& zgwLqQ#6Ph&5eW?Yld=&ESn4t$A@?2#cuZ?L`Aw_(TD80i0Tc@%sZ?B3&)9mjRx6hc za0B>hi{pqKboq#`)OjVejSr?(w?zJ@_qzp$Z_a43N7kgYcy-S#yHqbV%c zZW}hQL}f~&d>WwR%JohO6jH#P{Kux=|A!cakvur`Zi;qbS)hQ3KW3H_QNlTkQMWCe zWC}K;nN%KwDxr$nSQ-u2O=(kWbtuR|Tpgv&X}@&*s1sgsI7C5M_Ei9UJWKiDKXSVI z(zt0%<<72Htk+)mIPzERsRRO~+c(hkHmlbnMX(^YYHSKp*&Vdzjgq6*AZ(9^xz*O^ z$m|grTc}coNLg*Uxe**jFb8_CHt&oMpn^-1UVlwi4f8gKK}uJljyS4RN^|n94Ae4p z<@5SY)p~MTK9t1KDjPB*$>6U9=U{Glb`aTRgEOPioGB(Ch$W}AN1fd3fjOUszH_Zz z;Dq=h=<4?c)s}o-rOezY!t`rCk|~fLz!uP6O>tWtSJcPvM_on$&dj8^SXkRQG-d>l zW$DAo4ZE&;D}oLGb2@v832mp9em0n|E3wi?xtkbru%X7a6KDj6VKn((C|=)Z@jLrj z)5dM3*}!;11@Mu}7(!djQyuTTKMo1HM9aMl^ZwqoRW;RTRwug;?N5O_U#%q7OHu7U z`nksKXs{%v@SQW<@eJe(Ur+&zj(VQG=%^j0H=;L0HS<4?d7BgOck_oQy4d8t+~h-80Nuc9l%WQ+UzM1U)m zMINk71;4_eAC=oH?CSt!zeN+$-R7IVI zhL1k1EQr)HVmFz47SG4OMOe zZbKW+O@L~#*1aMFg&jpli~uxAc)1iUz4xf>I6sf3&ZdcOM% z*?&LoXqiZ{wSmc*ATsm4yLi7ykR(MJ$rcG%AWtOv1tG1bf{XJ2%bQ*mL)Mh0`TBqoOl`>&9N6&U-AZV0XIzVD{M zk>Iwk;H=mDIGHYW5LKJd`xnf=B?)n{JWVl>!$D~? zk?2lbHK0Hs+rmaa$||JvL!{&3+Db4O*)kJq&qPV&Cl+H+JZu1dppatbp}Wr8Nb;3t zTbce-ss?>3dl(Z!K3*RHKh1eUevnQRiMAk?fPmfY(5>11rlD6MH0noDOut7S4z6=7 zxN@&#T2Yuzqa-bnQAc$Uw$Cw_Z1e{kbO$}GE(ut-6T0Ss)W01=-|HkHr-h@4#{Tu$ zY5aL$Tqj_MPPrh&XDUzyF*(st2MnZJtTnXef3ld#oBz&VMJDPeHUseQ`7(pR_=!9Q zictc?n8kMs$)8a!h6LEy^id;`7R|<|7i9NEBP8l)USZW2CwNgzLO|oTzsG5jX!0Zs zPDB;hN~eXii@h-zsU;@wAFc^}N4cdoUP&(NO!B4GPl~ z=7n2YHY$^D*PGKEe;^%jWo20+bG5Yw8dwV}Ql;RAyvkuj4tFnYvN2~k_j$R&qBzk^ zeedB))e*StjB`<5LQ*d+1)x>RW?g=LVO}GO6#JlXJu=5*{vPbtU8-l8Q)IQ6SFWaZ z-Z+`nIrW`KsX;Y#K3U#Qw9$FrQ##2B_Pn~v{B+Lshu7m{2|BkpoFOe^D8t_Tn;KM% z#COc$6a(+vMvH801H)KB9SvTO(;&wMbDAUdc)X?uu@P9>^R$l@r7OY~Bi4_=M&Z4m zBNS)W4ZM2F_;0|Io6HHfDDQUVE2fBm1+~yVVsl?3oK|#MiKgt{@H)qSZl^mlz*n*3 z-xURgz@(>PGXv}C)WW!8JftZw#93X|D-SG5G8v0F;;SA^DqV2;lA@@#ZxlA%SJqkN zYp)sdYr4L9m6$XAKd*}I!XXocSm)#+@ zZg{AZlCe~dka87UNvKLuvXUn%I4QPl0d4B-i2QZV>r#I^fmz$fudO}>-8tPdh7)bn zHCp}U6(oi{Qx&RqsRBkpdGe{cm#20rhR_IY@3xR6ky{+^EgQ_nMaOe$) zc5Jx5Lm#XYLl)t6RjlTVe(n6WdGu)YLD;CVD0kAV-av<+>VuM~i3&z8fVb4JzPUB5 zcS>^%431#lUKgE)^EZ8uDG*7>)>V@CR+f)6DqlsB+++u+HSc~>ssCzRE+C}l9fi>`MwqoIv905kY;dBl`&fL~y_HXf(-N%$8zW#KAcv}Wh0=m~8USbCnW@%PD1v7*o(mQqTQ zVzDy$s-dnx0o@)9Xap~G;hCnZlO*!z_v}@T&oB3#P_Q5WfKj*ZoCo|$22~}4WsTZ> zT7SNfuqzl=bU0BWZ7TwE;~+ifnw(tyWteR_k&x9Xbl&YfPdG@ z)2r|ndkbt?mdWS{4#F`XJ^4;R}q?q)Aw zvhM3Xo?wib8kO|Xe2!7JnY*;}U>y)4_uKv{Eb-T&^&3M8)@~oW)h22J^=si1*WR#2 zyb~uqD2(Yhbnds^;#t1w_$yr$S%^m*!@3|yG##U^fMnNwer)MKbwptEm|&fZiPIEQ z-9U(nEN%Cq*LH~nRHAmeek4$9x|9nRi>?pt68lPHQ|$st7R}@yXk2>vdP<*wF*Kh% zF$By2gk)l0-P(%}Co|QqJp_^yPx6|U<46mBG#O9h&HEBpgNi1nn3&FqZ7XUw($u8a zl+8Gr_+$Zw_HP4Kr=+@J_tx8=v>gzvI3pKPNfzb6dB6fY^C(rtGli4wmu+qvb$wW`Vc zpaSgF(6bMXHJ`6EqAVZ-kF#nr9dp{hhoZgi)%muW<5mR748!>JKb*b)_o0H7{Kv>J^P?qGUqx59E>{=lOCF5&kOeW}u` zHf{knPcGuwz=n>lQR~f3HhTF90%DIsm43(MFK)QRA5F^oyPzkV%eA?Z*mB{Py(=^apgzOhd)S6D76hML(QL=Ux`E{l=8XSeuyeY9WmRJ)~nEqjhzE+9V#?-aZ zWIDRhl!@xLC$a|116ydu0cIXG{NhD+ICgv@pm1B^WM(aZ=BAGmRi#DEK?@8Bfz1qN z)OszbFc3;7PMy<3eITgotjuS6+&(J7><^_0MCwSdeGLmWBgSH>WAbMxDwUDJb*O3? zJL=lQrgW&{ibN89irg~{#~$8$*b>xECsE6R<-YzUX+SMsJ*Pq28p}8k*A!5*p#0vz zRS-ZHQ6q?WBxRhzIJkb-kW5oMLT_s&nDRd%VqGWbUD*ZgX6@ON(Tix<8bniG#M?$I zceyxLu>9|MY~*i@J7$w6d)1 zx!pJ0BnT7M$kBQjY*$vlFgh@)VJW$5;Q1DJ-X2nPrYd`pspmv71~!%|u@}m(H^V&k zqi6vqb+J3Ty@{x&`P}t`aIVMb{XZZ@;d5$fC9WZ;Wg6&)ib&jcdcP6H(#;+mQ~i8* zvM{}_RSt#%_4Nm?oBR3o>Rh)Qb>@rFl~WTnH#IWG1@k=yC1=#|&4L=NF6KE-wx(U8_Z-wldowE9mldpj__UleBYil8@|v?mb6$4% z#*%lpxn^;>wCCif+I+ZFY#y84y6!R-;=0VfG4?bo59?@MV|?F?QNDF>F}t%PVLc4R zuQ&1_9LBHdoW(4xH6psMyD~iXmsLWG3?-dCg6?@p3BeCn_*Le!Ex~trI+t6HdLI~H z(7f@S=fF7Sd%^C_0?VZ9fDL%+eROc_8%eOOjRXF-&zfUADt-68q5qXKmO~Da!q;Ri zR{e$P;k8lL%^YR`>0uG8&t`B?TS%pvnOr8)LTlX zqRJU5Yxk}6{UTrcqA;gHHEzB9D^Oz~kzPv;?(U*^hdqsbeir;So13D?bExRXh)4iC z!KdsZiBfe&c$CHmuvCD4&+uFO7;Rdd+l+R$yo8sJ3;<;CEeRdx5dmGU!@V|SMDnf9 zdc8&gba(!x{r$us1k@0fXhbi*{V(^h|D<=(GZ1x=?YG8%kb7tM2Ax!D;h9VF_*g9c ziX%JP3;I->=TLiBbDPUKbGL@8(jbr6>ghj&{v8q-XRLCYoJ(0F8b05BG}`gZ!(MY& zJT&HLH_ccIExf^D<}AQ50jD5F(&R00Z^2JAmosi%kpF~kyNE(-WDHHHuCMP|+tepi zB-MNy>ljw!jR@EYmLDAMCTEqc&?=-grfgBt6nCU4^0`_Xt0S8kLqSqW=JXrM^UMlJ z{imQOYyd_c<#8~E6rNAk?qU#kv{Zzl=Sr@!qj#^e^L})yyFIDj(Du=IQvcCy9Bz*} zLmuw7Hbc4fYZU$ROPysBQVX>`OSx`)j@Qi@>d~wIrbL`f6J*NCGG}RsajBNN8)jJK zD>v9aPTT+aDjYUmh5FaW8pkDFi{fn;iX7B3lpIzGD4Zsa_Yo4R^YX+%;XWkEZ57&j zs}dhqQEGF^05B8lf%wI}CpZc71yMxn9XP@hlx0Oi{-0tZ2`i{D3xxbnO0L@xDa>*c zL`y$~T$U?sQg@rX zBO+rn+0B9coazl)vat-K`(_tLt&HM5eeiDQ8*%)eEU$zE_-(xQ*0EfpPQyUJ;h0T5 z9h2iPk?HBPMlW3I6J~u5UfjT|0&mF3+)Os zddUZigsxx9U}u_?1YOSQR$J(;35MG|#6-v71d4B_u~?-F7s%jb-o` zK3`ON2Q1oy#r$9`N}f!dZtS~e`<&;N5w&6!nPW9N)5A-|8uMWL3t`_#~KL}DO7UlKD>&af6%Wu9b&3?3r*}bEGlJP2(!M8wFPv)F6Kh4o1VifY%u(-fwu$i1zb1tPdP~LYQuru zzbs$Gq!@3xx7+ZAQ5T=*I@hsI?RXLfONqCB)%UAnt@q@=-3pOUz5^L51sLO|Z}&C+ z9sGYHCnYJbFbbs+^dz&$WHLBx9~{Ic@xD+9y181BmCh*>vKtZ{uh7B!to4RPNUd)| z?wTKf6eCJ~@YI=>%7Tf1&98*B9?B8dCQiaG$)qZA7fKY&cR@`}twAZ>Yq@N230mrZ zP{q5?&{ebeB=ghw!l)egYW^EPDSMaUPcFO8%U{zK{V>=MqPoHuo&nGVJ4@WpB7U8I0meX?m!WNBZg7v5U*pTq zO&~g>R5TMxfU&RQONjNalf+-J&AXk1+k1Pry#Y5lgx)?Ri*2?{# z1&X4xN1>H7!`cCJ{Ywq(U;J4z7zRy{nh3b$=n2ky8tKuZ8k*ml_xBG3F^p`<6lz)O z!{#6ROiH>Y!aM%6e1bhJz2;*+c|08p5Ew22Ofa|3eodo(_C6r1s(Ew;pwvJ(wZ;A3 zIe#Wy5JDsHBBR6?s^3wQe}3hq^{pQU6scpbU+OZ>|8GM>u>j>$2fRBAkD+~N{~v>! zEP#Iwb69!xAV}#qXwpwh`RCFBVB#$P%noCX6pYP(^P&H<4tn7L>e`fP5s)g@-{>h3 z`fuX}Vi3&!pk#DMud)7F%-??a^AmfiA9~ntkfGtGKZG%V|NqGAzszO;S7?6!$mdpqGB-%(3JmZw;o`Uil!gCQ9eh0SquHKXt&R5)yS=o?9Ur%pFfyW zEwoDt-OEPxn|s~*N)z6L#TIZ_1{VcwcFmfO(0;WuX2qVxcC41B~En(Kw`rqlq9kK~g?D)w{ zcW!qB$Zy3b$S3BPnGCqwV2K`;cO|^XrNhwyJ%!>}#;89xo(iv>w{N*X7pmA_x5VUpSxhKCchh!j-_|=gmyjv$8i?Vg zZ9GodF_l}G-^p^1tBI=H3RrV@=;1qDVPN0~!dSRbC^wQT3VX2|{_Rc1eu}XEQ6MUX z)8Y_ohBH4>5xv@OHp)&26ASX{9iPMe=ar~{%*83ChrQqJkVhP5lh=1w2JSaDskYT| zShmXAnp-oq|J=#@YjStTMF;qCyDBO0(MJe$wO7COq^POoC{jMJEjMhS5s6XI+*0T( zV4^o@;On#NbhHyile1#eYhp3LPthXkDK&*fJ6lG}b~?);zGAKO5{8zWKCla^hTBBb z$$6h%yKkfvs7JkPjHHWZlCn8os3_*rbreBAG^vO4Ihc001wTC~CH?$fdA{?Fa75#P zFn?%jYHCkB|I@?sz2c4X?kqcnG|jC~yK2d^G_E#rK7QwPRDu<8a_Z(?c|#Tl>{NXA zTGC;Oj7mwv?`M4{81|Nx-}mY^#nkS-e|-`!^Hl3Djn7#YVk55bM6K>9>DljIlYEK} zTq+utZv)sZGeuJ>)XHQTx?=8EiV`}XOjG$wX=}AFzbSTS>h4%E4<{iZ8L*^a#C`gq zmdR~X2;BLwlwJwi9?dL8i!e;{7WP{$nxZbM93*HC_O2b2oGf)NcqiJl9;K+p5J7Bt zS}{WyK@7VY$V8Mg(6tM2WDbmij?a$Ys-^Ghp6Dqj3(GKr3a$BzFHWsfD=cS~LSqY9 zUo;P?`c5B|n;}|0WjvdHy$Uc=6Erp*>MB*Ttbg!$o24;fb;4=eNvYt$R(v|B&Q#hX zU~}<#YN~9;6LU0DNw*^Ai|~c~Osf<6O);Arn>S*FPQdb>by^!ht&rN`$q37yd@gX5C}Mrr?-q|~xX$Q_y;tf<5OHnUI zmeeg?bjuw8=V2hPuW{j~pALf~4c||>88qUw`B1>-PoH?!&g<;m*f>k}nnAZ7#MoJo zpYvX&x6USt7E+LBihqy{rWQ|Mq4-*Nwm;!Cg1-sfb5tr1RNFar8gmZBg>tcyb%EVF zIAF22c~ca6`3-j4d3QPK+FA)LOS!ZzB9KiW1?h0I%;hgBLTm^x zyx~3I2tAgFDY_e2oqtn#*}6JeNwGV!^kU@3Q^tkPo5VD!4|bK2ePu3F%8S^7T2Re= zS|qPGlNV|_A4$e-UUrsGWHpo>7CYC5`T1$RUra(d$%>2Eg;*EX*rW$eoP2fBMwY^| zYn}J(l{S|FKmq!BAYvc`X13iTtd`+PtljV|OH>u>lV=U0FQHybcklo?rO#H4vVezC z3dzkBsH+FzZu|jbR@OiH9B>`QTX-YJeC7Oba|8tJY%l=a0nxta=Tk3vKC)JQsR;|htmH-`cOyqY5HeYmAk2R-(5^H@JC9`!xUR11v$1PPV~ zK#PnLfA7)$k(7k+V-UayLO(#dZd)#dXUpx&8ke`>_p>v?cZ{(Ak{~rBByH#b(A2)?DzoXtjSpLp;Nwr)7qq(JG$bPj| z0Lwlw8F#eZugcW0^@JAOf68cJR|;X5rmel$egk#|I5v0tPxHWv zC%GGGtbs1yR`=X0vgk%7EU~2)r552zI}f&H*#n*_rYZ*Z?-~XHYZQk}t@N;y01w9b zG%o3B#h4H1@*SpD2{ZyxZ*M?gB~=0QtYxu5qUf8*2)sBbeqs`jf^Eqm6LIo3w*aIkhT zn67WFprrmFG79rxw!*ubd#KiwVs*AS*Z@@O&2QOX6T6N&=Cz#8O>y2F24mu`*iOJq zX=t<$2dwlD-y2@^%eRK7`q*fv(t2YwaYsZ3EoAbxfD}GInbyXSv1TO%#40Me5 z*C%j}x3)pG&}nt!yyp+)o-8O#4yWvjb|`j3?j^W0MC51&XX7DHuoo5bCszz%{`bee zEp5m|OLQo|=3s9MO%3r8vtzRU#3{dXJ@D@6oR_$ZO@~I(y^@!wTie`1k$#%RBJZ@; zil6)M>+D>UT0;eBR+JIKl^O5Tc!g^b1dK>Ol%Y{+1egii|hY zTRJ>GCp?U0a203znCAW(M-VbnL>IDiy>u{8+G@{EB$O;8tAz5kv5}8*n_6VP%~exY z#^Q{u`F`qeTUDFyV39r*QXiO{7CMy*_c>;9m=(D1GsQ~L(&>(}dSV-;q@={LHvRx! z=8xI++kGk_uo0#=?mUNM%-@lrdLp+KnV|m=Q2)gwx4IYcYu$CUlwBmU1a3a=l?9 zfm#A1BsM6$71sK%H4Z@`mX;T9!qs}0DP6l+p9AV>E;;la4U*SvkSRNXELl#lxvYD% z?89m>N1}j@(p(dHoWMNnt+guoM*}Uv)<*KtKo!{&UEG<`&31g6V~Umr4ciV+tvlK* zxo61TlA6I8_0cebn#UAk6ye15@Z}r!6Ff-Mli?43ZCBu6#>m2J@*Of)(Ra{$(nLq+bPHRpLA68EG>MplvDqC8hx8mxV zeNE%l9VL{c*W}IJAJOZ^c&CjSkfBmu5uqKgatSB_w{85g@|gZ0+KPeNa>R$k8lP04 zI&aiEW!~~mBM{dUt6?J_Q$rq!QVJO0q-Q!wx9S9s*x||p=C*yjf-IBI=6IiQ%_s8Q?Sg)r?ntxh&JgQ+LgDaEgZ^fY@oE)UnA`gt8u z-#2p!b~sx%GZzCNwmNESX}Q)iSDg)Ik^|R|qEW`yEM%FMv~i)T_1sF#WTx6!{^)rS z=D=5E?N(g2iZ+(q>A2EK2G5_Tx#JWPclUyE-oAyGtrsrymv3>b_pNiZHS9HQtsliB z?kqdb?D@_#KBMtn{&4lWp<6Z7(K&s3uXEaOt6E8_zgf2h;mKcUl`BZZtgx%R>kVbaS* zF03OJJQ?DH8W$Y#XEW)Wx5@D6+xM{UzC=U+-wRRG%U14dVmdM^u>m?s{nm-#0vl3y(rN>#K*7fOy$8P$5ZlO ztwkGi-yhPNcq@#}!>1vd39m8S@a@v`+OW|i%*ktS_OXl{$Y#LqivX^3QEQiWvc~)6 zPu--yZ6EludfGGC(k9+&v_M%gW`t|z&Cu$ZSwCwVc5 z#0amWCi5zx9f*g`kZ1kjoRTy}d4t!t*`@biw$_onV{YKW86#BLi)L-lBa^)^Zm30J z=dhC#rbmzwfe388_d>%q8pJ1S)_xW0pJq8IyvB-p4%}DpuV4^}qW$?2lqzcKQ|Zwi zg!zIR)e=^1eQZf30g7Q#)Yt}3>AuPBm8dXJbEN~v=UO&l<8z;Lfz;hIU5D*hIr3a9 zl1x5W(ik+8r$W)DY)aC(uje!0mSV!b%}uYJl$qPAWKF_Qy{ZnYNlvJoa)k2q0g4gR zgL~Md#2=m~R-KG-DQ%P#^r|r^li9lAD-$_ou37L2WixeR#}eOaau_F>9sjCT8JNgW zWPMlW+M7)mp3fkA7ERrxwW8#dJ)Z6x8M=<{@wo{%7Z{yH7z%gDhC3hEiX47}s@BU)@~XL}iz#D^f8b z?o-!^I+<9#>^;i0OSYAd23Lp3drm4@8mn<@Mo#>7{8Z-BbtEJjCs5@|MHt$#-u13_ zF6R$x>+`mb3zKMEjv8;N9*IbJ*TFEYSiq=$5I%Gk=2teO82?W8v{H9}(nW*^ht#JV z#9_7kOsO0^#Lgp9^=aK_5#M~)@WOnJL5XW`31QRZI>mb$@m+LCXlXca$j;3oFvs!v zNuSzsE-96uZ)?K~7J^uLLrWLKS+P^ZK;M`Z_T!kTv#BO4aIxn&NDB45&1$H@D!JBY z&V;v9%B^Q>s-59jXj2V97;HttaY+N#0v`6PfJr_a|o{cRJJR_V~e&-UB{kt+b*U1 zju1Jnp1CO0Gurot?YLI2lGINf@E=vCSvcErA$+0{w%ST#N=OO#$kZF{Ps77qBX-Q? zUaGPpOizXxM8&vujjSgH_b7Dxn6}~afs;~)G3rA5hrzC}Ob36x*^CFmRkMt!^_!V! z3L-1>uJU${LtLY~yQ+3>i{D`7wX>6+qX(%CeFhi4zIA57QzIU;slFCt6i>EBmlUd1 zgR7&0p#+?k*YT)1+-6)-^HmB8lfP!KS%tTwlo%453YMd<%7GN^5LH904d=)rTGg$g zi0-87C&mVdQwnwUnD2o(umiIU%NcBjn5*JKMUmfN`zL9W^)fS@F~~Jcy^FNYHV4AL z1|xxJ+BSxU*tl)ZQe2#s{^|a*#f1j>{_*}+!}p%W{dD~#Vil{#N;^TGbHsZqz10)X zDX`4i){6EJtnRJ?C>oobn6a-alD^v6hpw67*jGlzRUwf6i16FF*81RMuBp9&#Hf=g z{!zhm!4dv0@WYWxg(op5P8aOiz94s+hY>lR+Uyk8VjCF5q8P^jzV+kK~42x@}{BX-Y8wew6Am+nekYRtW8XIC>9L*^OOyo*PNf4})9!fpM7Og25e=N+g9zCOclWl*GAdGCPL-O(NQ?LWO>!ogGT{@Ion-F>b=`&c0tfqiKM%A z`Kr0>-Hdi9?$J!2~Kl>ke2wh3I4B0?T5V86)(cq-jGfnzn&Agd6d^KW^M-MtLQT3W5zSxF&P>l zOg_ME-R^B8`#aSB{SI4GR6BvA{B9x?7vwr(5 zQ8y=%96AZY#+M+Zj3C#xnw+eEW&bt)SEv2aon9;dS;Q!x29A_HS@r7b=dxRST{)z$ zO8)C7(xP_~$~b_um-!izwpFZ(R&1S@az`yb}_|#DW72 zw1SoqK+?dVxP;O24ZGmQG$X!8e`b?^=aoO+iD5l|U}k0t|NIKdv)@<$dFDokhS>|z zjP8XcXcYU97|yOyFJu} zp~Joy_}riEJ+S|o==`+4Kg+HD#Gu5K0{J$T*Fjagst=t%rDM{k5xTB9B4MOG*K;PP zP2QQAWigPjaCEpjNRwaM1XbdG$hU|H>YeB#o!$JKcZeUw>6g7CZOxBN8?qGoFh?BVMr^o+xI$Q4==4sAYEF&3Me>zk}~VvOMcQz9)1PmBO~ygxqF|CiHfOB zrGM?xKkU@<;7VYS6-Kb|m7&XvQ6<{uk+}y*%Z-@!T;>_9?{vWM$!0!%t#GO5up~ji zX?U&ye`ok*9qDBxy1u@?2Ia|$!q}ycmsCrusTt2*d&iA;-{Y8!>rz{wun8znkP2Iu zKS5q}u>TGV3T-GM}!%W@1$2?_OLnRJP-lejqfC2K>oMDN7cK8@>8JWrv>k diff --git a/sources/platform/storage/images/storage-types-kvs.svg b/sources/platform/storage/images/storage-types-kvs.svg new file mode 100644 index 0000000000..3229eeb784 --- /dev/null +++ b/sources/platform/storage/images/storage-types-kvs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sources/platform/storage/images/storage-types-rq.svg b/sources/platform/storage/images/storage-types-rq.svg new file mode 100644 index 0000000000..03fb984169 --- /dev/null +++ b/sources/platform/storage/images/storage-types-rq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 7e96009e10..8389ed3dfc 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -33,7 +33,7 @@ You can access key-value stores through several methods In [Apify Console](https://console.apify.com), you can view your key-value stores in the [Storage](https://console.apify.com/storage) section under the [Key-value stores](https://console.apify.com/storage?tab=keyValueStores) tab. -![Key-value stores in app](../images/key-value-stores-app.png) +![Key-value stores in Apify Console](../images/storage-types-kvs.svg) To view a key-value store's content, click on its **Store ID**. Under the **Actions** menu, you can rename your store (which extends its [retention period](/storage#named-and-unnamed-storages)) and grant [access rights](/account/collaboration) using the **Share** button. Click on the **API** button to view and test a store's [API endpoints](/api/v2/storage-key-value-stores). diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index 9f879e04b7..2d62527b77 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -34,7 +34,7 @@ You can access your request queues in several ways: In the [Apify Console](https://console.apify.com), you can view your request queues in the [Storage](https://console.apify.com/storage) section under the [Request queues](https://console.apify.com/storage?tab=requestQueues) tab. -![Request queues in app](./images/request-queue-app.png) +![Request queues in Apify Console](./images/storage-types-rq.svg) To view a request queue, click on its **Queue ID**. Under the **Actions** menu, you can rename your queue's name (and, in turn, its From a70c533d7b5b645d135dcaff30d0f1384923fe63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Tue, 15 Sep 2026 19:18:24 +0200 Subject: [PATCH 15/16] docs: cut filler and fix grammar across the storage pages Restatements only, checked by an independent fidelity review; the one factual change is Python SDK 3.8 -> 3.10, per its pyproject. Also drops the hub's dangling share paragraph and its stale concurrency note. --- sources/platform/storage/dataset/index.md | 20 ++++++------- sources/platform/storage/index.md | 30 +++++++------------ .../platform/storage/key_value_store/index.md | 26 ++++++++-------- sources/platform/storage/request_queue.md | 29 ++++++++---------- 4 files changed, 45 insertions(+), 60 deletions(-) diff --git a/sources/platform/storage/dataset/index.md b/sources/platform/storage/dataset/index.md index 7e1ed4e84d..fe9f549849 100644 --- a/sources/platform/storage/dataset/index.md +++ b/sources/platform/storage/dataset/index.md @@ -8,7 +8,7 @@ slug: /storage/dataset Dataset storage enables you to sequentially save and retrieve data. A unique dataset is automatically created and assigned to each Actor run when the first item is stored. -Typically, datasets comprise results from web scraping, crawling, and data processing jobs. You can visualize this data in a table, where each object is forming a row and its attributes are represented as columns. You have the option to export data in various formats, including JSON, CSV, XML, Excel, HTML Table, RSS or JSONL. +Typically, datasets hold results from web scraping, crawling, and data processing jobs. The data displays as a table, where each object forms a row and its attributes form columns. You can export the data in JSON, CSV, XML, Excel, HTML table, RSS, or JSONL formats. :::info Retention period @@ -33,7 +33,7 @@ Dataset schemas are defined in the Actor's `.actor` folder and apply to the Acto You can access your datasets in several ways: -- [Apify Console](https://console.apify.com) - provides an easy-to-understand interface. +- [Apify Console](https://console.apify.com) - view and manage your datasets in a visual interface. - [Apify API](/api/v2) - to access your datasets programmatically. - [Apify API client](/api) - to access your datasets from any Node.js/Python application. - [Apify SDKs](/sdk) - when building your own JavaScript/Python Actor. @@ -50,13 +50,13 @@ To view or download a dataset: 1. Browse the data in **Table** or **JSON** view. 1. Click **Export** to download the data in your preferred format. -Utilize the **Actions** menu to modify the dataset's name, which also affects its [retention period](/storage#data-retention), and to adjust [access rights](/account/collaboration). The **API** button allows you to explore and test the dataset's [API endpoints](/api/v2/storage-datasets). +Use the **Actions** menu to rename the dataset (which affects its [retention period](/storage#data-retention)) and to adjust [access rights](/account/collaboration). Select **API** to view and test the dataset's [API endpoints](/api/v2/storage-datasets). ![Datasets detail view](../images/datasets-detail.png) ### Apify API -The [Apify API](/api/v2/storage-datasets) enables you programmatic access to your datasets using [HTTP requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods). +The [Apify API](/api/v2/storage-datasets) gives you programmatic access to your datasets using [HTTP requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods). If you are accessing your datasets using the `username~store-name` [store ID format](../index.md), you will need to use your secret API token. You can find the token (and your user ID) on the [API & Integrations](https://console.apify.com/settings/integrations) tab of **Settings** page of your Apify account. @@ -138,7 +138,7 @@ For further details and a breakdown of each storage API endpoint, refer to the [ The [JavaScript API client](/api/client/js/reference/class/DatasetClient) (`apify-client`) enables you access to your datasets from any Node.js application, whether hosted on the Apify platform or externally. -After importing and initiating the client, you can save each dataset to a variable for easier access. +After importing and initializing the client, you can save each dataset to a variable for easier access. ```js const myDatasetClient = apifyClient.dataset('jane-doe/my-dataset'); @@ -158,7 +158,7 @@ Check out the [JavaScript API client documentation](/api/client/js/reference/cla The [Python API client](/api/client/python/reference/class/DatasetClient) (`apify-client`) enables you access to your datasets from any Python application, whether it is running on the Apify platform or externally. -After importing and initiating the client, you can save each dataset to a variable for easier access. +After importing and initializing the client, you can save each dataset to a variable for easier access. ```python my_dataset_client = apify_client.dataset('jane-doe/my-dataset') @@ -178,7 +178,7 @@ Check out the [Python API client documentation](/api/client/python/reference/cla #### JavaScript SDK -When working with a JavaScript [Actor](../../actors/index.mdx), the [JavaScript SDK](/sdk/js/docs/guides/result-storage#dataset) is an essential tool, especially for dataset management. It simplifies the tasks of storing and retrieving data, seamlessly integrating with the Actor's workflow. Key features of the SDK include the ability to append data, retrieve what is stored, and manage dataset properties effectively. Central to this functionality is the [`Dataset`](/sdk/js/reference/class/Dataset) class. This class allows you to determine where your data is stored - locally or in the Apify cloud. To add data to your chosen datasets, use the [`pushData()`](/sdk/js/reference/class/Dataset#pushData) method. +In JavaScript [Actors](../../actors/index.mdx), manage datasets with the JavaScript SDK's [`Dataset`](/sdk/js/reference/class/Dataset) class. It works both locally and on the Apify platform. To add data, use the [`pushData()`](/sdk/js/reference/class/Dataset#pushData) method. Additionally the SDK offers other methods like [`getData()`](/sdk/js/reference/class/Dataset#getData), [`map()`](/sdk/js/reference/class/Dataset#map), and [`reduce()`](/sdk/js/reference/class/Dataset#reduce). For practical applications of these methods, refer to the [example](/sdk/js/docs/examples/map-and-reduce) section. @@ -233,7 +233,7 @@ await dataset.pushData({ foo: 'bar' }); await Actor.exit(); ``` -Utilize the `fields` option in the [`getData()`](/sdk/js/reference/class/Dataset#getData) method to specify which data fields to retrieve. This option accepts an array of fields names (string) to include in your results. +Use the `fields` option in the [`getData()`](/sdk/js/reference/class/Dataset#getData) method to specify which data fields to retrieve. This option accepts an array of field names (string) to include in your results. ```js import { Actor } from 'apify'; @@ -256,7 +256,7 @@ Check out the [JavaScript SDK documentation](/sdk/js/docs/guides/result-storage# #### Python SDK -For Python [Actors](../../actors/index.mdx), the [Python SDK](/sdk/python/docs/concepts/storages#working-with-datasets) is essential. The dataset is represented by a [`Dataset`](/sdk/python/reference/class/Dataset) class. You can use this class to specify whether your data is stored locally or in the Apify cloud and push data to the datasets of your choice using the [`push_data()`](/sdk/python/reference/class/Dataset#push_data) method. For further data manipulation you could also use other methods such as [`get_data()`](/sdk/python/reference/class/Dataset#get_data), [`map()`](/sdk/python/reference/class/Dataset#map) and [`reduce()`](/sdk/python/reference/class/Dataset#reduce). +In Python [Actors](../../actors/index.mdx), manage datasets with the Python SDK's [`Dataset`](/sdk/python/reference/class/Dataset) class. It works both locally and on the Apify platform. To add data, use [`push_data()`](/sdk/python/reference/class/Dataset#push_data); to read and transform it, use [`get_data()`](/sdk/python/reference/class/Dataset#get_data), [`map()`](/sdk/python/reference/class/Dataset#map), and [`reduce()`](/sdk/python/reference/class/Dataset#reduce). For datasets stored locally, the data is located at the following path: @@ -294,7 +294,7 @@ async def main(): await dataset.push_data({'foo': 'bar'}) ``` -Utilize the `fields` option in the [`get_data()`](/sdk/python/reference/class/Dataset#get_data) method to specify which data fields to retrieve. This option accepts an array of fields names (string) to include in your results. +Use the `fields` option in the [`get_data()`](/sdk/python/reference/class/Dataset#get_data) method to specify which data fields to retrieve. This option accepts an array of field names (string) to include in your results. ```python from apify import Actor diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index 51de3f3ad8..5fa9a4e4ff 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -51,7 +51,7 @@ To view the related API endpoints, select **API** in the top right corner. :::note Toggle unnamed storages -Use the **Include unnamed storages** checkbox to either display or hide unnamed storages. By default Apify Console displays them. +Use the **Include unnamed storages** checkbox to show or hide unnamed storages. By default, Apify Console shows them. ::: @@ -59,14 +59,6 @@ To rename a store, open the **Actions** menu and select **Rename**. To share a storage, select **Share** in the **Actions** menu and provide an email, username, or user ID. -These URLs link to API _endpoints_ where your data is stored. _Read_ endpoints don't require an [authentication token](/api/v2#authentication). Calls are authenticated by a hard-to-guess ID, which keeps sharing secure. Operations such as _update_ or _delete_ do require the token. - -:::caution Token security - -Never share a URL containing your authentication token. It can compromise your account's security. If the data you want to share requires a token, download it first and share it as a file. - -::: - ### Apify API The [Apify API](/api/v2/storage-key-value-stores) lets you access your storages programmatically using [HTTP requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods) and share your crawling results. @@ -81,6 +73,12 @@ For read (GET) requests, the alphanumerical ID alone is enough, since it's hard For other request types, and when using `username~store-name`, provide your secret API token in the request's [`Authorization`](/api/v2#authentication) header or as a query parameter. Find your token on the [API & Integrations](https://console.apify.com/settings/integrations) page of your Apify account. +:::caution Token security + +Never share a URL containing your authentication token. It can compromise your account's security. If the data you want to share requires a token, download it first and share it as a file. + +::: + For a breakdown of each storage endpoint, see the [API documentation](/api/v2/storage-datasets). ### Apify API clients @@ -94,13 +92,13 @@ For more details, see the [API client docs](/api). The Apify SDKs are JavaScript and Python libraries for building your own Actors. * JavaScript SDK requires [Node.js](https://nodejs.org/en/) 16 or later. -* Python SDK requires [Python](https://www.python.org/downloads/release/python-380/) 3.8 or above. +* Python SDK requires [Python](https://www.python.org/downloads/) 3.10 or above. ## Named and unnamed storages The default storages for an Actor run are unnamed, identified only by an _ID_. Naming a storage ensures indefinite retention regardless of plan; unnamed storages follow the [data retention](#data-retention) rules below. -Named and unnamed storages are identical except for their retention period. Named storages are easier to identify and confirm. The names `janedoe~my-storage-1` and `janedoe~web-scrape-results` are easier to tell apart than the IDs `cAbcYOfuXemTPwnIB` and `CAbcsuZbp7JHzkw1B`. Storage names can be up to 63 characters long. +Named and unnamed storages are identical except for their retention period. Named storages are easier to identify. The names `janedoe~my-storage-1` and `janedoe~web-scrape-results` are easier to tell apart than the IDs `cAbcYOfuXemTPwnIB` and `CAbcsuZbp7JHzkw1B`. Storage names can be up to 63 characters long. ### Name a storage @@ -137,8 +135,6 @@ Unnamed storages beyond the 10 most recent runs are deleted when the retention p ## Estimate your costs -Use this tool to estimate storage costs by plan and storage type. -

Estimate your storage costs @@ -152,7 +148,7 @@ Use this tool to estimate storage costs by plan and storage type. ## Rate limiting -All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_ per storage object, and some endpoints allow more or fewer. The tiers differ per storage type: +All API endpoints limit their request rate to protect Apify servers from overload. The default rate limit for storage objects is _60 requests per second_ per storage object, and some endpoints have higher or lower limits. The tiers differ per storage type: * [Datasets](/storage/dataset#rate-limiting) * [Key-value stores](/storage/key-value-store#rate-limiting) @@ -179,12 +175,6 @@ You can grant access rights to other Apify users, share a storage by link, or ge If you have the storage's _name_ or _ID_, you can access it from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Use storage from another run](./use-from-another-run.md). -:::note Concurrent write order - -When multiple runs write to a storage simultaneously, the order of writes is not guaranteed. Data is written as each request is processed. The same applies in key-value stores and request queues: if a delete request precedes a read request for the same record, the read request fails. - -::: - ## Delete storages Named storages are only removed upon your request. You can delete storages in the following ways: diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index 8389ed3dfc..e0bcd4c2f1 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -22,9 +22,9 @@ Named key-value stores are retained indefinitely. Unnamed key-value stores expir ## Basic usage -You can access key-value stores through several methods +You can access your key-value stores in several ways: -- [Apify Console](https://console.apify.com) - provides an easy-to-understand interface. +- [Apify Console](https://console.apify.com) - view and manage your key-value stores in a visual interface. - [Apify API](/api/v2) - for accessing your key-value stores programmatically. - [Apify API clients](/api) - to access your key-value stores from any Node.js/Python application. - [Apify SDKs](/sdk) - when building your own JavaScript/Python Actor. @@ -35,7 +35,7 @@ In [Apify Console](https://console.apify.com), you can view your key-value store ![Key-value stores in Apify Console](../images/storage-types-kvs.svg) -To view a key-value store's content, click on its **Store ID**. Under the **Actions** menu, you can rename your store (which extends its [retention period](/storage#named-and-unnamed-storages)) and grant [access rights](/account/collaboration) using the **Share** button. +To view a key-value store's content, click on its **Store ID**. Under the **Actions** menu, you can rename your store (which affects its [retention period](/storage#named-and-unnamed-storages)) and grant [access rights](/account/collaboration) using the **Share** button. Click on the **API** button to view and test a store's [API endpoints](/api/v2/storage-key-value-stores). ![Key-value stores detail](../images/key-value-stores-detail-header.png) @@ -52,7 +52,7 @@ At the bottom of the page, you can work with records in your key-value store: ### Apify API -The [Apify API](/api/v2/storage-key-value-stores) enables you programmatic access to your key-value stores using [HTTP requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods). +The [Apify API](/api/v2/storage-key-value-stores) gives you programmatic access to your key-value stores using [HTTP requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods). If you are accessing your key-value stores using the `username~store-name` [store ID format](../index.md), you will need to use your secret API token. You can find the token (and your user ID) on the [API & Integrations](https://console.apify.com/settings/integrations) tab of **Settings** page of your Apify account. @@ -109,7 +109,7 @@ For further details and a breakdown of each storage API endpoint, refer to the [ The Apify [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient) (`apify-client`) enables you to access your key-value stores from any Node.js application, whether hosted on the Apify platform or externally. -After importing and initiating the client, you can save each key-value store to a variable for easier access. +After importing and initializing the client, you can save each key-value store to a variable for easier access. ```js const myKeyValStoreClient = apifyClient.keyValueStore( @@ -125,7 +125,7 @@ Check out the [JavaScript API client documentation](/api/client/js/reference/cla The Apify [Python API client](/api/client/python/reference/class/KeyValueStoreClient) (`apify-client`) allows you to access your key-value stores from any Python application, whether it is running on the Apify platform or externally. -After importing and initiating the client, you can save each key-value store to a variable for easier access. +After importing and initializing the client, you can save each key-value store to a variable for easier access. ```python my_key_val_store_client = apify_client.key_value_store('jane-doe/my-key-val-store') @@ -139,11 +139,9 @@ Check out the [Python API client documentation](/api/client/python/reference/cla #### JavaScript SDK -When working with a JavaScript [Actor](../../actors/index.mdx), the [JavaScript SDK](/sdk/js/docs/guides/result-storage#key-value-store) is an essential tool, especially for key-value store management. The primary class for this purpose is the [`KeyValueStore`](/sdk/js/reference/class/KeyValueStore). This class allows you to decide whether your data will be stored locally or in the Apify cloud. For data manipulation, it offers the [`getValue()`](/sdk/js/reference/class/KeyValueStore#getValue) and [`setValue()`](/sdk/js/reference/class/KeyValueStore#setValue) methods to retrieve and assign values, respectively. +In JavaScript [Actors](../../actors/index.mdx), manage key-value stores with the JavaScript SDK's [`KeyValueStore`](/sdk/js/reference/class/KeyValueStore) class. It works both locally and on the Apify platform. To read and write records, use the [`getValue()`](/sdk/js/reference/class/KeyValueStore#getValue) and [`setValue()`](/sdk/js/reference/class/KeyValueStore#setValue) methods; to iterate over keys, use [`forEachKey()`](/sdk/js/reference/class/KeyValueStore#forEachKey). -Additionally, you can iterate over the keys in your store using the [`forEachKey()`](/sdk/js/reference/class/KeyValueStore#forEachKey) method. - -Every Actor run is linked to a default key-value store that is automatically created for that specific run. If you're running your Actors and opt to store data locally, you can easily supply the [input](../../actors/running/input_and_output.md) by placing an _INPUT.json_ file in the corresponding directory of the default key-value store. This method ensures that your Actor has all the necessary data readily available for its execution. +Every Actor run is linked to a default key-value store, created automatically for that run. When you run your Actor locally, you can supply its [input](../../actors/running/input_and_output.md) by placing an _INPUT.json_ file in the default key-value store's directory. You can find _INPUT.json_ and other key-value store files in the location below. @@ -209,9 +207,9 @@ Check out the [JavaScript SDK documentation](/sdk/js/docs/guides/result-storage# #### Python SDK -For Python [Actor](../../actors/index.mdx), the [Python SDK](/sdk/python/docs/concepts/storages#working-with-key-value-stores) is essential. The key-value store is represented by a [`KeyValueStore`](/sdk/python/reference/class/KeyValueStore) class. You can use this class to specify whether your data is stored locally or in the Apify cloud. For further data manipulation it offers [`get_value()`](/sdk/python/reference/class/KeyValueStore#get_value) and [`set_value()`](/sdk/python/reference/class/KeyValueStore#set_value) methods to retrieve and assign values, respectively. +In Python [Actors](../../actors/index.mdx), manage key-value stores with the Python SDK's [`KeyValueStore`](/sdk/python/reference/class/KeyValueStore) class. It works both locally and on the Apify platform. To read and write records, use the [`get_value()`](/sdk/python/reference/class/KeyValueStore#get_value) and [`set_value()`](/sdk/python/reference/class/KeyValueStore#set_value) methods. -Every Actor run is linked to a default key-value store that is automatically created for that specific run. If you're running your Actors and opt to store data locally, you can easily supply the [input](../../actors/running/input_and_output.md) by placing an _INPUT.json_ file in the corresponding directory of the default key-value store. This method ensures that your Actor has all the necessary data readily available for its execution. +Every Actor run is linked to a default key-value store, created automatically for that run. When you run your Actor locally, you can supply its [input](../../actors/running/input_and_output.md) by placing an _INPUT.json_ file in the default key-value store's directory. You can find _INPUT.json_ and other key-value store files in the location below. @@ -265,11 +263,11 @@ Check out the [Python SDK documentation](/sdk/python/docs/concepts/storages#work ## Compression -Previously, when using the [Store record](/api/v2/key-value-store-record-put) endpoint, every record was automatically compressed with Gzip before being uploaded. However, this process has been updated. _Now, records are stored exactly as you upload them._ This change means that it is up to you whether the record is stored compressed or uncompressed. +Records are stored exactly as you upload them, compressed or uncompressed. You can compress a record and use the [Content-Encoding request header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding) to let the platform know which compression it uses. We recommend compressing large key-value records to save storage space and network traffic. -_Using the [JavaScript SDK](/sdk/js/reference/class/KeyValueStore#setValue) or the [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient#setRecord) automatically compresses your files._ We advise utilizing the JavaScript API client for data compression prior to server upload and decompression upon retrieval, minimizing storage costs. +The [JavaScript SDK](/sdk/js/reference/class/KeyValueStore#setValue) and the [JavaScript API client](/api/client/js/reference/class/KeyValueStoreClient#setRecord) compress and decompress records automatically. ## Share and reuse {#share} diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index 2d62527b77..b26a7c0de5 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -9,9 +9,9 @@ slug: /storage/request-queue import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Request queues enable you to enqueue and retrieve requests such as URLs with an [HTTP method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods) and other parameters. They prove essential not only in web crawling scenarios but also in any situation requiring the management of a large number of URLs and the addition of new links. +Request queues store URLs to process, each with an [HTTP method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods) and other parameters. They're built for web crawling and for any workload that manages a large list of URLs that grows as it's processed. -The storage system for request queues accommodates both breadth-first and depth-first crawling strategies, along with the inclusion of custom data attributes. This system enables you to check if certain URLs have already been encountered, add new URLs to the queue, and retrieve the next set of URLs for processing. +A request queue supports breadth-first and depth-first crawling and custom data attributes. It lets you check whether a URL was already encountered, add new URLs, and fetch the next URL to process. :::info Retention period @@ -25,7 +25,7 @@ Named request queues are retained indefinitely. Unnamed request queues expire af You can access your request queues in several ways: -- [Apify Console](https://console.apify.com) - provides an easy-to-understand interface. +- [Apify Console](https://console.apify.com) - view and manage your request queues in a visual interface. - [Apify API](/api/v2) - for accessing your request queues programmatically. - [Apify API clients](/api) - to access your request queues from any Node.js application. - [Apify SDK](/sdk) - when building your own JavaScript Actor. @@ -37,15 +37,14 @@ In the [Apify Console](https://console.apify.com), you can view your request que ![Request queues in Apify Console](./images/storage-types-rq.svg) To view a request queue, click on its **Queue ID**. -Under the **Actions** menu, you can rename your queue's name (and, in turn, its -[retention period](/storage#named-and-unnamed-storages)) and [access rights](/account/collaboration) using the **Share** button. +Under the **Actions** menu, you can rename your queue (which affects its [retention period](/storage#named-and-unnamed-storages)) and grant [access rights](/account/collaboration) using the **Share** button. Click on the **API** button to view and test a queue's [API endpoints](/api/v2/storage-request-queues). ![Request queues detail](./images/request-queue-detail.png) ### Apify API -The [Apify API](/api/v2/storage-request-queues) allows you programmatic access to your request queues using [HTTP requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods). +The [Apify API](/api/v2/storage-request-queues) gives you programmatic access to your request queues using [HTTP requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods). If you are accessing your request queues using the `username~store-name` [store ID format](./index.md), you will need to use your secret API token. You can find the token (and your user ID) on the [API & Integrations](https://console.apify.com/settings/integrations) page of your Apify account. @@ -122,7 +121,7 @@ For further details and a breakdown of each storage API endpoint, refer to the [ The Apify [JavaScript API client](/api/client/js/reference/class/RequestQueueClient) (`apify-client`) enables you to access your request queues from any Node.js application, whether it is running on the Apify platform or externally. -After importing and initiating the client, you can save each request queue to a variable for easier access. +After importing and initializing the client, you can save each request queue to a variable for easier access. ```js const myQueueClient = apifyClient.requestQueue('jane-doe/my-request-queue'); @@ -136,7 +135,7 @@ Check out the [JavaScript API client documentation](/api/client/js/reference/cla The Apify [Python API client](/api/client/python) (`apify-client`) allows you to access your request queues from any Python application, whether it's running on the Apify platform or externally. -After importing and initiating the client, you can save each request queue to a variable for easier access. +After importing and initializing the client, you can save each request queue to a variable for easier access. ```python my_queue_client = apify_client.request_queue('jane-doe/my-request-queue') @@ -150,11 +149,9 @@ Check out the [Python API client documentation](/api/client/python/reference/cla #### JavaScript SDK -When working with a JavaScript [Actor](../actors/index.mdx), the [JavaScript SDK](/sdk/js/docs/guides/request-storage#request-queue) is an essential tool, especially for request queue management. The primary class for this purpose is the [`RequestQueue`](/sdk/js/reference/class/RequestQueue) class. Use this class to decide whether your data is stored locally or in the Apify cloud. +In JavaScript [Actors](../actors/index.mdx), manage request queues with the JavaScript SDK's [`RequestQueue`](/sdk/js/reference/class/RequestQueue) class. It works both locally and on the Apify platform. To add URLs to the queue, use [`addRequests()`](/sdk/js/reference/class/RequestQueue#addRequests). -If you are building a JavaScript [Actor](../actors/index.mdx), you will be using the [JavaScript SDK](/sdk/js/docs/guides/request-storage#request-queue). The request queue is represented by a [`RequestQueue`](/sdk/js/reference/class/RequestQueue) class. You can use the class to specify whether your data is stored locally or in the Apify cloud and [enqueue new URLs](/sdk/js/reference/class/RequestQueue#addRequests). - -Every Actor run is automatically linked with a default request queue, initiated upon adding the first request. This queue is primarily utilized for storing URLs to be crawled during the particular Actor run, though its use is not mandatory. For enhanced flexibility, you can establish named queues. These named queues offer the advantage of being shareable across different Actors or various Actor runs, facilitating a more interconnected and efficient process. +Every Actor run gets a default request queue, created when the first request is added. The run typically uses it to store the URLs it crawls, but doesn't have to. You can also create named queues and share them between Actors or runs. If you are storing your data locally, you can find your request queue at the following location. @@ -223,9 +220,9 @@ Check out the [JavaScript SDK documentation](/sdk/js/docs/guides/request-storage #### Python SDK -For Python [Actor](../actors/index.mdx) development, the [Python SDK](/sdk/python/docs/concepts/storages#working-with-request-queues) the in essential. The request queue is represented by [`RequestQueue`](/sdk/python/reference/class/RequestQueue) class. Utilize this class to determine whether your data is stored locally or in the Apify cloud. For managing your data, it provides the capability to [enqueue new URLs](/sdk/python/reference/class/RequestQueue#add_requests), facilitating seamless integration and operation within your Actor. +In Python [Actors](../actors/index.mdx), manage request queues with the Python SDK's [`RequestQueue`](/sdk/python/reference/class/RequestQueue) class. It works both locally and on the Apify platform. To add URLs to the queue, use [`add_requests()`](/sdk/python/reference/class/RequestQueue#add_requests). -Every Actor run is automatically connected to a default request queue, established specifically for that run upon the addition of the first request. If you're operating your Actors and choose to utilize this queue, it typically serves to store URLs for crawling in the respective Actor run, though its use is not mandatory. To extend functionality, you have the option to create named queue, which offer the flexibility to be shared among different Actors or across multiple Actor runs. +Every Actor run gets a default request queue, created when the first request is added. The run typically uses it to store the URLs it crawls, but doesn't have to. You can also create named queues and share them between Actors or runs. If you are storing your data locally, you can find your request queue at the following location. @@ -285,7 +282,7 @@ Check out the [Python SDK documentation](/sdk/python/docs/concepts/storages#work ## Features Request queue is a storage type built with scraping in mind, enabling developers to write scraping logic efficiently and scalably. -The Apify tooling, including [Crawlee](https://crawlee.dev/), [Apify SDK for JavaScript](https://docs.apify.com/sdk/js/), and [Apify SDK for Python](https://docs.apify.com/sdk/python/), incorporates all these features, enabling users to leverage them effortlessly without extra configuration. +[Crawlee](https://crawlee.dev/), the [Apify SDK for JavaScript](https://docs.apify.com/sdk/js/), and the [Apify SDK for Python](https://docs.apify.com/sdk/python/) support all these features without extra configuration. The following sections cover each of the main features in depth. @@ -413,7 +410,7 @@ request_queue_client.batch_delete_requests([ Request queue includes a locking mechanism to avoid concurrent processing of one request by multiple clients (for example Actor runs). You can lock a request so that no other clients receive it when they fetch the queue head, with an expiration period on the lock so that requests which fail processing are eventually unlocked and retried. -This feature is seamlessly integrated into Crawlee, requiring minimal extra setup. By default, requests are locked for the same duration as the timeout for processing requests in the crawler ([`requestHandlerTimeoutSecs`](https://crawlee.dev/api/next/basic-crawler/interface/BasicCrawlerOptions#requestHandlerTimeoutSecs)). +Crawlee supports request locking with minimal setup. By default, requests are locked for the same duration as the timeout for processing requests in the crawler ([`requestHandlerTimeoutSecs`](https://crawlee.dev/api/next/basic-crawler/interface/BasicCrawlerOptions#requestHandlerTimeoutSecs)). If the Actor processing the request fails, the lock expires, and the request is processed again eventually. For more details, refer to the [Crawlee documentation](https://crawlee.dev/docs/next/experiments/experiments-request-locking). In the following example, we demonstrate how you can use locking mechanisms to avoid concurrent processing of the same request across multiple Actor runs. From dce12945c31d1f669e78705bf669bb9e93b2a16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Tue, 15 Sep 2026 19:37:13 +0200 Subject: [PATCH 16/16] docs: fixes Fix broken example URLs and leftover filler. --- sources/platform/storage/dataset/index.md | 10 ++++---- sources/platform/storage/index.md | 2 +- .../platform/storage/key_value_store/index.md | 4 +++- sources/platform/storage/request_queue.md | 23 ++++++++----------- .../platform/storage/use-from-another-run.md | 2 +- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/sources/platform/storage/dataset/index.md b/sources/platform/storage/dataset/index.md index fe9f549849..4aa3f5afea 100644 --- a/sources/platform/storage/dataset/index.md +++ b/sources/platform/storage/dataset/index.md @@ -12,7 +12,7 @@ Typically, datasets hold results from web scraping, crawling, and data processin :::info Retention period -Named datasets are retained indefinitely. Unnamed datasets expire after 7 days unless otherwise specified. [Learn more](/storage#named-and-unnamed-storages) +Named datasets are retained indefinitely. Unnamed datasets expire after 7 days unless otherwise specified. [Learn more](/storage#data-retention) ::: @@ -136,7 +136,7 @@ For further details and a breakdown of each storage API endpoint, refer to the [ #### JavaScript API client -The [JavaScript API client](/api/client/js/reference/class/DatasetClient) (`apify-client`) enables you access to your datasets from any Node.js application, whether hosted on the Apify platform or externally. +The [JavaScript API client](/api/client/js/reference/class/DatasetClient) (`apify-client`) enables you to access your datasets from any Node.js application, whether hosted on the Apify platform or externally. After importing and initializing the client, you can save each dataset to a variable for easier access. @@ -156,7 +156,7 @@ Check out the [JavaScript API client documentation](/api/client/js/reference/cla #### Python API client -The [Python API client](/api/client/python/reference/class/DatasetClient) (`apify-client`) enables you access to your datasets from any Python application, whether it is running on the Apify platform or externally. +The [Python API client](/api/client/python/reference/class/DatasetClient) (`apify-client`) allows you to access your datasets from any Python application, whether it is running on the Apify platform or externally. After importing and initializing the client, you can save each dataset to a variable for easier access. @@ -419,7 +419,7 @@ To read from or write to a dataset that belongs to a different Actor or task run - Data storage formats that use tabulation (like HTML, CSV, and Excel) are limited to a maximum of _2000_ columns. Data exceeding this limit will not be retrieved. -- The `pushData()`method is constrained by the receiving API's size limit. It accepts objects with JSON size under _9MB_. While individual objects within an array must not exceed _9MB_, the overall size has no restriction. +- The `pushData()` method is constrained by the receiving API's size limit. It accepts objects with JSON size under _9MB_. While individual objects within an array must not exceed _9MB_, the overall size has no restriction. - The maximum length for dataset names is 63 characters. @@ -427,6 +427,6 @@ To read from or write to a dataset that belongs to a different Actor or task run The rate limit for pushing data to a dataset through the [API](/api/v2/dataset-items-post) is capped at _400 requests per second_ for each dataset, a measure to prevent overloading Apify servers. -For all other dataset [API endpoints](/api/v2/storage-datasets) , the rate limit is _60 requests per second_ for each dataset. +For all other dataset [API endpoints](/api/v2/storage-datasets), the rate limit is _60 requests per second_ for each dataset. Check out the [API documentation](/api/v2#rate-limiting) for more information and guidance on actions to take if you exceed these rate limits. diff --git a/sources/platform/storage/index.md b/sources/platform/storage/index.md index 5fa9a4e4ff..a1acca9005 100644 --- a/sources/platform/storage/index.md +++ b/sources/platform/storage/index.md @@ -173,7 +173,7 @@ You can grant access rights to other Apify users, share a storage by link, or ge ## Concurrent access {#share-storages-between-runs} -If you have the storage's _name_ or _ID_, you can access it from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time. See [Use storage from another run](./use-from-another-run.md). +If you have the storage's _name_ or _ID_, you can access it from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run. Datasets and key-value stores support concurrent reads and writes, while a request queue accepts new data from multiple runs but can only be processed by one run at a time, unless you use [request locking](./request_queue.md#distributivity). See [Use storage from another run](./use-from-another-run.md). ## Delete storages diff --git a/sources/platform/storage/key_value_store/index.md b/sources/platform/storage/key_value_store/index.md index e0bcd4c2f1..62431f9932 100644 --- a/sources/platform/storage/key_value_store/index.md +++ b/sources/platform/storage/key_value_store/index.md @@ -14,7 +14,7 @@ Key-value stores are mutable - you can both add entries and delete them. :::info Retention period -Named key-value stores are retained indefinitely. Unnamed key-value stores expire after 7 days unless otherwise specified. [Learn more](/storage#named-and-unnamed-storages) +Named key-value stores are retained indefinitely. Unnamed key-value stores expire after 7 days unless otherwise specified. [Learn more](/storage#data-retention) ::: @@ -283,6 +283,8 @@ Key-value storage uses the [AWS S3](https://aws.amazon.com/s3/) service. Accordi - The maximum length for a key in a key-value store is 256 characters. Keys may only contain the following characters: `a-zA-Z0-9!-_.'()`. +- The maximum length for a key-value store name is 63 characters. + ### Rate limiting Operations on a single record ([get](/api/v2/key-value-store-record-get), [put](/api/v2/key-value-store-record-put), [delete](/api/v2/key-value-store-record-delete)) and [getting the list of keys](/api/v2/key-value-store-keys-get) are limited to _200 requests per second_ per store. diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index b26a7c0de5..ea8f32ac37 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -15,7 +15,7 @@ A request queue supports breadth-first and depth-first crawling and custom data :::info Retention period -Named request queues are retained indefinitely. Unnamed request queues expire after 7 days unless otherwise specified. [Learn more](/storage#named-and-unnamed-storages) +Named request queues are retained indefinitely. Unnamed request queues expire after 7 days unless otherwise specified. [Learn more](/storage#data-retention) ::: @@ -27,8 +27,8 @@ You can access your request queues in several ways: - [Apify Console](https://console.apify.com) - view and manage your request queues in a visual interface. - [Apify API](/api/v2) - for accessing your request queues programmatically. -- [Apify API clients](/api) - to access your request queues from any Node.js application. -- [Apify SDK](/sdk) - when building your own JavaScript Actor. +- [Apify API clients](/api) - to access your request queues from any Node.js/Python application. +- [Apify SDKs](/sdk) - when building your own JavaScript/Python Actor. ### Apify Console @@ -259,9 +259,9 @@ async def main(): queue: RequestQueue = await Actor.open_request_queue() # Enqueue requests - await queue.add_request(request={'url': 'http:#example.com/aaa'}) - await queue.add_request(request={'url': 'http:#example.com/foo'}) - await queue.add_request(request={'url': 'http:#example.com/bar'}, forefront=True) + await queue.add_request(request={'url': 'http://example.com/aaa'}) + await queue.add_request(request={'url': 'http://example.com/foo'}) + await queue.add_request(request={'url': 'http://example.com/bar'}, forefront=True) # Get the next requests from queue request1 = await queue.fetch_next_request() @@ -281,15 +281,12 @@ Check out the [Python SDK documentation](/sdk/python/docs/concepts/storages#work ## Features -Request queue is a storage type built with scraping in mind, enabling developers to write scraping logic efficiently and scalably. -[Crawlee](https://crawlee.dev/), the [Apify SDK for JavaScript](https://docs.apify.com/sdk/js/), and the [Apify SDK for Python](https://docs.apify.com/sdk/python/) support all these features without extra configuration. - -The following sections cover each of the main features in depth. +Request queues are built for scraping workloads. The following sections cover the main features; [Crawlee](https://crawlee.dev/), the [Apify SDK for JavaScript](https://docs.apify.com/sdk/js/), and the [Apify SDK for Python](https://docs.apify.com/sdk/python/) support all of them without extra configuration. ### Persistence and retention -Request queues prioritize persistence, ensuring indefinite retention of your requests in named request queues, and for the data retention period in your subscription in unnamed request queues. -This capability facilitates incremental crawling, where you can append new URLs to the queue and resume from where you stopped in subsequent Actor runs. +Named request queues retain requests indefinitely; unnamed queues follow your subscription's data retention period. +This enables incremental crawling: append new URLs to the queue and resume from where you stopped in subsequent Actor runs. Consider the scenario of scraping an e-commerce website with thousands of products. Incremental scraping allows you to scrape only the products added since the last product discovery. @@ -418,7 +415,7 @@ In the following example, we demonstrate how you can use locking mechanisms to a :::info Lock mechanism The lock mechanism works on the client level, as well as the run level, when running the Actor on the Apify platform. -This means you can unlock or prolong the lock the locked request only if: +This means you can unlock or prolong the lock of a locked request only if: - You are using the same client key, or - The operation is being called from the same Actor run. diff --git a/sources/platform/storage/use-from-another-run.md b/sources/platform/storage/use-from-another-run.md index 6993e823c6..cc2f6fe035 100644 --- a/sources/platform/storage/use-from-another-run.md +++ b/sources/platform/storage/use-from-another-run.md @@ -13,7 +13,7 @@ If you have the storage's _name_ or _ID_, you can access it from any [Actor](../ [Datasets](./dataset/index.md) and [key-value stores](./key_value_store/index.md) support concurrent use. Multiple Actors or tasks can write to the same dataset or key-value store, and multiple runs can read from them at the same time. -[Request queues](./request_queue.md) only allow multiple runs to add new data. A request queue can be processed by one Actor or task run at a time. +[Request queues](./request_queue.md) only allow multiple runs to add new data. A request queue can be processed by one Actor or task run at a time, unless you use [request locking](./request_queue.md#distributivity) to coordinate multiple runs. When multiple runs use the same storage at the same time, the order in which their operations are processed is not guaranteed. For example, if a delete of a key-value store record is processed before a read of the same record, the read fails.