diff --git a/app/Services/EDocument/Gateway/Storecove/PeppolToStorecoveNormalizer.php b/app/Services/EDocument/Gateway/Storecove/PeppolToStorecoveNormalizer.php
new file mode 100644
index 0000000000..2490e89f2b
--- /dev/null
+++ b/app/Services/EDocument/Gateway/Storecove/PeppolToStorecoveNormalizer.php
@@ -0,0 +1,244 @@
+serializer = $serializer;
+
+$classMetadataFactory = new ClassMetadataFactory(new AttributeLoader());
+$metadataAwareNameConverter = new MetadataAwareNameConverter($classMetadataFactory);
+$this->objectNormalizer = new ObjectNormalizer($classMetadataFactory, $metadataAwareNameConverter);
+
+}
+
+ public function denormalize(mixed $data, string $type, string $format = null, array $context = []): mixed
+{
+ $peppolInvoice = $data;
+ $storecoveInvoice = new StorecoveInvoice();
+
+
+ $storecoveInvoice->setDocumentCurrency($peppolInvoice->DocumentCurrencyCode ?? '');
+ $storecoveInvoice->setInvoiceNumber($peppolInvoice->ID ?? '');
+ $storecoveInvoice->setIssueDate($peppolInvoice->IssueDate);
+ $storecoveInvoice->setDueDate($peppolInvoice->DueDate);
+ $storecoveInvoice->setNote($peppolInvoice->Note ?? '');
+ $storecoveInvoice->setAmountIncludingVat((float)($peppolInvoice->LegalMonetaryTotal->TaxInclusiveAmount->amount ?? 0));
+
+ if (isset($peppolInvoice->InvoicePeriod[0])) {
+ $storecoveInvoice->setInvoicePeriod([
+ 'startDate' => $peppolInvoice->InvoicePeriod[0]->StartDate,
+ 'endDate' => $peppolInvoice->InvoicePeriod[0]->EndDate,
+ ]);
+ }
+
+ $storecoveInvoice->setReferences([
+ 'buyerReference' => $peppolInvoice->BuyerReference ?? '',
+ 'orderReference' => $peppolInvoice->OrderReference->ID->value ?? '',
+ ]);
+
+ if (isset($peppolInvoice->AccountingSupplierParty->Party)) {
+ $supplier = $peppolInvoice->AccountingSupplierParty->Party;
+ $storecoveInvoice->setAccountingSupplierParty([
+ 'name' => $supplier->PartyName[0]->Name ?? '',
+ 'vatNumber' => $supplier->PartyIdentification[0]->ID->value ?? '',
+ 'streetName' => $supplier->PostalAddress->StreetName ?? '',
+ 'cityName' => $supplier->PostalAddress->CityName ?? '',
+ 'postalZone' => $supplier->PostalAddress->PostalZone ?? '',
+ 'countryCode' => $supplier->PostalAddress->Country->IdentificationCode->value ?? '',
+ ]);
+ }
+
+ if (isset($peppolInvoice->AccountingCustomerParty->Party)) {
+ $customer = $peppolInvoice->AccountingCustomerParty->Party;
+ $storecoveInvoice->setAccountingCustomerParty([
+ 'name' => $customer->PartyName[0]->Name ?? '',
+ 'vatNumber' => $customer->PartyIdentification[0]->ID->value ?? '',
+ 'streetName' => $customer->PostalAddress->StreetName ?? '',
+ 'cityName' => $customer->PostalAddress->CityName ?? '',
+ 'postalZone' => $customer->PostalAddress->PostalZone ?? '',
+ 'countryCode' => $customer->PostalAddress->Country->IdentificationCode->value ?? '',
+ ]);
+ }
+
+ if (isset($peppolInvoice->PaymentMeans[0])) {
+ $storecoveInvoice->setPaymentMeans([
+ 'paymentID' => $peppolInvoice->PaymentMeans[0]->PayeeFinancialAccount->ID->value ?? '',
+ ]);
+ }
+
+ // Map tax total at invoice level
+ $taxTotal = [];
+ if (isset($peppolInvoice->InvoiceLine[0]->TaxTotal[0])) {
+ $taxTotal[] = [
+ 'taxAmount' => (float)($peppolInvoice->InvoiceLine[0]->TaxTotal[0]->TaxAmount->amount ?? 0),
+ 'taxCurrency' => $peppolInvoice->DocumentCurrencyCode ?? '',
+ ];
+ }
+ $storecoveInvoice->setTaxTotal($taxTotal);
+
+ if (isset($peppolInvoice->InvoiceLine)) {
+ $invoiceLines = [];
+ foreach ($peppolInvoice->InvoiceLine as $line) {
+ $invoiceLine = new InvoiceLines();
+ $invoiceLine->setLineId($line->ID->value ?? '');
+ $invoiceLine->setAmountExcludingVat((float)($line->LineExtensionAmount->amount ?? 0));
+ $invoiceLine->setQuantity((float)($line->InvoicedQuantity ?? 0));
+ $invoiceLine->setQuantityUnitCode(''); // Not present in the provided JSON
+ $invoiceLine->setItemPrice((float)($line->Price->PriceAmount->amount ?? 0));
+ $invoiceLine->setName($line->Item->Name ?? '');
+ $invoiceLine->setDescription($line->Item->Description ?? '');
+
+ $tax = new Tax();
+ if (isset($line->TaxTotal[0])) {
+ $taxTotal = $line->TaxTotal[0];
+ $tax->setTaxAmount((float)($taxTotal->TaxAmount->amount ?? 0));
+
+ if (isset($line->Item->ClassifiedTaxCategory[0])) {
+ $taxCategory = $line->Item->ClassifiedTaxCategory[0];
+ $tax->setTaxPercentage((float)($taxCategory->Percent ?? 0));
+ $tax->setTaxCategory($taxCategory->ID->value ?? '');
+ }
+
+ $tax->setTaxableAmount((float)($line->LineExtensionAmount->amount ?? 0));
+ }
+ $invoiceLine->setTax($tax);
+
+ $invoiceLines[] = $invoiceLine;
+ }
+ $storecoveInvoice->setInvoiceLines($invoiceLines);
+ }
+
+ return $storecoveInvoice;
+
+
+}
+
+private function validateStorecoveInvoice(StorecoveInvoice $invoice): void
+{
+ $requiredFields = ['documentCurrency', 'invoiceNumber', 'issueDate', 'dueDate'];
+ foreach ($requiredFields as $field) {
+ if (empty($invoice->$field)) {
+ throw new \InvalidArgumentException("Required field '$field' is missing or empty");
+ }
+ }
+
+ if (empty($invoice->invoiceLines)) {
+ throw new \InvalidArgumentException("Invoice must have at least one line item");
+ }
+
+ // Add more validations as needed
+}
+
+ public function supportsDenormalization(mixed $data, string $type, string $format = null, array $context = []): bool
+ {
+ return $type === StorecoveInvoice::class && $data instanceof PeppolInvoice;
+ }
+
+ public function getSupportedTypes(?string $format): array
+ {
+ return [
+ StorecoveInvoice::class => true,
+ ];
+ }
+
+ private function mapNestedProperties($object, array $nestedPaths): array
+ {
+ $result = [];
+ foreach ($nestedPaths as $key => $path) {
+ if (is_array($path)) {
+ // Try multiple paths
+ foreach ($path as $possiblePath) {
+ $value = $this->getValueFromPath($object, $possiblePath);
+ if ($value !== null) {
+ $result[$key] = $value;
+ nlog("Mapped nested property: $key", ['path' => $possiblePath, 'value' => $value]);
+ break;
+ }
+ }
+ if (!isset($result[$key])) {
+ nlog("Failed to map nested property: $key", ['paths' => $path]);
+ }
+ } else {
+ $value = $this->getValueFromPath($object, $path);
+ if ($value !== null) {
+ $result[$key] = $value;
+ nlog("Mapped nested property: $key", ['path' => $path, 'value' => $value]);
+ } else {
+ nlog("Failed to map nested property: $key", ['path' => $path]);
+ }
+ }
+ }
+ return $result;
+ }
+
+ private function getValueFromPath($object, string $path)
+ {
+ $parts = explode('.', $path);
+ $value = $object;
+ foreach ($parts as $part) {
+ if (preg_match('/(.+)\[(\d+)\]/', $part, $matches)) {
+ $property = $matches[1];
+ $index = $matches[2];
+ $value = $value->$property[$index] ?? null;
+ } else {
+ $value = $value->$part ?? null;
+ }
+ if ($value === null) {
+ nlog("Null value encountered in path: $path at part: $part");
+ return null;
+ }
+ }
+ return $value instanceof \DateTime ? $value->format('Y-m-d') : $value;
+ }
+
+ private function castValue(string $property, $value)
+ {
+ try {
+ $reflectionProperty = new \ReflectionProperty(StorecoveInvoice::class, $property);
+ $type = $reflectionProperty->getType();
+
+ if ($type instanceof \ReflectionNamedType) {
+ switch ($type->getName()) {
+ case 'float':
+ return (float) $value;
+ case 'int':
+ return (int) $value;
+ case 'string':
+ return (string) $value;
+ case 'bool':
+ return (bool) $value;
+ case 'array':
+ return (array) $value;
+ default:
+ return $value;
+ }
+ }
+ } catch (\ReflectionException $e) {
+ nlog("Error casting value for property: $property", ['error' => $e->getMessage()]);
+ }
+
+ return $value;
+ }
+}
diff --git a/lang/ar/texts.php b/lang/ar/texts.php
index e760ea439b..6780349cce 100644
--- a/lang/ar/texts.php
+++ b/lang/ar/texts.php
@@ -2345,7 +2345,7 @@
'currency_gold_troy_ounce' => 'أونصة تروي ذهبية',
'currency_nicaraguan_córdoba' => 'قرطبة نيكاراغوا',
'currency_malagasy_ariary' => 'أرياري مدغشقر',
- "currency_tongan_paanga" => "بانغا تونغا",
+ "currency_tongan_pa_anga" => "بانغا تونغا",
'review_app_help' => 'نأمل أن تستمتع باستخدام التطبيق.
إذا كنت تفكر في :link فإننا نقدر ذلك كثيرًا!',
'writing_a_review' => 'كتابة مراجعة',
@@ -5319,6 +5319,73 @@
'no_unread_notifications' => 'لقد تم اللحاق بكل شيء! لا توجد إشعارات جديدة.',
'how_to_import_data' => 'كيفية استيراد البيانات',
'download_example_file' => 'تنزيل ملف المثال',
+ 'expense_mailbox' => 'عنوان البريد الإلكتروني الوارد',
+ 'expense_mailbox_help' => 'عنوان البريد الإلكتروني الوارد الذي يقبل مستندات النفقات. على سبيل المثال، expenses@invoiceninja.com',
+ 'expense_mailbox_active' => 'صندوق بريد النفقات',
+ 'expense_mailbox_active_help' => 'يتيح معالجة المستندات مثل الإيصالات لإعداد تقارير النفقات',
+ 'inbound_mailbox_allow_company_users' => 'السماح لمرسلي الشركة',
+ 'inbound_mailbox_allow_company_users_help' => 'يسمح للمستخدمين داخل الشركة بإرسال مستندات النفقات.',
+ 'inbound_mailbox_allow_vendors' => 'السماح لمرسلي البائعين',
+ 'inbound_mailbox_allow_vendors_help' => 'يسمح لبائعي الشركة بإرسال مستندات النفقات',
+ 'inbound_mailbox_allow_clients' => 'السماح لمرسلي العميل',
+ 'inbound_mailbox_allow_clients_help' => 'يسمح للعملاء بإرسال مستندات النفقات',
+ 'inbound_mailbox_whitelist' => 'قائمة السماح للمرسلين الواردين',
+ 'inbound_mailbox_whitelist_help' => 'قائمة منفصلة بفواصل للرسائل الإلكترونية التي ينبغي السماح لها بإرسال رسائل إلكترونية للمعالجة',
+ 'inbound_mailbox_blacklist' => 'قائمة المرسلين المحظورين',
+ 'inbound_mailbox_blacklist_help' => 'قائمة منفصلة بفواصل للرسائل الإلكترونية التي لا يُسمح بإرسال رسائل إلكترونية إليها للمعالجة',
+ 'inbound_mailbox_allow_unknown' => 'السماح لجميع المرسلين',
+ 'inbound_mailbox_allow_unknown_help' => 'السماح لأي شخص بإرسال بريد إلكتروني للنفقات للمعالجة',
+ 'quick_actions' => 'الإجراءات السريعة',
+ 'end_all_sessions_help' => 'يقوم بتسجيل خروج جميع المستخدمين ويطلب من جميع المستخدمين النشطين إعادة المصادقة.',
+ 'updated_records' => 'السجلات المحدثة',
+ 'vat_not_registered' => 'البائع غير مسجل في ضريبة القيمة المضافة',
+ 'small_company_info' => 'عدم الإفصاح عن ضريبة المبيعات وفقًا للمادة 19 من قانون الضرائب الأمريكي',
+ 'peppol_onboarding' => 'يبدو أن هذه هي المرة الأولى التي تستخدم فيها PEPPOL',
+ 'get_started' => 'البدء',
+ 'configure_peppol' => 'Configure PEPPOL',
+ 'step' => 'خطوة',
+ 'peppol_whitelabel_warning' => 'White-label license required in order to use einvoicing over the PEPPOL network.',
+ 'peppol_plan_warning' => 'Enterprise plan required in order to use einvoicing over the PEPPOL network.',
+ 'peppol_credits_info' => 'Ecredits are required to send and receive einvoices. These are charged on a per document basis.',
+ 'buy_credits' => 'Buy E Credits',
+ 'peppol_successfully_configured' => 'PEPPOL successsfully configured.',
+ 'peppol_not_paid_message' => 'Enterprise plan required for PEPPOL. Please upgrade your plan.',
+ 'peppol_country_not_supported' => 'PEPPOL network not yet available for this country.',
+ 'peppol_disconnect' => 'Disconnect from the PEPPOL network',
+ 'peppol_disconnect_short' => 'Disconnect from PEPPOL.',
+ 'peppol_disconnect_long' => 'Your VAT number will be withdrawn from the PEPPOL network after disconnecting. You will be unable to send or receive edocuments.',
+ 'log_duration_words' => 'مدة تسجيل الوقت بالكلمات',
+ 'log_duration' => 'مدة سجل الوقت',
+ 'merged_vendors' => 'تم دمج البائعين بنجاح',
+ 'hidden_taxes_warning' => 'بعض الضرائب مخفية بسبب إعدادات الضرائب الحالية. :link',
+ 'tax3' => 'الضريبة الثالثة',
+ 'negative_payment_warning' => 'هل أنت متأكد من أنك تريد إنشاء دفعة سلبية؟ لا يمكن استخدام هذه الدفعة كرصيد أو دفعة.',
+ 'currency_Bermudian_Dollar' => 'الدولار البرمودي',
+ 'currency_Central_African_CFA_Franc' => 'الفرنك الوسط أفريقي',
+ 'currency_Congolese_Franc' => 'الفرنك الكونغولي',
+ 'currency_Djiboutian_Franc' => 'فرنك جيبوتي',
+ 'currency_Eritrean_Nakfa' => 'الناكفا الإريترية',
+ 'currency_Falkland_Islands_Pound' => 'Falklan Islands Pound',
+ 'currency_Guinean_Franc' => 'فرنك غيني',
+ 'currency_Iraqi_Dinar' => 'الدينار العراقي',
+ 'currency_Lesotho_Loti' => 'ليسوتو لوتي',
+ 'currency_Mongolian_Tugrik' => 'التوغريك المنغولي',
+ 'currency_Seychellois_Rupee' => 'الروبية السيشيلية',
+ 'currency_Solomon_Islands_Dollar' => 'دولار جزر سليمان',
+ 'currency_Somali_Shilling' => 'شلن صومالي',
+ 'currency_South_Sudanese_Pound' => 'الجنيه الجنوب سوداني',
+ 'currency_Sudanese_Pound' => 'الجنيه السوداني',
+ 'currency_Tajikistani_Somoni' => 'السوموني الطاجيكستاني',
+ 'currency_Turkmenistani_Manat' => 'المانات التركمانستانية',
+ 'currency_Uzbekistani_Som' => 'السوم الأوزباكستاني',
+ 'payment_status_changed' => 'يرجى ملاحظة أن حالة الدفع الخاصة بك قد تم تحديثها. نوصي بتحديث الصفحة لعرض الإصدار الأحدث.',
+ 'credit_status_changed' => 'يرجى ملاحظة أن حالة الائتمان الخاصة بك قد تم تحديثها. نوصي بتحديث الصفحة لعرض الإصدار الأحدث.',
+ 'credit_updated' => 'تم تحديث الائتمان',
+ 'payment_updated' => 'تم تحديث الدفع',
+ 'search_placeholder' => 'ابحث عن الفواتير والعملاء والمزيد',
+ 'invalid_vat_number' => "رقم ضريبة القيمة المضافة غير صالح للبلد المحدد. يجب أن يكون التنسيق عبارة عن رمز البلد متبوعًا برقم فقط، على سبيل المثال، DE123456789",
+ 'acts_as_sender' => 'Acts as Sender',
+ 'acts_as_receiver' => 'Acts as Receiver',
);
return $lang;
diff --git a/lang/fr_CA/texts.php b/lang/fr_CA/texts.php
index 945247dc70..48bf423df1 100644
--- a/lang/fr_CA/texts.php
+++ b/lang/fr_CA/texts.php
@@ -1167,7 +1167,7 @@
'page_size' => 'Taille de page',
'live_preview_disabled' => 'La prévisualisation en direct a été désactivée pour cette police',
'invoice_number_padding' => 'Remplissage (padding)',
- 'preview' => 'Prévisualitsation',
+ 'preview' => 'Prévisualisation',
'list_vendors' => 'Liste des fournisseurs',
'add_users_not_supported' => 'Mettre à niveau vers le plan Enterprise plan pour ajouter des utilisateurs à votre compte.',
'enterprise_plan_features' => 'Le Plan entreprise offre le support pour de multiple utilisateurs ainsi que l\'ajout de pièces jointes, :link pour voir la liste complète des fonctionnalités.',
@@ -5357,8 +5357,52 @@
'updated_records' => 'Enregistrements mis à jour',
'vat_not_registered' => 'Vendeur non enregistré aux taxes',
'small_company_info' => 'Aucune déclaration de taxe de vente conformément à l\'article 19 UStG',
+ 'peppol_onboarding' => 'Il semble que ce soit votre première avec PEPPOL.',
+ 'get_started' => 'Commencer',
+ 'configure_peppol' => 'Configurer PEPPOL',
+ 'step' => 'Étape',
+ 'peppol_whitelabel_warning' => 'Une licence de marque blanche est nécessaire pour utiliser la facturation électronique sur le réseau PEPPOL.',
+ 'peppol_plan_warning' => 'Un plan Entreprise est requis pour utiliser la facturation électronique sur le réseau PEPPOL.',
+ 'peppol_credits_info' => 'Des crédits électroniques (Ecredits) sont nécessaires pour envoyer et recevoir des factures électroniques. Ils sont facturés par document.',
+ 'buy_credits' => 'Acheter des Ecredits',
+ 'peppol_successfully_configured' => 'PEPPOL a été configuré correctement',
+ 'peppol_not_paid_message' => 'Un plan Entreprise est requis pour PEPPOL. Veuillez mettre à niveau votre plan.',
+ 'peppol_country_not_supported' => 'Le réseau PEPPOL n\'est pas encore disponible pour ce pays.',
+ 'peppol_disconnect' => 'Se déconnecter du réseau PEPPOL',
+ 'peppol_disconnect_short' => 'Déconnexion de PEPPOL',
+ 'peppol_disconnect_long' => 'Votre numéro de TVA sera retiré du réseau PEPPOL après la déconnexion. Vous ne pourrez plus envoyer ni recevoir de documents électroniques.',
'log_duration_words' => 'Durée du journal de temps exprimée en mots',
- 'log_duration' => 'Durée du journal de temps'
+ 'log_duration' => 'Durée du journal de temps',
+ 'merged_vendors' => 'Les fournisseurs ont été fusionnés',
+ 'hidden_taxes_warning' => 'Certaines taxes sont masquées en raison des paramètres de taxes actuels.',
+ 'tax3' => 'Troisième taxe',
+ 'negative_payment_warning' => 'Êtes-vous sûr de vouloir créer un paiement négatif? Cela ne peut pas être utilisé comme crédit ou paiement.',
+ 'currency_Bermudian_Dollar' => 'Dollar bermudien',
+ 'currency_Central_African_CFA_Franc' => 'Franc CFA de l\'Afrique centrale',
+ 'currency_Congolese_Franc' => 'Franc congolais',
+ 'currency_Djiboutian_Franc' => 'Franc Djiboutien',
+ 'currency_Eritrean_Nakfa' => 'Nakfa érythréen',
+ 'currency_Falkland_Islands_Pound' => 'Livre des Îles Malouines',
+ 'currency_Guinean_Franc' => 'Franc guinéen',
+ 'currency_Iraqi_Dinar' => 'Dinar irakien',
+ 'currency_Lesotho_Loti' => 'Loti lésothien',
+ 'currency_Mongolian_Tugrik' => 'Tugrik mongolien',
+ 'currency_Seychellois_Rupee' => 'Roupie seychelloise',
+ 'currency_Solomon_Islands_Dollar' => 'Dollar des Salomon',
+ 'currency_Somali_Shilling' => 'Shilling somalien',
+ 'currency_South_Sudanese_Pound' => 'Livre sud-soudanaise',
+ 'currency_Sudanese_Pound' => 'Livre soudanaise',
+ 'currency_Tajikistani_Somoni' => 'Somoni Tadjik',
+ 'currency_Turkmenistani_Manat' => 'Manat turkmène',
+ 'currency_Uzbekistani_Som' => 'Sum Ouzbek',
+ 'payment_status_changed' => 'Veuillez noter que le statut de votre paiement a été mis à jour. Nous vous recommandons de rafraîchir la page pour voir la version la plus récente.',
+ 'credit_status_changed' => 'Veuillez noter que le statut de votre crédit a été mis à jour. Nous vous recommandons de rafraîchir la page pour voir la version la plus récente.',
+ 'credit_updated' => 'Crédit mis à jour',
+ 'payment_updated' => 'Paiement mis à jour',
+ 'search_placeholder' => 'Recherchez des factures, des clients et plus',
+ 'invalid_vat_number' => "Le numéro de TVA n'est pas valide pour le pays sélectionné. Le format doit être le code du pays suivi uniquement du numéro, par exemple DE123456789.",
+ 'acts_as_sender' => 'Agit en tant qu\'expéditeur',
+ 'acts_as_receiver' => 'Agit en tant que destinataire',
);
return $lang;
diff --git a/lang/nl/texts.php b/lang/nl/texts.php
index 5f490ab68a..69b34d6dd1 100644
--- a/lang/nl/texts.php
+++ b/lang/nl/texts.php
@@ -5359,8 +5359,52 @@
'updated_records' => 'Items bijgewerkt',
'vat_not_registered' => 'Verkoper is niet btw-plichtig',
'small_company_info' => 'Geen openbaarmaking van omzetbelasting in overeenstemming met § 19 UStG',
+ 'peppol_onboarding' => 'Het lijkt erop dat dit de eerste keer is dat u PEPPOL gebruikt.',
+ 'get_started' => 'Aan de slag',
+ 'configure_peppol' => 'PEPPOL configureren',
+ 'step' => 'Stap',
+ 'peppol_whitelabel_warning' => 'White-label license required in order to use einvoicing over the PEPPOL network.',
+ 'peppol_plan_warning' => 'Enterprise plan required in order to use einvoicing over the PEPPOL network.',
+ 'peppol_credits_info' => 'Ecredits are required to send and receive einvoices. These are charged on a per document basis.',
+ 'buy_credits' => 'Buy E Credits',
+ 'peppol_successfully_configured' => 'PEPPOL successsfully configured.',
+ 'peppol_not_paid_message' => 'Enterprise plan required for PEPPOL. Please upgrade your plan.',
+ 'peppol_country_not_supported' => 'PEPPOL network not yet available for this country.',
+ 'peppol_disconnect' => 'Disconnect from the PEPPOL network',
+ 'peppol_disconnect_short' => 'Disconnect from PEPPOL.',
+ 'peppol_disconnect_long' => 'Your VAT number will be withdrawn from the PEPPOL network after disconnecting. You will be unable to send or receive edocuments.',
'log_duration_words' => 'Maximale lengte logboek in woorden',
- 'log_duration' => 'Maximale lengte logboek'
+ 'log_duration' => 'Maximale lengte logboek',
+ 'merged_vendors' => 'Succesvol samengevoegde leveranciers',
+ 'hidden_taxes_warning' => 'Sommige belastingen zijn verborgen vanwege de huidige belastinginstellingen. :link',
+ 'tax3' => 'Derde belasting',
+ 'negative_payment_warning' => 'Weet u zeker dat u een negatieve betaling wilt maken? Dit kan niet worden gebruikt als een tegoed of betaling.',
+ 'currency_Bermudian_Dollar' => 'Bermudaanse dollar',
+ 'currency_Central_African_CFA_Franc' => 'Centraal-Afrikaanse CFA-frank',
+ 'currency_Congolese_Franc' => 'Congolese Frank',
+ 'currency_Djiboutian_Franc' => 'Djiboutiaanse Frank',
+ 'currency_Eritrean_Nakfa' => 'Eritrese Nakfa',
+ 'currency_Falkland_Islands_Pound' => 'Falklan Islands Pound',
+ 'currency_Guinean_Franc' => 'Guinean Franc',
+ 'currency_Iraqi_Dinar' => 'Iraqi Dinar',
+ 'currency_Lesotho_Loti' => 'Lesotho Loti',
+ 'currency_Mongolian_Tugrik' => 'Mongolian Tugrik',
+ 'currency_Seychellois_Rupee' => 'Seychellois Rupee',
+ 'currency_Solomon_Islands_Dollar' => 'Solomon Islands Dollar',
+ 'currency_Somali_Shilling' => 'Somali Shilling',
+ 'currency_South_Sudanese_Pound' => 'South Sudanese Pound',
+ 'currency_Sudanese_Pound' => 'Sudanese Pound',
+ 'currency_Tajikistani_Somoni' => 'Tajikistani Somoni',
+ 'currency_Turkmenistani_Manat' => 'Turkmenistani Manat',
+ 'currency_Uzbekistani_Som' => 'Uzbekistani Som',
+ 'payment_status_changed' => 'Please note that the status of your payment has been updated. We recommend refreshing the page to view the most current version.',
+ 'credit_status_changed' => 'Please note that the status of your credit has been updated. We recommend refreshing the page to view the most current version.',
+ 'credit_updated' => 'Credit Updated',
+ 'payment_updated' => 'Payment Updated',
+ 'search_placeholder' => 'Find invoices, clients, and more',
+ 'invalid_vat_number' => "The VAT number is not valid for the selected country. Format should be Country Code followed by number only ie, DE123456789",
+ 'acts_as_sender' => 'Acts as Sender',
+ 'acts_as_receiver' => 'Acts as Receiver',
);
return $lang;
diff --git a/lang/vi/texts.php b/lang/vi/texts.php
index e82274fa8f..324edc84d2 100644
--- a/lang/vi/texts.php
+++ b/lang/vi/texts.php
@@ -5359,8 +5359,52 @@
'updated_records' => 'Hồ sơ đã cập nhật',
'vat_not_registered' => 'Người bán không đăng ký VAT',
'small_company_info' => 'Không tiết lộ thuế bán hàng theo § 19 UStG',
+ 'peppol_onboarding' => 'Có vẻ như đây là lần đầu tiên bạn sử dụng PEPPOL.',
+ 'get_started' => 'Bắt đầu',
+ 'configure_peppol' => 'Cấu hình PEPPOL',
+ 'step' => 'Bước chân',
+ 'peppol_whitelabel_warning' => 'Cần có giấy phép nhãn trắng đến sử dụng hóa đơn điện tử trên mạng PEPPOL.',
+ 'peppol_plan_warning' => 'Cần có gói doanh nghiệp đến sử dụng hóa đơn điện tử qua mạng PEPPOL.',
+ 'peppol_credits_info' => 'Cần có Ecredit đến gửi và nhận hóa đơn điện tử. Chúng được tính phí theo từng chứng từ.',
+ 'buy_credits' => 'Mua tín dụng E',
+ 'peppol_successfully_configured' => 'PEPPOL đã được cấu hình thành công.',
+ 'peppol_not_paid_message' => 'Cần có gói Enterprise cho PEPPOL. Vui lòng nâng cấp gói của bạn.',
+ 'peppol_country_not_supported' => 'Mạng PEPPOL hiện chưa khả dụng ở quốc gia này.',
+ 'peppol_disconnect' => 'Ngắt kết nối khỏi mạng PEPPOL',
+ 'peppol_disconnect_short' => 'Ngắt kết nối khỏi PEPPOL.',
+ 'peppol_disconnect_long' => 'Mã số VAT của bạn sẽ bị xóa khỏi mạng PEPPOL sau khi ngắt kết nối. Bạn sẽ không thể đến hoặc nhận tài liệu điện tử.',
'log_duration_words' => 'Thời gian ghi nhật ký bằng từ',
- 'log_duration' => 'Thời gian ghi nhật ký'
+ 'log_duration' => 'Thời gian ghi nhật ký',
+ 'merged_vendors' => 'Thành công sáp nhập nhà cung cấp',
+ 'hidden_taxes_warning' => 'Một số loại thuế bị ẩn Quá hạn đến Cài đặt thuế hiện hành . :link',
+ 'tax3' => 'Thuế thứ ba',
+ 'negative_payment_warning' => 'Bạn có chắc chắn đến Tạo một Sự chi trả giá âm ? Điều này không thể được sử dụng như một khoản tín dụng hoặc Sự chi trả .',
+ 'currency_Bermudian_Dollar' => 'Đô la Bermuda',
+ 'currency_Central_African_CFA_Franc' => 'Franc CFA Trung Phi',
+ 'currency_Congolese_Franc' => 'Franc Congo',
+ 'currency_Djiboutian_Franc' => 'Franc Djibouti',
+ 'currency_Eritrean_Nakfa' => 'Nakfa Eritrea',
+ 'currency_Falkland_Islands_Pound' => 'Bảng Anh Quần đảo Falklan',
+ 'currency_Guinean_Franc' => 'Franc Guinea',
+ 'currency_Iraqi_Dinar' => 'Dinar Iraq',
+ 'currency_Lesotho_Loti' => 'Loti Lesotho',
+ 'currency_Mongolian_Tugrik' => 'Tugrik Mông Cổ',
+ 'currency_Seychellois_Rupee' => 'Rupee Seychelles',
+ 'currency_Solomon_Islands_Dollar' => 'Đô la Quần đảo Solomon',
+ 'currency_Somali_Shilling' => 'Shilling Somali',
+ 'currency_South_Sudanese_Pound' => 'Bảng Nam Sudan',
+ 'currency_Sudanese_Pound' => 'Bảng Sudan',
+ 'currency_Tajikistani_Somoni' => 'Somoni Tajikistan',
+ 'currency_Turkmenistani_Manat' => 'Đồng Manat Turkmenistan',
+ 'currency_Uzbekistani_Som' => 'Som Uzbekistan',
+ 'payment_status_changed' => 'Xin Ghi chú rằng trạng thái Sự chi trả của bạn đã được đã cập nhật . Chúng tôi khuyên bạn nên làm mới trang đến Xem phiên bản mới nhất.',
+ 'credit_status_changed' => 'Vui lòng Ghi chú rằng trạng thái tín dụng của bạn đã được đã cập nhật . Chúng tôi khuyên bạn nên làm mới trang đến Xem phiên bản mới nhất.',
+ 'credit_updated' => 'đã cập nhật tín dụng',
+ 'payment_updated' => 'đã cập nhật Sự chi trả',
+ 'search_placeholder' => 'Tìm Hóa đơn , Khách hàng , v.v.',
+ 'invalid_vat_number' => "Mã số VAT không hợp lệ đối với quốc gia đã chọn. Định dạng phải là Mã quốc gia theo sau là số, ví dụ: DE123456789",
+ 'acts_as_sender' => 'Hoạt động như Người gửi',
+ 'acts_as_receiver' => 'Hoạt động như Người nhận',
);
return $lang;
diff --git a/public/build/assets/app-2353b88b.js b/public/build/assets/app-2353b88b.js
new file mode 100644
index 0000000000..0ac2f3fab9
--- /dev/null
+++ b/public/build/assets/app-2353b88b.js
@@ -0,0 +1,109 @@
+import{A as Al}from"./index-08e160a7.js";import{c as zt,g as Tl}from"./_commonjsHelpers-725317a4.js";var Pl={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[624,626],[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[622019,622999],[62207,62209],[622126,622925],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292,810,[8110,8131],[8132,8151],[8152,8163],[8164,8171]],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,504174],[504176,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,63737423,63743358,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}}},Rl=Pl,ni={},xn={};Object.defineProperty(xn,"__esModule",{value:!0});xn.clone=void 0;function Ml(e){return e?JSON.parse(JSON.stringify(e)):null}xn.clone=Ml;var ii={};Object.defineProperty(ii,"__esModule",{value:!0});ii.matches=void 0;function kl(e,r,n){var a=String(r).length,s=e.substr(0,a),l=parseInt(s,10);return r=parseInt(String(r).substr(0,s.length),10),n=parseInt(String(n).substr(0,s.length),10),l>=r&&l<=n}function Nl(e,r){return r=String(r),r.substring(0,e.length)===e.substring(0,r.length)}function Ll(e,r){return Array.isArray(r)?kl(e,r[0],r[1]):Nl(e,r)}ii.matches=Ll;Object.defineProperty(ni,"__esModule",{value:!0});ni.addMatchingCardsToResults=void 0;var jl=xn,Il=ii;function Dl(e,r,n){var a,s;for(a=0;a=s&&(v.matchStrength=s),n.push(v);break}}}ni.addMatchingCardsToResults=Dl;var ai={};Object.defineProperty(ai,"__esModule",{value:!0});ai.isValidInputType=void 0;function $l(e){return typeof e=="string"||e instanceof String}ai.isValidInputType=$l;var oi={};Object.defineProperty(oi,"__esModule",{value:!0});oi.findBestMatch=void 0;function Fl(e){var r=e.filter(function(n){return n.matchStrength}).length;return r>0&&r===e.length}function Bl(e){return Fl(e)?e.reduce(function(r,n){return!r||Number(r.matchStrength)Wl?mn(!1,!1):zl.test(e)?mn(!1,!0):mn(!0,!0)}si.cardholderName=Kl;var li={};function Jl(e){for(var r=0,n=!1,a=e.length-1,s;a>=0;)s=parseInt(e.charAt(a),10),n&&(s*=2,s>9&&(s=s%10+1)),n=!n,r+=s,a--;return r%10===0}var Gl=Jl;Object.defineProperty(li,"__esModule",{value:!0});li.cardNumber=void 0;var Yl=Gl,oo=Vo;function yr(e,r,n){return{card:e,isPotentiallyValid:r,isValid:n}}function Xl(e,r){r===void 0&&(r={});var n,a,s;if(typeof e!="string"&&typeof e!="number")return yr(null,!1,!1);var l=String(e).replace(/-|\s/g,"");if(!/^\d*$/.test(l))return yr(null,!1,!1);var v=oo(l);if(v.length===0)return yr(null,!1,!1);if(v.length!==1)return yr(null,!0,!1);var g=v[0];if(r.maxLength&&l.length>r.maxLength)return yr(g,!1,!1);g.type===oo.types.UNIONPAY&&r.luhnValidateUnionPay!==!0?a=!0:a=Yl(l),s=Math.max.apply(null,g.lengths),r.maxLength&&(s=Math.min(r.maxLength,s));for(var R=0;R4)return or(!1,!1);var g=parseInt(e,10),R=Number(String(s).substr(2,2)),B=!1;if(a===2){if(String(s).substr(0,2)===e)return or(!1,!0);n=R===g,B=g>=R&&g<=R+r}else a===4&&(n=s===g,B=g>=s&&g<=s+r);return or(B,B,n)}Qr.expirationYear=Zl;var fi={};Object.defineProperty(fi,"__esModule",{value:!0});fi.isArray=void 0;fi.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};Object.defineProperty(ci,"__esModule",{value:!0});ci.parseDate=void 0;var eu=Qr,tu=fi;function ru(e){var r=Number(e[0]),n;return r===0?2:r>1||r===1&&Number(e[1])>2?1:r===1?(n=e.substr(1),eu.expirationYear(n).isPotentiallyValid?1:2):e.length===5?1:e.length>5?2:1}function nu(e){var r;if(/^\d{4}-\d{1,2}$/.test(e)?r=e.split("-").reverse():/\//.test(e)?r=e.split(/\s*\/\s*/g):/\s/.test(e)&&(r=e.split(/ +/g)),tu.isArray(r))return{month:r[0]||"",year:r.slice(1).join()};var n=ru(e),a=e.substr(0,n);return{month:a,year:e.substr(a.length)}}ci.parseDate=nu;var En={};Object.defineProperty(En,"__esModule",{value:!0});En.expirationMonth=void 0;function vn(e,r,n){return{isValid:e,isPotentiallyValid:r,isValidForThisYear:n||!1}}function iu(e){var r=new Date().getMonth()+1;if(typeof e!="string")return vn(!1,!1);if(e.replace(/\s/g,"")===""||e==="0")return vn(!1,!0);if(!/^\d*$/.test(e))return vn(!1,!1);var n=parseInt(e,10);if(isNaN(Number(e)))return vn(!1,!1);var a=n>0&&n<13;return vn(a,a,a&&n>=r)}En.expirationMonth=iu;var na=zt&&zt.__assign||function(){return na=Object.assign||function(e){for(var r,n=1,a=arguments.length;nr?e[n]:r;return r}function qr(e,r){return{isValid:e,isPotentiallyValid:r}}function fu(e,r){return r===void 0&&(r=zo),r=r instanceof Array?r:[r],typeof e!="string"||!/^\d*$/.test(e)?qr(!1,!1):uu(r,e.length)?qr(!0,!0):e.lengthcu(r)?qr(!1,!1):qr(!0,!0)}di.cvv=fu;var pi={};Object.defineProperty(pi,"__esModule",{value:!0});pi.postalCode=void 0;var du=3;function Gi(e,r){return{isValid:e,isPotentiallyValid:r}}function pu(e,r){r===void 0&&(r={});var n=r.minLength||du;return typeof e!="string"?Gi(!1,!1):e.lengthfunction(){return r||(0,e[Ko(e)[0]])((r={exports:{}}).exports,r),r.exports},ku=(e,r,n,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Ko(r))!Mu.call(e,s)&&s!==n&&Wo(e,s,{get:()=>r[s],enumerable:!(a=Pu(r,s))||a.enumerable});return e},Qe=(e,r,n)=>(n=e!=null?Tu(Ru(e)):{},ku(r||!e||!e.__esModule?Wo(n,"default",{value:e,enumerable:!0}):n,e)),St=Wt({"../alpine/packages/alpinejs/dist/module.cjs.js"(e,r){var n=Object.create,a=Object.defineProperty,s=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,v=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty,R=(t,i)=>function(){return i||(0,t[l(t)[0]])((i={exports:{}}).exports,i),i.exports},B=(t,i)=>{for(var o in i)a(t,o,{get:i[o],enumerable:!0})},ne=(t,i,o,f)=>{if(i&&typeof i=="object"||typeof i=="function")for(let d of l(i))!g.call(t,d)&&d!==o&&a(t,d,{get:()=>i[d],enumerable:!(f=s(i,d))||f.enumerable});return t},ie=(t,i,o)=>(o=t!=null?n(v(t)):{},ne(i||!t||!t.__esModule?a(o,"default",{value:t,enumerable:!0}):o,t)),V=t=>ne(a({},"__esModule",{value:!0}),t),G=R({"node_modules/@vue/shared/dist/shared.cjs.js"(t){Object.defineProperty(t,"__esModule",{value:!0});function i(b,K){const re=Object.create(null),fe=b.split(",");for(let He=0;He!!re[He.toLowerCase()]:He=>!!re[He]}var o={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"HYDRATE_EVENTS",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},f={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},d="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",p=i(d),m=2;function E(b,K=0,re=b.length){let fe=b.split(/(\r?\n)/);const He=fe.filter((wt,ct)=>ct%2===1);fe=fe.filter((wt,ct)=>ct%2===0);let rt=0;const _t=[];for(let wt=0;wt=K){for(let ct=wt-m;ct<=wt+m||re>rt;ct++){if(ct<0||ct>=fe.length)continue;const hn=ct+1;_t.push(`${hn}${" ".repeat(Math.max(3-String(hn).length,0))}| ${fe[ct]}`);const Ur=fe[ct].length,Zn=He[ct]&&He[ct].length||0;if(ct===wt){const Hr=K-(rt-(Ur+Zn)),Ki=Math.max(1,re>rt?Ur-Hr:re-K);_t.push(" | "+" ".repeat(Hr)+"^".repeat(Ki))}else if(ct>wt){if(re>rt){const Hr=Math.max(Math.min(re-rt,Ur),1);_t.push(" | "+"^".repeat(Hr))}rt+=Ur+Zn}}break}return _t.join(`
+`)}var j="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",te=i(j),Me=i(j+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected"),Xe=/[>/="'\u0009\u000a\u000c\u0020]/,Ie={};function Ke(b){if(Ie.hasOwnProperty(b))return Ie[b];const K=Xe.test(b);return K&&console.error(`unsafe attribute name: ${b}`),Ie[b]=!K}var Tt={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},Ut=i("animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width"),we=i("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap");function Ve(b){if(Dt(b)){const K={};for(let re=0;re{if(re){const fe=re.split(Ue);fe.length>1&&(K[fe[0].trim()]=fe[1].trim())}}),K}function It(b){let K="";if(!b)return K;for(const re in b){const fe=b[re],He=re.startsWith("--")?re:Xn(re);(hr(fe)||typeof fe=="number"&&Ut(He))&&(K+=`${He}:${fe};`)}return K}function Ht(b){let K="";if(hr(b))K=b;else if(Dt(b))for(let re=0;re]/;function Di(b){const K=""+b,re=Ii.exec(K);if(!re)return K;let fe="",He,rt,_t=0;for(rt=re.index;rt||--!>|kr(re,K))}var Bn=b=>b==null?"":qt(b)?JSON.stringify(b,Bi,2):String(b),Bi=(b,K)=>pr(K)?{[`Map(${K.size})`]:[...K.entries()].reduce((re,[fe,He])=>(re[`${fe} =>`]=He,re),{})}:$t(K)?{[`Set(${K.size})`]:[...K.values()]}:qt(K)&&!Dt(K)&&!Wn(K)?String(K):K,Ui=["bigInt","optionalChaining","nullishCoalescingOperator"],ln=Object.freeze({}),un=Object.freeze([]),cn=()=>{},Nr=()=>!1,Lr=/^on[^a-z]/,jr=b=>Lr.test(b),Ir=b=>b.startsWith("onUpdate:"),Un=Object.assign,Hn=(b,K)=>{const re=b.indexOf(K);re>-1&&b.splice(re,1)},qn=Object.prototype.hasOwnProperty,Vn=(b,K)=>qn.call(b,K),Dt=Array.isArray,pr=b=>gr(b)==="[object Map]",$t=b=>gr(b)==="[object Set]",fn=b=>b instanceof Date,dn=b=>typeof b=="function",hr=b=>typeof b=="string",Hi=b=>typeof b=="symbol",qt=b=>b!==null&&typeof b=="object",Dr=b=>qt(b)&&dn(b.then)&&dn(b.catch),zn=Object.prototype.toString,gr=b=>zn.call(b),qi=b=>gr(b).slice(8,-1),Wn=b=>gr(b)==="[object Object]",Kn=b=>hr(b)&&b!=="NaN"&&b[0]!=="-"&&""+parseInt(b,10)===b,Jn=i(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),mr=b=>{const K=Object.create(null);return re=>K[re]||(K[re]=b(re))},Gn=/-(\w)/g,Yn=mr(b=>b.replace(Gn,(K,re)=>re?re.toUpperCase():"")),Vi=/\B([A-Z])/g,Xn=mr(b=>b.replace(Vi,"-$1").toLowerCase()),vr=mr(b=>b.charAt(0).toUpperCase()+b.slice(1)),zi=mr(b=>b?`on${vr(b)}`:""),pn=(b,K)=>b!==K&&(b===b||K===K),Wi=(b,K)=>{for(let re=0;re{Object.defineProperty(b,K,{configurable:!0,enumerable:!1,value:re})},Fr=b=>{const K=parseFloat(b);return isNaN(K)?b:K},Br,Qn=()=>Br||(Br=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});t.EMPTY_ARR=un,t.EMPTY_OBJ=ln,t.NO=Nr,t.NOOP=cn,t.PatchFlagNames=o,t.babelParserDefaultPlugins=Ui,t.camelize=Yn,t.capitalize=vr,t.def=$r,t.escapeHtml=Di,t.escapeHtmlComment=$i,t.extend=Un,t.generateCodeFrame=E,t.getGlobalThis=Qn,t.hasChanged=pn,t.hasOwn=Vn,t.hyphenate=Xn,t.invokeArrayFns=Wi,t.isArray=Dt,t.isBooleanAttr=Me,t.isDate=fn,t.isFunction=dn,t.isGloballyWhitelisted=p,t.isHTMLTag=Rr,t.isIntegerKey=Kn,t.isKnownAttr=we,t.isMap=pr,t.isModelListener=Ir,t.isNoUnitNumericStyleProp=Ut,t.isObject=qt,t.isOn=jr,t.isPlainObject=Wn,t.isPromise=Dr,t.isReservedProp=Jn,t.isSSRSafeAttrName=Ke,t.isSVGTag=ji,t.isSet=$t,t.isSpecialBooleanAttr=te,t.isString=hr,t.isSymbol=Hi,t.isVoidTag=Mr,t.looseEqual=kr,t.looseIndexOf=Fn,t.makeMap=i,t.normalizeClass=Ht,t.normalizeStyle=Ve,t.objectToString=zn,t.parseStringStyle=bt,t.propsToAttrMap=Tt,t.remove=Hn,t.slotFlagsText=f,t.stringifyStyle=It,t.toDisplayString=Bn,t.toHandlerKey=zi,t.toNumber=Fr,t.toRawType=qi,t.toTypeString=gr}}),C=R({"node_modules/@vue/shared/index.js"(t,i){i.exports=G()}}),y=R({"node_modules/@vue/reactivity/dist/reactivity.cjs.js"(t){Object.defineProperty(t,"__esModule",{value:!0});var i=C(),o=new WeakMap,f=[],d,p=Symbol("iterate"),m=Symbol("Map key iterate");function E(u){return u&&u._isEffect===!0}function j(u,T=i.EMPTY_OBJ){E(u)&&(u=u.raw);const L=Xe(u,T);return T.lazy||L(),L}function te(u){u.active&&(Ie(u),u.options.onStop&&u.options.onStop(),u.active=!1)}var Me=0;function Xe(u,T){const L=function(){if(!L.active)return u();if(!f.includes(L)){Ie(L);try{return we(),f.push(L),d=L,u()}finally{f.pop(),Ve(),d=f[f.length-1]}}};return L.id=Me++,L.allowRecurse=!!T.allowRecurse,L._isEffect=!0,L.active=!0,L.raw=u,L.deps=[],L.options=T,L}function Ie(u){const{deps:T}=u;if(T.length){for(let L=0;L{ht&&ht.forEach(Ft=>{(Ft!==d||Ft.allowRecurse)&&nt.add(Ft)})};if(T==="clear")Le.forEach(xt);else if(L==="length"&&i.isArray(u))Le.forEach((ht,Ft)=>{(Ft==="length"||Ft>=se)&&xt(ht)});else switch(L!==void 0&&xt(Le.get(L)),T){case"add":i.isArray(u)?i.isIntegerKey(L)&&xt(Le.get("length")):(xt(Le.get(p)),i.isMap(u)&&xt(Le.get(m)));break;case"delete":i.isArray(u)||(xt(Le.get(p)),i.isMap(u)&&xt(Le.get(m)));break;case"set":i.isMap(u)&&xt(Le.get(p));break}const gn=ht=>{ht.options.onTrigger&&ht.options.onTrigger({effect:ht,target:u,key:L,type:T,newValue:se,oldValue:J,oldTarget:me}),ht.options.scheduler?ht.options.scheduler(ht):ht()};nt.forEach(gn)}var bt=i.makeMap("__proto__,__v_isRef,__isVue"),It=new Set(Object.getOwnPropertyNames(Symbol).map(u=>Symbol[u]).filter(i.isSymbol)),Ht=Mr(),Pr=Mr(!1,!0),on=Mr(!0),sn=Mr(!0,!0),Rr=ji();function ji(){const u={};return["includes","indexOf","lastIndexOf"].forEach(T=>{u[T]=function(...L){const se=b(this);for(let me=0,Le=this.length;me{u[T]=function(...L){Ut();const se=b(this)[T].apply(this,L);return Ve(),se}}),u}function Mr(u=!1,T=!1){return function(se,J,me){if(J==="__v_isReactive")return!u;if(J==="__v_isReadonly")return u;if(J==="__v_raw"&&me===(u?T?Yn:Gn:T?mr:Jn).get(se))return se;const Le=i.isArray(se);if(!u&&Le&&i.hasOwn(Rr,J))return Reflect.get(Rr,J,me);const nt=Reflect.get(se,J,me);return(i.isSymbol(J)?It.has(J):bt(J))||(u||Ne(se,"get",J),T)?nt:fe(nt)?!Le||!i.isIntegerKey(J)?nt.value:nt:i.isObject(nt)?u?pn(nt):vr(nt):nt}}var Ii=$n(),Di=$n(!0);function $n(u=!1){return function(L,se,J,me){let Le=L[se];if(!u&&(J=b(J),Le=b(Le),!i.isArray(L)&&fe(Le)&&!fe(J)))return Le.value=J,!0;const nt=i.isArray(L)&&i.isIntegerKey(se)?Number(se)i.isObject(u)?vr(u):u,un=u=>i.isObject(u)?pn(u):u,cn=u=>u,Nr=u=>Reflect.getPrototypeOf(u);function Lr(u,T,L=!1,se=!1){u=u.__v_raw;const J=b(u),me=b(T);T!==me&&!L&&Ne(J,"get",T),!L&&Ne(J,"get",me);const{has:Le}=Nr(J),nt=se?cn:L?un:ln;if(Le.call(J,T))return nt(u.get(T));if(Le.call(J,me))return nt(u.get(me));u!==J&&u.get(T)}function jr(u,T=!1){const L=this.__v_raw,se=b(L),J=b(u);return u!==J&&!T&&Ne(se,"has",u),!T&&Ne(se,"has",J),u===J?L.has(u):L.has(u)||L.has(J)}function Ir(u,T=!1){return u=u.__v_raw,!T&&Ne(b(u),"iterate",p),Reflect.get(u,"size",u)}function Un(u){u=b(u);const T=b(this);return Nr(T).has.call(T,u)||(T.add(u),Ue(T,"add",u,u)),this}function Hn(u,T){T=b(T);const L=b(this),{has:se,get:J}=Nr(L);let me=se.call(L,u);me?Kn(L,se,u):(u=b(u),me=se.call(L,u));const Le=J.call(L,u);return L.set(u,T),me?i.hasChanged(T,Le)&&Ue(L,"set",u,T,Le):Ue(L,"add",u,T),this}function qn(u){const T=b(this),{has:L,get:se}=Nr(T);let J=L.call(T,u);J?Kn(T,L,u):(u=b(u),J=L.call(T,u));const me=se?se.call(T,u):void 0,Le=T.delete(u);return J&&Ue(T,"delete",u,void 0,me),Le}function Vn(){const u=b(this),T=u.size!==0,L=i.isMap(u)?new Map(u):new Set(u),se=u.clear();return T&&Ue(u,"clear",void 0,void 0,L),se}function Dt(u,T){return function(se,J){const me=this,Le=me.__v_raw,nt=b(Le),xt=T?cn:u?un:ln;return!u&&Ne(nt,"iterate",p),Le.forEach((gn,ht)=>se.call(J,xt(gn),xt(ht),me))}}function pr(u,T,L){return function(...se){const J=this.__v_raw,me=b(J),Le=i.isMap(me),nt=u==="entries"||u===Symbol.iterator&&Le,xt=u==="keys"&&Le,gn=J[u](...se),ht=L?cn:T?un:ln;return!T&&Ne(me,"iterate",xt?m:p),{next(){const{value:Ft,done:Ji}=gn.next();return Ji?{value:Ft,done:Ji}:{value:nt?[ht(Ft[0]),ht(Ft[1])]:ht(Ft),done:Ji}},[Symbol.iterator](){return this}}}}function $t(u){return function(...T){{const L=T[0]?`on key "${T[0]}" `:"";console.warn(`${i.capitalize(u)} operation ${L}failed: target is readonly.`,b(this))}return u==="delete"?!1:this}}function fn(){const u={get(me){return Lr(this,me)},get size(){return Ir(this)},has:jr,add:Un,set:Hn,delete:qn,clear:Vn,forEach:Dt(!1,!1)},T={get(me){return Lr(this,me,!1,!0)},get size(){return Ir(this)},has:jr,add:Un,set:Hn,delete:qn,clear:Vn,forEach:Dt(!1,!0)},L={get(me){return Lr(this,me,!0)},get size(){return Ir(this,!0)},has(me){return jr.call(this,me,!0)},add:$t("add"),set:$t("set"),delete:$t("delete"),clear:$t("clear"),forEach:Dt(!0,!1)},se={get(me){return Lr(this,me,!0,!0)},get size(){return Ir(this,!0)},has(me){return jr.call(this,me,!0)},add:$t("add"),set:$t("set"),delete:$t("delete"),clear:$t("clear"),forEach:Dt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(me=>{u[me]=pr(me,!1,!1),L[me]=pr(me,!0,!1),T[me]=pr(me,!1,!0),se[me]=pr(me,!0,!0)}),[u,L,T,se]}var[dn,hr,Hi,qt]=fn();function Dr(u,T){const L=T?u?qt:Hi:u?hr:dn;return(se,J,me)=>J==="__v_isReactive"?!u:J==="__v_isReadonly"?u:J==="__v_raw"?se:Reflect.get(i.hasOwn(L,J)&&J in se?L:se,J,me)}var zn={get:Dr(!1,!1)},gr={get:Dr(!1,!0)},qi={get:Dr(!0,!1)},Wn={get:Dr(!0,!0)};function Kn(u,T,L){const se=b(L);if(se!==L&&T.call(u,se)){const J=i.toRawType(u);console.warn(`Reactive ${J} contains both the raw and reactive versions of the same object${J==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var Jn=new WeakMap,mr=new WeakMap,Gn=new WeakMap,Yn=new WeakMap;function Vi(u){switch(u){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xn(u){return u.__v_skip||!Object.isExtensible(u)?0:Vi(i.toRawType(u))}function vr(u){return u&&u.__v_isReadonly?u:$r(u,!1,Fn,zn,Jn)}function zi(u){return $r(u,!1,Bi,gr,mr)}function pn(u){return $r(u,!0,Bn,qi,Gn)}function Wi(u){return $r(u,!0,Ui,Wn,Yn)}function $r(u,T,L,se,J){if(!i.isObject(u))return console.warn(`value cannot be made reactive: ${String(u)}`),u;if(u.__v_raw&&!(T&&u.__v_isReactive))return u;const me=J.get(u);if(me)return me;const Le=Xn(u);if(Le===0)return u;const nt=new Proxy(u,Le===2?se:L);return J.set(u,nt),nt}function Fr(u){return Br(u)?Fr(u.__v_raw):!!(u&&u.__v_isReactive)}function Br(u){return!!(u&&u.__v_isReadonly)}function Qn(u){return Fr(u)||Br(u)}function b(u){return u&&b(u.__v_raw)||u}function K(u){return i.def(u,"__v_skip",!0),u}var re=u=>i.isObject(u)?vr(u):u;function fe(u){return!!(u&&u.__v_isRef===!0)}function He(u){return wt(u)}function rt(u){return wt(u,!0)}var _t=class{constructor(u,T=!1){this._shallow=T,this.__v_isRef=!0,this._rawValue=T?u:b(u),this._value=T?u:re(u)}get value(){return Ne(b(this),"get","value"),this._value}set value(u){u=this._shallow?u:b(u),i.hasChanged(u,this._rawValue)&&(this._rawValue=u,this._value=this._shallow?u:re(u),Ue(b(this),"set","value",u))}};function wt(u,T=!1){return fe(u)?u:new _t(u,T)}function ct(u){Ue(b(u),"set","value",u.value)}function hn(u){return fe(u)?u.value:u}var Ur={get:(u,T,L)=>hn(Reflect.get(u,T,L)),set:(u,T,L,se)=>{const J=u[T];return fe(J)&&!fe(L)?(J.value=L,!0):Reflect.set(u,T,L,se)}};function Zn(u){return Fr(u)?u:new Proxy(u,Ur)}var Hr=class{constructor(u){this.__v_isRef=!0;const{get:T,set:L}=u(()=>Ne(this,"get","value"),()=>Ue(this,"set","value"));this._get=T,this._set=L}get value(){return this._get()}set value(u){this._set(u)}};function Ki(u){return new Hr(u)}function Sl(u){Qn(u)||console.warn("toRefs() expects a reactive object but received a plain one.");const T=i.isArray(u)?new Array(u.length):{};for(const L in u)T[L]=ao(u,L);return T}var El=class{constructor(u,T){this._object=u,this._key=T,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(u){this._object[this._key]=u}};function ao(u,T){return fe(u[T])?u[T]:new El(u,T)}var Ol=class{constructor(u,T,L){this._setter=T,this._dirty=!0,this.__v_isRef=!0,this.effect=j(u,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,Ue(b(this),"set","value"))}}),this.__v_isReadonly=L}get value(){const u=b(this);return u._dirty&&(u._value=this.effect(),u._dirty=!1),Ne(u,"get","value"),u._value}set value(u){this._setter(u)}};function Cl(u){let T,L;return i.isFunction(u)?(T=u,L=()=>{console.warn("Write operation failed: computed value is readonly")}):(T=u.get,L=u.set),new Ol(T,L,i.isFunction(u)||!u.set)}t.ITERATE_KEY=p,t.computed=Cl,t.customRef=Ki,t.effect=j,t.enableTracking=we,t.isProxy=Qn,t.isReactive=Fr,t.isReadonly=Br,t.isRef=fe,t.markRaw=K,t.pauseTracking=Ut,t.proxyRefs=Zn,t.reactive=vr,t.readonly=pn,t.ref=He,t.resetTracking=Ve,t.shallowReactive=zi,t.shallowReadonly=Wi,t.shallowRef=rt,t.stop=te,t.toRaw=b,t.toRef=ao,t.toRefs=Sl,t.track=Ne,t.trigger=Ue,t.triggerRef=ct,t.unref=hn}}),w=R({"node_modules/@vue/reactivity/index.js"(t,i){i.exports=y()}}),_={};B(_,{Alpine:()=>io,default:()=>xl}),r.exports=V(_);var S=!1,P=!1,I=[],de=-1;function D(t){A(t)}function A(t){I.includes(t)||I.push(t),ee()}function N(t){let i=I.indexOf(t);i!==-1&&i>de&&I.splice(i,1)}function ee(){!P&&!S&&(S=!0,queueMicrotask(ye))}function ye(){S=!1,P=!0;for(let t=0;tt.effect(i,{scheduler:o=>{Ge?D(o):o()}}),Je=t.raw}function dt(t){X=t}function mt(t){let i=()=>{};return[f=>{let d=X(f);return t._x_effects||(t._x_effects=new Set,t._x_runEffects=()=>{t._x_effects.forEach(p=>p())}),t._x_effects.add(d),i=()=>{d!==void 0&&(t._x_effects.delete(d),Te(d))},d},()=>{i()}]}function Et(t,i){let o=!0,f,d=X(()=>{let p=t();JSON.stringify(p),o?f=p:queueMicrotask(()=>{i(p,f),f=p}),o=!1});return()=>Te(d)}var Oe=[],_e=[],Ce=[];function Ee(t){Ce.push(t)}function pe(t,i){typeof i=="function"?(t._x_cleanups||(t._x_cleanups=[]),t._x_cleanups.push(i)):(i=t,_e.push(i))}function Z(t){Oe.push(t)}function qe(t,i,o){t._x_attributeCleanups||(t._x_attributeCleanups={}),t._x_attributeCleanups[i]||(t._x_attributeCleanups[i]=[]),t._x_attributeCleanups[i].push(o)}function W(t,i){t._x_attributeCleanups&&Object.entries(t._x_attributeCleanups).forEach(([o,f])=>{(i===void 0||i.includes(o))&&(f.forEach(d=>d()),delete t._x_attributeCleanups[o])})}function ae(t){var i,o;for((i=t._x_effects)==null||i.forEach(N);(o=t._x_cleanups)!=null&&o.length;)t._x_cleanups.pop()()}var be=new MutationObserver(We),De=!1;function ve(){be.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),De=!0}function le(){Ze(),be.disconnect(),De=!1}var ut=[];function Ze(){let t=be.takeRecords();ut.push(()=>t.length>0&&We(t));let i=ut.length;queueMicrotask(()=>{if(ut.length===i)for(;ut.length>0;)ut.shift()()})}function Q(t){if(!De)return t();le();let i=t();return ve(),i}var k=!1,$=[];function ge(){k=!0}function z(){k=!1,We($),$=[]}function We(t){if(k){$=$.concat(t);return}let i=new Set,o=new Set,f=new Map,d=new Map;for(let p=0;pm.nodeType===1&&i.add(m)),t[p].removedNodes.forEach(m=>m.nodeType===1&&o.add(m))),t[p].type==="attributes")){let m=t[p].target,E=t[p].attributeName,j=t[p].oldValue,te=()=>{f.has(m)||f.set(m,[]),f.get(m).push({name:E,value:m.getAttribute(E)})},Me=()=>{d.has(m)||d.set(m,[]),d.get(m).push(E)};m.hasAttribute(E)&&j===null?te():m.hasAttribute(E)?(Me(),te()):Me()}d.forEach((p,m)=>{W(m,p)}),f.forEach((p,m)=>{Oe.forEach(E=>E(m,p))});for(let p of o)i.has(p)||_e.forEach(m=>m(p));i.forEach(p=>{p._x_ignoreSelf=!0,p._x_ignore=!0});for(let p of i)o.has(p)||p.isConnected&&(delete p._x_ignoreSelf,delete p._x_ignore,Ce.forEach(m=>m(p)),p._x_ignore=!0,p._x_ignoreSelf=!0);i.forEach(p=>{delete p._x_ignoreSelf,delete p._x_ignore}),i=null,o=null,f=null,d=null}function he(t){return ce(q(t))}function U(t,i,o){return t._x_dataStack=[i,...q(o||t)],()=>{t._x_dataStack=t._x_dataStack.filter(f=>f!==i)}}function q(t){return t._x_dataStack?t._x_dataStack:typeof ShadowRoot=="function"&&t instanceof ShadowRoot?q(t.host):t.parentNode?q(t.parentNode):[]}function ce(t){return new Proxy({objects:t},Be)}var Be={ownKeys({objects:t}){return Array.from(new Set(t.flatMap(i=>Object.keys(i))))},has({objects:t},i){return i==Symbol.unscopables?!1:t.some(o=>Object.prototype.hasOwnProperty.call(o,i)||Reflect.has(o,i))},get({objects:t},i,o){return i=="toJSON"?Ae:Reflect.get(t.find(f=>Reflect.has(f,i))||{},i,o)},set({objects:t},i,o,f){const d=t.find(m=>Object.prototype.hasOwnProperty.call(m,i))||t[t.length-1],p=Object.getOwnPropertyDescriptor(d,i);return p!=null&&p.set&&(p!=null&&p.get)?p.set.call(f,o)||!0:Reflect.set(d,i,o)}};function Ae(){return Reflect.ownKeys(this).reduce((i,o)=>(i[o]=Reflect.get(this,o),i),{})}function st(t){let i=f=>typeof f=="object"&&!Array.isArray(f)&&f!==null,o=(f,d="")=>{Object.entries(Object.getOwnPropertyDescriptors(f)).forEach(([p,{value:m,enumerable:E}])=>{if(E===!1||m===void 0||typeof m=="object"&&m!==null&&m.__v_skip)return;let j=d===""?p:`${d}.${p}`;typeof m=="object"&&m!==null&&m._x_interceptor?f[p]=m.initialize(t,j,p):i(m)&&m!==f&&!(m instanceof Element)&&o(m,j)})};return o(t)}function it(t,i=()=>{}){let o={initialValue:void 0,_x_interceptor:!0,initialize(f,d,p){return t(this.initialValue,()=>Rt(f,d),m=>Nt(f,d,m),d,p)}};return i(o),f=>{if(typeof f=="object"&&f!==null&&f._x_interceptor){let d=o.initialize.bind(o);o.initialize=(p,m,E)=>{let j=f.initialize(p,m,E);return o.initialValue=j,d(p,m,E)}}else o.initialValue=f;return o}}function Rt(t,i){return i.split(".").reduce((o,f)=>o[f],t)}function Nt(t,i,o){if(typeof i=="string"&&(i=i.split(".")),i.length===1)t[i[0]]=o;else{if(i.length===0)throw error;return t[i[0]]||(t[i[0]]={}),Nt(t[i[0]],i.slice(1),o)}}var cr={};function Ot(t,i){cr[t]=i}function Kt(t,i){let o=fr(i);return Object.entries(cr).forEach(([f,d])=>{Object.defineProperty(t,`$${f}`,{get(){return d(i,o)},enumerable:!1})}),t}function fr(t){let[i,o]=oe(t),f={interceptor:it,...i};return pe(t,o),f}function Cn(t,i,o,...f){try{return o(...f)}catch(d){tr(d,t,i)}}function tr(t,i,o=void 0){t=Object.assign(t??{message:"No error message given."},{el:i,expression:o}),console.warn(`Alpine Expression Error: ${t.message}
+
+${o?'Expression: "'+o+`"
+
+`:""}`,i),setTimeout(()=>{throw t},0)}var Sr=!0;function An(t){let i=Sr;Sr=!1;let o=t();return Sr=i,o}function Jt(t,i,o={}){let f;return vt(t,i)(d=>f=d,o),f}function vt(...t){return Zr(...t)}var Zr=Pn;function Tn(t){Zr=t}function Pn(t,i){let o={};Kt(o,t);let f=[o,...q(t)],d=typeof i=="function"?yi(f,i):_i(f,i,t);return Cn.bind(null,t,i,d)}function yi(t,i){return(o=()=>{},{scope:f={},params:d=[]}={})=>{let p=i.apply(ce([f,...t]),d);Er(o,p)}}var en={};function bi(t,i){if(en[t])return en[t];let o=Object.getPrototypeOf(async function(){}).constructor,f=/^[\n\s]*if.*\(.*\)/.test(t.trim())||/^(let|const)\s/.test(t.trim())?`(async()=>{ ${t} })()`:t,p=(()=>{try{let m=new o(["__self","scope"],`with (scope) { __self.result = ${f} }; __self.finished = true; return __self.result;`);return Object.defineProperty(m,"name",{value:`[Alpine] ${t}`}),m}catch(m){return tr(m,i,t),Promise.resolve()}})();return en[t]=p,p}function _i(t,i,o){let f=bi(i,o);return(d=()=>{},{scope:p={},params:m=[]}={})=>{f.result=void 0,f.finished=!1;let E=ce([p,...t]);if(typeof f=="function"){let j=f(f,E).catch(te=>tr(te,o,i));f.finished?(Er(d,f.result,E,m,o),f.result=void 0):j.then(te=>{Er(d,te,E,m,o)}).catch(te=>tr(te,o,i)).finally(()=>f.result=void 0)}}}function Er(t,i,o,f,d){if(Sr&&typeof i=="function"){let p=i.apply(o,f);p instanceof Promise?p.then(m=>Er(t,m,o,f)).catch(m=>tr(m,d,i)):t(p)}else typeof i=="object"&&i instanceof Promise?i.then(p=>t(p)):t(i)}var Or="x-";function Gt(t=""){return Or+t}function Rn(t){Or=t}var Cr={};function c(t,i){return Cr[t]=i,{before(o){if(!Cr[o]){console.warn(String.raw`Cannot find directive \`${o}\`. \`${t}\` will use the default order of execution`);return}const f=Ye.indexOf(o);Ye.splice(f>=0?f:Ye.indexOf("DEFAULT"),0,t)}}}function h(t){return Object.keys(Cr).includes(t)}function x(t,i,o){if(i=Array.from(i),t._x_virtualDirectives){let p=Object.entries(t._x_virtualDirectives).map(([E,j])=>({name:E,value:j})),m=O(p);p=p.map(E=>m.find(j=>j.name===E.name)?{name:`x-bind:${E.name}`,value:`"${E.value}"`}:E),i=i.concat(p)}let f={};return i.map($e((p,m)=>f[p]=m)).filter(je).map(Fe(f,o)).sort(At).map(p=>ue(t,p))}function O(t){return Array.from(t).map($e()).filter(i=>!je(i))}var M=!1,F=new Map,H=Symbol();function Y(t){M=!0;let i=Symbol();H=i,F.set(i,[]);let o=()=>{for(;F.get(i).length;)F.get(i).shift()();F.delete(i)},f=()=>{M=!1,o()};t(o),f()}function oe(t){let i=[],o=E=>i.push(E),[f,d]=mt(t);return i.push(d),[{Alpine:an,effect:f,cleanup:o,evaluateLater:vt.bind(vt,t),evaluate:Jt.bind(Jt,t)},()=>i.forEach(E=>E())]}function ue(t,i){let o=()=>{},f=Cr[i.type]||o,[d,p]=oe(t);qe(t,i.original,p);let m=()=>{t._x_ignore||t._x_ignoreSelf||(f.inline&&f.inline(t,i,d),f=f.bind(f,t,i,d),M?F.get(H).push(f):f())};return m.runCleanups=p,m}var ke=(t,i)=>({name:o,value:f})=>(o.startsWith(t)&&(o=o.replace(t,i)),{name:o,value:f}),Pe=t=>t;function $e(t=()=>{}){return({name:i,value:o})=>{let{name:f,value:d}=Se.reduce((p,m)=>m(p),{name:i,value:o});return f!==i&&t(f,i),{name:f,value:d}}}var Se=[];function Re(t){Se.push(t)}function je({name:t}){return et().test(t)}var et=()=>new RegExp(`^${Or}([^:^.]+)\\b`);function Fe(t,i){return({name:o,value:f})=>{let d=o.match(et()),p=o.match(/:([a-zA-Z0-9\-_:]+)/),m=o.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],E=i||t[o]||o;return{type:d?d[1]:null,value:p?p[1]:null,modifiers:m.map(j=>j.replace(".","")),expression:f,original:E}}}var tt="DEFAULT",Ye=["ignore","ref","data","id","anchor","bind","init","for","model","modelable","transition","show","if",tt,"teleport"];function At(t,i){let o=Ye.indexOf(t.type)===-1?tt:t.type,f=Ye.indexOf(i.type)===-1?tt:i.type;return Ye.indexOf(o)-Ye.indexOf(f)}function at(t,i,o={}){t.dispatchEvent(new CustomEvent(i,{detail:o,bubbles:!0,composed:!0,cancelable:!0}))}function Ct(t,i){if(typeof ShadowRoot=="function"&&t instanceof ShadowRoot){Array.from(t.children).forEach(d=>Ct(d,i));return}let o=!1;if(i(t,()=>o=!0),o)return;let f=t.firstElementChild;for(;f;)Ct(f,i),f=f.nextElementSibling}function yt(t,...i){console.warn(`Alpine Warning: ${t}`,...i)}var rr=!1;function Mn(){rr&&yt("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),rr=!0,document.body||yt("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `