diff --git a/.claude/settings.local.json b/.claude/settings.local.json
index d32fbc6..0e65d89 100644
--- a/.claude/settings.local.json
+++ b/.claude/settings.local.json
@@ -6,7 +6,11 @@
"Bash(Get-ChildItem -Path \"c:\\\\development\\\\DIOS\\\\weekly-project\\\\setrip\" -Force)",
"Bash(Select-Object Name, PSIsContainer)",
"Bash(npx tsc *)",
- "Bash(echo \"exitcode=$?\")"
+ "Bash(echo \"exitcode=$?\")",
+ "PowerShell(npx prisma generate 2>&1)",
+ "PowerShell(npx tsc --noEmit 2>&1)",
+ "PowerShell(npx eslint server/services/refund.service.ts server/repositories/refund.repo.ts features/refund app/admin/refunds 2>&1)",
+ "PowerShell(npx eslint server lib features app 2>&1)"
]
}
}
diff --git a/CLAUDE.md b/CLAUDE.md
index 1dce0c5..5db24e3 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -16,8 +16,8 @@
## Forbidden
- Jangan query database langsung di component
-- Jangan buat arsitektur over-engineered
-- Jangan menambahkan dependency tanpa kebutuhan jelas
+- Jangan buat arsitektur over-engineered, tidak apa apa jika lebih baik untuk performance dan struktur yang baik
+- Jangan menambahkan dependency tanpa kebutuhan jelas, tambahkan jika memang dibutuhkan dan gunakan dependency yang aman
## Output Style
diff --git a/app/admin/refunds/layout.tsx b/app/admin/refunds/layout.tsx
new file mode 100644
index 0000000..6a8c8ba
--- /dev/null
+++ b/app/admin/refunds/layout.tsx
@@ -0,0 +1,17 @@
+import type { Metadata } from "next";
+
+export const metadata: Metadata = {
+ title: "Admin · Refund Manual",
+ description:
+ "Halaman admin untuk meninjau laporan refund dari peserta dan organizer.",
+ alternates: { canonical: "/admin/refunds" },
+ robots: { index: false, follow: false },
+};
+
+export default function AdminRefundsLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return children;
+}
diff --git a/app/admin/refunds/page.tsx b/app/admin/refunds/page.tsx
new file mode 100644
index 0000000..1688c8f
--- /dev/null
+++ b/app/admin/refunds/page.tsx
@@ -0,0 +1,126 @@
+import { redirect } from "next/navigation";
+import { getServerSession } from "next-auth";
+import { authOptions } from "@/lib/auth";
+import { isAdminEmail } from "@/lib/admin";
+import { refundRepo } from "@/server/repositories/refund.repo";
+import { CreateRefundForm } from "@/features/refund/components/create-refund-form";
+import {
+ RefundReviewCard,
+ type RefundCardData,
+} from "@/features/refund/components/refund-review-card";
+
+type Tab = "PENDING" | "APPROVED" | "REJECTED" | "SUCCEEDED" | "FAILED";
+
+const TABS: { key: Tab; label: string }[] = [
+ { key: "PENDING", label: "Pending" },
+ { key: "APPROVED", label: "Disetujui" },
+ { key: "SUCCEEDED", label: "Selesai" },
+ { key: "REJECTED", label: "Ditolak" },
+ { key: "FAILED", label: "Gagal" },
+];
+
+interface PageProps {
+ searchParams: Promise<{ tab?: string }>;
+}
+
+export default async function AdminRefundsPage({ searchParams }: PageProps) {
+ const session = await getServerSession(authOptions);
+ if (!session?.user) redirect("/login?callbackUrl=/admin/refunds");
+ if (!isAdminEmail(session.user.email)) {
+ return (
+
+
+ Halaman ini hanya untuk admin SeTrip.
+
+
+ );
+ }
+
+ const params = await searchParams;
+ const tab: Tab = TABS.some((t) => t.key === params.tab)
+ ? (params.tab as Tab)
+ : "PENDING";
+
+ const rows = await refundRepo.listByStatus(tab);
+ const items: RefundCardData[] = rows.map((r) => ({
+ id: r.id,
+ amount: r.amount,
+ currency: r.currency,
+ reason: r.reason,
+ reportedBy: r.reportedBy,
+ reportNote: r.reportNote,
+ initiatedBy: r.initiatedBy,
+ status: r.status,
+ adminNote: r.adminNote,
+ createdAt: r.createdAt,
+ reviewedAt: r.reviewedAt,
+ succeededAt: r.succeededAt,
+ failedAt: r.failedAt,
+ reviewedBy: r.reviewedBy,
+ booking: {
+ id: r.booking.id,
+ amount: r.booking.amount,
+ status: r.booking.status,
+ trip: {
+ id: r.booking.trip.id,
+ title: r.booking.trip.title,
+ date: r.booking.trip.date,
+ },
+ user: r.booking.user,
+ payments: r.booking.payments.map((p) => ({
+ id: p.id,
+ provider: p.provider,
+ method: p.method,
+ amount: p.amount,
+ status: p.status,
+ paidAt: p.paidAt,
+ })),
+ },
+ }));
+
+ return (
+
+
+
+
+
+
+
+ {items.length === 0 ? (
+
+
+ Tidak ada refund pada status ini.
+
+
+ ) : (
+
+ {items.map((r) => (
+
+ ))}
+
+ )}
+
+ );
+}
diff --git a/app/generated/prisma/browser.ts b/app/generated/prisma/browser.ts
index 428df25..d0062fa 100644
--- a/app/generated/prisma/browser.ts
+++ b/app/generated/prisma/browser.ts
@@ -75,3 +75,15 @@ export type Booking = Prisma.BookingModel
* (di Phase MIDTRANS nanti). Untuk MANUAL biasanya cukup 1 Payment.
*/
export type Payment = Prisma.PaymentModel
+/**
+ * Model Refund
+ * Refund = financial event terpisah dari Booking. Satu Booking bisa punya
+ * banyak Refund (partial, multi-tahap). Setiap row auditable: kapan dibuat,
+ * siapa melaporkan, siapa approve, kapan SUCCEEDED. Never delete — kalau
+ * gagal, set status=FAILED + alasan.
+ *
+ * Di MVP refund dimasukkan admin secara manual berdasarkan laporan dari
+ * peserta atau organizer (via WhatsApp/email). Phase berikutnya akan
+ * menambah self-service flow dari user dan organizer.
+ */
+export type Refund = Prisma.RefundModel
diff --git a/app/generated/prisma/client.ts b/app/generated/prisma/client.ts
index 032b895..76053f9 100644
--- a/app/generated/prisma/client.ts
+++ b/app/generated/prisma/client.ts
@@ -99,3 +99,15 @@ export type Booking = Prisma.BookingModel
* (di Phase MIDTRANS nanti). Untuk MANUAL biasanya cukup 1 Payment.
*/
export type Payment = Prisma.PaymentModel
+/**
+ * Model Refund
+ * Refund = financial event terpisah dari Booking. Satu Booking bisa punya
+ * banyak Refund (partial, multi-tahap). Setiap row auditable: kapan dibuat,
+ * siapa melaporkan, siapa approve, kapan SUCCEEDED. Never delete — kalau
+ * gagal, set status=FAILED + alasan.
+ *
+ * Di MVP refund dimasukkan admin secara manual berdasarkan laporan dari
+ * peserta atau organizer (via WhatsApp/email). Phase berikutnya akan
+ * menambah self-service flow dari user dan organizer.
+ */
+export type Refund = Prisma.RefundModel
diff --git a/app/generated/prisma/commonInputTypes.ts b/app/generated/prisma/commonInputTypes.ts
index fdbd48b..51213f2 100644
--- a/app/generated/prisma/commonInputTypes.ts
+++ b/app/generated/prisma/commonInputTypes.ts
@@ -389,6 +389,74 @@ export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = {
_max?: Prisma.NestedJsonNullableFilter<$PrismaModel>
}
+export type EnumRefundReasonFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReason | Prisma.EnumRefundReasonFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReasonFilter<$PrismaModel> | $Enums.RefundReason
+}
+
+export type EnumRefundReporterFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReporter | Prisma.EnumRefundReporterFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReporterFilter<$PrismaModel> | $Enums.RefundReporter
+}
+
+export type EnumRefundInitiatorFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundInitiator | Prisma.EnumRefundInitiatorFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundInitiatorFilter<$PrismaModel> | $Enums.RefundInitiator
+}
+
+export type EnumRefundStatusFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundStatus | Prisma.EnumRefundStatusFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundStatusFilter<$PrismaModel> | $Enums.RefundStatus
+}
+
+export type EnumRefundReasonWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReason | Prisma.EnumRefundReasonFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReasonWithAggregatesFilter<$PrismaModel> | $Enums.RefundReason
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundReasonFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundReasonFilter<$PrismaModel>
+}
+
+export type EnumRefundReporterWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReporter | Prisma.EnumRefundReporterFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReporterWithAggregatesFilter<$PrismaModel> | $Enums.RefundReporter
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundReporterFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundReporterFilter<$PrismaModel>
+}
+
+export type EnumRefundInitiatorWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundInitiator | Prisma.EnumRefundInitiatorFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundInitiatorWithAggregatesFilter<$PrismaModel> | $Enums.RefundInitiator
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundInitiatorFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundInitiatorFilter<$PrismaModel>
+}
+
+export type EnumRefundStatusWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundStatus | Prisma.EnumRefundStatusFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundStatusWithAggregatesFilter<$PrismaModel> | $Enums.RefundStatus
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundStatusFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundStatusFilter<$PrismaModel>
+}
+
export type NestedStringFilter<$PrismaModel = never> = {
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
@@ -750,4 +818,72 @@ export type NestedJsonNullableFilterBase<$PrismaModel = never> = {
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
}
+export type NestedEnumRefundReasonFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReason | Prisma.EnumRefundReasonFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReasonFilter<$PrismaModel> | $Enums.RefundReason
+}
+
+export type NestedEnumRefundReporterFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReporter | Prisma.EnumRefundReporterFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReporterFilter<$PrismaModel> | $Enums.RefundReporter
+}
+
+export type NestedEnumRefundInitiatorFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundInitiator | Prisma.EnumRefundInitiatorFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundInitiatorFilter<$PrismaModel> | $Enums.RefundInitiator
+}
+
+export type NestedEnumRefundStatusFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundStatus | Prisma.EnumRefundStatusFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundStatusFilter<$PrismaModel> | $Enums.RefundStatus
+}
+
+export type NestedEnumRefundReasonWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReason | Prisma.EnumRefundReasonFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReason[] | Prisma.ListEnumRefundReasonFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReasonWithAggregatesFilter<$PrismaModel> | $Enums.RefundReason
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundReasonFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundReasonFilter<$PrismaModel>
+}
+
+export type NestedEnumRefundReporterWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundReporter | Prisma.EnumRefundReporterFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundReporter[] | Prisma.ListEnumRefundReporterFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundReporterWithAggregatesFilter<$PrismaModel> | $Enums.RefundReporter
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundReporterFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundReporterFilter<$PrismaModel>
+}
+
+export type NestedEnumRefundInitiatorWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundInitiator | Prisma.EnumRefundInitiatorFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundInitiator[] | Prisma.ListEnumRefundInitiatorFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundInitiatorWithAggregatesFilter<$PrismaModel> | $Enums.RefundInitiator
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundInitiatorFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundInitiatorFilter<$PrismaModel>
+}
+
+export type NestedEnumRefundStatusWithAggregatesFilter<$PrismaModel = never> = {
+ equals?: $Enums.RefundStatus | Prisma.EnumRefundStatusFieldRefInput<$PrismaModel>
+ in?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ notIn?: $Enums.RefundStatus[] | Prisma.ListEnumRefundStatusFieldRefInput<$PrismaModel>
+ not?: Prisma.NestedEnumRefundStatusWithAggregatesFilter<$PrismaModel> | $Enums.RefundStatus
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
+ _min?: Prisma.NestedEnumRefundStatusFilter<$PrismaModel>
+ _max?: Prisma.NestedEnumRefundStatusFilter<$PrismaModel>
+}
+
diff --git a/app/generated/prisma/enums.ts b/app/generated/prisma/enums.ts
index 5ca4ef8..b6bbcc0 100644
--- a/app/generated/prisma/enums.ts
+++ b/app/generated/prisma/enums.ts
@@ -68,6 +68,7 @@ export const BookingStatus = {
PAID: 'PAID',
CANCELLED: 'CANCELLED',
REFUNDED: 'REFUNDED',
+ PARTIALLY_REFUNDED: 'PARTIALLY_REFUNDED',
EXPIRED: 'EXPIRED'
} as const
@@ -93,3 +94,45 @@ export const PaymentStatus = {
} as const
export type PaymentStatus = (typeof PaymentStatus)[keyof typeof PaymentStatus]
+
+
+export const RefundReason = {
+ USER_CANCELLATION: 'USER_CANCELLATION',
+ ORGANIZER_CANCELLED: 'ORGANIZER_CANCELLED',
+ TRIP_ISSUE: 'TRIP_ISSUE',
+ ADMIN_ADJUSTMENT: 'ADMIN_ADJUSTMENT',
+ DISPUTE_RESOLVED: 'DISPUTE_RESOLVED',
+ OTHER: 'OTHER'
+} as const
+
+export type RefundReason = (typeof RefundReason)[keyof typeof RefundReason]
+
+
+export const RefundStatus = {
+ PENDING: 'PENDING',
+ APPROVED: 'APPROVED',
+ REJECTED: 'REJECTED',
+ PROCESSING: 'PROCESSING',
+ SUCCEEDED: 'SUCCEEDED',
+ FAILED: 'FAILED'
+} as const
+
+export type RefundStatus = (typeof RefundStatus)[keyof typeof RefundStatus]
+
+
+export const RefundInitiator = {
+ USER: 'USER',
+ ORGANIZER: 'ORGANIZER',
+ SYSTEM: 'SYSTEM',
+ ADMIN: 'ADMIN'
+} as const
+
+export type RefundInitiator = (typeof RefundInitiator)[keyof typeof RefundInitiator]
+
+
+export const RefundReporter = {
+ PARTICIPANT: 'PARTICIPANT',
+ ORGANIZER: 'ORGANIZER'
+} as const
+
+export type RefundReporter = (typeof RefundReporter)[keyof typeof RefundReporter]
diff --git a/app/generated/prisma/internal/class.ts b/app/generated/prisma/internal/class.ts
index 88f0669..8f41f74 100644
--- a/app/generated/prisma/internal/class.ts
+++ b/app/generated/prisma/internal/class.ts
@@ -20,7 +20,7 @@ const config: runtime.GetPrismaClientConfig = {
"clientVersion": "7.8.0",
"engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a",
"activeProvider": "postgresql",
- "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../app/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id String @id @default(cuid())\n name String\n email String @unique\n /// Hash bcrypt. Null untuk user yang sign-in via OAuth (mis. Google).\n password String?\n image String?\n /// Diisi PrismaAdapter NextAuth saat email diverifikasi provider OAuth (Google selalu sudah verified).\n emailVerified DateTime?\n /// Apakah user telah menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedTermsAndPrivacy Boolean @default(false)\n /// Waktu user menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n accounts Account[]\n trips Trip[]\n participations TripParticipant[]\n tripReviews TripReview[]\n bookings Booking[]\n\n organizerVerification OrganizerVerification? @relation(\"OrganizerVerificationOwner\")\n reviewedVerifications OrganizerVerification[] @relation(\"OrganizerVerificationReviewer\")\n\n profile UserProfile?\n}\n\n/// Profil sosial publik. Berisi info yang user pilih untuk dibagikan ke peserta lain\n/// (bio, kota, minat, vibe). Tidak menyimpan data sensitif — KYC tetap di OrganizerVerification.\nmodel UserProfile {\n id String @id @default(cuid())\n userId String @unique\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n /// Bio singkat, teks bebas\n bio String?\n /// Kota domisili (teks bebas, mis. \"Bandung\", \"Jakarta Selatan\")\n city String?\n /// Tag minat aktivitas (mis. [\"hiking\", \"fotografi\", \"yoga\"])\n interests String[] @default([])\n /// Username Instagram (tanpa @, opsional)\n instagram String?\n /// Gaya jalan / energi user — dipakai untuk matching teman dengan ritme serupa.\n vibe Vibe?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum Vibe {\n CHILL\n BALANCED\n HARDCORE\n}\n\n/// Tabel link akun OAuth pihak ketiga (Google, dst). Diisi oleh PrismaAdapter NextAuth.\n/// Session tidak pakai DB — kita pakai JWT, jadi Session/VerificationToken tidak perlu.\nmodel Account {\n id String @id @default(cuid())\n userId String\n type String\n provider String\n providerAccountId String\n refresh_token String?\n access_token String?\n expires_at Int?\n token_type String?\n scope String?\n id_token String?\n session_state String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([provider, providerAccountId])\n}\n\nmodel OrganizerVerification {\n id String @id @default(cuid())\n userId String @unique\n user User @relation(\"OrganizerVerificationOwner\", fields: [userId], references: [id], onDelete: Cascade)\n\n /// Nama lengkap sesuai KTP\n fullName String\n /// NIK terenkripsi (AES-256-GCM, base64). Plaintext tidak disimpan.\n nikEncrypted String\n /// HMAC-SHA256(NIK + pepper) untuk uniqueness lookup tanpa membuka plaintext.\n nikHash String @unique\n birthDate DateTime\n address String\n\n /// Storage key foto KTP (mis. `ktp/.jpg`). File disimpan terenkripsi di luar /public.\n ktpImageKey String\n /// Storage key foto liveness — user memegang kertas bertuliskan \"SETRIP\".\n /// (Sebelumnya: selfie memegang KTP. Diganti supaya user tidak perlu memajang KTP dua kali.)\n livenessKey String\n\n bankName String\n bankAccountNumber String\n bankAccountName String\n\n status VerificationStatus @default(PENDING)\n rejectionReason String?\n reviewedAt DateTime?\n reviewedById String?\n reviewedBy User? @relation(\"OrganizerVerificationReviewer\", fields: [reviewedById], references: [id])\n verifiedAt DateTime?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum VerificationStatus {\n PENDING\n APPROVED\n REJECTED\n}\n\nmodel Trip {\n id String @id @default(cuid())\n title String\n description String?\n /// Kategori aktivitas.\n category ActivityCategory @default(HIKING)\n /// Destinasi/subjek aktivitas — interpretasinya tergantung kategori (gunung untuk HIKING, spot untuk DIVING, venue untuk CONCERT, tema untuk WORKSHOP, dst).\n destination String\n location String\n /// Titik kumpul / meeting point (teks bebas)\n meetingPoint String?\n /// Itinerary hari per hari (teks bebas, bullet OK)\n itinerary String?\n /// Yang termasuk harga (teks bebas)\n whatsIncluded String?\n /// Yang tidak termasuk (teks bebas)\n whatsExcluded String?\n date DateTime\n endDate DateTime?\n maxParticipants Int\n price Int\n /// Ritme/energi trip — dipakai untuk matching dengan vibe user.\n vibe Vibe?\n status TripStatus @default(OPEN)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n organizerId String\n organizer User @relation(fields: [organizerId], references: [id])\n\n participants TripParticipant[]\n images TripImage[]\n reviews TripReview[]\n bookings Booking[]\n\n @@index([category, status, date])\n @@index([vibe, status, date])\n}\n\nmodel TripReview {\n id String @id @default(cuid())\n rating Int\n comment String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([tripId, userId])\n}\n\nmodel TripImage {\n id String @id @default(cuid())\n url String\n caption String?\n order Int @default(0)\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n}\n\nmodel TripParticipant {\n id String @id @default(cuid())\n status ParticipantStatus @default(PENDING)\n createdAt DateTime @default(now())\n /// @deprecated — sumber kebenaran pindah ke Booking/Payment. Tetap di-update\n /// untuk backward-compat selama transisi UI lama. Akan dihapus PR berikutnya.\n markedPaidAt DateTime?\n /// @deprecated — sumber kebenaran pindah ke Booking/Payment. Tetap di-update\n /// untuk backward-compat selama transisi UI lama. Akan dihapus PR berikutnya.\n paymentConfirmedAt DateTime?\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id])\n\n userId String\n user User @relation(fields: [userId], references: [id])\n\n booking Booking?\n\n @@unique([tripId, userId])\n}\n\nenum TripStatus {\n OPEN\n FULL\n CLOSED\n COMPLETED\n}\n\nenum ActivityCategory {\n HIKING\n CAMPING\n SNORKELING\n DIVING\n ISLAND_HOPPING\n CITY_TRIP\n CULINARY\n CONCERT\n WORKSHOP\n RETREAT\n}\n\nenum ParticipantStatus {\n PENDING\n CONFIRMED\n CANCELLED\n}\n\n/// Booking 1-1 ke TripParticipant. Lifecycle ikut peserta:\n/// - join → Booking PENDING (menunggu approve organizer)\n/// - organizer confirm → AWAITING_PAY (paid trip) atau PAID (free trip)\n/// - peserta + organizer rampungkan pembayaran → PAID\n/// - cancel/reject → CANCELLED\n/// `amount` adalah snapshot harga saat booking dibuat — protect dari perubahan trip.price.\nmodel Booking {\n id String @id @default(cuid())\n tripId String\n trip Trip @relation(fields: [tripId], references: [id])\n userId String\n user User @relation(fields: [userId], references: [id])\n participantId String @unique\n participant TripParticipant @relation(fields: [participantId], references: [id], onDelete: Cascade)\n\n amount Int\n currency String @default(\"IDR\")\n status BookingStatus @default(PENDING)\n\n payments Payment[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n /// Konsistensi: 1-1 ke participant via participantId, dan participant unique\n /// per (tripId, userId). Constraint ini eksplisit + jadi index untuk query\n /// `findByTripAndUser`.\n @@unique([tripId, userId])\n @@index([tripId, status])\n}\n\nenum BookingStatus {\n PENDING\n AWAITING_PAY\n PAID\n CANCELLED\n REFUNDED\n EXPIRED\n}\n\n/// Satu attempt pembayaran. Satu Booking bisa punya banyak Payment kalau retry\n/// (di Phase MIDTRANS nanti). Untuk MANUAL biasanya cukup 1 Payment.\nmodel Payment {\n id String @id @default(cuid())\n bookingId String\n booking Booking @relation(fields: [bookingId], references: [id], onDelete: Cascade)\n\n provider PaymentProvider\n /// order_id eksternal (unik per attempt). Format MANUAL: `manual-`.\n /// Format MIDTRANS nanti: `midtrans--`.\n externalOrderId String @unique\n /// transaction_id dari gateway. Kosong untuk MANUAL atau sebelum first callback.\n externalTxId String?\n /// Metode konkret: bca_va, gopay, qris, manual_transfer, dst.\n method String?\n amount Int\n status PaymentStatus @default(PENDING)\n\n /// Snapshot mentah callback gateway (untuk audit & dispute).\n rawCallback Json?\n /// Snap token Midtrans / redirect URL.\n snapToken String?\n /// Kapan attempt ini kadaluarsa (Midtrans default 24 jam).\n expiresAt DateTime?\n\n paidAt DateTime?\n failedAt DateTime?\n rejectionReason String?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([bookingId, status])\n @@index([provider, status])\n}\n\nenum PaymentProvider {\n MANUAL\n MIDTRANS\n}\n\nenum PaymentStatus {\n PENDING\n AWAITING\n PAID\n FAILED\n EXPIRED\n CANCELLED\n REFUNDED\n}\n",
+ "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../app/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id String @id @default(cuid())\n name String\n email String @unique\n /// Hash bcrypt. Null untuk user yang sign-in via OAuth (mis. Google).\n password String?\n image String?\n /// Diisi PrismaAdapter NextAuth saat email diverifikasi provider OAuth (Google selalu sudah verified).\n emailVerified DateTime?\n /// Apakah user telah menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedTermsAndPrivacy Boolean @default(false)\n /// Waktu user menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n accounts Account[]\n trips Trip[]\n participations TripParticipant[]\n tripReviews TripReview[]\n bookings Booking[]\n\n organizerVerification OrganizerVerification? @relation(\"OrganizerVerificationOwner\")\n reviewedVerifications OrganizerVerification[] @relation(\"OrganizerVerificationReviewer\")\n\n reviewedRefunds Refund[] @relation(\"RefundReviewer\")\n\n profile UserProfile?\n}\n\n/// Profil sosial publik. Berisi info yang user pilih untuk dibagikan ke peserta lain\n/// (bio, kota, minat, vibe). Tidak menyimpan data sensitif — KYC tetap di OrganizerVerification.\nmodel UserProfile {\n id String @id @default(cuid())\n userId String @unique\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n /// Bio singkat, teks bebas\n bio String?\n /// Kota domisili (teks bebas, mis. \"Bandung\", \"Jakarta Selatan\")\n city String?\n /// Tag minat aktivitas (mis. [\"hiking\", \"fotografi\", \"yoga\"])\n interests String[] @default([])\n /// Username Instagram (tanpa @, opsional)\n instagram String?\n /// Gaya jalan / energi user — dipakai untuk matching teman dengan ritme serupa.\n vibe Vibe?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum Vibe {\n CHILL\n BALANCED\n HARDCORE\n}\n\n/// Tabel link akun OAuth pihak ketiga (Google, dst). Diisi oleh PrismaAdapter NextAuth.\n/// Session tidak pakai DB — kita pakai JWT, jadi Session/VerificationToken tidak perlu.\nmodel Account {\n id String @id @default(cuid())\n userId String\n type String\n provider String\n providerAccountId String\n refresh_token String?\n access_token String?\n expires_at Int?\n token_type String?\n scope String?\n id_token String?\n session_state String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([provider, providerAccountId])\n}\n\nmodel OrganizerVerification {\n id String @id @default(cuid())\n userId String @unique\n user User @relation(\"OrganizerVerificationOwner\", fields: [userId], references: [id], onDelete: Cascade)\n\n /// Nama lengkap sesuai KTP\n fullName String\n /// NIK terenkripsi (AES-256-GCM, base64). Plaintext tidak disimpan.\n nikEncrypted String\n /// HMAC-SHA256(NIK + pepper) untuk uniqueness lookup tanpa membuka plaintext.\n nikHash String @unique\n birthDate DateTime\n address String\n\n /// Storage key foto KTP (mis. `ktp/.jpg`). File disimpan terenkripsi di luar /public.\n ktpImageKey String\n /// Storage key foto liveness — user memegang kertas bertuliskan \"SETRIP\".\n /// (Sebelumnya: selfie memegang KTP. Diganti supaya user tidak perlu memajang KTP dua kali.)\n livenessKey String\n\n bankName String\n bankAccountNumber String\n bankAccountName String\n\n status VerificationStatus @default(PENDING)\n rejectionReason String?\n reviewedAt DateTime?\n reviewedById String?\n reviewedBy User? @relation(\"OrganizerVerificationReviewer\", fields: [reviewedById], references: [id])\n verifiedAt DateTime?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum VerificationStatus {\n PENDING\n APPROVED\n REJECTED\n}\n\nmodel Trip {\n id String @id @default(cuid())\n title String\n description String?\n /// Kategori aktivitas.\n category ActivityCategory @default(HIKING)\n /// Destinasi/subjek aktivitas — interpretasinya tergantung kategori (gunung untuk HIKING, spot untuk DIVING, venue untuk CONCERT, tema untuk WORKSHOP, dst).\n destination String\n location String\n /// Titik kumpul / meeting point (teks bebas)\n meetingPoint String?\n /// Itinerary hari per hari (teks bebas, bullet OK)\n itinerary String?\n /// Yang termasuk harga (teks bebas)\n whatsIncluded String?\n /// Yang tidak termasuk (teks bebas)\n whatsExcluded String?\n date DateTime\n endDate DateTime?\n maxParticipants Int\n price Int\n /// Ritme/energi trip — dipakai untuk matching dengan vibe user.\n vibe Vibe?\n status TripStatus @default(OPEN)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n organizerId String\n organizer User @relation(fields: [organizerId], references: [id])\n\n participants TripParticipant[]\n images TripImage[]\n reviews TripReview[]\n bookings Booking[]\n\n @@index([category, status, date])\n @@index([vibe, status, date])\n}\n\nmodel TripReview {\n id String @id @default(cuid())\n rating Int\n comment String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([tripId, userId])\n}\n\nmodel TripImage {\n id String @id @default(cuid())\n url String\n caption String?\n order Int @default(0)\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n}\n\nmodel TripParticipant {\n id String @id @default(cuid())\n status ParticipantStatus @default(PENDING)\n createdAt DateTime @default(now())\n /// @deprecated — sumber kebenaran pindah ke Booking/Payment. Tetap di-update\n /// untuk backward-compat selama transisi UI lama. Akan dihapus PR berikutnya.\n markedPaidAt DateTime?\n /// @deprecated — sumber kebenaran pindah ke Booking/Payment. Tetap di-update\n /// untuk backward-compat selama transisi UI lama. Akan dihapus PR berikutnya.\n paymentConfirmedAt DateTime?\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id])\n\n userId String\n user User @relation(fields: [userId], references: [id])\n\n booking Booking?\n\n @@unique([tripId, userId])\n}\n\nenum TripStatus {\n OPEN\n FULL\n CLOSED\n COMPLETED\n}\n\nenum ActivityCategory {\n HIKING\n CAMPING\n SNORKELING\n DIVING\n ISLAND_HOPPING\n CITY_TRIP\n CULINARY\n CONCERT\n WORKSHOP\n RETREAT\n}\n\nenum ParticipantStatus {\n PENDING\n CONFIRMED\n CANCELLED\n}\n\n/// Booking 1-1 ke TripParticipant. Lifecycle ikut peserta:\n/// - join → Booking PENDING (menunggu approve organizer)\n/// - organizer confirm → AWAITING_PAY (paid trip) atau PAID (free trip)\n/// - peserta + organizer rampungkan pembayaran → PAID\n/// - cancel/reject → CANCELLED\n/// `amount` adalah snapshot harga saat booking dibuat — protect dari perubahan trip.price.\nmodel Booking {\n id String @id @default(cuid())\n tripId String\n trip Trip @relation(fields: [tripId], references: [id])\n userId String\n user User @relation(fields: [userId], references: [id])\n participantId String @unique\n participant TripParticipant @relation(fields: [participantId], references: [id], onDelete: Cascade)\n\n amount Int\n currency String @default(\"IDR\")\n status BookingStatus @default(PENDING)\n\n payments Payment[]\n refunds Refund[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n /// Konsistensi: 1-1 ke participant via participantId, dan participant unique\n /// per (tripId, userId). Constraint ini eksplisit + jadi index untuk query\n /// `findByTripAndUser`.\n @@unique([tripId, userId])\n @@index([tripId, status])\n}\n\nenum BookingStatus {\n PENDING\n AWAITING_PAY\n PAID\n CANCELLED\n REFUNDED\n PARTIALLY_REFUNDED\n EXPIRED\n}\n\n/// Satu attempt pembayaran. Satu Booking bisa punya banyak Payment kalau retry\n/// (di Phase MIDTRANS nanti). Untuk MANUAL biasanya cukup 1 Payment.\nmodel Payment {\n id String @id @default(cuid())\n bookingId String\n booking Booking @relation(fields: [bookingId], references: [id], onDelete: Cascade)\n\n provider PaymentProvider\n /// order_id eksternal (unik per attempt). Format MANUAL: `manual-`.\n /// Format MIDTRANS nanti: `midtrans--`.\n externalOrderId String @unique\n /// transaction_id dari gateway. Kosong untuk MANUAL atau sebelum first callback.\n externalTxId String?\n /// Metode konkret: bca_va, gopay, qris, manual_transfer, dst.\n method String?\n amount Int\n status PaymentStatus @default(PENDING)\n\n /// Snapshot mentah callback gateway (untuk audit & dispute).\n rawCallback Json?\n /// Snap token Midtrans / redirect URL.\n snapToken String?\n /// Kapan attempt ini kadaluarsa (Midtrans default 24 jam).\n expiresAt DateTime?\n\n paidAt DateTime?\n failedAt DateTime?\n rejectionReason String?\n\n refunds Refund[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([bookingId, status])\n @@index([provider, status])\n}\n\nenum PaymentProvider {\n MANUAL\n MIDTRANS\n}\n\nenum PaymentStatus {\n PENDING\n AWAITING\n PAID\n FAILED\n EXPIRED\n CANCELLED\n REFUNDED\n}\n\n/// Refund = financial event terpisah dari Booking. Satu Booking bisa punya\n/// banyak Refund (partial, multi-tahap). Setiap row auditable: kapan dibuat,\n/// siapa melaporkan, siapa approve, kapan SUCCEEDED. Never delete — kalau\n/// gagal, set status=FAILED + alasan.\n///\n/// Di MVP refund dimasukkan admin secara manual berdasarkan laporan dari\n/// peserta atau organizer (via WhatsApp/email). Phase berikutnya akan\n/// menambah self-service flow dari user dan organizer.\nmodel Refund {\n id String @id @default(cuid())\n bookingId String\n booking Booking @relation(fields: [bookingId], references: [id], onDelete: Restrict)\n\n /// Payment yang di-refund. Opsional di MVP (manual transfer bisa tidak\n /// terikat ke Payment row tertentu); wajib saat integrasi Midtrans (R-4).\n paymentId String?\n payment Payment? @relation(fields: [paymentId], references: [id], onDelete: Restrict)\n\n /// Nominal refund dalam satuan terkecil (IDR rupiah, integer). Boleh < total\n /// payment untuk partial. Service layer enforce SUM(SUCCEEDED) <= payment.amount.\n amount Int\n currency String @default(\"IDR\")\n\n reason RefundReason\n\n /// Siapa yang melaporkan kebutuhan refund ini ke admin.\n reportedBy RefundReporter\n /// Isi laporan dari peserta/organizer yang admin terima (mis. WA, email).\n reportNote String\n\n /// Pihak yang membuat record di sistem. Di MVP selalu ADMIN; saat self-service\n /// nanti USER/ORGANIZER, dan SYSTEM untuk auto-trigger dari trip dibatalkan.\n initiatedBy RefundInitiator @default(ADMIN)\n\n status RefundStatus @default(PENDING)\n\n /// Idempotency key, dipakai saat panggil Midtrans Refund API di R-4. Generate\n /// sekali saat create supaya retry gateway tidak double-refund.\n idempotencyKey String @unique\n\n /// Catatan admin: alasan tolak, referensi transfer manual, dst. Bebas teks.\n adminNote String?\n\n /// Admin yang terakhir mengubah status (approve/reject/mark-succeeded/failed).\n reviewedById String?\n reviewedBy User? @relation(\"RefundReviewer\", fields: [reviewedById], references: [id], onDelete: SetNull)\n reviewedAt DateTime?\n\n succeededAt DateTime?\n failedAt DateTime?\n\n /// ID refund di gateway (mis. Midtrans refund_id). Kosong untuk manual transfer.\n externalRefundId String?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([bookingId, status])\n @@index([status, createdAt])\n}\n\nenum RefundReason {\n /// Peserta cancel booking sendiri (mengikuti refund window policy).\n USER_CANCELLATION\n /// Organizer membatalkan trip — peserta dapat full refund.\n ORGANIZER_CANCELLED\n /// Masalah saat/setelah trip (mis. itinerary tidak sesuai).\n TRIP_ISSUE\n /// Penyesuaian dari admin (kompensasi, koreksi nominal, dll.).\n ADMIN_ADJUSTMENT\n /// Hasil resolusi dispute / chargeback bank.\n DISPUTE_RESOLVED\n OTHER\n}\n\nenum RefundStatus {\n /// Baru dilaporkan, menunggu review admin.\n PENDING\n /// Admin sudah setujui, siap dieksekusi (manual transfer / gateway).\n APPROVED\n /// Admin tolak (alasan di `adminNote`).\n REJECTED\n /// (R-4) Request sudah dikirim ke gateway, menunggu callback.\n PROCESSING\n /// Uang sudah keluar dari kas Setrip / merchant gateway.\n SUCCEEDED\n /// Eksekusi gagal (alasan di `adminNote`). Record tidak dihapus.\n FAILED\n}\n\nenum RefundInitiator {\n USER\n ORGANIZER\n SYSTEM\n ADMIN\n}\n\nenum RefundReporter {\n PARTICIPANT\n ORGANIZER\n}\n",
"runtimeDataModel": {
"models": {},
"enums": {},
@@ -32,10 +32,10 @@ const config: runtime.GetPrismaClientConfig = {
}
}
-config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"acceptedTermsAndPrivacy\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"acceptedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"trips\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToUser\"},{\"name\":\"participations\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripParticipantToUser\"},{\"name\":\"tripReviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripReviewToUser\"},{\"name\":\"bookings\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToUser\"},{\"name\":\"organizerVerification\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"reviewedVerifications\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationReviewer\"},{\"name\":\"profile\",\"kind\":\"object\",\"type\":\"UserProfile\",\"relationName\":\"UserToUserProfile\"}],\"dbName\":null},\"UserProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"bio\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interests\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"instagram\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vibe\",\"kind\":\"enum\",\"type\":\"Vibe\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerAccountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"session_state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"}],\"dbName\":null},\"OrganizerVerification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"fullName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nikEncrypted\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nikHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ktpImageKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"livenessKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VerificationStatus\"},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reviewedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationReviewer\"},{\"name\":\"verifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Trip\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"ActivityCategory\"},{\"name\":\"destination\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"meetingPoint\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"itinerary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsIncluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsExcluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"maxParticipants\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"vibe\",\"kind\":\"enum\",\"type\":\"Vibe\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"TripStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organizerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripToUser\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"images\",\"kind\":\"object\",\"type\":\"TripImage\",\"relationName\":\"TripToTripImage\"},{\"name\":\"reviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripToTripReview\"},{\"name\":\"bookings\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToTrip\"}],\"dbName\":null},\"TripReview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"comment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripReview\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripReviewToUser\"}],\"dbName\":null},\"TripImage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"caption\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripImage\"}],\"dbName\":null},\"TripParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ParticipantStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"markedPaidAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"paymentConfirmedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripParticipantToUser\"},{\"name\":\"booking\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToTripParticipant\"}],\"dbName\":null},\"Booking\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"BookingToTrip\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BookingToUser\"},{\"name\":\"participantId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"participant\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"BookingToTripParticipant\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"BookingStatus\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"BookingToPayment\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bookingId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"booking\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToPayment\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"PaymentProvider\"},{\"name\":\"externalOrderId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"externalTxId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"method\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PaymentStatus\"},{\"name\":\"rawCallback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"snapToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"paidAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"failedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
+config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"acceptedTermsAndPrivacy\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"acceptedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"trips\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToUser\"},{\"name\":\"participations\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripParticipantToUser\"},{\"name\":\"tripReviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripReviewToUser\"},{\"name\":\"bookings\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToUser\"},{\"name\":\"organizerVerification\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"reviewedVerifications\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationReviewer\"},{\"name\":\"reviewedRefunds\",\"kind\":\"object\",\"type\":\"Refund\",\"relationName\":\"RefundReviewer\"},{\"name\":\"profile\",\"kind\":\"object\",\"type\":\"UserProfile\",\"relationName\":\"UserToUserProfile\"}],\"dbName\":null},\"UserProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"bio\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interests\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"instagram\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vibe\",\"kind\":\"enum\",\"type\":\"Vibe\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerAccountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"session_state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"}],\"dbName\":null},\"OrganizerVerification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"fullName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nikEncrypted\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nikHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ktpImageKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"livenessKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VerificationStatus\"},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reviewedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationReviewer\"},{\"name\":\"verifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Trip\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"ActivityCategory\"},{\"name\":\"destination\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"meetingPoint\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"itinerary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsIncluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsExcluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"maxParticipants\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"vibe\",\"kind\":\"enum\",\"type\":\"Vibe\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"TripStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organizerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripToUser\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"images\",\"kind\":\"object\",\"type\":\"TripImage\",\"relationName\":\"TripToTripImage\"},{\"name\":\"reviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripToTripReview\"},{\"name\":\"bookings\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToTrip\"}],\"dbName\":null},\"TripReview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"comment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripReview\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripReviewToUser\"}],\"dbName\":null},\"TripImage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"caption\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripImage\"}],\"dbName\":null},\"TripParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ParticipantStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"markedPaidAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"paymentConfirmedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripParticipantToUser\"},{\"name\":\"booking\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToTripParticipant\"}],\"dbName\":null},\"Booking\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"BookingToTrip\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BookingToUser\"},{\"name\":\"participantId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"participant\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"BookingToTripParticipant\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"BookingStatus\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"BookingToPayment\"},{\"name\":\"refunds\",\"kind\":\"object\",\"type\":\"Refund\",\"relationName\":\"BookingToRefund\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bookingId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"booking\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToPayment\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"PaymentProvider\"},{\"name\":\"externalOrderId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"externalTxId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"method\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PaymentStatus\"},{\"name\":\"rawCallback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"snapToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"paidAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"failedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refunds\",\"kind\":\"object\",\"type\":\"Refund\",\"relationName\":\"PaymentToRefund\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Refund\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bookingId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"booking\",\"kind\":\"object\",\"type\":\"Booking\",\"relationName\":\"BookingToRefund\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToRefund\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reason\",\"kind\":\"enum\",\"type\":\"RefundReason\"},{\"name\":\"reportedBy\",\"kind\":\"enum\",\"type\":\"RefundReporter\"},{\"name\":\"reportNote\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"initiatedBy\",\"kind\":\"enum\",\"type\":\"RefundInitiator\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"RefundStatus\"},{\"name\":\"idempotencyKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"adminNote\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RefundReviewer\"},{\"name\":\"reviewedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"succeededAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"failedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"externalRefundId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
config.parameterizationSchema = {
- strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"accounts\",\"organizer\",\"trip\",\"participant\",\"booking\",\"payments\",\"_count\",\"participants\",\"images\",\"reviews\",\"bookings\",\"trips\",\"participations\",\"tripReviews\",\"reviewedBy\",\"organizerVerification\",\"reviewedVerifications\",\"profile\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"UserProfile.findUnique\",\"UserProfile.findUniqueOrThrow\",\"UserProfile.findFirst\",\"UserProfile.findFirstOrThrow\",\"UserProfile.findMany\",\"UserProfile.createOne\",\"UserProfile.createMany\",\"UserProfile.createManyAndReturn\",\"UserProfile.updateOne\",\"UserProfile.updateMany\",\"UserProfile.updateManyAndReturn\",\"UserProfile.upsertOne\",\"UserProfile.deleteOne\",\"UserProfile.deleteMany\",\"UserProfile.groupBy\",\"UserProfile.aggregate\",\"Account.findUnique\",\"Account.findUniqueOrThrow\",\"Account.findFirst\",\"Account.findFirstOrThrow\",\"Account.findMany\",\"Account.createOne\",\"Account.createMany\",\"Account.createManyAndReturn\",\"Account.updateOne\",\"Account.updateMany\",\"Account.updateManyAndReturn\",\"Account.upsertOne\",\"Account.deleteOne\",\"Account.deleteMany\",\"_avg\",\"_sum\",\"Account.groupBy\",\"Account.aggregate\",\"OrganizerVerification.findUnique\",\"OrganizerVerification.findUniqueOrThrow\",\"OrganizerVerification.findFirst\",\"OrganizerVerification.findFirstOrThrow\",\"OrganizerVerification.findMany\",\"OrganizerVerification.createOne\",\"OrganizerVerification.createMany\",\"OrganizerVerification.createManyAndReturn\",\"OrganizerVerification.updateOne\",\"OrganizerVerification.updateMany\",\"OrganizerVerification.updateManyAndReturn\",\"OrganizerVerification.upsertOne\",\"OrganizerVerification.deleteOne\",\"OrganizerVerification.deleteMany\",\"OrganizerVerification.groupBy\",\"OrganizerVerification.aggregate\",\"Trip.findUnique\",\"Trip.findUniqueOrThrow\",\"Trip.findFirst\",\"Trip.findFirstOrThrow\",\"Trip.findMany\",\"Trip.createOne\",\"Trip.createMany\",\"Trip.createManyAndReturn\",\"Trip.updateOne\",\"Trip.updateMany\",\"Trip.updateManyAndReturn\",\"Trip.upsertOne\",\"Trip.deleteOne\",\"Trip.deleteMany\",\"Trip.groupBy\",\"Trip.aggregate\",\"TripReview.findUnique\",\"TripReview.findUniqueOrThrow\",\"TripReview.findFirst\",\"TripReview.findFirstOrThrow\",\"TripReview.findMany\",\"TripReview.createOne\",\"TripReview.createMany\",\"TripReview.createManyAndReturn\",\"TripReview.updateOne\",\"TripReview.updateMany\",\"TripReview.updateManyAndReturn\",\"TripReview.upsertOne\",\"TripReview.deleteOne\",\"TripReview.deleteMany\",\"TripReview.groupBy\",\"TripReview.aggregate\",\"TripImage.findUnique\",\"TripImage.findUniqueOrThrow\",\"TripImage.findFirst\",\"TripImage.findFirstOrThrow\",\"TripImage.findMany\",\"TripImage.createOne\",\"TripImage.createMany\",\"TripImage.createManyAndReturn\",\"TripImage.updateOne\",\"TripImage.updateMany\",\"TripImage.updateManyAndReturn\",\"TripImage.upsertOne\",\"TripImage.deleteOne\",\"TripImage.deleteMany\",\"TripImage.groupBy\",\"TripImage.aggregate\",\"TripParticipant.findUnique\",\"TripParticipant.findUniqueOrThrow\",\"TripParticipant.findFirst\",\"TripParticipant.findFirstOrThrow\",\"TripParticipant.findMany\",\"TripParticipant.createOne\",\"TripParticipant.createMany\",\"TripParticipant.createManyAndReturn\",\"TripParticipant.updateOne\",\"TripParticipant.updateMany\",\"TripParticipant.updateManyAndReturn\",\"TripParticipant.upsertOne\",\"TripParticipant.deleteOne\",\"TripParticipant.deleteMany\",\"TripParticipant.groupBy\",\"TripParticipant.aggregate\",\"Booking.findUnique\",\"Booking.findUniqueOrThrow\",\"Booking.findFirst\",\"Booking.findFirstOrThrow\",\"Booking.findMany\",\"Booking.createOne\",\"Booking.createMany\",\"Booking.createManyAndReturn\",\"Booking.updateOne\",\"Booking.updateMany\",\"Booking.updateManyAndReturn\",\"Booking.upsertOne\",\"Booking.deleteOne\",\"Booking.deleteMany\",\"Booking.groupBy\",\"Booking.aggregate\",\"Payment.findUnique\",\"Payment.findUniqueOrThrow\",\"Payment.findFirst\",\"Payment.findFirstOrThrow\",\"Payment.findMany\",\"Payment.createOne\",\"Payment.createMany\",\"Payment.createManyAndReturn\",\"Payment.updateOne\",\"Payment.updateMany\",\"Payment.updateManyAndReturn\",\"Payment.upsertOne\",\"Payment.deleteOne\",\"Payment.deleteMany\",\"Payment.groupBy\",\"Payment.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"bookingId\",\"PaymentProvider\",\"provider\",\"externalOrderId\",\"externalTxId\",\"method\",\"amount\",\"PaymentStatus\",\"status\",\"rawCallback\",\"snapToken\",\"expiresAt\",\"paidAt\",\"failedAt\",\"rejectionReason\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"contains\",\"startsWith\",\"endsWith\",\"tripId\",\"userId\",\"participantId\",\"currency\",\"BookingStatus\",\"ParticipantStatus\",\"markedPaidAt\",\"paymentConfirmedAt\",\"url\",\"caption\",\"order\",\"rating\",\"comment\",\"title\",\"description\",\"ActivityCategory\",\"category\",\"destination\",\"location\",\"meetingPoint\",\"itinerary\",\"whatsIncluded\",\"whatsExcluded\",\"date\",\"endDate\",\"maxParticipants\",\"price\",\"Vibe\",\"vibe\",\"TripStatus\",\"organizerId\",\"fullName\",\"nikEncrypted\",\"nikHash\",\"birthDate\",\"address\",\"ktpImageKey\",\"livenessKey\",\"bankName\",\"bankAccountNumber\",\"bankAccountName\",\"VerificationStatus\",\"reviewedAt\",\"reviewedById\",\"verifiedAt\",\"type\",\"providerAccountId\",\"refresh_token\",\"access_token\",\"expires_at\",\"token_type\",\"scope\",\"id_token\",\"session_state\",\"bio\",\"city\",\"interests\",\"instagram\",\"has\",\"hasEvery\",\"hasSome\",\"name\",\"email\",\"password\",\"image\",\"emailVerified\",\"acceptedTermsAndPrivacy\",\"acceptedAt\",\"every\",\"some\",\"none\",\"tripId_userId\",\"provider_providerAccountId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
- graph: "3QVgoAEVBAAA3wIAIA4AAOMCACAPAADgAgAgEAAA4QIAIBEAAOICACATAADkAgAgFAAA5QIAIBUAAOYCACC-AQAA3QIAML8BAAAqABDAAQAA3QIAMMEBAQAAAAHRAUAA0gIAIdIBQADSAgAhoQIBANgCACGiAgEAAAABowIBANACACGkAgEA0AIAIaUCQADbAgAhpgIgAN4CACGnAkAA2wIAIQEAAAABACAQAwAA0wIAIL4BAAD_AgAwvwEAAAMAEMABAAD_AgAwwQEBANgCACHEAQEA2AIAIeUBAQDYAgAhkQIBANgCACGSAgEA2AIAIZMCAQDQAgAhlAIBANACACGVAgIAgAMAIZYCAQDQAgAhlwIBANACACGYAgEA0AIAIZkCAQDQAgAhCAMAAKIEACCTAgAAgQMAIJQCAACBAwAglQIAAIEDACCWAgAAgQMAIJcCAACBAwAgmAIAAIEDACCZAgAAgQMAIBEDAADTAgAgvgEAAP8CADC_AQAAAwAQwAEAAP8CADDBAQEAAAABxAEBANgCACHlAQEA2AIAIZECAQDYAgAhkgIBANgCACGTAgEA0AIAIZQCAQDQAgAhlQICAIADACGWAgEA0AIAIZcCAQDQAgAhmAIBANACACGZAgEA0AIAIawCAAD-AgAgAwAAAAMAIAEAAAQAMAIAAAUAIBsFAADTAgAgCwAA4QIAIAwAAP0CACANAADiAgAgDgAA4wIAIL4BAAD6AgAwvwEAAAcAEMABAAD6AgAwwQEBANgCACHKAQAA_AKCAiLRAUAA0gIAIdIBQADSAgAh8QEBANgCACHyAQEA0AIAIfQBAAD7AvQBIvUBAQDYAgAh9gEBANgCACH3AQEA0AIAIfgBAQDQAgAh-QEBANACACH6AQEA0AIAIfsBQADSAgAh_AFAANsCACH9AQIA6QIAIf4BAgDpAgAhgAIAANECgAIjggIBANgCACEMBQAAogQAIAsAAIIFACAMAACMBQAgDQAAgwUAIA4AAIQFACDyAQAAgQMAIPcBAACBAwAg-AEAAIEDACD5AQAAgQMAIPoBAACBAwAg_AEAAIEDACCAAgAAgQMAIBsFAADTAgAgCwAA4QIAIAwAAP0CACANAADiAgAgDgAA4wIAIL4BAAD6AgAwvwEAAAcAEMABAAD6AgAwwQEBAAAAAcoBAAD8AoICItEBQADSAgAh0gFAANICACHxAQEA2AIAIfIBAQDQAgAh9AEAAPsC9AEi9QEBANgCACH2AQEA2AIAIfcBAQDQAgAh-AEBANACACH5AQEA0AIAIfoBAQDQAgAh-wFAANICACH8AUAA2wIAIf0BAgDpAgAh_gECAOkCACGAAgAA0QKAAiOCAgEA2AIAIQMAAAAHACABAAAIADACAAAJACANAwAA0wIAIAYAAOsCACAIAAD5AgAgvgEAAPcCADC_AQAACwAQwAEAAPcCADDBAQEA2AIAIcoBAAD4AuoBItEBQADSAgAh5AEBANgCACHlAQEA2AIAIeoBQADbAgAh6wFAANsCACEFAwAAogQAIAYAAIgFACAIAACLBQAg6gEAAIEDACDrAQAAgQMAIA4DAADTAgAgBgAA6wIAIAgAAPkCACC-AQAA9wIAML8BAAALABDAAQAA9wIAMMEBAQAAAAHKAQAA-ALqASLRAUAA0gIAIeQBAQDYAgAh5QEBANgCACHqAUAA2wIAIesBQADbAgAhqwIAAPYCACADAAAACwAgAQAADAAwAgAADQAgEAMAANMCACAGAADrAgAgBwAA7AIAIAkAAO0CACC-AQAA6AIAML8BAAAPABDAAQAA6AIAMMEBAQDYAgAhyAECAOkCACHKAQAA6gLpASLRAUAA0gIAIdIBQADSAgAh5AEBANgCACHlAQEA2AIAIeYBAQDYAgAh5wEBANgCACEBAAAADwAgFAgAAPUCACC-AQAA8QIAML8BAAARABDAAQAA8QIAMMEBAQDYAgAhwgEBANgCACHEAQAA8gLEASLFAQEA2AIAIcYBAQDQAgAhxwEBANACACHIAQIA6QIAIcoBAADzAsoBIssBAAD0AgAgzAEBANACACHNAUAA2wIAIc4BQADbAgAhzwFAANsCACHQAQEA0AIAIdEBQADSAgAh0gFAANICACEJCAAAiwUAIMYBAACBAwAgxwEAAIEDACDLAQAAgQMAIMwBAACBAwAgzQEAAIEDACDOAQAAgQMAIM8BAACBAwAg0AEAAIEDACAUCAAA9QIAIL4BAADxAgAwvwEAABEAEMABAADxAgAwwQEBAAAAAcIBAQDYAgAhxAEAAPICxAEixQEBAAAAAcYBAQDQAgAhxwEBANACACHIAQIA6QIAIcoBAADzAsoBIssBAAD0AgAgzAEBANACACHNAUAA2wIAIc4BQADbAgAhzwFAANsCACHQAQEA0AIAIdEBQADSAgAh0gFAANICACEDAAAAEQAgAQAAEgAwAgAAEwAgAQAAABEAIAkGAADrAgAgvgEAAPACADC_AQAAFgAQwAEAAPACADDBAQEA2AIAIeQBAQDYAgAh7AEBANgCACHtAQEA0AIAIe4BAgDpAgAhAgYAAIgFACDtAQAAgQMAIAkGAADrAgAgvgEAAPACADC_AQAAFgAQwAEAAPACADDBAQEAAAAB5AEBANgCACHsAQEA2AIAIe0BAQDQAgAh7gECAOkCACEDAAAAFgAgAQAAFwAwAgAAGAAgDAMAANMCACAGAADrAgAgvgEAAO8CADC_AQAAGgAQwAEAAO8CADDBAQEA2AIAIdEBQADSAgAh0gFAANICACHkAQEA2AIAIeUBAQDYAgAh7wECAOkCACHwAQEA0AIAIQMDAACiBAAgBgAAiAUAIPABAACBAwAgDQMAANMCACAGAADrAgAgvgEAAO8CADC_AQAAGgAQwAEAAO8CADDBAQEAAAAB0QFAANICACHSAUAA0gIAIeQBAQDYAgAh5QEBANgCACHvAQIA6QIAIfABAQDQAgAhqwIAAO4CACADAAAAGgAgAQAAGwAwAgAAHAAgBAMAAKIEACAGAACIBQAgBwAAiQUAIAkAAIoFACARAwAA0wIAIAYAAOsCACAHAADsAgAgCQAA7QIAIL4BAADoAgAwvwEAAA8AEMABAADoAgAwwQEBAAAAAcgBAgDpAgAhygEAAOoC6QEi0QFAANICACHSAUAA0gIAIeQBAQDYAgAh5QEBANgCACHmAQEAAAAB5wEBANgCACGrAgAA5wIAIAMAAAAPACABAAAeADACAAAfACABAAAACwAgAQAAABYAIAEAAAAaACABAAAADwAgAwAAAAsAIAEAAAwAMAIAAA0AIAMAAAAaACABAAAbADACAAAcACADAAAADwAgAQAAHgAwAgAAHwAgGAMAANMCACASAADcAgAgvgEAANkCADC_AQAAKAAQwAEAANkCADDBAQEA2AIAIcoBAADaAo4CItABAQDQAgAh0QFAANICACHSAUAA0gIAIeUBAQDYAgAhgwIBANgCACGEAgEA2AIAIYUCAQDYAgAhhgJAANICACGHAgEA2AIAIYgCAQDYAgAhiQIBANgCACGKAgEA2AIAIYsCAQDYAgAhjAIBANgCACGOAkAA2wIAIY8CAQDQAgAhkAJAANsCACEBAAAAKAAgFQQAAN8CACAOAADjAgAgDwAA4AIAIBAAAOECACARAADiAgAgEwAA5AIAIBQAAOUCACAVAADmAgAgvgEAAN0CADC_AQAAKgAQwAEAAN0CADDBAQEA2AIAIdEBQADSAgAh0gFAANICACGhAgEA2AIAIaICAQDYAgAhowIBANACACGkAgEA0AIAIaUCQADbAgAhpgIgAN4CACGnAkAA2wIAIQEAAAAqACAGAwAAogQAIBIAAKIEACDQAQAAgQMAII4CAACBAwAgjwIAAIEDACCQAgAAgQMAIBgDAADTAgAgEgAA3AIAIL4BAADZAgAwvwEAACgAEMABAADZAgAwwQEBAAAAAcoBAADaAo4CItABAQDQAgAh0QFAANICACHSAUAA0gIAIeUBAQAAAAGDAgEA2AIAIYQCAQDYAgAhhQIBAAAAAYYCQADSAgAhhwIBANgCACGIAgEA2AIAIYkCAQDYAgAhigIBANgCACGLAgEA2AIAIYwCAQDYAgAhjgJAANsCACGPAgEA0AIAIZACQADbAgAhAwAAACgAIAEAACwAMAIAAC0AIA0DAADTAgAgvgEAAM8CADC_AQAALwAQwAEAAM8CADDBAQEA2AIAIdEBQADSAgAh0gFAANICACHlAQEA2AIAIYACAADRAoACI5oCAQDQAgAhmwIBANACACGcAgAAzgIAIJ0CAQDQAgAhAQAAAC8AIAEAAAADACABAAAABwAgAQAAAAsAIAEAAAAaACABAAAADwAgAQAAACgAIAEAAAABACAMBAAAgAUAIA4AAIQFACAPAACBBQAgEAAAggUAIBEAAIMFACATAACFBQAgFAAAhgUAIBUAAIcFACCjAgAAgQMAIKQCAACBAwAgpQIAAIEDACCnAgAAgQMAIAMAAAAqACABAAA4ADACAAABACADAAAAKgAgAQAAOAAwAgAAAQAgAwAAACoAIAEAADgAMAIAAAEAIBIEAAD4BAAgDgAA_AQAIA8AAPkEACAQAAD6BAAgEQAA-wQAIBMAAP0EACAUAAD-BAAgFQAA_wQAIMEBAQAAAAHRAUAAAAAB0gFAAAAAAaECAQAAAAGiAgEAAAABowIBAAAAAaQCAQAAAAGlAkAAAAABpgIgAAAAAacCQAAAAAEBGwAAPAAgCsEBAQAAAAHRAUAAAAAB0gFAAAAAAaECAQAAAAGiAgEAAAABowIBAAAAAaQCAQAAAAGlAkAAAAABpgIgAAAAAacCQAAAAAEBGwAAPgAwARsAAD4AMBIEAACnBAAgDgAAqwQAIA8AAKgEACAQAACpBAAgEQAAqgQAIBMAAKwEACAUAACtBAAgFQAArgQAIMEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIaECAQCHAwAhogIBAIcDACGjAgEAiQMAIaQCAQCJAwAhpQJAAIwDACGmAiAApgQAIacCQACMAwAhAgAAAAEAIBsAAEEAIArBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIQIAAAAqACAbAABDACACAAAAKgAgGwAAQwAgAwAAAAEAICIAADwAICMAAEEAIAEAAAABACABAAAAKgAgBwoAAKMEACAoAAClBAAgKQAApAQAIKMCAACBAwAgpAIAAIEDACClAgAAgQMAIKcCAACBAwAgDb4BAADUAgAwvwEAAEoAEMABAADUAgAwwQEBAJgCACHRAUAAnwIAIdIBQACfAgAhoQIBAJgCACGiAgEAmAIAIaMCAQCaAgAhpAIBAJoCACGlAkAAngIAIaYCIADVAgAhpwJAAJ4CACEDAAAAKgAgAQAASQAwJwAASgAgAwAAACoAIAEAADgAMAIAAAEAIA0DAADTAgAgvgEAAM8CADC_AQAALwAQwAEAAM8CADDBAQEAAAAB0QFAANICACHSAUAA0gIAIeUBAQAAAAGAAgAA0QKAAiOaAgEA0AIAIZsCAQDQAgAhnAIAAM4CACCdAgEA0AIAIQEAAABNACABAAAATQAgBQMAAKIEACCAAgAAgQMAIJoCAACBAwAgmwIAAIEDACCdAgAAgQMAIAMAAAAvACABAABQADACAABNACADAAAALwAgAQAAUAAwAgAATQAgAwAAAC8AIAEAAFAAMAIAAE0AIAoDAAChBAAgwQEBAAAAAdEBQAAAAAHSAUAAAAAB5QEBAAAAAYACAAAAgAIDmgIBAAAAAZsCAQAAAAGcAgAAoAQAIJ0CAQAAAAEBGwAAVAAgCcEBAQAAAAHRAUAAAAAB0gFAAAAAAeUBAQAAAAGAAgAAAIACA5oCAQAAAAGbAgEAAAABnAIAAKAEACCdAgEAAAABARsAAFYAMAEbAABWADAKAwAAnwQAIMEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIeUBAQCHAwAhgAIAAM8DgAIjmgIBAIkDACGbAgEAiQMAIZwCAACeBAAgnQIBAIkDACECAAAATQAgGwAAWQAgCcEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIeUBAQCHAwAhgAIAAM8DgAIjmgIBAIkDACGbAgEAiQMAIZwCAACeBAAgnQIBAIkDACECAAAALwAgGwAAWwAgAgAAAC8AIBsAAFsAIAMAAABNACAiAABUACAjAABZACABAAAATQAgAQAAAC8AIAcKAACbBAAgKAAAnQQAICkAAJwEACCAAgAAgQMAIJoCAACBAwAgmwIAAIEDACCdAgAAgQMAIAy-AQAAzQIAML8BAABiABDAAQAAzQIAMMEBAQCYAgAh0QFAAJ8CACHSAUAAnwIAIeUBAQCYAgAhgAIAAL0CgAIjmgIBAJoCACGbAgEAmgIAIZwCAADOAgAgnQIBAJoCACEDAAAALwAgAQAAYQAwJwAAYgAgAwAAAC8AIAEAAFAAMAIAAE0AIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgDQMAAJoEACDBAQEAAAABxAEBAAAAAeUBAQAAAAGRAgEAAAABkgIBAAAAAZMCAQAAAAGUAgEAAAABlQICAAAAAZYCAQAAAAGXAgEAAAABmAIBAAAAAZkCAQAAAAEBGwAAagAgDMEBAQAAAAHEAQEAAAAB5QEBAAAAAZECAQAAAAGSAgEAAAABkwIBAAAAAZQCAQAAAAGVAgIAAAABlgIBAAAAAZcCAQAAAAGYAgEAAAABmQIBAAAAAQEbAABsADABGwAAbAAwDQMAAJkEACDBAQEAhwMAIcQBAQCHAwAh5QEBAIcDACGRAgEAhwMAIZICAQCHAwAhkwIBAIkDACGUAgEAiQMAIZUCAgCYBAAhlgIBAIkDACGXAgEAiQMAIZgCAQCJAwAhmQIBAIkDACECAAAABQAgGwAAbwAgDMEBAQCHAwAhxAEBAIcDACHlAQEAhwMAIZECAQCHAwAhkgIBAIcDACGTAgEAiQMAIZQCAQCJAwAhlQICAJgEACGWAgEAiQMAIZcCAQCJAwAhmAIBAIkDACGZAgEAiQMAIQIAAAADACAbAABxACACAAAAAwAgGwAAcQAgAwAAAAUAICIAAGoAICMAAG8AIAEAAAAFACABAAAAAwAgDAoAAJMEACAoAACWBAAgKQAAlQQAIEoAAJQEACBLAACXBAAgkwIAAIEDACCUAgAAgQMAIJUCAACBAwAglgIAAIEDACCXAgAAgQMAIJgCAACBAwAgmQIAAIEDACAPvgEAAMkCADC_AQAAeAAQwAEAAMkCADDBAQEAmAIAIcQBAQCYAgAh5QEBAJgCACGRAgEAmAIAIZICAQCYAgAhkwIBAJoCACGUAgEAmgIAIZUCAgDKAgAhlgIBAJoCACGXAgEAmgIAIZgCAQCaAgAhmQIBAJoCACEDAAAAAwAgAQAAdwAwJwAAeAAgAwAAAAMAIAEAAAQAMAIAAAUAIAEAAAAtACABAAAALQAgAwAAACgAIAEAACwAMAIAAC0AIAMAAAAoACABAAAsADACAAAtACADAAAAKAAgAQAALAAwAgAALQAgFQMAAJEEACASAACSBAAgwQEBAAAAAcoBAAAAjgIC0AEBAAAAAdEBQAAAAAHSAUAAAAAB5QEBAAAAAYMCAQAAAAGEAgEAAAABhQIBAAAAAYYCQAAAAAGHAgEAAAABiAIBAAAAAYkCAQAAAAGKAgEAAAABiwIBAAAAAYwCAQAAAAGOAkAAAAABjwIBAAAAAZACQAAAAAEBGwAAgAEAIBPBAQEAAAABygEAAACOAgLQAQEAAAAB0QFAAAAAAdIBQAAAAAHlAQEAAAABgwIBAAAAAYQCAQAAAAGFAgEAAAABhgJAAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY4CQAAAAAGPAgEAAAABkAJAAAAAAQEbAACCAQAwARsAAIIBADABAAAAKgAgFQMAAI8EACASAACQBAAgwQEBAIcDACHKAQAAjgSOAiLQAQEAiQMAIdEBQACNAwAh0gFAAI0DACHlAQEAhwMAIYMCAQCHAwAhhAIBAIcDACGFAgEAhwMAIYYCQACNAwAhhwIBAIcDACGIAgEAhwMAIYkCAQCHAwAhigIBAIcDACGLAgEAhwMAIYwCAQCHAwAhjgJAAIwDACGPAgEAiQMAIZACQACMAwAhAgAAAC0AIBsAAIYBACATwQEBAIcDACHKAQAAjgSOAiLQAQEAiQMAIdEBQACNAwAh0gFAAI0DACHlAQEAhwMAIYMCAQCHAwAhhAIBAIcDACGFAgEAhwMAIYYCQACNAwAhhwIBAIcDACGIAgEAhwMAIYkCAQCHAwAhigIBAIcDACGLAgEAhwMAIYwCAQCHAwAhjgJAAIwDACGPAgEAiQMAIZACQACMAwAhAgAAACgAIBsAAIgBACACAAAAKAAgGwAAiAEAIAEAAAAqACADAAAALQAgIgAAgAEAICMAAIYBACABAAAALQAgAQAAACgAIAcKAACLBAAgKAAAjQQAICkAAIwEACDQAQAAgQMAII4CAACBAwAgjwIAAIEDACCQAgAAgQMAIBa-AQAAxQIAML8BAACQAQAQwAEAAMUCADDBAQEAmAIAIcoBAADGAo4CItABAQCaAgAh0QFAAJ8CACHSAUAAnwIAIeUBAQCYAgAhgwIBAJgCACGEAgEAmAIAIYUCAQCYAgAhhgJAAJ8CACGHAgEAmAIAIYgCAQCYAgAhiQIBAJgCACGKAgEAmAIAIYsCAQCYAgAhjAIBAJgCACGOAkAAngIAIY8CAQCaAgAhkAJAAJ4CACEDAAAAKAAgAQAAjwEAMCcAAJABACADAAAAKAAgAQAALAAwAgAALQAgAQAAAAkAIAEAAAAJACADAAAABwAgAQAACAAwAgAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACAYBQAAhgQAIAsAAIcEACAMAACIBAAgDQAAiQQAIA4AAIoEACDBAQEAAAABygEAAACCAgLRAUAAAAAB0gFAAAAAAfEBAQAAAAHyAQEAAAAB9AEAAAD0AQL1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AUAAAAAB_AFAAAAAAf0BAgAAAAH-AQIAAAABgAIAAACAAgOCAgEAAAABARsAAJgBACATwQEBAAAAAcoBAAAAggIC0QFAAAAAAdIBQAAAAAHxAQEAAAAB8gEBAAAAAfQBAAAA9AEC9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wFAAAAAAfwBQAAAAAH9AQIAAAAB_gECAAAAAYACAAAAgAIDggIBAAAAAQEbAACaAQAwARsAAJoBADAYBQAA0QMAIAsAANIDACAMAADTAwAgDQAA1AMAIA4AANUDACDBAQEAhwMAIcoBAADQA4ICItEBQACNAwAh0gFAAI0DACHxAQEAhwMAIfIBAQCJAwAh9AEAAM4D9AEi9QEBAIcDACH2AQEAhwMAIfcBAQCJAwAh-AEBAIkDACH5AQEAiQMAIfoBAQCJAwAh-wFAAI0DACH8AUAAjAMAIf0BAgCKAwAh_gECAIoDACGAAgAAzwOAAiOCAgEAhwMAIQIAAAAJACAbAACdAQAgE8EBAQCHAwAhygEAANADggIi0QFAAI0DACHSAUAAjQMAIfEBAQCHAwAh8gEBAIkDACH0AQAAzgP0ASL1AQEAhwMAIfYBAQCHAwAh9wEBAIkDACH4AQEAiQMAIfkBAQCJAwAh-gEBAIkDACH7AUAAjQMAIfwBQACMAwAh_QECAIoDACH-AQIAigMAIYACAADPA4ACI4ICAQCHAwAhAgAAAAcAIBsAAJ8BACACAAAABwAgGwAAnwEAIAMAAAAJACAiAACYAQAgIwAAnQEAIAEAAAAJACABAAAABwAgDAoAAMkDACAoAADMAwAgKQAAywMAIEoAAMoDACBLAADNAwAg8gEAAIEDACD3AQAAgQMAIPgBAACBAwAg-QEAAIEDACD6AQAAgQMAIPwBAACBAwAggAIAAIEDACAWvgEAALsCADC_AQAApgEAEMABAAC7AgAwwQEBAJgCACHKAQAAvgKCAiLRAUAAnwIAIdIBQACfAgAh8QEBAJgCACHyAQEAmgIAIfQBAAC8AvQBIvUBAQCYAgAh9gEBAJgCACH3AQEAmgIAIfgBAQCaAgAh-QEBAJoCACH6AQEAmgIAIfsBQACfAgAh_AFAAJ4CACH9AQIAmwIAIf4BAgCbAgAhgAIAAL0CgAIjggIBAJgCACEDAAAABwAgAQAApQEAMCcAAKYBACADAAAABwAgAQAACAAwAgAACQAgAQAAABwAIAEAAAAcACADAAAAGgAgAQAAGwAwAgAAHAAgAwAAABoAIAEAABsAMAIAABwAIAMAAAAaACABAAAbADACAAAcACAJAwAAyAMAIAYAAMcDACDBAQEAAAAB0QFAAAAAAdIBQAAAAAHkAQEAAAAB5QEBAAAAAe8BAgAAAAHwAQEAAAABARsAAK4BACAHwQEBAAAAAdEBQAAAAAHSAUAAAAAB5AEBAAAAAeUBAQAAAAHvAQIAAAAB8AEBAAAAAQEbAACwAQAwARsAALABADAJAwAAxgMAIAYAAMUDACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACHkAQEAhwMAIeUBAQCHAwAh7wECAIoDACHwAQEAiQMAIQIAAAAcACAbAACzAQAgB8EBAQCHAwAh0QFAAI0DACHSAUAAjQMAIeQBAQCHAwAh5QEBAIcDACHvAQIAigMAIfABAQCJAwAhAgAAABoAIBsAALUBACACAAAAGgAgGwAAtQEAIAMAAAAcACAiAACuAQAgIwAAswEAIAEAAAAcACABAAAAGgAgBgoAAMADACAoAADDAwAgKQAAwgMAIEoAAMEDACBLAADEAwAg8AEAAIEDACAKvgEAALoCADC_AQAAvAEAEMABAAC6AgAwwQEBAJgCACHRAUAAnwIAIdIBQACfAgAh5AEBAJgCACHlAQEAmAIAIe8BAgCbAgAh8AEBAJoCACEDAAAAGgAgAQAAuwEAMCcAALwBACADAAAAGgAgAQAAGwAwAgAAHAAgAQAAABgAIAEAAAAYACADAAAAFgAgAQAAFwAwAgAAGAAgAwAAABYAIAEAABcAMAIAABgAIAMAAAAWACABAAAXADACAAAYACAGBgAAvwMAIMEBAQAAAAHkAQEAAAAB7AEBAAAAAe0BAQAAAAHuAQIAAAABARsAAMQBACAFwQEBAAAAAeQBAQAAAAHsAQEAAAAB7QEBAAAAAe4BAgAAAAEBGwAAxgEAMAEbAADGAQAwBgYAAL4DACDBAQEAhwMAIeQBAQCHAwAh7AEBAIcDACHtAQEAiQMAIe4BAgCKAwAhAgAAABgAIBsAAMkBACAFwQEBAIcDACHkAQEAhwMAIewBAQCHAwAh7QEBAIkDACHuAQIAigMAIQIAAAAWACAbAADLAQAgAgAAABYAIBsAAMsBACADAAAAGAAgIgAAxAEAICMAAMkBACABAAAAGAAgAQAAABYAIAYKAAC5AwAgKAAAvAMAICkAALsDACBKAAC6AwAgSwAAvQMAIO0BAACBAwAgCL4BAAC5AgAwvwEAANIBABDAAQAAuQIAMMEBAQCYAgAh5AEBAJgCACHsAQEAmAIAIe0BAQCaAgAh7gECAJsCACEDAAAAFgAgAQAA0QEAMCcAANIBACADAAAAFgAgAQAAFwAwAgAAGAAgAQAAAA0AIAEAAAANACADAAAACwAgAQAADAAwAgAADQAgAwAAAAsAIAEAAAwAMAIAAA0AIAMAAAALACABAAAMADACAAANACAKAwAAtwMAIAYAALYDACAIAAC4AwAgwQEBAAAAAcoBAAAA6gEC0QFAAAAAAeQBAQAAAAHlAQEAAAAB6gFAAAAAAesBQAAAAAEBGwAA2gEAIAfBAQEAAAABygEAAADqAQLRAUAAAAAB5AEBAAAAAeUBAQAAAAHqAUAAAAAB6wFAAAAAAQEbAADcAQAwARsAANwBADAKAwAArwMAIAYAAK4DACAIAACwAwAgwQEBAIcDACHKAQAArQPqASLRAUAAjQMAIeQBAQCHAwAh5QEBAIcDACHqAUAAjAMAIesBQACMAwAhAgAAAA0AIBsAAN8BACAHwQEBAIcDACHKAQAArQPqASLRAUAAjQMAIeQBAQCHAwAh5QEBAIcDACHqAUAAjAMAIesBQACMAwAhAgAAAAsAIBsAAOEBACACAAAACwAgGwAA4QEAIAMAAAANACAiAADaAQAgIwAA3wEAIAEAAAANACABAAAACwAgBQoAAKoDACAoAACsAwAgKQAAqwMAIOoBAACBAwAg6wEAAIEDACAKvgEAALUCADC_AQAA6AEAEMABAAC1AgAwwQEBAJgCACHKAQAAtgLqASLRAUAAnwIAIeQBAQCYAgAh5QEBAJgCACHqAUAAngIAIesBQACeAgAhAwAAAAsAIAEAAOcBADAnAADoAQAgAwAAAAsAIAEAAAwAMAIAAA0AIAEAAAAfACABAAAAHwAgAwAAAA8AIAEAAB4AMAIAAB8AIAMAAAAPACABAAAeADACAAAfACADAAAADwAgAQAAHgAwAgAAHwAgDQMAAKcDACAGAACmAwAgBwAAqAMAIAkAAKkDACDBAQEAAAAByAECAAAAAcoBAAAA6QEC0QFAAAAAAdIBQAAAAAHkAQEAAAAB5QEBAAAAAeYBAQAAAAHnAQEAAAABARsAAPABACAJwQEBAAAAAcgBAgAAAAHKAQAAAOkBAtEBQAAAAAHSAUAAAAAB5AEBAAAAAeUBAQAAAAHmAQEAAAAB5wEBAAAAAQEbAADyAQAwARsAAPIBADANAwAAlwMAIAYAAJYDACAHAACYAwAgCQAAmQMAIMEBAQCHAwAhyAECAIoDACHKAQAAlQPpASLRAUAAjQMAIdIBQACNAwAh5AEBAIcDACHlAQEAhwMAIeYBAQCHAwAh5wEBAIcDACECAAAAHwAgGwAA9QEAIAnBAQEAhwMAIcgBAgCKAwAhygEAAJUD6QEi0QFAAI0DACHSAUAAjQMAIeQBAQCHAwAh5QEBAIcDACHmAQEAhwMAIecBAQCHAwAhAgAAAA8AIBsAAPcBACACAAAADwAgGwAA9wEAIAMAAAAfACAiAADwAQAgIwAA9QEAIAEAAAAfACABAAAADwAgBQoAAJADACAoAACTAwAgKQAAkgMAIEoAAJEDACBLAACUAwAgDL4BAACxAgAwvwEAAP4BABDAAQAAsQIAMMEBAQCYAgAhyAECAJsCACHKAQAAsgLpASLRAUAAnwIAIdIBQACfAgAh5AEBAJgCACHlAQEAmAIAIeYBAQCYAgAh5wEBAJgCACEDAAAADwAgAQAA_QEAMCcAAP4BACADAAAADwAgAQAAHgAwAgAAHwAgAQAAABMAIAEAAAATACADAAAAEQAgAQAAEgAwAgAAEwAgAwAAABEAIAEAABIAMAIAABMAIAMAAAARACABAAASADACAAATACARCAAAjwMAIMEBAQAAAAHCAQEAAAABxAEAAADEAQLFAQEAAAABxgEBAAAAAccBAQAAAAHIAQIAAAABygEAAADKAQLLAYAAAAABzAEBAAAAAc0BQAAAAAHOAUAAAAABzwFAAAAAAdABAQAAAAHRAUAAAAAB0gFAAAAAAQEbAACGAgAgEMEBAQAAAAHCAQEAAAABxAEAAADEAQLFAQEAAAABxgEBAAAAAccBAQAAAAHIAQIAAAABygEAAADKAQLLAYAAAAABzAEBAAAAAc0BQAAAAAHOAUAAAAABzwFAAAAAAdABAQAAAAHRAUAAAAAB0gFAAAAAAQEbAACIAgAwARsAAIgCADARCAAAjgMAIMEBAQCHAwAhwgEBAIcDACHEAQAAiAPEASLFAQEAhwMAIcYBAQCJAwAhxwEBAIkDACHIAQIAigMAIcoBAACLA8oBIssBgAAAAAHMAQEAiQMAIc0BQACMAwAhzgFAAIwDACHPAUAAjAMAIdABAQCJAwAh0QFAAI0DACHSAUAAjQMAIQIAAAATACAbAACLAgAgEMEBAQCHAwAhwgEBAIcDACHEAQAAiAPEASLFAQEAhwMAIcYBAQCJAwAhxwEBAIkDACHIAQIAigMAIcoBAACLA8oBIssBgAAAAAHMAQEAiQMAIc0BQACMAwAhzgFAAIwDACHPAUAAjAMAIdABAQCJAwAh0QFAAI0DACHSAUAAjQMAIQIAAAARACAbAACNAgAgAgAAABEAIBsAAI0CACADAAAAEwAgIgAAhgIAICMAAIsCACABAAAAEwAgAQAAABEAIA0KAACCAwAgKAAAhQMAICkAAIQDACBKAACDAwAgSwAAhgMAIMYBAACBAwAgxwEAAIEDACDLAQAAgQMAIMwBAACBAwAgzQEAAIEDACDOAQAAgQMAIM8BAACBAwAg0AEAAIEDACATvgEAAJcCADC_AQAAlAIAEMABAACXAgAwwQEBAJgCACHCAQEAmAIAIcQBAACZAsQBIsUBAQCYAgAhxgEBAJoCACHHAQEAmgIAIcgBAgCbAgAhygEAAJwCygEiywEAAJ0CACDMAQEAmgIAIc0BQACeAgAhzgFAAJ4CACHPAUAAngIAIdABAQCaAgAh0QFAAJ8CACHSAUAAnwIAIQMAAAARACABAACTAgAwJwAAlAIAIAMAAAARACABAAASADACAAATACATvgEAAJcCADC_AQAAlAIAEMABAACXAgAwwQEBAJgCACHCAQEAmAIAIcQBAACZAsQBIsUBAQCYAgAhxgEBAJoCACHHAQEAmgIAIcgBAgCbAgAhygEAAJwCygEiywEAAJ0CACDMAQEAmgIAIc0BQACeAgAhzgFAAJ4CACHPAUAAngIAIdABAQCaAgAh0QFAAJ8CACHSAUAAnwIAIQ4KAAChAgAgKAAAsAIAICkAALACACDTAQEAAAAB1AEBAAAABNUBAQAAAATWAQEAAAAB1wEBAAAAAdgBAQAAAAHZAQEAAAAB2gEBAK8CACHhAQEAAAAB4gEBAAAAAeMBAQAAAAEHCgAAoQIAICgAAK4CACApAACuAgAg0wEAAADEAQLUAQAAAMQBCNUBAAAAxAEI2gEAAK0CxAEiDgoAAKQCACAoAACsAgAgKQAArAIAINMBAQAAAAHUAQEAAAAF1QEBAAAABdYBAQAAAAHXAQEAAAAB2AEBAAAAAdkBAQAAAAHaAQEAqwIAIeEBAQAAAAHiAQEAAAAB4wEBAAAAAQ0KAAChAgAgKAAAoQIAICkAAKECACBKAACqAgAgSwAAoQIAINMBAgAAAAHUAQIAAAAE1QECAAAABNYBAgAAAAHXAQIAAAAB2AECAAAAAdkBAgAAAAHaAQIAqQIAIQcKAAChAgAgKAAAqAIAICkAAKgCACDTAQAAAMoBAtQBAAAAygEI1QEAAADKAQjaAQAApwLKASIPCgAApAIAICgAAKYCACApAACmAgAg0wGAAAAAAdYBgAAAAAHXAYAAAAAB2AGAAAAAAdkBgAAAAAHaAYAAAAAB2wEBAAAAAdwBAQAAAAHdAQEAAAAB3gGAAAAAAd8BgAAAAAHgAYAAAAABCwoAAKQCACAoAAClAgAgKQAApQIAINMBQAAAAAHUAUAAAAAF1QFAAAAABdYBQAAAAAHXAUAAAAAB2AFAAAAAAdkBQAAAAAHaAUAAowIAIQsKAAChAgAgKAAAogIAICkAAKICACDTAUAAAAAB1AFAAAAABNUBQAAAAATWAUAAAAAB1wFAAAAAAdgBQAAAAAHZAUAAAAAB2gFAAKACACELCgAAoQIAICgAAKICACApAACiAgAg0wFAAAAAAdQBQAAAAATVAUAAAAAE1gFAAAAAAdcBQAAAAAHYAUAAAAAB2QFAAAAAAdoBQACgAgAhCNMBAgAAAAHUAQIAAAAE1QECAAAABNYBAgAAAAHXAQIAAAAB2AECAAAAAdkBAgAAAAHaAQIAoQIAIQjTAUAAAAAB1AFAAAAABNUBQAAAAATWAUAAAAAB1wFAAAAAAdgBQAAAAAHZAUAAAAAB2gFAAKICACELCgAApAIAICgAAKUCACApAAClAgAg0wFAAAAAAdQBQAAAAAXVAUAAAAAF1gFAAAAAAdcBQAAAAAHYAUAAAAAB2QFAAAAAAdoBQACjAgAhCNMBAgAAAAHUAQIAAAAF1QECAAAABdYBAgAAAAHXAQIAAAAB2AECAAAAAdkBAgAAAAHaAQIApAIAIQjTAUAAAAAB1AFAAAAABdUBQAAAAAXWAUAAAAAB1wFAAAAAAdgBQAAAAAHZAUAAAAAB2gFAAKUCACEM0wGAAAAAAdYBgAAAAAHXAYAAAAAB2AGAAAAAAdkBgAAAAAHaAYAAAAAB2wEBAAAAAdwBAQAAAAHdAQEAAAAB3gGAAAAAAd8BgAAAAAHgAYAAAAABBwoAAKECACAoAACoAgAgKQAAqAIAINMBAAAAygEC1AEAAADKAQjVAQAAAMoBCNoBAACnAsoBIgTTAQAAAMoBAtQBAAAAygEI1QEAAADKAQjaAQAAqALKASINCgAAoQIAICgAAKECACApAAChAgAgSgAAqgIAIEsAAKECACDTAQIAAAAB1AECAAAABNUBAgAAAATWAQIAAAAB1wECAAAAAdgBAgAAAAHZAQIAAAAB2gECAKkCACEI0wEIAAAAAdQBCAAAAATVAQgAAAAE1gEIAAAAAdcBCAAAAAHYAQgAAAAB2QEIAAAAAdoBCACqAgAhDgoAAKQCACAoAACsAgAgKQAArAIAINMBAQAAAAHUAQEAAAAF1QEBAAAABdYBAQAAAAHXAQEAAAAB2AEBAAAAAdkBAQAAAAHaAQEAqwIAIeEBAQAAAAHiAQEAAAAB4wEBAAAAAQvTAQEAAAAB1AEBAAAABdUBAQAAAAXWAQEAAAAB1wEBAAAAAdgBAQAAAAHZAQEAAAAB2gEBAKwCACHhAQEAAAAB4gEBAAAAAeMBAQAAAAEHCgAAoQIAICgAAK4CACApAACuAgAg0wEAAADEAQLUAQAAAMQBCNUBAAAAxAEI2gEAAK0CxAEiBNMBAAAAxAEC1AEAAADEAQjVAQAAAMQBCNoBAACuAsQBIg4KAAChAgAgKAAAsAIAICkAALACACDTAQEAAAAB1AEBAAAABNUBAQAAAATWAQEAAAAB1wEBAAAAAdgBAQAAAAHZAQEAAAAB2gEBAK8CACHhAQEAAAAB4gEBAAAAAeMBAQAAAAEL0wEBAAAAAdQBAQAAAATVAQEAAAAE1gEBAAAAAdcBAQAAAAHYAQEAAAAB2QEBAAAAAdoBAQCwAgAh4QEBAAAAAeIBAQAAAAHjAQEAAAABDL4BAACxAgAwvwEAAP4BABDAAQAAsQIAMMEBAQCYAgAhyAECAJsCACHKAQAAsgLpASLRAUAAnwIAIdIBQACfAgAh5AEBAJgCACHlAQEAmAIAIeYBAQCYAgAh5wEBAJgCACEHCgAAoQIAICgAALQCACApAAC0AgAg0wEAAADpAQLUAQAAAOkBCNUBAAAA6QEI2gEAALMC6QEiBwoAAKECACAoAAC0AgAgKQAAtAIAINMBAAAA6QEC1AEAAADpAQjVAQAAAOkBCNoBAACzAukBIgTTAQAAAOkBAtQBAAAA6QEI1QEAAADpAQjaAQAAtALpASIKvgEAALUCADC_AQAA6AEAEMABAAC1AgAwwQEBAJgCACHKAQAAtgLqASLRAUAAnwIAIeQBAQCYAgAh5QEBAJgCACHqAUAAngIAIesBQACeAgAhBwoAAKECACAoAAC4AgAgKQAAuAIAINMBAAAA6gEC1AEAAADqAQjVAQAAAOoBCNoBAAC3AuoBIgcKAAChAgAgKAAAuAIAICkAALgCACDTAQAAAOoBAtQBAAAA6gEI1QEAAADqAQjaAQAAtwLqASIE0wEAAADqAQLUAQAAAOoBCNUBAAAA6gEI2gEAALgC6gEiCL4BAAC5AgAwvwEAANIBABDAAQAAuQIAMMEBAQCYAgAh5AEBAJgCACHsAQEAmAIAIe0BAQCaAgAh7gECAJsCACEKvgEAALoCADC_AQAAvAEAEMABAAC6AgAwwQEBAJgCACHRAUAAnwIAIdIBQACfAgAh5AEBAJgCACHlAQEAmAIAIe8BAgCbAgAh8AEBAJoCACEWvgEAALsCADC_AQAApgEAEMABAAC7AgAwwQEBAJgCACHKAQAAvgKCAiLRAUAAnwIAIdIBQACfAgAh8QEBAJgCACHyAQEAmgIAIfQBAAC8AvQBIvUBAQCYAgAh9gEBAJgCACH3AQEAmgIAIfgBAQCaAgAh-QEBAJoCACH6AQEAmgIAIfsBQACfAgAh_AFAAJ4CACH9AQIAmwIAIf4BAgCbAgAhgAIAAL0CgAIjggIBAJgCACEHCgAAoQIAICgAAMQCACApAADEAgAg0wEAAAD0AQLUAQAAAPQBCNUBAAAA9AEI2gEAAMMC9AEiBwoAAKQCACAoAADCAgAgKQAAwgIAINMBAAAAgAID1AEAAACAAgnVAQAAAIACCdoBAADBAoACIwcKAAChAgAgKAAAwAIAICkAAMACACDTAQAAAIICAtQBAAAAggII1QEAAACCAgjaAQAAvwKCAiIHCgAAoQIAICgAAMACACApAADAAgAg0wEAAACCAgLUAQAAAIICCNUBAAAAggII2gEAAL8CggIiBNMBAAAAggIC1AEAAACCAgjVAQAAAIICCNoBAADAAoICIgcKAACkAgAgKAAAwgIAICkAAMICACDTAQAAAIACA9QBAAAAgAIJ1QEAAACAAgnaAQAAwQKAAiME0wEAAACAAgPUAQAAAIACCdUBAAAAgAIJ2gEAAMICgAIjBwoAAKECACAoAADEAgAgKQAAxAIAINMBAAAA9AEC1AEAAAD0AQjVAQAAAPQBCNoBAADDAvQBIgTTAQAAAPQBAtQBAAAA9AEI1QEAAAD0AQjaAQAAxAL0ASIWvgEAAMUCADC_AQAAkAEAEMABAADFAgAwwQEBAJgCACHKAQAAxgKOAiLQAQEAmgIAIdEBQACfAgAh0gFAAJ8CACHlAQEAmAIAIYMCAQCYAgAhhAIBAJgCACGFAgEAmAIAIYYCQACfAgAhhwIBAJgCACGIAgEAmAIAIYkCAQCYAgAhigIBAJgCACGLAgEAmAIAIYwCAQCYAgAhjgJAAJ4CACGPAgEAmgIAIZACQACeAgAhBwoAAKECACAoAADIAgAgKQAAyAIAINMBAAAAjgIC1AEAAACOAgjVAQAAAI4CCNoBAADHAo4CIgcKAAChAgAgKAAAyAIAICkAAMgCACDTAQAAAI4CAtQBAAAAjgII1QEAAACOAgjaAQAAxwKOAiIE0wEAAACOAgLUAQAAAI4CCNUBAAAAjgII2gEAAMgCjgIiD74BAADJAgAwvwEAAHgAEMABAADJAgAwwQEBAJgCACHEAQEAmAIAIeUBAQCYAgAhkQIBAJgCACGSAgEAmAIAIZMCAQCaAgAhlAIBAJoCACGVAgIAygIAIZYCAQCaAgAhlwIBAJoCACGYAgEAmgIAIZkCAQCaAgAhDQoAAKQCACAoAACkAgAgKQAApAIAIEoAAMwCACBLAACkAgAg0wECAAAAAdQBAgAAAAXVAQIAAAAF1gECAAAAAdcBAgAAAAHYAQIAAAAB2QECAAAAAdoBAgDLAgAhDQoAAKQCACAoAACkAgAgKQAApAIAIEoAAMwCACBLAACkAgAg0wECAAAAAdQBAgAAAAXVAQIAAAAF1gECAAAAAdcBAgAAAAHYAQIAAAAB2QECAAAAAdoBAgDLAgAhCNMBCAAAAAHUAQgAAAAF1QEIAAAABdYBCAAAAAHXAQgAAAAB2AEIAAAAAdkBCAAAAAHaAQgAzAIAIQy-AQAAzQIAML8BAABiABDAAQAAzQIAMMEBAQCYAgAh0QFAAJ8CACHSAUAAnwIAIeUBAQCYAgAhgAIAAL0CgAIjmgIBAJoCACGbAgEAmgIAIZwCAADOAgAgnQIBAJoCACEE0wEBAAAABZ4CAQAAAAGfAgEAAAAEoAIBAAAABA0DAADTAgAgvgEAAM8CADC_AQAALwAQwAEAAM8CADDBAQEA2AIAIdEBQADSAgAh0gFAANICACHlAQEA2AIAIYACAADRAoACI5oCAQDQAgAhmwIBANACACGcAgAAzgIAIJ0CAQDQAgAhC9MBAQAAAAHUAQEAAAAF1QEBAAAABdYBAQAAAAHXAQEAAAAB2AEBAAAAAdkBAQAAAAHaAQEArAIAIeEBAQAAAAHiAQEAAAAB4wEBAAAAAQTTAQAAAIACA9QBAAAAgAIJ1QEAAACAAgnaAQAAwgKAAiMI0wFAAAAAAdQBQAAAAATVAUAAAAAE1gFAAAAAAdcBQAAAAAHYAUAAAAAB2QFAAAAAAdoBQACiAgAhFwQAAN8CACAOAADjAgAgDwAA4AIAIBAAAOECACARAADiAgAgEwAA5AIAIBQAAOUCACAVAADmAgAgvgEAAN0CADC_AQAAKgAQwAEAAN0CADDBAQEA2AIAIdEBQADSAgAh0gFAANICACGhAgEA2AIAIaICAQDYAgAhowIBANACACGkAgEA0AIAIaUCQADbAgAhpgIgAN4CACGnAkAA2wIAIa0CAAAqACCuAgAAKgAgDb4BAADUAgAwvwEAAEoAEMABAADUAgAwwQEBAJgCACHRAUAAnwIAIdIBQACfAgAhoQIBAJgCACGiAgEAmAIAIaMCAQCaAgAhpAIBAJoCACGlAkAAngIAIaYCIADVAgAhpwJAAJ4CACEFCgAAoQIAICgAANcCACApAADXAgAg0wEgAAAAAdoBIADWAgAhBQoAAKECACAoAADXAgAgKQAA1wIAINMBIAAAAAHaASAA1gIAIQLTASAAAAAB2gEgANcCACEL0wEBAAAAAdQBAQAAAATVAQEAAAAE1gEBAAAAAdcBAQAAAAHYAQEAAAAB2QEBAAAAAdoBAQCwAgAh4QEBAAAAAeIBAQAAAAHjAQEAAAABGAMAANMCACASAADcAgAgvgEAANkCADC_AQAAKAAQwAEAANkCADDBAQEA2AIAIcoBAADaAo4CItABAQDQAgAh0QFAANICACHSAUAA0gIAIeUBAQDYAgAhgwIBANgCACGEAgEA2AIAIYUCAQDYAgAhhgJAANICACGHAgEA2AIAIYgCAQDYAgAhiQIBANgCACGKAgEA2AIAIYsCAQDYAgAhjAIBANgCACGOAkAA2wIAIY8CAQDQAgAhkAJAANsCACEE0wEAAACOAgLUAQAAAI4CCNUBAAAAjgII2gEAAMgCjgIiCNMBQAAAAAHUAUAAAAAF1QFAAAAABdYBQAAAAAHXAUAAAAAB2AFAAAAAAdkBQAAAAAHaAUAApQIAIRcEAADfAgAgDgAA4wIAIA8AAOACACAQAADhAgAgEQAA4gIAIBMAAOQCACAUAADlAgAgFQAA5gIAIL4BAADdAgAwvwEAACoAEMABAADdAgAwwQEBANgCACHRAUAA0gIAIdIBQADSAgAhoQIBANgCACGiAgEA2AIAIaMCAQDQAgAhpAIBANACACGlAkAA2wIAIaYCIADeAgAhpwJAANsCACGtAgAAKgAgrgIAACoAIBUEAADfAgAgDgAA4wIAIA8AAOACACAQAADhAgAgEQAA4gIAIBMAAOQCACAUAADlAgAgFQAA5gIAIL4BAADdAgAwvwEAACoAEMABAADdAgAwwQEBANgCACHRAUAA0gIAIdIBQADSAgAhoQIBANgCACGiAgEA2AIAIaMCAQDQAgAhpAIBANACACGlAkAA2wIAIaYCIADeAgAhpwJAANsCACEC0wEgAAAAAdoBIADXAgAhA6gCAAADACCpAgAAAwAgqgIAAAMAIAOoAgAABwAgqQIAAAcAIKoCAAAHACADqAIAAAsAIKkCAAALACCqAgAACwAgA6gCAAAaACCpAgAAGgAgqgIAABoAIAOoAgAADwAgqQIAAA8AIKoCAAAPACAaAwAA0wIAIBIAANwCACC-AQAA2QIAML8BAAAoABDAAQAA2QIAMMEBAQDYAgAhygEAANoCjgIi0AEBANACACHRAUAA0gIAIdIBQADSAgAh5QEBANgCACGDAgEA2AIAIYQCAQDYAgAhhQIBANgCACGGAkAA0gIAIYcCAQDYAgAhiAIBANgCACGJAgEA2AIAIYoCAQDYAgAhiwIBANgCACGMAgEA2AIAIY4CQADbAgAhjwIBANACACGQAkAA2wIAIa0CAAAoACCuAgAAKAAgA6gCAAAoACCpAgAAKAAgqgIAACgAIA8DAADTAgAgvgEAAM8CADC_AQAALwAQwAEAAM8CADDBAQEA2AIAIdEBQADSAgAh0gFAANICACHlAQEA2AIAIYACAADRAoACI5oCAQDQAgAhmwIBANACACGcAgAAzgIAIJ0CAQDQAgAhrQIAAC8AIK4CAAAvACAC5AEBAAAAAeUBAQAAAAEQAwAA0wIAIAYAAOsCACAHAADsAgAgCQAA7QIAIL4BAADoAgAwvwEAAA8AEMABAADoAgAwwQEBANgCACHIAQIA6QIAIcoBAADqAukBItEBQADSAgAh0gFAANICACHkAQEA2AIAIeUBAQDYAgAh5gEBANgCACHnAQEA2AIAIQjTAQIAAAAB1AECAAAABNUBAgAAAATWAQIAAAAB1wECAAAAAdgBAgAAAAHZAQIAAAAB2gECAKECACEE0wEAAADpAQLUAQAAAOkBCNUBAAAA6QEI2gEAALQC6QEiHQUAANMCACALAADhAgAgDAAA_QIAIA0AAOICACAOAADjAgAgvgEAAPoCADC_AQAABwAQwAEAAPoCADDBAQEA2AIAIcoBAAD8AoICItEBQADSAgAh0gFAANICACHxAQEA2AIAIfIBAQDQAgAh9AEAAPsC9AEi9QEBANgCACH2AQEA2AIAIfcBAQDQAgAh-AEBANACACH5AQEA0AIAIfoBAQDQAgAh-wFAANICACH8AUAA2wIAIf0BAgDpAgAh_gECAOkCACGAAgAA0QKAAiOCAgEA2AIAIa0CAAAHACCuAgAABwAgDwMAANMCACAGAADrAgAgCAAA-QIAIL4BAAD3AgAwvwEAAAsAEMABAAD3AgAwwQEBANgCACHKAQAA-ALqASLRAUAA0gIAIeQBAQDYAgAh5QEBANgCACHqAUAA2wIAIesBQADbAgAhrQIAAAsAIK4CAAALACADqAIAABEAIKkCAAARACCqAgAAEQAgAuQBAQAAAAHlAQEAAAABDAMAANMCACAGAADrAgAgvgEAAO8CADC_AQAAGgAQwAEAAO8CADDBAQEA2AIAIdEBQADSAgAh0gFAANICACHkAQEA2AIAIeUBAQDYAgAh7wECAOkCACHwAQEA0AIAIQkGAADrAgAgvgEAAPACADC_AQAAFgAQwAEAAPACADDBAQEA2AIAIeQBAQDYAgAh7AEBANgCACHtAQEA0AIAIe4BAgDpAgAhFAgAAPUCACC-AQAA8QIAML8BAAARABDAAQAA8QIAMMEBAQDYAgAhwgEBANgCACHEAQAA8gLEASLFAQEA2AIAIcYBAQDQAgAhxwEBANACACHIAQIA6QIAIcoBAADzAsoBIssBAAD0AgAgzAEBANACACHNAUAA2wIAIc4BQADbAgAhzwFAANsCACHQAQEA0AIAIdEBQADSAgAh0gFAANICACEE0wEAAADEAQLUAQAAAMQBCNUBAAAAxAEI2gEAAK4CxAEiBNMBAAAAygEC1AEAAADKAQjVAQAAAMoBCNoBAACoAsoBIgzTAYAAAAAB1gGAAAAAAdcBgAAAAAHYAYAAAAAB2QGAAAAAAdoBgAAAAAHbAQEAAAAB3AEBAAAAAd0BAQAAAAHeAYAAAAAB3wGAAAAAAeABgAAAAAESAwAA0wIAIAYAAOsCACAHAADsAgAgCQAA7QIAIL4BAADoAgAwvwEAAA8AEMABAADoAgAwwQEBANgCACHIAQIA6QIAIcoBAADqAukBItEBQADSAgAh0gFAANICACHkAQEA2AIAIeUBAQDYAgAh5gEBANgCACHnAQEA2AIAIa0CAAAPACCuAgAADwAgAuQBAQAAAAHlAQEAAAABDQMAANMCACAGAADrAgAgCAAA-QIAIL4BAAD3AgAwvwEAAAsAEMABAAD3AgAwwQEBANgCACHKAQAA-ALqASLRAUAA0gIAIeQBAQDYAgAh5QEBANgCACHqAUAA2wIAIesBQADbAgAhBNMBAAAA6gEC1AEAAADqAQjVAQAAAOoBCNoBAAC4AuoBIhIDAADTAgAgBgAA6wIAIAcAAOwCACAJAADtAgAgvgEAAOgCADC_AQAADwAQwAEAAOgCADDBAQEA2AIAIcgBAgDpAgAhygEAAOoC6QEi0QFAANICACHSAUAA0gIAIeQBAQDYAgAh5QEBANgCACHmAQEA2AIAIecBAQDYAgAhrQIAAA8AIK4CAAAPACAbBQAA0wIAIAsAAOECACAMAAD9AgAgDQAA4gIAIA4AAOMCACC-AQAA-gIAML8BAAAHABDAAQAA-gIAMMEBAQDYAgAhygEAAPwCggIi0QFAANICACHSAUAA0gIAIfEBAQDYAgAh8gEBANACACH0AQAA-wL0ASL1AQEA2AIAIfYBAQDYAgAh9wEBANACACH4AQEA0AIAIfkBAQDQAgAh-gEBANACACH7AUAA0gIAIfwBQADbAgAh_QECAOkCACH-AQIA6QIAIYACAADRAoACI4ICAQDYAgAhBNMBAAAA9AEC1AEAAAD0AQjVAQAAAPQBCNoBAADEAvQBIgTTAQAAAIICAtQBAAAAggII1QEAAACCAgjaAQAAwAKCAiIDqAIAABYAIKkCAAAWACCqAgAAFgAgAsQBAQAAAAGSAgEAAAABEAMAANMCACC-AQAA_wIAML8BAAADABDAAQAA_wIAMMEBAQDYAgAhxAEBANgCACHlAQEA2AIAIZECAQDYAgAhkgIBANgCACGTAgEA0AIAIZQCAQDQAgAhlQICAIADACGWAgEA0AIAIZcCAQDQAgAhmAIBANACACGZAgEA0AIAIQjTAQIAAAAB1AECAAAABdUBAgAAAAXWAQIAAAAB1wECAAAAAdgBAgAAAAHZAQIAAAAB2gECAKQCACEAAAAAAAABsgIBAAAAAQGyAgAAAMQBAgGyAgEAAAABBbICAgAAAAG5AgIAAAABugICAAAAAbsCAgAAAAG8AgIAAAABAbICAAAAygECAbICQAAAAAEBsgJAAAAAAQUiAADZBQAgIwAA3AUAIK8CAADaBQAgsAIAANsFACC1AgAAHwAgAyIAANkFACCvAgAA2gUAILUCAAAfACAAAAAAAAGyAgAAAOkBAgUiAADNBQAgIwAA1wUAIK8CAADOBQAgsAIAANYFACC1AgAACQAgBSIAAMsFACAjAADUBQAgrwIAAMwFACCwAgAA0wUAILUCAAABACAFIgAAyQUAICMAANEFACCvAgAAygUAILACAADQBQAgtQIAAA0AIAsiAACaAwAwIwAAnwMAMK8CAACbAwAwsAIAAJwDADCxAgAAnQMAILICAACeAwAwswIAAJ4DADC0AgAAngMAMLUCAACeAwAwtgIAAKADADC3AgAAoQMAMA_BAQEAAAABxAEAAADEAQLFAQEAAAABxgEBAAAAAccBAQAAAAHIAQIAAAABygEAAADKAQLLAYAAAAABzAEBAAAAAc0BQAAAAAHOAUAAAAABzwFAAAAAAdABAQAAAAHRAUAAAAAB0gFAAAAAAQIAAAATACAiAAClAwAgAwAAABMAICIAAKUDACAjAACkAwAgARsAAM8FADAUCAAA9QIAIL4BAADxAgAwvwEAABEAEMABAADxAgAwwQEBAAAAAcIBAQDYAgAhxAEAAPICxAEixQEBAAAAAcYBAQDQAgAhxwEBANACACHIAQIA6QIAIcoBAADzAsoBIssBAAD0AgAgzAEBANACACHNAUAA2wIAIc4BQADbAgAhzwFAANsCACHQAQEA0AIAIdEBQADSAgAh0gFAANICACECAAAAEwAgGwAApAMAIAIAAACiAwAgGwAAowMAIBO-AQAAoQMAML8BAACiAwAQwAEAAKEDADDBAQEA2AIAIcIBAQDYAgAhxAEAAPICxAEixQEBANgCACHGAQEA0AIAIccBAQDQAgAhyAECAOkCACHKAQAA8wLKASLLAQAA9AIAIMwBAQDQAgAhzQFAANsCACHOAUAA2wIAIc8BQADbAgAh0AEBANACACHRAUAA0gIAIdIBQADSAgAhE74BAAChAwAwvwEAAKIDABDAAQAAoQMAMMEBAQDYAgAhwgEBANgCACHEAQAA8gLEASLFAQEA2AIAIcYBAQDQAgAhxwEBANACACHIAQIA6QIAIcoBAADzAsoBIssBAAD0AgAgzAEBANACACHNAUAA2wIAIc4BQADbAgAhzwFAANsCACHQAQEA0AIAIdEBQADSAgAh0gFAANICACEPwQEBAIcDACHEAQAAiAPEASLFAQEAhwMAIcYBAQCJAwAhxwEBAIkDACHIAQIAigMAIcoBAACLA8oBIssBgAAAAAHMAQEAiQMAIc0BQACMAwAhzgFAAIwDACHPAUAAjAMAIdABAQCJAwAh0QFAAI0DACHSAUAAjQMAIQ_BAQEAhwMAIcQBAACIA8QBIsUBAQCHAwAhxgEBAIkDACHHAQEAiQMAIcgBAgCKAwAhygEAAIsDygEiywGAAAAAAcwBAQCJAwAhzQFAAIwDACHOAUAAjAMAIc8BQACMAwAh0AEBAIkDACHRAUAAjQMAIdIBQACNAwAhD8EBAQAAAAHEAQAAAMQBAsUBAQAAAAHGAQEAAAABxwEBAAAAAcgBAgAAAAHKAQAAAMoBAssBgAAAAAHMAQEAAAABzQFAAAAAAc4BQAAAAAHPAUAAAAAB0AEBAAAAAdEBQAAAAAHSAUAAAAABAyIAAM0FACCvAgAAzgUAILUCAAAJACADIgAAywUAIK8CAADMBQAgtQIAAAEAIAMiAADJBQAgrwIAAMoFACC1AgAADQAgBCIAAJoDADCvAgAAmwMAMLECAACdAwAgtQIAAJ4DADAAAAABsgIAAADqAQIFIgAAwQUAICMAAMcFACCvAgAAwgUAILACAADGBQAgtQIAAAkAIAUiAAC_BQAgIwAAxAUAIK8CAADABQAgsAIAAMMFACC1AgAAAQAgByIAALEDACAjAAC0AwAgrwIAALIDACCwAgAAswMAILMCAAAPACC0AgAADwAgtQIAAB8AIAsDAACnAwAgBgAApgMAIAkAAKkDACDBAQEAAAAByAECAAAAAcoBAAAA6QEC0QFAAAAAAdIBQAAAAAHkAQEAAAAB5QEBAAAAAecBAQAAAAECAAAAHwAgIgAAsQMAIAMAAAAPACAiAACxAwAgIwAAtQMAIA0AAAAPACADAACXAwAgBgAAlgMAIAkAAJkDACAbAAC1AwAgwQEBAIcDACHIAQIAigMAIcoBAACVA-kBItEBQACNAwAh0gFAAI0DACHkAQEAhwMAIeUBAQCHAwAh5wEBAIcDACELAwAAlwMAIAYAAJYDACAJAACZAwAgwQEBAIcDACHIAQIAigMAIcoBAACVA-kBItEBQACNAwAh0gFAAI0DACHkAQEAhwMAIeUBAQCHAwAh5wEBAIcDACEDIgAAwQUAIK8CAADCBQAgtQIAAAkAIAMiAAC_BQAgrwIAAMAFACC1AgAAAQAgAyIAALEDACCvAgAAsgMAILUCAAAfACAAAAAAAAUiAAC6BQAgIwAAvQUAIK8CAAC7BQAgsAIAALwFACC1AgAACQAgAyIAALoFACCvAgAAuwUAILUCAAAJACAAAAAAAAUiAACyBQAgIwAAuAUAIK8CAACzBQAgsAIAALcFACC1AgAACQAgBSIAALAFACAjAAC1BQAgrwIAALEFACCwAgAAtAUAILUCAAABACADIgAAsgUAIK8CAACzBQAgtQIAAAkAIAMiAACwBQAgrwIAALEFACC1AgAAAQAgAAAAAAABsgIAAAD0AQIBsgIAAACAAgMBsgIAAACCAgIFIgAApwUAICMAAK4FACCvAgAAqAUAILACAACtBQAgtQIAAAEAIAsiAAD6AwAwIwAA_wMAMK8CAAD7AwAwsAIAAPwDADCxAgAA_QMAILICAAD-AwAwswIAAP4DADC0AgAA_gMAMLUCAAD-AwAwtgIAAIAEADC3AgAAgQQAMAsiAADuAwAwIwAA8wMAMK8CAADvAwAwsAIAAPADADCxAgAA8QMAILICAADyAwAwswIAAPIDADC0AgAA8gMAMLUCAADyAwAwtgIAAPQDADC3AgAA9QMAMAsiAADiAwAwIwAA5wMAMK8CAADjAwAwsAIAAOQDADCxAgAA5QMAILICAADmAwAwswIAAOYDADC0AgAA5gMAMLUCAADmAwAwtgIAAOgDADC3AgAA6QMAMAsiAADWAwAwIwAA2wMAMK8CAADXAwAwsAIAANgDADCxAgAA2QMAILICAADaAwAwswIAANoDADC0AgAA2gMAMLUCAADaAwAwtgIAANwDADC3AgAA3QMAMAsDAACnAwAgBwAAqAMAIAkAAKkDACDBAQEAAAAByAECAAAAAcoBAAAA6QEC0QFAAAAAAdIBQAAAAAHlAQEAAAAB5gEBAAAAAecBAQAAAAECAAAAHwAgIgAA4QMAIAMAAAAfACAiAADhAwAgIwAA4AMAIAEbAACsBQAwEQMAANMCACAGAADrAgAgBwAA7AIAIAkAAO0CACC-AQAA6AIAML8BAAAPABDAAQAA6AIAMMEBAQAAAAHIAQIA6QIAIcoBAADqAukBItEBQADSAgAh0gFAANICACHkAQEA2AIAIeUBAQDYAgAh5gEBAAAAAecBAQDYAgAhqwIAAOcCACACAAAAHwAgGwAA4AMAIAIAAADeAwAgGwAA3wMAIAy-AQAA3QMAML8BAADeAwAQwAEAAN0DADDBAQEA2AIAIcgBAgDpAgAhygEAAOoC6QEi0QFAANICACHSAUAA0gIAIeQBAQDYAgAh5QEBANgCACHmAQEA2AIAIecBAQDYAgAhDL4BAADdAwAwvwEAAN4DABDAAQAA3QMAMMEBAQDYAgAhyAECAOkCACHKAQAA6gLpASLRAUAA0gIAIdIBQADSAgAh5AEBANgCACHlAQEA2AIAIeYBAQDYAgAh5wEBANgCACEIwQEBAIcDACHIAQIAigMAIcoBAACVA-kBItEBQACNAwAh0gFAAI0DACHlAQEAhwMAIeYBAQCHAwAh5wEBAIcDACELAwAAlwMAIAcAAJgDACAJAACZAwAgwQEBAIcDACHIAQIAigMAIcoBAACVA-kBItEBQACNAwAh0gFAAI0DACHlAQEAhwMAIeYBAQCHAwAh5wEBAIcDACELAwAApwMAIAcAAKgDACAJAACpAwAgwQEBAAAAAcgBAgAAAAHKAQAAAOkBAtEBQAAAAAHSAUAAAAAB5QEBAAAAAeYBAQAAAAHnAQEAAAABBwMAAMgDACDBAQEAAAAB0QFAAAAAAdIBQAAAAAHlAQEAAAAB7wECAAAAAfABAQAAAAECAAAAHAAgIgAA7QMAIAMAAAAcACAiAADtAwAgIwAA7AMAIAEbAACrBQAwDQMAANMCACAGAADrAgAgvgEAAO8CADC_AQAAGgAQwAEAAO8CADDBAQEAAAAB0QFAANICACHSAUAA0gIAIeQBAQDYAgAh5QEBANgCACHvAQIA6QIAIfABAQDQAgAhqwIAAO4CACACAAAAHAAgGwAA7AMAIAIAAADqAwAgGwAA6wMAIAq-AQAA6QMAML8BAADqAwAQwAEAAOkDADDBAQEA2AIAIdEBQADSAgAh0gFAANICACHkAQEA2AIAIeUBAQDYAgAh7wECAOkCACHwAQEA0AIAIQq-AQAA6QMAML8BAADqAwAQwAEAAOkDADDBAQEA2AIAIdEBQADSAgAh0gFAANICACHkAQEA2AIAIeUBAQDYAgAh7wECAOkCACHwAQEA0AIAIQbBAQEAhwMAIdEBQACNAwAh0gFAAI0DACHlAQEAhwMAIe8BAgCKAwAh8AEBAIkDACEHAwAAxgMAIMEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIeUBAQCHAwAh7wECAIoDACHwAQEAiQMAIQcDAADIAwAgwQEBAAAAAdEBQAAAAAHSAUAAAAAB5QEBAAAAAe8BAgAAAAHwAQEAAAABBMEBAQAAAAHsAQEAAAAB7QEBAAAAAe4BAgAAAAECAAAAGAAgIgAA-QMAIAMAAAAYACAiAAD5AwAgIwAA-AMAIAEbAACqBQAwCQYAAOsCACC-AQAA8AIAML8BAAAWABDAAQAA8AIAMMEBAQAAAAHkAQEA2AIAIewBAQDYAgAh7QEBANACACHuAQIA6QIAIQIAAAAYACAbAAD4AwAgAgAAAPYDACAbAAD3AwAgCL4BAAD1AwAwvwEAAPYDABDAAQAA9QMAMMEBAQDYAgAh5AEBANgCACHsAQEA2AIAIe0BAQDQAgAh7gECAOkCACEIvgEAAPUDADC_AQAA9gMAEMABAAD1AwAwwQEBANgCACHkAQEA2AIAIewBAQDYAgAh7QEBANACACHuAQIA6QIAIQTBAQEAhwMAIewBAQCHAwAh7QEBAIkDACHuAQIAigMAIQTBAQEAhwMAIewBAQCHAwAh7QEBAIkDACHuAQIAigMAIQTBAQEAAAAB7AEBAAAAAe0BAQAAAAHuAQIAAAABCAMAALcDACAIAAC4AwAgwQEBAAAAAcoBAAAA6gEC0QFAAAAAAeUBAQAAAAHqAUAAAAAB6wFAAAAAAQIAAAANACAiAACFBAAgAwAAAA0AICIAAIUEACAjAACEBAAgARsAAKkFADAOAwAA0wIAIAYAAOsCACAIAAD5AgAgvgEAAPcCADC_AQAACwAQwAEAAPcCADDBAQEAAAABygEAAPgC6gEi0QFAANICACHkAQEA2AIAIeUBAQDYAgAh6gFAANsCACHrAUAA2wIAIasCAAD2AgAgAgAAAA0AIBsAAIQEACACAAAAggQAIBsAAIMEACAKvgEAAIEEADC_AQAAggQAEMABAACBBAAwwQEBANgCACHKAQAA-ALqASLRAUAA0gIAIeQBAQDYAgAh5QEBANgCACHqAUAA2wIAIesBQADbAgAhCr4BAACBBAAwvwEAAIIEABDAAQAAgQQAMMEBAQDYAgAhygEAAPgC6gEi0QFAANICACHkAQEA2AIAIeUBAQDYAgAh6gFAANsCACHrAUAA2wIAIQbBAQEAhwMAIcoBAACtA-oBItEBQACNAwAh5QEBAIcDACHqAUAAjAMAIesBQACMAwAhCAMAAK8DACAIAACwAwAgwQEBAIcDACHKAQAArQPqASLRAUAAjQMAIeUBAQCHAwAh6gFAAIwDACHrAUAAjAMAIQgDAAC3AwAgCAAAuAMAIMEBAQAAAAHKAQAAAOoBAtEBQAAAAAHlAQEAAAAB6gFAAAAAAesBQAAAAAEDIgAApwUAIK8CAACoBQAgtQIAAAEAIAQiAAD6AwAwrwIAAPsDADCxAgAA_QMAILUCAAD-AwAwBCIAAO4DADCvAgAA7wMAMLECAADxAwAgtQIAAPIDADAEIgAA4gMAMK8CAADjAwAwsQIAAOUDACC1AgAA5gMAMAQiAADWAwAwrwIAANcDADCxAgAA2QMAILUCAADaAwAwAAAAAbICAAAAjgICBSIAAJ8FACAjAAClBQAgrwIAAKAFACCwAgAApAUAILUCAAABACAHIgAAnQUAICMAAKIFACCvAgAAngUAILACAAChBQAgswIAACoAILQCAAAqACC1AgAAAQAgAyIAAJ8FACCvAgAAoAUAILUCAAABACADIgAAnQUAIK8CAACeBQAgtQIAAAEAIAAAAAAABbICAgAAAAG5AgIAAAABugICAAAAAbsCAgAAAAG8AgIAAAABBSIAAJgFACAjAACbBQAgrwIAAJkFACCwAgAAmgUAILUCAAABACADIgAAmAUAIK8CAACZBQAgtQIAAAEAIAAAAAKyAgEAAAAEuAIBAAAABQUiAACTBQAgIwAAlgUAIK8CAACUBQAgsAIAAJUFACC1AgAAAQAgAbICAQAAAAQDIgAAkwUAIK8CAACUBQAgtQIAAAEAIAwEAACABQAgDgAAhAUAIA8AAIEFACAQAACCBQAgEQAAgwUAIBMAAIUFACAUAACGBQAgFQAAhwUAIKMCAACBAwAgpAIAAIEDACClAgAAgQMAIKcCAACBAwAgAAAAAbICIAAAAAELIgAA7AQAMCMAAPEEADCvAgAA7QQAMLACAADuBAAwsQIAAO8EACCyAgAA8AQAMLMCAADwBAAwtAIAAPAEADC1AgAA8AQAMLYCAADyBAAwtwIAAPMEADALIgAA4AQAMCMAAOUEADCvAgAA4QQAMLACAADiBAAwsQIAAOMEACCyAgAA5AQAMLMCAADkBAAwtAIAAOQEADC1AgAA5AQAMLYCAADmBAAwtwIAAOcEADALIgAA1wQAMCMAANsEADCvAgAA2AQAMLACAADZBAAwsQIAANoEACCyAgAA_gMAMLMCAAD-AwAwtAIAAP4DADC1AgAA_gMAMLYCAADcBAAwtwIAAIEEADALIgAAzgQAMCMAANIEADCvAgAAzwQAMLACAADQBAAwsQIAANEEACCyAgAA5gMAMLMCAADmAwAwtAIAAOYDADC1AgAA5gMAMLYCAADTBAAwtwIAAOkDADALIgAAxQQAMCMAAMkEADCvAgAAxgQAMLACAADHBAAwsQIAAMgEACCyAgAA2gMAMLMCAADaAwAwtAIAANoDADC1AgAA2gMAMLYCAADKBAAwtwIAAN0DADAHIgAAwAQAICMAAMMEACCvAgAAwQQAILACAADCBAAgswIAACgAILQCAAAoACC1AgAALQAgCyIAALQEADAjAAC5BAAwrwIAALUEADCwAgAAtgQAMLECAAC3BAAgsgIAALgEADCzAgAAuAQAMLQCAAC4BAAwtQIAALgEADC2AgAAugQAMLcCAAC7BAAwByIAAK8EACAjAACyBAAgrwIAALAEACCwAgAAsQQAILMCAAAvACC0AgAALwAgtQIAAE0AIAjBAQEAAAAB0QFAAAAAAdIBQAAAAAGAAgAAAIACA5oCAQAAAAGbAgEAAAABnAIAAKAEACCdAgEAAAABAgAAAE0AICIAAK8EACADAAAALwAgIgAArwQAICMAALMEACAKAAAALwAgGwAAswQAIMEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIYACAADPA4ACI5oCAQCJAwAhmwIBAIkDACGcAgAAngQAIJ0CAQCJAwAhCMEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIYACAADPA4ACI5oCAQCJAwAhmwIBAIkDACGcAgAAngQAIJ0CAQCJAwAhEwMAAJEEACDBAQEAAAABygEAAACOAgLQAQEAAAAB0QFAAAAAAdIBQAAAAAHlAQEAAAABgwIBAAAAAYQCAQAAAAGFAgEAAAABhgJAAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY4CQAAAAAGQAkAAAAABAgAAAC0AICIAAL8EACADAAAALQAgIgAAvwQAICMAAL4EACABGwAAkgUAMBgDAADTAgAgEgAA3AIAIL4BAADZAgAwvwEAACgAEMABAADZAgAwwQEBAAAAAcoBAADaAo4CItABAQDQAgAh0QFAANICACHSAUAA0gIAIeUBAQAAAAGDAgEA2AIAIYQCAQDYAgAhhQIBAAAAAYYCQADSAgAhhwIBANgCACGIAgEA2AIAIYkCAQDYAgAhigIBANgCACGLAgEA2AIAIYwCAQDYAgAhjgJAANsCACGPAgEA0AIAIZACQADbAgAhAgAAAC0AIBsAAL4EACACAAAAvAQAIBsAAL0EACAWvgEAALsEADC_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-gEBAAAAAfsBQAAAAAH8AUAAAAAB_QECAAAAAf4BAgAAAAGAAgAAAIACAwIAAAAJACAiAADrBAAgAwAAAAkAICIAAOsEACAjAADqBAAgARsAAI4FADAbBQAA0wIAIAsAAOECACAMAAD9AgAgDQAA4gIAIA4AAOMCACC-AQAA-gIAML8BAAAHABDAAQAA-gIAMMEBAQAAAAHKAQAA_AKCAiLRAUAA0gIAIdIBQADSAgAh8QEBANgCACHyAQEA0AIAIfQBAAD7AvQBIvUBAQDYAgAh9gEBANgCACH3AQEA0AIAIfgBAQDQAgAh-QEBANACACH6AQEA0AIAIfsBQADSAgAh_AFAANsCACH9AQIA6QIAIf4BAgDpAgAhgAIAANECgAIjggIBANgCACECAAAACQAgGwAA6gQAIAIAAADoBAAgGwAA6QQAIBa-AQAA5wQAML8BAADoBAAQwAEAAOcEADDBAQEA2AIAIcoBAAD8AoICItEBQADSAgAh0gFAANICACHxAQEA2AIAIfIBAQDQAgAh9AEAAPsC9AEi9QEBANgCACH2AQEA2AIAIfcBAQDQAgAh-AEBANACACH5AQEA0AIAIfoBAQDQAgAh-wFAANICACH8AUAA2wIAIf0BAgDpAgAh_gECAOkCACGAAgAA0QKAAiOCAgEA2AIAIRa-AQAA5wQAML8BAADoBAAQwAEAAOcEADDBAQEA2AIAIcoBAAD8AoICItEBQADSAgAh0gFAANICACHxAQEA2AIAIfIBAQDQAgAh9AEAAPsC9AEi9QEBANgCACH2AQEA2AIAIfcBAQDQAgAh-AEBANACACH5AQEA0AIAIfoBAQDQAgAh-wFAANICACH8AUAA2wIAIf0BAgDpAgAh_gECAOkCACGAAgAA0QKAAiOCAgEA2AIAIRLBAQEAhwMAIcoBAADQA4ICItEBQACNAwAh0gFAAI0DACHxAQEAhwMAIfIBAQCJAwAh9AEAAM4D9AEi9QEBAIcDACH2AQEAhwMAIfcBAQCJAwAh-AEBAIkDACH5AQEAiQMAIfoBAQCJAwAh-wFAAI0DACH8AUAAjAMAIf0BAgCKAwAh_gECAIoDACGAAgAAzwOAAiMWCwAA0gMAIAwAANMDACANAADUAwAgDgAA1QMAIMEBAQCHAwAhygEAANADggIi0QFAAI0DACHSAUAAjQMAIfEBAQCHAwAh8gEBAIkDACH0AQAAzgP0ASL1AQEAhwMAIfYBAQCHAwAh9wEBAIkDACH4AQEAiQMAIfkBAQCJAwAh-gEBAIkDACH7AUAAjQMAIfwBQACMAwAh_QECAIoDACH-AQIAigMAIYACAADPA4ACIxYLAACHBAAgDAAAiAQAIA0AAIkEACAOAACKBAAgwQEBAAAAAcoBAAAAggIC0QFAAAAAAdIBQAAAAAHxAQEAAAAB8gEBAAAAAfQBAAAA9AEC9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wFAAAAAAfwBQAAAAAH9AQIAAAAB_gECAAAAAYACAAAAgAIDC8EBAQAAAAHEAQEAAAABkQIBAAAAAZICAQAAAAGTAgEAAAABlAIBAAAAAZUCAgAAAAGWAgEAAAABlwIBAAAAAZgCAQAAAAGZAgEAAAABAgAAAAUAICIAAPcEACADAAAABQAgIgAA9wQAICMAAPYEACABGwAAjQUAMBEDAADTAgAgvgEAAP8CADC_AQAAAwAQwAEAAP8CADDBAQEAAAABxAEBANgCACHlAQEA2AIAIZECAQDYAgAhkgIBANgCACGTAgEA0AIAIZQCAQDQAgAhlQICAIADACGWAgEA0AIAIZcCAQDQAgAhmAIBANACACGZAgEA0AIAIawCAAD-AgAgAgAAAAUAIBsAAPYEACACAAAA9AQAIBsAAPUEACAPvgEAAPMEADC_AQAA9AQAEMABAADzBAAwwQEBANgCACHEAQEA2AIAIeUBAQDYAgAhkQIBANgCACGSAgEA2AIAIZMCAQDQAgAhlAIBANACACGVAgIAgAMAIZYCAQDQAgAhlwIBANACACGYAgEA0AIAIZkCAQDQAgAhD74BAADzBAAwvwEAAPQEABDAAQAA8wQAMMEBAQDYAgAhxAEBANgCACHlAQEA2AIAIZECAQDYAgAhkgIBANgCACGTAgEA0AIAIZQCAQDQAgAhlQICAIADACGWAgEA0AIAIZcCAQDQAgAhmAIBANACACGZAgEA0AIAIQvBAQEAhwMAIcQBAQCHAwAhkQIBAIcDACGSAgEAhwMAIZMCAQCJAwAhlAIBAIkDACGVAgIAmAQAIZYCAQCJAwAhlwIBAIkDACGYAgEAiQMAIZkCAQCJAwAhC8EBAQCHAwAhxAEBAIcDACGRAgEAhwMAIZICAQCHAwAhkwIBAIkDACGUAgEAiQMAIZUCAgCYBAAhlgIBAIkDACGXAgEAiQMAIZgCAQCJAwAhmQIBAIkDACELwQEBAAAAAcQBAQAAAAGRAgEAAAABkgIBAAAAAZMCAQAAAAGUAgEAAAABlQICAAAAAZYCAQAAAAGXAgEAAAABmAIBAAAAAZkCAQAAAAEEIgAA7AQAMK8CAADtBAAwsQIAAO8EACC1AgAA8AQAMAQiAADgBAAwrwIAAOEEADCxAgAA4wQAILUCAADkBAAwBCIAANcEADCvAgAA2AQAMLECAADaBAAgtQIAAP4DADAEIgAAzgQAMK8CAADPBAAwsQIAANEEACC1AgAA5gMAMAQiAADFBAAwrwIAAMYEADCxAgAAyAQAILUCAADaAwAwAyIAAMAEACCvAgAAwQQAILUCAAAtACAEIgAAtAQAMK8CAAC1BAAwsQIAALcEACC1AgAAuAQAMAMiAACvBAAgrwIAALAEACC1AgAATQAgAAAAAAAGAwAAogQAIBIAAKIEACDQAQAAgQMAII4CAACBAwAgjwIAAIEDACCQAgAAgQMAIAAFAwAAogQAIIACAACBAwAgmgIAAIEDACCbAgAAgQMAIJ0CAACBAwAgDAUAAKIEACALAACCBQAgDAAAjAUAIA0AAIMFACAOAACEBQAg8gEAAIEDACD3AQAAgQMAIPgBAACBAwAg-QEAAIEDACD6AQAAgQMAIPwBAACBAwAggAIAAIEDACAFAwAAogQAIAYAAIgFACAIAACLBQAg6gEAAIEDACDrAQAAgQMAIAAEAwAAogQAIAYAAIgFACAHAACJBQAgCQAAigUAIAALwQEBAAAAAcQBAQAAAAGRAgEAAAABkgIBAAAAAZMCAQAAAAGUAgEAAAABlQICAAAAAZYCAQAAAAGXAgEAAAABmAIBAAAAAZkCAQAAAAESwQEBAAAAAcoBAAAAggIC0QFAAAAAAdIBQAAAAAHxAQEAAAAB8gEBAAAAAfQBAAAA9AEC9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wFAAAAAAfwBQAAAAAH9AQIAAAAB_gECAAAAAYACAAAAgAIDBsEBAQAAAAHKAQAAAOoBAtEBQAAAAAHkAQEAAAAB6gFAAAAAAesBQAAAAAEGwQEBAAAAAdEBQAAAAAHSAUAAAAAB5AEBAAAAAe8BAgAAAAHwAQEAAAABCMEBAQAAAAHIAQIAAAABygEAAADpAQLRAUAAAAAB0gFAAAAAAeQBAQAAAAHmAQEAAAAB5wEBAAAAARLBAQEAAAABygEAAACOAgLQAQEAAAAB0QFAAAAAAdIBQAAAAAHlAQEAAAABgwIBAAAAAYQCAQAAAAGFAgEAAAABhgJAAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY4CQAAAAAGQAkAAAAABEQQAAPgEACAOAAD8BAAgDwAA-QQAIBAAAPoEACARAAD7BAAgEwAA_QQAIBQAAP4EACDBAQEAAAAB0QFAAAAAAdIBQAAAAAGhAgEAAAABogIBAAAAAaMCAQAAAAGkAgEAAAABpQJAAAAAAaYCIAAAAAGnAkAAAAABAgAAAAEAICIAAJMFACADAAAAKgAgIgAAkwUAICMAAJcFACATAAAAKgAgBAAApwQAIA4AAKsEACAPAACoBAAgEAAAqQQAIBEAAKoEACATAACsBAAgFAAArQQAIBsAAJcFACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAACnBAAgDgAAqwQAIA8AAKgEACAQAACpBAAgEQAAqgQAIBMAAKwEACAUAACtBAAgwQEBAIcDACHRAUAAjQMAIdIBQACNAwAhoQIBAIcDACGiAgEAhwMAIaMCAQCJAwAhpAIBAIkDACGlAkAAjAMAIaYCIACmBAAhpwJAAIwDACERDgAA_AQAIA8AAPkEACAQAAD6BAAgEQAA-wQAIBMAAP0EACAUAAD-BAAgFQAA_wQAIMEBAQAAAAHRAUAAAAAB0gFAAAAAAaECAQAAAAGiAgEAAAABowIBAAAAAaQCAQAAAAGlAkAAAAABpgIgAAAAAacCQAAAAAECAAAAAQAgIgAAmAUAIAMAAAAqACAiAACYBQAgIwAAnAUAIBMAAAAqACAOAACrBAAgDwAAqAQAIBAAAKkEACARAACqBAAgEwAArAQAIBQAAK0EACAVAACuBAAgGwAAnAUAIMEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIaECAQCHAwAhogIBAIcDACGjAgEAiQMAIaQCAQCJAwAhpQJAAIwDACGmAiAApgQAIacCQACMAwAhEQ4AAKsEACAPAACoBAAgEAAAqQQAIBEAAKoEACATAACsBAAgFAAArQQAIBUAAK4EACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAAD4BAAgDgAA_AQAIA8AAPkEACAQAAD6BAAgEQAA-wQAIBMAAP0EACAVAAD_BAAgwQEBAAAAAdEBQAAAAAHSAUAAAAABoQIBAAAAAaICAQAAAAGjAgEAAAABpAIBAAAAAaUCQAAAAAGmAiAAAAABpwJAAAAAAQIAAAABACAiAACdBQAgEQQAAPgEACAOAAD8BAAgDwAA-QQAIBAAAPoEACARAAD7BAAgFAAA_gQAIBUAAP8EACDBAQEAAAAB0QFAAAAAAdIBQAAAAAGhAgEAAAABogIBAAAAAaMCAQAAAAGkAgEAAAABpQJAAAAAAaYCIAAAAAGnAkAAAAABAgAAAAEAICIAAJ8FACADAAAAKgAgIgAAnQUAICMAAKMFACATAAAAKgAgBAAApwQAIA4AAKsEACAPAACoBAAgEAAAqQQAIBEAAKoEACATAACsBAAgFQAArgQAIBsAAKMFACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAACnBAAgDgAAqwQAIA8AAKgEACAQAACpBAAgEQAAqgQAIBMAAKwEACAVAACuBAAgwQEBAIcDACHRAUAAjQMAIdIBQACNAwAhoQIBAIcDACGiAgEAhwMAIaMCAQCJAwAhpAIBAIkDACGlAkAAjAMAIaYCIACmBAAhpwJAAIwDACEDAAAAKgAgIgAAnwUAICMAAKYFACATAAAAKgAgBAAApwQAIA4AAKsEACAPAACoBAAgEAAAqQQAIBEAAKoEACAUAACtBAAgFQAArgQAIBsAAKYFACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAACnBAAgDgAAqwQAIA8AAKgEACAQAACpBAAgEQAAqgQAIBQAAK0EACAVAACuBAAgwQEBAIcDACHRAUAAjQMAIdIBQACNAwAhoQIBAIcDACGiAgEAhwMAIaMCAQCJAwAhpAIBAIkDACGlAkAAjAMAIaYCIACmBAAhpwJAAIwDACERBAAA-AQAIA4AAPwEACAQAAD6BAAgEQAA-wQAIBMAAP0EACAUAAD-BAAgFQAA_wQAIMEBAQAAAAHRAUAAAAAB0gFAAAAAAaECAQAAAAGiAgEAAAABowIBAAAAAaQCAQAAAAGlAkAAAAABpgIgAAAAAacCQAAAAAECAAAAAQAgIgAApwUAIAbBAQEAAAABygEAAADqAQLRAUAAAAAB5QEBAAAAAeoBQAAAAAHrAUAAAAABBMEBAQAAAAHsAQEAAAAB7QEBAAAAAe4BAgAAAAEGwQEBAAAAAdEBQAAAAAHSAUAAAAAB5QEBAAAAAe8BAgAAAAHwAQEAAAABCMEBAQAAAAHIAQIAAAABygEAAADpAQLRAUAAAAAB0gFAAAAAAeUBAQAAAAHmAQEAAAAB5wEBAAAAAQMAAAAqACAiAACnBQAgIwAArwUAIBMAAAAqACAEAACnBAAgDgAAqwQAIBAAAKkEACARAACqBAAgEwAArAQAIBQAAK0EACAVAACuBAAgGwAArwUAIMEBAQCHAwAh0QFAAI0DACHSAUAAjQMAIaECAQCHAwAhogIBAIcDACGjAgEAiQMAIaQCAQCJAwAhpQJAAIwDACGmAiAApgQAIacCQACMAwAhEQQAAKcEACAOAACrBAAgEAAAqQQAIBEAAKoEACATAACsBAAgFAAArQQAIBUAAK4EACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAAD4BAAgDgAA_AQAIA8AAPkEACAQAAD6BAAgEwAA_QQAIBQAAP4EACAVAAD_BAAgwQEBAAAAAdEBQAAAAAHSAUAAAAABoQIBAAAAAaICAQAAAAGjAgEAAAABpAIBAAAAAaUCQAAAAAGmAiAAAAABpwJAAAAAAQIAAAABACAiAACwBQAgFwUAAIYEACALAACHBAAgDAAAiAQAIA4AAIoEACDBAQEAAAABygEAAACCAgLRAUAAAAAB0gFAAAAAAfEBAQAAAAHyAQEAAAAB9AEAAAD0AQL1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AUAAAAAB_AFAAAAAAf0BAgAAAAH-AQIAAAABgAIAAACAAgOCAgEAAAABAgAAAAkAICIAALIFACADAAAAKgAgIgAAsAUAICMAALYFACATAAAAKgAgBAAApwQAIA4AAKsEACAPAACoBAAgEAAAqQQAIBMAAKwEACAUAACtBAAgFQAArgQAIBsAALYFACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAACnBAAgDgAAqwQAIA8AAKgEACAQAACpBAAgEwAArAQAIBQAAK0EACAVAACuBAAgwQEBAIcDACHRAUAAjQMAIdIBQACNAwAhoQIBAIcDACGiAgEAhwMAIaMCAQCJAwAhpAIBAIkDACGlAkAAjAMAIaYCIACmBAAhpwJAAIwDACEDAAAABwAgIgAAsgUAICMAALkFACAZAAAABwAgBQAA0QMAIAsAANIDACAMAADTAwAgDgAA1QMAIBsAALkFACDBAQEAhwMAIcoBAADQA4ICItEBQACNAwAh0gFAAI0DACHxAQEAhwMAIfIBAQCJAwAh9AEAAM4D9AEi9QEBAIcDACH2AQEAhwMAIfcBAQCJAwAh-AEBAIkDACH5AQEAiQMAIfoBAQCJAwAh-wFAAI0DACH8AUAAjAMAIf0BAgCKAwAh_gECAIoDACGAAgAAzwOAAiOCAgEAhwMAIRcFAADRAwAgCwAA0gMAIAwAANMDACAOAADVAwAgwQEBAIcDACHKAQAA0AOCAiLRAUAAjQMAIdIBQACNAwAh8QEBAIcDACHyAQEAiQMAIfQBAADOA_QBIvUBAQCHAwAh9gEBAIcDACH3AQEAiQMAIfgBAQCJAwAh-QEBAIkDACH6AQEAiQMAIfsBQACNAwAh_AFAAIwDACH9AQIAigMAIf4BAgCKAwAhgAIAAM8DgAIjggIBAIcDACEXBQAAhgQAIAsAAIcEACANAACJBAAgDgAAigQAIMEBAQAAAAHKAQAAAIICAtEBQAAAAAHSAUAAAAAB8QEBAAAAAfIBAQAAAAH0AQAAAPQBAvUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBQAAAAAH8AUAAAAAB_QECAAAAAf4BAgAAAAGAAgAAAIACA4ICAQAAAAECAAAACQAgIgAAugUAIAMAAAAHACAiAAC6BQAgIwAAvgUAIBkAAAAHACAFAADRAwAgCwAA0gMAIA0AANQDACAOAADVAwAgGwAAvgUAIMEBAQCHAwAhygEAANADggIi0QFAAI0DACHSAUAAjQMAIfEBAQCHAwAh8gEBAIkDACH0AQAAzgP0ASL1AQEAhwMAIfYBAQCHAwAh9wEBAIkDACH4AQEAiQMAIfkBAQCJAwAh-gEBAIkDACH7AUAAjQMAIfwBQACMAwAh_QECAIoDACH-AQIAigMAIYACAADPA4ACI4ICAQCHAwAhFwUAANEDACALAADSAwAgDQAA1AMAIA4AANUDACDBAQEAhwMAIcoBAADQA4ICItEBQACNAwAh0gFAAI0DACHxAQEAhwMAIfIBAQCJAwAh9AEAAM4D9AEi9QEBAIcDACH2AQEAhwMAIfcBAQCJAwAh-AEBAIkDACH5AQEAiQMAIfoBAQCJAwAh-wFAAI0DACH8AUAAjAMAIf0BAgCKAwAh_gECAIoDACGAAgAAzwOAAiOCAgEAhwMAIREEAAD4BAAgDgAA_AQAIA8AAPkEACARAAD7BAAgEwAA_QQAIBQAAP4EACAVAAD_BAAgwQEBAAAAAdEBQAAAAAHSAUAAAAABoQIBAAAAAaICAQAAAAGjAgEAAAABpAIBAAAAAaUCQAAAAAGmAiAAAAABpwJAAAAAAQIAAAABACAiAAC_BQAgFwUAAIYEACAMAACIBAAgDQAAiQQAIA4AAIoEACDBAQEAAAABygEAAACCAgLRAUAAAAAB0gFAAAAAAfEBAQAAAAHyAQEAAAAB9AEAAAD0AQL1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AUAAAAAB_AFAAAAAAf0BAgAAAAH-AQIAAAABgAIAAACAAgOCAgEAAAABAgAAAAkAICIAAMEFACADAAAAKgAgIgAAvwUAICMAAMUFACATAAAAKgAgBAAApwQAIA4AAKsEACAPAACoBAAgEQAAqgQAIBMAAKwEACAUAACtBAAgFQAArgQAIBsAAMUFACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAACnBAAgDgAAqwQAIA8AAKgEACARAACqBAAgEwAArAQAIBQAAK0EACAVAACuBAAgwQEBAIcDACHRAUAAjQMAIdIBQACNAwAhoQIBAIcDACGiAgEAhwMAIaMCAQCJAwAhpAIBAIkDACGlAkAAjAMAIaYCIACmBAAhpwJAAIwDACEDAAAABwAgIgAAwQUAICMAAMgFACAZAAAABwAgBQAA0QMAIAwAANMDACANAADUAwAgDgAA1QMAIBsAAMgFACDBAQEAhwMAIcoBAADQA4ICItEBQACNAwAh0gFAAI0DACHxAQEAhwMAIfIBAQCJAwAh9AEAAM4D9AEi9QEBAIcDACH2AQEAhwMAIfcBAQCJAwAh-AEBAIkDACH5AQEAiQMAIfoBAQCJAwAh-wFAAI0DACH8AUAAjAMAIf0BAgCKAwAh_gECAIoDACGAAgAAzwOAAiOCAgEAhwMAIRcFAADRAwAgDAAA0wMAIA0AANQDACAOAADVAwAgwQEBAIcDACHKAQAA0AOCAiLRAUAAjQMAIdIBQACNAwAh8QEBAIcDACHyAQEAiQMAIfQBAADOA_QBIvUBAQCHAwAh9gEBAIcDACH3AQEAiQMAIfgBAQCJAwAh-QEBAIkDACH6AQEAiQMAIfsBQACNAwAh_AFAAIwDACH9AQIAigMAIf4BAgCKAwAhgAIAAM8DgAIjggIBAIcDACEJAwAAtwMAIAYAALYDACDBAQEAAAABygEAAADqAQLRAUAAAAAB5AEBAAAAAeUBAQAAAAHqAUAAAAAB6wFAAAAAAQIAAAANACAiAADJBQAgEQQAAPgEACAPAAD5BAAgEAAA-gQAIBEAAPsEACATAAD9BAAgFAAA_gQAIBUAAP8EACDBAQEAAAAB0QFAAAAAAdIBQAAAAAGhAgEAAAABogIBAAAAAaMCAQAAAAGkAgEAAAABpQJAAAAAAaYCIAAAAAGnAkAAAAABAgAAAAEAICIAAMsFACAXBQAAhgQAIAsAAIcEACAMAACIBAAgDQAAiQQAIMEBAQAAAAHKAQAAAIICAtEBQAAAAAHSAUAAAAAB8QEBAAAAAfIBAQAAAAH0AQAAAPQBAvUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBQAAAAAH8AUAAAAAB_QECAAAAAf4BAgAAAAGAAgAAAIACA4ICAQAAAAECAAAACQAgIgAAzQUAIA_BAQEAAAABxAEAAADEAQLFAQEAAAABxgEBAAAAAccBAQAAAAHIAQIAAAABygEAAADKAQLLAYAAAAABzAEBAAAAAc0BQAAAAAHOAUAAAAABzwFAAAAAAdABAQAAAAHRAUAAAAAB0gFAAAAAAQMAAAALACAiAADJBQAgIwAA0gUAIAsAAAALACADAACvAwAgBgAArgMAIBsAANIFACDBAQEAhwMAIcoBAACtA-oBItEBQACNAwAh5AEBAIcDACHlAQEAhwMAIeoBQACMAwAh6wFAAIwDACEJAwAArwMAIAYAAK4DACDBAQEAhwMAIcoBAACtA-oBItEBQACNAwAh5AEBAIcDACHlAQEAhwMAIeoBQACMAwAh6wFAAIwDACEDAAAAKgAgIgAAywUAICMAANUFACATAAAAKgAgBAAApwQAIA8AAKgEACAQAACpBAAgEQAAqgQAIBMAAKwEACAUAACtBAAgFQAArgQAIBsAANUFACDBAQEAhwMAIdEBQACNAwAh0gFAAI0DACGhAgEAhwMAIaICAQCHAwAhowIBAIkDACGkAgEAiQMAIaUCQACMAwAhpgIgAKYEACGnAkAAjAMAIREEAACnBAAgDwAAqAQAIBAAAKkEACARAACqBAAgEwAArAQAIBQAAK0EACAVAACuBAAgwQEBAIcDACHRAUAAjQMAIdIBQACNAwAhoQIBAIcDACGiAgEAhwMAIaMCAQCJAwAhpAIBAIkDACGlAkAAjAMAIaYCIACmBAAhpwJAAIwDACEDAAAABwAgIgAAzQUAICMAANgFACAZAAAABwAgBQAA0QMAIAsAANIDACAMAADTAwAgDQAA1AMAIBsAANgFACDBAQEAhwMAIcoBAADQA4ICItEBQACNAwAh0gFAAI0DACHxAQEAhwMAIfIBAQCJAwAh9AEAAM4D9AEi9QEBAIcDACH2AQEAhwMAIfcBAQCJAwAh-AEBAIkDACH5AQEAiQMAIfoBAQCJAwAh-wFAAI0DACH8AUAAjAMAIf0BAgCKAwAh_gECAIoDACGAAgAAzwOAAiOCAgEAhwMAIRcFAADRAwAgCwAA0gMAIAwAANMDACANAADUAwAgwQEBAIcDACHKAQAA0AOCAiLRAUAAjQMAIdIBQACNAwAh8QEBAIcDACHyAQEAiQMAIfQBAADOA_QBIvUBAQCHAwAh9gEBAIcDACH3AQEAiQMAIfgBAQCJAwAh-QEBAIkDACH6AQEAiQMAIfsBQACNAwAh_AFAAIwDACH9AQIAigMAIf4BAgCKAwAhgAIAAM8DgAIjggIBAIcDACEMAwAApwMAIAYAAKYDACAHAACoAwAgwQEBAAAAAcgBAgAAAAHKAQAAAOkBAtEBQAAAAAHSAUAAAAAB5AEBAAAAAeUBAQAAAAHmAQEAAAAB5wEBAAAAAQIAAAAfACAiAADZBQAgAwAAAA8AICIAANkFACAjAADdBQAgDgAAAA8AIAMAAJcDACAGAACWAwAgBwAAmAMAIBsAAN0FACDBAQEAhwMAIcgBAgCKAwAhygEAAJUD6QEi0QFAAI0DACHSAUAAjQMAIeQBAQCHAwAh5QEBAIcDACHmAQEAhwMAIecBAQCHAwAhDAMAAJcDACAGAACWAwAgBwAAmAMAIMEBAQCHAwAhyAECAIoDACHKAQAAlQPpASLRAUAAjQMAIdIBQACNAwAh5AEBAIcDACHlAQEAhwMAIeYBAQCHAwAh5wEBAIcDACEJBAYCCgANDicFDwoDECUEESYJEykLFC4LFTAMAQMAAQYFAAEKAAoLDgQMGQgNHQkOIAUDAwABBgADCBAFBQMAAQYAAwcABAkUBgoABwEIAAUBCRUAAQYAAwIDAAEGAAMECyEADCIADSMADiQAAgMAARIrAQEDAAEGBDEADjUADzIAEDMAETQAFDYAAAAAAwoAEigAEykAFAAAAAMKABIoABMpABQBAwABAQMAAQMKABkoABopABsAAAADCgAZKAAaKQAbAQMAAQEDAAEFCgAgKAAjKQAkSgAhSwAiAAAAAAAFCgAgKAAjKQAkSgAhSwAiAgMAARKFAQECAwABEosBAQMKACkoACopACsAAAADCgApKAAqKQArAQUAAQEFAAEFCgAwKAAzKQA0SgAxSwAyAAAAAAAFCgAwKAAzKQA0SgAxSwAyAgMAAQYAAwIDAAEGAAMFCgA5KAA8KQA9SgA6SwA7AAAAAAAFCgA5KAA8KQA9SgA6SwA7AQYAAwEGAAMFCgBCKABFKQBGSgBDSwBEAAAAAAAFCgBCKABFKQBGSgBDSwBEAgMAAQYAAwIDAAEGAAMDCgBLKABMKQBNAAAAAwoASygATCkATQMDAAEGAAMHAAQDAwABBgADBwAEBQoAUigAVSkAVkoAU0sAVAAAAAAABQoAUigAVSkAVkoAU0sAVAEIAAUBCAAFBQoAWygAXikAX0oAXEsAXQAAAAAABQoAWygAXikAX0oAXEsAXRYCARc3ARg5ARk6ARo7ARw9AR0_Dh5ADx9CASBEDiFFECRGASVHASZIDipLEStMFSxODC1PDC5RDC9SDDBTDDFVDDJXDjNYFjRaDDVcDjZdFzdeDDhfDDlgDjpjGDtkHDxlAj1mAj5nAj9oAkBpAkFrAkJtDkNuHURwAkVyDkZzHkd0Akh1Akl2Dkx5H016JU57C098C1B9C1F-C1J_C1OBAQtUgwEOVYQBJlaHAQtXiQEOWIoBJ1mMAQtajQELW44BDlyRAShdkgEsXpMBA1-UAQNglQEDYZYBA2KXAQNjmQEDZJsBDmWcAS1mngEDZ6ABDmihAS5pogEDaqMBA2ukAQ5spwEvbagBNW6pAQlvqgEJcKsBCXGsAQlyrQEJc68BCXSxAQ51sgE2drQBCXe2AQ54twE3ebgBCXq5AQl7ugEOfL0BOH2-AT5-vwEIf8ABCIABwQEIgQHCAQiCAcMBCIMBxQEIhAHHAQ6FAcgBP4YBygEIhwHMAQ6IAc0BQIkBzgEIigHPAQiLAdABDowB0wFBjQHUAUeOAdUBBI8B1gEEkAHXAQSRAdgBBJIB2QEEkwHbAQSUAd0BDpUB3gFIlgHgAQSXAeIBDpgB4wFJmQHkAQSaAeUBBJsB5gEOnAHpAUqdAeoBTp4B6wEFnwHsAQWgAe0BBaEB7gEFogHvAQWjAfEBBaQB8wEOpQH0AU-mAfYBBacB-AEOqAH5AVCpAfoBBaoB-wEFqwH8AQ6sAf8BUa0BgAJXrgGBAgavAYICBrABgwIGsQGEAgayAYUCBrMBhwIGtAGJAg61AYoCWLYBjAIGtwGOAg64AY8CWbkBkAIGugGRAga7AZICDrwBlQJavQGWAmA"
+ strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"accounts\",\"organizer\",\"trip\",\"participant\",\"booking\",\"payment\",\"reviewedBy\",\"refunds\",\"_count\",\"payments\",\"participants\",\"images\",\"reviews\",\"bookings\",\"trips\",\"participations\",\"tripReviews\",\"organizerVerification\",\"reviewedVerifications\",\"reviewedRefunds\",\"profile\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"UserProfile.findUnique\",\"UserProfile.findUniqueOrThrow\",\"UserProfile.findFirst\",\"UserProfile.findFirstOrThrow\",\"UserProfile.findMany\",\"UserProfile.createOne\",\"UserProfile.createMany\",\"UserProfile.createManyAndReturn\",\"UserProfile.updateOne\",\"UserProfile.updateMany\",\"UserProfile.updateManyAndReturn\",\"UserProfile.upsertOne\",\"UserProfile.deleteOne\",\"UserProfile.deleteMany\",\"UserProfile.groupBy\",\"UserProfile.aggregate\",\"Account.findUnique\",\"Account.findUniqueOrThrow\",\"Account.findFirst\",\"Account.findFirstOrThrow\",\"Account.findMany\",\"Account.createOne\",\"Account.createMany\",\"Account.createManyAndReturn\",\"Account.updateOne\",\"Account.updateMany\",\"Account.updateManyAndReturn\",\"Account.upsertOne\",\"Account.deleteOne\",\"Account.deleteMany\",\"_avg\",\"_sum\",\"Account.groupBy\",\"Account.aggregate\",\"OrganizerVerification.findUnique\",\"OrganizerVerification.findUniqueOrThrow\",\"OrganizerVerification.findFirst\",\"OrganizerVerification.findFirstOrThrow\",\"OrganizerVerification.findMany\",\"OrganizerVerification.createOne\",\"OrganizerVerification.createMany\",\"OrganizerVerification.createManyAndReturn\",\"OrganizerVerification.updateOne\",\"OrganizerVerification.updateMany\",\"OrganizerVerification.updateManyAndReturn\",\"OrganizerVerification.upsertOne\",\"OrganizerVerification.deleteOne\",\"OrganizerVerification.deleteMany\",\"OrganizerVerification.groupBy\",\"OrganizerVerification.aggregate\",\"Trip.findUnique\",\"Trip.findUniqueOrThrow\",\"Trip.findFirst\",\"Trip.findFirstOrThrow\",\"Trip.findMany\",\"Trip.createOne\",\"Trip.createMany\",\"Trip.createManyAndReturn\",\"Trip.updateOne\",\"Trip.updateMany\",\"Trip.updateManyAndReturn\",\"Trip.upsertOne\",\"Trip.deleteOne\",\"Trip.deleteMany\",\"Trip.groupBy\",\"Trip.aggregate\",\"TripReview.findUnique\",\"TripReview.findUniqueOrThrow\",\"TripReview.findFirst\",\"TripReview.findFirstOrThrow\",\"TripReview.findMany\",\"TripReview.createOne\",\"TripReview.createMany\",\"TripReview.createManyAndReturn\",\"TripReview.updateOne\",\"TripReview.updateMany\",\"TripReview.updateManyAndReturn\",\"TripReview.upsertOne\",\"TripReview.deleteOne\",\"TripReview.deleteMany\",\"TripReview.groupBy\",\"TripReview.aggregate\",\"TripImage.findUnique\",\"TripImage.findUniqueOrThrow\",\"TripImage.findFirst\",\"TripImage.findFirstOrThrow\",\"TripImage.findMany\",\"TripImage.createOne\",\"TripImage.createMany\",\"TripImage.createManyAndReturn\",\"TripImage.updateOne\",\"TripImage.updateMany\",\"TripImage.updateManyAndReturn\",\"TripImage.upsertOne\",\"TripImage.deleteOne\",\"TripImage.deleteMany\",\"TripImage.groupBy\",\"TripImage.aggregate\",\"TripParticipant.findUnique\",\"TripParticipant.findUniqueOrThrow\",\"TripParticipant.findFirst\",\"TripParticipant.findFirstOrThrow\",\"TripParticipant.findMany\",\"TripParticipant.createOne\",\"TripParticipant.createMany\",\"TripParticipant.createManyAndReturn\",\"TripParticipant.updateOne\",\"TripParticipant.updateMany\",\"TripParticipant.updateManyAndReturn\",\"TripParticipant.upsertOne\",\"TripParticipant.deleteOne\",\"TripParticipant.deleteMany\",\"TripParticipant.groupBy\",\"TripParticipant.aggregate\",\"Booking.findUnique\",\"Booking.findUniqueOrThrow\",\"Booking.findFirst\",\"Booking.findFirstOrThrow\",\"Booking.findMany\",\"Booking.createOne\",\"Booking.createMany\",\"Booking.createManyAndReturn\",\"Booking.updateOne\",\"Booking.updateMany\",\"Booking.updateManyAndReturn\",\"Booking.upsertOne\",\"Booking.deleteOne\",\"Booking.deleteMany\",\"Booking.groupBy\",\"Booking.aggregate\",\"Payment.findUnique\",\"Payment.findUniqueOrThrow\",\"Payment.findFirst\",\"Payment.findFirstOrThrow\",\"Payment.findMany\",\"Payment.createOne\",\"Payment.createMany\",\"Payment.createManyAndReturn\",\"Payment.updateOne\",\"Payment.updateMany\",\"Payment.updateManyAndReturn\",\"Payment.upsertOne\",\"Payment.deleteOne\",\"Payment.deleteMany\",\"Payment.groupBy\",\"Payment.aggregate\",\"Refund.findUnique\",\"Refund.findUniqueOrThrow\",\"Refund.findFirst\",\"Refund.findFirstOrThrow\",\"Refund.findMany\",\"Refund.createOne\",\"Refund.createMany\",\"Refund.createManyAndReturn\",\"Refund.updateOne\",\"Refund.updateMany\",\"Refund.updateManyAndReturn\",\"Refund.upsertOne\",\"Refund.deleteOne\",\"Refund.deleteMany\",\"Refund.groupBy\",\"Refund.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"bookingId\",\"paymentId\",\"amount\",\"currency\",\"RefundReason\",\"reason\",\"RefundReporter\",\"reportedBy\",\"reportNote\",\"RefundInitiator\",\"initiatedBy\",\"RefundStatus\",\"status\",\"idempotencyKey\",\"adminNote\",\"reviewedById\",\"reviewedAt\",\"succeededAt\",\"failedAt\",\"externalRefundId\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"PaymentProvider\",\"provider\",\"externalOrderId\",\"externalTxId\",\"method\",\"PaymentStatus\",\"rawCallback\",\"snapToken\",\"expiresAt\",\"paidAt\",\"rejectionReason\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"tripId\",\"userId\",\"participantId\",\"BookingStatus\",\"ParticipantStatus\",\"markedPaidAt\",\"paymentConfirmedAt\",\"url\",\"caption\",\"order\",\"rating\",\"comment\",\"title\",\"description\",\"ActivityCategory\",\"category\",\"destination\",\"location\",\"meetingPoint\",\"itinerary\",\"whatsIncluded\",\"whatsExcluded\",\"date\",\"endDate\",\"maxParticipants\",\"price\",\"Vibe\",\"vibe\",\"TripStatus\",\"organizerId\",\"fullName\",\"nikEncrypted\",\"nikHash\",\"birthDate\",\"address\",\"ktpImageKey\",\"livenessKey\",\"bankName\",\"bankAccountNumber\",\"bankAccountName\",\"VerificationStatus\",\"verifiedAt\",\"type\",\"providerAccountId\",\"refresh_token\",\"access_token\",\"expires_at\",\"token_type\",\"scope\",\"id_token\",\"session_state\",\"bio\",\"city\",\"interests\",\"instagram\",\"has\",\"hasEvery\",\"hasSome\",\"name\",\"email\",\"password\",\"image\",\"emailVerified\",\"acceptedTermsAndPrivacy\",\"acceptedAt\",\"tripId_userId\",\"every\",\"some\",\"none\",\"provider_providerAccountId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
+ graph: "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_wBIucBQACNAwAh6QFAAIQDACHqAUAAhAMAIfcBAACsA_cBIvgBAQCKAwAh-QEBAIIDACH6AQEAggMAIfwBAACuAwAg_QEBAIIDACH-AUAAjQMAIf8BQACNAwAhgAIBAIIDACEKCAAA-AUAIAsAAPMFACDnAQAAugMAIPkBAAC6AwAg-gEAALoDACD8AQAAugMAIP0BAAC6AwAg_gEAALoDACD_AQAAugMAIIACAAC6AwAgFQgAAKkDACALAACWAwAg0QEAAKsDADDSAQAAEQAQ0wEAAKsDADDUAQEAAAAB1QEBAIoDACHXAQIAkQMAIeEBAACtA_wBIucBQACNAwAh6QFAAIQDACHqAUAAhAMAIfcBAACsA_cBIvgBAQAAAAH5AQEAggMAIfoBAQCCAwAh_AEAAK4DACD9AQEAggMAIf4BQACNAwAh_wFAAI0DACGAAgEAggMAIQMAAAARACABAAASADACAAATACAZCAAAqQMAIAkAAKoDACAKAACOAwAg0QEAAKQDADDSAQAAFQAQ0wEAAKQDADDUAQEAigMAIdUBAQCKAwAh1gEBAIIDACHXAQIAkQMAIdgBAQCKAwAh2gEAAKUD2gEi3AEAAKYD3AEi3QEBAIoDACHfAQAApwPfASLhAQAAqAPhASLiAQEAigMAIeMBAQCCAwAh5AEBAIIDACHlAUAAjQMAIeYBQACNAwAh5wFAAI0DACHoAQEAggMAIekBQACEAwAh6gFAAIQDACEKCAAA-AUAIAkAAPkFACAKAACDBQAg1gEAALoDACDjAQAAugMAIOQBAAC6AwAg5QEAALoDACDmAQAAugMAIOcBAAC6AwAg6AEAALoDACAZCAAAqQMAIAkAAKoDACAKAACOAwAg0QEAAKQDADDSAQAAFQAQ0wEAAKQDADDUAQEAAAAB1QEBAIoDACHWAQEAggMAIdcBAgCRAwAh2AEBAIoDACHaAQAApQPaASLcAQAApgPcASLdAQEAigMAId8BAACnA98BIuEBAACoA-EBIuIBAQAAAAHjAQEAggMAIeQBAQCCAwAh5QFAAI0DACHmAUAAjQMAIecBQACNAwAh6AEBAIIDACHpAUAAhAMAIeoBQACEAwAhAwAAABUAIAEAABYAMAIAABcAIAEAAAARACAWBAAAnAMAIBEAAKADACASAACdAwAgEwAAngMAIBQAAJ8DACAVAAChAwAgFgAAogMAIBcAAJYDACAYAACjAwAg0QEAAJoDADDSAQAAGgAQ0wEAAJoDADDUAQEAigMAIekBQACEAwAh6gFAAIQDACHBAgEAigMAIcICAQCKAwAhwwIBAIIDACHEAgEAggMAIcUCQACNAwAhxgIgAJsDACHHAkAAjQMAIQEAAAAaACABAAAAFQAgAwAAABUAIAEAABYAMAIAABcAIAEAAAARACABAAAAFQAgCQYAAJMDACDRAQAAmQMAMNIBAAAgABDTAQAAmQMAMNQBAQCKAwAhhwIBAIoDACGOAgEAigMAIY8CAQCCAwAhkAICAJEDACECBgAA9QUAII8CAAC6AwAgCQYAAJMDACDRAQAAmQMAMNIBAAAgABDTAQAAmQMAMNQBAQAAAAGHAgEAigMAIY4CAQCKAwAhjwIBAIIDACGQAgIAkQMAIQMAAAAgACABAAAhADACAAAiACAMAwAAhQMAIAYAAJMDACDRAQAAmAMAMNIBAAAkABDTAQAAmAMAMNQBAQCKAwAh6QFAAIQDACHqAUAAhAMAIYcCAQCKAwAhiAIBAIoDACGRAgIAkQMAIZICAQCCAwAhAwMAAIMFACAGAAD1BQAgkgIAALoDACANAwAAhQMAIAYAAJMDACDRAQAAmAMAMNIBAAAkABDTAQAAmAMAMNQBAQAAAAHpAUAAhAMAIeoBQACEAwAhhwIBAIoDACGIAgEAigMAIZECAgCRAwAhkgIBAIIDACHIAgAAlwMAIAMAAAAkACABAAAlADACAAAmACAFAwAAgwUAIAYAAPUFACAHAAD2BQAgCwAA8wUAIA0AAPcFACASAwAAhQMAIAYAAJMDACAHAACUAwAgCwAAlgMAIA0AAJUDACDRAQAAkAMAMNIBAAAPABDTAQAAkAMAMNQBAQAAAAHXAQIAkQMAIdgBAQCKAwAh4QEAAJIDiwIi6QFAAIQDACHqAUAAhAMAIYcCAQCKAwAhiAIBAIoDACGJAgEAAAAByAIAAI8DACADAAAADwAgAQAAKAAwAgAAKQAgAQAAAAsAIAEAAAAgACABAAAAJAAgAQAAAA8AIAMAAAALACABAAAMADACAAANACADAAAAJAAgAQAAJQAwAgAAJgAgAwAAAA8AIAEAACgAMAIAACkAIBgDAACFAwAgCgAAjgMAINEBAACLAwAw0gEAADIAENMBAACLAwAw1AEBAIoDACHhAQAAjAOwAiLkAQEAggMAIeUBQACNAwAh6QFAAIQDACHqAUAAhAMAIYACAQCCAwAhiAIBAIoDACGlAgEAigMAIaYCAQCKAwAhpwIBAIoDACGoAkAAhAMAIakCAQCKAwAhqgIBAIoDACGrAgEAigMAIawCAQCKAwAhrQIBAIoDACGuAgEAigMAIbACQACNAwAhAQAAADIAIAEAAAAaACAGAwAAgwUAIAoAAIMFACDkAQAAugMAIOUBAAC6AwAggAIAALoDACCwAgAAugMAIBgDAACFAwAgCgAAjgMAINEBAACLAwAw0gEAADIAENMBAACLAwAw1AEBAAAAAeEBAACMA7ACIuQBAQCCAwAh5QFAAI0DACHpAUAAhAMAIeoBQACEAwAhgAIBAIIDACGIAgEAAAABpQIBAIoDACGmAgEAigMAIacCAQAAAAGoAkAAhAMAIakCAQCKAwAhqgIBAIoDACGrAgEAigMAIawCAQCKAwAhrQIBAIoDACGuAgEAigMAIbACQACNAwAhAwAAADIAIAEAADUAMAIAADYAIAMAAAAVACABAAAWADACAAAXACANAwAAhQMAINEBAACBAwAw0gEAADkAENMBAACBAwAw1AEBAIoDACHpAUAAhAMAIeoBQACEAwAhiAIBAIoDACGiAgAAgwOiAiO6AgEAggMAIbsCAQCCAwAhvAIAAIADACC9AgEAggMAIQEAAAA5ACABAAAAAwAgAQAAAAcAIAEAAAALACABAAAAJAAgAQAAAA8AIAEAAAAyACABAAAAFQAgAQAAAAEAIA0EAADsBQAgEQAA8AUAIBIAAO0FACATAADuBQAgFAAA7wUAIBUAAPEFACAWAADyBQAgFwAA8wUAIBgAAPQFACDDAgAAugMAIMQCAAC6AwAgxQIAALoDACDHAgAAugMAIAMAAAAaACABAABDADACAAABACADAAAAGgAgAQAAQwAwAgAAAQAgAwAAABoAIAEAAEMAMAIAAAEAIBMEAADjBQAgEQAA5wUAIBIAAOQFACATAADlBQAgFAAA5gUAIBUAAOgFACAWAADpBQAgFwAA6gUAIBgAAOsFACDUAQEAAAAB6QFAAAAAAeoBQAAAAAHBAgEAAAABwgIBAAAAAcMCAQAAAAHEAgEAAAABxQJAAAAAAcYCIAAAAAHHAkAAAAABAR4AAEcAIArUAQEAAAAB6QFAAAAAAeoBQAAAAAHBAgEAAAABwgIBAAAAAcMCAQAAAAHEAgEAAAABxQJAAAAAAcYCIAAAAAHHAkAAAAABAR4AAEkAMAEeAABJADATBAAAiAUAIBEAAIwFACASAACJBQAgEwAAigUAIBQAAIsFACAVAACNBQAgFgAAjgUAIBcAAI8FACAYAACQBQAg1AEBAMADACHpAUAAyAMAIeoBQADIAwAhwQIBAMADACHCAgEAwAMAIcMCAQDGAwAhxAIBAMYDACHFAkAAxwMAIcYCIACHBQAhxwJAAMcDACECAAAAAQAgHgAATAAgCtQBAQDAAwAh6QFAAMgDACHqAUAAyAMAIcECAQDAAwAhwgIBAMADACHDAgEAxgMAIcQCAQDGAwAhxQJAAMcDACHGAiAAhwUAIccCQADHAwAhAgAAABoAIB4AAE4AIAIAAAAaACAeAABOACADAAAAAQAgJQAARwAgJgAATAAgAQAAAAEAIAEAAAAaACAHDAAAhAUAICsAAIYFACAsAACFBQAgwwIAALoDACDEAgAAugMAIMUCAAC6AwAgxwIAALoDACAN0QEAAIYDADDSAQAAVQAQ0wEAAIYDADDUAQEAvQIAIekBQADFAgAh6gFAAMUCACHBAgEAvQIAIcICAQC9AgAhwwIBAL4CACHEAgEAvgIAIcUCQADEAgAhxgIgAIcDACHHAkAAxAIAIQMAAAAaACABAABUADAqAABVACADAAAAGgAgAQAAQwAwAgAAAQAgDQMAAIUDACDRAQAAgQMAMNIBAAA5ABDTAQAAgQMAMNQBAQAAAAHpAUAAhAMAIeoBQACEAwAhiAIBAAAAAaICAACDA6ICI7oCAQCCAwAhuwIBAIIDACG8AgAAgAMAIL0CAQCCAwAhAQAAAFgAIAEAAABYACAFAwAAgwUAIKICAAC6AwAgugIAALoDACC7AgAAugMAIL0CAAC6AwAgAwAAADkAIAEAAFsAMAIAAFgAIAMAAAA5ACABAABbADACAABYACADAAAAOQAgAQAAWwAwAgAAWAAgCgMAAIIFACDUAQEAAAAB6QFAAAAAAeoBQAAAAAGIAgEAAAABogIAAACiAgO6AgEAAAABuwIBAAAAAbwCAACBBQAgvQIBAAAAAQEeAABfACAJ1AEBAAAAAekBQAAAAAHqAUAAAAABiAIBAAAAAaICAAAAogIDugIBAAAAAbsCAQAAAAG8AgAAgQUAIL0CAQAAAAEBHgAAYQAwAR4AAGEAMAoDAACABQAg1AEBAMADACHpAUAAyAMAIeoBQADIAwAhiAIBAMADACGiAgAAsASiAiO6AgEAxgMAIbsCAQDGAwAhvAIAAP8EACC9AgEAxgMAIQIAAABYACAeAABkACAJ1AEBAMADACHpAUAAyAMAIeoBQADIAwAhiAIBAMADACGiAgAAsASiAiO6AgEAxgMAIbsCAQDGAwAhvAIAAP8EACC9AgEAxgMAIQIAAAA5ACAeAABmACACAAAAOQAgHgAAZgAgAwAAAFgAICUAAF8AICYAAGQAIAEAAABYACABAAAAOQAgBwwAAPwEACArAAD-BAAgLAAA_QQAIKICAAC6AwAgugIAALoDACC7AgAAugMAIL0CAAC6AwAgDNEBAAD_AgAw0gEAAG0AENMBAAD_AgAw1AEBAL0CACHpAUAAxQIAIeoBQADFAgAhiAIBAL0CACGiAgAA7wKiAiO6AgEAvgIAIbsCAQC-AgAhvAIAAIADACC9AgEAvgIAIQMAAAA5ACABAABsADAqAABtACADAAAAOQAgAQAAWwAwAgAAWAAgAQAAAAUAIAEAAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACANAwAA-wQAINQBAQAAAAH3AQEAAAABiAIBAAAAAbECAQAAAAGyAgEAAAABswIBAAAAAbQCAQAAAAG1AgIAAAABtgIBAAAAAbcCAQAAAAG4AgEAAAABuQIBAAAAAQEeAAB1ACAM1AEBAAAAAfcBAQAAAAGIAgEAAAABsQIBAAAAAbICAQAAAAGzAgEAAAABtAIBAAAAAbUCAgAAAAG2AgEAAAABtwIBAAAAAbgCAQAAAAG5AgEAAAABAR4AAHcAMAEeAAB3ADANAwAA-gQAINQBAQDAAwAh9wEBAMADACGIAgEAwAMAIbECAQDAAwAhsgIBAMADACGzAgEAxgMAIbQCAQDGAwAhtQICAPkEACG2AgEAxgMAIbcCAQDGAwAhuAIBAMYDACG5AgEAxgMAIQIAAAAFACAeAAB6ACAM1AEBAMADACH3AQEAwAMAIYgCAQDAAwAhsQIBAMADACGyAgEAwAMAIbMCAQDGAwAhtAIBAMYDACG1AgIA-QQAIbYCAQDGAwAhtwIBAMYDACG4AgEAxgMAIbkCAQDGAwAhAgAAAAMAIB4AAHwAIAIAAAADACAeAAB8ACADAAAABQAgJQAAdQAgJgAAegAgAQAAAAUAIAEAAAADACAMDAAA9AQAICsAAPcEACAsAAD2BAAgTQAA9QQAIE4AAPgEACCzAgAAugMAILQCAAC6AwAgtQIAALoDACC2AgAAugMAILcCAAC6AwAguAIAALoDACC5AgAAugMAIA_RAQAA-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-AgAhmgIBAL4CACGbAgEAvgIAIZwCAQC-AgAhnQJAAMUCACGeAkAAxAIAIZ8CAgC_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_AgAh2AEBAL0CACHhAQAA5AKLAiLpAUAAxQIAIeoBQADFAgAhhwIBAL0CACGIAgEAvQIAIYkCAQC9AgAhAwAAAA8AIAEAAIgCADAqAACJAgAgAwAAAA8AIAEAACgAMAIAACkAIAEAAAATACABAAAAEwAgAwAAABEAIAEAABIAMAIAABMAIAMAAAARACABAAASADACAAATACADAAAAEQAgAQAAEgAwAgAAEwAgEggAAOQDACALAADlAwAg1AEBAAAAAdUBAQAAAAHXAQIAAAAB4QEAAAD8AQLnAUAAAAAB6QFAAAAAAeoBQAAAAAH3AQAAAPcBAvgBAQAAAAH5AQEAAAAB-gEBAAAAAfwBgAAAAAH9AQEAAAAB_gFAAAAAAf8BQAAAAAGAAgEAAAABAR4AAJECACAQ1AEBAAAAAdUBAQAAAAHXAQIAAAAB4QEAAAD8AQLnAUAAAAAB6QFAAAAAAeoBQAAAAAH3AQAAAPcBAvgBAQAAAAH5AQEAAAAB-gEBAAAAAfwBgAAAAAH9AQEAAAAB_gFAAAAAAf8BQAAAAAGAAgEAAAABAR4AAJMCADABHgAAkwIAMBIIAADWAwAgCwAA1wMAINQBAQDAAwAh1QEBAMADACHXAQIAwQMAIeEBAADVA_wBIucBQADHAwAh6QFAAMgDACHqAUAAyAMAIfcBAADUA_cBIvgBAQDAAwAh-QEBAMYDACH6AQEAxgMAIfwBgAAAAAH9AQEAxgMAIf4BQADHAwAh_wFAAMcDACGAAgEAxgMAIQIAAAATACAeAACWAgAgENQBAQDAAwAh1QEBAMADACHXAQIAwQMAIeEBAADVA_wBIucBQADHAwAh6QFAAMgDACHqAUAAyAMAIfcBAADUA_cBIvgBAQDAAwAh-QEBAMYDACH6AQEAxgMAIfwBgAAAAAH9AQEAxgMAIf4BQADHAwAh_wFAAMcDACGAAgEAxgMAIQIAAAARACAeAACYAgAgAgAAABEAIB4AAJgCACADAAAAEwAgJQAAkQIAICYAAJYCACABAAAAEwAgAQAAABEAIA0MAADPAwAgKwAA0gMAICwAANEDACBNAADQAwAgTgAA0wMAIOcBAAC6AwAg-QEAALoDACD6AQAAugMAIPwBAAC6AwAg_QEAALoDACD-AQAAugMAIP8BAAC6AwAggAIAALoDACAT0QEAANoCADDSAQAAnwIAENMBAADaAgAw1AEBAL0CACHVAQEAvQIAIdcBAgC_AgAh4QEAANwC_AEi5wFAAMQCACHpAUAAxQIAIeoBQADFAgAh9wEAANsC9wEi-AEBAL0CACH5AQEAvgIAIfoBAQC-AgAh_AEAAN0CACD9AQEAvgIAIf4BQADEAgAh_wFAAMQCACGAAgEAvgIAIQMAAAARACABAACeAgAwKgAAnwIAIAMAAAARACABAAASADACAAATACABAAAAFwAgAQAAABcAIAMAAAAVACABAAAWADACAAAXACADAAAAFQAgAQAAFgAwAgAAFwAgAwAAABUAIAEAABYAMAIAABcAIBYIAADMAwAgCQAAzQMAIAoAAM4DACDUAQEAAAAB1QEBAAAAAdYBAQAAAAHXAQIAAAAB2AEBAAAAAdoBAAAA2gEC3AEAAADcAQLdAQEAAAAB3wEAAADfAQLhAQAAAOEBAuIBAQAAAAHjAQEAAAAB5AEBAAAAAeUBQAAAAAHmAUAAAAAB5wFAAAAAAegBAQAAAAHpAUAAAAAB6gFAAAAAAQEeAACnAgAgE9QBAQAAAAHVAQEAAAAB1gEBAAAAAdcBAgAAAAHYAQEAAAAB2gEAAADaAQLcAQAAANwBAt0BAQAAAAHfAQAAAN8BAuEBAAAA4QEC4gEBAAAAAeMBAQAAAAHkAQEAAAAB5QFAAAAAAeYBQAAAAAHnAUAAAAAB6AEBAAAAAekBQAAAAAHqAUAAAAABAR4AAKkCADABHgAAqQIAMAEAAAARACABAAAAGgAgFggAAMkDACAJAADKAwAgCgAAywMAINQBAQDAAwAh1QEBAMADACHWAQEAxgMAIdcBAgDBAwAh2AEBAMADACHaAQAAwgPaASLcAQAAwwPcASLdAQEAwAMAId8BAADEA98BIuEBAADFA-EBIuIBAQDAAwAh4wEBAMYDACHkAQEAxgMAIeUBQADHAwAh5gFAAMcDACHnAUAAxwMAIegBAQDGAwAh6QFAAMgDACHqAUAAyAMAIQIAAAAXACAeAACuAgAgE9QBAQDAAwAh1QEBAMADACHWAQEAxgMAIdcBAgDBAwAh2AEBAMADACHaAQAAwgPaASLcAQAAwwPcASLdAQEAwAMAId8BAADEA98BIuEBAADFA-EBIuIBAQDAAwAh4wEBAMYDACHkAQEAxgMAIeUBQADHAwAh5gFAAMcDACHnAUAAxwMAIegBAQDGAwAh6QFAAMgDACHqAUAAyAMAIQIAAAAVACAeAACwAgAgAgAAABUAIB4AALACACABAAAAEQAgAQAAABoAIAMAAAAXACAlAACnAgAgJgAArgIAIAEAAAAXACABAAAAFQAgDAwAALsDACArAAC-AwAgLAAAvQMAIE0AALwDACBOAAC_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_AgAh4QEAANwC_AEi5wFAAMQCACHpAUAAxQIAIeoBQADFAgAh9wEAANsC9wEi-AEBAL0CACH5AQEAvgIAIfoBAQC-AgAh_AEAAN0CACD9AQEAvgIAIf4BQADEAgAh_wFAAMQCACGAAgEAvgIAIQcMAADHAgAgKwAA4gIAICwAAOICACDrAQAAAPcBAuwBAAAA9wEI7QEAAAD3AQjyAQAA4QL3ASIHDAAAxwIAICsAAOACACAsAADgAgAg6wEAAAD8AQLsAQAAAPwBCO0BAAAA_AEI8gEAAN8C_AEiDwwAAMoCACArAADeAgAgLAAA3gIAIOsBgAAAAAHuAYAAAAAB7wGAAAAAAfABgAAAAAHxAYAAAAAB8gGAAAAAAYECAQAAAAGCAgEAAAABgwIBAAAAAYQCgAAAAAGFAoAAAAABhgKAAAAAAQzrAYAAAAAB7gGAAAAAAe8BgAAAAAHwAYAAAAAB8QGAAAAAAfIBgAAAAAGBAgEAAAABggIBAAAAAYMCAQAAAAGEAoAAAAABhQKAAAAAAYYCgAAAAAEHDAAAxwIAICsAAOACACAsAADgAgAg6wEAAAD8AQLsAQAAAPwBCO0BAAAA_AEI8gEAAN8C_AEiBOsBAAAA_AEC7AEAAAD8AQjtAQAAAPwBCPIBAADgAvwBIgcMAADHAgAgKwAA4gIAICwAAOICACDrAQAAAPcBAuwBAAAA9wEI7QEAAAD3AQjyAQAA4QL3ASIE6wEAAAD3AQLsAQAAAPcBCO0BAAAA9wEI8gEAAOIC9wEiDNEBAADjAgAw0gEAAIkCABDTAQAA4wIAMNQBAQC9AgAh1wECAL8CACHYAQEAvQIAIeEBAADkAosCIukBQADFAgAh6gFAAMUCACGHAgEAvQIAIYgCAQC9AgAhiQIBAL0CACEHDAAAxwIAICsAAOYCACAsAADmAgAg6wEAAACLAgLsAQAAAIsCCO0BAAAAiwII8gEAAOUCiwIiBwwAAMcCACArAADmAgAgLAAA5gIAIOsBAAAAiwIC7AEAAACLAgjtAQAAAIsCCPIBAADlAosCIgTrAQAAAIsCAuwBAAAAiwII7QEAAACLAgjyAQAA5gKLAiIK0QEAAOcCADDSAQAA8wEAENMBAADnAgAw1AEBAL0CACHhAQAA6AKMAiLpAUAAxQIAIYcCAQC9AgAhiAIBAL0CACGMAkAAxAIAIY0CQADEAgAhBwwAAMcCACArAADqAgAgLAAA6gIAIOsBAAAAjAIC7AEAAACMAgjtAQAAAIwCCPIBAADpAowCIgcMAADHAgAgKwAA6gIAICwAAOoCACDrAQAAAIwCAuwBAAAAjAII7QEAAACMAgjyAQAA6QKMAiIE6wEAAACMAgLsAQAAAIwCCO0BAAAAjAII8gEAAOoCjAIiCNEBAADrAgAw0gEAAN0BABDTAQAA6wIAMNQBAQC9AgAhhwIBAL0CACGOAgEAvQIAIY8CAQC-AgAhkAICAL8CACEK0QEAAOwCADDSAQAAxwEAENMBAADsAgAw1AEBAL0CACHpAUAAxQIAIeoBQADFAgAhhwIBAL0CACGIAgEAvQIAIZECAgC_AgAhkgIBAL4CACEW0QEAAO0CADDSAQAAsQEAENMBAADtAgAw1AEBAL0CACHhAQAA8AKkAiLpAUAAxQIAIeoBQADFAgAhkwIBAL0CACGUAgEAvgIAIZYCAADuApYCIpcCAQC9AgAhmAIBAL0CACGZAgEAvgIAIZoCAQC-AgAhmwIBAL4CACGcAgEAvgIAIZ0CQADFAgAhngJAAMQCACGfAgIAvwIAIaACAgC_AgAhogIAAO8CogIjpAIBAL0CACEHDAAAxwIAICsAAPYCACAsAAD2AgAg6wEAAACWAgLsAQAAAJYCCO0BAAAAlgII8gEAAPUClgIiBwwAAMoCACArAAD0AgAgLAAA9AIAIOsBAAAAogID7AEAAACiAgntAQAAAKICCfIBAADzAqICIwcMAADHAgAgKwAA8gIAICwAAPICACDrAQAAAKQCAuwBAAAApAII7QEAAACkAgjyAQAA8QKkAiIHDAAAxwIAICsAAPICACAsAADyAgAg6wEAAACkAgLsAQAAAKQCCO0BAAAApAII8gEAAPECpAIiBOsBAAAApAIC7AEAAACkAgjtAQAAAKQCCPIBAADyAqQCIgcMAADKAgAgKwAA9AIAICwAAPQCACDrAQAAAKICA-wBAAAAogIJ7QEAAACiAgnyAQAA8wKiAiME6wEAAACiAgPsAQAAAKICCe0BAAAAogIJ8gEAAPQCogIjBwwAAMcCACArAAD2AgAgLAAA9gIAIOsBAAAAlgIC7AEAAACWAgjtAQAAAJYCCPIBAAD1ApYCIgTrAQAAAJYCAuwBAAAAlgII7QEAAACWAgjyAQAA9gKWAiIW0QEAAPcCADDSAQAAmwEAENMBAAD3AgAw1AEBAL0CACHhAQAA-AKwAiLkAQEAvgIAIeUBQADEAgAh6QFAAMUCACHqAUAAxQIAIYACAQC-AgAhiAIBAL0CACGlAgEAvQIAIaYCAQC9AgAhpwIBAL0CACGoAkAAxQIAIakCAQC9AgAhqgIBAL0CACGrAgEAvQIAIawCAQC9AgAhrQIBAL0CACGuAgEAvQIAIbACQADEAgAhBwwAAMcCACArAAD6AgAgLAAA-gIAIOsBAAAAsAIC7AEAAACwAgjtAQAAALACCPIBAAD5ArACIgcMAADHAgAgKwAA-gIAICwAAPoCACDrAQAAALACAuwBAAAAsAII7QEAAACwAgjyAQAA-QKwAiIE6wEAAACwAgLsAQAAALACCO0BAAAAsAII8gEAAPoCsAIiD9EBAAD7AgAw0gEAAIMBABDTAQAA-wIAMNQBAQC9AgAh9wEBAL0CACGIAgEAvQIAIbECAQC9AgAhsgIBAL0CACGzAgEAvgIAIbQCAQC-AgAhtQICAPwCACG2AgEAvgIAIbcCAQC-AgAhuAIBAL4CACG5AgEAvgIAIQ0MAADKAgAgKwAAygIAICwAAMoCACBNAAD-AgAgTgAAygIAIOsBAgAAAAHsAQIAAAAF7QECAAAABe4BAgAAAAHvAQIAAAAB8AECAAAAAfEBAgAAAAHyAQIA_QIAIQ0MAADKAgAgKwAAygIAICwAAMoCACBNAAD-AgAgTgAAygIAIOsBAgAAAAHsAQIAAAAF7QECAAAABe4BAgAAAAHvAQIAAAAB8AECAAAAAfEBAgAAAAHyAQIA_QIAIQjrAQgAAAAB7AEIAAAABe0BCAAAAAXuAQgAAAAB7wEIAAAAAfABCAAAAAHxAQgAAAAB8gEIAP4CACEM0QEAAP8CADDSAQAAbQAQ0wEAAP8CADDUAQEAvQIAIekBQADFAgAh6gFAAMUCACGIAgEAvQIAIaICAADvAqICI7oCAQC-AgAhuwIBAL4CACG8AgAAgAMAIL0CAQC-AgAhBOsBAQAAAAW-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-gEBAIIDACH8AQAArgMAIP0BAQCCAwAh_gFAAI0DACH_AUAAjQMAIYACAQCCAwAhzQIAABEAIM4CAAARACAVCAAAqQMAIAsAAJYDACDRAQAAqwMAMNIBAAARABDTAQAAqwMAMNQBAQCKAwAh1QEBAIoDACHXAQIAkQMAIeEBAACtA_wBIucBQACNAwAh6QFAAIQDACHqAUAAhAMAIfcBAACsA_cBIvgBAQCKAwAh-QEBAIIDACH6AQEAggMAIfwBAACuAwAg_QEBAIIDACH-AUAAjQMAIf8BQACNAwAhgAIBAIIDACEE6wEAAAD3AQLsAQAAAPcBCO0BAAAA9wEI8gEAAOIC9wEiBOsBAAAA_AEC7AEAAAD8AQjtAQAAAPwBCPIBAADgAvwBIgzrAYAAAAAB7gGAAAAAAe8BgAAAAAHwAYAAAAAB8QGAAAAAAfIBgAAAAAGBAgEAAAABggIBAAAAAYMCAQAAAAGEAoAAAAABhQKAAAAAAYYCgAAAAAEChwIBAAAAAYgCAQAAAAENAwAAhQMAIAYAAJMDACAIAACyAwAg0QEAALADADDSAQAACwAQ0wEAALADADDUAQEAigMAIeEBAACxA4wCIukBQACEAwAhhwIBAIoDACGIAgEAigMAIYwCQACNAwAhjQJAAI0DACEE6wEAAACMAgLsAQAAAIwCCO0BAAAAjAII8gEAAOoCjAIiEwMAAIUDACAGAACTAwAgBwAAlAMAIAsAAJYDACANAACVAwAg0QEAAJADADDSAQAADwAQ0wEAAJADADDUAQEAigMAIdcBAgCRAwAh2AEBAIoDACHhAQAAkgOLAiLpAUAAhAMAIeoBQACEAwAhhwIBAIoDACGIAgEAigMAIYkCAQCKAwAhzQIAAA8AIM4CAAAPACAbBQAAhQMAIA4AAJ4DACAPAAC2AwAgEAAAnwMAIBEAAKADACDRAQAAswMAMNIBAAAHABDTAQAAswMAMNQBAQCKAwAh4QEAALUDpAIi6QFAAIQDACHqAUAAhAMAIZMCAQCKAwAhlAIBAIIDACGWAgAAtAOWAiKXAgEAigMAIZgCAQCKAwAhmQIBAIIDACGaAgEAggMAIZsCAQCCAwAhnAIBAIIDACGdAkAAhAMAIZ4CQACNAwAhnwICAJEDACGgAgIAkQMAIaICAACDA6ICI6QCAQCKAwAhBOsBAAAAlgIC7AEAAACWAgjtAQAAAJYCCPIBAAD2ApYCIgTrAQAAAKQCAuwBAAAApAII7QEAAACkAgjyAQAA8gKkAiIDyQIAACAAIMoCAAAgACDLAgAAIAAgAvcBAQAAAAGyAgEAAAABEAMAAIUDACDRAQAAuAMAMNIBAAADABDTAQAAuAMAMNQBAQCKAwAh9wEBAIoDACGIAgEAigMAIbECAQCKAwAhsgIBAIoDACGzAgEAggMAIbQCAQCCAwAhtQICALkDACG2AgEAggMAIbcCAQCCAwAhuAIBAIIDACG5AgEAggMAIQjrAQIAAAAB7AECAAAABe0BAgAAAAXuAQIAAAAB7wECAAAAAfABAgAAAAHxAQIAAAAB8gECAMoCACEAAAAAAAAB0gIBAAAAAQXSAgIAAAAB2QICAAAAAdoCAgAAAAHbAgIAAAAB3AICAAAAAQHSAgAAANoBAgHSAgAAANwBAgHSAgAAAN8BAgHSAgAAAOEBAgHSAgEAAAABAdICQAAAAAEB0gJAAAAAAQUlAADTBgAgJgAA3AYAIM8CAADUBgAg0AIAANsGACDVAgAAKQAgByUAANEGACAmAADZBgAgzwIAANIGACDQAgAA2AYAINMCAAARACDUAgAAEQAg1QIAABMAIAclAADPBgAgJgAA1gYAIM8CAADQBgAg0AIAANUGACDTAgAAGgAg1AIAABoAINUCAAABACADJQAA0wYAIM8CAADUBgAg1QIAACkAIAMlAADRBgAgzwIAANIGACDVAgAAEwAgAyUAAM8GACDPAgAA0AYAINUCAAABACAAAAAAAAHSAgAAAPcBAgHSAgAAAPwBAgUlAADJBgAgJgAAzQYAIM8CAADKBgAg0AIAAMwGACDVAgAAKQAgCyUAANgDADAmAADdAwAwzwIAANkDADDQAgAA2gMAMNECAADbAwAg0gIAANwDADDTAgAA3AMAMNQCAADcAwAw1QIAANwDADDWAgAA3gMAMNcCAADfAwAwFAgAAMwDACAKAADOAwAg1AEBAAAAAdUBAQAAAAHXAQIAAAAB2AEBAAAAAdoBAAAA2gEC3AEAAADcAQLdAQEAAAAB3wEAAADfAQLhAQAAAOEBAuIBAQAAAAHjAQEAAAAB5AEBAAAAAeUBQAAAAAHmAUAAAAAB5wFAAAAAAegBAQAAAAHpAUAAAAAB6gFAAAAAAQIAAAAXACAlAADjAwAgAwAAABcAICUAAOMDACAmAADiAwAgAR4AAMsGADAZCAAAqQMAIAkAAKoDACAKAACOAwAg0QEAAKQDADDSAQAAFQAQ0wEAAKQDADDUAQEAAAAB1QEBAIoDACHWAQEAggMAIdcBAgCRAwAh2AEBAIoDACHaAQAApQPaASLcAQAApgPcASLdAQEAigMAId8BAACnA98BIuEBAACoA-EBIuIBAQAAAAHjAQEAggMAIeQBAQCCAwAh5QFAAI0DACHmAUAAjQMAIecBQACNAwAh6AEBAIIDACHpAUAAhAMAIeoBQACEAwAhAgAAABcAIB4AAOIDACACAAAA4AMAIB4AAOEDACAW0QEAAN8DADDSAQAA4AMAENMBAADfAwAw1AEBAIoDACHVAQEAigMAIdYBAQCCAwAh1wECAJEDACHYAQEAigMAIdoBAAClA9oBItwBAACmA9wBIt0BAQCKAwAh3wEAAKcD3wEi4QEAAKgD4QEi4gEBAIoDACHjAQEAggMAIeQBAQCCAwAh5QFAAI0DACHmAUAAjQMAIecBQACNAwAh6AEBAIIDACHpAUAAhAMAIeoBQACEAwAhFtEBAADfAwAw0gEAAOADABDTAQAA3wMAMNQBAQCKAwAh1QEBAIoDACHWAQEAggMAIdcBAgCRAwAh2AEBAIoDACHaAQAApQPaASLcAQAApgPcASLdAQEAigMAId8BAACnA98BIuEBAACoA-EBIuIBAQCKAwAh4wEBAIIDACHkAQEAggMAIeUBQACNAwAh5gFAAI0DACHnAUAAjQMAIegBAQCCAwAh6QFAAIQDACHqAUAAhAMAIRLUAQEAwAMAIdUBAQDAAwAh1wECAMEDACHYAQEAwAMAIdoBAADCA9oBItwBAADDA9wBIt0BAQDAAwAh3wEAAMQD3wEi4QEAAMUD4QEi4gEBAMADACHjAQEAxgMAIeQBAQDGAwAh5QFAAMcDACHmAUAAxwMAIecBQADHAwAh6AEBAMYDACHpAUAAyAMAIeoBQADIAwAhFAgAAMkDACAKAADLAwAg1AEBAMADACHVAQEAwAMAIdcBAgDBAwAh2AEBAMADACHaAQAAwgPaASLcAQAAwwPcASLdAQEAwAMAId8BAADEA98BIuEBAADFA-EBIuIBAQDAAwAh4wEBAMYDACHkAQEAxgMAIeUBQADHAwAh5gFAAMcDACHnAUAAxwMAIegBAQDGAwAh6QFAAMgDACHqAUAAyAMAIRQIAADMAwAgCgAAzgMAINQBAQAAAAHVAQEAAAAB1wECAAAAAdgBAQAAAAHaAQAAANoBAtwBAAAA3AEC3QEBAAAAAd8BAAAA3wEC4QEAAADhAQLiAQEAAAAB4wEBAAAAAeQBAQAAAAHlAUAAAAAB5gFAAAAAAecBQAAAAAHoAQEAAAAB6QFAAAAAAeoBQAAAAAEDJQAAyQYAIM8CAADKBgAg1QIAACkAIAQlAADYAwAwzwIAANkDADDRAgAA2wMAINUCAADcAwAwAAAAAAAB0gIAAACLAgIFJQAAvAYAICYAAMcGACDPAgAAvQYAINACAADGBgAg1QIAAAkAIAUlAAC6BgAgJgAAxAYAIM8CAAC7BgAg0AIAAMMGACDVAgAAAQAgBSUAALgGACAmAADBBgAgzwIAALkGACDQAgAAwAYAINUCAAANACALJQAA-gMAMCYAAP8DADDPAgAA-wMAMNACAAD8AwAw0QIAAP0DACDSAgAA_gMAMNMCAAD-AwAw1AIAAP4DADDVAgAA_gMAMNYCAACABAAw1wIAAIEEADALJQAA8QMAMCYAAPUDADDPAgAA8gMAMNACAADzAwAw0QIAAPQDACDSAgAA3AMAMNMCAADcAwAw1AIAANwDADDVAgAA3AMAMNYCAAD2AwAw1wIAAN8DADAUCQAAzQMAIAoAAM4DACDUAQEAAAAB1gEBAAAAAdcBAgAAAAHYAQEAAAAB2gEAAADaAQLcAQAAANwBAt0BAQAAAAHfAQAAAN8BAuEBAAAA4QEC4gEBAAAAAeMBAQAAAAHkAQEAAAAB5QFAAAAAAeYBQAAAAAHnAUAAAAAB6AEBAAAAAekBQAAAAAHqAUAAAAABAgAAABcAICUAAPkDACADAAAAFwAgJQAA-QMAICYAAPgDACABHgAAvwYAMAIAAAAXACAeAAD4AwAgAgAAAOADACAeAAD3AwAgEtQBAQDAAwAh1gEBAMYDACHXAQIAwQMAIdgBAQDAAwAh2gEAAMID2gEi3AEAAMMD3AEi3QEBAMADACHfAQAAxAPfASLhAQAAxQPhASLiAQEAwAMAIeMBAQDGAwAh5AEBAMYDACHlAUAAxwMAIeYBQADHAwAh5wFAAMcDACHoAQEAxgMAIekBQADIAwAh6gFAAMgDACEUCQAAygMAIAoAAMsDACDUAQEAwAMAIdYBAQDGAwAh1wECAMEDACHYAQEAwAMAIdoBAADCA9oBItwBAADDA9wBIt0BAQDAAwAh3wEAAMQD3wEi4QEAAMUD4QEi4gEBAMADACHjAQEAxgMAIeQBAQDGAwAh5QFAAMcDACHmAUAAxwMAIecBQADHAwAh6AEBAMYDACHpAUAAyAMAIeoBQADIAwAhFAkAAM0DACAKAADOAwAg1AEBAAAAAdYBAQAAAAHXAQIAAAAB2AEBAAAAAdoBAAAA2gEC3AEAAADcAQLdAQEAAAAB3wEAAADfAQLhAQAAAOEBAuIBAQAAAAHjAQEAAAAB5AEBAAAAAeUBQAAAAAHmAUAAAAAB5wFAAAAAAegBAQAAAAHpAUAAAAAB6gFAAAAAARALAADlAwAg1AEBAAAAAdcBAgAAAAHhAQAAAPwBAucBQAAAAAHpAUAAAAAB6gFAAAAAAfcBAAAA9wEC-AEBAAAAAfkBAQAAAAH6AQEAAAAB_AGAAAAAAf0BAQAAAAH-AUAAAAAB_wFAAAAAAYACAQAAAAECAAAAEwAgJQAAhQQAIAMAAAATACAlAACFBAAgJgAAhAQAIAEeAAC-BgAwFQgAAKkDACALAACWAwAg0QEAAKsDADDSAQAAEQAQ0wEAAKsDADDUAQEAAAAB1QEBAIoDACHXAQIAkQMAIeEBAACtA_wBIucBQACNAwAh6QFAAIQDACHqAUAAhAMAIfcBAACsA_cBIvgBAQAAAAH5AQEAggMAIfoBAQCCAwAh_AEAAK4DACD9AQEAggMAIf4BQACNAwAh_wFAAI0DACGAAgEAggMAIQIAAAATACAeAACEBAAgAgAAAIIEACAeAACDBAAgE9EBAACBBAAw0gEAAIIEABDTAQAAgQQAMNQBAQCKAwAh1QEBAIoDACHXAQIAkQMAIeEBAACtA_wBIucBQACNAwAh6QFAAIQDACHqAUAAhAMAIfcBAACsA_cBIvgBAQCKAwAh-QEBAIIDACH6AQEAggMAIfwBAACuAwAg_QEBAIIDACH-AUAAjQMAIf8BQACNAwAhgAIBAIIDACET0QEAAIEEADDSAQAAggQAENMBAACBBAAw1AEBAIoDACHVAQEAigMAIdcBAgCRAwAh4QEAAK0D_AEi5wFAAI0DACHpAUAAhAMAIeoBQACEAwAh9wEAAKwD9wEi-AEBAIoDACH5AQEAggMAIfoBAQCCAwAh_AEAAK4DACD9AQEAggMAIf4BQACNAwAh_wFAAI0DACGAAgEAggMAIQ_UAQEAwAMAIdcBAgDBAwAh4QEAANUD_AEi5wFAAMcDACHpAUAAyAMAIeoBQADIAwAh9wEAANQD9wEi-AEBAMADACH5AQEAxgMAIfoBAQDGAwAh_AGAAAAAAf0BAQDGAwAh_gFAAMcDACH_AUAAxwMAIYACAQDGAwAhEAsAANcDACDUAQEAwAMAIdcBAgDBAwAh4QEAANUD_AEi5wFAAMcDACHpAUAAyAMAIeoBQADIAwAh9wEAANQD9wEi-AEBAMADACH5AQEAxgMAIfoBAQDGAwAh_AGAAAAAAf0BAQDGAwAh_gFAAMcDACH_AUAAxwMAIYACAQDGAwAhEAsAAOUDACDUAQEAAAAB1wECAAAAAeEBAAAA_AEC5wFAAAAAAekBQAAAAAHqAUAAAAAB9wEAAAD3AQL4AQEAAAAB-QEBAAAAAfoBAQAAAAH8AYAAAAAB_QEBAAAAAf4BQAAAAAH_AUAAAAABgAIBAAAAAQMlAAC8BgAgzwIAAL0GACDVAgAACQAgAyUAALoGACDPAgAAuwYAINUCAAABACADJQAAuAYAIM8CAAC5BgAg1QIAAA0AIAQlAAD6AwAwzwIAAPsDADDRAgAA_QMAINUCAAD-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_BAAgvQIBAMYDACEI1AEBAMADACHpAUAAyAMAIeoBQADIAwAhogIAALAEogIjugIBAMYDACG7AgEAxgMAIbwCAAD_BAAgvQIBAMYDACEUCAAAzAMAIAkAAM0DACDUAQEAAAAB1QEBAAAAAdYBAQAAAAHXAQIAAAAB2AEBAAAAAdoBAAAA2gEC3AEAAADcAQLdAQEAAAAB3wEAAADfAQLhAQAAAOEBAuIBAQAAAAHjAQEAAAAB5QFAAAAAAeYBQAAAAAHnAUAAAAAB6AEBAAAAAekBQAAAAAHqAUAAAAABAgAAABcAICUAAJ4FACADAAAAFwAgJQAAngUAICYAAJ0FACABHgAAgQYAMAIAAAAXACAeAACdBQAgAgAAAOADACAeAACcBQAgEtQBAQDAAwAh1QEBAMADACHWAQEAxgMAIdcBAgDBAwAh2AEBAMADACHaAQAAwgPaASLcAQAAwwPcASLdAQEAwAMAId8BAADEA98BIuEBAADFA-EBIuIBAQDAAwAh4wEBAMYDACHlAUAAxwMAIeYBQADHAwAh5wFAAMcDACHoAQEAxgMAIekBQADIAwAh6gFAAMgDACEUCAAAyQMAIAkAAMoDACDUAQEAwAMAIdUBAQDAAwAh1gEBAMYDACHXAQIAwQMAIdgBAQDAAwAh2gEAAMID2gEi3AEAAMMD3AEi3QEBAMADACHfAQAAxAPfASLhAQAAxQPhASLiAQEAwAMAIeMBAQDGAwAh5QFAAMcDACHmAUAAxwMAIecBQADHAwAh6AEBAMYDACHpAUAAyAMAIeoBQADIAwAhFAgAAMwDACAJAADNAwAg1AEBAAAAAdUBAQAAAAHWAQEAAAAB1wECAAAAAdgBAQAAAAHaAQAAANoBAtwBAAAA3AEC3QEBAAAAAd8BAAAA3wEC4QEAAADhAQLiAQEAAAAB4wEBAAAAAeUBQAAAAAHmAUAAAAAB5wFAAAAAAegBAQAAAAHpAUAAAAAB6gFAAAAAARMDAADyBAAg1AEBAAAAAeEBAAAAsAIC5QFAAAAAAekBQAAAAAHqAUAAAAABgAIBAAAAAYgCAQAAAAGlAgEAAAABpgIBAAAAAacCAQAAAAGoAkAAAAABqQIBAAAAAaoCAQAAAAGrAgEAAAABrAIBAAAAAa0CAQAAAAGuAgEAAAABsAJAAAAAAQIAAAA2ACAlAACqBQAgAwAAADYAICUAAKoFACAmAACpBQAgAR4AAIAGADAYAwAAhQMAIAoAAI4DACDRAQAAiwMAMNIBAAAyABDTAQAAiwMAMNQBAQAAAAHhAQAAjAOwAiLkAQEAggMAIeUBQACNAwAh6QFAAIQDACHqAUAAhAMAIYACAQCCAwAhiAIBAAAAAaUCAQCKAwAhpgIBAIoDACGnAgEAAAABqAJAAIQDACGpAgEAigMAIaoCAQCKAwAhqwIBAIoDACGsAgEAigMAIa0CAQCKAwAhrgIBAIoDACGwAkAAjQMAIQIAAAA2ACAeAACpBQAgAgAAAKcFACAeAACoBQAgFtEBAACmBQAw0gEAAKcFABDTAQAApgUAMNQBAQCKAwAh4QEAAIwDsAIi5AEBAIIDACHlAUAAjQMAIekBQACEAwAh6gFAAIQDACGAAgEAggMAIYgCAQCKAwAhpQIBAIoDACGmAgEAigMAIacCAQCKAwAhqAJAAIQDACGpAgEAigMAIaoCAQCKAwAhqwIBAIoDACGsAgEAigMAIa0CAQCKAwAhrgIBAIoDACGwAkAAjQMAIRbRAQAApgUAMNIBAACnBQAQ0wEAAKYFADDUAQEAigMAIeEBAACMA7ACIuQBAQCCAwAh5QFAAI0DACHpAUAAhAMAIeoBQACEAwAhgAIBAIIDACGIAgEAigMAIaUCAQCKAwAhpgIBAIoDACGnAgEAigMAIagCQACEAwAhqQIBAIoDACGqAgEAigMAIasCAQCKAwAhrAIBAIoDACGtAgEAigMAIa4CAQCKAwAhsAJAAI0DACES1AEBAMADACHhAQAA7wSwAiLlAUAAxwMAIekBQADIAwAh6gFAAMgDACGAAgEAxgMAIYgCAQDAAwAhpQIBAMADACGmAgEAwAMAIacCAQDAAwAhqAJAAMgDACGpAgEAwAMAIaoCAQDAAwAhqwIBAMADACGsAgEAwAMAIa0CAQDAAwAhrgIBAMADACGwAkAAxwMAIRMDAADwBAAg1AEBAMADACHhAQAA7wSwAiLlAUAAxwMAIekBQADIAwAh6gFAAMgDACGAAgEAxgMAIYgCAQDAAwAhpQIBAMADACGmAgEAwAMAIacCAQDAAwAhqAJAAMgDACGpAgEAwAMAIaoCAQDAAwAhqwIBAMADACGsAgEAwAMAIa0CAQDAAwAhrgIBAMADACGwAkAAxwMAIRMDAADyBAAg1AEBAAAAAeEBAAAAsAIC5QFAAAAAAekBQAAAAAHqAUAAAAABgAIBAAAAAYgCAQAAAAGlAgEAAAABpgIBAAAAAacCAQAAAAGoAkAAAAABqQIBAAAAAaoCAQAAAAGrAgEAAAABrAIBAAAAAa0CAQAAAAGuAgEAAAABsAJAAAAAARMKAADzBAAg1AEBAAAAAeEBAAAAsAIC5AEBAAAAAeUBQAAAAAHpAUAAAAAB6gFAAAAAAYACAQAAAAGlAgEAAAABpgIBAAAAAacCAQAAAAGoAkAAAAABqQIBAAAAAaoCAQAAAAGrAgEAAAABrAIBAAAAAa0CAQAAAAGuAgEAAAABsAJAAAAAAQIAAAA2ACAlAACrBQAgAwAAADIAICUAAKsFACAmAACvBQAgFQAAADIAIAoAAPEEACAeAACvBQAg1AEBAMADACHhAQAA7wSwAiLkAQEAxgMAIeUBQADHAwAh6QFAAMgDACHqAUAAyAMAIYACAQDGAwAhpQIBAMADACGmAgEAwAMAIacCAQDAAwAhqAJAAMgDACGpAgEAwAMAIaoCAQDAAwAhqwIBAMADACGsAgEAwAMAIa0CAQDAAwAhrgIBAMADACGwAkAAxwMAIRMKAADxBAAg1AEBAMADACHhAQAA7wSwAiLkAQEAxgMAIeUBQADHAwAh6QFAAMgDACHqAUAAyAMAIYACAQDGAwAhpQIBAMADACGmAgEAwAMAIacCAQDAAwAhqAJAAMgDACGpAgEAwAMAIaoCAQDAAwAhqwIBAMADACGsAgEAwAMAIa0CAQDAAwAhrgIBAMADACGwAkAAxwMAIQwGAACGBAAgBwAAiAQAIAsAAIoEACANAACJBAAg1AEBAAAAAdcBAgAAAAHYAQEAAAAB4QEAAACLAgLpAUAAAAAB6gFAAAAAAYcCAQAAAAGJAgEAAAABAgAAACkAICUAALgFACADAAAAKQAgJQAAuAUAICYAALcFACABHgAA_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_RAQAA3gUAMNIBAADfBQAQ0wEAAN4FADDUAQEAigMAIfcBAQCKAwAhiAIBAIoDACGxAgEAigMAIbICAQCKAwAhswIBAIIDACG0AgEAggMAIbUCAgC5AwAhtgIBAIIDACG3AgEAggMAIbgCAQCCAwAhuQIBAIIDACEL1AEBAMADACH3AQEAwAMAIbECAQDAAwAhsgIBAMADACGzAgEAxgMAIbQCAQDGAwAhtQICAPkEACG2AgEAxgMAIbcCAQDGAwAhuAIBAMYDACG5AgEAxgMAIQvUAQEAwAMAIfcBAQDAAwAhsQIBAMADACGyAgEAwAMAIbMCAQDGAwAhtAIBAMYDACG1AgIA-QQAIbYCAQDGAwAhtwIBAMYDACG4AgEAxgMAIbkCAQDGAwAhC9QBAQAAAAH3AQEAAAABsQIBAAAAAbICAQAAAAGzAgEAAAABtAIBAAAAAbUCAgAAAAG2AgEAAAABtwIBAAAAAbgCAQAAAAG5AgEAAAABBCUAANcFADDPAgAA2AUAMNECAADaBQAg1QIAANsFADAEJQAAywUAMM8CAADMBQAw0QIAAM4FACDVAgAAzwUAMAQlAADCBQAwzwIAAMMFADDRAgAAxQUAINUCAADfBAAwBCUAALkFADDPAgAAugUAMNECAAC8BQAg1QIAAMcEADAEJQAAsAUAMM8CAACxBQAw0QIAALMFACDVAgAAuwQAMAMlAACrBQAgzwIAAKwFACDVAgAANgAgBCUAAJ8FADDPAgAAoAUAMNECAACiBQAg1QIAAKMFADAEJQAAlgUAMM8CAACXBQAw0QIAAJkFACDVAgAA3AMAMAMlAACRBQAgzwIAAJIFACDVAgAAWAAgAAAAAAAGAwAAgwUAIAoAAIMFACDkAQAAugMAIOUBAAC6AwAggAIAALoDACCwAgAAugMAIAAABQMAAIMFACCiAgAAugMAILoCAAC6AwAguwIAALoDACC9AgAAugMAIAwFAACDBQAgDgAA7gUAIA8AAPoFACAQAADvBQAgEQAA8AUAIJQCAAC6AwAgmQIAALoDACCaAgAAugMAIJsCAAC6AwAgnAIAALoDACCeAgAAugMAIKICAAC6AwAgBQMAAIMFACAGAAD1BQAgCAAA-AUAIIwCAAC6AwAgjQIAALoDACAABQMAAIMFACAGAAD1BQAgBwAA9gUAIAsAAPMFACANAAD3BQAgCggAAPgFACALAADzBQAg5wEAALoDACD5AQAAugMAIPoBAAC6AwAg_AEAALoDACD9AQAAugMAIP4BAAC6AwAg_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_UAQEAAAAB1wECAAAAAeEBAAAA_AEC5wFAAAAAAekBQAAAAAHqAUAAAAAB9wEAAAD3AQL4AQEAAAAB-QEBAAAAAfoBAQAAAAH8AYAAAAAB_QEBAAAAAf4BQAAAAAH_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_AEC5wFAAAAAAekBQAAAAAHqAUAAAAAB9wEAAAD3AQL4AQEAAAAB-QEBAAAAAfoBAQAAAAH8AYAAAAAB_QEBAAAAAf4BQAAAAAH_AUAAAAABgAIBAAAAAQIAAAATACAlAADRBgAgDQMAAIcEACAGAACGBAAgBwAAiAQAIA0AAIkEACDUAQEAAAAB1wECAAAAAdgBAQAAAAHhAQAAAIsCAukBQAAAAAHqAUAAAAABhwIBAAAAAYgCAQAAAAGJAgEAAAABAgAAACkAICUAANMGACADAAAAGgAgJQAAzwYAICYAANcGACAUAAAAGgAgBAAAiAUAIBEAAIwFACASAACJBQAgEwAAigUAIBQAAIsFACAVAACNBQAgFgAAjgUAIBgAAJAFACAeAADXBgAg1AEBAMADACHpAUAAyAMAIeoBQADIAwAhwQIBAMADACHCAgEAwAMAIcMCAQDGAwAhxAIBAMYDACHFAkAAxwMAIcYCIACHBQAhxwJAAMcDACESBAAAiAUAIBEAAIwFACASAACJBQAgEwAAigUAIBQAAIsFACAVAACNBQAgFgAAjgUAIBgAAJAFACDUAQEAwAMAIekBQADIAwAh6gFAAMgDACHBAgEAwAMAIcICAQDAAwAhwwIBAMYDACHEAgEAxgMAIcUCQADHAwAhxgIgAIcFACHHAkAAxwMAIQMAAAARACAlAADRBgAgJgAA2gYAIBMAAAARACAIAADWAwAgHgAA2gYAINQBAQDAAwAh1QEBAMADACHXAQIAwQMAIeEBAADVA_wBIucBQADHAwAh6QFAAMgDACHqAUAAyAMAIfcBAADUA_cBIvgBAQDAAwAh-QEBAMYDACH6AQEAxgMAIfwBgAAAAAH9AQEAxgMAIf4BQADHAwAh_wFAAMcDACGAAgEAxgMAIREIAADWAwAg1AEBAMADACHVAQEAwAMAIdcBAgDBAwAh4QEAANUD_AEi5wFAAMcDACHpAUAAyAMAIeoBQADIAwAh9wEAANQD9wEi-AEBAMADACH5AQEAxgMAIfoBAQDGAwAh_AGAAAAAAf0BAQDGAwAh_gFAAMcDACH_AUAAxwMAIYACAQDGAwAhAwAAAA8AICUAANMGACAmAADdBgAgDwAAAA8AIAMAAO0DACAGAADsAwAgBwAA7gMAIA0AAO8DACAeAADdBgAg1AEBAMADACHXAQIAwQMAIdgBAQDAAwAh4QEAAOsDiwIi6QFAAMgDACHqAUAAyAMAIYcCAQDAAwAhiAIBAMADACGJAgEAwAMAIQ0DAADtAwAgBgAA7AMAIAcAAO4DACANAADvAwAg1AEBAMADACHXAQIAwQMAIdgBAQDAAwAh4QEAAOsDiwIi6QFAAMgDACHqAUAAyAMAIYcCAQDAAwAhiAIBAMADACGJAgEAwAMAIQoEBgIMAA8RMQUSCgMTLwQUMAsVMw0WNw0XOAcYOg4BAwABBgUAAQwADA4OBA8jChAnCxEqBQMDAAEGAAMIEAUGAwABBgADBwAECx0HDAAJDRQGAwgABQsYBwwACAMIAAUJGQYKGwEBCxwAAgsfAA0eAAEGAAMCAwABBgADBA4rAA8sABAtABEuAAIDAAEKNAEBAwABBwQ7ABE_ABI8ABM9ABQ-ABZAABdBAAAAAAMMABQrABUsABYAAAADDAAUKwAVLAAWAQMAAQEDAAEDDAAbKwAcLAAdAAAAAwwAGysAHCwAHQEDAAEBAwABBQwAIisAJSwAJk0AI04AJAAAAAAABQwAIisAJSwAJk0AI04AJAIDAAEKkAEBAgMAAQqWAQEDDAArKwAsLAAtAAAAAwwAKysALCwALQEFAAEBBQABBQwAMisANSwANk0AM04ANAAAAAAABQwAMisANSwANk0AM04ANAIDAAEGAAMCAwABBgADBQwAOysAPiwAP00APE4APQAAAAAABQwAOysAPiwAP00APE4APQEGAAMBBgADBQwARCsARywASE0ARU4ARgAAAAAABQwARCsARywASE0ARU4ARgIDAAEGAAMCAwABBgADAwwATSsATiwATwAAAAMMAE0rAE4sAE8DAwABBgADBwAEAwMAAQYAAwcABAUMAFQrAFcsAFhNAFVOAFYAAAAAAAUMAFQrAFcsAFhNAFVOAFYBCAAFAQgABQUMAF0rAGAsAGFNAF5OAF8AAAAAAAUMAF0rAGAsAGFNAF5OAF8DCAAFCawCBgqtAgEDCAAFCbMCBgq0AgEFDABmKwBpLABqTQBnTgBoAAAAAAAFDABmKwBpLABqTQBnTgBoGQIBGkIBG0QBHEUBHUYBH0gBIEoQIUsRIk0BI08QJFASJ1EBKFIBKVMQLVYTLlcXL1kOMFoOMVwOMl0OM14ONGAONWIQNmMYN2UOOGcQOWgZOmkOO2oOPGsQPW4aPm8eP3ACQHECQXICQnMCQ3QCRHYCRXgQRnkfR3sCSH0QSX4gSn8CS4ABAkyBARBPhAEhUIUBJ1GGAQ1ShwENU4gBDVSJAQ1VigENVowBDVeOARBYjwEoWZIBDVqUARBblQEpXJcBDV2YAQ1emQEQX5wBKmCdAS5hngEDYp8BA2OgAQNkoQEDZaIBA2akAQNnpgEQaKcBL2mpAQNqqwEQa6wBMGytAQNtrgEDbq8BEG-yATFwswE3cbQBC3K1AQtztgELdLcBC3W4AQt2ugELd7wBEHi9ATh5vwELesEBEHvCATl8wwELfcQBC37FARB_yAE6gAHJAUCBAcoBCoIBywEKgwHMAQqEAc0BCoUBzgEKhgHQAQqHAdIBEIgB0wFBiQHVAQqKAdcBEIsB2AFCjAHZAQqNAdoBCo4B2wEQjwHeAUOQAd8BSZEB4AEEkgHhAQSTAeIBBJQB4wEElQHkAQSWAeYBBJcB6AEQmAHpAUqZAesBBJoB7QEQmwHuAUucAe8BBJ0B8AEEngHxARCfAfQBTKAB9QFQoQH2AQWiAfcBBaMB-AEFpAH5AQWlAfoBBaYB_AEFpwH-ARCoAf8BUakBgQIFqgGDAhCrAYQCUqwBhQIFrQGGAgWuAYcCEK8BigJTsAGLAlmxAYwCBrIBjQIGswGOAga0AY8CBrUBkAIGtgGSAga3AZQCELgBlQJauQGXAga6AZkCELsBmgJbvAGbAga9AZwCBr4BnQIQvwGgAlzAAaECYsEBogIHwgGjAgfDAaQCB8QBpQIHxQGmAgfGAagCB8cBqgIQyAGrAmPJAa8CB8oBsQIQywGyAmTMAbUCB80BtgIHzgG3AhDPAboCZdABuwJr"
}
async function decodeBase64AsWasm(wasmBase64: string): Promise {
@@ -287,6 +287,16 @@ export interface PrismaClient<
* ```
*/
get payment(): Prisma.PaymentDelegate;
+
+ /**
+ * `prisma.refund`: Exposes CRUD operations for the **Refund** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more Refunds
+ * const refunds = await prisma.refund.findMany()
+ * ```
+ */
+ get refund(): Prisma.RefundDelegate;
}
export function getPrismaClientClass(): PrismaClientConstructor {
diff --git a/app/generated/prisma/internal/prismaNamespace.ts b/app/generated/prisma/internal/prismaNamespace.ts
index f1d30d5..01c9d02 100644
--- a/app/generated/prisma/internal/prismaNamespace.ts
+++ b/app/generated/prisma/internal/prismaNamespace.ts
@@ -393,7 +393,8 @@ export const ModelName = {
TripImage: 'TripImage',
TripParticipant: 'TripParticipant',
Booking: 'Booking',
- Payment: 'Payment'
+ Payment: 'Payment',
+ Refund: 'Refund'
} as const
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@@ -409,7 +410,7 @@ export type TypeMap
+ fields: Prisma.RefundFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.RefundFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.RefundFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.RefundFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.RefundFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.RefundFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.RefundCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.RefundCreateManyArgs
+ result: BatchPayload
+ }
+ createManyAndReturn: {
+ args: Prisma.RefundCreateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ delete: {
+ args: Prisma.RefundDeleteArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.RefundUpdateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.RefundDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.RefundUpdateManyArgs
+ result: BatchPayload
+ }
+ updateManyAndReturn: {
+ args: Prisma.RefundUpdateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ upsert: {
+ args: Prisma.RefundUpsertArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.RefundAggregateArgs
+ result: runtime.Types.Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.RefundGroupByArgs
+ result: runtime.Types.Utils.Optional[]
+ }
+ count: {
+ args: Prisma.RefundCountArgs
+ result: runtime.Types.Utils.Optional | number
+ }
+ }
+ }
}
} & {
other: {
@@ -1365,6 +1440,31 @@ export const PaymentScalarFieldEnum = {
export type PaymentScalarFieldEnum = (typeof PaymentScalarFieldEnum)[keyof typeof PaymentScalarFieldEnum]
+export const RefundScalarFieldEnum = {
+ id: 'id',
+ bookingId: 'bookingId',
+ paymentId: 'paymentId',
+ amount: 'amount',
+ currency: 'currency',
+ reason: 'reason',
+ reportedBy: 'reportedBy',
+ reportNote: 'reportNote',
+ initiatedBy: 'initiatedBy',
+ status: 'status',
+ idempotencyKey: 'idempotencyKey',
+ adminNote: 'adminNote',
+ reviewedById: 'reviewedById',
+ reviewedAt: 'reviewedAt',
+ succeededAt: 'succeededAt',
+ failedAt: 'failedAt',
+ externalRefundId: 'externalRefundId',
+ createdAt: 'createdAt',
+ updatedAt: 'updatedAt'
+} as const
+
+export type RefundScalarFieldEnum = (typeof RefundScalarFieldEnum)[keyof typeof RefundScalarFieldEnum]
+
+
export const SortOrder = {
asc: 'asc',
desc: 'desc'
@@ -1587,6 +1687,62 @@ export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$Prisma
+/**
+ * Reference to a field of type 'RefundReason'
+ */
+export type EnumRefundReasonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundReason'>
+
+
+
+/**
+ * Reference to a field of type 'RefundReason[]'
+ */
+export type ListEnumRefundReasonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundReason[]'>
+
+
+
+/**
+ * Reference to a field of type 'RefundReporter'
+ */
+export type EnumRefundReporterFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundReporter'>
+
+
+
+/**
+ * Reference to a field of type 'RefundReporter[]'
+ */
+export type ListEnumRefundReporterFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundReporter[]'>
+
+
+
+/**
+ * Reference to a field of type 'RefundInitiator'
+ */
+export type EnumRefundInitiatorFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundInitiator'>
+
+
+
+/**
+ * Reference to a field of type 'RefundInitiator[]'
+ */
+export type ListEnumRefundInitiatorFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundInitiator[]'>
+
+
+
+/**
+ * Reference to a field of type 'RefundStatus'
+ */
+export type EnumRefundStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundStatus'>
+
+
+
+/**
+ * Reference to a field of type 'RefundStatus[]'
+ */
+export type ListEnumRefundStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RefundStatus[]'>
+
+
+
/**
* Reference to a field of type 'Float'
*/
@@ -1720,6 +1876,7 @@ export type GlobalOmitConfig = {
tripParticipant?: Prisma.TripParticipantOmit
booking?: Prisma.BookingOmit
payment?: Prisma.PaymentOmit
+ refund?: Prisma.RefundOmit
}
/* Types for Logging */
diff --git a/app/generated/prisma/internal/prismaNamespaceBrowser.ts b/app/generated/prisma/internal/prismaNamespaceBrowser.ts
index 6fe902d..0c3b63d 100644
--- a/app/generated/prisma/internal/prismaNamespaceBrowser.ts
+++ b/app/generated/prisma/internal/prismaNamespaceBrowser.ts
@@ -60,7 +60,8 @@ export const ModelName = {
TripImage: 'TripImage',
TripParticipant: 'TripParticipant',
Booking: 'Booking',
- Payment: 'Payment'
+ Payment: 'Payment',
+ Refund: 'Refund'
} as const
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@@ -252,6 +253,31 @@ export const PaymentScalarFieldEnum = {
export type PaymentScalarFieldEnum = (typeof PaymentScalarFieldEnum)[keyof typeof PaymentScalarFieldEnum]
+export const RefundScalarFieldEnum = {
+ id: 'id',
+ bookingId: 'bookingId',
+ paymentId: 'paymentId',
+ amount: 'amount',
+ currency: 'currency',
+ reason: 'reason',
+ reportedBy: 'reportedBy',
+ reportNote: 'reportNote',
+ initiatedBy: 'initiatedBy',
+ status: 'status',
+ idempotencyKey: 'idempotencyKey',
+ adminNote: 'adminNote',
+ reviewedById: 'reviewedById',
+ reviewedAt: 'reviewedAt',
+ succeededAt: 'succeededAt',
+ failedAt: 'failedAt',
+ externalRefundId: 'externalRefundId',
+ createdAt: 'createdAt',
+ updatedAt: 'updatedAt'
+} as const
+
+export type RefundScalarFieldEnum = (typeof RefundScalarFieldEnum)[keyof typeof RefundScalarFieldEnum]
+
+
export const SortOrder = {
asc: 'asc',
desc: 'desc'
diff --git a/app/generated/prisma/models.ts b/app/generated/prisma/models.ts
index 80f8a58..43d18c1 100644
--- a/app/generated/prisma/models.ts
+++ b/app/generated/prisma/models.ts
@@ -18,4 +18,5 @@ export type * from './models/TripImage'
export type * from './models/TripParticipant'
export type * from './models/Booking'
export type * from './models/Payment'
+export type * from './models/Refund'
export type * from './commonInputTypes'
\ No newline at end of file
diff --git a/app/generated/prisma/models/Booking.ts b/app/generated/prisma/models/Booking.ts
index 345831d..07ab345 100644
--- a/app/generated/prisma/models/Booking.ts
+++ b/app/generated/prisma/models/Booking.ts
@@ -257,6 +257,7 @@ export type BookingWhereInput = {
user?: Prisma.XOR
participant?: Prisma.XOR
payments?: Prisma.PaymentListRelationFilter
+ refunds?: Prisma.RefundListRelationFilter
}
export type BookingOrderByWithRelationInput = {
@@ -273,6 +274,7 @@ export type BookingOrderByWithRelationInput = {
user?: Prisma.UserOrderByWithRelationInput
participant?: Prisma.TripParticipantOrderByWithRelationInput
payments?: Prisma.PaymentOrderByRelationAggregateInput
+ refunds?: Prisma.RefundOrderByRelationAggregateInput
}
export type BookingWhereUniqueInput = Prisma.AtLeast<{
@@ -293,6 +295,7 @@ export type BookingWhereUniqueInput = Prisma.AtLeast<{
user?: Prisma.XOR
participant?: Prisma.XOR
payments?: Prisma.PaymentListRelationFilter
+ refunds?: Prisma.RefundListRelationFilter
}, "id" | "participantId" | "tripId_userId">
export type BookingOrderByWithAggregationInput = {
@@ -338,6 +341,7 @@ export type BookingCreateInput = {
user: Prisma.UserCreateNestedOneWithoutBookingsInput
participant: Prisma.TripParticipantCreateNestedOneWithoutBookingInput
payments?: Prisma.PaymentCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundCreateNestedManyWithoutBookingInput
}
export type BookingUncheckedCreateInput = {
@@ -351,6 +355,7 @@ export type BookingUncheckedCreateInput = {
createdAt?: Date | string
updatedAt?: Date | string
payments?: Prisma.PaymentUncheckedCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundUncheckedCreateNestedManyWithoutBookingInput
}
export type BookingUpdateInput = {
@@ -364,6 +369,7 @@ export type BookingUpdateInput = {
user?: Prisma.UserUpdateOneRequiredWithoutBookingsNestedInput
participant?: Prisma.TripParticipantUpdateOneRequiredWithoutBookingNestedInput
payments?: Prisma.PaymentUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUpdateManyWithoutBookingNestedInput
}
export type BookingUncheckedUpdateInput = {
@@ -377,6 +383,7 @@ export type BookingUncheckedUpdateInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
payments?: Prisma.PaymentUncheckedUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUncheckedUpdateManyWithoutBookingNestedInput
}
export type BookingCreateManyInput = {
@@ -615,6 +622,20 @@ export type BookingUpdateOneRequiredWithoutPaymentsNestedInput = {
update?: Prisma.XOR, Prisma.BookingUncheckedUpdateWithoutPaymentsInput>
}
+export type BookingCreateNestedOneWithoutRefundsInput = {
+ create?: Prisma.XOR
+ connectOrCreate?: Prisma.BookingCreateOrConnectWithoutRefundsInput
+ connect?: Prisma.BookingWhereUniqueInput
+}
+
+export type BookingUpdateOneRequiredWithoutRefundsNestedInput = {
+ create?: Prisma.XOR
+ connectOrCreate?: Prisma.BookingCreateOrConnectWithoutRefundsInput
+ upsert?: Prisma.BookingUpsertWithoutRefundsInput
+ connect?: Prisma.BookingWhereUniqueInput
+ update?: Prisma.XOR, Prisma.BookingUncheckedUpdateWithoutRefundsInput>
+}
+
export type BookingCreateWithoutUserInput = {
id?: string
amount: number
@@ -625,6 +646,7 @@ export type BookingCreateWithoutUserInput = {
trip: Prisma.TripCreateNestedOneWithoutBookingsInput
participant: Prisma.TripParticipantCreateNestedOneWithoutBookingInput
payments?: Prisma.PaymentCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundCreateNestedManyWithoutBookingInput
}
export type BookingUncheckedCreateWithoutUserInput = {
@@ -637,6 +659,7 @@ export type BookingUncheckedCreateWithoutUserInput = {
createdAt?: Date | string
updatedAt?: Date | string
payments?: Prisma.PaymentUncheckedCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundUncheckedCreateNestedManyWithoutBookingInput
}
export type BookingCreateOrConnectWithoutUserInput = {
@@ -690,6 +713,7 @@ export type BookingCreateWithoutTripInput = {
user: Prisma.UserCreateNestedOneWithoutBookingsInput
participant: Prisma.TripParticipantCreateNestedOneWithoutBookingInput
payments?: Prisma.PaymentCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundCreateNestedManyWithoutBookingInput
}
export type BookingUncheckedCreateWithoutTripInput = {
@@ -702,6 +726,7 @@ export type BookingUncheckedCreateWithoutTripInput = {
createdAt?: Date | string
updatedAt?: Date | string
payments?: Prisma.PaymentUncheckedCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundUncheckedCreateNestedManyWithoutBookingInput
}
export type BookingCreateOrConnectWithoutTripInput = {
@@ -740,6 +765,7 @@ export type BookingCreateWithoutParticipantInput = {
trip: Prisma.TripCreateNestedOneWithoutBookingsInput
user: Prisma.UserCreateNestedOneWithoutBookingsInput
payments?: Prisma.PaymentCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundCreateNestedManyWithoutBookingInput
}
export type BookingUncheckedCreateWithoutParticipantInput = {
@@ -752,6 +778,7 @@ export type BookingUncheckedCreateWithoutParticipantInput = {
createdAt?: Date | string
updatedAt?: Date | string
payments?: Prisma.PaymentUncheckedCreateNestedManyWithoutBookingInput
+ refunds?: Prisma.RefundUncheckedCreateNestedManyWithoutBookingInput
}
export type BookingCreateOrConnectWithoutParticipantInput = {
@@ -780,6 +807,7 @@ export type BookingUpdateWithoutParticipantInput = {
trip?: Prisma.TripUpdateOneRequiredWithoutBookingsNestedInput
user?: Prisma.UserUpdateOneRequiredWithoutBookingsNestedInput
payments?: Prisma.PaymentUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUpdateManyWithoutBookingNestedInput
}
export type BookingUncheckedUpdateWithoutParticipantInput = {
@@ -792,6 +820,7 @@ export type BookingUncheckedUpdateWithoutParticipantInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
payments?: Prisma.PaymentUncheckedUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUncheckedUpdateManyWithoutBookingNestedInput
}
export type BookingCreateWithoutPaymentsInput = {
@@ -804,6 +833,7 @@ export type BookingCreateWithoutPaymentsInput = {
trip: Prisma.TripCreateNestedOneWithoutBookingsInput
user: Prisma.UserCreateNestedOneWithoutBookingsInput
participant: Prisma.TripParticipantCreateNestedOneWithoutBookingInput
+ refunds?: Prisma.RefundCreateNestedManyWithoutBookingInput
}
export type BookingUncheckedCreateWithoutPaymentsInput = {
@@ -816,6 +846,7 @@ export type BookingUncheckedCreateWithoutPaymentsInput = {
status?: $Enums.BookingStatus
createdAt?: Date | string
updatedAt?: Date | string
+ refunds?: Prisma.RefundUncheckedCreateNestedManyWithoutBookingInput
}
export type BookingCreateOrConnectWithoutPaymentsInput = {
@@ -844,6 +875,7 @@ export type BookingUpdateWithoutPaymentsInput = {
trip?: Prisma.TripUpdateOneRequiredWithoutBookingsNestedInput
user?: Prisma.UserUpdateOneRequiredWithoutBookingsNestedInput
participant?: Prisma.TripParticipantUpdateOneRequiredWithoutBookingNestedInput
+ refunds?: Prisma.RefundUpdateManyWithoutBookingNestedInput
}
export type BookingUncheckedUpdateWithoutPaymentsInput = {
@@ -856,6 +888,75 @@ export type BookingUncheckedUpdateWithoutPaymentsInput = {
status?: Prisma.EnumBookingStatusFieldUpdateOperationsInput | $Enums.BookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ refunds?: Prisma.RefundUncheckedUpdateManyWithoutBookingNestedInput
+}
+
+export type BookingCreateWithoutRefundsInput = {
+ id?: string
+ amount: number
+ currency?: string
+ status?: $Enums.BookingStatus
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ trip: Prisma.TripCreateNestedOneWithoutBookingsInput
+ user: Prisma.UserCreateNestedOneWithoutBookingsInput
+ participant: Prisma.TripParticipantCreateNestedOneWithoutBookingInput
+ payments?: Prisma.PaymentCreateNestedManyWithoutBookingInput
+}
+
+export type BookingUncheckedCreateWithoutRefundsInput = {
+ id?: string
+ tripId: string
+ userId: string
+ participantId: string
+ amount: number
+ currency?: string
+ status?: $Enums.BookingStatus
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ payments?: Prisma.PaymentUncheckedCreateNestedManyWithoutBookingInput
+}
+
+export type BookingCreateOrConnectWithoutRefundsInput = {
+ where: Prisma.BookingWhereUniqueInput
+ create: Prisma.XOR
+}
+
+export type BookingUpsertWithoutRefundsInput = {
+ update: Prisma.XOR
+ create: Prisma.XOR
+ where?: Prisma.BookingWhereInput
+}
+
+export type BookingUpdateToOneWithWhereWithoutRefundsInput = {
+ where?: Prisma.BookingWhereInput
+ data: Prisma.XOR
+}
+
+export type BookingUpdateWithoutRefundsInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ status?: Prisma.EnumBookingStatusFieldUpdateOperationsInput | $Enums.BookingStatus
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ trip?: Prisma.TripUpdateOneRequiredWithoutBookingsNestedInput
+ user?: Prisma.UserUpdateOneRequiredWithoutBookingsNestedInput
+ participant?: Prisma.TripParticipantUpdateOneRequiredWithoutBookingNestedInput
+ payments?: Prisma.PaymentUpdateManyWithoutBookingNestedInput
+}
+
+export type BookingUncheckedUpdateWithoutRefundsInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ tripId?: Prisma.StringFieldUpdateOperationsInput | string
+ userId?: Prisma.StringFieldUpdateOperationsInput | string
+ participantId?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ status?: Prisma.EnumBookingStatusFieldUpdateOperationsInput | $Enums.BookingStatus
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ payments?: Prisma.PaymentUncheckedUpdateManyWithoutBookingNestedInput
}
export type BookingCreateManyUserInput = {
@@ -879,6 +980,7 @@ export type BookingUpdateWithoutUserInput = {
trip?: Prisma.TripUpdateOneRequiredWithoutBookingsNestedInput
participant?: Prisma.TripParticipantUpdateOneRequiredWithoutBookingNestedInput
payments?: Prisma.PaymentUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUpdateManyWithoutBookingNestedInput
}
export type BookingUncheckedUpdateWithoutUserInput = {
@@ -891,6 +993,7 @@ export type BookingUncheckedUpdateWithoutUserInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
payments?: Prisma.PaymentUncheckedUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUncheckedUpdateManyWithoutBookingNestedInput
}
export type BookingUncheckedUpdateManyWithoutUserInput = {
@@ -925,6 +1028,7 @@ export type BookingUpdateWithoutTripInput = {
user?: Prisma.UserUpdateOneRequiredWithoutBookingsNestedInput
participant?: Prisma.TripParticipantUpdateOneRequiredWithoutBookingNestedInput
payments?: Prisma.PaymentUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUpdateManyWithoutBookingNestedInput
}
export type BookingUncheckedUpdateWithoutTripInput = {
@@ -937,6 +1041,7 @@ export type BookingUncheckedUpdateWithoutTripInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
payments?: Prisma.PaymentUncheckedUpdateManyWithoutBookingNestedInput
+ refunds?: Prisma.RefundUncheckedUpdateManyWithoutBookingNestedInput
}
export type BookingUncheckedUpdateManyWithoutTripInput = {
@@ -957,10 +1062,12 @@ export type BookingUncheckedUpdateManyWithoutTripInput = {
export type BookingCountOutputType = {
payments: number
+ refunds: number
}
export type BookingCountOutputTypeSelect = {
payments?: boolean | BookingCountOutputTypeCountPaymentsArgs
+ refunds?: boolean | BookingCountOutputTypeCountRefundsArgs
}
/**
@@ -980,6 +1087,13 @@ export type BookingCountOutputTypeCountPaymentsArgs = {
+ where?: Prisma.RefundWhereInput
+}
+
export type BookingSelect = runtime.Types.Extensions.GetSelect<{
id?: boolean
@@ -995,6 +1109,7 @@ export type BookingSelect
participant?: boolean | Prisma.TripParticipantDefaultArgs
payments?: boolean | Prisma.Booking$paymentsArgs
+ refunds?: boolean | Prisma.Booking$refundsArgs
_count?: boolean | Prisma.BookingCountOutputTypeDefaultArgs
}, ExtArgs["result"]["booking"]>
@@ -1046,6 +1161,7 @@ export type BookingInclude
participant?: boolean | Prisma.TripParticipantDefaultArgs
payments?: boolean | Prisma.Booking$paymentsArgs
+ refunds?: boolean | Prisma.Booking$refundsArgs
_count?: boolean | Prisma.BookingCountOutputTypeDefaultArgs
}
export type BookingIncludeCreateManyAndReturn = {
@@ -1066,6 +1182,7 @@ export type $BookingPayload
participant: Prisma.$TripParticipantPayload
payments: Prisma.$PaymentPayload[]
+ refunds: Prisma.$RefundPayload[]
}
scalars: runtime.Types.Extensions.GetPayloadResult<{
id: string
@@ -1475,6 +1592,7 @@ export interface Prisma__BookingClient = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
participant = {}>(args?: Prisma.Subset>): Prisma.Prisma__TripParticipantClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
payments = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null>
+ refunds = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null>
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
@@ -1937,6 +2055,30 @@ export type Booking$paymentsArgs = {
+ /**
+ * Select specific fields to fetch from the Refund
+ */
+ select?: Prisma.RefundSelect | null
+ /**
+ * Omit specific fields from the Refund
+ */
+ omit?: Prisma.RefundOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: Prisma.RefundInclude | null
+ where?: Prisma.RefundWhereInput
+ orderBy?: Prisma.RefundOrderByWithRelationInput | Prisma.RefundOrderByWithRelationInput[]
+ cursor?: Prisma.RefundWhereUniqueInput
+ take?: number
+ skip?: number
+ distinct?: Prisma.RefundScalarFieldEnum | Prisma.RefundScalarFieldEnum[]
+}
+
/**
* Booking without action
*/
diff --git a/app/generated/prisma/models/Payment.ts b/app/generated/prisma/models/Payment.ts
index f7152be..6ef9ac1 100644
--- a/app/generated/prisma/models/Payment.ts
+++ b/app/generated/prisma/models/Payment.ts
@@ -302,6 +302,7 @@ export type PaymentWhereInput = {
createdAt?: Prisma.DateTimeFilter<"Payment"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"Payment"> | Date | string
booking?: Prisma.XOR
+ refunds?: Prisma.RefundListRelationFilter
}
export type PaymentOrderByWithRelationInput = {
@@ -322,6 +323,7 @@ export type PaymentOrderByWithRelationInput = {
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
booking?: Prisma.BookingOrderByWithRelationInput
+ refunds?: Prisma.RefundOrderByRelationAggregateInput
}
export type PaymentWhereUniqueInput = Prisma.AtLeast<{
@@ -345,6 +347,7 @@ export type PaymentWhereUniqueInput = Prisma.AtLeast<{
createdAt?: Prisma.DateTimeFilter<"Payment"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"Payment"> | Date | string
booking?: Prisma.XOR
+ refunds?: Prisma.RefundListRelationFilter
}, "id" | "externalOrderId">
export type PaymentOrderByWithAggregationInput = {
@@ -410,6 +413,7 @@ export type PaymentCreateInput = {
createdAt?: Date | string
updatedAt?: Date | string
booking: Prisma.BookingCreateNestedOneWithoutPaymentsInput
+ refunds?: Prisma.RefundCreateNestedManyWithoutPaymentInput
}
export type PaymentUncheckedCreateInput = {
@@ -429,6 +433,7 @@ export type PaymentUncheckedCreateInput = {
rejectionReason?: string | null
createdAt?: Date | string
updatedAt?: Date | string
+ refunds?: Prisma.RefundUncheckedCreateNestedManyWithoutPaymentInput
}
export type PaymentUpdateInput = {
@@ -448,6 +453,7 @@ export type PaymentUpdateInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
booking?: Prisma.BookingUpdateOneRequiredWithoutPaymentsNestedInput
+ refunds?: Prisma.RefundUpdateManyWithoutPaymentNestedInput
}
export type PaymentUncheckedUpdateInput = {
@@ -467,6 +473,7 @@ export type PaymentUncheckedUpdateInput = {
rejectionReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ refunds?: Prisma.RefundUncheckedUpdateManyWithoutPaymentNestedInput
}
export type PaymentCreateManyInput = {
@@ -598,6 +605,11 @@ export type PaymentSumOrderByAggregateInput = {
amount?: Prisma.SortOrder
}
+export type PaymentNullableScalarRelationFilter = {
+ is?: Prisma.PaymentWhereInput | null
+ isNot?: Prisma.PaymentWhereInput | null
+}
+
export type PaymentCreateNestedManyWithoutBookingInput = {
create?: Prisma.XOR | Prisma.PaymentCreateWithoutBookingInput[] | Prisma.PaymentUncheckedCreateWithoutBookingInput[]
connectOrCreate?: Prisma.PaymentCreateOrConnectWithoutBookingInput | Prisma.PaymentCreateOrConnectWithoutBookingInput[]
@@ -648,6 +660,22 @@ export type EnumPaymentStatusFieldUpdateOperationsInput = {
set?: $Enums.PaymentStatus
}
+export type PaymentCreateNestedOneWithoutRefundsInput = {
+ create?: Prisma.XOR
+ connectOrCreate?: Prisma.PaymentCreateOrConnectWithoutRefundsInput
+ connect?: Prisma.PaymentWhereUniqueInput
+}
+
+export type PaymentUpdateOneWithoutRefundsNestedInput = {
+ create?: Prisma.XOR
+ connectOrCreate?: Prisma.PaymentCreateOrConnectWithoutRefundsInput
+ upsert?: Prisma.PaymentUpsertWithoutRefundsInput
+ disconnect?: Prisma.PaymentWhereInput | boolean
+ delete?: Prisma.PaymentWhereInput | boolean
+ connect?: Prisma.PaymentWhereUniqueInput
+ update?: Prisma.XOR, Prisma.PaymentUncheckedUpdateWithoutRefundsInput>
+}
+
export type PaymentCreateWithoutBookingInput = {
id?: string
provider: $Enums.PaymentProvider
@@ -664,6 +692,7 @@ export type PaymentCreateWithoutBookingInput = {
rejectionReason?: string | null
createdAt?: Date | string
updatedAt?: Date | string
+ refunds?: Prisma.RefundCreateNestedManyWithoutPaymentInput
}
export type PaymentUncheckedCreateWithoutBookingInput = {
@@ -682,6 +711,7 @@ export type PaymentUncheckedCreateWithoutBookingInput = {
rejectionReason?: string | null
createdAt?: Date | string
updatedAt?: Date | string
+ refunds?: Prisma.RefundUncheckedCreateNestedManyWithoutPaymentInput
}
export type PaymentCreateOrConnectWithoutBookingInput = {
@@ -732,6 +762,98 @@ export type PaymentScalarWhereInput = {
updatedAt?: Prisma.DateTimeFilter<"Payment"> | Date | string
}
+export type PaymentCreateWithoutRefundsInput = {
+ id?: string
+ provider: $Enums.PaymentProvider
+ externalOrderId: string
+ externalTxId?: string | null
+ method?: string | null
+ amount: number
+ status?: $Enums.PaymentStatus
+ rawCallback?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
+ snapToken?: string | null
+ expiresAt?: Date | string | null
+ paidAt?: Date | string | null
+ failedAt?: Date | string | null
+ rejectionReason?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ booking: Prisma.BookingCreateNestedOneWithoutPaymentsInput
+}
+
+export type PaymentUncheckedCreateWithoutRefundsInput = {
+ id?: string
+ bookingId: string
+ provider: $Enums.PaymentProvider
+ externalOrderId: string
+ externalTxId?: string | null
+ method?: string | null
+ amount: number
+ status?: $Enums.PaymentStatus
+ rawCallback?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
+ snapToken?: string | null
+ expiresAt?: Date | string | null
+ paidAt?: Date | string | null
+ failedAt?: Date | string | null
+ rejectionReason?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type PaymentCreateOrConnectWithoutRefundsInput = {
+ where: Prisma.PaymentWhereUniqueInput
+ create: Prisma.XOR
+}
+
+export type PaymentUpsertWithoutRefundsInput = {
+ update: Prisma.XOR
+ create: Prisma.XOR
+ where?: Prisma.PaymentWhereInput
+}
+
+export type PaymentUpdateToOneWithWhereWithoutRefundsInput = {
+ where?: Prisma.PaymentWhereInput
+ data: Prisma.XOR
+}
+
+export type PaymentUpdateWithoutRefundsInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ provider?: Prisma.EnumPaymentProviderFieldUpdateOperationsInput | $Enums.PaymentProvider
+ externalOrderId?: Prisma.StringFieldUpdateOperationsInput | string
+ externalTxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ method?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ status?: Prisma.EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus
+ rawCallback?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
+ snapToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ expiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ paidAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ rejectionReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ booking?: Prisma.BookingUpdateOneRequiredWithoutPaymentsNestedInput
+}
+
+export type PaymentUncheckedUpdateWithoutRefundsInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ bookingId?: Prisma.StringFieldUpdateOperationsInput | string
+ provider?: Prisma.EnumPaymentProviderFieldUpdateOperationsInput | $Enums.PaymentProvider
+ externalOrderId?: Prisma.StringFieldUpdateOperationsInput | string
+ externalTxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ method?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ status?: Prisma.EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus
+ rawCallback?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
+ snapToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ expiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ paidAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ rejectionReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
export type PaymentCreateManyBookingInput = {
id?: string
provider: $Enums.PaymentProvider
@@ -766,6 +888,7 @@ export type PaymentUpdateWithoutBookingInput = {
rejectionReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ refunds?: Prisma.RefundUpdateManyWithoutPaymentNestedInput
}
export type PaymentUncheckedUpdateWithoutBookingInput = {
@@ -784,6 +907,7 @@ export type PaymentUncheckedUpdateWithoutBookingInput = {
rejectionReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ refunds?: Prisma.RefundUncheckedUpdateManyWithoutPaymentNestedInput
}
export type PaymentUncheckedUpdateManyWithoutBookingInput = {
@@ -805,6 +929,35 @@ export type PaymentUncheckedUpdateManyWithoutBookingInput = {
}
+/**
+ * Count Type PaymentCountOutputType
+ */
+
+export type PaymentCountOutputType = {
+ refunds: number
+}
+
+export type PaymentCountOutputTypeSelect = {
+ refunds?: boolean | PaymentCountOutputTypeCountRefundsArgs
+}
+
+/**
+ * PaymentCountOutputType without action
+ */
+export type PaymentCountOutputTypeDefaultArgs = {
+ /**
+ * Select specific fields to fetch from the PaymentCountOutputType
+ */
+ select?: Prisma.PaymentCountOutputTypeSelect | null
+}
+
+/**
+ * PaymentCountOutputType without action
+ */
+export type PaymentCountOutputTypeCountRefundsArgs = {
+ where?: Prisma.RefundWhereInput
+}
+
export type PaymentSelect = runtime.Types.Extensions.GetSelect<{
id?: boolean
@@ -824,6 +977,8 @@ export type PaymentSelect
+ refunds?: boolean | Prisma.Payment$refundsArgs
+ _count?: boolean | Prisma.PaymentCountOutputTypeDefaultArgs
}, ExtArgs["result"]["payment"]>
export type PaymentSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{
@@ -888,6 +1043,8 @@ export type PaymentSelectScalar = {
export type PaymentOmit = runtime.Types.Extensions.GetOmit<"id" | "bookingId" | "provider" | "externalOrderId" | "externalTxId" | "method" | "amount" | "status" | "rawCallback" | "snapToken" | "expiresAt" | "paidAt" | "failedAt" | "rejectionReason" | "createdAt" | "updatedAt", ExtArgs["result"]["payment"]>
export type PaymentInclude = {
booking?: boolean | Prisma.BookingDefaultArgs
+ refunds?: boolean | Prisma.Payment$refundsArgs
+ _count?: boolean | Prisma.PaymentCountOutputTypeDefaultArgs
}
export type PaymentIncludeCreateManyAndReturn = {
booking?: boolean | Prisma.BookingDefaultArgs
@@ -900,6 +1057,7 @@ export type $PaymentPayload
+ refunds: Prisma.$RefundPayload[]
}
scalars: runtime.Types.Extensions.GetPayloadResult<{
id: string
@@ -1332,6 +1490,7 @@ readonly fields: PaymentFieldRefs;
export interface Prisma__PaymentClient extends Prisma.PrismaPromise {
readonly [Symbol.toStringTag]: "PrismaPromise"
booking = {}>(args?: Prisma.Subset>): Prisma.Prisma__BookingClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
+ refunds = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null>
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
@@ -1777,6 +1936,30 @@ export type PaymentDeleteManyArgs = {
+ /**
+ * Select specific fields to fetch from the Refund
+ */
+ select?: Prisma.RefundSelect | null
+ /**
+ * Omit specific fields from the Refund
+ */
+ omit?: Prisma.RefundOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: Prisma.RefundInclude | null
+ where?: Prisma.RefundWhereInput
+ orderBy?: Prisma.RefundOrderByWithRelationInput | Prisma.RefundOrderByWithRelationInput[]
+ cursor?: Prisma.RefundWhereUniqueInput
+ take?: number
+ skip?: number
+ distinct?: Prisma.RefundScalarFieldEnum | Prisma.RefundScalarFieldEnum[]
+}
+
/**
* Payment without action
*/
diff --git a/app/generated/prisma/models/Refund.ts b/app/generated/prisma/models/Refund.ts
new file mode 100644
index 0000000..ac33894
--- /dev/null
+++ b/app/generated/prisma/models/Refund.ts
@@ -0,0 +1,2379 @@
+
+/* !!! This is code generated by Prisma. Do not edit directly. !!! */
+/* eslint-disable */
+// biome-ignore-all lint: generated file
+// @ts-nocheck
+/*
+ * This file exports the `Refund` model and its related types.
+ *
+ * 🟢 You can import this file directly.
+ */
+import type * as runtime from "@prisma/client/runtime/client"
+import type * as $Enums from "../enums"
+import type * as Prisma from "../internal/prismaNamespace"
+
+/**
+ * Model Refund
+ * Refund = financial event terpisah dari Booking. Satu Booking bisa punya
+ * banyak Refund (partial, multi-tahap). Setiap row auditable: kapan dibuat,
+ * siapa melaporkan, siapa approve, kapan SUCCEEDED. Never delete — kalau
+ * gagal, set status=FAILED + alasan.
+ *
+ * Di MVP refund dimasukkan admin secara manual berdasarkan laporan dari
+ * peserta atau organizer (via WhatsApp/email). Phase berikutnya akan
+ * menambah self-service flow dari user dan organizer.
+ */
+export type RefundModel = runtime.Types.Result.DefaultSelection
+
+export type AggregateRefund = {
+ _count: RefundCountAggregateOutputType | null
+ _avg: RefundAvgAggregateOutputType | null
+ _sum: RefundSumAggregateOutputType | null
+ _min: RefundMinAggregateOutputType | null
+ _max: RefundMaxAggregateOutputType | null
+}
+
+export type RefundAvgAggregateOutputType = {
+ amount: number | null
+}
+
+export type RefundSumAggregateOutputType = {
+ amount: number | null
+}
+
+export type RefundMinAggregateOutputType = {
+ id: string | null
+ bookingId: string | null
+ paymentId: string | null
+ amount: number | null
+ currency: string | null
+ reason: $Enums.RefundReason | null
+ reportedBy: $Enums.RefundReporter | null
+ reportNote: string | null
+ initiatedBy: $Enums.RefundInitiator | null
+ status: $Enums.RefundStatus | null
+ idempotencyKey: string | null
+ adminNote: string | null
+ reviewedById: string | null
+ reviewedAt: Date | null
+ succeededAt: Date | null
+ failedAt: Date | null
+ externalRefundId: string | null
+ createdAt: Date | null
+ updatedAt: Date | null
+}
+
+export type RefundMaxAggregateOutputType = {
+ id: string | null
+ bookingId: string | null
+ paymentId: string | null
+ amount: number | null
+ currency: string | null
+ reason: $Enums.RefundReason | null
+ reportedBy: $Enums.RefundReporter | null
+ reportNote: string | null
+ initiatedBy: $Enums.RefundInitiator | null
+ status: $Enums.RefundStatus | null
+ idempotencyKey: string | null
+ adminNote: string | null
+ reviewedById: string | null
+ reviewedAt: Date | null
+ succeededAt: Date | null
+ failedAt: Date | null
+ externalRefundId: string | null
+ createdAt: Date | null
+ updatedAt: Date | null
+}
+
+export type RefundCountAggregateOutputType = {
+ id: number
+ bookingId: number
+ paymentId: number
+ amount: number
+ currency: number
+ reason: number
+ reportedBy: number
+ reportNote: number
+ initiatedBy: number
+ status: number
+ idempotencyKey: number
+ adminNote: number
+ reviewedById: number
+ reviewedAt: number
+ succeededAt: number
+ failedAt: number
+ externalRefundId: number
+ createdAt: number
+ updatedAt: number
+ _all: number
+}
+
+
+export type RefundAvgAggregateInputType = {
+ amount?: true
+}
+
+export type RefundSumAggregateInputType = {
+ amount?: true
+}
+
+export type RefundMinAggregateInputType = {
+ id?: true
+ bookingId?: true
+ paymentId?: true
+ amount?: true
+ currency?: true
+ reason?: true
+ reportedBy?: true
+ reportNote?: true
+ initiatedBy?: true
+ status?: true
+ idempotencyKey?: true
+ adminNote?: true
+ reviewedById?: true
+ reviewedAt?: true
+ succeededAt?: true
+ failedAt?: true
+ externalRefundId?: true
+ createdAt?: true
+ updatedAt?: true
+}
+
+export type RefundMaxAggregateInputType = {
+ id?: true
+ bookingId?: true
+ paymentId?: true
+ amount?: true
+ currency?: true
+ reason?: true
+ reportedBy?: true
+ reportNote?: true
+ initiatedBy?: true
+ status?: true
+ idempotencyKey?: true
+ adminNote?: true
+ reviewedById?: true
+ reviewedAt?: true
+ succeededAt?: true
+ failedAt?: true
+ externalRefundId?: true
+ createdAt?: true
+ updatedAt?: true
+}
+
+export type RefundCountAggregateInputType = {
+ id?: true
+ bookingId?: true
+ paymentId?: true
+ amount?: true
+ currency?: true
+ reason?: true
+ reportedBy?: true
+ reportNote?: true
+ initiatedBy?: true
+ status?: true
+ idempotencyKey?: true
+ adminNote?: true
+ reviewedById?: true
+ reviewedAt?: true
+ succeededAt?: true
+ failedAt?: true
+ externalRefundId?: true
+ createdAt?: true
+ updatedAt?: true
+ _all?: true
+}
+
+export type RefundAggregateArgs = {
+ /**
+ * Filter which Refund to aggregate.
+ */
+ where?: Prisma.RefundWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of Refunds to fetch.
+ */
+ orderBy?: Prisma.RefundOrderByWithRelationInput | Prisma.RefundOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the start position
+ */
+ cursor?: Prisma.RefundWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` Refunds from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` Refunds.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Count returned Refunds
+ **/
+ _count?: true | RefundCountAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to average
+ **/
+ _avg?: RefundAvgAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to sum
+ **/
+ _sum?: RefundSumAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the minimum value
+ **/
+ _min?: RefundMinAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the maximum value
+ **/
+ _max?: RefundMaxAggregateInputType
+}
+
+export type GetRefundAggregateType = {
+ [P in keyof T & keyof AggregateRefund]: P extends '_count' | 'count'
+ ? T[P] extends true
+ ? number
+ : Prisma.GetScalarType
+ : Prisma.GetScalarType
+}
+
+
+
+
+export type RefundGroupByArgs = {
+ where?: Prisma.RefundWhereInput
+ orderBy?: Prisma.RefundOrderByWithAggregationInput | Prisma.RefundOrderByWithAggregationInput[]
+ by: Prisma.RefundScalarFieldEnum[] | Prisma.RefundScalarFieldEnum
+ having?: Prisma.RefundScalarWhereWithAggregatesInput
+ take?: number
+ skip?: number
+ _count?: RefundCountAggregateInputType | true
+ _avg?: RefundAvgAggregateInputType
+ _sum?: RefundSumAggregateInputType
+ _min?: RefundMinAggregateInputType
+ _max?: RefundMaxAggregateInputType
+}
+
+export type RefundGroupByOutputType = {
+ id: string
+ bookingId: string
+ paymentId: string | null
+ amount: number
+ currency: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy: $Enums.RefundInitiator
+ status: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote: string | null
+ reviewedById: string | null
+ reviewedAt: Date | null
+ succeededAt: Date | null
+ failedAt: Date | null
+ externalRefundId: string | null
+ createdAt: Date
+ updatedAt: Date
+ _count: RefundCountAggregateOutputType | null
+ _avg: RefundAvgAggregateOutputType | null
+ _sum: RefundSumAggregateOutputType | null
+ _min: RefundMinAggregateOutputType | null
+ _max: RefundMaxAggregateOutputType | null
+}
+
+export type GetRefundGroupByPayload = Prisma.PrismaPromise<
+ Array<
+ Prisma.PickEnumerable &
+ {
+ [P in ((keyof T) & (keyof RefundGroupByOutputType))]: P extends '_count'
+ ? T[P] extends boolean
+ ? number
+ : Prisma.GetScalarType
+ : Prisma.GetScalarType
+ }
+ >
+ >
+
+
+
+export type RefundWhereInput = {
+ AND?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[]
+ OR?: Prisma.RefundWhereInput[]
+ NOT?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[]
+ id?: Prisma.StringFilter<"Refund"> | string
+ bookingId?: Prisma.StringFilter<"Refund"> | string
+ paymentId?: Prisma.StringNullableFilter<"Refund"> | string | null
+ amount?: Prisma.IntFilter<"Refund"> | number
+ currency?: Prisma.StringFilter<"Refund"> | string
+ reason?: Prisma.EnumRefundReasonFilter<"Refund"> | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFilter<"Refund"> | $Enums.RefundReporter
+ reportNote?: Prisma.StringFilter<"Refund"> | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFilter<"Refund"> | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFilter<"Refund"> | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFilter<"Refund"> | string
+ adminNote?: Prisma.StringNullableFilter<"Refund"> | string | null
+ reviewedById?: Prisma.StringNullableFilter<"Refund"> | string | null
+ reviewedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ succeededAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ failedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ externalRefundId?: Prisma.StringNullableFilter<"Refund"> | string | null
+ createdAt?: Prisma.DateTimeFilter<"Refund"> | Date | string
+ updatedAt?: Prisma.DateTimeFilter<"Refund"> | Date | string
+ booking?: Prisma.XOR
+ payment?: Prisma.XOR | null
+ reviewedBy?: Prisma.XOR | null
+}
+
+export type RefundOrderByWithRelationInput = {
+ id?: Prisma.SortOrder
+ bookingId?: Prisma.SortOrder
+ paymentId?: Prisma.SortOrderInput | Prisma.SortOrder
+ amount?: Prisma.SortOrder
+ currency?: Prisma.SortOrder
+ reason?: Prisma.SortOrder
+ reportedBy?: Prisma.SortOrder
+ reportNote?: Prisma.SortOrder
+ initiatedBy?: Prisma.SortOrder
+ status?: Prisma.SortOrder
+ idempotencyKey?: Prisma.SortOrder
+ adminNote?: Prisma.SortOrderInput | Prisma.SortOrder
+ reviewedById?: Prisma.SortOrderInput | Prisma.SortOrder
+ reviewedAt?: Prisma.SortOrderInput | Prisma.SortOrder
+ succeededAt?: Prisma.SortOrderInput | Prisma.SortOrder
+ failedAt?: Prisma.SortOrderInput | Prisma.SortOrder
+ externalRefundId?: Prisma.SortOrderInput | Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+ booking?: Prisma.BookingOrderByWithRelationInput
+ payment?: Prisma.PaymentOrderByWithRelationInput
+ reviewedBy?: Prisma.UserOrderByWithRelationInput
+}
+
+export type RefundWhereUniqueInput = Prisma.AtLeast<{
+ id?: string
+ idempotencyKey?: string
+ AND?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[]
+ OR?: Prisma.RefundWhereInput[]
+ NOT?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[]
+ bookingId?: Prisma.StringFilter<"Refund"> | string
+ paymentId?: Prisma.StringNullableFilter<"Refund"> | string | null
+ amount?: Prisma.IntFilter<"Refund"> | number
+ currency?: Prisma.StringFilter<"Refund"> | string
+ reason?: Prisma.EnumRefundReasonFilter<"Refund"> | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFilter<"Refund"> | $Enums.RefundReporter
+ reportNote?: Prisma.StringFilter<"Refund"> | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFilter<"Refund"> | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFilter<"Refund"> | $Enums.RefundStatus
+ adminNote?: Prisma.StringNullableFilter<"Refund"> | string | null
+ reviewedById?: Prisma.StringNullableFilter<"Refund"> | string | null
+ reviewedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ succeededAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ failedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ externalRefundId?: Prisma.StringNullableFilter<"Refund"> | string | null
+ createdAt?: Prisma.DateTimeFilter<"Refund"> | Date | string
+ updatedAt?: Prisma.DateTimeFilter<"Refund"> | Date | string
+ booking?: Prisma.XOR
+ payment?: Prisma.XOR | null
+ reviewedBy?: Prisma.XOR | null
+}, "id" | "idempotencyKey">
+
+export type RefundOrderByWithAggregationInput = {
+ id?: Prisma.SortOrder
+ bookingId?: Prisma.SortOrder
+ paymentId?: Prisma.SortOrderInput | Prisma.SortOrder
+ amount?: Prisma.SortOrder
+ currency?: Prisma.SortOrder
+ reason?: Prisma.SortOrder
+ reportedBy?: Prisma.SortOrder
+ reportNote?: Prisma.SortOrder
+ initiatedBy?: Prisma.SortOrder
+ status?: Prisma.SortOrder
+ idempotencyKey?: Prisma.SortOrder
+ adminNote?: Prisma.SortOrderInput | Prisma.SortOrder
+ reviewedById?: Prisma.SortOrderInput | Prisma.SortOrder
+ reviewedAt?: Prisma.SortOrderInput | Prisma.SortOrder
+ succeededAt?: Prisma.SortOrderInput | Prisma.SortOrder
+ failedAt?: Prisma.SortOrderInput | Prisma.SortOrder
+ externalRefundId?: Prisma.SortOrderInput | Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+ _count?: Prisma.RefundCountOrderByAggregateInput
+ _avg?: Prisma.RefundAvgOrderByAggregateInput
+ _max?: Prisma.RefundMaxOrderByAggregateInput
+ _min?: Prisma.RefundMinOrderByAggregateInput
+ _sum?: Prisma.RefundSumOrderByAggregateInput
+}
+
+export type RefundScalarWhereWithAggregatesInput = {
+ AND?: Prisma.RefundScalarWhereWithAggregatesInput | Prisma.RefundScalarWhereWithAggregatesInput[]
+ OR?: Prisma.RefundScalarWhereWithAggregatesInput[]
+ NOT?: Prisma.RefundScalarWhereWithAggregatesInput | Prisma.RefundScalarWhereWithAggregatesInput[]
+ id?: Prisma.StringWithAggregatesFilter<"Refund"> | string
+ bookingId?: Prisma.StringWithAggregatesFilter<"Refund"> | string
+ paymentId?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null
+ amount?: Prisma.IntWithAggregatesFilter<"Refund"> | number
+ currency?: Prisma.StringWithAggregatesFilter<"Refund"> | string
+ reason?: Prisma.EnumRefundReasonWithAggregatesFilter<"Refund"> | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterWithAggregatesFilter<"Refund"> | $Enums.RefundReporter
+ reportNote?: Prisma.StringWithAggregatesFilter<"Refund"> | string
+ initiatedBy?: Prisma.EnumRefundInitiatorWithAggregatesFilter<"Refund"> | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusWithAggregatesFilter<"Refund"> | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringWithAggregatesFilter<"Refund"> | string
+ adminNote?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null
+ reviewedById?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null
+ reviewedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Refund"> | Date | string | null
+ succeededAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Refund"> | Date | string | null
+ failedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Refund"> | Date | string | null
+ externalRefundId?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null
+ createdAt?: Prisma.DateTimeWithAggregatesFilter<"Refund"> | Date | string
+ updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Refund"> | Date | string
+}
+
+export type RefundCreateInput = {
+ id?: string
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ booking: Prisma.BookingCreateNestedOneWithoutRefundsInput
+ payment?: Prisma.PaymentCreateNestedOneWithoutRefundsInput
+ reviewedBy?: Prisma.UserCreateNestedOneWithoutReviewedRefundsInput
+}
+
+export type RefundUncheckedCreateInput = {
+ id?: string
+ bookingId: string
+ paymentId?: string | null
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedById?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundUpdateInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ booking?: Prisma.BookingUpdateOneRequiredWithoutRefundsNestedInput
+ payment?: Prisma.PaymentUpdateOneWithoutRefundsNestedInput
+ reviewedBy?: Prisma.UserUpdateOneWithoutReviewedRefundsNestedInput
+}
+
+export type RefundUncheckedUpdateInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ bookingId?: Prisma.StringFieldUpdateOperationsInput | string
+ paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundCreateManyInput = {
+ id?: string
+ bookingId: string
+ paymentId?: string | null
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedById?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundUpdateManyMutationInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundUncheckedUpdateManyInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ bookingId?: Prisma.StringFieldUpdateOperationsInput | string
+ paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundListRelationFilter = {
+ every?: Prisma.RefundWhereInput
+ some?: Prisma.RefundWhereInput
+ none?: Prisma.RefundWhereInput
+}
+
+export type RefundOrderByRelationAggregateInput = {
+ _count?: Prisma.SortOrder
+}
+
+export type RefundCountOrderByAggregateInput = {
+ id?: Prisma.SortOrder
+ bookingId?: Prisma.SortOrder
+ paymentId?: Prisma.SortOrder
+ amount?: Prisma.SortOrder
+ currency?: Prisma.SortOrder
+ reason?: Prisma.SortOrder
+ reportedBy?: Prisma.SortOrder
+ reportNote?: Prisma.SortOrder
+ initiatedBy?: Prisma.SortOrder
+ status?: Prisma.SortOrder
+ idempotencyKey?: Prisma.SortOrder
+ adminNote?: Prisma.SortOrder
+ reviewedById?: Prisma.SortOrder
+ reviewedAt?: Prisma.SortOrder
+ succeededAt?: Prisma.SortOrder
+ failedAt?: Prisma.SortOrder
+ externalRefundId?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+}
+
+export type RefundAvgOrderByAggregateInput = {
+ amount?: Prisma.SortOrder
+}
+
+export type RefundMaxOrderByAggregateInput = {
+ id?: Prisma.SortOrder
+ bookingId?: Prisma.SortOrder
+ paymentId?: Prisma.SortOrder
+ amount?: Prisma.SortOrder
+ currency?: Prisma.SortOrder
+ reason?: Prisma.SortOrder
+ reportedBy?: Prisma.SortOrder
+ reportNote?: Prisma.SortOrder
+ initiatedBy?: Prisma.SortOrder
+ status?: Prisma.SortOrder
+ idempotencyKey?: Prisma.SortOrder
+ adminNote?: Prisma.SortOrder
+ reviewedById?: Prisma.SortOrder
+ reviewedAt?: Prisma.SortOrder
+ succeededAt?: Prisma.SortOrder
+ failedAt?: Prisma.SortOrder
+ externalRefundId?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+}
+
+export type RefundMinOrderByAggregateInput = {
+ id?: Prisma.SortOrder
+ bookingId?: Prisma.SortOrder
+ paymentId?: Prisma.SortOrder
+ amount?: Prisma.SortOrder
+ currency?: Prisma.SortOrder
+ reason?: Prisma.SortOrder
+ reportedBy?: Prisma.SortOrder
+ reportNote?: Prisma.SortOrder
+ initiatedBy?: Prisma.SortOrder
+ status?: Prisma.SortOrder
+ idempotencyKey?: Prisma.SortOrder
+ adminNote?: Prisma.SortOrder
+ reviewedById?: Prisma.SortOrder
+ reviewedAt?: Prisma.SortOrder
+ succeededAt?: Prisma.SortOrder
+ failedAt?: Prisma.SortOrder
+ externalRefundId?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+}
+
+export type RefundSumOrderByAggregateInput = {
+ amount?: Prisma.SortOrder
+}
+
+export type RefundCreateNestedManyWithoutReviewedByInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[]
+ createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+}
+
+export type RefundUncheckedCreateNestedManyWithoutReviewedByInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[]
+ createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+}
+
+export type RefundUpdateManyWithoutReviewedByNestedInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[]
+ upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput[]
+ createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope
+ set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ update?: Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput[]
+ updateMany?: Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput | Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput[]
+ deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+}
+
+export type RefundUncheckedUpdateManyWithoutReviewedByNestedInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[]
+ upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput[]
+ createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope
+ set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ update?: Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput[]
+ updateMany?: Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput | Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput[]
+ deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+}
+
+export type RefundCreateNestedManyWithoutBookingInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[]
+ createMany?: Prisma.RefundCreateManyBookingInputEnvelope
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+}
+
+export type RefundUncheckedCreateNestedManyWithoutBookingInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[]
+ createMany?: Prisma.RefundCreateManyBookingInputEnvelope
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+}
+
+export type RefundUpdateManyWithoutBookingNestedInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[]
+ upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput | Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput[]
+ createMany?: Prisma.RefundCreateManyBookingInputEnvelope
+ set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ update?: Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput | Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput[]
+ updateMany?: Prisma.RefundUpdateManyWithWhereWithoutBookingInput | Prisma.RefundUpdateManyWithWhereWithoutBookingInput[]
+ deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+}
+
+export type RefundUncheckedUpdateManyWithoutBookingNestedInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[]
+ upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput | Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput[]
+ createMany?: Prisma.RefundCreateManyBookingInputEnvelope
+ set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ update?: Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput | Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput[]
+ updateMany?: Prisma.RefundUpdateManyWithWhereWithoutBookingInput | Prisma.RefundUpdateManyWithWhereWithoutBookingInput[]
+ deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+}
+
+export type RefundCreateNestedManyWithoutPaymentInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[]
+ createMany?: Prisma.RefundCreateManyPaymentInputEnvelope
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+}
+
+export type RefundUncheckedCreateNestedManyWithoutPaymentInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[]
+ createMany?: Prisma.RefundCreateManyPaymentInputEnvelope
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+}
+
+export type RefundUpdateManyWithoutPaymentNestedInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[]
+ upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput[]
+ createMany?: Prisma.RefundCreateManyPaymentInputEnvelope
+ set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ update?: Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput[]
+ updateMany?: Prisma.RefundUpdateManyWithWhereWithoutPaymentInput | Prisma.RefundUpdateManyWithWhereWithoutPaymentInput[]
+ deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+}
+
+export type RefundUncheckedUpdateManyWithoutPaymentNestedInput = {
+ create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[]
+ connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[]
+ upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput[]
+ createMany?: Prisma.RefundCreateManyPaymentInputEnvelope
+ set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[]
+ update?: Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput[]
+ updateMany?: Prisma.RefundUpdateManyWithWhereWithoutPaymentInput | Prisma.RefundUpdateManyWithWhereWithoutPaymentInput[]
+ deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+}
+
+export type EnumRefundReasonFieldUpdateOperationsInput = {
+ set?: $Enums.RefundReason
+}
+
+export type EnumRefundReporterFieldUpdateOperationsInput = {
+ set?: $Enums.RefundReporter
+}
+
+export type EnumRefundInitiatorFieldUpdateOperationsInput = {
+ set?: $Enums.RefundInitiator
+}
+
+export type EnumRefundStatusFieldUpdateOperationsInput = {
+ set?: $Enums.RefundStatus
+}
+
+export type RefundCreateWithoutReviewedByInput = {
+ id?: string
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ booking: Prisma.BookingCreateNestedOneWithoutRefundsInput
+ payment?: Prisma.PaymentCreateNestedOneWithoutRefundsInput
+}
+
+export type RefundUncheckedCreateWithoutReviewedByInput = {
+ id?: string
+ bookingId: string
+ paymentId?: string | null
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundCreateOrConnectWithoutReviewedByInput = {
+ where: Prisma.RefundWhereUniqueInput
+ create: Prisma.XOR
+}
+
+export type RefundCreateManyReviewedByInputEnvelope = {
+ data: Prisma.RefundCreateManyReviewedByInput | Prisma.RefundCreateManyReviewedByInput[]
+ skipDuplicates?: boolean
+}
+
+export type RefundUpsertWithWhereUniqueWithoutReviewedByInput = {
+ where: Prisma.RefundWhereUniqueInput
+ update: Prisma.XOR
+ create: Prisma.XOR
+}
+
+export type RefundUpdateWithWhereUniqueWithoutReviewedByInput = {
+ where: Prisma.RefundWhereUniqueInput
+ data: Prisma.XOR
+}
+
+export type RefundUpdateManyWithWhereWithoutReviewedByInput = {
+ where: Prisma.RefundScalarWhereInput
+ data: Prisma.XOR
+}
+
+export type RefundScalarWhereInput = {
+ AND?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+ OR?: Prisma.RefundScalarWhereInput[]
+ NOT?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[]
+ id?: Prisma.StringFilter<"Refund"> | string
+ bookingId?: Prisma.StringFilter<"Refund"> | string
+ paymentId?: Prisma.StringNullableFilter<"Refund"> | string | null
+ amount?: Prisma.IntFilter<"Refund"> | number
+ currency?: Prisma.StringFilter<"Refund"> | string
+ reason?: Prisma.EnumRefundReasonFilter<"Refund"> | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFilter<"Refund"> | $Enums.RefundReporter
+ reportNote?: Prisma.StringFilter<"Refund"> | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFilter<"Refund"> | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFilter<"Refund"> | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFilter<"Refund"> | string
+ adminNote?: Prisma.StringNullableFilter<"Refund"> | string | null
+ reviewedById?: Prisma.StringNullableFilter<"Refund"> | string | null
+ reviewedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ succeededAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ failedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null
+ externalRefundId?: Prisma.StringNullableFilter<"Refund"> | string | null
+ createdAt?: Prisma.DateTimeFilter<"Refund"> | Date | string
+ updatedAt?: Prisma.DateTimeFilter<"Refund"> | Date | string
+}
+
+export type RefundCreateWithoutBookingInput = {
+ id?: string
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ payment?: Prisma.PaymentCreateNestedOneWithoutRefundsInput
+ reviewedBy?: Prisma.UserCreateNestedOneWithoutReviewedRefundsInput
+}
+
+export type RefundUncheckedCreateWithoutBookingInput = {
+ id?: string
+ paymentId?: string | null
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedById?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundCreateOrConnectWithoutBookingInput = {
+ where: Prisma.RefundWhereUniqueInput
+ create: Prisma.XOR
+}
+
+export type RefundCreateManyBookingInputEnvelope = {
+ data: Prisma.RefundCreateManyBookingInput | Prisma.RefundCreateManyBookingInput[]
+ skipDuplicates?: boolean
+}
+
+export type RefundUpsertWithWhereUniqueWithoutBookingInput = {
+ where: Prisma.RefundWhereUniqueInput
+ update: Prisma.XOR
+ create: Prisma.XOR
+}
+
+export type RefundUpdateWithWhereUniqueWithoutBookingInput = {
+ where: Prisma.RefundWhereUniqueInput
+ data: Prisma.XOR
+}
+
+export type RefundUpdateManyWithWhereWithoutBookingInput = {
+ where: Prisma.RefundScalarWhereInput
+ data: Prisma.XOR
+}
+
+export type RefundCreateWithoutPaymentInput = {
+ id?: string
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ booking: Prisma.BookingCreateNestedOneWithoutRefundsInput
+ reviewedBy?: Prisma.UserCreateNestedOneWithoutReviewedRefundsInput
+}
+
+export type RefundUncheckedCreateWithoutPaymentInput = {
+ id?: string
+ bookingId: string
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedById?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundCreateOrConnectWithoutPaymentInput = {
+ where: Prisma.RefundWhereUniqueInput
+ create: Prisma.XOR
+}
+
+export type RefundCreateManyPaymentInputEnvelope = {
+ data: Prisma.RefundCreateManyPaymentInput | Prisma.RefundCreateManyPaymentInput[]
+ skipDuplicates?: boolean
+}
+
+export type RefundUpsertWithWhereUniqueWithoutPaymentInput = {
+ where: Prisma.RefundWhereUniqueInput
+ update: Prisma.XOR
+ create: Prisma.XOR
+}
+
+export type RefundUpdateWithWhereUniqueWithoutPaymentInput = {
+ where: Prisma.RefundWhereUniqueInput
+ data: Prisma.XOR
+}
+
+export type RefundUpdateManyWithWhereWithoutPaymentInput = {
+ where: Prisma.RefundScalarWhereInput
+ data: Prisma.XOR
+}
+
+export type RefundCreateManyReviewedByInput = {
+ id?: string
+ bookingId: string
+ paymentId?: string | null
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundUpdateWithoutReviewedByInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ booking?: Prisma.BookingUpdateOneRequiredWithoutRefundsNestedInput
+ payment?: Prisma.PaymentUpdateOneWithoutRefundsNestedInput
+}
+
+export type RefundUncheckedUpdateWithoutReviewedByInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ bookingId?: Prisma.StringFieldUpdateOperationsInput | string
+ paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundUncheckedUpdateManyWithoutReviewedByInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ bookingId?: Prisma.StringFieldUpdateOperationsInput | string
+ paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundCreateManyBookingInput = {
+ id?: string
+ paymentId?: string | null
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedById?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundUpdateWithoutBookingInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ payment?: Prisma.PaymentUpdateOneWithoutRefundsNestedInput
+ reviewedBy?: Prisma.UserUpdateOneWithoutReviewedRefundsNestedInput
+}
+
+export type RefundUncheckedUpdateWithoutBookingInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundUncheckedUpdateManyWithoutBookingInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundCreateManyPaymentInput = {
+ id?: string
+ bookingId: string
+ amount: number
+ currency?: string
+ reason: $Enums.RefundReason
+ reportedBy: $Enums.RefundReporter
+ reportNote: string
+ initiatedBy?: $Enums.RefundInitiator
+ status?: $Enums.RefundStatus
+ idempotencyKey: string
+ adminNote?: string | null
+ reviewedById?: string | null
+ reviewedAt?: Date | string | null
+ succeededAt?: Date | string | null
+ failedAt?: Date | string | null
+ externalRefundId?: string | null
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RefundUpdateWithoutPaymentInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ booking?: Prisma.BookingUpdateOneRequiredWithoutRefundsNestedInput
+ reviewedBy?: Prisma.UserUpdateOneWithoutReviewedRefundsNestedInput
+}
+
+export type RefundUncheckedUpdateWithoutPaymentInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ bookingId?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RefundUncheckedUpdateManyWithoutPaymentInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ bookingId?: Prisma.StringFieldUpdateOperationsInput | string
+ amount?: Prisma.IntFieldUpdateOperationsInput | number
+ currency?: Prisma.StringFieldUpdateOperationsInput | string
+ reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason
+ reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter
+ reportNote?: Prisma.StringFieldUpdateOperationsInput | string
+ initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator
+ status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus
+ idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string
+ adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
+ externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+
+
+export type RefundSelect = runtime.Types.Extensions.GetSelect<{
+ id?: boolean
+ bookingId?: boolean
+ paymentId?: boolean
+ amount?: boolean
+ currency?: boolean
+ reason?: boolean
+ reportedBy?: boolean
+ reportNote?: boolean
+ initiatedBy?: boolean
+ status?: boolean
+ idempotencyKey?: boolean
+ adminNote?: boolean
+ reviewedById?: boolean
+ reviewedAt?: boolean
+ succeededAt?: boolean
+ failedAt?: boolean
+ externalRefundId?: boolean
+ createdAt?: boolean
+ updatedAt?: boolean
+ booking?: boolean | Prisma.BookingDefaultArgs
+ payment?: boolean | Prisma.Refund$paymentArgs
+ reviewedBy?: boolean | Prisma.Refund$reviewedByArgs
+}, ExtArgs["result"]["refund"]>
+
+export type RefundSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{
+ id?: boolean
+ bookingId?: boolean
+ paymentId?: boolean
+ amount?: boolean
+ currency?: boolean
+ reason?: boolean
+ reportedBy?: boolean
+ reportNote?: boolean
+ initiatedBy?: boolean
+ status?: boolean
+ idempotencyKey?: boolean
+ adminNote?: boolean
+ reviewedById?: boolean
+ reviewedAt?: boolean
+ succeededAt?: boolean
+ failedAt?: boolean
+ externalRefundId?: boolean
+ createdAt?: boolean
+ updatedAt?: boolean
+ booking?: boolean | Prisma.BookingDefaultArgs
+ payment?: boolean | Prisma.Refund$paymentArgs
+ reviewedBy?: boolean | Prisma.Refund$reviewedByArgs
+}, ExtArgs["result"]["refund"]>
+
+export type RefundSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{
+ id?: boolean
+ bookingId?: boolean
+ paymentId?: boolean
+ amount?: boolean
+ currency?: boolean
+ reason?: boolean
+ reportedBy?: boolean
+ reportNote?: boolean
+ initiatedBy?: boolean
+ status?: boolean
+ idempotencyKey?: boolean
+ adminNote?: boolean
+ reviewedById?: boolean
+ reviewedAt?: boolean
+ succeededAt?: boolean
+ failedAt?: boolean
+ externalRefundId?: boolean
+ createdAt?: boolean
+ updatedAt?: boolean
+ booking?: boolean | Prisma.BookingDefaultArgs
+ payment?: boolean | Prisma.Refund$paymentArgs
+ reviewedBy?: boolean | Prisma.Refund$reviewedByArgs
+}, ExtArgs["result"]["refund"]>
+
+export type RefundSelectScalar = {
+ id?: boolean
+ bookingId?: boolean
+ paymentId?: boolean
+ amount?: boolean
+ currency?: boolean
+ reason?: boolean
+ reportedBy?: boolean
+ reportNote?: boolean
+ initiatedBy?: boolean
+ status?: boolean
+ idempotencyKey?: boolean
+ adminNote?: boolean
+ reviewedById?: boolean
+ reviewedAt?: boolean
+ succeededAt?: boolean
+ failedAt?: boolean
+ externalRefundId?: boolean
+ createdAt?: boolean
+ updatedAt?: boolean
+}
+
+export type RefundOmit = runtime.Types.Extensions.GetOmit<"id" | "bookingId" | "paymentId" | "amount" | "currency" | "reason" | "reportedBy" | "reportNote" | "initiatedBy" | "status" | "idempotencyKey" | "adminNote" | "reviewedById" | "reviewedAt" | "succeededAt" | "failedAt" | "externalRefundId" | "createdAt" | "updatedAt", ExtArgs["result"]["refund"]>
+export type RefundInclude = {
+ booking?: boolean | Prisma.BookingDefaultArgs
+ payment?: boolean | Prisma.Refund$paymentArgs
+ reviewedBy?: boolean | Prisma.Refund$reviewedByArgs
+}
+export type RefundIncludeCreateManyAndReturn = {
+ booking?: boolean | Prisma.BookingDefaultArgs
+ payment?: boolean | Prisma.Refund$paymentArgs
+ reviewedBy?: boolean | Prisma.Refund$reviewedByArgs
+}
+export type RefundIncludeUpdateManyAndReturn = {
+ booking?: boolean | Prisma.BookingDefaultArgs
+ payment?: boolean | Prisma.Refund$paymentArgs
+ reviewedBy?: boolean | Prisma.Refund$reviewedByArgs
+}
+
+export type $RefundPayload = {
+ name: "Refund"
+ objects: {
+ booking: Prisma.$BookingPayload
+ payment: Prisma.$PaymentPayload | null
+ reviewedBy: Prisma.$UserPayload | null
+ }
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
+ id: string
+ bookingId: string
+ /**
+ * Payment yang di-refund. Opsional di MVP (manual transfer bisa tidak
+ * terikat ke Payment row tertentu); wajib saat integrasi Midtrans (R-4).
+ */
+ paymentId: string | null
+ /**
+ * Nominal refund dalam satuan terkecil (IDR rupiah, integer). Boleh < total
+ * payment untuk partial. Service layer enforce SUM(SUCCEEDED) <= payment.amount.
+ */
+ amount: number
+ currency: string
+ reason: $Enums.RefundReason
+ /**
+ * Siapa yang melaporkan kebutuhan refund ini ke admin.
+ */
+ reportedBy: $Enums.RefundReporter
+ /**
+ * Isi laporan dari peserta/organizer yang admin terima (mis. WA, email).
+ */
+ reportNote: string
+ /**
+ * Pihak yang membuat record di sistem. Di MVP selalu ADMIN; saat self-service
+ * nanti USER/ORGANIZER, dan SYSTEM untuk auto-trigger dari trip dibatalkan.
+ */
+ initiatedBy: $Enums.RefundInitiator
+ status: $Enums.RefundStatus
+ /**
+ * Idempotency key, dipakai saat panggil Midtrans Refund API di R-4. Generate
+ * sekali saat create supaya retry gateway tidak double-refund.
+ */
+ idempotencyKey: string
+ /**
+ * Catatan admin: alasan tolak, referensi transfer manual, dst. Bebas teks.
+ */
+ adminNote: string | null
+ /**
+ * Admin yang terakhir mengubah status (approve/reject/mark-succeeded/failed).
+ */
+ reviewedById: string | null
+ reviewedAt: Date | null
+ succeededAt: Date | null
+ failedAt: Date | null
+ /**
+ * ID refund di gateway (mis. Midtrans refund_id). Kosong untuk manual transfer.
+ */
+ externalRefundId: string | null
+ createdAt: Date
+ updatedAt: Date
+ }, ExtArgs["result"]["refund"]>
+ composites: {}
+}
+
+export type RefundGetPayload = runtime.Types.Result.GetResult
+
+export type RefundCountArgs =
+ Omit & {
+ select?: RefundCountAggregateInputType | true
+ }
+
+export interface RefundDelegate {
+ [K: symbol]: { types: Prisma.TypeMap['model']['Refund'], meta: { name: 'Refund' } }
+ /**
+ * Find zero or one Refund that matches the filter.
+ * @param {RefundFindUniqueArgs} args - Arguments to find a Refund
+ * @example
+ * // Get one Refund
+ * const refund = await prisma.refund.findUnique({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find one Refund that matches the filter or throw an error with `error.code='P2025'`
+ * if no matches were found.
+ * @param {RefundFindUniqueOrThrowArgs} args - Arguments to find a Refund
+ * @example
+ * // Get one Refund
+ * const refund = await prisma.refund.findUniqueOrThrow({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find the first Refund that matches the filter.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {RefundFindFirstArgs} args - Arguments to find a Refund
+ * @example
+ * // Get one Refund
+ * const refund = await prisma.refund.findFirst({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find the first Refund that matches the filter or
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {RefundFindFirstOrThrowArgs} args - Arguments to find a Refund
+ * @example
+ * // Get one Refund
+ * const refund = await prisma.refund.findFirstOrThrow({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find zero or more Refunds that matches the filter.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {RefundFindManyArgs} args - Arguments to filter and select certain fields only.
+ * @example
+ * // Get all Refunds
+ * const refunds = await prisma.refund.findMany()
+ *
+ * // Get first 10 Refunds
+ * const refunds = await prisma.refund.findMany({ take: 10 })
+ *
+ * // Only select the `id`
+ * const refundWithIdOnly = await prisma.refund.findMany({ select: { id: true } })
+ *
+ */
+ findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>>
+
+ /**
+ * Create a Refund.
+ * @param {RefundCreateArgs} args - Arguments to create a Refund.
+ * @example
+ * // Create one Refund
+ * const Refund = await prisma.refund.create({
+ * data: {
+ * // ... data to create a Refund
+ * }
+ * })
+ *
+ */
+ create(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Create many Refunds.
+ * @param {RefundCreateManyArgs} args - Arguments to create many Refunds.
+ * @example
+ * // Create many Refunds
+ * const refund = await prisma.refund.createMany({
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ *
+ */
+ createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise
+
+ /**
+ * Create many Refunds and returns the data saved in the database.
+ * @param {RefundCreateManyAndReturnArgs} args - Arguments to create many Refunds.
+ * @example
+ * // Create many Refunds
+ * const refund = await prisma.refund.createManyAndReturn({
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ *
+ * // Create many Refunds and only return the `id`
+ * const refundWithIdOnly = await prisma.refund.createManyAndReturn({
+ * select: { id: true },
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ *
+ */
+ createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>>
+
+ /**
+ * Delete a Refund.
+ * @param {RefundDeleteArgs} args - Arguments to delete one Refund.
+ * @example
+ * // Delete one Refund
+ * const Refund = await prisma.refund.delete({
+ * where: {
+ * // ... filter to delete one Refund
+ * }
+ * })
+ *
+ */
+ delete(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Update one Refund.
+ * @param {RefundUpdateArgs} args - Arguments to update one Refund.
+ * @example
+ * // Update one Refund
+ * const refund = await prisma.refund.update({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: {
+ * // ... provide data here
+ * }
+ * })
+ *
+ */
+ update(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Delete zero or more Refunds.
+ * @param {RefundDeleteManyArgs} args - Arguments to filter Refunds to delete.
+ * @example
+ * // Delete a few Refunds
+ * const { count } = await prisma.refund.deleteMany({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ *
+ */
+ deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise
+
+ /**
+ * Update zero or more Refunds.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {RefundUpdateManyArgs} args - Arguments to update one or more rows.
+ * @example
+ * // Update many Refunds
+ * const refund = await prisma.refund.updateMany({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: {
+ * // ... provide data here
+ * }
+ * })
+ *
+ */
+ updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise
+
+ /**
+ * Update zero or more Refunds and returns the data updated in the database.
+ * @param {RefundUpdateManyAndReturnArgs} args - Arguments to update many Refunds.
+ * @example
+ * // Update many Refunds
+ * const refund = await prisma.refund.updateManyAndReturn({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ *
+ * // Update zero or more Refunds and only return the `id`
+ * const refundWithIdOnly = await prisma.refund.updateManyAndReturn({
+ * select: { id: true },
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ *
+ */
+ updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>>
+
+ /**
+ * Create or update one Refund.
+ * @param {RefundUpsertArgs} args - Arguments to update or create a Refund.
+ * @example
+ * // Update or create a Refund
+ * const refund = await prisma.refund.upsert({
+ * create: {
+ * // ... data to create a Refund
+ * },
+ * update: {
+ * // ... in case it already exists, update
+ * },
+ * where: {
+ * // ... the filter for the Refund we want to update
+ * }
+ * })
+ */
+ upsert(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+
+ /**
+ * Count the number of Refunds.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {RefundCountArgs} args - Arguments to filter Refunds to count.
+ * @example
+ * // Count the number of Refunds
+ * const count = await prisma.refund.count({
+ * where: {
+ * // ... the filter for the Refunds we want to count
+ * }
+ * })
+ **/
+ count(
+ args?: Prisma.Subset,
+ ): Prisma.PrismaPromise<
+ T extends runtime.Types.Utils.Record<'select', any>
+ ? T['select'] extends true
+ ? number
+ : Prisma.GetScalarType
+ : number
+ >
+
+ /**
+ * Allows you to perform aggregations operations on a Refund.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {RefundAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
+ * @example
+ * // Ordered by age ascending
+ * // Where email contains prisma.io
+ * // Limited to the 10 users
+ * const aggregations = await prisma.user.aggregate({
+ * _avg: {
+ * age: true,
+ * },
+ * where: {
+ * email: {
+ * contains: "prisma.io",
+ * },
+ * },
+ * orderBy: {
+ * age: "asc",
+ * },
+ * take: 10,
+ * })
+ **/
+ aggregate(args: Prisma.Subset