From 92a93bb4d76893ebd576ec59a73a9cc2b9d81a58 Mon Sep 17 00:00:00 2001 From: luz paz Date: Mon, 8 Sep 2025 16:47:55 +0200 Subject: [PATCH] Cleanup: Fix various documentation related typos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Found via `codespell -S "*.po,*.chunk.min.js" -L cace,cacl,currenty,eacf,eacg,fo,nd,nin,ontext,originaly,ot,te,ue` No functional changes. Co-authored-by: Sybren A. Stüvel Pull Request: https://projects.blender.org/studio/flamenco/pulls/104436 --- CHANGELOG.md | 2 +- addon/flamenco/bat/shaman.py | 2 +- addon/flamenco/manager/docs/Job.md | 4 +- addon/flamenco/manager/docs/JobsApi.md | 6 +- addon/flamenco/manager/docs/ShamanApi.md | 2 +- addon/flamenco/manager/docs/SubmittedJob.md | 4 +- addon/flamenco/manager/docs/WorkerTag.md | 2 +- addon/flamenco/manager/model/job.py | 8 +- addon/flamenco/manager/model/submitted_job.py | 8 +- addon/flamenco/manager/model/worker_tag.py | 4 +- addon/flamenco/operators.py | 8 +- pkg/api/flamenco-openapi.yaml | 14 +- pkg/api/openapi_spec.gen.go | 464 +++++++++--------- pkg/api/openapi_types.gen.go | 6 +- pkg/crosspath/crosspath.go | 4 +- .../7488.blob | 2 +- .../7459.blob | 2 +- pkg/shaman/cleanup_test.go | 2 +- pkg/shaman/fileserver/receivefile.go | 4 +- web/app/src/manager-api/model/Job.js | 8 +- web/app/src/manager-api/model/SubmittedJob.js | 4 +- web/app/src/manager-api/model/WorkerTag.js | 2 +- web/project-website/content/about/_index.md | 2 +- .../development/flamenco-api/_index.md | 2 +- .../openapi-commit-guidelines/_index.md | 2 +- .../content/usage/job-types/_index.md | 2 +- .../usage/jobs-tasks-commands/_index.md | 2 +- .../usage/jobs-tasks-commands/commands.md | 4 +- .../content/usage/shared-storage/_index.md | 2 +- .../content/usage/worker-actions/_index.md | 2 +- 30 files changed, 290 insertions(+), 290 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1f504ba..8af28a9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,7 +43,7 @@ bugs in actually-released versions. - Number the tasks in a job, indicating their creation order. This gives the web interface something to sort on that doesn't change on task updates. - Add `shellSplit(someString)` function to the job compiler scripts. This splits a string into an array of strings using shell/CLI semantics. - Make it possible to script job submissions in Blender, by executing the `bpy.ops.flamenco.submit_job(job_name="jobname")` operator. -- Security updates of some deendencies: +- Security updates of some dependencies: - [GO-2024-2937: Parsing a corrupt or malicious image with invalid color indices can cause a panic](https://pkg.go.dev/vuln/GO-2024-2937) - Web interface: list the job's worker tag in the job details. - Ensure the submitted scene is rendered in a multi-scene blend file. diff --git a/addon/flamenco/bat/shaman.py b/addon/flamenco/bat/shaman.py index 9da2304b..e84cd428 100644 --- a/addon/flamenco/bat/shaman.py +++ b/addon/flamenco/bat/shaman.py @@ -159,7 +159,7 @@ class Transferrer(submodules.transfer.FileTransferer): # type: ignore self.error_set("Giving up after multiple attempts to upload the files") return - self.log.info("All files uploaded succesfully") + self.log.info("All files uploaded successfully") checkout_result = self._request_checkout(shaman_file_specs) assert checkout_result is not None diff --git a/addon/flamenco/manager/docs/Job.md b/addon/flamenco/manager/docs/Job.md index 90adc392..3416dbce 100644 --- a/addon/flamenco/manager/docs/Job.md +++ b/addon/flamenco/manager/docs/Job.md @@ -13,11 +13,11 @@ Name | Type | Description | Notes **status** | [**JobStatus**](JobStatus.md) | | **activity** | **str** | Description of the last activity on this job. | **priority** | **int** | | defaults to 50 -**type_etag** | **str** | Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. | [optional] +**type_etag** | **str** | Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. | [optional] **settings** | [**JobSettings**](JobSettings.md) | | [optional] **metadata** | [**JobMetadata**](JobMetadata.md) | | [optional] **storage** | [**JobStorageInfo**](JobStorageInfo.md) | | [optional] -**worker_tag** | **str** | Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. | [optional] +**worker_tag** | **str** | Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. | [optional] **initial_status** | [**JobStatus**](JobStatus.md) | | [optional] **delete_requested_at** | **datetime** | If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/addon/flamenco/manager/docs/JobsApi.md b/addon/flamenco/manager/docs/JobsApi.md index 9274a14b..80d1a6bd 100644 --- a/addon/flamenco/manager/docs/JobsApi.md +++ b/addon/flamenco/manager/docs/JobsApi.md @@ -154,7 +154,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**204** | Jobs were succesfully marked for deletion. | - | +**204** | Jobs were successfully marked for deletion. | - | **416** | There were no jobs that match the request. | - | **0** | Error message | - | @@ -1315,7 +1315,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Job was succesfully compiled into individual tasks. | - | +**200** | Job was successfully compiled into individual tasks. | - | **412** | The given job type etag does not match the job type etag on the Manager. This is likely due to the client caching the job type for too long. | - | **0** | Error message | - | @@ -1397,7 +1397,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**204** | Job was succesfully compiled into individual tasks. The job and tasks have NOT been stored in the database, though. | - | +**204** | Job was successfully compiled into individual tasks. The job and tasks have NOT been stored in the database, though. | - | **412** | The given job type etag does not match the job type etag on the Manager. This is likely due to the client caching the job type for too long. | - | **0** | Error message | - | diff --git a/addon/flamenco/manager/docs/ShamanApi.md b/addon/flamenco/manager/docs/ShamanApi.md index aa2af08c..d8d054aa 100644 --- a/addon/flamenco/manager/docs/ShamanApi.md +++ b/addon/flamenco/manager/docs/ShamanApi.md @@ -82,7 +82,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Checkout was created succesfully. | - | +**200** | Checkout was created successfully. | - | **424** | There were files missing. Use `shamanCheckoutRequirements` to figure out which ones. | - | **409** | Checkout already exists. | - | **0** | unexpected error | - | diff --git a/addon/flamenco/manager/docs/SubmittedJob.md b/addon/flamenco/manager/docs/SubmittedJob.md index be6b9e93..0a2bf8a5 100644 --- a/addon/flamenco/manager/docs/SubmittedJob.md +++ b/addon/flamenco/manager/docs/SubmittedJob.md @@ -9,11 +9,11 @@ Name | Type | Description | Notes **type** | **str** | | **submitter_platform** | **str** | Operating system of the submitter. This is used to recognise two-way variables. This should be a lower-case version of the platform, like \"linux\", \"windows\", \"darwin\", \"openbsd\", etc. Should be ompatible with Go's `runtime.GOOS`; run `go tool dist list` to get a list of possible platforms. As a special case, the platform \"manager\" can be given, which will be interpreted as \"the Manager's platform\". This is mostly to make test/debug scripts easier, as they can use a static document on all platforms. | **priority** | **int** | | defaults to 50 -**type_etag** | **str** | Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. | [optional] +**type_etag** | **str** | Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. | [optional] **settings** | [**JobSettings**](JobSettings.md) | | [optional] **metadata** | [**JobMetadata**](JobMetadata.md) | | [optional] **storage** | [**JobStorageInfo**](JobStorageInfo.md) | | [optional] -**worker_tag** | **str** | Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. | [optional] +**worker_tag** | **str** | Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. | [optional] **initial_status** | [**JobStatus**](JobStatus.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/addon/flamenco/manager/docs/WorkerTag.md b/addon/flamenco/manager/docs/WorkerTag.md index a245b1ab..17528b30 100644 --- a/addon/flamenco/manager/docs/WorkerTag.md +++ b/addon/flamenco/manager/docs/WorkerTag.md @@ -6,7 +6,7 @@ Tag of workers. A job can optionally specify which tag it should be limited to. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **str** | | -**id** | **str** | UUID of the tag. Can be ommitted when creating a new tag, in which case a random UUID will be assigned. | [optional] +**id** | **str** | UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. | [optional] **description** | **str** | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/addon/flamenco/manager/model/job.py b/addon/flamenco/manager/model/job.py index 33073a0f..8ec0a9d9 100644 --- a/addon/flamenco/manager/model/job.py +++ b/addon/flamenco/manager/model/job.py @@ -187,11 +187,11 @@ class Job(ModelComposed): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501 + type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501 - worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501 + worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501 initial_status (JobStatus): [optional] # noqa: E501 delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501 """ @@ -303,11 +303,11 @@ class Job(ModelComposed): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501 + type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501 - worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501 + worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501 initial_status (JobStatus): [optional] # noqa: E501 delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501 """ diff --git a/addon/flamenco/manager/model/submitted_job.py b/addon/flamenco/manager/model/submitted_job.py index 8680929b..67566c52 100644 --- a/addon/flamenco/manager/model/submitted_job.py +++ b/addon/flamenco/manager/model/submitted_job.py @@ -170,11 +170,11 @@ class SubmittedJob(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501 + type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501 - worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501 + worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501 initial_status (JobStatus): [optional] # noqa: E501 """ @@ -268,11 +268,11 @@ class SubmittedJob(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501 + type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501 settings (JobSettings): [optional] # noqa: E501 metadata (JobMetadata): [optional] # noqa: E501 storage (JobStorageInfo): [optional] # noqa: E501 - worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501 + worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501 initial_status (JobStatus): [optional] # noqa: E501 """ diff --git a/addon/flamenco/manager/model/worker_tag.py b/addon/flamenco/manager/model/worker_tag.py index 3d91bab8..e2e8990e 100644 --- a/addon/flamenco/manager/model/worker_tag.py +++ b/addon/flamenco/manager/model/worker_tag.py @@ -141,7 +141,7 @@ class WorkerTag(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - id (str): UUID of the tag. Can be ommitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501 + id (str): UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501 description (str): [optional] # noqa: E501 """ @@ -228,7 +228,7 @@ class WorkerTag(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - id (str): UUID of the tag. Can be ommitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501 + id (str): UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501 description (str): [optional] # noqa: E501 """ diff --git a/addon/flamenco/operators.py b/addon/flamenco/operators.py index 79753cbe..4f6c9db2 100644 --- a/addon/flamenco/operators.py +++ b/addon/flamenco/operators.py @@ -73,7 +73,7 @@ class FLAMENCO_OT_ping_manager(FlamencoOpMixin, bpy.types.Operator): class FLAMENCO_OT_eval_setting(FlamencoOpMixin, bpy.types.Operator): bl_idname = "flamenco.eval_setting" - bl_label = "Flamenco: Evalutate Setting Value" + bl_label = "Flamenco: Evaluate Setting Value" bl_description = "Automatically determine a suitable value" bl_options = {"REGISTER", "INTERNAL", "UNDO"} @@ -240,7 +240,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator): # Un-set the 'flamenco_version_mismatch' when the versions match or when # one forced submission is done. Each submission has to go through the # same cycle of submitting, seeing the warning, then explicitly ignoring - # the mismatch, to make it a concious decision to keep going with + # the mismatch, to make it a conscious decision to keep going with # potentially incompatible versions. context.window_manager.flamenco_version_mismatch = False @@ -318,7 +318,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator): try: # The file extension should be determined by the render settings, not necessarily - # by the setttings in the output panel. + # by the settings in the output panel. render.use_file_extension = True # Rescheduling should not overwrite existing frames. @@ -328,7 +328,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator): # To work around a shortcoming of BAT, ensure that all # indirectly-linked data is still saved as directly-linked. # - # See `133dde41bb5b: Improve handling of (in)direclty linked status + # See `133dde41bb5b: Improve handling of (in)directly linked status # for linked IDs` in Blender's Git repository. if old_use_all_linked_data_direct is not None: self.log.info( diff --git a/pkg/api/flamenco-openapi.yaml b/pkg/api/flamenco-openapi.yaml index aea80ffa..94b176e0 100644 --- a/pkg/api/flamenco-openapi.yaml +++ b/pkg/api/flamenco-openapi.yaml @@ -792,7 +792,7 @@ paths: $ref: "#/components/schemas/SubmittedJob" responses: "200": - description: Job was succesfully compiled into individual tasks. + description: Job was successfully compiled into individual tasks. content: application/json: schema: { $ref: "#/components/schemas/Job" } @@ -832,7 +832,7 @@ paths: $ref: "#/components/schemas/JobMassDeletionSelection" responses: "204": - description: Jobs were succesfully marked for deletion. + description: Jobs were successfully marked for deletion. "416": description: There were no jobs that match the request. content: @@ -859,7 +859,7 @@ paths: $ref: "#/components/schemas/SubmittedJob" responses: "204": - description: Job was succesfully compiled into individual tasks. The job and tasks have NOT been stored in the database, though. + description: Job was successfully compiled into individual tasks. The job and tasks have NOT been stored in the database, though. "412": description: > The given job type etag does not match the job type etag on the @@ -1253,7 +1253,7 @@ paths: $ref: "#/components/schemas/ShamanCheckout" responses: "200": - description: Checkout was created succesfully. + description: Checkout was created successfully. content: application/json: schema: @@ -1857,7 +1857,7 @@ components: submission with old settings, after the job compiler script has been updated. - If this field is ommitted, the check is bypassed. + If this field is omitted, the check is bypassed. "priority": { type: integer, default: 50 } "settings": { $ref: "#/components/schemas/JobSettings" } "metadata": { $ref: "#/components/schemas/JobMetadata" } @@ -1881,7 +1881,7 @@ components: description: > Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. - If empty or ommitted, all workers can work on this job. + If empty or omitted, all workers can work on this job. "initial_status": { $ref: "#/components/schemas/JobStatus" } required: [name, type, priority, submitter_platform] example: @@ -2598,7 +2598,7 @@ components: type: string format: uuid description: > - UUID of the tag. Can be ommitted when creating a new tag, in + UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. "name": type: string diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index 9eb8c25c..60d8f5f3 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -18,238 +18,238 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/+x923LcOJbgryByNsJVMZkpWfKlrH5Zly9VqrbLGkvu2o12hRJJIjNhkQCbAJXOdihi", - "PmL/ZHci9mHnaX+g5o8mcA4AgiSYF9mSVdXTD9VWksTl4ODcL58GicwLKZjQanD0aaCSBcsp/POpUnwu", - "WHpG1YX5O2UqKXmhuRSDo8ZTwhWhRJt/UUW4Nn+XLGH8kqVkuiJ6wcgvsrxg5XgwHBSlLFipOYNZEpnn", - "VKTwb65ZDv/4byWbDY4G/7RXL27PrmzvGX4wuBoO9Kpgg6MBLUu6Mn9/kFPztf1Z6ZKLuf39vCi5LLle", - "BS9wodmcle4N/DXyuaB5/MH6MZWmutq4HQO/U3zT7Iiqi/6FVBVPzYOZLHOqB0f4w7D94tVwULK/Vbxk", - "6eDor+4lAxy7F7+2YAstKAUgCVc1rM/rVz+vnH5giTYLfHpJeUanGftJTk+Z1mY5Hcw55WKeMaLwOZEz", - "QslPckrMaCqCIAvJE/xnc5xfFkyQOb9kYkgynnMNeHZJM56a/1ZMES3Nb4oRO8iYvBHZilTKrJEsuV4Q", - "BBpMbub2KNgBfhvZUjajVaa76zpbMGIf4jqIWsilsIshlWIlWZq1p0yzMucC5l9w5UAyxuGDMeNT+F/2", - "tJSZ5oWdiIt6IoOP5YwmDAZlKddm6ziiXf+MZooNu8DVC1aaRdMsk0tiPm0vlNCZNu8sGPkgp2RBFZky", - "JoiqpjnXmqVj8ousspTwvMhWJGUZw8+yjLCPXOGAVF0oMpMlDv1BToeEitQQEJkXPDPvcD1+L2pEn0qZ", - "MSpgR5c068LnZKUXUhD2sSiZUlwC8KeMmLcrqllqYCTLFDfozoHBTppH59flz2bYRQ0z7LGYye5CXjNN", - "RynV1A7EyD3z8r1gaV2M7xy9PajBoH1Kz+u/zD1aLqiOT2IocirN+skxkGeaKWkwJDUUu8howhYyA3iw", - "j9oAxaASoqkZMKeiohnhoqg0mXFmzlSRBU9TJsg3U5bQSiF4R1KM8PxrfNByPs9YSqRw3MDg5reNM62h", - "aWZ+xcXF95XWLQhEUfWFMCit6o2beXAJ9+zUZApjkSlb0Esuy+6xkqetV5c8ywzK+Cv1fcZEysp7Cse2", - "YPXXiwA5qnc6hPVMzHom4UHAuE2Ms2u4pxDnxuQ1QDtbBZeuppccdiqIkCSTYs5KUkil+DRjeG+4UJrR", - "FOiqCE8MV3QvAN49R/0MIMw+x+/FU3NtaF5kcEh2NqLlaMpGJUCApWRW0pyRkoo5G5LlgicLc7Du5tBK", - "y5xqnsAeZtLQDxxGJUz476aVJgk1h0LkJStLRKbc7d2SSGXYWPz2t/hcC2+aaBLjVhds1b2xxykTms84", - "K/2VtZAfkrxS2iy3EvxvFfIPS2s/WP4VJQ8ZnbIIkXplfoZJUq6KjK46fIAcz4iQmqiCJWZJ9ggv2Mqc", - "C9xeLcmcCVZSzQglJaNKwnUgMOkYpRRZ0HIe4aBPxYqwj7qkhJbzKjdyieNS02I1Nh+q8anM2QnSp9U3", - "3xJzqH7qpGRmYli0pWGrAAQ1qOtz2oHx8DxnKaeaZStSMjMUoQDplM244OaDoUFzmN5MOYQjkZW2K6Kl", - "5kmV0dJDtIeLqGrqhK51slpEvDm1X3oBYecRzuznlxwu8TVG+Iv5kmdGbGvfCYPidmVbymunNShaYls1", - "HZknCHFEeY+oz6qyZEJnKyKNgEXduIDegYilxmTy49PTH188P395/OrF+cnTsx8nqD6kvGSJluWKFFQv", - "yD+TyfvB3j/B/94PJoQWhaE+lhQwUeVmfzOesXPzvrnuvHT/hJ+tqLugasHS8/rNXyNXtO9cupKXhUCw", - "+4AuoFxJFTl+7q4MbDvgH2PysySCKSOEKF1Wia5Kpsg3IFeqIUl5YqaiJWfqW0JLRlRVFLLU7a3bxQ+N", - "ynF4YDadSaoHQ8DrbTcZoE5D0nDIOIzJ3E46aNKqif1mckRotqQrZCljMqnZ5eQI0QO+tpTz3TFqAABQ", - "KzeW5JuMXxiCZoFGaJqOpPh2TCZLNo0Ns2TTmhkD1uVU0DkzRA1ZjSGkwFPsLI6vfpDTMZmgKDM5IoJd", - "shKG/lMbly1pNCtF0dS8CMABtdfMLmjWpDXutGqA4kwDIDoWLoPhYMmmG88sjpFOdarxBIUsrowcQees", - "tHKBBopIcyN7qC2kzs9WOGKSsqYRjfBHqhYhWQFOaphfi84oYjkyMDeSLFCQgL2akVG4wp/H5Mz87Pik", - "FDWGeY2ACVWVhn1ZsdnrLc1JzSWsCtAUqGY9Uqtn8tubD9wEW5s+Yup1RzNtcQBLBXF5wZz2LDZxBYNz", - "EcnhFVfakUGg6/3Y18U0Z1m43sbPGuy2Z9f1FLENWqpyQvXi2YIlF2+Zspp8y/RgtJru5jta18rJG3ph", - "EO4bIfW3lhlEbwEI5fFLhvI6YOSSKjRvGMybcZHiLI6PRAdW5zht1FqCctWC+YVafiVLQxzHUckIOGZ0", - "pTCIX+hMViKNrknJqkw2ijXBkZziB+0jRaDZFflhwz0P7YFtOPKXXKT1iW+Ffz0IE7EKdfdx9KkprVCl", - "ZMKpRrpvdnPOxOUlLc2mVkqz/DyTiXsOu/YSjuXPMUbhzKKds7IPSMmMDgoyPiUKbXDWmAe08CNLKs02", - "mWv7baGetQSPHfzjNCn4JHZkL8pSlt39/GDUHZ4QZh6TkqlCCsVihuU0cg1+PDs7IWj9JOYNrz/4gcix", - "4eVJVqVoJsILs8okTYmSiPEegLjaBmyzzC6NC7TTcmn06mdmsof7h54jedtKSjWdUtS1p5VaGc7FCCzU", - "LcoyNik05YJQcu8t0+Vq9HSmWXkPX10wCuYbszwuUp5QzZQ10KGGrnmO9gZzFEx55btkuuQsHZOXoKk7", - "ucgOyBVITgZNqJHOnTBxT1meaN5NMs4EmI1SSZTMmVGM5w111Mhz7CNeLE4zMqXJhZzNkJt6g7aTZbvW", - "9JwpRecx3GshF5x7/X4Usy6Z0C9pmZ9uZaKv33zLDI/zQ/wkp+8KIxNEtSXFtDduD4nBDrBzkFOZXDB9", - "/Gbv9b+cnSEaoPiLgosyB1ESwZbmRzUkk6Jkl1xW6hzxduJtU+wjoikCsS3OZUyzc3vWLD2nEY5zPLP6", - "dMaAmxlK7r+wgpWzAPGcKU3zghiKjwhlcM0hk/lUaVmirPUyozkTifRCQPOYDcxGZsQoE4sQsXfvjp87", - "CfEncGRs8IHUYldzoJ9pHmqwsQ9b4N6EHUYW8/6b0CPktamH+zGELtmsZGpxDvbvyNH4O+zFU3vL1AJs", - "6vZ7IDh2N/cUWtNr2RewDrUhZS6sAbwaGqQDmTaloAYxmiyAaFzytKIZevKWMIs3LmkpDRFYuUGsRb0o", - "aQKWvl7Tyu5A7Pd/wdQR9DjzyClnJKNK21VujXNLqs7xxqQ9jia8ogbLPxht375c3xFz27UkE11WbGKV", - "F/uktt6BQglWWJ7eq+3oiumhpczmJrnbnRd6tZXlEy6AA07g3LMuu8Cp10S6Xtr4iir91hp7+yicRVBZ", - "1ghqIF8biXlO5zV/ddCzy4xrBVu5N4cDvajyqaA82wKtwq0cmxWBoyamL+BcVF3Yf/lJ+sHEZ+zZKomJ", - "254AZnzGRol5ibBLMEZY34PRLIErqkWF1ohULsXQCCcl/FkVQ8J0EiPu25ga/eJgqag1tXbdaxfET6i6", - "eCXnfecPjv9MzkmyqMSFZXBaEkqAr2lZ8GTP8TpSSpmTlCFNS/E9K0MZkA/hl0vJUzNOCjJIi+DE4JDJ", - "iDXhmVmPo/HarnJMXtOVl6DyKtO8ALFEMAXvso86qr44hFjLkiBEYrijX75GNbONtcewjZRxBmDcIGYA", - "ODpyBlCD6woahv5fNoMgtufl2wFuuAtx2Mz3NU76uYy/GblxnW9uip/F2IOncFb5irALf5K9uIha4Rnt", - "JQr4Ajmj8w2oyLVHwxh9QyvhOkj6pWzLvsE+uCX73sxy+2xnAZi2ubT45sZru0SwroFYQsW5kR5oqdfZ", - "friyU4LyRystR/aruPnHwimqPDgZE23xTNcarV2ugbYdYPzFpH9c/jY0w9ybc8WYiLlelXb6MFfhes37", - "zgYSGDC3W/tm0rN0q/9c4oNg2JX8xL86R7za5eNn8MVb1P1uVjS/ZKWyPoktyFw/dXPjDBt3JXaHm5YB", - "Z7wD6ggGxxRsjUsKsRmGbqqMsQKMdeZKUvteJS6EXApcA4h0UcNdx7pg5sQIDAjItAvBaa/a917taMHo", - "Rk3gz1E4WBn2L/UJBAubc3AUHo4PRo8fjeZpevggfXj4nTuDo8H/lFXp7tAAwnpK7Q9zcDg+HNGsWND9", - "4GzCn8k3nbG/7e4fVrGT06WxjE9r8a2JyRYMXqPx3rWcUatlL6qcCiNlqiqHz1DGKlnGqGJkWvEsdQGy", - "4HAypIEqMglXNUEVQQLJrj+BiC1rmMSvJ3OuJ8R+BebGqG+qdeD1PWiAwl8dA9EYNvyEwbU0y97MBkd/", - "XY9wp86TZr66Gn5aIzOu9a04rZK4L4gUXp+MyusYkhKzg5sH4PhzFGlrEvQPb0u7hhFnZ4Yw/gzh1h36", - "BrH26lfE4+8zmVxkXOl+xyYyamt8oyUDIzhEwrKUJKwENRK0KXR/SiOmWUtP4pBzK99SuJ4XQpermFup", - "+1LHWbk+dBz3s60OZd/uIaKtE6iHDiPFe0jIc3s94uGy5ldCp7LSGMvq9E8rRToJ05qTeEO8bPHFBc2p", - "OE8WLLmQlV7vDz2Fl4l7OQhFcgsoWS4vWUpoJsUcA8dd7Mg2gYnNtfSAJm6p6iz8hZDVfBF6l4Bd0MAJ", - "U3CWMKLlHLeY8tmMlWA6hhME2635mlCykGCyy0BoIe/evnIunYgtb0zOJDA3CFvC6J23r4bmp4RqJqhm", - "5P3g05QqdrX3SQov9apqNuMfmbp6P4jpLuaDJlqWWZQK2WEabtsNcfqto4CpgpF6juI1Vcph6inLWBKP", - "ijnxDkwMIzfPpsxS9A9yqpytvkZhgy6BEAU6iqVZ5zn9ODgaHOwfHI72H43275/dPzy6/+Do/sN/3j84", - "2t/vCj/drzsRnlmGC0FHPStZSHLNwmayhAgAx1dr3tS6fDvQ5yhImaYp1RTYf5pC9CbNTiJmzQbjbWym", - "nHJd0nJFcjuYQ+gxeW22Yahrxj6GcXXWx5lLswuITakUF3MyoePpOJkYsl7fIRtc2zqjopSwj6PBaVFy", - "zcjLks8X2jAbxcoxy8EQPVCracnEf5/a8AxZzt0bVh4+hRfIqf7//++SZYMeOJ1YY/0zr5M1zzz0MOX0", - "I8+NdnJ/f384yLnAvyLuptY18IP04P9pEJkUPyxdVqzn237NKaEiMceAaUQF2muGgxnl+GNBK1X/Y+Sl", - "p8Fw8LeKVfghjNF4Bv+uGCpjlYH+yFOpZux3jVl+oX1wRt91PPQFnwVJBDaeAAPPvogAFdfShm5Zfeem", - "ZdnLOOxD4Bw+5tKF73sh01yYSkGwIzI98xZyCJaSGc+YQjYsWMKUouUqRtJbLC9qQL/3zPHb4+f3gpgI", - "EOZcFEKbNYd5QmPylBvdSOBK3ScxNu4sU1ZscOx8Vsrcb71PeYoB+oyqC3Va5TktV7EMt7zIwOVHMitP", - "YpaTg/qYPENPBMaLWPu7i1I1P7lDAteseT6OGEmt43grMRMsz3bBW0TP9bJG9S8Vwz2HbIznRg9/OBzk", - "AZnvI5xXwwHkXp1PV5CfaBkYBC/X5ghrm+KiQUI8HbBE49cuU8S1fKrp4f14PMln86OXPNNGRa/50dBx", - "l1fHf35RM5doSoSczRRrLjQaJ1CD6tMO2YlqSwret6MwAHaXXQWn1r4Vb5muSoHmYpBJQIymjnpyK4DA", - "FnbRntqBAwFS9yNwX8gnoP62dwqNG9e8SxH/bMAzMXq9HIHpsCoGw/qXRaVTuYyzNWsieCbFjM+rkjq5", - "tblJrl7yUum3ldjgK+AK5H2OSoAhoDPzYR1KZucjZSWCqBOf3gYCFyUztiQzakixGhIb2S+kGEEOqNFL", - "knC9wGSMSOrUbB+IPWUQrZIX2pB085ZesJUVssU9TaasNwwF+AimCqZbaYOwCl1SoWasJE9PjiFNxQUi", - "j3uCXYDFvnLxm13zlmdJwO8MNzM3DeayH483mjzas7R3NwwPOIZ69tT+QkvugoXbCHKul3JJI7ztjWCj", - "JV2RS/sxhsdDjqhUGiJKpbnkNhsRElg4pBOWDPJMcwhJMox38slIxlcTq3LyEvMfnUiygJQf5XxgrtCA", - "D4l23rMxOVvKyJrAYGonTTupH176YXb5RUa10W9G3oqDGcAgLthBpiu/6D5Eg482G02ssbUGtPtyi/N6", - "WqWciWZosbVXWZVDrSMObhi1jvWtI3tt9Okwxte0KAyM4ZTdoRCzZUjr0z5ZkGPCf2TDqz8zVrythIiW", - "EKiD45bBxbVuvJyuyAVjhSFKwgmFcREq78zTPdBaEeiR6hu+sBhxaYXy0aa+UBuJvQ66tHh97IP9QCJf", - "MDJZeiccmxDrbcJkljqnGK+PmQTgPZfmv4J91I2wNHR1D8mkCYQJef3u9MzozBPIz5xsFYHWAqSHWh+M", - "Yljuo+uPXXpES/O1qQjrL1YrxS8y/K1ne3y1pAzQhFi6maPY/ILtUinesrlh2yVLrS++A0mapiVTasdi", - "Kpb+xm+anOklLdmaa7iz79slLJ17o7XaTcb+rHIslgE4UIUlWRwghoME02rPbcSSh0LP6mOndcqSquR6", - "5bMpWhRw27D6dfH0p0xXxVOluNJUaBQ+Y4kooZAnp0a2czo4yF1mFOKH6VJra1p7AZkqdItc6f60na8l", - "qHW3EIUniHPPen0Xpxg+ZI0x1hnBS3L649ODh4/w2qsqHxLF/w65x9MVhH0bgcxWVCAux8iluHStJi0z", - "KMwGjl8kP4M6C388lyiEDo4Ghw+n+w+e3E8OHk/3Dw8P0/uz6YOHs2T/8XdP6P2DhO4/mt5PHz3YTw8e", - "Pnry+Lv96Xf7j1P2cP9B+nj/4AnbNwPxv7PB0f0HBw/Ac4yzZXI+52IeTvXocPr4IHl0OH3y4ODBLL1/", - "OH1y+Hh/Nn20v//oyf53+8khvf/w8f3HyeyQpg8eHDw6fDi9/93j5BH97snD/cdP6qkOHl91DQkOIidR", - "amt+DaRHpwhZfh0WRnDjuNIr3ttiPS1tExfQcKq8UoRe4DAgiRwLgtVarPdeOU+LHQujmlywm3nw3m+H", - "HD9/P0Bjk1O5fQiBzwmiuArQ1SbWjjNSWTXfgxIeI0O99rAMxuj4+aQnJ9aizJbaNK79Jc/YacGSjYo1", - "Dj5sHtPm21Rz/5hd1zxDK13rVGJ1qa6BHtZR3UYMUJwt6GtvnV5QYf2gzVgCqhqDgqPG5jJTV5ykvsbk", - "LJAuPh/5tggx2fJI/FF3CZxVwaiTuihSXkur7KIDOhyXFFuufVmPh6aMekTvm43WI6KRFTZJbThmdAyg", - "M5+65jbWpNGDja4bsxo73rBf2G0C+BeuF7VbZitQOyU8cf7LKOiHVkwdkpQVNm4f6IjzifzBz2Zb2TM4", - "jh7/TudUh+si8zrjBZaAOuywKjJJU9THMJwoahbAwd7iaqAIkIvrvK7gAYJGA3a9ssQNCQ23IiDcAnvr", - "P/zmeWGacJyr4WmBmE1JGXzmWMowPEprm5DN687KSyN3vOQZC2KiANEMJ7Gvmd9cqkgt14cp2reFA/XF", - "9PfhZtAinMhfty+MKwH5/lyswdqbTcLR9hLj+e/Kc78UIVxL9EqWnm7S3NqsRMFnNceiqRGKrU4XxOxR", - "a1Ul76v9/YNH3h5spbNKGczvGJq1tANG5kJhyt8DK0DdU013RzSnKrDw7mCJ9Ybhq+EgCwC0o63lFlwl", - "rVMPCl74rTcMIc01RbHD5s2cVtM1dYxOmQArvs9LxKA5BUHYeyr4doLpmraunJa2npSjksGb5uEHOfV5", - "iuSZGxPLYM2ZDp+j6gWmXqoufDq1+zuTc4VuLcGYrcxRZDzhOlu5aacM48rBsWIerYZ+I0aLwIwc964Z", - "QwqMffgG6gXq5tQzl8P7QU6/Bd5tXjev3FOQ4QlGa81zNn4vnI9PSI2mkekKEj5BK7F8hGpSlFLLRGau", - "rpKHFvpmEJi+ODTkOk1LCblQZuRmTEbzcshiI5WJ4MIbZyvftlRfbBBXe8hZ/voDq7EAhpbNY9gjlah/", - "MJRhvHPaqCzWVfRbv/VATPTLgJip+q+ohNgHighxoJpccJHaLImtYeBjxbLsJzmFsO0s+8U7tWypBqou", - "MjnHh2G4bPj6GZ3H3V+NnIRoGbXaohWUAtOyxsamBLNNrMvnBwnaB4e//S/yH//627/99u+//Z/f/u0/", - "/vW3//vbv//2v8PsfqgzEcZ9wCyg9RwN9jCUd0/N9j7IqUIzzv2DwzG8BGaUSlyco1xzGODkyc8/GBQt", - "1ODIiFVQ+dVIO/dH9/exuuI5pK6xpfIVPSFaGCsuso+aCZvbMy6sa8is5FxW2pc2aqwPp/Ar3Ivv3JaG", - "7IxXSqnXjmfrfWKhwfOaEw4yLqqPwfUDr/XIHpUNhe7G4ALC0Ow6xUJC/NnwkY+e3bYc/YbiIyGabFqv", - "e7U2m2+1yzoSsQfgncgCJFNiTrAMVh09br9tlfSDCMVEzgVXrCuZ2ZfrAGxKMrlk5SihinmLp53CLcpG", - "p7xHXHg/GJL3gyUXqVwq/COl5ZIL/LcsmJiq1PzBdDImp34qmRdUc19i/gd5T5FJWQlgoT+8eXM6+RMp", - "K0Em4JqVGUm50hAqOCGWQVMfOeiqO/tFqvF78VQ50ZVmxOxo2NgHee/Chd4PnF3RVspHs46L7YZqjUUJ", - "yRVUkfeDpqDqxns/qGGfS2VEEZCILhjRTOm9lE2rua2FqQijikPVSSvIuJBSdHzzhKQygWrDkDWTZY2d", - "RWsw9GW1mB/Ot68pOSSJLHiom07alQXHZrSJL2bcrUp5Zv+qM0MM3Wcp4da1jlVdUsmUuKdJTnWCuSI0", - "0RXN/Egdm/4ZFlEGqVO1i1UCHsksDWLymrX32wVJfe11V2/lvThuLJArInNkccPazAY1yFYFVapVdLuT", - "GxQFus0t13SOUqC9fa62XB24G+TkHz/3UT22QI5l+6h5Uk18Zc8pI4bEpFWG198sBe2NENmAgWGyDDZm", - "sMulchk0dF/4lTRz6bYSwKzntltcJ0LkYiJavJ/KmStWgh1UIDROOeXbWfpdqbgh4WM2dtkbPsImiLAa", - "71an40t2YbmJDEyM9j2frs5doNMucc82TiGy1i3z4bhI2cdzLs6bHWZaDWS2HAyydrSsDCZvSI/E0Dex", - "8hUKzP+lda6ODWrarTrB129jc1OpoY447YIT26aT+vopDVxY21AnbJvjb9+GDjq26NLG9EhI0ZO2e05Q", - "SOmz6mrFPSGGMoExv1VSadiw7ncRJ6ictHHmqsziE797+ypMkq5nJ1wrls2811QuRSZpuk20U114yR8q", - "ZhzC/vtO5TPymnzSgpIzPWqnO8V01XrCu5SfFF7yayQohSkoXf27Upqwbm5rje6YbS0bZd/roocgL3ex", - "/4sR+LtIPW+TJrbpXIsM9pA9t9g+dFhXXA6f+SqWkEngBExpOQMqiIje1m4PBlQgi4AWUKkWBVDs82P0", - "DY8iYIyUBUZA/4lIa/NpvcDnAooxfANSl3Qh5BNH1G2hNCE1YSW1obq+YkVblzDL+nZTJbVu0H3GhW2L", - "YsOJITTkniKJ772BEfM8zFAHnkDeXLJyWXLNUMPgslJQs0kEhTVcKm1UZInV2Xsl57Z+nic0WMrPyequ", - "ZYdZNJwKTMhomfGe+uW6QWd3IEVR5KrDU6NaSskgziZhoKmCSYELTDPAcSLRC+siW3esT7d9MSM3aewS", - "1XvcrjCLjYL1iYCdzI/iPNhjS/w4IfZZpxjXWg/Tdmae/rE+P1JX01j7ozOKlMIJF3VxNGhIk7N8ini6", - "laLRKEjXXQDqfNsMoC62pMD1UTV8ZUGBn2iQ8NWvw0iVgC7PddS2RrNX25RM6V6aXVW2No6ud3m70ftv", - "BwasBy6Q2oRvjev2l5EvzxYxCyuWlAyYrRwJqUeaZdmIipUULAzNPhocjg/6YH/0VxcBbMTDWV6wue1W", - "NKrb1QyGg5yrJJLaes3YebvwT1/+ZrWFQJyp6bmNTWGRuf/ITvlcvGkfVqPGoXU12AN8enIM7WeCkziv", - "i4qpJZ3PWTmq+A0dTKv6Yjdjo78cWWe1N39MjpDET6azojWnlDFWnFqLXMTZbh57i52Lt0Bd1aXunRqY", - "gc+ZiRTzSr1840pl+Tz4lK6ayqAf2xBs0MbG5GlRZJzZspSY+C/NhxysaZOUrtS5nJ0vGbuYQPwivNP8", - "3bzsym9HVggyoSAHD0YLWZXkxx+PXr+u06Kx71ONtuHIg6NBLomuCASGgN8zPQfB/Whw/7uj/X3MwrGa", - "pc3RBrxyb+0/iZaCaU7SDfKkCRspVtASw4+XcpQx6LTlSgJZqEMdarpCvsjYRQ+YyTfvB7lEP4iunAvk", - "2zF5ATbYnFGhyPsBu2TlyoznCv90G0L5/QeiEwC0J5XKgeZTvNa8B9Tm4do81o89bEKzMW6w4jX3QlPN", - "+hR3myFfhvmC2+ctRdXuYLCtFpX21ZikS3px7SKTWyx0w/Ka5hVfNXNo1xVU2oQOK+ZImbKvyNnMKCNg", - "gWiX9qwRqL+GaaRcARbjQ7JVK542a7OOcYa6wbZidsQAoc4z+vfV+jiqZkKo9ZqgNhd2wQRyVft9UFqp", - "NUCr8Coy44KrRV/b1OEXPM+h39+ak+0z+XxPFU/WCJ7jz6hyvNylyvEuhvuvUlD4S6U8frFyv9sUSfUl", - "hVqaVemThLdXga9RxbfWx2KKX6iwkKfoQqXCm4KylQ0MXTlpg84J10E4AZSZAdvG2DssrS26MAKDnNVd", - "Boz6SRQ3f1PBwPjSlRI6GlmjBKUZOpXkh5N3BCNRvJXnxYu/vHgxrsvu/nDybgS/RYSEZovHnauFajof", - "k2e2ZbP1sbZqNlHbUAC9AzaHhILzv6QilTmBAb2JSCk+F45SfSHbyQbd4ozOtyT9NbX3SKA6dgK7A4MI", - "zRPVdH7OU9AtHhzeP0gffZeMGH2Ujh48fPRo9GQ6ezRiT2b7T6bswXcJm0bUCj9CIOpvbo6yTvR3I66F", - "jlPzO4vZVYWPGkOu1kyNRpLtLFnNglafruv1ijeCiRhJztA57087YFNXqGVDnrVRh/LQ7nFOq1jG0zvF", - "SqiIYWsCW5Zx/HxICqrUUpaprxINarUtfGL0H2e/rM0aBvUAMMDZDF+td7rQuhhcXYGXA72K0AYl0YEB", - "xNPqM0Zz6w/DL9XR3t7MxT8GcYt73bIfGI1JXtIytwG+EAw+GA4ynjCbn+Kp1KvLw85Ey+VyPBcVjG+/", - "UXvzIhsdjvfHTIwXOsfCiVxnjWXnvsx4rfXfH++PQVOSBRO04GCaMT9hhhUc0R4t+N7l4V7SLpg0R4uJ", - "r7BxnELrQd2srATCJiS3wGgH+/sOvEzA99QooxjbvvfB+usQgbcM7W/OB6fYBLow6J35JBvERSdxmRVj", - "cE8z937W6dCKt/uvEJMIlKge44VIC8lthfM5xh91B+xUqTaQj4J3DyKN9py9pQ/YL7lIv/fp8ieYE3dj", - "4I73B43A+6WsRJ09D3qy78h6Vbfo/FLrwrINkXWc+i6LSyP6L0sp5uPW6b/kNpZfliSXJSPPXh27np/o", - "tYGwPEWWFAL6QJhy24khRSFV5KQgtTpyVMBEv5fp6otBo1UiJgIW1+1UltbpB4FRWBZFYowbFvW5eTxq", - "lJzorvTn5sUd4iIxCg+OdMYFu3s49ReacfC80hCbroNMLTy17tvLenzX/L0+yI1EBROwRkGc8hqUbSSU", - "fVWsPbk1/PyHQEzMu6sxspmWt4Hd7TBOLzJi0sWWUsRLzEv/rCPfoUjz1bAx1ormWXOstoC8CUHaB/EW", - "+glfsrjg0ZUTYnymisAN40HioLvepW2xDh9HoaFuByS5OXoUlgh3bTqmMrXVNRKaZawkOcYwQSGO7ua5", - "wsEiFe+6MD7rfA7lASFRkZKfTt/8PAgVF3PSXbLxIB4e1hwXjFRVkjClZhUYPrDziJbEyf3WB1aOAVlu", - "8+K/w+7Rhp3QKEbBTWviXxDsEn8fCvGkkmESIxr9sxUpGfT4Nt8Itmwl6a6nGU8BfL4bdqSaaQTxSZhK", - "iZC4ByEobwomnp4cu0TRLJNL2/AH0jUEzfbsgViyMyEFTS4MSXov+omSYroqRtTV1+pnjqf0kkVLet0M", - "e4xOFRXtQrBalBgPtkL7NsmCW7tkU1oUzqaXGo3e3IC6s7K2lf6M9nP3GN67OgKuJ7UcK35ZIym0nRIE", - "7/isEgnyC2iNsAG9T3vuXm/ltn4cbMhne59ctvfV3icXM3C1jnE2RDZQ5F0HDrAXcQM7Wz7FGhqCfPIm", - "uRzupoh3c+yvhtEJg9iH/gnbPPbXGxT54nUTdufrzpbQKnKQNeothH3RGpUWzJfWguUKLRjk9FUW0FW1", - "oxVi3XIatf17iy/0o6rPJNwdS+sKu/+FodfYgPoM5Kwrc7SNXOSdqgsOONWSpukImcmaVFIko744L5ti", - "2uSMQpMlwzhiGVhkSlVdPW1ayqVq5FReH+PrPe6O466+fdzkxnSysOn3N3bY7RL8/Wf9N/NWoIda9xqm", - "+UF6LORcGlkdO7RBW4HbZdTwgLjiqE2chMBI6jow2YwFl8IXslzsEdBrX8PCBdiq70YEsEazxu4ef5JT", - "W8Uh53oLteOL4krfgmq1BSUamwBrBGgbI3/J04ra5iqAFA/uH9w8Qpx5PuczfZmm81rfqDOCmy9E84G5", - "goz0bEXSytdstI3eEposHEnwQwGVkpJkRmB8L+7MXUAcs+5hqKQryw7lwmo3kCscvR71cD8106MNfTYE", - "AdpDWLLZIXtoIlyj9rhrBvaxr3vXkmAJO2r417gcPqndwBE7FS2MyP/zmzNMIrcmgRYJGxK9kNV88V+X", - "6/dyuQCtNlwtwH6/bzMSWK2gyNSSmxPXdbgHj1yzRufI9bLGD5mc0kYlH0h8vVmOEu+zuZXIOewzqtmO", - "pK7qA9weKlbRLpo9kiv03oSiCay8tLaryOdqw/G9gbrq2D+szp2cA6B7ltM6v5wqNcKmj7hV96/mAUJ/", - "TGabZd4QtextxRn1oTSbcTa7YWATTGmbWY6vTVoVNtEMiWtOISnf3BTX/NlSxEe3QhFLhmuy8i8iUU0I", - "7bncHbH4NS0vcKUhyIa1vuT6PiUl16zkdAPGw3i5uW07DYo8wEkLdQYn1mkxTAFQxVFCW7cPSj2aEze/", - "581D75JcGLQoJVqHF8y/69WBKU0u5qWsRDp+L36WMB/FOztpt3edEG9MgDhK8xVLSVWA3CQ0LyFWSIrU", - "VT/KKaInev874MEK4ytZEfaxYIkeWoWKl2RSd+Wb1PU6lK1ObtToDPdEofE1zNqyPgMxMXxz75P57880", - "Z2utJrYCz1Y2EzfgnTFhtOsI9cp2+KzNAGxWjJc0jCAGfZI8JDZcgqA0RLMPOZYtip6L2uI0btQU0AZa", - "1PDjX/K7UREAumpZ/h2UZQGXtwZiPZW/yX68Lgg/Yazg1VZMcius9uUo+nF6UzTjr9vwsefIBgLTiqcI", - "vm6ULvl8bsSE8S07/JAUsZRAjkfXuYy+14CEoew1JFwkWZWiVKqsGgMt6IwcJudYBxt1HVuLyw9i6KRL", - "t+jQZfKz9L1fVKcl/Tcrpr9t2vI8Zq01sn09jLgV+wxHoboR5mN23pZMXQv99bo+fiRSEmRj9t3HvWkm", - "k4vM5yrHb+ZbaAH8k5x+79++zQO5EVm53kpMUqwKg7/fYPTw0JZTWRXsWyM+QCW7oCky3AE33JZOVnc3", - "aZKwAsqvMaFLzqw1AciKneSuERVodO1Wa0vlmzsfgGDX+/118OrmLvpa5AIldg2CGZl2LjXCM6hgBrf/", - "LqEC0ijQvZtlDequB24PgCaphGhoq1z4LavmDtdLHRg84lHNe64ccOJUbgczS9vogTaWPwJS/s5tOc2j", - "voZdJzpoo0d+PwIppsPaVT1GcdAETurqTr9zFul2YrOze2zMgi2Jg801bUVuIp9BRpVnjGgeOjjoq97m", - "+sG6JbggMfzeB0J/ZaK5Blm9JFBvwYKhGQqyEUHrPNd16Hnqiy/+vpGzUfGvBzWbqeIQuGDte9dC09PG", - "cNdB0uaCLKaCy8AftstPV763jJf8fydo3NzkLkgMeuhG9nwGb/0xeDLsxWdmxmVFhDFnKiyKpzqSzx0T", - "C6ldN5Tyo1kWrrqBDdvIe/Edx5FouaB6tJRVllrHzCiVvTjlbU6/LKj+xXx0rJ//UQQ+5wrqk/OwjYc1", - "60RsEAb5AhkKu2u6nH5n04GUdhwFXMCuarlzk2Pp2SHYmTI5twFivfIYmIxsM6B6lno4NCxBJUrh/Q4p", - "SaRwSR3Zyk3BVdD13QZEuW4I2LATBU9Z6R6j1JeBRYir2Jxpz/Vp3MPyyWuYdrO98Q0FWjQnicVYh80M", - "nXOc2F6vtxfjFG1PGwt/dy1aobO77SMb+CGRX+8/uXli6VdCs5LRdGWL1VuB4cGtOj3x9CAOSMwhxpNM", - "VAuidcfDSXBNEOV5siBSsFuOGqxa7KZFpJ5h92haN/HF669WecbFhXfrQiNvhAAG9mgkKhYolQ0/rK1v", - "2KIQqYXt3WZ7CCQ0y/wFr0OoavqBQG0nBtgFUaLCywSLaTQVpyWja2lG2JdyW8oRnuyNUpFYb9RtCcpX", - "oCXR1qCx9VZTe2zQO0aCOB8exDCsCmfesb00rSvlTl0ZaD1b9+0OYWAbGmMuTCFLrezFrxmv3dhGhH+K", - "yVjUhYl5ttEe0Hc/dKFn2EIVV1GTHXhXaSMg+CV0bwkMu/fJtde92vsEv/C/r3Goh502ZclcTGNLBty6", - "cTKUwe0KjO7Vnfzww868QXcB13PUNxaIzOp2v82sdR/tX2/84nW6q25piLxTlygsSFd3gY32A24ImMF9", - "WUe8PUb+YyPjMJqYi0TFFUC1Pgduq3+xGSuJbzLsejllNpnx/eBg/7v3A49YdUATKBXg39NVKZxIX29P", - "eTkO49l8V+fOgWMIFM2UxDGUzJkUjLBMwTh1JfrYMgFbAIALRrEmhAXh/xjhNKNnVIyem32O3sEAgwgM", - "gx6yMRjKks+5oBnMacaH1lBY6j6TYWl83/2a66Afmu1ezUOqbZU8V81MEMrhDWh7NgfB8/W70zPCOBQg", - "nDLy9PTZ8TEUIRGJhCAtI5+Sty+fkYP9B4/JN/SCktfHr1/gC1zMvx2TY2F1SCjMmrhGAu4NnGPKyLuz", - "l6PvtgHnGwuL0UsLi8HG8KhtRCiZaKZHSpeM5k2i5I0DUy4MSRluLibwDOdQrS7910xtB4zuWDEP9r/b", - "9Lq9AQ3ct1QOYzkfR0co7edGA8GQyynTS2bvlysUUNM5byiwESiwAGyuU3ZInZfW3fUB/ephpHIB0g2X", - "yLyeULhLX19Wi+suTlHOyJSZD/3801XjqqMQM+m9tUfEnNnElr8EgtaIRL3lyPkNTA+YkY2d72d1pBmb", - "2XgIJGEmy4RPsxVJMmkv7o9nZyckkUJg0LLr5iWBSFhab0u1qsZ5McI+0kQTRXNmhVctXW9AksrKyJX4", - "gYKWzPgWJv7hbaoLVUZOACtX9HHvMMMcKiJ4haYLloaw6n01fTGFL2mZn9aNgm5IFqtneQvS/vWrpoX+", - "Cq7qoMAZLfMNKfM4dWcU1h4kgB8YhPc+2e5UV+t9BlArcatIWd/s6m7adG2/i6ivC+sZi5m8o86AZtu1", - "NZbWyBdrTn7PtttZf/quS9wfBQncftbhAvR9c/jQE4PWFnLhwwWFYj7m+xXTdwudwqCRTos9MPvJnGEE", - "P+59g8/SVl9qRYq4IccbEE9Do/ItkO/MvHh3kE+zj3qvyCgXO1azOmsD54+CV0EoG1WazNjStusKkOye", - "wm1vQb3CT/x4rgXYWqzaLo4j6Oh1q1j15Y3GneaNf/hQDmSBf4BYDmyX53OnwHPCZjOWaKcWQGNuHIEq", - "smRZ1s4kM98yaut2LKqcCoVh6yDcg9f/ktNuLZG6jry5I9BVwt0ojEGFi1XfqwnhQmlG23lXQW3+3gI1", - "vor+zUnhVs51U11bCPcCc6Nnf13YZb0cjqqx8j3osU2hs9prmwbuc/5oPV1Ew8FjGOVzvafp3JzEfLsE", - "oLoc+raGDE3ndS7OXQ6aD/tdQH8AuAyVwErpqtGB3WcWmN2hO8aMoSCNvD7GGswbouzXgPXLIXJQyj5O", - "xoPNR1DYC/3ha7173Ybvzb8A21tTYLMJ1C/PHTfC02aetgB2TYOgwTTbKtZfJ6xmcXcSom0hPyowkAKq", - "/m2DLA1EG9ptQo8gm7pMm7jZR8g2hCf6A1O3cs1e9aSY/OK3osZrEkCX4Wv99yxeFRriLr76BdgN8W+R", - "0pnLFEQf2dq3NhQJOuQo72UaEiVre6ktkGu48IWQS4ice/fu+PnduYQ+5kaw5a7XDyWRJurFb1vQCnXT", - "hbuF29Z31f4MXhC31k13TW0FI5u/4j51om7D4RJrHdEF3t4n21hlB9FrK5XSD3vzGdidGusWdzyPsuGX", - "d1Pic9rS0jbxPNZ48xOZ577jN7idE4iSBgeUrThbG1CWvocSF2Ri+/dNQLlCp23zJYySsc3DhoaJF4Rr", - "MuOl0mPyVKzQIoOvhX16gmGcmxfIeuUb5F1P7vyqOPWlScEajrttJvfSN+3bRl4hKdMUapIt62l2uPnb", - "WJWszt/tZHfbR3dTQkS0O99dMDbdETtQLwJuZw1yGL0TUjqButfQ2ZCn/xBo2Omo14ODXRmdHD9XDRNC", - "7bd2DfiJnP1j4mhQ391ACqGhFrzwFrBfdsfPjLFipIKW3Zu4XLPH9x+J5TV3tk0jHPDmN5qar8sjZ6FQ", - "J2Tsy7uJghso11fFiBvjpJuQwaWFt0/x2pYp31T9q9qlrkmbjAAnS2dZazSjjqB5y42BjStZOcK/18lv", - "+KKXt2/u/N8GzTTXWZ8kcau/VdOMgwRL+8X1jjvl7sTYueU3zCsdRaEjo9VHYlhe/aWKIJXR90ZyNlsj", - "evG5eDObbeWCuXuwtO1lgcQ2Gsv+FXrVtsphBjovVaTujb8W4M9olmG0p7POaEky64ZzJS3BfKcXbHWv", - "ZGQO1W/s8OPeUxEbDkXc6NW2U/Rf6pxpmlJNv4Kx1YiorD9K4HeMhk8rvWBCQyKD6+1osMGFovZZCz4b", - "JzGQW0uYwaZNy4BT8frAoxirbe5yVDAOTm3wtZEDVuq0Gx/E0SuQCkn6v7jbWLU7hrikPAax1r6fHxWr", - "HiD0osII30z7SVjnsNLBTdt8/EQxraX2XyiPpztLqL9jymOpuj03Z0+GsITEGxcUoYkhGxlLsZwk5rpZ", - "ijJqxkQ5dAHfKhd1jpWlMqwcZTKhGRA4mqkvTdUuWWM3Vcy9BMFBa/islcdt3PjNlfS1hvfesG6okBe0", - "+egjVz9LV8LVZ9L6umaB3ePB/uEXbESIKNaLmCesdB1HnjPBkXTakgtx0zmG0FmWh50mEaPAPerKemWZ", - "XKKvwoLFbr3k84UmQi5tAN/h7TIYd5GogDRCdOAZKRxWh8mAUGRgLs3aXWYLXrgdL611D1I/fgCNTbcJ", - "cMopnGW8AUw0gq7/upgh0f72RwhGtTvpu45WNuICl+gCA69l1bBjdaNPY7ekzvFQDY+dwyRXSVRJmw/n", - "x66r4d22weQzmVPDqKsuhkSvCp5A7KHtzAMCc1HKecmUGkLrHtfMQJZkRnlWlWwjh3F8RTGRNhx1Btxu", - "dCj4zUq2+abs5XQ14qOy6g8rfU1X1pRSiT9EUspruvozY8Vb9Dj/wdQzDPy2YkydcB5IzIHrPWBQZSXI", - "HrlgrHCu+DoAnLwpXLkqSESkXChCCbraQ5nUO2Vi/vceRO5I9KDsBStrrYmrOip9PWrLSheVHhWlTKtk", - "naBviOUbePnEvXsnmAOUGdv7ULD5rtnYQ/ttIeZfK5H7YMtEbpD+bIoyF3OblX3/5i/aKybmeuHrLf0p", - "7BKW8hS7dxsqS4kFwch+gnn5dqWHN7/SE7rCDuZSkoyWtrfTg/sPb8ONoKqikKU5qNcs5ZScrQrrMQMU", - "I4hRTpic+nTzuidrGP314ODJ7XSTcyU3kFMC6ZASuwnNzMW2tf2sW1ovSql1xmwFwN+V5IF57gbQuVSa", - "lCzB7H9frRD2i/JAkO3OATjYY8h8XDtCmFBYbhBzKEB6t6dsvrynSMrnTEG94vYZk2e++gDEiZ38/APA", - "+aeTFz8Qi0pm0CKjQsTjtNYJPHpR5VNBeab2ipJdcrZ0ZImXWKPRUXuC1N+JQQDR8tJR86rMBkeDvUFg", - "hGoTq+NmEFSnBZTDFM8OIEmlW7vkJzl1ZlKQ0f5WsZIb9KvbXA5bHTDGjcKdKjLo05PjZi/A0EQm87wS", - "KG5CTZT20sdtB25kAosNr/2ayNOT42F/r2Rs6Wu2Ye5KKTO3os5k4HSMVOfB8gN+FuATde0EC0Hfn/CD", - "nPoidOEcttzB1a9X/xkAAP//EfYh4QEVAQA=", + "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", + "hyt3cPXr1X8GAAD//0RsCfoCFQEA", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/pkg/api/openapi_types.gen.go b/pkg/api/openapi_types.gen.go index 732e9cda..a2d8226a 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -723,10 +723,10 @@ type SubmittedJob struct { Type string `json:"type"` // Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. - // If this field is ommitted, the check is bypassed. + // If this field is omitted, the check is bypassed. TypeEtag *string `json:"type_etag,omitempty"` - // Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. + // Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. WorkerTag *string `json:"worker_tag,omitempty"` } @@ -901,7 +901,7 @@ type WorkerSummary struct { type WorkerTag struct { Description *string `json:"description,omitempty"` - // UUID of the tag. Can be ommitted when creating a new tag, in which case a random UUID will be assigned. + // UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. Id *string `json:"id,omitempty"` Name string `json:"name"` } diff --git a/pkg/crosspath/crosspath.go b/pkg/crosspath/crosspath.go index d8337552..284d856f 100644 --- a/pkg/crosspath/crosspath.go +++ b/pkg/crosspath/crosspath.go @@ -31,7 +31,7 @@ func Dir(path string) string { slashed := ToSlash(path) // Don't use path.Dir(), as that cleans up the path and removes double - // slashes. However, Windows UNC paths start with double blackslashes, which + // slashes. However, Windows UNC paths start with double backslashes, which // will translate to double slashes and should not be removed. dir, _ := path_module.Split(slashed) switch { @@ -154,7 +154,7 @@ func isPathSep(r rune) bool { return r == '/' || r == '\\' } -// TrimTrailingSep removes any trailling path separator. +// TrimTrailingSep removes any trailing path separator. func TrimTrailingSep(path string) string { if path == "" { return "" diff --git a/pkg/shaman/_test_file_store/stored/80/b749c27b2fef7255e7e7b3c2029b03b31299c75ff1f1c72732081c70a713a3/7488.blob b/pkg/shaman/_test_file_store/stored/80/b749c27b2fef7255e7e7b3c2029b03b31299c75ff1f1c72732081c70a713a3/7488.blob index a3f09c4d..38fc5d4e 100644 --- a/pkg/shaman/_test_file_store/stored/80/b749c27b2fef7255e7e7b3c2029b03b31299c75ff1f1c72732081c70a713a3/7488.blob +++ b/pkg/shaman/_test_file_store/stored/80/b749c27b2fef7255e7e7b3c2029b03b31299c75ff1f1c72732081c70a713a3/7488.blob @@ -216,7 +216,7 @@ def main(): if failed_paths: raise SystemExit('Aborted due to repeated upload failure') else: - print(f'All files uploaded succesfully in {try_count+1} iterations') + print(f'All files uploaded successfully in {try_count+1} iterations') if cli_args.checkout: print(f'Going to ask for a checkout with ID {cli_args.checkout}') diff --git a/pkg/shaman/_test_file_store/stored/e7/fd2d9b2a7054baea5d776def36ba908b9857d49cee3e4746ad671abb02d23f/7459.blob b/pkg/shaman/_test_file_store/stored/e7/fd2d9b2a7054baea5d776def36ba908b9857d49cee3e4746ad671abb02d23f/7459.blob index 6676ac9c..69a9ce8c 100644 --- a/pkg/shaman/_test_file_store/stored/e7/fd2d9b2a7054baea5d776def36ba908b9857d49cee3e4746ad671abb02d23f/7459.blob +++ b/pkg/shaman/_test_file_store/stored/e7/fd2d9b2a7054baea5d776def36ba908b9857d49cee3e4746ad671abb02d23f/7459.blob @@ -215,7 +215,7 @@ def main(): if failed_paths: raise SystemExit('Aborted due to repeated upload failure') else: - print(f'All files uploaded succesfully in {try_count+1} iterations') + print(f'All files uploaded successfully in {try_count+1} iterations') if cli_args.checkout: print(f'Going to ask for a checkout with ID {cli_args.checkout}') diff --git a/pkg/shaman/cleanup_test.go b/pkg/shaman/cleanup_test.go index 2b396fbb..13085077 100644 --- a/pkg/shaman/cleanup_test.go +++ b/pkg/shaman/cleanup_test.go @@ -175,7 +175,7 @@ func TestGCComponents(t *testing.T) { require.NoError(t, err) assert.Equal(t, len(expectRemovable), len(oldFiles)) - // Touching a file before requesting deletion should prevent its deletetion. + // Touching a file before requesting deletion should prevent its deletion. now := time.Now() err = os.Chtimes(absPaths["6001.blob"], now, now) require.NoError(t, err) diff --git a/pkg/shaman/fileserver/receivefile.go b/pkg/shaman/fileserver/receivefile.go index a0ed68c3..9c8a46d7 100644 --- a/pkg/shaman/fileserver/receivefile.go +++ b/pkg/shaman/fileserver/receivefile.go @@ -34,7 +34,7 @@ import ( ) // ErrFileAlreadyExists indicates that a file already exists in the Shaman -// storage. It can also be returned during upload, when someone else succesfully +// storage. It can also be returned during upload, when someone else successfully // uploaded the same file at the same time. var ErrFileAlreadyExists = errors.New("uploaded file already exists") @@ -130,7 +130,7 @@ func (fs *FileServer) ReceiveFile( logger.Error(). AnErr("copyError", err). AnErr("closeError", closeErr). - Msg("error closing local file after other I/O error occured") + Msg("error closing local file after other I/O error occurred") } logger = logger.With().Err(err).Logger() diff --git a/web/app/src/manager-api/model/Job.js b/web/app/src/manager-api/model/Job.js index 85898a29..8742eea2 100644 --- a/web/app/src/manager-api/model/Job.js +++ b/web/app/src/manager-api/model/Job.js @@ -139,7 +139,7 @@ Job.prototype['name'] = undefined; Job.prototype['type'] = undefined; /** - * Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. + * Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. * @member {String} type_etag */ Job.prototype['type_etag'] = undefined; @@ -173,7 +173,7 @@ Job.prototype['submitter_platform'] = undefined; Job.prototype['storage'] = undefined; /** - * Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. + * Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. * @member {String} worker_tag */ Job.prototype['worker_tag'] = undefined; @@ -229,7 +229,7 @@ SubmittedJob.prototype['name'] = undefined; */ SubmittedJob.prototype['type'] = undefined; /** - * Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. + * Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. * @member {String} type_etag */ SubmittedJob.prototype['type_etag'] = undefined; @@ -257,7 +257,7 @@ SubmittedJob.prototype['submitter_platform'] = undefined; */ SubmittedJob.prototype['storage'] = undefined; /** - * Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. + * Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. * @member {String} worker_tag */ SubmittedJob.prototype['worker_tag'] = undefined; diff --git a/web/app/src/manager-api/model/SubmittedJob.js b/web/app/src/manager-api/model/SubmittedJob.js index f86ab8cf..e87a5489 100644 --- a/web/app/src/manager-api/model/SubmittedJob.js +++ b/web/app/src/manager-api/model/SubmittedJob.js @@ -106,7 +106,7 @@ SubmittedJob.prototype['name'] = undefined; SubmittedJob.prototype['type'] = undefined; /** - * Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. + * Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. * @member {String} type_etag */ SubmittedJob.prototype['type_etag'] = undefined; @@ -140,7 +140,7 @@ SubmittedJob.prototype['submitter_platform'] = undefined; SubmittedJob.prototype['storage'] = undefined; /** - * Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. + * Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. * @member {String} worker_tag */ SubmittedJob.prototype['worker_tag'] = undefined; diff --git a/web/app/src/manager-api/model/WorkerTag.js b/web/app/src/manager-api/model/WorkerTag.js index fd457d98..fd06af05 100644 --- a/web/app/src/manager-api/model/WorkerTag.js +++ b/web/app/src/manager-api/model/WorkerTag.js @@ -67,7 +67,7 @@ class WorkerTag { } /** - * UUID of the tag. Can be ommitted when creating a new tag, in which case a random UUID will be assigned. + * UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. * @member {String} id */ WorkerTag.prototype['id'] = undefined; diff --git a/web/project-website/content/about/_index.md b/web/project-website/content/about/_index.md index 4aff319f..5571b0d7 100644 --- a/web/project-website/content/about/_index.md +++ b/web/project-website/content/about/_index.md @@ -45,7 +45,7 @@ The following principles guide the design of Flamenco: ### Blender.org Project Flamenco is a true blender.org project. This means that it's Free and Open Source, made by the community, lead by Blender HQ. Its development will fall -under the umbrella of the [Pipline, Assets & IO][PAIO] module. +under the umbrella of the [Pipeline, Assets & IO][PAIO] module. [PAIO]: https://projects.blender.org/blender/blender/wiki/Module:%20Pipeline,%20Assets%20&%20I/O diff --git a/web/project-website/content/development/flamenco-api/_index.md b/web/project-website/content/development/flamenco-api/_index.md index 3908c5bd..f942adb6 100644 --- a/web/project-website/content/development/flamenco-api/_index.md +++ b/web/project-website/content/development/flamenco-api/_index.md @@ -80,7 +80,7 @@ This follows a few standard steps: do this once; after that you can call as many functions on it as you want. 4. **Call** the function. The function name comes from the `operationId` in the YAML file. -5. **Handle** the succesful return (`.then(...)`) and any errors (`.catch(...)`). +5. **Handle** the successful return (`.then(...)`) and any errors (`.catch(...)`). All API function calls, like the `metaAPI.getVersion()` function above, immediately return a [promise][promise]. This means that any code after the API diff --git a/web/project-website/content/development/openapi-commit-guidelines/_index.md b/web/project-website/content/development/openapi-commit-guidelines/_index.md index fad473cd..09fe5653 100644 --- a/web/project-website/content/development/openapi-commit-guidelines/_index.md +++ b/web/project-website/content/development/openapi-commit-guidelines/_index.md @@ -10,7 +10,7 @@ here for a while for historical reference. Since the introduction of a `.gitattributes` file, tooling (like [projects.blender.org][gitea]) is aware of which files are generated. This means that **all changes** (`pkg/api/flamenco-openapi.yaml`, re-generated code, and -changes to the implementation) can be **commited together**. +changes to the implementation) can be **committed together**. [gitea]: https://projects.blender.org/studio/flamenco/ {{< /hint >}} diff --git a/web/project-website/content/usage/job-types/_index.md b/web/project-website/content/usage/job-types/_index.md index b7088fe0..797987b6 100644 --- a/web/project-website/content/usage/job-types/_index.md +++ b/web/project-website/content/usage/job-types/_index.md @@ -123,7 +123,7 @@ following names: `n` directory parts of some file's path. For example, `last_n_dir_parts(2, '/complex/path/to/a/file.blend')` will return `to/a`, as those are the last `2` components of the directory. If `file_path` is - ommitted, it uses the current blend file, i.e. `bpy.data.filepath`. + omitted, it uses the current blend file, i.e. `bpy.data.filepath`. [bpy]: https://docs.blender.org/api/master/ [context]: https://docs.blender.org/api/master/bpy.context.html diff --git a/web/project-website/content/usage/jobs-tasks-commands/_index.md b/web/project-website/content/usage/jobs-tasks-commands/_index.md index 1d074b89..bdefa4f7 100644 --- a/web/project-website/content/usage/jobs-tasks-commands/_index.md +++ b/web/project-website/content/usage/jobs-tasks-commands/_index.md @@ -33,7 +33,7 @@ The following table shows the meaning of the different task statuses: | ------------- | ------- | ----------- | | `queued` | Ready to be assigned to an available Worker | `active`, `canceled` | | `active` | Assigned to a Worker for execution | `completed`, `canceled`, `failed`, `soft-failed` | -| `completed` | Task executed succesfully | `queued` | +| `completed` | Task executed successfully | `queued` | | `soft-failed` | Same as `queued`, but has been failed by a Worker in an earlier execution | `queued`, `completed`, `failed`, `canceled` | | `failed` | Execution failed after multiple retries by different Workers | `queued`, `canceled` | | `canceled` | Canceled by the user, task terminated immediately | `queued` | diff --git a/web/project-website/content/usage/jobs-tasks-commands/commands.md b/web/project-website/content/usage/jobs-tasks-commands/commands.md index 1430b291..74b28d4a 100644 --- a/web/project-website/content/usage/jobs-tasks-commands/commands.md +++ b/web/project-website/content/usage/jobs-tasks-commands/commands.md @@ -14,7 +14,7 @@ Runs Blender. Command parameters: | Parameter | Type | Description | |--------------|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `exe` | `string` | Path to a Blender exeuctable. Typically the expansion of the `{blender}` [variable][variables]. If set to `"blender"`, the Worker performs a search on `$PATH` and on Windows will use the file association for the `.blend` extension to find Blender | +| `exe` | `string` | Path to a Blender executable. Typically the expansion of the `{blender}` [variable][variables]. If set to `"blender"`, the Worker performs a search on `$PATH` and on Windows will use the file association for the `.blend` extension to find Blender | | `exeArgs` | `string` | CLI arguments to use before any other argument. Typically the expansion of the `{blenderargs}` [variable][variables] | | `argsBefore` | `[]string` | Additional CLI arguments defined by the job compiler script, to go before the blend file. | | `blendfile` | `string` | Path of the blend file to open. | @@ -51,7 +51,7 @@ Moves a directory from one path to another. | `src` | `string` | Path of the directory to move. | | `dest` | `string` | Destination to move it to. | -If the destination directory already exists, it is first moved aside to a timestamped path `{dest}-{YYYY-MM-DD_HHMMSS}` to its name. The tiemstamp is the 'last modified' timestamp of that existing directory. +If the destination directory already exists, it is first moved aside to a timestamped path `{dest}-{YYYY-MM-DD_HHMMSS}` to its name. The timestamp is the 'last modified' timestamp of that existing directory. ## File Management: `copy-file` diff --git a/web/project-website/content/usage/shared-storage/_index.md b/web/project-website/content/usage/shared-storage/_index.md index f9640aa6..dc466d2e 100644 --- a/web/project-website/content/usage/shared-storage/_index.md +++ b/web/project-website/content/usage/shared-storage/_index.md @@ -82,7 +82,7 @@ immediately. Such assumptions no longer hold true when using an asynchronous service like SyncThing, Dropbox, etc. -Note that this is not just about the initally submitted files. Flamenco creates +Note that this is not just about the initially submitted files. Flamenco creates a video from the rendered images; this also assumes that those images are accessible after they've been rendered and saved to the storage. diff --git a/web/project-website/content/usage/worker-actions/_index.md b/web/project-website/content/usage/worker-actions/_index.md index dacb0ed0..a3aae1ba 100644 --- a/web/project-website/content/usage/worker-actions/_index.md +++ b/web/project-website/content/usage/worker-actions/_index.md @@ -33,7 +33,7 @@ Immediately Both the 'Shut Down' and 'Restart' actions stop the Worker process. -Shutting down the worker will make it exit succesfully, with status code `0`. +Shutting down the worker will make it exit successfully, with status code `0`. Restarting the worker is only possible if it was started or configured with a 'restart exit code'. This can be done by using the `-restart-exit-status 47`