From 4c13176c52fd010b2037b871fc6289cf0e0299cd Mon Sep 17 00:00:00 2001 From: Catalin Pit <25515812+catalinpit@users.noreply.github.com> Date: Mon, 2 Sep 2024 14:16:48 +0300 Subject: [PATCH 01/11] feat: update createFields api endpoint (#1311) Allow users to add 1 or more fields to a document via the /document//fields API Endpoint. --- packages/api/v1/contract.ts | 3 +- packages/api/v1/implementation.ts | 224 ++++++++++++------ packages/api/v1/schema.ts | 31 ++- .../lib/server-only/field/create-field.ts | 35 ++- .../lib/server-only/field/update-field.ts | 4 + 5 files changed, 200 insertions(+), 97 deletions(-) diff --git a/packages/api/v1/contract.ts b/packages/api/v1/contract.ts index e8efeffe6..d6f8000a4 100644 --- a/packages/api/v1/contract.ts +++ b/packages/api/v1/contract.ts @@ -21,6 +21,7 @@ import { ZSendDocumentForSigningMutationSchema, ZSuccessfulDeleteTemplateResponseSchema, ZSuccessfulDocumentResponseSchema, + ZSuccessfulFieldCreationResponseSchema, ZSuccessfulFieldResponseSchema, ZSuccessfulGetDocumentResponseSchema, ZSuccessfulGetTemplateResponseSchema, @@ -236,7 +237,7 @@ export const ApiContractV1 = c.router( path: '/api/v1/documents/:id/fields', body: ZCreateFieldMutationSchema, responses: { - 200: ZSuccessfulFieldResponseSchema, + 200: ZSuccessfulFieldCreationResponseSchema, 400: ZUnsuccessfulResponseSchema, 401: ZUnsuccessfulResponseSchema, 404: ZUnsuccessfulResponseSchema, diff --git a/packages/api/v1/implementation.ts b/packages/api/v1/implementation.ts index ad9aaaac4..bec720812 100644 --- a/packages/api/v1/implementation.ts +++ b/packages/api/v1/implementation.ts @@ -1,4 +1,5 @@ import { createNextRoute } from '@ts-rest/next'; +import { match } from 'ts-pattern'; import { getServerLimits } from '@documenso/ee/server-only/limits/server'; import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app'; @@ -15,7 +16,6 @@ import { getDocumentById } from '@documenso/lib/server-only/document/get-documen import { resendDocument } from '@documenso/lib/server-only/document/resend-document'; import { sendDocument } from '@documenso/lib/server-only/document/send-document'; import { updateDocument } from '@documenso/lib/server-only/document/update-document'; -import { createField } from '@documenso/lib/server-only/field/create-field'; import { deleteField } from '@documenso/lib/server-only/field/delete-field'; import { getFieldById } from '@documenso/lib/server-only/field/get-field-by-id'; import { updateField } from '@documenso/lib/server-only/field/update-field'; @@ -32,6 +32,13 @@ import { deleteTemplate } from '@documenso/lib/server-only/template/delete-templ import { findTemplates } from '@documenso/lib/server-only/template/find-templates'; import { getTemplateById } from '@documenso/lib/server-only/template/get-template-by-id'; import { ZFieldMetaSchema } from '@documenso/lib/types/field-meta'; +import { + ZCheckboxFieldMeta, + ZDropdownFieldMeta, + ZNumberFieldMeta, + ZRadioFieldMeta, + ZTextFieldMeta, +} from '@documenso/lib/types/field-meta'; import { extractNextApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata'; import { getFile } from '@documenso/lib/universal/upload/get-file'; import { putPdfFile } from '@documenso/lib/universal/upload/put-file'; @@ -39,6 +46,8 @@ import { getPresignGetUrl, getPresignPostUrl, } from '@documenso/lib/universal/upload/server-actions'; +import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs'; +import { prisma } from '@documenso/prisma'; import { DocumentDataType, DocumentStatus, SigningStatus } from '@documenso/prisma/client'; import { ApiContractV1 } from './contract'; @@ -870,100 +879,167 @@ export const ApiContractV1Implementation = createNextRoute(ApiContractV1, { createField: authenticatedMiddleware(async (args, user, team) => { const { id: documentId } = args.params; - const { recipientId, type, pageNumber, pageWidth, pageHeight, pageX, pageY, fieldMeta } = - args.body; + const fields = Array.isArray(args.body) ? args.body : [args.body]; - if (pageNumber <= 0) { - return { - status: 400, - body: { - message: 'Invalid page number', - }, - }; - } - - const document = await getDocumentById({ - id: Number(documentId), - userId: user.id, - teamId: team?.id, + const document = await prisma.document.findFirst({ + select: { id: true, status: true }, + where: { + id: Number(documentId), + ...(team?.id + ? { + team: { + id: team.id, + members: { some: { userId: user.id } }, + }, + } + : { + userId: user.id, + teamId: null, + }), + }, }); if (!document) { return { status: 404, - body: { - message: 'Document not found', - }, + body: { message: 'Document not found' }, }; } if (document.status === DocumentStatus.COMPLETED) { return { status: 400, - body: { - message: 'Document is already completed', - }, - }; - } - - const recipient = await getRecipientById({ - id: Number(recipientId), - documentId: Number(documentId), - }).catch(() => null); - - if (!recipient) { - return { - status: 404, - body: { - message: 'Recipient not found', - }, - }; - } - - if (recipient.signingStatus === SigningStatus.SIGNED) { - return { - status: 400, - body: { - message: 'Recipient has already signed the document', - }, + body: { message: 'Document is already completed' }, }; } try { - const field = await createField({ - documentId: Number(documentId), - recipientId: Number(recipientId), - userId: user.id, - teamId: team?.id, - type, - pageNumber, - pageX, - pageY, - pageWidth, - pageHeight, - fieldMeta, - requestMetadata: extractNextApiRequestMetadata(args.req), - }); + const createdFields = await prisma.$transaction(async (tx) => { + return Promise.all( + fields.map(async (fieldData) => { + const { + recipientId, + type, + pageNumber, + pageWidth, + pageHeight, + pageX, + pageY, + fieldMeta, + } = fieldData; - const remappedField = { - id: field.id, - documentId: field.documentId, - recipientId: field.recipientId ?? -1, - type: field.type, - pageNumber: field.page, - pageX: Number(field.positionX), - pageY: Number(field.positionY), - pageWidth: Number(field.width), - pageHeight: Number(field.height), - customText: field.customText, - fieldMeta: ZFieldMetaSchema.parse(field.fieldMeta), - inserted: field.inserted, - }; + if (pageNumber <= 0) { + throw new Error('Invalid page number'); + } + + const recipient = await getRecipientById({ + id: Number(recipientId), + documentId: Number(documentId), + }).catch(() => null); + + if (!recipient) { + throw new Error('Recipient not found'); + } + + if (recipient.signingStatus === SigningStatus.SIGNED) { + throw new Error('Recipient has already signed the document'); + } + + const advancedField = ['NUMBER', 'RADIO', 'CHECKBOX', 'DROPDOWN', 'TEXT'].includes( + type, + ); + + if (advancedField && !fieldMeta) { + throw new Error( + 'Field meta is required for this type of field. Please provide the appropriate field meta object.', + ); + } + + if (fieldMeta && fieldMeta.type.toLowerCase() !== String(type).toLowerCase()) { + throw new Error('Field meta type does not match the field type'); + } + + const result = match(type) + .with('RADIO', () => ZRadioFieldMeta.safeParse(fieldMeta)) + .with('CHECKBOX', () => ZCheckboxFieldMeta.safeParse(fieldMeta)) + .with('DROPDOWN', () => ZDropdownFieldMeta.safeParse(fieldMeta)) + .with('NUMBER', () => ZNumberFieldMeta.safeParse(fieldMeta)) + .with('TEXT', () => ZTextFieldMeta.safeParse(fieldMeta)) + .with('SIGNATURE', 'INITIALS', 'DATE', 'EMAIL', 'NAME', () => ({ + success: true, + data: {}, + })) + .with('FREE_SIGNATURE', () => ({ + success: false, + error: 'FREE_SIGNATURE is not supported', + data: {}, + })) + .exhaustive(); + + if (!result.success) { + throw new Error('Field meta parsing failed'); + } + + const field = await tx.field.create({ + data: { + documentId: Number(documentId), + recipientId: Number(recipientId), + type, + page: pageNumber, + positionX: pageX, + positionY: pageY, + width: pageWidth, + height: pageHeight, + customText: '', + inserted: false, + fieldMeta: result.data, + }, + include: { + Recipient: true, + }, + }); + + await tx.documentAuditLog.create({ + data: createDocumentAuditLogData({ + type: 'FIELD_CREATED', + documentId: Number(documentId), + user: { + id: team?.id ?? user.id, + email: team?.name ?? user.email, + name: team ? '' : user.name, + }, + data: { + fieldId: field.secondaryId, + fieldRecipientEmail: field.Recipient?.email ?? '', + fieldRecipientId: recipientId, + fieldType: field.type, + }, + requestMetadata: extractNextApiRequestMetadata(args.req), + }), + }); + + return { + id: field.id, + documentId: Number(field.documentId), + recipientId: field.recipientId ?? -1, + type: field.type, + pageNumber: field.page, + pageX: Number(field.positionX), + pageY: Number(field.positionY), + pageWidth: Number(field.width), + pageHeight: Number(field.height), + customText: field.customText, + fieldMeta: ZFieldMetaSchema.parse(field.fieldMeta), + inserted: field.inserted, + }; + }), + ); + }); return { status: 200, body: { - ...remappedField, + fields: createdFields, documentId: Number(documentId), }, }; diff --git a/packages/api/v1/schema.ts b/packages/api/v1/schema.ts index 42205d540..1800b53dc 100644 --- a/packages/api/v1/schema.ts +++ b/packages/api/v1/schema.ts @@ -293,7 +293,7 @@ export type TSuccessfulRecipientResponseSchema = z.infer; -export const ZUpdateFieldMutationSchema = ZCreateFieldMutationSchema.partial(); +export const ZUpdateFieldMutationSchema = ZCreateFieldSchema.partial(); export type TUpdateFieldMutationSchema = z.infer; @@ -314,6 +319,26 @@ export const ZDeleteFieldMutationSchema = null; export type TDeleteFieldMutationSchema = typeof ZDeleteFieldMutationSchema; +const ZSuccessfulFieldSchema = z.object({ + id: z.number(), + documentId: z.number(), + recipientId: z.number(), + type: z.nativeEnum(FieldType), + pageNumber: z.number(), + pageX: z.number(), + pageY: z.number(), + pageWidth: z.number(), + pageHeight: z.number(), + customText: z.string(), + fieldMeta: ZFieldMetaSchema, + inserted: z.boolean(), +}); + +export const ZSuccessfulFieldCreationResponseSchema = z.object({ + fields: z.union([ZSuccessfulFieldSchema, z.array(ZSuccessfulFieldSchema)]), + documentId: z.number(), +}); + export const ZSuccessfulFieldResponseSchema = z.object({ id: z.number(), documentId: z.number(), diff --git a/packages/lib/server-only/field/create-field.ts b/packages/lib/server-only/field/create-field.ts index 9aafc7ab8..da1a26276 100644 --- a/packages/lib/server-only/field/create-field.ts +++ b/packages/lib/server-only/field/create-field.ts @@ -110,24 +110,21 @@ export const createField = async ({ } const result = match(type) - .with('RADIO', () => { - return ZRadioFieldMeta.safeParse(fieldMeta); - }) - .with('CHECKBOX', () => { - return ZCheckboxFieldMeta.safeParse(fieldMeta); - }) - .with('DROPDOWN', () => { - return ZDropdownFieldMeta.safeParse(fieldMeta); - }) - .with('NUMBER', () => { - return ZNumberFieldMeta.safeParse(fieldMeta); - }) - .with('TEXT', () => { - return ZTextFieldMeta.safeParse(fieldMeta); - }) - .otherwise(() => { - return { success: false, data: {} }; - }); + .with('RADIO', () => ZRadioFieldMeta.safeParse(fieldMeta)) + .with('CHECKBOX', () => ZCheckboxFieldMeta.safeParse(fieldMeta)) + .with('DROPDOWN', () => ZDropdownFieldMeta.safeParse(fieldMeta)) + .with('NUMBER', () => ZNumberFieldMeta.safeParse(fieldMeta)) + .with('TEXT', () => ZTextFieldMeta.safeParse(fieldMeta)) + .with('SIGNATURE', 'INITIALS', 'DATE', 'EMAIL', 'NAME', () => ({ + success: true, + data: {}, + })) + .with('FREE_SIGNATURE', () => ({ + success: false, + error: 'FREE_SIGNATURE is not supported', + data: {}, + })) + .exhaustive(); if (!result.success) { throw new Error('Field meta parsing failed'); @@ -145,7 +142,7 @@ export const createField = async ({ height: pageHeight, customText: '', inserted: false, - fieldMeta: advancedField ? result.data : undefined, + fieldMeta: result.data, }, include: { Recipient: true, diff --git a/packages/lib/server-only/field/update-field.ts b/packages/lib/server-only/field/update-field.ts index a8e84d043..5fc415b4b 100644 --- a/packages/lib/server-only/field/update-field.ts +++ b/packages/lib/server-only/field/update-field.ts @@ -37,6 +37,10 @@ export const updateField = async ({ requestMetadata, fieldMeta, }: UpdateFieldOptions) => { + if (type === 'FREE_SIGNATURE') { + throw new Error('Cannot update a FREE_SIGNATURE field'); + } + const oldField = await prisma.field.findFirstOrThrow({ where: { id: fieldId, From 5f4972d63b547657016925cd8155f15c3b310342 Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 3 Sep 2024 09:27:51 +1000 Subject: [PATCH 02/11] v1.7.0-rc.3 --- apps/marketing/package.json | 2 +- apps/web/package.json | 2 +- package-lock.json | 8 ++++---- package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/marketing/package.json b/apps/marketing/package.json index 3b122d0f4..e175f293e 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/marketing", - "version": "1.7.0-rc.2", + "version": "1.7.0-rc.3", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/apps/web/package.json b/apps/web/package.json index 47d7ceda6..fea1881fa 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/web", - "version": "1.7.0-rc.2", + "version": "1.7.0-rc.3", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/package-lock.json b/package-lock.json index f0029d294..2a8585c65 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "1.7.0-rc.2", + "version": "1.7.0-rc.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "1.7.0-rc.2", + "version": "1.7.0-rc.3", "workspaces": [ "apps/*", "packages/*" @@ -81,7 +81,7 @@ }, "apps/marketing": { "name": "@documenso/marketing", - "version": "1.7.0-rc.2", + "version": "1.7.0-rc.3", "license": "AGPL-3.0", "dependencies": { "@documenso/assets": "*", @@ -424,7 +424,7 @@ }, "apps/web": { "name": "@documenso/web", - "version": "1.7.0-rc.2", + "version": "1.7.0-rc.3", "license": "AGPL-3.0", "dependencies": { "@documenso/api": "*", diff --git a/package.json b/package.json index 3c7fa4c87..32072a0d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.7.0-rc.2", + "version": "1.7.0-rc.3", "scripts": { "build": "turbo run build", "build:web": "turbo run build --filter=@documenso/web", From fd7c1fea1ca21b30f49036907003fd84e5461697 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Tue, 3 Sep 2024 09:48:54 +1000 Subject: [PATCH 03/11] chore: upgrade next (#1300) --- .github/actions/cache-build/action.yml | 4 +- .github/actions/node-install/action.yml | 2 +- apps/documentation/package.json | 4 +- .../pages/users/signing-documents/fields.mdx | 84 +- .../pages/users/signing-documents/index.mdx | 24 +- apps/documentation/pages/users/templates.mdx | 16 +- apps/marketing/package.json | 27 +- apps/web/package.json | 27 +- package-lock.json | 748 +++++------------- package.json | 17 +- packages/ee/package.json | 4 +- packages/lib/package.json | 4 +- packages/ui/package.json | 17 +- 13 files changed, 292 insertions(+), 686 deletions(-) diff --git a/.github/actions/cache-build/action.yml b/.github/actions/cache-build/action.yml index e1eb4da22..056b9a193 100644 --- a/.github/actions/cache-build/action.yml +++ b/.github/actions/cache-build/action.yml @@ -3,7 +3,7 @@ description: 'Cache or restore if necessary' inputs: node_version: required: false - default: v18.x + default: v20.x runs: using: 'composite' steps: @@ -17,7 +17,7 @@ runs: **/.turbo/** **/dist/** - key: prod-build-${{ github.run_id }} + key: prod-build-${{ github.run_id }}-${{ hashFiles('package-lock.json') }} restore-keys: prod-build- - run: npm run build diff --git a/.github/actions/node-install/action.yml b/.github/actions/node-install/action.yml index 77483a9a4..59b542fc8 100644 --- a/.github/actions/node-install/action.yml +++ b/.github/actions/node-install/action.yml @@ -2,7 +2,7 @@ name: 'Setup node and cache node_modules' inputs: node_version: required: false - default: v18.x + default: v20.x runs: using: 'composite' diff --git a/apps/documentation/package.json b/apps/documentation/package.json index 0c555f39a..7ab519307 100644 --- a/apps/documentation/package.json +++ b/apps/documentation/package.json @@ -16,7 +16,7 @@ "@documenso/tailwind-config": "*", "@documenso/trpc": "*", "@documenso/ui": "*", - "next": "14.0.3", + "next": "14.2.6", "next-plausible": "^3.12.0", "nextra": "^2.13.4", "nextra-theme-docs": "^2.13.4", @@ -32,4 +32,4 @@ "tailwindcss": "^3.3.0", "typescript": "^5" } -} +} \ No newline at end of file diff --git a/apps/documentation/pages/users/signing-documents/fields.mdx b/apps/documentation/pages/users/signing-documents/fields.mdx index bf02dd058..005ed2595 100644 --- a/apps/documentation/pages/users/signing-documents/fields.mdx +++ b/apps/documentation/pages/users/signing-documents/fields.mdx @@ -15,7 +15,7 @@ The signature field collects the signer's signature. It's required for each reci The field doesn't have any additional settings. You just need to place it on the document where you want the signer to sign. -![The signature field in the Documenso document editor](public/document-signing/signature-field-document-editor-view.webp) +![The signature field in the Documenso document editor](/document-signing/signature-field-document-editor-view.webp) ### Document Signing View @@ -23,11 +23,11 @@ The recipient will see the signature field when they open the document to sign. The recipient must click on the signature field to open the signing view, where they can sign using their mouse, touchpad, or touchscreen. -![The signature field in the Documenso document signing view](public/document-signing/signature-field-document-signing-view.webp) +![The signature field in the Documenso document signing view](/document-signing/signature-field-document-signing-view.webp) The image below shows the signature field signed by the recipient. -![The signature field signed by the user in the Documenso document signing view](public/document-signing/signed-signature-field.webp) +![The signature field signed by the user in the Documenso document signing view](/document-signing/signed-signature-field.webp) After signing, the recipient can click the "Complete" button to complete the signing process. @@ -39,7 +39,7 @@ The email field is used to collect the signer's email address. The field doesn't have any additional settings. You just need to place it on the document where you want the signer to sign. -![The email field in the Documenso document editor](public/document-signing/email-field-document-editor-view.webp) +![The email field in the Documenso document editor](/document-signing/email-field-document-editor-view.webp) ### Document Signing View @@ -47,11 +47,11 @@ When the recipient opens the document to sign, they will see the email field. The recipient must click on the email field to automatically sign the field with the email associated with their account. -![The email field in the Documenso document signing view](public/document-signing/email-field-document-signing-view.webp) +![The email field in the Documenso document signing view](/document-signing/email-field-document-signing-view.webp) The image below shows the email field signed by the recipient. -![The email field signed by the user in the Documenso document signing view](public/document-signing/signed-email-field.webp) +![The email field signed by the user in the Documenso document signing view](/document-signing/signed-email-field.webp) After entering their email address, the recipient can click the "Complete" button to complete the signing process. @@ -63,7 +63,7 @@ The name field is used to collect the signer's name. The field doesn't have any additional settings. You just need to place it on the document where you want the signer to sign. -![The name field in the Documenso document editor](public/document-signing/name-field-document-editor-view.webp) +![The name field in the Documenso document editor](/document-signing/name-field-document-editor-view.webp) ### Document Signing View @@ -71,11 +71,11 @@ When the recipient opens the document to sign, they will see the name field. The recipient must click on the name field, which will automatically sign the field with the name associated with their account. -![The name field in the Documenso document signing view](public/document-signing/name-field-document-signing-view.webp) +![The name field in the Documenso document signing view](/document-signing/name-field-document-signing-view.webp) The image below shows the name field signed by the recipient. -![The name field signed by the user in the Documenso document signing view](public/document-signing/name-field-signed.webp) +![The name field signed by the user in the Documenso document signing view](/document-signing/name-field-signed.webp) After entering their name, the recipient can click the "Complete" button to complete the signing process. @@ -87,7 +87,7 @@ The date field is used to collect the date of the signature. The field doesn't have any additional settings. You just need to place it on the document where you want the signer to sign. -![The date field in the Documenso document editor](public/document-signing/date-field-document-editor-view.webp) +![The date field in the Documenso document editor](/document-signing/date-field-document-editor-view.webp) ### Document Signing View @@ -95,11 +95,11 @@ When the recipient opens the document to sign, they will see the date field. The recipient must click on the date field to automatically sign the field with the current date and time. -![The date field in the Documenso document signing view](public/document-signing/date-field-document-signing-view.webp) +![The date field in the Documenso document signing view](/document-signing/date-field-document-signing-view.webp) The image below shows the date field signed by the recipient. -![The date field signed by the user in the Documenso document signing view](public/document-signing/date-field-signed.webp) +![The date field signed by the user in the Documenso document signing view](/document-signing/date-field-signed.webp) After entering the date, the recipient can click the "Complete" button to complete the signing process. @@ -111,11 +111,11 @@ The text field is used to collect text input from the signer. Place the text field on the document where you want the signer to enter text. The text field comes with additional settings that can be configured. -![The text field in the Documenso document editor](public/document-signing/text-field-document-editor-view.webp) +![The text field in the Documenso document editor](/document-signing/text-field-document-editor-view.webp) To open the settings, click on the text field and then on the "Sliders" icon. That opens the settings panel on the right side of the screen. -![The text field settings in the Documenso document editor](public/document-signing/text-field-advanced-settings-document-editor-view.webp) +![The text field settings in the Documenso document editor](/document-signing/text-field-advanced-settings-document-editor-view.webp) The text field settings include: @@ -137,7 +137,7 @@ It also comes with a couple of rules: Let's look at the following example. -![A text field with the settings configured by the user in the Documenso document editor](public/document-signing/text-field-with-filled-advanced-settings.webp) +![A text field with the settings configured by the user in the Documenso document editor](/document-signing/text-field-with-filled-advanced-settings.webp) The field is configured as follows: @@ -156,23 +156,23 @@ What the recipient sees when they open the document to sign depends on the setti In this case, the recipient sees the text field signed with the default value. -![Text field with the default value signed by the user in the Documenso document signing view](public/document-signing/text-field-autosigned.webp) +![Text field with the default value signed by the user in the Documenso document signing view](/document-signing/text-field-autosigned.webp) The recipient can modify the text field value since the field is not read-only. To change the value, the recipient must click the field to un-sign it. Once it's unsigned, the field uses the label set by the sender. -![Unsigned text field in the Documenso document signing view](public/document-signing/text-field-unsigned.webp) +![Unsigned text field in the Documenso document signing view](/document-signing/text-field-unsigned.webp) To sign the field with a different value, the recipient needs to click on the field and enter the new value. -![Text field with the text input in the Documenso document signing view](public/document-signing/text-field-input-modal.webp) +![Text field with the text input in the Documenso document signing view](/document-signing/text-field-input-modal.webp) Since the text field has a character limit, the recipient must enter a value that doesn't exceed the limit. Otherwise, an error message will appear, and the field will not be signed. The image below illustrates the text field signed with a new value. -![Text field signed with a new value](public/document-signing/text-field-new-value-signed.webp) +![Text field signed with a new value](/document-signing/text-field-new-value-signed.webp) After signing the field, the recipient can click the "Complete" button to complete the signing process. @@ -184,11 +184,11 @@ The number field is used for collecting a number input from the signer. Place the number field on the document where you want the signer to enter a number. The number field comes with additional settings that can be configured. -![The number field in the Documenso document editor](public/document-signing/number-field-document-editor.webp) +![The number field in the Documenso document editor](/document-signing/number-field-document-editor.webp) To open the settings, click on the number field and then on the "Sliders" icon. That opens the settings panel on the right side of the screen. -![The number field in the Documenso document editor](public/document-signing/number-field-document-editor-view.webp) +![The number field in the Documenso document editor](/document-signing/number-field-document-editor-view.webp) The number field settings include: @@ -221,7 +221,7 @@ In this example, the number field is configured as follows: - Validation: - Min value: 5, Max value: 50 -![A number field with the label configured by the user in the Documenso document editor](public/document-signing/number-field-label.webp) +![A number field with the label configured by the user in the Documenso document editor](/document-signing/number-field-label.webp) Since the field has a label set, the label is displayed instead of the default number field value - "Add number". @@ -231,23 +231,23 @@ What the recipient sees when they open the document to sign depends on the setti The recipient sees the number field signed with the default value in this case. -![Number field with the default value signed by the user in the Documenso document signing view](public/document-signing/number-field-autosigned.webp) +![Number field with the default value signed by the user in the Documenso document signing view](/document-signing/number-field-autosigned.webp) Since the number field is not read-only, the recipient can modify its value. To change the value, the recipient must click the field to un-sign it. Once it's unsigned, the field uses the label set by the sender. -![Unsigned number field in the Documenso document signing view](public/document-signing/number-field-unsigned.webp) +![Unsigned number field in the Documenso document signing view](/document-signing/number-field-unsigned.webp) To sign the field with a different value, the recipient needs to click on the field and enter the new value. -![Number field with the number input in the Documenso document signing view](public/document-signing/number-field-input-modal.webp) +![Number field with the number input in the Documenso document signing view](/document-signing/number-field-input-modal.webp) Since the number field has a validation rule set, the recipient must enter a value that meets the rules. In this example, the value needs to be between 5 and 50. Otherwise, an error message will appear, and the field will not be signed. The image below illustrates the text field signed with a new value. -![Number field signed with a new value](public/document-signing/number-field-signed-with-another-value.webp) +![Number field signed with a new value](/document-signing/number-field-signed-with-another-value.webp) After signing the field, the recipient can click the "Complete" button to complete the signing process. @@ -259,11 +259,11 @@ The radio field is used to collect a single choice from the signer. Place the radio field on the document where you want the signer to select a choice. The radio field comes with additional settings that can be configured. -![The radio field in the Documenso document editor](public/document-signing/radio-field-document-editor-view.webp) +![The radio field in the Documenso document editor](/document-signing/radio-field-document-editor-view.webp) To open the settings, click on the radio field and then on the "Sliders" icon. That opens the settings panel on the right side of the screen. -![The radio field advanced settings in the Documenso document editor](public/document-signing/radio-field-advanced-settings-document-editor-view.webp) +![The radio field advanced settings in the Documenso document editor](/document-signing/radio-field-advanced-settings-document-editor-view.webp) The radio field settings include: @@ -293,7 +293,7 @@ In this example, the radio field is configured as follows: - Empty value - Option 3 -![The radio field with the settings configured by the user in the Documenso document editor](public/document-signing/radio-field-options-document-editor-view.webp) +![The radio field with the settings configured by the user in the Documenso document editor](/document-signing/radio-field-options-document-editor-view.webp) Since the field contains radio options, it displays them instead of the default radio field value, "Radio". @@ -303,11 +303,11 @@ What the recipient sees when they open the document to sign depends on the setti In this case, the recipient sees the radio field unsigned because the sender didn't select a value. -![Radio field with no value selected in the Documenso document signing view](public/document-signing/radio-field-unsigned.webp) +![Radio field with no value selected in the Documenso document signing view](/document-signing/radio-field-unsigned.webp) The recipient can select one of the options by clicking on the radio button next to the option. -![Radio field with the value selected by the user in the Documenso document signing view](public/document-signing/radio-field-signed.webp) +![Radio field with the value selected by the user in the Documenso document signing view](/document-signing/radio-field-signed.webp) After signing the field, the recipient can click the "Complete" button to complete the signing process. @@ -319,11 +319,11 @@ The checkbox field is used to collect multiple choices from the signer. Place the checkbox field on the document where you want the signer to select choices. The checkbox field comes with additional settings that can be configured. -![The checkbox field in the Documenso document editor](public/document-signing/checkbox-document-editor-view.webp) +![The checkbox field in the Documenso document editor](/document-signing/checkbox-document-editor-view.webp) To open the settings, click on the checkbox field and then on the "Sliders" icon. That opens the settings panel on the right side of the screen. -![The checkbox field settings in the Documenso document editor](public/document-signing/checkbox-advanced-settings.webp) +![The checkbox field settings in the Documenso document editor](/document-signing/checkbox-advanced-settings.webp) The checkbox field settings include the following: @@ -356,7 +356,7 @@ In this example, the checkbox field is configured as follows: - Option 3 (checked) - Empty value -![The checkbox field with the settings configured by the user in the Documenso document editor](public/document-signing/checkbox-advanced-settings-document-editor-view.webp) +![The checkbox field with the settings configured by the user in the Documenso document editor](/document-signing/checkbox-advanced-settings-document-editor-view.webp) Since the field contains checkbox options, it displays them instead of the default checkbox field value, "Checkbox". @@ -366,7 +366,7 @@ What the recipient sees when they open the document to sign depends on the setti In this case, the recipient sees the checkbox field signed with the values selected by the sender. -![Checkbox field with the values selected by the user in the Documenso document signing view](public/document-signing/checkbox-field-document-signing-view.webp) +![Checkbox field with the values selected by the user in the Documenso document signing view](/document-signing/checkbox-field-document-signing-view.webp) Since the field is required, the recipient can either sign with the values selected by the sender or modify the values. @@ -377,11 +377,11 @@ The values can be modified in 2 ways: The image below illustrates the checkbox field with the values cleared by the recipient. Since the field is required, it has a red border instead of the yellow one (non-required fields). -![Checkbox field the values cleared by the user in the Documenso document signing view](public/document-signing/checkbox-field-unsigned.webp) +![Checkbox field the values cleared by the user in the Documenso document signing view](/document-signing/checkbox-field-unsigned.webp) Then, the recipient can select values other than the ones chosen by the sender. -![Checkbox field with the values selected by the user in the Documenso document signing view](public/document-signing/checkbox-field-custom-sign.webp) +![Checkbox field with the values selected by the user in the Documenso document signing view](/document-signing/checkbox-field-custom-sign.webp) After signing the field, the recipient can click the "Complete" button to complete the signing process. @@ -393,11 +393,11 @@ The dropdown/select field collects a single choice from a list of options. Place the dropdown/select field on the document where you want the signer to select a choice. The dropdown/select field comes with additional settings that can be configured. -![The dropdown/select field in the Documenso document editor](public/document-signing/select-field-sliders.webp) +![The dropdown/select field in the Documenso document editor](/document-signing/select-field-sliders.webp) To open the settings, click on the dropdown/select field and then on the "Sliders" icon. That opens the settings panel on the right side of the screen. -![The dropdown/select field settings in the Documenso document editor](public/document-signing/select-field-advanced-settings-panel.webp) +![The dropdown/select field settings in the Documenso document editor](/document-signing/select-field-advanced-settings-panel.webp) The dropdown/select field settings include: @@ -433,14 +433,14 @@ What the recipient sees when they open the document to sign depends on the setti In this case, the recipient sees the dropdown/select field with the default label, "-- Select ---" since the sender has not set a default value. -![Dropdown/select field in the Documenso document signing view](public/document-signing/select-field-unsigned.webp) +![Dropdown/select field in the Documenso document signing view](/document-signing/select-field-unsigned.webp) The recipient can modify the dropdown/select field value since the field is not read-only. To change the value, the recipient must click on the field for the dropdown list to appear. -![Dropdown/select field with the dropdown list in the Documenso document signing view](public/document-signing/select-field-unsigned-dropdown.webp) +![Dropdown/select field with the dropdown list in the Documenso document signing view](/document-signing/select-field-unsigned-dropdown.webp) The recipient can select one of the options from the list. The image below illustrates the dropdown/select field signed with a new value. -![Dropdown/select field signed with a value](public/document-signing/select-field-signed.webp) +![Dropdown/select field signed with a value](/document-signing/select-field-signed.webp) After signing the field, the recipient can click the "Complete" button to complete the signing process. diff --git a/apps/documentation/pages/users/signing-documents/index.mdx b/apps/documentation/pages/users/signing-documents/index.mdx index df43b5851..a0a32399d 100644 --- a/apps/documentation/pages/users/signing-documents/index.mdx +++ b/apps/documentation/pages/users/signing-documents/index.mdx @@ -18,17 +18,17 @@ The guide assumes you have a Documenso account. If you don't, you can create a f Navigate to the [Documenso dashboard](https://app.documenso.com/documents) and click on the "Add a document" button. Select the document you want to upload and wait for the upload to complete. -![Documenso dashboard](public/document-signing/documenso-documents-dashboard.webp) +![Documenso dashboard](/document-signing/documenso-documents-dashboard.webp) After the upload is complete, you will be redirected to the document's page. You can configure the document's settings and add recipients and fields here. -![Documenso document overview](public/document-signing/documenso-uploaded-document.webp) +![Documenso document overview](/document-signing/documenso-uploaded-document.webp) ### (Optional) Advanced Options Click on the "Advanced options" button to access additional settings for the document. You can set an external ID, date format, time zone, and the redirect URL. -![Advanced settings for a document uploaded in the Documenso dashboard](public/document-signing/documenso-uploaded-document-advanced-options.webp) +![Advanced settings for a document uploaded in the Documenso dashboard](/document-signing/documenso-uploaded-document-advanced-options.webp) The external ID allows you to set a custom ID for the document that can be used to identify the document in your external system(s). @@ -45,7 +45,7 @@ The available options are: - **Require account** - The recipient must be signed in to view the document. - **None** - The document can be accessed directly by the URL sent to the recipient. -![Document access settings in the Documenso dashboard](public/document-signing/documenso-enterprise-document-access.webp) +![Document access settings in the Documenso dashboard](/document-signing/documenso-enterprise-document-access.webp) The "Document Access" feature is only available for Enterprise accounts. @@ -61,7 +61,7 @@ The available options are: - **Require 2FA** - The recipient must have an account and 2FA enabled via their settings. - **None** - No authentication required. -![Document recipient action authentication in the Documenso dashboard](public/document-signing/document-enterprise-recipient-action-authentication.webp) +![Document recipient action authentication in the Documenso dashboard](/document-signing/document-enterprise-recipient-action-authentication.webp) This can be overridden by setting the authentication requirements directly for each recipient in the next step. @@ -75,11 +75,11 @@ Click the "+ Add Signer" button to add a new recipient. You can configure the re You can choose any option from the ["Recipient Authentication"](#optional-recipient-authentication) section, or you can set it to "Inherit authentication method" to use the global action signing authentication method configured in the "General Settings" step. -![The required authentication method for a recipient](public/document-signing/documenso-document-recipient-authentication-method.webp) +![The required authentication method for a recipient](/document-signing/documenso-document-recipient-authentication-method.webp) You can also set the recipient's role, which determines their actions and permissions in the document. -![The recipient role](public/document-signing/documenso-document-recipient-role.webp) +![The recipient role](/document-signing/documenso-document-recipient-role.webp) #### Roles @@ -96,7 +96,7 @@ Documenso has 4 roles for recipients with different permissions and actions. Documenso supports 9 different field types that can be added to the document. Each field type collects various information from the recipients when they sign the document. -![The available field types in the Documenso dashboard](public/document-signing/documenso-document-fields.webp) +![The available field types in the Documenso dashboard](/document-signing/documenso-document-fields.webp) The available field types are: @@ -121,13 +121,13 @@ All fields can be placed anywhere on the document and resized as needed. Signer Roles require at least 1 signature field. You will get an error message if you try to send a document without a signature field. -![Error message when trying to send a document without a signature field](public/document-signing/documenso-no-signature-field-found.webp) +![Error message when trying to send a document without a signature field](/document-signing/documenso-no-signature-field-found.webp) ### Email Settings Before sending the document, you can configure the email settings and customize the subject line, message, and sender name. -![Email settings in the Documenso dashboard](public/document-signing/documenso-document-email-settings.webp) +![Email settings in the Documenso dashboard](/document-signing/documenso-document-email-settings.webp) If you leave the email subject and message empty, Documenso will use the default email template. @@ -135,13 +135,13 @@ If you leave the email subject and message empty, Documenso will use the default After configuring the document, click the "Send" button to send the document to the recipients. The recipients will receive an email with a link to sign the document. -![The email sent to the recipients with the signing link](public/document-signing/documenso-sign-email.webp) +![The email sent to the recipients with the signing link](/document-signing/documenso-sign-email.webp) #### Signing Link If you need to copy the signing link for each recipient, you can do so by clicking on the recipient whose link you want to copy. The signing link is copied automatically to your clipboard. -![How to copy the signing link for each recipient from the Documenso dashboard](public/document-signing/documenso-signing-links.webp) +![How to copy the signing link for each recipient from the Documenso dashboard](/document-signing/documenso-signing-links.webp) The signing link has the following format: diff --git a/apps/documentation/pages/users/templates.mdx b/apps/documentation/pages/users/templates.mdx index ba7fc7fd8..aa3c86798 100644 --- a/apps/documentation/pages/users/templates.mdx +++ b/apps/documentation/pages/users/templates.mdx @@ -10,15 +10,15 @@ Documenso allows you to create templates, which are reusable documents. Template To create a new template, navigate to the ["Templates" page](https://app.documenso.com/templates) and click on the "New Template" button. -![Documenso template page](public/templates/documenso-template-page.webp) +![Documenso template page](/templates/documenso-template-page.webp) Clicking on the "New Template" button opens a new modal to upload the document you want to use as a template. Select the document and wait for Documenso to upload it to your account. -![Upload a new template document in the Documenso dashboard](public/templates/documenso-template-page-upload-document.webp) +![Upload a new template document in the Documenso dashboard](/templates/documenso-template-page-upload-document.webp) Once the upload is complete, Documenso opens the template configuration page. -![A successfuly uploaded document in the Documenso dashboard](public/templates/documenso-template-page-uploaded-document.webp) +![A successfuly uploaded document in the Documenso dashboard](/templates/documenso-template-page-uploaded-document.webp) You can then configure the template by adding recipients, fields, and other options. @@ -28,7 +28,7 @@ When you send a document for signing, Documenso emails the recipients with a lin Documenso uses a generic subject and message but also allows you to customize them for each document and template. -![Configuring the email options for the Documenso template](public/templates/documenso-template-page-uploaded-document-email-options.webp) +![Configuring the email options for the Documenso template](/templates/documenso-template-page-uploaded-document-email-options.webp) To configure the email options, click the "Email Options" tab and fill in the subject and message fields. Every time you use this template for signing, Documenso will use the custom subject and message you provided. They can also be overridden before sending the document. @@ -36,7 +36,7 @@ To configure the email options, click the "Email Options" tab and fill in the su The template also has advanced options that you can configure. These options include settings such as the external ID, date format, time zone and the redirect URL. -![Configuring the advanced options for the Documenso template](public/templates/documenso-template-page-uploaded-document-advanced-options.webp) +![Configuring the advanced options for the Documenso template](/templates/documenso-template-page-uploaded-document-advanced-options.webp) The external ID allows you to set a custom ID for the document that can be used to identify the document in your external system(s). @@ -50,7 +50,7 @@ You can add placeholders for the template recipients. Placeholders specify where You can also add recipients directly to the template. Recipients are the people who will receive the document for signing. -![Adding placeholder recipients for the Documenso template](public/templates/documenso-template-recipients.webp) +![Adding placeholder recipients for the Documenso template](/templates/documenso-template-recipients.webp) If you add placeholders to the template, you must replace them with actual recipients when creating a document from it. See the modal from the ["Use a Template"](#use-a-template) section. @@ -70,7 +70,7 @@ Documenso provides the following field types: - **Checkbox** - Collects multiple choices from the signer - **Dropdown/Select** - Collects a single choice from a list of choices -![Adding fields for the Documenso template](public/templates/documenso-template-page-fields.webp) +![Adding fields for the Documenso template](/templates/documenso-template-page-fields.webp) After adding the fields, press the "Save Template" button to save the template. @@ -85,7 +85,7 @@ Click on the "Use Template" button to create a new document from the template. B After filling in the recipients, click the "Create Document" button to create the document in your account. -![Use an available Documenso template](public/templates/documenso-use-template.webp) +![Use an available Documenso template](/templates/documenso-use-template.webp) You can also send the document straight to the recipients for signing by checking the "Send document" checkbox. diff --git a/apps/marketing/package.json b/apps/marketing/package.json index e175f293e..20b8741a9 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -20,7 +20,8 @@ "@documenso/trpc": "*", "@documenso/ui": "*", "@hookform/resolvers": "^3.1.0", - "@lingui/react": "^4.11.1", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@openstatus/react": "^0.0.3", "cmdk": "^0.2.1", "contentlayer": "^0.3.4", @@ -31,16 +32,16 @@ "lucide-react": "^0.279.0", "luxon": "^3.4.0", "micro": "^10.0.1", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", "next-axiom": "^1.1.1", "next-contentlayer": "^0.3.4", "next-plausible": "^3.10.1", "perfect-freehand": "^1.2.0", "posthog-js": "^1.77.3", - "react": "18.2.0", + "react": "^18", "react-confetti": "^6.1.0", - "react-dom": "18.2.0", + "react-dom": "^18", "react-hook-form": "^7.43.9", "react-icons": "^4.11.0", "recharts": "^2.7.2", @@ -49,18 +50,10 @@ "zod": "^3.22.4" }, "devDependencies": { - "@lingui/loader": "^4.11.1", - "@lingui/swc-plugin": "4.0.6", + "@lingui/loader": "^4.11.3", + "@lingui/swc-plugin": "4.0.8", "@types/node": "20.1.0", - "@types/react": "18.2.18", - "@types/react-dom": "18.2.7" - }, - "overrides": { - "next-auth": { - "next": "$next" - }, - "next-contentlayer": { - "next": "$next" - } + "@types/react": "^18", + "@types/react-dom": "^18" } -} +} \ No newline at end of file diff --git a/apps/web/package.json b/apps/web/package.json index fea1881fa..8e0ae4ad3 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -23,7 +23,8 @@ "@documenso/trpc": "*", "@documenso/ui": "*", "@hookform/resolvers": "^3.1.0", - "@lingui/react": "^4.11.1", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.3", "@tanstack/react-query": "^4.29.5", @@ -34,7 +35,7 @@ "lucide-react": "^0.279.0", "luxon": "^3.4.0", "micro": "^10.0.1", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", "next-axiom": "^1.1.1", "next-plausible": "^3.10.1", @@ -43,8 +44,8 @@ "perfect-freehand": "^1.2.0", "posthog-js": "^1.75.3", "posthog-node": "^3.1.1", - "react": "18.2.0", - "react-dom": "18.2.0", + "react": "^18", + "react-dom": "^18", "react-dropzone": "^14.2.3", "react-hook-form": "^7.43.9", "react-hotkeys-hook": "^4.4.1", @@ -60,24 +61,16 @@ }, "devDependencies": { "@documenso/tailwind-config": "*", - "@lingui/loader": "^4.11.1", - "@lingui/swc-plugin": "4.0.6", + "@lingui/loader": "^4.11.3", + "@lingui/swc-plugin": "4.0.8", "@simplewebauthn/types": "^9.0.1", "@types/formidable": "^2.0.6", "@types/luxon": "^3.3.1", "@types/node": "20.1.0", "@types/papaparse": "^5.3.14", - "@types/react": "18.2.18", - "@types/react-dom": "18.2.7", + "@types/react": "^18", + "@types/react-dom": "^18", "@types/ua-parser-js": "^0.7.39", "typescript": "5.2.2" - }, - "overrides": { - "next-auth": { - "next": "$next" - }, - "next-contentlayer": { - "next": "$next" - } } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2a8585c65..32d44b66f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,16 +13,15 @@ ], "dependencies": { "@documenso/pdf-sign": "^0.1.0", - "@lingui/core": "^4.11.1", - "@lingui/macro": "^4.11.2", + "@lingui/core": "^4.11.3", "inngest-cli": "^0.29.1", "next-runtime-env": "^3.2.0", - "react": "18.2.0" + "react": "^18" }, "devDependencies": { "@commitlint/cli": "^17.7.1", "@commitlint/config-conventional": "^17.7.0", - "@lingui/cli": "^4.11.1", + "@lingui/cli": "^4.11.3", "@trigger.dev/cli": "^2.3.18", "dotenv": "^16.3.1", "dotenv-cli": "^7.3.0", @@ -49,7 +48,7 @@ "@documenso/tailwind-config": "*", "@documenso/trpc": "*", "@documenso/ui": "*", - "next": "14.0.3", + "next": "14.2.6", "next-plausible": "^3.12.0", "nextra": "^2.13.4", "nextra-theme-docs": "^2.13.4", @@ -90,7 +89,8 @@ "@documenso/trpc": "*", "@documenso/ui": "*", "@hookform/resolvers": "^3.1.0", - "@lingui/react": "^4.11.1", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@openstatus/react": "^0.0.3", "cmdk": "^0.2.1", "contentlayer": "^0.3.4", @@ -101,16 +101,16 @@ "lucide-react": "^0.279.0", "luxon": "^3.4.0", "micro": "^10.0.1", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", "next-axiom": "^1.1.1", "next-contentlayer": "^0.3.4", "next-plausible": "^3.10.1", "perfect-freehand": "^1.2.0", "posthog-js": "^1.77.3", - "react": "18.2.0", + "react": "^18", "react-confetti": "^6.1.0", - "react-dom": "18.2.0", + "react-dom": "^18", "react-hook-form": "^7.43.9", "react-icons": "^4.11.0", "recharts": "^2.7.2", @@ -119,11 +119,11 @@ "zod": "^3.22.4" }, "devDependencies": { - "@lingui/loader": "^4.11.1", - "@lingui/swc-plugin": "4.0.6", + "@lingui/loader": "^4.11.3", + "@lingui/swc-plugin": "4.0.8", "@types/node": "20.1.0", - "@types/react": "18.2.18", - "@types/react-dom": "18.2.7" + "@types/react": "^18", + "@types/react-dom": "^18" } }, "apps/marketing/node_modules/@radix-ui/primitive": { @@ -435,7 +435,8 @@ "@documenso/trpc": "*", "@documenso/ui": "*", "@hookform/resolvers": "^3.1.0", - "@lingui/react": "^4.11.1", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.3", "@tanstack/react-query": "^4.29.5", @@ -446,7 +447,7 @@ "lucide-react": "^0.279.0", "luxon": "^3.4.0", "micro": "^10.0.1", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", "next-axiom": "^1.1.1", "next-plausible": "^3.10.1", @@ -455,8 +456,8 @@ "perfect-freehand": "^1.2.0", "posthog-js": "^1.75.3", "posthog-node": "^3.1.1", - "react": "18.2.0", - "react-dom": "18.2.0", + "react": "^18", + "react-dom": "^18", "react-dropzone": "^14.2.3", "react-hook-form": "^7.43.9", "react-hotkeys-hook": "^4.4.1", @@ -472,15 +473,15 @@ }, "devDependencies": { "@documenso/tailwind-config": "*", - "@lingui/loader": "^4.11.1", - "@lingui/swc-plugin": "4.0.6", + "@lingui/loader": "^4.11.3", + "@lingui/swc-plugin": "4.0.8", "@simplewebauthn/types": "^9.0.1", "@types/formidable": "^2.0.6", "@types/luxon": "^3.3.1", "@types/node": "20.1.0", "@types/papaparse": "^5.3.14", - "@types/react": "18.2.18", - "@types/react-dom": "18.2.7", + "@types/react": "^18", + "@types/react-dom": "^18", "@types/ua-parser-js": "^0.7.39", "typescript": "5.2.2" } @@ -1899,9 +1900,10 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -3684,34 +3686,36 @@ "integrity": "sha512-f5CnPw997Y2GQ8FAvtuVVC19FX8mwNNC+1XJcIi16n/LTJifKO6QBgGLgN3YEmqtGMk17SKSuoWES3imJVxAVw==" }, "node_modules/@lingui/babel-plugin-extract-messages": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/babel-plugin-extract-messages/-/babel-plugin-extract-messages-4.11.2.tgz", - "integrity": "sha512-CjIUy55ICw2nQpJeO9Yhoc65nbDje3b/8Ghbux8OUMbtEYguMKi1pA21eYPYDjTUnjglVTDtapEtLN0iNPWHdg==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/babel-plugin-extract-messages/-/babel-plugin-extract-messages-4.11.3.tgz", + "integrity": "sha512-wLiquhtxE7qUmoKl4UStFI1XgrCkk9zwxc8z62LPpbutkyxO21B5k8fBUGlgWoKJaXbpvS8VIU8j2663q99JnQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16.0.0" } }, "node_modules/@lingui/cli": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/cli/-/cli-4.11.2.tgz", - "integrity": "sha512-onwASvA6KffAos+ceP1K1Hx0mPg6vb3s9Rw7VXSyaUQih225GXlrTZbYKOZkM1XgfMmhN+7kgFrRaqxjiKnLLQ==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/cli/-/cli-4.11.3.tgz", + "integrity": "sha512-ykJLmQciK81I0Cd/iLg8dSpESV9Hnsbw5+G98IEAf4exvoUGRJ2UzkeNc/HeGx3D5Fg+TI8YNWwCbZ7NAOsDCQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.21.0", "@babel/generator": "^7.21.1", "@babel/parser": "^7.21.2", "@babel/runtime": "^7.21.0", "@babel/types": "^7.21.2", - "@lingui/babel-plugin-extract-messages": "4.11.2", - "@lingui/conf": "4.11.2", - "@lingui/core": "4.11.2", - "@lingui/format-po": "4.11.2", - "@lingui/message-utils": "4.11.2", + "@lingui/babel-plugin-extract-messages": "4.11.3", + "@lingui/conf": "4.11.3", + "@lingui/core": "4.11.3", + "@lingui/format-po": "4.11.3", + "@lingui/message-utils": "4.11.3", "babel-plugin-macros": "^3.0.1", "chalk": "^4.1.0", "chokidar": "3.5.1", - "cli-table": "0.3.6", + "cli-table": "^0.3.11", "commander": "^10.0.0", "convert-source-map": "^2.0.0", "date-fns": "^3.6.0", @@ -4410,9 +4414,10 @@ } }, "node_modules/@lingui/conf": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/conf/-/conf-4.11.2.tgz", - "integrity": "sha512-Kw45dRa3biV8CLg50R0e4vCfU750H5fFJ8zBUAIEtWkksKsRDOvf3l1qxfUF76xuLSCPhdLjYfnmW0FqMe/kdg==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/conf/-/conf-4.11.3.tgz", + "integrity": "sha512-KwUJDrbzlZEXmlmqttpB/Sd9hiIo0sqccsZaYTHzW/uULZT9T11aw/f6RcPLCVJeSKazg/7dJhR1cKlxKzvjKA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.13", "chalk": "^4.1.0", @@ -4426,12 +4431,13 @@ } }, "node_modules/@lingui/core": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/core/-/core-4.11.2.tgz", - "integrity": "sha512-5wFmpHeDbLXEqaEUwlayS4SoqrCbDI3/bVRlwhmdNCeUcUYWh+7dTDlQnp4tPek1x1dEppABIkdN/0qLDdKcBQ==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/core/-/core-4.11.3.tgz", + "integrity": "sha512-IjJxn0Kvzv+ICnGlMqn8wRIQLikCJVrolb1oyi6GqtbiuPiwKYeU0D6Hbe146lMaTN8juc3tOCBS+Fr02XqFIQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.13", - "@lingui/message-utils": "4.11.2", + "@lingui/message-utils": "4.11.3", "unraw": "^3.0.0" }, "engines": { @@ -4439,13 +4445,14 @@ } }, "node_modules/@lingui/format-po": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/format-po/-/format-po-4.11.2.tgz", - "integrity": "sha512-o5TxpiIjtwObkOipsuNw3zaiHlikhivFfd70paps4Nb5w0Fiaa6pKqvLmIqgsxx7/bgmySr0S/vu8hpAerr4Kg==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/format-po/-/format-po-4.11.3.tgz", + "integrity": "sha512-RgEkoo0aEAk7X1xGrApcpqkz6GLdzkRLGw2jo3mmCVR0P7P9sWbJL/cd01GmR+HzAOo8Zx5oIayaKh9iyJS8tA==", "dev": true, + "license": "MIT", "dependencies": { - "@lingui/conf": "4.11.2", - "@lingui/message-utils": "4.11.2", + "@lingui/conf": "4.11.3", + "@lingui/message-utils": "4.11.3", "date-fns": "^3.6.0", "pofile": "^1.1.4" }, @@ -4458,20 +4465,22 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" } }, "node_modules/@lingui/loader": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/loader/-/loader-4.11.2.tgz", - "integrity": "sha512-pQZj7J1iDtp81JjqtWX0pBGX21gwZpk1awKpn9Z8cquFVT2ai8I/0rMhJ3EnKUdutxDhvPDDjYq3AEFkEweXPw==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/loader/-/loader-4.11.3.tgz", + "integrity": "sha512-K0482e0d+KRlljylkOAp6DkOKHboevAqR2nRRipwa8BGV1nJsnSwkvrlny+/OazZK0Dvr7w6tmBODx8KS318Ng==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.13", - "@lingui/cli": "4.11.2", - "@lingui/conf": "4.11.2" + "@lingui/cli": "4.11.3", + "@lingui/conf": "4.11.3" }, "engines": { "node": ">=16.0.0" @@ -4481,15 +4490,16 @@ } }, "node_modules/@lingui/macro": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/macro/-/macro-4.11.2.tgz", - "integrity": "sha512-hipoxMwwD5uKl9t6PHK7Ey/yb6pIgRyFLal2TfkqOH/HCsDR9j6Dusj74szJqzpclJv7zfWgJxk52X/pb+OYpg==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/macro/-/macro-4.11.3.tgz", + "integrity": "sha512-D0me8ZRtH0ylSavhKZu0FYf5mJ1y6kDMMPjYVDyiT5ooOI/5jjv9LIAqrdYGCBygnwsxOG1dzDw6+3s5GTs+Bg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.13", "@babel/types": "^7.20.7", - "@lingui/conf": "4.11.2", - "@lingui/core": "4.11.2", - "@lingui/message-utils": "4.11.2" + "@lingui/conf": "4.11.3", + "@lingui/core": "4.11.3", + "@lingui/message-utils": "4.11.3" }, "engines": { "node": ">=16.0.0" @@ -4500,11 +4510,12 @@ } }, "node_modules/@lingui/macro/node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz", + "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, @@ -4513,9 +4524,10 @@ } }, "node_modules/@lingui/message-utils": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/message-utils/-/message-utils-4.11.2.tgz", - "integrity": "sha512-3oJk7ZKExk4NVa4d3CM0z0iNqIokaFOWeu7lYVzu0oEX7DP6OxNjlCAtObIhJCB0FdIPz8sXxhDkyDHFj+eIvw==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/message-utils/-/message-utils-4.11.3.tgz", + "integrity": "sha512-ZSw3OoKbknOw3nSrqt194g2F8r0guKow9csb46zlL7zX/yOWCaj767wvSvMoglZtVvurfQs4NPv2cohYlWORNw==", + "license": "MIT", "dependencies": { "@messageformat/parser": "^5.0.0", "js-sha256": "^0.10.1" @@ -4525,12 +4537,13 @@ } }, "node_modules/@lingui/react": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@lingui/react/-/react-4.11.2.tgz", - "integrity": "sha512-OKHCg3yPW2xhYWoY2kOz+eP7qpdkab+4tERUvJ9QJ9bzQ6OnPLCagaRftB3nqdKuWzKoA5F2VG2QLUhF7DjpGA==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@lingui/react/-/react-4.11.3.tgz", + "integrity": "sha512-FuorwDsz5zDpUNpyj7J8ZKqJrrVxOz1EtQ3aJGJsmnTtVO01N3nR3ckMzpYvZ71XXdDEvhUC9ihmiKbFvpaZ/w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.13", - "@lingui/core": "4.11.2" + "@lingui/core": "4.11.3" }, "engines": { "node": ">=16.0.0" @@ -4540,10 +4553,11 @@ } }, "node_modules/@lingui/swc-plugin": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@lingui/swc-plugin/-/swc-plugin-4.0.6.tgz", - "integrity": "sha512-jW32d+t/faHGrgzZXzGbDmadElqHQ9FvGf2aoq7YelXBPG9cf/lAkZlpxNjAzRhbscupB0YPtBjC49XoIIzKMg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@lingui/swc-plugin/-/swc-plugin-4.0.8.tgz", + "integrity": "sha512-zWvfFAvo2NOV+yFAjTbuEE0x53XEJlBS3EQ1R4xswjWSgpXWbLg45Rg37Ai2Ud0qeQkQLZnL93yt7dOwstX5eQ==", "dev": true, + "license": "MIT", "peerDependencies": { "@lingui/macro": "4" }, @@ -5054,17 +5068,19 @@ } }, "node_modules/@next/env": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.0.3.tgz", - "integrity": "sha512-7xRqh9nMvP5xrW4/+L0jgRRX+HoNRGnfJpD+5Wq6/13j3dsdzxO3BCXn7D3hMqsDb+vjZnJq+vI7+EtgrYZTeA==" + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.6.tgz", + "integrity": "sha512-bs5DFKV+08EjWrl8EB+KKqev1ZTNONH1vFCaHh911aaB362NnP32UDTbE9VQhyiAgbFqJsfDkSxFERNDDb3j0g==", + "license": "MIT" }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.3.tgz", - "integrity": "sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.6.tgz", + "integrity": "sha512-BtJZb+hYXGaVJJivpnDoi3JFVn80SHKCiiRUW3kk1SY6UCUy5dWFFSbh+tGi5lHAughzeduMyxbLt3pspvXNSg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -5074,12 +5090,13 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.3.tgz", - "integrity": "sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.6.tgz", + "integrity": "sha512-ZHRbGpH6KHarzm6qEeXKSElSXh8dS2DtDPjQt3IMwY8QVk7GbdDYjvV4NgSnDA9huGpGgnyy3tH8i5yHCqVkiQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -5089,12 +5106,13 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.3.tgz", - "integrity": "sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.6.tgz", + "integrity": "sha512-O4HqUEe3ZvKshXHcDUXn1OybN4cSZg7ZdwHJMGCXSUEVUqGTJVsOh17smqilIjooP/sIJksgl+1kcf2IWMZWHg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -5104,12 +5122,13 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.3.tgz", - "integrity": "sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.6.tgz", + "integrity": "sha512-xUcdhr2hfalG8RDDGSFxQ75yOG894UlmFS4K2M0jLrUhauRBGOtUOxoDVwiIIuZQwZ3Y5hDsazNjdYGB0cQ9yQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -5119,12 +5138,13 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.0.3.tgz", - "integrity": "sha512-VM1aE1tJKLBwMGtyBR21yy+STfl0MapMQnNrXkxeyLs0GFv/kZqXS5Jw/TQ3TSUnbv0QPDf/X8sDXuMtSgG6eg==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.6.tgz", + "integrity": "sha512-InosKxw8UMcA/wEib5n2QttwHSKHZHNSbGcMepBM0CTcNwpxWzX32KETmwbhKod3zrS8n1vJ+DuJKbL9ZAB0Ag==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -5134,12 +5154,13 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.0.3.tgz", - "integrity": "sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.6.tgz", + "integrity": "sha512-d4QXfJmt5pGJ7cG8qwxKSBnO5AXuKAFYxV7qyDRHnUNvY/dgDh+oX292gATpB2AAHgjdHd5ks1wXxIEj6muLUQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -5149,12 +5170,13 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.3.tgz", - "integrity": "sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.6.tgz", + "integrity": "sha512-AlgIhk4/G+PzOG1qdF1b05uKTMsuRatFlFzAi5G8RZ9h67CVSSuZSbqGHbJDlcV1tZPxq/d4G0q6qcHDKWf4aQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -5164,12 +5186,13 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.3.tgz", - "integrity": "sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.6.tgz", + "integrity": "sha512-hNukAxq7hu4o5/UjPp5jqoBEtrpCbOmnUqZSKNJG8GrUVzfq0ucdhQFVrHcLRMvQcwqqDh1a5AJN9ORnNDpgBQ==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -5179,12 +5202,13 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.3.tgz", - "integrity": "sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.6.tgz", + "integrity": "sha512-NANtw+ead1rSDK1jxmzq3TYkl03UNK2KHqUYf1nIhNci6NkeqBD4s1njSzYGIlSHxCK+wSaL8RXZm4v+NF/pMw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -6426,7 +6450,7 @@ "version": "1.43.1", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz", "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==", - "dev": true, + "devOptional": true, "dependencies": { "playwright": "1.43.1" }, @@ -6441,12 +6465,12 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], + "peer": true, "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -6455,7 +6479,7 @@ "version": "1.43.1", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", - "dev": true, + "devOptional": true, "dependencies": { "playwright-core": "1.43.1" }, @@ -6473,7 +6497,7 @@ "version": "1.43.1", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", - "dev": true, + "devOptional": true, "bin": { "playwright-core": "cli.js" }, @@ -9939,13 +9963,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@swc/helpers": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", - "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", - "dependencies": { - "tslib": "^2.4.0" - } + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", @@ -13467,9 +13489,9 @@ } }, "node_modules/cli-table": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", - "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", "dev": true, "dependencies": { "colors": "1.0.3" @@ -14126,6 +14148,7 @@ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } @@ -18362,7 +18385,9 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true }, "node_modules/global-dirs": { "version": "0.1.1", @@ -23986,17 +24011,18 @@ } }, "node_modules/next": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.0.3.tgz", - "integrity": "sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==", + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.6.tgz", + "integrity": "sha512-57Su7RqXs5CBKKKOagt8gPhMM3CpjgbeQhrtei2KLAA1vTNm7jfKS+uDARkSW8ZETUflDCBIsUKGSyQdRs4U4g==", + "license": "MIT", "dependencies": { - "@next/env": "14.0.3", - "@swc/helpers": "0.5.2", + "@next/env": "14.2.6", + "@swc/helpers": "0.5.5", "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", "postcss": "8.4.31", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0" + "styled-jsx": "5.1.1" }, "bin": { "next": "dist/bin/next" @@ -24005,18 +24031,19 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.0.3", - "@next/swc-darwin-x64": "14.0.3", - "@next/swc-linux-arm64-gnu": "14.0.3", - "@next/swc-linux-arm64-musl": "14.0.3", - "@next/swc-linux-x64-gnu": "14.0.3", - "@next/swc-linux-x64-musl": "14.0.3", - "@next/swc-win32-arm64-msvc": "14.0.3", - "@next/swc-win32-ia32-msvc": "14.0.3", - "@next/swc-win32-x64-msvc": "14.0.3" + "@next/swc-darwin-arm64": "14.2.6", + "@next/swc-darwin-x64": "14.2.6", + "@next/swc-linux-arm64-gnu": "14.2.6", + "@next/swc-linux-arm64-musl": "14.2.6", + "@next/swc-linux-x64-gnu": "14.2.6", + "@next/swc-linux-x64-musl": "14.2.6", + "@next/swc-win32-arm64-msvc": "14.2.6", + "@next/swc-win32-ia32-msvc": "14.2.6", + "@next/swc-win32-x64-msvc": "14.2.6" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "sass": "^1.3.0" @@ -24025,6 +24052,9 @@ "@opentelemetry/api": { "optional": true }, + "@playwright/test": { + "optional": true + }, "sass": { "optional": true } @@ -24153,6 +24183,16 @@ "react-dom": "*" } }, + "node_modules/next/node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, "node_modules/nextra": { "version": "2.13.4", "resolved": "https://registry.npmjs.org/nextra/-/nextra-2.13.4.tgz", @@ -34626,18 +34666,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -35331,156 +35359,6 @@ "zod": "^3.22.4" } }, - "packages/api/node_modules/@next/env": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.6.tgz", - "integrity": "sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==", - "peer": true - }, - "packages/api/node_modules/@next/swc-darwin-arm64": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz", - "integrity": "sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-darwin-x64": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz", - "integrity": "sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz", - "integrity": "sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-linux-arm64-musl": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz", - "integrity": "sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-linux-x64-gnu": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz", - "integrity": "sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-linux-x64-musl": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz", - "integrity": "sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz", - "integrity": "sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz", - "integrity": "sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/api/node_modules/@next/swc-win32-x64-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz", - "integrity": "sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, "packages/api/node_modules/@ts-rest/next": { "version": "3.30.5", "resolved": "https://registry.npmjs.org/@ts-rest/next/-/next-3.30.5.tgz", @@ -35496,52 +35374,6 @@ } } }, - "packages/api/node_modules/next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/next/-/next-13.5.6.tgz", - "integrity": "sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==", - "peer": true, - "dependencies": { - "@next/env": "13.5.6", - "@swc/helpers": "0.5.2", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.31", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=16.14.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "13.5.6", - "@next/swc-darwin-x64": "13.5.6", - "@next/swc-linux-arm64-gnu": "13.5.6", - "@next/swc-linux-arm64-musl": "13.5.6", - "@next/swc-linux-x64-gnu": "13.5.6", - "@next/swc-linux-x64-musl": "13.5.6", - "@next/swc-win32-arm64-msvc": "13.5.6", - "@next/swc-win32-ia32-msvc": "13.5.6", - "@next/swc-win32-x64-msvc": "13.5.6" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, "packages/app-tests": { "name": "@documenso/app-tests", "version": "0.0.0", @@ -35583,9 +35415,9 @@ "@documenso/prisma": "*", "luxon": "^3.4.0", "micro": "^10.0.1", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", - "react": "18.2.0", + "react": "^18", "ts-pattern": "^5.0.5", "zod": "^3.22.4" } @@ -36781,13 +36613,13 @@ "luxon": "^3.4.0", "micro": "^10.0.1", "nanoid": "^4.0.2", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", "oslo": "^0.17.0", "pdf-lib": "^1.17.1", "pg": "^8.11.3", "playwright": "1.43.0", - "react": "18.2.0", + "react": "^18", "remeda": "^1.27.1", "sharp": "0.32.6", "stripe": "^12.7.0", @@ -36961,156 +36793,6 @@ }, "devDependencies": {} }, - "packages/trpc/node_modules/@next/env": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.6.tgz", - "integrity": "sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==", - "peer": true - }, - "packages/trpc/node_modules/@next/swc-darwin-arm64": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz", - "integrity": "sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-darwin-x64": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz", - "integrity": "sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz", - "integrity": "sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-linux-arm64-musl": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz", - "integrity": "sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-linux-x64-gnu": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz", - "integrity": "sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-linux-x64-musl": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz", - "integrity": "sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz", - "integrity": "sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz", - "integrity": "sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "packages/trpc/node_modules/@next/swc-win32-x64-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz", - "integrity": "sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, "packages/trpc/node_modules/@ts-rest/next": { "version": "3.30.5", "resolved": "https://registry.npmjs.org/@ts-rest/next/-/next-3.30.5.tgz", @@ -37126,52 +36808,6 @@ } } }, - "packages/trpc/node_modules/next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/next/-/next-13.5.6.tgz", - "integrity": "sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==", - "peer": true, - "dependencies": { - "@next/env": "13.5.6", - "@swc/helpers": "0.5.2", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.31", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=16.14.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "13.5.6", - "@next/swc-darwin-x64": "13.5.6", - "@next/swc-linux-arm64-gnu": "13.5.6", - "@next/swc-linux-arm64-musl": "13.5.6", - "@next/swc-linux-x64-gnu": "13.5.6", - "@next/swc-linux-x64-musl": "13.5.6", - "@next/swc-win32-arm64-msvc": "13.5.6", - "@next/swc-win32-ia32-msvc": "13.5.6", - "@next/swc-win32-x64-msvc": "13.5.6" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, "packages/tsconfig": { "name": "@documenso/tsconfig", "version": "0.0.0", @@ -37184,7 +36820,8 @@ "dependencies": { "@documenso/lib": "*", "@hookform/resolvers": "^3.3.0", - "@lingui/react": "^4.11.1", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@radix-ui/react-accordion": "^1.1.1", "@radix-ui/react-alert-dialog": "^1.0.3", "@radix-ui/react-aspect-ratio": "^1.0.2", @@ -37219,12 +36856,12 @@ "framer-motion": "^10.12.8", "lucide-react": "^0.279.0", "luxon": "^3.4.2", - "next": "14.0.3", + "next": "14.2.6", "pdfjs-dist": "3.11.174", - "react": "18.2.0", + "react": "^18", "react-colorful": "^5.6.1", "react-day-picker": "^8.7.1", - "react-dom": "18.2.0", + "react-dom": "^18", "react-hook-form": "^7.45.4", "react-pdf": "7.7.3", "react-rnd": "^10.4.1", @@ -37237,23 +36874,12 @@ "@documenso/tailwind-config": "*", "@documenso/tsconfig": "*", "@types/luxon": "^3.3.2", - "@types/react": "18.2.18", - "@types/react-dom": "18.2.7", - "react": "18.2.0", + "@types/react": "^18", + "@types/react-dom": "^18", + "react": "^18", "typescript": "5.2.2" } }, - "packages/ui/node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "packages/ui/node_modules/react-pdf": { "version": "7.7.3", "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-7.7.3.tgz", diff --git a/package.json b/package.json index 32072a0d6..14162bcc4 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "devDependencies": { "@commitlint/cli": "^17.7.1", "@commitlint/config-conventional": "^17.7.0", - "@lingui/cli": "^4.11.1", + "@lingui/cli": "^4.11.3", "@trigger.dev/cli": "^2.3.18", "dotenv": "^16.3.1", "dotenv-cli": "^7.3.0", @@ -63,22 +63,15 @@ ], "dependencies": { "@documenso/pdf-sign": "^0.1.0", - "@lingui/core": "^4.11.1", - "@lingui/macro": "^4.11.2", + "@lingui/core": "^4.11.3", "inngest-cli": "^0.29.1", "next-runtime-env": "^3.2.0", - "react": "18.2.0" + "react": "^18" }, "overrides": { - "next-auth": { - "next": "14.0.3" - }, - "next-contentlayer": { - "next": "14.0.3" - }, - "react": "18.2.0" + "next": "14.2.6" }, "trigger.dev": { "endpointId": "documenso-app" } -} +} \ No newline at end of file diff --git a/packages/ee/package.json b/packages/ee/package.json index 3ceb5539d..9e72f27c3 100644 --- a/packages/ee/package.json +++ b/packages/ee/package.json @@ -17,9 +17,9 @@ "@documenso/prisma": "*", "luxon": "^3.4.0", "micro": "^10.0.1", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", - "react": "18.2.0", + "react": "^18", "ts-pattern": "^5.0.5", "zod": "^3.22.4" } diff --git a/packages/lib/package.json b/packages/lib/package.json index 03a4e9cc7..1add5b394 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -41,13 +41,13 @@ "luxon": "^3.4.0", "micro": "^10.0.1", "nanoid": "^4.0.2", - "next": "14.0.3", + "next": "14.2.6", "next-auth": "4.24.5", "oslo": "^0.17.0", "pdf-lib": "^1.17.1", "pg": "^8.11.3", "playwright": "1.43.0", - "react": "18.2.0", + "react": "^18", "remeda": "^1.27.1", "sharp": "0.32.6", "stripe": "^12.7.0", diff --git a/packages/ui/package.json b/packages/ui/package.json index c5d406fcd..146238b6f 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -20,15 +20,16 @@ "@documenso/tailwind-config": "*", "@documenso/tsconfig": "*", "@types/luxon": "^3.3.2", - "@types/react": "18.2.18", - "@types/react-dom": "18.2.7", - "react": "18.2.0", + "@types/react": "^18", + "@types/react-dom": "^18", + "react": "^18", "typescript": "5.2.2" }, "dependencies": { "@documenso/lib": "*", "@hookform/resolvers": "^3.3.0", - "@lingui/react": "^4.11.1", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@radix-ui/react-accordion": "^1.1.1", "@radix-ui/react-alert-dialog": "^1.0.3", "@radix-ui/react-aspect-ratio": "^1.0.2", @@ -63,12 +64,12 @@ "framer-motion": "^10.12.8", "lucide-react": "^0.279.0", "luxon": "^3.4.2", - "next": "14.0.3", + "next": "14.2.6", "pdfjs-dist": "3.11.174", - "react": "18.2.0", + "react": "^18", "react-colorful": "^5.6.1", "react-day-picker": "^8.7.1", - "react-dom": "18.2.0", + "react-dom": "^18", "react-hook-form": "^7.45.4", "react-pdf": "7.7.3", "react-rnd": "^10.4.1", @@ -77,4 +78,4 @@ "ts-pattern": "^5.0.5", "zod": "^3.22.4" } -} +} \ No newline at end of file From 210081c5203ad80b9088410963deeb2e3a5915ac Mon Sep 17 00:00:00 2001 From: Ajeet Pratap Singh Date: Tue, 3 Sep 2024 15:46:14 +0530 Subject: [PATCH 04/11] fix: a grammer error (#1316) ## Description In this PR, I've fixed a small grammar error. ## Related Issue Fixes: #1315 ## Changes Made It replaces `"wont"` with `"won't"` and `"Only your signing experience is"` with `"Only your signing experience will be"` ## Checklist - [x] I have tested these changes locally and they work as expected. - [x] I have added/updated tests that prove the effectiveness of these changes. - [x] I have updated the documentation to reflect these changes, if applicable. - [x] I have followed the project's coding style guidelines. - [x] I have addressed the code review feedback from the previous submission, if applicable. ## Summary by CodeRabbit - **Bug Fixes** - Updated text in the Document Share Button for enhanced clarity and grammatical accuracy. --------- Co-authored-by: ajeet <109718740+ajeetcode@users.noreply.github.com> --- packages/ui/components/document/document-share-button.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/ui/components/document/document-share-button.tsx b/packages/ui/components/document/document-share-button.tsx index 59a58b496..bcf888838 100644 --- a/packages/ui/components/document/document-share-button.tsx +++ b/packages/ui/components/document/document-share-button.tsx @@ -142,8 +142,9 @@ export const DocumentShareButton = ({ Share your signing experience! - Don't worry, the document you signed or sent wont be shared; only your signing - experience is. Share your signing card and showcase your signature! + Rest assured, your document is strictly confidential and will never be shared. Only your + signing experience will be highlighted. Share your personalized signing card to showcase + your signature! From 3657050b02945c8c404e9a0b4a96b46498b75780 Mon Sep 17 00:00:00 2001 From: Mythie Date: Wed, 4 Sep 2024 20:28:43 +1000 Subject: [PATCH 05/11] fix: translation related crashes on marketing --- apps/marketing/src/app/(marketing)/[content]/page.tsx | 4 ++++ apps/marketing/src/app/(marketing)/blog/[post]/page.tsx | 4 ++++ apps/marketing/src/app/(marketing)/singleplayer/page.tsx | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/apps/marketing/src/app/(marketing)/[content]/page.tsx b/apps/marketing/src/app/(marketing)/[content]/page.tsx index 72941fbc5..2e8327944 100644 --- a/apps/marketing/src/app/(marketing)/[content]/page.tsx +++ b/apps/marketing/src/app/(marketing)/[content]/page.tsx @@ -5,6 +5,8 @@ import { allDocuments } from 'contentlayer/generated'; import type { MDXComponents } from 'mdx/types'; import { useMDXComponent } from 'next-contentlayer/hooks'; +import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; + export const dynamic = 'force-dynamic'; export const generateMetadata = ({ params }: { params: { content: string } }) => { @@ -29,6 +31,8 @@ const mdxComponents: MDXComponents = { * Will render the document if it exists, otherwise will return a 404. */ export default function ContentPage({ params }: { params: { content: string } }) { + setupI18nSSR(); + const post = allDocuments.find((post) => post._raw.flattenedPath === params.content); if (!post) { diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 3e50f8305..4f99126f3 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -7,6 +7,8 @@ import { ChevronLeft } from 'lucide-react'; import type { MDXComponents } from 'mdx/types'; import { useMDXComponent } from 'next-contentlayer/hooks'; +import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; + import { CallToAction } from '~/components/(marketing)/call-to-action'; export const dynamic = 'force-dynamic'; @@ -47,6 +49,8 @@ const mdxComponents: MDXComponents = { }; export default function BlogPostPage({ params }: { params: { post: string } }) { + setupI18nSSR(); + const post = allBlogPosts.find((post) => post._raw.flattenedPath === `blog/${params.post}`); if (!post) { diff --git a/apps/marketing/src/app/(marketing)/singleplayer/page.tsx b/apps/marketing/src/app/(marketing)/singleplayer/page.tsx index 5e8a07040..1416067e4 100644 --- a/apps/marketing/src/app/(marketing)/singleplayer/page.tsx +++ b/apps/marketing/src/app/(marketing)/singleplayer/page.tsx @@ -1,5 +1,7 @@ import type { Metadata } from 'next'; +import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; + import { SinglePlayerClient } from './client'; export const metadata: Metadata = { @@ -13,5 +15,7 @@ export const dynamic = 'force-dynamic'; // !: the Single Player Mode page. This regression was introduced during // !: the upgrade of Next.js to v13.5.x. export default function SingleplayerPage() { + setupI18nSSR(); + return ; } From a1a8a174bf676e507e9cb48ffa77a77842ee0ab3 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Wed, 4 Sep 2024 23:13:00 +1000 Subject: [PATCH 06/11] feat: embed signing experience (#1322) --- .../documentation/pages/developers/_meta.json | 3 +- .../pages/developers/embedding/index.mdx | 131 +++++ .../pages/developers/embedding/preact.mdx | 77 +++ .../pages/developers/embedding/react.mdx | 77 +++ .../pages/developers/embedding/solid.mdx | 77 +++ .../pages/developers/embedding/svelte.mdx | 79 +++ .../pages/developers/embedding/vue.mdx | 79 +++ .../public/embedding/copy-recipient-token.png | Bin 0 -> 172213 bytes .../public/embedding/enable-direct-link.png | Bin 0 -> 83567 bytes .../public/embedding/team-templates.png | Bin 0 -> 139608 bytes apps/web/package.json | 1 + .../(recipient)/d/[token]/direct-template.tsx | 2 +- .../sign/[token]/signing-page-view.tsx | 1 + apps/web/src/app/embed/authenticate.tsx | 32 ++ apps/web/src/app/embed/base-schema.ts | 5 + apps/web/src/app/embed/client-loading.tsx | 7 + apps/web/src/app/embed/completed.tsx | 33 ++ .../app/embed/direct/[[...url]]/client.tsx | 456 ++++++++++++++++++ .../app/embed/direct/[[...url]]/not-found.tsx | 3 + .../src/app/embed/direct/[[...url]]/page.tsx | 97 ++++ .../src/app/embed/direct/[[...url]]/schema.ts | 20 + apps/web/src/app/embed/document-fields.tsx | 185 +++++++ apps/web/src/app/embed/paywall.tsx | 5 + .../src/app/embed/sign/[[...url]]/client.tsx | 327 +++++++++++++ .../app/embed/sign/[[...url]]/not-found.tsx | 3 + .../src/app/embed/sign/[[...url]]/page.tsx | 95 ++++ .../src/app/embed/sign/[[...url]]/schema.ts | 16 + apps/web/src/components/forms/signin.tsx | 32 +- apps/web/src/middleware.ts | 14 + package-lock.json | 9 + .../lib/client-only/hooks/use-throttle-fn.ts | 60 +++ .../document/get-document-by-token.ts | 2 +- .../get-active-subscriptions-by-user-id.ts | 21 + .../create-document-from-direct-template.ts | 11 +- packages/lib/translations/de/web.js | 2 +- packages/lib/translations/de/web.po | 100 ++-- packages/lib/translations/en/web.js | 2 +- packages/lib/translations/en/web.po | 100 ++-- packages/ui/components/signing-card.tsx | 1 + 39 files changed, 2090 insertions(+), 75 deletions(-) create mode 100644 apps/documentation/pages/developers/embedding/index.mdx create mode 100644 apps/documentation/pages/developers/embedding/preact.mdx create mode 100644 apps/documentation/pages/developers/embedding/react.mdx create mode 100644 apps/documentation/pages/developers/embedding/solid.mdx create mode 100644 apps/documentation/pages/developers/embedding/svelte.mdx create mode 100644 apps/documentation/pages/developers/embedding/vue.mdx create mode 100644 apps/documentation/public/embedding/copy-recipient-token.png create mode 100644 apps/documentation/public/embedding/enable-direct-link.png create mode 100644 apps/documentation/public/embedding/team-templates.png create mode 100644 apps/web/src/app/embed/authenticate.tsx create mode 100644 apps/web/src/app/embed/base-schema.ts create mode 100644 apps/web/src/app/embed/client-loading.tsx create mode 100644 apps/web/src/app/embed/completed.tsx create mode 100644 apps/web/src/app/embed/direct/[[...url]]/client.tsx create mode 100644 apps/web/src/app/embed/direct/[[...url]]/not-found.tsx create mode 100644 apps/web/src/app/embed/direct/[[...url]]/page.tsx create mode 100644 apps/web/src/app/embed/direct/[[...url]]/schema.ts create mode 100644 apps/web/src/app/embed/document-fields.tsx create mode 100644 apps/web/src/app/embed/paywall.tsx create mode 100644 apps/web/src/app/embed/sign/[[...url]]/client.tsx create mode 100644 apps/web/src/app/embed/sign/[[...url]]/not-found.tsx create mode 100644 apps/web/src/app/embed/sign/[[...url]]/page.tsx create mode 100644 apps/web/src/app/embed/sign/[[...url]]/schema.ts create mode 100644 packages/lib/client-only/hooks/use-throttle-fn.ts create mode 100644 packages/lib/server-only/subscription/get-active-subscriptions-by-user-id.ts diff --git a/apps/documentation/pages/developers/_meta.json b/apps/documentation/pages/developers/_meta.json index bb735320f..a9f3c3823 100644 --- a/apps/documentation/pages/developers/_meta.json +++ b/apps/documentation/pages/developers/_meta.json @@ -12,5 +12,6 @@ "title": "API & Integration Guides" }, "public-api": "Public API", + "embedding": "Embedding", "webhooks": "Webhooks" -} +} \ No newline at end of file diff --git a/apps/documentation/pages/developers/embedding/index.mdx b/apps/documentation/pages/developers/embedding/index.mdx new file mode 100644 index 000000000..383c9beb3 --- /dev/null +++ b/apps/documentation/pages/developers/embedding/index.mdx @@ -0,0 +1,131 @@ +--- +title: Get Started +description: Learn how to use embedding to bring signing to your own website or application +--- + +# Embedding + +Our embedding feature lets you integrate our document signing experience into your own application or website. Whether you're building with React, Preact, Vue, Svelte, Solid, or using generalized web components, this guide will help you get started with embedding Documenso. + +## Availability + +Embedding is currently available for all users on a **Teams Plan** and above, as well as **Early Adopter's** within a team (Early Adopters can create a team for free). + +In the future, we will roll out a **Platform Plan** that will offer additional enhancements for embedding, including the option to remove Documenso branding for a more customized experience. + +## How Embedding Works + +Embedding with Documenso allows you to handle document signing in two main ways: + +1. **Using Direct Templates**: Using direct templates you can have an evergreen template that upon completion will create a new document within Documenso. +2. **Using a Signing Token**: A more advanced option for those running rich integrations with Documenso already. Given a recipients signing token you can embed the signing experience in your application rather than direct the recipient to Documenso. + +_For most use-cases we recommend using direct templates, however if you have a need for a more advanced integration, we are happy to help you get started._ + +## Supported Frameworks + +We support embedding across a range of popular JavaScript frameworks, including: + +| Framework | Package | +| --------- | -------------------------------------------------------------------------------- | +| React | [@documenso/embed-react](https://www.npmjs.com/package/@documenso/embed-react) | +| Preact | [@documenso/embed-preact](https://www.npmjs.com/package/@documenso/embed-preact) | +| Vue | [@documenso/embed-vue](https://www.npmjs.com/package/@documenso/embed-vue) | +| Svelte | [@documenso/embed-svelte](https://www.npmjs.com/package/@documenso/embed-svelte) | +| Solid | [@documenso/embed-solid](https://www.npmjs.com/package/@documenso/embed-solid) | + +Additionally, we provide **web components** for more generalized use. However, please note that web components are still in their early stages and haven't been extensively tested. + +## Embedding with Direct Templates + +#### Instructions + +To get started with embedding using a Direct Template we will need the URL segment which is also referred to as the token for the template. + +You can find your URL/Token by performing the following steps: + +1. **Navigate to your team's templates within Documenso** + +![Team Templates](/embedding/team-templates.png) + +2. **Click on the direct link template you want to embed** + +This will copy the URL to your clipboard, e.g. `https://stg-app.documenso.com/d/-WoSwWVT-fYOERS2MI37k` + +**For the above url the token is `-WoSwWVT-fYOERS2MI37k`** + +3. Provide the token to the `EmbedDirectTemplate` component in your frameworks SDK + +```jsx +import { EmbedDirectTemplate } from '@documenso/embed-react'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +--- + +**Converting a regular template to a direct link template** + +If you don't currently have any direct link templates you can easily create one by selecting the "Direct Link" option within the actions dropdown on the templates table. + +This will show a dialog which will ask you to configure which recipient should be used as the direct link signer. + +![Enable Direct Link Template](/embedding/enable-direct-link.png) + +--- + +## Embedding with Signing Tokens + +To embed the signing process for an ordinary document, you’ll need a **document signing token** for the recipient. This token provides the necessary access to load the document and facilitate the signing process securely. + +#### Instructions + +1. Retrieve the signing token for the recipient document you want to embed + +This will typically be done using an API integration where signing tokens are provided as part of the response when creating a document. Alternatively you can manually get a signing link by clicking hovering over a recipients avatar and clicking their email on a document that you own. + +![Copy Recipient Token](/embedding/copy-recipient-token.png) + +With the signing url on our clipboard we can extract the token the same way we did for the direct link template. + +So `https://stg-app.documenso.com/sign/lm7Tp2_yhvFfzdeJQzYQF` will become `lm7Tp2_yhvFfzdeJQzYQF` + +2. Provide the token to the `EmbedSignDocument` component in your frameworks SDK + +```jsx +import { EmbedSignDocument } from '@documenso/embed-react'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +--- + +## Using Embedding in Your Application + +Once you've obtained the appropriate tokens, you can integrate the signing experience into your application. For framework-specific instructions, please refer to the guides provided in our documentation for: + +- [React](/developers/embedding/react) +- [Preact](/developers/embedding/preact) +- [Vue](/developers/embedding/vue) +- [Svelte](/developers/embedding/svelte) +- [Solid](/developers/embedding/solid) + +If you're using **web components**, the integration process is slightly different. Keep in mind that web components are currently less tested but can still provide flexibility for general use cases. + +## Stay Tuned for the Platform Plan + +While embedding is already a powerful tool, we're working on a **Platform Plan** that will introduce even more functionality. This plan will offer: + +- Additional customization options +- The ability to remove Documenso branding +- Additional controls for the signing experience + +More details will be shared as we approach the release. diff --git a/apps/documentation/pages/developers/embedding/preact.mdx b/apps/documentation/pages/developers/embedding/preact.mdx new file mode 100644 index 000000000..808b3aa49 --- /dev/null +++ b/apps/documentation/pages/developers/embedding/preact.mdx @@ -0,0 +1,77 @@ +--- +title: Preact Integration +description: Learn how to use our embedding SDK within your Preact application. +--- + +# Preact Integration + +Our Preact SDK provides a simple way to embed a signing experience within your Preact application. It supports both direct link templates and signing tokens. + +## Installation + +To install the SDK, run the following command: + +```bash +npm install @documenso/embed-preact +``` + +## Usage + +To embed a signing experience, you'll need to provide the token for the document you want to embed. This can be done in a few different ways, depending on your use case. + +### Direct Link Template + +If you have a direct link template, you can simply provide the token for the template to the `EmbedDirectTemplate` component. + +```jsx +import { EmbedDirectTemplate } from '@documenso/embed-preact'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| email | string (optional) | The email the signer that will be used by default for signing | +| lockEmail | boolean (optional) | Whether or not the email field should be locked disallowing modifications | +| externalId | string (optional) | The external ID to be used for the document that will be created upon completion | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | +| onFieldSigned | function (optional) | A callback function that will be called when a field has been signed | +| onFieldUnsigned | function (optional) | A callback function that will be called when a field has been unsigned | + +### Signing Token + +If you have a signing token, you can provide it to the `EmbedSignDocument` component. + +```jsx +import { EmbedSignDocument } from '@documenso/embed-preact'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | diff --git a/apps/documentation/pages/developers/embedding/react.mdx b/apps/documentation/pages/developers/embedding/react.mdx new file mode 100644 index 000000000..7ba19474f --- /dev/null +++ b/apps/documentation/pages/developers/embedding/react.mdx @@ -0,0 +1,77 @@ +--- +title: React Integration +description: Learn how to use our embedding SDK within your React application. +--- + +# React Integration + +Our React SDK provides a simple way to embed a signing experience within your React application. It supports both direct link templates and signing tokens. + +## Installation + +To install the SDK, run the following command: + +```bash +npm install @documenso/embed-react +``` + +## Usage + +To embed a signing experience, you'll need to provide the token for the document you want to embed. This can be done in a few different ways, depending on your use case. + +### Direct Link Template + +If you have a direct link template, you can simply provide the token for the template to the `EmbedDirectTemplate` component. + +```jsx +import { EmbedDirectTemplate } from '@documenso/embed-react'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| email | string (optional) | The email the signer that will be used by default for signing | +| lockEmail | boolean (optional) | Whether or not the email field should be locked disallowing modifications | +| externalId | string (optional) | The external ID to be used for the document that will be created upon completion | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | +| onFieldSigned | function (optional) | A callback function that will be called when a field has been signed | +| onFieldUnsigned | function (optional) | A callback function that will be called when a field has been unsigned | + +### Signing Token + +If you have a signing token, you can provide it to the `EmbedSignDocument` component. + +```jsx +import { EmbedSignDocument } from '@documenso/embed-react'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | diff --git a/apps/documentation/pages/developers/embedding/solid.mdx b/apps/documentation/pages/developers/embedding/solid.mdx new file mode 100644 index 000000000..7feab2034 --- /dev/null +++ b/apps/documentation/pages/developers/embedding/solid.mdx @@ -0,0 +1,77 @@ +--- +title: Solid.js Integration +description: Learn how to use our embedding SDK within your Solid.js application. +--- + +# Solid.js Integration + +Our Solid.js SDK provides a simple way to embed a signing experience within your Solid.js application. It supports both direct link templates and signing tokens. + +## Installation + +To install the SDK, run the following command: + +```bash +npm install @documenso/embed-solid +``` + +## Usage + +To embed a signing experience, you'll need to provide the token for the document you want to embed. This can be done in a few different ways, depending on your use case. + +### Direct Link Template + +If you have a direct link template, you can simply provide the token for the template to the `EmbedDirectTemplate` component. + +```jsx +import { EmbedDirectTemplate } from '@documenso/embed-solid'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| email | string (optional) | The email the signer that will be used by default for signing | +| lockEmail | boolean (optional) | Whether or not the email field should be locked disallowing modifications | +| externalId | string (optional) | The external ID to be used for the document that will be created upon completion | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | +| onFieldSigned | function (optional) | A callback function that will be called when a field has been signed | +| onFieldUnsigned | function (optional) | A callback function that will be called when a field has been unsigned | + +### Signing Token + +If you have a signing token, you can provide it to the `EmbedSignDocument` component. + +```jsx +import { EmbedSignDocument } from '@documenso/embed-solid'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | diff --git a/apps/documentation/pages/developers/embedding/svelte.mdx b/apps/documentation/pages/developers/embedding/svelte.mdx new file mode 100644 index 000000000..d6a9abcf6 --- /dev/null +++ b/apps/documentation/pages/developers/embedding/svelte.mdx @@ -0,0 +1,79 @@ +--- +title: Svelte Integration +description: Learn how to use our embedding SDK within your Svelte application. +--- + +# Svelte Integration + +Our Svelte SDK provides a simple way to embed a signing experience within your Svelte application. It supports both direct link templates and signing tokens. + +## Installation + +To install the SDK, run the following command: + +```bash +npm install @documenso/embed-svelte +``` + +## Usage + +To embed a signing experience, you'll need to provide the token for the document you want to embed. This can be done in a few different ways, depending on your use case. + +### Direct Link Template + +If you have a direct link template, you can simply provide the token for the template to the `EmbedDirectTemplate` component. + +```html + + + +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| email | string (optional) | The email the signer that will be used by default for signing | +| lockEmail | boolean (optional) | Whether or not the email field should be locked disallowing modifications | +| externalId | string (optional) | The external ID to be used for the document that will be created upon completion | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | +| onFieldSigned | function (optional) | A callback function that will be called when a field has been signed | +| onFieldUnsigned | function (optional) | A callback function that will be called when a field has been unsigned | + +### Signing Token + +If you have a signing token, you can provide it to the `EmbedSignDocument` component. + +```jsx +import { EmbedSignDocument } from '@documenso/embed-svelte'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | diff --git a/apps/documentation/pages/developers/embedding/vue.mdx b/apps/documentation/pages/developers/embedding/vue.mdx new file mode 100644 index 000000000..588de28b0 --- /dev/null +++ b/apps/documentation/pages/developers/embedding/vue.mdx @@ -0,0 +1,79 @@ +--- +title: Vue Integration +description: Learn how to use our embedding SDK within your Vue application. +--- + +# Vue Integration + +Our Vue SDK provides a simple way to embed a signing experience within your Vue application. It supports both direct link templates and signing tokens. + +## Installation + +To install the SDK, run the following command: + +```bash +npm install @documenso/embed-vue +``` + +## Usage + +To embed a signing experience, you'll need to provide the token for the document you want to embed. This can be done in a few different ways, depending on your use case. + +### Direct Link Template + +If you have a direct link template, you can simply provide the token for the template to the `EmbedDirectTemplate` component. + +```html + + + +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| email | string (optional) | The email the signer that will be used by default for signing | +| lockEmail | boolean (optional) | Whether or not the email field should be locked disallowing modifications | +| externalId | string (optional) | The external ID to be used for the document that will be created upon completion | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | +| onFieldSigned | function (optional) | A callback function that will be called when a field has been signed | +| onFieldUnsigned | function (optional) | A callback function that will be called when a field has been unsigned | + +### Signing Token + +If you have a signing token, you can provide it to the `EmbedSignDocument` component. + +```jsx +import { EmbedSignDocument } from '@documenso/embed-vue'; + +const MyEmbeddingComponent = () => { + const token = 'YOUR_TOKEN_HERE'; // Replace with the actual token + + return ; +}; +``` + +#### Props + +| Prop | Type | Description | +| ------------------- | ------------------- | ------------------------------------------------------------------------------------------ | +| token | string | The token for the document you want to embed | +| host | string (optional) | The host to be used for the signing experience, relevant for self-hosters | +| name | string (optional) | The name the signer that will be used by default for signing | +| lockName | boolean (optional) | Whether or not the name field should be locked disallowing modifications | +| onDocumentReady | function (optional) | A callback function that will be called when the document is loaded and ready to be signed | +| onDocumentCompleted | function (optional) | A callback function that will be called when the document has been completed | +| onDocumentError | function (optional) | A callback function that will be called when an error occurs with the document | diff --git a/apps/documentation/public/embedding/copy-recipient-token.png b/apps/documentation/public/embedding/copy-recipient-token.png new file mode 100644 index 0000000000000000000000000000000000000000..fde239b8370a528fd98f8d3dd22070546f53dec2 GIT binary patch literal 172213 zcmeFZcT`hNw?B?3q9CA15fHE;(gmb91rZ@qr1u~gkQRDxq7TvpR3JzfA@m-4M@s0u zw}|u(0s#^dz9&A9_r1S+@8b2}-&!wgg>!PwoS8W@d-ne9&)$<@H5CO4GDb2YA|eXK zr;pW%h%Ryy5uKI2a2~i~j=C&JM082UQcg}yQBLlLnxmb$r459L=xK1Y4ymq2J6)2& zrwl^y>6>SP-%xoOV-VRY* zetm}X{`q?`F?{Co3V~-|yG~N z&d=sg#6&>?Gu}%6y6;|`ouK}FqnR8cs^QNC5jFBZ=1gy{rqMge z)DJNig@!OUT&Z^gZV?SJT*l5XDF2X4IA27ucSVkS&?5chOXQJA_ufrqUJ<7YT#L6v zqKRJAiN;85oNyyg%4!T(OfGSaW$JzUpgW%MVj8;ej4bj6XLIe>y|#Nnr8n?5<~wmW zpK$06d^i^%W7XDa(G+*aC@Ar8>h=8~ikplzj$jVNiSWoYK4lq=@CI6Sb}qZd8vrT%A>et0P49&1d2w`IP(o z)TTl~%)3rMzC}r!g%po{d@D_Dnak}*9%M%H)xN=n8gLE9{R}yw)w}L zJNP%bhnMAj3bk2ul4KIdUG;95vRzue@DurtswaT&!UfGP<~6z?>K{?!tj#3&qL3m{ z`2?oCJ!JQ}%0_{iOQtc$-$WO5C5wo7p9V-L-Q*1l*O?Edhd9Zl(jI;9d?;%2mZ*V9 zeQcod&IgLWHfkwqx0U*@o~w9BEZ|QhdM~!|isDa}E0V4Lx3<|I6Mv9-&;y>~A`19$ zBHqjyPI*Ia#^4_7$FoVY38dd1^47pQ6oTJG;+q za)DW;C*s#WrbsUC;7CyE3*<}pS1wW?3-TLZ75(&f{1U#+x^sRjH}}(#ijazw z3Yf-+oWuL`#&rX`f_C0y`6M zu3Wh#Z+>IRY=N< zSCZl^-H+K*<(IvkFILgz$-1TPFDvfd@?_q44E}<<)}YC6)J5ae@c9~3=r{GkOV8eP ze^V-Q%q7cdiTmzT7vf@CJEo8jH0W@ClSs$@LelHq?e;@%Z~i(KRPg9r-l5j<&6z;I z+kF?_o%4Fb?k{%@)OP3D&8W*A7bh}9(n9`$bI)JB6u)3G?*#K zrTJ4kr$4j?$>X zD6c4y?CfmwY?f^PY}sM4Y-_E9>?94JOw7k@`O?(ltSn6qmy0f>`{(wB_bI}jAif^; ztG^;CVJoqk;Fvf&K`K-gm&&LRRv>JUC!1%y5i$XCDXxNxgM8k2e)O!woY@Dh)-t}N z;G!ryuVVʃf0ES?b;=iL1~?s=R?T&R$nWzy*S$Sq4fOA@P{(nV|AVR88W=kWgS z6&vvg>4>^8-?$mL@=)2x;wua57|X4G=;-EP|A0fk;!te1MvBw33=R6h(t(BL#Z}(n z=>jjggTec$FLGbJc@g?`Z4N=C}xILkP3#-&yja|!nlcOAEYp}-ta*q@bn zd+ja9c_s=Kraj70mQA4qks9Yi{H)uh=W-HFx=kzZ3@9cqVZ+{sy$Nf6vi4quVV`l0 z5zAn~R3IP?oidXZ+2Owumn&c??9tQrqVQVf`_lK?Pm;4zEQ7L!oI@?ES1bgr5$6!5 z2yp~Q_lEnSR~K4zb*F!@8`0oYzXUd>G!`?iuBk%mMqGJ6F1%P&9xF2H z73!8j)x_Ryfl$pT$l@CP9FT*->Et40aJc(~$AMKwhB?1CZd;f*%#dxDvFGx^4Z+&#C0FUvmFZTtBl{`zgo2#xL)au=#Zh6%tmu1FyoS^>H2zQidXoFTg5HvWBg7_%_<2HR^z(z%yi|4t*5I41kCB?ql3~oW z61UMd*QKDQQ~4EcJNO;Y+}7Q(J5R6bQx9L&xSDen#ZGc3@9FAw3CH!WBKk;*PXX;= z9BEO_Q5zh%IbviU%V_j!ocN5K#AQ3f#?pJHHcx@l}3S4vd`k{-CI2aXvV-r7u97xUPkmsb4z(o6c2 zjC6g`LneG%xuR`a{Zm#t42?F8@8?gV3k{mxSzohk2iMbi;?TMGGMCF&4xMNAU<~Pk zi#_h5kwQ+L+%L5;xv=p?#8U5O+*L`7CBu%Xgvxq)3EF~tz7l+v#)ICeM^1|}c(%is zIONp3ER^bLR$X*Osr}lZ zZSZ6dzV$fIv$_#oya9F#a&_K(KRvF$VQf^}X+Ju^Sn@=F5Fz1mupo8Di_x0ds(ff= zBzl9y3+|P?1)6j-^Bcp%&UT$GCFP;gX8Fp>nWwOtF?=BOQpj2Ou88Y(N~x)V`C;ef zpt+CC3d#}M*9XPQ_CyyBkLS*I%Xj10o7p{8&6B*R1d0|mvx+kEOIu6Ik|`y8HlOvy zYFOx5#P@n6OL)%g9?z0@kyFr5^Ny5PmN8?d_YdSYpd0%!Q+z_k=!&T!{`9#+S`-(1 z!FfX|r!c3DANy@<%p%m#sj65{#4g>5_QA%~WWgrQ%#pWSkJPu?0W9M|C+juoOiU9x zqDrN_$BgPMOPN%Nm-7Mt)=ntydlk>f_^y)~C;xgVn%Nw69+=678@MF-v)7Qfv;-W0hjB z%u1U$4UO*AIB(lMD_T0fxs}}eFnyKSSNeq9)74vocHs>R;8BD?bQR5&m5Dfk^9w}h z&M*>@0B2`_kMtR)|2lti<{r`6U)PC=hypE%&izwH1vnD^J^&xWGk+h?etJhl3Vfpm zKJH(Lf0w?<{pIZM^Ru$RJ)%b%a*B$;QNzp;0)aZcvUAoNO=|}(T(p0x=R`zA$42;^ zQB=RP4b(qssj2I%tNcvd%+8kg#Y;O=2(P=XJ)s^VNq2GJ)E46W;)c7e4b(~8UFz1a z65_x);WFQ?8^4M;TT9*2RaUzpXXgmHA$uvKu#UNIJeW7gvA$(ozM0`|JzXfJdvM$P5S-h?s)iK*$w5(QJnI0 zA9#&CuYRB$sMb8QQcG`nOa9|s<%e-Ja6Y4l=U#lQb0#UvSQlaU^|x_!0=XV6s-UHk zk2bqv1qCf;1Vylti%ViYcVDv65TCnn`NqT7L}yMv(R}nJqCuTDYWmH;EBUK7f9*5= zY<$H3rqX{J*1CFGH=D7P>B=AUz{+woc+VW zP=08VWiRbs0p3%hi5;p zzVc@iLJXSuvx4Wc@7^fX6tWVz_3tGJ=;=d~c8NbK`1;}SxpT1WCmT=xY(g$@dyt+! z0>7KhjCUvJ?AjUWs7trdUkg#RfI1WebUNkCSuuQQIHld%a2l|MGq0MR|goIF-%SfaBY zU?=C>x6KTFhp8I5A9+E8p9lFT@W=Bl0DkCGKi^X9)_Z8_O{b=mJbZ6o&pr!GXQGt+ z4K#e&jp`4uvcDDi1#Xwis-W61I~!=CVpda1_GWr)3}!#C7xw9@Q8s5y{GVX?XU_pt zda`8O1M_AQspA;1;EBdmN%z--<STEcC_A3PM0HJU2NmxDbN1CW%bA; z`w}-WN6nudluN&(Hl#1Dqb^hIyG%=?g8vA=ddiw)lW{{LIa?}hj>=opVM&Ea>jyT8 zwj2g`^Lt;`7n4)}!Mj}kEI_QGY?8%ha27iBxs@YztVxGive0fw?{fcql z`G1M{|6B%YImET%g%9eo#9G7b^0lxW0|j{8YARR`M^jlA`e!4c>2J)W8^_qBWXt!q zPd)xG)jttu{j1B-{_reIhKhXSd!0=#Y^h2Avv2=L|G%)4cp8~xRaUY+iLhQ(9E__x z_=2Z+4hHK8;`*=rLAz&&YdH&t1YXF#XB>Q`IeGCC%b3V2X3tW`EbmV2rzsN6yM5NgATy+hJfMyssxr|fo0DqvXE8!U zdxPOjGSct5aBs8s9O5j`Bhi!4D+YFz&$)}YWwk0Z;{T-jW7RJ@=U{Ph2BuvVcg^%4 zo0y!udzD$hHSpDfN=vYC2(K8UYco6cqMFBSE^H)tB_qBJcXRSjmYBxF8wdXIi{twC zw~@MJ`3Y`jasJ~2_Ci&{hN>j6iE3uAJwDT9DYuZSstF3$(yanpU;>Y^d2Vx&s?t1U z{O;Q~5bdqN09eQjN5<~>b3Q$Z}hz- zX0of(kUU;4{3LaF+@zya)_MD&mc)@+ zmoYIQIu6nINxkl&51lq+Q~=B>Z%ExFt9$X=u1bilZB>;w`nm z?jiInh$AzK7^Jj7%uyKi22`qP#a|fZoqyadR@8sqdXzf44iJp*)_@@>;IKJWMn2s3 zpE?ig${)g&=h9i|W#1_*!B}y*9&Ia!h3(*jB1{jr%d2cO+Wjrl8Lq2JJ6d${zbsQy z8H52NsC5Nkn8*;P3*r4(5=RDItJwQDpM>#O52V$Qza>S7RY{i$cB-@a!+T}C;kgQ| zLRQY+dpj9B=*g|t?(!Mh(HVPdy(Jf$lAj@RbBj#85f}_6Jdj{~z9^8KgLy`wx=%GC z%jpk!&;DLgBCO+GoZ<9T;<7M^kN(kgwa08(9u z7-V~PW@zX-d!natg4^tZtro;b`nVylX!#a-^sqL8LerE3STDwo%}4)|n*Y5T8s_QR z0Iir+$=3SbI&O+mV`2Y1+AatHDsk>;tMjl4mcwv~tx#rHsV}zW^A`Gyn`QC&+~ZJn z#yf#jGRLCQ*LI%2Z}VkjWHcoxuIo-+EQlTfr!ufX=Kx$U=ZW{>bMNg&g`FMtWcd?3 z&a`SJz1z2r)~Sd8j(My{tKzIZ^zL@+wjZ+I_{43^YiE4vBzW8+o{di596PaO2)B!Wwe&#d4VtQ1yxuDU(ShW2>X)# zrVjr1z!I)F(*M^A6<8tO*VDCBqtnk07`W;W-`jfd8yj`5gne{b9wGIMj0 zuyNYW^9u*F_$c*zrM>m5*%T={G)3`Es#70i_l*(u=`klcXT4FO)fz>a&({<$`S^P%vpm5Q`BGY3= zB!?0HXm!nDcnkU-ne2U+T)kHNr)y4rv21SD&!0t@Y%Ud8Z10T60Z!LxIvG~8g;1Sg z8hj>Lp;3+9JTWkIZr9o|L`%TO4ourwx#PkPMvD3|*0eP$8RRE^Emxb8!kFF0>j!7m z>jfuN?$NPGn$%C5_D+}CS?i;h4D9Ne{BV<3KPKUluq>QwHG8~ywTqlZKb1O>N;3Lo zx84>*znspoR$gw?GHG|Tk331tj)u&7au!BCR+XCjCW^}q?f9lV`(g9=Mg3e07>~3D z-q9|IE5E94E~WTD-6rtB8HJSiP*0F3_TwHWtwu>l7mrkk4rg#x7t;1NO z7qZH_fNp<(I-Y~GJ1E+`l~e0U&93a;)@Xqy;ti6oZr#mczCeY?J=bR;8CoYmZg|NS zJZxDFOq6e%w8JtV8iSd7>An2|S>98;?*a)9qbT0)WMF5dMf8X}HNvhI>-j=)gVPSp z&)F3!&%~hVm2eV=4N}$2#MXX!=t)cMBpTPs^`9tYQv{{8U*^{h8e?(bzG=V$ENi(2 z9j5Wr3O+1i3D&a5c8?|{yfV*W50s)uCOW%b@>;EYvk|Jr;@Fqu(DukHdI7Uk%^I}f zI#E8hP~~HD;^P`-7A~H-zB`Cu@tI=S=|cGNVH0F22Db{Eiru(KD$Y~pPBS3L_KlcN zT}hF5Kjbv1J9YkbO{&acAZcv;>cvZpeIl!CcWp=FgL%ig6O%4+hjqff>GP9wUSh>- zx6kkujeXnc14B8-^K;IFeS`$iV%wR;vLZ%CscN_xuT2`{bq_VY#z5I6H?0`h?MY8; zZD;YyDkJmSQnKHS=q>V6v)k~x=k63xKvq{{2=RWh0rI?R2drT*m7p6o=E`)gl~XbDl#YS`#{T5 zGBpCyxu~VzLBU;%?=S=NS-W=aShSMR8$DmiyK9vUi>o;vK$tGZhVUiplKaCSG)?r6 zV?CCP4pjFpMOH=5Oq2IWag6AjMJv`u?Vf6^+JYbE6NBa$sH5~6o5109*ik#q7j%@;KLwR?G>wMso9JxD_+=us@ z_6D^)ts2n>GKWvsYbGDb$CPuro5n^@+EvRZ_+a>->*(k#GF++UFD$|4PquQf;{|w+ zy0<#@L-Ma_lldDR#XHqO1zgw1#vDe^8d&gSsvN0>2e|e8D%Yy6-8UI9Z>q%31nSq5 zNA^YYsw&UMpo|=RFB!RJ@lMi+t3gdxN@G}p^~_^AIue6(`f9~T;L;}xn@k}+Q6q!? z@Oi`vtlHW7U4D4)S^Zhq3=0IT3tr5bpC;XC#C8vKF2H9 zc4m=z(+m$@eIK1xLbP7$fR!JOl&1%8nIqcMAa+)zdn<$N=?r7#$m&s`<#UC{9ZXTQ zcg277`5+((=-jq-J1UtglN&WC8uF787juGAw)Q(%JDiavFVWIEj;%AJH};04jhm%A zk2@VO|45so3KblV z^}6Bp5?p_Nq)m=ddAg+?_i=gbYR~G(QFKDoH?Me`66knF6qBy!LO^}1MsLjrl19pV z*olP)hQ7-K4p<%?7qK;6)$_0g4D zHX@ablJ;9+Mf235FqcZlv!L>s!$}UbkM!(kxm!G2x|w^LCM%tM^&#>x`n8-d;AKm` z+jTOnRCM4p+fnvY^-!(a4H17h%*H(Y`S>LO98ZwK7Gu473aW)&*DJ0Gd3HVa`>u@O z%`3u$@Y@QnspmyE0_9xBpMj+GtZo+WeG5Ga8Xlea%Kc7N#=SBZ-i61u#PIJatSR?H zqR3oCc>-OKJUR+;a*$4(R`CPl6s&9c=I2z(5Zu9d>HG>HBbq-`s{6lx-Bk^~swyTz zKwly~ygnWJ*16Q9U=6+PO!k?)lA(zvswqZ9H;@1v$SG3zOC$YqEIg-ew}0+ZwOp4o zUvu^ZJgFY>g8|W%pTepn%gk4()&vwA z3>|B)dzep-w&*{;VZE&o&gr3oJg+L_>(+IW=pnAH zTEbWO;0p52Mq2FWDnS)n5oLsEw=_1_wpw0hu)6doV|?rOtR1cGDBgr@1HdI@{JoN> za0c_wywXSWh{FSetyZZ6Db45gBD#Kg6_}q+li;fFu9g1qH|(md9g*QOlISU0tcs5J z>dKPY)>(1B7M*-cvNJAP=;I?a0ZO@uC)D+VxDij}XS_Cw%yMJ9>xAww)zkFhM48G7 zc(r`WRcB2#Bi{M>PJC!@P`B`rBE5pvsSM5sH~*<~uvQTvWW`Rm(1H@&&8>XXvTx=Ov8(1zurdOSznN$nOLq~f-LfPJ75 znr|W<*GO|i?D%`FSq5`i2o2O4ER8*uacC?k2-*cu6ndDgoVDGYL+|BmfKnNVB3yKJ zzGCmEb%#|vBV0`@j=>VQKhj2QceQu^!Etx_ZJv{8S+WIKw}_DpZ}sxt*Y1pW4eDg8 z>-AgtMYF0SR*4Lmm6c)u@_Ty?J>=v7m_TQ)nvr)^J^DE2siVPNPAU>F{vC0x8~ zq61z->v!u$cC4&*dMtDr<7Ah90gAQI0&eF_4I{FV>ke(wMUT+OK3HLAas05(?YTH> zyKs%-1*T34L%1G{&M58hz(k!G6c4R2wy9lcE&Bcj6&!1xaC7Fw&dI%8K4pLO*v0i!rMfIdTzQc@j2T4}rpzP6239fQ za1rh1{ki1D^8Vs@u`5SZ@uq&x$dJ<>Kp~&OiIbkq9&gvb$j$6@9P7|1uM_3HXK>;! zpIbcOXjBGzR4N~1Sh{ZC&N%-5P7FjahVl~4PsrZmZ~4dhC3yd2WGVl zQY$iewS3C^ZN>bz!MoX9CA+KEcFkltHoD7d8C82y6+cCm9>4*YY(BFjy#?4Q%EGmX!yH#NfZ}KUFT0u!1|QDJmjO1aBX6c<@r=IRneR~@?=(N z4Nr6yQtGAY;%)bL^C?v|>*uNH!Y1wNvU5K?5qD??h>!05vJk4`UdN8mUg^uIB&VnS z>Fmj_z6l;ZY``2aA0PF|gbu1~);!Rf+zC&PkU4smTfc*5&LQ7S_U(9Hw5BpiBMIa5 zax$^pAJ%@)bYidA-lyOO)4`69#J74_FoS{Mu8 zeG?h8s$e+}VvoA0*%TFFTYTX9ZY6_j=-KH|UyQy@*~Ajy!(X+V-^+%pE1Imtu2Yq) zM66}ymbP~APnV#wV->R22HDS3txu-nvZ5OXN=2p^vFl**_fEfY3<%*I=A5U_)?KlG ztZ`7vds{2p7CRT+73BP*D6rMoYkdsA7hGnbuWz~o_cPQcvN}oumG_JdIb5s==G8S> zD%UZh54`Rx>wo*IPF~HAzKV_X{20o$Zh!cwu_wS>K+=OBRgHlJb@C96y;Y*(4*PwO zm=FnQr8v2wN{tPwIj?TKdM91NG{T1xoBlO4kA~X=I#z3R9S3%a(}EVkwfT;q@U6zd zi0R>~bH@GTbfWIF@;a>r#qgg>(UGd6x6p@2u13N+cM79065Qk~m)c=lT;&87a?E`< z-_N3?UL|YG23w{fP+0N{fEHtxr|G%K;^6pXah+#> zG~isha%_=LytWQHD>hpv#kJigR6Dh$ewvKVW+{E+bHlB~=|W$5^p4cswtN>0xJ6mZ zT~b*9fGi~VlDMp^wg)2(>TzdQ-Z-fwEbD^!0as9@3pQh>sFfkrHwU1RwJI?O6OrCnD&vKu9K5$tz5x_shvPw zbRdY%`p30XA=A0L)PQKOQ2bn`BMNEv%sMg!ma49L?s`>1ZCQH|(lulj-5MQY~cir-VS=}jDr>dkYP}@*Oyr_l(s2eEH?DVY(~C7Ed85!x@w=(um+Rh# zI}R;cqcJtDgjmN?l80ftYYSs;^=ujcde#ZaY)C1W@Y`;6xzX_Q89d4{pe6tL$}=hE zg8dz2a%;{BBTFcEjY$jWd#O=Q`FU6fNykJ|EuchA`FKiovb}%eLC;sHePza9Rdbsh z*<^tfvKj`c{7Q@obVUDJRNPVKa{GzjHo-ZJx2XiRryt;ss&vg)*vQJbL<*yNR7Y1- zINXF0O5gl}k#RnX9&Jrgh!WWyz7aFPfp z0ypE(>qA8=Ia2pigg*I7ysi4oCB=w2Gw*!u82jqK|sCs2o>E2Pd=!Z!^p9MW%w zI%o4~?i^TbMpV{GDWu40<*eoT!#BI`JJ0iHw6w$+8x2VZJT>+@>i=p>#?0-uQf%rE zcSPlt?CFsasVH%{F|_9J$%qI8;QCED!CzTvU29p0NzmJ7gmY@V+VTo5FwEA={aXzW z2x`E|mD?KzZbwjrh6zt*z4Vh19`hdDH?X*5VAU>fR_C#lFM5A;#}j?3qFeU)rRW$3 zukq+re1$1h3UUjHls6}D*6_u}$EW(8_!3ZRE*u$D#a;Bk-DDQ>DSNozVGfD>Q0b>O zvLSu49bG)(lF{!$Z_I*Bba!pn2n`6+*7u2gIvc3I&|<+FWY;T}riu899QAHYS5G!}lQ*M9?wV9Fr@u>`Y8W_6 z1wnA(mi!Q0K5lpqgOgVVAS!h*nEowBWbajs6*TY+%62@?w>&yh+xFj+506kI^dW>cfvT#uMW4XP}d|!eJzf z$p!9a3a7o;`q9=OZa3C>@nhQkHfuf^Ot&HgYFj-g?Jz1u1+&5Jc=5^0(br3K_>?Qnyc7@~ zBe+<{2-SP;@_@U|ofmCZ>^Dd$@iVPraU#AN`hX!k?f!UD^+w-RRYg0uOWCt1ET?e<*P{f+5?P;jsGfoX2#j5dVdTlfcSe}-zZ zifv&1k?XO2fQ!ViTkf?up0~~i8>7y-n<(aH}*cUJS79TQVbf$Q|Rs`jYt62X!`2Xp;Q*S+ubuM<$ zPTcUNH4xII6%#+Av^_v{S0`|ET>?dmi9k9_q|wcT4nP30mDR4!sW>oZU~6ozTKm+j znJ;c+^PGhb1ma(CkjO^0vwtvu8+SMUMOFq#l@#_)YTu9mL?HZ<*!fz1RE-gzPRUST z>0DkpipL}GV8&bcJOp8{taP-LQ-B1>ugrNig1IDcQ4*zClV*jYTYr-!UQ@G~7 zp@iC0uQC_vVz%fP4TYfi#(< z44JR=Tujg^GXel^i7R2L-bm*%Tc8akHC8g3Uqzv=k+L}2WSRF5e}c|2F`1z&JIK#H z3xBQE9u9k@1|`bW%*-9Lr4&2<>u^J>1u2@yS4gw-ORvbyqFCoz!$NQFa_haX+8?_T zxXBcFy~Lv3RinzkVPKvXzrK6Y9LiTm-TU%PI_U{UH%;vo9P+m-Bau5WSi*kliXzszghNq5S9 zkXe2*?QI})jay8oMzrM72@@g2;xM^!5M^U*!%$sGfA~VLQ*7FE&dw}4I)=}qAfGYK zWNdP)h7}cSmjqaVdudwVI!x;a z#+sLRMGDSzfm>N`R#h4&iFY5|a2P6D;Nz(zM6Wi=4TT^Qi>s$9)4d=R^VZC4?L9zSUt(HNk1>g3&ht83NXVp=3$&$`>QyOEib!{t#4zV2#h=&?`1Hks(L zT41`wTn#X zHJN`BG8{%aXF?re-M>@`dQH^@>-N$msm*Hu=`6_b?^LaevG1{aGrpvYe)?!#Y*mhGaFl$8*Y^aYt;^PffC% zO;!MtW}Qf4^VOfDFtQcbuCTf8`hB?$dqQVmTWyiH#*J-aGmC}OMX2%wP}iaRDydL&B; zqR)-QB(4Hk%dzjc)l~-XS!h=m^QN7ix*)^`jO8cD>|GRAgR8R<&Yt}QNNaJzd-vjY z;yX_+`}wUzhur8D-CrJqAb-Y$bGezv4h4gmJxs0_ZuNFL=F#xnR}TcaQmwL1$HR(FiH7f7r)omN$1FTI+^f2HI70}@xrJvVU%aN z`*w-~`2`h2Elyn#hc!EN9meVq}IAi_m~Con^u`p}=l^sM1}7KxSH%GH^;W0{jMlDc|XdIk1;yiKzVC#AEB zH;LD&%5LZ@Arl)O^Ns0-ZiFI~v-OMC_OJLYNd zx&dnYX%6eWA|=BEY$zut^$5x8$A~iUUMRM6oAqFC5tf-w%SBtdX72LV)Z~^Sx+KkN zeje1jFbuq^ZcB8VW(8C`coN#)OS)Oh4>L6F|Fi*Mbu*;VK}7YY2Oy6;b>%ngL9M3B^D6M1`qP#Cz?7|U|yU}|)~OC>;sPM4Ff(0NYTt(gVu z%q(kd=hd8oZRMjJt6h(Mt=_l(;kHT;fr-IE$e=M8-g%)y=Y~dP^H%~X|q z(VEUwFj|+rjP9vsrXi61{lY8X2|*6Oiq&t|MC~88m)TPENN*L3?nF6Fx>g@Q6YP_+ z?+r6zIekB+|1sITK;h7*?)!pP&&+&>t-mb&oyq58^@aUpO%_Pzqq(t~O<lGGVg!rD;RiAW*5Eap*gyJTd zmH9zcF;3TM%lP1YjaTeP1y!x)knT4_uK50X$s4XHm+ET|UYQsSKTh`Znr|09Zj0=w zGmpEt6kI=jg@Pi$qQSEIu!;%F)Rg3zZ(E+*3uY+;=N29dNE^(de#2_QGL)}A#yqeZ2+943QAi$GD4k&a?LEB$L*h^O{BM2eY)~&|l`7+p zGZ-LtP=XWhyZD&)y&mX%spUDXXbDy{u~gsGSg9NZJ2}vhKc%fUCbQx$AHeK9qWhAa zmL@ac=a)hPr1xcnoxx#|5?ghw90|{RY}hxpB4M`G3#}-al!0;;GTRzDf~RIHAIues zw<~+pC4-XumEi1mf`zQT*H)Fn$r4~6Tdy7Jdj~4vDwA!YD>nPhq@{2o&H1&JTZNj& zCLCddzsaAkHw_3pLWY424FH5TuYC%z1=yQ8lwR9<825Y8^_8W$Rg{kKZV%vUGOqY+ zWCL=&*YGx?m2T3Rxq0=lhQsgys>TTkgqq#=OGR!;9Sp}LGv(xAQiJ2tQD95G3Z)KT zuPy3Hn^MIt!GnZ;8SHelQXI(|q8ESlKx*6G(7m4)LV9hm(ht|!O-P|rjXympu=d%F zazG-ql~UN?j{bxrT%WV_nl7ivLyfMT_7}Y^o=mm|x$QJ!F!Ohw$9Cn&@}=wQ{rkOQ zC&e~&83Q08E$4m##)67(#SW9oI#IOw+0K=<0#KRfkpQ`?HF8OX7_>kNqu%aECSIwp zJM0L~%_(&Pvcy7~sKzsvH-0kedIFw{X**<;6JrCXWN~ReArmuB#unFN=+|d@D6Z?eu5E)lspd!jF889 zh>KoA67Tlvh}ruKhD+?Mi*9}EB)=Z(s6`L9w-T1F9{&Ga?{_C6sBLS2YV6=$@;2eVJ}>*ZWPv?AI0(oAcTONd4~jt)qeh0eGMUop+YQR z+mFESL;U?)03uMsb+7OJ4ud>ybk@S-;n9Ne&x+z}PZ|S@hReLlcxknAr{_h5PmXt6 zr^~@t1$&3~)r|r+BV`$X`9J*YU<{*J)`9Hfa6*!4yTy9;BS$6BA}!}a6^(d#waX|D z|5ewkTdUfuYWGwq+vfi;|17B8?U&`VYCq%B>sIu4!gJp)Ge_TB{R`ZQZX-KI)4jrc zebtHuara-y5~2YP>lZDQF)bm6v)P@!VHBguB?~D73kqS3%-HMpFOOHky+WsK2PnIN zr0HnSr8nr~d?8dW{kWqeDgvN55g#E^`{wY*Cd`;AT2$fG4?oH{s~CpiWN z1%WDD%8%!c0!^RNqgn{TWSgS>UiL}1JY7~h+#GFDhf*i)zYF8k{@R+rO-g+m`F@K; zj(>smMVvqGt77nyrAnaHzIH{f)BV%R~osivvcFKH7Oxqzr>j?3U~S8Tc!VcSKAjbuE_&Me!Uz+O zLc(LfgNcLe;_N&NC7`mu#(5=dnFYH=n;s+Yj;iRpZu|fh0J-K>exLX%M;LROZ<1~h zVpWHCz&RVlE7M{?h+iK&rmeHNRI}SftH4qRwgK|P@?OB5jWsl!x-c6pO2)D#Sy+F# z@RR}z(+I|>Vl9buGW+g|VD~cud)(?M2jW{9-Fe~xBrq%~Zf&{%abpD*C;gU`Hb?Vt zD;t{-nHfig1nBT!AI2;~thMq(_FTrBuhJ8F1wFQh@8y8MCR z=#~)=AIa#*+Fs!H_+p&oO&DRHgJACiGaw)M`p$;fQjplbqO1WIbh*jPrIER>*5|E~!9={dD;xAttSgZe5M1dBVe$`AoUFB2)4dIYamTO)?lZ8Y-O3lyd~4-M>A;pSk?H5zlRNEL zK4sXJI$6D;-(2#KkevJ+(F>8pd~12tPi!iW&KDi`!9nQCobv=Eq-%cUQYC)ug4?MV zzk?pP&L}wGn*QwN&k8%n=a%=ZI&^E%YkRH~O#1D#=s0YW)CXG^)WdTjQ=ew>*mXuA zQEF~<^j_IVUvLJ>$gd8IKU`~4jq*+kA62SP9n3Yi#=9?!BrBPJ1EQ(eQ_=gp#+T7^ zu;S=h)A?7RCR$I542CEk5}oDORdH9`abY5JwFgfg>$`H0yq)m@(vhUhpS@=gEE9UQ zzabX*ayI9t-k}xxvs;p##fw}quiP!mC#j>xOfwUs2QqD#V|?HaT4Jl^FB_j$zPe-1 z^knG7$avCX2eBE5r&5;?d)djeQ`RWOr~7*E^|SNeGT`O)@Wmhbef2xR^EX`@gt$7D zo*zGd>7HL!VYbUun7+jYPXLP)_YDN{-y-LS-_XDqdkZ4Puva{Ubm0-+JT^%6J00lT1v*<1jKw#yij3;$lOOR8ks0_ z7tfUizg9$V{WVs7r_Rtn(1L`-Q_F-y z>c!uAg__$hGRit0;h2i`xL4E5km#B}sY8gnZ;cq#UR9LE)*7B%B?khwyFEsoe*tI2 zZ>}(&9-${#LX&J7!uG-kpXTD@%%%<(vmDj12RRYG6#E(r2(MSCs>i=Ass9Asa;ZPO zSz72F?5}7mEP008zwfwzmeCg-QrN(E73Iz*z4K736LBx!f8W@{4e~u;OD*FYfM&WT zm7j%HFr)Sq&GeH4*e2y~vR_L!xb=&X=<5Rbv{X?xf(|yhcb~iE{@CMJCnPa+Q1#deP5v zq9O}E|3CKLGb*ZWSsOOs7DUOQC^(4^&$Vb3B2THGQhyMebSf^q=2o-Qajc7 zx8c^`b;HYsK=IaB+L`8@-9~;;_SsX5U9Wk4`4puGLP_Z^-(b8xqSMMwVA zgOOl+ih@4XQ}Y_u{FH=;)o;`c>zC8wMwVZB-1|QW=&c?FkNbB! zO7-tjeBG>#!23!iP5BShGC89Xu!RB%8kw3GPR3%zX@|=Hms$5#0rieCw^b(pZDjvn zvIhD&usJanwEyo`3b+qfPP)p3rH)aL|HB*sB>;M5_0NWF@ci$N=gqaZR6wEriuW(~ z^uI0h-x;1H0_eH4|IG9h{O_Ln`%QE`fFcOfh#CId6vp3giW3AFHm%VgFa9sq0#pV3 zN8JCS4gV4MzX;?%+WkKS@*ijN|F!e{$C>=?vj29*lK*ig|HF3vvsM02+xbsq@;?IN z|2UKXIFtW9st26ORRVH^j~>7^bJ)%lXMt3E?;g>*$UjHzMFDTc15Tw44KuCfB+wpZ zvvtU=A&}x_z?Y9zO8`~?P8I=U}^<;}i6qyZtY~qsshrf*s745G6PY#>y(0<%PGrgUm$a zqin8TmZf#e6@Y0jOM0rNFHcqfm9u6m`&#munamxYaaT$KOaJq=fgi?RF26oQc(VeL z6Q4B$p6MsNxZ0TD+F8Q*r3IJ7+fy#lA1*-F9Q=x+k4M^X*BP9jX%6J(Iss#P%pJED z7#JaulKXoRUhm^AGXNcpu`_R8-D_H077eY=oiKs&d)`~LJdh2lI3MHNwR zNnEz^MY#=9U^NO_B~O?3lBe789Xj$is#B8M60t3>BD>m+>x9@(fd;>Cckz}tkeR!n z?3&-QlRUz)1)BU==I`Dst+|MWAG~qPvA#U+RV5G-(ZV5?CXyl2$O~f#dz_;~%sDlH ze+M&(fd$HJN5D;c${%C?V8<>I*7-X7XAXA$pDE8dfolAeB| z?D=f^WamKg+6|&N*Kp{rUB~_F$NqRpA`sVf2Al0<5$q03lTC%`6aMdqZYaFoIgPem zNxi4M6SQsxAg8z5PjAq)`<_q5^(i zNnSEhf(}Xh^u&1)bo1SxGxx?juknSG(v<5#EHoRmp6rs(wYS1Mp8<1uyUj?{d8UF< zEs*&wr#L*E8yq@cTGUwl{fij?QEtGqoj^AyRC~AulQtcmeS_hmQGC!(i$08URShQf z!+oL(%D3AF?64+nUn6>a z<1IO-!%VBD!&u;hfBxEaTyyU0j2iu;CSTY!zqx%W!(lepSyki8OdW`n=5uNG8PKZJ ztcYZ0Fo3DCsc23FZqy2F-5H0~g?MW#Sg|@gUJ01;#b@uPBF(r8Ta95AyRxRhd~yla zP(UiL%5j3+FWDyFyYc<07;j|gDueRTj~X7UJ}~xVoDQ?^VMc&4}+iMq^+#iMUu2w*j2zLa_N+el?^IHJROm9EmNt$q+D*cw$C_K&o^x;1* zxa1$CaY(m))`bps+hGNrRnn;(5LX$;+%|5~xfqwc-t+Oph+qnC!!q~_a<(rW78h$V z6j!SM*zN`kr;1U?9ow}XyCn36|G?VCN@S??)%0~`=;Q!>1G+T1#v} z)D3xy-zxYIW<)3bIV=%o%Oje|kv};~5CGM?k@n0<^--;?IWhA|c#^F~$)_1oR^1t7 zq_&9ccC*8mGq!w#%e)qfO)t5KuJ~w6(YrPOC9Hc^WdnaOxA|*_urYoz&ENpdkO!`Bm8Btym${#3MYviF!ocz0r4A; z1RYdEPKSpFNP_aWx4iUluJk$$569w*&|`G(YFmNB)d+*6-?&J~!JixcDL85zBF_AG zB5T3_qaieIAH*(+XzaN08~&FE?5O_a_Sv9DJ;>(!A7Jf#X^7H9oE z?KpXyAU+eS1YdJCq^kCnoKh5l@5KAXHUr)P@JH;pbUF&RWcvR>Mt}Zj(aJ$?^BkO> zI!*`e!nx3e8--#^h(@m_!MW?7`p4BI@c*8~7w!W2tMA>A2VNdG|04hQB(kXR=ycd+ zr#{{Jr!{yZ`HWPuGGP$@2=NRDydXApCEIInzp)S{;4Nj1G1mCS&s+_zm+D5;S<0yP z7}@WC?|*+SD8G6^q4*!y6ZocU%p2UK&KBtTc$p?>Z6*_Z~aeaWQHTX(;nnh4zs#l5DKQ4PCDT((@=b#WOQAKHYsWEs5<7_um+D)Ty@dQwp23&jHlX&(|*cV@-x!Da$ z*_Tm8cV_0&fAN|JzaawbLp1Xy4!CJ_vi3^-CAo?I(l`77;^%C6RUvpALMbBn+D{^bt37&7w76rj(i_3TR$A6@k zzzXiMpRO_!-yo8UdV`xFu5LnFd#OjYzqLw09`-{{#0u+;*Hxa;;pzHLZY68nUs zA&gH*$P3W!{`9t&z$gQhz*oarzVS9o@xkqUnx^k-wZIGC0GrX1-P_ssi*EjQmU;1j z^^$zQH2)@z-k1tEkwthM#8o;xql@FfnQ%JS1_|4iJuK@|V6H;w)w&yH-q0-T_hc6S zbhVEty*@q+C81#Vc}s7wPh#@u#BT^Wg~YXHqm;G{w1?Fr!6i?&V7qOjwtSGeCI7lL+t#N~kd2|&E;F7PYab_lt+f5Yr zsYA5UTa&7Of=)T?8n|f9lTYb2c|np-D->Af(t_XCd~KgLS?nZ@cYvw{gI9G#qdfq{ zsKJ{;B$AL*m!-RgK#5$9z=z%_m!?)w-~tJHt<=YMw^e4-80!>z>Y;h&c~&G+XJ^Sp z@!K;I-;=5&dmBvs+uaa_e4g_;7;kiH^H3A<5_=_JJ4L5Zeu%pBr`x)qkq@}{%mGmf zNk2`Vf&bt>J@bwp%X~v}wU`NS0NujNa>4z*bmrvOalrDPYl(sg6phPq_U+0-@>7@2Ag66`<4d%OO4Vf>Ld7Rz$s^8k)_f@b`$6h3qx%C>Uo)Y zlgpB&CVfQ^EXi0#MRHs<8cm33ZEdxe{aNcYr}AiANu|tnminLP1gm5whFWFI~A!&22IRa_ItQ>#gyN4z;r7>1LGK&t{gc;52!3M<##|dU9qf-Rc zNhZo>voZpA0+>ldO$({Kf?@isPoFn?*nMcesFxi};?nIKfuCtq0I+-Ceg-r2n*LF4I#jNbDJ&a+u~?@Mge3NF zZmY)*>QO+vO!Pv7=;QEup9q5aJdF4gtoODLJ!8<$}kbL(U)+? zBARze!Y4ywSaT1#WP)8@h>c^xwF)|&hH;N(|a8gMZSn4P%RRC5(-B3~J zIg?#Jlk0Lbu_92)vUyOyQaa#rNu!VwP>Jk^&w4XZ4g*@HYQt^&ZL>16?hX}tJL6;X zF?IVpgzY62EXpp>Gn!ehsJ=8*v}(;Nw+8tkVFLaA!+Xnc4y~3c!naToqNQp|zRUYpxUDTPy$P=I;_@B|8 z9I#ObWih4U#?$z%-dn>ZUOim*jjIN6hleun)siu_tR{sTJb%%1Q@>=%*F(t$4P4t- ze(Eq|tem3cKFibZ%A?+{h*jq@AWL-)`-4x#uV}i$17A}x5}BIp8EKV2K&!LCus&V| zdpOtd9`bW@*HxRz$!^DiEtP!ZHr-ca-CV?FfzYQpQ1Vzzii93z_-=f7Pz$ZE_>XPd z;er<7pf_S5w$$Q!0}1o?fMb3~G>`Bl8TPY3tCb((TxRnvtC7p7`N&1{z>rG=zl{vb z%gc|v`h#ihLOC<@gbpZ0TxllrV}c5u;yfB?j*m4v&ySI0q@otBzlc$vl$3DPlfbYKDNg?g1_G+O0i(qNT#;50i+x^esD zo9779Ep{ya@pIys*~!v|dtV(NUn0m#m_u6@hRT7<<7bFL~oW}516yW%kWj z--k<{ePk4|yRL58&a}5Rma;j3NAIGX{BEX5i)#tr*OU%#Zda8Sk}rO0nxkJa|7fSQ zyzSWCOLU@N9~G;a8FerG+wF{i7aw~!CeAW61MNN}Prduft)6%YzxED@Zo^o#_;&8) zShGDQ?S5X=bC}{b4v!_5;D;i!zJ?Nni#nb}zlGSWx)D4043@>h0_)+OL|pSu#^l)Q z;a~cpLb|Iw1~A8_hGR-yLTu~$u~FzTwerKOAla3kDA=Xl;9B3@HZL6TUZ=t;KckT$!BmCCgs+26`<}5!MN2W&K6@T zU%D+;>4&_&We-o}dr3bAhx(nTHpBE1$C|t3wJMqJ*);n}c_21=Hu{FYk#U_Uoer2U zmK}+$c;AVy$81lidThC7m0Bj0>9;?}9uGXNg9Mn2`C65{mKWm)pOWLGtWZ#;-$<`- zU?!Fbw=OPKWI-80wipFuj`VX_Xk5x$z286^7~RJ0_oQ@jliD(lbA6A#@=&*0s6zO# ztAd`)dP90#pHqKfc}x(mOsVya{U+>YMcR@Rbb4+F1hV6RN4obZxR@Dr_yQ^e;3Avn z*L!X+icXOZ!;3A?1%@@0>gF3lNL<>(o{CzdTud>Mw`7lmbf`y))6*nU60-sjHL8{F zu9x^@R>uC+6I{3SUO!uEaDge12l5C*a+um{E8}mu-|SE`?@>Iy&_;h9UO>9QGzYW= zVA|^YaLrcv8P8+-+w1q4A5ORM*@Dt;fwd9maU{VySe9jC&grMR!=5*c zs?-VzZVM^VNGympY&<9Z%Zqt$=Kt6{V^g1RgC^FTQI~;^8t%@n&Hs9I6FbtnGBwNR z$sM-8Uv#v>dP2Qbr#I8GP`Sn9>O}~@6kf9sB#tuj+PJoZuFOd5zH_A??!>rX8Z*o5 z-HiS`cl?edJJ&u3za!;QV9+6nWHD99>E#=?RSEuSQoP(~vG2aG(j_t06|aU*-7m!= zEVvb?7dV(wLBU1fQxI3v`$#Nwok)M$`m3>F?#ozwkoEmxg=9=5wQ>)pbD33#MEMAA zux(T9wHDV?ps{~&C#l)py2Nub`$4CZd{yw9WQR~K`E!Qu~#75P$6bLBYgP+zIh)0U{La^N`>=2-*3B_xc3;F+8a(C_klUt)ztp(zgNK9EXXR@=pt`hP@kC zofkd!Ohg8Y1u+}DGg%V9wKmNkN`Jv47yan6><;X=&)FysJy&jCZa({js>VE+(vXm9 zas64`mZ{Os`<-X7;roN|%s?#M7dy}MX>8Y!;1w%InG^PTWQ8OB`w02LzG=d@-n@OE+1-NVC3;|AqJy*@X}tA7z|bQg0rW+pYQ zS4tP>;A9#{aHYcj5Os30>N`fK95fW+I~p(4<}MKUY;J6AZ8+;!r6oqamVe5!cGs|c zl?zXaPT~UD46}JRru5AB7T5~2RhAdqS}&*KPY`%+A()WUnk}&X9#|RC%=fGDnGS6U>h1x~u_Bb{Uv+K!S24Euwm9-iw zHzL;r%tUuzY1bkARBARj@#}uBY=x^EbmRuF3g?-LTHVDP_;~A4J~<~q`4@?Lp}JtI zsnOUwtxX@us(Fxg|I3Jaoe6%@=44q}IgP*NSk8*kukY#=O-BxW?w=uk9Qr@W(4YAb zHW0yH8)XrUGxpgjf*9xmRhX<%N!B^+SC5yJ;cJ=KyqT(>eqq;Ur9ST19x&dkjr6Sd zqn(!m9gSg$1ME=0NSROar!8disdn5aKg<)1WZW#=`n8a4_15dcDGOE%r|9Cl(l#zFAIKS) zU1y&o{^^xV+MtWub&;TUSpD=DD3W$9h&k>3aC2}Fsgr^!3)QF6w7xJ!GS0yfgn73e zeT)uVq;BlPyr?jtQahD|?qGVmT-oUErk7o9jcoylWIG>@w<7Dabuj(m1O38anbdr^{2w0&IQ~5cWKCn8`u<78iTYTij;# ze=kTCrx@0{KhaYzn>Zt2SCos^k2TV7&wd5RUOezJbv=67Qlz{y>s=!=PceyIV#O{O z2uvtq>>r*;Hpxv|eA7lYd3EAZ67U1UVPkW#4&C@r)74UmOs8jj3=LlwI3}Qv>jPCu49c7=4Qof@Ossv12%PzfG=7EHHW+$okyyH)X1W~;QwRt3Qg2Rb?i@Mgr*2d1 zpRaN;s&+sXgD#E-Xl-E_y4v$h%_04&Md6~iZL#%}lb?boYX)nLcj5KnvJa{v$PW&M zJc84gOOwsdYw+0yr!1059k4x_m#_9GN!+(!$c8NLGBVw1)YN1Z8}1KngrR}|FFaJNO`Qe0~A6S^VZ z>w8nc*M8?+V~KOvGK4YXfuQ5uw*SkAJI%Rm!}T#AORFk8&QhVM_Qfu+VyE`Np_c)# zXsmtO7I%uD36TV9nnh=G;=mlelo01^@+-^j>e#2YX5if9o?;fLjD3l8vP~Nd%g=n= z$HSGAb!}I&k_^G-)F!CaH$Z4Ad$gX1I_g5Ue05_-w_LP|tRzzo?be??n_N;`MuFuG z>MYYwPZ}iB{hIwRi?XGNBa)3zXt)QgS=zrAI<>TWh-D>SI6^B5hCb$64(etN=$F`z zKX!%~qb8hLnQwgZeipc(W@wBRmATxFb5R}QFnYG!qLLGoKT@9?4>6H5qDv9BYfCL| z-zpnv_ro~0wam0DZAvxwdll19B2nIINpa7=h8n@(T=1eyCr%XKlM9{NrR;{XMKoyGwKVu&SZP zaQW>N$0(iCt5}`*7IS4TQ&2vkL}t;&1afD^YjGOu8v-h%+1vM1*uBozP5Yw`o>~xC z5leabj{ib?q@8sI;pbl=g~l(YvP#H`c<(VOl?iw}7j#9nKuj=6{0TI{=W7$aNnUp5bJ$Z9b?iZ>=sCeAMVP z83KSszoBLk;0T})*UY6Oa{m3D1|fFo8^S8`W1gHmDY1IN6gx4nES5=d#&Q`Ro*aOv z6orj=z@fA=h!bM_5&nSbHCVpw&ilYbZ*AYz_s1@Xcydm>%o;~LA6@pM=JbaiR-0lP zKqLPX?gmZ_`TwCumyF=)co&OEg7kF(n@sO!=(8|fg;M?G zo0`Lp)NtKgM;?P#MXu4D;3Te8p+&O3r%o59SW7?5og{md0%2W?1bgzxZmrbU{C%o4 zK_}HoBqq!+_Cu&k@+TyZqlW~wsA>S8WlkCj2L9u5Q=9#nSvM#8FcLM@@?~PB29sH% zqShiXCv4wtKXt@QOckCbEB(fZv}#QAKH)33+RxUVk-2krJwvQ7#=$&dnwm(=wb8uk z$#?^ved_1ZfBaBnxg6RIwAVR)&}W6L$p?AOdCPY$a9rr_%*jT79!Pr*teumYPi^%q zYS5`3)$9|d>ygAveW^&FPu-#@T$Pj=cv8ke6SHdAN5x8S*t7oRMz{ICW@o~*B{MOn zgKn|Zrcx6FJ=t?2PI(!4Cb%iN7u59;t9!o+ic7SEiX}(q9acX2BV{`#?$|IOFv9ba zFJ;-!D7KvXo8=UIbbdp3x(z}tyS_e6T|bSDyICj4SM{fBV$wNvTjlh4UAXxDvs1hH zi=7%TxA9U7)`sET_A^V5ZX4F7Sp>O+D%3c&;S(JI^xi=wdP$t>wM$oaPEVU$2Gl;` z8+m7bOnjjq4>_Lq(WTSkCf*K<>v?qJAPoiivA7aPbn-Fdc1e|QwMQL=xJ->%>~@Z4 z^a8m~TMPWC&$~`Ca4p7C$#b^rB%RN3b^v5ZV4K^OqQqETkV6e8KoyCPXCF#Gu~1|Q zAruuleB_W0VUwO|lD;gkE@@w@MTjzy2>8V7-f8K{q+Ow62=Knx=z;OHWt1BE2_Alu zV#!ef(W`xP7+UymU(|VXq16Zf)2hd&^BX>spQd$_6kG!KjggzkqedOw0gFH&|2V2k zh*uKOr9>#wxBOD*ko4c}Rh``z1wze6p{x8iufDxE}sy>H}G z=vF_Ej)a|Uk84Cj^UkTWlFefAa zC8g57ApVH=Y*1~t!U`>_CvjBd;8_LaApLQBk2I@5Y0un)L&S9%p-kUeiBAWPjz(}Z z8Sbc<%8K-0nPBo-e|e-7VjzD(r>FnP90$yR6Nfdm7z}-6<7?_v5?EK;{nNPjyn0wus9{n9sI)QrOli1kr6Xd zsqcR`rjH8fCl`^|cWmACpJYr3ng-<(ptil+!nJPuWr|&^ zW$k}xeLZu}o#|xRH^KQ8U$Z}YU{sP9#nX17e6*%jC`4=}i$6=gWsp+c4(y8F4y3&CVX2)# z3_8%}DWuB^+vfLt>)L=yGk?incSa5W$^VmO3Y#;)T7T<^$XKxX{WRTj&~!gnhj3Eq30u} z6c4g+fYfn1uc{we`uXTnt3rQmVXepz&+iOf&?(v(MyO)v3`=|V3dBj@jH{c1H`W0V zL8s!rpRVFW*UfzI%BL(wk;>ZvI-Pk%20axqr*nJT=KK9>t=zLcVA1HX$EmN`G?D5qG-cv#^Q`TDYn{^)6fR;rA@ZTISN)PfR{y_FL>8{t7M5Rb2L*aC+I#G;Ba^wDfhj z9q+8;Fw;$0i$r2r)()psYo{#Vd9pF%}7G{@N=NaF|&^zo-FB+4Plu^QR(Q{ zIRLjvX^?aPOi=hJW$QYCrbNL>yBLI z{F$-F$xo1%Lm@G0gPYDm4w^9g-D0F+t=-0iZM(RiY_-o?<6hj@a{RXa92h~ zxF3IYL2~S6n17p9PFZd|c)K=NDF{{RCMUirrz1l7h-JN@9sc4m4*0$G@(97C7D)$` z%Nsgk7XCrOFQYd#6eEXQcO-r?qtx~)b}1ii$v8O*5|IvVqLDeT&xDY+0ok&2`7+wN z_0I%NOp{xQ?}l*km&kU+Su%7x@sXJ`_bwXcC0;5LC)T62EI29xv6MZ?a^@Nw*25@`6%K%q&t$bU<+(X}lLLu&Y~qZVKc1Qu=FU zuY9K1je5jKjY1Vq7``p7^u6=S3MB2k=i*3MyXLwpKRfqqi2*OY}Skk55@_ zK5$@Lux%S%%B%`NGc76mZiictOsIdcisRMc8LeqVbhHL^U_D-9ObqMkT1NP8 zdEA`m4)-h@I6?%}-H!nhRBOS3)`e2|eE~M>aK^bUnQrpE+D5N~f+1<_H{rmN4^IBe z1p{lVt0g?{LyVKXNe-j{yl_3cN=md&{cP)df@!@@{}7|e&*hdkI!e_0#V`VV;^ClE zpJ9p)Xl?HNbI|yJDfwD(W& zOfUBEWK#SN=|r#B8az!fW`kFtHTe5Pkj%i?EUo_rOE^(c3dGC+5*cx9{hq)~*mBNX z5ZmiWedv_9h+GHU8DF^b8j!_kF;QW*hk3u_`;r?_+n~mH&Ksh9qIp?xg0ZS8UXDJX z5ZSJc^5H9HCly;_Auj~Kta!~fzC)x!8%pb&HKU81gl8K`(D2KL9^Zp2vUqIF7N(H~ zsZYf7ZhRfMIC|q27IjHD=UEJE+zH{*w>J+~{Lzm|i)$G0cAm0O=u~-tQyu*#IK*zO z^10d|dmpcSI$g)N=P6H=tw4^g2W)F063;zXKC7n_WmR8HoEgJZx|N}t9z_st-+q_* zbPrS@#4PJ7q?4|{a%gKwexDOBH!6%F(=vTtUy$y-XjWtYNpe1U8Xp?xak?E7-N?vg z!8gIq0gEACOntn2(#$l)QGKYP%lW-LH`>Gil6uYEg++P!4CLVVVOknL$AmOQzSN`f z%VU~V=OloaaQBAMf+|B!K9q`d>5y$YeaJ0!h!Jw=2soKSM9xQVCf-_^AY z&-^+}1q>onqr&e8Z*hzE*ozEIB2J##L)Bg!DUO>2ZO7@Z5egXz*o{2iZuEX+ta7gE zFje`ZkL3pJX1$V-jHoh=^GpUcfC1$Im{zE@F25u4m-b}QkELfqXo!P#fM$bbNTb8! z@Ygn7n+zWN9@+9o2!I6A5n$H|QemJZA?K98d+JB)!>ed62;i*qp^J=0zCHJZSqPs1 zcYJ8bhM7$+FmfH9otHSx8?I#_WCf79RW&>0oZ-$t_um$VfL^t5m|vO0vOsBkxq&a#lBg>6m``LZHfQwwybIpU%4{!gwRB zwRLfLP=Sl{f#)SZK-UDEo6hnG1xXjlqm*3fPh$Xk#!}s;L0joA& z^Uf`nmYP=IUnwS&rAIU#r+x5R+?*7@DDBExmB<3yHw2;9v+i7re)}g4^M*z$N{}FC zR6s4t1vGZypx12C7a?};zt|)=AHZO}IbRdm!gbW_C2?0N#<#*MzHikKy2qnwmRzh- zy8_MU7)vlNY?0p+qnr&IR^x8M^;4%3RE zj-YpvL7F!9*tgnDr5SVbA({?k;Y|Pcpn}9TApRkfxrEcxpDiFAFRGif2wb& z84H>}qZVawOQ61rs3Ko)gwh78&c|+VL4mVbSW>5S=U9D!i(Jvxg{Y39`0@?G3iu+c z!alfW0C!U)D8Dx&)hxqt6Pv48DRXgA(NqhURvcVZ%v_$smvSfAvKzIHv@deUhmG-AI zzP3`A%BUNWK99#ui}Kk@?e`4RDY?W0G0d0@akW<=PM$D*A!!2w5mwq>#!N zHC-iV>|rgA5A$r-t#$y`@lO>x%Ij);KG@;Z<}vr^vtqmJ%zvd$6l4K90m->^oVm2Z z>Jwt-@cVy|{-KN+5RV_mRGX_9Or0s|T2$4tzF73psg@!4H0%WTkE~?JStI1NP|L$v z2dA+4S}W!X?C}Au?Q&Z76KSZYYvxzOh1lRI=yz4q#k$2)pcBvL^$n~_PjS^uNhI$c zwCWust?Q$ALnAt)P$QedFD(3(^$#d{`8s1NQ9spI1DOh6cl5=O=y)uyp9QUc9Tb%S_~LNu1X6BEB6x_+BY)Dd7Oj1!W=#Nlw z!qEEh%+MO!uKv_92mrM-8X49deTd7FVwqUx=cakrIs1Nx*j|v@@_Deo>0Xyz%Ur7U-nA%VvQntsA_W3dp?lfT7Dk7O^$wx_VNuU;KA@QzIVYE4&A7z(krS z2*gUkDn>P3x1g)(?sYO`vYsfiXR1zxK3_LK9)wL&2!~c(5{M7nGdx;dA0F>S1@g*o z0!T}vk=|UouZ&oB*wpt2LCjJNt~U5dG`9CizWch#kUp9|V+v$o$a@|iDkKxR&Zf04 zglbxH7+7xG^JFr^a!neLp@@*~l*twCWyii`ys$7eILl?Ek;8uQ1V-?q!H1{brpWdxHZN!DpH*hAd zn@kqRDyvR4yx;p)3`Tfcyt3z6AE`=ZLd0+XG0%cJJr4mVdiU{rhC$8*AKJxV^h8aU z|Kc;6(solU;Bu3%G&g1)QK^sXZJS_rD8jUvhbAWk7{&jR@_cL_zkAQe7eU!0jCiip z%(;WYS}^O}*<1tZjE)0}5;pbX?_mlZG(l(DEUUa}?JIJBn43`(8 zB;M%c)7NkZQb{eOJ@v1PPiUewj=1Sj4hYvy{9yk~64iJrC;Jo%$A=~{xFJKEli;=R z^F7wd)36VyrY|f2&1uuKlSC;+BrQL9n=N`WM}IfqWuTS8CK)SfA78e;;wgInkrX1? z90~WWZqp-k^8W1z?kXh_;j&z@5DQCau0ZPm80a9vV`uEyi*LT~Fa)*ky6Y#EUQtg$ zn}UCw=BF&h>n7#D-pHQi@d9n9h)m~j?UlP9Xs)F)d7UirjE*l2$GX<9T=tHVDItjwA^EDeEN(t4B)4vOIlS&%LBjso?*5jYAe_NJ!h&Sdzm&kw+`aOjG7&o zJ_O7YVepNY;gjzcoab9XHN2YHchH;F5lHj#(NoO#+v^kakTnnncF$vJsYRTQ=3kT} zX(uwK6?=t54Pw%KW+Q^bNV2nef!$qt*%jb+QmM#8Nx+p%HZSd&witwflT4L#rvh{` z;e$0qy$v}+QRO4!4e9ApI53K3wX2X{bl^-4pVE}B=yq&e6cgn96hLcNyQRFjc%aNX zJ+~sI0*9@xKPfg{?2s1|_E8e=Vev2WW*~E7>$dNJ8Zf$+N%K1iDd^*v7!M=P%0Mh( zS+KM0om_HM7(_|5HK)ouh?xfkjSBPxVRw%__4DZwRUEcU^*afny%LvN+dJ8#Z_CnO zrBub7SZrq6W)r{}lL|qc9awVr+bxFaGwp^;CU4q z%tj`2dx>##=~XL6@>m6jJO!!yDbDKqDc1~MaJ|wB%FluzYMuk9&u3}1LULu}8Kzw^ z;;};#$#kpp zT0OCSOI|-t#T?WdA1kcb=R{yOYBl7>8rgO5K~N*Dk9ELHf@ZBvhmqc_^HJqTAbp^r zBIE~>7D_n`T$Go4ks6sEcv@9HS!feDq?#E(?yG9u@Lseymk_nQ9FEBxGeMkpDMPt* z6g)&@#%SVGt%v0;Y#7FxAyZ33Y|@8M{nz7gvnK*#;W-5x&fcbl))g9GChh)p&!$Gl z-47^l+<4Ax)YDb|h)+^tc#gO9U8h?dp6)q< z@c`tAgaf|qnr}A8(=zdj?@#Nb^8x7nP;*Naac@EaQ|4(}@EnuRwzDgO&t5f1u#9Oo z9MJdpOiYuJ?~)YrLVo8t4jA!Ez>~5X^0iXd5GCuNC!k%J;hncs^>Wj?)T$vy0S6xd z;t9%|R-Oy8X&F^$Qwsn5G#aDHl^W8r?|~mt!|;Xp#DtBd93oohM0$XW=YlT7JTNP* zBfw)q*i?5YkdP?PV9#%7hi9xw+~vB5Ps}ZIP_JP`zn};*<${|s_pPBHlWpmsE_SxY zUBvG80h_K3V6wG>mA^tIp{O&q_7ZL6g|rqmzuCL6#qyfYK%-$fmUd1!JvBW3qCV`4 zevEOdaHzJuIeyand5JG6Q;Dq*8e^t;3SK%L5{4gxn9Ak*Btt`1$q7Zry_nvFbzY2* zX;~mP(Za(PsfQMZ9dm(Os48&3Q>@M~(41v(WyEfu6&V_}qG!u#mz9;fNjZId zdN^kD()M@~&63$fXIw)vys?me4MCgsfHYb3t|g!1$bx&+cg0q@uq=^T&SV_mj*YW| zRAIY}(Ga6pn{b0IPvk%&y$NI`+wwzEaR8^`-$wP+a@*VE3)@-~9C4IqHpa$Ez2!L2 ze;yJ!men!YbjB@o^i*Jb!fxK7=67Vw-*ek1{59JiV!FAmml#OG2Gpn4aOG7~ab+(k zi|*kb-NM`ZMi-Q8z7tlyGfp#W6jXf+e3dA8*yG)?Smz}^X=JG_QV9G~;#^Ege(F&b z)>r?&!N09Xl^}gcM==qMmhSF{>1* zoeH{mNv1w3?9s0`P`AJdb2p)NLqG?4f0fTy=71+n%F_3Pp-8aaYV^Ib`Q4iIT?>(J ztb0Ss!S9lkYdH3RS=c|sE0x8^XJufjqA`>Lt4C?qn&YQ3na>r@n8o8!Tg5cJQb{Nn z8Bp`Nlf;CR=A9dEfid4j45k(FpV8)Caj>PVLJ+12OF(L^1wz-XQp)fp_#Probd@e8 zAxWNPmK(mVQ8%DGJKI8HlzBd?!5rUf>N7(QX^_gnhcN|YL)M|B&q!t4GPIw*40y zM4Yp0miGf*mTV$hG7W7HyGejtjmrPpB@m5!^B|XEH+t+wn|YaJPg=Wb=o=D_ve)tm z&z6mtMZ1?TX2XwatywaAfP?W5rD~an)uSp2%gL5^4oNwuC;cKVqwB0IV}&_QZDQ4d zGNE6MqW1J^V)P%6&TS#ot*URYBF{NfXKT6vi_`Sq2X*rG{ zJu~3axq1xetL^O1+sP|Pe2T3~=Pp8H9YN}G*Myfc%%fR#*msVT`>O^jY#5$UWLH&D_&w8#ez>Z!IEH_?~y-RDbdO~GHH%Zfk5~2aPLLu1X=`14OKkx~C z7&F&@8_zGO-S|KSIldu0^R4ylty90{O!aovL=Me6V9XV;6+%w({T>dOdF#Pm%(K(@ zJ%!Fz)B5jLP{_&38CxKeq4VUBgXRE8if4U_AqR?^#De|R!f~O}8>p(tm|73D4eiH5y7+uNptRXdfjKI{-jAFst* z9)M-LQPcxSdz9z(MF!b~y2sSWJ3?Dh$Khn8H>qm--k;skPYSN0{#RQ0000~%k5 zfxR2Bgk@ZB88GI@b5aiZ`4QgTSw)?zs!pH?A`f6DbGy3wl`zVU2Pz z2Lo2pV2BU2$Wlj3ANMEVCovO5T5k|?V_%_ytx<+CiUtNAqt0H*c)ZNqp%u*=5U|cJZ(#>yc~QsXk>>~lgaaM7t%@m z7pWxxPvWQLPJvlmB^LgMRqN!;!`*iE1n|eu$(dUdUyb%69-MblVO**vn3+Pn zg8-wdVz+NdpZ>O_mB$sMf39e^*b~q1NZO++b7V{&(~lvn$?< zNeENp2l=4<{DBKq!8z4)#WOu>S03W{WZTVks~G_Dh!cBjos&-&k(g((0@`I&iD&$a zm~L@Z=y=0FI;$5G#)N>TI=VGwND|{&$=6vIi`@c`^y-&mRf0udPq&+I-0_%{8Xka| z$x;E7a^z}pFXR!#YsW$Ai-Jszgypvh(>zs2sF!QeD?hmhzNpdNN2qAedHKP*xt#$V z#|oO;Ej_Hw`v41WvxPPi$!9z5e^f-@n%7#va-KCzyFV6}Ss^vx-dp~iFQ8lxHsN@z zEigx~0&C6WaR*1@(NIr+Ol(qkbG_uBb4@s}^e<~^~J zb?I8Oy;J@`l4wrKECes{E(&s(f9m@s))Ap!@n{{Fz+9Gr;k^d1Dzl#rNCDtI-r^c)^cL8u{UBRpEok6Yg`L&C^{w(* z4lr71A8|XgspXVvR6W{z(a1|*>o=@m5`uF@uy^UmPh*%xzgAc()elb};POS!zInH{6cNeiTvRTL)8UecxGae0j{li2?~4QzeZ% zy`bq(d%*szI_?cIr~D`hF&AYObXm5NiR^_If^-tOb>Bb3chAtx*Em*ue_OL#(M+lW zE;(K!Ht^d>3R=yRfDLA*2+mG0k@LhXcFraLY(H+ghXg3B1YOs!CDW*a);72HV8`MM zewWDuX^0JgwY9&nhGzL0FJK|>HBXfqrL6gOg-a)5h4-sy_|xMcNcnnC#sjG5Y_{*+ z+dfif<+n4vzSyJ$NTGw>EU@oesy;YD@*w9;Qvq$>?jP`s^eas=C#mi`vBh&6`=irm zU|V!7Yh=ki01qqD{kSZ%%-MNSweWP$$jhE_ zm`n$#tH9&K@coQa4_lY@j)Nf~<(_$h%hGV!>e*etmk!g_U1dpJkht{v|Hs~2#zon7 zd&7!|AkqR#BLYeaB3(+i(v5V7bPpJ$q=d9ccQ?a;ba$uJzz{ z-GZshL3**P24f^I?f#0OaOj>@(EJe<1al|9>}32*pg+9ToZ>W3M0oQ9`oqt(j|?O; z-b(d(Oi4-PjA@b?Ca5_wE_DIrOEpWuDR0+}y{^vmr!N#xiN^2o$Y5v{bqd&z&D;*n zdVnW6onQYxWBSS^utB$3<_X|+<(4qkt43%o=2*1p?azD!m-}bu>due;0?SdD@;? zPKm12smdW-uj{0=gniU-nFw7%KN5SvG7Rt<&~**GAQ5RTA0k}Y@h$T~T+(ZtCB3J0 zX9WHJ{Aj_%EyD`DiiDzg7c#m$f)HtA@>53%6*1P3XaK{(t*o#avsE`Z4DOVD#6Wsd z8g$;^Zs@pMVSpLaRYsmUORLjW=GQbn3onjkFMR0fcX?5%)U#;xnbf}7jw^k0h4^q- zmr*3uZ-oki;f5;1RuUObi~6{H8tCk^*IJ_2ENzvx7lt%=MPk!Jlb?t&0(XckaQ7L+ z1f#`NPYrgfp@;Ju31_~J*tKSwIY+p@g!9I?&@GK~`|Rt8$K%I?KtKp1>FxooF|@i( ztt@1A+CAZUi=W=`vsYM5a>(9WCF=kIk{5{HA>(>jjw_U{I=AHgn&&m^_1#~G4iNAx z9)K^L9TW4PN;T}{6L>YZ(|Sbi5iv{6nX$x{;m+Zn*xVPF=>}q}t6xBxa*WV|2 z<2RCOAM^3Ub9Ixx`R^>%UZ2XI>c%8D6ee$*e$lMWNaj<8&XDXCKBg7;)khHoTs`sf zs=UwWhn%W<9k}g6HGc3VrGn!oUXf|3Q>m<_HcJGlah50p*C@Jyk2!j&wv45IhzAsC zRlN*(a3cTJpKVev`8{pTk!`~U24d>Ve(=|IA5P{`dG{ZNNA;gz2~t9z0&!_^-qWVy zPHz_5MKVTHPuCk~0cm~n=#Ttg*hasiTVap?=U<=R;i8K1lqppwq!SZMfgcg$!Q6QXRC-w9ee*BNZ{4ijULbhX5NGzMjf56ZA`}qwS%AaSOkI-nTBx70cE|vwPvCvPGS=32T>C1lk^_C!^j;*0Tma>*S2v@kA^Q zxKQD7COKHZqdtB7vR}VHIBw%=%7b`FPx+7trtNJC**TTybG3p2mpw*$ZWSVZw20ey z7R#66Dyjo&?bhODBtmUg9R&jG9ds;RGJ{{7J4=* z7ddu)&nBFS57ew@L5&m*GQHK00iXeS`CUo7Y9h+0PZ_*qi6d;}?`e68WQBt<&ww^& zf4MbD&2lO7xCfCKkEV@&sL*8totFmiFkkU+!RqkZvvVkKp-!3W)q1 zcmobnON0t8D13S=)kSf6Ea`&Zlqge39QV4o-*(7I1CUFed7!m)bpLk46R&!wdyNXIvdLcs^6QBkmj-CZKtyEw%TZ(YDjjLHZd|$5qb8F4Jhwf zE*b7+vxnS&6J=N2su#)fo=%FZ(r%aC2~NWrFK7C6{gGezfY+jRPWe*G{rI2~#{5V& zPM|$U^g?i}sCb0`0-S1~tJ?zBK5|(vPB|*Pe>#Wj{F=zh=)>EmgErxo(ELlVO0Y?t z1X(0t81J}!any|HyB(oytyNWw^KNW~;weJf(7v!% z)68k$vOwAY*3pZ)C6*6I*Wv|0;%Bnd!RTU7I-r!Q0v?V|RcQrQ6R)#LHs{9VU^BbI zhud2HwbR!PdsRNjp7*F;ih+Qq*9+Fb);RaG+W;ha>_Vjftx6J~U&E2oG_ z{}z2Z!wS~eG}%%6~T_HNCqpLcS3?z!h0F2dvEb(+N0NUEO*#ru24 zx1i{cUO>vQyNsf8%~Z`Rr3Q%Ymb~wQlh+H$TyufuK3|8#>nsT({SEts6MSyvhLeHq z72Hbk<2<+L&uAB3(}?0jEw#?_7a5_Tm^DwB~^9y<oEdknl^>E`sSw}ON+n{!2`oQFWM}qm>+t93Mz)1K0IPe z?OMWeEmRJA-ri+a0qXi9`4c0a`B%n%HB%uRoZ-nL-}tD*w}i&wKmgN5e@*oWt>_kI&sQB9vq(XrPOW-7aI`- zfs-xXMUdZRiGGx=&a7TU?~>yFb1R$RYR<6b!$hb1Bis3y-g>D%=kMc&9i&r(p=*sS zPw?6A$}Q(Xoh*2f`6^yO&m;Q@HWo26Bp{mC>|MZC z2!m#W>|8A4ds;jO>ElXun>m7-v5b_~?&-ACI!M45gSdbb(Ph*8bl}D-_KlM6z5q#{ zg96-;lRy(~eLuPLeFg>iGzU)aPZxoD{(e%(3|_P=hVubUFH5{ZlWFL3{j6WPS;ytw zX&*AF8uPk6i-!OxM!`mxhc2eynmOqEOpqWXD9%FK?~<&!)!2e4t5Va?*3}W;2`==pSIBa= zmmTtQY#LvYZkyEY20489gE%}_XG9j-GBWVh%@4vFE18p&0S^@tXrE`MN*zv!`aLiv zU4Mz*6I#iNuD>wTwH6KBF~r$$|72{i4|VjL+~u;ZET%l zh=PKy`~3Twq%LCv-_yEbtVNgxiNIPd><=weMx$??)g_M@t{4gdSrl^AE{B~3$vATI`v;)^(5xTdzjibh*U~oha%M90#mUpaN~#Xh zSF1H@b4n2Ti{YnfA>Qh4i)^!_!9`$7qA_v&)_s{GilpWrJKT5NE=h|-M7@A}oC;?h z$$A5NnFrh$`>JK)PA*k0-`h!FwHrkh3yV|`)5Vz)=4oYRVq>{fO3Ay{Xeb!;4&l6N zRr(~`HbIxneq=S(fn{u(WjuYV@SHQJoASxgqsPfHXeo*!>!xE;agP43R_w{q%L^VX zIR%UrRBTmO<{beHu$PXV(*ZA{L z<8E=_9bnagKGtmjQx8?@Ht*k6THYREoZFFgnbjtTGW!)M-ea{jqW|;T>f!sgU&GN0$k6{KI7HB`5}pJJn19%LA-0%38XIB(FJED)rw>zoD*oQ znXeK$&%7L3%Bg?KGH#cq<1&^?qs2|_VKb;tx0WNzz2F6@Z4i*>YQpP`yD%}IZ;v;JyDoNiS~@?dyEVOCP*l_m)=2dD9PqBC z)`D%|jplu$o(5vdN$?jMagyC3KD@bs<&ZH!aBc4F!QsyeQTXH|tH=TC)%enGJX@J8 zGLUGGe=@$jaXEI=X;Oo(^+uLRaghH*L!if}XZO0tCy+_)yi8i|%pp{>jC0RJEDep1 zhk}t|qhFF!D-$R{CczuDWFoK?ePk4iaTR)}61xr}#zz-nIZHO_90Pq;Q%+Yd_}*eF+qy+)-VJSLlUay<{GP2-WKbh%VD4j~q>aQ!iP_ytJQX6prdA zw*oiFIHpJ4iVdVr6Clcqr0+T4X^oU@FtNg=d3>3-W0-s&_rnM&xGT^GKZ36#QG(gG zw&ecI+1cvM_VPytjB(3+;!F|n`g37x&3rkdrwE^21}Dk(izwH`9ZiiYkv{s=g}KWe z#`d!k&lKKDXw#g9=xlO2WS@V3?@T`apxb&}=fMlT@+7zyuP(B~h`#fvoK1RsDUFqm z_pJ5Iuh(epqQ7R|gObGAO?h>&uT>D;h~Z|DS*MM}K#R0u6;jQp2`tl==h?coY{k^s z)~X9Z3Sc&81wA9I{xgR=GV(;b%4ZA3-HA@ujx$`lWT*}1vBj7s=n(0#W-8QfdDE7E zpVU9ZKO^a&o0m(+OfU$=3G2Lcr?t?L!C zfFqY>ZXC~qf{hVJP0(IpG5Y!tHWIpHftQE!{Z=Ff@d>rMa=FUrlk7s+I9APIn3F8; z5zwoh-Aa*=h+((e^Y+z9MjFdHH?%s1GdCewb0xVJi5GA{la~kdQ@bEe3OskcQr&+x zI{{hS@GQDckKvjMW$2j7IX0$t{6`th%YNy0%K(1$i3Z)I;%D+JZ+?bo=9f55-la9T zRig@9^WTayQky^b;ag|aO%*Nw*h;@Z$lQt7`O&@%%n(-=9jo4%*v~{;p85HNJ(X5p z;c>bdhwUvoP<}>KnQWc8UWG})myF7WtBx1c<0ibljOxf7Y9cJa&NMZdDwZ_;GkGOd zRr%qC#C{Y+PE-5oquEoZ4KwV(9BHw9>UNu%^3Iw&<4>}QDtI%;&iY z%YB4A>WLw~3F|(oFyqi*+;HwF^ZyZ&P%+-Jyb)uig#@&GEKe10_B6nN*8C0NJpve* zEgo@+wA56PEHUnSZJ}GSP)a`Yejg``@h4Jm$Zi1;tK2u+F7CmFbAO>>X3+V(?YyI( z>7lk~P9lXXiE(qc+z}yTIkRJ@n2jEbZKEVsF{m3!0#|%9%7QLeU7)R%Zo)e8J#)>l zA-R-IHv6&uLLqmBc$}-Mw3NuxbWv0z#aH!U*)xYq-n^@lzJ!Ij_a?nM-zeNpU$`K0 zrZ7LbS~la;;P#3{l0E%F%eGr>RL>%%3$?ZGNQlfQWz6xXbKsW&p_HJ?TuMaT^&P=g z=Ucg3VQl=QMP*Awh}kJsF(%5KiO@K{RNdqbfOj@I7#3KL(xmt(ssq>^&}jQelLXOQ zg&ojGj-wnx!ioMk>KERf@8;uQNVS+4&$dnVvxXjDXOkp@kQTgJmirFIZF=gTNW{Oy z#?z3iTzZKDm9%zibOlMfJQrv#tX}Xo0Jzh_4|=T5G&v+ITrWCvvaoMcT~A&ivxU6# za*be9NdT%F+*SRfnMQPJKhL_3p2(w1mG!c-p$yj3(mESSjyz6|E-t0Z+c}#1H@xYa*Fcl2| z+Gi@t^+xJ?6Hi2tDX~UERvGl@Md3#eQQ{kWPP9fmG|M?m>{B)CUbes9E%{$~f|~gw zUyR#t1zeyQSV!1k6Hp4ZqbhmWZElp5qLUAgpAa_MjvHd zRT!w3@yYz&=AaI6KQ>0Kr-)EgEoMQ71Mtvs0>;$pUC9lf$MFG7BlHOD>ywBRr9$E= z;2XWO;K- zoMX)O#n$9r#z71E{XXxx&T8Y8{y_4DFEad$0Qkog{T-xYsX&P(S2$ZlSLBXl1vBp6LQ*V%h}* zsf$5DLCW6VgcV<~3C7<-$;nb9^9^x3R8fGuUa}_GBx$%_gttPe;OK5(duau@96*}x zum+CKKI;mPX+>UdSP^-gHNwB?#&W=8jl`A3MFjv>U#{JTA&(w_=6LM$_G!`q4;OI# z?MwE!*l9yGIyN@;19MjAFRTvVO?u!j&dw&vahoEkn}FL5U?Zizzj?@NO=;?yhX{~7 z^osS3#4jF_0T$8~$zuGwtmOCgAZ`cs^#aTO4;Og7;@`_+dIT&hnD@E75@3XGivFtW zGP?g8kn-WEn=%m+kP?mH?M(kdUmEQCYvK67`xW0uy!yw2fW7?s5jZ1Kt9WPWinACi+pnQ8yd$xi`&n*$)CM+2bV@)bgA zBwE$)$~5(=F`5($9l5uVq6WzHFC6A&;n?BpD?ncWubMKz<{SPmZWITe4K!0L{r%Z= zD38?Hzh~T?T9+>%87<9mD>o+f1u$pxzJsDSbTDvaJUOnpmTLGPSj-2P>6gf7vVQ_V zJTnjOA6`R9`<4Pil9S(|$nu-ZuZ0&W=rnIJW03l#A~#xPlwlnUE5=ag^=j{I@w+dY z5bBva0PvZ;y$|F1E#E%>e#;ZXnft#i{WL(M{WsUbHBJVLj2+}Nm40?f?o7)x5U?NSBorU8omrw;539jnY1qQ3ES+jK^ zpt-sdGdGiqY~e>n-l*!u$#jjkTy(5jQGgO`lV7K7S!n10&WHizr8K9!DaKtz6_}S`A_Tz{7B`1?h0lCVCueU zHsr>KWo7iNw|2zaJef%!D`aINVqBNf!J`9ukL=UYKjx}P6-io83R$ZB%w*2h-GWVZ ztGTx-MQ}|1au!}bD%M{zsqkFkjn=FAo~xHdRiLtT8LfJrNQTrzHTVEfdzLn7U+3>d z5FwG;0W{WJPMFX?!Sb{F`vBK6VS|pL4Q~ z=r2^R5eG4tMMRzlN0wTLzEmi@LKoQzN)aWPR%WB#vjYkU`|r`Ide@8TsxGj zeBGk4b-S#JyL&1juoLqFW<*i>B6Jz~`>tr=@NJ=$DLZ*2);EAO0yNpE7Aq?s6ltne zPv$b@{if;l?~vyY;A?-5r7gQZ7^xAPVd!3C%}fv(YCck~hYoW$p1JM(oE`D<%QgZ|ZyUvVB-7cdS zF`%K*W?y^^XV;u%R2fMwca%(`ng~+a7_!D1Y%$S|hC^N1|oZo`=o4JH{(7ETLDlwuy zn@L%$Z{p}W{5fMa#z8U9mq#_H5&J$fLXjUm4L`Ya*9(1LY+>u31xLBLR-gqB+LzQ4Pow z`z4h z-<)#&-s_dcN!^H0G&xGhsla26vxb*SXYi|NT-_cV%V$*18zbUX`Lbj8A`hBZU;h>( z?|nxIFH){M#8I@Wh=7Q@f$BX~iRSH-T)zfZ)WK@d?Gm+Y0^}+p@jBAa6go9K-u&Jp z@Bw;LBnOrPP=EL~^cqn9_W}H}>QS`5RPL&KmE%Xs)aH-0yNVR0R0_ZPyLMs*0{}a~ z+yZf7x-ib)*NtKmDg2f60+SUj_t`jCE zyx2IezQ2qAPa6lM{1jdCm<#V*85rAf$`H{KR~4X!wPkMZrQeY!j_)5yczr&l0m2oY zThmD#)JN0nZSy8{)+Lhi5*st z!qrmW<40IWcM+u1WU~w)}6ugVZKyNQ?LnJpEs%`1eQu^QTm5K>u#n zXmZx<-_*e0wf$e0A$bc3`OJO#p8n64m$CrQ zJbzn9x-Sr`a0o-A{zuF0PyuLTUja2oy6XRmkpJ-qL&*CTl5Y;u|4U{6$M634&sk;w zXj3z_Urzd4q5Rnk&8YyV9BY7w_J6cQ`)Gh3+FNc@NCy04I{I=T0rSz;5`Tpx|NFiC z^^rBw06hwi__vTz*PoE$`s>0ZNW86Ej`A4)qa|w70`ySxNOu04hxgyI2Xd+e5E$O% z&AN8t{`7_acZl2{vjF7${}!{qum@H6f3j@RJSO3vcI9>`jDiREAMgGw)>+YhfTZ}{Mm*}n+_BSH@{SgDG zH*dZZxcp;DWw4zib&bFjGqozMAgbCB8Le+85l)!QmmmV>Z)E7;XFeNJf;c`_ej2? z1&K21$Rekm{xe7a^%D+-x0*5Grd=cE=0nTlN-cHwjT?T70RKP90U4>g8~;c@u#eGr zDt-Rb4~LXVva>4ouiyVK-|;Qu_9ItwPa=dODogJdW6gNJU=MS|(B8wC+_>n~BoE1W z%eBO1=|DJlk)_)(8Apy$Q5)99zV57+Yw* zozpk(NGwBauH}pUOMU>(^V=s>-Gp;@_sa|n^BuAeL+|%{M_;}0K;#YqPgM}$6O>C3 z6nKceJ$uGJfgJw&U$W|dT6ZHKM)8`I)^yB?UO*VP%L?m9=5 zp~U>J9|Q1R8Oy--J2sRUlM6mWtUvmO014ms8LUvV+V zn{TsA21e=@i?RKMe`3d{6oeZi@5yW-3S3(LB}ss{%MsufKYp8It|!R%C#Kv?2(aXU zTLIUC2mHx$;_0Z~N;N7DH+VYB{>#ncQVnDR9l%ySRJ7MmXF@ z7|eGTc-%_?DB}Nk;ea^Gl^bl*aeoVusiNu%(sW*LJw5N3%{t)8!TN`zaw@wJ!lhWd zKj%MWsKB2jUQ}Wq4{G@7RcTF%G&8=*nAbv-X4}8qsWkLrJWP%&1WYe*wRn8cl}9j~ z=+Ki)k&ANda2JX_tNKf0;cq15(qX5Og zOl8+OUnu7?kB|(rES*HN%p4Ue_iVV7GEGd__Sz}&bT8TDf==Jr6zrZB*dHg(h;4(! z7ge>2TV|-J>Dt6p>EA}O>>30GM{qC2vHv10)1T6V{S1+FFqPhEULr;$+s#s;?hZP_ z<@0tx>z};3Ww7*swP7>mgwmp8foE8-4n6?7GP98P5mrLg?JJA}#q037sGwnyeD&*p z!NmORYG-q%=9Q+!?x#A<@*KF(QA*ZuiD4hZ#?C0KH$y@BIs1yIp6o%Zm$cqUGbcK( znSifpiU(T=7{JIKNSmxMJ+dvA=n;a?Ogcdq-EOROM2n~2UQNh4WGEB|R{mAYS1;K^ z%6T9_T3!M>(w47WTkq=fQKmZyp6WAI~&*^#=tOk#o|C?N~=Ccse$hk7lL?ht(sQ zs?kIJ?dbv6&p-!Ny21*j&P%>^>iv1ANu}(V=mxieT+%3xUVckLy>uE*dP=e2qPEDp6s zv7VEa(mhYYVfLD&q-Sw7?99r2=6Qb>x?%`>|4z;6g_B)M(**8K6f8{si%rb+0C>uz z{)xVbe>y?fskA?0E-+5KFS`9|P0h_e!{AEqe5QSvghuU&2^hI=;V-`w@Nph-$eEB3 zbnyVN$~LY^X5V=C8U=Ta zWoqwWo9dIodd{TVHr^}Yl&j6Httfm}W$&g8(kk|i^RDoUl}De+0mpWP`}KG#onw_A zYPvq({=%_wcfqV^wo-xebRobm#rz?F4+=CrpMS?ujanv~n6v)Lz#(M6CjrDQ$_cT?UdFbx#^-m&J|sO^q9C7!upl_AigTf(#6i5={TgCZ4N+*NW7#gs!$~vAZP}`c5}K z%fhwnE;-&UT0Zqtt!A&o$TQK42hIIl53s6ER^8AU|0!G>m&4VEp$i$r0N}Y}XaZ}-3n#h(O_W2NKwr{V3a`a=j-$RiUGlefHSQHXd?{0)OedQd zwcYI(6T100$yk3YxYpSvWr%nhzQsvWqXyd&%vbPfOh7>@OWuoEV&{e9HIuYqKx@i3 z`{T$UgpOTn1xV=%(eW9G&R5lhVjpSgydiNz*JGMaP`fDu9xP+Ii9&6+@Fpu$O*e`A zR@+pXs&pO5B;ny4yqk+eK&=foNx?*8Lse6M@;>71F4B48(7X24{2D%m37yFDuBPib zt2>A3RLWTvTsC3DTV)TlFMmFSX402B1(j~aY-EL5U;Z?x)B}%^LQ$Cx^Mq2m@TmqC zQLY-ck{wrzSQ#u&WJ-{Q0$(=yW??4 z_$mpfk>7`0#N91egQ*{()(+N98Rlb&H?$}hvft+D@Z+GWI&L)&Ll-|0w`Uo)B}UU3 zB~1p|!`{sUaWWQ@3AoZnm_Z<8*G!)DlY3dfQftHoOq*rUcDd1*X`%Xb9MYpGI zIoWhu|Jufpe%57X)*xNo^7T)VR6E~aJs7Em?geao-^OI-)(euQd{a5^p7xL;AJLF( zo1S0`VV(U-Zb=3uoqX*{6QlEpD=0PW9){XEEugn|baB^!$l#FcvAd0JWmEjghlu&h z%hJTx62{o(Qx1~i`-VjloS|!O`-?I~=_jj6d{^KHHA8pic9q*k z4UyXECJLCqm8b4V=y+|oD@4>ZXia%gBW~|>!yM8q&+;Lm@x z3s|~jR{U0syE~4<9OY$98)Wpu5e;cklCel4D`4upPP}G8$?lv5HB&*8JNXGC7FIDg zd@mmlm^CVr4Hvk~q*Q6#Z$}(nT{>!dwGHfrBmMfWJrWkzBq#@H$7FiX}=pueqlc@Zu{T2SX6^lijFP&jwdn_6(% ze7a-vbk%;efAMqOMyOWC%Q76P5i8f@^gqPLP-EZjCeZQ zAH1GS2C4`xNtzV|JH<1fLA!c(`|<_0PMF?W0p3*yh)b}1DB%8NU$CN16=3ZQ1d346 z59Ghan?Gi!6I)F$>?)y8(ZSZzHp*t~d#ZB*;`1QFt)0#i;%uf%+ggk#wdpRxO2hJO zY`kfHdE%F)qS`UFQ05%rzB;hzUYK{m1aA4U4iNAQJS$tN=d-%|?q*_j+r6_eE|%(J z%JomNZO|04I#7A)NOv$RByzj@ER{)SzWRKAvh-kbP>>S3H)xq3iDo+anh*u`G_0}6 z8xecZPujLhn9SOp3~CgtOBV_A^5C9h-LBPPm@+eUR^GMRo+7nXcn2XzBw!jri^b-u zgf(poaC&i%H4pz+NvauTmc7}{ijyaHX-*Q+aM-WV*bgn9u=vApy;YI%O)Jx01|>ij{)YG<+gGLEI;Af?rc7xqnH z_y=ZhO268zZ{K~r`*>C*2fyk@NwyxREj8%&WI}aadHQ#hQH7%^>tEnCNvBM|>&}1a z+4fnXMDoCd=d4}`I-OIb)zdyPqc>@o#qq2zFc?4NlFdrgWyJ^VB84Za95pxgoFY9j z{IDUgJSr(#!3wPJ{`fj+_4?ahhV8HZY`-ek z@+;udR`Re!b#Sy6)G_@b)I`P>q#W?-^;w*!;s;*JKbv> z^<0EDyi?WVl<&<2xfUo%Wgijo)OW-B+Js9y0?_)t11w#&*N8gtIu6_hVkl7FDxKw$cN zZb62IWSAn0rY21x+|Wpl?KtR0LLap5u6sf9eDGP+DVn?c`5`Zb+XBUUOa4W6nZDYh zCuO^uV^3a@R*_PV8a$f!Y{ml>y{A_A#oMP8bCfOIOR4>}_gczQ0TUV^Fou_&k ze>pkaP$;vS#=AeD@sQoMuY89WmV1d!#VCF z7T+wMOnd81)l7c~^q8ScekUJ9?OeyeXwr@=uuN|omomQ`+}Nb z=Y&;qvyHPn8=?2@E@wUMLtiOV#@B0D1cjKoPx&1?5)XTq$xRh5J5O?o6ZCyILz09_ z+@_4cZ<4&01ptOV;JeOgn4D%5aAk_BrZRK6m8prjFe=3JXEYbv;hkt5EM)77iWUzp zTTNQzpfQOl6w`oq%H&D)b2nNXO`Bhc-a4-;^PkX}y`fU|#`<-UuC{V)j=UP6ceVPT z9jg+(qnKVVR0g9mInl2?2ju>Pa31iKnBaMx14JBtTknbs&WYkBu4^Wy)^)}yp5Zk) z8a)X;qK6_tqQ50MYVKTK8UATC*>X)5?hw>A=Pr=f>RH1%8o{Kr+tA!@S~q{ zCA)`X6qBjro?x5V+f1!5ydxf_Pv~AaC4}Y2R!$m#v2E4*;Yk7=@ZR0=4N8slT8{w2 zEsJ@rqoOIp9L)fq?}JrlKMzJ})NQL+WA(VnCRzl`zcnI4hi*~hWSZHBQ4&? z-I~ORx-$F1e8K&V^ULa8%U&~uZ2H&PHbRB1nZ_^UW(8ukt$yAft~$E%^iSP;lsAGm zFH~06oct5~K#+si5ShzfgI_z{y$5_`>vw5FEZ-dUE4oYEcd(T8g*d<{T8imZyA?n;X3It4hPGJSgg%10PP zw3g?Sam+)B=)vS^MMjH{10A7S*6h3~DW=E8`Qu#)T&<&MHIn_LSpH&xvV=l{XE?1^ zmv#3=gz}#mbb4|Ja8s(0lGnlXb!-|@k?wH$M`0t9AnKGn;~b{CHZ&mq$TLO|;aIXi+SpdGkkx=z{>14QUGyAaqp-^(lg zb|nNRKLELoS$gh@5qE|0`PrQHVF?DNt6tE_ zg4d>J(v4K^=0j*gg+xK3sdP~CF|oF%n15sE1MeJHDm|R3b(Xg|6PNyF`Vy*F1AFFO z8%o0=RWm9kbu5BKCir29Tqwf5QPDOGqI)%=$DbbTk%ZUH6k}kP(Q&TUTdh2k)dK@7 zT4_-We?y=c!riGnjxW!!NrT=tV@VXn=#&+NE@*6|S^x?zCcyWQuo(pMI^&CaCa4+-9%U`d&IRFH_JMhrdCYMYDggRJe@ zD@9D6LWCe*Jhty|_>SG@UdqSp-bk;8^B-2*E+dNA&fy4!3nz{B?NXG{l(5zlW_J9d zL}M)P%huTad-l8eg-}hhs zO0HsE~<~}SBd9=)!csBw3FG#Fhp7jY^KWZS-?r(BR_bjO-GxuO~<2e=2_NUA+7tt z{^({w=x}t+AnMVeJL4xPlOWjB?j;juo2ej0+eALAtJxv^N!O{-p=tLvxu0rfQE_7B zPTEXf&;?fKwU_KpQ{|3EL>lA|(}Eto%?aO;2IPzoDQB=6zz^ zga1%E7b3!DrH#s{A_I=~0>7-RLOd%eg2ByuKqhC*L*kUW0(5}GIY)yG#lgQsCs_CJ9@;RhLkxE#hlfKla(Fja$2q{U@u%Fi;JH zhwy&UUO~}jjnZW}!(4Vs*%(EIVi30R=-!XurD6T~GpWf+{HAXn@S{%82=~VR9+Vh^ zHR#%oD)V3*EAJs;M)J)fckiM*OovCu8;AYRpLi`{ny2Q|=)9q8;N&4cPr7_|*>A6)!CS=^P zdK077vtHas^_-|4wBEWGT3^VV$D4^!p4_LtU_~zG1z9x2?D5<=M98tgImU(tMkkY>djqO+R!4ur=6nc#d{gnQW7b{D;0$v8>ZnriN_|}$y>}D28@rcTj!y8Iu)Te;V>5++*_lvsG z@MVdcg!cI+Y+7>k;DsoFxf;SBN^r1sNix_MyG;NjJ~Wn^i0aF zelYK%C9Oemv$p%riPyXH!&5cBjcCFSy4*?B4V*m#o|`f%%)_X2@YD8sjugyP`y^bVyF5`A3qB(k~hrSFaPJL+`6sx0r6ch*1JEKRdek$U9l{%y}s6wwP%M z`SV#}dQ4@~bs7QJbPRa@rq>RJ@rSX%#V_+4~Ed%)&@e0#q z59$!`MiaJ3!Kg>p7Ii~ZmbQSX1L?7NI(?AAR0J{+p2mDO2tv^g=qUo5}6Z~Gr06Gi?(x2Rn zf*Zl}fiUoEu!KoTife%`!WMi|YhK69)gctxBORfi^W^FU=V?J;+2%R}wKsg;W-|b)ja5og(0VH(=odhTuanui=n%JJHLrQRvTXrT$+p*2p9uijrlIa7y^zlOmVLjFF&%;K z%yKJDx($xky`qXtOVNOo5(ZekjCk=xdd5NAKha{q=;G2TPfh~boTw7Emd<220M^K? zesbuu1GAr%;{yC_wEIpjpqbf<)g=YNFQGi^vBoO7X+M;!C^0{GvI}Ds8f~$v=3=L+ zQKFp?Lvb+0y`C4P=8Ix>s(5Z)A5~~GEU_CfLh@4RmD`#J(5f&?3OG2>1jab{0SN8pQZ>O zyn?`++LaFOfln$u`1pl`Ecer}r^+^OP7y;0LS`^O88|%&u>fK!KFh;Y4;`WHrA2QR z=|jOZ)@^-*gi*i?z|Gr@dj;I?h`a@iKQHMV^r((fmhJIWe#|H0cp;%XYu zgaL}+(0bz_{GYKU#SMzQ6l8Fcj;5)k++3MpNL*7;_CgjDtRoly`%Oruk&x$zeBv)M@9oI^Pwg*^t$1F}{jBs>J zN4m_v97<$7;8g(3M5D*cZ?m^zE-7!^xVqvEmCpUgz{$;7jC$oI(#G8^uX(larOK}! zYZ7)U-d8k|3m7mc5|s?j*i8Qz*@Z8a(HkjwKd?))(rlh<>+lNFUo+=0&*NgUJ>y{t z>)S${ngLzx`$-P{i7Pz)2^*kHNlvD2RoguaC(%!lcfihi-er=ylzgK_?Xy+7Pe(%q zhv5CP?EttCJtpY9H=&|dV@$^+uBr5JerpKakJ;43c8KFy9DJWuwI$(b`ZlDaJB?mE zkyUT5zSI=13-TNmcUlgT>DxV1E7WDh5!%h2pFiu{SPp3JKD*e>&N|I4i$S@)*Ijl2 z--)H%blqMl*&AMj)Hk(LIDMQMKFM8pd_d!K14WAFSwC5t-n-Dj3y)bQW0}|h&8q`% zk=jG|E}_CI>rv%Cfim6rmD#zohm#eSRb2IlC#I6YCRp{`5w;2uMXML#CZ`8zBY6(> zGj_Xuz~DCkr^!kokt=H8^@;OBA&BtK$;wKyX7`)$?^+m>7&f#=!k=ISWjbuVWd znm51;iGKEP_UUvH^>9#(TAOU?7b!?GmsCw@#<_RZ(o#Pp!iC-ohSinCS5<#}ETHSc zU#Rc+GQwK{9KC~sg1(IIyC4wZo<+u5p^(37n?Uj0Wpic)p*MTPZ$9*`a=wUs-V;$) ze<}`p$7o~}m24n}+5OGGR(j{FQ*TCZ#=DCzX+3eyBU4VKE57Y|M-m6M7n(WtqGClt z+$>XGMP}^_lI@6m8;B~qxA@h_+n?8IQ z!k3=jSC~Z&j6&yo{^KC+3I=(qW4axm5f_q zPTLFNHWyfHgDbEAXbm;N@P`{Hcf=OHXzVX11wLo5-`-xeJ^Pv)eSYG8*hzrPalF9c#%NbY8@-PC)Z2p$M!lFGzh@KSQp-1sr_1EXw3l zmese_E05kj^*RbksFE(a6gkHr9W9_8ujHGDhmE9i8O;c1CC?V_-tsc2sUB1>)$+Kv zN36H>waeaSxEv?x0^@R{BbqUGBwtm<9@@8(w7k|Cs&(*w;~1tQr^6uGYM+ten6tPy z(5Pl~IE6K5^bkuuNJ8N7yW?q=!-a)KVPQb8 zb#YTQFvPslWWWU1 zC9rOzuyVbm^{hK>_Ek>Hj$`H}Mb5T!loW|C+gKs>b6DU0K&DXkl^c6ox$=}C=SWi> zsWw5#XT9ZekLA>>LQfw@mU`4Lx$h0LQyeY#x_YFV`8*LtDkMhQlPR>iProc(ljhdW z;L?*PbrL#7k8sg1sq}D@52X=y-Ur?`tcQ?D(FRzZjIu&GW?@;q{*ifRwk5a#kz2ipVtjaT-mFZ>Px--K2>& zkKzwk9>>RcYSD79^!t`09g^zgReGf1kr)n#J<_*h?;OT*>-fq{a5s7$0QTKAuXUJY;Z$O*b=bAY@YJ5j;HkC#vyNWC@T+Cq}C^-7ws+L7KJ^37cx|fID*DKY3 ze8*bMQjKw;CnF`G=c6158*prev}ir!Df4_1aWpWG<#84!(?C$N0Sa48J|bx8F#Hj3 z(_K#o=~2NoeW!8WIo%g>>O`I6$#F`Ya0&k(&79FZI=HuES;qIar^^{2?OSe9EO6Y3 zjsyr^;k8r)RrfIpIXie`mj_nH(JtWj#TRzUoeEusfnUd8aIr-XIbAbmkWW$mN;Ht+Y8}+rTt? zRhHZ>jJLy&{F_>~&Vh95NgRSxJomIkA3F5u*3Z~-_WyFF&IW9ipEI;P5}@l2e6GDw zBwRX!U8S{MqZ{5X`Nh%IExdRTngQJw>i0AdtdM=>TNU?IVq{iK?;}i3ElJd=hujls z)#wwzB}%4|dfgO1YtL(5Sug8xEND@8ptJETxcUW`ul)M30hMy|UWoHV?F7esZO#;3 z4sh=CLSsuKEi9LqE&O`$E9wiA$d~P)4io{37YJwD;g3HF=oVt`G`rn>SyptK-mX*;NoK{8okbaQ=spUJ5uRwl}4)xUwg z4Jz8IQELXZ(I@~dQjT@;{2`+eL7@f3o3YP$m48{PFJJy1{@zw|fF{oE5sa;G;k5Hv zWlfdFcUJjz8DCLUotQ1?X21?*4zx@=YxP268SN9XGk-JyS z!5c|vyeVFjS70Z8c|38OJW)(8JI}#O!(f%E+27kb_ngP%I@_V7!&>9`djGS2*MSlL z-G_h`sjO1WqDZXXV@0W75{O|hcO7lk!mVedru1s9t_oQZ)8)9sr^E`(3YwR|y)oQQ z8McIMPQXB&vDOK3=Lq8CfFuS$Jih9eJcNm#Gc+hM7KTv6SE2?O*`0sD|DkXE3s}ve z)f_V7#K(mab;wjUN^R`&d85u1@ee|h1NZ`So(w?C4uPAR1eV7piQE2IFtbvWLDXGbY{2$%pHpMegUV#k4xJ>#6T#jHqeZ zZz7Lt#!Y>`qP61*Ni`eX?-(}dS@U=BPN`$(CG<G9C;y&*vSj537qn!F%P(@ zAPrNgmSf`hMm?>K!G)j&gQ72M%DRz8Xy;}aK540~c;Q6EO!MWHs)TPew6V)2(XjJ- zlkCYJReW@EtV*Rz38V_Juni9sh^P&cfd?y}GaBHYW<1=5`F=2~^(gUze{xA(4MJ)9 z9^Whod7j$v6c5t7sCX*Gnt{{u-Fc0>c%)9UPx(ZI~G!ttfT`jM~2BHYIA^b$pwN=D!Wn8PsaG~lGbua`_;Hcq&9 zILdh&<4ng#p|}+9+yvt!>__y()0=(b1LJ~}0u9VwH(w}JiI_+rlezY9SXj>@>VtF*I~+%;)y%G_nBNnD_~DWE7iYl zDbxgBVFz|wLACi$9^WW~%Y8@I_ASep1&1stflVv-WiGAO0J6=MY=h2CIM;X&Og5QH zo6Ssi51tBbOXuKf@>#Eq^P|Iqf)3e{3hbCW{lPj%SNj1ottOb+76;T}(9U>G-td*| zhP=r6s#E40%OQ|+q^Gc_&aJ5dQOyNUt%mYR(!?G_t1P;Uwo`?^u5P#qiP479_Gb~b zU-Ja9nX^TP39gbB z3?4yggk@IGUXrITgF8p%>KVyobNr%$ETDMJ2W^u@T-z}V zDE0qk#IfJ>o!01_ZTdNRdyLgy_)Y8dWOl3{26B zdJ<4vIsb}T#lMYj9b;un3_BfWhICZ4DoJfiwKDExWp*nFNvfr!XtRue*T?7Z+n>;9a@NnjM94{C~7p~`f43eX=;m!%`}&POm&{G&*n-fe+XNMqJKfqlc!A;cwm%0v$0YuI^TyVlkP< z{^c<_h{YNIzCk=zo7CmBZ%N9cpfkmMY?p*T(7;=0+9U zR)5u&`AhZE*1z`&>Rln6UQGs$)c^s{_q@%R?<#G^K|& zK8iA@!$RP`A1b~k!30>2(wUzH!gb)F;^YVU4FlgT;lRwRAT-< zR_Ha&)s281Gi{KFM^t!#rtHFJ^-7yAWR_rV{d{_lp}%1C&u0J<-bBsF1qnTAerpeFGWkL!uzc9~(XwGJ%htmu4t>~aT#zqx zYgai7Idv?(O_^g`Q<$YS<#63{S>c*IfTps@(ivHkqrWw^t)E0Aq`z zov@VKA?vSZ@@#Ge!UwO12Bpsi4&-Qu!-9e6Nj}7gBGIeM7PV*b0i z88?jpAnrcFvME4#H*eB0!QFUCk<*EM^f1Nt{CgjSEhdx5Se?=_z!g4rpR_3Y6`Kg^ zZUB|b+LNz}clD3%z?!-Fv*Gr|C7112&j3a%QLMhe@c6m|E_CVckV}@fXp%hXaOv$> z&SKwaVF)C6idtZ~QQUN=2pn|LJ=j#iMZP-R;er}I3~<|=foJWjB1VI<1!GcIYG&8- z(?Rf~U`LOamIenPs41Tga=SK7b|zn@xB=JR-QIGhJ{00SgRSa!y<<481 zJ!uyJyr3$@>^E4Jxg-0WArr36Pq&TKPJ+)^bD#i)(8P9d!u6_-%?Dr|&(TY+npxcRHkh^pa zar9*G?fZfL9Opsqt80%yRX_68o5Fi97{5lGCH`6jb$xRHy%NYqNby#JlYcT*>gt&P z@C|1OrLp&Xt)`7*D2&-JBD2lZm08cSNT# zCQnL3PHFxTZ?lu3z7RvsnwTIQ&D+N&8maabl_%o|w}K#+Y$etN-y4aOcg@SjoTJ7B zVomdH76b?Dy1lhGrjc01b!YYs=b!Z>PPPvh-(4xsnH347rSHNQ2xYtkoC<$tN(l$^ z?t3KJ{zkn4$_k*8td2>?YGq_f4|-Y;yzonsV|i%DI1c)}o=tWSDt!NvyE;s>u@Kb| z9H)lcbg7eHOWpjH^sLHXtk6_L$QgSNMMD+PjXPS>@VVr1oQCO$2}>gGf2E>u5g9QE zgK;O13vfzTAmV)+8tif~46T>De#uphaTG(rddD|OMM%>qOV8U%r+3^`0wSsNPb$(n(id9H8mg51I*!V>uOt$0fC1m zwWKEVH_20xReUSyE{kBd&t2{E<&p+D}c0WTj9BQV%;y4 zzBurRz}|%9O|IWPg1a90hIO>>HG}r7H1kk6^HKufNixt8Fj-M8<(q8z!W(riBTpmG ziG>%;R_FK@4=#)YCZJ=OX?@=aR`!u~+Ds1?f)4D!-MwqG&fLr~wmHFlPdvHWu8!by z3A-p1CvFUtTnIX_N}bZ)8BQWEbsdw{YI)lJVCnbXQ2o6(Dyy3unK3&HSsKE%+q6~Z z<~201vY%W`?Hs6{*<#Dx!;3{3#YYE25dOLd=jG2XvyI_>bux*tys7FV7g|?7gIlv; zd;6C7yfs1H`pkG<{V(Q0s=fv*1vCTU#*miiHa`RTtOuzy?a>MS0G)P*^P+*G@Y5Y- zBYDqpVZ*$5sXSZRdQ}eHrLp&>-QYA*@Y6!0o&(x5O%JGVoCI*U5?)~M3=M7t7=H%m zCkez5$h-nr;@N_EwgWUn&k!xuv**1B;Ga7-VxDG$Q5)>y7 zw^3ov7+R029{+GYs;x#>dAP0m3@2w6-KUz78>m+~Z33vl#F$K0+VexRv9?NlPm14O zkvu*fjxEDv`p78=SmDwP#a8=HZ!z&QKQ1KRC)o|>ca@`@sFOamJuivEI`JAeCyyjf zUFkpAVGT+%?ltk`FvGZio1VXcIK>80`|#*g$Vcw-@3Nuj*=U4Yq1t7>XoZ@FneD_&QNQ+Obwky5>K=ef2fEd-obW*TXMa0Q z?Xmn3cHr-mAmU$tJ-_^xq5KM(Jo(Ijyd}c*8%U;%x+kCgk2ik@UW}ZUyd%i_D^Vx1 zJrUR+zW@q|Qs7c~eDQ(Mj`DwY2@DIku0g=&T~x|%NcT@8YOg*;rUASau=q^*-$(lU zW3k4-wHDSS!e`*h%YW(-h^c6PPgDet9Ax|3!D`YtkL;J7XOqHaAZLdd)l+o24uhrt zsqa75h4bzoV^5X~&;6}~|J=)8GyKO~f4{n@{ChinSz|c=;P2-9cmMluNB>>AzZCVq z%J5%h_^&ejt9ku@)2QY;vzK34kg>Y>um0;_r~WVQMNQZZ$akwDX;VgCm~mSyLsL@j z_HX@Et$bJ(Hh+?E{uf91zx&he4v-O&zP9pY*nuMP!jLfcIoj<1aDIR1r-1*(8cjWp z3hy8=C7v--pFs*0M*i=5`M1$T1AZ~r8GDPBOv8a-O#MG`r6(=is`!lpxPIX@hW;HP z{409-#|&b%e!JjUmyBG*|7bygj?@Hx101#H16}XGMH~NU{?At-*7N|`3_y@Ey8_|= z*~-6Ay!;0?xr|3V{abAE*UtaP`g4u|;sP?hBLw4>@c-#*fBOTvd}|WcSNTU%|G%$P zCCJE6q*@C}-2b1#o&SnQ@xS8v@9qJ1?SFUA|9#^&^3ZY&yHn}0s8i{R0abeAnMZ2y zpuLQ}D1eq4(c?^-izWAeuUgSOpX(e_=wZ}4n`@618L6rq>?nYu;NACTf?E72f z3u-<=?0$;CSjBA;jorI5oNkI#k++{}6f(-hwd7J1_H>?DliFK)(TND)aAib%44Uld(9#{E^78q2kwciQ2_!hX| z4xm`RJAs}{{l{cZCiv>=Pb4%W>B)(xp0#llhfvWlY>EiY_oOXa>WA$7rD1BnG;eNoG z{RiUdhrC(-I}Ny~YN!Zqa=}*L_elmY+wIqyExLecxC~3pIv$&^y!}&%tdB#~`1d=H zyP*JScCVV!Lrth*W8*YkNrbHv9dIEQuwHECX%ScdP61e%$qxwYao$db9i*d!ILA=W z#U4SMF8z2}fBPFk1&Dimf8w{ZjLG#g)33@xuL9XD!j<}^jj&3)@1OMt{xDMm_-`j_ z@gE==C^`Dsd#Yw|to zn^?-F-$=E4O|ttp_xkV3tH>N87w7})Rxd)I*ZDyP3^_VzZ>Qp-8>){pE5X3pcP{{q)+On*EpR0RlQWJNK$v{l314Al0L#|Aj(Bl=Oi( z0JzQ3uIbXn>z41}oKOCc+h<7l{9pR?Pcvt|@q10hiwx)5O9VmFZXIzvI+5cN66gNx z^6g2BM!CrsLO${Ux6Ae%XjgSHTsj$<&j|3a`#&e}Pjgnhd~Ru7oYr6z358xBmOtWK z>`5~fv*!hLVOgj9%AdU}UI3~OdBcJ$oEgaPp1D|lh2nCYwfY~svu5@V{ok~Fikz?9 zVK!i-!YVNG$8F%L3h@H^+$!LkEMb3&^C1v4@TOjvz1ThiOniO~PqcJp`>j>oM^WB? z7sK7EXwjzsT-^^S-nrcPvqpUOT%?o9NoiX4;wCCxCstT%^($PoM=G!00_1-#`pD0rn@owV3k=wu9jSi*s!DG2rF(n=MP2+!Q z@#@t!&-H>hXGKN+(!J;$VD-3`8C7a7y$uD%=dNgd=^3yNKvcID*{b-rDB{amV4JHG za1->dgV#j`z}O(&(xC53wt*v$0krv{S&x{_v#-YZGxq)a3X zhwV-LO9R6)TL5X!Cw)f-nx@Mbx=Ixopw9EJVXIVv_x&prCOc{(lgt`C_Wr0e0YswM za}_X7Wx%LK7F{i=Ym3eHzTN_3o0*bB)lL*KhU<7O=9g$)M;Hj4R5EtVn2=*MZRTMC z|Kg#B&eC0P4|x~aB|;DqbKaGXmQaIFPD4=d>A7}!u`SZXX=_x_0*gs^gzyB<;RS#GxJ z=6Y~B4Ah7C2g>P0jv_)U?gkRp67*Km_<@I`5)396Lz?Dmh1f*(6HFTk@fCRO%>|bL z+nfIQbwiPwk885%l_973E~zbR5>cUjxMb`hMRRHf=BZfr6)J$o(NPpWMv@j}cnyj_ zvx2GuHeF7MD|4EjIn*&IHA)n8j5X(T|2eIaTzFA7+8jZ*5~ApHHTif|Xj$QTr~s&` zx9oYsIse=dhu6)vlaZzII_iuX4GRTUDkUUt2u<_HuZNRkE--`K5KBFEcq?gs$Blx(0LhmtM#lwiOJ1S5Hs%{;L-3C8jnRwMNng5^L$_WhbBAAJ+eJoU$>R=yJGf;J!d zJNMCG>-RkKHHP>cpdT3p_SN3NWlb1J8&v{FfhkWvKkjK#gRJW(b&jBz!^~aXrohN! z-m-`Q7295tN${~}!4*CuMeP#L%0a2z#Bsl``nr`5e@zKoIzSgy;ZietQ*U~HXj>CT z#^4!Aw`+8y?`wmf8m^=nm~OXP3TTymn?2YkPOfiu|D)cw$o?y1|^{2+uVZ;(Cu_LWKG!&{bT-`2_yF@`G5yo6rT;Q}gWB9~D) z+2j`cf#$c@$C3{?u0f?eYlFlWO;h&vlCXVwc4D#AJFBWyRm_2O%4pL!k)Zk|yFKS& zLo6bT&Y*}bFy8n_0TwZ^dFbia&Ovhnee!U)ZAq`CuIy&P{;-N(xglYPI!8Pf;_+Zz z)MmYr7Avuh^9~#L4$RM)NcVesNIK22MG;X7-`ABYa&UZ;ZIq@-gbkyE{vs#g`Slc~M`KI6T$9bjXnf0}pYv+pr_e{e zGUu+`=1i0EMQz`x=@{GFLMA92A1aY{XX%Wad?Lnenb_UVe>6L$w}X1RiZN!xbA*!<8tQ|slz z!Is>%rudjV?{kk}f*P~i!SkzDSlXuZa31r*r)LWuBR&q61-@?pnG36o2R0K)WR(FZ zX{}ws{cRlF2}SxF zq%wE)t6LvM*3Ti6D<5P17H)zcwm#UKkEwHIILf(I2N=YTqa&NeQTlT0n~aqsb@ArN zWZxeUPD$V8OHVW?UjIm`Ta7AAm9V@$qj?;$S%t@D>f1@q*jyGBua%88fj42HM*1%XEAG@6QB6Y-k1A*zo!-nKED*(QCuuaiG0 z(@O}*PzWMA{5<{UI=xMnid;qjflJ{tN@!*nCe!{REO6A~Sk&U+1G41|8}lolC$QB4 z*)uh9jDjW)xj(R6&;J;d#dd|@*$u<1)yV{gvE@^U?}C4ZQ#?vixeuiF1*h1FJ75xi z5}`IqJDj=1jS~8`3RPdHpO16kWt<_kC>3XGA1wr*>d$OrkB-Ecr#vGQ*Ebbp7ARg+ zXw8}}Yg*RcJ0c<`#0%nIGrqBQY~VL6 zjbBU;9JN;ZfYqGPH#EN)!E7TtB?DK#DrhiHsgj@y7Wr}WMay-*%#;LIw))}8{b9Q+ zG3o0XYPfL{CsHXtB3??3E+Hyv^fn%vzW?BRH2eGwZM?8p99tQJkmrSztWC-kqhEjJ zUe<9}#js;;w6e{aC*32F7#r;xh0U+E*=CuYt8HR0hkp_Oq;tRRIsmP8XOP?5FB6<; zr89^*n3T7+(>~5)TxGN$`N9_tT@4utTZ5ubss~Ll4bsa`?*!fuQaEXlhp3GFt``y> z4<@pKx`J3eU}Mc4Vq-rIkBAE`D2@O(37C+4GYt}BcC6ckZTD3~;dR~XKK3uPj{>}{ zVI7EUaNlSa&$ehD^5%S3QcdW<(O~tVpir~4bt6y&xGlJs?IgCb0AGGnq=XIb3kgs% z1`CXNbl=s7O9qKs{-FKRpBae>Q(%-hwX`L?puVb6Ru{e@Uo+Cs?7!(}>^FXC78@Wn z@!@p;N^@W@dqb{bZL%AAzzoy3!um{1Ohct#4LzowOM9 zm{~;C2j|DYLEe}5?^#XysrB4V(RS`fKZo;9WE(>TA>4Nl7$Ex(Mq%w8S2{GF_ODW`@@sq@B$4^{aVk{178mCyHT>DwdHM4r;Oxxh# z-SYUBTTpWJbdOF;EWZ-*)2;G=ArFO?+w5a$z%k_4G>q;1W#?%M;%uD;oYhks98jr! z&X4mmutufLBHJWAgSwk_@1#FJuFy4L{CWsrWD2TU{9%R}+Ad-8{P>Pwc!!|Njnnsr z@%7z$ZyDZ-ZNpI_&pp&%2?+dgfvdQ@F-JkMFj?5sm!eUbx zQ`SW;5bSbZaLMU7d;NHgg}XugZ8~4|o6)nc35V}+h@HT34Gw3V7KTA6G*-sE{+DsV zd?8e#Jsdt6=glwKR-OE{Fg~Uw+suv{{EyN_w9Y4=6R%po=`NZy)W`D69b zNjDfYWT&%_=OIkSJsh^FALb;HXP2?IDw$E~vmW4Ij_340NQ=)S6XRSd>g9d}w|{4_ zco!UzOb%96g17WoIlr`h| z&V*lvxhO~bEwS3etpizJ-JJ6Eh}}Kxf!^E?Q=FQpJeEvD;kfc)YF%UJaq!UAriSn) z`;V2*ufW}1RvG=L5jqOQ$`2WLhQ>JX4O_#}nIfp&9H`DH>&L_{;ih)6vBAjsayEg9aN99Oy1XZ?^_Qk3gvtgXSy(5I*0*4;(#J_1ey zQprk-h@*8+0=Te_pI7iR)B((knD9NE(MPpst=oN@(=fqCO3~5ksS)iT*S4} zdrLTQwk8-H#l-9}Yp$|H)#WXT71GN?ZRDZzMoXI{JS5`<Rady+dv zI&KN%5YhPOT>w6DvVO;DKJi4RD7@1Ffz9JvfBt@#`Qa?1Zms4DOw8vYUY=t9`=>I0 zc+84Z{!niOOronJKW$dw)X)bl3ABDQ;QE>{5XEqL*`XKJlbTx+NoGEwk^*Key0U~6 zX#%yo1`m3&~l={(%xrZkza?e~+ zX&EJHaWjg56khAxwn^C1vNaDRDL8)HvLIBJ({oIP0OX#fn?X`Mc_0xNQ{!aty#@zt zh*X7RQzm&?u56!om$`DllVsP4p5yN$S*0Ez_PDvWJSG}Or@*Y23uj^9$9qOo`90D3r}7h~USlu!Cssh?oFx zowG9e5@)ltLha8Y{4cpuqq?8g_3vSCYq1=7flpGYpsC|CUM53Kl?9%)DBG2s|&SNHX`coMFzlyQ+ z7cGpttVs}%%6v6 zaY7cuMZLDDch}0VltGk5`MsO>T%lE=DG}qgwl}B-mb;@a1X)naiGMTgfn{67FDy#z zH12RfL=S(a^73S*?yQ#d^P>0Yf%v&s>@H@=dd&oGnqm2e7ZlyX3=_uzadkNajTeS0mW5VqpN zU*p&{u&f6N<6)x31}K|4zk{uAV(v7HE4Eo*Ig*`!GPq9lgaQ0$PfBMNmqm328{~N% zPF~yMS8pS`+IOTOiWb~k*FkG`s~0?7zEj{oUNNx!LD>Qw*V=g=x-O_d58Sfh->fMd z;7pguli}YXb`V{Obc)U(MNow!$aXvOt28Zt=0BjM94``S( zssRLD6jY~>sy@r&f^h$mZlPwtTA4OvCj{HJ^HnIiG z8@sLXw^zi&o*vB6qbe#L8o?7zZ@#(D@^l$`B6eH}D~N)&_Sz&f&af0o{q?<21HV2i zI@Pw-(rQ>NE}z8CYLnVmvv^GohZ7+B;F(1-XpI6s6U_&9hF9UIg9&d+w6F1A>!2mj zGM>3w8GA^lnhj(%p=;x;>G^AJgr`$?I zZY71~Q+^$LCuXk}PMX+(*4s5s=B7pUu5m>Vz2FMe&K8!kr~c$-ld`837`)*I9t0S* zz!BrGTKS7x`$YL(*2!auw&}yYt-zEy<_wET84F6#g|k9RqRb9%2vVfrQDDOoz7GiE z5;VFiDhX;llst6Hn9S=g1Ex?qMxlMRT9{Q7iFygY@x3H9Kd_j__$O2j=WaQ$8-v9= z)GvGee5Hn-AG!n%$OelR+^ubnXhSZOTq-m0)(8PG{eQ_i$f@bAEXJx z!lzGMR|oo8Se-AIK088N&zwfv{K&6@<7aMf$xM{D7A%a{l-~06ygmFvhw|k~Ix{JP z1#|keU4a5WnTB4zc49}Io(R39OF*JofWsVPTcR+?_9e_>XT_w%#JgeU{mV2OFW{hQCrpyGP* z*nFRGIUQOHntGy+DQNsl6F!@$vqS2}+scHe4xib!cucW{lt-$TEy-bgQQlwh3%RCp zV2tO%{*Lx99L;J~{Ijwg>uHRWDdbY(%a#z}v^FnkX8L79VMb6+U6!Q;m+!jkFqf~N zLE}W;xR(_10z#S3u;`*s4D_f{ml{iWqfm+oU!QNc>Iyu93L6W0${+Tx3O&A^VHTuB z50$R7>MezDuG=9yXI>w-H(rJ1KJF*?DDG(Yazr!hHU_z;NKMNaR|(8x-PV5$eQR72 z$@@T3uXVvr3zn)C#XW-M9oUd`_i*7{SlLG!S47AxRQ&E+NJqwc14yjWwf*v!ll<(P z+>O9DqJy+EXM8Jhnky4)EsFf4?shK+jHu+_pJb@ z8&-V6C&3Vla^??@>%Puq;(-&P&Jt<$l;(NbQPQP$y zi-VF>+o$f9g2~H=$c>-yaPlO7}2GTJk1~^H@wK$=hd$tkZ)N+ET+f zVqOlKEsix|m(1^t22d;1NHx(2FHg}9(^N0#nQxW)jwhAB;DVf~>Zc^s-?s(a{as4^QGZ6yM?sge`VKt)`Agn?xxooMCh{Fe(2}^0MtE=(!^zrmRJduk;0uC(pVJkaI~Z=$nkN;Te^`@blX7L zB!?|XN(0yvvmI8IVKx0!%7Pe2UK-?yhV`NFIOv$I#gp#EC5{vQ1hu) zn<$@XXQQ3C$@PF`{6MA(NA&Q*_$@Oz??X!Td8c|sDf7$&mYK4a^`v>`~q35N`@g(K9ioQI3D}nh*}+eM$kjHg+y&9dJ5Nnxv=@Ndk5TE z5~?7g+17Yf;T5g(c~Rcb$`nO_QCX9UAj#>Z-{D&uc6d=Rfy6bJ#1R7-K0f9cd?-D< zR2`tnDn28HH{$qc$kDkSF!jWLQg-RxQz40v3Sm0`8_t$RBnFGgWg+@kG74*J0osI> zKA!m;6Y;N+QDPg3rE*7}`wdhG2A`*96~9aN90$H%FWn&gwtmaW=k|J? zFoAM0f{>--X0m??I57DqnP@UmOep}_>}V4S4pJYUUKuLta;ckO!Zg}gKYJ8@Rgw;& zVQtNj2jufuh1|63<}1CM8bD^(%RWGIo;RAp`d@IFTQ(i&Rtj9@|EM7!jL>adZEvS^ zy{H=?%)Po7jZiG&8W$yl```x~0>610!54;BtAW7$Hmd7-lEp{|Wf*kYoDnKEFNimj z85eI#Z_`e>BRvE8YER_a4qh7(S9;Hp=b*#LtX)K#1#5V3c z&3dJq?$;*LDF^c+kIK7QCJ7699zJ7wM-KQV$7E-dx}jCP^NJLBL3neAN8w<0A~KR# z7pvD>JbfWch8`fmY{(;wpI`o6PU7Wz#U))6#*6mQuHv@Xc$AYO);_<)%u9#delQDA z+V8{)n#FxydLc@ZBrU*&QGR<4XfsR((>Ws#4%KBP3bVg?f@*Vfjs!_Y-w#a{ zi_^);YBf*_gX1t<<6hI1ef6t-()NT8_K%M9Yt6|p-2kXa?Sb|xl{6&T=!b>{D9HGW{y{Q8n)l%sc#nTW`W_G_bTVQ zk|eF;gAG$-?j~+#`)lY`aW!yV)0~T}n%IXlwtf9TEkH$47<@Dx{#MdsU3v$7bm0b- z07S|zosrUR(ew`9s{eyN6EA=!y&6L|s(fzv`arYv#}~Qw(j$RpK4*;f zfy?P~mm6G^Na;JfdWfKg=vf2_rIU6~`j)+#Xl@PsQ2F>Z-O%vzcFC$jw^W>5@4)o* zOZ?6?5694j>qwpb!0awJisWkObX`Wy+2WyjWj^8Ndk@&xWZGFu$PBHN5mRtM4u^f! zuk;Y?5;d#VHOU9Sy;d9+4x&>)e*IiU|CY9(xFhRLC6M3vs?Q>k`j8mKZg?)m(w2B= z#3pX9R&`eQVmmK6i)3*ekoNoL?OA!byxO|sxj$hf|7hP{6g)aU)_NPLn2XiT?PC9+ zU!@IP`t^o<3p&D8cfn+JXl+07`&^>L@@X+!ZcB%yK$y+9x%jXerN*Q<>9(tHVam#Y zXFljB$RkZJ5#{sP*qaS7(*ZrX!fXxSfz$MNk) z+nW$RW>FTm`>1#5+*N_8Uc8WL@A^xo#5I3M;D|iYL@%jKxPThJ-Yn*qnY4!~YlpJ+ z(gy4AZwHE4yKRt)PM!^L=BnK3$3Wg<_gUNJ;v6R$Y5{#o<4~O6jqThXzaht+O4`j0 zTHcbSB@uo$b8XkP33Wc!C(=qqs=}5I^8-5r_&iLOkX~rw=GFGq(_$z5+j;fIZu{J^ zY?s`H0{v{QFZEuOm7XmFV5m@>py_eK%?rZ9^IeJW8@WbDzx9S6Z{`&k!wct7aXc&A zPQxzoHvGe?zn(vu`58_Oh>Y;PInT13%T&kD;vkY_zGN)~BrYewzr|CAhal|-3khfEOc3RQ%W3A-zw(W!@NShWW z*w@3+m0zj{t3hW;;;B;wlt;T~apq0)R%kI0W=wCDz5vs;!ee;n;9Jp3tApd~vA>jFXC%vThVOP5ouR84c_{kEWEV|Q&l*DO8`^!W9vScWl&E#lH5|mJ%r~0^BnP&d9Y-#K;(mb~;R* z+Moh&>Zax4hG%J}?*mS^JwMODrZ6Y1ul>-F4X!FY0Gp z(nuZ2TR%Uk5}!K=%2f{yw~n(b_{K6B^)mY_mCSM!;W#aqiNg57h~cWyT6EFczJRTE zqL0=1@vU6{E7Ll^7Z#=|H*&3Sf?&i{MxOOH>bv-Rlf!Fq%}INfTovDQwSvu-wc={R zzIq34KZI5fi)e=|t5Xc>!UIZGT$mj;xY%rH8qd&TOY4t!Yw~7w%FW-ppasfm7=pI#>cB&ZntP8b;Sw0^i zDB!+{xwLn96KWPC7O3K?KoRwe<4$4 z39ofs_Jh$q8Fm^WaH3h1-FoDh(2L`i1g>2ghN-j!%QPpP?`|Tqk=%T}z1BW@`qeMR zlmoXCk2kkfXo~dd)0%~k1stm-vb^k$V`3D@4gSIN~{Sh#;fGsx5Dtjkt&IT%(}_D`%>oNA<^UoLG6 zUgBsgdzMI%I=pO<6_wQZBJs?*ioR}m(gBi{7by3Lt>pu=vN)!-3TKE@I`u_kCob(I znLR-VWdA|W$NVE)o~~a41!tIuUn|+os$Rtd`D=ZS{)vXPnF>#`+B>h&95-*&BmJLW zx?kyJrDjXnj~k5l67pB1Qus~$2;>pO)~Fn9f>eEOI-StKE33SO%Bm*?;Y#254OvvN zzx82sq5@25`qlnZxf?;U09Rw0ul zDptg*`WLwM-P-8h*4K!B65XC}LdZBPr8p7l8(GQR+;*uKhV?DHfHZ{eD^fi?9x-)* zmYmv!Q38~MY-UEjMgXcRhPUDzg$|MQL4Ts%-;RUiVMmjujP@QY1o+mhM=JDU+>g}~ zum@8wygKl`=NIC8n5OpV2!qio&qcqfluM~yh;HId0i>m!;!&H*s=d$$AZJAI8z5!= zq->avXTDLVE2juJ;$E@BH82eKD$3n!|6$HAz>9fIFYX$*9NiWr%Isuyg5o67d1GFB zFK%ShrCIJJOROmGNkwvONW2|1>)K8x$9%Eyi4^c}eV1&K@`~2JZ>LpYvV=sRzfcae z@27<$BQTtu=oA=o0iQWJMK7DjRcxeHrFO8fX09vKY)M{NVpsBQKq#HOqs7DBnV_TX}sPB*IR&D9L)t6uj_<|67pLfow>>d zd@E@n)g$yQ%YvIp?LEcUXr-7Cy&y=+klFZ zmql_NPQ4`~#mM`TI-OA?S$XpGwF1iddFO-y38vp!COR?wp9<2S(Q=a@r(z^YX&;ew zs5rlP^usHSrO$%yEg3YPI3FFuWuP}UzkMMW+&r0OaXGVLGbint`gD-RnFVoG9}pWG z3sme1fx#kdB=_z}OzArS15RRo)RLqGkwm^`!IZbpJtmR(t>3szVl(jcWTD9Dq4?O9 zMA6&qG@*iKHc0y{NmslLpEMF>lHiV4=$UfDKCwq z@hGhGpZPKtkpR=$#JH6il2pouVfK*H%$HBr7xC`WZhy%0+TmO1c~6@^NqdcFK)i{3 zP`f55X`M8?wA;r5K9qIQ`E$tYczKJ5JOc081n+f|Gx6?p=A6}Yr-e-9ngZ$3FWRzd zzMH-&vN92PgLRJRX#^K7RU^Z==`}Jf$yvF9$%4~~uV`KWt>^5V0&Bt3*bjK4Hd*Oh zE%)Adoc++WTRxjo2A3oKawUJdxz+7Rc)M<+=NOv8+|ueMEpX&cZtlyoG(><2`qEV! zPOJg|USiYshDZDSuTGla8gyryeh$xN_dTWC?VNEum;|ynFL&@#Io!vyyQ_M|ZQ=Ss zjwJPySwP#fuDupCUH#Q`wY1GCZw-R;+p>5_>0LQV0QZdf3nCyXGIXfKYcip$TvK4} z{b5*3!?}dV3I5wrQf=BOa@4WC;RdzV_@JCpbIQlOc?N8_4h*pkoM38g`rmfW<9WIy z0yLoz;qpnv>PPt|gV-{orNqmMS#if}Ff#9cClywg-)>Hgg+m*Pi_^zT4PC}FvC8#U zMu~oQTY3jC?=fXP(_IU-U{zxq?K7b-4vSCAP%*u?X&ghq;d z1HeC?i+H>K=aVuo%i1bTLj+=+5$B~tKeOK;tW2%=aY7NNi8HQ_#*W7tIOq=d@%+ov zx!EJrM=uV+js`irSL?y-;6(Jv;GWEn95=+4)`s7aJEL;SR2Yy!KkWaI*9SLX#iEa) znk46L(Eu;mBk9+wUkOVL4pe903;;8>UUri&s_SvvnhpuQ` zDGKWJeTjD)`fE7j*B^@(PFw(^u9AfsI5`{?5^eMeI5{L;o%6g%1&HKk0bH!(r&Mm0 z^Dq4Hx*c{RN4?cZ3Ah8}MgYi~K_&P6{iEHvQ2$(Gp1MEgcr~(oIa`E3kf}#nP5CvG zxlLQokDfpwci-sC4ft~D@%t879^BK`O6?gJP?Z>_p=itmkRh@@VF#HO9LvkYeFv)~ zf(qkBt|Z>5CXz;H9+F2-!8|sP$_R`&h+$;_e;z?I{!Up3&;%}*noXJ>*#n?NAx(G# zTX!KXqs`A$etsM>mdq?!z(fOPz?hAZtnr|f=yDoDx7;gAjv=WiIAUtr^*yCYQHO#~h`*QGvB zy!+`w5d8dIAm)5|@}?&ql~e%bHBUHSlf6#mFxArBu?Ia=_Pr}TCAM*%PZBC$fUGbp zNHUb>>##oGJW|MM;f9$%HQ5NElJ5wH-0`mZ)UdE85#z*jYrB3%wNyLr`=(d$aqE2Q zq{hsk(T&7ZJuP|LCc>0^_XKI=JMQJn(|@G}P91d2A8$V9blX7lUfRt%+$NWHlDuY| z*o>2L+J=Ha8{Br%Qo!9~0tQ`X0E#Sh9Y>5SwoO5t`mn&8@NFtmx7jbjPkc{Q z@+ec~`^_2+)+kt9C@!bXsaS6g6=zDbKHn#s!7r{U-rPF;17nvC*2CYXzT|N2_Hu~B z>U--ZZH|Yry+i&&pLu{%<%-$XMWBEW4m84hfVym5S)qY;sxcXl-YTy)(4hWt)4}*g zo89v9C-TK8HKKcJq_BvsH|!#w1e6XltT9sxL(LEV>US_D+wxp5&6Wpfp{L1rAOGg=Xu4Va>#yg@ktHCm*>aKmS4Tl* z4~UIcAJ4AHZbr3V?u}(%qrfU|qCySR(VjU#nct!IroXukLHDb zyq%odiMkdJ0Gox! zsjJ^>+ho$>dAI{dcBx8Y9}0REy$;>VbC~tsn>(MiYAQi^EHWo_UpR<8fk-u{|*> z(-!Lo2!lL5BgcLJC`*npJ5R0!qq0-EZviuFWY_eX$BRW}OB-vS6cF+m2U=@_`fGyI zB|NV-BHqS^qi@~135tz>m~kD?@baW_wkYmWI!x9Yt_EBd_gvXmU`_#Ceu=1211OP; z1!#w|Je^hth@6wq%Ezg;904+H8+@2g^G}-m4N*-=BnRz4rOnpa0#dhr(RNu4Gy9do zHH1z{0+%2AEl?M!Hw7V8<=X%|S3CfYo|&PQIW?>bYQO1h((KuEKpzAbqFH3%eL`L& zOF6x(meKfvE8kgHd|b-%fSzUJ)vQGw72crAzB`>Sxem{Je_ei%%SzV@x8e-B7r0G1 zmErR{|0}bi5wKgckcgL>*_tyC-S%^o2HYyao94H~fWhIgJ)1^-yr@FGJ8|;F#<@$M zn2kl{gGsWUF4NF0D=`F*XB`Y(*HW&S>90C97h?&=1YWtX<2>knmYvMn7~jBR_tD?j zp;P51=wQxjW=E-9AE~rCaNr>+nr!sY?n6xPGDR8^@{ET2eveA|q->M~cix5!tzdty zII*Cnc>$4sy_B@J@uXZvKz)D{83IXENQh@UaYr?lE`}Vs%(uEu+{^IYan_<*hT!e+ z>g<#;lFQsVHou14CM&L46V;Zwgw0|U57F8~4Cy=0%qFHM z&j{2h-rawzCbRvFa{Ilb&U({h?fvdlSC=Z+Nsnz>UwHq%e!eB|(NlP;`K33KD!-Ae zHh1{)#0Rw_#3Db#M}cxTW4{e51HDX5216dSd{zGBX2Tj2#l4X8LQ`$69C7)C-tW2m zY9ID_Yl2~aMw2WTcOLIN8FvEz2H~x|%nv(cyB7V-2En)nts5osN`^bY2x6P_3dZc# zyyteHZm}e%bj6>{X^-Tqb+`zN{+xi}He`dpVGa+}NLi22(ew(XdIDH2n8`+_qy$M# zPBBrhd#?!*OjjE{QF^5jo`}SyfpI&Obif7Kjde!o=;Q=#xAe$T^Fim&*ul zox`ikBVAn3;4?L&8QlAv6p>Cg4>;=hdi657Y%AW}R-$iuA(>OJ+s)##^UDg)VfOvq z#N91%DgX4$y*@W2lSdq38A$-?8_xmMZ^l6VTAiRgK3`hqP&Wti7c9NCIjp##ko(M< zF;PLx2CdBQ_`|RlLCl<-f5cxRzhN`dJhYn8dE_GWOq)I|dQMak+p<#A)IoN1W5-E_ zCY>;D(%vT#Tv6dxk2ZHaCFA2%yR{Fd2xBb`SjONlGU)gQt9~EUVK$Oez*BBCHq(}# zdvZAqj!kVIkE*sa9iPa&3;Qy;-5!O&*fxI?QmUSz2%Z27r2kl2IW6|C85yqXkCf6B zqcQ^yDYetpf%?`x-a|_ja^p;jg!>-x_3Kn{)15S4wEg^(z@1WzIMQi-qF-`H_W$ur*yjvc3%ZQ=2&Rgeb0?EkaL#UufGWtU|rG^Z7!bE^wDu<3bJp2O6 zqX!L9J*Dv)#09}DqOBov93$I!Yneb-}6t%SyW=_ng}^}CdOF?y^{TvA1gzTr?wnBlh+JvQkWl4Q|{%^ zc0>E@)x0W$n6;hkUGb-r*s7wX_*=eW#mlCZAM%aBWh^ecW_BgJ5sD6DPzdz1?LYQ;(A5C}w}GznMi*3z3$YD4@sS{q0|T zjWWD!4fgZv8dM?9G9l0e4o#P0LD6!Q;F>Q2Dd)CT|CncYOAZ&53c=rC_;r_4w{gG~ zkr<~=P~>!%%JEgPR_WJv`T(WtV{V8II^Svlu&#PZ%{}H19B_L|L?g>R(r&9ti_7p9 zcK1sFI8uz)CPA{3ahyNqwDgJL%I{RjHzziw>f=GU?$A*nFf^#C9?WdzSwd01^>GWF z(DAeV$X?1Nm6{z*_Ya)r?)|> zVgg2Ghy~&Rd=ygr4Y%0UJ-#&Q3am6`P@c5cvuBLA@Dsn@F{J#hxLcCMqsOI+T^EXE2BxfaIakgX$oe;6qbCjfc05a_Au)SM@V64(y1D*Lmq}BXWj5bC z?l}EE(pubxOKYT@w{^k=VxxlcN+Kr@&(^6dE~62*T_sOHV^?yQL~y-DvmF-Nl+qaO z##S=5YZ}+A*E0MK7(JaVQ>m;PnacYv2h1(ttD+qiYw640CO;m>$4>YG&v_rP%7~Gs zpBcXN8}NvgP+gjd#Bc+Y>TLfWV|k;<^qzd_b~UlLtM+ZOQ~lP9(~3{UzDAsP=qKh> zw*p`mA=b?W#@`Mr4P0cKMKin-v)d#^|B!!K=CL%IMiC6&uFJu7)gZU5V~BmxfPR+| zO7Cj>Q>Jw0p8q_o&>`Lp{f?H$lXH{q4b_tJXDjg*3caG+knH?}TtL3)Zp zoE(uXnkUL6V%UIDhQ0q0WXWRcI61?j{PjvDsE_DG++o%8S1+mq+AfdQZSwZF*c3)8 ze=Q=3P!%}|GFb??h#zdW%Y%C820VX6*EOHcENk0}~5 zB?rM7tOoI4u4T#|mRVW6Hr(Gp9rR0HQC1XPj;W?%+}>J7SlG7=S!D(Q2LbdMR5YBE z!VOx3^lrbah`I}V%Sz2NJoX##4w-#u^{Cx<`_I*6U3*ja%mpK;$4k^+pV~L28awJQ zIQ5G*1Zx(LbwqIy;udrgB(g{dDVME#Lk3nHC3_O4YL+B>VAmEu)Y#wr^?MYDmlyVe zqrYoz=k(rb!kbn~PKp(bXTLKF-a!}4;q@A7KFl_~@%29Eq}IyCas4|7>Tf({HM1f= zZZo+nB-umv3f!hS#K$x4>>{G8t((8|&wAJ)Bca$s>2D^Ta|Pk3RewyKpD;=T2~Nc} zh(H5)HpbUn8oaxPV6r;;ZpEU{{(1p6(JyZC*|=Jq#_YPfH0mN~;Eo#~lDG|@z-M?n z=o|D-{N@AKd6p0&n1UF$8)e!SNis`iuSBK}&X>D~53PAx`kZ z5Oj-Lu_00O$;BfH?}RTtF9Rw(CTfhZWw9ruk#Ri}L3yHALa(?H%V|%2_cJz74U^>E zl536yJP)S(QD*LAtqtXZ{joyYP;=z)%6goB_FW;H6F9%A3dB4>~_C8hP=e8C4u_oi64^@lSbrKB=lbJM?cx zgTTeeJ%Hqeq(r%})?x8%fs}H0gkq+zf$qK=Etqu7gK&dDemm5j+0<0wPQ(0~svqc4 z%g-wiP)WWu>3bC=RRNZLo_M1j)`)Ud+xm1+Q?M%nU7Q$<#%qVZcqA8mtzf!h32D{^errUo%L@B#T2Z!| z=i>l{P?p>Nyu1cW*SLz^*pHn$9`+Ol#)l8?;=jsLA{G9zW?X5BMGTcV%O<;79q5>B z2|8tCnxARgYVxpFeX>tg_bj))HabX^=WaK4}2NCQ2r&-Tj}N&1osOsYqJO zLcSXoO!ccqERyZUsUl*`q9lju)f=g3w(A&l2t>o<6MzyQC`^Mp@;&pkts0uiGwuj2 z?>P>0ejRoE@*wucn>AOGc$L|s%$9aCPGxEl{kfD2UFa+}uKeq!0HOX9%w?6Nxzm;3 zV6mVa^Z~>4`!F|3PVkFo+rrF1;LNC_xGqyUiXJSXC=#v3ArXJ^d~Z(=qNe?x-k+am z_0j-DSbx8CfqRdO*zluZ3;uKaB=-EiD3o}ihDp;xaz(WFm;-TDF}8Y(^7m_ia5L&l!>$@$EL#Un^fT_1f7%nTn&oLWoc6V;lNZM_=Rn`aD9)6v3 zvF_0x7rtb1f!QYP50`Df#X(u&(AXnL9dIxT&&dh$V%+{#ERe94>HTCbU-m~dv(6B) zhI8LU(9NA;N^M&M?x;Gu~ziG zoaQwORL}LiZ#{&3S9vXhpXh_C)p2O9D3_!|OX@@OR`w7AqicCKXmq=Pr-Qz$2I(T& zQ8f-=o7k`AdsuaK9pA%aKnRBb*S#ytDs-m=zZ>zNzKW(;+V{ zi~pLAhHa%WU(%1f>CvYVS`sIEFrhCqWVpir6Z*pUN8D7IAv*!OOB9~w40Y!N;GR%T+?Q{Fu#z; z>$H4F@G^J&M0;rq(Wbf}=4osdS6OvYQG>d>{*M;mfsL-BMq86U={Odl=)FRF{LzpN zzZtd5)a^(bp$GaUo8f*K;wyCjB~1lY$g!`?tp1kc`x@KP-033LiPUqO>5v*qPQCrS zcR$`$ycLC;M4~)rOS}UGW}rx2UmATcB(_8Yg9K|B&x}Wg5hUi+Nk`W-B?q^iq88~T zA=~i3sjoW+~C@iF{w&(h34CF4zqnR#I(ebA}}5Vrj<(A zCU_AFeFt}d6zP@vj9@ix-o!Vj3-oO-i=mp+TT{irK${BfSPeAo!PLwN?|K-<>S4iS zt=DCutT2H<^XOOXKtA+Pp36`bvam6LwrDb@U8v)9fNR_BRayNOSO>!NU6jnZ=Uf~j zi*AQnb<)6R#r+VooaCp(%%(F`w>Jly_Z|`VoMT8b@bbw1wW6o&kqM!g`fv;X0Wcf| z6c)$@c!~7Mn61pD^CN!}7H`yVj$Dt~ePE7sRdd21stE5;<6k@dI{ljA}p} zBhI1m+(?@*U2TMchilSjD!5?D>@!b80jO)8vLeb_Q9CM}a z-uSM^{UfUu?=IuW&hH(#0aayt4wa#ojj^}$RI&dZQj**ub{klX?$DbjxkZ`{fDL0Me8c1ETiRA=L04w@EG@Ic$P&Fx6@W#oD$SAS93(r z;rP3HoqAptA?mCM)WS$IOE=OEs(nI&rMWo6YRgddDh>Q8cd#<%ZmTh#NPYFEY2Um} zI_(m7JLElWshv2FD670f{khSj7re-jY?xZoOCKYfx7mT0l*xNf-35w}(bOZO2@;Jj z79vzF&mHFY%e9z1tSd5$*q>StA)y%%htCrdw74LV`9W0)&h#kJAu2E%y+EG-?1vzP z88&JV0U`&=9`>LQQ$}?v5Yu-b^`VZGy+7k89LET+8I z+z1aZXosd7{2yNRm?M-z-W?(QSnmr=zJCM+j{2m7k?#7~banD0nyRXmQux|uiEnPN zf7}M0zBZUmGD6IFjw`o3uI`cGPJwe#lo{0MdDzw=DDOy>iqlOk+(3||cMq7V%Iho* ze*z+THyYoY;u-7u({|8kDImJ05SAgQE~;tc@G;oak9wE=8_MV@FZS8#HmH8jygy(X zTjo$s0>JHRNe9`t=$h`}-EswgzuBTL5vp{CyriuRFeXb!E5qlgbQsiQPkv<-uZB|) z_Q*|-B~+_wLyr%?2w{>Q_gvby*t|V$X?JPuTuUx_2&eGrulSBK%trS6D4+fs-@D+R z5Bg-(itVep4Z5J2Y8;i4I)a{0Bgl96OrWOmA0f)+i2i5^Klyd{CXR`KDRlbQP~E&l zRc$$q+1;q^JwB}R`EIc%Q*(jaW(5pBIDv!%?vFPYBpNs~^H{gi%T%$T;$=`?GM{mr z&9KpN`}Zfg-P{e*dezpt)_zB8{ixrHzn-=?WQ+}z&CX@W=0_0LOs55XicIlB+`Wxj zN*$(}mcDVzBKT)Cp-V2BD+1G5n2=}X=(sq$lxOKMS6ZFs9A{-{V_Jq>sMV(i9qp*2 zY0Z&aZDiB!DY0`$^llSjEg*>td-V{(G66M+u8uMFn2F@pAO`R~@2bmrsFU~C=S5}8 zS9a!&qXK6C&n@q>DFqge_Dt6gsF%+>9K!&P?Etp^d;a1R?&)|n%QOD8c`HV} zjeEP8#qG$KhpX}Z=9?WsR2(&{eRq=-((weaauv7$5yK@cLQeK`?3BATqc8oGIyG2d zn-Wv4GnaXgfWh<{pNnGl0&qd3!mu}ZEkl$o8Kk1J(2pi;3*@u@ugYoC{q?A95dB79 z<5D@y+9m00(}wDkj2<&xXLu}e1YyAHAo|MCf}U0vzs4($l1V8ax-lxtf+EBghM8Vx z5>Q&4;F&~OjkZuET4$a{#;%@lg^GJPveoYkcz1CGay&5<^8)g9gvxYs%=$NX#znWi zUOT4CfgRPIDc#LcF8i>b$ED6B{fY|1U^pzo+%-C>ep+pdqK!G-qwGkKikVat&7+b1 zUbb#&EGT3HD(H~hR7-lj)ee3J#IqyHNv{fx|KTc!DwQr~QKqJ-zpFj|dGpC2t~g3X z;y^f#DAE%=Y0xJLH;FZ-ndIK)FUPuV%&5VT{`%+Ub4e}JSUtFJabk{E|JRE6MW7BO zQJ*oQaEh7>AENOWhYJWw^pMs*8pXT*MQcJ1d<(4HIQXI|pe7XkWddzeFUP#9&eCndH_gM+fH zM#wXJj8Y>$9wba#fQOxS*a?d`b{xVFJG3Lvx2y_zagmxEk?Y|^-)fUyY1@P@%Q%UW zl;P5uT=rDg7R#WGK#t6g7LLI^z&8O^>$?!x}W`xv@6;P9XS zhYR31mNwTPTYs33LP=~N3`$*L(T2|-5YD-85wlYGlFv&wUlR;&SIceJJ4LO{4M0k$}NhaI&+sZRP z65eOAnSjpAre(SCktxF*^w#GB`0C9xfOP81eP}6X`bhStd&1=oik2SZ>lBBJqUU3& z;lJv?67y03L99F%4?SdNBQQa~32)o0$24cm8(<>k>R0uCx%epGPJGgz`>LNlQ~uvnoM zblw=0lnZRKZcG$R;sa}wCTQr#U5(dcpX?>&pvz_xIaiE2Q#ohd$9<&Nsn!{;He-99 zwh@iauP|7)-3unY2I!#-E~x2Z?&%WCaw?(0{t>JCcexX2SrBhi;hx)j)aO54S%-*^ z+?>s)Lmz+UMd_DQy1MON7dA@?4t;Q5tklI0*}^e*tfWGc-njMH8rn3Z$5Hvz3Axno z^@Q8v$|vfE!XE*^j308=HhHqb>Mi0*Tm_90)l8?#GJAeQ5=DQpb#&(=t z_SyRc9gW9e>#$$L}1NdOHyn9LRJAk(Tx#Ou_o8AGwu3m z)5@{78E)WuVnM2TfD4+MfVlGH;Bb83o$lN5PtjDb&Ls#xZkVHF2|3Bdgi5$reQbEH z&$&d9SWQy%X%JPf|D?oh60-H)wZJU;3)I@`N`<)T?XsrJ04af> zyc@E~szC8hhGmPu%AKaB#0Le5mYX#|6px5!e*&&#G<~`b2^QmHLq2&^9o5PyTvUwI zP(eIJkAL`5o+>E0)$9W-$#}AZ$02A6F<$Of;+amU7PDp?({zpO2D3}RbY_p1JY3gI2 z^#!S6W>8|sd<%(p#9RoKN|4+Y^X6D7D+F!CL|wqU4kC+8wNLHh2HJx6pE2Q%Sz)(y zb@iSFaCIJ8xwRbBEFYFt7%N2zoh-y@cNQj%pY_7PI#O-3i@M*-^|pzSE7CRN2+gN*-K_^^w!s8AVi;kjp#nHBr{& zfB{4%{Mwh|!3%oYfJ4Dy=#B2=bzZkW-%4WkA7x9TWs%RQ^c=9C*H!K4$~#AdTAhk0 z5^v0~6!L|Qa*TDK6s-BS4_01Adn8$MQK#B2J_T;ANcOOooaKYb-4^v$)(F9o+cgS2 zN^zol{<$$uQe6Bq^IU#Avkv{a7u7VygvF9;}eG#Ah@Lxf?Ug|>1!z_}9 zg`KS-5qX-^zc4O_G2=82LhDc9+#YuL(A`liWB!Tyta)H>DbJs`~L3zAoBqt$hNH{ zSpQ3d`&-G44c!jD7E1f|_Xh(lo))qY(=dx1Ex(GN6N2(dC^pv} z^}ZFpzWvp6R^qwS_q^%#C)Jm7%;ZzMb-oP3!+VF9LNjXXrLsG!(QCR^X`D%hGvd(C z7N=(V^`DuuhGa2R1-&tu0q2H-4n2uuzT52R-Qh8~OYW2Es=lT!H@4HgcR7vQLbRIq zvdWxiq0UQkj}9lEJvtbvoi`8wAM2z|?mSfse9J#rnt@=Fm*hZsBS=;a#&_JO>9h^z z2_vFVAMx5m!niv4&7F!VBg6UmW%Ob)&65!S;p<=zQpZ9CIq0h4ABRGs)DY=*(P?hQ1ofoZ;Seak?^MExXay#q{o>E zzj|HnQsvCw_uo+6vKuS;3UCS)*b4*sX}!DXYY{hL{`XgtlQb)JYb>2`r2kS~pDu-3 zLGr~3jaS*CUPlo?^Z<3yEi@%1v<2$Jx^dHDH>F8EdoAyOc*Vx>d=DMz@}~(D6#FAD z?{aNKc}hIZv-=t93m3E`mzKDpEW6rHmw8<@A*`TX>CpK8ki=fomfRJ!v+KnbrrUA( z@=oaOMV|(q8dz@G==2Un-Fzw7p0SoRc6vIcx-RO=X>0CW6^Z{bo44CU;pZ)}S))wf z&2F*P4ADfBPKZ&iRzmcy+b78{Iy|?Fm^C4=EYnTG@5?d4t$XQfkkf>#ZJAON$HOvZ z)Qp+X)%mA6J5^sB%YC2+%uLUG1-=RNRu^BxZ-b(H8(H25yHRmW2B#lQjUR5LB0I~E zuGpTk+m2M1v0`kVgnHO;h}KNC&Go1T9FBSN9`+?+tHYz|(x$53(r|V3b;Ww`VHgm8 zXn2WEr5x;su?B29FSc6Tno1JVzG9X`kcgL#GN0GtR^rdYmK)Ycm5G*`a5?-mTRX$r z(K32pccZP^D8oo!U1xR`e9XC{Wc`P~Br^uGq(csKc9p+EaD;NZYh@)dXA#>0Z>$i8 z-`pd;XbZaq44)a-+t=A^Ho)Ln(3-1!`^KFaAH(WV*}?jZVwjh7K`(7p!(PrR{PzL- zrq0feePC?ETU$6sncI)PY}=;^Y+y4sGu;B<#?DRDk<@+x;js%!CL_a$fJXce7akTuMnUs%$B1r%s%fOFgw9j92PuMW>`G2uzo97 z?}wV&8gXyRg>tUiuV$DrZ#)8l|yq$vnA`2+tQn4_c(CI zV@|puMaJ`Ww>WXs{lVH3({nW@y01Ws>Y-X5QltJGcHEc{`)4|l%Y!{pmdUq(ou6+^ z#jRq-Jv<}$b zxfVvlcNqKjK)*ynX%;f~YqepQcF{`nO+jm>&RV_%gVqbRhtZ3|S0|!!^oN_sM!Hb1 zT|`ggXGVZhU%WlhE1=l+PvtX|G`qpYQnVx_!e^yB0X2Iec+k8Ceqmf)vEHodR^La? zu;J;+*U#)Uf%2^0IYH~}tx$5FOUDbV8sjatvL5pN%# zMqn;N_b7GCn@%!BlegC2%aFtE-0cc>clhtoxWLo=^^$6*2X5Rd0zw5g3AH8SGN4$p zyos(qPyFastlb8=pDRFb2~p@Ceo>+a(@Mlt4P7foY_b#8)I<+=QzR65iUP=z|o3fQE`8&vk2CvHLr*SH4 zN0Q0j1C+P!f4BkQSx)a_IIb{QtI14DGQJs~)O@3@kp?rx_xSuFH*ghi-mIy1Ll>?D z`U=y!RJBp8e1`l`XfQ19=$qF1T3>T$%%IoIqUwL%T_tibE0>Jz{DhzVwLY-nAjs#B zrEbxKEY7&sX-5mJhYK^_q*{@)VN;1sX1c;2a3+$#cVw@i4^s2(q!eU9daIv?o@%+Y zXN3C!NuA$un_s3fs=575URP|!12_5rOzoT9W?KVj1ILwT<#q*9MJhw46DV!HJM7`J zh`z3QC;V`ot#y7&co*S^GM(psmd>h1-JYf*HcA^@@5ZLwE|z`C)JsZU3>W*eu7jIw79bh;7m=$O zY}PT1VYdS=x%!p-1~W^W6@EC(eXa4Sv_B{CwjJTSSz)AY_zVCH5FK{144q?CJ-Dkw z0U6)8i68HNt5~}{-ra6I{=|lbA3-f(=bbolX!w@3`er1C&L@8i0J!&d#R z@ZSsZzr>Oj3Pxi$HAxjH@0z4IxNYr_`0Q?G9LswqtdU)|-E3kiQQ06HTd(N9&3#e5 z(2s;LxNprz@hg+qB+~&fp^4COAl@ERzpd1ZvftFz7I|JG!qf#IeK6(e^l)St&KB)3faLANRZi-YiGJ zLe~j(aq;c%0tWkDgM^&3=uMFZ3I{_ZpnTtZHCFd<7i27xRXCiL$Ug;(;xuj)kuJ=Q ztT%9iKK5PpC*A3c7X#jwxnE4<^z(J1k)O8JQx#9PK6K)Dei@p%+;>G3qoE?v9N(AY zMoiP9z9HuDrT!Q&fmlq1FFKuM`Ntg2%3c8FpP92lCgRxkPczI!o8u9aQC(c}AC3aL zE3Eqe8tje0oclVJUfC#VT@^J!F23n^B{~Y!g0||GtG{FbP2zg}YPPxeN?iX^FO8#k z9DI03twGLv5~e0QS*mM+G@MC%^vIV>;nu%h4w+|C>QA;Q2)b?pggV{;;%izuHX1m z+NKiut^02hfA%9V-0-=}4~XROKPqC`W|f8mbifxuKMM!RS9;+{6np{!5v@BsJc^qT zaZPoYsa2DUOn&Mrai+5xa21Ea963sS!HRwIt+r(YqHwJd@pL__r@1`W3L-A}<=(#( z;oL>i= zm6e7lE};JPD1|};Kn`7d0pPJVyf1)33{unrb1dWqeQAu>-)4QpH(y(R zv!Ymglap~~n?(vxMKWC3swbo!-Lp?A*bj$nV&@Zn%Hby}-f;P}d#i;kDDR&5NwVO7 zF8(hC`FkHAzE!)sY;M&(lviPRL|L=vhAfi`Zc{IES#hIhSqlE=f!LUVSI-mPxOXcr z99T|u_gckKlj~X-yCy4VFt7*w`@#SB+HXj1aU}92l#~!{y!b{&Ej#*SG}oaCkGWdN z1Lxm&zkxdhxQo2wmy};{Z!s$a5G4ij{xmG3jx;p>rIje(|IdXV1uCZ=nh&-jG{%f= z)(f5Ez`1_s1bL=~Ur7HYSwK#?@xX=S7jyaW)P*cN&L^7{jWrzlek(wL3un-47OkFvZ(u02&4ub@sc+)E1xz`0rmX0?}kq?cHHX+@Yjv zix3yggP8w~SWaEP9sI{*{8ygWQqE<(3E76(uDDD>O(E1#W&1HdG>f_QM~eWyhy)G; zh5r$P)2-nvU>xAdB`Kh8Jx|`MbamdHzSmWvz&B0C^jF!!((SkL|FNEbmIV+q!x6r@ zcTgS$M`GT|@2zW-5N{#7`QM*1r2XuXC3&MYH?^;*$ao`=7nEfilH#JYWY@Kg`8JUV zDEHl#p+s?M!7 z#j7dOGm}Xj-O7WcY8on>pc}a1Nw0pfi+0{T>1UfuAMkAhc1pky%~bta{%=EkTZ!vZ zStV`<0x|ROl$(2QZC z^yTf;-I88ImMSVqy{UqhGeCY%?>-(Z3>_)ak?btBCJy|K&v5MyCz7Q({`u4YOAo#Q zwpCVQjL;e@HH=%#U}`8I*z$%4O*jF0iQGSfV8zbguN=EQB)ImJ;jyn$ zMOfebKeWAdR95NtK0G2QAzdO3(%sS^0@5KM4bmM_(trb z4}v2z^ZotxdDmjOobll~=j?m$YhOE0$?8UcHL@+@t@jEDk!I;>GgW}^p8CD_`Qr}$ z{Z|1LYHKuzQTa)KZ!g>GI{R9Z!jW_b@Q<(1_BpOztObrwvl4EK%(duK1$d z@Ot0Oo}k=^&=TyWw&)DR%Eci_#{Y*dU0z4P2L%?La$(Ut6j6nM|ldUt+2OG4+RpFvgX!VynJ4!EE(6tQy`0y{N z^74=PX5JC0Xj%*LpEy`thn?Qw{ci2nRC1_MrMLCdiY|fvrLfOtUBaJp-X2Xl@2g);{bIv-(}G5b z!tHe}C`t6E^JBUjCuS;j^ayL>`X`dwFaI=5Kj}tgm28ca?4fKqGN+aclK`Po;D+e! zAN;gieO69tRV>Q>!h9IT2c*);H9LOj-ZL^);O{W(AN*;lzpk_c=S6offBYR?&Nsbdgx6!)B4u6jUu{a{t8`$p zWCiJPP<{(Szy!`qBdm3-1u*3K#5B`0a-g{HlOewFH$3adzJ`xvHQP{8rruIf6(>)9 z40%4B+0uXW!dKAESa*hV$0>7$^^aW?G8Jk>6rYI4(OrKV28~CdX{a*y(7}mdAx0pY z-Ss~}q}_233Y6Mlo^}Sj3pL-82i0aY;+ryne9BL-QRDtlt))t*&Fzej(s?HGB~B6d zd1YaKON%}6wX+mjfvCA=C6t0CDaTkxruzIE$ zl~P`1zb^GsU=hWSTv;Bf)9+oVvFV^N81*4S{4Id%(}gA0#yVW5#-xGxC^DLF$Dh!z*In{q2aUC{XM*(99|9)wqMSsU9$O{V9-loY0_)zjp$QaCGIB0=U-6<3hcs zDF4>EWRybeqf-BX2-aMUL^{)NmaWyHGH))fZ-o*LYST`v)U|p;QghC```bw@o4Gp0 z*kbt2Z_d)S8cDRV4oaU6k{4{xF0AQ=Vb3A;LWx|1u!jz*cD|6#22pNM zJXDbs>gz<06&yLFLJ2I+Y^9 z+6Dfm_yCxohu0tdB+^*N4mU2Rj62t>G;VrMB4eB9VS1nN_Qjuml86)zJoB6r8_5%K zKt32+Nl}^PNzB)S{||xELLGP}ip9e42VoZ|Z&er+^?CmBc*NTI!a8;Yc|lcf{pMwe zV0Z;1>+jSD@bLyHPelq-pP->W1kd&b=;VLt2_Doza$@>M2>ltIN>$S|R8#2fVA|`) zq9W7Q3Ts_`lp9~=#xzb`&Hm8uhBA&qztzr?n_SgVQjte&uKLx7FuSe*jV~d4X#Xvk_w`nBW^8Y zADFqnu_}?Yz{=m?S3M-!ww%<;#lqquR(d+I;>yt)1uIX+j=+_}N-=29OZ3X-9g*ED zEM&n3Ey{JmzIeue(;)$BxRHu(@;nkUDcq)k;;*>p8YIf%WR52wK)Y1RMlvAbiI-s^ zN(Bq{@tvf~%=0%NzX}>uF~a=X34j--_m{ z>5-xsYO7HZlV}=}mcQ8>^lyVn8i56ujH%$KR`2TW4qGrSK4;Q? zku`z@gMVes%n7fZHD;mwl`OkHv%MXaF3^q4o%n88<-??K^U)n4C;uYeM84j|V~GV5 z7pLjHzXn%-msHKG{jvNwhmz1p&$NkJsbVX@U+62nS$xB<0sA)=hYj~;R$_+&ZQoQiH%b1=FqOe)5Ct&)(BFb4{dc#@H!K@7KKAr=+ zfIJwUP^&ko%kArG>k4&M5c?-W2^66hT1H5z>VoW7a031nA`xk$G7b|f$$d;6Z~MHq z9|)(KK}buBLvkaA=}^CPg(Br09p#m&UhCC`F875Ua4V$7z|f1wm{R2GP&PT3jI(Z+ z0m)zpl>I?q-@Sx7c$_F^3R)zG$R+~HIDgh#XN2wu3HV-r@)dNC-BZ^4FZL~PfNR;i z=~@iXNAQ|LLj!4^?mUq#daQ~NY5RSRU9UUf>)JUdk!pY)Ti^Vy+bWx3u~!ZiZojQ1YFeO)4cb7C;x}oK;ej38(IRfJe#@=CJq(H z*lgg=)7n~N!}d*fR6EEm0ZBBLr;&ZmvC1-u5Qng-Rtb2oKfmHq*QiLfr>RZH=IuQC zeu91}oR?g`EgWDdf7~n)L?Y3pZRB~lq{{Fpp?{vAfCxG)IxQ87TCN^K@OtSjY$bzL zNiF*+>5MvwN6v*+jUqF1zk*(e;e$zb+!ZWrrGmN=rGOZURe|V) ztIyYQefu%kNXh8MsJy9V2mj?UGKm|;87OESL3 z^+}aO*iM0lz<(TRC-lU)-sf0k&ooIsmJe6S!K8Uez_6LnvbwO%rHteMk49juWpsiW2)qO`H#|1m#*hji^I30M_WTBW*K4EQoF~Iag z=K&a+;ir^{q}_G4{F0O~@p6#uQz=C?BxZQ03bncKH(sMgNN1V8~%ei zOh67=Lc9x;vdS^apwvmdxhl2ePX&dX3a}N%K*u|tD$9e9CSfGb?@keuiUe~AMZxL% zbQQJZ5zOn7T~+TnjhI32@XKZ5)4PsnX>SB-&bhiQ8yJ4vRVy(-Jf6!4k!WuWG!Cab ze54#ntFd`F^#z^Q^OH0+T zMf#_{<%|9&ImeM{q+P~AF?b;ZK+^}_x*CmAtSMC0ruyRJ%&h!&VJH7!VGlrI+m)rUC6gzkzS^TXJEV|eJ{n{@))rDB&y?)wt z%xyo2c*LRV%1CeyYj#ud-kh!TcOzSLc`^^s84;We{Qh`6(4XL_he9j7Lj+>ya01A8^X?P^N|CxT zB1NiP>>v84!3h|kfkth4>bCe;{|)BY7!AuPQPZs`XAbI%>Yy7)^~*e&BVIel=0YqJ z<1}}q(mF*UOPo&7)?BS(fW^=MA%T59^&yvYV^7ZzSB%aH4m_ z5Kg0+*Y&dmhm>nzM4ARE%wh0Ogob6;`lHV?+%w-9zx2tK8UNGAMugGZy$`SNpq)_4CShj zZXTERpx=^uWgk%cXhZRMJ3~ucT9f?e<7DeIx_j?0oGU)ce?~Vj~ZmXilgp<^A1?CvGArU z@y>X>tHJXs(0-croWuR&a~PHoBwQ-c(yzvMycek5Ad25FSe@t^&__BlB2HQ3-zT*z z0TS|*3=NOkaJB3lXFH2_zHt+F_!55JbzH_fuo!OB?bqPKD|T-cBFW(v10hGdX;0?K`T>OM(;aA3h9U~_oGgJ!_xPgCHn+5UBXL=RFI;!QB9#|qT5eJ5gs-{P4~I@ z@5)=XyGSp?E4J$E7bzICYDieCUhwXXdW;WzQ3h4b=cH_`(=q=4^) zzedH1j@p-;YW0za@C%)ax=29wZErB%U#x=QR>=oLZKEj{W|hLdKK?+x!#X4m<@pm+ z=cgqbv0a$F1;||!Pki4Th8eaa?&gvSSB$aPotVCCB6FRPLRe5F+5@u&ufDya#>yV_ zjL1>y_KrG;sF+GXSG9y!JYsR%lhq>9?UG#Y-5#rdeiWGi+Du#0#h&EOesD05iiETP zct>fF+VEP-mHuchA)NTPNc#9uZkb^KYInRC`o(uX9YZ2z$?lRpZgL_)K7$ z*ip$f4In(zjFiZ)ESH_O_XvpEtaeQTO}(v+P@&x&7M2+yyo*-Rj0Tw+54GHP>*8LX z2zxxGN*?Ii+q5o%OcxAg%1u%SNd`aQmCIjoH`V(XF*wKLIPh$sOs(l>>H29wicJ|i z1sw3f+JR_R1;P_emHYO5v_aaPWKVCPGKwrzCv0SC9UWKkphf)R*ETnDg@C!J05MLICgFj{4TV~B*m`~6 zYJ^K|U?fEGt)D)2#kU#yxYIMzPC|fT+zzJmMBd^t0568h6s#P5wc-S?!M~ew%pNRf z%9F;oIg9R(!KNPGHJBI-!J;1a%t&w(flOC?w6mW9?KpvtD8RNCTS%^CMY6FD%esB_ z+xT%It0!3$(anHV02F6udHy7x5FQVd81iA zAAXGv&)%M>L@K?0BS`a{pl`fU_4b^3xy5?Tj(oRpH!p{EU)_(;TCUyCe(XX7)fz)% zq4@M${aWO_{FC&dn}+cu)G=8~WdSb7`z~NLcl+(8{>eXqEUnym zlir3uVX3dLvWvyshu@$htYasn%(_1V(bg@) zegmvj8q$n(%3m?)bs9G`I2m{~|GFtLb zeZuwNc-VUk6ve%~pn$880z{Z(lX23Cn=lfLPoX{h6De-NQi7(5xVwLP_si4rU?tIJ z*jp)Nwd8}1B!Q8j)^^liRW=?-m9v8W$~F#1kw`J^a_TB;KRwCODZC`AI?TD>BSAWm zV63&(n;_qT_yIl%3<6FiF<`Q|9`)L0$r4ZN42lxEleZ^W*~=FAHz7}uFU7f(PDPLa7rlEg#F{%C?i%zo8_QY62uS3Y;iLzhyX}##e)LnwWWv$85tbK~{&>=7X zXQ`rFxSsYVyv74w?Qd$yo1rC4MvYJA`%zuZdwL^Nf_Zs8a{}DzV>q~*yX1MALc29! z1Z8-C3Vh%Bd~b8M`?PZ&TZ>5r4)+v7A0h0-h~=7{SfYj8a}~EZp1w`KhLAY*$~<%^ zuS8Kc9nw)AT0cCA7M>+hZOP~S%;ak}PI#6+Wf_XTFEa0pO5h^*sPM}Rp_YYSX99mp zp+XFgH}`KV6`#V)~O{HE7Jb*;Iw#qRagwPW2 z!QkWljj3$?k12--z)f{d(!+Q4ah>Zq+FE%a6blDNc37ArA+EBa8hCfI%0Aawm6!Y^ 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�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�KFb)EQ+-ne$ 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 literal 0 HcmV?d00001 diff --git a/apps/web/package.json b/apps/web/package.json index 8e0ae4ad3..59e01284f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -45,6 +45,7 @@ "posthog-js": "^1.75.3", "posthog-node": "^3.1.1", "react": "^18", + "react-call": "^1.3.0", "react-dom": "^18", "react-dropzone": "^14.2.3", "react-hook-form": "^7.43.9", diff --git a/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx b/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx index 526d8a34d..4f9e99fb1 100644 --- a/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx +++ b/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx @@ -94,7 +94,7 @@ export const DirectTemplatePageView = ({ directTemplateExternalId = decodeURIComponent(directTemplateExternalId); } - const token = await createDocumentFromDirectTemplate({ + const { token } = await createDocumentFromDirectTemplate({ directTemplateToken, directTemplateExternalId, directRecipientName: fullName, diff --git a/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx b/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx index cc5576e80..50be5451a 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx @@ -63,6 +63,7 @@ export const SigningPageView = ({ {document.User.name}

+

{match(recipient.role) .with(RecipientRole.VIEWER, () => ( diff --git a/apps/web/src/app/embed/authenticate.tsx b/apps/web/src/app/embed/authenticate.tsx new file mode 100644 index 000000000..b7260aa5e --- /dev/null +++ b/apps/web/src/app/embed/authenticate.tsx @@ -0,0 +1,32 @@ +import { Trans } from '@lingui/macro'; + +import { Alert, AlertDescription } from '@documenso/ui/primitives/alert'; + +import { Logo } from '~/components/branding/logo'; +import { SignInForm } from '~/components/forms/signin'; + +export type EmbedAuthenticateViewProps = { + email?: string; + returnTo: string; +}; + +export const EmbedAuthenticateView = ({ email, returnTo }: EmbedAuthenticateViewProps) => { + return ( +

+
+ + + + + + To view this document you need to be signed into your account, please sign in to + continue. + + + + + +
+
+ ); +}; diff --git a/apps/web/src/app/embed/base-schema.ts b/apps/web/src/app/embed/base-schema.ts new file mode 100644 index 000000000..fd44b4847 --- /dev/null +++ b/apps/web/src/app/embed/base-schema.ts @@ -0,0 +1,5 @@ +import { z } from 'zod'; + +export const ZBaseEmbedDataSchema = z.object({ + css: z.string().optional().transform(value => value || undefined), +}); diff --git a/apps/web/src/app/embed/client-loading.tsx b/apps/web/src/app/embed/client-loading.tsx new file mode 100644 index 000000000..d67af37a2 --- /dev/null +++ b/apps/web/src/app/embed/client-loading.tsx @@ -0,0 +1,7 @@ +export const EmbedClientLoading = () => { + return ( +
+ Loading... +
+ ); +}; diff --git a/apps/web/src/app/embed/completed.tsx b/apps/web/src/app/embed/completed.tsx new file mode 100644 index 000000000..3a4b62e66 --- /dev/null +++ b/apps/web/src/app/embed/completed.tsx @@ -0,0 +1,33 @@ +import { Trans } from '@lingui/macro'; + +import signingCelebration from '@documenso/assets/images/signing-celebration.png'; +import type { Signature } from '@documenso/prisma/client'; +import { SigningCard3D } from '@documenso/ui/components/signing-card'; + +export type EmbedDocumentCompletedPageProps = { + name?: string; + signature?: Signature; +}; + +export const EmbedDocumentCompleted = ({ name, signature }: EmbedDocumentCompletedPageProps) => { + return ( +
+

+ Document Completed! +

+ +
+ +
+ +

+ The document is now completed, please follow any instructions provided within the parent application. +

+
+ ); +}; diff --git a/apps/web/src/app/embed/direct/[[...url]]/client.tsx b/apps/web/src/app/embed/direct/[[...url]]/client.tsx new file mode 100644 index 000000000..7f6378659 --- /dev/null +++ b/apps/web/src/app/embed/direct/[[...url]]/client.tsx @@ -0,0 +1,456 @@ +'use client'; + +import { useEffect, useState } from 'react'; + +import { useSearchParams } from 'next/navigation'; + +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; +import { DateTime } from 'luxon'; + +import { useThrottleFn } from '@documenso/lib/client-only/hooks/use-throttle-fn'; +import { DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats'; +import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; +import { DEFAULT_DOCUMENT_TIME_ZONE } from '@documenso/lib/constants/time-zones'; +import { validateFieldsInserted } from '@documenso/lib/utils/fields'; +import type { DocumentMeta, Recipient, TemplateMeta } from '@documenso/prisma/client'; +import { FieldType, type DocumentData, type Field } from '@documenso/prisma/client'; +import { trpc } from '@documenso/trpc/react'; +import type { + TRemovedSignedFieldWithTokenMutationSchema, + TSignFieldWithTokenMutationSchema, +} from '@documenso/trpc/server/field-router/schema'; +import { FieldToolTip } from '@documenso/ui/components/field/field-tooltip'; +import { Button } from '@documenso/ui/primitives/button'; +import { Card, CardContent } from '@documenso/ui/primitives/card'; +import { ElementVisible } from '@documenso/ui/primitives/element-visible'; +import { Input } from '@documenso/ui/primitives/input'; +import { Label } from '@documenso/ui/primitives/label'; +import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; +import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; +import { useToast } from '@documenso/ui/primitives/use-toast'; + +import type { DirectTemplateLocalField } from '~/app/(recipient)/d/[token]/sign-direct-template'; +import { useRequiredSigningContext } from '~/app/(signing)/sign/[token]/provider'; +import { Logo } from '~/components/branding/logo'; + +import { LucideChevronDown, LucideChevronUp } from 'lucide-react'; +import { EmbedClientLoading } from '../../client-loading'; +import { EmbedDocumentCompleted } from '../../completed'; +import { EmbedDocumentFields } from '../../document-fields'; +import { ZDirectTemplateEmbedDataSchema } from './schema'; + +export type EmbedDirectTemplateClientPageProps = { + token: string; + updatedAt: Date; + documentData: DocumentData; + recipient: Recipient; + fields: Field[]; + metadata?: DocumentMeta | TemplateMeta | null; +}; + +export const EmbedDirectTemplateClientPage = ({ + token, + updatedAt, + documentData, + recipient, + fields, + metadata, +}: EmbedDirectTemplateClientPageProps) => { + const { _ } = useLingui(); + const { toast } = useToast(); + + const searchParams = useSearchParams(); + + const { fullName, email, signature, setFullName, setEmail, setSignature } = + useRequiredSigningContext(); + + const [hasFinishedInit, setHasFinishedInit] = useState(false); + const [hasDocumentLoaded, setHasDocumentLoaded] = useState(false); + const [hasCompletedDocument, setHasCompletedDocument] = useState(false); + + const [isExpanded, setIsExpanded] = useState(false); + + const [isEmailLocked, setIsEmailLocked] = useState(false); + const [isNameLocked, setIsNameLocked] = useState(false); + + const [showPendingFieldTooltip, setShowPendingFieldTooltip] = useState(false); + + const [throttledOnCompleteClick, isThrottled] = useThrottleFn(() => void onCompleteClick(), 500); + + const [localFields, setLocalFields] = useState(() => fields); + + const [pendingFields, _completedFields] = [ + localFields.filter((field) => !field.inserted), + localFields.filter((field) => field.inserted), + ]; + + const { mutateAsync: createDocumentFromDirectTemplate, isLoading: isSubmitting } = + trpc.template.createDocumentFromDirectTemplate.useMutation(); + + const onSignField = (payload: TSignFieldWithTokenMutationSchema) => { + setLocalFields((fields) => + fields.map((field) => { + if (field.id !== payload.fieldId) { + return field; + } + + const newField: DirectTemplateLocalField = structuredClone({ + ...field, + customText: payload.value, + inserted: true, + signedValue: payload, + }); + + if (field.type === FieldType.SIGNATURE) { + newField.Signature = { + id: 1, + created: new Date(), + recipientId: 1, + fieldId: 1, + signatureImageAsBase64: payload.value, + typedSignature: null, + }; + } + + if (field.type === FieldType.DATE) { + newField.customText = DateTime.now() + .setZone(metadata?.timezone ?? DEFAULT_DOCUMENT_TIME_ZONE) + .toFormat(metadata?.dateFormat ?? DEFAULT_DOCUMENT_DATE_FORMAT); + } + + return newField; + }), + ); + + if (window.parent) { + window.parent.postMessage( + { + action: 'field-signed', + data: null, + }, + '*', + ); + } + + setShowPendingFieldTooltip(false); + }; + + const onUnsignField = (payload: TRemovedSignedFieldWithTokenMutationSchema) => { + setLocalFields((fields) => + fields.map((field) => { + if (field.id !== payload.fieldId) { + return field; + } + + return structuredClone({ + ...field, + customText: '', + inserted: false, + signedValue: undefined, + Signature: undefined, + }); + }), + ); + + if (window.parent) { + window.parent.postMessage( + { + action: 'field-unsigned', + data: null, + }, + '*', + ); + } + + setShowPendingFieldTooltip(false); + }; + + const onNextFieldClick = () => { + validateFieldsInserted(localFields); + + setShowPendingFieldTooltip(true); + setIsExpanded(false); + }; + + const onCompleteClick = async () => { + try { + const valid = validateFieldsInserted(localFields); + + if (!valid) { + setShowPendingFieldTooltip(true); + return; + } + + let directTemplateExternalId = searchParams?.get('externalId') || undefined; + + if (directTemplateExternalId) { + directTemplateExternalId = decodeURIComponent(directTemplateExternalId); + } + + localFields.forEach((field) => { + if (!field.signedValue) { + throw new Error('Invalid configuration'); + } + }); + + const { + documentId, + token: documentToken, + recipientId, + } = await createDocumentFromDirectTemplate({ + directTemplateToken: token, + directTemplateExternalId, + directRecipientName: fullName, + directRecipientEmail: email, + templateUpdatedAt: updatedAt, + signedFieldValues: localFields.map((field) => { + if (!field.signedValue) { + throw new Error('Invalid configuration'); + } + + return field.signedValue; + }), + }); + + if (window.parent) { + window.parent.postMessage( + { + action: 'document-completed', + data: { + token: documentToken, + documentId, + recipientId, + }, + }, + '*', + ); + } + + setHasCompletedDocument(true); + } catch (err) { + if (window.parent) { + window.parent.postMessage( + { + action: 'document-error', + data: String(err), + }, + '*', + ); + } + + toast({ + title: _(msg`Something went wrong`), + description: _( + msg`We were unable to submit this document at this time. Please try again later.`, + ), + variant: 'destructive', + }); + } + }; + + useEffect(() => { + const hash = window.location.hash.slice(1); + + try { + const data = ZDirectTemplateEmbedDataSchema.parse(JSON.parse(decodeURIComponent(atob(hash)))); + + if (data.email) { + setEmail(data.email); + setIsEmailLocked(!!data.lockEmail); + } + + if (data.name) { + setFullName(data.name); + setIsNameLocked(!!data.lockName); + } + } catch (err) { + console.error(err); + } + + setHasFinishedInit(true); + + // !: While the two setters are stable we still want to ensure we're avoiding + // !: re-renders. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + if (hasFinishedInit && hasDocumentLoaded && window.parent) { + window.parent.postMessage( + { + action: 'document-ready', + data: null, + }, + '*', + ); + } + }, [hasFinishedInit, hasDocumentLoaded]); + + if (hasCompletedDocument) { + return ( + + ); + } + + return ( +
+ {(!hasFinishedInit || !hasDocumentLoaded) && } + +
+ {/* Viewer */} +
+ setHasDocumentLoaded(true)} + /> +
+ + {/* Widget */} +
+
+ {/* Header */} +
+
+

+ Sign document +

+ + +
+
+ +
+

+ Sign the document to complete the process. +

+ +
+
+ + {/* Form */} +
+
+
+ + + !isNameLocked && setFullName(e.target.value.trim())} + /> +
+ +
+ + + !isEmailLocked && setEmail(e.target.value.trim())} + /> +
+ +
+ + + + + { + setSignature(value); + }} + /> + + +
+
+
+ +
+ +
+ {pendingFields.length > 0 ? ( + + ) : ( + + )} +
+
+
+ + + {showPendingFieldTooltip && pendingFields.length > 0 && ( + + Click to insert field + + )} + + + {/* Fields */} + +
+ +
+ Powered by + +
+
+ ); +}; diff --git a/apps/web/src/app/embed/direct/[[...url]]/not-found.tsx b/apps/web/src/app/embed/direct/[[...url]]/not-found.tsx new file mode 100644 index 000000000..b8889a22c --- /dev/null +++ b/apps/web/src/app/embed/direct/[[...url]]/not-found.tsx @@ -0,0 +1,3 @@ +export default function EmbedDirectTemplateNotFound() { + return
Not Found
+} diff --git a/apps/web/src/app/embed/direct/[[...url]]/page.tsx b/apps/web/src/app/embed/direct/[[...url]]/page.tsx new file mode 100644 index 000000000..067ac821f --- /dev/null +++ b/apps/web/src/app/embed/direct/[[...url]]/page.tsx @@ -0,0 +1,97 @@ +import { notFound } from 'next/navigation'; + +import { match } from 'ts-pattern'; + +import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app'; +import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session'; +import { getTemplateByDirectLinkToken } from '@documenso/lib/server-only/template/get-template-by-direct-link-token'; +import { DocumentAccessAuth } from '@documenso/lib/types/document-auth'; +import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth'; + +import { DocumentAuthProvider } from '~/app/(signing)/sign/[token]/document-auth-provider'; +import { SigningProvider } from '~/app/(signing)/sign/[token]/provider'; + +import { EmbedAuthenticateView } from '../../authenticate'; +import { EmbedPaywall } from '../../paywall'; +import { EmbedDirectTemplateClientPage } from './client'; + +export type EmbedDirectTemplatePageProps = { + params: { + url?: string[]; + }; +}; + +export default async function EmbedDirectTemplatePage({ params }: EmbedDirectTemplatePageProps) { + if (params.url?.length !== 1) { + return notFound(); + } + + const [token] = params.url; + + const template = await getTemplateByDirectLinkToken({ + token, + }).catch(() => null); + + // `template.directLink` is always available but we're doing this to + // satisfy the type checker. + if (!template || !template.directLink) { + return notFound(); + } + + // TODO: Make this more robust, we need to ensure the owner is either + // TODO: the member of a team that has an active subscription, is an early + // TODO: adopter or is an enterprise user. + if (IS_BILLING_ENABLED() && !template.teamId) { + return ; + } + + const { user } = await getServerComponentSession(); + + const { derivedRecipientAccessAuth } = extractDocumentAuthMethods({ + documentAuth: template.authOptions, + }); + + const isAccessAuthValid = match(derivedRecipientAccessAuth) + .with(DocumentAccessAuth.ACCOUNT, () => user !== null) + .with(null, () => true) + .exhaustive(); + + if (!isAccessAuthValid) { + return ; + } + + const { directTemplateRecipientId } = template.directLink; + + const recipient = template.Recipient.find( + (recipient) => recipient.id === directTemplateRecipientId, + ); + + if (!recipient) { + return notFound(); + } + + const fields = template.Field.filter((field) => field.recipientId === directTemplateRecipientId); + + return ( + + + + + + ); +} diff --git a/apps/web/src/app/embed/direct/[[...url]]/schema.ts b/apps/web/src/app/embed/direct/[[...url]]/schema.ts new file mode 100644 index 000000000..078e6cdb1 --- /dev/null +++ b/apps/web/src/app/embed/direct/[[...url]]/schema.ts @@ -0,0 +1,20 @@ +import { z } from 'zod'; + +import { ZBaseEmbedDataSchema } from '../../base-schema'; + +export const ZDirectTemplateEmbedDataSchema = ZBaseEmbedDataSchema.extend({ + email: z + .union([z.literal(''), z.string().email()]) + .optional() + .transform((value) => value || undefined), + lockEmail: z.boolean().optional().default(false), + name: z + .string() + .optional() + .transform((value) => value || undefined), + lockName: z.boolean().optional().default(false), +}); + +export type TDirectTemplateEmbedDataSchema = z.infer; + +export type TDirectTemplateEmbedDataInputSchema = z.input; diff --git a/apps/web/src/app/embed/document-fields.tsx b/apps/web/src/app/embed/document-fields.tsx new file mode 100644 index 000000000..95e3849eb --- /dev/null +++ b/apps/web/src/app/embed/document-fields.tsx @@ -0,0 +1,185 @@ +'use client'; + +import { match } from 'ts-pattern'; + +import { DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats'; +import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; +import { DEFAULT_DOCUMENT_TIME_ZONE } from '@documenso/lib/constants/time-zones'; +import { + ZCheckboxFieldMeta, + ZDropdownFieldMeta, + ZNumberFieldMeta, + ZRadioFieldMeta, + ZTextFieldMeta, +} from '@documenso/lib/types/field-meta'; +import type { DocumentMeta, Recipient, TemplateMeta } from '@documenso/prisma/client'; +import { FieldType, type Field } from '@documenso/prisma/client'; +import type { FieldWithSignatureAndFieldMeta } from '@documenso/prisma/types/field-with-signature-and-fieldmeta'; +import type { + TRemovedSignedFieldWithTokenMutationSchema, + TSignFieldWithTokenMutationSchema, +} from '@documenso/trpc/server/field-router/schema'; +import { ElementVisible } from '@documenso/ui/primitives/element-visible'; + +import { CheckboxField } from '~/app/(signing)/sign/[token]/checkbox-field'; +import { DateField } from '~/app/(signing)/sign/[token]/date-field'; +import { DropdownField } from '~/app/(signing)/sign/[token]/dropdown-field'; +import { EmailField } from '~/app/(signing)/sign/[token]/email-field'; +import { InitialsField } from '~/app/(signing)/sign/[token]/initials-field'; +import { NameField } from '~/app/(signing)/sign/[token]/name-field'; +import { NumberField } from '~/app/(signing)/sign/[token]/number-field'; +import { RadioField } from '~/app/(signing)/sign/[token]/radio-field'; +import { SignatureField } from '~/app/(signing)/sign/[token]/signature-field'; +import { TextField } from '~/app/(signing)/sign/[token]/text-field'; + +export type EmbedDocumentFieldsProps = { + recipient: Recipient; + fields: Field[]; + metadata?: DocumentMeta | TemplateMeta | null; + onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; + onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; +}; + +export const EmbedDocumentFields = ({ + recipient, + fields, + metadata, + onSignField, + onUnsignField, +}: EmbedDocumentFieldsProps) => { + return ( + + {fields.map((field) => + match(field.type) + .with(FieldType.SIGNATURE, () => ( + + )) + .with(FieldType.INITIALS, () => ( + + )) + .with(FieldType.NAME, () => ( + + )) + .with(FieldType.DATE, () => ( + + )) + .with(FieldType.EMAIL, () => ( + + )) + .with(FieldType.TEXT, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZTextFieldMeta.parse(field.fieldMeta) : null, + }; + + return ( + + ); + }) + .with(FieldType.NUMBER, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZNumberFieldMeta.parse(field.fieldMeta) : null, + }; + + return ( + + ); + }) + .with(FieldType.RADIO, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZRadioFieldMeta.parse(field.fieldMeta) : null, + }; + + return ( + + ); + }) + .with(FieldType.CHECKBOX, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZCheckboxFieldMeta.parse(field.fieldMeta) : null, + }; + + return ( + + ); + }) + .with(FieldType.DROPDOWN, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZDropdownFieldMeta.parse(field.fieldMeta) : null, + }; + + return ( + + ); + }) + .otherwise(() => null), + )} + + ); +}; diff --git a/apps/web/src/app/embed/paywall.tsx b/apps/web/src/app/embed/paywall.tsx new file mode 100644 index 000000000..7902b8afb --- /dev/null +++ b/apps/web/src/app/embed/paywall.tsx @@ -0,0 +1,5 @@ +export const EmbedPaywall = () => { + return
+

Paywall

+
+} diff --git a/apps/web/src/app/embed/sign/[[...url]]/client.tsx b/apps/web/src/app/embed/sign/[[...url]]/client.tsx new file mode 100644 index 000000000..c21994b86 --- /dev/null +++ b/apps/web/src/app/embed/sign/[[...url]]/client.tsx @@ -0,0 +1,327 @@ +'use client'; + +import { useThrottleFn } from '@documenso/lib/client-only/hooks/use-throttle-fn'; +import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; +import { validateFieldsInserted } from '@documenso/lib/utils/fields'; +import type { DocumentMeta, Recipient, TemplateMeta } from '@documenso/prisma/client'; +import { type DocumentData, type Field } from '@documenso/prisma/client'; +import { trpc } from '@documenso/trpc/react'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; +import { useEffect, useState } from 'react'; + +import { FieldToolTip } from '@documenso/ui/components/field/field-tooltip'; +import { Button } from '@documenso/ui/primitives/button'; +import { Card, CardContent } from '@documenso/ui/primitives/card'; +import { ElementVisible } from '@documenso/ui/primitives/element-visible'; +import { Input } from '@documenso/ui/primitives/input'; +import { Label } from '@documenso/ui/primitives/label'; +import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; +import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; +import { useToast } from '@documenso/ui/primitives/use-toast'; + +import { LucideChevronDown, LucideChevronUp } from 'lucide-react'; +import { useRequiredSigningContext } from '~/app/(signing)/sign/[token]/provider'; +import { Logo } from '~/components/branding/logo'; +import { EmbedClientLoading } from '../../client-loading'; +import { EmbedDocumentCompleted } from '../../completed'; +import { EmbedDocumentFields } from '../../document-fields'; +import { ZSignDocumentEmbedDataSchema } from './schema'; + +export type EmbedSignDocumentClientPageProps = { + token: string; + documentId: number; + documentData: DocumentData; + recipient: Recipient; + fields: Field[]; + metadata?: DocumentMeta | TemplateMeta | null; + isCompleted?: boolean; +}; + +export const EmbedSignDocumentClientPage = ({ + token, + documentId, + documentData, + recipient, + fields, + metadata, + isCompleted, +}: EmbedSignDocumentClientPageProps) => { + const { _ } = useLingui(); + const { toast } = useToast(); + + const { fullName, email, signature, setFullName, setSignature } = useRequiredSigningContext(); + + const [hasFinishedInit, setHasFinishedInit] = useState(false); + const [hasDocumentLoaded, setHasDocumentLoaded] = useState(false); + const [hasCompletedDocument, setHasCompletedDocument] = useState(isCompleted); + + const [isExpanded, setIsExpanded] = useState(false); + + const [isNameLocked, setIsNameLocked] = useState(false); + + const [showPendingFieldTooltip, setShowPendingFieldTooltip] = useState(false); + + const [throttledOnCompleteClick, isThrottled] = useThrottleFn(() => void onCompleteClick(), 500); + + const [pendingFields, _completedFields] = [ + fields.filter((field) => !field.inserted), + fields.filter((field) => field.inserted), + ]; + + const { mutateAsync: completeDocumentWithToken, isLoading: isSubmitting } = + trpc.recipient.completeDocumentWithToken.useMutation(); + + const onNextFieldClick = () => { + validateFieldsInserted(fields); + + setShowPendingFieldTooltip(true); + setIsExpanded(false); + }; + + const onCompleteClick = async () => { + try { + const valid = validateFieldsInserted(fields); + + if (!valid) { + setShowPendingFieldTooltip(true); + return; + } + + await completeDocumentWithToken({ + documentId, + token, + }); + + if (window.parent) { + window.parent.postMessage( + { + action: 'document-completed', + data: { + token, + documentId, + recipientId: recipient.id, + }, + }, + '*', + ); + } + + setHasCompletedDocument(true); + } catch (err) { + if (window.parent) { + window.parent.postMessage( + { + action: 'document-error', + data: null, + }, + '*', + ); + } + + toast({ + title: _(msg`Something went wrong`), + description: _( + msg`We were unable to submit this document at this time. Please try again later.`, + ), + variant: 'destructive', + }); + } + }; + + useEffect(() => { + const hash = window.location.hash.slice(1); + + try { + const data = ZSignDocumentEmbedDataSchema.parse(JSON.parse(decodeURIComponent(atob(hash)))); + + if (!isCompleted && data.name) { + setFullName(data.name); + } + + // Since a recipient can be provided a name we can lock it without requiring + // a to be provided by the parent application, unlike direct templates. + setIsNameLocked(!!data.lockName); + } catch (err) { + console.error(err); + } + + setHasFinishedInit(true); + + // !: While the two setters are stable we still want to ensure we're avoiding + // !: re-renders. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + if (hasFinishedInit && hasDocumentLoaded && window.parent) { + window.parent.postMessage( + { + action: 'document-ready', + data: null, + }, + '*', + ); + } + }, [hasFinishedInit, hasDocumentLoaded]); + + if (hasCompletedDocument) { + return ( + + ); + } + + return ( +
+ {(!hasFinishedInit || !hasDocumentLoaded) && } + +
+ {/* Viewer */} +
+ setHasDocumentLoaded(true)} + /> +
+ + {/* Widget */} +
+
+ {/* Header */} +
+
+

+ Sign document +

+ + +
+
+ +
+

+ Sign the document to complete the process. +

+ +
+
+ + {/* Form */} +
+
+
+ + + !isNameLocked && setFullName(e.target.value.trim())} + /> +
+ +
+ + + +
+ +
+ + + + + { + setSignature(value); + }} + /> + + +
+
+
+ +
+ +
+ {pendingFields.length > 0 ? ( + + ) : ( + + )} +
+
+
+ + + {showPendingFieldTooltip && pendingFields.length > 0 && ( + + Click to insert field + + )} + + + {/* Fields */} + +
+ +
+ Powered by + +
+
+ ); +}; diff --git a/apps/web/src/app/embed/sign/[[...url]]/not-found.tsx b/apps/web/src/app/embed/sign/[[...url]]/not-found.tsx new file mode 100644 index 000000000..b8889a22c --- /dev/null +++ b/apps/web/src/app/embed/sign/[[...url]]/not-found.tsx @@ -0,0 +1,3 @@ +export default function EmbedDirectTemplateNotFound() { + return
Not Found
+} diff --git a/apps/web/src/app/embed/sign/[[...url]]/page.tsx b/apps/web/src/app/embed/sign/[[...url]]/page.tsx new file mode 100644 index 000000000..65847a483 --- /dev/null +++ b/apps/web/src/app/embed/sign/[[...url]]/page.tsx @@ -0,0 +1,95 @@ +import { notFound } from 'next/navigation'; + +import { match } from 'ts-pattern'; + +import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app'; +import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session'; +import { DocumentAccessAuth } from '@documenso/lib/types/document-auth'; +import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth'; + +import { DocumentAuthProvider } from '~/app/(signing)/sign/[token]/document-auth-provider'; +import { SigningProvider } from '~/app/(signing)/sign/[token]/provider'; + +import { EmbedAuthenticateView } from '../../authenticate'; +import { EmbedPaywall } from '../../paywall'; +import { EmbedSignDocumentClientPage } from './client'; +import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token'; +import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; +import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; +import { DocumentStatus } from '@documenso/prisma/client'; + +export type EmbedSignDocumentPageProps = { + params: { + url?: string[]; + }; +}; + +export default async function EmbedSignDocumentPage({ params }: EmbedSignDocumentPageProps) { + if (params.url?.length !== 1) { + return notFound(); + } + + const [token] = params.url; + + const { user } = await getServerComponentSession(); + + const [document, fields, recipient] = await Promise.all([ + getDocumentAndSenderByToken({ + token, + userId: user?.id, + requireAccessAuth: false, + }).catch(() => null), + getFieldsForToken({ token }), + getRecipientByToken({ token }).catch(() => null), + ]); + + // `document.directLink` is always available but we're doing this to + // satisfy the type checker. + if (!document || !recipient) { + return notFound(); + } + + // TODO: Make this more robust, we need to ensure the owner is either + // TODO: the member of a team that has an active subscription, is an early + // TODO: adopter or is an enterprise user. + if (IS_BILLING_ENABLED() && !document.teamId) { + return ; + } + + const { derivedRecipientAccessAuth } = extractDocumentAuthMethods({ + documentAuth: document.authOptions, + }); + + const isAccessAuthValid = match(derivedRecipientAccessAuth) + .with(DocumentAccessAuth.ACCOUNT, () => user !== null) + .with(null, () => true) + .exhaustive(); + + if (!isAccessAuthValid) { + return ; + } + + return ( + + + + + + ); +} diff --git a/apps/web/src/app/embed/sign/[[...url]]/schema.ts b/apps/web/src/app/embed/sign/[[...url]]/schema.ts new file mode 100644 index 000000000..78e499d5a --- /dev/null +++ b/apps/web/src/app/embed/sign/[[...url]]/schema.ts @@ -0,0 +1,16 @@ +import { z } from 'zod'; + +import { ZBaseEmbedDataSchema } from '../../base-schema'; + +export const ZSignDocumentEmbedDataSchema = ZBaseEmbedDataSchema.extend({ + email: z + .union([z.literal(''), z.string().email()]) + .optional() + .transform((value) => value || undefined), + lockEmail: z.boolean().optional().default(false), + name: z + .string() + .optional() + .transform((value) => value || undefined), + lockName: z.boolean().optional().default(false), +}); diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index 48b2c13c1..a74fa23ee 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useState } from 'react'; +import { useMemo, useState } from 'react'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; @@ -74,6 +74,7 @@ export type SignInFormProps = { isGoogleSSOEnabled?: boolean; isOIDCSSOEnabled?: boolean; oidcProviderLabel?: string; + returnTo?: string; }; export const SignInForm = ({ @@ -82,6 +83,7 @@ export const SignInForm = ({ isGoogleSSOEnabled, isOIDCSSOEnabled, oidcProviderLabel, + returnTo, }: SignInFormProps) => { const { _ } = useLingui(); const { toast } = useToast(); @@ -100,6 +102,22 @@ export const SignInForm = ({ const isPasskeyEnabled = getFlag('app_passkey'); + const callbackUrl = useMemo(() => { + // Handle SSR + if (typeof window === 'undefined') { + return LOGIN_REDIRECT_PATH; + } + + let url = new URL(returnTo || LOGIN_REDIRECT_PATH, window.location.origin); + + // Don't allow different origins + if (url.origin !== window.location.origin) { + url = new URL(LOGIN_REDIRECT_PATH, window.location.origin); + } + + return url.toString(); + }, [returnTo]); + const { mutateAsync: createPasskeySigninOptions } = trpc.auth.createPasskeySigninOptions.useMutation(); @@ -157,7 +175,7 @@ export const SignInForm = ({ const result = await signIn('webauthn', { credential: JSON.stringify(credential), - callbackUrl: LOGIN_REDIRECT_PATH, + callbackUrl, redirect: false, }); @@ -210,7 +228,7 @@ export const SignInForm = ({ const result = await signIn('credentials', { ...credentials, - callbackUrl: LOGIN_REDIRECT_PATH, + callbackUrl, redirect: false, }); @@ -259,7 +277,9 @@ export const SignInForm = ({ const onSignInWithGoogleClick = async () => { try { - await signIn('google', { callbackUrl: LOGIN_REDIRECT_PATH }); + await signIn('google', { + callbackUrl, + }); } catch (err) { toast({ title: _(msg`An unknown error occurred`), @@ -273,7 +293,9 @@ export const SignInForm = ({ const onSignInWithOIDCClick = async () => { try { - await signIn('oidc', { callbackUrl: LOGIN_REDIRECT_PATH }); + await signIn('oidc', { + callbackUrl, + }); } catch (err) { toast({ title: _(msg`An unknown error occurred`), diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index bea2c56b2..695210f86 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -76,6 +76,20 @@ async function middleware(req: NextRequest): Promise { return response; } + if (req.nextUrl.pathname.startsWith('/embed')) { + const res = NextResponse.next(); + + // Allow third parties to iframe the document. + res.headers.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); + res.headers.set('Access-Control-Allow-Origin', '*'); + res.headers.set('Content-Security-Policy', "frame-ancestors *"); + res.headers.set('Referrer-Policy', 'strict-origin-when-cross-origin'); + res.headers.set('X-Content-Type-Options', 'nosniff'); + res.headers.set('X-Frame-Options', 'ALLOW-ALL'); + + return res; + } + return NextResponse.next(); } diff --git a/package-lock.json b/package-lock.json index 32d44b66f..b54427a9e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -457,6 +457,7 @@ "posthog-js": "^1.75.3", "posthog-node": "^3.1.1", "react": "^18", + "react-call": "^1.3.0", "react-dom": "^18", "react-dropzone": "^14.2.3", "react-hook-form": "^7.43.9", @@ -27817,6 +27818,14 @@ "node": ">=0.10.0" } }, + "node_modules/react-call": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-call/-/react-call-1.3.0.tgz", + "integrity": "sha512-qlcxdNR6LHif2YoIYf/tlzrotuGzwRurF5oRrwL+rxX8bVfoID1/NmrDzEGiXUxmR+WidLGWTKKhe30guRQg0w==", + "peerDependencies": { + "react": ">=18" + } + }, "node_modules/react-colorful": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", diff --git a/packages/lib/client-only/hooks/use-throttle-fn.ts b/packages/lib/client-only/hooks/use-throttle-fn.ts new file mode 100644 index 000000000..17676a886 --- /dev/null +++ b/packages/lib/client-only/hooks/use-throttle-fn.ts @@ -0,0 +1,60 @@ +import { useCallback, useRef, useState } from 'react'; + +type ThrottleOptions = { + leading?: boolean; + trailing?: boolean; +} + +export function useThrottleFn unknown>( + fn: T, + ms = 500, + options: ThrottleOptions = {} +): [(...args: Parameters) => void, boolean, () => void] { + const [isThrottling, setIsThrottling] = useState(false); + const $isThrottling = useRef(false); + + const $timeout = useRef(null); + const $lastArgs = useRef | null>(null); + + const { leading = true, trailing = true } = options; + + const $setIsThrottling = useCallback((value: boolean) => { + $isThrottling.current = value; + setIsThrottling(value); + }, []); + + const throttledFn = useCallback( + (...args: Parameters) => { + if (!$isThrottling.current) { + $setIsThrottling(true); + if (leading) { + fn(...args); + } else { + $lastArgs.current = args; + } + + $timeout.current = setTimeout(() => { + if (trailing && $lastArgs.current) { + fn(...$lastArgs.current); + $lastArgs.current = null; + } + $setIsThrottling(false); + }, ms); + } else { + $lastArgs.current = args; + } + }, + [fn, ms, leading, trailing, $setIsThrottling] + ); + + const cancel = useCallback(() => { + if ($timeout.current) { + clearTimeout($timeout.current); + $timeout.current = null; + $setIsThrottling(false); + $lastArgs.current = null; + } + }, [$setIsThrottling]); + + return [throttledFn, isThrottling, cancel]; +} diff --git a/packages/lib/server-only/document/get-document-by-token.ts b/packages/lib/server-only/document/get-document-by-token.ts index 7f2d2172a..88c26fa16 100644 --- a/packages/lib/server-only/document/get-document-by-token.ts +++ b/packages/lib/server-only/document/get-document-by-token.ts @@ -147,7 +147,7 @@ export const getDocumentAndRecipientByToken = async ({ }, }); - const recipient = result.Recipient[0]; + const [recipient] = result.Recipient; // Sanity check, should not be possible. if (!recipient) { diff --git a/packages/lib/server-only/subscription/get-active-subscriptions-by-user-id.ts b/packages/lib/server-only/subscription/get-active-subscriptions-by-user-id.ts new file mode 100644 index 000000000..f881cdb84 --- /dev/null +++ b/packages/lib/server-only/subscription/get-active-subscriptions-by-user-id.ts @@ -0,0 +1,21 @@ +'use server'; + +import { prisma } from '@documenso/prisma'; +import { SubscriptionStatus } from '@documenso/prisma/client'; + +export type GetActiveSubscriptionsByUserIdOptions = { + userId: number; +}; + +export const getActiveSubscriptionsByUserId = async ({ + userId, +}: GetActiveSubscriptionsByUserIdOptions) => { + return await prisma.subscription.findMany({ + where: { + userId, + status: { + not: SubscriptionStatus.INACTIVE, + }, + }, + }); +}; diff --git a/packages/lib/server-only/template/create-document-from-direct-template.ts b/packages/lib/server-only/template/create-document-from-direct-template.ts index 5827fb76c..207bab655 100644 --- a/packages/lib/server-only/template/create-document-from-direct-template.ts +++ b/packages/lib/server-only/template/create-document-from-direct-template.ts @@ -210,7 +210,7 @@ export const createDocumentFromDirectTemplate = async ({ const initialRequestTime = new Date(); - const { documentId, directRecipientToken } = await prisma.$transaction(async (tx) => { + const { documentId, recipientId, token } = await prisma.$transaction(async (tx) => { const documentData = await tx.documentData.create({ data: { type: template.templateDocumentData.type, @@ -539,8 +539,9 @@ export const createDocumentFromDirectTemplate = async ({ }); return { + token: createdDirectRecipient.token, documentId: document.id, - directRecipientToken: createdDirectRecipient.token, + recipientId: createdDirectRecipient.id, }; }); @@ -559,5 +560,9 @@ export const createDocumentFromDirectTemplate = async ({ // Log and reseal as required until we configure middleware. } - return directRecipientToken; + return { + token, + documentId, + recipientId, + }; }; diff --git a/packages/lib/translations/de/web.js b/packages/lib/translations/de/web.js index e70db7220..c502042f6 100644 --- a/packages/lib/translations/de/web.js +++ b/packages/lib/translations/de/web.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"4CkA8m\":[\"\\\"\",[\"0\"],\"\\\" will appear on the document as it has a timezone of \\\"\",[\"timezone\"],\"\\\".\"],\"PGXGNV\":[\"\\\"\",[\"documentTitle\"],\"\\\" has been successfully deleted\"],\"ibh+jM\":[\"(\",[\"0\"],\") has invited you to approve this document\"],\"Hdo1JO\":[\"(\",[\"0\"],\") has invited you to sign this document\"],\"wPU8t5\":[\"(\",[\"0\"],\") has invited you to view this document\"],\"1mCQTM\":[[\"0\",\"plural\",{\"one\":\"(1 character over)\",\"other\":[\"(\",\"#\",\" characters over)\"]}]],\"8laXJX\":[[\"0\",\"plural\",{\"one\":[\"#\",\" character over the limit\"],\"other\":[\"#\",\" characters over the limit\"]}]],\"/7wuBM\":[[\"0\",\"plural\",{\"one\":[\"#\",\" recipient\"],\"other\":[\"#\",\" recipients\"]}]],\"WVvaAa\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Seat\"],\"other\":[\"#\",\" Seats\"]}]],\"mBW/Nj\":[[\"0\",\"plural\",{\"one\":\"<0>You have <1>1 pending team invitation\",\"other\":[\"<2>You have <3>\",\"#\",\" pending team invitations\"]}]],\"+Futv0\":[[\"0\",\"plural\",{\"one\":\"1 Recipient\",\"other\":[\"#\",\" Recipients\"]}]],\"/9xV/+\":[[\"0\",\"plural\",{\"one\":\"Waiting on 1 recipient\",\"other\":[\"Waiting on \",\"#\",\" recipients\"]}]],\"NKVaV/\":[[\"0\",\"plural\",{\"zero\":\"Select values\",\"other\":[\"#\",\" selected...\"]}]],\"XZlK7r\":[[\"0\"],\" direct signing templates\"],\"FDQtbR\":[[\"0\"],\" document\"],\"NnFCoc\":[[\"0\"],\" of \",[\"1\"],\" documents remaining this month.\"],\"5YOFTl\":[[\"0\"],\" Recipient(s)\"],\"7VC/RF\":[[\"0\"],\" the document to complete the process.\"],\"fjZZE0\":[[\"charactersRemaining\",\"plural\",{\"one\":\"1 character remaining\",\"other\":[[\"charactersRemaining\"],\" characters remaining\"]}]],\"AQAq/V\":[[\"formattedTeamMemberQuanity\"],\" • Monthly • Renews: \",[\"formattedDate\"]],\"QBOMc/\":[[\"numberOfSeats\",\"plural\",{\"one\":[\"#\",\" member\"],\"other\":[\"#\",\" members\"]}]],\"B/VHou\":[[\"remaningLength\",\"plural\",{\"one\":[\"#\",\" character remaining\"],\"other\":[\"#\",\" characters remaining\"]}]],\"Z5MlD3\":[\"<0>\\\"\",[\"0\"],\"\\\"is no longer available to sign\"],\"xvzJ86\":\"<0>Sender: All\",\"mVRii8\":\"404 Page not found\",\"WZHDfC\":\"404 Profile not found\",\"4lyY0m\":\"404 Team not found\",\"In0QZI\":\"404 Template not found\",\"1a1ztU\":\"A confirmation email has been sent, and it should arrive in your inbox shortly.\",\"0JoPTv\":\"A draft document will be created\",\"pYI9yv\":\"A new token was created successfully.\",\"FnK1CG\":\"A password reset email has been sent, if you have an account you should see it in your inbox shortly.\",\"GtLRrc\":[\"A request to transfer the ownership of this team has been sent to <0>\",[\"0\"],\" (\",[\"1\"],\")\"],\"EUAIAh\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso\",\"FUzxsL\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso.\",\"h39O4b\":\"A unique URL to access your profile\",\"B26oYX\":\"A unique URL to identify your team\",\"YKB66I\":\"A verification email will be sent to the provided email.\",\"g3UF2V\":\"Accept\",\"f8bc61\":\"Accepted team invitation\",\"TKFUnX\":\"Account deleted\",\"bwRvnp\":\"Action\",\"7L01XJ\":\"Actions\",\"F6pfE9\":\"Active\",\"i1lpSD\":\"Active Subscriptions\",\"m16xKo\":\"Add\",\"qkB+9Q\":\"Add all relevant fields for each recipient.\",\"bpOeyo\":\"Add all relevant placeholders for each recipient.\",\"GQ/q/T\":\"Add an authenticator to serve as a secondary authentication method for signing documents.\",\"o7gocE\":\"Add an authenticator to serve as a secondary authentication method when signing in, or when signing documents.\",\"bJUlXv\":\"Add email\",\"S/w/ui\":\"Add Fields\",\"iOiHwJ\":\"Add more\",\"rSRyAh\":\"Add number\",\"w3zmQl\":\"Add passkey\",\"zkvWcK\":\"Add Placeholders\",\"2Rqi1z\":\"Add Signers\",\"eZyoIc\":\"Add Subject\",\"bD3qQ7\":\"Add team email\",\"MwcOtB\":\"Text hinzufügen\",\"mXXoi9\":\"Add Text\",\"vn6wzk\":\"Add the people who will sign the document.\",\"8XAJNZ\":\"Add the recipients to create the document with\",\"F9ayeh\":\"Add the subject and message you wish to send to signers.\",\"pjVxbn\":\"Adding and removing seats will adjust your invoice accordingly.\",\"VfkDmn\":\"Admin Actions\",\"SsHJsm\":\"Admin panel\",\"N40H+G\":\"All\",\"/LYSFR\":\"All documents\",\"myVKpO\":\"All documents have been processed. Any new documents that are sent or received will show here.\",\"8dC9dh\":\"All inserted signatures will be voided\",\"a809wO\":\"All recipients will be notified\",\"DA2Nma\":\"All templates\",\"5b4J4v\":\"All Time\",\"8URWfv\":\"Allows authenticating using biometrics, password managers, hardware keys, etc.\",\"QN+LeY\":\"Already have an account? <0>Sign in instead\",\"hehnjM\":\"Amount\",\"VeMlGP\":\"An email containing an invitation will be sent to each member.\",\"Cs4Mqi\":\"An email requesting the transfer of this team has been sent.\",\"Vw8l6h\":\"An error occurred\",\"aAZxd7\":\"An error occurred while adding signers.\",\"qFEx41\":\"An error occurred while adding the fields.\",\"ycUtHd\":\"An error occurred while creating document from template.\",\"8jjOHI\":\"An error occurred while creating the webhook. Please try again.\",\"D6tvkq\":\"An error occurred while disabling direct link signing.\",\"HNjVHR\":\"An error occurred while downloading your document.\",\"z7nHXh\":\"An error occurred while duplicating template.\",\"WnEuiF\":\"An error occurred while enabling direct link signing.\",\"eijDci\":\"An error occurred while loading team members. Please try again later.\",\"ZL2b3c\":\"An error occurred while moving the document.\",\"vECB98\":\"An error occurred while moving the template.\",\"677Rs2\":\"An error occurred while removing the signature.\",\"niV8ex\":\"An error occurred while removing the text.\",\"+UiFs2\":\"An error occurred while sending the document.\",\"W8sZtD\":\"An error occurred while sending your confirmation email\",\"CKRkxA\":\"An error occurred while signing the document.\",\"k2HSGs\":\"An error occurred while trying to create a checkout session.\",\"PBvwjZ\":\"An error occurred while updating the document settings.\",\"vNZnKS\":\"An error occurred while updating the signature.\",\"ed1aMc\":\"An error occurred while updating your profile.\",\"hGN3eM\":\"An error occurred while uploading your document.\",\"vW+T+d\":\"An unknown error occurred\",\"Iq1gDI\":\"Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information.\",\"ZiooJI\":\"API Tokens\",\"mf2Wzk\":\"App Version\",\"Z7ZXbT\":\"Genehmigen\",\"7kb4LU\":\"Genehmigt\",\"0EvA/s\":\"Are you sure you want to delete this token?\",\"99ZWCN\":[\"Are you sure you want to remove the <0>\",[\"passkeyName\"],\" passkey.\"],\"1D4Rs0\":\"Are you sure you wish to delete this team?\",\"6foA8n\":\"Are you sure?\",\"rgXDlk\":\"Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document.\",\"ilRCh1\":\"Audit Log\",\"XiaVj+\":\"Authentication required\",\"kfcRb0\":\"Avatar\",\"uzGcBT\":\"Avatar Updated\",\"q8qrYJ\":\"Awaiting email confirmation\",\"iH8pgl\":\"Back\",\"FL8Lic\":\"Back to Documents\",\"k1bLf+\":\"Background Color\",\"ev7oAJ\":\"Backup Code\",\"M2cci0\":\"Backup codes\",\"eQwW5Q\":\"Banner Updated\",\"3dSIQs\":\"Basic details\",\"R+w/Va\":\"Billing\",\"0DGrp8\":\"Browser\",\"r4lECO\":\"Bulk Import\",\"dMoTGp\":\"By deleting this document, the following will occur:\",\"zjt329\":\"By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in.\",\"dEgA5A\":\"Abbrechen\",\"sa1BnH\":\"Cancelled by user\",\"A4tHrb\":\"Charts\",\"znIg+z\":\"Checkout\",\"MeyfTD\":\"Choose an existing recipient from below to continue\",\"iWVl0V\":\"Choose Direct Link Recipient\",\"1qI3Gk\":\"Choose...\",\"1m18m/\":\"Claim account\",\"tvmS/k\":\"Claim username\",\"vRjC9y\":\"Claim your profile later\",\"HiEGc0\":\"Claim your username now\",\"ELiPtq\":\"Click here to get started\",\"BvF90q\":\"Click here to retry\",\"cgfP+i\":\"Click here to upload\",\"L1127j\":\"Click to copy signing link for sending to recipient\",\"eZ6/Uj\":\"Klicken, um das Feld einzufügen\",\"yz7wBu\":\"Schließen\",\"bD8I7O\":\"Complete\",\"jVAqZz\":\"Complete Approval\",\"0ojNue\":\"Complete Signing\",\"+5y0NQ\":\"Complete Viewing\",\"qqWcBV\":\"Completed\",\"rGm4yZ\":\"Completed documents\",\"p5+XQN\":\"Completed Documents\",\"UfLuLv\":\"Configure general settings for the document.\",\"hIv3aM\":\"Configure general settings for the template.\",\"LVnHGj\":\"Configure template\",\"7VpPHA\":\"Confirm\",\"gMlC/b\":[\"Confirm by typing <0>\",[\"confirmTransferMessage\"],\"\"],\"FQnPC+\":[\"Confirm by typing <0>\",[\"deleteMessage\"],\"\"],\"gv1JXQ\":[\"Confirm by typing: <0>\",[\"deleteMessage\"],\"\"],\"w0Qb5v\":\"Confirm Deletion\",\"CMj4hw\":\"Confirm email\",\"13PnPF\":\"Confirmation email sent\",\"4b3oEV\":\"Content\",\"xGVfLh\":\"Fortsetzen\",\"/KgpcA\":\"Continue to login\",\"FxVG/l\":\"In die Zwischenablage kopiert\",\"phD28x\":\"Copy sharable link\",\"ZxZS0E\":\"Copy Shareable Link\",\"BddwrJ\":\"Copy token\",\"hYgDIe\":\"Create\",\"mpt9T+\":\"Create a new account\",\"kxGCtA\":\"Create a team to collaborate with your team members.\",\"1hMWR6\":\"Create account\",\"H7nlli\":\"Create and send\",\"BYg48B\":\"Create as draft\",\"JqmhmE\":\"Create Direct Link\",\"wtV4WO\":\"Create Direct Signing Link\",\"fDTEKZ\":\"Create document from template\",\"1svIlj\":\"Create now\",\"JLQooE\":\"Create one automatically\",\"YGQVmg\":\"Create team\",\"fWFMgb\":\"Create Team\",\"pzXZ8+\":\"Create token\",\"SiPp29\":\"Create webhook\",\"dkAPxi\":\"Create Webhook\",\"8T5f7o\":\"Create your account and start using state-of-the-art document signing.\",\"rr83qK\":\"Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp.\",\"d+F6q9\":\"Created\",\"88kg0+\":\"Created At\",\"NCIYDF\":\"Created by\",\"45O6zJ\":\"Created on\",\"SVZbH4\":\"Created on <0/>\",\"DCKkhU\":\"Current Password\",\"74XDHP\":[\"Current plan: \",[\"0\"]],\"U0sC6H\":\"Daily\",\"oRVm8M\":\"Dark Mode\",\"mYGY3B\":\"Datum\",\"u46WEi\":\"Date created\",\"jbq7j2\":\"Decline\",\"uSS9OX\":\"Declined team invitation\",\"cnGeoo\":\"Delete\",\"ZDGm40\":\"Delete account\",\"vzX5FB\":\"Delete Account\",\"+vDIXN\":\"Delete document\",\"MUynQL\":\"Delete Document\",\"0tFf9L\":\"Delete passkey\",\"MYiaA4\":\"Delete team\",\"WZHJBH\":\"Delete team member\",\"M5Nsil\":\"Delete the document. This action is irreversible so proceed with caution.\",\"ETB4Yh\":\"Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution.\",\"zdyslo\":\"Delete Webhook\",\"IJMZKG\":\"Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution.\",\"vGjmyl\":\"Deleted\",\"cmDFUK\":\"Deleting account...\",\"PkSiFP\":\"Deleting document\",\"PEHQTf\":\"Device\",\"YseRvk\":\"direct link\",\"cfARFZ\":\"Direct link\",\"VdX+I4\":\"direct link disabled\",\"nNHqgX\":\"Direct Link Signing\",\"k2FNdx\":\"Direct link signing has been disabled\",\"gsc+pZ\":\"Direct link signing has been enabled\",\"CRdqqs\":\"Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page.\",\"WCGIfx\":\"Direct template link deleted\",\"2HKj5L\":[\"Direct template link usage exceeded (\",[\"0\"],\"/\",[\"1\"],\")\"],\"cO9+2L\":\"Disable\",\"qERl58\":\"Disable 2FA\",\"pf7wfS\":\"Disable Two Factor Authentication before deleting your account.\",\"E/QGRL\":\"Disabled\",\"H11Db4\":\"Disabling direct link signing will prevent anyone from accessing the link.\",\"Oq0b7I\":\"Display your name and email in documents\",\"pR1j0x\":\"Do you want to delete this template?\",\"MqL7Ex\":\"Do you want to duplicate this template?\",\"MUwFBV\":\"Documenso will delete <0>all of your documents, along with all of your completed documents, signatures, and all other resources belonging to your Account.\",\"7Zdnlq\":\"Document\",\"kz4vX7\":\"Document All\",\"Pr3c2A\":\"Document Approved\",\"Kvf7iA\":\"Document Cancelled\",\"GOO+sv\":\"Document completed\",\"frw2OP\":\"Document created\",\"ZlIPM3\":\"Document deleted\",\"IvkBV7\":\"Document draft\",\"nF+jHn\":\"Document Duplicated\",\"Zfj12J\":\"Document history\",\"glwlqW\":\"Document ID\",\"WqG6Wi\":\"Document inbox\",\"WrliRN\":\"Document Limit Exceeded!\",\"AGzFn4\":\"Document metrics\",\"w+SPlp\":\"Document moved\",\"G45FNk\":\"Document no longer available to sign\",\"EhII5Z\":\"Document pending\",\"XIvQfe\":\"Document re-sent\",\"S2Wpx4\":\"Document resealed\",\"2r5F7N\":\"Document sent\",\"prbyy5\":\"Document Signed\",\"O832hg\":\"Document signing process will be cancelled\",\"UkHClc\":\"Document status\",\"RDOlfT\":\"Document title\",\"R1TUTP\":\"Document upload disabled due to unpaid invoices\",\"PGrc79\":\"Document uploaded\",\"UfJ5fX\":\"Document Viewed\",\"bTGVhQ\":\"Document will be permanently deleted\",\"E/muDO\":\"Documents\",\"q89WTJ\":\"Documents Received\",\"77Aq1u\":\"Documents Viewed\",\"352VU2\":\"Don't have an account? <0>Sign up\",\"mzI/c+\":\"Herunterladen\",\"lojhUl\":\"Download Audit Logs\",\"uKWz9T\":\"Download Certificate\",\"eneWvv\":\"Draft\",\"gWAuiM\":\"Draft documents\",\"8OzE2k\":\"Drafted Documents\",\"QurWnM\":\"Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team.\",\"euc6Ns\":\"Duplicate\",\"ePK91l\":\"Edit\",\"fW5sSv\":\"Edit webhook\",\"O3oNi5\":\"E-Mail\",\"ATGYL1\":\"Email address\",\"hzKQCy\":\"Email Address\",\"HmTucU\":\"Email Confirmed!\",\"JHLcvq\":\"Email sent!\",\"bK7p2G\":\"Email verification has been removed\",\"xk9d59\":\"Email verification has been resent\",\"DCRKbe\":\"Enable 2FA\",\"Gndbft\":\"Enable Authenticator App\",\"iNXTYT\":\"Enable direct link signing\",\"qChNnS\":\"Direktlink-Signierung aktivieren\",\"RxzN1M\":\"Enabled\",\"y6J8wY\":\"Ends On\",\"C3nD/1\":\"Enter your email\",\"oM8ocD\":\"Enter your email address to receive the completed document.\",\"n9V+ps\":\"Enter your name\",\"v0GDxO\":\"Enter your text here\",\"SlfejT\":\"Fehler\",\"ZkROsq\":\"Everyone has signed\",\"4MNaCF\":\"Everyone has signed! You will receive an Email copy of the signed document.\",\"uWW+rJ\":\"Exceeded timeout\",\"M1RnFv\":\"Expired\",\"RIcSTA\":\"Expires on\",\"LbGReD\":\"Expires on <0/>\",\"ToQ1L5\":\"Failed to reseal document\",\"YXKrQK\":\"Failed to update recipient\",\"R41XLH\":\"Failed to update webhook\",\"vF68cg\":\"Fields\",\"8rKUka\":[\"File cannot be larger than \",[\"APP_DOCUMENT_UPLOAD_SIZE_LIMIT\"],\"MB\"],\"glx6on\":\"Forgot your password?\",\"/4TFrF\":\"Full Name\",\"Weq9zb\":\"General\",\"sr0UJD\":\"Zurück\",\"+vhBuq\":\"Go back home\",\"1oocIX\":\"Go Back Home\",\"Q46UEs\":\"Go to owner\",\"71XAMD\":\"Go to your <0>public profile settings to add documents.\",\"+pEbZM\":\"Here you can edit your personal details.\",\"gPNXUO\":\"Here you can manage your password and security settings.\",\"rLZFM2\":\"Here's how it works:\",\"C3U9sx\":\"Hey I’m Timur\",\"vLyv1R\":\"Hide\",\"/c6j67\":\"Hide additional information\",\"2+GP4I\":\"I am the owner of this document\",\"Jw3g7g\":\"I'm sure! Delete it\",\"fYt7bZ\":\"If they accept this request, the team will be transferred to their account.\",\"P8EnSP\":\"If you do not want to use the authenticator prompted, you can close it, which will then display the next available authenticator.\",\"usBC38\":\"If you don't find the confirmation link in your inbox, you can request a new one below.\",\"i1sBhX\":\"If your authenticator app does not support QR codes, you can use the following code instead:\",\"Gp4Yi6\":\"Inbox\",\"mIZt96\":\"Inbox documents\",\"nSkB8g\":\"Information\",\"2+B7Tm\":\"Inserted\",\"kgiQxA\":\"Instance Stats\",\"v7dfDY\":\"Invalid code. Please try again.\",\"bajpfj\":\"Invalid file\",\"TN382O\":\"Invalid link\",\"Kx9NEt\":\"Invalid token\",\"lW4qkT\":\"Invitation accepted!\",\"K2fB29\":\"Invitation declined\",\"zbmftZ\":\"Invitation has been deleted\",\"hDYopg\":\"Invitation has been resent\",\"MFKlMB\":\"Invite\",\"+djOzj\":\"Invite member\",\"ZHx/by\":\"Invite Members\",\"qSfH/A\":\"Invite team members\",\"H97wjo\":\"Invited At\",\"IuMGvq\":\"Invoice\",\"pQgy2V\":[\"It looks like \",[\"0\"],\" hasn't added any documents to their profile yet.\"],\"Ji9zm3\":\"It seems that the provided token has expired. We've just sent you another token, please check your email and try again.\",\"PQ53gh\":\"It seems that there is no token provided, if you are trying to verify your email please follow the link in your email.\",\"y51oRm\":\"It seems that there is no token provided. Please check your email and try again.\",\"vfe90m\":\"Last 14 days\",\"uq2BmQ\":\"Last 30 days\",\"ct2SYD\":\"Last 7 days\",\"x5DnMs\":\"Last modified\",\"C3yOz3\":\"Last updated\",\"9aMJpW\":\"Last updated at\",\"JGvwnU\":\"Last used\",\"Mv8CyJ\":\"Leave\",\"v/uzBS\":\"Leave team\",\"cInPuv\":\"Light Mode\",\"0uqjes\":\"Like to have your own public profile with agreements?\",\"jfN/GZ\":\"Link template\",\"T2q4gy\":[\"Listening to \",[\"0\"]],\"qzZ/NB\":\"Load older activity\",\"Jy3ott\":\"Loading document...\",\"KBQH86\":\"Loading Document...\",\"czE0ko\":\"Loading teams...\",\"Z3FXyt\":\"Loading...\",\"z0t9bb\":\"Login\",\"wckWOP\":\"Manage\",\"HQVCTG\":[\"Manage \",[\"0\"],\"'s profile\"],\"Lp5ut7\":\"Manage all teams you are currently associated with.\",\"NwY95d\":\"Manage details for this public template\",\"OcvAVs\":\"Manage Direct Link\",\"g6RCtA\":\"Manage documents\",\"HVAyb8\":\"Manage passkeys\",\"3jHA5d\":\"Manage subscription\",\"L9IOec\":\"Manage Subscription\",\"KuukYs\":\"Manage subscriptions\",\"DHyAij\":\"Manage team subscription.\",\"lLX9Bl\":\"Manage teams\",\"aA0Gfq\":\"Manage the direct link signing for this template\",\"Ruhuv1\":\"Manage the members or invite new members.\",\"Xef1xw\":\"Manage users\",\"T0vQFD\":\"Manage your passkeys.\",\"4a84Cp\":\"Manage your site settings here\",\"Rbs16H\":\"Mark as Viewed\",\"deqwtZ\":\"MAU (created document)\",\"YgNcJU\":\"MAU (had document completed)\",\"Hn6rI0\":\"Member Since\",\"wlQNTg\":\"Members\",\"FaskIK\":\"Modify recipients\",\"+8Nek/\":\"Monthly\",\"MOyLGl\":\"Monthly Active Users: Users that created at least one Document\",\"5G7Dom\":\"Monthly Active Users: Users that had at least one of their documents completed\",\"QWdKwH\":\"Move\",\"YeRZmm\":\"Move Document to Team\",\"QlQmgo\":\"Move Template to Team\",\"wUBLjS\":\"Move to Team\",\"K8Qnlj\":\"Moving...\",\"en+4fS\":\"My templates\",\"6YtxFj\":\"Name\",\"8VD2is\":\"Need to sign documents?\",\"qqeAJM\":\"Never\",\"OEcKyx\":\"Never expire\",\"QWDm5s\":\"New team owner\",\"K6MO8e\":\"New Template\",\"hXzOVo\":\"Next\",\"ZcbBVB\":\"Next field\",\"G5YKES\":\"No active drafts\",\"PsHKvx\":\"No payment required\",\"OBWbru\":\"No public profile templates found\",\"m0I2ba\":\"No recent activity\",\"IMbagb\":\"No recipients\",\"MZbQHL\":\"No results found.\",\"+5xxir\":\"No token provided\",\"s9Rqzv\":\"No valid direct templates found\",\"l08XJv\":\"No valid recipients found\",\"CSOFdu\":\"Kein Wert gefunden.\",\"tRFnIp\":\"No worries, it happens! Enter your email and we'll email you a special link to reset your password.\",\"7aaD1O\":\"Not supported\",\"wkT5xx\":\"Nothing to do\",\"Oizhkg\":\"On this page, you can create a new webhook.\",\"aaavFi\":\"On this page, you can create new API tokens and manage the existing ones. <0/>Also see our <1>Documentation.\",\"ZtN+o/\":\"On this page, you can create new API tokens and manage the existing ones. <0/>You can view our swagger docs <1>here\",\"SpqtG7\":\"On this page, you can create new Webhooks and manage the existing ones.\",\"FOWyZB\":\"On this page, you can edit the webhook and its settings.\",\"dM1W5F\":\"Once confirmed, the following will occur:\",\"mZ2nNu\":\"Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below.\",\"udaO9j\":\"Oops! Something went wrong.\",\"OV5wZZ\":\"Opened\",\"ZAVklK\":\"Or\",\"zW+FpA\":\"Or continue with\",\"XUwKbC\":\"Otherwise, the document will be created as a draft.\",\"LtI9AS\":\"Owner\",\"v4nCHK\":\"Paid\",\"FGSN4s\":\"Passkey\",\"8mPPB0\":\"Passkey already exists for the provided authenticator\",\"k/8RhE\":\"Passkey creation cancelled due to one of the following reasons:\",\"knZBf/\":\"Passkey has been removed\",\"1MvYF3\":\"Passkey has been updated\",\"qz7mwn\":\"Passkey name\",\"UZKLEA\":\"Passkeys\",\"v3rPhj\":\"Passkeys allow you to sign in and authenticate using biometrics, password managers, etc.\",\"wsLk4g\":\"Passkeys are not supported on this browser\",\"8ZsakT\":\"Password\",\"ogtYkT\":\"Password updated\",\"4fL/V7\":\"Pay\",\"oyOEbz\":\"Payment is required to finalise the creation of your team.\",\"GptxX/\":\"Payment overdue\",\"UbRKMZ\":\"Pending\",\"Y99ivo\":\"Pending documents\",\"VZJggs\":\"Pending Documents\",\"dSe12f\":\"Pending invitations\",\"pobYPH\":\"Pending team deleted.\",\"7MuXko\":\"Personal\",\"moWIBX\":\"Personal Account\",\"bhE66T\":\"Pick a password\",\"nSCWvF\":\"Pick any of the following agreements below and start signing to get started\",\"LFWYFV\":\"Please check the CSV file and make sure it is according to our format\",\"GUOCNi\":\"Please choose your new password\",\"JcgKEA\":\"Please contact support if you would like to revert this action.\",\"pzDdmv\":\"Please enter a meaningful name for your token. This will help you identify it later.\",\"GqaSjy\":\"Please mark as viewed to complete\",\"jG5btV\":\"Please note that proceeding will remove direct linking recipient and turn it into a placeholder.\",\"Op5XjA\":\"Please note that this action is <0>irreversible.\",\"pIF/uD\":\"Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted.\",\"aYytci\":\"Please note that this action is irreversible. Once confirmed, your template will be permanently deleted.\",\"LIf5dA\":\"Please note that this action is irreversible. Once confirmed, your token will be permanently deleted.\",\"bGHA6C\":\"Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted.\",\"K2Zlri\":\"Please note that you will lose access to all documents associated with this team & all the members will be removed and notified\",\"VJEW4M\":\"Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support.\",\"Lwg9X/\":\"Please provide a token from your authenticator, or a backup code.\",\"tVQlia\":\"Please try again and make sure you enter the correct email address.\",\"fWCcRl\":\"Please try again later or login using your normal details\",\"PZCqeW\":\"Please try again later.\",\"2oj8HJ\":[\"Please type <0>\",[\"0\"],\" to confirm.\"],\"Q6hhn8\":\"Preferences\",\"ghVdS5\":\"Preview and configure template.\",\"zwBp5t\":\"Private\",\"aWLa3z\":\"Private templates can only be modified and viewed by you.\",\"vERlcd\":\"Profile\",\"H8Zk+q\":\"Profile is currently <0>hidden.\",\"6zFVy3\":\"Profile is currently <0>visible.\",\"srPuxS\":\"Profile updated\",\"7d1a0d\":\"Public\",\"PsWyzr\":\"Public Profile\",\"GCm4vn\":\"Public profile URL\",\"9imnUr\":\"Public profile username\",\"2/o+9Z\":\"Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile.\",\"Zs+87t\":\"Read only field\",\"ckH3fT\":\"Ready\",\"2DmUfb\":\"Reauthentication is required to sign this field\",\"M1HGuR\":\"Recent activity\",\"I3QpvQ\":\"Recipient\",\"evCX7h\":\"Recipient updated\",\"yPrbsy\":\"Recipients\",\"FDT13r\":\"Recipients metrics\",\"cEfPAe\":\"Recipients will still retain their copy of the document\",\"p8zadb\":\"Recovery code copied\",\"x5rgeJ\":\"Recovery codes\",\"ZCl9NH\":\"Registration Successful\",\"cD+FhI\":\"Remembered your password? <0>Sign In\",\"t/YqKh\":\"Entfernen\",\"41G745\":\"Remove team email\",\"8xN0jg\":\"Remove team member\",\"JjG/b1\":\"Repeat Password\",\"Ibjxfr\":\"Request transfer\",\"sDXefy\":\"Reseal document\",\"MyjAbr\":\"Resend\",\"bxoWpz\":\"Resend Confirmation Email\",\"HT2UjS\":\"Resend verification\",\"OfhWJH\":\"Reset\",\"wJZvNq\":\"Reset email sent\",\"KbS2K9\":\"Reset Password\",\"NI0xtv\":\"Resetting Password...\",\"2FoHU3\":\"Resolve\",\"bH0aV9\":\"Resolve payment\",\"6gRgw8\":\"Retry\",\"vUOn9d\":\"Return\",\"dRDE6t\":\"Return to Dashboard\",\"OYOJop\":\"Return to Home\",\"Wkb64i\":\"Return to sign in\",\"GXsAby\":\"Revoke\",\"cg+Poy\":\"Revoke access\",\"GDvlUT\":\"Role\",\"5dJK4M\":\"Roles\",\"tfDRzk\":\"Speichern\",\"A1taO8\":\"Search\",\"pUjzwQ\":\"Search by document title\",\"Bw5X+M\":\"Search by name or email\",\"8VEDbV\":\"Secret\",\"a3LDKx\":\"Security\",\"HUVI3V\":\"Security activity\",\"rG3WVm\":\"Auswählen\",\"9GwDu7\":\"Select a team\",\"vWi2vu\":\"Select a team to move this document to. This action cannot be undone.\",\"JxCKQ1\":\"Select a team to move this template to. This action cannot be undone.\",\"hyn0QC\":\"Select a template you'd like to display on your public profile\",\"9VGtlg\":\"Select a template you'd like to display on your team's public profile\",\"gBqxYg\":\"Select passkey\",\"471O/e\":\"Send confirmation email\",\"HbN1UH\":\"Send document\",\"qaDvSa\":\"Send reminder\",\"HW5fQk\":\"Sender\",\"DgPgBb\":\"Sending Reset Email...\",\"IoAuJG\":\"Sending...\",\"h69WC6\":\"Sent\",\"bWhxXv\":\"Set a password\",\"Tz0i8g\":\"Settings\",\"RDjuBN\":\"Setup\",\"Z8lGw6\":\"Share\",\"lCEhm/\":\"Share Signing Card\",\"8vETh9\":\"Show\",\"FSjwRy\":\"Show additional information\",\"7Ifo0h\":\"Show templates in your public profile for your audience to sign and get started quickly\",\"lDZq9u\":\"Show templates in your team public profile for your audience to sign and get started quickly\",\"c+Fnce\":\"Unterschreiben\",\"oKBjbc\":[\"Sign as \",[\"0\"],\" <0>(\",[\"1\"],\")\"],\"M7Y6vg\":[\"Sign as <0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"D0JgR3\":[\"Sign as<0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"ceklqr\":\"Sign field\",\"vRw782\":\"Sign Here\",\"n1ekoW\":\"Sign In\",\"NxCJcc\":\"Sign in to your account\",\"bHYIks\":\"Sign Out\",\"e+RpCP\":\"Sign up\",\"mErq7F\":\"Sign Up\",\"8fC9B9\":\"Sign Up with Google\",\"l/tATK\":\"Sign Up with OIDC\",\"n+8yVN\":\"Unterschrift\",\"6AjNkO\":\"Signatures Collected\",\"cquXHe\":\"Signatures will appear once the document has been completed\",\"PoH7eg\":\"Unterzeichnet\",\"XOxZT4\":\"Signing in...\",\"P1wwqN\":\"Signing up...\",\"ltYQCa\":[\"Since \",[\"0\"]],\"67H0kT\":\"Site Banner\",\"aaU5Fl\":\"Site Settings\",\"nwtY4N\":\"Etwas ist schief gelaufen\",\"xYdwPA\":[\"Something went wrong while attempting to transfer the ownership of team <0>\",[\"0\"],\" to your. Please try again later or contact support.\"],\"/OggdM\":[\"Something went wrong while attempting to verify your email address for <0>\",[\"0\"],\". Please try again later.\"],\"oZO7Po\":\"Something went wrong while loading your passkeys.\",\"qDc2pC\":\"Something went wrong while sending the confirmation email.\",\"2U+48H\":\"Something went wrong while updating the team billing subscription, please contact support.\",\"db0Ycb\":\"Something went wrong. Please try again or contact support.\",\"q16m4+\":\"Sorry, we were unable to download the audit logs. Please try again later.\",\"EUyscw\":\"Sorry, we were unable to download the certificate. Please try again later.\",\"29Hx9U\":\"Stats\",\"uAQUqI\":\"Status\",\"EDl9kS\":\"Subscribe\",\"WVzGc2\":\"Subscription\",\"P6F38F\":\"Subscriptions\",\"zzDlyQ\":\"Success\",\"f8RSgi\":\"Successfully created passkey\",\"3WgMId\":\"System Theme\",\"KM6m8p\":\"Team\",\"ZTKtIH\":\"Team checkout\",\"WUM2yD\":\"Team email\",\"rkqgH1\":\"Team Email\",\"2FRR+Z\":\"Team email already verified!\",\"5GbQa1\":\"Team email has been removed\",\"rW28ga\":\"Team email verification\",\"/9ZeEl\":\"Team email verified!\",\"Ww6njg\":\"Team email was updated.\",\"h3p3UT\":\"Team invitation\",\"am190B\":\"Team invitations have been sent.\",\"IJFhQ+\":\"Team Member\",\"EEjL2F\":\"Team Name\",\"alTHVO\":\"Team Only\",\"cvMRdF\":\"Team only templates are not linked anywhere and are visible only to your team.\",\"sSUQSW\":\"Team ownership transfer\",\"NnCr+1\":\"Team ownership transfer already completed!\",\"GzR8VI\":\"Team ownership transferred!\",\"qzHZC+\":\"Team Public Profile\",\"wkzD+0\":\"Team settings\",\"oMfDc9\":\"Team Settings\",\"NONu1b\":\"Team templates\",\"Feqf5k\":\"Team transfer in progress\",\"oXkHk2\":\"Team transfer request expired\",\"IwrHI3\":\"Team URL\",\"CAL6E9\":\"Teams\",\"qKgabb\":\"Teams restricted\",\"/K2CvV\":\"Template\",\"ZTgE3k\":\"Template deleted\",\"7ZORe4\":\"Template document uploaded\",\"Vmoj8n\":\"Template duplicated\",\"3MMlXX\":\"Template has been removed from your public profile.\",\"eupjqf\":\"Template has been updated.\",\"I1vdWI\":\"Template moved\",\"GamjcN\":\"Template saved\",\"iTylMl\":\"Templates\",\"mKknmt\":\"Templates allow you to quickly generate documents with pre-filled recipients and fields.\",\"HmA4Lf\":\"Text Color\",\"jB6Wb0\":\"The account has been deleted successfully.\",\"YPAOfJ\":\"The content to show in the banner, HTML is allowed\",\"+lDHlp\":\"The direct link has been copied to your clipboard\",\"HdogiK\":\"The document has been successfully moved to the selected team.\",\"JaqmMD\":\"The document was created but could not be sent to recipients.\",\"D6V5NE\":\"The document will be hidden from your account\",\"kn3D/u\":\"The document will be immediately sent to recipients if this is checked.\",\"S20Dp9\":\"The events that will trigger a webhook to be sent to your URL.\",\"3BvEti\":[\"The ownership of team <0>\",[\"0\"],\" has been successfully transferred to you.\"],\"jiv3IP\":\"The page you are looking for was moved, removed, renamed or might never have existed.\",\"v7aFZT\":\"The profile link has been copied to your clipboard\",\"L9/hN3\":\"The profile you are looking for could not be found.\",\"M2Tl+5\":\"The public description that will be displayed with this template\",\"Bar5Ss\":\"The public name for your template\",\"RL/wwM\":\"The recipient has been updated successfully\",\"aHhSPO\":\"The selected team member will receive an email which they must accept before the team is transferred\",\"so3oXj\":\"The signing link has been copied to your clipboard.\",\"kXciaM\":\"The site banner is a message that is shown at the top of the site. It can be used to display important information to your users.\",\"XaNqYt\":\"The team transfer invitation has been successfully deleted.\",\"DyE711\":[\"The team transfer request to <0>\",[\"0\"],\" has expired.\"],\"RLyuG2\":\"The team you are looking for may have been removed, renamed or may have never existed.\",\"wIrx7T\":\"The template has been successfully moved to the selected team.\",\"J+X6HZ\":\"The template will be removed from your profile\",\"9VV//K\":\"The template you are looking for may have been disabled, deleted or may have never existed.\",\"tkv54w\":\"The token was copied to your clipboard.\",\"5cysp1\":\"The token was deleted successfully.\",\"oddVEW\":\"The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link.\",\"Orj1pl\":\"The URL for Documenso to send webhook events to.\",\"V92DHZ\":\"The webhook has been successfully deleted.\",\"mlHeCX\":\"The webhook has been updated successfully.\",\"V+5KQa\":\"The webhook was successfully created.\",\"k/INkj\":\"There are no active drafts at the current moment. You can upload a document to start drafting.\",\"ySoKla\":\"There are no completed documents yet. Documents that you have created or received will appear here once completed.\",\"9aYXQv\":\"They have permission on your behalf to:\",\"3ap2Vv\":\"This action is not reversible. Please be certain.\",\"6S2SIc\":\"This document could not be deleted at this time. Please try again.\",\"9q30Lx\":\"This document could not be duplicated at this time. Please try again.\",\"u/cYe5\":\"This document could not be re-sent at this time. Please try again.\",\"240BLI\":\"This document has been cancelled by the owner and is no longer available for others to sign.\",\"UdLWn3\":\"This document has been cancelled by the owner.\",\"K8RH4n\":\"This document has been signed by all recipients\",\"1M0Ssi\":\"This document is currently a draft and has not been sent\",\"LLfa/G\":\"This email is already being used by another team.\",\"YrKIxa\":\"This link is invalid or has expired. Please contact your team to resend a transfer request.\",\"iN8uoK\":\"This link is invalid or has expired. Please contact your team to resend a verification.\",\"b7CscR\":\"This passkey has already been registered.\",\"JMu+vE\":\"This passkey is not configured for this application. Please login and add one in the user settings.\",\"0ES9GX\":\"This price includes minimum 5 seats.\",\"0rusOU\":\"This session has expired. Please try again.\",\"ApCva8\":\"This team, and any associated data excluding billing invoices will be permanently deleted.\",\"1ABR2W\":\"This template could not be deleted at this time. Please try again.\",\"PJUOEm\":\"This token is invalid or has expired. No action is needed.\",\"4WY92K\":\"This token is invalid or has expired. Please contact your team for a new invitation.\",\"6HNLKb\":\"This URL is already in use.\",\"/yOKAT\":\"This username has already been taken\",\"ea/Ia+\":\"This username is already taken\",\"LhMjLm\":\"Time\",\"Mz2JN2\":\"Time zone\",\"MHrjPM\":\"Titel\",\"TF1e2Y\":\"To accept this invitation you must create an account.\",\"9e4NKS\":\"To change the email you must remove and add a new email address.\",\"E3QGBV\":[\"To confirm, please enter the accounts email address <0/>(\",[\"0\"],\").\"],\"/ngXqQ\":\"To confirm, please enter the reason\",\"Z/LRzj\":\"To decline this invitation you must create an account.\",\"QyrRrh\":\"To enable two-factor authentication, scan the following QR code using your authenticator app.\",\"mX0XNr\":\"To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox.\",\"THQgMC\":[\"To mark this document as viewed, you need to be logged in as <0>\",[\"0\"],\"\"],\"Tkvndv\":\"Toggle the switch to hide your profile from the public.\",\"X3Df6T\":\"Toggle the switch to show your profile to the public.\",\"TP9/K5\":\"Token\",\"SWyfbd\":\"Token copied to clipboard\",\"OBjhQ4\":\"Token created\",\"B5MBOV\":\"Token deleted\",\"nwwDj8\":\"Token doesn't have an expiration date\",\"v/TQsS\":\"Token expiration date\",\"SKZhW9\":\"Token name\",\"/mWwgA\":\"Total Documents\",\"dKGGPw\":\"Total Recipients\",\"WLfBMX\":\"Total Signers that Signed Up\",\"vb0Q0/\":\"Total Users\",\"PsdN6O\":\"Transfer ownership of this team to a selected team member.\",\"OOrbmP\":\"Transfer team\",\"TAB7/M\":\"Transfer the ownership of the team to another team member.\",\"34nxyb\":\"Triggers\",\"0s6zAM\":\"Two factor authentication\",\"rkM+2p\":\"Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app.\",\"C4pKXW\":\"Two-Factor Authentication\",\"NwChk2\":\"Two-factor authentication disabled\",\"qwpE/S\":\"Two-factor authentication enabled\",\"Rirbh5\":\"Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in.\",\"+zy2Nq\":\"Type\",\"fn5guJ\":\"Type 'delete' to confirm\",\"aLB9e4\":\"Type a command or search...\",\"NKs0zG\":\"Uh oh! Looks like you're missing a token\",\"syy3Gt\":\"Unable to copy recovery code\",\"CRCTCg\":\"Unable to copy token\",\"IFfB53\":\"Unable to create direct template access. Please try again later.\",\"gVlUC8\":\"Unable to decline this team invitation at this time.\",\"Y+wsI7\":\"Unable to delete invitation. Please try again.\",\"UCeveL\":\"Unable to delete team\",\"wp9XuY\":\"Unable to disable two-factor authentication\",\"kIV9PR\":\"Unable to join this team at this time.\",\"KFBm7R\":\"Unable to load document history\",\"NodEs1\":\"Unable to load your public profile templates at this time\",\"vklymD\":\"Unable to remove email verification at this time. Please try again.\",\"w8n1+z\":\"Unable to remove team email at this time. Please try again.\",\"akFhsV\":\"Unable to resend invitation. Please try again.\",\"JQLFI3\":\"Unable to resend verification at this time. Please try again.\",\"jLtRR6\":\"Unable to reset password\",\"QtkcKO\":\"Unable to setup two-factor authentication\",\"N1m2oU\":\"Unable to sign in\",\"dA/8If\":\"Unauthorized\",\"9zMI6W\":\"Uncompleted\",\"29VNqC\":\"Unknown error\",\"7yiFvZ\":\"Unpaid\",\"EkH9pt\":\"Aktualisieren\",\"CVGIOg\":\"Update Banner\",\"MSfA8z\":\"Update passkey\",\"Q3MPWA\":\"Update password\",\"vXPSuB\":\"Update profile\",\"ih1ndv\":\"Update Recipient\",\"5bRMKt\":\"Update role\",\"qg6EfE\":\"Update team\",\"V8JgFA\":\"Update team email\",\"DDP/NH\":\"Update team member\",\"KAyssy\":\"Update user\",\"iFdgvQ\":\"Update webhook\",\"2uDkRs\":\"Updating password...\",\"6JH8iK\":\"Updating profile...\",\"jUV7CU\":\"Upload Avatar\",\"2npSeV\":\"Uploaded by\",\"bM+XCB\":\"Uploaded file is too large\",\"fXh9EJ\":\"Uploaded file is too small\",\"mnNw0z\":\"Uploaded file not an allowed file type\",\"5UWfU/\":\"Use Authenticator\",\"VLViRK\":\"Use Backup Code\",\"NUXH2v\":\"Use Template\",\"7PzzBU\":\"User\",\"GjhOGB\":\"User ID\",\"DgDMhU\":\"User profiles are here!\",\"lcDO4m\":\"User settings\",\"Sxm8rQ\":\"Users\",\"wMHvYH\":\"Wert\",\"BGWaEQ\":\"Verification Email Sent\",\"XZQ6rx\":\"Verification email sent successfully.\",\"ZqWgxB\":\"Verify Now\",\"kuvvht\":\"Verify your email address\",\"c9ZsJU\":\"Verify your email address to unlock all features.\",\"OUPY2G\":\"Verify your email to upload documents.\",\"jpctdh\":\"View\",\"c3aao/\":\"View activity\",\"pTCu0c\":\"View all documents sent to your account\",\"F8qz8t\":\"View all recent security activity related to your account.\",\"t3iQF8\":\"View all security activity related to your account.\",\"t5bHu+\":\"View Codes\",\"Opb2rO\":\"View documents associated with this email\",\"FbRyw+\":\"View invites\",\"kGkM7n\":\"View Original Document\",\"z0hW8A\":\"View Recovery Codes\",\"+SRqZk\":\"View teams\",\"vXtpAZ\":\"Viewed\",\"uUehLT\":\"Waiting\",\"p5sNpe\":\"Waiting for others to sign\",\"CLj7L4\":\"Want to send slick signing links like this one? <0>Check out Documenso.\",\"AVOxgl\":\"Want your own public profile?\",\"bJajhk\":\"We are unable to proceed to the billing portal at this time. Please try again, or contact support.\",\"mrAou1\":\"We are unable to remove this passkey at the moment. Please try again later.\",\"PVmZRU\":\"We are unable to update this passkey at the moment. Please try again later.\",\"4CEdkv\":\"We encountered an error while removing the direct template link. Please try again later.\",\"9dCMy6\":\"We encountered an error while updating the webhook. Please try again later.\",\"/666TS\":\"We encountered an unknown error while attempting create the new token. Please try again later.\",\"ghtOmL\":\"We encountered an unknown error while attempting to add this email. Please try again later.\",\"Z3g6da\":\"We encountered an unknown error while attempting to create a team. Please try again later.\",\"5jf+Ky\":\"We encountered an unknown error while attempting to delete it. Please try again later.\",\"BYsCZ0\":\"We encountered an unknown error while attempting to delete the pending team. Please try again later.\",\"X1sSV9\":\"We encountered an unknown error while attempting to delete this team. Please try again later.\",\"kQiucd\":\"We encountered an unknown error while attempting to delete this token. Please try again later.\",\"QbeZrm\":\"We encountered an unknown error while attempting to delete your account. Please try again later.\",\"RFJXMf\":\"We encountered an unknown error while attempting to invite team members. Please try again later.\",\"NOJmg5\":\"We encountered an unknown error while attempting to leave this team. Please try again later.\",\"p1cQqG\":\"We encountered an unknown error while attempting to remove this template from your profile. Please try again later.\",\"dWt6qq\":\"We encountered an unknown error while attempting to remove this transfer. Please try again or contact support.\",\"Bf8/oy\":\"We encountered an unknown error while attempting to remove this user. Please try again later.\",\"+dHRXe\":\"We encountered an unknown error while attempting to request a transfer of this team. Please try again later.\",\"zKkKFY\":\"We encountered an unknown error while attempting to reset your password. Please try again later.\",\"jMJahr\":\"We encountered an unknown error while attempting to revoke access. Please try again or contact support.\",\"v7NHq3\":\"We encountered an unknown error while attempting to save your details. Please try again later.\",\"H2R2SX\":\"We encountered an unknown error while attempting to sign you In. Please try again later.\",\"lFQvqg\":\"We encountered an unknown error while attempting to sign you up. Please try again later.\",\"tIdO3I\":\"We encountered an unknown error while attempting to sign you Up. Please try again later.\",\"s7WVvm\":\"We encountered an unknown error while attempting to update the avatar. Please try again later.\",\"t2qome\":\"We encountered an unknown error while attempting to update the banner. Please try again later.\",\"KRW9aV\":\"We encountered an unknown error while attempting to update the template. Please try again later.\",\"jSzwNQ\":\"We encountered an unknown error while attempting to update this team member. Please try again later.\",\"ZAGznT\":\"We encountered an unknown error while attempting to update your password. Please try again later.\",\"/YgkWz\":\"We encountered an unknown error while attempting to update your public profile. Please try again later.\",\"PgR2KT\":\"We encountered an unknown error while attempting to update your team. Please try again later.\",\"Fkk/tM\":\"We encountered an unknown error while attempting update the team email. Please try again later.\",\"XdaMt1\":\"We have sent a confirmation email for verification.\",\"Z/3o7q\":\"We were unable to copy the token to your clipboard. Please try again.\",\"/f76sW\":\"We were unable to copy your recovery code to your clipboard. Please try again.\",\"5Elc4g\":\"We were unable to create a checkout session. Please try again, or contact support\",\"bw0W5A\":\"We were unable to disable two-factor authentication for your account. Please ensure that you have entered your password and backup code correctly and try again.\",\"Ckd2da\":\"We were unable to log you out at this time.\",\"PGrghQ\":\"We were unable to set your public profile to public. Please try again.\",\"I8Rr9j\":\"We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again.\",\"/Ez2eA\":\"We were unable to submit this document at this time. Please try again later.\",\"zfClNd\":\"We were unable to verify your details. Please try again or contact support\",\"791g1I\":\"We were unable to verify your email. If your email is not verified already, please try again.\",\"xxInDV\":\"We're all empty\",\"lgW1qG\":[\"We've sent a confirmation email to <0>\",[\"email\"],\". Please check your inbox and click the link in the email to verify your account.\"],\"an6ayw\":\"Webhook created\",\"LnaC5y\":\"Webhook deleted\",\"kxZ7LS\":\"Webhook updated\",\"nuh/Wq\":\"Webhook URL\",\"v1kQyJ\":\"Webhooks\",\"4XSc4l\":\"Weekly\",\"nx8adn\":\"Welcome back, we are lucky to have you.\",\"v+iPzY\":\"When you click continue, you will be prompted to add the first available authenticator on your system.\",\"ks103z\":\"While waiting for them to do so you can create your own Documenso account and get started with document signing right away.\",\"gW6iyU\":\"Who do you want to remind?\",\"WCtNlH\":\"Write about the team\",\"RB+i+e\":\"Write about yourself\",\"zkWmBh\":\"Yearly\",\"kWJmRL\":\"You\",\"H0+WHg\":[\"You are about to complete approving \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"kzE21T\":[\"You are about to complete signing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"9AVWSg\":[\"You are about to complete viewing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"wPAx3W\":[\"You are about to delete <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"bnSqz9\":[\"You are about to delete the following team email from <0>\",[\"teamName\"],\".\"],\"5K1f43\":[\"You are about to hide <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"Z7Zba7\":\"You are about to leave the following team.\",\"w4DsUu\":[\"You are about to remove the following user from <0>\",[\"teamName\"],\".\"],\"3TbP+M\":[\"You are about to revoke access for team <0>\",[\"0\"],\" (\",[\"1\"],\") to use your email.\"],\"km5WYz\":\"You are currently on the <0>Free Plan.\",\"lS8/qb\":[\"You are currently subscribed to <0>\",[\"0\"],\"\"],\"vELAGq\":[\"You are currently updating <0>\",[\"teamMemberName\"],\".\"],\"9Vb1lk\":[\"You are currently updating the <0>\",[\"passkeyName\"],\" passkey.\"],\"fE9efX\":\"You are not authorized to view this page.\",\"xGF8ow\":\"You can choose to enable or disable your profile for public view.\",\"knayUe\":\"You can choose to enable or disable your team profile for public view.\",\"6RWhw7\":\"You can claim your profile later on by going to your profile settings!\",\"wvsTRr\":\"You can update the profile URL by updating the team URL in the general settings page.\",\"MfJtjp\":\"You can view documents associated with this email and use this identity when sending documents.\",\"q1+l2h\":[\"You cannot have more than \",[\"MAXIMUM_PASSKEYS\"],\" passkeys.\"],\"Nv8I50\":\"You cannot modify a team member who has a higher role than you.\",\"tBM5rt\":\"You cannot upload encrypted PDFs\",\"uPZVOC\":\"You currently have an active plan\",\"vGmUyC\":\"You do not currently have a customer record, this should not happen. Please contact support for assistance.\",\"COkiAI\":[\"You have accepted an invitation from <0>\",[\"0\"],\" to join their team.\"],\"XJ/LXV\":[\"You have already completed the ownership transfer for <0>\",[\"0\"],\".\"],\"udOfln\":[\"You have already verified your email address for <0>\",[\"0\"],\".\"],\"rawUsl\":[\"You have been invited by <0>\",[\"0\"],\" to join their team.\"],\"C5iBwQ\":[\"You have declined the invitation from <0>\",[\"0\"],\" to join their team.\"],\"9vc55I\":\"You have no webhooks yet. Your webhooks will be shown here once you create them.\",\"MWXNow\":\"You have not yet created any templates. To create a template please upload one.\",\"qJTcfP\":\"You have not yet created or received any documents. To create a document please upload one.\",\"yvV4GX\":[\"You have reached the maximum limit of \",[\"0\"],\" direct templates. <0>Upgrade your account to continue!\"],\"m5RA9C\":\"Sie haben Ihr Dokumentenlimit erreicht.\",\"K/3HUN\":\"You have reached your document limit. <0>Upgrade your account to continue!\",\"dURxlX\":\"You have successfully left this team.\",\"vi6pfe\":\"You have successfully registered. Please verify your account by clicking on the link you received in the email.\",\"B5Ovxs\":\"You have successfully removed this user from the team.\",\"PIl3Hg\":\"You have successfully revoked access.\",\"Z1UZXO\":[\"You have updated \",[\"teamMemberName\"],\".\"],\"tD6Cj2\":[\"You have verified your email address for <0>\",[\"0\"],\".\"],\"pNlz0U\":\"You must be an admin of this team to manage billing.\",\"xIaz3h\":\"You must enter {confirmTransferMessage} to proceed\",\"OGT1bh\":\"You must enter {deleteMessage} to proceed\",\"jifgCp\":\"You must have at least one other team member to transfer ownership.\",\"ID3LkG\":\"You must set a profile URL before enabling your public profile.\",\"zfliFq\":[\"You need to be logged in as <0>\",[\"email\"],\" to view this page.\"],\"1et3k8\":\"You need to be logged in to view this page.\",\"ZR9lKP\":\"You need to setup 2FA to mark this document as viewed.\",\"tKEndc\":\"You will get notified & be able to set up your documenso public profile when we launch the feature.\",\"MBzXsC\":\"You will now be required to enter a code from your authenticator app when signing in.\",\"eWlnaX\":\"You will receive an Email copy of the signed document once everyone has signed.\",\"gmJH7Y\":\"Your account has been deleted successfully.\",\"YL3Iyk\":\"Your avatar has been updated successfully.\",\"c4qhbN\":\"Your banner has been updated successfully.\",\"+Ljs6n\":\"Your current plan is past due. Please update your payment information.\",\"5s2EJQ\":\"Your direct signing templates\",\"pj2JS8\":\"Your document failed to upload.\",\"DIplUX\":\"Your document has been created from the template successfully.\",\"iz6qAJ\":\"Your document has been re-sent successfully.\",\"0KIVTr\":\"Your document has been sent successfully.\",\"vbvBKY\":\"Your document has been successfully duplicated.\",\"TqcK/s\":\"Your document has been uploaded successfully.\",\"xEM9BR\":\"Your document has been uploaded successfully. You will be redirected to the template page.\",\"F2NQI1\":\"Your documents\",\"JQbHxK\":\"Your email has been successfully confirmed! You can now use all features of Documenso.\",\"pSDzas\":[\"Your email is currently being used by team <0>\",[\"0\"],\" (\",[\"1\"],\").\"],\"K6mQ0w\":\"Your existing tokens\",\"Ecp9Z/\":\"Your password has been updated successfully.\",\"/tDdSk\":\"Your payment for teams is overdue. Please settle the payment to avoid any service disruptions.\",\"R+Yx9f\":\"Your profile has been updated successfully.\",\"skqRDH\":\"Your profile has been updated.\",\"kF7YFF\":\"Your public profile has been updated.\",\"XnIGua\":\"Your recovery code has been copied to your clipboard.\",\"/N3QQp\":\"Your recovery codes are listed below. Please store them in a safe place.\",\"o9X4Qf\":\"Your subscription is currently active.\",\"+fTW4I\":\"Your team has been created.\",\"DCGKPd\":\"Your team has been successfully deleted.\",\"7rm0si\":\"Your team has been successfully updated.\",\"icNCVp\":\"Your template has been duplicated successfully.\",\"juxjhy\":\"Your template has been successfully deleted.\",\"BHaG+M\":\"Your template will be duplicated.\",\"WQkZGA\":\"Your templates has been saved successfully.\",\"4OcZNw\":\"Your token has expired!\",\"stera3\":\"Your token was created successfully! Make sure to copy it because you won't be able to see it again!\",\"R5j6t5\":\"Your tokens will be shown here once you create them.\",\"73XXzw\":[[\"0\"],\" von \",[\"1\"],\" Zeile(n) ausgewählt.\"],\"lZ4w45\":[[\"visibleRows\",\"plural\",{\"one\":[\"Eine \",\"#\",\" Ergebnis wird angezeigt.\"],\"other\":[\"#\",\" Ergebnisse werden angezeigt.\"]}]],\"AhYxw5\":\"<0>Authentifizierungsmethode erben - Verwenden Sie die in den \\\"Allgemeinen Einstellungen\\\" konfigurierte globale Aktionssignatur-Authentifizierungsmethode\",\"OepImG\":\"<0>Keine Einschränkungen - Keine Authentifizierung erforderlich\",\"07+JZ2\":\"<0>Keine Einschränkungen - Das Dokument kann direkt über die dem Empfänger gesendete URL abgerufen werden\",\"jx/lwn\":\"<0>Keine - Keine Authentifizierung erforderlich\",\"CUT3u1\":\"<0>2FA erforderlich - Der Empfänger muss ein Konto haben und die 2FA über seine Einstellungen aktiviert haben\",\"2PbD3D\":\"<0>Konto erforderlich - Der Empfänger muss angemeldet sein, um das Dokument anzeigen zu können\",\"QHSbey\":\"<0>Passkey erforderlich - Der Empfänger muss ein Konto haben und den Passkey über seine Einstellungen konfiguriert haben\",\"Oy5nEc\":\"Dokument hinzufügen\",\"7Pz5x5\":\"Fügen Sie eine URL hinzu, um den Benutzer nach der Unterzeichnung des Dokuments weiterzuleiten\",\"aILOUH\":\"Fügen Sie dem Dokument eine externe ID hinzu. Diese kann verwendet werden, um das Dokument in externen Systemen zu identifizieren.\",\"bK1dPK\":\"Fügen Sie der Vorlage eine externe ID hinzu. Diese kann zur Identifizierung in externen Systemen verwendet werden.\",\"nnZ1Sa\":\"Weitere Option hinzufügen\",\"0/UVRw\":\"Weiteren Wert hinzufügen\",\"VaCh6w\":\"Mich selbst hinzufügen\",\"jAa/lz\":\"Mich hinzufügen\",\"29QK6H\":\"Platzhalterempfänger hinzufügen\",\"vcxlzZ\":\"Unterzeichner hinzufügen\",\"7F2ltK\":\"Text zum Feld hinzufügen\",\"U3pytU\":\"Admin\",\"NFIOKv\":\"Erweiterte Optionen\",\"VNgKZz\":\"Erweiterte Einstellungen\",\"bNUpvl\":\"Nach der Übermittlung wird ein Dokument automatisch generiert und zu Ihrer Dokumentenseite hinzugefügt. Sie erhalten außerdem eine Benachrichtigung per E-Mail.\",\"ca9AbO\":\"Genehmiger\",\"j2Uisd\":\"Genehmigung\",\"brJrDl\":\"Unterzeichner kann nicht entfernt werden\",\"RpYfjZ\":\"Cc\",\"XdZeJk\":\"CC\",\"nrL/ZD\":\"CC'd\",\"EEk+d0\":\"Zeichenbeschränkung\",\"G1XxbZ\":\"Checkbox\",\"wbixMe\":\"Checkbox-Werte\",\"u8JHrO\":\"Filter löschen\",\"IqxkER\":\"Unterschrift löschen\",\"OrcxNk\":\"Direkten Empfänger konfigurieren\",\"92KLYs\":[\"Konfigurieren Sie das Feld \",[\"0\"]],\"GB2F11\":\"Benutzerdefinierter Text\",\"4BHv90\":\"Datumsformat\",\"NLXhq7\":\"Empfänger des direkten Links\",\"YScG1E\":\"Dokumentenzugriff\",\"rAqi0g\":\"Dokumenterstellung\",\"6GyScL\":\"Ziehen Sie Ihr PDF hierher.\",\"iKQcPM\":\"Dropdown\",\"XXvhMd\":\"Dropdown-Optionen\",\"XLpxoj\":\"E-Mail-Optionen\",\"f7sXvi\":\"Passwort eingeben\",\"5KfWxA\":\"Externe ID\",\"4CP+OV\":\"Einstellungen konnten nicht gespeichert werden.\",\"LK3SFK\":\"Zeichenbeschränkung des Feldes\",\"NYkIsf\":\"Feldformat\",\"X6Tb6Q\":\"Feldbeschriftung\",\"NaVkSD\":\"Feldplatzhalter\",\"N1UTWT\":\"Globale Empfängerauthentifizierung\",\"uCroPU\":\"Ich bin ein Unterzeichner dieses Dokuments\",\"K6KTX2\":\"Ich bin ein Betrachter dieses Dokuments\",\"ngj5km\":\"Ich bin ein Genehmiger dieses Dokuments\",\"JUZIGu\":\"Ich bin verpflichtet, eine Kopie dieses Dokuments zu erhalten\",\"ZjDoG7\":\"I am required to recieve a copy of this document\",\"fnbcC0\":\"Authentifizierungsmethode erben\",\"87a/t/\":\"Beschriftung\",\"dtOoGl\":\"Manager\",\"CK1KXz\":\"Max\",\"OvoEq7\":\"Mitglied\",\"ziXm9u\":\"Nachricht <0>(Optional)\",\"eTUF28\":\"Min\",\"4nqUV0\":\"Muss genehmigen\",\"lNQBPg\":\"Muss unterzeichnen\",\"eUAUyG\":\"Muss sehen\",\"GBIRGD\":\"Kein passender Empfänger mit dieser Beschreibung gefunden.\",\"f34Qxi\":\"Keine Empfänger mit dieser Rolle\",\"qQ7oqE\":\"Keine Einschränkungen\",\"AxPAXW\":\"Keine Ergebnisse gefunden\",\"pt86ev\":\"Kein Unterschriftsfeld gefunden\",\"HptUxX\":\"Nummer\",\"bR2sEm\":\"Zahlenformat\",\"eY6ns+\":\"Sobald aktiviert, können Sie einen aktiven Empfänger für die Direktlink-Signierung auswählen oder einen neuen erstellen. Dieser Empfängertyp kann nicht bearbeitet oder gelöscht werden.\",\"JE2qy+\":\"Sobald Ihre Vorlage eingerichtet ist, teilen Sie den Link überall, wo Sie möchten. Die Person, die den Link öffnet, kann ihre Informationen im Feld für direkte Empfänger eingeben und alle anderen ihr zugewiesenen Felder ausfüllen.\",\"fpzyLj\":[\"Seite \",[\"0\"],\" von \",[\"1\"]],\"8ltyoa\":\"Passwort erforderlich\",\"ayaTI6\":\"Wählen Sie eine Zahl\",\"hx1ePY\":\"Platzhalter\",\"MtkqZc\":\"Radio\",\"5cEi0C\":\"Radio-Werte\",\"uNQ6eB\":\"Nur lesen\",\"UTnF5X\":\"Erhält Kopie\",\"ZIuo5V\":\"Empfängeraktion Authentifizierung\",\"VTB2Rz\":\"Weiterleitungs-URL\",\"8dg+Yo\":\"Pflichtfeld\",\"xxCtZv\":\"Zeilen pro Seite\",\"9Y3hAT\":\"Vorlage speichern\",\"hVPa4O\":\"Option auswählen\",\"IM+vrQ\":\"Wählen Sie mindestens\",\"Gve6FG\":\"Standardoption auswählen\",\"JlFcis\":\"Senden\",\"AEV4wo\":\"Dokument senden\",\"iE3nGO\":\"Unterschriftenkarte teilen\",\"y+hKWu\":\"Link teilen\",\"ydZ6yi\":\"Erweiterte Einstellungen anzeigen\",\"jTCAGu\":\"Unterzeichner\",\"6G8s+q\":\"Unterzeichnung\",\"kW2h2Z\":\"Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekommen. Bitte weisen Sie jedem Unterzeichner mindestens ein Unterschriftsfeld zu, bevor Sie fortfahren.\",\"kf83Ld\":\"Etwas ist schief gelaufen.\",\"WlBiWh\":[\"Schritt <0>\",[\"step\"],\" von \",[\"maxStep\"],\"\"],\"ki77Td\":\"Betreff <0>(Optional)\",\"hQRttt\":\"Einreichen\",\"URdrTr\":\"Vorlagentitel\",\"xeiujy\":\"Text\",\"imClgr\":\"Die Authentifizierung, die erforderlich ist, damit Empfänger Felder signieren\",\"yyD2dE\":\"Die Authentifizierung, die erforderlich ist, damit Empfänger das Signaturfeld signieren können.\",\"GtDmLf\":\"Die Authentifizierung, die erforderlich ist, damit Empfänger das Dokument anzeigen können.\",\"zAoaPB\":\"Der Name des Dokuments\",\"Ev3GOS\":\"Das eingegebene Passwort ist falsch. Bitte versuchen Sie es erneut.\",\"OPnnb6\":\"Der Empfänger muss keine Aktion ausführen und erhält nach Abschluss eine Kopie des Dokuments.\",\"v8p6Mb\":\"Der Empfänger muss das Dokument genehmigen, damit es abgeschlossen werden kann.\",\"CPv0TB\":\"Der Empfänger muss das Dokument unterschreiben, damit es abgeschlossen werden kann.\",\"oIvIfH\":\"Der Empfänger muss das Dokument anzeigen, damit es abgeschlossen werden kann.\",\"Br2bvS\":\"Der Freigabelink konnte in diesem Moment nicht erstellt werden. Bitte versuchen Sie es erneut.\",\"XJIzqY\":\"Der Freigabelink wurde in Ihre Zwischenablage kopiert.\",\"UyM8/E\":\"Die E-Mail des Unterzeichners\",\"zHJ+vk\":\"Der Name des Unterzeichners\",\"kaEF2i\":\"Dies kann überschrieben werden, indem die Authentifizierungsanforderungen im nächsten Schritt direkt für jeden Empfänger festgelegt werden.\",\"QUZVfd\":\"Dieses Dokument wurde bereits an diesen Empfänger gesendet. Sie können diesen Empfänger nicht mehr bearbeiten.\",\"riNGUC\":\"Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das Passwort ein, um das Dokument anzusehen.\",\"Qkeh+t\":\"Dieses Feld kann nicht geändert oder gelöscht werden. Wenn Sie den direkten Link dieser Vorlage teilen oder zu Ihrem öffentlichen Profil hinzufügen, kann jeder, der darauf zugreift, seinen Namen und seine E-Mail-Adresse eingeben und die ihm zugewiesenen Felder ausfüllen.\",\"l2Xt6u\":\"Dieser Unterzeichner hat das Dokument bereits erhalten.\",\"6iFh5a\":\"Dies überschreibt alle globalen Einstellungen.\",\"RxsRD6\":\"Zeitzone\",\"UWmOq4\":[\"Um fortzufahren, legen Sie bitte mindestens einen Wert für das Feld \",[\"0\"],\" fest.\"],\"GT+2nz\":\"Aktualisieren Sie die Rolle und fügen Sie Felder nach Bedarf für den direkten Empfänger hinzu. Die Person, die den direkten Link verwendet, wird das Dokument als direkter Empfänger unterzeichnen.\",\"kwkhPe\":\"Upgrade\",\"06fEqf\":\"Vorlagendokument hochladen\",\"lGWE4b\":\"Validierung\",\"M/TIv1\":\"Viewer\",\"RVWz5F\":\"Viewing\",\"4/hUq0\":\"Sie sind dabei, dieses Dokument an die Empfänger zu senden. Sind Sie sicher, dass Sie fortfahren möchten?\",\"rb/T41\":\"Sie können die folgenden Variablen in Ihrer Nachricht verwenden:\",\"9+Ph0R\":\"Sie können derzeit keine Dokumente hochladen.\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"4CkA8m\":[\"\\\"\",[\"0\"],\"\\\" will appear on the document as it has a timezone of \\\"\",[\"timezone\"],\"\\\".\"],\"PGXGNV\":[\"\\\"\",[\"documentTitle\"],\"\\\" has been successfully deleted\"],\"ibh+jM\":[\"(\",[\"0\"],\") has invited you to approve this document\"],\"Hdo1JO\":[\"(\",[\"0\"],\") has invited you to sign this document\"],\"wPU8t5\":[\"(\",[\"0\"],\") has invited you to view this document\"],\"1mCQTM\":[[\"0\",\"plural\",{\"one\":\"(1 character over)\",\"other\":[\"(\",\"#\",\" characters over)\"]}]],\"8laXJX\":[[\"0\",\"plural\",{\"one\":[\"#\",\" character over the limit\"],\"other\":[\"#\",\" characters over the limit\"]}]],\"/7wuBM\":[[\"0\",\"plural\",{\"one\":[\"#\",\" recipient\"],\"other\":[\"#\",\" recipients\"]}]],\"WVvaAa\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Seat\"],\"other\":[\"#\",\" Seats\"]}]],\"mBW/Nj\":[[\"0\",\"plural\",{\"one\":\"<0>You have <1>1 pending team invitation\",\"other\":[\"<2>You have <3>\",\"#\",\" pending team invitations\"]}]],\"+Futv0\":[[\"0\",\"plural\",{\"one\":\"1 Recipient\",\"other\":[\"#\",\" Recipients\"]}]],\"/9xV/+\":[[\"0\",\"plural\",{\"one\":\"Waiting on 1 recipient\",\"other\":[\"Waiting on \",\"#\",\" recipients\"]}]],\"NKVaV/\":[[\"0\",\"plural\",{\"zero\":\"Select values\",\"other\":[\"#\",\" selected...\"]}]],\"XZlK7r\":[[\"0\"],\" direct signing templates\"],\"FDQtbR\":[[\"0\"],\" document\"],\"NnFCoc\":[[\"0\"],\" of \",[\"1\"],\" documents remaining this month.\"],\"5YOFTl\":[[\"0\"],\" Recipient(s)\"],\"7VC/RF\":[[\"0\"],\" the document to complete the process.\"],\"fjZZE0\":[[\"charactersRemaining\",\"plural\",{\"one\":\"1 character remaining\",\"other\":[[\"charactersRemaining\"],\" characters remaining\"]}]],\"AQAq/V\":[[\"formattedTeamMemberQuanity\"],\" • Monthly • Renews: \",[\"formattedDate\"]],\"QBOMc/\":[[\"numberOfSeats\",\"plural\",{\"one\":[\"#\",\" member\"],\"other\":[\"#\",\" members\"]}]],\"B/VHou\":[[\"remaningLength\",\"plural\",{\"one\":[\"#\",\" character remaining\"],\"other\":[\"#\",\" characters remaining\"]}]],\"Z5MlD3\":[\"<0>\\\"\",[\"0\"],\"\\\"is no longer available to sign\"],\"xvzJ86\":\"<0>Sender: All\",\"mVRii8\":\"404 Page not found\",\"WZHDfC\":\"404 Profile not found\",\"4lyY0m\":\"404 Team not found\",\"In0QZI\":\"404 Template not found\",\"1a1ztU\":\"A confirmation email has been sent, and it should arrive in your inbox shortly.\",\"0JoPTv\":\"A draft document will be created\",\"pYI9yv\":\"A new token was created successfully.\",\"FnK1CG\":\"A password reset email has been sent, if you have an account you should see it in your inbox shortly.\",\"GtLRrc\":[\"A request to transfer the ownership of this team has been sent to <0>\",[\"0\"],\" (\",[\"1\"],\")\"],\"EUAIAh\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso\",\"FUzxsL\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso.\",\"h39O4b\":\"A unique URL to access your profile\",\"B26oYX\":\"A unique URL to identify your team\",\"YKB66I\":\"A verification email will be sent to the provided email.\",\"g3UF2V\":\"Accept\",\"f8bc61\":\"Accepted team invitation\",\"TKFUnX\":\"Account deleted\",\"bwRvnp\":\"Action\",\"7L01XJ\":\"Actions\",\"F6pfE9\":\"Active\",\"i1lpSD\":\"Active Subscriptions\",\"m16xKo\":\"Add\",\"qkB+9Q\":\"Add all relevant fields for each recipient.\",\"bpOeyo\":\"Add all relevant placeholders for each recipient.\",\"GQ/q/T\":\"Add an authenticator to serve as a secondary authentication method for signing documents.\",\"o7gocE\":\"Add an authenticator to serve as a secondary authentication method when signing in, or when signing documents.\",\"bJUlXv\":\"Add email\",\"S/w/ui\":\"Add Fields\",\"iOiHwJ\":\"Add more\",\"rSRyAh\":\"Add number\",\"w3zmQl\":\"Add passkey\",\"zkvWcK\":\"Add Placeholders\",\"2Rqi1z\":\"Add Signers\",\"eZyoIc\":\"Add Subject\",\"bD3qQ7\":\"Add team email\",\"MwcOtB\":\"Text hinzufügen\",\"mXXoi9\":\"Add Text\",\"vn6wzk\":\"Add the people who will sign the document.\",\"8XAJNZ\":\"Add the recipients to create the document with\",\"F9ayeh\":\"Add the subject and message you wish to send to signers.\",\"pjVxbn\":\"Adding and removing seats will adjust your invoice accordingly.\",\"VfkDmn\":\"Admin Actions\",\"SsHJsm\":\"Admin panel\",\"N40H+G\":\"All\",\"/LYSFR\":\"All documents\",\"myVKpO\":\"All documents have been processed. Any new documents that are sent or received will show here.\",\"8dC9dh\":\"All inserted signatures will be voided\",\"a809wO\":\"All recipients will be notified\",\"DA2Nma\":\"All templates\",\"5b4J4v\":\"All Time\",\"8URWfv\":\"Allows authenticating using biometrics, password managers, hardware keys, etc.\",\"QN+LeY\":\"Already have an account? <0>Sign in instead\",\"hehnjM\":\"Amount\",\"VeMlGP\":\"An email containing an invitation will be sent to each member.\",\"Cs4Mqi\":\"An email requesting the transfer of this team has been sent.\",\"Vw8l6h\":\"An error occurred\",\"aAZxd7\":\"An error occurred while adding signers.\",\"qFEx41\":\"An error occurred while adding the fields.\",\"ycUtHd\":\"An error occurred while creating document from template.\",\"8jjOHI\":\"An error occurred while creating the webhook. Please try again.\",\"D6tvkq\":\"An error occurred while disabling direct link signing.\",\"HNjVHR\":\"An error occurred while downloading your document.\",\"z7nHXh\":\"An error occurred while duplicating template.\",\"WnEuiF\":\"An error occurred while enabling direct link signing.\",\"eijDci\":\"An error occurred while loading team members. Please try again later.\",\"ZL2b3c\":\"An error occurred while moving the document.\",\"vECB98\":\"An error occurred while moving the template.\",\"677Rs2\":\"An error occurred while removing the signature.\",\"niV8ex\":\"An error occurred while removing the text.\",\"+UiFs2\":\"An error occurred while sending the document.\",\"W8sZtD\":\"An error occurred while sending your confirmation email\",\"CKRkxA\":\"An error occurred while signing the document.\",\"k2HSGs\":\"An error occurred while trying to create a checkout session.\",\"PBvwjZ\":\"An error occurred while updating the document settings.\",\"vNZnKS\":\"An error occurred while updating the signature.\",\"ed1aMc\":\"An error occurred while updating your profile.\",\"hGN3eM\":\"An error occurred while uploading your document.\",\"vW+T+d\":\"An unknown error occurred\",\"Iq1gDI\":\"Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information.\",\"ZiooJI\":\"API Tokens\",\"mf2Wzk\":\"App Version\",\"Z7ZXbT\":\"Genehmigen\",\"7kb4LU\":\"Genehmigt\",\"0EvA/s\":\"Are you sure you want to delete this token?\",\"99ZWCN\":[\"Are you sure you want to remove the <0>\",[\"passkeyName\"],\" passkey.\"],\"1D4Rs0\":\"Are you sure you wish to delete this team?\",\"6foA8n\":\"Are you sure?\",\"rgXDlk\":\"Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document.\",\"ilRCh1\":\"Audit Log\",\"XiaVj+\":\"Authentication required\",\"kfcRb0\":\"Avatar\",\"uzGcBT\":\"Avatar Updated\",\"q8qrYJ\":\"Awaiting email confirmation\",\"iH8pgl\":\"Back\",\"FL8Lic\":\"Back to Documents\",\"k1bLf+\":\"Background Color\",\"ev7oAJ\":\"Backup Code\",\"M2cci0\":\"Backup codes\",\"eQwW5Q\":\"Banner Updated\",\"3dSIQs\":\"Basic details\",\"R+w/Va\":\"Billing\",\"0DGrp8\":\"Browser\",\"r4lECO\":\"Bulk Import\",\"dMoTGp\":\"By deleting this document, the following will occur:\",\"zjt329\":\"By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in.\",\"dEgA5A\":\"Abbrechen\",\"sa1BnH\":\"Cancelled by user\",\"A4tHrb\":\"Charts\",\"znIg+z\":\"Checkout\",\"MeyfTD\":\"Choose an existing recipient from below to continue\",\"iWVl0V\":\"Choose Direct Link Recipient\",\"1qI3Gk\":\"Choose...\",\"1m18m/\":\"Claim account\",\"tvmS/k\":\"Claim username\",\"vRjC9y\":\"Claim your profile later\",\"HiEGc0\":\"Claim your username now\",\"ELiPtq\":\"Click here to get started\",\"BvF90q\":\"Click here to retry\",\"cgfP+i\":\"Click here to upload\",\"L1127j\":\"Click to copy signing link for sending to recipient\",\"eZ6/Uj\":\"Klicken, um das Feld einzufügen\",\"yz7wBu\":\"Schließen\",\"bD8I7O\":\"Complete\",\"jVAqZz\":\"Complete Approval\",\"0ojNue\":\"Complete Signing\",\"+5y0NQ\":\"Complete Viewing\",\"qqWcBV\":\"Completed\",\"rGm4yZ\":\"Completed documents\",\"p5+XQN\":\"Completed Documents\",\"UfLuLv\":\"Configure general settings for the document.\",\"hIv3aM\":\"Configure general settings for the template.\",\"LVnHGj\":\"Configure template\",\"7VpPHA\":\"Confirm\",\"gMlC/b\":[\"Confirm by typing <0>\",[\"confirmTransferMessage\"],\"\"],\"FQnPC+\":[\"Confirm by typing <0>\",[\"deleteMessage\"],\"\"],\"gv1JXQ\":[\"Confirm by typing: <0>\",[\"deleteMessage\"],\"\"],\"w0Qb5v\":\"Confirm Deletion\",\"CMj4hw\":\"Confirm email\",\"13PnPF\":\"Confirmation email sent\",\"4b3oEV\":\"Content\",\"xGVfLh\":\"Fortsetzen\",\"/KgpcA\":\"Continue to login\",\"FxVG/l\":\"In die Zwischenablage kopiert\",\"phD28x\":\"Copy sharable link\",\"ZxZS0E\":\"Copy Shareable Link\",\"BddwrJ\":\"Copy token\",\"hYgDIe\":\"Create\",\"mpt9T+\":\"Create a new account\",\"kxGCtA\":\"Create a team to collaborate with your team members.\",\"1hMWR6\":\"Create account\",\"H7nlli\":\"Create and send\",\"BYg48B\":\"Create as draft\",\"JqmhmE\":\"Create Direct Link\",\"wtV4WO\":\"Create Direct Signing Link\",\"fDTEKZ\":\"Create document from template\",\"1svIlj\":\"Create now\",\"JLQooE\":\"Create one automatically\",\"YGQVmg\":\"Create team\",\"fWFMgb\":\"Create Team\",\"pzXZ8+\":\"Create token\",\"SiPp29\":\"Create webhook\",\"dkAPxi\":\"Create Webhook\",\"8T5f7o\":\"Create your account and start using state-of-the-art document signing.\",\"rr83qK\":\"Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp.\",\"d+F6q9\":\"Created\",\"88kg0+\":\"Created At\",\"NCIYDF\":\"Created by\",\"45O6zJ\":\"Created on\",\"SVZbH4\":\"Created on <0/>\",\"DCKkhU\":\"Current Password\",\"74XDHP\":[\"Current plan: \",[\"0\"]],\"U0sC6H\":\"Daily\",\"oRVm8M\":\"Dark Mode\",\"mYGY3B\":\"Datum\",\"u46WEi\":\"Date created\",\"jbq7j2\":\"Decline\",\"uSS9OX\":\"Declined team invitation\",\"cnGeoo\":\"Delete\",\"ZDGm40\":\"Delete account\",\"vzX5FB\":\"Delete Account\",\"+vDIXN\":\"Delete document\",\"MUynQL\":\"Delete Document\",\"0tFf9L\":\"Delete passkey\",\"MYiaA4\":\"Delete team\",\"WZHJBH\":\"Delete team member\",\"M5Nsil\":\"Delete the document. This action is irreversible so proceed with caution.\",\"ETB4Yh\":\"Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution.\",\"zdyslo\":\"Delete Webhook\",\"IJMZKG\":\"Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution.\",\"vGjmyl\":\"Deleted\",\"cmDFUK\":\"Deleting account...\",\"PkSiFP\":\"Deleting document\",\"PEHQTf\":\"Device\",\"YseRvk\":\"direct link\",\"cfARFZ\":\"Direct link\",\"VdX+I4\":\"direct link disabled\",\"nNHqgX\":\"Direct Link Signing\",\"k2FNdx\":\"Direct link signing has been disabled\",\"gsc+pZ\":\"Direct link signing has been enabled\",\"CRdqqs\":\"Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page.\",\"WCGIfx\":\"Direct template link deleted\",\"2HKj5L\":[\"Direct template link usage exceeded (\",[\"0\"],\"/\",[\"1\"],\")\"],\"cO9+2L\":\"Disable\",\"qERl58\":\"Disable 2FA\",\"pf7wfS\":\"Disable Two Factor Authentication before deleting your account.\",\"E/QGRL\":\"Disabled\",\"H11Db4\":\"Disabling direct link signing will prevent anyone from accessing the link.\",\"Oq0b7I\":\"Display your name and email in documents\",\"pR1j0x\":\"Do you want to delete this template?\",\"MqL7Ex\":\"Do you want to duplicate this template?\",\"MUwFBV\":\"Documenso will delete <0>all of your documents, along with all of your completed documents, signatures, and all other resources belonging to your Account.\",\"7Zdnlq\":\"Document\",\"kz4vX7\":\"Document All\",\"Pr3c2A\":\"Document Approved\",\"Kvf7iA\":\"Document Cancelled\",\"GOO+sv\":\"Document completed\",\"6KFLWX\":\"Document Completed!\",\"frw2OP\":\"Document created\",\"ZlIPM3\":\"Document deleted\",\"IvkBV7\":\"Document draft\",\"nF+jHn\":\"Document Duplicated\",\"Zfj12J\":\"Document history\",\"glwlqW\":\"Document ID\",\"WqG6Wi\":\"Document inbox\",\"WrliRN\":\"Document Limit Exceeded!\",\"AGzFn4\":\"Document metrics\",\"w+SPlp\":\"Document moved\",\"G45FNk\":\"Document no longer available to sign\",\"EhII5Z\":\"Document pending\",\"XIvQfe\":\"Document re-sent\",\"S2Wpx4\":\"Document resealed\",\"2r5F7N\":\"Document sent\",\"prbyy5\":\"Document Signed\",\"O832hg\":\"Document signing process will be cancelled\",\"UkHClc\":\"Document status\",\"RDOlfT\":\"Document title\",\"R1TUTP\":\"Document upload disabled due to unpaid invoices\",\"PGrc79\":\"Document uploaded\",\"UfJ5fX\":\"Document Viewed\",\"bTGVhQ\":\"Document will be permanently deleted\",\"E/muDO\":\"Documents\",\"q89WTJ\":\"Documents Received\",\"77Aq1u\":\"Documents Viewed\",\"352VU2\":\"Don't have an account? <0>Sign up\",\"mzI/c+\":\"Herunterladen\",\"lojhUl\":\"Download Audit Logs\",\"uKWz9T\":\"Download Certificate\",\"eneWvv\":\"Draft\",\"gWAuiM\":\"Draft documents\",\"8OzE2k\":\"Drafted Documents\",\"QurWnM\":\"Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team.\",\"euc6Ns\":\"Duplicate\",\"ePK91l\":\"Edit\",\"fW5sSv\":\"Edit webhook\",\"O3oNi5\":\"E-Mail\",\"ATGYL1\":\"Email address\",\"hzKQCy\":\"Email Address\",\"HmTucU\":\"Email Confirmed!\",\"JHLcvq\":\"Email sent!\",\"bK7p2G\":\"Email verification has been removed\",\"xk9d59\":\"Email verification has been resent\",\"DCRKbe\":\"Enable 2FA\",\"Gndbft\":\"Enable Authenticator App\",\"iNXTYT\":\"Enable direct link signing\",\"qChNnS\":\"Direktlink-Signierung aktivieren\",\"RxzN1M\":\"Enabled\",\"y6J8wY\":\"Ends On\",\"C3nD/1\":\"Enter your email\",\"oM8ocD\":\"Enter your email address to receive the completed document.\",\"n9V+ps\":\"Enter your name\",\"v0GDxO\":\"Enter your text here\",\"SlfejT\":\"Fehler\",\"ZkROsq\":\"Everyone has signed\",\"4MNaCF\":\"Everyone has signed! You will receive an Email copy of the signed document.\",\"uWW+rJ\":\"Exceeded timeout\",\"M1RnFv\":\"Expired\",\"RIcSTA\":\"Expires on\",\"LbGReD\":\"Expires on <0/>\",\"ToQ1L5\":\"Failed to reseal document\",\"YXKrQK\":\"Failed to update recipient\",\"R41XLH\":\"Failed to update webhook\",\"vF68cg\":\"Fields\",\"8rKUka\":[\"File cannot be larger than \",[\"APP_DOCUMENT_UPLOAD_SIZE_LIMIT\"],\"MB\"],\"glx6on\":\"Forgot your password?\",\"/4TFrF\":\"Full Name\",\"Weq9zb\":\"General\",\"sr0UJD\":\"Zurück\",\"+vhBuq\":\"Go back home\",\"1oocIX\":\"Go Back Home\",\"Q46UEs\":\"Go to owner\",\"71XAMD\":\"Go to your <0>public profile settings to add documents.\",\"+pEbZM\":\"Here you can edit your personal details.\",\"gPNXUO\":\"Here you can manage your password and security settings.\",\"rLZFM2\":\"Here's how it works:\",\"C3U9sx\":\"Hey I’m Timur\",\"vLyv1R\":\"Hide\",\"/c6j67\":\"Hide additional information\",\"2+GP4I\":\"I am the owner of this document\",\"Jw3g7g\":\"I'm sure! Delete it\",\"fYt7bZ\":\"If they accept this request, the team will be transferred to their account.\",\"P8EnSP\":\"If you do not want to use the authenticator prompted, you can close it, which will then display the next available authenticator.\",\"usBC38\":\"If you don't find the confirmation link in your inbox, you can request a new one below.\",\"i1sBhX\":\"If your authenticator app does not support QR codes, you can use the following code instead:\",\"Gp4Yi6\":\"Inbox\",\"mIZt96\":\"Inbox documents\",\"nSkB8g\":\"Information\",\"2+B7Tm\":\"Inserted\",\"kgiQxA\":\"Instance Stats\",\"v7dfDY\":\"Invalid code. Please try again.\",\"bajpfj\":\"Invalid file\",\"TN382O\":\"Invalid link\",\"Kx9NEt\":\"Invalid token\",\"lW4qkT\":\"Invitation accepted!\",\"K2fB29\":\"Invitation declined\",\"zbmftZ\":\"Invitation has been deleted\",\"hDYopg\":\"Invitation has been resent\",\"MFKlMB\":\"Invite\",\"+djOzj\":\"Invite member\",\"ZHx/by\":\"Invite Members\",\"qSfH/A\":\"Invite team members\",\"H97wjo\":\"Invited At\",\"IuMGvq\":\"Invoice\",\"pQgy2V\":[\"It looks like \",[\"0\"],\" hasn't added any documents to their profile yet.\"],\"Ji9zm3\":\"It seems that the provided token has expired. We've just sent you another token, please check your email and try again.\",\"PQ53gh\":\"It seems that there is no token provided, if you are trying to verify your email please follow the link in your email.\",\"y51oRm\":\"It seems that there is no token provided. Please check your email and try again.\",\"vfe90m\":\"Last 14 days\",\"uq2BmQ\":\"Last 30 days\",\"ct2SYD\":\"Last 7 days\",\"x5DnMs\":\"Last modified\",\"C3yOz3\":\"Last updated\",\"9aMJpW\":\"Last updated at\",\"JGvwnU\":\"Last used\",\"Mv8CyJ\":\"Leave\",\"v/uzBS\":\"Leave team\",\"cInPuv\":\"Light Mode\",\"0uqjes\":\"Like to have your own public profile with agreements?\",\"jfN/GZ\":\"Link template\",\"T2q4gy\":[\"Listening to \",[\"0\"]],\"qzZ/NB\":\"Load older activity\",\"Jy3ott\":\"Loading document...\",\"KBQH86\":\"Loading Document...\",\"czE0ko\":\"Loading teams...\",\"Z3FXyt\":\"Loading...\",\"z0t9bb\":\"Login\",\"wckWOP\":\"Manage\",\"HQVCTG\":[\"Manage \",[\"0\"],\"'s profile\"],\"Lp5ut7\":\"Manage all teams you are currently associated with.\",\"NwY95d\":\"Manage details for this public template\",\"OcvAVs\":\"Manage Direct Link\",\"g6RCtA\":\"Manage documents\",\"HVAyb8\":\"Manage passkeys\",\"3jHA5d\":\"Manage subscription\",\"L9IOec\":\"Manage Subscription\",\"KuukYs\":\"Manage subscriptions\",\"DHyAij\":\"Manage team subscription.\",\"lLX9Bl\":\"Manage teams\",\"aA0Gfq\":\"Manage the direct link signing for this template\",\"Ruhuv1\":\"Manage the members or invite new members.\",\"Xef1xw\":\"Manage users\",\"T0vQFD\":\"Manage your passkeys.\",\"4a84Cp\":\"Manage your site settings here\",\"Rbs16H\":\"Mark as Viewed\",\"deqwtZ\":\"MAU (created document)\",\"YgNcJU\":\"MAU (had document completed)\",\"Hn6rI0\":\"Member Since\",\"wlQNTg\":\"Members\",\"FaskIK\":\"Modify recipients\",\"+8Nek/\":\"Monthly\",\"MOyLGl\":\"Monthly Active Users: Users that created at least one Document\",\"5G7Dom\":\"Monthly Active Users: Users that had at least one of their documents completed\",\"QWdKwH\":\"Move\",\"YeRZmm\":\"Move Document to Team\",\"QlQmgo\":\"Move Template to Team\",\"wUBLjS\":\"Move to Team\",\"K8Qnlj\":\"Moving...\",\"en+4fS\":\"My templates\",\"6YtxFj\":\"Name\",\"8VD2is\":\"Need to sign documents?\",\"qqeAJM\":\"Never\",\"OEcKyx\":\"Never expire\",\"QWDm5s\":\"New team owner\",\"K6MO8e\":\"New Template\",\"hXzOVo\":\"Next\",\"ZcbBVB\":\"Next field\",\"G5YKES\":\"No active drafts\",\"PsHKvx\":\"No payment required\",\"OBWbru\":\"No public profile templates found\",\"m0I2ba\":\"No recent activity\",\"IMbagb\":\"No recipients\",\"MZbQHL\":\"No results found.\",\"+5xxir\":\"No token provided\",\"s9Rqzv\":\"No valid direct templates found\",\"l08XJv\":\"No valid recipients found\",\"CSOFdu\":\"Kein Wert gefunden.\",\"tRFnIp\":\"No worries, it happens! Enter your email and we'll email you a special link to reset your password.\",\"7aaD1O\":\"Not supported\",\"wkT5xx\":\"Nothing to do\",\"Oizhkg\":\"On this page, you can create a new webhook.\",\"aaavFi\":\"On this page, you can create new API tokens and manage the existing ones. <0/>Also see our <1>Documentation.\",\"ZtN+o/\":\"On this page, you can create new API tokens and manage the existing ones. <0/>You can view our swagger docs <1>here\",\"SpqtG7\":\"On this page, you can create new Webhooks and manage the existing ones.\",\"FOWyZB\":\"On this page, you can edit the webhook and its settings.\",\"dM1W5F\":\"Once confirmed, the following will occur:\",\"mZ2nNu\":\"Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below.\",\"udaO9j\":\"Oops! Something went wrong.\",\"OV5wZZ\":\"Opened\",\"ZAVklK\":\"Or\",\"zW+FpA\":\"Or continue with\",\"XUwKbC\":\"Otherwise, the document will be created as a draft.\",\"LtI9AS\":\"Owner\",\"v4nCHK\":\"Paid\",\"FGSN4s\":\"Passkey\",\"8mPPB0\":\"Passkey already exists for the provided authenticator\",\"k/8RhE\":\"Passkey creation cancelled due to one of the following reasons:\",\"knZBf/\":\"Passkey has been removed\",\"1MvYF3\":\"Passkey has been updated\",\"qz7mwn\":\"Passkey name\",\"UZKLEA\":\"Passkeys\",\"v3rPhj\":\"Passkeys allow you to sign in and authenticate using biometrics, password managers, etc.\",\"wsLk4g\":\"Passkeys are not supported on this browser\",\"8ZsakT\":\"Password\",\"ogtYkT\":\"Password updated\",\"4fL/V7\":\"Pay\",\"oyOEbz\":\"Payment is required to finalise the creation of your team.\",\"GptxX/\":\"Payment overdue\",\"UbRKMZ\":\"Pending\",\"Y99ivo\":\"Pending documents\",\"VZJggs\":\"Pending Documents\",\"dSe12f\":\"Pending invitations\",\"pobYPH\":\"Pending team deleted.\",\"7MuXko\":\"Personal\",\"moWIBX\":\"Personal Account\",\"bhE66T\":\"Pick a password\",\"nSCWvF\":\"Pick any of the following agreements below and start signing to get started\",\"LFWYFV\":\"Please check the CSV file and make sure it is according to our format\",\"GUOCNi\":\"Please choose your new password\",\"JcgKEA\":\"Please contact support if you would like to revert this action.\",\"pzDdmv\":\"Please enter a meaningful name for your token. This will help you identify it later.\",\"GqaSjy\":\"Please mark as viewed to complete\",\"jG5btV\":\"Please note that proceeding will remove direct linking recipient and turn it into a placeholder.\",\"Op5XjA\":\"Please note that this action is <0>irreversible.\",\"pIF/uD\":\"Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted.\",\"aYytci\":\"Please note that this action is irreversible. Once confirmed, your template will be permanently deleted.\",\"LIf5dA\":\"Please note that this action is irreversible. Once confirmed, your token will be permanently deleted.\",\"bGHA6C\":\"Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted.\",\"K2Zlri\":\"Please note that you will lose access to all documents associated with this team & all the members will be removed and notified\",\"VJEW4M\":\"Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support.\",\"Lwg9X/\":\"Please provide a token from your authenticator, or a backup code.\",\"tVQlia\":\"Please try again and make sure you enter the correct email address.\",\"fWCcRl\":\"Please try again later or login using your normal details\",\"PZCqeW\":\"Please try again later.\",\"2oj8HJ\":[\"Please type <0>\",[\"0\"],\" to confirm.\"],\"Q6hhn8\":\"Preferences\",\"ghVdS5\":\"Preview and configure template.\",\"zwBp5t\":\"Private\",\"aWLa3z\":\"Private templates can only be modified and viewed by you.\",\"vERlcd\":\"Profile\",\"H8Zk+q\":\"Profile is currently <0>hidden.\",\"6zFVy3\":\"Profile is currently <0>visible.\",\"srPuxS\":\"Profile updated\",\"7d1a0d\":\"Public\",\"PsWyzr\":\"Public Profile\",\"GCm4vn\":\"Public profile URL\",\"9imnUr\":\"Public profile username\",\"2/o+9Z\":\"Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile.\",\"Zs+87t\":\"Read only field\",\"ckH3fT\":\"Ready\",\"2DmUfb\":\"Reauthentication is required to sign this field\",\"M1HGuR\":\"Recent activity\",\"I3QpvQ\":\"Recipient\",\"evCX7h\":\"Recipient updated\",\"yPrbsy\":\"Recipients\",\"FDT13r\":\"Recipients metrics\",\"cEfPAe\":\"Recipients will still retain their copy of the document\",\"p8zadb\":\"Recovery code copied\",\"x5rgeJ\":\"Recovery codes\",\"ZCl9NH\":\"Registration Successful\",\"cD+FhI\":\"Remembered your password? <0>Sign In\",\"t/YqKh\":\"Entfernen\",\"41G745\":\"Remove team email\",\"8xN0jg\":\"Remove team member\",\"JjG/b1\":\"Repeat Password\",\"Ibjxfr\":\"Request transfer\",\"sDXefy\":\"Reseal document\",\"MyjAbr\":\"Resend\",\"bxoWpz\":\"Resend Confirmation Email\",\"HT2UjS\":\"Resend verification\",\"OfhWJH\":\"Reset\",\"wJZvNq\":\"Reset email sent\",\"KbS2K9\":\"Reset Password\",\"NI0xtv\":\"Resetting Password...\",\"2FoHU3\":\"Resolve\",\"bH0aV9\":\"Resolve payment\",\"6gRgw8\":\"Retry\",\"vUOn9d\":\"Return\",\"dRDE6t\":\"Return to Dashboard\",\"OYOJop\":\"Return to Home\",\"Wkb64i\":\"Return to sign in\",\"GXsAby\":\"Revoke\",\"cg+Poy\":\"Revoke access\",\"GDvlUT\":\"Role\",\"5dJK4M\":\"Roles\",\"tfDRzk\":\"Speichern\",\"A1taO8\":\"Search\",\"pUjzwQ\":\"Search by document title\",\"Bw5X+M\":\"Search by name or email\",\"8VEDbV\":\"Secret\",\"a3LDKx\":\"Security\",\"HUVI3V\":\"Security activity\",\"rG3WVm\":\"Auswählen\",\"9GwDu7\":\"Select a team\",\"vWi2vu\":\"Select a team to move this document to. This action cannot be undone.\",\"JxCKQ1\":\"Select a team to move this template to. This action cannot be undone.\",\"hyn0QC\":\"Select a template you'd like to display on your public profile\",\"9VGtlg\":\"Select a template you'd like to display on your team's public profile\",\"gBqxYg\":\"Select passkey\",\"471O/e\":\"Send confirmation email\",\"HbN1UH\":\"Send document\",\"qaDvSa\":\"Send reminder\",\"HW5fQk\":\"Sender\",\"DgPgBb\":\"Sending Reset Email...\",\"IoAuJG\":\"Sending...\",\"h69WC6\":\"Sent\",\"bWhxXv\":\"Set a password\",\"Tz0i8g\":\"Settings\",\"RDjuBN\":\"Setup\",\"Z8lGw6\":\"Share\",\"lCEhm/\":\"Share Signing Card\",\"8vETh9\":\"Show\",\"FSjwRy\":\"Show additional information\",\"7Ifo0h\":\"Show templates in your public profile for your audience to sign and get started quickly\",\"lDZq9u\":\"Show templates in your team public profile for your audience to sign and get started quickly\",\"c+Fnce\":\"Unterschreiben\",\"oKBjbc\":[\"Sign as \",[\"0\"],\" <0>(\",[\"1\"],\")\"],\"M7Y6vg\":[\"Sign as <0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"D0JgR3\":[\"Sign as<0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"/8S7J+\":\"Sign document\",\"ceklqr\":\"Sign field\",\"vRw782\":\"Sign Here\",\"n1ekoW\":\"Sign In\",\"NxCJcc\":\"Sign in to your account\",\"bHYIks\":\"Sign Out\",\"Mqwtkp\":\"Sign the document to complete the process.\",\"e+RpCP\":\"Sign up\",\"mErq7F\":\"Sign Up\",\"8fC9B9\":\"Sign Up with Google\",\"l/tATK\":\"Sign Up with OIDC\",\"n+8yVN\":\"Unterschrift\",\"6AjNkO\":\"Signatures Collected\",\"cquXHe\":\"Signatures will appear once the document has been completed\",\"PoH7eg\":\"Unterzeichnet\",\"XOxZT4\":\"Signing in...\",\"P1wwqN\":\"Signing up...\",\"ltYQCa\":[\"Since \",[\"0\"]],\"67H0kT\":\"Site Banner\",\"aaU5Fl\":\"Site Settings\",\"nwtY4N\":\"Etwas ist schief gelaufen\",\"xYdwPA\":[\"Something went wrong while attempting to transfer the ownership of team <0>\",[\"0\"],\" to your. Please try again later or contact support.\"],\"/OggdM\":[\"Something went wrong while attempting to verify your email address for <0>\",[\"0\"],\". Please try again later.\"],\"oZO7Po\":\"Something went wrong while loading your passkeys.\",\"qDc2pC\":\"Something went wrong while sending the confirmation email.\",\"2U+48H\":\"Something went wrong while updating the team billing subscription, please contact support.\",\"db0Ycb\":\"Something went wrong. Please try again or contact support.\",\"q16m4+\":\"Sorry, we were unable to download the audit logs. Please try again later.\",\"EUyscw\":\"Sorry, we were unable to download the certificate. Please try again later.\",\"29Hx9U\":\"Stats\",\"uAQUqI\":\"Status\",\"EDl9kS\":\"Subscribe\",\"WVzGc2\":\"Subscription\",\"P6F38F\":\"Subscriptions\",\"zzDlyQ\":\"Success\",\"f8RSgi\":\"Successfully created passkey\",\"3WgMId\":\"System Theme\",\"KM6m8p\":\"Team\",\"ZTKtIH\":\"Team checkout\",\"WUM2yD\":\"Team email\",\"rkqgH1\":\"Team Email\",\"2FRR+Z\":\"Team email already verified!\",\"5GbQa1\":\"Team email has been removed\",\"rW28ga\":\"Team email verification\",\"/9ZeEl\":\"Team email verified!\",\"Ww6njg\":\"Team email was updated.\",\"h3p3UT\":\"Team invitation\",\"am190B\":\"Team invitations have been sent.\",\"IJFhQ+\":\"Team Member\",\"EEjL2F\":\"Team Name\",\"alTHVO\":\"Team Only\",\"cvMRdF\":\"Team only templates are not linked anywhere and are visible only to your team.\",\"sSUQSW\":\"Team ownership transfer\",\"NnCr+1\":\"Team ownership transfer already completed!\",\"GzR8VI\":\"Team ownership transferred!\",\"qzHZC+\":\"Team Public Profile\",\"wkzD+0\":\"Team settings\",\"oMfDc9\":\"Team Settings\",\"NONu1b\":\"Team templates\",\"Feqf5k\":\"Team transfer in progress\",\"oXkHk2\":\"Team transfer request expired\",\"IwrHI3\":\"Team URL\",\"CAL6E9\":\"Teams\",\"qKgabb\":\"Teams restricted\",\"/K2CvV\":\"Template\",\"ZTgE3k\":\"Template deleted\",\"7ZORe4\":\"Template document uploaded\",\"Vmoj8n\":\"Template duplicated\",\"3MMlXX\":\"Template has been removed from your public profile.\",\"eupjqf\":\"Template has been updated.\",\"I1vdWI\":\"Template moved\",\"GamjcN\":\"Template saved\",\"iTylMl\":\"Templates\",\"mKknmt\":\"Templates allow you to quickly generate documents with pre-filled recipients and fields.\",\"HmA4Lf\":\"Text Color\",\"jB6Wb0\":\"The account has been deleted successfully.\",\"YPAOfJ\":\"The content to show in the banner, HTML is allowed\",\"+lDHlp\":\"The direct link has been copied to your clipboard\",\"HdogiK\":\"The document has been successfully moved to the selected team.\",\"8TDHmX\":\"The document is now completed, please follow any instructions provided within the parent application.\",\"JaqmMD\":\"The document was created but could not be sent to recipients.\",\"D6V5NE\":\"The document will be hidden from your account\",\"kn3D/u\":\"The document will be immediately sent to recipients if this is checked.\",\"S20Dp9\":\"The events that will trigger a webhook to be sent to your URL.\",\"3BvEti\":[\"The ownership of team <0>\",[\"0\"],\" has been successfully transferred to you.\"],\"jiv3IP\":\"The page you are looking for was moved, removed, renamed or might never have existed.\",\"v7aFZT\":\"The profile link has been copied to your clipboard\",\"L9/hN3\":\"The profile you are looking for could not be found.\",\"M2Tl+5\":\"The public description that will be displayed with this template\",\"Bar5Ss\":\"The public name for your template\",\"RL/wwM\":\"The recipient has been updated successfully\",\"aHhSPO\":\"The selected team member will receive an email which they must accept before the team is transferred\",\"so3oXj\":\"The signing link has been copied to your clipboard.\",\"kXciaM\":\"The site banner is a message that is shown at the top of the site. It can be used to display important information to your users.\",\"XaNqYt\":\"The team transfer invitation has been successfully deleted.\",\"DyE711\":[\"The team transfer request to <0>\",[\"0\"],\" has expired.\"],\"RLyuG2\":\"The team you are looking for may have been removed, renamed or may have never existed.\",\"wIrx7T\":\"The template has been successfully moved to the selected team.\",\"J+X6HZ\":\"The template will be removed from your profile\",\"9VV//K\":\"The template you are looking for may have been disabled, deleted or may have never existed.\",\"tkv54w\":\"The token was copied to your clipboard.\",\"5cysp1\":\"The token was deleted successfully.\",\"oddVEW\":\"The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link.\",\"Orj1pl\":\"The URL for Documenso to send webhook events to.\",\"V92DHZ\":\"The webhook has been successfully deleted.\",\"mlHeCX\":\"The webhook has been updated successfully.\",\"V+5KQa\":\"The webhook was successfully created.\",\"k/INkj\":\"There are no active drafts at the current moment. You can upload a document to start drafting.\",\"ySoKla\":\"There are no completed documents yet. Documents that you have created or received will appear here once completed.\",\"9aYXQv\":\"They have permission on your behalf to:\",\"3ap2Vv\":\"This action is not reversible. Please be certain.\",\"6S2SIc\":\"This document could not be deleted at this time. Please try again.\",\"9q30Lx\":\"This document could not be duplicated at this time. Please try again.\",\"u/cYe5\":\"This document could not be re-sent at this time. Please try again.\",\"240BLI\":\"This document has been cancelled by the owner and is no longer available for others to sign.\",\"UdLWn3\":\"This document has been cancelled by the owner.\",\"K8RH4n\":\"This document has been signed by all recipients\",\"1M0Ssi\":\"This document is currently a draft and has not been sent\",\"LLfa/G\":\"This email is already being used by another team.\",\"YrKIxa\":\"This link is invalid or has expired. Please contact your team to resend a transfer request.\",\"iN8uoK\":\"This link is invalid or has expired. Please contact your team to resend a verification.\",\"b7CscR\":\"This passkey has already been registered.\",\"JMu+vE\":\"This passkey is not configured for this application. Please login and add one in the user settings.\",\"0ES9GX\":\"This price includes minimum 5 seats.\",\"0rusOU\":\"This session has expired. Please try again.\",\"ApCva8\":\"This team, and any associated data excluding billing invoices will be permanently deleted.\",\"1ABR2W\":\"This template could not be deleted at this time. Please try again.\",\"PJUOEm\":\"This token is invalid or has expired. No action is needed.\",\"4WY92K\":\"This token is invalid or has expired. Please contact your team for a new invitation.\",\"6HNLKb\":\"This URL is already in use.\",\"/yOKAT\":\"This username has already been taken\",\"ea/Ia+\":\"This username is already taken\",\"LhMjLm\":\"Time\",\"Mz2JN2\":\"Time zone\",\"MHrjPM\":\"Titel\",\"TF1e2Y\":\"To accept this invitation you must create an account.\",\"9e4NKS\":\"To change the email you must remove and add a new email address.\",\"E3QGBV\":[\"To confirm, please enter the accounts email address <0/>(\",[\"0\"],\").\"],\"/ngXqQ\":\"To confirm, please enter the reason\",\"Z/LRzj\":\"To decline this invitation you must create an account.\",\"QyrRrh\":\"To enable two-factor authentication, scan the following QR code using your authenticator app.\",\"mX0XNr\":\"To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox.\",\"THQgMC\":[\"To mark this document as viewed, you need to be logged in as <0>\",[\"0\"],\"\"],\"jlBOs+\":\"To view this document you need to be signed into your account, please sign in to continue.\",\"Tkvndv\":\"Toggle the switch to hide your profile from the public.\",\"X3Df6T\":\"Toggle the switch to show your profile to the public.\",\"TP9/K5\":\"Token\",\"SWyfbd\":\"Token copied to clipboard\",\"OBjhQ4\":\"Token created\",\"B5MBOV\":\"Token deleted\",\"nwwDj8\":\"Token doesn't have an expiration date\",\"v/TQsS\":\"Token expiration date\",\"SKZhW9\":\"Token name\",\"/mWwgA\":\"Total Documents\",\"dKGGPw\":\"Total Recipients\",\"WLfBMX\":\"Total Signers that Signed Up\",\"vb0Q0/\":\"Total Users\",\"PsdN6O\":\"Transfer ownership of this team to a selected team member.\",\"OOrbmP\":\"Transfer team\",\"TAB7/M\":\"Transfer the ownership of the team to another team member.\",\"34nxyb\":\"Triggers\",\"0s6zAM\":\"Two factor authentication\",\"rkM+2p\":\"Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app.\",\"C4pKXW\":\"Two-Factor Authentication\",\"NwChk2\":\"Two-factor authentication disabled\",\"qwpE/S\":\"Two-factor authentication enabled\",\"Rirbh5\":\"Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in.\",\"+zy2Nq\":\"Type\",\"fn5guJ\":\"Type 'delete' to confirm\",\"aLB9e4\":\"Type a command or search...\",\"NKs0zG\":\"Uh oh! Looks like you're missing a token\",\"syy3Gt\":\"Unable to copy recovery code\",\"CRCTCg\":\"Unable to copy token\",\"IFfB53\":\"Unable to create direct template access. Please try again later.\",\"gVlUC8\":\"Unable to decline this team invitation at this time.\",\"Y+wsI7\":\"Unable to delete invitation. Please try again.\",\"UCeveL\":\"Unable to delete team\",\"wp9XuY\":\"Unable to disable two-factor authentication\",\"kIV9PR\":\"Unable to join this team at this time.\",\"KFBm7R\":\"Unable to load document history\",\"NodEs1\":\"Unable to load your public profile templates at this time\",\"vklymD\":\"Unable to remove email verification at this time. Please try again.\",\"w8n1+z\":\"Unable to remove team email at this time. Please try again.\",\"akFhsV\":\"Unable to resend invitation. Please try again.\",\"JQLFI3\":\"Unable to resend verification at this time. Please try again.\",\"jLtRR6\":\"Unable to reset password\",\"QtkcKO\":\"Unable to setup two-factor authentication\",\"N1m2oU\":\"Unable to sign in\",\"dA/8If\":\"Unauthorized\",\"9zMI6W\":\"Uncompleted\",\"29VNqC\":\"Unknown error\",\"7yiFvZ\":\"Unpaid\",\"EkH9pt\":\"Aktualisieren\",\"CVGIOg\":\"Update Banner\",\"MSfA8z\":\"Update passkey\",\"Q3MPWA\":\"Update password\",\"vXPSuB\":\"Update profile\",\"ih1ndv\":\"Update Recipient\",\"5bRMKt\":\"Update role\",\"qg6EfE\":\"Update team\",\"V8JgFA\":\"Update team email\",\"DDP/NH\":\"Update team member\",\"KAyssy\":\"Update user\",\"iFdgvQ\":\"Update webhook\",\"2uDkRs\":\"Updating password...\",\"6JH8iK\":\"Updating profile...\",\"jUV7CU\":\"Upload Avatar\",\"2npSeV\":\"Uploaded by\",\"bM+XCB\":\"Uploaded file is too large\",\"fXh9EJ\":\"Uploaded file is too small\",\"mnNw0z\":\"Uploaded file not an allowed file type\",\"5UWfU/\":\"Use Authenticator\",\"VLViRK\":\"Use Backup Code\",\"NUXH2v\":\"Use Template\",\"7PzzBU\":\"User\",\"GjhOGB\":\"User ID\",\"DgDMhU\":\"User profiles are here!\",\"lcDO4m\":\"User settings\",\"Sxm8rQ\":\"Users\",\"wMHvYH\":\"Wert\",\"BGWaEQ\":\"Verification Email Sent\",\"XZQ6rx\":\"Verification email sent successfully.\",\"ZqWgxB\":\"Verify Now\",\"kuvvht\":\"Verify your email address\",\"c9ZsJU\":\"Verify your email address to unlock all features.\",\"OUPY2G\":\"Verify your email to upload documents.\",\"jpctdh\":\"View\",\"c3aao/\":\"View activity\",\"pTCu0c\":\"View all documents sent to your account\",\"F8qz8t\":\"View all recent security activity related to your account.\",\"t3iQF8\":\"View all security activity related to your account.\",\"t5bHu+\":\"View Codes\",\"Opb2rO\":\"View documents associated with this email\",\"FbRyw+\":\"View invites\",\"kGkM7n\":\"View Original Document\",\"z0hW8A\":\"View Recovery Codes\",\"+SRqZk\":\"View teams\",\"vXtpAZ\":\"Viewed\",\"uUehLT\":\"Waiting\",\"p5sNpe\":\"Waiting for others to sign\",\"CLj7L4\":\"Want to send slick signing links like this one? <0>Check out Documenso.\",\"AVOxgl\":\"Want your own public profile?\",\"bJajhk\":\"We are unable to proceed to the billing portal at this time. Please try again, or contact support.\",\"mrAou1\":\"We are unable to remove this passkey at the moment. Please try again later.\",\"PVmZRU\":\"We are unable to update this passkey at the moment. Please try again later.\",\"4CEdkv\":\"We encountered an error while removing the direct template link. Please try again later.\",\"9dCMy6\":\"We encountered an error while updating the webhook. Please try again later.\",\"/666TS\":\"We encountered an unknown error while attempting create the new token. Please try again later.\",\"ghtOmL\":\"We encountered an unknown error while attempting to add this email. Please try again later.\",\"Z3g6da\":\"We encountered an unknown error while attempting to create a team. Please try again later.\",\"5jf+Ky\":\"We encountered an unknown error while attempting to delete it. Please try again later.\",\"BYsCZ0\":\"We encountered an unknown error while attempting to delete the pending team. Please try again later.\",\"X1sSV9\":\"We encountered an unknown error while attempting to delete this team. Please try again later.\",\"kQiucd\":\"We encountered an unknown error while attempting to delete this token. Please try again later.\",\"QbeZrm\":\"We encountered an unknown error while attempting to delete your account. Please try again later.\",\"RFJXMf\":\"We encountered an unknown error while attempting to invite team members. Please try again later.\",\"NOJmg5\":\"We encountered an unknown error while attempting to leave this team. Please try again later.\",\"p1cQqG\":\"We encountered an unknown error while attempting to remove this template from your profile. Please try again later.\",\"dWt6qq\":\"We encountered an unknown error while attempting to remove this transfer. Please try again or contact support.\",\"Bf8/oy\":\"We encountered an unknown error while attempting to remove this user. Please try again later.\",\"+dHRXe\":\"We encountered an unknown error while attempting to request a transfer of this team. Please try again later.\",\"zKkKFY\":\"We encountered an unknown error while attempting to reset your password. Please try again later.\",\"jMJahr\":\"We encountered an unknown error while attempting to revoke access. Please try again or contact support.\",\"v7NHq3\":\"We encountered an unknown error while attempting to save your details. Please try again later.\",\"H2R2SX\":\"We encountered an unknown error while attempting to sign you In. Please try again later.\",\"lFQvqg\":\"We encountered an unknown error while attempting to sign you up. Please try again later.\",\"tIdO3I\":\"We encountered an unknown error while attempting to sign you Up. Please try again later.\",\"s7WVvm\":\"We encountered an unknown error while attempting to update the avatar. Please try again later.\",\"t2qome\":\"We encountered an unknown error while attempting to update the banner. Please try again later.\",\"KRW9aV\":\"We encountered an unknown error while attempting to update the template. Please try again later.\",\"jSzwNQ\":\"We encountered an unknown error while attempting to update this team member. Please try again later.\",\"ZAGznT\":\"We encountered an unknown error while attempting to update your password. Please try again later.\",\"/YgkWz\":\"We encountered an unknown error while attempting to update your public profile. Please try again later.\",\"PgR2KT\":\"We encountered an unknown error while attempting to update your team. Please try again later.\",\"Fkk/tM\":\"We encountered an unknown error while attempting update the team email. Please try again later.\",\"XdaMt1\":\"We have sent a confirmation email for verification.\",\"Z/3o7q\":\"We were unable to copy the token to your clipboard. Please try again.\",\"/f76sW\":\"We were unable to copy your recovery code to your clipboard. Please try again.\",\"5Elc4g\":\"We were unable to create a checkout session. Please try again, or contact support\",\"bw0W5A\":\"We were unable to disable two-factor authentication for your account. Please ensure that you have entered your password and backup code correctly and try again.\",\"Ckd2da\":\"We were unable to log you out at this time.\",\"PGrghQ\":\"We were unable to set your public profile to public. Please try again.\",\"I8Rr9j\":\"We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again.\",\"/Ez2eA\":\"We were unable to submit this document at this time. Please try again later.\",\"zfClNd\":\"We were unable to verify your details. Please try again or contact support\",\"791g1I\":\"We were unable to verify your email. If your email is not verified already, please try again.\",\"xxInDV\":\"We're all empty\",\"lgW1qG\":[\"We've sent a confirmation email to <0>\",[\"email\"],\". Please check your inbox and click the link in the email to verify your account.\"],\"an6ayw\":\"Webhook created\",\"LnaC5y\":\"Webhook deleted\",\"kxZ7LS\":\"Webhook updated\",\"nuh/Wq\":\"Webhook URL\",\"v1kQyJ\":\"Webhooks\",\"4XSc4l\":\"Weekly\",\"nx8adn\":\"Welcome back, we are lucky to have you.\",\"v+iPzY\":\"When you click continue, you will be prompted to add the first available authenticator on your system.\",\"ks103z\":\"While waiting for them to do so you can create your own Documenso account and get started with document signing right away.\",\"gW6iyU\":\"Who do you want to remind?\",\"WCtNlH\":\"Write about the team\",\"RB+i+e\":\"Write about yourself\",\"zkWmBh\":\"Yearly\",\"kWJmRL\":\"You\",\"H0+WHg\":[\"You are about to complete approving \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"kzE21T\":[\"You are about to complete signing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"9AVWSg\":[\"You are about to complete viewing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"wPAx3W\":[\"You are about to delete <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"bnSqz9\":[\"You are about to delete the following team email from <0>\",[\"teamName\"],\".\"],\"5K1f43\":[\"You are about to hide <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"Z7Zba7\":\"You are about to leave the following team.\",\"w4DsUu\":[\"You are about to remove the following user from <0>\",[\"teamName\"],\".\"],\"3TbP+M\":[\"You are about to revoke access for team <0>\",[\"0\"],\" (\",[\"1\"],\") to use your email.\"],\"km5WYz\":\"You are currently on the <0>Free Plan.\",\"lS8/qb\":[\"You are currently subscribed to <0>\",[\"0\"],\"\"],\"vELAGq\":[\"You are currently updating <0>\",[\"teamMemberName\"],\".\"],\"9Vb1lk\":[\"You are currently updating the <0>\",[\"passkeyName\"],\" passkey.\"],\"fE9efX\":\"You are not authorized to view this page.\",\"xGF8ow\":\"You can choose to enable or disable your profile for public view.\",\"knayUe\":\"You can choose to enable or disable your team profile for public view.\",\"6RWhw7\":\"You can claim your profile later on by going to your profile settings!\",\"wvsTRr\":\"You can update the profile URL by updating the team URL in the general settings page.\",\"MfJtjp\":\"You can view documents associated with this email and use this identity when sending documents.\",\"q1+l2h\":[\"You cannot have more than \",[\"MAXIMUM_PASSKEYS\"],\" passkeys.\"],\"Nv8I50\":\"You cannot modify a team member who has a higher role than you.\",\"tBM5rt\":\"You cannot upload encrypted PDFs\",\"uPZVOC\":\"You currently have an active plan\",\"vGmUyC\":\"You do not currently have a customer record, this should not happen. Please contact support for assistance.\",\"COkiAI\":[\"You have accepted an invitation from <0>\",[\"0\"],\" to join their team.\"],\"XJ/LXV\":[\"You have already completed the ownership transfer for <0>\",[\"0\"],\".\"],\"udOfln\":[\"You have already verified your email address for <0>\",[\"0\"],\".\"],\"rawUsl\":[\"You have been invited by <0>\",[\"0\"],\" to join their team.\"],\"C5iBwQ\":[\"You have declined the invitation from <0>\",[\"0\"],\" to join their team.\"],\"9vc55I\":\"You have no webhooks yet. Your webhooks will be shown here once you create them.\",\"MWXNow\":\"You have not yet created any templates. To create a template please upload one.\",\"qJTcfP\":\"You have not yet created or received any documents. To create a document please upload one.\",\"yvV4GX\":[\"You have reached the maximum limit of \",[\"0\"],\" direct templates. <0>Upgrade your account to continue!\"],\"m5RA9C\":\"Sie haben Ihr Dokumentenlimit erreicht.\",\"K/3HUN\":\"You have reached your document limit. <0>Upgrade your account to continue!\",\"dURxlX\":\"You have successfully left this team.\",\"vi6pfe\":\"You have successfully registered. Please verify your account by clicking on the link you received in the email.\",\"B5Ovxs\":\"You have successfully removed this user from the team.\",\"PIl3Hg\":\"You have successfully revoked access.\",\"Z1UZXO\":[\"You have updated \",[\"teamMemberName\"],\".\"],\"tD6Cj2\":[\"You have verified your email address for <0>\",[\"0\"],\".\"],\"pNlz0U\":\"You must be an admin of this team to manage billing.\",\"xIaz3h\":\"You must enter {confirmTransferMessage} to proceed\",\"OGT1bh\":\"You must enter {deleteMessage} to proceed\",\"jifgCp\":\"You must have at least one other team member to transfer ownership.\",\"ID3LkG\":\"You must set a profile URL before enabling your public profile.\",\"zfliFq\":[\"You need to be logged in as <0>\",[\"email\"],\" to view this page.\"],\"1et3k8\":\"You need to be logged in to view this page.\",\"ZR9lKP\":\"You need to setup 2FA to mark this document as viewed.\",\"tKEndc\":\"You will get notified & be able to set up your documenso public profile when we launch the feature.\",\"MBzXsC\":\"You will now be required to enter a code from your authenticator app when signing in.\",\"eWlnaX\":\"You will receive an Email copy of the signed document once everyone has signed.\",\"gmJH7Y\":\"Your account has been deleted successfully.\",\"YL3Iyk\":\"Your avatar has been updated successfully.\",\"c4qhbN\":\"Your banner has been updated successfully.\",\"+Ljs6n\":\"Your current plan is past due. Please update your payment information.\",\"5s2EJQ\":\"Your direct signing templates\",\"pj2JS8\":\"Your document failed to upload.\",\"DIplUX\":\"Your document has been created from the template successfully.\",\"iz6qAJ\":\"Your document has been re-sent successfully.\",\"0KIVTr\":\"Your document has been sent successfully.\",\"vbvBKY\":\"Your document has been successfully duplicated.\",\"TqcK/s\":\"Your document has been uploaded successfully.\",\"xEM9BR\":\"Your document has been uploaded successfully. You will be redirected to the template page.\",\"F2NQI1\":\"Your documents\",\"JQbHxK\":\"Your email has been successfully confirmed! You can now use all features of Documenso.\",\"pSDzas\":[\"Your email is currently being used by team <0>\",[\"0\"],\" (\",[\"1\"],\").\"],\"K6mQ0w\":\"Your existing tokens\",\"Ecp9Z/\":\"Your password has been updated successfully.\",\"/tDdSk\":\"Your payment for teams is overdue. Please settle the payment to avoid any service disruptions.\",\"R+Yx9f\":\"Your profile has been updated successfully.\",\"skqRDH\":\"Your profile has been updated.\",\"kF7YFF\":\"Your public profile has been updated.\",\"XnIGua\":\"Your recovery code has been copied to your clipboard.\",\"/N3QQp\":\"Your recovery codes are listed below. Please store them in a safe place.\",\"o9X4Qf\":\"Your subscription is currently active.\",\"+fTW4I\":\"Your team has been created.\",\"DCGKPd\":\"Your team has been successfully deleted.\",\"7rm0si\":\"Your team has been successfully updated.\",\"icNCVp\":\"Your template has been duplicated successfully.\",\"juxjhy\":\"Your template has been successfully deleted.\",\"BHaG+M\":\"Your template will be duplicated.\",\"WQkZGA\":\"Your templates has been saved successfully.\",\"4OcZNw\":\"Your token has expired!\",\"stera3\":\"Your token was created successfully! Make sure to copy it because you won't be able to see it again!\",\"R5j6t5\":\"Your tokens will be shown here once you create them.\",\"73XXzw\":[[\"0\"],\" von \",[\"1\"],\" Zeile(n) ausgewählt.\"],\"lZ4w45\":[[\"visibleRows\",\"plural\",{\"one\":[\"Eine \",\"#\",\" Ergebnis wird angezeigt.\"],\"other\":[\"#\",\" Ergebnisse werden angezeigt.\"]}]],\"AhYxw5\":\"<0>Authentifizierungsmethode erben - Verwenden Sie die in den \\\"Allgemeinen Einstellungen\\\" konfigurierte globale Aktionssignatur-Authentifizierungsmethode\",\"OepImG\":\"<0>Keine Einschränkungen - Keine Authentifizierung erforderlich\",\"07+JZ2\":\"<0>Keine Einschränkungen - Das Dokument kann direkt über die dem Empfänger gesendete URL abgerufen werden\",\"jx/lwn\":\"<0>Keine - Keine Authentifizierung erforderlich\",\"CUT3u1\":\"<0>2FA erforderlich - Der Empfänger muss ein Konto haben und die 2FA über seine Einstellungen aktiviert haben\",\"2PbD3D\":\"<0>Konto erforderlich - Der Empfänger muss angemeldet sein, um das Dokument anzeigen zu können\",\"QHSbey\":\"<0>Passkey erforderlich - Der Empfänger muss ein Konto haben und den Passkey über seine Einstellungen konfiguriert haben\",\"Oy5nEc\":\"Dokument hinzufügen\",\"7Pz5x5\":\"Fügen Sie eine URL hinzu, um den Benutzer nach der Unterzeichnung des Dokuments weiterzuleiten\",\"aILOUH\":\"Fügen Sie dem Dokument eine externe ID hinzu. Diese kann verwendet werden, um das Dokument in externen Systemen zu identifizieren.\",\"bK1dPK\":\"Fügen Sie der Vorlage eine externe ID hinzu. Diese kann zur Identifizierung in externen Systemen verwendet werden.\",\"nnZ1Sa\":\"Weitere Option hinzufügen\",\"0/UVRw\":\"Weiteren Wert hinzufügen\",\"VaCh6w\":\"Mich selbst hinzufügen\",\"jAa/lz\":\"Mich hinzufügen\",\"29QK6H\":\"Platzhalterempfänger hinzufügen\",\"vcxlzZ\":\"Unterzeichner hinzufügen\",\"7F2ltK\":\"Text zum Feld hinzufügen\",\"U3pytU\":\"Admin\",\"NFIOKv\":\"Erweiterte Optionen\",\"VNgKZz\":\"Erweiterte Einstellungen\",\"bNUpvl\":\"Nach der Übermittlung wird ein Dokument automatisch generiert und zu Ihrer Dokumentenseite hinzugefügt. Sie erhalten außerdem eine Benachrichtigung per E-Mail.\",\"ca9AbO\":\"Genehmiger\",\"j2Uisd\":\"Genehmigung\",\"brJrDl\":\"Unterzeichner kann nicht entfernt werden\",\"RpYfjZ\":\"Cc\",\"XdZeJk\":\"CC\",\"nrL/ZD\":\"CC'd\",\"EEk+d0\":\"Zeichenbeschränkung\",\"G1XxbZ\":\"Checkbox\",\"wbixMe\":\"Checkbox-Werte\",\"u8JHrO\":\"Filter löschen\",\"IqxkER\":\"Unterschrift löschen\",\"OrcxNk\":\"Direkten Empfänger konfigurieren\",\"92KLYs\":[\"Konfigurieren Sie das Feld \",[\"0\"]],\"GB2F11\":\"Benutzerdefinierter Text\",\"4BHv90\":\"Datumsformat\",\"NLXhq7\":\"Empfänger des direkten Links\",\"YScG1E\":\"Dokumentenzugriff\",\"rAqi0g\":\"Dokumenterstellung\",\"6GyScL\":\"Ziehen Sie Ihr PDF hierher.\",\"iKQcPM\":\"Dropdown\",\"XXvhMd\":\"Dropdown-Optionen\",\"XLpxoj\":\"E-Mail-Optionen\",\"f7sXvi\":\"Passwort eingeben\",\"5KfWxA\":\"Externe ID\",\"4CP+OV\":\"Einstellungen konnten nicht gespeichert werden.\",\"LK3SFK\":\"Zeichenbeschränkung des Feldes\",\"NYkIsf\":\"Feldformat\",\"X6Tb6Q\":\"Feldbeschriftung\",\"NaVkSD\":\"Feldplatzhalter\",\"N1UTWT\":\"Globale Empfängerauthentifizierung\",\"uCroPU\":\"Ich bin ein Unterzeichner dieses Dokuments\",\"K6KTX2\":\"Ich bin ein Betrachter dieses Dokuments\",\"ngj5km\":\"Ich bin ein Genehmiger dieses Dokuments\",\"JUZIGu\":\"Ich bin verpflichtet, eine Kopie dieses Dokuments zu erhalten\",\"ZjDoG7\":\"I am required to recieve a copy of this document\",\"fnbcC0\":\"Authentifizierungsmethode erben\",\"87a/t/\":\"Beschriftung\",\"dtOoGl\":\"Manager\",\"CK1KXz\":\"Max\",\"OvoEq7\":\"Mitglied\",\"ziXm9u\":\"Nachricht <0>(Optional)\",\"eTUF28\":\"Min\",\"4nqUV0\":\"Muss genehmigen\",\"lNQBPg\":\"Muss unterzeichnen\",\"eUAUyG\":\"Muss sehen\",\"GBIRGD\":\"Kein passender Empfänger mit dieser Beschreibung gefunden.\",\"f34Qxi\":\"Keine Empfänger mit dieser Rolle\",\"qQ7oqE\":\"Keine Einschränkungen\",\"AxPAXW\":\"Keine Ergebnisse gefunden\",\"pt86ev\":\"Kein Unterschriftsfeld gefunden\",\"HptUxX\":\"Nummer\",\"bR2sEm\":\"Zahlenformat\",\"eY6ns+\":\"Sobald aktiviert, können Sie einen aktiven Empfänger für die Direktlink-Signierung auswählen oder einen neuen erstellen. Dieser Empfängertyp kann nicht bearbeitet oder gelöscht werden.\",\"JE2qy+\":\"Sobald Ihre Vorlage eingerichtet ist, teilen Sie den Link überall, wo Sie möchten. Die Person, die den Link öffnet, kann ihre Informationen im Feld für direkte Empfänger eingeben und alle anderen ihr zugewiesenen Felder ausfüllen.\",\"fpzyLj\":[\"Seite \",[\"0\"],\" von \",[\"1\"]],\"8ltyoa\":\"Passwort erforderlich\",\"ayaTI6\":\"Wählen Sie eine Zahl\",\"hx1ePY\":\"Platzhalter\",\"MtkqZc\":\"Radio\",\"5cEi0C\":\"Radio-Werte\",\"uNQ6eB\":\"Nur lesen\",\"UTnF5X\":\"Erhält Kopie\",\"ZIuo5V\":\"Empfängeraktion Authentifizierung\",\"VTB2Rz\":\"Weiterleitungs-URL\",\"8dg+Yo\":\"Pflichtfeld\",\"xxCtZv\":\"Zeilen pro Seite\",\"9Y3hAT\":\"Vorlage speichern\",\"hVPa4O\":\"Option auswählen\",\"IM+vrQ\":\"Wählen Sie mindestens\",\"Gve6FG\":\"Standardoption auswählen\",\"JlFcis\":\"Senden\",\"AEV4wo\":\"Dokument senden\",\"iE3nGO\":\"Unterschriftenkarte teilen\",\"y+hKWu\":\"Link teilen\",\"ydZ6yi\":\"Erweiterte Einstellungen anzeigen\",\"jTCAGu\":\"Unterzeichner\",\"6G8s+q\":\"Unterzeichnung\",\"kW2h2Z\":\"Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekommen. Bitte weisen Sie jedem Unterzeichner mindestens ein Unterschriftsfeld zu, bevor Sie fortfahren.\",\"kf83Ld\":\"Etwas ist schief gelaufen.\",\"WlBiWh\":[\"Schritt <0>\",[\"step\"],\" von \",[\"maxStep\"],\"\"],\"ki77Td\":\"Betreff <0>(Optional)\",\"hQRttt\":\"Einreichen\",\"URdrTr\":\"Vorlagentitel\",\"xeiujy\":\"Text\",\"imClgr\":\"Die Authentifizierung, die erforderlich ist, damit Empfänger Felder signieren\",\"yyD2dE\":\"Die Authentifizierung, die erforderlich ist, damit Empfänger das Signaturfeld signieren können.\",\"GtDmLf\":\"Die Authentifizierung, die erforderlich ist, damit Empfänger das Dokument anzeigen können.\",\"zAoaPB\":\"Der Name des Dokuments\",\"Ev3GOS\":\"Das eingegebene Passwort ist falsch. Bitte versuchen Sie es erneut.\",\"OPnnb6\":\"Der Empfänger muss keine Aktion ausführen und erhält nach Abschluss eine Kopie des Dokuments.\",\"v8p6Mb\":\"Der Empfänger muss das Dokument genehmigen, damit es abgeschlossen werden kann.\",\"CPv0TB\":\"Der Empfänger muss das Dokument unterschreiben, damit es abgeschlossen werden kann.\",\"oIvIfH\":\"Der Empfänger muss das Dokument anzeigen, damit es abgeschlossen werden kann.\",\"Br2bvS\":\"Der Freigabelink konnte in diesem Moment nicht erstellt werden. Bitte versuchen Sie es erneut.\",\"XJIzqY\":\"Der Freigabelink wurde in Ihre Zwischenablage kopiert.\",\"UyM8/E\":\"Die E-Mail des Unterzeichners\",\"zHJ+vk\":\"Der Name des Unterzeichners\",\"kaEF2i\":\"Dies kann überschrieben werden, indem die Authentifizierungsanforderungen im nächsten Schritt direkt für jeden Empfänger festgelegt werden.\",\"QUZVfd\":\"Dieses Dokument wurde bereits an diesen Empfänger gesendet. Sie können diesen Empfänger nicht mehr bearbeiten.\",\"riNGUC\":\"Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das Passwort ein, um das Dokument anzusehen.\",\"Qkeh+t\":\"Dieses Feld kann nicht geändert oder gelöscht werden. Wenn Sie den direkten Link dieser Vorlage teilen oder zu Ihrem öffentlichen Profil hinzufügen, kann jeder, der darauf zugreift, seinen Namen und seine E-Mail-Adresse eingeben und die ihm zugewiesenen Felder ausfüllen.\",\"l2Xt6u\":\"Dieser Unterzeichner hat das Dokument bereits erhalten.\",\"6iFh5a\":\"Dies überschreibt alle globalen Einstellungen.\",\"RxsRD6\":\"Zeitzone\",\"UWmOq4\":[\"Um fortzufahren, legen Sie bitte mindestens einen Wert für das Feld \",[\"0\"],\" fest.\"],\"GT+2nz\":\"Aktualisieren Sie die Rolle und fügen Sie Felder nach Bedarf für den direkten Empfänger hinzu. Die Person, die den direkten Link verwendet, wird das Dokument als direkter Empfänger unterzeichnen.\",\"kwkhPe\":\"Upgrade\",\"06fEqf\":\"Vorlagendokument hochladen\",\"lGWE4b\":\"Validierung\",\"M/TIv1\":\"Viewer\",\"RVWz5F\":\"Viewing\",\"4/hUq0\":\"Sie sind dabei, dieses Dokument an die Empfänger zu senden. Sind Sie sicher, dass Sie fortfahren möchten?\",\"rb/T41\":\"Sie können die folgenden Variablen in Ihrer Nachricht verwenden:\",\"9+Ph0R\":\"Sie können derzeit keine Dokumente hochladen.\"}")}; \ No newline at end of file diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index bfa68c696..da73b26f8 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -26,15 +26,15 @@ msgstr "" msgid "\"{documentTitle}\" has been successfully deleted" msgstr "" -#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:75 +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:76 msgid "({0}) has invited you to approve this document" msgstr "" -#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:72 +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:73 msgid "({0}) has invited you to sign this document" msgstr "" -#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:69 +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:70 msgid "({0}) has invited you to view this document" msgstr "" @@ -500,11 +500,11 @@ msgstr "" #: apps/web/src/components/forms/public-profile-claim-dialog.tsx:113 #: apps/web/src/components/forms/public-profile-form.tsx:104 #: apps/web/src/components/forms/reset-password.tsx:87 -#: apps/web/src/components/forms/signin.tsx:230 -#: apps/web/src/components/forms/signin.tsx:238 -#: apps/web/src/components/forms/signin.tsx:252 -#: apps/web/src/components/forms/signin.tsx:265 -#: apps/web/src/components/forms/signin.tsx:279 +#: apps/web/src/components/forms/signin.tsx:248 +#: apps/web/src/components/forms/signin.tsx:256 +#: apps/web/src/components/forms/signin.tsx:270 +#: apps/web/src/components/forms/signin.tsx:285 +#: apps/web/src/components/forms/signin.tsx:301 #: apps/web/src/components/forms/signup.tsx:113 #: apps/web/src/components/forms/signup.tsx:128 #: apps/web/src/components/forms/signup.tsx:142 @@ -608,7 +608,7 @@ msgid "Background Color" msgstr "" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:167 -#: apps/web/src/components/forms/signin.tsx:451 +#: apps/web/src/components/forms/signin.tsx:473 msgid "Backup Code" msgstr "" @@ -752,6 +752,8 @@ msgstr "" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:107 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:312 msgid "Click to insert field" msgstr "" @@ -768,6 +770,8 @@ msgid "Close" msgstr "" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:58 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:302 #: apps/web/src/components/forms/v2/signup.tsx:522 msgid "Complete" msgstr "" @@ -1198,6 +1202,10 @@ msgstr "" msgid "Document completed" msgstr "" +#: apps/web/src/app/embed/completed.tsx:16 +msgid "Document Completed!" +msgstr "" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:142 msgid "Document created" msgstr "" @@ -1389,11 +1397,13 @@ msgstr "" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:254 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 #: apps/web/src/components/forms/profile.tsx:122 -#: apps/web/src/components/forms/signin.tsx:304 +#: apps/web/src/components/forms/signin.tsx:326 #: apps/web/src/components/forms/signup.tsx:180 msgid "Email" msgstr "" @@ -1557,12 +1567,14 @@ msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgstr "" #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 -#: apps/web/src/components/forms/signin.tsx:336 +#: apps/web/src/components/forms/signin.tsx:358 msgid "Forgot your password?" msgstr "" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:239 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:300 msgid "Full Name" @@ -2000,6 +2012,8 @@ msgstr "" msgid "New Template" msgstr "" +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:293 #: apps/web/src/components/forms/v2/signup.tsx:509 msgid "Next" msgstr "" @@ -2053,7 +2067,7 @@ msgstr "" msgid "No worries, it happens! Enter your email and we'll email you a special link to reset your password." msgstr "" -#: apps/web/src/components/forms/signin.tsx:142 +#: apps/web/src/components/forms/signin.tsx:160 msgid "Not supported" msgstr "" @@ -2111,7 +2125,7 @@ msgstr "" msgid "Or" msgstr "" -#: apps/web/src/components/forms/signin.tsx:356 +#: apps/web/src/components/forms/signin.tsx:378 msgid "Or continue with" msgstr "" @@ -2128,7 +2142,7 @@ msgstr "" msgid "Paid" msgstr "" -#: apps/web/src/components/forms/signin.tsx:401 +#: apps/web/src/components/forms/signin.tsx:423 msgid "Passkey" msgstr "" @@ -2161,14 +2175,14 @@ msgstr "" msgid "Passkeys allow you to sign in and authenticate using biometrics, password managers, etc." msgstr "" -#: apps/web/src/components/forms/signin.tsx:143 +#: apps/web/src/components/forms/signin.tsx:161 msgid "Passkeys are not supported on this browser" msgstr "" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:65 #: apps/web/src/components/forms/password.tsx:123 #: apps/web/src/components/forms/reset-password.tsx:110 -#: apps/web/src/components/forms/signin.tsx:322 +#: apps/web/src/components/forms/signin.tsx:344 #: apps/web/src/components/forms/signup.tsx:196 #: apps/web/src/components/forms/v2/signup.tsx:332 msgid "Password" @@ -2291,7 +2305,7 @@ msgstr "" msgid "Please try again and make sure you enter the correct email address." msgstr "" -#: apps/web/src/components/forms/signin.tsx:185 +#: apps/web/src/components/forms/signin.tsx:203 msgid "Please try again later or login using your normal details" msgstr "" @@ -2701,6 +2715,11 @@ msgstr "" msgid "Sign as<0>{0} <1>({1})" msgstr "" +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:207 +msgid "Sign document" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" msgstr "" @@ -2711,8 +2730,8 @@ msgid "Sign Here" msgstr "" #: apps/web/src/app/not-found.tsx:29 -#: apps/web/src/components/forms/signin.tsx:349 -#: apps/web/src/components/forms/signin.tsx:476 +#: apps/web/src/components/forms/signin.tsx:371 +#: apps/web/src/components/forms/signin.tsx:498 msgid "Sign In" msgstr "" @@ -2725,6 +2744,11 @@ msgstr "" msgid "Sign Out" msgstr "" +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:228 +msgid "Sign the document to complete the process." +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:72 msgid "Sign up" msgstr "" @@ -2747,6 +2771,8 @@ msgstr "" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:197 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:227 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:268 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "" @@ -2763,8 +2789,8 @@ msgstr "" msgid "Signed" msgstr "" -#: apps/web/src/components/forms/signin.tsx:349 -#: apps/web/src/components/forms/signin.tsx:476 +#: apps/web/src/components/forms/signin.tsx:371 +#: apps/web/src/components/forms/signin.tsx:498 msgid "Signing in..." msgstr "" @@ -2813,6 +2839,8 @@ msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39 #: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:123 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210 @@ -3106,6 +3134,10 @@ msgstr "" msgid "The document has been successfully moved to the selected team." msgstr "" +#: apps/web/src/app/embed/completed.tsx:29 +msgid "The document is now completed, please follow any instructions provided within the parent application." +msgstr "" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:159 msgid "The document was created but could not be sent to recipients." msgstr "" @@ -3281,7 +3313,7 @@ msgstr "" msgid "This passkey has already been registered." msgstr "" -#: apps/web/src/components/forms/signin.tsx:182 +#: apps/web/src/components/forms/signin.tsx:200 msgid "This passkey is not configured for this application. Please login and add one in the user settings." msgstr "" @@ -3289,7 +3321,7 @@ msgstr "" msgid "This price includes minimum 5 seats." msgstr "" -#: apps/web/src/components/forms/signin.tsx:184 +#: apps/web/src/components/forms/signin.tsx:202 msgid "This session has expired. Please try again." msgstr "" @@ -3368,6 +3400,10 @@ msgstr "" msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "" +#: apps/web/src/app/embed/authenticate.tsx:21 +msgid "To view this document you need to be signed into your account, please sign in to continue." +msgstr "" + #: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:178 msgid "Toggle the switch to hide your profile from the public." msgstr "" @@ -3449,7 +3485,7 @@ msgstr "" msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." msgstr "" -#: apps/web/src/components/forms/signin.tsx:414 +#: apps/web/src/components/forms/signin.tsx:436 msgid "Two-Factor Authentication" msgstr "" @@ -3548,8 +3584,8 @@ msgstr "" msgid "Unable to setup two-factor authentication" msgstr "" -#: apps/web/src/components/forms/signin.tsx:229 -#: apps/web/src/components/forms/signin.tsx:237 +#: apps/web/src/components/forms/signin.tsx:247 +#: apps/web/src/components/forms/signin.tsx:255 msgid "Unable to sign in" msgstr "" @@ -3655,12 +3691,12 @@ msgid "Uploaded file not an allowed file type" msgstr "" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187 -#: apps/web/src/components/forms/signin.tsx:471 +#: apps/web/src/components/forms/signin.tsx:493 msgid "Use Authenticator" msgstr "" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:185 -#: apps/web/src/components/forms/signin.tsx:469 +#: apps/web/src/components/forms/signin.tsx:491 msgid "Use Backup Code" msgstr "" @@ -3879,9 +3915,9 @@ msgid "We encountered an unknown error while attempting to save your details. Pl msgstr "" #: apps/web/src/components/forms/profile.tsx:89 -#: apps/web/src/components/forms/signin.tsx:254 -#: apps/web/src/components/forms/signin.tsx:267 -#: apps/web/src/components/forms/signin.tsx:281 +#: apps/web/src/components/forms/signin.tsx:272 +#: apps/web/src/components/forms/signin.tsx:287 +#: apps/web/src/components/forms/signin.tsx:303 msgid "We encountered an unknown error while attempting to sign you In. Please try again later." msgstr "" @@ -3965,6 +4001,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas msgstr "" #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:119 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125 msgid "We were unable to submit this document at this time. Please try again later." msgstr "" diff --git a/packages/lib/translations/en/web.js b/packages/lib/translations/en/web.js index 058cfe125..b97936294 100644 --- a/packages/lib/translations/en/web.js +++ b/packages/lib/translations/en/web.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"4CkA8m\":[\"\\\"\",[\"0\"],\"\\\" will appear on the document as it has a timezone of \\\"\",[\"timezone\"],\"\\\".\"],\"PGXGNV\":[\"\\\"\",[\"documentTitle\"],\"\\\" has been successfully deleted\"],\"ibh+jM\":[\"(\",[\"0\"],\") has invited you to approve this document\"],\"Hdo1JO\":[\"(\",[\"0\"],\") has invited you to sign this document\"],\"wPU8t5\":[\"(\",[\"0\"],\") has invited you to view this document\"],\"1mCQTM\":[[\"0\",\"plural\",{\"one\":\"(1 character over)\",\"other\":[\"(\",\"#\",\" characters over)\"]}]],\"8laXJX\":[[\"0\",\"plural\",{\"one\":[\"#\",\" character over the limit\"],\"other\":[\"#\",\" characters over the limit\"]}]],\"/7wuBM\":[[\"0\",\"plural\",{\"one\":[\"#\",\" recipient\"],\"other\":[\"#\",\" recipients\"]}]],\"WVvaAa\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Seat\"],\"other\":[\"#\",\" Seats\"]}]],\"mBW/Nj\":[[\"0\",\"plural\",{\"one\":\"<0>You have <1>1 pending team invitation\",\"other\":[\"<2>You have <3>\",\"#\",\" pending team invitations\"]}]],\"+Futv0\":[[\"0\",\"plural\",{\"one\":\"1 Recipient\",\"other\":[\"#\",\" Recipients\"]}]],\"/9xV/+\":[[\"0\",\"plural\",{\"one\":\"Waiting on 1 recipient\",\"other\":[\"Waiting on \",\"#\",\" recipients\"]}]],\"NKVaV/\":[[\"0\",\"plural\",{\"zero\":\"Select values\",\"other\":[\"#\",\" selected...\"]}]],\"XZlK7r\":[[\"0\"],\" direct signing templates\"],\"FDQtbR\":[[\"0\"],\" document\"],\"NnFCoc\":[[\"0\"],\" of \",[\"1\"],\" documents remaining this month.\"],\"5YOFTl\":[[\"0\"],\" Recipient(s)\"],\"7VC/RF\":[[\"0\"],\" the document to complete the process.\"],\"fjZZE0\":[[\"charactersRemaining\",\"plural\",{\"one\":\"1 character remaining\",\"other\":[[\"charactersRemaining\"],\" characters remaining\"]}]],\"AQAq/V\":[[\"formattedTeamMemberQuanity\"],\" • Monthly • Renews: \",[\"formattedDate\"]],\"QBOMc/\":[[\"numberOfSeats\",\"plural\",{\"one\":[\"#\",\" member\"],\"other\":[\"#\",\" members\"]}]],\"B/VHou\":[[\"remaningLength\",\"plural\",{\"one\":[\"#\",\" character remaining\"],\"other\":[\"#\",\" characters remaining\"]}]],\"Z5MlD3\":[\"<0>\\\"\",[\"0\"],\"\\\"is no longer available to sign\"],\"xvzJ86\":\"<0>Sender: All\",\"mVRii8\":\"404 Page not found\",\"WZHDfC\":\"404 Profile not found\",\"4lyY0m\":\"404 Team not found\",\"In0QZI\":\"404 Template not found\",\"1a1ztU\":\"A confirmation email has been sent, and it should arrive in your inbox shortly.\",\"0JoPTv\":\"A draft document will be created\",\"pYI9yv\":\"A new token was created successfully.\",\"FnK1CG\":\"A password reset email has been sent, if you have an account you should see it in your inbox shortly.\",\"GtLRrc\":[\"A request to transfer the ownership of this team has been sent to <0>\",[\"0\"],\" (\",[\"1\"],\")\"],\"EUAIAh\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso\",\"FUzxsL\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso.\",\"h39O4b\":\"A unique URL to access your profile\",\"B26oYX\":\"A unique URL to identify your team\",\"YKB66I\":\"A verification email will be sent to the provided email.\",\"g3UF2V\":\"Accept\",\"f8bc61\":\"Accepted team invitation\",\"TKFUnX\":\"Account deleted\",\"bwRvnp\":\"Action\",\"7L01XJ\":\"Actions\",\"F6pfE9\":\"Active\",\"i1lpSD\":\"Active Subscriptions\",\"m16xKo\":\"Add\",\"qkB+9Q\":\"Add all relevant fields for each recipient.\",\"bpOeyo\":\"Add all relevant placeholders for each recipient.\",\"GQ/q/T\":\"Add an authenticator to serve as a secondary authentication method for signing documents.\",\"o7gocE\":\"Add an authenticator to serve as a secondary authentication method when signing in, or when signing documents.\",\"bJUlXv\":\"Add email\",\"S/w/ui\":\"Add Fields\",\"iOiHwJ\":\"Add more\",\"rSRyAh\":\"Add number\",\"w3zmQl\":\"Add passkey\",\"zkvWcK\":\"Add Placeholders\",\"2Rqi1z\":\"Add Signers\",\"eZyoIc\":\"Add Subject\",\"bD3qQ7\":\"Add team email\",\"MwcOtB\":\"Add text\",\"mXXoi9\":\"Add Text\",\"vn6wzk\":\"Add the people who will sign the document.\",\"8XAJNZ\":\"Add the recipients to create the document with\",\"F9ayeh\":\"Add the subject and message you wish to send to signers.\",\"pjVxbn\":\"Adding and removing seats will adjust your invoice accordingly.\",\"VfkDmn\":\"Admin Actions\",\"SsHJsm\":\"Admin panel\",\"N40H+G\":\"All\",\"/LYSFR\":\"All documents\",\"myVKpO\":\"All documents have been processed. Any new documents that are sent or received will show here.\",\"8dC9dh\":\"All inserted signatures will be voided\",\"a809wO\":\"All recipients will be notified\",\"DA2Nma\":\"All templates\",\"5b4J4v\":\"All Time\",\"8URWfv\":\"Allows authenticating using biometrics, password managers, hardware keys, etc.\",\"QN+LeY\":\"Already have an account? <0>Sign in instead\",\"hehnjM\":\"Amount\",\"VeMlGP\":\"An email containing an invitation will be sent to each member.\",\"Cs4Mqi\":\"An email requesting the transfer of this team has been sent.\",\"Vw8l6h\":\"An error occurred\",\"aAZxd7\":\"An error occurred while adding signers.\",\"qFEx41\":\"An error occurred while adding the fields.\",\"ycUtHd\":\"An error occurred while creating document from template.\",\"8jjOHI\":\"An error occurred while creating the webhook. Please try again.\",\"D6tvkq\":\"An error occurred while disabling direct link signing.\",\"HNjVHR\":\"An error occurred while downloading your document.\",\"z7nHXh\":\"An error occurred while duplicating template.\",\"WnEuiF\":\"An error occurred while enabling direct link signing.\",\"eijDci\":\"An error occurred while loading team members. Please try again later.\",\"ZL2b3c\":\"An error occurred while moving the document.\",\"vECB98\":\"An error occurred while moving the template.\",\"677Rs2\":\"An error occurred while removing the signature.\",\"niV8ex\":\"An error occurred while removing the text.\",\"+UiFs2\":\"An error occurred while sending the document.\",\"W8sZtD\":\"An error occurred while sending your confirmation email\",\"CKRkxA\":\"An error occurred while signing the document.\",\"k2HSGs\":\"An error occurred while trying to create a checkout session.\",\"PBvwjZ\":\"An error occurred while updating the document settings.\",\"vNZnKS\":\"An error occurred while updating the signature.\",\"ed1aMc\":\"An error occurred while updating your profile.\",\"hGN3eM\":\"An error occurred while uploading your document.\",\"vW+T+d\":\"An unknown error occurred\",\"Iq1gDI\":\"Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information.\",\"ZiooJI\":\"API Tokens\",\"mf2Wzk\":\"App Version\",\"Z7ZXbT\":\"Approve\",\"7kb4LU\":\"Approved\",\"0EvA/s\":\"Are you sure you want to delete this token?\",\"99ZWCN\":[\"Are you sure you want to remove the <0>\",[\"passkeyName\"],\" passkey.\"],\"1D4Rs0\":\"Are you sure you wish to delete this team?\",\"6foA8n\":\"Are you sure?\",\"rgXDlk\":\"Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document.\",\"ilRCh1\":\"Audit Log\",\"XiaVj+\":\"Authentication required\",\"kfcRb0\":\"Avatar\",\"uzGcBT\":\"Avatar Updated\",\"q8qrYJ\":\"Awaiting email confirmation\",\"iH8pgl\":\"Back\",\"FL8Lic\":\"Back to Documents\",\"k1bLf+\":\"Background Color\",\"ev7oAJ\":\"Backup Code\",\"M2cci0\":\"Backup codes\",\"eQwW5Q\":\"Banner Updated\",\"3dSIQs\":\"Basic details\",\"R+w/Va\":\"Billing\",\"0DGrp8\":\"Browser\",\"r4lECO\":\"Bulk Import\",\"dMoTGp\":\"By deleting this document, the following will occur:\",\"zjt329\":\"By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in.\",\"dEgA5A\":\"Cancel\",\"sa1BnH\":\"Cancelled by user\",\"A4tHrb\":\"Charts\",\"znIg+z\":\"Checkout\",\"MeyfTD\":\"Choose an existing recipient from below to continue\",\"iWVl0V\":\"Choose Direct Link Recipient\",\"1qI3Gk\":\"Choose...\",\"1m18m/\":\"Claim account\",\"tvmS/k\":\"Claim username\",\"vRjC9y\":\"Claim your profile later\",\"HiEGc0\":\"Claim your username now\",\"ELiPtq\":\"Click here to get started\",\"BvF90q\":\"Click here to retry\",\"cgfP+i\":\"Click here to upload\",\"L1127j\":\"Click to copy signing link for sending to recipient\",\"eZ6/Uj\":\"Click to insert field\",\"yz7wBu\":\"Close\",\"bD8I7O\":\"Complete\",\"jVAqZz\":\"Complete Approval\",\"0ojNue\":\"Complete Signing\",\"+5y0NQ\":\"Complete Viewing\",\"qqWcBV\":\"Completed\",\"rGm4yZ\":\"Completed documents\",\"p5+XQN\":\"Completed Documents\",\"UfLuLv\":\"Configure general settings for the document.\",\"hIv3aM\":\"Configure general settings for the template.\",\"LVnHGj\":\"Configure template\",\"7VpPHA\":\"Confirm\",\"gMlC/b\":[\"Confirm by typing <0>\",[\"confirmTransferMessage\"],\"\"],\"FQnPC+\":[\"Confirm by typing <0>\",[\"deleteMessage\"],\"\"],\"gv1JXQ\":[\"Confirm by typing: <0>\",[\"deleteMessage\"],\"\"],\"w0Qb5v\":\"Confirm Deletion\",\"CMj4hw\":\"Confirm email\",\"13PnPF\":\"Confirmation email sent\",\"4b3oEV\":\"Content\",\"xGVfLh\":\"Continue\",\"/KgpcA\":\"Continue to login\",\"FxVG/l\":\"Copied to clipboard\",\"phD28x\":\"Copy sharable link\",\"ZxZS0E\":\"Copy Shareable Link\",\"BddwrJ\":\"Copy token\",\"hYgDIe\":\"Create\",\"mpt9T+\":\"Create a new account\",\"kxGCtA\":\"Create a team to collaborate with your team members.\",\"1hMWR6\":\"Create account\",\"H7nlli\":\"Create and send\",\"BYg48B\":\"Create as draft\",\"JqmhmE\":\"Create Direct Link\",\"wtV4WO\":\"Create Direct Signing Link\",\"fDTEKZ\":\"Create document from template\",\"1svIlj\":\"Create now\",\"JLQooE\":\"Create one automatically\",\"YGQVmg\":\"Create team\",\"fWFMgb\":\"Create Team\",\"pzXZ8+\":\"Create token\",\"SiPp29\":\"Create webhook\",\"dkAPxi\":\"Create Webhook\",\"8T5f7o\":\"Create your account and start using state-of-the-art document signing.\",\"rr83qK\":\"Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp.\",\"d+F6q9\":\"Created\",\"88kg0+\":\"Created At\",\"NCIYDF\":\"Created by\",\"45O6zJ\":\"Created on\",\"SVZbH4\":\"Created on <0/>\",\"DCKkhU\":\"Current Password\",\"74XDHP\":[\"Current plan: \",[\"0\"]],\"U0sC6H\":\"Daily\",\"oRVm8M\":\"Dark Mode\",\"mYGY3B\":\"Date\",\"u46WEi\":\"Date created\",\"jbq7j2\":\"Decline\",\"uSS9OX\":\"Declined team invitation\",\"cnGeoo\":\"Delete\",\"ZDGm40\":\"Delete account\",\"vzX5FB\":\"Delete Account\",\"+vDIXN\":\"Delete document\",\"MUynQL\":\"Delete Document\",\"0tFf9L\":\"Delete passkey\",\"MYiaA4\":\"Delete team\",\"WZHJBH\":\"Delete team member\",\"M5Nsil\":\"Delete the document. This action is irreversible so proceed with caution.\",\"ETB4Yh\":\"Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution.\",\"zdyslo\":\"Delete Webhook\",\"IJMZKG\":\"Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution.\",\"vGjmyl\":\"Deleted\",\"cmDFUK\":\"Deleting account...\",\"PkSiFP\":\"Deleting document\",\"PEHQTf\":\"Device\",\"YseRvk\":\"direct link\",\"cfARFZ\":\"Direct link\",\"VdX+I4\":\"direct link disabled\",\"nNHqgX\":\"Direct Link Signing\",\"k2FNdx\":\"Direct link signing has been disabled\",\"gsc+pZ\":\"Direct link signing has been enabled\",\"CRdqqs\":\"Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page.\",\"WCGIfx\":\"Direct template link deleted\",\"2HKj5L\":[\"Direct template link usage exceeded (\",[\"0\"],\"/\",[\"1\"],\")\"],\"cO9+2L\":\"Disable\",\"qERl58\":\"Disable 2FA\",\"pf7wfS\":\"Disable Two Factor Authentication before deleting your account.\",\"E/QGRL\":\"Disabled\",\"H11Db4\":\"Disabling direct link signing will prevent anyone from accessing the link.\",\"Oq0b7I\":\"Display your name and email in documents\",\"pR1j0x\":\"Do you want to delete this template?\",\"MqL7Ex\":\"Do you want to duplicate this template?\",\"MUwFBV\":\"Documenso will delete <0>all of your documents, along with all of your completed documents, signatures, and all other resources belonging to your Account.\",\"7Zdnlq\":\"Document\",\"kz4vX7\":\"Document All\",\"Pr3c2A\":\"Document Approved\",\"Kvf7iA\":\"Document Cancelled\",\"GOO+sv\":\"Document completed\",\"frw2OP\":\"Document created\",\"ZlIPM3\":\"Document deleted\",\"IvkBV7\":\"Document draft\",\"nF+jHn\":\"Document Duplicated\",\"Zfj12J\":\"Document history\",\"glwlqW\":\"Document ID\",\"WqG6Wi\":\"Document inbox\",\"WrliRN\":\"Document Limit Exceeded!\",\"AGzFn4\":\"Document metrics\",\"w+SPlp\":\"Document moved\",\"G45FNk\":\"Document no longer available to sign\",\"EhII5Z\":\"Document pending\",\"XIvQfe\":\"Document re-sent\",\"S2Wpx4\":\"Document resealed\",\"2r5F7N\":\"Document sent\",\"prbyy5\":\"Document Signed\",\"O832hg\":\"Document signing process will be cancelled\",\"UkHClc\":\"Document status\",\"RDOlfT\":\"Document title\",\"R1TUTP\":\"Document upload disabled due to unpaid invoices\",\"PGrc79\":\"Document uploaded\",\"UfJ5fX\":\"Document Viewed\",\"bTGVhQ\":\"Document will be permanently deleted\",\"E/muDO\":\"Documents\",\"q89WTJ\":\"Documents Received\",\"77Aq1u\":\"Documents Viewed\",\"352VU2\":\"Don't have an account? <0>Sign up\",\"mzI/c+\":\"Download\",\"lojhUl\":\"Download Audit Logs\",\"uKWz9T\":\"Download Certificate\",\"eneWvv\":\"Draft\",\"gWAuiM\":\"Draft documents\",\"8OzE2k\":\"Drafted Documents\",\"QurWnM\":\"Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team.\",\"euc6Ns\":\"Duplicate\",\"ePK91l\":\"Edit\",\"fW5sSv\":\"Edit webhook\",\"O3oNi5\":\"Email\",\"ATGYL1\":\"Email address\",\"hzKQCy\":\"Email Address\",\"HmTucU\":\"Email Confirmed!\",\"JHLcvq\":\"Email sent!\",\"bK7p2G\":\"Email verification has been removed\",\"xk9d59\":\"Email verification has been resent\",\"DCRKbe\":\"Enable 2FA\",\"Gndbft\":\"Enable Authenticator App\",\"iNXTYT\":\"Enable direct link signing\",\"qChNnS\":\"Enable Direct Link Signing\",\"RxzN1M\":\"Enabled\",\"y6J8wY\":\"Ends On\",\"C3nD/1\":\"Enter your email\",\"oM8ocD\":\"Enter your email address to receive the completed document.\",\"n9V+ps\":\"Enter your name\",\"v0GDxO\":\"Enter your text here\",\"SlfejT\":\"Error\",\"ZkROsq\":\"Everyone has signed\",\"4MNaCF\":\"Everyone has signed! You will receive an Email copy of the signed document.\",\"uWW+rJ\":\"Exceeded timeout\",\"M1RnFv\":\"Expired\",\"RIcSTA\":\"Expires on\",\"LbGReD\":\"Expires on <0/>\",\"ToQ1L5\":\"Failed to reseal document\",\"YXKrQK\":\"Failed to update recipient\",\"R41XLH\":\"Failed to update webhook\",\"vF68cg\":\"Fields\",\"8rKUka\":[\"File cannot be larger than \",[\"APP_DOCUMENT_UPLOAD_SIZE_LIMIT\"],\"MB\"],\"glx6on\":\"Forgot your password?\",\"/4TFrF\":\"Full Name\",\"Weq9zb\":\"General\",\"sr0UJD\":\"Go Back\",\"+vhBuq\":\"Go back home\",\"1oocIX\":\"Go Back Home\",\"Q46UEs\":\"Go to owner\",\"71XAMD\":\"Go to your <0>public profile settings to add documents.\",\"+pEbZM\":\"Here you can edit your personal details.\",\"gPNXUO\":\"Here you can manage your password and security settings.\",\"rLZFM2\":\"Here's how it works:\",\"C3U9sx\":\"Hey I’m Timur\",\"vLyv1R\":\"Hide\",\"/c6j67\":\"Hide additional information\",\"2+GP4I\":\"I am the owner of this document\",\"Jw3g7g\":\"I'm sure! Delete it\",\"fYt7bZ\":\"If they accept this request, the team will be transferred to their account.\",\"P8EnSP\":\"If you do not want to use the authenticator prompted, you can close it, which will then display the next available authenticator.\",\"usBC38\":\"If you don't find the confirmation link in your inbox, you can request a new one below.\",\"i1sBhX\":\"If your authenticator app does not support QR codes, you can use the following code instead:\",\"Gp4Yi6\":\"Inbox\",\"mIZt96\":\"Inbox documents\",\"nSkB8g\":\"Information\",\"2+B7Tm\":\"Inserted\",\"kgiQxA\":\"Instance Stats\",\"v7dfDY\":\"Invalid code. Please try again.\",\"bajpfj\":\"Invalid file\",\"TN382O\":\"Invalid link\",\"Kx9NEt\":\"Invalid token\",\"lW4qkT\":\"Invitation accepted!\",\"K2fB29\":\"Invitation declined\",\"zbmftZ\":\"Invitation has been deleted\",\"hDYopg\":\"Invitation has been resent\",\"MFKlMB\":\"Invite\",\"+djOzj\":\"Invite member\",\"ZHx/by\":\"Invite Members\",\"qSfH/A\":\"Invite team members\",\"H97wjo\":\"Invited At\",\"IuMGvq\":\"Invoice\",\"pQgy2V\":[\"It looks like \",[\"0\"],\" hasn't added any documents to their profile yet.\"],\"Ji9zm3\":\"It seems that the provided token has expired. We've just sent you another token, please check your email and try again.\",\"PQ53gh\":\"It seems that there is no token provided, if you are trying to verify your email please follow the link in your email.\",\"y51oRm\":\"It seems that there is no token provided. Please check your email and try again.\",\"vfe90m\":\"Last 14 days\",\"uq2BmQ\":\"Last 30 days\",\"ct2SYD\":\"Last 7 days\",\"x5DnMs\":\"Last modified\",\"C3yOz3\":\"Last updated\",\"9aMJpW\":\"Last updated at\",\"JGvwnU\":\"Last used\",\"Mv8CyJ\":\"Leave\",\"v/uzBS\":\"Leave team\",\"cInPuv\":\"Light Mode\",\"0uqjes\":\"Like to have your own public profile with agreements?\",\"jfN/GZ\":\"Link template\",\"T2q4gy\":[\"Listening to \",[\"0\"]],\"qzZ/NB\":\"Load older activity\",\"Jy3ott\":\"Loading document...\",\"KBQH86\":\"Loading Document...\",\"czE0ko\":\"Loading teams...\",\"Z3FXyt\":\"Loading...\",\"z0t9bb\":\"Login\",\"wckWOP\":\"Manage\",\"HQVCTG\":[\"Manage \",[\"0\"],\"'s profile\"],\"Lp5ut7\":\"Manage all teams you are currently associated with.\",\"NwY95d\":\"Manage details for this public template\",\"OcvAVs\":\"Manage Direct Link\",\"g6RCtA\":\"Manage documents\",\"HVAyb8\":\"Manage passkeys\",\"3jHA5d\":\"Manage subscription\",\"L9IOec\":\"Manage Subscription\",\"KuukYs\":\"Manage subscriptions\",\"DHyAij\":\"Manage team subscription.\",\"lLX9Bl\":\"Manage teams\",\"aA0Gfq\":\"Manage the direct link signing for this template\",\"Ruhuv1\":\"Manage the members or invite new members.\",\"Xef1xw\":\"Manage users\",\"T0vQFD\":\"Manage your passkeys.\",\"4a84Cp\":\"Manage your site settings here\",\"Rbs16H\":\"Mark as Viewed\",\"deqwtZ\":\"MAU (created document)\",\"YgNcJU\":\"MAU (had document completed)\",\"Hn6rI0\":\"Member Since\",\"wlQNTg\":\"Members\",\"FaskIK\":\"Modify recipients\",\"+8Nek/\":\"Monthly\",\"MOyLGl\":\"Monthly Active Users: Users that created at least one Document\",\"5G7Dom\":\"Monthly Active Users: Users that had at least one of their documents completed\",\"QWdKwH\":\"Move\",\"YeRZmm\":\"Move Document to Team\",\"QlQmgo\":\"Move Template to Team\",\"wUBLjS\":\"Move to Team\",\"K8Qnlj\":\"Moving...\",\"en+4fS\":\"My templates\",\"6YtxFj\":\"Name\",\"8VD2is\":\"Need to sign documents?\",\"qqeAJM\":\"Never\",\"OEcKyx\":\"Never expire\",\"QWDm5s\":\"New team owner\",\"K6MO8e\":\"New Template\",\"hXzOVo\":\"Next\",\"ZcbBVB\":\"Next field\",\"G5YKES\":\"No active drafts\",\"PsHKvx\":\"No payment required\",\"OBWbru\":\"No public profile templates found\",\"m0I2ba\":\"No recent activity\",\"IMbagb\":\"No recipients\",\"MZbQHL\":\"No results found.\",\"+5xxir\":\"No token provided\",\"s9Rqzv\":\"No valid direct templates found\",\"l08XJv\":\"No valid recipients found\",\"CSOFdu\":\"No value found.\",\"tRFnIp\":\"No worries, it happens! Enter your email and we'll email you a special link to reset your password.\",\"7aaD1O\":\"Not supported\",\"wkT5xx\":\"Nothing to do\",\"Oizhkg\":\"On this page, you can create a new webhook.\",\"aaavFi\":\"On this page, you can create new API tokens and manage the existing ones. <0/>Also see our <1>Documentation.\",\"ZtN+o/\":\"On this page, you can create new API tokens and manage the existing ones. <0/>You can view our swagger docs <1>here\",\"SpqtG7\":\"On this page, you can create new Webhooks and manage the existing ones.\",\"FOWyZB\":\"On this page, you can edit the webhook and its settings.\",\"dM1W5F\":\"Once confirmed, the following will occur:\",\"mZ2nNu\":\"Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below.\",\"udaO9j\":\"Oops! Something went wrong.\",\"OV5wZZ\":\"Opened\",\"ZAVklK\":\"Or\",\"zW+FpA\":\"Or continue with\",\"XUwKbC\":\"Otherwise, the document will be created as a draft.\",\"LtI9AS\":\"Owner\",\"v4nCHK\":\"Paid\",\"FGSN4s\":\"Passkey\",\"8mPPB0\":\"Passkey already exists for the provided authenticator\",\"k/8RhE\":\"Passkey creation cancelled due to one of the following reasons:\",\"knZBf/\":\"Passkey has been removed\",\"1MvYF3\":\"Passkey has been updated\",\"qz7mwn\":\"Passkey name\",\"UZKLEA\":\"Passkeys\",\"v3rPhj\":\"Passkeys allow you to sign in and authenticate using biometrics, password managers, etc.\",\"wsLk4g\":\"Passkeys are not supported on this browser\",\"8ZsakT\":\"Password\",\"ogtYkT\":\"Password updated\",\"4fL/V7\":\"Pay\",\"oyOEbz\":\"Payment is required to finalise the creation of your team.\",\"GptxX/\":\"Payment overdue\",\"UbRKMZ\":\"Pending\",\"Y99ivo\":\"Pending documents\",\"VZJggs\":\"Pending Documents\",\"dSe12f\":\"Pending invitations\",\"pobYPH\":\"Pending team deleted.\",\"7MuXko\":\"Personal\",\"moWIBX\":\"Personal Account\",\"bhE66T\":\"Pick a password\",\"nSCWvF\":\"Pick any of the following agreements below and start signing to get started\",\"LFWYFV\":\"Please check the CSV file and make sure it is according to our format\",\"GUOCNi\":\"Please choose your new password\",\"JcgKEA\":\"Please contact support if you would like to revert this action.\",\"pzDdmv\":\"Please enter a meaningful name for your token. This will help you identify it later.\",\"GqaSjy\":\"Please mark as viewed to complete\",\"jG5btV\":\"Please note that proceeding will remove direct linking recipient and turn it into a placeholder.\",\"Op5XjA\":\"Please note that this action is <0>irreversible.\",\"pIF/uD\":\"Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted.\",\"aYytci\":\"Please note that this action is irreversible. Once confirmed, your template will be permanently deleted.\",\"LIf5dA\":\"Please note that this action is irreversible. Once confirmed, your token will be permanently deleted.\",\"bGHA6C\":\"Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted.\",\"K2Zlri\":\"Please note that you will lose access to all documents associated with this team & all the members will be removed and notified\",\"VJEW4M\":\"Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support.\",\"Lwg9X/\":\"Please provide a token from your authenticator, or a backup code.\",\"tVQlia\":\"Please try again and make sure you enter the correct email address.\",\"fWCcRl\":\"Please try again later or login using your normal details\",\"PZCqeW\":\"Please try again later.\",\"2oj8HJ\":[\"Please type <0>\",[\"0\"],\" to confirm.\"],\"Q6hhn8\":\"Preferences\",\"ghVdS5\":\"Preview and configure template.\",\"zwBp5t\":\"Private\",\"aWLa3z\":\"Private templates can only be modified and viewed by you.\",\"vERlcd\":\"Profile\",\"H8Zk+q\":\"Profile is currently <0>hidden.\",\"6zFVy3\":\"Profile is currently <0>visible.\",\"srPuxS\":\"Profile updated\",\"7d1a0d\":\"Public\",\"PsWyzr\":\"Public Profile\",\"GCm4vn\":\"Public profile URL\",\"9imnUr\":\"Public profile username\",\"2/o+9Z\":\"Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile.\",\"Zs+87t\":\"Read only field\",\"ckH3fT\":\"Ready\",\"2DmUfb\":\"Reauthentication is required to sign this field\",\"M1HGuR\":\"Recent activity\",\"I3QpvQ\":\"Recipient\",\"evCX7h\":\"Recipient updated\",\"yPrbsy\":\"Recipients\",\"FDT13r\":\"Recipients metrics\",\"cEfPAe\":\"Recipients will still retain their copy of the document\",\"p8zadb\":\"Recovery code copied\",\"x5rgeJ\":\"Recovery codes\",\"ZCl9NH\":\"Registration Successful\",\"cD+FhI\":\"Remembered your password? <0>Sign In\",\"t/YqKh\":\"Remove\",\"41G745\":\"Remove team email\",\"8xN0jg\":\"Remove team member\",\"JjG/b1\":\"Repeat Password\",\"Ibjxfr\":\"Request transfer\",\"sDXefy\":\"Reseal document\",\"MyjAbr\":\"Resend\",\"bxoWpz\":\"Resend Confirmation Email\",\"HT2UjS\":\"Resend verification\",\"OfhWJH\":\"Reset\",\"wJZvNq\":\"Reset email sent\",\"KbS2K9\":\"Reset Password\",\"NI0xtv\":\"Resetting Password...\",\"2FoHU3\":\"Resolve\",\"bH0aV9\":\"Resolve payment\",\"6gRgw8\":\"Retry\",\"vUOn9d\":\"Return\",\"dRDE6t\":\"Return to Dashboard\",\"OYOJop\":\"Return to Home\",\"Wkb64i\":\"Return to sign in\",\"GXsAby\":\"Revoke\",\"cg+Poy\":\"Revoke access\",\"GDvlUT\":\"Role\",\"5dJK4M\":\"Roles\",\"tfDRzk\":\"Save\",\"A1taO8\":\"Search\",\"pUjzwQ\":\"Search by document title\",\"Bw5X+M\":\"Search by name or email\",\"8VEDbV\":\"Secret\",\"a3LDKx\":\"Security\",\"HUVI3V\":\"Security activity\",\"rG3WVm\":\"Select\",\"9GwDu7\":\"Select a team\",\"vWi2vu\":\"Select a team to move this document to. This action cannot be undone.\",\"JxCKQ1\":\"Select a team to move this template to. This action cannot be undone.\",\"hyn0QC\":\"Select a template you'd like to display on your public profile\",\"9VGtlg\":\"Select a template you'd like to display on your team's public profile\",\"gBqxYg\":\"Select passkey\",\"471O/e\":\"Send confirmation email\",\"HbN1UH\":\"Send document\",\"qaDvSa\":\"Send reminder\",\"HW5fQk\":\"Sender\",\"DgPgBb\":\"Sending Reset Email...\",\"IoAuJG\":\"Sending...\",\"h69WC6\":\"Sent\",\"bWhxXv\":\"Set a password\",\"Tz0i8g\":\"Settings\",\"RDjuBN\":\"Setup\",\"Z8lGw6\":\"Share\",\"lCEhm/\":\"Share Signing Card\",\"8vETh9\":\"Show\",\"FSjwRy\":\"Show additional information\",\"7Ifo0h\":\"Show templates in your public profile for your audience to sign and get started quickly\",\"lDZq9u\":\"Show templates in your team public profile for your audience to sign and get started quickly\",\"c+Fnce\":\"Sign\",\"oKBjbc\":[\"Sign as \",[\"0\"],\" <0>(\",[\"1\"],\")\"],\"M7Y6vg\":[\"Sign as <0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"D0JgR3\":[\"Sign as<0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"ceklqr\":\"Sign field\",\"vRw782\":\"Sign Here\",\"n1ekoW\":\"Sign In\",\"NxCJcc\":\"Sign in to your account\",\"bHYIks\":\"Sign Out\",\"e+RpCP\":\"Sign up\",\"mErq7F\":\"Sign Up\",\"8fC9B9\":\"Sign Up with Google\",\"l/tATK\":\"Sign Up with OIDC\",\"n+8yVN\":\"Signature\",\"6AjNkO\":\"Signatures Collected\",\"cquXHe\":\"Signatures will appear once the document has been completed\",\"PoH7eg\":\"Signed\",\"XOxZT4\":\"Signing in...\",\"P1wwqN\":\"Signing up...\",\"ltYQCa\":[\"Since \",[\"0\"]],\"67H0kT\":\"Site Banner\",\"aaU5Fl\":\"Site Settings\",\"nwtY4N\":\"Something went wrong\",\"xYdwPA\":[\"Something went wrong while attempting to transfer the ownership of team <0>\",[\"0\"],\" to your. Please try again later or contact support.\"],\"/OggdM\":[\"Something went wrong while attempting to verify your email address for <0>\",[\"0\"],\". Please try again later.\"],\"oZO7Po\":\"Something went wrong while loading your passkeys.\",\"qDc2pC\":\"Something went wrong while sending the confirmation email.\",\"2U+48H\":\"Something went wrong while updating the team billing subscription, please contact support.\",\"db0Ycb\":\"Something went wrong. Please try again or contact support.\",\"q16m4+\":\"Sorry, we were unable to download the audit logs. Please try again later.\",\"EUyscw\":\"Sorry, we were unable to download the certificate. Please try again later.\",\"29Hx9U\":\"Stats\",\"uAQUqI\":\"Status\",\"EDl9kS\":\"Subscribe\",\"WVzGc2\":\"Subscription\",\"P6F38F\":\"Subscriptions\",\"zzDlyQ\":\"Success\",\"f8RSgi\":\"Successfully created passkey\",\"3WgMId\":\"System Theme\",\"KM6m8p\":\"Team\",\"ZTKtIH\":\"Team checkout\",\"WUM2yD\":\"Team email\",\"rkqgH1\":\"Team Email\",\"2FRR+Z\":\"Team email already verified!\",\"5GbQa1\":\"Team email has been removed\",\"rW28ga\":\"Team email verification\",\"/9ZeEl\":\"Team email verified!\",\"Ww6njg\":\"Team email was updated.\",\"h3p3UT\":\"Team invitation\",\"am190B\":\"Team invitations have been sent.\",\"IJFhQ+\":\"Team Member\",\"EEjL2F\":\"Team Name\",\"alTHVO\":\"Team Only\",\"cvMRdF\":\"Team only templates are not linked anywhere and are visible only to your team.\",\"sSUQSW\":\"Team ownership transfer\",\"NnCr+1\":\"Team ownership transfer already completed!\",\"GzR8VI\":\"Team ownership transferred!\",\"qzHZC+\":\"Team Public Profile\",\"wkzD+0\":\"Team settings\",\"oMfDc9\":\"Team Settings\",\"NONu1b\":\"Team templates\",\"Feqf5k\":\"Team transfer in progress\",\"oXkHk2\":\"Team transfer request expired\",\"IwrHI3\":\"Team URL\",\"CAL6E9\":\"Teams\",\"qKgabb\":\"Teams restricted\",\"/K2CvV\":\"Template\",\"ZTgE3k\":\"Template deleted\",\"7ZORe4\":\"Template document uploaded\",\"Vmoj8n\":\"Template duplicated\",\"3MMlXX\":\"Template has been removed from your public profile.\",\"eupjqf\":\"Template has been updated.\",\"I1vdWI\":\"Template moved\",\"GamjcN\":\"Template saved\",\"iTylMl\":\"Templates\",\"mKknmt\":\"Templates allow you to quickly generate documents with pre-filled recipients and fields.\",\"HmA4Lf\":\"Text Color\",\"jB6Wb0\":\"The account has been deleted successfully.\",\"YPAOfJ\":\"The content to show in the banner, HTML is allowed\",\"+lDHlp\":\"The direct link has been copied to your clipboard\",\"HdogiK\":\"The document has been successfully moved to the selected team.\",\"JaqmMD\":\"The document was created but could not be sent to recipients.\",\"D6V5NE\":\"The document will be hidden from your account\",\"kn3D/u\":\"The document will be immediately sent to recipients if this is checked.\",\"S20Dp9\":\"The events that will trigger a webhook to be sent to your URL.\",\"3BvEti\":[\"The ownership of team <0>\",[\"0\"],\" has been successfully transferred to you.\"],\"jiv3IP\":\"The page you are looking for was moved, removed, renamed or might never have existed.\",\"v7aFZT\":\"The profile link has been copied to your clipboard\",\"L9/hN3\":\"The profile you are looking for could not be found.\",\"M2Tl+5\":\"The public description that will be displayed with this template\",\"Bar5Ss\":\"The public name for your template\",\"RL/wwM\":\"The recipient has been updated successfully\",\"aHhSPO\":\"The selected team member will receive an email which they must accept before the team is transferred\",\"so3oXj\":\"The signing link has been copied to your clipboard.\",\"kXciaM\":\"The site banner is a message that is shown at the top of the site. It can be used to display important information to your users.\",\"XaNqYt\":\"The team transfer invitation has been successfully deleted.\",\"DyE711\":[\"The team transfer request to <0>\",[\"0\"],\" has expired.\"],\"RLyuG2\":\"The team you are looking for may have been removed, renamed or may have never existed.\",\"wIrx7T\":\"The template has been successfully moved to the selected team.\",\"J+X6HZ\":\"The template will be removed from your profile\",\"9VV//K\":\"The template you are looking for may have been disabled, deleted or may have never existed.\",\"tkv54w\":\"The token was copied to your clipboard.\",\"5cysp1\":\"The token was deleted successfully.\",\"oddVEW\":\"The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link.\",\"Orj1pl\":\"The URL for Documenso to send webhook events to.\",\"V92DHZ\":\"The webhook has been successfully deleted.\",\"mlHeCX\":\"The webhook has been updated successfully.\",\"V+5KQa\":\"The webhook was successfully created.\",\"k/INkj\":\"There are no active drafts at the current moment. You can upload a document to start drafting.\",\"ySoKla\":\"There are no completed documents yet. Documents that you have created or received will appear here once completed.\",\"9aYXQv\":\"They have permission on your behalf to:\",\"3ap2Vv\":\"This action is not reversible. Please be certain.\",\"6S2SIc\":\"This document could not be deleted at this time. Please try again.\",\"9q30Lx\":\"This document could not be duplicated at this time. Please try again.\",\"u/cYe5\":\"This document could not be re-sent at this time. Please try again.\",\"240BLI\":\"This document has been cancelled by the owner and is no longer available for others to sign.\",\"UdLWn3\":\"This document has been cancelled by the owner.\",\"K8RH4n\":\"This document has been signed by all recipients\",\"1M0Ssi\":\"This document is currently a draft and has not been sent\",\"LLfa/G\":\"This email is already being used by another team.\",\"YrKIxa\":\"This link is invalid or has expired. Please contact your team to resend a transfer request.\",\"iN8uoK\":\"This link is invalid or has expired. Please contact your team to resend a verification.\",\"b7CscR\":\"This passkey has already been registered.\",\"JMu+vE\":\"This passkey is not configured for this application. Please login and add one in the user settings.\",\"0ES9GX\":\"This price includes minimum 5 seats.\",\"0rusOU\":\"This session has expired. Please try again.\",\"ApCva8\":\"This team, and any associated data excluding billing invoices will be permanently deleted.\",\"1ABR2W\":\"This template could not be deleted at this time. Please try again.\",\"PJUOEm\":\"This token is invalid or has expired. No action is needed.\",\"4WY92K\":\"This token is invalid or has expired. Please contact your team for a new invitation.\",\"6HNLKb\":\"This URL is already in use.\",\"/yOKAT\":\"This username has already been taken\",\"ea/Ia+\":\"This username is already taken\",\"LhMjLm\":\"Time\",\"Mz2JN2\":\"Time zone\",\"MHrjPM\":\"Title\",\"TF1e2Y\":\"To accept this invitation you must create an account.\",\"9e4NKS\":\"To change the email you must remove and add a new email address.\",\"E3QGBV\":[\"To confirm, please enter the accounts email address <0/>(\",[\"0\"],\").\"],\"/ngXqQ\":\"To confirm, please enter the reason\",\"Z/LRzj\":\"To decline this invitation you must create an account.\",\"QyrRrh\":\"To enable two-factor authentication, scan the following QR code using your authenticator app.\",\"mX0XNr\":\"To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox.\",\"THQgMC\":[\"To mark this document as viewed, you need to be logged in as <0>\",[\"0\"],\"\"],\"Tkvndv\":\"Toggle the switch to hide your profile from the public.\",\"X3Df6T\":\"Toggle the switch to show your profile to the public.\",\"TP9/K5\":\"Token\",\"SWyfbd\":\"Token copied to clipboard\",\"OBjhQ4\":\"Token created\",\"B5MBOV\":\"Token deleted\",\"nwwDj8\":\"Token doesn't have an expiration date\",\"v/TQsS\":\"Token expiration date\",\"SKZhW9\":\"Token name\",\"/mWwgA\":\"Total Documents\",\"dKGGPw\":\"Total Recipients\",\"WLfBMX\":\"Total Signers that Signed Up\",\"vb0Q0/\":\"Total Users\",\"PsdN6O\":\"Transfer ownership of this team to a selected team member.\",\"OOrbmP\":\"Transfer team\",\"TAB7/M\":\"Transfer the ownership of the team to another team member.\",\"34nxyb\":\"Triggers\",\"0s6zAM\":\"Two factor authentication\",\"rkM+2p\":\"Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app.\",\"C4pKXW\":\"Two-Factor Authentication\",\"NwChk2\":\"Two-factor authentication disabled\",\"qwpE/S\":\"Two-factor authentication enabled\",\"Rirbh5\":\"Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in.\",\"+zy2Nq\":\"Type\",\"fn5guJ\":\"Type 'delete' to confirm\",\"aLB9e4\":\"Type a command or search...\",\"NKs0zG\":\"Uh oh! Looks like you're missing a token\",\"syy3Gt\":\"Unable to copy recovery code\",\"CRCTCg\":\"Unable to copy token\",\"IFfB53\":\"Unable to create direct template access. Please try again later.\",\"gVlUC8\":\"Unable to decline this team invitation at this time.\",\"Y+wsI7\":\"Unable to delete invitation. Please try again.\",\"UCeveL\":\"Unable to delete team\",\"wp9XuY\":\"Unable to disable two-factor authentication\",\"kIV9PR\":\"Unable to join this team at this time.\",\"KFBm7R\":\"Unable to load document history\",\"NodEs1\":\"Unable to load your public profile templates at this time\",\"vklymD\":\"Unable to remove email verification at this time. Please try again.\",\"w8n1+z\":\"Unable to remove team email at this time. Please try again.\",\"akFhsV\":\"Unable to resend invitation. Please try again.\",\"JQLFI3\":\"Unable to resend verification at this time. Please try again.\",\"jLtRR6\":\"Unable to reset password\",\"QtkcKO\":\"Unable to setup two-factor authentication\",\"N1m2oU\":\"Unable to sign in\",\"dA/8If\":\"Unauthorized\",\"9zMI6W\":\"Uncompleted\",\"29VNqC\":\"Unknown error\",\"7yiFvZ\":\"Unpaid\",\"EkH9pt\":\"Update\",\"CVGIOg\":\"Update Banner\",\"MSfA8z\":\"Update passkey\",\"Q3MPWA\":\"Update password\",\"vXPSuB\":\"Update profile\",\"ih1ndv\":\"Update Recipient\",\"5bRMKt\":\"Update role\",\"qg6EfE\":\"Update team\",\"V8JgFA\":\"Update team email\",\"DDP/NH\":\"Update team member\",\"KAyssy\":\"Update user\",\"iFdgvQ\":\"Update webhook\",\"2uDkRs\":\"Updating password...\",\"6JH8iK\":\"Updating profile...\",\"jUV7CU\":\"Upload Avatar\",\"2npSeV\":\"Uploaded by\",\"bM+XCB\":\"Uploaded file is too large\",\"fXh9EJ\":\"Uploaded file is too small\",\"mnNw0z\":\"Uploaded file not an allowed file type\",\"5UWfU/\":\"Use Authenticator\",\"VLViRK\":\"Use Backup Code\",\"NUXH2v\":\"Use Template\",\"7PzzBU\":\"User\",\"GjhOGB\":\"User ID\",\"DgDMhU\":\"User profiles are here!\",\"lcDO4m\":\"User settings\",\"Sxm8rQ\":\"Users\",\"wMHvYH\":\"Value\",\"BGWaEQ\":\"Verification Email Sent\",\"XZQ6rx\":\"Verification email sent successfully.\",\"ZqWgxB\":\"Verify Now\",\"kuvvht\":\"Verify your email address\",\"c9ZsJU\":\"Verify your email address to unlock all features.\",\"OUPY2G\":\"Verify your email to upload documents.\",\"jpctdh\":\"View\",\"c3aao/\":\"View activity\",\"pTCu0c\":\"View all documents sent to your account\",\"F8qz8t\":\"View all recent security activity related to your account.\",\"t3iQF8\":\"View all security activity related to your account.\",\"t5bHu+\":\"View Codes\",\"Opb2rO\":\"View documents associated with this email\",\"FbRyw+\":\"View invites\",\"kGkM7n\":\"View Original Document\",\"z0hW8A\":\"View Recovery Codes\",\"+SRqZk\":\"View teams\",\"vXtpAZ\":\"Viewed\",\"uUehLT\":\"Waiting\",\"p5sNpe\":\"Waiting for others to sign\",\"CLj7L4\":\"Want to send slick signing links like this one? <0>Check out Documenso.\",\"AVOxgl\":\"Want your own public profile?\",\"bJajhk\":\"We are unable to proceed to the billing portal at this time. Please try again, or contact support.\",\"mrAou1\":\"We are unable to remove this passkey at the moment. Please try again later.\",\"PVmZRU\":\"We are unable to update this passkey at the moment. Please try again later.\",\"4CEdkv\":\"We encountered an error while removing the direct template link. Please try again later.\",\"9dCMy6\":\"We encountered an error while updating the webhook. Please try again later.\",\"/666TS\":\"We encountered an unknown error while attempting create the new token. Please try again later.\",\"ghtOmL\":\"We encountered an unknown error while attempting to add this email. Please try again later.\",\"Z3g6da\":\"We encountered an unknown error while attempting to create a team. Please try again later.\",\"5jf+Ky\":\"We encountered an unknown error while attempting to delete it. Please try again later.\",\"BYsCZ0\":\"We encountered an unknown error while attempting to delete the pending team. Please try again later.\",\"X1sSV9\":\"We encountered an unknown error while attempting to delete this team. Please try again later.\",\"kQiucd\":\"We encountered an unknown error while attempting to delete this token. Please try again later.\",\"QbeZrm\":\"We encountered an unknown error while attempting to delete your account. Please try again later.\",\"RFJXMf\":\"We encountered an unknown error while attempting to invite team members. Please try again later.\",\"NOJmg5\":\"We encountered an unknown error while attempting to leave this team. Please try again later.\",\"p1cQqG\":\"We encountered an unknown error while attempting to remove this template from your profile. Please try again later.\",\"dWt6qq\":\"We encountered an unknown error while attempting to remove this transfer. Please try again or contact support.\",\"Bf8/oy\":\"We encountered an unknown error while attempting to remove this user. Please try again later.\",\"+dHRXe\":\"We encountered an unknown error while attempting to request a transfer of this team. Please try again later.\",\"zKkKFY\":\"We encountered an unknown error while attempting to reset your password. Please try again later.\",\"jMJahr\":\"We encountered an unknown error while attempting to revoke access. Please try again or contact support.\",\"v7NHq3\":\"We encountered an unknown error while attempting to save your details. Please try again later.\",\"H2R2SX\":\"We encountered an unknown error while attempting to sign you In. Please try again later.\",\"lFQvqg\":\"We encountered an unknown error while attempting to sign you up. Please try again later.\",\"tIdO3I\":\"We encountered an unknown error while attempting to sign you Up. Please try again later.\",\"s7WVvm\":\"We encountered an unknown error while attempting to update the avatar. Please try again later.\",\"t2qome\":\"We encountered an unknown error while attempting to update the banner. Please try again later.\",\"KRW9aV\":\"We encountered an unknown error while attempting to update the template. Please try again later.\",\"jSzwNQ\":\"We encountered an unknown error while attempting to update this team member. Please try again later.\",\"ZAGznT\":\"We encountered an unknown error while attempting to update your password. Please try again later.\",\"/YgkWz\":\"We encountered an unknown error while attempting to update your public profile. Please try again later.\",\"PgR2KT\":\"We encountered an unknown error while attempting to update your team. Please try again later.\",\"Fkk/tM\":\"We encountered an unknown error while attempting update the team email. Please try again later.\",\"XdaMt1\":\"We have sent a confirmation email for verification.\",\"Z/3o7q\":\"We were unable to copy the token to your clipboard. Please try again.\",\"/f76sW\":\"We were unable to copy your recovery code to your clipboard. Please try again.\",\"5Elc4g\":\"We were unable to create a checkout session. Please try again, or contact support\",\"bw0W5A\":\"We were unable to disable two-factor authentication for your account. Please ensure that you have entered your password and backup code correctly and try again.\",\"Ckd2da\":\"We were unable to log you out at this time.\",\"PGrghQ\":\"We were unable to set your public profile to public. Please try again.\",\"I8Rr9j\":\"We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again.\",\"/Ez2eA\":\"We were unable to submit this document at this time. Please try again later.\",\"zfClNd\":\"We were unable to verify your details. Please try again or contact support\",\"791g1I\":\"We were unable to verify your email. If your email is not verified already, please try again.\",\"xxInDV\":\"We're all empty\",\"lgW1qG\":[\"We've sent a confirmation email to <0>\",[\"email\"],\". Please check your inbox and click the link in the email to verify your account.\"],\"an6ayw\":\"Webhook created\",\"LnaC5y\":\"Webhook deleted\",\"kxZ7LS\":\"Webhook updated\",\"nuh/Wq\":\"Webhook URL\",\"v1kQyJ\":\"Webhooks\",\"4XSc4l\":\"Weekly\",\"nx8adn\":\"Welcome back, we are lucky to have you.\",\"v+iPzY\":\"When you click continue, you will be prompted to add the first available authenticator on your system.\",\"ks103z\":\"While waiting for them to do so you can create your own Documenso account and get started with document signing right away.\",\"gW6iyU\":\"Who do you want to remind?\",\"WCtNlH\":\"Write about the team\",\"RB+i+e\":\"Write about yourself\",\"zkWmBh\":\"Yearly\",\"kWJmRL\":\"You\",\"H0+WHg\":[\"You are about to complete approving \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"kzE21T\":[\"You are about to complete signing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"9AVWSg\":[\"You are about to complete viewing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"wPAx3W\":[\"You are about to delete <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"bnSqz9\":[\"You are about to delete the following team email from <0>\",[\"teamName\"],\".\"],\"5K1f43\":[\"You are about to hide <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"Z7Zba7\":\"You are about to leave the following team.\",\"w4DsUu\":[\"You are about to remove the following user from <0>\",[\"teamName\"],\".\"],\"3TbP+M\":[\"You are about to revoke access for team <0>\",[\"0\"],\" (\",[\"1\"],\") to use your email.\"],\"km5WYz\":\"You are currently on the <0>Free Plan.\",\"lS8/qb\":[\"You are currently subscribed to <0>\",[\"0\"],\"\"],\"vELAGq\":[\"You are currently updating <0>\",[\"teamMemberName\"],\".\"],\"9Vb1lk\":[\"You are currently updating the <0>\",[\"passkeyName\"],\" passkey.\"],\"fE9efX\":\"You are not authorized to view this page.\",\"xGF8ow\":\"You can choose to enable or disable your profile for public view.\",\"knayUe\":\"You can choose to enable or disable your team profile for public view.\",\"6RWhw7\":\"You can claim your profile later on by going to your profile settings!\",\"wvsTRr\":\"You can update the profile URL by updating the team URL in the general settings page.\",\"MfJtjp\":\"You can view documents associated with this email and use this identity when sending documents.\",\"q1+l2h\":[\"You cannot have more than \",[\"MAXIMUM_PASSKEYS\"],\" passkeys.\"],\"Nv8I50\":\"You cannot modify a team member who has a higher role than you.\",\"tBM5rt\":\"You cannot upload encrypted PDFs\",\"uPZVOC\":\"You currently have an active plan\",\"vGmUyC\":\"You do not currently have a customer record, this should not happen. Please contact support for assistance.\",\"COkiAI\":[\"You have accepted an invitation from <0>\",[\"0\"],\" to join their team.\"],\"XJ/LXV\":[\"You have already completed the ownership transfer for <0>\",[\"0\"],\".\"],\"udOfln\":[\"You have already verified your email address for <0>\",[\"0\"],\".\"],\"rawUsl\":[\"You have been invited by <0>\",[\"0\"],\" to join their team.\"],\"C5iBwQ\":[\"You have declined the invitation from <0>\",[\"0\"],\" to join their team.\"],\"9vc55I\":\"You have no webhooks yet. Your webhooks will be shown here once you create them.\",\"MWXNow\":\"You have not yet created any templates. To create a template please upload one.\",\"qJTcfP\":\"You have not yet created or received any documents. To create a document please upload one.\",\"yvV4GX\":[\"You have reached the maximum limit of \",[\"0\"],\" direct templates. <0>Upgrade your account to continue!\"],\"m5RA9C\":\"You have reached your document limit.\",\"K/3HUN\":\"You have reached your document limit. <0>Upgrade your account to continue!\",\"dURxlX\":\"You have successfully left this team.\",\"vi6pfe\":\"You have successfully registered. Please verify your account by clicking on the link you received in the email.\",\"B5Ovxs\":\"You have successfully removed this user from the team.\",\"PIl3Hg\":\"You have successfully revoked access.\",\"Z1UZXO\":[\"You have updated \",[\"teamMemberName\"],\".\"],\"tD6Cj2\":[\"You have verified your email address for <0>\",[\"0\"],\".\"],\"pNlz0U\":\"You must be an admin of this team to manage billing.\",\"xIaz3h\":\"You must enter {confirmTransferMessage} to proceed\",\"OGT1bh\":\"You must enter {deleteMessage} to proceed\",\"jifgCp\":\"You must have at least one other team member to transfer ownership.\",\"ID3LkG\":\"You must set a profile URL before enabling your public profile.\",\"zfliFq\":[\"You need to be logged in as <0>\",[\"email\"],\" to view this page.\"],\"1et3k8\":\"You need to be logged in to view this page.\",\"ZR9lKP\":\"You need to setup 2FA to mark this document as viewed.\",\"tKEndc\":\"You will get notified & be able to set up your documenso public profile when we launch the feature.\",\"MBzXsC\":\"You will now be required to enter a code from your authenticator app when signing in.\",\"eWlnaX\":\"You will receive an Email copy of the signed document once everyone has signed.\",\"gmJH7Y\":\"Your account has been deleted successfully.\",\"YL3Iyk\":\"Your avatar has been updated successfully.\",\"c4qhbN\":\"Your banner has been updated successfully.\",\"+Ljs6n\":\"Your current plan is past due. Please update your payment information.\",\"5s2EJQ\":\"Your direct signing templates\",\"pj2JS8\":\"Your document failed to upload.\",\"DIplUX\":\"Your document has been created from the template successfully.\",\"iz6qAJ\":\"Your document has been re-sent successfully.\",\"0KIVTr\":\"Your document has been sent successfully.\",\"vbvBKY\":\"Your document has been successfully duplicated.\",\"TqcK/s\":\"Your document has been uploaded successfully.\",\"xEM9BR\":\"Your document has been uploaded successfully. You will be redirected to the template page.\",\"F2NQI1\":\"Your documents\",\"JQbHxK\":\"Your email has been successfully confirmed! You can now use all features of Documenso.\",\"pSDzas\":[\"Your email is currently being used by team <0>\",[\"0\"],\" (\",[\"1\"],\").\"],\"K6mQ0w\":\"Your existing tokens\",\"Ecp9Z/\":\"Your password has been updated successfully.\",\"/tDdSk\":\"Your payment for teams is overdue. Please settle the payment to avoid any service disruptions.\",\"R+Yx9f\":\"Your profile has been updated successfully.\",\"skqRDH\":\"Your profile has been updated.\",\"kF7YFF\":\"Your public profile has been updated.\",\"XnIGua\":\"Your recovery code has been copied to your clipboard.\",\"/N3QQp\":\"Your recovery codes are listed below. Please store them in a safe place.\",\"o9X4Qf\":\"Your subscription is currently active.\",\"+fTW4I\":\"Your team has been created.\",\"DCGKPd\":\"Your team has been successfully deleted.\",\"7rm0si\":\"Your team has been successfully updated.\",\"icNCVp\":\"Your template has been duplicated successfully.\",\"juxjhy\":\"Your template has been successfully deleted.\",\"BHaG+M\":\"Your template will be duplicated.\",\"WQkZGA\":\"Your templates has been saved successfully.\",\"4OcZNw\":\"Your token has expired!\",\"stera3\":\"Your token was created successfully! Make sure to copy it because you won't be able to see it again!\",\"R5j6t5\":\"Your tokens will be shown here once you create them.\",\"73XXzw\":[[\"0\"],\" of \",[\"1\"],\" row(s) selected.\"],\"lZ4w45\":[[\"visibleRows\",\"plural\",{\"one\":[\"Showing \",\"#\",\" result.\"],\"other\":[\"Showing \",\"#\",\" results.\"]}]],\"AhYxw5\":\"<0>Inherit authentication method - Use the global action signing authentication method configured in the \\\"General Settings\\\" step\",\"OepImG\":\"<0>No restrictions - No authentication required\",\"07+JZ2\":\"<0>No restrictions - The document can be accessed directly by the URL sent to the recipient\",\"jx/lwn\":\"<0>None - No authentication required\",\"CUT3u1\":\"<0>Require 2FA - The recipient must have an account and 2FA enabled via their settings\",\"2PbD3D\":\"<0>Require account - The recipient must be signed in to view the document\",\"QHSbey\":\"<0>Require passkey - The recipient must have an account and passkey configured via their settings\",\"Oy5nEc\":\"Add a document\",\"7Pz5x5\":\"Add a URL to redirect the user to once the document is signed\",\"aILOUH\":\"Add an external ID to the document. This can be used to identify the document in external systems.\",\"bK1dPK\":\"Add an external ID to the template. This can be used to identify in external systems.\",\"nnZ1Sa\":\"Add another option\",\"0/UVRw\":\"Add another value\",\"VaCh6w\":\"Add myself\",\"jAa/lz\":\"Add Myself\",\"29QK6H\":\"Add Placeholder Recipient\",\"vcxlzZ\":\"Add Signer\",\"7F2ltK\":\"Add text to the field\",\"U3pytU\":\"Admin\",\"NFIOKv\":\"Advanced Options\",\"VNgKZz\":\"Advanced settings\",\"bNUpvl\":\"After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email.\",\"ca9AbO\":\"Approver\",\"j2Uisd\":\"Approving\",\"brJrDl\":\"Cannot remove signer\",\"RpYfjZ\":\"Cc\",\"XdZeJk\":\"CC\",\"nrL/ZD\":\"CC'd\",\"EEk+d0\":\"Character Limit\",\"G1XxbZ\":\"Checkbox\",\"wbixMe\":\"Checkbox values\",\"u8JHrO\":\"Clear filters\",\"IqxkER\":\"Clear Signature\",\"OrcxNk\":\"Configure Direct Recipient\",\"92KLYs\":[\"Configure the \",[\"0\"],\" field\"],\"GB2F11\":\"Custom Text\",\"4BHv90\":\"Date Format\",\"NLXhq7\":\"Direct link receiver\",\"YScG1E\":\"Document access\",\"rAqi0g\":\"Document Creation\",\"6GyScL\":\"Drag & drop your PDF here.\",\"iKQcPM\":\"Dropdown\",\"XXvhMd\":\"Dropdown options\",\"XLpxoj\":\"Email Options\",\"f7sXvi\":\"Enter password\",\"5KfWxA\":\"External ID\",\"4CP+OV\":\"Failed to save settings.\",\"LK3SFK\":\"Field character limit\",\"NYkIsf\":\"Field format\",\"X6Tb6Q\":\"Field label\",\"NaVkSD\":\"Field placeholder\",\"N1UTWT\":\"Global recipient action authentication\",\"uCroPU\":\"I am a signer of this document\",\"K6KTX2\":\"I am a viewer of this document\",\"ngj5km\":\"I am an approver of this document\",\"JUZIGu\":\"I am required to receive a copy of this document\",\"ZjDoG7\":\"I am required to recieve a copy of this document\",\"fnbcC0\":\"Inherit authentication method\",\"87a/t/\":\"Label\",\"dtOoGl\":\"Manager\",\"CK1KXz\":\"Max\",\"OvoEq7\":\"Member\",\"ziXm9u\":\"Message <0>(Optional)\",\"eTUF28\":\"Min\",\"4nqUV0\":\"Needs to approve\",\"lNQBPg\":\"Needs to sign\",\"eUAUyG\":\"Needs to view\",\"GBIRGD\":\"No recipient matching this description was found.\",\"f34Qxi\":\"No recipients with this role\",\"qQ7oqE\":\"No restrictions\",\"AxPAXW\":\"No results found\",\"pt86ev\":\"No signature field found\",\"HptUxX\":\"Number\",\"bR2sEm\":\"Number format\",\"eY6ns+\":\"Once enabled, you can select any active recipient to be a direct link signing recipient, or create a new one. This recipient type cannot be edited or deleted.\",\"JE2qy+\":\"Once your template is set up, share the link anywhere you want. The person who opens the link will be able to enter their information in the direct link recipient field and complete any other fields assigned to them.\",\"fpzyLj\":[\"Page \",[\"0\"],\" of \",[\"1\"]],\"8ltyoa\":\"Password Required\",\"ayaTI6\":\"Pick a number\",\"hx1ePY\":\"Placeholder\",\"MtkqZc\":\"Radio\",\"5cEi0C\":\"Radio values\",\"uNQ6eB\":\"Read only\",\"UTnF5X\":\"Receives copy\",\"ZIuo5V\":\"Recipient action authentication\",\"VTB2Rz\":\"Redirect URL\",\"8dg+Yo\":\"Required field\",\"xxCtZv\":\"Rows per page\",\"9Y3hAT\":\"Save Template\",\"hVPa4O\":\"Select an option\",\"IM+vrQ\":\"Select at least\",\"Gve6FG\":\"Select default option\",\"JlFcis\":\"Send\",\"AEV4wo\":\"Send Document\",\"iE3nGO\":\"Share Signature Card\",\"y+hKWu\":\"Share the Link\",\"ydZ6yi\":\"Show advanced settings\",\"jTCAGu\":\"Signer\",\"6G8s+q\":\"Signing\",\"kW2h2Z\":\"Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding.\",\"kf83Ld\":\"Something went wrong.\",\"WlBiWh\":[\"Step <0>\",[\"step\"],\" of \",[\"maxStep\"],\"\"],\"ki77Td\":\"Subject <0>(Optional)\",\"hQRttt\":\"Submit\",\"URdrTr\":\"Template title\",\"xeiujy\":\"Text\",\"imClgr\":\"The authentication required for recipients to sign fields\",\"yyD2dE\":\"The authentication required for recipients to sign the signature field.\",\"GtDmLf\":\"The authentication required for recipients to view the document.\",\"zAoaPB\":\"The document's name\",\"Ev3GOS\":\"The password you have entered is incorrect. Please try again.\",\"OPnnb6\":\"The recipient is not required to take any action and receives a copy of the document after it is completed.\",\"v8p6Mb\":\"The recipient is required to approve the document for it to be completed.\",\"CPv0TB\":\"The recipient is required to sign the document for it to be completed.\",\"oIvIfH\":\"The recipient is required to view the document for it to be completed.\",\"Br2bvS\":\"The sharing link could not be created at this time. Please try again.\",\"XJIzqY\":\"The sharing link has been copied to your clipboard.\",\"UyM8/E\":\"The signer's email\",\"zHJ+vk\":\"The signer's name\",\"kaEF2i\":\"This can be overriden by setting the authentication requirements directly on each recipient in the next step.\",\"QUZVfd\":\"This document has already been sent to this recipient. You can no longer edit this recipient.\",\"riNGUC\":\"This document is password protected. Please enter the password to view the document.\",\"Qkeh+t\":\"This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them.\",\"l2Xt6u\":\"This signer has already received the document.\",\"6iFh5a\":\"This will override any global settings.\",\"RxsRD6\":\"Time Zone\",\"UWmOq4\":[\"To proceed further, please set at least one value for the \",[\"0\"],\" field.\"],\"GT+2nz\":\"Update the role and add fields as required for the direct recipient. The individual who uses the direct link will sign the document as the direct recipient.\",\"kwkhPe\":\"Upgrade\",\"06fEqf\":\"Upload Template Document\",\"lGWE4b\":\"Validation\",\"M/TIv1\":\"Viewer\",\"RVWz5F\":\"Viewing\",\"4/hUq0\":\"You are about to send this document to the recipients. Are you sure you want to continue?\",\"rb/T41\":\"You can use the following variables in your message:\",\"9+Ph0R\":\"You cannot upload documents at this time.\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"4CkA8m\":[\"\\\"\",[\"0\"],\"\\\" will appear on the document as it has a timezone of \\\"\",[\"timezone\"],\"\\\".\"],\"PGXGNV\":[\"\\\"\",[\"documentTitle\"],\"\\\" has been successfully deleted\"],\"ibh+jM\":[\"(\",[\"0\"],\") has invited you to approve this document\"],\"Hdo1JO\":[\"(\",[\"0\"],\") has invited you to sign this document\"],\"wPU8t5\":[\"(\",[\"0\"],\") has invited you to view this document\"],\"1mCQTM\":[[\"0\",\"plural\",{\"one\":\"(1 character over)\",\"other\":[\"(\",\"#\",\" characters over)\"]}]],\"8laXJX\":[[\"0\",\"plural\",{\"one\":[\"#\",\" character over the limit\"],\"other\":[\"#\",\" characters over the limit\"]}]],\"/7wuBM\":[[\"0\",\"plural\",{\"one\":[\"#\",\" recipient\"],\"other\":[\"#\",\" recipients\"]}]],\"WVvaAa\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Seat\"],\"other\":[\"#\",\" Seats\"]}]],\"mBW/Nj\":[[\"0\",\"plural\",{\"one\":\"<0>You have <1>1 pending team invitation\",\"other\":[\"<2>You have <3>\",\"#\",\" pending team invitations\"]}]],\"+Futv0\":[[\"0\",\"plural\",{\"one\":\"1 Recipient\",\"other\":[\"#\",\" Recipients\"]}]],\"/9xV/+\":[[\"0\",\"plural\",{\"one\":\"Waiting on 1 recipient\",\"other\":[\"Waiting on \",\"#\",\" recipients\"]}]],\"NKVaV/\":[[\"0\",\"plural\",{\"zero\":\"Select values\",\"other\":[\"#\",\" selected...\"]}]],\"XZlK7r\":[[\"0\"],\" direct signing templates\"],\"FDQtbR\":[[\"0\"],\" document\"],\"NnFCoc\":[[\"0\"],\" of \",[\"1\"],\" documents remaining this month.\"],\"5YOFTl\":[[\"0\"],\" Recipient(s)\"],\"7VC/RF\":[[\"0\"],\" the document to complete the process.\"],\"fjZZE0\":[[\"charactersRemaining\",\"plural\",{\"one\":\"1 character remaining\",\"other\":[[\"charactersRemaining\"],\" characters remaining\"]}]],\"AQAq/V\":[[\"formattedTeamMemberQuanity\"],\" • Monthly • Renews: \",[\"formattedDate\"]],\"QBOMc/\":[[\"numberOfSeats\",\"plural\",{\"one\":[\"#\",\" member\"],\"other\":[\"#\",\" members\"]}]],\"B/VHou\":[[\"remaningLength\",\"plural\",{\"one\":[\"#\",\" character remaining\"],\"other\":[\"#\",\" characters remaining\"]}]],\"Z5MlD3\":[\"<0>\\\"\",[\"0\"],\"\\\"is no longer available to sign\"],\"xvzJ86\":\"<0>Sender: All\",\"mVRii8\":\"404 Page not found\",\"WZHDfC\":\"404 Profile not found\",\"4lyY0m\":\"404 Team not found\",\"In0QZI\":\"404 Template not found\",\"1a1ztU\":\"A confirmation email has been sent, and it should arrive in your inbox shortly.\",\"0JoPTv\":\"A draft document will be created\",\"pYI9yv\":\"A new token was created successfully.\",\"FnK1CG\":\"A password reset email has been sent, if you have an account you should see it in your inbox shortly.\",\"GtLRrc\":[\"A request to transfer the ownership of this team has been sent to <0>\",[\"0\"],\" (\",[\"1\"],\")\"],\"EUAIAh\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso\",\"FUzxsL\":\"A secret that will be sent to your URL so you can verify that the request has been sent by Documenso.\",\"h39O4b\":\"A unique URL to access your profile\",\"B26oYX\":\"A unique URL to identify your team\",\"YKB66I\":\"A verification email will be sent to the provided email.\",\"g3UF2V\":\"Accept\",\"f8bc61\":\"Accepted team invitation\",\"TKFUnX\":\"Account deleted\",\"bwRvnp\":\"Action\",\"7L01XJ\":\"Actions\",\"F6pfE9\":\"Active\",\"i1lpSD\":\"Active Subscriptions\",\"m16xKo\":\"Add\",\"qkB+9Q\":\"Add all relevant fields for each recipient.\",\"bpOeyo\":\"Add all relevant placeholders for each recipient.\",\"GQ/q/T\":\"Add an authenticator to serve as a secondary authentication method for signing documents.\",\"o7gocE\":\"Add an authenticator to serve as a secondary authentication method when signing in, or when signing documents.\",\"bJUlXv\":\"Add email\",\"S/w/ui\":\"Add Fields\",\"iOiHwJ\":\"Add more\",\"rSRyAh\":\"Add number\",\"w3zmQl\":\"Add passkey\",\"zkvWcK\":\"Add Placeholders\",\"2Rqi1z\":\"Add Signers\",\"eZyoIc\":\"Add Subject\",\"bD3qQ7\":\"Add team email\",\"MwcOtB\":\"Add text\",\"mXXoi9\":\"Add Text\",\"vn6wzk\":\"Add the people who will sign the document.\",\"8XAJNZ\":\"Add the recipients to create the document with\",\"F9ayeh\":\"Add the subject and message you wish to send to signers.\",\"pjVxbn\":\"Adding and removing seats will adjust your invoice accordingly.\",\"VfkDmn\":\"Admin Actions\",\"SsHJsm\":\"Admin panel\",\"N40H+G\":\"All\",\"/LYSFR\":\"All documents\",\"myVKpO\":\"All documents have been processed. Any new documents that are sent or received will show here.\",\"8dC9dh\":\"All inserted signatures will be voided\",\"a809wO\":\"All recipients will be notified\",\"DA2Nma\":\"All templates\",\"5b4J4v\":\"All Time\",\"8URWfv\":\"Allows authenticating using biometrics, password managers, hardware keys, etc.\",\"QN+LeY\":\"Already have an account? <0>Sign in instead\",\"hehnjM\":\"Amount\",\"VeMlGP\":\"An email containing an invitation will be sent to each member.\",\"Cs4Mqi\":\"An email requesting the transfer of this team has been sent.\",\"Vw8l6h\":\"An error occurred\",\"aAZxd7\":\"An error occurred while adding signers.\",\"qFEx41\":\"An error occurred while adding the fields.\",\"ycUtHd\":\"An error occurred while creating document from template.\",\"8jjOHI\":\"An error occurred while creating the webhook. Please try again.\",\"D6tvkq\":\"An error occurred while disabling direct link signing.\",\"HNjVHR\":\"An error occurred while downloading your document.\",\"z7nHXh\":\"An error occurred while duplicating template.\",\"WnEuiF\":\"An error occurred while enabling direct link signing.\",\"eijDci\":\"An error occurred while loading team members. Please try again later.\",\"ZL2b3c\":\"An error occurred while moving the document.\",\"vECB98\":\"An error occurred while moving the template.\",\"677Rs2\":\"An error occurred while removing the signature.\",\"niV8ex\":\"An error occurred while removing the text.\",\"+UiFs2\":\"An error occurred while sending the document.\",\"W8sZtD\":\"An error occurred while sending your confirmation email\",\"CKRkxA\":\"An error occurred while signing the document.\",\"k2HSGs\":\"An error occurred while trying to create a checkout session.\",\"PBvwjZ\":\"An error occurred while updating the document settings.\",\"vNZnKS\":\"An error occurred while updating the signature.\",\"ed1aMc\":\"An error occurred while updating your profile.\",\"hGN3eM\":\"An error occurred while uploading your document.\",\"vW+T+d\":\"An unknown error occurred\",\"Iq1gDI\":\"Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information.\",\"ZiooJI\":\"API Tokens\",\"mf2Wzk\":\"App Version\",\"Z7ZXbT\":\"Approve\",\"7kb4LU\":\"Approved\",\"0EvA/s\":\"Are you sure you want to delete this token?\",\"99ZWCN\":[\"Are you sure you want to remove the <0>\",[\"passkeyName\"],\" passkey.\"],\"1D4Rs0\":\"Are you sure you wish to delete this team?\",\"6foA8n\":\"Are you sure?\",\"rgXDlk\":\"Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document.\",\"ilRCh1\":\"Audit Log\",\"XiaVj+\":\"Authentication required\",\"kfcRb0\":\"Avatar\",\"uzGcBT\":\"Avatar Updated\",\"q8qrYJ\":\"Awaiting email confirmation\",\"iH8pgl\":\"Back\",\"FL8Lic\":\"Back to Documents\",\"k1bLf+\":\"Background Color\",\"ev7oAJ\":\"Backup Code\",\"M2cci0\":\"Backup codes\",\"eQwW5Q\":\"Banner Updated\",\"3dSIQs\":\"Basic details\",\"R+w/Va\":\"Billing\",\"0DGrp8\":\"Browser\",\"r4lECO\":\"Bulk Import\",\"dMoTGp\":\"By deleting this document, the following will occur:\",\"zjt329\":\"By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in.\",\"dEgA5A\":\"Cancel\",\"sa1BnH\":\"Cancelled by user\",\"A4tHrb\":\"Charts\",\"znIg+z\":\"Checkout\",\"MeyfTD\":\"Choose an existing recipient from below to continue\",\"iWVl0V\":\"Choose Direct Link Recipient\",\"1qI3Gk\":\"Choose...\",\"1m18m/\":\"Claim account\",\"tvmS/k\":\"Claim username\",\"vRjC9y\":\"Claim your profile later\",\"HiEGc0\":\"Claim your username now\",\"ELiPtq\":\"Click here to get started\",\"BvF90q\":\"Click here to retry\",\"cgfP+i\":\"Click here to upload\",\"L1127j\":\"Click to copy signing link for sending to recipient\",\"eZ6/Uj\":\"Click to insert field\",\"yz7wBu\":\"Close\",\"bD8I7O\":\"Complete\",\"jVAqZz\":\"Complete Approval\",\"0ojNue\":\"Complete Signing\",\"+5y0NQ\":\"Complete Viewing\",\"qqWcBV\":\"Completed\",\"rGm4yZ\":\"Completed documents\",\"p5+XQN\":\"Completed Documents\",\"UfLuLv\":\"Configure general settings for the document.\",\"hIv3aM\":\"Configure general settings for the template.\",\"LVnHGj\":\"Configure template\",\"7VpPHA\":\"Confirm\",\"gMlC/b\":[\"Confirm by typing <0>\",[\"confirmTransferMessage\"],\"\"],\"FQnPC+\":[\"Confirm by typing <0>\",[\"deleteMessage\"],\"\"],\"gv1JXQ\":[\"Confirm by typing: <0>\",[\"deleteMessage\"],\"\"],\"w0Qb5v\":\"Confirm Deletion\",\"CMj4hw\":\"Confirm email\",\"13PnPF\":\"Confirmation email sent\",\"4b3oEV\":\"Content\",\"xGVfLh\":\"Continue\",\"/KgpcA\":\"Continue to login\",\"FxVG/l\":\"Copied to clipboard\",\"phD28x\":\"Copy sharable link\",\"ZxZS0E\":\"Copy Shareable Link\",\"BddwrJ\":\"Copy token\",\"hYgDIe\":\"Create\",\"mpt9T+\":\"Create a new account\",\"kxGCtA\":\"Create a team to collaborate with your team members.\",\"1hMWR6\":\"Create account\",\"H7nlli\":\"Create and send\",\"BYg48B\":\"Create as draft\",\"JqmhmE\":\"Create Direct Link\",\"wtV4WO\":\"Create Direct Signing Link\",\"fDTEKZ\":\"Create document from template\",\"1svIlj\":\"Create now\",\"JLQooE\":\"Create one automatically\",\"YGQVmg\":\"Create team\",\"fWFMgb\":\"Create Team\",\"pzXZ8+\":\"Create token\",\"SiPp29\":\"Create webhook\",\"dkAPxi\":\"Create Webhook\",\"8T5f7o\":\"Create your account and start using state-of-the-art document signing.\",\"rr83qK\":\"Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp.\",\"d+F6q9\":\"Created\",\"88kg0+\":\"Created At\",\"NCIYDF\":\"Created by\",\"45O6zJ\":\"Created on\",\"SVZbH4\":\"Created on <0/>\",\"DCKkhU\":\"Current Password\",\"74XDHP\":[\"Current plan: \",[\"0\"]],\"U0sC6H\":\"Daily\",\"oRVm8M\":\"Dark Mode\",\"mYGY3B\":\"Date\",\"u46WEi\":\"Date created\",\"jbq7j2\":\"Decline\",\"uSS9OX\":\"Declined team invitation\",\"cnGeoo\":\"Delete\",\"ZDGm40\":\"Delete account\",\"vzX5FB\":\"Delete Account\",\"+vDIXN\":\"Delete document\",\"MUynQL\":\"Delete Document\",\"0tFf9L\":\"Delete passkey\",\"MYiaA4\":\"Delete team\",\"WZHJBH\":\"Delete team member\",\"M5Nsil\":\"Delete the document. This action is irreversible so proceed with caution.\",\"ETB4Yh\":\"Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution.\",\"zdyslo\":\"Delete Webhook\",\"IJMZKG\":\"Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution.\",\"vGjmyl\":\"Deleted\",\"cmDFUK\":\"Deleting account...\",\"PkSiFP\":\"Deleting document\",\"PEHQTf\":\"Device\",\"YseRvk\":\"direct link\",\"cfARFZ\":\"Direct link\",\"VdX+I4\":\"direct link disabled\",\"nNHqgX\":\"Direct Link Signing\",\"k2FNdx\":\"Direct link signing has been disabled\",\"gsc+pZ\":\"Direct link signing has been enabled\",\"CRdqqs\":\"Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page.\",\"WCGIfx\":\"Direct template link deleted\",\"2HKj5L\":[\"Direct template link usage exceeded (\",[\"0\"],\"/\",[\"1\"],\")\"],\"cO9+2L\":\"Disable\",\"qERl58\":\"Disable 2FA\",\"pf7wfS\":\"Disable Two Factor Authentication before deleting your account.\",\"E/QGRL\":\"Disabled\",\"H11Db4\":\"Disabling direct link signing will prevent anyone from accessing the link.\",\"Oq0b7I\":\"Display your name and email in documents\",\"pR1j0x\":\"Do you want to delete this template?\",\"MqL7Ex\":\"Do you want to duplicate this template?\",\"MUwFBV\":\"Documenso will delete <0>all of your documents, along with all of your completed documents, signatures, and all other resources belonging to your Account.\",\"7Zdnlq\":\"Document\",\"kz4vX7\":\"Document All\",\"Pr3c2A\":\"Document Approved\",\"Kvf7iA\":\"Document Cancelled\",\"GOO+sv\":\"Document completed\",\"6KFLWX\":\"Document Completed!\",\"frw2OP\":\"Document created\",\"ZlIPM3\":\"Document deleted\",\"IvkBV7\":\"Document draft\",\"nF+jHn\":\"Document Duplicated\",\"Zfj12J\":\"Document history\",\"glwlqW\":\"Document ID\",\"WqG6Wi\":\"Document inbox\",\"WrliRN\":\"Document Limit Exceeded!\",\"AGzFn4\":\"Document metrics\",\"w+SPlp\":\"Document moved\",\"G45FNk\":\"Document no longer available to sign\",\"EhII5Z\":\"Document pending\",\"XIvQfe\":\"Document re-sent\",\"S2Wpx4\":\"Document resealed\",\"2r5F7N\":\"Document sent\",\"prbyy5\":\"Document Signed\",\"O832hg\":\"Document signing process will be cancelled\",\"UkHClc\":\"Document status\",\"RDOlfT\":\"Document title\",\"R1TUTP\":\"Document upload disabled due to unpaid invoices\",\"PGrc79\":\"Document uploaded\",\"UfJ5fX\":\"Document Viewed\",\"bTGVhQ\":\"Document will be permanently deleted\",\"E/muDO\":\"Documents\",\"q89WTJ\":\"Documents Received\",\"77Aq1u\":\"Documents Viewed\",\"352VU2\":\"Don't have an account? <0>Sign up\",\"mzI/c+\":\"Download\",\"lojhUl\":\"Download Audit Logs\",\"uKWz9T\":\"Download Certificate\",\"eneWvv\":\"Draft\",\"gWAuiM\":\"Draft documents\",\"8OzE2k\":\"Drafted Documents\",\"QurWnM\":\"Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team.\",\"euc6Ns\":\"Duplicate\",\"ePK91l\":\"Edit\",\"fW5sSv\":\"Edit webhook\",\"O3oNi5\":\"Email\",\"ATGYL1\":\"Email address\",\"hzKQCy\":\"Email Address\",\"HmTucU\":\"Email Confirmed!\",\"JHLcvq\":\"Email sent!\",\"bK7p2G\":\"Email verification has been removed\",\"xk9d59\":\"Email verification has been resent\",\"DCRKbe\":\"Enable 2FA\",\"Gndbft\":\"Enable Authenticator App\",\"iNXTYT\":\"Enable direct link signing\",\"qChNnS\":\"Enable Direct Link Signing\",\"RxzN1M\":\"Enabled\",\"y6J8wY\":\"Ends On\",\"C3nD/1\":\"Enter your email\",\"oM8ocD\":\"Enter your email address to receive the completed document.\",\"n9V+ps\":\"Enter your name\",\"v0GDxO\":\"Enter your text here\",\"SlfejT\":\"Error\",\"ZkROsq\":\"Everyone has signed\",\"4MNaCF\":\"Everyone has signed! You will receive an Email copy of the signed document.\",\"uWW+rJ\":\"Exceeded timeout\",\"M1RnFv\":\"Expired\",\"RIcSTA\":\"Expires on\",\"LbGReD\":\"Expires on <0/>\",\"ToQ1L5\":\"Failed to reseal document\",\"YXKrQK\":\"Failed to update recipient\",\"R41XLH\":\"Failed to update webhook\",\"vF68cg\":\"Fields\",\"8rKUka\":[\"File cannot be larger than \",[\"APP_DOCUMENT_UPLOAD_SIZE_LIMIT\"],\"MB\"],\"glx6on\":\"Forgot your password?\",\"/4TFrF\":\"Full Name\",\"Weq9zb\":\"General\",\"sr0UJD\":\"Go Back\",\"+vhBuq\":\"Go back home\",\"1oocIX\":\"Go Back Home\",\"Q46UEs\":\"Go to owner\",\"71XAMD\":\"Go to your <0>public profile settings to add documents.\",\"+pEbZM\":\"Here you can edit your personal details.\",\"gPNXUO\":\"Here you can manage your password and security settings.\",\"rLZFM2\":\"Here's how it works:\",\"C3U9sx\":\"Hey I’m Timur\",\"vLyv1R\":\"Hide\",\"/c6j67\":\"Hide additional information\",\"2+GP4I\":\"I am the owner of this document\",\"Jw3g7g\":\"I'm sure! Delete it\",\"fYt7bZ\":\"If they accept this request, the team will be transferred to their account.\",\"P8EnSP\":\"If you do not want to use the authenticator prompted, you can close it, which will then display the next available authenticator.\",\"usBC38\":\"If you don't find the confirmation link in your inbox, you can request a new one below.\",\"i1sBhX\":\"If your authenticator app does not support QR codes, you can use the following code instead:\",\"Gp4Yi6\":\"Inbox\",\"mIZt96\":\"Inbox documents\",\"nSkB8g\":\"Information\",\"2+B7Tm\":\"Inserted\",\"kgiQxA\":\"Instance Stats\",\"v7dfDY\":\"Invalid code. Please try again.\",\"bajpfj\":\"Invalid file\",\"TN382O\":\"Invalid link\",\"Kx9NEt\":\"Invalid token\",\"lW4qkT\":\"Invitation accepted!\",\"K2fB29\":\"Invitation declined\",\"zbmftZ\":\"Invitation has been deleted\",\"hDYopg\":\"Invitation has been resent\",\"MFKlMB\":\"Invite\",\"+djOzj\":\"Invite member\",\"ZHx/by\":\"Invite Members\",\"qSfH/A\":\"Invite team members\",\"H97wjo\":\"Invited At\",\"IuMGvq\":\"Invoice\",\"pQgy2V\":[\"It looks like \",[\"0\"],\" hasn't added any documents to their profile yet.\"],\"Ji9zm3\":\"It seems that the provided token has expired. We've just sent you another token, please check your email and try again.\",\"PQ53gh\":\"It seems that there is no token provided, if you are trying to verify your email please follow the link in your email.\",\"y51oRm\":\"It seems that there is no token provided. Please check your email and try again.\",\"vfe90m\":\"Last 14 days\",\"uq2BmQ\":\"Last 30 days\",\"ct2SYD\":\"Last 7 days\",\"x5DnMs\":\"Last modified\",\"C3yOz3\":\"Last updated\",\"9aMJpW\":\"Last updated at\",\"JGvwnU\":\"Last used\",\"Mv8CyJ\":\"Leave\",\"v/uzBS\":\"Leave team\",\"cInPuv\":\"Light Mode\",\"0uqjes\":\"Like to have your own public profile with agreements?\",\"jfN/GZ\":\"Link template\",\"T2q4gy\":[\"Listening to \",[\"0\"]],\"qzZ/NB\":\"Load older activity\",\"Jy3ott\":\"Loading document...\",\"KBQH86\":\"Loading Document...\",\"czE0ko\":\"Loading teams...\",\"Z3FXyt\":\"Loading...\",\"z0t9bb\":\"Login\",\"wckWOP\":\"Manage\",\"HQVCTG\":[\"Manage \",[\"0\"],\"'s profile\"],\"Lp5ut7\":\"Manage all teams you are currently associated with.\",\"NwY95d\":\"Manage details for this public template\",\"OcvAVs\":\"Manage Direct Link\",\"g6RCtA\":\"Manage documents\",\"HVAyb8\":\"Manage passkeys\",\"3jHA5d\":\"Manage subscription\",\"L9IOec\":\"Manage Subscription\",\"KuukYs\":\"Manage subscriptions\",\"DHyAij\":\"Manage team subscription.\",\"lLX9Bl\":\"Manage teams\",\"aA0Gfq\":\"Manage the direct link signing for this template\",\"Ruhuv1\":\"Manage the members or invite new members.\",\"Xef1xw\":\"Manage users\",\"T0vQFD\":\"Manage your passkeys.\",\"4a84Cp\":\"Manage your site settings here\",\"Rbs16H\":\"Mark as Viewed\",\"deqwtZ\":\"MAU (created document)\",\"YgNcJU\":\"MAU (had document completed)\",\"Hn6rI0\":\"Member Since\",\"wlQNTg\":\"Members\",\"FaskIK\":\"Modify recipients\",\"+8Nek/\":\"Monthly\",\"MOyLGl\":\"Monthly Active Users: Users that created at least one Document\",\"5G7Dom\":\"Monthly Active Users: Users that had at least one of their documents completed\",\"QWdKwH\":\"Move\",\"YeRZmm\":\"Move Document to Team\",\"QlQmgo\":\"Move Template to Team\",\"wUBLjS\":\"Move to Team\",\"K8Qnlj\":\"Moving...\",\"en+4fS\":\"My templates\",\"6YtxFj\":\"Name\",\"8VD2is\":\"Need to sign documents?\",\"qqeAJM\":\"Never\",\"OEcKyx\":\"Never expire\",\"QWDm5s\":\"New team owner\",\"K6MO8e\":\"New Template\",\"hXzOVo\":\"Next\",\"ZcbBVB\":\"Next field\",\"G5YKES\":\"No active drafts\",\"PsHKvx\":\"No payment required\",\"OBWbru\":\"No public profile templates found\",\"m0I2ba\":\"No recent activity\",\"IMbagb\":\"No recipients\",\"MZbQHL\":\"No results found.\",\"+5xxir\":\"No token provided\",\"s9Rqzv\":\"No valid direct templates found\",\"l08XJv\":\"No valid recipients found\",\"CSOFdu\":\"No value found.\",\"tRFnIp\":\"No worries, it happens! Enter your email and we'll email you a special link to reset your password.\",\"7aaD1O\":\"Not supported\",\"wkT5xx\":\"Nothing to do\",\"Oizhkg\":\"On this page, you can create a new webhook.\",\"aaavFi\":\"On this page, you can create new API tokens and manage the existing ones. <0/>Also see our <1>Documentation.\",\"ZtN+o/\":\"On this page, you can create new API tokens and manage the existing ones. <0/>You can view our swagger docs <1>here\",\"SpqtG7\":\"On this page, you can create new Webhooks and manage the existing ones.\",\"FOWyZB\":\"On this page, you can edit the webhook and its settings.\",\"dM1W5F\":\"Once confirmed, the following will occur:\",\"mZ2nNu\":\"Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below.\",\"udaO9j\":\"Oops! Something went wrong.\",\"OV5wZZ\":\"Opened\",\"ZAVklK\":\"Or\",\"zW+FpA\":\"Or continue with\",\"XUwKbC\":\"Otherwise, the document will be created as a draft.\",\"LtI9AS\":\"Owner\",\"v4nCHK\":\"Paid\",\"FGSN4s\":\"Passkey\",\"8mPPB0\":\"Passkey already exists for the provided authenticator\",\"k/8RhE\":\"Passkey creation cancelled due to one of the following reasons:\",\"knZBf/\":\"Passkey has been removed\",\"1MvYF3\":\"Passkey has been updated\",\"qz7mwn\":\"Passkey name\",\"UZKLEA\":\"Passkeys\",\"v3rPhj\":\"Passkeys allow you to sign in and authenticate using biometrics, password managers, etc.\",\"wsLk4g\":\"Passkeys are not supported on this browser\",\"8ZsakT\":\"Password\",\"ogtYkT\":\"Password updated\",\"4fL/V7\":\"Pay\",\"oyOEbz\":\"Payment is required to finalise the creation of your team.\",\"GptxX/\":\"Payment overdue\",\"UbRKMZ\":\"Pending\",\"Y99ivo\":\"Pending documents\",\"VZJggs\":\"Pending Documents\",\"dSe12f\":\"Pending invitations\",\"pobYPH\":\"Pending team deleted.\",\"7MuXko\":\"Personal\",\"moWIBX\":\"Personal Account\",\"bhE66T\":\"Pick a password\",\"nSCWvF\":\"Pick any of the following agreements below and start signing to get started\",\"LFWYFV\":\"Please check the CSV file and make sure it is according to our format\",\"GUOCNi\":\"Please choose your new password\",\"JcgKEA\":\"Please contact support if you would like to revert this action.\",\"pzDdmv\":\"Please enter a meaningful name for your token. This will help you identify it later.\",\"GqaSjy\":\"Please mark as viewed to complete\",\"jG5btV\":\"Please note that proceeding will remove direct linking recipient and turn it into a placeholder.\",\"Op5XjA\":\"Please note that this action is <0>irreversible.\",\"pIF/uD\":\"Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted.\",\"aYytci\":\"Please note that this action is irreversible. Once confirmed, your template will be permanently deleted.\",\"LIf5dA\":\"Please note that this action is irreversible. Once confirmed, your token will be permanently deleted.\",\"bGHA6C\":\"Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted.\",\"K2Zlri\":\"Please note that you will lose access to all documents associated with this team & all the members will be removed and notified\",\"VJEW4M\":\"Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support.\",\"Lwg9X/\":\"Please provide a token from your authenticator, or a backup code.\",\"tVQlia\":\"Please try again and make sure you enter the correct email address.\",\"fWCcRl\":\"Please try again later or login using your normal details\",\"PZCqeW\":\"Please try again later.\",\"2oj8HJ\":[\"Please type <0>\",[\"0\"],\" to confirm.\"],\"Q6hhn8\":\"Preferences\",\"ghVdS5\":\"Preview and configure template.\",\"zwBp5t\":\"Private\",\"aWLa3z\":\"Private templates can only be modified and viewed by you.\",\"vERlcd\":\"Profile\",\"H8Zk+q\":\"Profile is currently <0>hidden.\",\"6zFVy3\":\"Profile is currently <0>visible.\",\"srPuxS\":\"Profile updated\",\"7d1a0d\":\"Public\",\"PsWyzr\":\"Public Profile\",\"GCm4vn\":\"Public profile URL\",\"9imnUr\":\"Public profile username\",\"2/o+9Z\":\"Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile.\",\"Zs+87t\":\"Read only field\",\"ckH3fT\":\"Ready\",\"2DmUfb\":\"Reauthentication is required to sign this field\",\"M1HGuR\":\"Recent activity\",\"I3QpvQ\":\"Recipient\",\"evCX7h\":\"Recipient updated\",\"yPrbsy\":\"Recipients\",\"FDT13r\":\"Recipients metrics\",\"cEfPAe\":\"Recipients will still retain their copy of the document\",\"p8zadb\":\"Recovery code copied\",\"x5rgeJ\":\"Recovery codes\",\"ZCl9NH\":\"Registration Successful\",\"cD+FhI\":\"Remembered your password? <0>Sign In\",\"t/YqKh\":\"Remove\",\"41G745\":\"Remove team email\",\"8xN0jg\":\"Remove team member\",\"JjG/b1\":\"Repeat Password\",\"Ibjxfr\":\"Request transfer\",\"sDXefy\":\"Reseal document\",\"MyjAbr\":\"Resend\",\"bxoWpz\":\"Resend Confirmation Email\",\"HT2UjS\":\"Resend verification\",\"OfhWJH\":\"Reset\",\"wJZvNq\":\"Reset email sent\",\"KbS2K9\":\"Reset Password\",\"NI0xtv\":\"Resetting Password...\",\"2FoHU3\":\"Resolve\",\"bH0aV9\":\"Resolve payment\",\"6gRgw8\":\"Retry\",\"vUOn9d\":\"Return\",\"dRDE6t\":\"Return to Dashboard\",\"OYOJop\":\"Return to Home\",\"Wkb64i\":\"Return to sign in\",\"GXsAby\":\"Revoke\",\"cg+Poy\":\"Revoke access\",\"GDvlUT\":\"Role\",\"5dJK4M\":\"Roles\",\"tfDRzk\":\"Save\",\"A1taO8\":\"Search\",\"pUjzwQ\":\"Search by document title\",\"Bw5X+M\":\"Search by name or email\",\"8VEDbV\":\"Secret\",\"a3LDKx\":\"Security\",\"HUVI3V\":\"Security activity\",\"rG3WVm\":\"Select\",\"9GwDu7\":\"Select a team\",\"vWi2vu\":\"Select a team to move this document to. This action cannot be undone.\",\"JxCKQ1\":\"Select a team to move this template to. This action cannot be undone.\",\"hyn0QC\":\"Select a template you'd like to display on your public profile\",\"9VGtlg\":\"Select a template you'd like to display on your team's public profile\",\"gBqxYg\":\"Select passkey\",\"471O/e\":\"Send confirmation email\",\"HbN1UH\":\"Send document\",\"qaDvSa\":\"Send reminder\",\"HW5fQk\":\"Sender\",\"DgPgBb\":\"Sending Reset Email...\",\"IoAuJG\":\"Sending...\",\"h69WC6\":\"Sent\",\"bWhxXv\":\"Set a password\",\"Tz0i8g\":\"Settings\",\"RDjuBN\":\"Setup\",\"Z8lGw6\":\"Share\",\"lCEhm/\":\"Share Signing Card\",\"8vETh9\":\"Show\",\"FSjwRy\":\"Show additional information\",\"7Ifo0h\":\"Show templates in your public profile for your audience to sign and get started quickly\",\"lDZq9u\":\"Show templates in your team public profile for your audience to sign and get started quickly\",\"c+Fnce\":\"Sign\",\"oKBjbc\":[\"Sign as \",[\"0\"],\" <0>(\",[\"1\"],\")\"],\"M7Y6vg\":[\"Sign as <0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"D0JgR3\":[\"Sign as<0>\",[\"0\"],\" <1>(\",[\"1\"],\")\"],\"/8S7J+\":\"Sign document\",\"ceklqr\":\"Sign field\",\"vRw782\":\"Sign Here\",\"n1ekoW\":\"Sign In\",\"NxCJcc\":\"Sign in to your account\",\"bHYIks\":\"Sign Out\",\"Mqwtkp\":\"Sign the document to complete the process.\",\"e+RpCP\":\"Sign up\",\"mErq7F\":\"Sign Up\",\"8fC9B9\":\"Sign Up with Google\",\"l/tATK\":\"Sign Up with OIDC\",\"n+8yVN\":\"Signature\",\"6AjNkO\":\"Signatures Collected\",\"cquXHe\":\"Signatures will appear once the document has been completed\",\"PoH7eg\":\"Signed\",\"XOxZT4\":\"Signing in...\",\"P1wwqN\":\"Signing up...\",\"ltYQCa\":[\"Since \",[\"0\"]],\"67H0kT\":\"Site Banner\",\"aaU5Fl\":\"Site Settings\",\"nwtY4N\":\"Something went wrong\",\"xYdwPA\":[\"Something went wrong while attempting to transfer the ownership of team <0>\",[\"0\"],\" to your. Please try again later or contact support.\"],\"/OggdM\":[\"Something went wrong while attempting to verify your email address for <0>\",[\"0\"],\". Please try again later.\"],\"oZO7Po\":\"Something went wrong while loading your passkeys.\",\"qDc2pC\":\"Something went wrong while sending the confirmation email.\",\"2U+48H\":\"Something went wrong while updating the team billing subscription, please contact support.\",\"db0Ycb\":\"Something went wrong. Please try again or contact support.\",\"q16m4+\":\"Sorry, we were unable to download the audit logs. Please try again later.\",\"EUyscw\":\"Sorry, we were unable to download the certificate. Please try again later.\",\"29Hx9U\":\"Stats\",\"uAQUqI\":\"Status\",\"EDl9kS\":\"Subscribe\",\"WVzGc2\":\"Subscription\",\"P6F38F\":\"Subscriptions\",\"zzDlyQ\":\"Success\",\"f8RSgi\":\"Successfully created passkey\",\"3WgMId\":\"System Theme\",\"KM6m8p\":\"Team\",\"ZTKtIH\":\"Team checkout\",\"WUM2yD\":\"Team email\",\"rkqgH1\":\"Team Email\",\"2FRR+Z\":\"Team email already verified!\",\"5GbQa1\":\"Team email has been removed\",\"rW28ga\":\"Team email verification\",\"/9ZeEl\":\"Team email verified!\",\"Ww6njg\":\"Team email was updated.\",\"h3p3UT\":\"Team invitation\",\"am190B\":\"Team invitations have been sent.\",\"IJFhQ+\":\"Team Member\",\"EEjL2F\":\"Team Name\",\"alTHVO\":\"Team Only\",\"cvMRdF\":\"Team only templates are not linked anywhere and are visible only to your team.\",\"sSUQSW\":\"Team ownership transfer\",\"NnCr+1\":\"Team ownership transfer already completed!\",\"GzR8VI\":\"Team ownership transferred!\",\"qzHZC+\":\"Team Public Profile\",\"wkzD+0\":\"Team settings\",\"oMfDc9\":\"Team Settings\",\"NONu1b\":\"Team templates\",\"Feqf5k\":\"Team transfer in progress\",\"oXkHk2\":\"Team transfer request expired\",\"IwrHI3\":\"Team URL\",\"CAL6E9\":\"Teams\",\"qKgabb\":\"Teams restricted\",\"/K2CvV\":\"Template\",\"ZTgE3k\":\"Template deleted\",\"7ZORe4\":\"Template document uploaded\",\"Vmoj8n\":\"Template duplicated\",\"3MMlXX\":\"Template has been removed from your public profile.\",\"eupjqf\":\"Template has been updated.\",\"I1vdWI\":\"Template moved\",\"GamjcN\":\"Template saved\",\"iTylMl\":\"Templates\",\"mKknmt\":\"Templates allow you to quickly generate documents with pre-filled recipients and fields.\",\"HmA4Lf\":\"Text Color\",\"jB6Wb0\":\"The account has been deleted successfully.\",\"YPAOfJ\":\"The content to show in the banner, HTML is allowed\",\"+lDHlp\":\"The direct link has been copied to your clipboard\",\"HdogiK\":\"The document has been successfully moved to the selected team.\",\"8TDHmX\":\"The document is now completed, please follow any instructions provided within the parent application.\",\"JaqmMD\":\"The document was created but could not be sent to recipients.\",\"D6V5NE\":\"The document will be hidden from your account\",\"kn3D/u\":\"The document will be immediately sent to recipients if this is checked.\",\"S20Dp9\":\"The events that will trigger a webhook to be sent to your URL.\",\"3BvEti\":[\"The ownership of team <0>\",[\"0\"],\" has been successfully transferred to you.\"],\"jiv3IP\":\"The page you are looking for was moved, removed, renamed or might never have existed.\",\"v7aFZT\":\"The profile link has been copied to your clipboard\",\"L9/hN3\":\"The profile you are looking for could not be found.\",\"M2Tl+5\":\"The public description that will be displayed with this template\",\"Bar5Ss\":\"The public name for your template\",\"RL/wwM\":\"The recipient has been updated successfully\",\"aHhSPO\":\"The selected team member will receive an email which they must accept before the team is transferred\",\"so3oXj\":\"The signing link has been copied to your clipboard.\",\"kXciaM\":\"The site banner is a message that is shown at the top of the site. It can be used to display important information to your users.\",\"XaNqYt\":\"The team transfer invitation has been successfully deleted.\",\"DyE711\":[\"The team transfer request to <0>\",[\"0\"],\" has expired.\"],\"RLyuG2\":\"The team you are looking for may have been removed, renamed or may have never existed.\",\"wIrx7T\":\"The template has been successfully moved to the selected team.\",\"J+X6HZ\":\"The template will be removed from your profile\",\"9VV//K\":\"The template you are looking for may have been disabled, deleted or may have never existed.\",\"tkv54w\":\"The token was copied to your clipboard.\",\"5cysp1\":\"The token was deleted successfully.\",\"oddVEW\":\"The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link.\",\"Orj1pl\":\"The URL for Documenso to send webhook events to.\",\"V92DHZ\":\"The webhook has been successfully deleted.\",\"mlHeCX\":\"The webhook has been updated successfully.\",\"V+5KQa\":\"The webhook was successfully created.\",\"k/INkj\":\"There are no active drafts at the current moment. You can upload a document to start drafting.\",\"ySoKla\":\"There are no completed documents yet. Documents that you have created or received will appear here once completed.\",\"9aYXQv\":\"They have permission on your behalf to:\",\"3ap2Vv\":\"This action is not reversible. Please be certain.\",\"6S2SIc\":\"This document could not be deleted at this time. Please try again.\",\"9q30Lx\":\"This document could not be duplicated at this time. Please try again.\",\"u/cYe5\":\"This document could not be re-sent at this time. Please try again.\",\"240BLI\":\"This document has been cancelled by the owner and is no longer available for others to sign.\",\"UdLWn3\":\"This document has been cancelled by the owner.\",\"K8RH4n\":\"This document has been signed by all recipients\",\"1M0Ssi\":\"This document is currently a draft and has not been sent\",\"LLfa/G\":\"This email is already being used by another team.\",\"YrKIxa\":\"This link is invalid or has expired. Please contact your team to resend a transfer request.\",\"iN8uoK\":\"This link is invalid or has expired. Please contact your team to resend a verification.\",\"b7CscR\":\"This passkey has already been registered.\",\"JMu+vE\":\"This passkey is not configured for this application. Please login and add one in the user settings.\",\"0ES9GX\":\"This price includes minimum 5 seats.\",\"0rusOU\":\"This session has expired. Please try again.\",\"ApCva8\":\"This team, and any associated data excluding billing invoices will be permanently deleted.\",\"1ABR2W\":\"This template could not be deleted at this time. Please try again.\",\"PJUOEm\":\"This token is invalid or has expired. No action is needed.\",\"4WY92K\":\"This token is invalid or has expired. Please contact your team for a new invitation.\",\"6HNLKb\":\"This URL is already in use.\",\"/yOKAT\":\"This username has already been taken\",\"ea/Ia+\":\"This username is already taken\",\"LhMjLm\":\"Time\",\"Mz2JN2\":\"Time zone\",\"MHrjPM\":\"Title\",\"TF1e2Y\":\"To accept this invitation you must create an account.\",\"9e4NKS\":\"To change the email you must remove and add a new email address.\",\"E3QGBV\":[\"To confirm, please enter the accounts email address <0/>(\",[\"0\"],\").\"],\"/ngXqQ\":\"To confirm, please enter the reason\",\"Z/LRzj\":\"To decline this invitation you must create an account.\",\"QyrRrh\":\"To enable two-factor authentication, scan the following QR code using your authenticator app.\",\"mX0XNr\":\"To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox.\",\"THQgMC\":[\"To mark this document as viewed, you need to be logged in as <0>\",[\"0\"],\"\"],\"jlBOs+\":\"To view this document you need to be signed into your account, please sign in to continue.\",\"Tkvndv\":\"Toggle the switch to hide your profile from the public.\",\"X3Df6T\":\"Toggle the switch to show your profile to the public.\",\"TP9/K5\":\"Token\",\"SWyfbd\":\"Token copied to clipboard\",\"OBjhQ4\":\"Token created\",\"B5MBOV\":\"Token deleted\",\"nwwDj8\":\"Token doesn't have an expiration date\",\"v/TQsS\":\"Token expiration date\",\"SKZhW9\":\"Token name\",\"/mWwgA\":\"Total Documents\",\"dKGGPw\":\"Total Recipients\",\"WLfBMX\":\"Total Signers that Signed Up\",\"vb0Q0/\":\"Total Users\",\"PsdN6O\":\"Transfer ownership of this team to a selected team member.\",\"OOrbmP\":\"Transfer team\",\"TAB7/M\":\"Transfer the ownership of the team to another team member.\",\"34nxyb\":\"Triggers\",\"0s6zAM\":\"Two factor authentication\",\"rkM+2p\":\"Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app.\",\"C4pKXW\":\"Two-Factor Authentication\",\"NwChk2\":\"Two-factor authentication disabled\",\"qwpE/S\":\"Two-factor authentication enabled\",\"Rirbh5\":\"Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in.\",\"+zy2Nq\":\"Type\",\"fn5guJ\":\"Type 'delete' to confirm\",\"aLB9e4\":\"Type a command or search...\",\"NKs0zG\":\"Uh oh! Looks like you're missing a token\",\"syy3Gt\":\"Unable to copy recovery code\",\"CRCTCg\":\"Unable to copy token\",\"IFfB53\":\"Unable to create direct template access. Please try again later.\",\"gVlUC8\":\"Unable to decline this team invitation at this time.\",\"Y+wsI7\":\"Unable to delete invitation. Please try again.\",\"UCeveL\":\"Unable to delete team\",\"wp9XuY\":\"Unable to disable two-factor authentication\",\"kIV9PR\":\"Unable to join this team at this time.\",\"KFBm7R\":\"Unable to load document history\",\"NodEs1\":\"Unable to load your public profile templates at this time\",\"vklymD\":\"Unable to remove email verification at this time. Please try again.\",\"w8n1+z\":\"Unable to remove team email at this time. Please try again.\",\"akFhsV\":\"Unable to resend invitation. Please try again.\",\"JQLFI3\":\"Unable to resend verification at this time. Please try again.\",\"jLtRR6\":\"Unable to reset password\",\"QtkcKO\":\"Unable to setup two-factor authentication\",\"N1m2oU\":\"Unable to sign in\",\"dA/8If\":\"Unauthorized\",\"9zMI6W\":\"Uncompleted\",\"29VNqC\":\"Unknown error\",\"7yiFvZ\":\"Unpaid\",\"EkH9pt\":\"Update\",\"CVGIOg\":\"Update Banner\",\"MSfA8z\":\"Update passkey\",\"Q3MPWA\":\"Update password\",\"vXPSuB\":\"Update profile\",\"ih1ndv\":\"Update Recipient\",\"5bRMKt\":\"Update role\",\"qg6EfE\":\"Update team\",\"V8JgFA\":\"Update team email\",\"DDP/NH\":\"Update team member\",\"KAyssy\":\"Update user\",\"iFdgvQ\":\"Update webhook\",\"2uDkRs\":\"Updating password...\",\"6JH8iK\":\"Updating profile...\",\"jUV7CU\":\"Upload Avatar\",\"2npSeV\":\"Uploaded by\",\"bM+XCB\":\"Uploaded file is too large\",\"fXh9EJ\":\"Uploaded file is too small\",\"mnNw0z\":\"Uploaded file not an allowed file type\",\"5UWfU/\":\"Use Authenticator\",\"VLViRK\":\"Use Backup Code\",\"NUXH2v\":\"Use Template\",\"7PzzBU\":\"User\",\"GjhOGB\":\"User ID\",\"DgDMhU\":\"User profiles are here!\",\"lcDO4m\":\"User settings\",\"Sxm8rQ\":\"Users\",\"wMHvYH\":\"Value\",\"BGWaEQ\":\"Verification Email Sent\",\"XZQ6rx\":\"Verification email sent successfully.\",\"ZqWgxB\":\"Verify Now\",\"kuvvht\":\"Verify your email address\",\"c9ZsJU\":\"Verify your email address to unlock all features.\",\"OUPY2G\":\"Verify your email to upload documents.\",\"jpctdh\":\"View\",\"c3aao/\":\"View activity\",\"pTCu0c\":\"View all documents sent to your account\",\"F8qz8t\":\"View all recent security activity related to your account.\",\"t3iQF8\":\"View all security activity related to your account.\",\"t5bHu+\":\"View Codes\",\"Opb2rO\":\"View documents associated with this email\",\"FbRyw+\":\"View invites\",\"kGkM7n\":\"View Original Document\",\"z0hW8A\":\"View Recovery Codes\",\"+SRqZk\":\"View teams\",\"vXtpAZ\":\"Viewed\",\"uUehLT\":\"Waiting\",\"p5sNpe\":\"Waiting for others to sign\",\"CLj7L4\":\"Want to send slick signing links like this one? <0>Check out Documenso.\",\"AVOxgl\":\"Want your own public profile?\",\"bJajhk\":\"We are unable to proceed to the billing portal at this time. Please try again, or contact support.\",\"mrAou1\":\"We are unable to remove this passkey at the moment. Please try again later.\",\"PVmZRU\":\"We are unable to update this passkey at the moment. Please try again later.\",\"4CEdkv\":\"We encountered an error while removing the direct template link. Please try again later.\",\"9dCMy6\":\"We encountered an error while updating the webhook. Please try again later.\",\"/666TS\":\"We encountered an unknown error while attempting create the new token. Please try again later.\",\"ghtOmL\":\"We encountered an unknown error while attempting to add this email. Please try again later.\",\"Z3g6da\":\"We encountered an unknown error while attempting to create a team. Please try again later.\",\"5jf+Ky\":\"We encountered an unknown error while attempting to delete it. Please try again later.\",\"BYsCZ0\":\"We encountered an unknown error while attempting to delete the pending team. Please try again later.\",\"X1sSV9\":\"We encountered an unknown error while attempting to delete this team. Please try again later.\",\"kQiucd\":\"We encountered an unknown error while attempting to delete this token. Please try again later.\",\"QbeZrm\":\"We encountered an unknown error while attempting to delete your account. Please try again later.\",\"RFJXMf\":\"We encountered an unknown error while attempting to invite team members. Please try again later.\",\"NOJmg5\":\"We encountered an unknown error while attempting to leave this team. Please try again later.\",\"p1cQqG\":\"We encountered an unknown error while attempting to remove this template from your profile. Please try again later.\",\"dWt6qq\":\"We encountered an unknown error while attempting to remove this transfer. Please try again or contact support.\",\"Bf8/oy\":\"We encountered an unknown error while attempting to remove this user. Please try again later.\",\"+dHRXe\":\"We encountered an unknown error while attempting to request a transfer of this team. Please try again later.\",\"zKkKFY\":\"We encountered an unknown error while attempting to reset your password. Please try again later.\",\"jMJahr\":\"We encountered an unknown error while attempting to revoke access. Please try again or contact support.\",\"v7NHq3\":\"We encountered an unknown error while attempting to save your details. Please try again later.\",\"H2R2SX\":\"We encountered an unknown error while attempting to sign you In. Please try again later.\",\"lFQvqg\":\"We encountered an unknown error while attempting to sign you up. Please try again later.\",\"tIdO3I\":\"We encountered an unknown error while attempting to sign you Up. Please try again later.\",\"s7WVvm\":\"We encountered an unknown error while attempting to update the avatar. Please try again later.\",\"t2qome\":\"We encountered an unknown error while attempting to update the banner. Please try again later.\",\"KRW9aV\":\"We encountered an unknown error while attempting to update the template. Please try again later.\",\"jSzwNQ\":\"We encountered an unknown error while attempting to update this team member. Please try again later.\",\"ZAGznT\":\"We encountered an unknown error while attempting to update your password. Please try again later.\",\"/YgkWz\":\"We encountered an unknown error while attempting to update your public profile. Please try again later.\",\"PgR2KT\":\"We encountered an unknown error while attempting to update your team. Please try again later.\",\"Fkk/tM\":\"We encountered an unknown error while attempting update the team email. Please try again later.\",\"XdaMt1\":\"We have sent a confirmation email for verification.\",\"Z/3o7q\":\"We were unable to copy the token to your clipboard. Please try again.\",\"/f76sW\":\"We were unable to copy your recovery code to your clipboard. Please try again.\",\"5Elc4g\":\"We were unable to create a checkout session. Please try again, or contact support\",\"bw0W5A\":\"We were unable to disable two-factor authentication for your account. Please ensure that you have entered your password and backup code correctly and try again.\",\"Ckd2da\":\"We were unable to log you out at this time.\",\"PGrghQ\":\"We were unable to set your public profile to public. Please try again.\",\"I8Rr9j\":\"We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again.\",\"/Ez2eA\":\"We were unable to submit this document at this time. Please try again later.\",\"zfClNd\":\"We were unable to verify your details. Please try again or contact support\",\"791g1I\":\"We were unable to verify your email. If your email is not verified already, please try again.\",\"xxInDV\":\"We're all empty\",\"lgW1qG\":[\"We've sent a confirmation email to <0>\",[\"email\"],\". Please check your inbox and click the link in the email to verify your account.\"],\"an6ayw\":\"Webhook created\",\"LnaC5y\":\"Webhook deleted\",\"kxZ7LS\":\"Webhook updated\",\"nuh/Wq\":\"Webhook URL\",\"v1kQyJ\":\"Webhooks\",\"4XSc4l\":\"Weekly\",\"nx8adn\":\"Welcome back, we are lucky to have you.\",\"v+iPzY\":\"When you click continue, you will be prompted to add the first available authenticator on your system.\",\"ks103z\":\"While waiting for them to do so you can create your own Documenso account and get started with document signing right away.\",\"gW6iyU\":\"Who do you want to remind?\",\"WCtNlH\":\"Write about the team\",\"RB+i+e\":\"Write about yourself\",\"zkWmBh\":\"Yearly\",\"kWJmRL\":\"You\",\"H0+WHg\":[\"You are about to complete approving \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"kzE21T\":[\"You are about to complete signing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"9AVWSg\":[\"You are about to complete viewing \\\"\",[\"truncatedTitle\"],\"\\\".<0/> Are you sure?\"],\"wPAx3W\":[\"You are about to delete <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"bnSqz9\":[\"You are about to delete the following team email from <0>\",[\"teamName\"],\".\"],\"5K1f43\":[\"You are about to hide <0>\\\"\",[\"documentTitle\"],\"\\\"\"],\"Z7Zba7\":\"You are about to leave the following team.\",\"w4DsUu\":[\"You are about to remove the following user from <0>\",[\"teamName\"],\".\"],\"3TbP+M\":[\"You are about to revoke access for team <0>\",[\"0\"],\" (\",[\"1\"],\") to use your email.\"],\"km5WYz\":\"You are currently on the <0>Free Plan.\",\"lS8/qb\":[\"You are currently subscribed to <0>\",[\"0\"],\"\"],\"vELAGq\":[\"You are currently updating <0>\",[\"teamMemberName\"],\".\"],\"9Vb1lk\":[\"You are currently updating the <0>\",[\"passkeyName\"],\" passkey.\"],\"fE9efX\":\"You are not authorized to view this page.\",\"xGF8ow\":\"You can choose to enable or disable your profile for public view.\",\"knayUe\":\"You can choose to enable or disable your team profile for public view.\",\"6RWhw7\":\"You can claim your profile later on by going to your profile settings!\",\"wvsTRr\":\"You can update the profile URL by updating the team URL in the general settings page.\",\"MfJtjp\":\"You can view documents associated with this email and use this identity when sending documents.\",\"q1+l2h\":[\"You cannot have more than \",[\"MAXIMUM_PASSKEYS\"],\" passkeys.\"],\"Nv8I50\":\"You cannot modify a team member who has a higher role than you.\",\"tBM5rt\":\"You cannot upload encrypted PDFs\",\"uPZVOC\":\"You currently have an active plan\",\"vGmUyC\":\"You do not currently have a customer record, this should not happen. Please contact support for assistance.\",\"COkiAI\":[\"You have accepted an invitation from <0>\",[\"0\"],\" to join their team.\"],\"XJ/LXV\":[\"You have already completed the ownership transfer for <0>\",[\"0\"],\".\"],\"udOfln\":[\"You have already verified your email address for <0>\",[\"0\"],\".\"],\"rawUsl\":[\"You have been invited by <0>\",[\"0\"],\" to join their team.\"],\"C5iBwQ\":[\"You have declined the invitation from <0>\",[\"0\"],\" to join their team.\"],\"9vc55I\":\"You have no webhooks yet. Your webhooks will be shown here once you create them.\",\"MWXNow\":\"You have not yet created any templates. To create a template please upload one.\",\"qJTcfP\":\"You have not yet created or received any documents. To create a document please upload one.\",\"yvV4GX\":[\"You have reached the maximum limit of \",[\"0\"],\" direct templates. <0>Upgrade your account to continue!\"],\"m5RA9C\":\"You have reached your document limit.\",\"K/3HUN\":\"You have reached your document limit. <0>Upgrade your account to continue!\",\"dURxlX\":\"You have successfully left this team.\",\"vi6pfe\":\"You have successfully registered. Please verify your account by clicking on the link you received in the email.\",\"B5Ovxs\":\"You have successfully removed this user from the team.\",\"PIl3Hg\":\"You have successfully revoked access.\",\"Z1UZXO\":[\"You have updated \",[\"teamMemberName\"],\".\"],\"tD6Cj2\":[\"You have verified your email address for <0>\",[\"0\"],\".\"],\"pNlz0U\":\"You must be an admin of this team to manage billing.\",\"xIaz3h\":\"You must enter {confirmTransferMessage} to proceed\",\"OGT1bh\":\"You must enter {deleteMessage} to proceed\",\"jifgCp\":\"You must have at least one other team member to transfer ownership.\",\"ID3LkG\":\"You must set a profile URL before enabling your public profile.\",\"zfliFq\":[\"You need to be logged in as <0>\",[\"email\"],\" to view this page.\"],\"1et3k8\":\"You need to be logged in to view this page.\",\"ZR9lKP\":\"You need to setup 2FA to mark this document as viewed.\",\"tKEndc\":\"You will get notified & be able to set up your documenso public profile when we launch the feature.\",\"MBzXsC\":\"You will now be required to enter a code from your authenticator app when signing in.\",\"eWlnaX\":\"You will receive an Email copy of the signed document once everyone has signed.\",\"gmJH7Y\":\"Your account has been deleted successfully.\",\"YL3Iyk\":\"Your avatar has been updated successfully.\",\"c4qhbN\":\"Your banner has been updated successfully.\",\"+Ljs6n\":\"Your current plan is past due. Please update your payment information.\",\"5s2EJQ\":\"Your direct signing templates\",\"pj2JS8\":\"Your document failed to upload.\",\"DIplUX\":\"Your document has been created from the template successfully.\",\"iz6qAJ\":\"Your document has been re-sent successfully.\",\"0KIVTr\":\"Your document has been sent successfully.\",\"vbvBKY\":\"Your document has been successfully duplicated.\",\"TqcK/s\":\"Your document has been uploaded successfully.\",\"xEM9BR\":\"Your document has been uploaded successfully. You will be redirected to the template page.\",\"F2NQI1\":\"Your documents\",\"JQbHxK\":\"Your email has been successfully confirmed! You can now use all features of Documenso.\",\"pSDzas\":[\"Your email is currently being used by team <0>\",[\"0\"],\" (\",[\"1\"],\").\"],\"K6mQ0w\":\"Your existing tokens\",\"Ecp9Z/\":\"Your password has been updated successfully.\",\"/tDdSk\":\"Your payment for teams is overdue. Please settle the payment to avoid any service disruptions.\",\"R+Yx9f\":\"Your profile has been updated successfully.\",\"skqRDH\":\"Your profile has been updated.\",\"kF7YFF\":\"Your public profile has been updated.\",\"XnIGua\":\"Your recovery code has been copied to your clipboard.\",\"/N3QQp\":\"Your recovery codes are listed below. Please store them in a safe place.\",\"o9X4Qf\":\"Your subscription is currently active.\",\"+fTW4I\":\"Your team has been created.\",\"DCGKPd\":\"Your team has been successfully deleted.\",\"7rm0si\":\"Your team has been successfully updated.\",\"icNCVp\":\"Your template has been duplicated successfully.\",\"juxjhy\":\"Your template has been successfully deleted.\",\"BHaG+M\":\"Your template will be duplicated.\",\"WQkZGA\":\"Your templates has been saved successfully.\",\"4OcZNw\":\"Your token has expired!\",\"stera3\":\"Your token was created successfully! Make sure to copy it because you won't be able to see it again!\",\"R5j6t5\":\"Your tokens will be shown here once you create them.\",\"73XXzw\":[[\"0\"],\" of \",[\"1\"],\" row(s) selected.\"],\"lZ4w45\":[[\"visibleRows\",\"plural\",{\"one\":[\"Showing \",\"#\",\" result.\"],\"other\":[\"Showing \",\"#\",\" results.\"]}]],\"AhYxw5\":\"<0>Inherit authentication method - Use the global action signing authentication method configured in the \\\"General Settings\\\" step\",\"OepImG\":\"<0>No restrictions - No authentication required\",\"07+JZ2\":\"<0>No restrictions - The document can be accessed directly by the URL sent to the recipient\",\"jx/lwn\":\"<0>None - No authentication required\",\"CUT3u1\":\"<0>Require 2FA - The recipient must have an account and 2FA enabled via their settings\",\"2PbD3D\":\"<0>Require account - The recipient must be signed in to view the document\",\"QHSbey\":\"<0>Require passkey - The recipient must have an account and passkey configured via their settings\",\"Oy5nEc\":\"Add a document\",\"7Pz5x5\":\"Add a URL to redirect the user to once the document is signed\",\"aILOUH\":\"Add an external ID to the document. This can be used to identify the document in external systems.\",\"bK1dPK\":\"Add an external ID to the template. This can be used to identify in external systems.\",\"nnZ1Sa\":\"Add another option\",\"0/UVRw\":\"Add another value\",\"VaCh6w\":\"Add myself\",\"jAa/lz\":\"Add Myself\",\"29QK6H\":\"Add Placeholder Recipient\",\"vcxlzZ\":\"Add Signer\",\"7F2ltK\":\"Add text to the field\",\"U3pytU\":\"Admin\",\"NFIOKv\":\"Advanced Options\",\"VNgKZz\":\"Advanced settings\",\"bNUpvl\":\"After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email.\",\"ca9AbO\":\"Approver\",\"j2Uisd\":\"Approving\",\"brJrDl\":\"Cannot remove signer\",\"RpYfjZ\":\"Cc\",\"XdZeJk\":\"CC\",\"nrL/ZD\":\"CC'd\",\"EEk+d0\":\"Character Limit\",\"G1XxbZ\":\"Checkbox\",\"wbixMe\":\"Checkbox values\",\"u8JHrO\":\"Clear filters\",\"IqxkER\":\"Clear Signature\",\"OrcxNk\":\"Configure Direct Recipient\",\"92KLYs\":[\"Configure the \",[\"0\"],\" field\"],\"GB2F11\":\"Custom Text\",\"4BHv90\":\"Date Format\",\"NLXhq7\":\"Direct link receiver\",\"YScG1E\":\"Document access\",\"rAqi0g\":\"Document Creation\",\"6GyScL\":\"Drag & drop your PDF here.\",\"iKQcPM\":\"Dropdown\",\"XXvhMd\":\"Dropdown options\",\"XLpxoj\":\"Email Options\",\"f7sXvi\":\"Enter password\",\"5KfWxA\":\"External ID\",\"4CP+OV\":\"Failed to save settings.\",\"LK3SFK\":\"Field character limit\",\"NYkIsf\":\"Field format\",\"X6Tb6Q\":\"Field label\",\"NaVkSD\":\"Field placeholder\",\"N1UTWT\":\"Global recipient action authentication\",\"uCroPU\":\"I am a signer of this document\",\"K6KTX2\":\"I am a viewer of this document\",\"ngj5km\":\"I am an approver of this document\",\"JUZIGu\":\"I am required to receive a copy of this document\",\"ZjDoG7\":\"I am required to recieve a copy of this document\",\"fnbcC0\":\"Inherit authentication method\",\"87a/t/\":\"Label\",\"dtOoGl\":\"Manager\",\"CK1KXz\":\"Max\",\"OvoEq7\":\"Member\",\"ziXm9u\":\"Message <0>(Optional)\",\"eTUF28\":\"Min\",\"4nqUV0\":\"Needs to approve\",\"lNQBPg\":\"Needs to sign\",\"eUAUyG\":\"Needs to view\",\"GBIRGD\":\"No recipient matching this description was found.\",\"f34Qxi\":\"No recipients with this role\",\"qQ7oqE\":\"No restrictions\",\"AxPAXW\":\"No results found\",\"pt86ev\":\"No signature field found\",\"HptUxX\":\"Number\",\"bR2sEm\":\"Number format\",\"eY6ns+\":\"Once enabled, you can select any active recipient to be a direct link signing recipient, or create a new one. This recipient type cannot be edited or deleted.\",\"JE2qy+\":\"Once your template is set up, share the link anywhere you want. The person who opens the link will be able to enter their information in the direct link recipient field and complete any other fields assigned to them.\",\"fpzyLj\":[\"Page \",[\"0\"],\" of \",[\"1\"]],\"8ltyoa\":\"Password Required\",\"ayaTI6\":\"Pick a number\",\"hx1ePY\":\"Placeholder\",\"MtkqZc\":\"Radio\",\"5cEi0C\":\"Radio values\",\"uNQ6eB\":\"Read only\",\"UTnF5X\":\"Receives copy\",\"ZIuo5V\":\"Recipient action authentication\",\"VTB2Rz\":\"Redirect URL\",\"8dg+Yo\":\"Required field\",\"xxCtZv\":\"Rows per page\",\"9Y3hAT\":\"Save Template\",\"hVPa4O\":\"Select an option\",\"IM+vrQ\":\"Select at least\",\"Gve6FG\":\"Select default option\",\"JlFcis\":\"Send\",\"AEV4wo\":\"Send Document\",\"iE3nGO\":\"Share Signature Card\",\"y+hKWu\":\"Share the Link\",\"ydZ6yi\":\"Show advanced settings\",\"jTCAGu\":\"Signer\",\"6G8s+q\":\"Signing\",\"kW2h2Z\":\"Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding.\",\"kf83Ld\":\"Something went wrong.\",\"WlBiWh\":[\"Step <0>\",[\"step\"],\" of \",[\"maxStep\"],\"\"],\"ki77Td\":\"Subject <0>(Optional)\",\"hQRttt\":\"Submit\",\"URdrTr\":\"Template title\",\"xeiujy\":\"Text\",\"imClgr\":\"The authentication required for recipients to sign fields\",\"yyD2dE\":\"The authentication required for recipients to sign the signature field.\",\"GtDmLf\":\"The authentication required for recipients to view the document.\",\"zAoaPB\":\"The document's name\",\"Ev3GOS\":\"The password you have entered is incorrect. Please try again.\",\"OPnnb6\":\"The recipient is not required to take any action and receives a copy of the document after it is completed.\",\"v8p6Mb\":\"The recipient is required to approve the document for it to be completed.\",\"CPv0TB\":\"The recipient is required to sign the document for it to be completed.\",\"oIvIfH\":\"The recipient is required to view the document for it to be completed.\",\"Br2bvS\":\"The sharing link could not be created at this time. Please try again.\",\"XJIzqY\":\"The sharing link has been copied to your clipboard.\",\"UyM8/E\":\"The signer's email\",\"zHJ+vk\":\"The signer's name\",\"kaEF2i\":\"This can be overriden by setting the authentication requirements directly on each recipient in the next step.\",\"QUZVfd\":\"This document has already been sent to this recipient. You can no longer edit this recipient.\",\"riNGUC\":\"This document is password protected. Please enter the password to view the document.\",\"Qkeh+t\":\"This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them.\",\"l2Xt6u\":\"This signer has already received the document.\",\"6iFh5a\":\"This will override any global settings.\",\"RxsRD6\":\"Time Zone\",\"UWmOq4\":[\"To proceed further, please set at least one value for the \",[\"0\"],\" field.\"],\"GT+2nz\":\"Update the role and add fields as required for the direct recipient. The individual who uses the direct link will sign the document as the direct recipient.\",\"kwkhPe\":\"Upgrade\",\"06fEqf\":\"Upload Template Document\",\"lGWE4b\":\"Validation\",\"M/TIv1\":\"Viewer\",\"RVWz5F\":\"Viewing\",\"4/hUq0\":\"You are about to send this document to the recipients. Are you sure you want to continue?\",\"rb/T41\":\"You can use the following variables in your message:\",\"9+Ph0R\":\"You cannot upload documents at this time.\"}")}; \ No newline at end of file diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index dbd3d8a4a..0e61a2165 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -21,15 +21,15 @@ msgstr "\"{0}\" will appear on the document as it has a timezone of \"{timezone} msgid "\"{documentTitle}\" has been successfully deleted" msgstr "\"{documentTitle}\" has been successfully deleted" -#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:75 +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:76 msgid "({0}) has invited you to approve this document" msgstr "({0}) has invited you to approve this document" -#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:72 +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:73 msgid "({0}) has invited you to sign this document" msgstr "({0}) has invited you to sign this document" -#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:69 +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:70 msgid "({0}) has invited you to view this document" msgstr "({0}) has invited you to view this document" @@ -495,11 +495,11 @@ msgstr "An error occurred while uploading your document." #: apps/web/src/components/forms/public-profile-claim-dialog.tsx:113 #: apps/web/src/components/forms/public-profile-form.tsx:104 #: apps/web/src/components/forms/reset-password.tsx:87 -#: apps/web/src/components/forms/signin.tsx:230 -#: apps/web/src/components/forms/signin.tsx:238 -#: apps/web/src/components/forms/signin.tsx:252 -#: apps/web/src/components/forms/signin.tsx:265 -#: apps/web/src/components/forms/signin.tsx:279 +#: apps/web/src/components/forms/signin.tsx:248 +#: apps/web/src/components/forms/signin.tsx:256 +#: apps/web/src/components/forms/signin.tsx:270 +#: apps/web/src/components/forms/signin.tsx:285 +#: apps/web/src/components/forms/signin.tsx:301 #: apps/web/src/components/forms/signup.tsx:113 #: apps/web/src/components/forms/signup.tsx:128 #: apps/web/src/components/forms/signup.tsx:142 @@ -603,7 +603,7 @@ msgid "Background Color" msgstr "Background Color" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:167 -#: apps/web/src/components/forms/signin.tsx:451 +#: apps/web/src/components/forms/signin.tsx:473 msgid "Backup Code" msgstr "Backup Code" @@ -747,6 +747,8 @@ msgstr "Click to copy signing link for sending to recipient" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:107 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:312 msgid "Click to insert field" msgstr "Click to insert field" @@ -763,6 +765,8 @@ msgid "Close" msgstr "Close" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:58 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:302 #: apps/web/src/components/forms/v2/signup.tsx:522 msgid "Complete" msgstr "Complete" @@ -1193,6 +1197,10 @@ msgstr "Document Cancelled" msgid "Document completed" msgstr "Document completed" +#: apps/web/src/app/embed/completed.tsx:16 +msgid "Document Completed!" +msgstr "Document Completed!" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:142 msgid "Document created" msgstr "Document created" @@ -1384,11 +1392,13 @@ msgstr "Edit webhook" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:254 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 #: apps/web/src/components/forms/profile.tsx:122 -#: apps/web/src/components/forms/signin.tsx:304 +#: apps/web/src/components/forms/signin.tsx:326 #: apps/web/src/components/forms/signup.tsx:180 msgid "Email" msgstr "Email" @@ -1552,12 +1562,14 @@ msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgstr "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 -#: apps/web/src/components/forms/signin.tsx:336 +#: apps/web/src/components/forms/signin.tsx:358 msgid "Forgot your password?" msgstr "Forgot your password?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:239 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:300 msgid "Full Name" @@ -1995,6 +2007,8 @@ msgstr "New team owner" msgid "New Template" msgstr "New Template" +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:293 #: apps/web/src/components/forms/v2/signup.tsx:509 msgid "Next" msgstr "Next" @@ -2048,7 +2062,7 @@ msgstr "No value found." msgid "No worries, it happens! Enter your email and we'll email you a special link to reset your password." msgstr "No worries, it happens! Enter your email and we'll email you a special link to reset your password." -#: apps/web/src/components/forms/signin.tsx:142 +#: apps/web/src/components/forms/signin.tsx:160 msgid "Not supported" msgstr "Not supported" @@ -2106,7 +2120,7 @@ msgstr "Opened" msgid "Or" msgstr "Or" -#: apps/web/src/components/forms/signin.tsx:356 +#: apps/web/src/components/forms/signin.tsx:378 msgid "Or continue with" msgstr "Or continue with" @@ -2123,7 +2137,7 @@ msgstr "Owner" msgid "Paid" msgstr "Paid" -#: apps/web/src/components/forms/signin.tsx:401 +#: apps/web/src/components/forms/signin.tsx:423 msgid "Passkey" msgstr "Passkey" @@ -2156,14 +2170,14 @@ msgstr "Passkeys" msgid "Passkeys allow you to sign in and authenticate using biometrics, password managers, etc." msgstr "Passkeys allow you to sign in and authenticate using biometrics, password managers, etc." -#: apps/web/src/components/forms/signin.tsx:143 +#: apps/web/src/components/forms/signin.tsx:161 msgid "Passkeys are not supported on this browser" msgstr "Passkeys are not supported on this browser" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:65 #: apps/web/src/components/forms/password.tsx:123 #: apps/web/src/components/forms/reset-password.tsx:110 -#: apps/web/src/components/forms/signin.tsx:322 +#: apps/web/src/components/forms/signin.tsx:344 #: apps/web/src/components/forms/signup.tsx:196 #: apps/web/src/components/forms/v2/signup.tsx:332 msgid "Password" @@ -2286,7 +2300,7 @@ msgstr "Please provide a token from your authenticator, or a backup code." msgid "Please try again and make sure you enter the correct email address." msgstr "Please try again and make sure you enter the correct email address." -#: apps/web/src/components/forms/signin.tsx:185 +#: apps/web/src/components/forms/signin.tsx:203 msgid "Please try again later or login using your normal details" msgstr "Please try again later or login using your normal details" @@ -2696,6 +2710,11 @@ msgstr "Sign as {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Sign as<0>{0} <1>({1})" +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:207 +msgid "Sign document" +msgstr "Sign document" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" msgstr "Sign field" @@ -2706,8 +2725,8 @@ msgid "Sign Here" msgstr "Sign Here" #: apps/web/src/app/not-found.tsx:29 -#: apps/web/src/components/forms/signin.tsx:349 -#: apps/web/src/components/forms/signin.tsx:476 +#: apps/web/src/components/forms/signin.tsx:371 +#: apps/web/src/components/forms/signin.tsx:498 msgid "Sign In" msgstr "Sign In" @@ -2720,6 +2739,11 @@ msgstr "Sign in to your account" msgid "Sign Out" msgstr "Sign Out" +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:228 +msgid "Sign the document to complete the process." +msgstr "Sign the document to complete the process." + #: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:72 msgid "Sign up" msgstr "Sign up" @@ -2742,6 +2766,8 @@ msgstr "Sign Up with OIDC" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:197 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:227 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:268 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Signature" @@ -2758,8 +2784,8 @@ msgstr "Signatures will appear once the document has been completed" msgid "Signed" msgstr "Signed" -#: apps/web/src/components/forms/signin.tsx:349 -#: apps/web/src/components/forms/signin.tsx:476 +#: apps/web/src/components/forms/signin.tsx:371 +#: apps/web/src/components/forms/signin.tsx:498 msgid "Signing in..." msgstr "Signing in..." @@ -2808,6 +2834,8 @@ msgstr "Site Settings" #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39 #: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:123 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210 @@ -3101,6 +3129,10 @@ msgstr "The direct link has been copied to your clipboard" msgid "The document has been successfully moved to the selected team." msgstr "The document has been successfully moved to the selected team." +#: apps/web/src/app/embed/completed.tsx:29 +msgid "The document is now completed, please follow any instructions provided within the parent application." +msgstr "The document is now completed, please follow any instructions provided within the parent application." + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:159 msgid "The document was created but could not be sent to recipients." msgstr "The document was created but could not be sent to recipients." @@ -3276,7 +3308,7 @@ msgstr "This link is invalid or has expired. Please contact your team to resend msgid "This passkey has already been registered." msgstr "This passkey has already been registered." -#: apps/web/src/components/forms/signin.tsx:182 +#: apps/web/src/components/forms/signin.tsx:200 msgid "This passkey is not configured for this application. Please login and add one in the user settings." msgstr "This passkey is not configured for this application. Please login and add one in the user settings." @@ -3284,7 +3316,7 @@ msgstr "This passkey is not configured for this application. Please login and ad msgid "This price includes minimum 5 seats." msgstr "This price includes minimum 5 seats." -#: apps/web/src/components/forms/signin.tsx:184 +#: apps/web/src/components/forms/signin.tsx:202 msgid "This session has expired. Please try again." msgstr "This session has expired. Please try again." @@ -3363,6 +3395,10 @@ msgstr "To gain access to your account, please confirm your email address by cli msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "To mark this document as viewed, you need to be logged in as <0>{0}" +#: apps/web/src/app/embed/authenticate.tsx:21 +msgid "To view this document you need to be signed into your account, please sign in to continue." +msgstr "To view this document you need to be signed into your account, please sign in to continue." + #: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:178 msgid "Toggle the switch to hide your profile from the public." msgstr "Toggle the switch to hide your profile from the public." @@ -3444,7 +3480,7 @@ msgstr "Two factor authentication" msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." msgstr "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." -#: apps/web/src/components/forms/signin.tsx:414 +#: apps/web/src/components/forms/signin.tsx:436 msgid "Two-Factor Authentication" msgstr "Two-Factor Authentication" @@ -3543,8 +3579,8 @@ msgstr "Unable to reset password" msgid "Unable to setup two-factor authentication" msgstr "Unable to setup two-factor authentication" -#: apps/web/src/components/forms/signin.tsx:229 -#: apps/web/src/components/forms/signin.tsx:237 +#: apps/web/src/components/forms/signin.tsx:247 +#: apps/web/src/components/forms/signin.tsx:255 msgid "Unable to sign in" msgstr "Unable to sign in" @@ -3650,12 +3686,12 @@ msgid "Uploaded file not an allowed file type" msgstr "Uploaded file not an allowed file type" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187 -#: apps/web/src/components/forms/signin.tsx:471 +#: apps/web/src/components/forms/signin.tsx:493 msgid "Use Authenticator" msgstr "Use Authenticator" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:185 -#: apps/web/src/components/forms/signin.tsx:469 +#: apps/web/src/components/forms/signin.tsx:491 msgid "Use Backup Code" msgstr "Use Backup Code" @@ -3874,9 +3910,9 @@ msgid "We encountered an unknown error while attempting to save your details. Pl msgstr "We encountered an unknown error while attempting to save your details. Please try again later." #: apps/web/src/components/forms/profile.tsx:89 -#: apps/web/src/components/forms/signin.tsx:254 -#: apps/web/src/components/forms/signin.tsx:267 -#: apps/web/src/components/forms/signin.tsx:281 +#: apps/web/src/components/forms/signin.tsx:272 +#: apps/web/src/components/forms/signin.tsx:287 +#: apps/web/src/components/forms/signin.tsx:303 msgid "We encountered an unknown error while attempting to sign you In. Please try again later." msgstr "We encountered an unknown error while attempting to sign you In. Please try again later." @@ -3960,6 +3996,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas msgstr "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again." #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:119 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125 msgid "We were unable to submit this document at this time. Please try again later." msgstr "We were unable to submit this document at this time. Please try again later." diff --git a/packages/ui/components/signing-card.tsx b/packages/ui/components/signing-card.tsx index cda0c31c3..092bdb29c 100644 --- a/packages/ui/components/signing-card.tsx +++ b/packages/ui/components/signing-card.tsx @@ -241,6 +241,7 @@ const SigningCardImage = ({ signingCelebrationImage }: SigningCardImageProps) => mask: 'radial-gradient(rgba(255, 255, 255, 1) 0%, transparent 67%)', WebkitMask: 'radial-gradient(rgba(255, 255, 255, 1) 0%, transparent 67%)', }} + priority /> ); From 921617b9053b947c96b25d808851717e79cf5c65 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 5 Sep 2024 10:46:23 +1000 Subject: [PATCH 07/11] v1.7.0-rc.4 --- apps/marketing/package.json | 4 ++-- apps/web/package.json | 4 ++-- package-lock.json | 8 ++++---- package.json | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/marketing/package.json b/apps/marketing/package.json index 20b8741a9..7614cacdc 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/marketing", - "version": "1.7.0-rc.3", + "version": "1.7.0-rc.4", "private": true, "license": "AGPL-3.0", "scripts": { @@ -56,4 +56,4 @@ "@types/react": "^18", "@types/react-dom": "^18" } -} \ No newline at end of file +} diff --git a/apps/web/package.json b/apps/web/package.json index 59e01284f..6e22214ca 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/web", - "version": "1.7.0-rc.3", + "version": "1.7.0-rc.4", "private": true, "license": "AGPL-3.0", "scripts": { @@ -74,4 +74,4 @@ "@types/ua-parser-js": "^0.7.39", "typescript": "5.2.2" } -} \ No newline at end of file +} diff --git a/package-lock.json b/package-lock.json index b54427a9e..9bae68b33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "1.7.0-rc.3", + "version": "1.7.0-rc.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "1.7.0-rc.3", + "version": "1.7.0-rc.4", "workspaces": [ "apps/*", "packages/*" @@ -80,7 +80,7 @@ }, "apps/marketing": { "name": "@documenso/marketing", - "version": "1.7.0-rc.3", + "version": "1.7.0-rc.4", "license": "AGPL-3.0", "dependencies": { "@documenso/assets": "*", @@ -424,7 +424,7 @@ }, "apps/web": { "name": "@documenso/web", - "version": "1.7.0-rc.3", + "version": "1.7.0-rc.4", "license": "AGPL-3.0", "dependencies": { "@documenso/api": "*", diff --git a/package.json b/package.json index 14162bcc4..b828a858b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.7.0-rc.3", + "version": "1.7.0-rc.4", "scripts": { "build": "turbo run build", "build:web": "turbo run build --filter=@documenso/web", @@ -74,4 +74,4 @@ "trigger.dev": { "endpointId": "documenso-app" } -} \ No newline at end of file +} From ad4cff937d3118f1b36d1a52fca0723caaaab540 Mon Sep 17 00:00:00 2001 From: Etrenak <21969306+Etrenak@users.noreply.github.com> Date: Thu, 5 Sep 2024 06:10:17 +0200 Subject: [PATCH 08/11] fix: show the existing field meta when editing a template fields (#1323) Fixes #1259. I literally just used the exact same line of code than from the document page so it is consistent. The bug is extremely frustrating because if you make change to the fields meta on the template and refresh the page, you can't see field meta (label, default value, required), and neither do your co-workers. Of course, I tested the change and it now displays correctly the existing field meta on the template page. --- packages/lib/translations/de/common.po | 28 +++++++++---------- packages/lib/translations/en/common.po | 28 +++++++++---------- .../template-flow/add-template-fields.tsx | 1 + 3 files changed, 29 insertions(+), 28 deletions(-) diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index 39c474cba..e39cced83 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -116,7 +116,7 @@ msgid "Advanced Options" msgstr "Erweiterte Optionen" #: packages/ui/primitives/document-flow/add-fields.tsx:510 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:369 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:370 msgid "Advanced settings" msgstr "Erweiterte Einstellungen" @@ -167,7 +167,7 @@ msgid "Character Limit" msgstr "Zeichenbeschränkung" #: packages/ui/primitives/document-flow/add-fields.tsx:932 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:755 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:756 msgid "Checkbox" msgstr "Checkbox" @@ -196,7 +196,7 @@ msgid "Configure Direct Recipient" msgstr "Direkten Empfänger konfigurieren" #: packages/ui/primitives/document-flow/add-fields.tsx:511 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:370 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:371 msgid "Configure the {0} field" msgstr "Konfigurieren Sie das Feld {0}" @@ -213,7 +213,7 @@ msgid "Custom Text" msgstr "Benutzerdefinierter Text" #: packages/ui/primitives/document-flow/add-fields.tsx:828 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:651 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:652 msgid "Date" msgstr "Datum" @@ -245,7 +245,7 @@ msgid "Drag & drop your PDF here." msgstr "Ziehen Sie Ihr PDF hierher." #: packages/ui/primitives/document-flow/add-fields.tsx:958 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:781 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:782 msgid "Dropdown" msgstr "Dropdown" @@ -257,7 +257,7 @@ msgstr "Dropdown-Optionen" #: packages/ui/primitives/document-flow/add-signature.tsx:272 #: packages/ui/primitives/document-flow/add-signers.tsx:232 #: packages/ui/primitives/document-flow/add-signers.tsx:239 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:599 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:600 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:210 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:217 msgid "Email" @@ -367,7 +367,7 @@ msgstr "Min" #: packages/ui/primitives/document-flow/add-fields.tsx:802 #: packages/ui/primitives/document-flow/add-signature.tsx:298 #: packages/ui/primitives/document-flow/add-signers.tsx:265 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:625 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:626 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:245 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:251 msgid "Name" @@ -386,12 +386,12 @@ msgid "Needs to view" msgstr "Muss sehen" #: packages/ui/primitives/document-flow/add-fields.tsx:613 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:464 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:465 msgid "No recipient matching this description was found." msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden." #: packages/ui/primitives/document-flow/add-fields.tsx:629 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:480 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:481 msgid "No recipients with this role" msgstr "Keine Empfänger mit dieser Rolle" @@ -416,7 +416,7 @@ msgid "No value found." msgstr "Kein Wert gefunden." #: packages/ui/primitives/document-flow/add-fields.tsx:880 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:703 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:704 msgid "Number" msgstr "Nummer" @@ -451,7 +451,7 @@ msgid "Placeholder" msgstr "Platzhalter" #: packages/ui/primitives/document-flow/add-fields.tsx:906 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:729 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:730 msgid "Radio" msgstr "Radio" @@ -502,7 +502,7 @@ msgstr "Zeilen pro Seite" msgid "Save" msgstr "Speichern" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:797 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:798 msgid "Save Template" msgstr "Vorlage speichern" @@ -552,7 +552,7 @@ msgstr "Unterschreiben" #: packages/ui/primitives/document-flow/add-fields.tsx:724 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:547 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:548 msgid "Signature" msgstr "Unterschrift" @@ -598,7 +598,7 @@ msgid "Template title" msgstr "Vorlagentitel" #: packages/ui/primitives/document-flow/add-fields.tsx:854 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:677 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 msgid "Text" msgstr "Text" diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index 06b53fa6a..fcf35cfb8 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -111,7 +111,7 @@ msgid "Advanced Options" msgstr "Advanced Options" #: packages/ui/primitives/document-flow/add-fields.tsx:510 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:369 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:370 msgid "Advanced settings" msgstr "Advanced settings" @@ -162,7 +162,7 @@ msgid "Character Limit" msgstr "Character Limit" #: packages/ui/primitives/document-flow/add-fields.tsx:932 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:755 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:756 msgid "Checkbox" msgstr "Checkbox" @@ -191,7 +191,7 @@ msgid "Configure Direct Recipient" msgstr "Configure Direct Recipient" #: packages/ui/primitives/document-flow/add-fields.tsx:511 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:370 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:371 msgid "Configure the {0} field" msgstr "Configure the {0} field" @@ -208,7 +208,7 @@ msgid "Custom Text" msgstr "Custom Text" #: packages/ui/primitives/document-flow/add-fields.tsx:828 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:651 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:652 msgid "Date" msgstr "Date" @@ -240,7 +240,7 @@ msgid "Drag & drop your PDF here." msgstr "Drag & drop your PDF here." #: packages/ui/primitives/document-flow/add-fields.tsx:958 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:781 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:782 msgid "Dropdown" msgstr "Dropdown" @@ -252,7 +252,7 @@ msgstr "Dropdown options" #: packages/ui/primitives/document-flow/add-signature.tsx:272 #: packages/ui/primitives/document-flow/add-signers.tsx:232 #: packages/ui/primitives/document-flow/add-signers.tsx:239 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:599 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:600 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:210 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:217 msgid "Email" @@ -362,7 +362,7 @@ msgstr "Min" #: packages/ui/primitives/document-flow/add-fields.tsx:802 #: packages/ui/primitives/document-flow/add-signature.tsx:298 #: packages/ui/primitives/document-flow/add-signers.tsx:265 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:625 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:626 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:245 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:251 msgid "Name" @@ -381,12 +381,12 @@ msgid "Needs to view" msgstr "Needs to view" #: packages/ui/primitives/document-flow/add-fields.tsx:613 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:464 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:465 msgid "No recipient matching this description was found." msgstr "No recipient matching this description was found." #: packages/ui/primitives/document-flow/add-fields.tsx:629 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:480 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:481 msgid "No recipients with this role" msgstr "No recipients with this role" @@ -411,7 +411,7 @@ msgid "No value found." msgstr "No value found." #: packages/ui/primitives/document-flow/add-fields.tsx:880 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:703 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:704 msgid "Number" msgstr "Number" @@ -446,7 +446,7 @@ msgid "Placeholder" msgstr "Placeholder" #: packages/ui/primitives/document-flow/add-fields.tsx:906 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:729 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:730 msgid "Radio" msgstr "Radio" @@ -497,7 +497,7 @@ msgstr "Rows per page" msgid "Save" msgstr "Save" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:797 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:798 msgid "Save Template" msgstr "Save Template" @@ -547,7 +547,7 @@ msgstr "Sign" #: packages/ui/primitives/document-flow/add-fields.tsx:724 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:547 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:548 msgid "Signature" msgstr "Signature" @@ -593,7 +593,7 @@ msgid "Template title" msgstr "Template title" #: packages/ui/primitives/document-flow/add-fields.tsx:854 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:677 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 msgid "Text" msgstr "Text" diff --git a/packages/ui/primitives/template-flow/add-template-fields.tsx b/packages/ui/primitives/template-flow/add-template-fields.tsx index 799f782c6..71897b396 100644 --- a/packages/ui/primitives/template-flow/add-template-fields.tsx +++ b/packages/ui/primitives/template-flow/add-template-fields.tsx @@ -112,6 +112,7 @@ export const AddTemplateFieldsFormPartial = ({ recipients.find((recipient) => recipient.id === field.recipientId)?.email ?? '', signerToken: recipients.find((recipient) => recipient.id === field.recipientId)?.token ?? '', + fieldMeta: field.fieldMeta ? ZFieldMetaSchema.parse(field.fieldMeta) : undefined, })), }, }); From 8ab7464b84287fa2a582ffcbe33159d643869e5c Mon Sep 17 00:00:00 2001 From: Etrenak <21969306+Etrenak@users.noreply.github.com> Date: Thu, 5 Sep 2024 06:14:02 +0200 Subject: [PATCH 09/11] fix: broken endpoint to update a field in a document (#1319) Fixes #1318 and allows to submit a partial `fieldMeta` when updating a field instead of replacing the current `fieldMeta`, to be consistent with other endpoints. --- packages/api/v1/implementation.ts | 4 +- .../lib/server-only/field/update-field.ts | 59 ++++++++++--------- 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/packages/api/v1/implementation.ts b/packages/api/v1/implementation.ts index bec720812..8f8987b79 100644 --- a/packages/api/v1/implementation.ts +++ b/packages/api/v1/implementation.ts @@ -1050,7 +1050,8 @@ export const ApiContractV1Implementation = createNextRoute(ApiContractV1, { updateField: authenticatedMiddleware(async (args, user, team) => { const { id: documentId, fieldId } = args.params; - const { recipientId, type, pageNumber, pageWidth, pageHeight, pageX, pageY } = args.body; + const { recipientId, type, pageNumber, pageWidth, pageHeight, pageX, pageY, fieldMeta } = + args.body; const document = await getDocumentById({ id: Number(documentId), @@ -1112,6 +1113,7 @@ export const ApiContractV1Implementation = createNextRoute(ApiContractV1, { pageWidth, pageHeight, requestMetadata: extractNextApiRequestMetadata(args.req), + fieldMeta: fieldMeta ? ZFieldMetaSchema.parse(fieldMeta) : undefined, }); const remappedField = { diff --git a/packages/lib/server-only/field/update-field.ts b/packages/lib/server-only/field/update-field.ts index 5fc415b4b..434d0f651 100644 --- a/packages/lib/server-only/field/update-field.ts +++ b/packages/lib/server-only/field/update-field.ts @@ -65,6 +65,11 @@ export const updateField = async ({ }, }); + const newFieldMeta = { + ...(oldField.fieldMeta as FieldMeta), + ...fieldMeta, + }; + const field = prisma.$transaction(async (tx) => { const updatedField = await tx.field.update({ where: { @@ -78,13 +83,39 @@ export const updateField = async ({ positionY: pageY, width: pageWidth, height: pageHeight, - fieldMeta, + fieldMeta: newFieldMeta, }, include: { Recipient: true, }, }); + const user = await prisma.user.findFirstOrThrow({ + where: { + id: userId, + }, + select: { + id: true, + name: true, + email: true, + }, + }); + + let team: Team | null = null; + + if (teamId) { + team = await prisma.team.findFirst({ + where: { + id: teamId, + members: { + some: { + userId, + }, + }, + }, + }); + } + await tx.documentAuditLog.create({ data: createDocumentAuditLogData({ type: DOCUMENT_AUDIT_LOG_TYPE.FIELD_UPDATED, @@ -108,31 +139,5 @@ export const updateField = async ({ return updatedField; }); - const user = await prisma.user.findFirstOrThrow({ - where: { - id: userId, - }, - select: { - id: true, - name: true, - email: true, - }, - }); - - let team: Team | null = null; - - if (teamId) { - team = await prisma.team.findFirst({ - where: { - id: teamId, - members: { - some: { - userId, - }, - }, - }, - }); - } - return field; }; From 0298e79e8c43cfd8cc9ee1c63c16d714c4124bc8 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Thu, 5 Sep 2024 15:28:47 +1000 Subject: [PATCH 10/11] chore: add docs for translations (#1310) Add developer documentation for translations. --- .../developers/local-development/_meta.json | 5 +- .../local-development/translations.mdx | 128 ++++++++++++++++++ 2 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 apps/documentation/pages/developers/local-development/translations.mdx diff --git a/apps/documentation/pages/developers/local-development/_meta.json b/apps/documentation/pages/developers/local-development/_meta.json index ff9f44207..725e5e278 100644 --- a/apps/documentation/pages/developers/local-development/_meta.json +++ b/apps/documentation/pages/developers/local-development/_meta.json @@ -3,5 +3,6 @@ "quickstart": "Developer Quickstart", "manual": "Manual Setup", "gitpod": "Gitpod", - "signing-certificate": "Signing Certificate" -} + "signing-certificate": "Signing Certificate", + "translations": "Translations" +} \ No newline at end of file diff --git a/apps/documentation/pages/developers/local-development/translations.mdx b/apps/documentation/pages/developers/local-development/translations.mdx new file mode 100644 index 000000000..a776dc50c --- /dev/null +++ b/apps/documentation/pages/developers/local-development/translations.mdx @@ -0,0 +1,128 @@ +--- +title: Translations +description: Handling translations in code. +--- + +# About + +Documenso uses the following stack to handle translations: + +- [Lingui](https://lingui.dev/) - React i10n library +- [Crowdin](https://crowdin.com/) - Handles syncing translations +- [OpenAI](https://openai.com/) - Provides AI translations + +Additional reading can be found in the [Lingui documentation](https://lingui.dev/introduction). + +## Requirements + +You **must** insert **`setupI18nSSR()`** when creating any of the following files: + +- Server layout.tsx +- Server page.tsx +- Server loading.tsx + +Server meaning it does not have `'use client'` in it. + +```tsx +import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; + +export default function SomePage() { + setupI18nSSR(); // Required if there are translations within the page, or nested in components. + + // Rest of code... +} +``` + +Additional information can be found [here.](https://lingui.dev/tutorials/react-rsc#pages-layouts-and-lingui) + +## Quick guide + +If you require more in-depth information, please see the [Lingui documentation](https://lingui.dev/introduction). + +### HTML + +Wrap all text to translate in **``** tags exported from **@lingui/macro** (not @lingui/react). + +```html +

+ Title +

+``` + +For text that is broken into elements, but represent a whole sentence, you must wrap it in a Trans tag so ensure the full message is extracted correctly. + +```html +

+ + This is one + full + sentence + +

+``` + +### Constants outside of react components + +```tsx +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + +// Wrap text in msg`text to translate` when it's in a constant here, or another file/package. +export const CONSTANT_WITH_MSG = { + foo: msg`Hello`, + bar: msg`World`, +}; + +export const SomeComponent = () => { + const { _ } = useLingui(); + + return ( +
+ {/* This will render the correct translated text. */} +

{_(CONSTANT_WITH_MSG.foo)}

+
+ ); +}; +``` + +### Plurals + +Lingui provides a Plural component to make it easy. See full documentation [here.](https://lingui.dev/ref/macro#plural-1) + +```tsx +// Basic usage. + +``` + +### Dates + +Lingui provides a [DateTime instance](https://lingui.dev/ref/core#i18n.date) with the configured locale. + +#### Server components + +Note that the i18n instance is coming from **setupI18nSSR**. + +```tsx +import { Trans } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + +export const SomeComponent = () => { + const { i18n } = setupI18nSSR(); + + return The current date is {i18n.date(new Date(), { dateStyle: 'short' })}; +}; +``` + +#### Client components + +Note that the i18n instance is coming from the **import**. + +```tsx +import { i18n } from '@lingui/core'; +import { Trans } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + +export const SomeComponent = () => { + return The current date is {i18n.date(new Date(), { dateStyle: 'short' })}; +}; +``` From f4e98ae03a82e365549b4cba2135e884953f5fa5 Mon Sep 17 00:00:00 2001 From: Kaiwalya Koparkar Date: Thu, 5 Sep 2024 11:00:46 +0530 Subject: [PATCH 11/11] feat: Added Elestio as one-click deploy option (#1302) This PR introduces new one-click deployment option Elestio --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f32438800..178b1f0cf 100644 --- a/README.md +++ b/README.md @@ -303,6 +303,10 @@ WantedBy=multi-user.target [![Deploy to Koyeb](https://www.koyeb.com/static/images/deploy/button.svg)](https://app.koyeb.com/deploy?type=git&repository=github.com/documenso/documenso&branch=main&name=documenso-app&builder=dockerfile&dockerfile=/docker/Dockerfile) +## Elestio + +[![Deploy on Elestio](https://elest.io/images/logos/deploy-to-elestio-btn.png)](https://elest.io/open-source/documenso) + ## Troubleshooting ### I'm not receiving any emails when using the developer quickstart.