diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..3e29203 Binary files /dev/null and b/.DS_Store differ diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 8e6d896..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,79 +0,0 @@ -## Plantilla PR BackEnd -Última actualización 28/04/25 - ---- - -# Descripción - -Incluye un resumen del cambio y el problema que se ha solucionado. También proporciona el contexto relevante y la motivación para este cambio. Lista cualquier dependencia requerida para esta modificación. - ---- - -## Tipo de cambio - -- [ ] Corrección de error (fix sin romper funcionalidades existentes) -- [ ] Nueva funcionalidad (feature sin romper funcionalidades existentes) -- [ ] Cambio disruptivo (rompe compatibilidad o modifica comportamiento actual ) -- [ ] Actualización de documentación requerida -- [ ] Cambio mínimo (cambio visual o estructural que no afecta la lógica del sistema) - ---- - -# ¿Qué archivo fue el que modifique? -Ejemplo: -- UserController.js -- api.js - ---- - -# ¿Cómo se ha probado? -Describe berevemente cómo se probó esta funcionalidad. Ejemplo: -- "Se probaron los endpoints '/api/login' y '/api/profile' con Postman. Las respuestas fueron correctas y sin errores en consola." -- "Se realizaron pruebas visuales/manuales. No se detectaron impactos en lógica ni funcionalidad." - ---- - -# Notas para cambios menores -- [ ] Este PR realiza un cambio mínimo que no afecta la lógica del sistema. -- [ ] Se validó el comportamiento básico y no se detectaron efectos colaterales. -- [ ] No se realizaron pruebas automatizadas porque no aplica - ---- - -# Lista de verificación del autor - -- [ ] El código sigue las normas de estilo del proyecto -- [ ] He realizado una autoevaluación del código -- [ ] El código esta comentado en las secciones complejas o no obvias -- [ ] Documentación actualizada aplica -- [ ] El código no genera nuevas advertencias o errores -- [ ] Se añadieron pruebas relevantes - ---- - -# Lista de Verificación de Pruebas -- [ ] Las pruebas unitarias nuevas y existentes pasan correctamente con mis cambios -- [ ] Las pruebas de seguridad nuevas y existentes pasan correctamente con mis cambios -- [ ] Las pruebas de regresión nuevas y existentes pasan correctamente con mis cambios -- [ ] Las pruebas de integración nuevas y existentes pasan correctamente con mis cambios -- [ ] Las pruebas heurísticas nuevas y existentes pasan correctamente con mis cambios - ---- - -## Checklist del evaluador: - -- [ ] La descripción del Pull Request es clara y específica -- [ ] No se introducen errores ni inconsistencias -- [ ] Ortografía y gramática correctas en documentación -- [ ] El código es entendible y cumple con los estándares -- [ ] Notifiqué al autor del PR si encontré errores, dudas o sugerencias -- [ ] (Si se aprueba) Procedo a eliminar la rama correspondiente - ---- - -# Versión: V1 -### Autores - -| Nombre | Rol | -| ------------------------------ | ----- | -| Juan Antonio Landeros Velázquez | Autor | diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..328a32c --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,32 @@ +name: Lint Pipeline + +on: + push: + branches: + - 'feature/**' + - 'bugfix/**' + - 'hotfix/**' + + pull_request: + branches: + - main + - develop + - 'release/**' + - 'feature/**' + +jobs: + lint: + runs-on: ubuntu-22.04 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Install dependencies + run: npm install --no-audit --no-fund --no-optional + - name: Run ESLint + run: npm run lint \ No newline at end of file diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 0000000..9fa95fb --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,3 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" +npm test diff --git a/__tests__/.DS_Store b/__tests__/.DS_Store new file mode 100644 index 0000000..2fc66ba Binary files /dev/null and b/__tests__/.DS_Store differ diff --git a/__tests__/agregarAlimento.controller.test.js b/__tests__/agregarAlimento.controller.test.js new file mode 100644 index 0000000..3b0cba0 --- /dev/null +++ b/__tests__/agregarAlimento.controller.test.js @@ -0,0 +1,102 @@ +//RF23: Registrar un nuevo tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF23 +/** + * @file Pruebas unitarias del controlador registrarAlimento. + * @description Verifica que el controlador maneje correctamente las solicitudes para agregar un alimento, incluyendo errores esperados. + * @require jest + * @require ../controllers/agregar-alimentacion.controller + * @require ../models/alimento.model + */ + +jest.mock('../models/alimento.model', () => { + return { + Alimento: jest.fn().mockImplementation(() => ({ + agregar: jest.fn(), + })), + }; + }); + + const { registrarAlimento } = require('../controllers/alimento.controller'); + const { Alimento } = require('../models/alimento.model'); + + describe('Controlador: registrarAlimento', () => { + let req, res; + + beforeEach(() => { + req = { + body: { + nombre: 'Pera', + descripcion: 'Fruta verde', + }, + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn(), + }; + + jest.clearAllMocks(); + }); + + /** + * Debe responder 200 si los datos son válidos y se registra exitosamente el alimento. + */ + test('Debe responder 200 si los datos son válidos', async () => { + Alimento.mockImplementation(() => ({ + agregar: jest.fn().mockResolvedValueOnce(), + })); + + await registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(200); + }); + + /** + * Debe responder 400 si los datos enviados están vacíos o incompletos. + */ + test('Debe responder 400 si faltan datos', async () => { + req.body = { nombre: '', descripcion: '' }; + + await registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: expect.stringContaining('Datos no válidos'), + }); + }); + + + /** + * Debe responder 101 si hay error de conexión a la base de datos o red. + */ + test('Debe responder 101 si hay error de conexión', async () => { + Alimento.mockImplementation(() => ({ + agregar: jest.fn().mockRejectedValueOnce({ code: 'ECONNREFUSED' }), + })); + + await registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(101); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: expect.stringContaining('Sin conexión a internet'), + }); + }); + + /** + * Debe responder 500 si ocurre un error inesperado del servidor. + */ + test('Debe responder 500 si ocurre otro error', async () => { + Alimento.mockImplementation(() => ({ + agregar: jest.fn().mockRejectedValueOnce(new Error('Error desconocido')), + })); + + await registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: expect.stringContaining('Error del servidor'), + }); + }); + }); + \ No newline at end of file diff --git a/__tests__/alimentarCharola.controller.test.js b/__tests__/alimentarCharola.controller.test.js new file mode 100644 index 0000000..3e496af --- /dev/null +++ b/__tests__/alimentarCharola.controller.test.js @@ -0,0 +1,53 @@ +const { alimentarCharola } = require('../controllers/charola.controller'); +const Charola = require('../models/charola.model'); // Ajusta si el path es diferente + +jest.mock('../models/charola.model'); // mockea el modelo para no llamar a DB real + +describe('alimentarCharola', () => { + let req, res; + + beforeEach(() => { + req = { + body: {} + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn() + }; + }); + + it('debe regresar 400 si faltan parámetros', async () => { + req.body = { charolaId: 1 }; // incompleto + await alimentarCharola(req, res); + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + error: 'Faltan parámetros obligatorios.' + }); + }); + + it('debe regresar 200 y los datos si todo está correcto', async () => { + req.body = { charolaId: 1, comidaId: 2, cantidadOtorgada: 50 }; + + const mockResultado = { relacion: {}, charola: {} }; + Charola.alimentar.mockResolvedValue(mockResultado); + + await alimentarCharola(req, res); + + expect(Charola.alimentar).toHaveBeenCalledWith(req.body); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ data: mockResultado }); + }); + + it('debe manejar errores y regresar 500', async () => { + req.body = { charolaId: 1, comidaId: 2, cantidadOtorgada: 50 }; + + Charola.alimentar.mockRejectedValue(new Error('Fallo en DB')); + + await alimentarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ + error: 'Error interno al alimentar charola.' + }); + }); +}); diff --git a/__tests__/alimento.controller.test.js b/__tests__/alimento.controller.test.js new file mode 100644 index 0000000..e717310 --- /dev/null +++ b/__tests__/alimento.controller.test.js @@ -0,0 +1,208 @@ +const controller = require('../controllers/alimento.controller'); +const { Alimento, CharolaComida } = require('../models/alimento.model'); + +jest.mock('../models/alimento.model'); + +const mockRequest = (body = {}, params = {}) => ({ body, params }); +const mockResponse = () => { + const res = {}; + res.status = jest.fn().mockReturnValue(res); + res.json = jest.fn().mockReturnValue(res); + res.send = jest.fn().mockReturnValue(res); + return res; +}; + +describe('Controlador de Alimento', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + describe('obtenerAlimentos', () => { + it('debería retornar lista de alimentos', async () => { + const req = {}; + const res = mockResponse(); + const mockAlimento = { obtener: jest.fn().mockResolvedValue(['comida1', 'comida2']) }; + Alimento.mockImplementation(() => mockAlimento); + + await controller.obtenerAlimentos(req, res); + + expect(res.json).toHaveBeenCalledWith(['comida1', 'comida2']); + }); + + it('debería retornar error 500 al fallar', async () => { + const req = {}; + const res = mockResponse(); + Alimento.mockImplementation(() => ({ obtener: jest.fn().mockRejectedValue(new Error()) })); + + await controller.obtenerAlimentos(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.send).toHaveBeenCalledWith('Error al obtener alimentos'); + }); + }); + + describe('registrarAlimento', () => { + it('debería retornar 400 si faltan datos', async () => { + const req = mockRequest({ nombre: '' }); + const res = mockResponse(); + + await controller.registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ success: false, message: 'Datos no válidos' }); + }); + + it('debería registrar correctamente', async () => { + const req = mockRequest({ nombre: 'Pepino', descripcion: 'Fresco' }); + const res = mockResponse(); + const mockAgregar = jest.fn().mockResolvedValue(); + Alimento.mockImplementation(() => ({ agregar: mockAgregar })); + + await controller.registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ + success: true, + message: 'Alimento registrado exitosamente', + }); + }); + + it('debería manejar error de conexión', async () => { + const req = mockRequest({ nombre: 'Zanahoria', descripcion: 'Raíz' }); + const res = mockResponse(); + const error = new Error('Sin conexión'); + error.code = 'ECONNREFUSED'; + + Alimento.mockImplementation(() => ({ + agregar: jest.fn().mockRejectedValue(error), + })); + + await controller.registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(101); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'Sin conexión a internet', + }); + }); + + it('debería manejar error general del servidor', async () => { + const req = mockRequest({ nombre: 'Zanahoria', descripcion: 'Raíz' }); + const res = mockResponse(); + + Alimento.mockImplementation(() => ({ + agregar: jest.fn().mockRejectedValue(new Error()), + })); + + await controller.registrarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'Error del servidor al registrar alimento', + }); + }); + }); + + describe('editarAlimento', () => { + it('debería retornar 400 si el id no es válido', async () => { + const req = mockRequest({}, { idAlimento: 'abc' }); + const res = mockResponse(); + + await controller.editarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'ID de alimento no válido' }); + }); + + it('debería editar correctamente el alimento', async () => { + const req = mockRequest( + { nombreAlimento: 'Fruta', descripcionAlimento: 'Natural' }, + { idAlimento: 1 } + ); + const res = mockResponse(); + + Alimento.mockImplementation(() => ({ actualizar: jest.fn().mockResolvedValue() })); + + await controller.editarAlimento(req, res); + + expect(res.json).toHaveBeenCalledWith({ + success: true, + message: 'Alimento actualizado', + }); + }); + + it('debería retornar error 500 si falla la edición', async () => { + const req = mockRequest({}, { idAlimento: 1 }); + const res = mockResponse(); + + Alimento.mockImplementation(() => ({ + actualizar: jest.fn().mockRejectedValue(new Error()), + })); + + await controller.editarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.send).toHaveBeenCalledWith('Error al editar alimento'); + }); + }); + + describe('registrarCharolaComida', () => { + it('debería retornar 400 si faltan campos', async () => { + const req = mockRequest({ comidaId: 1 }); // Falta info + const res = mockResponse(); + + await controller.registrarCharolaComida(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'Datos incompletos', + }); + }); + + it('debería registrar correctamente una charola-comida', async () => { + const req = mockRequest({ + charolaId: 1, + comidaId: 2, + cantidadOtorgada: 10, + fechaOtorgada: '2024-05-01', + }); + const res = mockResponse(); + + CharolaComida.mockImplementation(() => ({ + agregar: jest.fn().mockResolvedValue(), + })); + + await controller.registrarCharolaComida(req, res); + + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ + success: true, + message: 'Registro creado exitosamente', + }); + }); + + it('debería retornar error 500 si falla el registro', async () => { + const req = mockRequest({ + charolaId: 1, + comidaId: 2, + cantidadOtorgada: 10, + fechaOtorgada: '2024-05-01', + }); + const res = mockResponse(); + + CharolaComida.mockImplementation(() => ({ + agregar: jest.fn().mockRejectedValue(new Error()), + })); + + await controller.registrarCharolaComida(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'Error del servidor', + }); + }); + }); +}); diff --git a/__tests__/alimento.model.test.js b/__tests__/alimento.model.test.js new file mode 100644 index 0000000..dae7455 --- /dev/null +++ b/__tests__/alimento.model.test.js @@ -0,0 +1,177 @@ +//RF23: Registrar un nuevo tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF23 +/** + * @file Pruebas unitarias del modelo Alimento. + * @description Verifica la funcionalidad del modelo Alimento con cobertura completa. + */ + +const { Alimento, CharolaComida } = require('../models/alimento.model.js'); + +// Mock explícito de prisma para pruebas +jest.mock('../generated/prisma', () => { + const findMany = jest.fn(); + const createComida = jest.fn(); + const update = jest.fn(); + const deleteMock = jest.fn(); + const createCharola = jest.fn(); + + return { + PrismaClient: jest.fn().mockImplementation(() => ({ + COMIDA: { + findMany, + create: createComida, + update, + delete: deleteMock, + }, + CHAROLA_COMIDA: { + create: createCharola, + }, + })), + }; +}); + +const { PrismaClient } = require('../generated/prisma'); +const prismaMock = new PrismaClient(); + +describe('Modelo Alimento', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test('Debe crear una instancia válida de Alimento sin ID (autoincremental)', () => { + const alimento = new Alimento(null, 'Manzana', 'Fruta dulce y roja'); + expect(alimento.idAlimento).toBeNull(); + expect(alimento.nombreAlimento).toBe('Manzana'); + expect(alimento.descripcionAlimento).toBe('Fruta dulce y roja'); + }); + + test('Debe permitir instanciar con solo nombre y descripción', () => { + const alimento = new Alimento(undefined, 'Papaya', 'Fruta tropical'); + expect(alimento.nombreAlimento).toBe('Papaya'); + expect(alimento.descripcionAlimento).toBe('Fruta tropical'); + }); + + test('Debe permitir ID numérico (cuando es asignado desde DB)', () => { + const alimento = new Alimento(10, 'Mango', 'Dulce'); + expect(alimento.idAlimento).toBe(10); + }); + + test('Debe manejar valores vacíos (aunque no lanza error)', () => { + const alimento = new Alimento(null, '', ''); + expect(alimento.nombreAlimento).toBe(''); + expect(alimento.descripcionAlimento).toBe(''); + }); + + // ------------------- Cobertura de métodos CRUD ------------------------ + + test('Debe obtener todos los alimentos desde la BD', async () => { + const mockData = [{ comidaId: 1, nombre: 'Zanahoria', descripcion: 'Verdura' }]; + prismaMock.COMIDA.findMany.mockResolvedValue(mockData); + + const alimento = new Alimento(); + const resultado = await alimento.obtener(); + + expect(prismaMock.COMIDA.findMany).toHaveBeenCalledTimes(1); + expect(resultado).toEqual(mockData); + }); + + test('Debe agregar un nuevo alimento', async () => { + const mockInsertado = { comidaId: 99, nombre: 'Pepino', descripcion: 'Verde y fresco' }; + prismaMock.COMIDA.create.mockResolvedValue(mockInsertado); + + const alimento = new Alimento(null, 'Pepino', 'Verde y fresco'); + const resultado = await alimento.agregar(); + + expect(prismaMock.COMIDA.create).toHaveBeenCalledWith({ + data: { + nombre: 'Pepino', + descripcion: 'Verde y fresco', + }, + }); + expect(resultado).toEqual(mockInsertado); + }); + + test('Debe actualizar un alimento existente', async () => { + const mockActualizado = { comidaId: 3, nombre: 'Pera', descripcion: 'Jugosa' }; + prismaMock.COMIDA.update.mockResolvedValue(mockActualizado); + + const alimento = new Alimento(3, 'Pera', 'Jugosa'); + const resultado = await alimento.actualizar(); + + expect(prismaMock.COMIDA.update).toHaveBeenCalledWith({ + where: { comidaId: 3 }, + data: { + nombre: 'Pera', + descripcion: 'Jugosa', + }, + }); + expect(resultado).toEqual(mockActualizado); + }); + + test('Debe eliminar un alimento por ID', async () => { + const mockEliminado = { comidaId: 5, nombre: 'Sandía', descripcion: 'Grande' }; + prismaMock.COMIDA.delete.mockResolvedValue(mockEliminado); + + const alimento = new Alimento(5); + const resultado = await alimento.eliminar(); + + expect(prismaMock.COMIDA.delete).toHaveBeenCalledWith({ + where: { comidaId: 5 }, + }); + expect(resultado).toEqual(mockEliminado); + }); +}); + + +/** + * @file Pruebas unitarias del modelo CharolaComida. + * @description Verifica el comportamiento del modelo CharolaComida. + */ + +describe('Modelo CharolaComida', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test('Debe crear una instancia válida de CharolaComida', () => { + const instancia = new CharolaComida(1, 10, 20, 3.5, new Date('2025-06-01')); + expect(instancia.id).toBe(1); + expect(instancia.charolaId).toBe(10); + expect(instancia.comidaId).toBe(20); + expect(instancia.cantidadOtorgada).toBe(3.5); + expect(instancia.fechaOtorgada).toEqual(new Date('2025-06-01')); + }); + + test('Debe agregar correctamente una relación charola-comida', async () => { + const mockInsertado = { + id: 99, + charolaId: 1, + comidaId: 2, + cantidadOtorgada: 5, + fechaOtorgada: new Date('2025-06-01'), + }; + + prismaMock.CHAROLA_COMIDA.create.mockResolvedValue(mockInsertado); + + const instancia = new CharolaComida(null, 1, 2, 5, new Date('2025-06-01')); + const resultado = await instancia.agregar(); + + expect(prismaMock.CHAROLA_COMIDA.create).toHaveBeenCalledWith({ + data: { + charolaId: 1, + comidaId: 2, + cantidadOtorgada: 5, + fechaOtorgada: new Date('2025-06-01'), + }, + }); + + expect(resultado).toEqual(mockInsertado); + }); + + test('Debe lanzar error si prisma.create falla', async () => { + prismaMock.CHAROLA_COMIDA.create.mockRejectedValue(new Error('Error en BD')); + + const instancia = new CharolaComida(null, 1, 2, 5, new Date()); + + await expect(instancia.agregar()).rejects.toThrow('Error en BD'); + }); +}); diff --git a/__tests__/charola.controller.test.js b/__tests__/charola.controller.test.js new file mode 100644 index 0000000..73812b5 --- /dev/null +++ b/__tests__/charola.controller.test.js @@ -0,0 +1,230 @@ +// Pruebas unitarias Jest para los controladores restantes del archivo charola.controller.js + +const charolaController = require('../controllers/charola.controller'); +const Charola = require('../models/charola.model'); + +jest.mock('../models/charola.model'); + +describe('Controlador Charola - registrarCharola', () => { + let req, res; + + beforeEach(() => { + req = { + body: { nombreCharola: 'Charola 1' } + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn() + }; + jest.clearAllMocks(); + }); + + test('Debe registrar una nueva charola correctamente', async () => { + const nuevaCharola = { charolaId: 1, nombreCharola: 'Charola 1' }; + Charola.registrar.mockResolvedValue(nuevaCharola); + + await charolaController.registrarCharola(req, res); + + expect(Charola.registrar).toHaveBeenCalledWith(req.body); + expect(res.status).toHaveBeenCalledWith(201); + expect(res.json).toHaveBeenCalledWith({ data: nuevaCharola }); + }); + + test('Debe retornar 500 en caso de error', async () => { + Charola.registrar.mockRejectedValue(new Error('Fallo interno')); + + await charolaController.registrarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ mensaje: 'Error interno del servidor' }); + }); +}); + + +describe('Controlador Charola - obtenerCharolas', () => { + let req, res; + + beforeEach(() => { + req = { query: { page: '1', limit: '10' } }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn() + }; + jest.clearAllMocks(); + }); + + test('Debe devolver la lista paginada de charolas', async () => { + Charola.getCharolasPaginadas.mockResolvedValue([{ charolaId: 1 }]); + Charola.getCantidadTotal.mockResolvedValue(1); + + await charolaController.obtenerCharolas(req, res); + + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ + total: 1, + page: 1, + limit: 10, + totalPages: 1, + data: expect.any(Array) + })); + }); + + test('Debe retornar 400 si los parámetros son inválidos', async () => { + req.query.page = 'abc'; // no es un número + + await charolaController.obtenerCharolas(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + mensaje: 'Parámetros inválidos: page y limit deben ser enteros positivos' + }); + }); + + test('Debe retornar 400 si estado es inválido', async () => { + req.query.estado = 'otro'; + + await charolaController.obtenerCharolas(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + mensaje: "Estado inválido. Usa 'activa' o 'pasada'." + }); + }); + + test('Debe retornar 500 en caso de error', async () => { + Charola.getCharolasPaginadas.mockRejectedValue(new Error('Error inesperado')); + + await charolaController.obtenerCharolas(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ mensaje: 'Error interno del servidor' }); + }); +}); + +describe('Controlador Charola - alimentarCharola', () => { + let req, res; + + beforeEach(() => { + req = { body: { charolaId: 1, comidaId: 2, cantidadOtorgada: 50 } }; + res = { status: jest.fn().mockReturnThis(), json: jest.fn() }; + jest.clearAllMocks(); + }); + + test('Debe alimentar correctamente una charola', async () => { + Charola.alimentar.mockResolvedValue({ success: true }); + + await charolaController.alimentarCharola(req, res); + + expect(Charola.alimentar).toHaveBeenCalledWith(req.body); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ data: { success: true } }); + }); + + test('Debe retornar 400 si faltan parámetros', async () => { + req.body = { charolaId: 1 }; + + await charolaController.alimentarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'Faltan parámetros obligatorios.' }); + }); + + test('Debe retornar 500 si ocurre un error', async () => { + Charola.alimentar.mockRejectedValue(new Error('Error interno')); + + await charolaController.alimentarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ error: 'Error interno al alimentar charola.' }); + }); +}); + +describe('Controlador Charola - hidratarCharola', () => { + let req, res; + + beforeEach(() => { + req = { body: { charolaId: 1, hidratacionId: 2, cantidadOtorgada: 20 } }; + res = { status: jest.fn().mockReturnThis(), json: jest.fn() }; + jest.clearAllMocks(); + }); + + test('Debe hidratar correctamente una charola', async () => { + Charola.hidratar.mockResolvedValue({ success: true }); + + await charolaController.hidratarCharola(req, res); + + expect(Charola.hidratar).toHaveBeenCalledWith(req.body); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ data: { success: true } }); + }); + + test('Debe retornar 400 si faltan parámetros', async () => { + req.body = { charolaId: 1 }; + + await charolaController.hidratarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'Faltan parámetros obligatorios.' }); + }); + + test('Debe retornar 500 si ocurre un error', async () => { + Charola.hidratar.mockRejectedValue(new Error('Error interno')); + + await charolaController.hidratarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ error: 'Error interno al alimentar charola.' }); + }); +}); + +describe('Controlador Charola - editarCharola', () => { + let req, res; + + beforeEach(() => { + req = { + query: { + charolaId: '1', + nuevoNombre: 'Charola Nueva', + fechaCreacion: '2024-05-01', + nuevoEstado: 'activa', + nuevaDensidad: '200', + fechaActualizacion: '2024-05-02', + nuevaAlimentacion: '3', + nuevaAlimentacionOtorgada: '30', + nuevaHidratacion: '2', + nuevaHidratacionOtorgada: '15' + } + }; + + res = { status: jest.fn().mockReturnThis(), json: jest.fn() }; + jest.clearAllMocks(); + }); + + test('Debe editar la charola exitosamente', async () => { + Charola.editarCharola.mockResolvedValue(200); + + await charolaController.editarCharola(req, res); + + expect(Charola.editarCharola).toHaveBeenCalled(); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ mensaje: 'Ok' }); + }); + + test('Debe devolver 500 si editarCharola falla', async () => { + Charola.editarCharola.mockResolvedValue(500); + + await charolaController.editarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ error: 'Ocurrió un error al editar los datos de la charola' }); + }); + + test('Debe manejar excepciones internas con código 500', async () => { + Charola.editarCharola.mockRejectedValue(new Error('Error de servidor')); + + await charolaController.editarCharola(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ mensaje: 'Error interno del servidor' }); + }); +}); \ No newline at end of file diff --git a/__tests__/charola.model.test.js b/__tests__/charola.model.test.js new file mode 100644 index 0000000..f0705f3 --- /dev/null +++ b/__tests__/charola.model.test.js @@ -0,0 +1,419 @@ +// RF10 Consultar charola - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF10 +// Pruebas del modelo de charola + +// tests/charola.model.test.js +const Charola = require('../models/charola.model'); + +// Mock del PrismaClient y sus métodos +jest.mock('../generated/prisma', () => { + const findUnique = jest.fn(); + const create = jest.fn(); + const update = jest.fn(); + const findFirst = jest.fn(); + const deleteMany = jest.fn(); + const deleteFn = jest.fn(); + const findMany = jest.fn(); + const count = jest.fn(); + const $transaction = jest.fn(cb => cb(prisma)); + const createComida = jest.fn(); + const updateCharola = jest.fn(); + + const CHAROLA_COMIDA = { + create: createComida, + update: jest.fn(), + findFirst: jest.fn(), + deleteMany: jest.fn(), + }; + + const CHAROLA = { + findUnique, + create, + update, + findFirst, + delete: deleteFn, + deleteMany, + findMany, + count, + }; + + const prisma = { + CHAROLA, + CHAROLA_COMIDA, + CHAROLA_HIDRATACION: { + create: jest.fn(), + update: jest.fn(), + findFirst: jest.fn(), + deleteMany, + }, + ELIMINACION_MOTIVO: { + create: jest.fn(), + }, + $transaction, + }; + + return { + PrismaClient: jest.fn(() => prisma), + }; +}); + +const { PrismaClient } = require('../generated/prisma'); +const prisma = new PrismaClient(); + +describe('Modelo Charola', () => { + afterEach(() => { + jest.clearAllMocks(); + }); + + describe('getCharola', () => { + test('debe devolver un objeto con datos completos si existe la charola', async () => { + const mockCharola = { + charolaId: 1004, + nombreCharola: 'testxd', + comidaCiclo: 10, + hidratacionCiclo: 15, + fechaActualizacion: null, + estado: 'activa', + densidadLarva: 10, + fechaCreacion: '2025-04-29T06:00:00.000Z', + pesoCharola: 10, + CHAROLA_COMIDA: [ + { + charolaId: 1004, + comidaId: 1, + cantidadOtorgada: 10, + COMIDA: { + comidaId: 1, + nombre: 'Manzana', + descripcion: 'fruta roja', + }, + }, + ], + CHAROLA_HIDRATACION: [ + { + charolaId: 1004, + hidratacionId: 1, + cantidadOtorgada: 15, + HIDRATACION: { + hidratacionId: 1, + nombre: 'Zanahoria', + descripcion: 'Vegetal', + }, + }, + ], + }; + + prisma.CHAROLA.findUnique.mockResolvedValue(mockCharola); + + const resultado = await Charola.getCharola(1004); + + expect(resultado).toEqual({ + charola: mockCharola, + relacionComida: mockCharola.CHAROLA_COMIDA[0], + comida: mockCharola.CHAROLA_COMIDA[0].COMIDA, + relacionHidratacion: mockCharola.CHAROLA_HIDRATACION[0], + hidratacion: mockCharola.CHAROLA_HIDRATACION[0].HIDRATACION, + }); + }); + + test('debe devolver un mensaje de error si no se encuentra la charola', async () => { + prisma.CHAROLA.findUnique.mockResolvedValue(null); + + const resultado = await Charola.getCharola(-1); + + expect(resultado).toEqual({ + error: 'No se encontró la charola con el ID proporcionado.', + }); + }); + + test('debe devolver un mensaje de error si ocurre una excepción', async () => { + prisma.CHAROLA.findUnique.mockRejectedValue(new Error('Error de base de datos')); + + const resultado = await Charola.getCharola(1004); + + expect(resultado).toEqual({ + error: 'Error de base de datos', + }); + }); + }); +}); + +describe('Charola.registrar', () => { + test('debe registrar una nueva charola con comidas e hidrataciones', async () => { + const mockData = { + nombre: 'Charola Test', + fechaCreacion: '2025-05-30T00:00:00.000Z', + densidadLarva: 100, + comidas: [ + { comidaId: 1, cantidadOtorgada: 50, fechaOtorgada: '2025-05-30T00:00:00.000Z' } + ], + hidrataciones: [ + { hidratacionId: 2, cantidadOtorgada: 30, fechaOtorgada: '2025-05-30T00:00:00.000Z' } + ] + }; + + const mockCharolaCreada = { + charolaId: 1, + nombreCharola: 'Charola Test', + fechaCreacion: new Date('2025-05-30T00:00:00.000Z'), + fechaActualizacion: new Date('2025-05-30T00:00:00.000Z'), + densidadLarva: 100, + estado: 'activa', + comidaCiclo: 50, + hidratacionCiclo: 30, + CHAROLA_COMIDA: [ + { + cantidadOtorgada: 50, + fechaOtorgada: new Date('2025-05-30T00:00:00.000Z'), + COMIDA: { comidaId: 1, nombre: 'Comida Test' } + } + ], + CHAROLA_HIDRATACION: [ + { + cantidadOtorgada: 30, + fechaOtorgada: new Date('2025-05-30T00:00:00.000Z'), + HIDRATACION: { hidratacionId: 2, nombre: 'Hidratación Test' } + } + ] + }; + + prisma.CHAROLA.create.mockResolvedValue(mockCharolaCreada); + + const resultado = await Charola.registrar(mockData); + + expect(prisma.CHAROLA.create).toHaveBeenCalledWith(expect.objectContaining({ + data: expect.objectContaining({ + nombreCharola: 'Charola Test', + densidadLarva: 100, + comidaCiclo: 50, + hidratacionCiclo: 30 + }) + })); + + expect(resultado).toEqual(mockCharolaCreada); + }); +}); + +describe('Charola.editarCharola', () => { + test('debe editar una charola existente y sus relaciones', async () => { + const mockCharola = { + get: jest.fn((prop) => { + const data = { + charolaId: 1, + nombreCharola: 'Charola Editada', + fechaCreacion: new Date('2025-05-30T00:00:00.000Z'), + densidadLarva: 120, + estado: 'activa', + fechaActualizacion: new Date('2025-05-31T00:00:00.000Z') + }; + return data[prop]; + }) + }; + + const mockAlimento = { + get: jest.fn((prop) => { + const data = { + alimentoId: 2, + cantidadOtorgada: 60, + fechaOtorgada: new Date('2025-05-31T00:00:00.000Z') + }; + return data[prop]; + }) + }; + + const mockHidratacion = { + get: jest.fn((prop) => { + const data = { + hidratacionId: 3, + cantidadOtorgada: 40, + fechaOtorgada: new Date('2025-05-31T00:00:00.000Z') + }; + return data[prop]; + }) + }; + + prisma.CHAROLA.update.mockResolvedValue({}); + prisma.CHAROLA_COMIDA.findFirst.mockResolvedValue({ id: 10 }); + prisma.CHAROLA_COMIDA.update.mockResolvedValue({}); + prisma.CHAROLA_HIDRATACION.findFirst.mockResolvedValue({ id: 20 }); + prisma.CHAROLA_HIDRATACION.update.mockResolvedValue({}); + + const resultado = await Charola.editarCharola(mockCharola, mockAlimento, mockHidratacion); + + expect(prisma.CHAROLA.update).toHaveBeenCalled(); + expect(prisma.CHAROLA_COMIDA.update).toHaveBeenCalled(); + expect(prisma.CHAROLA_HIDRATACION.update).toHaveBeenCalled(); + expect(resultado).toBe(200); + }); +}); + +describe('Charola.eliminarCharola', () => { + test('debe eliminar una charola existente y sus relaciones', async () => { + prisma.CHAROLA.findUnique.mockResolvedValue({ charolaId: 1, nombreCharola: 'Charola 1' }); + prisma.ELIMINACION_MOTIVO.create.mockResolvedValue({}); + prisma.CHAROLA_HIDRATACION.deleteMany.mockResolvedValue({}); + prisma.CHAROLA_COMIDA.deleteMany.mockResolvedValue({}); + prisma.CHAROLA.delete.mockResolvedValue({}); + + const resultado = await Charola.eliminarCharola(1, 'Charola dañada', 'usuario123'); + + expect(prisma.CHAROLA.findUnique).toHaveBeenCalledWith({ where: { charolaId: 1 } }); + expect(prisma.ELIMINACION_MOTIVO.create).toHaveBeenCalledWith({ + data: { + user: 'usuario123', + charola_nombre: 'Charola 1', + motivo: 'Charola dañada', + fecha_eliminacion: expect.any(Date), + } + }); + expect(prisma.CHAROLA_HIDRATACION.deleteMany).toHaveBeenCalledWith({ where: { charolaId: 1 } }); + expect(prisma.CHAROLA_COMIDA.deleteMany).toHaveBeenCalledWith({ where: { charolaId: 1 } }); + expect(prisma.CHAROLA.delete).toHaveBeenCalledWith({ where: { charolaId: 1 } }); + + expect(resultado).toEqual({ + mensaje: 'Charola eliminada correctamente', + idEliminado: 1 + }); + }); + + test('debe devolver un error si la charola no existe', async () => { + prisma.CHAROLA.findUnique.mockResolvedValue(null); + + const resultado = await Charola.eliminarCharola(999); + + expect(resultado).toEqual({ + error: 'No se encontró la charola para eliminar.' + }); + }); +}); + +describe('Charola.getCharolasPaginadas', () => { + test('debe devolver una lista paginada de charolas', async () => { + const mockCharolas = [ + { charolaId: 1, nombreCharola: 'Charola 1', fechaCreacion: new Date('2025-05-30T00:00:00.000Z') }, + { charolaId: 2, nombreCharola: 'Charola 2', fechaCreacion: new Date('2025-05-29T00:00:00.000Z') } + ]; + + prisma.CHAROLA.findMany.mockResolvedValue(mockCharolas); + + const resultado = await Charola.getCharolasPaginadas(2, 0, 'activa'); + + expect(prisma.CHAROLA.findMany).toHaveBeenCalledWith(expect.objectContaining({ + where: { estado: 'activa' }, + skip: 0, + take: 2 + })); + + expect(resultado).toEqual(mockCharolas); + }); +}); + +describe('Charola.getCantidadTotal', () => { + test('debe devolver el total de charolas con estado activo', async () => { + prisma.CHAROLA.count.mockResolvedValue(5); + + const resultado = await Charola.getCantidadTotal('activa'); + + expect(prisma.CHAROLA.count).toHaveBeenCalledWith({ where: { estado: 'activa' } }); + expect(resultado).toBe(5); + }); +}); + +describe('Charola.hidratar', () => { + test('debe crear relación de hidratación y actualizar la charola', async () => { + const mockRelacion = { + charolaId: 1, + hidratacionId: 2, + cantidadOtorgada: 30, + fechaOtorgada: expect.any(Date), + HIDRATACION: { hidratacionId: 2, nombre: 'Agua' } + }; + + const mockCharolaActualizada = { + charolaId: 1, + hidratacionCiclo: 60, + fechaActualizacion: expect.any(Date) + }; + + prisma.CHAROLA_HIDRATACION.create.mockResolvedValue(mockRelacion); + prisma.CHAROLA.update.mockResolvedValue(mockCharolaActualizada); + + const resultado = await Charola.hidratar({ + charolaId: 1, + hidratacionId: 2, + cantidadOtorgada: 30 + }); + + expect(prisma.CHAROLA_HIDRATACION.create).toHaveBeenCalledWith(expect.objectContaining({ + data: expect.objectContaining({ + charolaId: 1, + hidratacionId: 2, + cantidadOtorgada: 30, + fechaOtorgada: expect.any(Date) + }), + include: { HIDRATACION: true } + })); + + expect(prisma.CHAROLA.update).toHaveBeenCalledWith({ + where: { charolaId: 1 }, + data: { + hidratacionCiclo: { increment: 30 }, + fechaActualizacion: expect.any(Date) + } + }); + + expect(resultado).toEqual({ + relacion: mockRelacion, + charola: mockCharolaActualizada + }); + }); +}); + +describe('Charola.alimentar', () => { + test('debe crear relación de comida y actualizar la charola', async () => { + const mockRelacion = { + charolaId: 1, + comidaId: 3, + cantidadOtorgada: 50, + fechaOtorgada: expect.any(Date), + COMIDA: { comidaId: 3, nombre: 'Maíz' } + }; + + const mockCharolaActualizada = { + charolaId: 1, + comidaCiclo: 150, + fechaActualizacion: expect.any(Date) + }; + + prisma.CHAROLA_COMIDA.create.mockResolvedValue(mockRelacion); + prisma.CHAROLA.update.mockResolvedValue(mockCharolaActualizada); + + const resultado = await Charola.alimentar({ + charolaId: 1, + comidaId: 3, + cantidadOtorgada: 50 + }); + + expect(prisma.CHAROLA_COMIDA.create).toHaveBeenCalledWith(expect.objectContaining({ + data: expect.objectContaining({ + charolaId: 1, + comidaId: 3, + cantidadOtorgada: 50, + fechaOtorgada: expect.any(Date) + }), + include: { COMIDA: true } + })); + + expect(prisma.CHAROLA.update).toHaveBeenCalledWith({ + where: { charolaId: 1 }, + data: { + comidaCiclo: { increment: 50 }, + fechaActualizacion: expect.any(Date) + } + }); + + expect(resultado).toEqual({ + relacion: mockRelacion, + charola: mockCharolaActualizada + }); + }); +}); diff --git a/__tests__/charolaTamizado.controller.test.js b/__tests__/charolaTamizado.controller.test.js new file mode 100644 index 0000000..27f110f --- /dev/null +++ b/__tests__/charolaTamizado.controller.test.js @@ -0,0 +1,147 @@ +// RF20: Seleccionar Charolas Para Tamizar y Registrar sus Datos - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF37 + +const { describe, test, expect, beforeEach} = require('@jest/globals'); +const { tamizarCharolas } = require('../controllers/charolaTamizado.controller'); +const tamizadoController = require('../controllers/charolaTamizado.controller'); +const tamizadoCharola = require('../models/charolaTamizado.model'); + +jest.mock('../models/charolaTamizado.model'); + +describe('Controlador de Tamizado Individual', () => { + let req, res; + beforeEach(() => { + // Simulaciones básicas de req y res para probar controladores + req = { + body: {}, + params: {}, + query: {}, + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn(), + }; + }); + test('Debería devolver un error 400 si no se proporcionan datos', async () => { + + req.body = null; + //tamizadoCharola.tamizarIndividual.mockResolvedValue(false); + await tamizadoController.tamizarCharolaIndividual(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + exito: false, + mensaje: 'Datos no válidos', + }); + }); + + test('Debería devolver un error 500 si ocurre un error interno', async () => { + + const mockTamizado = { + tamizarIndividual: jest.fn().mockRejectedValue(new Error('Error interno')), + }; + + tamizadoCharola.mockImplementation(() => mockTamizado); + + await tamizadoController.tamizarCharolaIndividual(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ + exito: false, + mensaje: 'Error interno del servidor', + }); + }); + + test('Debería devolver un error 200 si el tamizado se realiza correctamente', async () => { + + req.body = { + charolas: ['C-206'], + alimento: 'Salvado', + hidratacion: 'Zanahoria', + alimentoCantidad: 100, + hidratacionCantidad: 50, + pupa: 100, + fras: 500, + fecha: new Date(), + }; + + const mockTamizado = { + tamizarIndividual: jest.fn().mockResolvedValue(true), + }; + + tamizadoCharola.mockImplementation(() => mockTamizado); + + await tamizadoController.tamizarCharolaIndividual(req, res); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ + exito: true, + mensaje: 'Tamizado registrado correctamente', + }); + }); +}); + +describe('Controlador de Tamizado Multiple', () => { + let req, res; + beforeEach(() => { + // Simulaciones básicas de req y res para probar controladores + req = { + body: {}, + params: {}, + query: {}, + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn(), + }; + }); + test('Debería devolver un error 400 si no se proporcionan datos', async () => { + + req.body = null; + await tamizadoController.tamizarMultiplesCharolas(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + exito: false, + mensaje: 'Datos no válidos', + }); + }); + + test('Debería devolver un error 500 si ocurre un error interno', async () => { + + const mockTamizado = { + tamizadoMultiple: jest.fn().mockRejectedValue(new Error('Error interno')), + }; + + tamizadoCharola.mockImplementation(() => mockTamizado); + + await tamizadoController.tamizarMultiplesCharolas(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ + exito: false, + mensaje: 'Error interno del servidor', + }); + }); + + test('Debería devolver un error 200 si el tamizado se realiza correctamente', async () => { + + req.body = { + charolas: ["C-206", "E-206-1", "E-201-3"], + pupa: 100, + fras: 500, + fecha: new Date(), + }; + + const mockTamizado = { + tamizadoMultiple: jest.fn().mockResolvedValue(true), + }; + + tamizadoCharola.mockImplementation(() => mockTamizado); + + await tamizadoController.tamizarMultiplesCharolas(req, res); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ + exito: true, + mensaje: 'Tamizado registrado correctamente', + }); + }); +}); \ No newline at end of file diff --git a/__tests__/charolaTamizado.model.test.js b/__tests__/charolaTamizado.model.test.js new file mode 100644 index 0000000..cec19bf --- /dev/null +++ b/__tests__/charolaTamizado.model.test.js @@ -0,0 +1,67 @@ +// 👇 Debe ir primero: declara el mock ANTES de importar el módulo a testear +jest.mock('../generated/prisma', () => { + const mockCreate = jest.fn().mockResolvedValue({ frasId: 1, pupaId: 1, charolaId: 1 }); + const mockUpdate = jest.fn().mockResolvedValue({}); + + const mockTx = { + fRAS: { create: mockCreate }, + cHAROLA_FRAS: { create: mockCreate }, + pUPA: { create: mockCreate }, + cHAROLA_PUPA: { create: mockCreate }, + cHAROLA_COMIDA: { create: mockCreate }, + cHAROLA_HIDRATACION: { create: mockCreate }, + cHAROLA: { + create: mockCreate, + update: mockUpdate, + }, + CHAROLA: { + create: mockCreate, + update: mockUpdate, + }, + cHAROLA_CHAROLA: { create: mockCreate }, + }; + + return { + PrismaClient: jest.fn().mockImplementation(() => ({ + $transaction: (fn) => fn(mockTx), + })), + }; +}); + +const Tamizado = require('../models/charolaTamizado.model'); + +describe('Tamizado', () => { + const baseData = { + charolas: [ + { + nombre: 'CharolaTest', + fechaCreacion: new Date(), + fechaActualizacion: new Date(), + densidadLarva: 100, + pesoCharola: 200, + comidas: [{ cantidadOtorgada: 10, comidaId: 1 }], + hidrataciones: [{ cantidadOtorgada: 20, hidratacionId: 1 }], + }, + ], + tipoComida: 1, + tipoHidratacion: 1, + cantidadComida: 10, + cantidadHidratacion: 5, + cantidadPupa: 2, + cantidadFras: 30, + fecha: new Date(), + charolasParaTamizar: [{ charolaId: 1 }], + }; + + it('debe ejecutar tamizarIndividual sin errores', async () => { + const proceso = new Tamizado(baseData); + const result = await proceso.tamizarIndividual(); + expect(result).toBe(true); + }); + + it('debe ejecutar tamizadoMultiple sin errores', async () => { + const proceso = new Tamizado(baseData); + const result = await proceso.tamizadoMultiple(); + expect(result).toBe(true); + }); +}); diff --git a/__tests__/editarAlimento.controller.test.js b/__tests__/editarAlimento.controller.test.js new file mode 100644 index 0000000..c030772 --- /dev/null +++ b/__tests__/editarAlimento.controller.test.js @@ -0,0 +1,119 @@ +// RF24: Editar un tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF24 + +const controller = require('../controllers/alimento.controller'); +const { Alimento } = require('../models/alimento.model'); + +/** + * Mock de la clase Alimento para poder espiar sus métodos y simular comportamiento + * durante pruebas sin necesidad de conexión real con la base de datos. + */ +jest.mock('../models/alimento.model', () => ({ + Alimento: jest.fn() +})); + +/** + * Pruebas unitarias para el controlador `Alimento`. + * + * Este bloque valida las funciones `obtenerAlimentos` y `editarAlimento`, + * simulando distintas respuestas esperadas ante distintos escenarios. + * + * @group Tests - Controlador Alimento + */ +describe('Controlador Alimento', () => { + let req, res, instanciaMock; + + /** + * Se ejecuta antes de cada prueba para inicializar los mocks y objetos comunes. + */ + beforeEach(() => { + // Implementación simulada de métodos del modelo + instanciaMock = { + obtener: jest.fn().mockResolvedValue([{ comidaId: 1 }]), + actualizar: jest.fn().mockResolvedValue() + }; + Alimento.mockImplementation((id) => instanciaMock); + + // Mock de objetos request y response + req = { params: { idAlimento: '1' } }; + res = { + json: jest.fn(), + status: jest.fn().mockReturnThis(), + send: jest.fn() + }; + }); + + /** + * Pruebas para la función `obtenerAlimentos`. + */ + describe('obtenerAlimentos', () => { + /** + * Debe responder con un array de alimentos si la consulta es exitosa. + */ + it('debe responder con JSON de alimentos', async () => { + await controller.obtenerAlimentos(req, res); + + expect(Alimento).toHaveBeenCalledWith(); + expect(instanciaMock.obtener).toHaveBeenCalled(); + expect(res.json).toHaveBeenCalledWith([{ comidaId: 1 }]); + }); + + /** + * Debe responder con un error 500 si ocurre una excepción al obtener datos. + */ + it('debe responder 500 si falla la obtención', async () => { + instanciaMock.obtener.mockRejectedValue(new Error('fail')); + await controller.obtenerAlimentos(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.send).toHaveBeenCalledWith('Error al obtener alimentos'); + }); + }); + + /** + * Pruebas para la función `editarAlimento`. + */ + describe('editarAlimento', () => { + /** + * Inicializa el cuerpo de la solicitud con datos válidos. + */ + beforeEach(() => { + req.body = { + nombreAlimento: 'Pera', + descripcionAlimento: 'Fruta verde' + }; + }); + + /** + * Debe actualizar correctamente un alimento cuando los datos son válidos. + */ + it('debe editar un alimento y responder con éxito', async () => { + await controller.editarAlimento(req, res); + + expect(Alimento).toHaveBeenCalledWith(1, 'Pera', 'Fruta verde'); + expect(instanciaMock.actualizar).toHaveBeenCalled(); + expect(res.json).toHaveBeenCalledWith({ success: true, message: 'Alimento actualizado' }); + }); + + /** + * Debe responder con error 400 si el ID de alimento no es numérico. + */ + it('debe responder 400 si el ID no es válido', async () => { + req.params.idAlimento = 'invalid'; + await controller.editarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'ID de alimento no válido' }); + }); + + /** + * Debe responder con error 500 si ocurre un fallo al actualizar. + */ + it('debe responder 500 si falla la edición', async () => { + instanciaMock.actualizar.mockRejectedValue(new Error('fail')); + await controller.editarAlimento(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.send).toHaveBeenCalledWith('Error al editar alimento'); + }); + }); +}); diff --git a/__tests__/editarHidratacion.controller.test.js b/__tests__/editarHidratacion.controller.test.js new file mode 100644 index 0000000..86ad6d7 --- /dev/null +++ b/__tests__/editarHidratacion.controller.test.js @@ -0,0 +1,55 @@ +const { editarHidratacion } = require('../controllers/hidratacion.controller'); +const { Hidratacion } = require('../models/hidratacion.model'); + +jest.mock('../models/hidratacion.model'); + +describe('editarHidratacion', () => { + let req, res; + + beforeEach(() => { + req = { + params: {}, + body: {} + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn(), + send: jest.fn() + }; + }); + + it('debe responder con 400 si el id es inválido', async () => { + req.params.idHidratacion = 'abc'; + + await editarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'ID de hidratante no válido' }); + }); + + it('debe editar correctamente y responder con 200', async () => { + req.params.idHidratacion = '1'; + req.body = { nombreHidratacion: 'Te', descripcionHidratacion: 'Verde' }; + + Hidratacion.mockImplementation(() => ({ actualizar: jest.fn().mockResolvedValue() })); + + await editarHidratacion(req, res); + + expect(res.json).toHaveBeenCalledWith({ + success: true, + message: 'Hidratacion actualizado' + }); + }); + + it('debe manejar error y responder con 500', async () => { + req.params.idHidratacion = '1'; + req.body = { nombreHidratacion: 'Te', descripcionHidratacion: 'Verde' }; + + Hidratacion.mockImplementation(() => ({ actualizar: jest.fn().mockRejectedValue(new Error()) })); + + await editarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.send).toHaveBeenCalledWith('Error al editar hidratacion'); + }); +}); diff --git a/__tests__/editarHidratacion.model.test.js b/__tests__/editarHidratacion.model.test.js new file mode 100644 index 0000000..d3d198c --- /dev/null +++ b/__tests__/editarHidratacion.model.test.js @@ -0,0 +1,51 @@ +const { Hidratacion } = require('../models/hidratacion.model'); + +jest.mock('../generated/prisma', () => { + const updateMock = jest.fn(); + return { + PrismaClient: jest.fn().mockImplementation(() => ({ + HIDRATACION: { + update: updateMock + } + })), + __mocks__: { updateMock } + }; +}); + +const { __mocks__ } = require('../generated/prisma'); + +describe('Hidratacion.actualizar', () => { + beforeEach(() => { + __mocks__.updateMock.mockClear(); + }); + + it('debe actualizar la hidratación correctamente', async () => { + __mocks__.updateMock.mockResolvedValue({ + hidratacionId: 1, + nombre: 'Te', + descripcion: 'Verde' + }); + + const hidratacion = new Hidratacion(1, 'Te', 'Verde'); + const resultado = await hidratacion.actualizar(); + + expect(__mocks__.updateMock).toHaveBeenCalledWith({ + where: { hidratacionId: 1 }, + data: { nombre: 'Te', descripcion: 'Verde' } + }); + + expect(resultado).toEqual({ + hidratacionId: 1, + nombre: 'Te', + descripcion: 'Verde' + }); + }); + + it('debe lanzar error si la base de datos falla', async () => { + __mocks__.updateMock.mockRejectedValue(new Error('DB Error')); + + const hidratacion = new Hidratacion(1, 'Te', 'Verde'); + + await expect(hidratacion.actualizar()).rejects.toThrow('DB Error'); + }); +}); diff --git a/__tests__/eliminarHidratacion.controller.test.js b/__tests__/eliminarHidratacion.controller.test.js new file mode 100644 index 0000000..68b6a1a --- /dev/null +++ b/__tests__/eliminarHidratacion.controller.test.js @@ -0,0 +1,70 @@ +const { eliminarHidratacion } = require('../controllers/hidratacion.controller'); +const { Hidratacion } = require('../models/hidratacion.model'); + +jest.mock('../models/hidratacion.model'); + +describe('eliminarHidratacion', () => { + let req, res; + + beforeEach(() => { + req = { + params: {} + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn(), + send: jest.fn() + }; + }); + + it('debe responder con 400 si el ID no es válido', async () => { + req.params.idHidratacion = '-1'; + + await eliminarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'ID de hidrato no válido' }); + }); + + it('debe rechazar si la hidratación está asignada', async () => { + req.params.idHidratacion = '2'; + Hidratacion.mockImplementation(() => ({ + isAgregada: jest.fn().mockResolvedValue(1) + })); + + await eliminarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(409); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'La hidratación no se puede eliminar porque está asignado a una charola' + }); + }); + + it('debe eliminar correctamente si no está asignada', async () => { + req.params.idHidratacion = '3'; + Hidratacion.mockImplementation(() => ({ + isAgregada: jest.fn().mockResolvedValue(0), + eliminar: jest.fn().mockResolvedValue() + })); + + await eliminarHidratacion(req, res); + + expect(res.json).toHaveBeenCalledWith({ + success: true, + message: 'Hidrato eliminado' + }); + }); + + it('debe responder con 500 si ocurre un error inesperado', async () => { + req.params.idHidratacion = '3'; + Hidratacion.mockImplementation(() => ({ + isAgregada: jest.fn().mockRejectedValue(new Error()) + })); + + await eliminarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.send).toHaveBeenCalledWith('Error al eliminar hidrato'); + }); +}); diff --git a/__tests__/eliminarHidratacion.model.test.js b/__tests__/eliminarHidratacion.model.test.js new file mode 100644 index 0000000..9acea8a --- /dev/null +++ b/__tests__/eliminarHidratacion.model.test.js @@ -0,0 +1,45 @@ +const { Hidratacion } = require('../models/hidratacion.model'); +const { PrismaClient } = require('../generated/prisma'); + +jest.mock('../generated/prisma', () => { + const deleteMock = jest.fn(); + return { + PrismaClient: jest.fn(() => ({ + HIDRATACION: { + delete: deleteMock, + }, + })), + }; +}); + +describe('Modelo Hidratacion - eliminar()', () => { + let prismaInstance; + + beforeEach(() => { + jest.clearAllMocks(); + // Crea una nueva instancia simulada + prismaInstance = new PrismaClient(); + }); + + it('debe eliminar correctamente el registro', async () => { + const mockResultado = { hidratacionId: 1, nombre: 'Agua' }; + + prismaInstance.HIDRATACION.delete.mockResolvedValue(mockResultado); + + const hidratacion = new Hidratacion(1); + const resultado = await hidratacion.eliminar(); + + expect(prismaInstance.HIDRATACION.delete).toHaveBeenCalledWith({ + where: { hidratacionId: 1 }, + }); + expect(resultado).toEqual(mockResultado); + }); + + it('debe lanzar un error si la eliminación falla', async () => { + prismaInstance.HIDRATACION.delete.mockRejectedValue(new Error('Error de BD')); + + const hidratacion = new Hidratacion(1); + + await expect(hidratacion.eliminar()).rejects.toThrow('Error de BD'); + }); +}); diff --git a/__tests__/fras.controller.test.js b/__tests__/fras.controller.test.js new file mode 100644 index 0000000..41d25eb --- /dev/null +++ b/__tests__/fras.controller.test.js @@ -0,0 +1,115 @@ +// RF29: Visualizar la información del Frass obtenido - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF29 + +/** + * @fileoverview + * Pruebas unitarias para el controlador obtenerFras (frs.controller.js). + * Mockeamos la clase Fras para controlar sus retornos y forzar distintos escenarios. + */ + +const { obtenerFras } = require('../controllers/fras.controller'); + +jest.mock('../models/fras.model', () => { + // Creamos un objeto que reemplace a la clase real Fras + // y nos permita configurar el método "obtener" en cada prueba. + return { + Fras: jest.fn().mockImplementation(() => ({ + obtener: jest.fn(), + })), + }; +}); + +describe('Controlador obtenerFras', () => { + let FrasMock; // Referencia al mock de la clase Fras + let fakeReq; // Objeto Request simulado (no usamos propiedades concretas por ahora) + let fakeRes; // Objeto Response simulado con métodos espiados + let resJsonSpy; + let resStatusSpy; + + beforeAll(() => { + // Importamos la clase mockeada para acceder a su mockImplementation + const mod = require('../models/fras.model'); + FrasMock = mod.Fras; + }); + + beforeEach(() => { + // Limpiamos instancias de mocks entre pruebas + FrasMock.mockClear(); + + // Configuramos fakeReq y fakeRes para cada prueba + fakeReq = {}; // no necesitamos campos específicos en req para este controlador + + // Res simulada con métodos json() y status().json() + resJsonSpy = jest.fn(); + resStatusSpy = jest.fn(() => ({ json: resJsonSpy })); + + fakeRes = { + json: resJsonSpy, + status: resStatusSpy, + }; + }); + + test('• Si Fras.obtener() devuelve un arreglo, debería responder con res.json(data)', async () => { + // 1) Configuramos el retorno simulado de fras.obtener() + const datosSimulados = [ + { + CHAROLA: { nombreCharola: 'Charola A' }, + FRAS: { fechaRegistro: new Date('2025-06-01'), gramosGenerados: 10.5 }, + }, + ]; + // La primera instancia de FrasMock() devolverá un objeto cuya función "obtener" + // retorna el arreglo de datosSimulados. + FrasMock.mockImplementationOnce(() => ({ + obtener: jest.fn().mockResolvedValue(datosSimulados), + })); + + // 2) Llamamos al controlador + await obtenerFras(fakeReq, fakeRes); + + // 3) Verificamos que la clase Fras se haya instanciado exactamente una vez + expect(FrasMock).toHaveBeenCalledTimes(1); + + // 4) Verificamos que res.json() se haya invocado con el arreglo de datosSimulados + expect(resJsonSpy).toHaveBeenCalledTimes(1); + expect(resJsonSpy).toHaveBeenCalledWith(datosSimulados); + + // 5) Verificamos que res.status() NO se haya llamado (porque encontro datos) + expect(resStatusSpy).not.toHaveBeenCalled(); + }); + + test('• Si Fras.obtener() devuelve null o undefined, debería responder 404 con el mensaje', async () => { + // Configuramos que fras.obtener() devuelva undefined (o null) + FrasMock.mockImplementationOnce(() => ({ + obtener: jest.fn().mockResolvedValue(undefined), + })); + + await obtenerFras(fakeReq, fakeRes); + + // 1) Como resultado es "falsy", debería ejecutarse el bloque de 404 + expect(resStatusSpy).toHaveBeenCalledTimes(1); + expect(resStatusSpy).toHaveBeenCalledWith(404); + + // 2) Verificamos que luego se llame a res.json con el mensaje de no encontrados + expect(resJsonSpy).toHaveBeenCalledTimes(1); + expect(resJsonSpy).toHaveBeenCalledWith({ message: 'No se encontraron registros de Fras.' }); + + // 3) En este caso, res.json fue llamado dentro del objeto que devolvió res.status(404) + // y no se debe haber invocado el método json "de nivel superior" directamente sin status. + }); + + test('• Si Fras.obtener() lanza un error, debería responder 500 con el mensaje de error', async () => { + // Simulamos que fras.obtener() arroja una excepción + FrasMock.mockImplementationOnce(() => ({ + obtener: jest.fn().mockRejectedValue(new Error('fallo en BD')), + })); + + await obtenerFras(fakeReq, fakeRes); + + // 1) Como se produce un catch, debería invocarse res.status(500) + expect(resStatusSpy).toHaveBeenCalledTimes(1); + expect(resStatusSpy).toHaveBeenCalledWith(500); + + // 2) Y luego res.json con el mensaje de error genérico + expect(resJsonSpy).toHaveBeenCalledTimes(1); + expect(resJsonSpy).toHaveBeenCalledWith({ message: 'Error al obtener los registros de Fras.' }); + }); +}); \ No newline at end of file diff --git a/__tests__/fras.model.test.js b/__tests__/fras.model.test.js new file mode 100644 index 0000000..b03e8dd --- /dev/null +++ b/__tests__/fras.model.test.js @@ -0,0 +1,105 @@ +// RF29: Visualizar la información del Frass obtenido - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF29 + +/** + * @fileoverview + * Pruebas unitarias para el modelo Fras (fras.model.js). + * Se “mockea” internamente a PrismaClient para no depender de una BD real. + */ + +const { Fras } = require('../models/fras.model'); + +// Jest provee un mecanismo para interceptar el require de '../generated/prisma' +jest.mock('../generated/prisma', () => { + // Creamos un “mock” de lo que exporta nuestro cliente generado: + // - PrismaClient: un constructor que al instanciarlo devuelve un objeto con cHAROLA_FRAS.findMany. + const findManyMock = jest.fn(); + const prismaMock = { + cHAROLA_FRAS: { + findMany: findManyMock, + }, + }; + return { + PrismaClient: jest.fn(() => prismaMock), + }; +}); + +describe('Modelo Fras – método obtener()', () => { + let frasModel; + let mockFindMany; + + beforeAll(() => { + // Importamos la función “mockeada” de PrismaClient: + const { PrismaClient } = require('../generated/prisma'); + // Guardamos la referencia al mock de findMany para configurar su comportamiento + mockFindMany = new PrismaClient().cHAROLA_FRAS.findMany; + }); + + beforeEach(() => { + // Cada vez que arranque una prueba, instanciamos un nuevo Fras + frasModel = new Fras(); + // Limpiamos el historial de llamadas y return values del mock + mockFindMany.mockReset(); + }); + + test('• debería invocar a prisma.cHAROLA_FRAS.findMany() sin parámetros extraños', async () => { + // Preparamos el retorno simulado (un arreglo vacío) + mockFindMany.mockResolvedValueOnce([]); + + const resultado = await frasModel.obtener(); + + // 1) Verificamos que findMany fue llamado exactamente una vez + expect(mockFindMany).toHaveBeenCalledTimes(1); + + // 2) Verificamos que no se le pasaron parámetros inesperados + expect(mockFindMany).toHaveBeenCalledWith({ + select: { + CHAROLA: { + select: { + nombreCharola: true, + }, + }, + FRAS: { + select: { + fechaRegistro: true, + gramosGenerados: true, + }, + }, + }, + }); + + // 3) Como findMany devolvió [], el método obtener() debe retornar [] + expect(resultado).toEqual([]); + }); + + test('• debería retornar los datos exactamente como los provee findMany', async () => { + // Creamos un array simulado que represente varias filas: + const filasSimuladas = [ + { + CHAROLA: { nombreCharola: 'Charola A' }, + FRAS: { fechaRegistro: new Date('2025-06-01'), gramosGenerados: 12.5 }, + }, + { + CHAROLA: { nombreCharola: 'Charola B' }, + FRAS: { fechaRegistro: new Date('2025-06-02'), gramosGenerados: 7.8 }, + }, + ]; + mockFindMany.mockResolvedValueOnce(filasSimuladas); + + const resultado = await frasModel.obtener(); + + // El método en sí no transforma los datos, solo devuelve tal cual lo que findMany retorna + expect(resultado).toEqual(filasSimuladas); + }); + + test('• debería propagar el error si findMany arroja una excepción', async () => { + // Simulamos que findMany lanza un error + const errorSimulado = new Error('fallo en la BD'); + mockFindMany.mockRejectedValueOnce(errorSimulado); + + // Usamos async/await y catch implícito de Jest para promesas que rechazan + await expect(frasModel.obtener()).rejects.toThrow('fallo en la BD'); + + // Verificamos que findMany se haya ejecutado + expect(mockFindMany).toHaveBeenCalledTimes(1); + }); +}); \ No newline at end of file diff --git a/__tests__/hidratarCharola.model.test.js b/__tests__/hidratarCharola.model.test.js new file mode 100644 index 0000000..cd98f5e --- /dev/null +++ b/__tests__/hidratarCharola.model.test.js @@ -0,0 +1,98 @@ +const Charola = require('../models/charola.model'); + +jest.mock('../generated/prisma', () => { + const createMock = jest.fn(); + const updateMock = jest.fn(); + + return { + PrismaClient: jest.fn().mockImplementation(() => ({ + $transaction: jest.fn(async (callback) => { + const fakeClient = { + CHAROLA_HIDRATACION: { create: createMock }, + CHAROLA: { update: updateMock } + }; + return callback(fakeClient); + }) + })), + __mocks__: { + createMock, + updateMock + } + }; +}); + +const { __mocks__ } = require('../generated/prisma'); + +const mockFecha = new Date('2025-05-28T00:00:00.000Z'); + +beforeAll(() => { + jest.useFakeTimers().setSystemTime(mockFecha); +}); + +afterAll(() => { + jest.useRealTimers(); +}); + +describe('Charola.hidratar', () => { + it('debería crear la relación y actualizar la charola', async () => { + // Setup de mocks + __mocks__.createMock.mockResolvedValue({ + charolaId: 107, + hidratacionId: 5, + cantidadOtorgada: 80, + fechaOtorgada: mockFecha, + HIDRATACION: { + hidratacionId: 5, + nombre: 'Horchata', + descripcion: 'Fruta' + } + }); + + __mocks__.updateMock.mockResolvedValue({ + charolaId: 107, + nombreCharola: '1', + comidaCiclo: 11, + hidratacionCiclo: 34, + fechaActualizacion: mockFecha, + estado: 'activa', + densidadLarva: 1, + fechaCreacion: mockFecha, + pesoCharola: null + }); + + // Llamada real al método del modelo + const result = await Charola.hidratar({ + charolaId: 107, + hidratacionId: 5, + cantidadOtorgada: 80 + }); + + // Validaciones + expect(result.relacion).toMatchObject({ + charolaId: 107, + hidratacionId: 5, + cantidadOtorgada: 80, + fechaOtorgada: mockFecha, + HIDRATACION: { + hidratacionId: 5, + nombre: 'Horchata', + descripcion: 'Fruta' + } + }); + + expect(result.charola).toMatchObject({ + charolaId: 107, + nombreCharola: '1', + comidaCiclo: 11, + hidratacionCiclo: 34, + fechaActualizacion: mockFecha, + estado: 'activa', + densidadLarva: 1, + fechaCreacion: mockFecha, + pesoCharola: null + }); + + expect(__mocks__.createMock).toHaveBeenCalledTimes(1); + expect(__mocks__.updateMock).toHaveBeenCalledTimes(1); + }); +}); diff --git a/__tests__/historialActividad.controller.test.js b/__tests__/historialActividad.controller.test.js new file mode 100644 index 0000000..ec8ba92 --- /dev/null +++ b/__tests__/historialActividad.controller.test.js @@ -0,0 +1,129 @@ +// RF18 Historial de actividad: +// https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF18 + +const { obtenerHistorialAncestros, obtenerHistorialActividad, postHistorialAncestros } = require('../controllers/historialCharola.controller'); +const HistorialCharola = require('../models/historialCharola.model'); + +jest.mock('../models/historialCharola.model'); + +describe('Controlador historialCharola.controller', () => { + const mockResponse = () => { + const res = {}; + res.status = jest.fn().mockReturnValue(res); + res.json = jest.fn().mockReturnValue(res); + return res; + }; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + describe('obtenerHistorialAncestros', () => { + it('debería responder 400 si el charolaId no es válido', async () => { + const req = { params: { charolaId: 'abc' } }; + const res = mockResponse(); + await obtenerHistorialAncestros(req, res); + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'ID de charola inválido' }); + }); + + it('debería responder 404 si la charola no se encuentra', async () => { + const req = { params: { charolaId: '1' } }; + const res = mockResponse(); + HistorialCharola.obtenerFechaCreacion.mockResolvedValue([]); + await obtenerHistorialAncestros(req, res); + expect(res.status).toHaveBeenCalledWith(404); + expect(res.json).toHaveBeenCalledWith({ error: 'Charola no encontrada' }); + }); + + it('debería responder 200 con los datos si se encuentra la charola', async () => { + const req = { params: { charolaId: '1' } }; + const res = mockResponse(); + HistorialCharola.obtenerFechaCreacion.mockResolvedValue([{ fechaCreacion: '2024-05-01' }]); + HistorialCharola.obtenerAncestros.mockResolvedValue([{ charolaId: 1001, relacion: 'abuela' }]); + await obtenerHistorialAncestros(req, res); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ fechaCreacion: '2024-05-01', ancestros: [{ charolaId: 1001, relacion: 'abuela' }] }); + }); + + it('debería responder 500 si ocurre un error inesperado', async () => { + const req = { params: { charolaId: '1' } }; + const res = mockResponse(); + HistorialCharola.obtenerFechaCreacion.mockRejectedValue(new Error('Error')); + await obtenerHistorialAncestros(req, res); + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ error: 'Error interno del servidor' }); + }); + }); + + describe('obtenerHistorialActividad', () => { + it('debería responder 200 con historial si hay datos', async () => { + const req = { query: { charolaId: '1' } }; + const res = mockResponse(); + + HistorialCharola.historialAlimentacion.mockResolvedValue([{}]); + HistorialCharola.historialHidratacion.mockResolvedValue([]); + HistorialCharola.estadoCharola.mockResolvedValue('activa'); + + await obtenerHistorialActividad(req, res); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ codigo: 'Ok', estado: 'activa', alimentacion: [{}], hidratacion: [] }); + }); + + it('debería responder 201 si no hay datos de historial', async () => { + const req = { query: { charolaId: '1' } }; + const res = mockResponse(); + + HistorialCharola.historialAlimentacion.mockResolvedValue([]); + HistorialCharola.historialHidratacion.mockResolvedValue([]); + HistorialCharola.estadoCharola.mockResolvedValue('inactiva'); + + await obtenerHistorialActividad(req, res); + expect(res.status).toHaveBeenCalledWith(201); + expect(res.json).toHaveBeenCalledWith({ codigo: 'Ok', estado: 'inactiva' }); + }); + + it('debería responder 500 en caso de error', async () => { + const req = { query: { charolaId: '1' } }; + const res = mockResponse(); + + HistorialCharola.historialAlimentacion.mockRejectedValue(new Error('Error')); + + await obtenerHistorialActividad(req, res); + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ error: 'Ocurrio un error en el servidor' }); + }); + }); + + describe('postHistorialAncestros', () => { + it('debería responder 400 si el body no contiene un array válido', async () => { + const req = { params: { charolaId: '1' }, body: { ancestros: null } }; + const res = mockResponse(); + await postHistorialAncestros(req, res); + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ error: 'Debes enviar un array de IDs en “ancestros”' }); + }); + + it('debería responder 200 si se asignan correctamente', async () => { + const req = { params: { charolaId: '1' }, body: { ancestros: [2, 3] } }; + const res = mockResponse(); + + HistorialCharola.asignarAncestro.mockResolvedValue(); + + await postHistorialAncestros(req, res); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ message: 'Ancestros asignados correctamente' }); + }); + + it('debería responder 500 si ocurre un error', async () => { + const req = { params: { charolaId: '1' }, body: { ancestros: [2, 3] } }; + const res = mockResponse(); + + HistorialCharola.asignarAncestro.mockRejectedValue(new Error('Error')); + + await postHistorialAncestros(req, res); + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ error: 'No se pudieron asignar ancestros' }); + }); + }); +}); diff --git a/__tests__/historialAncestros.model.test.js b/__tests__/historialAncestros.model.test.js new file mode 100644 index 0000000..d092121 --- /dev/null +++ b/__tests__/historialAncestros.model.test.js @@ -0,0 +1,73 @@ +const HistorialCharola = require('../models/historialCharola.model'); +const { PrismaClient } = require('../generated/prisma'); + +jest.mock('../generated/prisma', () => { + const mPrisma = { + cHAROLA: { findUnique: jest.fn() }, + cHAROLA_CHAROLA: { findMany: jest.fn() } + }; + return { PrismaClient: jest.fn(() => mPrisma) }; +}); + +describe('HistorialCharola', () => { + const prisma = new PrismaClient(); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe('obtenerFechaCreacion', () => { + it('debería devolver la fecha de creación si existe la charola', async () => { + const fechaMock = new Date('2024-05-01'); + prisma.cHAROLA.findUnique.mockResolvedValueOnce({ fechaCreacion: fechaMock }); + + const resultado = await HistorialCharola.obtenerFechaCreacion(1); + + expect(prisma.cHAROLA.findUnique).toHaveBeenCalledWith({ + where: { charolaId: 1 }, + select: { fechaCreacion: true } + }); + expect(resultado).toEqual([{ fechaCreacion: fechaMock }]); + }); + + it('debería devolver un arreglo vacío si no existe la charola', async () => { + prisma.cHAROLA.findUnique.mockResolvedValueOnce(null); + + const resultado = await HistorialCharola.obtenerFechaCreacion(999); + + expect(resultado).toEqual([]); + }); + }); + + describe('obtenerAncestros', () => { + it('debería devolver la lista de ancestros correctamente', async () => { + prisma.cHAROLA_CHAROLA.findMany.mockResolvedValueOnce([ + { + charolaAncestro: 1001, + CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: { nombreCharola: 'Charola Madre' } + }, + { + charolaAncestro: 1002, + CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: { nombreCharola: 'Charola Abuela' } + } + ]); + + const resultado = await HistorialCharola.obtenerAncestros(123); + + expect(prisma.cHAROLA_CHAROLA.findMany).toHaveBeenCalledWith({ + where: { charolaHija: 123 }, + select: { + charolaAncestro: true, + CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: { + select: { nombreCharola: true } + } + } + }); + + expect(resultado).toEqual([ + { charolaAncestro: 1001, nombreCharola: 'Charola Madre' }, + { charolaAncestro: 1002, nombreCharola: 'Charola Abuela' } + ]); + }); + }); +}); \ No newline at end of file diff --git a/__tests__/historialCharola.model.test.js b/__tests__/historialCharola.model.test.js new file mode 100644 index 0000000..38a43e9 --- /dev/null +++ b/__tests__/historialCharola.model.test.js @@ -0,0 +1,106 @@ +const { PrismaClient } = require('../generated/prisma'); +const HistorialCharola = require('../models/historialCharola.model'); + +// Mocks +jest.mock('../generated/prisma', () => { + const mPrisma = { + cHAROLA: { + findUnique: jest.fn(), + }, + CHAROLA_CHAROLA: { + findMany: jest.fn(), + create: jest.fn(), + }, + CHAROLA_COMIDA: { + findMany: jest.fn(), + }, + CHAROLA_HIDRATACION: { + findMany: jest.fn(), + }, + CHAROLA: { + findUnique: jest.fn(), + }, + }; + return { + PrismaClient: jest.fn(() => mPrisma), + }; +}); + +describe('HistorialCharola', () => { + const prisma = new PrismaClient(); + + beforeEach(() => { + jest.clearAllMocks(); + }); + + test('obtenerFechaCreacion debe retornar la fecha si se encuentra la charola', async () => { + const fecha = new Date('2024-01-01'); + prisma.cHAROLA.findUnique.mockResolvedValue({ fechaCreacion: fecha }); + + const resultado = await HistorialCharola.obtenerFechaCreacion(1); + expect(resultado).toEqual([{ fechaCreacion: fecha }]); + }); + + test('obtenerFechaCreacion debe retornar [] si no encuentra la charola', async () => { + prisma.cHAROLA.findUnique.mockResolvedValue(null); + const resultado = await HistorialCharola.obtenerFechaCreacion(1); + expect(resultado).toEqual([]); + }); + + test('historialAlimentacion debe retornar lista formateada', async () => { + prisma.CHAROLA_COMIDA.findMany.mockResolvedValue([ + { + cantidadOtorgada: 100, + fechaOtorgada: new Date('2024-01-01'), + COMIDA: { nombre: 'Harina' }, + }, + ]); + const resultado = await HistorialCharola.historialAlimentacion(1); + expect(resultado).toEqual([ + { + cantidadOtorgada: '100', + fechaOtorgada: '01/01/2024', + nombre: 'Harina', + }, + ]); + }); + + test('historialHidratacion debe retornar lista formateada', async () => { + prisma.CHAROLA_HIDRATACION.findMany.mockResolvedValue([ + { + cantidadOtorgada: 50, + fechaOtorgada: new Date('2024-01-01'), + HIDRATACION: { nombre: 'Agua' }, + }, + ]); + const resultado = await HistorialCharola.historialHidratacion(1); + expect(resultado).toEqual([ + { + cantidadOtorgada: '50', + fechaOtorgada: '01/01/2024', + nombre: 'Agua', + }, + ]); + }); + + test('estadoCharola debe retornar estado y fecha formateada', async () => { + prisma.CHAROLA.findUnique.mockResolvedValue({ + estado: 'activo', + fechaActualizacion: new Date('2024-01-01'), + }); + const resultado = await HistorialCharola.estadoCharola(1); + expect(resultado).toEqual({ + estado: 'activo', + fechaActualizacion: '01/01/2024', + }); + }); + + test('asignarAncestro debe llamar a create correctamente', async () => { + prisma.CHAROLA_CHAROLA.create.mockResolvedValue({ charolaHija: 2, charolaAncestro: 1 }); + const resultado = await HistorialCharola.asignarAncestro({ charolaHija: 2, charolaAncestro: 1 }); + expect(resultado).toEqual({ charolaHija: 2, charolaAncestro: 1 }); + expect(prisma.CHAROLA_CHAROLA.create).toHaveBeenCalledWith({ + data: { charolaHija: 2, charolaAncestro: 1 }, + }); + }); +}); diff --git a/__tests__/menuCharolas.controller.test.js b/__tests__/menuCharolas.controller.test.js new file mode 100644 index 0000000..e12864c --- /dev/null +++ b/__tests__/menuCharolas.controller.test.js @@ -0,0 +1,152 @@ +// RF16 Visualizar todas las charolas registradas en el sistema +// Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 + +const { obtenerCharolas } = require('../controllers/charola.controller'); +const Charola = require('../models/charola.model'); + +jest.mock('../models/charola.model'); + +/** + * @group Tests - Controlador Charola + * Pruebas unitarias para el controlador obtenerCharolas. + */ +describe('Controlador Charola', () => { + + /** + * @test + * @description Verifica que se devuelvan charolas activas con estado='activa'. + * Debe retornar código 200 y un array con objetos que incluyan `charolaId`, `nombreCharola` y `fechaCreacion`. + * @async + */ + it('responde con charolas activas (estado=activa)', async () => { + Charola.getCharolasPaginadas.mockResolvedValue([ + { charolaId: 1, nombreCharola: 'C-100', fechaCreacion: '2025-05-01' } + ]); + Charola.getCantidadTotal.mockResolvedValue(1); + + const req = { query: { page: '1', limit: '10', estado: 'activa' } }; + const res = { + status: jest.fn().mockReturnThis(), + json: jest.fn() + }; + + await obtenerCharolas(req, res); + + expect(Charola.getCharolasPaginadas).toHaveBeenCalledWith(10, 0, 'activa'); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ + total: 1, + page: 1, + limit: 10, + totalPages: 1, + data: expect.arrayContaining([ + expect.objectContaining({ + charolaId: expect.any(Number), + nombreCharola: expect.any(String), + fechaCreacion: expect.any(String) + }) + ]) + })); + }); + + /** + * @test + * @description Verifica que se devuelvan charolas pasadas con estado='pasada'. + * Debe retornar código 200 con una lista que contenga `charolaId` y demás campos. + * @async + */ + it('responde con charolas pasadas (estado=pasada)', async () => { + Charola.getCharolasPaginadas.mockResolvedValue([ + { charolaId: 2, nombreCharola: 'E-200', fechaCreacion: '2024-12-25' } + ]); + Charola.getCantidadTotal.mockResolvedValue(1); + + const req = { query: { page: '1', limit: '10', estado: 'pasada' } }; + const res = { + status: jest.fn().mockReturnThis(), + json: jest.fn() + }; + + await obtenerCharolas(req, res); + + expect(Charola.getCharolasPaginadas).toHaveBeenCalledWith(10, 0, 'pasada'); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ + data: expect.arrayContaining([ + expect.objectContaining({ + charolaId: expect.any(Number), + nombreCharola: expect.any(String), + fechaCreacion: expect.any(String) + }) + ]) + })); + }); + + /** + * @test + * @description Verifica que cuando no hay charolas, la respuesta tenga lista vacía y código 200. + * @async + */ + it('debe retornar código 200 con lista vacía', async () => { + Charola.getCharolasPaginadas.mockResolvedValue([]); + Charola.getCantidadTotal.mockResolvedValue(0); + + const req = { query: { page: '1', limit: '10', estado: 'activa' } }; + const res = { + status: jest.fn().mockReturnThis(), + json: jest.fn() + }; + + await obtenerCharolas(req, res); + + expect(Charola.getCharolasPaginadas).toHaveBeenCalledWith(10, 0, 'activa'); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ + total: 0, + page: 1, + limit: 10, + totalPages: 0, + data: [] + })); + }); + + /** + * @test + * @description Verifica que se retorne error 401 si el usuario no está autenticado (simulado). + * @function + */ + it('debe retornar 401 si no está autorizado', async () => { + const req = { user: null, query: { page: '1', limit: '10', estado: 'activa' } }; + const res = { status: jest.fn().mockReturnThis(), json: jest.fn() }; + + if (!req.user) { + res.status(401).json({ mensaje: 'No autorizado' }); + } + + expect(res.status).toHaveBeenCalledWith(401); + expect(res.json).toHaveBeenCalledWith({ mensaje: 'No autorizado' }); + }); + + /** + * @test + * @description Verifica que se retorne error 500 cuando ocurre una excepción inesperada en la consulta. + * @async + */ + it('debe retornar 500 si ocurre un error inesperado', async () => { + Charola.getCharolasPaginadas.mockRejectedValue(new Error('Falla interna')); + + const req = { query: { page: '1', limit: '10', estado: 'activa' } }; + const res = { + status: jest.fn().mockReturnThis(), + json: jest.fn() + }; + + await obtenerCharolas(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ + mensaje: 'Error interno del servidor' + })); + }); + +}); diff --git a/__tests__/menu_charolas.controller.test.js b/__tests__/menu_charolas.controller.test.js deleted file mode 100644 index b009e9a..0000000 --- a/__tests__/menu_charolas.controller.test.js +++ /dev/null @@ -1,104 +0,0 @@ -// RF16 Visualizar todas las charolas registradas en el sistema -// Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 - -const { obtenerCharolas } = require('../controllers/menu_charolas.controller'); -const Charola = require('../models/menu_charolas.model'); - -jest.mock('../models/menu_charolas.model'); - -/** - * Pruebas unitarias para el controlador obtenerCharolas. - * @group Tests - Controlador Charola - */ -describe('Controlador Charola', () => { - - /** - * Prueba: debe devolver código 200 y una lista de charolas simulada. - * @async - * @function - */ - it('responde con JSON de charolas', async () => { - Charola.getCharolasPaginadas.mockResolvedValue([ - { nombreCharola: 'E-001', fechaCreacion: '2025-04-01' } - ]); - Charola.getCantidadTotal.mockResolvedValue(1); - - const req = { query: { page: '1', limit: '10' } }; - const res = { - status: jest.fn().mockReturnThis(), - json: jest.fn() - }; - - await obtenerCharolas(req, res); - - expect(res.status).toHaveBeenCalledWith(200); - expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ - total: 1, - page: 1, - limit: 10, - totalPages: 1, - data: expect.any(Array) - })); - }); - - /** - * Prueba: debe devolver código 200 con una lista vacía si no hay charolas. - * @async - * @function - */ - it('debe retornar código 200 con lista vacía', async () => { - Charola.getCharolasPaginadas.mockResolvedValue([]); - Charola.getCantidadTotal.mockResolvedValue(0); - - const req = { query: { page: '1', limit: '10' } }; - const res = { status: jest.fn().mockReturnThis(), json: jest.fn() }; - - await obtenerCharolas(req, res); - - expect(res.status).toHaveBeenCalledWith(200); - expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ - total: 0, - page: 1, - limit: 10, - totalPages: 0, - data: [] - })); - }); - - /** - * Prueba: simula un intento no autorizado (sin usuario autenticado). - * @function - */ - it('debe retornar 401 si no está autorizado', async () => { - const req = { user: null, query: { page: '1', limit: '10' } }; - const res = { status: jest.fn().mockReturnThis(), json: jest.fn() }; - - // Simula validación (ajustar según lógica real de middleware auth) - if (!req.user) { - res.status(401).json({ mensaje: 'No autorizado' }); - } - - expect(res.status).toHaveBeenCalledWith(401); - expect(res.json).toHaveBeenCalledWith({ mensaje: 'No autorizado' }); - }); - - /** - * Prueba: debe retornar error 500 si ocurre una excepción durante la consulta. - * @async - * @function - */ - it('debe retornar 500 si ocurre un error inesperado', async () => { - Charola.getCharolasPaginadas.mockRejectedValue(new Error('Falla interna')); - - const req = { query: { page: '1', limit: '10' } }; - const res = { status: jest.fn().mockReturnThis(), json: jest.fn() }; - - await obtenerCharolas(req, res); - - expect(res.status).toHaveBeenCalledWith(500); - expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ - mensaje: 'Error interno del servidor' - })); - }); - -}); diff --git a/__tests__/menu_charolas.model.test.js b/__tests__/menu_charolas.model.test.js deleted file mode 100644 index a41b567..0000000 --- a/__tests__/menu_charolas.model.test.js +++ /dev/null @@ -1,41 +0,0 @@ -// RF16 Visualizar todas las charolas registradas en el sistema -// Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 - -const Charola = require('../models/menu_charolas.model'); - -jest.mock('../utils/database', () => { - return async () => ({ - /** - * Mock de la función `query` que simula una respuesta de la base de datos. - * Devuelve una lista de charolas con datos ficticios. - */ - query: jest.fn().mockResolvedValue([ - { nombreCharola: 'C-105', fechaCreacion: '2025-04-18' } - ]), - - /** - * Mock de `release`, simula liberar la conexión (sin acción real). - */ - release: jest.fn() - }); -}); - -/** - * Pruebas unitarias para el modelo `Charola`. - * @group Tests - Modelo Charola - */ -describe('Modelo Charola', () => { - /** - * Prueba: verifica que `getCharolasPaginadas` retorne una lista con los campos esperados. - * @async - * @function - * @returns {Promise} - */ - it('debe retornar una lista de charolas', async () => { - const datos = await Charola.getCharolasPaginadas(10, 0); - - expect(datos).toBeInstanceOf(Array); - expect(datos[0]).toHaveProperty('nombreCharola', 'C-105'); - expect(datos[0]).toHaveProperty('fechaCreacion', '2025-04-18'); - }); -}); diff --git a/__tests__/registrarHidratacion.controller.test.js b/__tests__/registrarHidratacion.controller.test.js new file mode 100644 index 0000000..2485d35 --- /dev/null +++ b/__tests__/registrarHidratacion.controller.test.js @@ -0,0 +1,69 @@ +const { registrarHidratacion } = require('../controllers/hidratacion.controller'); +const { Hidratacion } = require('../models/hidratacion.model'); + +jest.mock('../models/hidratacion.model'); + +describe('registrarHidratacion', () => { + let req, res; + + beforeEach(() => { + req = { + body: {} + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn(), + }; + }); + + it('debe regresar 400 si faltan campos', async () => { + req.body = { nombre: '', descripcion: '' }; + + await registrarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'Datos no válidos', + }); + }); + + it('debe registrar correctamente y regresar 200', async () => { + req.body = { nombre: 'Agua', descripcion: 'Natural' }; + Hidratacion.mockImplementation(() => ({ agregar: jest.fn().mockResolvedValue() })); + + await registrarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ + success: true, + message: 'Hidratación registrada exitosamente', + }); + }); + + it('debe manejar error de conexión y regresar 101', async () => { + req.body = { nombre: 'Agua', descripcion: 'Natural' }; + Hidratacion.mockImplementation(() => ({ agregar: jest.fn().mockRejectedValue({ code: 'ETIMEDOUT' }) })); + + await registrarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(101); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'Sin conexión a internet', + }); + }); + + it('debe manejar error genérico y regresar 500', async () => { + req.body = { nombre: 'Agua', descripcion: 'Natural' }; + Hidratacion.mockImplementation(() => ({ agregar: jest.fn().mockRejectedValue({}) })); + + await registrarHidratacion(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ + success: false, + message: 'Error del servidor al registrar hidratación', + }); + }); +}); \ No newline at end of file diff --git a/__tests__/registrarHidratacion.model.test.js b/__tests__/registrarHidratacion.model.test.js new file mode 100644 index 0000000..876556d --- /dev/null +++ b/__tests__/registrarHidratacion.model.test.js @@ -0,0 +1,53 @@ +const { Hidratacion } = require('../models/hidratacion.model'); + +jest.mock('../generated/prisma', () => { + const createMock = jest.fn(); + return { + PrismaClient: jest.fn().mockImplementation(() => ({ + HIDRATACION: { + create: createMock + } + })), + __mocks__: { createMock } + }; +}); + +const { __mocks__ } = require('../generated/prisma'); + +describe('Hidratacion.agregar', () => { + beforeEach(() => { + __mocks__.createMock.mockClear(); + }); + + it('debe agregar correctamente una hidratación', async () => { + __mocks__.createMock.mockResolvedValue({ + hidratacionId: 1, + nombre: 'Agua', + descripcion: 'Natural' + }); + + const hidratacion = new Hidratacion(null, 'Agua', 'Natural'); + const resultado = await hidratacion.agregar(); + + expect(__mocks__.createMock).toHaveBeenCalledWith({ + data: { + nombre: 'Agua', + descripcion: 'Natural' + } + }); + + expect(resultado).toEqual({ + hidratacionId: 1, + nombre: 'Agua', + descripcion: 'Natural' + }); + }); + + it('debe lanzar error si ocurre una falla', async () => { + __mocks__.createMock.mockRejectedValue(new Error('Error BD')); + + const hidratacion = new Hidratacion(null, 'Agua', 'Natural'); + + await expect(hidratacion.agregar()).rejects.toThrow('Error BD'); + }); +}); diff --git a/__tests__/reporte.model.test.js b/__tests__/reporte.model.test.js new file mode 100644 index 0000000..5022ed1 --- /dev/null +++ b/__tests__/reporte.model.test.js @@ -0,0 +1,88 @@ +const { format } = require('date-fns'); + +// Simula el cliente Prisma +jest.mock('../generated/prisma', () => { + const findManyMock = jest.fn(); + return { + PrismaClient: jest.fn().mockImplementation(() => ({ + CHAROLA: { + findMany: findManyMock + } + })), + __mocks__: { + findManyMock + } + }; +}); + +const { PrismaClient } = require('../generated/prisma'); +const ReporteModel = require('../models/reporte.model'); + +describe('ReporteModel.obtenerDatos', () => { + let mockFindMany; + + beforeEach(() => { + const prismaInstance = new PrismaClient(); + mockFindMany = prismaInstance.CHAROLA.findMany; + jest.clearAllMocks(); + }); + + + test('debe devolver los datos formateados correctamente', async () => { + const now = new Date('2024-01-01T00:00:00Z'); + const resultadoSimulado = [ + { + nombreCharola: 'Charola A', + charolaId: 1, + comidaCiclo: 50, + hidratacionCiclo: 30, + fechaCreacion: now, + fechaActualizacion: now, + estado: 'activo', + densidadLarva: 100, + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA: [ + { + CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: { + nombreCharola: 'Charola Padre' + } + } + ] + } + ]; + + mockFindMany.mockResolvedValue(resultadoSimulado); + + const resultado = await ReporteModel.obtenerDatos(); + + expect(mockFindMany).toHaveBeenCalledTimes(1); + expect(resultado).toEqual([ + { + nombreCharola: 'Charola A', + charolaId: 1, + comidaCiclo: 50, + hidratacionCiclo: 30, + fechaCreacion: format(now, 'dd/MM/yyyy'), + fechaActualizacion: format(now, 'dd/MM/yyyy'), + estado: 'activo', + densidadLarva: 100, + charolaAncestros: ['Charola Padre'] + } + ]); + }); + + test('debe devolver un array vacío si no hay datos', async () => { + mockFindMany.mockResolvedValue([]); + + const resultado = await ReporteModel.obtenerDatos(); + + expect(mockFindMany).toHaveBeenCalledTimes(1); + expect(resultado).toEqual([]); + }); + + test('debe lanzar error si ocurre una excepción', async () => { + mockFindMany.mockRejectedValue(new Error('DB error')); + + await expect(ReporteModel.obtenerDatos()).rejects.toThrow('DB error'); + expect(mockFindMany).toHaveBeenCalledTimes(1); + }); +}); diff --git a/__tests__/tablaCharola.controller.test.js b/__tests__/tablaCharola.controller.test.js new file mode 100644 index 0000000..39cc10b --- /dev/null +++ b/__tests__/tablaCharola.controller.test.js @@ -0,0 +1,116 @@ +// RF11 Descargar datos +const tablaCharolaController = require('../controllers/reporte.controller'); +const tablaCharolaModel = require('../models/reporte.model'); +const excelUtils = require('../utils/excelGenerador'); + +jest.mock('../models/reporte.model'); +jest.mock('../utils/excelGenerador'); + +describe('Controlador tablaCharola', () => { + let req, res; + + beforeEach(() => { + req = { + body: {}, + params: {}, + query: {}, + }; + res = { + status: jest.fn().mockReturnThis(), + json: jest.fn(), + setHeader: jest.fn(), + send: jest.fn(), + }; + }); + + test('[GET] Debe responder con código 200 y status ok cuando hay información de charolas', async () => { + const mockResultado = [ + { + nombreCharola: 'A', + fechaCreacion: '2024-01-01', + fechaActualizacion: '2024-01-02', + pesoCharola: 100, + comidaCiclo: 50, + hidratacionCiclo: 20, + estado: 'activo', + densidadLarva: 10, + }, + ]; + + tablaCharolaModel.obtenerDatos.mockResolvedValue(mockResultado); + + await tablaCharolaController.getDatos(req, res); + + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({ code: 'Ok', resultado: mockResultado }); + }); + + test('[GET] Debe responder con código 201 y status ok cuando NO hay información de charolas', async () => { + tablaCharolaModel.obtenerDatos.mockResolvedValue([]); + + await tablaCharolaController.getDatos(req, res); + + expect(res.status).toHaveBeenCalledWith(201); + expect(res.json).toHaveBeenCalledWith({ code: 'Ok', resultado: [] }); + }); + + test('[GET] Debe responder con código 500 y error cuando ocurre algún tipo de error en el flujo', async () => { + tablaCharolaModel.obtenerDatos.mockRejectedValue(new Error('DB error')); + + await tablaCharolaController.getDatos(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ error: expect.any(String) }); + }); + + test('[POST] Debe responder 200 y enviar un archivo Excel cuando hay datos', async () => { + const datosMock = [ + { + nombreCharola: 'A', + fechaCreacion: '2024-01-01', + fechaActualizacion: '2024-01-02', + pesoCharola: 100, + comidaCiclo: 50, + hidratacionCiclo: 20, + estado: 'activo', + densidadLarva: 10, + }, + ]; + const bufferMock = Buffer.from('excel data'); + + tablaCharolaModel.obtenerDatos.mockResolvedValue(datosMock); + excelUtils.generarExcelDesdeDatos.mockResolvedValue(bufferMock); + + await tablaCharolaController.postDescargarExcel(req, res); + + expect(res.setHeader).toHaveBeenCalledWith( + 'Content-Type', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + ); + expect(res.setHeader).toHaveBeenCalledWith( + 'Content-Disposition', + 'attachment; filename=charolas.xlsx' + ); + expect(res.status).toHaveBeenCalledWith(200); + expect(res.send).toHaveBeenCalledWith(expect.any(Buffer)); + }); + + test('[POST] Debe responder 201 y con error si no hay datos', async () => { + tablaCharolaModel.obtenerDatos.mockResolvedValue([]); + excelUtils.generarExcelDesdeDatos.mockResolvedValue(Buffer.from('')); // evita que falle internamente + + await tablaCharolaController.postDescargarExcel(req, res); + + expect(res.status).toHaveBeenCalledWith(201); + expect(res.json).toHaveBeenCalledWith({ error: 'No hay datos de charolas' }); + }); + + test('[POST] Debe responder 500 y manejar errores del servidor', async () => { + tablaCharolaModel.obtenerDatos.mockRejectedValue(new Error('DB error')); + + await tablaCharolaController.postDescargarExcel(req, res); + + expect(res.status).toHaveBeenCalledWith(500); + expect(res.json).toHaveBeenCalledWith({ Error: 'Ocurrio un error en el servidor' }); + }); +}); diff --git a/__tests__/usuario.controller.test.js b/__tests__/usuario.controller.test.js index afa2a86..1fe3c76 100644 --- a/__tests__/usuario.controller.test.js +++ b/__tests__/usuario.controller.test.js @@ -3,9 +3,13 @@ // Se asegura que las funciones del controlador respondan correctamente a solicitudes válidas o inválidas. const { describe, test, expect, beforeEach} = require('@jest/globals'); const jwt = require("jsonwebtoken"); -const usuarioController = require('../controllers/usuario.controller'); +const autenticacionController = require('../controllers/autenticacion.controller'); +const usuarioController = require('../controllers/usuario.controller') + const Usuario = require('../models/usuario.model'); + jest.mock('../models/usuario.model'); + describe('Controlador de Usuarios', () => { let req, res; beforeEach(() => { @@ -34,14 +38,14 @@ describe('Controlador de Usuarios', () => { ); Usuario.iniciarSesion.mockResolvedValue(fakeToken); - await usuarioController.iniciarSesion(req, res); + await autenticacionController.iniciarSesion(req, res); expect(res.status).toHaveBeenCalledWith(200); expect(res.json).toHaveBeenCalledWith({ code: 200, token: expect.any(String) }); }); test('Debe retornar error 401 si el usuario no existe', async () => { req.body = { usuario: 'Pili' }; Usuario.iniciarSesion.mockResolvedValue({error: "Usuario inexistente"}); - await usuarioController.iniciarSesion(req, res); + await autenticacionController.iniciarSesion(req, res); expect(res.status).toHaveBeenCalledWith(401); expect(res.json).toHaveBeenCalledWith({ code: 401 }); }); @@ -52,7 +56,7 @@ describe('Controlador de Usuarios', () => { }; req.body = inicioDeSesion; Usuario.iniciarSesion.mockResolvedValue({error: "Contraseña incorrecta"}); - await usuarioController.iniciarSesion(req, res); + await autenticacionController.iniciarSesion(req, res); expect(res.status).toHaveBeenCalledWith(401); expect(res.json).toHaveBeenCalledWith({ code: 401 }); }); @@ -63,8 +67,34 @@ describe('Controlador de Usuarios', () => { }; req.body = inicioDeSesion; Usuario.iniciarSesion.mockRejectedValue(new Error('Error del servidor')); - await usuarioController.iniciarSesion(req, res); + await autenticacionController.iniciarSesion(req, res); expect(res.status).toHaveBeenCalledWith(500); expect(res.json).toHaveBeenCalledWith({ code: 500 }); }); + + test('Debe obtener los usuarios', async () => { + const resultado = [ + { + usuarioId: 1, + nombre: "Juan", + apellido_p: "Pérez", + apellido_m: "Lopez", + user: "juan123", + ADMINISTRADOR: [], + }, + { + usuarioId: 2, + nombre: "Ana", + apellido_p: "Gomez", + apellido_m: "Ruiz", + user: "ana456", + ADMINISTRADOR: [{}], + }, + ]; + Usuario.obtenerUsuarios.mockResolvedValue(resultado); + await usuarioController.obtenerUsuarios(req, res); + + expect(res.status).toHaveBeenCalledWith(200); + expect(res.json).toHaveBeenCalledWith({resultado}); + }); }); diff --git a/__tests__/usuario.model.test.js b/__tests__/usuario.model.test.js index 017a38a..4c775e0 100644 --- a/__tests__/usuario.model.test.js +++ b/__tests__/usuario.model.test.js @@ -1,45 +1,154 @@ // RF1 Iniciar Sesión - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/rf1/ // Pruebas unitarias para el modelo de Usuarios. // Se asegura que la creación del modelo con datos simulados funcione correctamente. -const { describe, test, expect } = require('@jest/globals'); + const jwt = require("jsonwebtoken"); -const Usuario = require('../models/usuario.model'); +const bcrypt = require("bcryptjs"); +const Usuario = require("../models/usuario.model"); + +jest.mock("../generated/prisma", () => { + const mPrisma = { + USUARIO: { + create: jest.fn(), + findFirst: jest.fn(), + findMany: jest.fn() + }, + ADMINISTRADOR: { + findFirst: jest.fn(), + }, + }; + return { + PrismaClient: jest.fn(() => mPrisma), + }; +}); + +describe("Modelo Usuario", () => { + let prisma; + + beforeEach(() => { + const { PrismaClient } = require("../generated/prisma"); + prisma = new PrismaClient(); + jest.clearAllMocks(); + }); + + test("Debe crear un token jwt", async () => { + const datosSimulados = { + usuario: "EmiVa", + contrasena: "123", + }; + + const userFromDB = { + ID_USUARIO: 1, + usuario: datosSimulados.usuario, + contrasena: await bcrypt.hash(datosSimulados.contrasena, 10), + }; + + prisma.USUARIO.findFirst.mockResolvedValue(userFromDB); + prisma.ADMINISTRADOR.findFirst.mockResolvedValue({}); // admin -describe('Modelo Usuario', () => { - test('Debe crear un token jwt', async () => { - const datosSimulados = { - usuario: 'EmiVa', - contrasena: '123', + const nuevaSesion = await Usuario.iniciarSesion(datosSimulados); + + expect(typeof nuevaSesion).toBe("string"); + + const decoded = jwt.verify(nuevaSesion, process.env.JWT_SECRET); + + expect(decoded).toHaveProperty("rol", "admin"); + expect(decoded).not.toHaveProperty("id"); + expect(decoded).not.toHaveProperty("nombreDeUsuario"); +}); + + + test("Debe lanzar error si la contraseña es incorrecta", async () => { + const userFromDB = { + ID_USUARIO: 1, + usuario: "EmiVa", + contrasena: await bcrypt.hash("correcta", 10), }; - const nuevaSesion = await Usuario.iniciarSesion(datosSimulados); - // Validaciones de propiedades - expect(typeof nuevaSesion).toBe('string'); - const decoded = jwt.verify(nuevaSesion, process.env.JWT_SECRET); + prisma.USUARIO.findFirst.mockResolvedValue(userFromDB); - expect(decoded).toHaveProperty('id'); - expect(decoded).toHaveProperty('nombreDeUsuario', datosSimulados.usuario); - expect(decoded).toHaveProperty('rol'); + const datos = { + usuario: "EmiVa", + contrasena: "incorrecta", + }; - expect(typeof decoded.id).toBe('number'); - expect(typeof decoded.rol).toBe('string'); + const nuevaSesion = await Usuario.iniciarSesion(datos); + expect(nuevaSesion).toEqual({ error: "Contraseña incorrecta" }); }); - test('Debe lanzar error si el usuario no existe', async () => { - const usuarioInexistente = { - usuario: 'Pili', - contrasena: '123', + + test("Debe lanzar error si ocurre al registrar usuario", async () => { + const datosUsuario = { + usuario: "ErrorUsuario", + contrasena: "pass", + nombre: "Nombre", + apellido_m: "M", + apellido_p: "P", }; - // Se espera que se regrese un error - const nuevaSesion = await Usuario.iniciarSesion(usuarioInexistente); - expect(nuevaSesion).toEqual({ error: "Usuario inexistente" }); + + prisma.USUARIO.create.mockRejectedValue(new Error("DB Error")); + + await expect(Usuario.registrarUsuario(datosUsuario)).rejects.toThrow("DB Error"); }); - test('Debe lanzar error si la contraseña es incorrecta', async() => { - const contrasenaIncorrecta = { - usuario: 'EmiV', - contrasena: 'asadsada', + + test("Debe registrar un nuevo usuario correctamente", async () => { + const datosUsuario = { + usuario: "NuevoUsuario", + contrasena: "password123", + nombre: "Nuevo", + apellido_m: "ApellidoM", + apellido_p: "ApellidoP", }; - // Se espera que se regrese un error - const nuevaSesion = await Usuario.iniciarSesion(contrasenaIncorrecta); - expect(nuevaSesion).toEqual({ error: "Contraseña incorrecta" }); + + const usuarioMock = { + user: datosUsuario.usuario, + nombre: datosUsuario.nombre, + apellido_m: datosUsuario.apellido_m, + apellido_p: datosUsuario.apellido_p, + }; + + jest.spyOn(bcrypt, "hash").mockResolvedValue("hashedpass123"); + prisma.USUARIO.create.mockResolvedValue(usuarioMock); + + const resultado = await Usuario.registrarUsuario(datosUsuario); + expect(resultado).toEqual(usuarioMock); + }); + + test("Debe buscar un usuario y devolverlo si existe", async () => { + const usuarioMock = { user: "EmiVa" }; + prisma.USUARIO.findFirst.mockResolvedValue(usuarioMock); + + const resultado = await Usuario.buscarUsuario("EmiVa"); + expect(resultado).toEqual(usuarioMock); + }); + + test("Debe lanzar error si ocurre al buscar usuario", async () => { + prisma.USUARIO.findFirst.mockRejectedValue(new Error("Error de BD")); + + await expect(Usuario.buscarUsuario("EmiVa")).rejects.toThrow("Error de BD"); + }); + + test('ObtenerUsuarios devuelve lista con todos los usuarios y rol', async () => { + const mockUsuarios = [ + { + usuarioId: 1, + nombre: "Juan", + apellido_p: "Pérez", + apellido_m: "Lopez", + user: "juan123", + ADMINISTRADOR: [], + }, + { + usuarioId: 2, + nombre: "Ana", + apellido_p: "Gomez", + apellido_m: "Ruiz", + user: "ana456", + ADMINISTRADOR: [{}], + }, + ]; + prisma.USUARIO.findMany.mockResolvedValue(mockUsuarios); + + const result = await Usuario.obtenerUsuarios(); + expect(Array.isArray(result)).toBe(true); }); }); diff --git a/controllers/alimento.controller.js b/controllers/alimento.controller.js new file mode 100644 index 0000000..f98ed28 --- /dev/null +++ b/controllers/alimento.controller.js @@ -0,0 +1,147 @@ +//RF23: Registrar un nuevo tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF23 +//RF24: Editar un tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF24 +/** + * Controlador de Alimentos. + * @module controllers/alimentoController + */ +const { Alimento } = require('../models/alimento.model'); +const { CharolaComida } = require('../models/alimento.model'); + + +/** + * Obtiene todos los alimentos de la base de datos. + * @async + * @function obtenerAlimentos + * @param {import('express').Request} req - Objeto de solicitud HTTP de Express. + * @param {import('express').Response} res - Objeto de respuesta HTTP de Express. + * @returns {Promise} + */ +module.exports.obtenerAlimentos = async (req, res) => { + const alimento = new Alimento(); + try { + const alimentos = await alimento.obtener(); + res.json(alimentos); + } catch (error) { + res.status(500).send('Error al obtener alimentos'); + } +}; + +/** + * Registra un nuevo alimento en la base de datos. + * + * @async + * @function registrarAlimento + * @param {Object} req - Objeto de solicitud HTTP. + * @param {Object} req.body - Cuerpo de la solicitud con `nombre` y `descripcion`. + * @param {Object} res - Objeto de respuesta HTTP. + * @returns {void} Responde con éxito o el error correspondiente (400, 101 o 500). + */ +module.exports.registrarAlimento = async (req, res) => { + const { nombre, descripcion } = req.body; + + if (!nombre || !descripcion) { + return res.status(400).json({ success: false, message: 'Datos no válidos' }); + } + + try { + const alimento = new Alimento(null, nombre, descripcion); + await alimento.agregar(); + res.status(200).json({ success: true, message: 'Alimento registrado exitosamente' }); + console.log('Se conecto back con front'); + } catch (error) { + console.error('Error al registrar alimento:', error); + + if (error.code === 'ETIMEDOUT' || error.code === 'ECONNREFUSED') { + return res.status(101).json({ success: false, message: 'Sin conexión a internet' }); + } + + res.status(500).json({ success: false, message: 'Error del servidor al registrar alimento' }); + } + return res.status(500).json({ + success: false, + message: 'Error del servidor al registrar alimento (error 500)' + }); +}; + +/** + * Edita un alimento existente en la base de datos. + * @async + * @function editarAlimento + * @param {import('express').Request} req - Objeto de solicitud HTTP, contiene params y body. + * @param {import('express').Response} res - Objeto de respuesta HTTP. + * @returns {Promise} + */ +module.exports.editarAlimento = async (req, res) => { + const idAlimento = Number(req.params.idAlimento); + + const { nombreAlimento, descripcionAlimento } = req.body; + + if (!Number.isInteger(idAlimento) || idAlimento <= 0) { + return res.status(400).json({ error: 'ID de alimento no válido' }); + } + + try { + const alimento = new Alimento(idAlimento, nombreAlimento, descripcionAlimento); + await alimento.actualizar(); + res.json({ success: true, message: 'Alimento actualizado' }); + } catch (error) { + res.status(500).send('Error al editar alimento'); + } +}; + +/** + * Elimina un alimento existente en la base de datos. + * @async + * @function eliminarAlimento + * @param {import('express').Request} req - Objeto de solicitud HTTP, contiene params. + * @param {import('express').Response} res - Objeto de respuesta HTTP. + * @returns {Promise} + */ +module.exports.eliminarAlimento = async (req, res) => { + const idAlimento = Number(req.params.idAlimento); + + if (!Number.isInteger(idAlimento) || idAlimento <= 0) { + return res.status(400).json({ error: 'ID de alimento no válido' }); + } + + try { + const alimento = new Alimento(idAlimento); + const asignaciones = await alimento.isAgregada(); + + // Verificar si el alimento está asignado a alguna charola + if (asignaciones > 0) { + return res.status(409).json({ success: false, message: 'El alimento no se puede eliminar porque está asignado a una charola' }); + } + + await alimento.eliminar(); + res.json({ success: true, message: 'Alimento eliminado' }); + } catch (error) { + res.status(500).send('Error al eliminar alimento'); + } +}; + +/** + * Registrar comida de charola en la base de datos. + * @async + * @function registrarCharolaComida + * @param {import('express').Request} req - Objeto de solicitud HTTP, contiene params. + * @param {import('express').Response} res - Objeto de respuesta HTTP. + * @returns {Promise} + */ +module.exports.registrarCharolaComida = async (req, res) => { + const { charolaId, comidaId, cantidadOtorgada, fechaOtorgada } = req.body; + + if (!charolaId || !comidaId || !cantidadOtorgada || !fechaOtorgada) { + return res.status(400).json({ success: false, message: 'Datos incompletos' }); + } + + try { + const registro = new CharolaComida(null, charolaId, comidaId, cantidadOtorgada, fechaOtorgada); + await registro.agregar(); + + res.status(200).json({ success: true, message: 'Registro creado exitosamente' }); + } catch (error) { + console.error('Error al registrar charola-comida:', error); + res.status(500).json({ success: false, message: 'Error del servidor' }); + } +}; \ No newline at end of file diff --git a/controllers/autenticacion.controller.js b/controllers/autenticacion.controller.js new file mode 100644 index 0000000..5747e3c --- /dev/null +++ b/controllers/autenticacion.controller.js @@ -0,0 +1,24 @@ +// RF1 Iniciar Sesión - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/rf1 + +const Usuario = require('../models/usuario.model.js'); + +/** + * @description Inicia sesión de un usuario y devuelve un token de sesión si es exitoso. + * @param {*} req - Solicitud HTTP que contiene credenciales del usuario. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Código de respuesta y token de sesión + */ +exports.iniciarSesion = async (req, res) => { + try { + const sesion = await Usuario.iniciarSesion(req.body); + + if (sesion.error) { + return res.status(401).json({ code: 401 }); + } + + return res.status(200).json({ code: 200, token: sesion }); + + } catch (error) { + return res.status(500).json({ code: 500 }) + } +}; \ No newline at end of file diff --git a/controllers/charola.controller.js b/controllers/charola.controller.js index 7dc43ed..a87ba6b 100644 --- a/controllers/charola.controller.js +++ b/controllers/charola.controller.js @@ -1,3 +1,327 @@ -const Charola = require("../models/charola.model.js"); +// RF5 Registrar Charola - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF5 +// RF6 Buscar charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF6 +// RF7 Modificar datos generales Charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF7 +// RF8 Eliminar Charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF8 +// RF10 Consultar información detallada de una charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF10 +// RF16 Visualizar todas las charolas registradas en el sistema - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 +// RF21: Consultar charolas de cambios pasados - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF21 +// RF26 Registrar la alimentación de la charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF26 +// RF42 Registrar la hidratación de la charola - Documentación: https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/RF42 +//RF15 Filtrar charola por fecha - Documentación: https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/rf15/ -exports.registrarCharola = async (req, res) => {}; +const { hi } = require('date-fns/locale'); +const Charola = require('../models/charola.model.js'); + +/** + * @description Consultar charola ontiene todos los datos correspondientes de una charola con su ID. + * @param {*} req - Solicitud HTTP que contiene la ID de la charola. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Código de respuesta y token de sesión + */ + +const consultarCharola = async (req, res) => { + const { id } = req.params; + try { + const charola = await Charola.getCharola(parseInt(id)); + + if (charola.error) { + return res.status(404).json({ error: charola.error }); + } + + res.status(200).json({ + data: charola + }); + + } catch (error) { + res.status(500).json({ error: error.message }); + } +}; + +/** + * @description Registrar charola registra todos los datos correspondientes de una charola. + * @param {*} req - Solicitud HTTP que contiene los datos de la charola. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Código de respuesta y token de sesión + */ +const registrarCharola = async (req, res) => { + try { + const nuevo = await Charola.registrar(req.body) + res.status(201).json({ data: nuevo }) + } catch (error) { + res.status(500).json({ mensaje: 'Error interno del servidor' }) + } +} + +/** + * @description Eliminar charola elimina todos los datos correspondientes de una charola con su ID. + * @param {*} req - Solicitud HTTP que contiene la ID de la charola. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Código de respuesta. + */ + +const eliminarCharola = async (req, res) => { + const { id } = req.params; + const {razon, usuario} = req.body; + + + if (!id) { + return res.status(400).json({ error: 'Falta id' }); + } + + try { + const charola = await Charola.eliminarCharola(parseInt(id), razon, usuario); + + if (charola.error) { + return res.status(404).json({ error: charola.error }); + } + + res.status(200).json({ + data: charola + }); + + } catch (err) { + console.error('Error al eliminar la charola:', err); + res.status(500).json({ error: 'Error al eliminar la charola' }); + + } +}; + +/** + * Controlador seguro para obtener todas las charolas paginadas. + * + * Realiza validación de parámetros, control de límite máximo y evita exposición de errores internos. + * + * @async + * @function obtenerCharolas + * @param {import('express').Request} req - Objeto de solicitud HTTP con `page` y `limit` opcionales. + * @param {import('express').Response} res - Objeto de respuesta HTTP. + * @returns {Promise} + */ +const obtenerCharolas = async (req, res) => { + try { + const rawPage = req.query.page; + const rawLimit = req.query.limit; + const estado = req.query.estado; // estado opcional: "activa" o "pasada" + + const page = parseInt(rawPage, 10); + const limit = parseInt(rawLimit, 10); + + // Validación de page y limit + if (isNaN(page) || isNaN(limit) || page < 1 || limit < 1) { + return res.status(400).json({ + mensaje: 'Parámetros inválidos: page y limit deben ser enteros positivos' + }); + } + + // Validación opcional del estado + const estadosValidos = ['activa', 'pasada']; + if (estado && !estadosValidos.includes(estado)) { + return res.status(400).json({ + mensaje: 'Estado inválido. Usa \'activa\' o \'pasada\'.' + }); + } + + const MAX_LIMIT = 1000; // Aumentado para scroll infinito + const safeLimit = Math.min(limit, MAX_LIMIT); + const offset = (page - 1) * safeLimit; + + // Consulta al modelo + const datos = await Charola.getCharolasPaginadas(safeLimit, offset, estado); + const total = await Charola.getCantidadTotal(estado); + const totalPages = Math.ceil(total / safeLimit); + + if (page > totalPages && totalPages > 0) { + return res.status(400).json({ + mensaje: `La página solicitada (${page}) excede el total de páginas disponibles (${totalPages}).` + }); + } + + // Respuesta exitosa + res.status(200).json({ + total, + page, + limit: safeLimit, + totalPages, + data: datos + }); + } catch (error) { + console.error('❌ Error al obtener charolas:', error); + res.status(500).json({ mensaje: 'Error interno del servidor' }); + } +}; + +/** + * Controlador para alimentar una charola con una cantidad específica de alimento. + * + * @async + * @function alimentarCharola + * @param {Object} req - Objeto de solicitud HTTP (Express). + * @param {Object} req.body - Cuerpo de la solicitud. + * @param {number} req.body.charolaId - ID de la charola a alimentar. + * @param {number} req.body.comidaId - ID del tipo de comida que se va a otorgar. + * @param {number} req.body.cantidadOtorgada - Cantidad de alimento otorgada en gramos. + * @param {Object} res - Objeto de respuesta HTTP (Express). + * @returns {Promise} Respuesta HTTP con el resultado del proceso o un error. + * + * @throws {400} Si faltan parámetros obligatorios en el cuerpo de la solicitud. + * @throws {500} Si ocurre un error interno al intentar alimentar la charola. + */ +const alimentarCharola = async (req, res) => { + const { charolaId, comidaId, cantidadOtorgada } = req.body; + + if (!charolaId || !comidaId || cantidadOtorgada == null) { + return res.status(400).json({ error: 'Faltan parámetros obligatorios.' }); + } + + try { + const resultado = await Charola.alimentar({ + charolaId, + comidaId, + cantidadOtorgada + }); + + return res.status(200).json({ data: resultado }); + } catch (err) { + return res.status(500).json({ error: 'Error interno al alimentar charola.' }); + } +}; + +/** + * Controlador para hidratar una charola con una cantidad específica de hidratación. + * + * @async + * @function hidratarCharola + * @param {Object} req - Objeto de solicitud HTTP (Express). + * @param {Object} req.body - Cuerpo de la solicitud. + * @param {number} req.body.charolaId - ID de la charola a alimentar. + * @param {number} req.body.hidratacionId - ID del tipo de comida que se va a otorgar. + * @param {number} req.body.cantidadOtorgada - Cantidad de alimento otorgada en gramos. + * @param {Object} res - Objeto de respuesta HTTP (Express). + * @returns {Promise} Respuesta HTTP con el resultado del proceso o un error. + * + * @throws {400} Si faltan parámetros obligatorios en el cuerpo de la solicitud. + * @throws {500} Si ocurre un error interno al intentar alimentar la charola. + */ +const hidratarCharola = async (req, res) => { + const { charolaId, hidratacionId, cantidadOtorgada } = req.body; + + if (!charolaId || !hidratacionId || cantidadOtorgada == null) { + return res.status(400).json({ error: 'Faltan parámetros obligatorios.' }); + } + + try { + const resultado = await Charola.hidratar({ + charolaId, + hidratacionId, + cantidadOtorgada + }); + + return res.status(200).json({ data: resultado }); + } catch (err) { + return res.status(500).json({ error: 'Error interno al alimentar charola.' }); + } +}; + + +const crearObjetoCharola = (charolaId, nuevoNombre, fechaCreacion, estado, densidadLarva, fechaActualizacion) =>{ + const resultado = new Map(); + + resultado.set('charolaId', parseInt(charolaId)); + resultado.set('nombreCharola', nuevoNombre); + resultado.set('fechaCreacion', new Date(fechaCreacion)); + resultado.set('estado', estado); + resultado.set('densidadLarva', parseInt(densidadLarva)); + resultado.set('fechaActualizacion', new Date(fechaActualizacion)); + + return resultado; +} + +const crearObjetoAlimentacion = (alimentoId, cantidadOtorgada, fechaOtorgada) => { + const resultado = new Map(); + + resultado.set('alimentoId', parseInt(alimentoId)); + resultado.set('cantidadOtorgada', parseInt(cantidadOtorgada)); + resultado.set('fechaOtorgada', new Date(fechaOtorgada)); + + return resultado; +} + +const crearObjetoHidratacion = (hidratacionId, cantidadOtorgada, fechaOtorgada) => { + const resultado = new Map(); + + resultado.set('hidratacionId', parseInt(hidratacionId)); + resultado.set('cantidadOtorgada', parseInt(cantidadOtorgada)); + resultado.set('fechaOtorgada', new Date(fechaOtorgada)); + + return resultado; +} + + +const editarCharola = async (req, res) => { + try{ + const charolaId = req.query.charolaId; + const fechaActualizacion = req.query.fechaActualizacion; + + const charola = crearObjetoCharola(charolaId, req.query.nuevoNombre, req.query.fechaCreacion, req.query.nuevoEstado, req.query.nuevaDensidad, fechaActualizacion); + const alimentacion = crearObjetoAlimentacion(req.query.nuevaAlimentacion, req.query.nuevaAlimentacionOtorgada, fechaActualizacion); + const hidratacion = crearObjetoHidratacion(req.query.nuevaHidratacion, req.query.nuevaHidratacionOtorgada, fechaActualizacion); + + const resultado = await Charola.editarCharola(charola, alimentacion, hidratacion); + + if (resultado == 200){ + res.status(200).json({mensaje: 'Ok'}); + return; + } + + res.status(500).json({error: 'Ocurrió un error al editar los datos de la charola'}); + } catch (error) { + console.error('❌ Error al editar charolas:', error); + res.status(500).json({ mensaje: 'Error interno del servidor'}); + } +}; + +/** + * Filtra las charolas por un rango de fechas de creación. + * + * @param {Object} req - Objeto de solicitud HTTP con query params `inicio` y `fin`. + * @param {Object} res - Objeto de respuesta HTTP. + * @returns {Promise} + */ +const filtrarCharolasPorFecha = async (req, res) => { + const { inicio, fin } = req.query; + + if (!inicio || !fin) { + return res.status(400).json({ + error: 'Debe proporcionar ambas fechas: inicio y fin.' + }); + } + + try { + const charolas = await Charola.filtrarPorFecha(inicio, fin); + + if (charolas.error) { + return res.status(500).json({ error: charolas.error }); + } + + res.status(200).json({ + data: charolas + }); + } catch (error) { + console.error('❌ Error al filtrar charolas por fecha:', error); + res.status(500).json({ + error: 'Error interno al filtrar charolas.' + }); + } +}; + + +module.exports = { + consultarCharola, + eliminarCharola, + registrarCharola, + obtenerCharolas, + alimentarCharola, + hidratarCharola, + editarCharola, + filtrarCharolasPorFecha +}; \ No newline at end of file diff --git a/controllers/charolaTamizado.controller.js b/controllers/charolaTamizado.controller.js new file mode 100644 index 0000000..7883231 --- /dev/null +++ b/controllers/charolaTamizado.controller.js @@ -0,0 +1,115 @@ +// RF20: Seleccionar Charolas Para Tamizar y Registrar sus Datos - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF37 + +/** + * Controlador de Alimentos. + * @module controllers/alimentoController + */ +const Tamizado = require('../models/charolaTamizado.model'); + +/** + * Controlador para realizar el tamizado individual de charolas. + * Valida la entrada del cuerpo de la solicitud, instancia la clase `Tamizado`, + * y ejecuta el método `tamizarIndividual`. + * + * @async + * @function + * @param {import('express').Request} req - Objeto de solicitud HTTP de Express. + * @param {import('express').Response} res - Objeto de respuesta HTTP de Express. + * @returns {Json} Retorna una respuesta JSON con el resultado del proceso. + */ + +module.exports.tamizarCharolaIndividual = async (req, res) => { + if (req.body == null) { + return res.status(400).json({ exito: false, mensaje: 'Datos no válidos' }); + } + try { + const { + charolasNuevas, + charolasParaTamizar, + alimento, + hidratacion, + alimentoCantidad, + hidratacionCantidad, + pupa, + fras, + fecha, + } = req.body; + + const tamizado = new Tamizado({ + charolas: charolasNuevas, + tipoComida: alimento, + tipoHidratacion: hidratacion, + cantidadComida: alimentoCantidad, + cantidadHidratacion: hidratacionCantidad, + cantidadPupa: pupa, + cantidadFras: fras, + fecha, + charolasParaTamizar: charolasParaTamizar + }); + + const resultado = await tamizado.tamizarIndividual(); + + if (resultado === true) { + return res.status(200).json({ + exito: true, + mensaje: 'Tamizado registrado correctamente', + }); + } + + } catch (err) { + console.error('Error en el controller de tamizado:', err); + return res.status(500).json({ + exito: false, + mensaje: 'Error interno del servidor', + }); + } + + +} + +/** + * Controlador para realizar el tamizado de múltiples charolas sin asignación de comida o hidratación. + * Valida la entrada del cuerpo de la solicitud, instancia la clase `Tamizado`, + * y ejecuta el método `tamizadoMultiple`. + * + * @async + * @function + * @param {import('express').Request} req - Objeto de solicitud HTTP de Express. + * @param {import('express').Response} res - Objeto de respuesta HTTP de Express. + * @returns {Json} Retorna una respuesta JSON con el resultado del proceso. + */ + +module.exports.tamizarMultiplesCharolas = async (req, res) => { + if (req.body == null) { + return res.status(400).json({ exito: false, mensaje: 'Datos no válidos' }); + } + try { + const { + charolas, + charolasParaTamizar + } = req.body; + + + const tamizado = new Tamizado({ + charolas, + charolasParaTamizar + }); + + const resultado = await tamizado.tamizadoMultiple(); + + if (resultado === true) { + return res.status(200).json({ + exito: true, + mensaje: 'Tamizado registrado correctamente', + }); + } + + } catch (err) { + console.error('Error en el controller de tamizado:', err); + return res.status(500).json({ + exito: false, + mensaje: 'Error interno del servidor', + }); + } + +} \ No newline at end of file diff --git a/controllers/fras.controller.js b/controllers/fras.controller.js new file mode 100644 index 0000000..f18718d --- /dev/null +++ b/controllers/fras.controller.js @@ -0,0 +1,58 @@ +// RF29: Visualizar la información del Frass obtenido - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF29 + +/** + * Controlador de Fras. + * @module controllers/frasController + */ +const { Fras } = require('../models/fras.model'); + +/** + * Obtiene los registros de Fras para una charola específica. + * @async + * @function obtenerFras + * @param {import('express').Request} req - Objeto de solicitud HTTP de Express. + * @param {import('express').Response} res - Objeto de respuesta HTTP de Express. + * @returns {Promise} Responde con los registros de Fras o un error si no se encuentran registros. + * @throws {Error} Lanza un error si ocurre un problema al consultar la base de datos. + */ +module.exports.obtenerFras = async (req, res) => { + const fras = new Fras(); + + try { + const resultado = await fras.obtener(); + if (resultado) { + res.json(resultado); + } else { + res.status(404).json({ message: 'No se encontraron registros de Fras.' }); + } + } catch (error) { + res.status(500).json({ message: 'Error al obtener los registros de Fras.' }); + } +} + +/** + * Actualiza los gramos generados de Fras para una charola específica. + * @async + * @function actualizarGramos + * @param {import('express').Request} req - Objeto de solicitud HTTP de Express. + * @param {import('express').Response} res - Objeto de respuesta HTTP de Express. + * @returns {Promise} Responde con éxito o un error si no se pudo actualizar. + */ +module.exports.actualizarGramos = async (req, res) => { + const charolaId = req.params.charolaId; + const { nuevosGramos } = req.body; + + if (!charolaId || !nuevosGramos) { + return res.status(400).json({ success: false, message: 'Datos no válidos' }); + } + + const fras = new Fras(); + + try { + const resultado = await fras.actualizarGramos(charolaId, nuevosGramos); + res.status(200).json({ success: true, message: 'Gramos actualizados exitosamente', data: resultado }); + } catch (error) { + console.error('Error al actualizar los gramos de Fras:', error); + res.status(500).json({ success: false, message: 'Error del servidor al actualizar los gramos de Fras' }); + } +} \ No newline at end of file diff --git a/controllers/hidratacion.controller.js b/controllers/hidratacion.controller.js new file mode 100644 index 0000000..6059210 --- /dev/null +++ b/controllers/hidratacion.controller.js @@ -0,0 +1,128 @@ +//RF40: Editar un tipo de hidratación en el sistema - https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/RF40 +// RF41 Eliminar un tipo de hidratación en el sistema - Documentación: https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/RF41 +//RF36: Registrar un nuevo tipo de hidratación al sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF36 + +/** + * Controlador de Hidratación. + * @module controllers/hidratacionController + */ +const { Hidratacion } = require('../models/hidratacion.model'); + +/** + * Obtiene toda la hidratación de la base de datos. + * @async + * @function obtenerHidratacion + * @param {import('express').Request} req - Objeto de solicitud HTTP de Express. + * @param {import('express').Response} res - Objeto de respuesta HTTP de Express. + * @returns {Promise} + */ +module.exports.obtenerHidratacion = async (req, res) => { + const hidratacion = new Hidratacion(); + try { + const listaHidratacion = await hidratacion.obtener(); + res.json(listaHidratacion); + } catch (error) { + res.status(500).send('Error al obtener hidratación'); + } +}; + +/** + * Registra un nuevo tipo de hidratación en la base de datos. + * + * @async + * @function registrarHidratacion + * @param {Object} req - Objeto de solicitud HTTP. + * @param {Object} req.body - Cuerpo de la solicitud con `nombre` y `descripcion`. + * @param {Object} res - Objeto de respuesta HTTP. + * @returns {void} Responde con éxito o el error correspondiente (400, 101 o 500). + */ + +module.exports.registrarHidratacion = async (req, res) => { + const { nombre, descripcion } = req.body; + + if (!nombre || !descripcion) { + return res + .status(400) + .json({ success: false, message: 'Datos no válidos' }); + } + + try { + const hidratacion = new Hidratacion(null, nombre, descripcion); + await hidratacion.agregar(); + res + .status(200) + .json({ success: true, message: 'Hidratación registrada exitosamente' }); + console.log('Se conecto back con front'); + } catch (error) { + console.error('Error al registrar hidratación:', error); + + if (error.code === 'ETIMEDOUT' || error.code === 'ECONNREFUSED') { + return res + .status(101) + .json({ success: false, message: 'Sin conexión a internet' }); + } + }; + + res.status(500).json({ + success: false, + message: 'Error del servidor al registrar hidratación', + }); + }; + + +/** + * Edita un hidratante existente en la base de datos. + * @async + * @function editarHidratacion + * @param {import('express').Request} req - Objeto de solicitud HTTP, contiene params y body. + * @param {import('express').Response} res - Objeto de respuesta HTTP. + * @returns {Promise} + */ +module.exports.editarHidratacion = async (req, res) => { + const idHidratacion = Number(req.params.idHidratacion); + + const { nombreHidratacion, descripcionHidratacion } = req.body; + + if (!Number.isInteger(idHidratacion) || idHidratacion <= 0) { + return res.status(400).json({ error: 'ID de hidratante no válido' }); + } + + try { + const hidratacion = new Hidratacion(idHidratacion, nombreHidratacion, descripcionHidratacion); + await hidratacion.actualizar(); + res.json({ success: true, message: 'Hidratacion actualizado' }); + } catch (error) { + res.status(500).send('Error al editar hidratacion'); + } +}; + + /** + * Elimina un hidrato existente en la base de datos. + * @async + * @function eliminarHidratacion + * @param {import('express').Request} req - Objeto de solicitud HTTP, contiene params. + * @param {import('express').Response} res - Objeto de respuesta HTTP. + * @returns {Promise} + */ +module.exports.eliminarHidratacion = async (req, res) => { + const idHidratacion = Number(req.params.idHidratacion); + + if (!Number.isInteger(idHidratacion) || idHidratacion <= 0) { + return res.status(400).json({ error: 'ID de hidrato no válido' }); + } + + try { + const hidratacion = new Hidratacion(idHidratacion); + const asignaciones = await hidratacion.isAgregada(); + + // Verificar si el alimento está asignado a alguna charola + if (asignaciones > 0) { + return res.status(409).json({ success: false, message: 'La hidratación no se puede eliminar porque está asignado a una charola' }); + } + await hidratacion.eliminar(); + res.json({ success: true, message: 'Hidrato eliminado' }); + } catch (error) { + res.status(500).send('Error al eliminar hidrato'); + } +}; + diff --git a/controllers/historialCharola.controller.js b/controllers/historialCharola.controller.js new file mode 100644 index 0000000..c1fb489 --- /dev/null +++ b/controllers/historialCharola.controller.js @@ -0,0 +1,104 @@ +const HistorialCharola = require('../models/historialCharola.model.js'); + +/** + * @function obtenerHistorialAncestros + * @description Controlador HTTP que obtiene la fecha de creación y la línea ancestral de una charola específica. + * Utiliza el modelo `HistorialCharola` para consultar los datos relacionados en la base de datos. + * + * @async + * @param {import('express').Request} req - Objeto de solicitud HTTP, debe contener `charolaId` como parámetro de ruta. + * @param {import('express').Response} res - Objeto de respuesta HTTP usado para devolver el resultado. + * + * @returns {Promise} Retorna una respuesta JSON con: + * - Código 200 y un objeto `{ fechaCreacion, ancestros }` si la operación es exitosa. + * - Código 400 si el parámetro `charolaId` no es válido. + * - Código 404 si no se encuentra la charola. + * - Código 500 si ocurre un error inesperado. + * + * @example + * // GET /historial/1011 + * { + * "fechaCreacion": "2024-05-01", + * "ancestros": [ + * { "charolaId": 1001, "relacion": "abuela" }, + * { "charolaId": 1005, "relacion": "madre" } + * ] + * } + */ +exports.obtenerHistorialAncestros = async (req, res) => { + const charolaId = parseInt(req.params.charolaId, 10); + + if (isNaN(charolaId)) { + return res.status(400).json({ error: 'ID de charola inválido' }); + } + + try { + const fecha = await HistorialCharola.obtenerFechaCreacion(charolaId); + + if (!fecha || fecha.length === 0) { + return res.status(404).json({ error: 'Charola no encontrada' }); + } + + const fechaCreacion = fecha[0].fechaCreacion; + const ancestros = await HistorialCharola.obtenerAncestros(charolaId); + + return res.status(200).json({ + fechaCreacion, + ancestros + }); + } catch (err) { + return res.status(500).json({ error: 'Error interno del servidor' }); + } +}; + +/** + * @description Metodo GET para obtener el historial de actividad de una charola, esto incluye el estado actual, el historial de + * alimentación y el historial de hidratación. + * RF18: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF18 + * @param {?charolaId=:id} req - Respuesta HTTP que contiene el id de la charola a la cual se obtendrá su historial. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {json} Estado de la charola, historial de alimentación, historial de hidratación. +*/ +exports.obtenerHistorialActividad = async (req, res) => { + try { + + const id = parseInt(req.query.charolaId); + + const alimentacion = await HistorialCharola.historialAlimentacion(id); + + const hidratacion = await HistorialCharola.historialHidratacion(id); + + const estado = await HistorialCharola.estadoCharola(id); + + if (hidratacion.length > 0 || alimentacion.length > 0) { + res.status(200).json({ 'codigo': 'Ok', 'estado': estado, 'alimentacion': alimentacion, 'hidratacion': hidratacion }); + } else { + res.status(201).json({ 'codigo': 'Ok', 'estado': estado }); + } + + } catch (error) { + console.error('[Controller]. Error al obtener informacion de las charolas: ', error); + res.status(500).json({ 'error': 'Ocurrio un error en el servidor' }); + } +}; + +exports.postHistorialAncestros = async (req, res) => { + const hija = parseInt(req.params.charolaId, 10); + const { ancestros } = req.body; + + if (!Array.isArray(ancestros)) { + return res.status(400).json({ error: 'Debes enviar un array de IDs en “ancestros”' }); + } + + try { + await Promise.all( + ancestros.map(ancestroId => + HistorialCharola.asignarAncestro({ charolaHija: hija, charolaAncestro: ancestroId }) + ) + ); + return res.status(200).json({ message: 'Ancestros asignados correctamente' }); + } catch (error) { + console.error('[Controller] Error asignando ancestros:', error); + return res.status(500).json({ error: 'No se pudieron asignar ancestros' }); + } +}; \ No newline at end of file diff --git a/controllers/menu_charolas.controller.js b/controllers/menu_charolas.controller.js deleted file mode 100644 index ab61e27..0000000 --- a/controllers/menu_charolas.controller.js +++ /dev/null @@ -1,69 +0,0 @@ -// RF16 Visualizar todas las charolas registradas en el sistema -// Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 - -const Charola = require('../models/menu_charolas.model'); - -/** - * Controlador seguro para obtener todas las charolas paginadas. - * - * Realiza validación de parámetros, control de límite máximo y evita exposición de errores internos. - * - * @async - * @function obtenerCharolas - * @param {import('express').Request} req - Objeto de solicitud HTTP con `page` y `limit` opcionales. - * @param {import('express').Response} res - Objeto de respuesta HTTP. - * @returns {Promise} - */ -const obtenerCharolas = async (req, res) => { - try { - // Validación de parámetros de entrada - const rawPage = req.query.page; - const rawLimit = req.query.limit; - - const page = parseInt(rawPage, 10); - const limit = parseInt(rawLimit, 10); - - // Validar que sean números válidos - if (isNaN(page) || isNaN(limit) || page < 1 || limit < 1) { - return res.status(400).json({ - mensaje: 'Parámetros inválidos: page y limit deben ser enteros positivos' - }); - } - - // Límite máximo razonable - const MAX_LIMIT = 20; - const safeLimit = Math.min(limit, MAX_LIMIT); - const offset = (page - 1) * safeLimit; - - // Obtener datos y total - const datos = await Charola.getCharolasPaginadas(safeLimit, offset); - const total = await Charola.getCantidadTotal(); - const totalNumber = Number(total); - const totalPages = Math.ceil(totalNumber / safeLimit); - - // Validar que la página solicitada no exceda el total - if (page > totalPages && totalPages > 0) { - return res.status(400).json({ - mensaje: `La página solicitada (${page}) excede el total de páginas disponibles (${totalPages}).` - }); - } - - // Respuesta exitosa - res.status(200).json({ - total: totalNumber, - page, - limit: safeLimit, - totalPages, - data: datos - }); - - console.log("✔️ Consulta exitosa: Charolas obtenidas."); - } catch (error) { - console.error('❌ Error al obtener charolas:', error); - res.status(500).json({ mensaje: 'Error interno del servidor' }); - } -}; - -module.exports = { - obtenerCharolas -}; diff --git a/controllers/reporte.controller.js b/controllers/reporte.controller.js new file mode 100644 index 0000000..9b3e944 --- /dev/null +++ b/controllers/reporte.controller.js @@ -0,0 +1,79 @@ +// RF11: +// https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF11 + +const Reporte = require('../models/reporte.model.js'); +const { generarExcelDesdeDatos } = require('../utils/excelGenerador.js'); + +/** + *@description Metodo http GET para obtener la informacion de todas las charolas de larva o escarabajo. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Codigo de respuesta y array con la consulta de la BD. +*/ +// Nota: A falta de los middleware de autentificación, falta la implementacion de los errores 401 y 403 + +exports.getDatos = async (req, res) => { + try { + const resultado = await Reporte.obtenerDatos(); + + if (resultado.error) { + res.status(500).json({ 'error': 'Ocurrio un error en el servidor' }); + } + + if (resultado.length > 0) { + res.status(200).json({ 'code': 'Ok', 'resultado': resultado }); + } else { + res.status(201).json({ 'code': 'Ok', 'resultado': resultado }); + } + } catch (error) { + console.error('[Controller]. Error al obtener informacion de las charolas: ', error); + res.status(500).json({ 'error': 'Ocurrio un error en el servidor' }); + } +}; + +exports.getEliminadas = async (req, res) => { + try { + const resultado = await Reporte.obtenerEliminadas(); + + if (resultado.error) { + res.status(500).json({ 'error': 'Ocurrio un error en el servidor' }); + } + + if (resultado.length > 0) { + res.status(200).json({ 'code': 'Ok', 'resultado': resultado }); + } else { + res.status(201).json({ 'code': 'Ok', 'resultado': resultado }); + } + } catch (error) { + console.log(error); + res.status(500).json({ 'error': 'Ocurrio un error en el servidor' }); + } +}; + +/** + *@description Metodo http POST Para descargar los archivos de excel con la información de las charolas. + * @param {*} res - Respuesta HTTP que se usa para enviar el archivo excel. + * @returns {buffer} Codigo de respuesta y buffer del archivo excel. +*/ +// Nota: A falta de los middleware de autentificación, falta la implementacion de los errores 401 y 403 + +exports.postDescargarExcel = async (req, res) => { + try { + const datos = await Reporte.obtenerDatos(); + const eliminadas = await Reporte.obtenerEliminadas(); + + // Si no hay datos de las charolas en la BD no se devuelve un buffer con el archivo + if (!datos || datos.length === 0) { + return res.status(201).json({ 'error': 'No hay datos de charolas' }); + } + + const buffer = await generarExcelDesdeDatos(datos, eliminadas); + + // Headers del archivo de Excel + res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); + res.setHeader('Content-Disposition', 'attachment; filename=charolas.xlsx'); + res.status(200).send(buffer); + } catch (error) { + console.error('[Controller]. Error al descargar el archivo de excel: ', error); + res.status(500).json({ 'Error': 'Ocurrio un error en el servidor' }); + } +} \ No newline at end of file diff --git a/controllers/usuario.controller.js b/controllers/usuario.controller.js index dfe8916..f02a977 100644 --- a/controllers/usuario.controller.js +++ b/controllers/usuario.controller.js @@ -1,40 +1,148 @@ -const Usuario = require("../models/usuario.model.js"); +const Usuario = require('../models/usuario.model.js'); +const nodemailer = require('nodemailer'); +const path = require('path'); +const dotenv = require('dotenv'); +dotenv.config(); /** - * @description Inicia sesión de un usuario y devuelve un token de sesión si es exitoso. - * @param {*} req - Solicitud HTTP que contiene credenciales del usuario. + * @description Registra un nuevo usuario en la base de datos. + * @param {*} req - Solicitud HTTP que contiene información del usuario. * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. - * @returns {JSON} Código de respuesta y token de sesión + * @returns {JSON} Código de respuesta */ -exports.iniciarSesion = async (req, res) => { - try{ +exports.registrarUsuario = async (req, res) => { + try { + await Usuario.registrarUsuario(req.body); - console.log("Body: ", req.body); + return res.status(200).json({ code: 200 }); + } catch (error) { + return res.status(500).json({ code: 500 }); + } +} - const sesion = await Usuario.iniciarSesion(req.body); +/** + * @description Genera una contraseña aleatoria. + * @param {int} longitud - Longitud de la contraseña. + * @returns {String} Contraseña nueva. + */ +function generarContrasena(longitud = 6) { + const caracteres = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + let contrasena = ''; + for (let it = 0; it < longitud; it++) { + const indice = Math.floor(Math.random() * caracteres.length); + contrasena += caracteres[indice]; + } + return contrasena; +} - if(sesion.error){ - return res.status(401).json({code:401}); +/** + * @description Manda un correo de recuperación para recuperar la contraseña + * @param {*} req - Solicitud HTTP que contiene información del usuario. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Código de respuesta + */ +exports.mandarCorreo = async (req, res) => { + try{ + const usuario = req.query.usuario; + const usuarioId = await Usuario.obtenerId(usuario); + if (usuarioId == null){ + res.status(201).json({code: 201}); + return; } - return res.status(200).json({code: 200, token: sesion}); + const nuevaContrasena = generarContrasena(); - }catch(error){ - return res.status(500).json({code: 500}) + const transporter = nodemailer.createTransport({ + service: 'gmail', + auth: { + user: process.env.MAIL_USER, + pass: process.env.MAIL_PASSWORD, + }, + }); + + const mailOptions = { + from: process.env.MAIL_USER, + to: process.env.MAIL_RECEIVER, + subject: 'Recuperar contraseña ZuustentoTracker', + html: `
+ Logo de ZuustentoTracker +

¿Olvidaste tu contraseña?

+

Este correo es automatizado, se solicitó el cambio de contraseña para:

+

${usuario}

+

Nueva Contraseña:

+

${nuevaContrasena}

+

Si no solicitaste este cambio, puedes ignorar este correo.

+
`, + attachments: [ + { + filename: 'logo.png', + path: path.join(__dirname, '..', 'public', 'ZuustentoTracker_AppIcon.png'), + cid: 'logo' + } + ] + }; + + transporter.sendMail(mailOptions, (error, info) => { + if (error) { + console.log(error) + res.status(500).json({code: 500}); + return; + } + }); + + await Usuario.cambiarContrasena(usuarioId.usuarioId, nuevaContrasena); + + res.status(200).json({code: 200}); + } catch (error){ + console.log(error) + res.status(500).json({code: 500}) } }; /** - * @description Registra un nuevo usuario en la base de datos. + * @description Obtiene todos los usuarios de la base de datos * @param {*} req - Solicitud HTTP que contiene información del usuario. * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. * @returns {JSON} Código de respuesta */ -exports.registrarUsuario = async (req, res) => { - try { - const nuevoUsuario = await Usuario.registrarUsuario(req.body); - return res.status(201).json({ code: 201 }); +exports.obtenerUsuarios = async (req, res) => { + try{ + const resultado = await Usuario.obtenerUsuarios(); + return res.status(200).json({resultado: resultado}); + } catch (error){ + return res.status(500).json({ code: 500 }); + } +} + +/** + * @description Edita la informacion de un usuario + * @param {*} req - Solicitud HTTP que contiene información del usuario. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Código de respuesta + */ +exports.editarUsuario = async (req, res) => { + try{ + const resultado = await Usuario.editarUsuario(parseInt(req.query.usuarioId), req.body); + + return res.status(200).json({ code: 200 }); + } catch (error) { return res.status(500).json({ code: 500 }); } } + +/** + * @description Elimina un usuario de la plataforma + * @param {*} req - Solicitud HTTP que contiene información del usuario. + * @param {*} res - Respuesta HTTP que se usa para enviar el resultado. + * @returns {JSON} Código de respuesta + */ +exports.eliminarUsuario = async (req, res) => { + try{ + const resultado = await Usuario.eliminarUsuario(parseInt(req.query.usuarioId)); + + return res.status(200).json({ code: 200 }); + } catch (error){ + return res.status(500).json({ code: 500 }); + } +} diff --git a/generated/prisma/edge.js b/generated/prisma/edge.js index 53de42f..c36a98f 100644 --- a/generated/prisma/edge.js +++ b/generated/prisma/edge.js @@ -35,12 +35,12 @@ exports.Prisma = Prisma exports.$Enums = {} /** - * Prisma Client JS version: 6.7.0 - * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + * Prisma Client JS version: 6.8.2 + * Query Engine version: 2060c79ba17c6bb9f5823312b6f6b7f4a845738e */ Prisma.prismaVersion = { - client: "6.7.0", - engine: "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed" + client: "6.8.2", + engine: "2060c79ba17c6bb9f5823312b6f6b7f4a845738e" } Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; @@ -115,15 +115,19 @@ exports.Prisma.CHAROLA_CHAROLAScalarFieldEnum = { }; exports.Prisma.CHAROLA_COMIDAScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', comidaId: 'comidaId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.CHAROLA_HIDRATACIONScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', hidratacionId: 'hidratacionId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.COMIDAScalarFieldEnum = { @@ -133,8 +137,10 @@ exports.Prisma.COMIDAScalarFieldEnum = { }; exports.Prisma.FRASScalarFieldEnum = { - frassId: 'frassId', + frasId: 'frasId', gramosGenerados: 'gramosGenerados', + fechaRegistro: 'fechaRegistro', + fechaRegistro: 'fechaRegistro', charolaId: 'charolaId' }; @@ -158,6 +164,30 @@ exports.Prisma.USUARIO_CHAROLAScalarFieldEnum = { charolaId: 'charolaId' }; +exports.Prisma.CHAROLA_FRASScalarFieldEnum = { + charolaId: 'charolaId', + frasId: 'frasId' +}; + +exports.Prisma.CHAROLA_PUPAScalarFieldEnum = { + charolaId: 'charolaId', + pupaId: 'pupaId' +}; + +exports.Prisma.PUPAScalarFieldEnum = { + pupaId: 'pupaId', + fechaRegistro: 'fechaRegistro', + cantidadObtenida: 'cantidadObtenida' +}; + +exports.Prisma.ELIMINACION_MOTIVOScalarFieldEnum = { + id: 'id', + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo', + fecha_eliminacion: 'fecha_eliminacion' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -191,6 +221,12 @@ exports.Prisma.USUARIOOrderByRelevanceFieldEnum = { apellido_p: 'apellido_p' }; +exports.Prisma.ELIMINACION_MOTIVOOrderByRelevanceFieldEnum = { + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo' +}; + exports.Prisma.ModelName = { ADMINISTRADOR: 'ADMINISTRADOR', @@ -202,7 +238,11 @@ exports.Prisma.ModelName = { FRAS: 'FRAS', HIDRATACION: 'HIDRATACION', USUARIO: 'USUARIO', - USUARIO_CHAROLA: 'USUARIO_CHAROLA' + USUARIO_CHAROLA: 'USUARIO_CHAROLA', + CHAROLA_FRAS: 'CHAROLA_FRAS', + CHAROLA_PUPA: 'CHAROLA_PUPA', + PUPA: 'PUPA', + ELIMINACION_MOTIVO: 'ELIMINACION_MOTIVO' }; /** * Create the Client @@ -215,7 +255,11 @@ const config = { "value": "prisma-client-js" }, "output": { + "value": "/Users/marianajuarezramirez/Desktop/TECH-NEBRIOS-BACKEND/generated/prisma", + "value": "/Users/armando/Desktop/TECH-NEBRIOS-BACKEND/generated/prisma", "value": "/Users/lapto/Desktop/zuustento/TECH-NEBRIOS-BACKEND/generated/prisma", + "value": "C:\\Users\\emili\\OneDrive\\Escritorio\\6TO SEMESTRE\\CODENCO\\zustento\\TECH-NEBRIOS-BACKEND\\generated\\prisma", + "value": "C:\\Users\\juana\\Desktop\\dev\\6toSEM\\TECH-NEBRIOS-BACKEND\\generated\\prisma", "fromEnvVar": null }, "config": { @@ -224,12 +268,20 @@ const config = { "binaryTargets": [ { "fromEnvVar": null, - "value": "darwin-arm64", + "value": "windows", "native": true + }, + { + "fromEnvVar": null, + "value": "windows" } ], "previewFeatures": [], + "sourceFilePath": "/Users/marianajuarezramirez/Desktop/TECH-NEBRIOS-BACKEND/prisma/schema.prisma", + "sourceFilePath": "/Users/armando/Desktop/TECH-NEBRIOS-BACKEND/prisma/schema.prisma", "sourceFilePath": "/Users/lapto/Desktop/zuustento/TECH-NEBRIOS-BACKEND/prisma/schema.prisma", + "sourceFilePath": "C:\\Users\\emili\\OneDrive\\Escritorio\\6TO SEMESTRE\\CODENCO\\zustento\\TECH-NEBRIOS-BACKEND\\prisma\\schema.prisma", + "sourceFilePath": "C:\\Users\\juana\\Desktop\\dev\\6toSEM\\TECH-NEBRIOS-BACKEND\\prisma\\schema.prisma", "isCustomOutput": true }, "relativeEnvPaths": { @@ -237,13 +289,13 @@ const config = { "schemaEnvPath": "../../.env" }, "relativePath": "../../prisma", - "clientVersion": "6.7.0", - "engineVersion": "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed", + "clientVersion": "6.8.2", + "engineVersion": "2060c79ba17c6bb9f5823312b6f6b7f4a845738e", "datasourceNames": [ "db" ], "activeProvider": "mysql", - "postinstall": true, + "postinstall": false, "inlineDatasources": { "db": { "url": { @@ -252,13 +304,25 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String? @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime? @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n charolaId Int\n comidaId Int\n cantidadOtorgada Float @db.Float\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@id([charolaId, comidaId])\n @@index([comidaId], map: \"comidaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n charolaId Int\n hidratacionId Int\n cantidadOtorgada Float? @db.Float\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION @relation(fields: [hidratacionId], references: [hidratacionId], onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@id([charolaId, hidratacionId])\n @@index([hidratacionId], map: \"hidratacionId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frassId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n charolaId Int?\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n", - "inlineSchemaHash": "650194ab810441e65e5358d77af7a6db95a58774fb52f8d6a6be2c4e500edeb9", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"windows\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n CHAROLA_PUPA CHAROLA_PUPA[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n id Int @id @default(autoincrement())\n charolaId Int?\n comidaId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@index([comidaId], map: \"comidaId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n id Int @id @default(autoincrement())\n charolaId Int?\n hidratacionId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@index([hidratacionId], map: \"hidratacionId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frasId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n fechaRegistro DateTime? @db.Date\n charolaId Int?\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"idx_fras_charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_FRAS {\n charolaId Int\n frasId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_1\")\n FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_2\")\n\n @@id([charolaId, frasId])\n @@index([frasId], map: \"frasId\")\n}\n\nmodel CHAROLA_PUPA {\n charolaId Int\n pupaId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_1\")\n PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_2\")\n\n @@id([charolaId, pupaId])\n @@index([pupaId], map: \"pupaId\")\n}\n\nmodel PUPA {\n pupaId Int @id @default(autoincrement())\n fechaRegistro DateTime? @db.Date\n cantidadObtenida Int?\n CHAROLA_PUPA CHAROLA_PUPA[]\n}\n", + "inlineSchemaHash": "8f8780f95ff581b78510f65dc6671a78be4487e1115138445bfb1bb65d4ceb4a", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"windows\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String? @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime? @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n CHAROLA_PUPA CHAROLA_PUPA[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n id Int @id @default(autoincrement())\n charolaId Int?\n comidaId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@index([comidaId], map: \"comidaId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n id Int @id @default(autoincrement())\n charolaId Int?\n hidratacionId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@index([hidratacionId], map: \"hidratacionId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frasId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n charolaId Int?\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_FRAS {\n charolaId Int\n frasId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_1\")\n FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_2\")\n\n @@id([charolaId, frasId])\n @@index([frasId], map: \"frasId\")\n}\n\nmodel CHAROLA_PUPA {\n charolaId Int\n pupaId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_1\")\n PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_2\")\n\n @@id([charolaId, pupaId])\n @@index([pupaId], map: \"pupaId\")\n}\n\nmodel PUPA {\n pupaId Int @id @default(autoincrement())\n fechaRegistro DateTime? @db.Date\n cantidadObtenida Int?\n CHAROLA_PUPA CHAROLA_PUPA[]\n}\n", + "inlineSchemaHash": "1069724d2fb08fc1c9e1b3f877808d5f094e7da176fbc913d8127b3174bc2c97", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"windows\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n CHAROLA_PUPA CHAROLA_PUPA[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n id Int @id @default(autoincrement())\n charolaId Int?\n comidaId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@index([comidaId], map: \"comidaId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n id Int @id @default(autoincrement())\n charolaId Int?\n hidratacionId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@index([hidratacionId], map: \"hidratacionId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frasId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n fechaRegistro DateTime? @db.Date\n charolaId Int?\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"idx_fras_charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id @default(autoincrement())\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_FRAS {\n charolaId Int\n frasId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_1\")\n FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_2\")\n\n @@id([charolaId, frasId])\n @@index([frasId], map: \"frasId\")\n}\n\nmodel CHAROLA_PUPA {\n charolaId Int\n pupaId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_1\")\n PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_2\")\n\n @@id([charolaId, pupaId])\n @@index([pupaId], map: \"pupaId\")\n}\n\nmodel PUPA {\n pupaId Int @id @default(autoincrement())\n fechaRegistro DateTime? @db.Date\n cantidadObtenida Float? @db.Float\n CHAROLA_PUPA CHAROLA_PUPA[]\n}\n", + "inlineSchemaHash": "31233f28cf9b8a1cce538aacc2455201f1763875ff0abe73cbde48069abbebac", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"windows\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n CHAROLA_PUPA CHAROLA_PUPA[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n id Int @id @default(autoincrement())\n charolaId Int?\n comidaId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@index([comidaId], map: \"comidaId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n id Int @id @default(autoincrement())\n charolaId Int?\n hidratacionId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@index([hidratacionId], map: \"hidratacionId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frasId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n fechaRegistro DateTime? @db.Date\n charolaId Int?\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"idx_fras_charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id @default(autoincrement())\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_FRAS {\n charolaId Int\n frasId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_1\")\n FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_2\")\n\n @@id([charolaId, frasId])\n @@index([frasId], map: \"frasId\")\n}\n\nmodel CHAROLA_PUPA {\n charolaId Int\n pupaId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_1\")\n PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_2\")\n\n @@id([charolaId, pupaId])\n @@index([pupaId], map: \"pupaId\")\n}\n\nmodel PUPA {\n pupaId Int @id @default(autoincrement())\n fechaRegistro DateTime? @db.Date\n cantidadObtenida Float? @db.Float\n CHAROLA_PUPA CHAROLA_PUPA[]\n}\n", + "inlineSchemaHash": "31233f28cf9b8a1cce538aacc2455201f1763875ff0abe73cbde48069abbebac", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"windows\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n CHAROLA_PUPA CHAROLA_PUPA[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n id Int @id @default(autoincrement())\n charolaId Int?\n comidaId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@index([comidaId], map: \"comidaId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n id Int @id @default(autoincrement())\n charolaId Int?\n hidratacionId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@index([hidratacionId], map: \"hidratacionId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frasId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n fechaRegistro DateTime? @db.Date\n charolaId Int?\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"idx_fras_charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_FRAS {\n charolaId Int\n frasId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_1\")\n FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_2\")\n\n @@id([charolaId, frasId])\n @@index([frasId], map: \"frasId\")\n}\n\nmodel CHAROLA_PUPA {\n charolaId Int\n pupaId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_1\")\n PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_2\")\n\n @@id([charolaId, pupaId])\n @@index([pupaId], map: \"pupaId\")\n}\n\nmodel PUPA {\n pupaId Int @id @default(autoincrement())\n fechaRegistro DateTime? @db.Date\n cantidadObtenida Int?\n CHAROLA_PUPA CHAROLA_PUPA[]\n}\n", + "inlineSchemaHash": "8f8780f95ff581b78510f65dc6671a78be4487e1115138445bfb1bb65d4ceb4a", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"comidaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"hidratacionId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frassId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[\"frasId\"],\"relationToFields\":[\"frasId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"frasId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"PUPA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[\"pupaId\"],\"relationToFields\":[\"pupaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"pupaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadObtenida\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[\"frasId\"],\"relationToFields\":[\"frasId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"frasId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"PUPA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[\"pupaId\"],\"relationToFields\":[\"pupaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"pupaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadObtenida\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[\"frasId\"],\"relationToFields\":[\"frasId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"frasId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"PUPA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[\"pupaId\"],\"relationToFields\":[\"pupaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"pupaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadObtenida\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[\"frasId\"],\"relationToFields\":[\"frasId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"frasId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"PUPA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[\"pupaId\"],\"relationToFields\":[\"pupaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"pupaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadObtenida\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[\"frasId\"],\"relationToFields\":[\"frasId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"frasId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"PUPA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[\"pupaId\"],\"relationToFields\":[\"pupaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"pupaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadObtenida\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/generated/prisma/index-browser.js b/generated/prisma/index-browser.js index 800e98a..f44dd38 100644 --- a/generated/prisma/index-browser.js +++ b/generated/prisma/index-browser.js @@ -20,12 +20,12 @@ exports.Prisma = Prisma exports.$Enums = {} /** - * Prisma Client JS version: 6.7.0 - * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + * Prisma Client JS version: 6.8.2 + * Query Engine version: 2060c79ba17c6bb9f5823312b6f6b7f4a845738e */ Prisma.prismaVersion = { - client: "6.7.0", - engine: "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed" + client: "6.8.2", + engine: "2060c79ba17c6bb9f5823312b6f6b7f4a845738e" } Prisma.PrismaClientKnownRequestError = () => { @@ -143,15 +143,19 @@ exports.Prisma.CHAROLA_CHAROLAScalarFieldEnum = { }; exports.Prisma.CHAROLA_COMIDAScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', comidaId: 'comidaId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.CHAROLA_HIDRATACIONScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', hidratacionId: 'hidratacionId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.COMIDAScalarFieldEnum = { @@ -161,8 +165,9 @@ exports.Prisma.COMIDAScalarFieldEnum = { }; exports.Prisma.FRASScalarFieldEnum = { - frassId: 'frassId', + frasId: 'frasId', gramosGenerados: 'gramosGenerados', + fechaRegistro: 'fechaRegistro', charolaId: 'charolaId' }; @@ -186,6 +191,30 @@ exports.Prisma.USUARIO_CHAROLAScalarFieldEnum = { charolaId: 'charolaId' }; +exports.Prisma.CHAROLA_FRASScalarFieldEnum = { + charolaId: 'charolaId', + frasId: 'frasId' +}; + +exports.Prisma.CHAROLA_PUPAScalarFieldEnum = { + charolaId: 'charolaId', + pupaId: 'pupaId' +}; + +exports.Prisma.PUPAScalarFieldEnum = { + pupaId: 'pupaId', + fechaRegistro: 'fechaRegistro', + cantidadObtenida: 'cantidadObtenida' +}; + +exports.Prisma.ELIMINACION_MOTIVOScalarFieldEnum = { + id: 'id', + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo', + fecha_eliminacion: 'fecha_eliminacion' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -219,6 +248,12 @@ exports.Prisma.USUARIOOrderByRelevanceFieldEnum = { apellido_p: 'apellido_p' }; +exports.Prisma.ELIMINACION_MOTIVOOrderByRelevanceFieldEnum = { + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo' +}; + exports.Prisma.ModelName = { ADMINISTRADOR: 'ADMINISTRADOR', @@ -230,7 +265,11 @@ exports.Prisma.ModelName = { FRAS: 'FRAS', HIDRATACION: 'HIDRATACION', USUARIO: 'USUARIO', - USUARIO_CHAROLA: 'USUARIO_CHAROLA' + USUARIO_CHAROLA: 'USUARIO_CHAROLA', + CHAROLA_FRAS: 'CHAROLA_FRAS', + CHAROLA_PUPA: 'CHAROLA_PUPA', + PUPA: 'PUPA', + ELIMINACION_MOTIVO: 'ELIMINACION_MOTIVO' }; /** diff --git a/generated/prisma/index.d.ts b/generated/prisma/index.d.ts index a1e7357..e5548b7 100644 --- a/generated/prisma/index.d.ts +++ b/generated/prisma/index.d.ts @@ -63,6 +63,26 @@ export type USUARIO = $Result.DefaultSelection * */ export type USUARIO_CHAROLA = $Result.DefaultSelection +/** + * Model CHAROLA_FRAS + * + */ +export type CHAROLA_FRAS = $Result.DefaultSelection +/** + * Model CHAROLA_PUPA + * + */ +export type CHAROLA_PUPA = $Result.DefaultSelection +/** + * Model PUPA + * + */ +export type PUPA = $Result.DefaultSelection +/** + * Model ELIMINACION_MOTIVO + * + */ +export type ELIMINACION_MOTIVO = $Result.DefaultSelection /** * ## Prisma Client ʲˢ @@ -288,6 +308,46 @@ export class PrismaClient< * ``` */ get uSUARIO_CHAROLA(): Prisma.USUARIO_CHAROLADelegate; + + /** + * `prisma.cHAROLA_FRAS`: Exposes CRUD operations for the **CHAROLA_FRAS** model. + * Example usage: + * ```ts + * // Fetch zero or more CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.findMany() + * ``` + */ + get cHAROLA_FRAS(): Prisma.CHAROLA_FRASDelegate; + + /** + * `prisma.cHAROLA_PUPA`: Exposes CRUD operations for the **CHAROLA_PUPA** model. + * Example usage: + * ```ts + * // Fetch zero or more CHAROLA_PUPAS + * const cHAROLA_PUPAS = await prisma.cHAROLA_PUPA.findMany() + * ``` + */ + get cHAROLA_PUPA(): Prisma.CHAROLA_PUPADelegate; + + /** + * `prisma.pUPA`: Exposes CRUD operations for the **PUPA** model. + * Example usage: + * ```ts + * // Fetch zero or more PUPAS + * const pUPAS = await prisma.pUPA.findMany() + * ``` + */ + get pUPA(): Prisma.PUPADelegate; + + /** + * `prisma.eLIMINACION_MOTIVO`: Exposes CRUD operations for the **ELIMINACION_MOTIVO** model. + * Example usage: + * ```ts + * // Fetch zero or more ELIMINACION_MOTIVOS + * const eLIMINACION_MOTIVOS = await prisma.eLIMINACION_MOTIVO.findMany() + * ``` + */ + get eLIMINACION_MOTIVO(): Prisma.ELIMINACION_MOTIVODelegate; } export namespace Prisma { @@ -346,8 +406,8 @@ export namespace Prisma { export import Exact = $Public.Exact /** - * Prisma Client JS version: 6.7.0 - * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + * Prisma Client JS version: 6.8.2 + * Query Engine version: 2060c79ba17c6bb9f5823312b6f6b7f4a845738e */ export type PrismaVersion = { client: string @@ -737,7 +797,11 @@ export namespace Prisma { FRAS: 'FRAS', HIDRATACION: 'HIDRATACION', USUARIO: 'USUARIO', - USUARIO_CHAROLA: 'USUARIO_CHAROLA' + USUARIO_CHAROLA: 'USUARIO_CHAROLA', + CHAROLA_FRAS: 'CHAROLA_FRAS', + CHAROLA_PUPA: 'CHAROLA_PUPA', + PUPA: 'PUPA', + ELIMINACION_MOTIVO: 'ELIMINACION_MOTIVO' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -756,7 +820,7 @@ export namespace Prisma { omit: GlobalOmitOptions } meta: { - modelProps: "aDMINISTRADOR" | "cHAROLA" | "cHAROLA_CHAROLA" | "cHAROLA_COMIDA" | "cHAROLA_HIDRATACION" | "cOMIDA" | "fRAS" | "hIDRATACION" | "uSUARIO" | "uSUARIO_CHAROLA" + modelProps: "aDMINISTRADOR" | "cHAROLA" | "cHAROLA_CHAROLA" | "cHAROLA_COMIDA" | "cHAROLA_HIDRATACION" | "cOMIDA" | "fRAS" | "hIDRATACION" | "uSUARIO" | "uSUARIO_CHAROLA" | "cHAROLA_FRAS" | "cHAROLA_PUPA" | "pUPA" | "eLIMINACION_MOTIVO" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -1420,6 +1484,270 @@ export namespace Prisma { } } } + CHAROLA_FRAS: { + payload: Prisma.$CHAROLA_FRASPayload + fields: Prisma.CHAROLA_FRASFieldRefs + operations: { + findUnique: { + args: Prisma.CHAROLA_FRASFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.CHAROLA_FRASFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.CHAROLA_FRASFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.CHAROLA_FRASFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.CHAROLA_FRASFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.CHAROLA_FRASCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.CHAROLA_FRASCreateManyArgs + result: BatchPayload + } + delete: { + args: Prisma.CHAROLA_FRASDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.CHAROLA_FRASUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.CHAROLA_FRASDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.CHAROLA_FRASUpdateManyArgs + result: BatchPayload + } + upsert: { + args: Prisma.CHAROLA_FRASUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.CHAROLA_FRASAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.CHAROLA_FRASGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.CHAROLA_FRASCountArgs + result: $Utils.Optional | number + } + } + } + CHAROLA_PUPA: { + payload: Prisma.$CHAROLA_PUPAPayload + fields: Prisma.CHAROLA_PUPAFieldRefs + operations: { + findUnique: { + args: Prisma.CHAROLA_PUPAFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.CHAROLA_PUPAFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.CHAROLA_PUPAFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.CHAROLA_PUPAFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.CHAROLA_PUPAFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.CHAROLA_PUPACreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.CHAROLA_PUPACreateManyArgs + result: BatchPayload + } + delete: { + args: Prisma.CHAROLA_PUPADeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.CHAROLA_PUPAUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.CHAROLA_PUPADeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.CHAROLA_PUPAUpdateManyArgs + result: BatchPayload + } + upsert: { + args: Prisma.CHAROLA_PUPAUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.CHAROLA_PUPAAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.CHAROLA_PUPAGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.CHAROLA_PUPACountArgs + result: $Utils.Optional | number + } + } + } + PUPA: { + payload: Prisma.$PUPAPayload + fields: Prisma.PUPAFieldRefs + operations: { + findUnique: { + args: Prisma.PUPAFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.PUPAFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.PUPAFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.PUPAFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.PUPAFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.PUPACreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.PUPACreateManyArgs + result: BatchPayload + } + delete: { + args: Prisma.PUPADeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.PUPAUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.PUPADeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.PUPAUpdateManyArgs + result: BatchPayload + } + upsert: { + args: Prisma.PUPAUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.PUPAAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.PUPAGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.PUPACountArgs + result: $Utils.Optional | number + } + } + } + ELIMINACION_MOTIVO: { + payload: Prisma.$ELIMINACION_MOTIVOPayload + fields: Prisma.ELIMINACION_MOTIVOFieldRefs + operations: { + findUnique: { + args: Prisma.ELIMINACION_MOTIVOFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ELIMINACION_MOTIVOFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.ELIMINACION_MOTIVOFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ELIMINACION_MOTIVOFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.ELIMINACION_MOTIVOFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.ELIMINACION_MOTIVOCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.ELIMINACION_MOTIVOCreateManyArgs + result: BatchPayload + } + delete: { + args: Prisma.ELIMINACION_MOTIVODeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.ELIMINACION_MOTIVOUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ELIMINACION_MOTIVODeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ELIMINACION_MOTIVOUpdateManyArgs + result: BatchPayload + } + upsert: { + args: Prisma.ELIMINACION_MOTIVOUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.ELIMINACION_MOTIVOAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.ELIMINACION_MOTIVOGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.ELIMINACION_MOTIVOCountArgs + result: $Utils.Optional | number + } + } + } } } & { other: { @@ -1514,6 +1842,10 @@ export namespace Prisma { hIDRATACION?: HIDRATACIONOmit uSUARIO?: USUARIOOmit uSUARIO_CHAROLA?: USUARIO_CHAROLAOmit + cHAROLA_FRAS?: CHAROLA_FRASOmit + cHAROLA_PUPA?: CHAROLA_PUPAOmit + pUPA?: PUPAOmit + eLIMINACION_MOTIVO?: ELIMINACION_MOTIVOOmit } /* Types for Logging */ @@ -1611,7 +1943,9 @@ export namespace Prisma { CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA: number CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: number CHAROLA_COMIDA: number + CHAROLA_FRAS: number CHAROLA_HIDRATACION: number + CHAROLA_PUPA: number FRAS: number USUARIO_CHAROLA: number } @@ -1620,7 +1954,9 @@ export namespace Prisma { CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: boolean | CHAROLACountOutputTypeCountCHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAArgs CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: boolean | CHAROLACountOutputTypeCountCHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAArgs CHAROLA_COMIDA?: boolean | CHAROLACountOutputTypeCountCHAROLA_COMIDAArgs + CHAROLA_FRAS?: boolean | CHAROLACountOutputTypeCountCHAROLA_FRASArgs CHAROLA_HIDRATACION?: boolean | CHAROLACountOutputTypeCountCHAROLA_HIDRATACIONArgs + CHAROLA_PUPA?: boolean | CHAROLACountOutputTypeCountCHAROLA_PUPAArgs FRAS?: boolean | CHAROLACountOutputTypeCountFRASArgs USUARIO_CHAROLA?: boolean | CHAROLACountOutputTypeCountUSUARIO_CHAROLAArgs } @@ -1657,6 +1993,13 @@ export namespace Prisma { where?: CHAROLA_COMIDAWhereInput } + /** + * CHAROLACountOutputType without action + */ + export type CHAROLACountOutputTypeCountCHAROLA_FRASArgs = { + where?: CHAROLA_FRASWhereInput + } + /** * CHAROLACountOutputType without action */ @@ -1664,6 +2007,13 @@ export namespace Prisma { where?: CHAROLA_HIDRATACIONWhereInput } + /** + * CHAROLACountOutputType without action + */ + export type CHAROLACountOutputTypeCountCHAROLA_PUPAArgs = { + where?: CHAROLA_PUPAWhereInput + } + /** * CHAROLACountOutputType without action */ @@ -1710,6 +2060,37 @@ export namespace Prisma { } + /** + * Count Type FRASCountOutputType + */ + + export type FRASCountOutputType = { + CHAROLA_FRAS: number + } + + export type FRASCountOutputTypeSelect = { + CHAROLA_FRAS?: boolean | FRASCountOutputTypeCountCHAROLA_FRASArgs + } + + // Custom InputTypes + /** + * FRASCountOutputType without action + */ + export type FRASCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the FRASCountOutputType + */ + select?: FRASCountOutputTypeSelect | null + } + + /** + * FRASCountOutputType without action + */ + export type FRASCountOutputTypeCountCHAROLA_FRASArgs = { + where?: CHAROLA_FRASWhereInput + } + + /** * Count Type HIDRATACIONCountOutputType */ @@ -1781,6 +2162,37 @@ export namespace Prisma { } + /** + * Count Type PUPACountOutputType + */ + + export type PUPACountOutputType = { + CHAROLA_PUPA: number + } + + export type PUPACountOutputTypeSelect = { + CHAROLA_PUPA?: boolean | PUPACountOutputTypeCountCHAROLA_PUPAArgs + } + + // Custom InputTypes + /** + * PUPACountOutputType without action + */ + export type PUPACountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the PUPACountOutputType + */ + select?: PUPACountOutputTypeSelect | null + } + + /** + * PUPACountOutputType without action + */ + export type PUPACountOutputTypeCountCHAROLA_PUPAArgs = { + where?: CHAROLA_PUPAWhereInput + } + + /** * Models */ @@ -2949,9 +3361,9 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion: Date | null - estado: string | null + estado: string densidadLarva: number | null - fechaCreacion: Date | null + fechaCreacion: Date pesoCharola: number | null _count: CHAROLACountAggregateOutputType | null _avg: CHAROLAAvgAggregateOutputType | null @@ -2987,7 +3399,9 @@ export namespace Prisma { CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: boolean | CHAROLA$CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAArgs CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: boolean | CHAROLA$CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAArgs CHAROLA_COMIDA?: boolean | CHAROLA$CHAROLA_COMIDAArgs + CHAROLA_FRAS?: boolean | CHAROLA$CHAROLA_FRASArgs CHAROLA_HIDRATACION?: boolean | CHAROLA$CHAROLA_HIDRATACIONArgs + CHAROLA_PUPA?: boolean | CHAROLA$CHAROLA_PUPAArgs FRAS?: boolean | CHAROLA$FRASArgs USUARIO_CHAROLA?: boolean | CHAROLA$USUARIO_CHAROLAArgs _count?: boolean | CHAROLACountOutputTypeDefaultArgs @@ -3012,7 +3426,9 @@ export namespace Prisma { CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: boolean | CHAROLA$CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAArgs CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: boolean | CHAROLA$CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAArgs CHAROLA_COMIDA?: boolean | CHAROLA$CHAROLA_COMIDAArgs + CHAROLA_FRAS?: boolean | CHAROLA$CHAROLA_FRASArgs CHAROLA_HIDRATACION?: boolean | CHAROLA$CHAROLA_HIDRATACIONArgs + CHAROLA_PUPA?: boolean | CHAROLA$CHAROLA_PUPAArgs FRAS?: boolean | CHAROLA$FRASArgs USUARIO_CHAROLA?: boolean | CHAROLA$USUARIO_CHAROLAArgs _count?: boolean | CHAROLACountOutputTypeDefaultArgs @@ -3024,7 +3440,9 @@ export namespace Prisma { CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA: Prisma.$CHAROLA_CHAROLAPayload[] CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: Prisma.$CHAROLA_CHAROLAPayload[] CHAROLA_COMIDA: Prisma.$CHAROLA_COMIDAPayload[] + CHAROLA_FRAS: Prisma.$CHAROLA_FRASPayload[] CHAROLA_HIDRATACION: Prisma.$CHAROLA_HIDRATACIONPayload[] + CHAROLA_PUPA: Prisma.$CHAROLA_PUPAPayload[] FRAS: Prisma.$FRASPayload[] USUARIO_CHAROLA: Prisma.$USUARIO_CHAROLAPayload[] } @@ -3034,9 +3452,9 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion: Date | null - estado: string | null + estado: string densidadLarva: number | null - fechaCreacion: Date | null + fechaCreacion: Date pesoCharola: number | null }, ExtArgs["result"]["cHAROLA"]> composites: {} @@ -3381,7 +3799,9 @@ export namespace Prisma { CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> CHAROLA_COMIDA = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + CHAROLA_FRAS = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> CHAROLA_HIDRATACION = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + CHAROLA_PUPA = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> FRAS = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> USUARIO_CHAROLA = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> /** @@ -3836,6 +4256,30 @@ export namespace Prisma { distinct?: CHAROLA_COMIDAScalarFieldEnum | CHAROLA_COMIDAScalarFieldEnum[] } + /** + * CHAROLA.CHAROLA_FRAS + */ + export type CHAROLA$CHAROLA_FRASArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + where?: CHAROLA_FRASWhereInput + orderBy?: CHAROLA_FRASOrderByWithRelationInput | CHAROLA_FRASOrderByWithRelationInput[] + cursor?: CHAROLA_FRASWhereUniqueInput + take?: number + skip?: number + distinct?: CHAROLA_FRASScalarFieldEnum | CHAROLA_FRASScalarFieldEnum[] + } + /** * CHAROLA.CHAROLA_HIDRATACION */ @@ -3860,6 +4304,30 @@ export namespace Prisma { distinct?: CHAROLA_HIDRATACIONScalarFieldEnum | CHAROLA_HIDRATACIONScalarFieldEnum[] } + /** + * CHAROLA.CHAROLA_PUPA + */ + export type CHAROLA$CHAROLA_PUPAArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + where?: CHAROLA_PUPAWhereInput + orderBy?: CHAROLA_PUPAOrderByWithRelationInput | CHAROLA_PUPAOrderByWithRelationInput[] + cursor?: CHAROLA_PUPAWhereUniqueInput + take?: number + skip?: number + distinct?: CHAROLA_PUPAScalarFieldEnum | CHAROLA_PUPAScalarFieldEnum[] + } + /** * CHAROLA.FRAS */ @@ -4878,65 +5346,81 @@ export namespace Prisma { } export type CHAROLA_COMIDAAvgAggregateOutputType = { + id: number | null charolaId: number | null comidaId: number | null cantidadOtorgada: number | null } export type CHAROLA_COMIDASumAggregateOutputType = { + id: number | null charolaId: number | null comidaId: number | null cantidadOtorgada: number | null } export type CHAROLA_COMIDAMinAggregateOutputType = { + id: number | null charolaId: number | null comidaId: number | null cantidadOtorgada: number | null + fechaOtorgada: Date | null } export type CHAROLA_COMIDAMaxAggregateOutputType = { + id: number | null charolaId: number | null comidaId: number | null cantidadOtorgada: number | null + fechaOtorgada: Date | null } export type CHAROLA_COMIDACountAggregateOutputType = { + id: number charolaId: number comidaId: number cantidadOtorgada: number + fechaOtorgada: number _all: number } export type CHAROLA_COMIDAAvgAggregateInputType = { + id?: true charolaId?: true comidaId?: true cantidadOtorgada?: true } export type CHAROLA_COMIDASumAggregateInputType = { + id?: true charolaId?: true comidaId?: true cantidadOtorgada?: true } export type CHAROLA_COMIDAMinAggregateInputType = { + id?: true charolaId?: true comidaId?: true cantidadOtorgada?: true + fechaOtorgada?: true } export type CHAROLA_COMIDAMaxAggregateInputType = { + id?: true charolaId?: true comidaId?: true cantidadOtorgada?: true + fechaOtorgada?: true } export type CHAROLA_COMIDACountAggregateInputType = { + id?: true charolaId?: true comidaId?: true cantidadOtorgada?: true + fechaOtorgada?: true _all?: true } @@ -5027,9 +5511,11 @@ export namespace Prisma { } export type CHAROLA_COMIDAGroupByOutputType = { - charolaId: number - comidaId: number + id: number + charolaId: number | null + comidaId: number | null cantidadOtorgada: number + fechaOtorgada: Date _count: CHAROLA_COMIDACountAggregateOutputType | null _avg: CHAROLA_COMIDAAvgAggregateOutputType | null _sum: CHAROLA_COMIDASumAggregateOutputType | null @@ -5052,37 +5538,43 @@ export namespace Prisma { export type CHAROLA_COMIDASelect = $Extensions.GetSelect<{ + id?: boolean charolaId?: boolean comidaId?: boolean cantidadOtorgada?: boolean - CHAROLA?: boolean | CHAROLADefaultArgs - COMIDA?: boolean | COMIDADefaultArgs + fechaOtorgada?: boolean + CHAROLA?: boolean | CHAROLA_COMIDA$CHAROLAArgs + COMIDA?: boolean | CHAROLA_COMIDA$COMIDAArgs }, ExtArgs["result"]["cHAROLA_COMIDA"]> export type CHAROLA_COMIDASelectScalar = { + id?: boolean charolaId?: boolean comidaId?: boolean cantidadOtorgada?: boolean + fechaOtorgada?: boolean } - export type CHAROLA_COMIDAOmit = $Extensions.GetOmit<"charolaId" | "comidaId" | "cantidadOtorgada", ExtArgs["result"]["cHAROLA_COMIDA"]> + export type CHAROLA_COMIDAOmit = $Extensions.GetOmit<"id" | "charolaId" | "comidaId" | "cantidadOtorgada" | "fechaOtorgada", ExtArgs["result"]["cHAROLA_COMIDA"]> export type CHAROLA_COMIDAInclude = { - CHAROLA?: boolean | CHAROLADefaultArgs - COMIDA?: boolean | COMIDADefaultArgs + CHAROLA?: boolean | CHAROLA_COMIDA$CHAROLAArgs + COMIDA?: boolean | CHAROLA_COMIDA$COMIDAArgs } export type $CHAROLA_COMIDAPayload = { name: "CHAROLA_COMIDA" objects: { - CHAROLA: Prisma.$CHAROLAPayload - COMIDA: Prisma.$COMIDAPayload + CHAROLA: Prisma.$CHAROLAPayload | null + COMIDA: Prisma.$COMIDAPayload | null } scalars: $Extensions.GetPayloadResult<{ - charolaId: number - comidaId: number + id: number + charolaId: number | null + comidaId: number | null cantidadOtorgada: number + fechaOtorgada: Date }, ExtArgs["result"]["cHAROLA_COMIDA"]> composites: {} } @@ -5166,8 +5658,8 @@ export namespace Prisma { * // Get first 10 CHAROLA_COMIDAS * const cHAROLA_COMIDAS = await prisma.cHAROLA_COMIDA.findMany({ take: 10 }) * - * // Only select the `charolaId` - * const cHAROLA_COMIDAWithCharolaIdOnly = await prisma.cHAROLA_COMIDA.findMany({ select: { charolaId: true } }) + * // Only select the `id` + * const cHAROLA_COMIDAWithIdOnly = await prisma.cHAROLA_COMIDA.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> @@ -5423,8 +5915,8 @@ export namespace Prisma { */ export interface Prisma__CHAROLA_COMIDAClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" - CHAROLA = {}>(args?: Subset>): Prisma__CHAROLAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> - COMIDA = {}>(args?: Subset>): Prisma__COMIDAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + CHAROLA = {}>(args?: Subset>): Prisma__CHAROLAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + COMIDA = {}>(args?: Subset>): Prisma__COMIDAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -5454,9 +5946,11 @@ export namespace Prisma { * Fields of the CHAROLA_COMIDA model */ interface CHAROLA_COMIDAFieldRefs { + readonly id: FieldRef<"CHAROLA_COMIDA", 'Int'> readonly charolaId: FieldRef<"CHAROLA_COMIDA", 'Int'> readonly comidaId: FieldRef<"CHAROLA_COMIDA", 'Int'> readonly cantidadOtorgada: FieldRef<"CHAROLA_COMIDA", 'Float'> + readonly fechaOtorgada: FieldRef<"CHAROLA_COMIDA", 'DateTime'> } @@ -5799,6 +6293,44 @@ export namespace Prisma { limit?: number } + /** + * CHAROLA_COMIDA.CHAROLA + */ + export type CHAROLA_COMIDA$CHAROLAArgs = { + /** + * Select specific fields to fetch from the CHAROLA + */ + select?: CHAROLASelect | null + /** + * Omit specific fields from the CHAROLA + */ + omit?: CHAROLAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLAInclude | null + where?: CHAROLAWhereInput + } + + /** + * CHAROLA_COMIDA.COMIDA + */ + export type CHAROLA_COMIDA$COMIDAArgs = { + /** + * Select specific fields to fetch from the COMIDA + */ + select?: COMIDASelect | null + /** + * Omit specific fields from the COMIDA + */ + omit?: COMIDAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: COMIDAInclude | null + where?: COMIDAWhereInput + } + /** * CHAROLA_COMIDA without action */ @@ -5831,65 +6363,81 @@ export namespace Prisma { } export type CHAROLA_HIDRATACIONAvgAggregateOutputType = { + id: number | null charolaId: number | null hidratacionId: number | null cantidadOtorgada: number | null } export type CHAROLA_HIDRATACIONSumAggregateOutputType = { + id: number | null charolaId: number | null hidratacionId: number | null cantidadOtorgada: number | null } export type CHAROLA_HIDRATACIONMinAggregateOutputType = { + id: number | null charolaId: number | null hidratacionId: number | null cantidadOtorgada: number | null + fechaOtorgada: Date | null } export type CHAROLA_HIDRATACIONMaxAggregateOutputType = { + id: number | null charolaId: number | null hidratacionId: number | null cantidadOtorgada: number | null + fechaOtorgada: Date | null } export type CHAROLA_HIDRATACIONCountAggregateOutputType = { + id: number charolaId: number hidratacionId: number cantidadOtorgada: number + fechaOtorgada: number _all: number } export type CHAROLA_HIDRATACIONAvgAggregateInputType = { + id?: true charolaId?: true hidratacionId?: true cantidadOtorgada?: true } export type CHAROLA_HIDRATACIONSumAggregateInputType = { + id?: true charolaId?: true hidratacionId?: true cantidadOtorgada?: true } export type CHAROLA_HIDRATACIONMinAggregateInputType = { + id?: true charolaId?: true hidratacionId?: true cantidadOtorgada?: true + fechaOtorgada?: true } export type CHAROLA_HIDRATACIONMaxAggregateInputType = { + id?: true charolaId?: true hidratacionId?: true cantidadOtorgada?: true + fechaOtorgada?: true } export type CHAROLA_HIDRATACIONCountAggregateInputType = { + id?: true charolaId?: true hidratacionId?: true cantidadOtorgada?: true + fechaOtorgada?: true _all?: true } @@ -5980,9 +6528,11 @@ export namespace Prisma { } export type CHAROLA_HIDRATACIONGroupByOutputType = { - charolaId: number - hidratacionId: number - cantidadOtorgada: number | null + id: number + charolaId: number | null + hidratacionId: number | null + cantidadOtorgada: number + fechaOtorgada: Date _count: CHAROLA_HIDRATACIONCountAggregateOutputType | null _avg: CHAROLA_HIDRATACIONAvgAggregateOutputType | null _sum: CHAROLA_HIDRATACIONSumAggregateOutputType | null @@ -6005,37 +6555,43 @@ export namespace Prisma { export type CHAROLA_HIDRATACIONSelect = $Extensions.GetSelect<{ + id?: boolean charolaId?: boolean hidratacionId?: boolean cantidadOtorgada?: boolean - CHAROLA?: boolean | CHAROLADefaultArgs - HIDRATACION?: boolean | HIDRATACIONDefaultArgs + fechaOtorgada?: boolean + CHAROLA?: boolean | CHAROLA_HIDRATACION$CHAROLAArgs + HIDRATACION?: boolean | CHAROLA_HIDRATACION$HIDRATACIONArgs }, ExtArgs["result"]["cHAROLA_HIDRATACION"]> export type CHAROLA_HIDRATACIONSelectScalar = { + id?: boolean charolaId?: boolean hidratacionId?: boolean cantidadOtorgada?: boolean + fechaOtorgada?: boolean } - export type CHAROLA_HIDRATACIONOmit = $Extensions.GetOmit<"charolaId" | "hidratacionId" | "cantidadOtorgada", ExtArgs["result"]["cHAROLA_HIDRATACION"]> + export type CHAROLA_HIDRATACIONOmit = $Extensions.GetOmit<"id" | "charolaId" | "hidratacionId" | "cantidadOtorgada" | "fechaOtorgada", ExtArgs["result"]["cHAROLA_HIDRATACION"]> export type CHAROLA_HIDRATACIONInclude = { - CHAROLA?: boolean | CHAROLADefaultArgs - HIDRATACION?: boolean | HIDRATACIONDefaultArgs + CHAROLA?: boolean | CHAROLA_HIDRATACION$CHAROLAArgs + HIDRATACION?: boolean | CHAROLA_HIDRATACION$HIDRATACIONArgs } export type $CHAROLA_HIDRATACIONPayload = { name: "CHAROLA_HIDRATACION" objects: { - CHAROLA: Prisma.$CHAROLAPayload - HIDRATACION: Prisma.$HIDRATACIONPayload + CHAROLA: Prisma.$CHAROLAPayload | null + HIDRATACION: Prisma.$HIDRATACIONPayload | null } scalars: $Extensions.GetPayloadResult<{ - charolaId: number - hidratacionId: number - cantidadOtorgada: number | null + id: number + charolaId: number | null + hidratacionId: number | null + cantidadOtorgada: number + fechaOtorgada: Date }, ExtArgs["result"]["cHAROLA_HIDRATACION"]> composites: {} } @@ -6119,8 +6675,8 @@ export namespace Prisma { * // Get first 10 CHAROLA_HIDRATACIONS * const cHAROLA_HIDRATACIONS = await prisma.cHAROLA_HIDRATACION.findMany({ take: 10 }) * - * // Only select the `charolaId` - * const cHAROLA_HIDRATACIONWithCharolaIdOnly = await prisma.cHAROLA_HIDRATACION.findMany({ select: { charolaId: true } }) + * // Only select the `id` + * const cHAROLA_HIDRATACIONWithIdOnly = await prisma.cHAROLA_HIDRATACION.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> @@ -6376,8 +6932,8 @@ export namespace Prisma { */ export interface Prisma__CHAROLA_HIDRATACIONClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" - CHAROLA = {}>(args?: Subset>): Prisma__CHAROLAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> - HIDRATACION = {}>(args?: Subset>): Prisma__HIDRATACIONClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + CHAROLA = {}>(args?: Subset>): Prisma__CHAROLAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + HIDRATACION = {}>(args?: Subset>): Prisma__HIDRATACIONClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -6407,9 +6963,11 @@ export namespace Prisma { * Fields of the CHAROLA_HIDRATACION model */ interface CHAROLA_HIDRATACIONFieldRefs { + readonly id: FieldRef<"CHAROLA_HIDRATACION", 'Int'> readonly charolaId: FieldRef<"CHAROLA_HIDRATACION", 'Int'> readonly hidratacionId: FieldRef<"CHAROLA_HIDRATACION", 'Int'> readonly cantidadOtorgada: FieldRef<"CHAROLA_HIDRATACION", 'Float'> + readonly fechaOtorgada: FieldRef<"CHAROLA_HIDRATACION", 'DateTime'> } @@ -6752,6 +7310,44 @@ export namespace Prisma { limit?: number } + /** + * CHAROLA_HIDRATACION.CHAROLA + */ + export type CHAROLA_HIDRATACION$CHAROLAArgs = { + /** + * Select specific fields to fetch from the CHAROLA + */ + select?: CHAROLASelect | null + /** + * Omit specific fields from the CHAROLA + */ + omit?: CHAROLAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLAInclude | null + where?: CHAROLAWhereInput + } + + /** + * CHAROLA_HIDRATACION.HIDRATACION + */ + export type CHAROLA_HIDRATACION$HIDRATACIONArgs = { + /** + * Select specific fields to fetch from the HIDRATACION + */ + select?: HIDRATACIONSelect | null + /** + * Omit specific fields from the HIDRATACION + */ + omit?: HIDRATACIONOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: HIDRATACIONInclude | null + where?: HIDRATACIONWhereInput + } + /** * CHAROLA_HIDRATACION without action */ @@ -7751,64 +8347,70 @@ export namespace Prisma { } export type FRASAvgAggregateOutputType = { - frassId: number | null + frasId: number | null gramosGenerados: number | null charolaId: number | null } export type FRASSumAggregateOutputType = { - frassId: number | null + frasId: number | null gramosGenerados: number | null charolaId: number | null } export type FRASMinAggregateOutputType = { - frassId: number | null + frasId: number | null gramosGenerados: number | null + fechaRegistro: Date | null charolaId: number | null } export type FRASMaxAggregateOutputType = { - frassId: number | null + frasId: number | null gramosGenerados: number | null + fechaRegistro: Date | null charolaId: number | null } export type FRASCountAggregateOutputType = { - frassId: number + frasId: number gramosGenerados: number + fechaRegistro: number charolaId: number _all: number } export type FRASAvgAggregateInputType = { - frassId?: true + frasId?: true gramosGenerados?: true charolaId?: true } export type FRASSumAggregateInputType = { - frassId?: true + frasId?: true gramosGenerados?: true charolaId?: true } export type FRASMinAggregateInputType = { - frassId?: true + frasId?: true gramosGenerados?: true + fechaRegistro?: true charolaId?: true } export type FRASMaxAggregateInputType = { - frassId?: true + frasId?: true gramosGenerados?: true + fechaRegistro?: true charolaId?: true } export type FRASCountAggregateInputType = { - frassId?: true + frasId?: true gramosGenerados?: true + fechaRegistro?: true charolaId?: true _all?: true } @@ -7900,8 +8502,9 @@ export namespace Prisma { } export type FRASGroupByOutputType = { - frassId: number + frasId: number gramosGenerados: number + fechaRegistro: Date | null charolaId: number | null _count: FRASCountAggregateOutputType | null _avg: FRASAvgAggregateOutputType | null @@ -7925,33 +8528,41 @@ export namespace Prisma { export type FRASSelect = $Extensions.GetSelect<{ - frassId?: boolean + frasId?: boolean gramosGenerados?: boolean + fechaRegistro?: boolean charolaId?: boolean + CHAROLA_FRAS?: boolean | FRAS$CHAROLA_FRASArgs CHAROLA?: boolean | FRAS$CHAROLAArgs + _count?: boolean | FRASCountOutputTypeDefaultArgs }, ExtArgs["result"]["fRAS"]> export type FRASSelectScalar = { - frassId?: boolean + frasId?: boolean gramosGenerados?: boolean + fechaRegistro?: boolean charolaId?: boolean } - export type FRASOmit = $Extensions.GetOmit<"frassId" | "gramosGenerados" | "charolaId", ExtArgs["result"]["fRAS"]> + export type FRASOmit = $Extensions.GetOmit<"frasId" | "gramosGenerados" | "fechaRegistro" | "charolaId", ExtArgs["result"]["fRAS"]> export type FRASInclude = { + CHAROLA_FRAS?: boolean | FRAS$CHAROLA_FRASArgs CHAROLA?: boolean | FRAS$CHAROLAArgs + _count?: boolean | FRASCountOutputTypeDefaultArgs } export type $FRASPayload = { name: "FRAS" objects: { + CHAROLA_FRAS: Prisma.$CHAROLA_FRASPayload[] CHAROLA: Prisma.$CHAROLAPayload | null } scalars: $Extensions.GetPayloadResult<{ - frassId: number + frasId: number gramosGenerados: number + fechaRegistro: Date | null charolaId: number | null }, ExtArgs["result"]["fRAS"]> composites: {} @@ -8036,8 +8647,8 @@ export namespace Prisma { * // Get first 10 FRAS * const fRAS = await prisma.fRAS.findMany({ take: 10 }) * - * // Only select the `frassId` - * const fRASWithFrassIdOnly = await prisma.fRAS.findMany({ select: { frassId: true } }) + * // Only select the `frasId` + * const fRASWithFrasIdOnly = await prisma.fRAS.findMany({ select: { frasId: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> @@ -8293,6 +8904,7 @@ export namespace Prisma { */ export interface Prisma__FRASClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" + CHAROLA_FRAS = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> CHAROLA = {}>(args?: Subset>): Prisma__CHAROLAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. @@ -8323,8 +8935,9 @@ export namespace Prisma { * Fields of the FRAS model */ interface FRASFieldRefs { - readonly frassId: FieldRef<"FRAS", 'Int'> + readonly frasId: FieldRef<"FRAS", 'Int'> readonly gramosGenerados: FieldRef<"FRAS", 'Float'> + readonly fechaRegistro: FieldRef<"FRAS", 'DateTime'> readonly charolaId: FieldRef<"FRAS", 'Int'> } @@ -8668,6 +9281,30 @@ export namespace Prisma { limit?: number } + /** + * FRAS.CHAROLA_FRAS + */ + export type FRAS$CHAROLA_FRASArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + where?: CHAROLA_FRASWhereInput + orderBy?: CHAROLA_FRASOrderByWithRelationInput | CHAROLA_FRASOrderByWithRelationInput[] + cursor?: CHAROLA_FRASWhereUniqueInput + take?: number + skip?: number + distinct?: CHAROLA_FRASScalarFieldEnum | CHAROLA_FRASScalarFieldEnum[] + } + /** * FRAS.CHAROLA */ @@ -9506,7 +10143,7 @@ export namespace Prisma { /** * The data needed to create a HIDRATACION. */ - data: XOR + data?: XOR } /** @@ -11640,93 +12277,3861 @@ export namespace Prisma { /** - * Enums + * Model CHAROLA_FRAS */ - export const TransactionIsolationLevel: { - ReadUncommitted: 'ReadUncommitted', - ReadCommitted: 'ReadCommitted', - RepeatableRead: 'RepeatableRead', - Serializable: 'Serializable' - }; - - export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + export type AggregateCHAROLA_FRAS = { + _count: CHAROLA_FRASCountAggregateOutputType | null + _avg: CHAROLA_FRASAvgAggregateOutputType | null + _sum: CHAROLA_FRASSumAggregateOutputType | null + _min: CHAROLA_FRASMinAggregateOutputType | null + _max: CHAROLA_FRASMaxAggregateOutputType | null + } + export type CHAROLA_FRASAvgAggregateOutputType = { + charolaId: number | null + frasId: number | null + } - export const ADMINISTRADORScalarFieldEnum: { - adminId: 'adminId', - usuarioId: 'usuarioId' - }; + export type CHAROLA_FRASSumAggregateOutputType = { + charolaId: number | null + frasId: number | null + } - export type ADMINISTRADORScalarFieldEnum = (typeof ADMINISTRADORScalarFieldEnum)[keyof typeof ADMINISTRADORScalarFieldEnum] + export type CHAROLA_FRASMinAggregateOutputType = { + charolaId: number | null + frasId: number | null + } + export type CHAROLA_FRASMaxAggregateOutputType = { + charolaId: number | null + frasId: number | null + } - export const CHAROLAScalarFieldEnum: { - charolaId: 'charolaId', - nombreCharola: 'nombreCharola', - comidaCiclo: 'comidaCiclo', - hidratacionCiclo: 'hidratacionCiclo', - fechaActualizacion: 'fechaActualizacion', - estado: 'estado', - densidadLarva: 'densidadLarva', - fechaCreacion: 'fechaCreacion', - pesoCharola: 'pesoCharola' - }; + export type CHAROLA_FRASCountAggregateOutputType = { + charolaId: number + frasId: number + _all: number + } - export type CHAROLAScalarFieldEnum = (typeof CHAROLAScalarFieldEnum)[keyof typeof CHAROLAScalarFieldEnum] + export type CHAROLA_FRASAvgAggregateInputType = { + charolaId?: true + frasId?: true + } - export const CHAROLA_CHAROLAScalarFieldEnum: { - charolaHija: 'charolaHija', - charolaAncestro: 'charolaAncestro' - }; + export type CHAROLA_FRASSumAggregateInputType = { + charolaId?: true + frasId?: true + } - export type CHAROLA_CHAROLAScalarFieldEnum = (typeof CHAROLA_CHAROLAScalarFieldEnum)[keyof typeof CHAROLA_CHAROLAScalarFieldEnum] + export type CHAROLA_FRASMinAggregateInputType = { + charolaId?: true + frasId?: true + } + export type CHAROLA_FRASMaxAggregateInputType = { + charolaId?: true + frasId?: true + } - export const CHAROLA_COMIDAScalarFieldEnum: { - charolaId: 'charolaId', - comidaId: 'comidaId', - cantidadOtorgada: 'cantidadOtorgada' - }; + export type CHAROLA_FRASCountAggregateInputType = { + charolaId?: true + frasId?: true + _all?: true + } - export type CHAROLA_COMIDAScalarFieldEnum = (typeof CHAROLA_COMIDAScalarFieldEnum)[keyof typeof CHAROLA_COMIDAScalarFieldEnum] + export type CHAROLA_FRASAggregateArgs = { + /** + * Filter which CHAROLA_FRAS to aggregate. + */ + where?: CHAROLA_FRASWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_FRAS to fetch. + */ + orderBy?: CHAROLA_FRASOrderByWithRelationInput | CHAROLA_FRASOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: CHAROLA_FRASWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_FRAS 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` CHAROLA_FRAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned CHAROLA_FRAS + **/ + _count?: true | CHAROLA_FRASCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: CHAROLA_FRASAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: CHAROLA_FRASSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CHAROLA_FRASMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CHAROLA_FRASMaxAggregateInputType + } + export type GetCHAROLA_FRASAggregateType = { + [P in keyof T & keyof AggregateCHAROLA_FRAS]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } - export const CHAROLA_HIDRATACIONScalarFieldEnum: { - charolaId: 'charolaId', - hidratacionId: 'hidratacionId', - cantidadOtorgada: 'cantidadOtorgada' - }; - export type CHAROLA_HIDRATACIONScalarFieldEnum = (typeof CHAROLA_HIDRATACIONScalarFieldEnum)[keyof typeof CHAROLA_HIDRATACIONScalarFieldEnum] - export const COMIDAScalarFieldEnum: { - comidaId: 'comidaId', - nombre: 'nombre', - descripcion: 'descripcion' - }; + export type CHAROLA_FRASGroupByArgs = { + where?: CHAROLA_FRASWhereInput + orderBy?: CHAROLA_FRASOrderByWithAggregationInput | CHAROLA_FRASOrderByWithAggregationInput[] + by: CHAROLA_FRASScalarFieldEnum[] | CHAROLA_FRASScalarFieldEnum + having?: CHAROLA_FRASScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CHAROLA_FRASCountAggregateInputType | true + _avg?: CHAROLA_FRASAvgAggregateInputType + _sum?: CHAROLA_FRASSumAggregateInputType + _min?: CHAROLA_FRASMinAggregateInputType + _max?: CHAROLA_FRASMaxAggregateInputType + } - export type COMIDAScalarFieldEnum = (typeof COMIDAScalarFieldEnum)[keyof typeof COMIDAScalarFieldEnum] + export type CHAROLA_FRASGroupByOutputType = { + charolaId: number + frasId: number + _count: CHAROLA_FRASCountAggregateOutputType | null + _avg: CHAROLA_FRASAvgAggregateOutputType | null + _sum: CHAROLA_FRASSumAggregateOutputType | null + _min: CHAROLA_FRASMinAggregateOutputType | null + _max: CHAROLA_FRASMaxAggregateOutputType | null + } + type GetCHAROLA_FRASGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof CHAROLA_FRASGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > - export const FRASScalarFieldEnum: { - frassId: 'frassId', - gramosGenerados: 'gramosGenerados', - charolaId: 'charolaId' - }; - export type FRASScalarFieldEnum = (typeof FRASScalarFieldEnum)[keyof typeof FRASScalarFieldEnum] + export type CHAROLA_FRASSelect = $Extensions.GetSelect<{ + charolaId?: boolean + frasId?: boolean + CHAROLA?: boolean | CHAROLADefaultArgs + FRAS?: boolean | FRASDefaultArgs + }, ExtArgs["result"]["cHAROLA_FRAS"]> - export const HIDRATACIONScalarFieldEnum: { - hidratacionId: 'hidratacionId', - nombre: 'nombre', - descripcion: 'descripcion' - }; - export type HIDRATACIONScalarFieldEnum = (typeof HIDRATACIONScalarFieldEnum)[keyof typeof HIDRATACIONScalarFieldEnum] + export type CHAROLA_FRASSelectScalar = { + charolaId?: boolean + frasId?: boolean + } + + export type CHAROLA_FRASOmit = $Extensions.GetOmit<"charolaId" | "frasId", ExtArgs["result"]["cHAROLA_FRAS"]> + export type CHAROLA_FRASInclude = { + CHAROLA?: boolean | CHAROLADefaultArgs + FRAS?: boolean | FRASDefaultArgs + } + + export type $CHAROLA_FRASPayload = { + name: "CHAROLA_FRAS" + objects: { + CHAROLA: Prisma.$CHAROLAPayload + FRAS: Prisma.$FRASPayload + } + scalars: $Extensions.GetPayloadResult<{ + charolaId: number + frasId: number + }, ExtArgs["result"]["cHAROLA_FRAS"]> + composites: {} + } + + type CHAROLA_FRASGetPayload = $Result.GetResult + + type CHAROLA_FRASCountArgs = + Omit & { + select?: CHAROLA_FRASCountAggregateInputType | true + } + + export interface CHAROLA_FRASDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['CHAROLA_FRAS'], meta: { name: 'CHAROLA_FRAS' } } + /** + * Find zero or one CHAROLA_FRAS that matches the filter. + * @param {CHAROLA_FRASFindUniqueArgs} args - Arguments to find a CHAROLA_FRAS + * @example + * // Get one CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one CHAROLA_FRAS that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {CHAROLA_FRASFindUniqueOrThrowArgs} args - Arguments to find a CHAROLA_FRAS + * @example + * // Get one CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first CHAROLA_FRAS 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 {CHAROLA_FRASFindFirstArgs} args - Arguments to find a CHAROLA_FRAS + * @example + * // Get one CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first CHAROLA_FRAS 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 {CHAROLA_FRASFindFirstOrThrowArgs} args - Arguments to find a CHAROLA_FRAS + * @example + * // Get one CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more CHAROLA_FRAS 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 {CHAROLA_FRASFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.findMany() + * + * // Get first 10 CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.findMany({ take: 10 }) + * + * // Only select the `charolaId` + * const cHAROLA_FRASWithCharolaIdOnly = await prisma.cHAROLA_FRAS.findMany({ select: { charolaId: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a CHAROLA_FRAS. + * @param {CHAROLA_FRASCreateArgs} args - Arguments to create a CHAROLA_FRAS. + * @example + * // Create one CHAROLA_FRAS + * const CHAROLA_FRAS = await prisma.cHAROLA_FRAS.create({ + * data: { + * // ... data to create a CHAROLA_FRAS + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many CHAROLA_FRAS. + * @param {CHAROLA_FRASCreateManyArgs} args - Arguments to create many CHAROLA_FRAS. + * @example + * // Create many CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Delete a CHAROLA_FRAS. + * @param {CHAROLA_FRASDeleteArgs} args - Arguments to delete one CHAROLA_FRAS. + * @example + * // Delete one CHAROLA_FRAS + * const CHAROLA_FRAS = await prisma.cHAROLA_FRAS.delete({ + * where: { + * // ... filter to delete one CHAROLA_FRAS + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one CHAROLA_FRAS. + * @param {CHAROLA_FRASUpdateArgs} args - Arguments to update one CHAROLA_FRAS. + * @example + * // Update one CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more CHAROLA_FRAS. + * @param {CHAROLA_FRASDeleteManyArgs} args - Arguments to filter CHAROLA_FRAS to delete. + * @example + * // Delete a few CHAROLA_FRAS + * const { count } = await prisma.cHAROLA_FRAS.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more CHAROLA_FRAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_FRASUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Create or update one CHAROLA_FRAS. + * @param {CHAROLA_FRASUpsertArgs} args - Arguments to update or create a CHAROLA_FRAS. + * @example + * // Update or create a CHAROLA_FRAS + * const cHAROLA_FRAS = await prisma.cHAROLA_FRAS.upsert({ + * create: { + * // ... data to create a CHAROLA_FRAS + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the CHAROLA_FRAS we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__CHAROLA_FRASClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of CHAROLA_FRAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_FRASCountArgs} args - Arguments to filter CHAROLA_FRAS to count. + * @example + * // Count the number of CHAROLA_FRAS + * const count = await prisma.cHAROLA_FRAS.count({ + * where: { + * // ... the filter for the CHAROLA_FRAS we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a CHAROLA_FRAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_FRASAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by CHAROLA_FRAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_FRASGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends CHAROLA_FRASGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: CHAROLA_FRASGroupByArgs['orderBy'] } + : { orderBy?: CHAROLA_FRASGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCHAROLA_FRASGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the CHAROLA_FRAS model + */ + readonly fields: CHAROLA_FRASFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for CHAROLA_FRAS. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__CHAROLA_FRASClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + CHAROLA = {}>(args?: Subset>): Prisma__CHAROLAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + FRAS = {}>(args?: Subset>): Prisma__FRASClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the CHAROLA_FRAS model + */ + interface CHAROLA_FRASFieldRefs { + readonly charolaId: FieldRef<"CHAROLA_FRAS", 'Int'> + readonly frasId: FieldRef<"CHAROLA_FRAS", 'Int'> + } + + + // Custom InputTypes + /** + * CHAROLA_FRAS findUnique + */ + export type CHAROLA_FRASFindUniqueArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * Filter, which CHAROLA_FRAS to fetch. + */ + where: CHAROLA_FRASWhereUniqueInput + } + + /** + * CHAROLA_FRAS findUniqueOrThrow + */ + export type CHAROLA_FRASFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * Filter, which CHAROLA_FRAS to fetch. + */ + where: CHAROLA_FRASWhereUniqueInput + } + + /** + * CHAROLA_FRAS findFirst + */ + export type CHAROLA_FRASFindFirstArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * Filter, which CHAROLA_FRAS to fetch. + */ + where?: CHAROLA_FRASWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_FRAS to fetch. + */ + orderBy?: CHAROLA_FRASOrderByWithRelationInput | CHAROLA_FRASOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for CHAROLA_FRAS. + */ + cursor?: CHAROLA_FRASWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_FRAS 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` CHAROLA_FRAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of CHAROLA_FRAS. + */ + distinct?: CHAROLA_FRASScalarFieldEnum | CHAROLA_FRASScalarFieldEnum[] + } + + /** + * CHAROLA_FRAS findFirstOrThrow + */ + export type CHAROLA_FRASFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * Filter, which CHAROLA_FRAS to fetch. + */ + where?: CHAROLA_FRASWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_FRAS to fetch. + */ + orderBy?: CHAROLA_FRASOrderByWithRelationInput | CHAROLA_FRASOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for CHAROLA_FRAS. + */ + cursor?: CHAROLA_FRASWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_FRAS 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` CHAROLA_FRAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of CHAROLA_FRAS. + */ + distinct?: CHAROLA_FRASScalarFieldEnum | CHAROLA_FRASScalarFieldEnum[] + } + + /** + * CHAROLA_FRAS findMany + */ + export type CHAROLA_FRASFindManyArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * Filter, which CHAROLA_FRAS to fetch. + */ + where?: CHAROLA_FRASWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_FRAS to fetch. + */ + orderBy?: CHAROLA_FRASOrderByWithRelationInput | CHAROLA_FRASOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing CHAROLA_FRAS. + */ + cursor?: CHAROLA_FRASWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_FRAS 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` CHAROLA_FRAS. + */ + skip?: number + distinct?: CHAROLA_FRASScalarFieldEnum | CHAROLA_FRASScalarFieldEnum[] + } + + /** + * CHAROLA_FRAS create + */ + export type CHAROLA_FRASCreateArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * The data needed to create a CHAROLA_FRAS. + */ + data: XOR + } + + /** + * CHAROLA_FRAS createMany + */ + export type CHAROLA_FRASCreateManyArgs = { + /** + * The data used to create many CHAROLA_FRAS. + */ + data: CHAROLA_FRASCreateManyInput | CHAROLA_FRASCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * CHAROLA_FRAS update + */ + export type CHAROLA_FRASUpdateArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * The data needed to update a CHAROLA_FRAS. + */ + data: XOR + /** + * Choose, which CHAROLA_FRAS to update. + */ + where: CHAROLA_FRASWhereUniqueInput + } + + /** + * CHAROLA_FRAS updateMany + */ + export type CHAROLA_FRASUpdateManyArgs = { + /** + * The data used to update CHAROLA_FRAS. + */ + data: XOR + /** + * Filter which CHAROLA_FRAS to update + */ + where?: CHAROLA_FRASWhereInput + /** + * Limit how many CHAROLA_FRAS to update. + */ + limit?: number + } + + /** + * CHAROLA_FRAS upsert + */ + export type CHAROLA_FRASUpsertArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * The filter to search for the CHAROLA_FRAS to update in case it exists. + */ + where: CHAROLA_FRASWhereUniqueInput + /** + * In case the CHAROLA_FRAS found by the `where` argument doesn't exist, create a new CHAROLA_FRAS with this data. + */ + create: XOR + /** + * In case the CHAROLA_FRAS was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * CHAROLA_FRAS delete + */ + export type CHAROLA_FRASDeleteArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + /** + * Filter which CHAROLA_FRAS to delete. + */ + where: CHAROLA_FRASWhereUniqueInput + } + + /** + * CHAROLA_FRAS deleteMany + */ + export type CHAROLA_FRASDeleteManyArgs = { + /** + * Filter which CHAROLA_FRAS to delete + */ + where?: CHAROLA_FRASWhereInput + /** + * Limit how many CHAROLA_FRAS to delete. + */ + limit?: number + } + + /** + * CHAROLA_FRAS without action + */ + export type CHAROLA_FRASDefaultArgs = { + /** + * Select specific fields to fetch from the CHAROLA_FRAS + */ + select?: CHAROLA_FRASSelect | null + /** + * Omit specific fields from the CHAROLA_FRAS + */ + omit?: CHAROLA_FRASOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_FRASInclude | null + } + + + /** + * Model CHAROLA_PUPA + */ + + export type AggregateCHAROLA_PUPA = { + _count: CHAROLA_PUPACountAggregateOutputType | null + _avg: CHAROLA_PUPAAvgAggregateOutputType | null + _sum: CHAROLA_PUPASumAggregateOutputType | null + _min: CHAROLA_PUPAMinAggregateOutputType | null + _max: CHAROLA_PUPAMaxAggregateOutputType | null + } + + export type CHAROLA_PUPAAvgAggregateOutputType = { + charolaId: number | null + pupaId: number | null + } + + export type CHAROLA_PUPASumAggregateOutputType = { + charolaId: number | null + pupaId: number | null + } + + export type CHAROLA_PUPAMinAggregateOutputType = { + charolaId: number | null + pupaId: number | null + } + + export type CHAROLA_PUPAMaxAggregateOutputType = { + charolaId: number | null + pupaId: number | null + } + + export type CHAROLA_PUPACountAggregateOutputType = { + charolaId: number + pupaId: number + _all: number + } + + + export type CHAROLA_PUPAAvgAggregateInputType = { + charolaId?: true + pupaId?: true + } + + export type CHAROLA_PUPASumAggregateInputType = { + charolaId?: true + pupaId?: true + } + + export type CHAROLA_PUPAMinAggregateInputType = { + charolaId?: true + pupaId?: true + } + + export type CHAROLA_PUPAMaxAggregateInputType = { + charolaId?: true + pupaId?: true + } + + export type CHAROLA_PUPACountAggregateInputType = { + charolaId?: true + pupaId?: true + _all?: true + } + + export type CHAROLA_PUPAAggregateArgs = { + /** + * Filter which CHAROLA_PUPA to aggregate. + */ + where?: CHAROLA_PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_PUPAS to fetch. + */ + orderBy?: CHAROLA_PUPAOrderByWithRelationInput | CHAROLA_PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: CHAROLA_PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_PUPAS 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` CHAROLA_PUPAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned CHAROLA_PUPAS + **/ + _count?: true | CHAROLA_PUPACountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: CHAROLA_PUPAAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: CHAROLA_PUPASumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CHAROLA_PUPAMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CHAROLA_PUPAMaxAggregateInputType + } + + export type GetCHAROLA_PUPAAggregateType = { + [P in keyof T & keyof AggregateCHAROLA_PUPA]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type CHAROLA_PUPAGroupByArgs = { + where?: CHAROLA_PUPAWhereInput + orderBy?: CHAROLA_PUPAOrderByWithAggregationInput | CHAROLA_PUPAOrderByWithAggregationInput[] + by: CHAROLA_PUPAScalarFieldEnum[] | CHAROLA_PUPAScalarFieldEnum + having?: CHAROLA_PUPAScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CHAROLA_PUPACountAggregateInputType | true + _avg?: CHAROLA_PUPAAvgAggregateInputType + _sum?: CHAROLA_PUPASumAggregateInputType + _min?: CHAROLA_PUPAMinAggregateInputType + _max?: CHAROLA_PUPAMaxAggregateInputType + } + + export type CHAROLA_PUPAGroupByOutputType = { + charolaId: number + pupaId: number + _count: CHAROLA_PUPACountAggregateOutputType | null + _avg: CHAROLA_PUPAAvgAggregateOutputType | null + _sum: CHAROLA_PUPASumAggregateOutputType | null + _min: CHAROLA_PUPAMinAggregateOutputType | null + _max: CHAROLA_PUPAMaxAggregateOutputType | null + } + + type GetCHAROLA_PUPAGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof CHAROLA_PUPAGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type CHAROLA_PUPASelect = $Extensions.GetSelect<{ + charolaId?: boolean + pupaId?: boolean + CHAROLA?: boolean | CHAROLADefaultArgs + PUPA?: boolean | PUPADefaultArgs + }, ExtArgs["result"]["cHAROLA_PUPA"]> + + + + export type CHAROLA_PUPASelectScalar = { + charolaId?: boolean + pupaId?: boolean + } + + export type CHAROLA_PUPAOmit = $Extensions.GetOmit<"charolaId" | "pupaId", ExtArgs["result"]["cHAROLA_PUPA"]> + export type CHAROLA_PUPAInclude = { + CHAROLA?: boolean | CHAROLADefaultArgs + PUPA?: boolean | PUPADefaultArgs + } + + export type $CHAROLA_PUPAPayload = { + name: "CHAROLA_PUPA" + objects: { + CHAROLA: Prisma.$CHAROLAPayload + PUPA: Prisma.$PUPAPayload + } + scalars: $Extensions.GetPayloadResult<{ + charolaId: number + pupaId: number + }, ExtArgs["result"]["cHAROLA_PUPA"]> + composites: {} + } + + type CHAROLA_PUPAGetPayload = $Result.GetResult + + type CHAROLA_PUPACountArgs = + Omit & { + select?: CHAROLA_PUPACountAggregateInputType | true + } + + export interface CHAROLA_PUPADelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['CHAROLA_PUPA'], meta: { name: 'CHAROLA_PUPA' } } + /** + * Find zero or one CHAROLA_PUPA that matches the filter. + * @param {CHAROLA_PUPAFindUniqueArgs} args - Arguments to find a CHAROLA_PUPA + * @example + * // Get one CHAROLA_PUPA + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one CHAROLA_PUPA that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {CHAROLA_PUPAFindUniqueOrThrowArgs} args - Arguments to find a CHAROLA_PUPA + * @example + * // Get one CHAROLA_PUPA + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first CHAROLA_PUPA 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 {CHAROLA_PUPAFindFirstArgs} args - Arguments to find a CHAROLA_PUPA + * @example + * // Get one CHAROLA_PUPA + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first CHAROLA_PUPA 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 {CHAROLA_PUPAFindFirstOrThrowArgs} args - Arguments to find a CHAROLA_PUPA + * @example + * // Get one CHAROLA_PUPA + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more CHAROLA_PUPAS 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 {CHAROLA_PUPAFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all CHAROLA_PUPAS + * const cHAROLA_PUPAS = await prisma.cHAROLA_PUPA.findMany() + * + * // Get first 10 CHAROLA_PUPAS + * const cHAROLA_PUPAS = await prisma.cHAROLA_PUPA.findMany({ take: 10 }) + * + * // Only select the `charolaId` + * const cHAROLA_PUPAWithCharolaIdOnly = await prisma.cHAROLA_PUPA.findMany({ select: { charolaId: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a CHAROLA_PUPA. + * @param {CHAROLA_PUPACreateArgs} args - Arguments to create a CHAROLA_PUPA. + * @example + * // Create one CHAROLA_PUPA + * const CHAROLA_PUPA = await prisma.cHAROLA_PUPA.create({ + * data: { + * // ... data to create a CHAROLA_PUPA + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many CHAROLA_PUPAS. + * @param {CHAROLA_PUPACreateManyArgs} args - Arguments to create many CHAROLA_PUPAS. + * @example + * // Create many CHAROLA_PUPAS + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Delete a CHAROLA_PUPA. + * @param {CHAROLA_PUPADeleteArgs} args - Arguments to delete one CHAROLA_PUPA. + * @example + * // Delete one CHAROLA_PUPA + * const CHAROLA_PUPA = await prisma.cHAROLA_PUPA.delete({ + * where: { + * // ... filter to delete one CHAROLA_PUPA + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one CHAROLA_PUPA. + * @param {CHAROLA_PUPAUpdateArgs} args - Arguments to update one CHAROLA_PUPA. + * @example + * // Update one CHAROLA_PUPA + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more CHAROLA_PUPAS. + * @param {CHAROLA_PUPADeleteManyArgs} args - Arguments to filter CHAROLA_PUPAS to delete. + * @example + * // Delete a few CHAROLA_PUPAS + * const { count } = await prisma.cHAROLA_PUPA.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more CHAROLA_PUPAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_PUPAUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many CHAROLA_PUPAS + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Create or update one CHAROLA_PUPA. + * @param {CHAROLA_PUPAUpsertArgs} args - Arguments to update or create a CHAROLA_PUPA. + * @example + * // Update or create a CHAROLA_PUPA + * const cHAROLA_PUPA = await prisma.cHAROLA_PUPA.upsert({ + * create: { + * // ... data to create a CHAROLA_PUPA + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the CHAROLA_PUPA we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__CHAROLA_PUPAClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of CHAROLA_PUPAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_PUPACountArgs} args - Arguments to filter CHAROLA_PUPAS to count. + * @example + * // Count the number of CHAROLA_PUPAS + * const count = await prisma.cHAROLA_PUPA.count({ + * where: { + * // ... the filter for the CHAROLA_PUPAS we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a CHAROLA_PUPA. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_PUPAAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by CHAROLA_PUPA. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CHAROLA_PUPAGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends CHAROLA_PUPAGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: CHAROLA_PUPAGroupByArgs['orderBy'] } + : { orderBy?: CHAROLA_PUPAGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCHAROLA_PUPAGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the CHAROLA_PUPA model + */ + readonly fields: CHAROLA_PUPAFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for CHAROLA_PUPA. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__CHAROLA_PUPAClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + CHAROLA = {}>(args?: Subset>): Prisma__CHAROLAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + PUPA = {}>(args?: Subset>): Prisma__PUPAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the CHAROLA_PUPA model + */ + interface CHAROLA_PUPAFieldRefs { + readonly charolaId: FieldRef<"CHAROLA_PUPA", 'Int'> + readonly pupaId: FieldRef<"CHAROLA_PUPA", 'Int'> + } + + + // Custom InputTypes + /** + * CHAROLA_PUPA findUnique + */ + export type CHAROLA_PUPAFindUniqueArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * Filter, which CHAROLA_PUPA to fetch. + */ + where: CHAROLA_PUPAWhereUniqueInput + } + + /** + * CHAROLA_PUPA findUniqueOrThrow + */ + export type CHAROLA_PUPAFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * Filter, which CHAROLA_PUPA to fetch. + */ + where: CHAROLA_PUPAWhereUniqueInput + } + + /** + * CHAROLA_PUPA findFirst + */ + export type CHAROLA_PUPAFindFirstArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * Filter, which CHAROLA_PUPA to fetch. + */ + where?: CHAROLA_PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_PUPAS to fetch. + */ + orderBy?: CHAROLA_PUPAOrderByWithRelationInput | CHAROLA_PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for CHAROLA_PUPAS. + */ + cursor?: CHAROLA_PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_PUPAS 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` CHAROLA_PUPAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of CHAROLA_PUPAS. + */ + distinct?: CHAROLA_PUPAScalarFieldEnum | CHAROLA_PUPAScalarFieldEnum[] + } + + /** + * CHAROLA_PUPA findFirstOrThrow + */ + export type CHAROLA_PUPAFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * Filter, which CHAROLA_PUPA to fetch. + */ + where?: CHAROLA_PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_PUPAS to fetch. + */ + orderBy?: CHAROLA_PUPAOrderByWithRelationInput | CHAROLA_PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for CHAROLA_PUPAS. + */ + cursor?: CHAROLA_PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_PUPAS 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` CHAROLA_PUPAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of CHAROLA_PUPAS. + */ + distinct?: CHAROLA_PUPAScalarFieldEnum | CHAROLA_PUPAScalarFieldEnum[] + } + + /** + * CHAROLA_PUPA findMany + */ + export type CHAROLA_PUPAFindManyArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * Filter, which CHAROLA_PUPAS to fetch. + */ + where?: CHAROLA_PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of CHAROLA_PUPAS to fetch. + */ + orderBy?: CHAROLA_PUPAOrderByWithRelationInput | CHAROLA_PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing CHAROLA_PUPAS. + */ + cursor?: CHAROLA_PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` CHAROLA_PUPAS 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` CHAROLA_PUPAS. + */ + skip?: number + distinct?: CHAROLA_PUPAScalarFieldEnum | CHAROLA_PUPAScalarFieldEnum[] + } + + /** + * CHAROLA_PUPA create + */ + export type CHAROLA_PUPACreateArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * The data needed to create a CHAROLA_PUPA. + */ + data: XOR + } + + /** + * CHAROLA_PUPA createMany + */ + export type CHAROLA_PUPACreateManyArgs = { + /** + * The data used to create many CHAROLA_PUPAS. + */ + data: CHAROLA_PUPACreateManyInput | CHAROLA_PUPACreateManyInput[] + skipDuplicates?: boolean + } + + /** + * CHAROLA_PUPA update + */ + export type CHAROLA_PUPAUpdateArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * The data needed to update a CHAROLA_PUPA. + */ + data: XOR + /** + * Choose, which CHAROLA_PUPA to update. + */ + where: CHAROLA_PUPAWhereUniqueInput + } + + /** + * CHAROLA_PUPA updateMany + */ + export type CHAROLA_PUPAUpdateManyArgs = { + /** + * The data used to update CHAROLA_PUPAS. + */ + data: XOR + /** + * Filter which CHAROLA_PUPAS to update + */ + where?: CHAROLA_PUPAWhereInput + /** + * Limit how many CHAROLA_PUPAS to update. + */ + limit?: number + } + + /** + * CHAROLA_PUPA upsert + */ + export type CHAROLA_PUPAUpsertArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * The filter to search for the CHAROLA_PUPA to update in case it exists. + */ + where: CHAROLA_PUPAWhereUniqueInput + /** + * In case the CHAROLA_PUPA found by the `where` argument doesn't exist, create a new CHAROLA_PUPA with this data. + */ + create: XOR + /** + * In case the CHAROLA_PUPA was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * CHAROLA_PUPA delete + */ + export type CHAROLA_PUPADeleteArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + /** + * Filter which CHAROLA_PUPA to delete. + */ + where: CHAROLA_PUPAWhereUniqueInput + } + + /** + * CHAROLA_PUPA deleteMany + */ + export type CHAROLA_PUPADeleteManyArgs = { + /** + * Filter which CHAROLA_PUPAS to delete + */ + where?: CHAROLA_PUPAWhereInput + /** + * Limit how many CHAROLA_PUPAS to delete. + */ + limit?: number + } + + /** + * CHAROLA_PUPA without action + */ + export type CHAROLA_PUPADefaultArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + } + + + /** + * Model PUPA + */ + + export type AggregatePUPA = { + _count: PUPACountAggregateOutputType | null + _avg: PUPAAvgAggregateOutputType | null + _sum: PUPASumAggregateOutputType | null + _min: PUPAMinAggregateOutputType | null + _max: PUPAMaxAggregateOutputType | null + } + + export type PUPAAvgAggregateOutputType = { + pupaId: number | null + cantidadObtenida: number | null + } + + export type PUPASumAggregateOutputType = { + pupaId: number | null + cantidadObtenida: number | null + } + + export type PUPAMinAggregateOutputType = { + pupaId: number | null + fechaRegistro: Date | null + cantidadObtenida: number | null + } + + export type PUPAMaxAggregateOutputType = { + pupaId: number | null + fechaRegistro: Date | null + cantidadObtenida: number | null + } + + export type PUPACountAggregateOutputType = { + pupaId: number + fechaRegistro: number + cantidadObtenida: number + _all: number + } + + + export type PUPAAvgAggregateInputType = { + pupaId?: true + cantidadObtenida?: true + } + + export type PUPASumAggregateInputType = { + pupaId?: true + cantidadObtenida?: true + } + + export type PUPAMinAggregateInputType = { + pupaId?: true + fechaRegistro?: true + cantidadObtenida?: true + } + + export type PUPAMaxAggregateInputType = { + pupaId?: true + fechaRegistro?: true + cantidadObtenida?: true + } + + export type PUPACountAggregateInputType = { + pupaId?: true + fechaRegistro?: true + cantidadObtenida?: true + _all?: true + } + + export type PUPAAggregateArgs = { + /** + * Filter which PUPA to aggregate. + */ + where?: PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PUPAS to fetch. + */ + orderBy?: PUPAOrderByWithRelationInput | PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PUPAS 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` PUPAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned PUPAS + **/ + _count?: true | PUPACountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PUPAAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PUPASumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PUPAMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PUPAMaxAggregateInputType + } + + export type GetPUPAAggregateType = { + [P in keyof T & keyof AggregatePUPA]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type PUPAGroupByArgs = { + where?: PUPAWhereInput + orderBy?: PUPAOrderByWithAggregationInput | PUPAOrderByWithAggregationInput[] + by: PUPAScalarFieldEnum[] | PUPAScalarFieldEnum + having?: PUPAScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PUPACountAggregateInputType | true + _avg?: PUPAAvgAggregateInputType + _sum?: PUPASumAggregateInputType + _min?: PUPAMinAggregateInputType + _max?: PUPAMaxAggregateInputType + } + + export type PUPAGroupByOutputType = { + pupaId: number + fechaRegistro: Date | null + cantidadObtenida: number | null + _count: PUPACountAggregateOutputType | null + _avg: PUPAAvgAggregateOutputType | null + _sum: PUPASumAggregateOutputType | null + _min: PUPAMinAggregateOutputType | null + _max: PUPAMaxAggregateOutputType | null + } + + type GetPUPAGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof PUPAGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type PUPASelect = $Extensions.GetSelect<{ + pupaId?: boolean + fechaRegistro?: boolean + cantidadObtenida?: boolean + CHAROLA_PUPA?: boolean | PUPA$CHAROLA_PUPAArgs + _count?: boolean | PUPACountOutputTypeDefaultArgs + }, ExtArgs["result"]["pUPA"]> + + + + export type PUPASelectScalar = { + pupaId?: boolean + fechaRegistro?: boolean + cantidadObtenida?: boolean + } + + export type PUPAOmit = $Extensions.GetOmit<"pupaId" | "fechaRegistro" | "cantidadObtenida", ExtArgs["result"]["pUPA"]> + export type PUPAInclude = { + CHAROLA_PUPA?: boolean | PUPA$CHAROLA_PUPAArgs + _count?: boolean | PUPACountOutputTypeDefaultArgs + } + + export type $PUPAPayload = { + name: "PUPA" + objects: { + CHAROLA_PUPA: Prisma.$CHAROLA_PUPAPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + pupaId: number + fechaRegistro: Date | null + cantidadObtenida: number | null + }, ExtArgs["result"]["pUPA"]> + composites: {} + } + + type PUPAGetPayload = $Result.GetResult + + type PUPACountArgs = + Omit & { + select?: PUPACountAggregateInputType | true + } + + export interface PUPADelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['PUPA'], meta: { name: 'PUPA' } } + /** + * Find zero or one PUPA that matches the filter. + * @param {PUPAFindUniqueArgs} args - Arguments to find a PUPA + * @example + * // Get one PUPA + * const pUPA = await prisma.pUPA.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one PUPA that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PUPAFindUniqueOrThrowArgs} args - Arguments to find a PUPA + * @example + * // Get one PUPA + * const pUPA = await prisma.pUPA.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first PUPA 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 {PUPAFindFirstArgs} args - Arguments to find a PUPA + * @example + * // Get one PUPA + * const pUPA = await prisma.pUPA.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first PUPA 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 {PUPAFindFirstOrThrowArgs} args - Arguments to find a PUPA + * @example + * // Get one PUPA + * const pUPA = await prisma.pUPA.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more PUPAS 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 {PUPAFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all PUPAS + * const pUPAS = await prisma.pUPA.findMany() + * + * // Get first 10 PUPAS + * const pUPAS = await prisma.pUPA.findMany({ take: 10 }) + * + * // Only select the `pupaId` + * const pUPAWithPupaIdOnly = await prisma.pUPA.findMany({ select: { pupaId: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a PUPA. + * @param {PUPACreateArgs} args - Arguments to create a PUPA. + * @example + * // Create one PUPA + * const PUPA = await prisma.pUPA.create({ + * data: { + * // ... data to create a PUPA + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many PUPAS. + * @param {PUPACreateManyArgs} args - Arguments to create many PUPAS. + * @example + * // Create many PUPAS + * const pUPA = await prisma.pUPA.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Delete a PUPA. + * @param {PUPADeleteArgs} args - Arguments to delete one PUPA. + * @example + * // Delete one PUPA + * const PUPA = await prisma.pUPA.delete({ + * where: { + * // ... filter to delete one PUPA + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one PUPA. + * @param {PUPAUpdateArgs} args - Arguments to update one PUPA. + * @example + * // Update one PUPA + * const pUPA = await prisma.pUPA.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more PUPAS. + * @param {PUPADeleteManyArgs} args - Arguments to filter PUPAS to delete. + * @example + * // Delete a few PUPAS + * const { count } = await prisma.pUPA.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more PUPAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PUPAUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many PUPAS + * const pUPA = await prisma.pUPA.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Create or update one PUPA. + * @param {PUPAUpsertArgs} args - Arguments to update or create a PUPA. + * @example + * // Update or create a PUPA + * const pUPA = await prisma.pUPA.upsert({ + * create: { + * // ... data to create a PUPA + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the PUPA we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__PUPAClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of PUPAS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PUPACountArgs} args - Arguments to filter PUPAS to count. + * @example + * // Count the number of PUPAS + * const count = await prisma.pUPA.count({ + * where: { + * // ... the filter for the PUPAS we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a PUPA. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PUPAAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by PUPA. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PUPAGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends PUPAGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: PUPAGroupByArgs['orderBy'] } + : { orderBy?: PUPAGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPUPAGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the PUPA model + */ + readonly fields: PUPAFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for PUPA. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__PUPAClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + CHAROLA_PUPA = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, 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. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the PUPA model + */ + interface PUPAFieldRefs { + readonly pupaId: FieldRef<"PUPA", 'Int'> + readonly fechaRegistro: FieldRef<"PUPA", 'DateTime'> + readonly cantidadObtenida: FieldRef<"PUPA", 'Float'> + } + + + // Custom InputTypes + /** + * PUPA findUnique + */ + export type PUPAFindUniqueArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * Filter, which PUPA to fetch. + */ + where: PUPAWhereUniqueInput + } + + /** + * PUPA findUniqueOrThrow + */ + export type PUPAFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * Filter, which PUPA to fetch. + */ + where: PUPAWhereUniqueInput + } + + /** + * PUPA findFirst + */ + export type PUPAFindFirstArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * Filter, which PUPA to fetch. + */ + where?: PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PUPAS to fetch. + */ + orderBy?: PUPAOrderByWithRelationInput | PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for PUPAS. + */ + cursor?: PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PUPAS 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` PUPAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of PUPAS. + */ + distinct?: PUPAScalarFieldEnum | PUPAScalarFieldEnum[] + } + + /** + * PUPA findFirstOrThrow + */ + export type PUPAFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * Filter, which PUPA to fetch. + */ + where?: PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PUPAS to fetch. + */ + orderBy?: PUPAOrderByWithRelationInput | PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for PUPAS. + */ + cursor?: PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PUPAS 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` PUPAS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of PUPAS. + */ + distinct?: PUPAScalarFieldEnum | PUPAScalarFieldEnum[] + } + + /** + * PUPA findMany + */ + export type PUPAFindManyArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * Filter, which PUPAS to fetch. + */ + where?: PUPAWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PUPAS to fetch. + */ + orderBy?: PUPAOrderByWithRelationInput | PUPAOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing PUPAS. + */ + cursor?: PUPAWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PUPAS 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` PUPAS. + */ + skip?: number + distinct?: PUPAScalarFieldEnum | PUPAScalarFieldEnum[] + } + + /** + * PUPA create + */ + export type PUPACreateArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * The data needed to create a PUPA. + */ + data?: XOR + } + + /** + * PUPA createMany + */ + export type PUPACreateManyArgs = { + /** + * The data used to create many PUPAS. + */ + data: PUPACreateManyInput | PUPACreateManyInput[] + skipDuplicates?: boolean + } + + /** + * PUPA update + */ + export type PUPAUpdateArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * The data needed to update a PUPA. + */ + data: XOR + /** + * Choose, which PUPA to update. + */ + where: PUPAWhereUniqueInput + } + + /** + * PUPA updateMany + */ + export type PUPAUpdateManyArgs = { + /** + * The data used to update PUPAS. + */ + data: XOR + /** + * Filter which PUPAS to update + */ + where?: PUPAWhereInput + /** + * Limit how many PUPAS to update. + */ + limit?: number + } + + /** + * PUPA upsert + */ + export type PUPAUpsertArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * The filter to search for the PUPA to update in case it exists. + */ + where: PUPAWhereUniqueInput + /** + * In case the PUPA found by the `where` argument doesn't exist, create a new PUPA with this data. + */ + create: XOR + /** + * In case the PUPA was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * PUPA delete + */ + export type PUPADeleteArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + /** + * Filter which PUPA to delete. + */ + where: PUPAWhereUniqueInput + } + + /** + * PUPA deleteMany + */ + export type PUPADeleteManyArgs = { + /** + * Filter which PUPAS to delete + */ + where?: PUPAWhereInput + /** + * Limit how many PUPAS to delete. + */ + limit?: number + } + + /** + * PUPA.CHAROLA_PUPA + */ + export type PUPA$CHAROLA_PUPAArgs = { + /** + * Select specific fields to fetch from the CHAROLA_PUPA + */ + select?: CHAROLA_PUPASelect | null + /** + * Omit specific fields from the CHAROLA_PUPA + */ + omit?: CHAROLA_PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CHAROLA_PUPAInclude | null + where?: CHAROLA_PUPAWhereInput + orderBy?: CHAROLA_PUPAOrderByWithRelationInput | CHAROLA_PUPAOrderByWithRelationInput[] + cursor?: CHAROLA_PUPAWhereUniqueInput + take?: number + skip?: number + distinct?: CHAROLA_PUPAScalarFieldEnum | CHAROLA_PUPAScalarFieldEnum[] + } + + /** + * PUPA without action + */ + export type PUPADefaultArgs = { + /** + * Select specific fields to fetch from the PUPA + */ + select?: PUPASelect | null + /** + * Omit specific fields from the PUPA + */ + omit?: PUPAOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PUPAInclude | null + } + + + /** + * Model ELIMINACION_MOTIVO + */ + + export type AggregateELIMINACION_MOTIVO = { + _count: ELIMINACION_MOTIVOCountAggregateOutputType | null + _avg: ELIMINACION_MOTIVOAvgAggregateOutputType | null + _sum: ELIMINACION_MOTIVOSumAggregateOutputType | null + _min: ELIMINACION_MOTIVOMinAggregateOutputType | null + _max: ELIMINACION_MOTIVOMaxAggregateOutputType | null + } + + export type ELIMINACION_MOTIVOAvgAggregateOutputType = { + id: number | null + } + + export type ELIMINACION_MOTIVOSumAggregateOutputType = { + id: number | null + } + + export type ELIMINACION_MOTIVOMinAggregateOutputType = { + id: number | null + user: string | null + charola_nombre: string | null + motivo: string | null + fecha_eliminacion: Date | null + } + + export type ELIMINACION_MOTIVOMaxAggregateOutputType = { + id: number | null + user: string | null + charola_nombre: string | null + motivo: string | null + fecha_eliminacion: Date | null + } + + export type ELIMINACION_MOTIVOCountAggregateOutputType = { + id: number + user: number + charola_nombre: number + motivo: number + fecha_eliminacion: number + _all: number + } + + + export type ELIMINACION_MOTIVOAvgAggregateInputType = { + id?: true + } + + export type ELIMINACION_MOTIVOSumAggregateInputType = { + id?: true + } + + export type ELIMINACION_MOTIVOMinAggregateInputType = { + id?: true + user?: true + charola_nombre?: true + motivo?: true + fecha_eliminacion?: true + } + + export type ELIMINACION_MOTIVOMaxAggregateInputType = { + id?: true + user?: true + charola_nombre?: true + motivo?: true + fecha_eliminacion?: true + } + + export type ELIMINACION_MOTIVOCountAggregateInputType = { + id?: true + user?: true + charola_nombre?: true + motivo?: true + fecha_eliminacion?: true + _all?: true + } + + export type ELIMINACION_MOTIVOAggregateArgs = { + /** + * Filter which ELIMINACION_MOTIVO to aggregate. + */ + where?: ELIMINACION_MOTIVOWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ELIMINACION_MOTIVOS to fetch. + */ + orderBy?: ELIMINACION_MOTIVOOrderByWithRelationInput | ELIMINACION_MOTIVOOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: ELIMINACION_MOTIVOWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ELIMINACION_MOTIVOS 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` ELIMINACION_MOTIVOS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned ELIMINACION_MOTIVOS + **/ + _count?: true | ELIMINACION_MOTIVOCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ELIMINACION_MOTIVOAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ELIMINACION_MOTIVOSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ELIMINACION_MOTIVOMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ELIMINACION_MOTIVOMaxAggregateInputType + } + + export type GetELIMINACION_MOTIVOAggregateType = { + [P in keyof T & keyof AggregateELIMINACION_MOTIVO]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type ELIMINACION_MOTIVOGroupByArgs = { + where?: ELIMINACION_MOTIVOWhereInput + orderBy?: ELIMINACION_MOTIVOOrderByWithAggregationInput | ELIMINACION_MOTIVOOrderByWithAggregationInput[] + by: ELIMINACION_MOTIVOScalarFieldEnum[] | ELIMINACION_MOTIVOScalarFieldEnum + having?: ELIMINACION_MOTIVOScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ELIMINACION_MOTIVOCountAggregateInputType | true + _avg?: ELIMINACION_MOTIVOAvgAggregateInputType + _sum?: ELIMINACION_MOTIVOSumAggregateInputType + _min?: ELIMINACION_MOTIVOMinAggregateInputType + _max?: ELIMINACION_MOTIVOMaxAggregateInputType + } + + export type ELIMINACION_MOTIVOGroupByOutputType = { + id: number + user: string + charola_nombre: string + motivo: string + fecha_eliminacion: Date | null + _count: ELIMINACION_MOTIVOCountAggregateOutputType | null + _avg: ELIMINACION_MOTIVOAvgAggregateOutputType | null + _sum: ELIMINACION_MOTIVOSumAggregateOutputType | null + _min: ELIMINACION_MOTIVOMinAggregateOutputType | null + _max: ELIMINACION_MOTIVOMaxAggregateOutputType | null + } + + type GetELIMINACION_MOTIVOGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof ELIMINACION_MOTIVOGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type ELIMINACION_MOTIVOSelect = $Extensions.GetSelect<{ + id?: boolean + user?: boolean + charola_nombre?: boolean + motivo?: boolean + fecha_eliminacion?: boolean + }, ExtArgs["result"]["eLIMINACION_MOTIVO"]> + + + + export type ELIMINACION_MOTIVOSelectScalar = { + id?: boolean + user?: boolean + charola_nombre?: boolean + motivo?: boolean + fecha_eliminacion?: boolean + } + + export type ELIMINACION_MOTIVOOmit = $Extensions.GetOmit<"id" | "user" | "charola_nombre" | "motivo" | "fecha_eliminacion", ExtArgs["result"]["eLIMINACION_MOTIVO"]> + + export type $ELIMINACION_MOTIVOPayload = { + name: "ELIMINACION_MOTIVO" + objects: {} + scalars: $Extensions.GetPayloadResult<{ + id: number + user: string + charola_nombre: string + motivo: string + fecha_eliminacion: Date | null + }, ExtArgs["result"]["eLIMINACION_MOTIVO"]> + composites: {} + } + + type ELIMINACION_MOTIVOGetPayload = $Result.GetResult + + type ELIMINACION_MOTIVOCountArgs = + Omit & { + select?: ELIMINACION_MOTIVOCountAggregateInputType | true + } + + export interface ELIMINACION_MOTIVODelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['ELIMINACION_MOTIVO'], meta: { name: 'ELIMINACION_MOTIVO' } } + /** + * Find zero or one ELIMINACION_MOTIVO that matches the filter. + * @param {ELIMINACION_MOTIVOFindUniqueArgs} args - Arguments to find a ELIMINACION_MOTIVO + * @example + * // Get one ELIMINACION_MOTIVO + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one ELIMINACION_MOTIVO that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ELIMINACION_MOTIVOFindUniqueOrThrowArgs} args - Arguments to find a ELIMINACION_MOTIVO + * @example + * // Get one ELIMINACION_MOTIVO + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first ELIMINACION_MOTIVO 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 {ELIMINACION_MOTIVOFindFirstArgs} args - Arguments to find a ELIMINACION_MOTIVO + * @example + * // Get one ELIMINACION_MOTIVO + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first ELIMINACION_MOTIVO 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 {ELIMINACION_MOTIVOFindFirstOrThrowArgs} args - Arguments to find a ELIMINACION_MOTIVO + * @example + * // Get one ELIMINACION_MOTIVO + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more ELIMINACION_MOTIVOS 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 {ELIMINACION_MOTIVOFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all ELIMINACION_MOTIVOS + * const eLIMINACION_MOTIVOS = await prisma.eLIMINACION_MOTIVO.findMany() + * + * // Get first 10 ELIMINACION_MOTIVOS + * const eLIMINACION_MOTIVOS = await prisma.eLIMINACION_MOTIVO.findMany({ take: 10 }) + * + * // Only select the `id` + * const eLIMINACION_MOTIVOWithIdOnly = await prisma.eLIMINACION_MOTIVO.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a ELIMINACION_MOTIVO. + * @param {ELIMINACION_MOTIVOCreateArgs} args - Arguments to create a ELIMINACION_MOTIVO. + * @example + * // Create one ELIMINACION_MOTIVO + * const ELIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.create({ + * data: { + * // ... data to create a ELIMINACION_MOTIVO + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many ELIMINACION_MOTIVOS. + * @param {ELIMINACION_MOTIVOCreateManyArgs} args - Arguments to create many ELIMINACION_MOTIVOS. + * @example + * // Create many ELIMINACION_MOTIVOS + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Delete a ELIMINACION_MOTIVO. + * @param {ELIMINACION_MOTIVODeleteArgs} args - Arguments to delete one ELIMINACION_MOTIVO. + * @example + * // Delete one ELIMINACION_MOTIVO + * const ELIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.delete({ + * where: { + * // ... filter to delete one ELIMINACION_MOTIVO + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one ELIMINACION_MOTIVO. + * @param {ELIMINACION_MOTIVOUpdateArgs} args - Arguments to update one ELIMINACION_MOTIVO. + * @example + * // Update one ELIMINACION_MOTIVO + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more ELIMINACION_MOTIVOS. + * @param {ELIMINACION_MOTIVODeleteManyArgs} args - Arguments to filter ELIMINACION_MOTIVOS to delete. + * @example + * // Delete a few ELIMINACION_MOTIVOS + * const { count } = await prisma.eLIMINACION_MOTIVO.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more ELIMINACION_MOTIVOS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ELIMINACION_MOTIVOUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many ELIMINACION_MOTIVOS + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Create or update one ELIMINACION_MOTIVO. + * @param {ELIMINACION_MOTIVOUpsertArgs} args - Arguments to update or create a ELIMINACION_MOTIVO. + * @example + * // Update or create a ELIMINACION_MOTIVO + * const eLIMINACION_MOTIVO = await prisma.eLIMINACION_MOTIVO.upsert({ + * create: { + * // ... data to create a ELIMINACION_MOTIVO + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the ELIMINACION_MOTIVO we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__ELIMINACION_MOTIVOClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of ELIMINACION_MOTIVOS. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ELIMINACION_MOTIVOCountArgs} args - Arguments to filter ELIMINACION_MOTIVOS to count. + * @example + * // Count the number of ELIMINACION_MOTIVOS + * const count = await prisma.eLIMINACION_MOTIVO.count({ + * where: { + * // ... the filter for the ELIMINACION_MOTIVOS we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a ELIMINACION_MOTIVO. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ELIMINACION_MOTIVOAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by ELIMINACION_MOTIVO. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ELIMINACION_MOTIVOGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends ELIMINACION_MOTIVOGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: ELIMINACION_MOTIVOGroupByArgs['orderBy'] } + : { orderBy?: ELIMINACION_MOTIVOGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetELIMINACION_MOTIVOGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the ELIMINACION_MOTIVO model + */ + readonly fields: ELIMINACION_MOTIVOFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for ELIMINACION_MOTIVO. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__ELIMINACION_MOTIVOClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the ELIMINACION_MOTIVO model + */ + interface ELIMINACION_MOTIVOFieldRefs { + readonly id: FieldRef<"ELIMINACION_MOTIVO", 'Int'> + readonly user: FieldRef<"ELIMINACION_MOTIVO", 'String'> + readonly charola_nombre: FieldRef<"ELIMINACION_MOTIVO", 'String'> + readonly motivo: FieldRef<"ELIMINACION_MOTIVO", 'String'> + readonly fecha_eliminacion: FieldRef<"ELIMINACION_MOTIVO", 'DateTime'> + } + + + // Custom InputTypes + /** + * ELIMINACION_MOTIVO findUnique + */ + export type ELIMINACION_MOTIVOFindUniqueArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * Filter, which ELIMINACION_MOTIVO to fetch. + */ + where: ELIMINACION_MOTIVOWhereUniqueInput + } + + /** + * ELIMINACION_MOTIVO findUniqueOrThrow + */ + export type ELIMINACION_MOTIVOFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * Filter, which ELIMINACION_MOTIVO to fetch. + */ + where: ELIMINACION_MOTIVOWhereUniqueInput + } + + /** + * ELIMINACION_MOTIVO findFirst + */ + export type ELIMINACION_MOTIVOFindFirstArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * Filter, which ELIMINACION_MOTIVO to fetch. + */ + where?: ELIMINACION_MOTIVOWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ELIMINACION_MOTIVOS to fetch. + */ + orderBy?: ELIMINACION_MOTIVOOrderByWithRelationInput | ELIMINACION_MOTIVOOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ELIMINACION_MOTIVOS. + */ + cursor?: ELIMINACION_MOTIVOWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ELIMINACION_MOTIVOS 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` ELIMINACION_MOTIVOS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ELIMINACION_MOTIVOS. + */ + distinct?: ELIMINACION_MOTIVOScalarFieldEnum | ELIMINACION_MOTIVOScalarFieldEnum[] + } + + /** + * ELIMINACION_MOTIVO findFirstOrThrow + */ + export type ELIMINACION_MOTIVOFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * Filter, which ELIMINACION_MOTIVO to fetch. + */ + where?: ELIMINACION_MOTIVOWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ELIMINACION_MOTIVOS to fetch. + */ + orderBy?: ELIMINACION_MOTIVOOrderByWithRelationInput | ELIMINACION_MOTIVOOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ELIMINACION_MOTIVOS. + */ + cursor?: ELIMINACION_MOTIVOWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ELIMINACION_MOTIVOS 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` ELIMINACION_MOTIVOS. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ELIMINACION_MOTIVOS. + */ + distinct?: ELIMINACION_MOTIVOScalarFieldEnum | ELIMINACION_MOTIVOScalarFieldEnum[] + } + + /** + * ELIMINACION_MOTIVO findMany + */ + export type ELIMINACION_MOTIVOFindManyArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * Filter, which ELIMINACION_MOTIVOS to fetch. + */ + where?: ELIMINACION_MOTIVOWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ELIMINACION_MOTIVOS to fetch. + */ + orderBy?: ELIMINACION_MOTIVOOrderByWithRelationInput | ELIMINACION_MOTIVOOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing ELIMINACION_MOTIVOS. + */ + cursor?: ELIMINACION_MOTIVOWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ELIMINACION_MOTIVOS 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` ELIMINACION_MOTIVOS. + */ + skip?: number + distinct?: ELIMINACION_MOTIVOScalarFieldEnum | ELIMINACION_MOTIVOScalarFieldEnum[] + } + + /** + * ELIMINACION_MOTIVO create + */ + export type ELIMINACION_MOTIVOCreateArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * The data needed to create a ELIMINACION_MOTIVO. + */ + data: XOR + } + + /** + * ELIMINACION_MOTIVO createMany + */ + export type ELIMINACION_MOTIVOCreateManyArgs = { + /** + * The data used to create many ELIMINACION_MOTIVOS. + */ + data: ELIMINACION_MOTIVOCreateManyInput | ELIMINACION_MOTIVOCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * ELIMINACION_MOTIVO update + */ + export type ELIMINACION_MOTIVOUpdateArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * The data needed to update a ELIMINACION_MOTIVO. + */ + data: XOR + /** + * Choose, which ELIMINACION_MOTIVO to update. + */ + where: ELIMINACION_MOTIVOWhereUniqueInput + } + + /** + * ELIMINACION_MOTIVO updateMany + */ + export type ELIMINACION_MOTIVOUpdateManyArgs = { + /** + * The data used to update ELIMINACION_MOTIVOS. + */ + data: XOR + /** + * Filter which ELIMINACION_MOTIVOS to update + */ + where?: ELIMINACION_MOTIVOWhereInput + /** + * Limit how many ELIMINACION_MOTIVOS to update. + */ + limit?: number + } + + /** + * ELIMINACION_MOTIVO upsert + */ + export type ELIMINACION_MOTIVOUpsertArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * The filter to search for the ELIMINACION_MOTIVO to update in case it exists. + */ + where: ELIMINACION_MOTIVOWhereUniqueInput + /** + * In case the ELIMINACION_MOTIVO found by the `where` argument doesn't exist, create a new ELIMINACION_MOTIVO with this data. + */ + create: XOR + /** + * In case the ELIMINACION_MOTIVO was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * ELIMINACION_MOTIVO delete + */ + export type ELIMINACION_MOTIVODeleteArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + /** + * Filter which ELIMINACION_MOTIVO to delete. + */ + where: ELIMINACION_MOTIVOWhereUniqueInput + } + + /** + * ELIMINACION_MOTIVO deleteMany + */ + export type ELIMINACION_MOTIVODeleteManyArgs = { + /** + * Filter which ELIMINACION_MOTIVOS to delete + */ + where?: ELIMINACION_MOTIVOWhereInput + /** + * Limit how many ELIMINACION_MOTIVOS to delete. + */ + limit?: number + } + + /** + * ELIMINACION_MOTIVO without action + */ + export type ELIMINACION_MOTIVODefaultArgs = { + /** + * Select specific fields to fetch from the ELIMINACION_MOTIVO + */ + select?: ELIMINACION_MOTIVOSelect | null + /** + * Omit specific fields from the ELIMINACION_MOTIVO + */ + omit?: ELIMINACION_MOTIVOOmit | null + } + + + /** + * Enums + */ + + export const TransactionIsolationLevel: { + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' + }; + + export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + + export const ADMINISTRADORScalarFieldEnum: { + adminId: 'adminId', + usuarioId: 'usuarioId' + }; + + export type ADMINISTRADORScalarFieldEnum = (typeof ADMINISTRADORScalarFieldEnum)[keyof typeof ADMINISTRADORScalarFieldEnum] + + + export const CHAROLAScalarFieldEnum: { + charolaId: 'charolaId', + nombreCharola: 'nombreCharola', + comidaCiclo: 'comidaCiclo', + hidratacionCiclo: 'hidratacionCiclo', + fechaActualizacion: 'fechaActualizacion', + estado: 'estado', + densidadLarva: 'densidadLarva', + fechaCreacion: 'fechaCreacion', + pesoCharola: 'pesoCharola' + }; + + export type CHAROLAScalarFieldEnum = (typeof CHAROLAScalarFieldEnum)[keyof typeof CHAROLAScalarFieldEnum] + + + export const CHAROLA_CHAROLAScalarFieldEnum: { + charolaHija: 'charolaHija', + charolaAncestro: 'charolaAncestro' + }; + + export type CHAROLA_CHAROLAScalarFieldEnum = (typeof CHAROLA_CHAROLAScalarFieldEnum)[keyof typeof CHAROLA_CHAROLAScalarFieldEnum] + + + export const CHAROLA_COMIDAScalarFieldEnum: { + id: 'id', + charolaId: 'charolaId', + comidaId: 'comidaId', + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' + }; + + export type CHAROLA_COMIDAScalarFieldEnum = (typeof CHAROLA_COMIDAScalarFieldEnum)[keyof typeof CHAROLA_COMIDAScalarFieldEnum] + + + export const CHAROLA_HIDRATACIONScalarFieldEnum: { + id: 'id', + charolaId: 'charolaId', + hidratacionId: 'hidratacionId', + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' + }; + + export type CHAROLA_HIDRATACIONScalarFieldEnum = (typeof CHAROLA_HIDRATACIONScalarFieldEnum)[keyof typeof CHAROLA_HIDRATACIONScalarFieldEnum] + + + export const COMIDAScalarFieldEnum: { + comidaId: 'comidaId', + nombre: 'nombre', + descripcion: 'descripcion' + }; + + export type COMIDAScalarFieldEnum = (typeof COMIDAScalarFieldEnum)[keyof typeof COMIDAScalarFieldEnum] + + + export const FRASScalarFieldEnum: { + frasId: 'frasId', + gramosGenerados: 'gramosGenerados', + fechaRegistro: 'fechaRegistro', + charolaId: 'charolaId' + }; + + export type FRASScalarFieldEnum = (typeof FRASScalarFieldEnum)[keyof typeof FRASScalarFieldEnum] + + + export const HIDRATACIONScalarFieldEnum: { + hidratacionId: 'hidratacionId', + nombre: 'nombre', + descripcion: 'descripcion' + }; + + export type HIDRATACIONScalarFieldEnum = (typeof HIDRATACIONScalarFieldEnum)[keyof typeof HIDRATACIONScalarFieldEnum] export const USUARIOScalarFieldEnum: { @@ -11749,6 +16154,42 @@ export namespace Prisma { export type USUARIO_CHAROLAScalarFieldEnum = (typeof USUARIO_CHAROLAScalarFieldEnum)[keyof typeof USUARIO_CHAROLAScalarFieldEnum] + export const CHAROLA_FRASScalarFieldEnum: { + charolaId: 'charolaId', + frasId: 'frasId' + }; + + export type CHAROLA_FRASScalarFieldEnum = (typeof CHAROLA_FRASScalarFieldEnum)[keyof typeof CHAROLA_FRASScalarFieldEnum] + + + export const CHAROLA_PUPAScalarFieldEnum: { + charolaId: 'charolaId', + pupaId: 'pupaId' + }; + + export type CHAROLA_PUPAScalarFieldEnum = (typeof CHAROLA_PUPAScalarFieldEnum)[keyof typeof CHAROLA_PUPAScalarFieldEnum] + + + export const PUPAScalarFieldEnum: { + pupaId: 'pupaId', + fechaRegistro: 'fechaRegistro', + cantidadObtenida: 'cantidadObtenida' + }; + + export type PUPAScalarFieldEnum = (typeof PUPAScalarFieldEnum)[keyof typeof PUPAScalarFieldEnum] + + + export const ELIMINACION_MOTIVOScalarFieldEnum: { + id: 'id', + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo', + fecha_eliminacion: 'fecha_eliminacion' + }; + + export type ELIMINACION_MOTIVOScalarFieldEnum = (typeof ELIMINACION_MOTIVOScalarFieldEnum)[keyof typeof ELIMINACION_MOTIVOScalarFieldEnum] + + export const SortOrder: { asc: 'asc', desc: 'desc' @@ -11800,6 +16241,15 @@ export namespace Prisma { export type USUARIOOrderByRelevanceFieldEnum = (typeof USUARIOOrderByRelevanceFieldEnum)[keyof typeof USUARIOOrderByRelevanceFieldEnum] + export const ELIMINACION_MOTIVOOrderByRelevanceFieldEnum: { + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo' + }; + + export type ELIMINACION_MOTIVOOrderByRelevanceFieldEnum = (typeof ELIMINACION_MOTIVOOrderByRelevanceFieldEnum)[keyof typeof ELIMINACION_MOTIVOOrderByRelevanceFieldEnum] + + /** * Field references */ @@ -11887,14 +16337,16 @@ export namespace Prisma { comidaCiclo?: FloatFilter<"CHAROLA"> | number hidratacionCiclo?: FloatFilter<"CHAROLA"> | number fechaActualizacion?: DateTimeNullableFilter<"CHAROLA"> | Date | string | null - estado?: StringNullableFilter<"CHAROLA"> | string | null + estado?: StringFilter<"CHAROLA"> | string densidadLarva?: FloatNullableFilter<"CHAROLA"> | number | null - fechaCreacion?: DateTimeNullableFilter<"CHAROLA"> | Date | string | null + fechaCreacion?: DateTimeFilter<"CHAROLA"> | Date | string pesoCharola?: FloatNullableFilter<"CHAROLA"> | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAListRelationFilter CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAListRelationFilter CHAROLA_COMIDA?: CHAROLA_COMIDAListRelationFilter + CHAROLA_FRAS?: CHAROLA_FRASListRelationFilter CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONListRelationFilter + CHAROLA_PUPA?: CHAROLA_PUPAListRelationFilter FRAS?: FRASListRelationFilter USUARIO_CHAROLA?: USUARIO_CHAROLAListRelationFilter } @@ -11905,14 +16357,16 @@ export namespace Prisma { comidaCiclo?: SortOrder hidratacionCiclo?: SortOrder fechaActualizacion?: SortOrderInput | SortOrder - estado?: SortOrderInput | SortOrder + estado?: SortOrder densidadLarva?: SortOrderInput | SortOrder - fechaCreacion?: SortOrderInput | SortOrder + fechaCreacion?: SortOrder pesoCharola?: SortOrderInput | SortOrder CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAOrderByRelationAggregateInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAOrderByRelationAggregateInput CHAROLA_COMIDA?: CHAROLA_COMIDAOrderByRelationAggregateInput + CHAROLA_FRAS?: CHAROLA_FRASOrderByRelationAggregateInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONOrderByRelationAggregateInput + CHAROLA_PUPA?: CHAROLA_PUPAOrderByRelationAggregateInput FRAS?: FRASOrderByRelationAggregateInput USUARIO_CHAROLA?: USUARIO_CHAROLAOrderByRelationAggregateInput _relevance?: CHAROLAOrderByRelevanceInput @@ -11927,14 +16381,16 @@ export namespace Prisma { comidaCiclo?: FloatFilter<"CHAROLA"> | number hidratacionCiclo?: FloatFilter<"CHAROLA"> | number fechaActualizacion?: DateTimeNullableFilter<"CHAROLA"> | Date | string | null - estado?: StringNullableFilter<"CHAROLA"> | string | null + estado?: StringFilter<"CHAROLA"> | string densidadLarva?: FloatNullableFilter<"CHAROLA"> | number | null - fechaCreacion?: DateTimeNullableFilter<"CHAROLA"> | Date | string | null + fechaCreacion?: DateTimeFilter<"CHAROLA"> | Date | string pesoCharola?: FloatNullableFilter<"CHAROLA"> | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAListRelationFilter CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAListRelationFilter CHAROLA_COMIDA?: CHAROLA_COMIDAListRelationFilter + CHAROLA_FRAS?: CHAROLA_FRASListRelationFilter CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONListRelationFilter + CHAROLA_PUPA?: CHAROLA_PUPAListRelationFilter FRAS?: FRASListRelationFilter USUARIO_CHAROLA?: USUARIO_CHAROLAListRelationFilter }, "charolaId"> @@ -11945,9 +16401,9 @@ export namespace Prisma { comidaCiclo?: SortOrder hidratacionCiclo?: SortOrder fechaActualizacion?: SortOrderInput | SortOrder - estado?: SortOrderInput | SortOrder + estado?: SortOrder densidadLarva?: SortOrderInput | SortOrder - fechaCreacion?: SortOrderInput | SortOrder + fechaCreacion?: SortOrder pesoCharola?: SortOrderInput | SortOrder _count?: CHAROLACountOrderByAggregateInput _avg?: CHAROLAAvgOrderByAggregateInput @@ -11965,9 +16421,9 @@ export namespace Prisma { comidaCiclo?: FloatWithAggregatesFilter<"CHAROLA"> | number hidratacionCiclo?: FloatWithAggregatesFilter<"CHAROLA"> | number fechaActualizacion?: DateTimeNullableWithAggregatesFilter<"CHAROLA"> | Date | string | null - estado?: StringNullableWithAggregatesFilter<"CHAROLA"> | string | null + estado?: StringWithAggregatesFilter<"CHAROLA"> | string densidadLarva?: FloatNullableWithAggregatesFilter<"CHAROLA"> | number | null - fechaCreacion?: DateTimeNullableWithAggregatesFilter<"CHAROLA"> | Date | string | null + fechaCreacion?: DateTimeWithAggregatesFilter<"CHAROLA"> | Date | string pesoCharola?: FloatNullableWithAggregatesFilter<"CHAROLA"> | number | null } @@ -12021,37 +16477,44 @@ export namespace Prisma { AND?: CHAROLA_COMIDAWhereInput | CHAROLA_COMIDAWhereInput[] OR?: CHAROLA_COMIDAWhereInput[] NOT?: CHAROLA_COMIDAWhereInput | CHAROLA_COMIDAWhereInput[] - charolaId?: IntFilter<"CHAROLA_COMIDA"> | number - comidaId?: IntFilter<"CHAROLA_COMIDA"> | number + id?: IntFilter<"CHAROLA_COMIDA"> | number + charolaId?: IntNullableFilter<"CHAROLA_COMIDA"> | number | null + comidaId?: IntNullableFilter<"CHAROLA_COMIDA"> | number | null cantidadOtorgada?: FloatFilter<"CHAROLA_COMIDA"> | number - CHAROLA?: XOR - COMIDA?: XOR + fechaOtorgada?: DateTimeFilter<"CHAROLA_COMIDA"> | Date | string + CHAROLA?: XOR | null + COMIDA?: XOR | null } export type CHAROLA_COMIDAOrderByWithRelationInput = { - charolaId?: SortOrder - comidaId?: SortOrder + id?: SortOrder + charolaId?: SortOrderInput | SortOrder + comidaId?: SortOrderInput | SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder CHAROLA?: CHAROLAOrderByWithRelationInput COMIDA?: COMIDAOrderByWithRelationInput } export type CHAROLA_COMIDAWhereUniqueInput = Prisma.AtLeast<{ - charolaId_comidaId?: CHAROLA_COMIDACharolaIdComidaIdCompoundUniqueInput + id?: number AND?: CHAROLA_COMIDAWhereInput | CHAROLA_COMIDAWhereInput[] OR?: CHAROLA_COMIDAWhereInput[] NOT?: CHAROLA_COMIDAWhereInput | CHAROLA_COMIDAWhereInput[] - charolaId?: IntFilter<"CHAROLA_COMIDA"> | number - comidaId?: IntFilter<"CHAROLA_COMIDA"> | number + charolaId?: IntNullableFilter<"CHAROLA_COMIDA"> | number | null + comidaId?: IntNullableFilter<"CHAROLA_COMIDA"> | number | null cantidadOtorgada?: FloatFilter<"CHAROLA_COMIDA"> | number - CHAROLA?: XOR - COMIDA?: XOR - }, "charolaId_comidaId"> + fechaOtorgada?: DateTimeFilter<"CHAROLA_COMIDA"> | Date | string + CHAROLA?: XOR | null + COMIDA?: XOR | null + }, "id"> export type CHAROLA_COMIDAOrderByWithAggregationInput = { - charolaId?: SortOrder - comidaId?: SortOrder + id?: SortOrder + charolaId?: SortOrderInput | SortOrder + comidaId?: SortOrderInput | SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder _count?: CHAROLA_COMIDACountOrderByAggregateInput _avg?: CHAROLA_COMIDAAvgOrderByAggregateInput _max?: CHAROLA_COMIDAMaxOrderByAggregateInput @@ -12063,46 +16526,55 @@ export namespace Prisma { AND?: CHAROLA_COMIDAScalarWhereWithAggregatesInput | CHAROLA_COMIDAScalarWhereWithAggregatesInput[] OR?: CHAROLA_COMIDAScalarWhereWithAggregatesInput[] NOT?: CHAROLA_COMIDAScalarWhereWithAggregatesInput | CHAROLA_COMIDAScalarWhereWithAggregatesInput[] - charolaId?: IntWithAggregatesFilter<"CHAROLA_COMIDA"> | number - comidaId?: IntWithAggregatesFilter<"CHAROLA_COMIDA"> | number + id?: IntWithAggregatesFilter<"CHAROLA_COMIDA"> | number + charolaId?: IntNullableWithAggregatesFilter<"CHAROLA_COMIDA"> | number | null + comidaId?: IntNullableWithAggregatesFilter<"CHAROLA_COMIDA"> | number | null cantidadOtorgada?: FloatWithAggregatesFilter<"CHAROLA_COMIDA"> | number + fechaOtorgada?: DateTimeWithAggregatesFilter<"CHAROLA_COMIDA"> | Date | string } export type CHAROLA_HIDRATACIONWhereInput = { AND?: CHAROLA_HIDRATACIONWhereInput | CHAROLA_HIDRATACIONWhereInput[] OR?: CHAROLA_HIDRATACIONWhereInput[] NOT?: CHAROLA_HIDRATACIONWhereInput | CHAROLA_HIDRATACIONWhereInput[] - charolaId?: IntFilter<"CHAROLA_HIDRATACION"> | number - hidratacionId?: IntFilter<"CHAROLA_HIDRATACION"> | number - cantidadOtorgada?: FloatNullableFilter<"CHAROLA_HIDRATACION"> | number | null - CHAROLA?: XOR - HIDRATACION?: XOR + id?: IntFilter<"CHAROLA_HIDRATACION"> | number + charolaId?: IntNullableFilter<"CHAROLA_HIDRATACION"> | number | null + hidratacionId?: IntNullableFilter<"CHAROLA_HIDRATACION"> | number | null + cantidadOtorgada?: FloatFilter<"CHAROLA_HIDRATACION"> | number + fechaOtorgada?: DateTimeFilter<"CHAROLA_HIDRATACION"> | Date | string + CHAROLA?: XOR | null + HIDRATACION?: XOR | null } export type CHAROLA_HIDRATACIONOrderByWithRelationInput = { - charolaId?: SortOrder - hidratacionId?: SortOrder - cantidadOtorgada?: SortOrderInput | SortOrder + id?: SortOrder + charolaId?: SortOrderInput | SortOrder + hidratacionId?: SortOrderInput | SortOrder + cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder CHAROLA?: CHAROLAOrderByWithRelationInput HIDRATACION?: HIDRATACIONOrderByWithRelationInput } export type CHAROLA_HIDRATACIONWhereUniqueInput = Prisma.AtLeast<{ - charolaId_hidratacionId?: CHAROLA_HIDRATACIONCharolaIdHidratacionIdCompoundUniqueInput + id?: number AND?: CHAROLA_HIDRATACIONWhereInput | CHAROLA_HIDRATACIONWhereInput[] OR?: CHAROLA_HIDRATACIONWhereInput[] NOT?: CHAROLA_HIDRATACIONWhereInput | CHAROLA_HIDRATACIONWhereInput[] - charolaId?: IntFilter<"CHAROLA_HIDRATACION"> | number - hidratacionId?: IntFilter<"CHAROLA_HIDRATACION"> | number - cantidadOtorgada?: FloatNullableFilter<"CHAROLA_HIDRATACION"> | number | null - CHAROLA?: XOR - HIDRATACION?: XOR - }, "charolaId_hidratacionId"> + charolaId?: IntNullableFilter<"CHAROLA_HIDRATACION"> | number | null + hidratacionId?: IntNullableFilter<"CHAROLA_HIDRATACION"> | number | null + cantidadOtorgada?: FloatFilter<"CHAROLA_HIDRATACION"> | number + fechaOtorgada?: DateTimeFilter<"CHAROLA_HIDRATACION"> | Date | string + CHAROLA?: XOR | null + HIDRATACION?: XOR | null + }, "id"> export type CHAROLA_HIDRATACIONOrderByWithAggregationInput = { - charolaId?: SortOrder - hidratacionId?: SortOrder - cantidadOtorgada?: SortOrderInput | SortOrder + id?: SortOrder + charolaId?: SortOrderInput | SortOrder + hidratacionId?: SortOrderInput | SortOrder + cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder _count?: CHAROLA_HIDRATACIONCountOrderByAggregateInput _avg?: CHAROLA_HIDRATACIONAvgOrderByAggregateInput _max?: CHAROLA_HIDRATACIONMaxOrderByAggregateInput @@ -12114,9 +16586,11 @@ export namespace Prisma { AND?: CHAROLA_HIDRATACIONScalarWhereWithAggregatesInput | CHAROLA_HIDRATACIONScalarWhereWithAggregatesInput[] OR?: CHAROLA_HIDRATACIONScalarWhereWithAggregatesInput[] NOT?: CHAROLA_HIDRATACIONScalarWhereWithAggregatesInput | CHAROLA_HIDRATACIONScalarWhereWithAggregatesInput[] - charolaId?: IntWithAggregatesFilter<"CHAROLA_HIDRATACION"> | number - hidratacionId?: IntWithAggregatesFilter<"CHAROLA_HIDRATACION"> | number - cantidadOtorgada?: FloatNullableWithAggregatesFilter<"CHAROLA_HIDRATACION"> | number | null + id?: IntWithAggregatesFilter<"CHAROLA_HIDRATACION"> | number + charolaId?: IntNullableWithAggregatesFilter<"CHAROLA_HIDRATACION"> | number | null + hidratacionId?: IntNullableWithAggregatesFilter<"CHAROLA_HIDRATACION"> | number | null + cantidadOtorgada?: FloatWithAggregatesFilter<"CHAROLA_HIDRATACION"> | number + fechaOtorgada?: DateTimeWithAggregatesFilter<"CHAROLA_HIDRATACION"> | Date | string } export type COMIDAWhereInput = { @@ -12171,32 +16645,39 @@ export namespace Prisma { AND?: FRASWhereInput | FRASWhereInput[] OR?: FRASWhereInput[] NOT?: FRASWhereInput | FRASWhereInput[] - frassId?: IntFilter<"FRAS"> | number + frasId?: IntFilter<"FRAS"> | number gramosGenerados?: FloatFilter<"FRAS"> | number + fechaRegistro?: DateTimeNullableFilter<"FRAS"> | Date | string | null charolaId?: IntNullableFilter<"FRAS"> | number | null + CHAROLA_FRAS?: CHAROLA_FRASListRelationFilter CHAROLA?: XOR | null } export type FRASOrderByWithRelationInput = { - frassId?: SortOrder + frasId?: SortOrder gramosGenerados?: SortOrder + fechaRegistro?: SortOrderInput | SortOrder charolaId?: SortOrderInput | SortOrder + CHAROLA_FRAS?: CHAROLA_FRASOrderByRelationAggregateInput CHAROLA?: CHAROLAOrderByWithRelationInput } export type FRASWhereUniqueInput = Prisma.AtLeast<{ - frassId?: number + frasId?: number AND?: FRASWhereInput | FRASWhereInput[] OR?: FRASWhereInput[] NOT?: FRASWhereInput | FRASWhereInput[] gramosGenerados?: FloatFilter<"FRAS"> | number + fechaRegistro?: DateTimeNullableFilter<"FRAS"> | Date | string | null charolaId?: IntNullableFilter<"FRAS"> | number | null + CHAROLA_FRAS?: CHAROLA_FRASListRelationFilter CHAROLA?: XOR | null - }, "frassId"> + }, "frasId"> export type FRASOrderByWithAggregationInput = { - frassId?: SortOrder + frasId?: SortOrder gramosGenerados?: SortOrder + fechaRegistro?: SortOrderInput | SortOrder charolaId?: SortOrderInput | SortOrder _count?: FRASCountOrderByAggregateInput _avg?: FRASAvgOrderByAggregateInput @@ -12209,8 +16690,9 @@ export namespace Prisma { AND?: FRASScalarWhereWithAggregatesInput | FRASScalarWhereWithAggregatesInput[] OR?: FRASScalarWhereWithAggregatesInput[] NOT?: FRASScalarWhereWithAggregatesInput | FRASScalarWhereWithAggregatesInput[] - frassId?: IntWithAggregatesFilter<"FRAS"> | number + frasId?: IntWithAggregatesFilter<"FRAS"> | number gramosGenerados?: FloatWithAggregatesFilter<"FRAS"> | number + fechaRegistro?: DateTimeNullableWithAggregatesFilter<"FRAS"> | Date | string | null charolaId?: IntNullableWithAggregatesFilter<"FRAS"> | number | null } @@ -12374,6 +16856,200 @@ export namespace Prisma { charolaId?: IntWithAggregatesFilter<"USUARIO_CHAROLA"> | number } + export type CHAROLA_FRASWhereInput = { + AND?: CHAROLA_FRASWhereInput | CHAROLA_FRASWhereInput[] + OR?: CHAROLA_FRASWhereInput[] + NOT?: CHAROLA_FRASWhereInput | CHAROLA_FRASWhereInput[] + charolaId?: IntFilter<"CHAROLA_FRAS"> | number + frasId?: IntFilter<"CHAROLA_FRAS"> | number + CHAROLA?: XOR + FRAS?: XOR + } + + export type CHAROLA_FRASOrderByWithRelationInput = { + charolaId?: SortOrder + frasId?: SortOrder + CHAROLA?: CHAROLAOrderByWithRelationInput + FRAS?: FRASOrderByWithRelationInput + } + + export type CHAROLA_FRASWhereUniqueInput = Prisma.AtLeast<{ + charolaId_frasId?: CHAROLA_FRASCharolaIdFrasIdCompoundUniqueInput + AND?: CHAROLA_FRASWhereInput | CHAROLA_FRASWhereInput[] + OR?: CHAROLA_FRASWhereInput[] + NOT?: CHAROLA_FRASWhereInput | CHAROLA_FRASWhereInput[] + charolaId?: IntFilter<"CHAROLA_FRAS"> | number + frasId?: IntFilter<"CHAROLA_FRAS"> | number + CHAROLA?: XOR + FRAS?: XOR + }, "charolaId_frasId"> + + export type CHAROLA_FRASOrderByWithAggregationInput = { + charolaId?: SortOrder + frasId?: SortOrder + _count?: CHAROLA_FRASCountOrderByAggregateInput + _avg?: CHAROLA_FRASAvgOrderByAggregateInput + _max?: CHAROLA_FRASMaxOrderByAggregateInput + _min?: CHAROLA_FRASMinOrderByAggregateInput + _sum?: CHAROLA_FRASSumOrderByAggregateInput + } + + export type CHAROLA_FRASScalarWhereWithAggregatesInput = { + AND?: CHAROLA_FRASScalarWhereWithAggregatesInput | CHAROLA_FRASScalarWhereWithAggregatesInput[] + OR?: CHAROLA_FRASScalarWhereWithAggregatesInput[] + NOT?: CHAROLA_FRASScalarWhereWithAggregatesInput | CHAROLA_FRASScalarWhereWithAggregatesInput[] + charolaId?: IntWithAggregatesFilter<"CHAROLA_FRAS"> | number + frasId?: IntWithAggregatesFilter<"CHAROLA_FRAS"> | number + } + + export type CHAROLA_PUPAWhereInput = { + AND?: CHAROLA_PUPAWhereInput | CHAROLA_PUPAWhereInput[] + OR?: CHAROLA_PUPAWhereInput[] + NOT?: CHAROLA_PUPAWhereInput | CHAROLA_PUPAWhereInput[] + charolaId?: IntFilter<"CHAROLA_PUPA"> | number + pupaId?: IntFilter<"CHAROLA_PUPA"> | number + CHAROLA?: XOR + PUPA?: XOR + } + + export type CHAROLA_PUPAOrderByWithRelationInput = { + charolaId?: SortOrder + pupaId?: SortOrder + CHAROLA?: CHAROLAOrderByWithRelationInput + PUPA?: PUPAOrderByWithRelationInput + } + + export type CHAROLA_PUPAWhereUniqueInput = Prisma.AtLeast<{ + charolaId_pupaId?: CHAROLA_PUPACharolaIdPupaIdCompoundUniqueInput + AND?: CHAROLA_PUPAWhereInput | CHAROLA_PUPAWhereInput[] + OR?: CHAROLA_PUPAWhereInput[] + NOT?: CHAROLA_PUPAWhereInput | CHAROLA_PUPAWhereInput[] + charolaId?: IntFilter<"CHAROLA_PUPA"> | number + pupaId?: IntFilter<"CHAROLA_PUPA"> | number + CHAROLA?: XOR + PUPA?: XOR + }, "charolaId_pupaId"> + + export type CHAROLA_PUPAOrderByWithAggregationInput = { + charolaId?: SortOrder + pupaId?: SortOrder + _count?: CHAROLA_PUPACountOrderByAggregateInput + _avg?: CHAROLA_PUPAAvgOrderByAggregateInput + _max?: CHAROLA_PUPAMaxOrderByAggregateInput + _min?: CHAROLA_PUPAMinOrderByAggregateInput + _sum?: CHAROLA_PUPASumOrderByAggregateInput + } + + export type CHAROLA_PUPAScalarWhereWithAggregatesInput = { + AND?: CHAROLA_PUPAScalarWhereWithAggregatesInput | CHAROLA_PUPAScalarWhereWithAggregatesInput[] + OR?: CHAROLA_PUPAScalarWhereWithAggregatesInput[] + NOT?: CHAROLA_PUPAScalarWhereWithAggregatesInput | CHAROLA_PUPAScalarWhereWithAggregatesInput[] + charolaId?: IntWithAggregatesFilter<"CHAROLA_PUPA"> | number + pupaId?: IntWithAggregatesFilter<"CHAROLA_PUPA"> | number + } + + export type PUPAWhereInput = { + AND?: PUPAWhereInput | PUPAWhereInput[] + OR?: PUPAWhereInput[] + NOT?: PUPAWhereInput | PUPAWhereInput[] + pupaId?: IntFilter<"PUPA"> | number + fechaRegistro?: DateTimeNullableFilter<"PUPA"> | Date | string | null + cantidadObtenida?: FloatNullableFilter<"PUPA"> | number | null + CHAROLA_PUPA?: CHAROLA_PUPAListRelationFilter + } + + export type PUPAOrderByWithRelationInput = { + pupaId?: SortOrder + fechaRegistro?: SortOrderInput | SortOrder + cantidadObtenida?: SortOrderInput | SortOrder + CHAROLA_PUPA?: CHAROLA_PUPAOrderByRelationAggregateInput + } + + export type PUPAWhereUniqueInput = Prisma.AtLeast<{ + pupaId?: number + AND?: PUPAWhereInput | PUPAWhereInput[] + OR?: PUPAWhereInput[] + NOT?: PUPAWhereInput | PUPAWhereInput[] + fechaRegistro?: DateTimeNullableFilter<"PUPA"> | Date | string | null + cantidadObtenida?: FloatNullableFilter<"PUPA"> | number | null + CHAROLA_PUPA?: CHAROLA_PUPAListRelationFilter + }, "pupaId"> + + export type PUPAOrderByWithAggregationInput = { + pupaId?: SortOrder + fechaRegistro?: SortOrderInput | SortOrder + cantidadObtenida?: SortOrderInput | SortOrder + _count?: PUPACountOrderByAggregateInput + _avg?: PUPAAvgOrderByAggregateInput + _max?: PUPAMaxOrderByAggregateInput + _min?: PUPAMinOrderByAggregateInput + _sum?: PUPASumOrderByAggregateInput + } + + export type PUPAScalarWhereWithAggregatesInput = { + AND?: PUPAScalarWhereWithAggregatesInput | PUPAScalarWhereWithAggregatesInput[] + OR?: PUPAScalarWhereWithAggregatesInput[] + NOT?: PUPAScalarWhereWithAggregatesInput | PUPAScalarWhereWithAggregatesInput[] + pupaId?: IntWithAggregatesFilter<"PUPA"> | number + fechaRegistro?: DateTimeNullableWithAggregatesFilter<"PUPA"> | Date | string | null + cantidadObtenida?: FloatNullableWithAggregatesFilter<"PUPA"> | number | null + } + + export type ELIMINACION_MOTIVOWhereInput = { + AND?: ELIMINACION_MOTIVOWhereInput | ELIMINACION_MOTIVOWhereInput[] + OR?: ELIMINACION_MOTIVOWhereInput[] + NOT?: ELIMINACION_MOTIVOWhereInput | ELIMINACION_MOTIVOWhereInput[] + id?: IntFilter<"ELIMINACION_MOTIVO"> | number + user?: StringFilter<"ELIMINACION_MOTIVO"> | string + charola_nombre?: StringFilter<"ELIMINACION_MOTIVO"> | string + motivo?: StringFilter<"ELIMINACION_MOTIVO"> | string + fecha_eliminacion?: DateTimeNullableFilter<"ELIMINACION_MOTIVO"> | Date | string | null + } + + export type ELIMINACION_MOTIVOOrderByWithRelationInput = { + id?: SortOrder + user?: SortOrder + charola_nombre?: SortOrder + motivo?: SortOrder + fecha_eliminacion?: SortOrderInput | SortOrder + _relevance?: ELIMINACION_MOTIVOOrderByRelevanceInput + } + + export type ELIMINACION_MOTIVOWhereUniqueInput = Prisma.AtLeast<{ + id?: number + AND?: ELIMINACION_MOTIVOWhereInput | ELIMINACION_MOTIVOWhereInput[] + OR?: ELIMINACION_MOTIVOWhereInput[] + NOT?: ELIMINACION_MOTIVOWhereInput | ELIMINACION_MOTIVOWhereInput[] + user?: StringFilter<"ELIMINACION_MOTIVO"> | string + charola_nombre?: StringFilter<"ELIMINACION_MOTIVO"> | string + motivo?: StringFilter<"ELIMINACION_MOTIVO"> | string + fecha_eliminacion?: DateTimeNullableFilter<"ELIMINACION_MOTIVO"> | Date | string | null + }, "id"> + + export type ELIMINACION_MOTIVOOrderByWithAggregationInput = { + id?: SortOrder + user?: SortOrder + charola_nombre?: SortOrder + motivo?: SortOrder + fecha_eliminacion?: SortOrderInput | SortOrder + _count?: ELIMINACION_MOTIVOCountOrderByAggregateInput + _avg?: ELIMINACION_MOTIVOAvgOrderByAggregateInput + _max?: ELIMINACION_MOTIVOMaxOrderByAggregateInput + _min?: ELIMINACION_MOTIVOMinOrderByAggregateInput + _sum?: ELIMINACION_MOTIVOSumOrderByAggregateInput + } + + export type ELIMINACION_MOTIVOScalarWhereWithAggregatesInput = { + AND?: ELIMINACION_MOTIVOScalarWhereWithAggregatesInput | ELIMINACION_MOTIVOScalarWhereWithAggregatesInput[] + OR?: ELIMINACION_MOTIVOScalarWhereWithAggregatesInput[] + NOT?: ELIMINACION_MOTIVOScalarWhereWithAggregatesInput | ELIMINACION_MOTIVOScalarWhereWithAggregatesInput[] + id?: IntWithAggregatesFilter<"ELIMINACION_MOTIVO"> | number + user?: StringWithAggregatesFilter<"ELIMINACION_MOTIVO"> | string + charola_nombre?: StringWithAggregatesFilter<"ELIMINACION_MOTIVO"> | string + motivo?: StringWithAggregatesFilter<"ELIMINACION_MOTIVO"> | string + fecha_eliminacion?: DateTimeNullableWithAggregatesFilter<"ELIMINACION_MOTIVO"> | Date | string | null + } + export type ADMINISTRADORCreateInput = { USUARIO?: USUARIOCreateNestedOneWithoutADMINISTRADORInput } @@ -12411,14 +17087,16 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput FRAS?: FRASCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput } @@ -12429,14 +17107,16 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput } @@ -12446,14 +17126,16 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput } @@ -12464,14 +17146,16 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput } @@ -12482,9 +17166,9 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null } @@ -12493,9 +17177,9 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null } @@ -12505,9 +17189,9 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null } @@ -12547,82 +17231,104 @@ export namespace Prisma { export type CHAROLA_COMIDACreateInput = { cantidadOtorgada: number - CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_COMIDAInput - COMIDA: COMIDACreateNestedOneWithoutCHAROLA_COMIDAInput + fechaOtorgada: Date | string + CHAROLA?: CHAROLACreateNestedOneWithoutCHAROLA_COMIDAInput + COMIDA?: COMIDACreateNestedOneWithoutCHAROLA_COMIDAInput } export type CHAROLA_COMIDAUncheckedCreateInput = { - charolaId: number - comidaId: number + id?: number + charolaId?: number | null + comidaId?: number | null cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_COMIDAUpdateInput = { cantidadOtorgada?: FloatFieldUpdateOperationsInput | number - CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_COMIDANestedInput - COMIDA?: COMIDAUpdateOneRequiredWithoutCHAROLA_COMIDANestedInput + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + CHAROLA?: CHAROLAUpdateOneWithoutCHAROLA_COMIDANestedInput + COMIDA?: COMIDAUpdateOneWithoutCHAROLA_COMIDANestedInput } export type CHAROLA_COMIDAUncheckedUpdateInput = { - charolaId?: IntFieldUpdateOperationsInput | number - comidaId?: IntFieldUpdateOperationsInput | number + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null + comidaId?: NullableIntFieldUpdateOperationsInput | number | null cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_COMIDACreateManyInput = { - charolaId: number - comidaId: number + id?: number + charolaId?: number | null + comidaId?: number | null cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_COMIDAUpdateManyMutationInput = { cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_COMIDAUncheckedUpdateManyInput = { - charolaId?: IntFieldUpdateOperationsInput | number - comidaId?: IntFieldUpdateOperationsInput | number + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null + comidaId?: NullableIntFieldUpdateOperationsInput | number | null cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_HIDRATACIONCreateInput = { - cantidadOtorgada?: number | null - CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_HIDRATACIONInput - HIDRATACION: HIDRATACIONCreateNestedOneWithoutCHAROLA_HIDRATACIONInput + cantidadOtorgada: number + fechaOtorgada: Date | string + CHAROLA?: CHAROLACreateNestedOneWithoutCHAROLA_HIDRATACIONInput + HIDRATACION?: HIDRATACIONCreateNestedOneWithoutCHAROLA_HIDRATACIONInput } export type CHAROLA_HIDRATACIONUncheckedCreateInput = { - charolaId: number - hidratacionId: number - cantidadOtorgada?: number | null + id?: number + charolaId?: number | null + hidratacionId?: number | null + cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_HIDRATACIONUpdateInput = { - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null - CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_HIDRATACIONNestedInput - HIDRATACION?: HIDRATACIONUpdateOneRequiredWithoutCHAROLA_HIDRATACIONNestedInput + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + CHAROLA?: CHAROLAUpdateOneWithoutCHAROLA_HIDRATACIONNestedInput + HIDRATACION?: HIDRATACIONUpdateOneWithoutCHAROLA_HIDRATACIONNestedInput } export type CHAROLA_HIDRATACIONUncheckedUpdateInput = { - charolaId?: IntFieldUpdateOperationsInput | number - hidratacionId?: IntFieldUpdateOperationsInput | number - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null + hidratacionId?: NullableIntFieldUpdateOperationsInput | number | null + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_HIDRATACIONCreateManyInput = { - charolaId: number - hidratacionId: number - cantidadOtorgada?: number | null + id?: number + charolaId?: number | null + hidratacionId?: number | null + cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_HIDRATACIONUpdateManyMutationInput = { - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_HIDRATACIONUncheckedUpdateManyInput = { - charolaId?: IntFieldUpdateOperationsInput | number - hidratacionId?: IntFieldUpdateOperationsInput | number - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null + hidratacionId?: NullableIntFieldUpdateOperationsInput | number | null + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type COMIDACreateInput = { @@ -12670,58 +17376,67 @@ export namespace Prisma { export type FRASCreateInput = { gramosGenerados: number + fechaRegistro?: Date | string | null + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutFRASInput CHAROLA?: CHAROLACreateNestedOneWithoutFRASInput } export type FRASUncheckedCreateInput = { - frassId?: number + frasId?: number gramosGenerados: number + fechaRegistro?: Date | string | null charolaId?: number | null + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutFRASInput } export type FRASUpdateInput = { gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutFRASNestedInput CHAROLA?: CHAROLAUpdateOneWithoutFRASNestedInput } export type FRASUncheckedUpdateInput = { - frassId?: IntFieldUpdateOperationsInput | number + frasId?: IntFieldUpdateOperationsInput | number gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null charolaId?: NullableIntFieldUpdateOperationsInput | number | null + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutFRASNestedInput } export type FRASCreateManyInput = { - frassId?: number + frasId?: number gramosGenerados: number + fechaRegistro?: Date | string | null charolaId?: number | null } export type FRASUpdateManyMutationInput = { gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type FRASUncheckedUpdateManyInput = { - frassId?: IntFieldUpdateOperationsInput | number + frasId?: IntFieldUpdateOperationsInput | number gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null charolaId?: NullableIntFieldUpdateOperationsInput | number | null } export type HIDRATACIONCreateInput = { - hidratacionId: number nombre?: string | null descripcion?: string | null CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutHIDRATACIONInput } export type HIDRATACIONUncheckedCreateInput = { - hidratacionId: number + hidratacionId?: number nombre?: string | null descripcion?: string | null CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutHIDRATACIONInput } export type HIDRATACIONUpdateInput = { - hidratacionId?: IntFieldUpdateOperationsInput | number nombre?: NullableStringFieldUpdateOperationsInput | string | null descripcion?: NullableStringFieldUpdateOperationsInput | string | null CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutHIDRATACIONNestedInput @@ -12735,13 +17450,12 @@ export namespace Prisma { } export type HIDRATACIONCreateManyInput = { - hidratacionId: number + hidratacionId?: number nombre?: string | null descripcion?: string | null } export type HIDRATACIONUpdateManyMutationInput = { - hidratacionId?: IntFieldUpdateOperationsInput | number nombre?: NullableStringFieldUpdateOperationsInput | string | null descripcion?: NullableStringFieldUpdateOperationsInput | string | null } @@ -12803,55 +17517,219 @@ export namespace Prisma { apellido_p?: string | null } - export type USUARIOUpdateManyMutationInput = { - user?: StringFieldUpdateOperationsInput | string - contrasena?: StringFieldUpdateOperationsInput | string - nombre?: StringFieldUpdateOperationsInput | string - apellido_m?: NullableStringFieldUpdateOperationsInput | string | null - apellido_p?: NullableStringFieldUpdateOperationsInput | string | null + export type USUARIOUpdateManyMutationInput = { + user?: StringFieldUpdateOperationsInput | string + contrasena?: StringFieldUpdateOperationsInput | string + nombre?: StringFieldUpdateOperationsInput | string + apellido_m?: NullableStringFieldUpdateOperationsInput | string | null + apellido_p?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type USUARIOUncheckedUpdateManyInput = { + usuarioId?: IntFieldUpdateOperationsInput | number + user?: StringFieldUpdateOperationsInput | string + contrasena?: StringFieldUpdateOperationsInput | string + nombre?: StringFieldUpdateOperationsInput | string + apellido_m?: NullableStringFieldUpdateOperationsInput | string | null + apellido_p?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type USUARIO_CHAROLACreateInput = { + USUARIO: USUARIOCreateNestedOneWithoutUSUARIO_CHAROLAInput + CHAROLA: CHAROLACreateNestedOneWithoutUSUARIO_CHAROLAInput + } + + export type USUARIO_CHAROLAUncheckedCreateInput = { + usuarioId: number + charolaId: number + } + + export type USUARIO_CHAROLAUpdateInput = { + USUARIO?: USUARIOUpdateOneRequiredWithoutUSUARIO_CHAROLANestedInput + CHAROLA?: CHAROLAUpdateOneRequiredWithoutUSUARIO_CHAROLANestedInput + } + + export type USUARIO_CHAROLAUncheckedUpdateInput = { + usuarioId?: IntFieldUpdateOperationsInput | number + charolaId?: IntFieldUpdateOperationsInput | number + } + + export type USUARIO_CHAROLACreateManyInput = { + usuarioId: number + charolaId: number + } + + export type USUARIO_CHAROLAUpdateManyMutationInput = { + + } + + export type USUARIO_CHAROLAUncheckedUpdateManyInput = { + usuarioId?: IntFieldUpdateOperationsInput | number + charolaId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_FRASCreateInput = { + CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_FRASInput + FRAS: FRASCreateNestedOneWithoutCHAROLA_FRASInput + } + + export type CHAROLA_FRASUncheckedCreateInput = { + charolaId: number + frasId: number + } + + export type CHAROLA_FRASUpdateInput = { + CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_FRASNestedInput + FRAS?: FRASUpdateOneRequiredWithoutCHAROLA_FRASNestedInput + } + + export type CHAROLA_FRASUncheckedUpdateInput = { + charolaId?: IntFieldUpdateOperationsInput | number + frasId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_FRASCreateManyInput = { + charolaId: number + frasId: number + } + + export type CHAROLA_FRASUpdateManyMutationInput = { + + } + + export type CHAROLA_FRASUncheckedUpdateManyInput = { + charolaId?: IntFieldUpdateOperationsInput | number + frasId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_PUPACreateInput = { + CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_PUPAInput + PUPA: PUPACreateNestedOneWithoutCHAROLA_PUPAInput + } + + export type CHAROLA_PUPAUncheckedCreateInput = { + charolaId: number + pupaId: number + } + + export type CHAROLA_PUPAUpdateInput = { + CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_PUPANestedInput + PUPA?: PUPAUpdateOneRequiredWithoutCHAROLA_PUPANestedInput + } + + export type CHAROLA_PUPAUncheckedUpdateInput = { + charolaId?: IntFieldUpdateOperationsInput | number + pupaId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_PUPACreateManyInput = { + charolaId: number + pupaId: number + } + + export type CHAROLA_PUPAUpdateManyMutationInput = { + + } + + export type CHAROLA_PUPAUncheckedUpdateManyInput = { + charolaId?: IntFieldUpdateOperationsInput | number + pupaId?: IntFieldUpdateOperationsInput | number + } + + export type PUPACreateInput = { + fechaRegistro?: Date | string | null + cantidadObtenida?: number | null + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutPUPAInput + } + + export type PUPAUncheckedCreateInput = { + pupaId?: number + fechaRegistro?: Date | string | null + cantidadObtenida?: number | null + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutPUPAInput + } + + export type PUPAUpdateInput = { + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cantidadObtenida?: NullableFloatFieldUpdateOperationsInput | number | null + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutPUPANestedInput + } + + export type PUPAUncheckedUpdateInput = { + pupaId?: IntFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cantidadObtenida?: NullableFloatFieldUpdateOperationsInput | number | null + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutPUPANestedInput + } + + export type PUPACreateManyInput = { + pupaId?: number + fechaRegistro?: Date | string | null + cantidadObtenida?: number | null } - export type USUARIOUncheckedUpdateManyInput = { - usuarioId?: IntFieldUpdateOperationsInput | number - user?: StringFieldUpdateOperationsInput | string - contrasena?: StringFieldUpdateOperationsInput | string - nombre?: StringFieldUpdateOperationsInput | string - apellido_m?: NullableStringFieldUpdateOperationsInput | string | null - apellido_p?: NullableStringFieldUpdateOperationsInput | string | null + export type PUPAUpdateManyMutationInput = { + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cantidadObtenida?: NullableFloatFieldUpdateOperationsInput | number | null } - export type USUARIO_CHAROLACreateInput = { - USUARIO: USUARIOCreateNestedOneWithoutUSUARIO_CHAROLAInput - CHAROLA: CHAROLACreateNestedOneWithoutUSUARIO_CHAROLAInput + export type PUPAUncheckedUpdateManyInput = { + pupaId?: IntFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cantidadObtenida?: NullableFloatFieldUpdateOperationsInput | number | null } - export type USUARIO_CHAROLAUncheckedCreateInput = { - usuarioId: number - charolaId: number + export type ELIMINACION_MOTIVOCreateInput = { + user: string + charola_nombre: string + motivo: string + fecha_eliminacion?: Date | string | null } - export type USUARIO_CHAROLAUpdateInput = { - USUARIO?: USUARIOUpdateOneRequiredWithoutUSUARIO_CHAROLANestedInput - CHAROLA?: CHAROLAUpdateOneRequiredWithoutUSUARIO_CHAROLANestedInput + export type ELIMINACION_MOTIVOUncheckedCreateInput = { + id?: number + user: string + charola_nombre: string + motivo: string + fecha_eliminacion?: Date | string | null } - export type USUARIO_CHAROLAUncheckedUpdateInput = { - usuarioId?: IntFieldUpdateOperationsInput | number - charolaId?: IntFieldUpdateOperationsInput | number + export type ELIMINACION_MOTIVOUpdateInput = { + user?: StringFieldUpdateOperationsInput | string + charola_nombre?: StringFieldUpdateOperationsInput | string + motivo?: StringFieldUpdateOperationsInput | string + fecha_eliminacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } - export type USUARIO_CHAROLACreateManyInput = { - usuarioId: number - charolaId: number + export type ELIMINACION_MOTIVOUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + user?: StringFieldUpdateOperationsInput | string + charola_nombre?: StringFieldUpdateOperationsInput | string + motivo?: StringFieldUpdateOperationsInput | string + fecha_eliminacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } - export type USUARIO_CHAROLAUpdateManyMutationInput = { + export type ELIMINACION_MOTIVOCreateManyInput = { + id?: number + user: string + charola_nombre: string + motivo: string + fecha_eliminacion?: Date | string | null + } + export type ELIMINACION_MOTIVOUpdateManyMutationInput = { + user?: StringFieldUpdateOperationsInput | string + charola_nombre?: StringFieldUpdateOperationsInput | string + motivo?: StringFieldUpdateOperationsInput | string + fecha_eliminacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } - export type USUARIO_CHAROLAUncheckedUpdateManyInput = { - usuarioId?: IntFieldUpdateOperationsInput | number - charolaId?: IntFieldUpdateOperationsInput | number + export type ELIMINACION_MOTIVOUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + user?: StringFieldUpdateOperationsInput | string + charola_nombre?: StringFieldUpdateOperationsInput | string + motivo?: StringFieldUpdateOperationsInput | string + fecha_eliminacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type IntFilter<$PrismaModel = never> = { @@ -12980,6 +17858,21 @@ export namespace Prisma { not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } + export type StringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] + notIn?: string[] + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + search?: string + not?: NestedStringFilter<$PrismaModel> | string + } + export type FloatNullableFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | null @@ -12991,6 +17884,17 @@ export namespace Prisma { not?: NestedFloatNullableFilter<$PrismaModel> | number | null } + export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] + notIn?: Date[] | string[] + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + export type CHAROLA_CHAROLAListRelationFilter = { every?: CHAROLA_CHAROLAWhereInput some?: CHAROLA_CHAROLAWhereInput @@ -13003,12 +17907,24 @@ export namespace Prisma { none?: CHAROLA_COMIDAWhereInput } + export type CHAROLA_FRASListRelationFilter = { + every?: CHAROLA_FRASWhereInput + some?: CHAROLA_FRASWhereInput + none?: CHAROLA_FRASWhereInput + } + export type CHAROLA_HIDRATACIONListRelationFilter = { every?: CHAROLA_HIDRATACIONWhereInput some?: CHAROLA_HIDRATACIONWhereInput none?: CHAROLA_HIDRATACIONWhereInput } + export type CHAROLA_PUPAListRelationFilter = { + every?: CHAROLA_PUPAWhereInput + some?: CHAROLA_PUPAWhereInput + none?: CHAROLA_PUPAWhereInput + } + export type FRASListRelationFilter = { every?: FRASWhereInput some?: FRASWhereInput @@ -13029,10 +17945,18 @@ export namespace Prisma { _count?: SortOrder } + export type CHAROLA_FRASOrderByRelationAggregateInput = { + _count?: SortOrder + } + export type CHAROLA_HIDRATACIONOrderByRelationAggregateInput = { _count?: SortOrder } + export type CHAROLA_PUPAOrderByRelationAggregateInput = { + _count?: SortOrder + } + export type FRASOrderByRelationAggregateInput = { _count?: SortOrder } @@ -13147,6 +18071,24 @@ export namespace Prisma { _max?: NestedDateTimeNullableFilter<$PrismaModel> } + export type StringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] + notIn?: string[] + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + search?: string + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | null @@ -13163,6 +18105,20 @@ export namespace Prisma { _max?: NestedFloatNullableFilter<$PrismaModel> } + export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] + notIn?: Date[] | string[] + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + export type CHAROLAScalarRelationFilter = { is?: CHAROLAWhereInput isNot?: CHAROLAWhereInput @@ -13198,101 +18154,97 @@ export namespace Prisma { charolaAncestro?: SortOrder } - export type COMIDAScalarRelationFilter = { - is?: COMIDAWhereInput - isNot?: COMIDAWhereInput + export type CHAROLANullableScalarRelationFilter = { + is?: CHAROLAWhereInput | null + isNot?: CHAROLAWhereInput | null } - export type CHAROLA_COMIDACharolaIdComidaIdCompoundUniqueInput = { - charolaId: number - comidaId: number + export type COMIDANullableScalarRelationFilter = { + is?: COMIDAWhereInput | null + isNot?: COMIDAWhereInput | null } export type CHAROLA_COMIDACountOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder comidaId?: SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder } export type CHAROLA_COMIDAAvgOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder comidaId?: SortOrder cantidadOtorgada?: SortOrder } export type CHAROLA_COMIDAMaxOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder comidaId?: SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder } export type CHAROLA_COMIDAMinOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder comidaId?: SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder } export type CHAROLA_COMIDASumOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder comidaId?: SortOrder cantidadOtorgada?: SortOrder } - export type HIDRATACIONScalarRelationFilter = { - is?: HIDRATACIONWhereInput - isNot?: HIDRATACIONWhereInput - } - - export type CHAROLA_HIDRATACIONCharolaIdHidratacionIdCompoundUniqueInput = { - charolaId: number - hidratacionId: number + export type HIDRATACIONNullableScalarRelationFilter = { + is?: HIDRATACIONWhereInput | null + isNot?: HIDRATACIONWhereInput | null } export type CHAROLA_HIDRATACIONCountOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder hidratacionId?: SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder } export type CHAROLA_HIDRATACIONAvgOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder hidratacionId?: SortOrder cantidadOtorgada?: SortOrder } export type CHAROLA_HIDRATACIONMaxOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder hidratacionId?: SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder } export type CHAROLA_HIDRATACIONMinOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder hidratacionId?: SortOrder cantidadOtorgada?: SortOrder + fechaOtorgada?: SortOrder } export type CHAROLA_HIDRATACIONSumOrderByAggregateInput = { + id?: SortOrder charolaId?: SortOrder hidratacionId?: SortOrder cantidadOtorgada?: SortOrder } - export type StringFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - search?: string - not?: NestedStringFilter<$PrismaModel> | string - } - export type COMIDAOrderByRelevanceInput = { fields: COMIDAOrderByRelevanceFieldEnum | COMIDAOrderByRelevanceFieldEnum[] sort: SortOrder @@ -13325,55 +18277,35 @@ export namespace Prisma { comidaId?: SortOrder } - export type StringWithAggregatesFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - search?: string - not?: NestedStringWithAggregatesFilter<$PrismaModel> | string - _count?: NestedIntFilter<$PrismaModel> - _min?: NestedStringFilter<$PrismaModel> - _max?: NestedStringFilter<$PrismaModel> - } - - export type CHAROLANullableScalarRelationFilter = { - is?: CHAROLAWhereInput | null - isNot?: CHAROLAWhereInput | null - } - export type FRASCountOrderByAggregateInput = { - frassId?: SortOrder + frasId?: SortOrder gramosGenerados?: SortOrder + fechaRegistro?: SortOrder charolaId?: SortOrder } export type FRASAvgOrderByAggregateInput = { - frassId?: SortOrder + frasId?: SortOrder gramosGenerados?: SortOrder charolaId?: SortOrder } export type FRASMaxOrderByAggregateInput = { - frassId?: SortOrder + frasId?: SortOrder gramosGenerados?: SortOrder + fechaRegistro?: SortOrder charolaId?: SortOrder } export type FRASMinOrderByAggregateInput = { - frassId?: SortOrder + frasId?: SortOrder gramosGenerados?: SortOrder + fechaRegistro?: SortOrder charolaId?: SortOrder } export type FRASSumOrderByAggregateInput = { - frassId?: SortOrder + frasId?: SortOrder gramosGenerados?: SortOrder charolaId?: SortOrder } @@ -13410,90 +18342,226 @@ export namespace Prisma { hidratacionId?: SortOrder } - export type ADMINISTRADORListRelationFilter = { - every?: ADMINISTRADORWhereInput - some?: ADMINISTRADORWhereInput - none?: ADMINISTRADORWhereInput + export type ADMINISTRADORListRelationFilter = { + every?: ADMINISTRADORWhereInput + some?: ADMINISTRADORWhereInput + none?: ADMINISTRADORWhereInput + } + + export type ADMINISTRADOROrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type USUARIOOrderByRelevanceInput = { + fields: USUARIOOrderByRelevanceFieldEnum | USUARIOOrderByRelevanceFieldEnum[] + sort: SortOrder + search: string + } + + export type USUARIOCountOrderByAggregateInput = { + usuarioId?: SortOrder + user?: SortOrder + contrasena?: SortOrder + nombre?: SortOrder + apellido_m?: SortOrder + apellido_p?: SortOrder + } + + export type USUARIOAvgOrderByAggregateInput = { + usuarioId?: SortOrder + } + + export type USUARIOMaxOrderByAggregateInput = { + usuarioId?: SortOrder + user?: SortOrder + contrasena?: SortOrder + nombre?: SortOrder + apellido_m?: SortOrder + apellido_p?: SortOrder + } + + export type USUARIOMinOrderByAggregateInput = { + usuarioId?: SortOrder + user?: SortOrder + contrasena?: SortOrder + nombre?: SortOrder + apellido_m?: SortOrder + apellido_p?: SortOrder + } + + export type USUARIOSumOrderByAggregateInput = { + usuarioId?: SortOrder + } + + export type USUARIOScalarRelationFilter = { + is?: USUARIOWhereInput + isNot?: USUARIOWhereInput + } + + export type USUARIO_CHAROLAUsuarioIdCharolaIdCompoundUniqueInput = { + usuarioId: number + charolaId: number + } + + export type USUARIO_CHAROLACountOrderByAggregateInput = { + usuarioId?: SortOrder + charolaId?: SortOrder + } + + export type USUARIO_CHAROLAAvgOrderByAggregateInput = { + usuarioId?: SortOrder + charolaId?: SortOrder + } + + export type USUARIO_CHAROLAMaxOrderByAggregateInput = { + usuarioId?: SortOrder + charolaId?: SortOrder + } + + export type USUARIO_CHAROLAMinOrderByAggregateInput = { + usuarioId?: SortOrder + charolaId?: SortOrder + } + + export type USUARIO_CHAROLASumOrderByAggregateInput = { + usuarioId?: SortOrder + charolaId?: SortOrder + } + + export type FRASScalarRelationFilter = { + is?: FRASWhereInput + isNot?: FRASWhereInput + } + + export type CHAROLA_FRASCharolaIdFrasIdCompoundUniqueInput = { + charolaId: number + frasId: number + } + + export type CHAROLA_FRASCountOrderByAggregateInput = { + charolaId?: SortOrder + frasId?: SortOrder + } + + export type CHAROLA_FRASAvgOrderByAggregateInput = { + charolaId?: SortOrder + frasId?: SortOrder + } + + export type CHAROLA_FRASMaxOrderByAggregateInput = { + charolaId?: SortOrder + frasId?: SortOrder + } + + export type CHAROLA_FRASMinOrderByAggregateInput = { + charolaId?: SortOrder + frasId?: SortOrder + } + + export type CHAROLA_FRASSumOrderByAggregateInput = { + charolaId?: SortOrder + frasId?: SortOrder + } + + export type PUPAScalarRelationFilter = { + is?: PUPAWhereInput + isNot?: PUPAWhereInput + } + + export type CHAROLA_PUPACharolaIdPupaIdCompoundUniqueInput = { + charolaId: number + pupaId: number + } + + export type CHAROLA_PUPACountOrderByAggregateInput = { + charolaId?: SortOrder + pupaId?: SortOrder + } + + export type CHAROLA_PUPAAvgOrderByAggregateInput = { + charolaId?: SortOrder + pupaId?: SortOrder } - export type ADMINISTRADOROrderByRelationAggregateInput = { - _count?: SortOrder + export type CHAROLA_PUPAMaxOrderByAggregateInput = { + charolaId?: SortOrder + pupaId?: SortOrder } - export type USUARIOOrderByRelevanceInput = { - fields: USUARIOOrderByRelevanceFieldEnum | USUARIOOrderByRelevanceFieldEnum[] - sort: SortOrder - search: string + export type CHAROLA_PUPAMinOrderByAggregateInput = { + charolaId?: SortOrder + pupaId?: SortOrder } - export type USUARIOCountOrderByAggregateInput = { - usuarioId?: SortOrder - user?: SortOrder - contrasena?: SortOrder - nombre?: SortOrder - apellido_m?: SortOrder - apellido_p?: SortOrder + export type CHAROLA_PUPASumOrderByAggregateInput = { + charolaId?: SortOrder + pupaId?: SortOrder } - export type USUARIOAvgOrderByAggregateInput = { - usuarioId?: SortOrder + export type PUPACountOrderByAggregateInput = { + pupaId?: SortOrder + fechaRegistro?: SortOrder + cantidadObtenida?: SortOrder } - export type USUARIOMaxOrderByAggregateInput = { - usuarioId?: SortOrder - user?: SortOrder - contrasena?: SortOrder - nombre?: SortOrder - apellido_m?: SortOrder - apellido_p?: SortOrder + export type PUPAAvgOrderByAggregateInput = { + pupaId?: SortOrder + cantidadObtenida?: SortOrder } - export type USUARIOMinOrderByAggregateInput = { - usuarioId?: SortOrder - user?: SortOrder - contrasena?: SortOrder - nombre?: SortOrder - apellido_m?: SortOrder - apellido_p?: SortOrder + export type PUPAMaxOrderByAggregateInput = { + pupaId?: SortOrder + fechaRegistro?: SortOrder + cantidadObtenida?: SortOrder } - export type USUARIOSumOrderByAggregateInput = { - usuarioId?: SortOrder + export type PUPAMinOrderByAggregateInput = { + pupaId?: SortOrder + fechaRegistro?: SortOrder + cantidadObtenida?: SortOrder } - export type USUARIOScalarRelationFilter = { - is?: USUARIOWhereInput - isNot?: USUARIOWhereInput + export type PUPASumOrderByAggregateInput = { + pupaId?: SortOrder + cantidadObtenida?: SortOrder } - export type USUARIO_CHAROLAUsuarioIdCharolaIdCompoundUniqueInput = { - usuarioId: number - charolaId: number + export type ELIMINACION_MOTIVOOrderByRelevanceInput = { + fields: ELIMINACION_MOTIVOOrderByRelevanceFieldEnum | ELIMINACION_MOTIVOOrderByRelevanceFieldEnum[] + sort: SortOrder + search: string } - export type USUARIO_CHAROLACountOrderByAggregateInput = { - usuarioId?: SortOrder - charolaId?: SortOrder + export type ELIMINACION_MOTIVOCountOrderByAggregateInput = { + id?: SortOrder + user?: SortOrder + charola_nombre?: SortOrder + motivo?: SortOrder + fecha_eliminacion?: SortOrder } - export type USUARIO_CHAROLAAvgOrderByAggregateInput = { - usuarioId?: SortOrder - charolaId?: SortOrder + export type ELIMINACION_MOTIVOAvgOrderByAggregateInput = { + id?: SortOrder } - export type USUARIO_CHAROLAMaxOrderByAggregateInput = { - usuarioId?: SortOrder - charolaId?: SortOrder + export type ELIMINACION_MOTIVOMaxOrderByAggregateInput = { + id?: SortOrder + user?: SortOrder + charola_nombre?: SortOrder + motivo?: SortOrder + fecha_eliminacion?: SortOrder } - export type USUARIO_CHAROLAMinOrderByAggregateInput = { - usuarioId?: SortOrder - charolaId?: SortOrder + export type ELIMINACION_MOTIVOMinOrderByAggregateInput = { + id?: SortOrder + user?: SortOrder + charola_nombre?: SortOrder + motivo?: SortOrder + fecha_eliminacion?: SortOrder } - export type USUARIO_CHAROLASumOrderByAggregateInput = { - usuarioId?: SortOrder - charolaId?: SortOrder + export type ELIMINACION_MOTIVOSumOrderByAggregateInput = { + id?: SortOrder } export type USUARIOCreateNestedOneWithoutADMINISTRADORInput = { @@ -13549,6 +18617,13 @@ export namespace Prisma { connect?: CHAROLA_COMIDAWhereUniqueInput | CHAROLA_COMIDAWhereUniqueInput[] } + export type CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput = { + create?: XOR | CHAROLA_FRASCreateWithoutCHAROLAInput[] | CHAROLA_FRASUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput | CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput[] + createMany?: CHAROLA_FRASCreateManyCHAROLAInputEnvelope + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + } + export type CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput = { create?: XOR | CHAROLA_HIDRATACIONCreateWithoutCHAROLAInput[] | CHAROLA_HIDRATACIONUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput | CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput[] @@ -13556,6 +18631,13 @@ export namespace Prisma { connect?: CHAROLA_HIDRATACIONWhereUniqueInput | CHAROLA_HIDRATACIONWhereUniqueInput[] } + export type CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput = { + create?: XOR | CHAROLA_PUPACreateWithoutCHAROLAInput[] | CHAROLA_PUPAUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput | CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput[] + createMany?: CHAROLA_PUPACreateManyCHAROLAInputEnvelope + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + } + export type FRASCreateNestedManyWithoutCHAROLAInput = { create?: XOR | FRASCreateWithoutCHAROLAInput[] | FRASUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: FRASCreateOrConnectWithoutCHAROLAInput | FRASCreateOrConnectWithoutCHAROLAInput[] @@ -13591,6 +18673,13 @@ export namespace Prisma { connect?: CHAROLA_COMIDAWhereUniqueInput | CHAROLA_COMIDAWhereUniqueInput[] } + export type CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput = { + create?: XOR | CHAROLA_FRASCreateWithoutCHAROLAInput[] | CHAROLA_FRASUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput | CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput[] + createMany?: CHAROLA_FRASCreateManyCHAROLAInputEnvelope + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + } + export type CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput = { create?: XOR | CHAROLA_HIDRATACIONCreateWithoutCHAROLAInput[] | CHAROLA_HIDRATACIONUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput | CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput[] @@ -13598,6 +18687,13 @@ export namespace Prisma { connect?: CHAROLA_HIDRATACIONWhereUniqueInput | CHAROLA_HIDRATACIONWhereUniqueInput[] } + export type CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput = { + create?: XOR | CHAROLA_PUPACreateWithoutCHAROLAInput[] | CHAROLA_PUPAUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput | CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput[] + createMany?: CHAROLA_PUPACreateManyCHAROLAInputEnvelope + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + } + export type FRASUncheckedCreateNestedManyWithoutCHAROLAInput = { create?: XOR | FRASCreateWithoutCHAROLAInput[] | FRASUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: FRASCreateOrConnectWithoutCHAROLAInput | FRASCreateOrConnectWithoutCHAROLAInput[] @@ -13628,6 +18724,10 @@ export namespace Prisma { set?: Date | string | null } + export type StringFieldUpdateOperationsInput = { + set?: string + } + export type NullableFloatFieldUpdateOperationsInput = { set?: number | null increment?: number @@ -13636,6 +18736,10 @@ export namespace Prisma { divide?: number } + export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string + } + export type CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput = { create?: XOR | CHAROLA_CHAROLACreateWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput[] | CHAROLA_CHAROLAUncheckedCreateWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput[] connectOrCreate?: CHAROLA_CHAROLACreateOrConnectWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput | CHAROLA_CHAROLACreateOrConnectWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput[] @@ -13678,6 +18782,20 @@ export namespace Prisma { deleteMany?: CHAROLA_COMIDAScalarWhereInput | CHAROLA_COMIDAScalarWhereInput[] } + export type CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput = { + create?: XOR | CHAROLA_FRASCreateWithoutCHAROLAInput[] | CHAROLA_FRASUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput | CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput[] + upsert?: CHAROLA_FRASUpsertWithWhereUniqueWithoutCHAROLAInput | CHAROLA_FRASUpsertWithWhereUniqueWithoutCHAROLAInput[] + createMany?: CHAROLA_FRASCreateManyCHAROLAInputEnvelope + set?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + disconnect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + delete?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + update?: CHAROLA_FRASUpdateWithWhereUniqueWithoutCHAROLAInput | CHAROLA_FRASUpdateWithWhereUniqueWithoutCHAROLAInput[] + updateMany?: CHAROLA_FRASUpdateManyWithWhereWithoutCHAROLAInput | CHAROLA_FRASUpdateManyWithWhereWithoutCHAROLAInput[] + deleteMany?: CHAROLA_FRASScalarWhereInput | CHAROLA_FRASScalarWhereInput[] + } + export type CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput = { create?: XOR | CHAROLA_HIDRATACIONCreateWithoutCHAROLAInput[] | CHAROLA_HIDRATACIONUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput | CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput[] @@ -13692,6 +18810,20 @@ export namespace Prisma { deleteMany?: CHAROLA_HIDRATACIONScalarWhereInput | CHAROLA_HIDRATACIONScalarWhereInput[] } + export type CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput = { + create?: XOR | CHAROLA_PUPACreateWithoutCHAROLAInput[] | CHAROLA_PUPAUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput | CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput[] + upsert?: CHAROLA_PUPAUpsertWithWhereUniqueWithoutCHAROLAInput | CHAROLA_PUPAUpsertWithWhereUniqueWithoutCHAROLAInput[] + createMany?: CHAROLA_PUPACreateManyCHAROLAInputEnvelope + set?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + disconnect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + delete?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + update?: CHAROLA_PUPAUpdateWithWhereUniqueWithoutCHAROLAInput | CHAROLA_PUPAUpdateWithWhereUniqueWithoutCHAROLAInput[] + updateMany?: CHAROLA_PUPAUpdateManyWithWhereWithoutCHAROLAInput | CHAROLA_PUPAUpdateManyWithWhereWithoutCHAROLAInput[] + deleteMany?: CHAROLA_PUPAScalarWhereInput | CHAROLA_PUPAScalarWhereInput[] + } + export type FRASUpdateManyWithoutCHAROLANestedInput = { create?: XOR | FRASCreateWithoutCHAROLAInput[] | FRASUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: FRASCreateOrConnectWithoutCHAROLAInput | FRASCreateOrConnectWithoutCHAROLAInput[] @@ -13762,6 +18894,20 @@ export namespace Prisma { deleteMany?: CHAROLA_COMIDAScalarWhereInput | CHAROLA_COMIDAScalarWhereInput[] } + export type CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput = { + create?: XOR | CHAROLA_FRASCreateWithoutCHAROLAInput[] | CHAROLA_FRASUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput | CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput[] + upsert?: CHAROLA_FRASUpsertWithWhereUniqueWithoutCHAROLAInput | CHAROLA_FRASUpsertWithWhereUniqueWithoutCHAROLAInput[] + createMany?: CHAROLA_FRASCreateManyCHAROLAInputEnvelope + set?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + disconnect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + delete?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + update?: CHAROLA_FRASUpdateWithWhereUniqueWithoutCHAROLAInput | CHAROLA_FRASUpdateWithWhereUniqueWithoutCHAROLAInput[] + updateMany?: CHAROLA_FRASUpdateManyWithWhereWithoutCHAROLAInput | CHAROLA_FRASUpdateManyWithWhereWithoutCHAROLAInput[] + deleteMany?: CHAROLA_FRASScalarWhereInput | CHAROLA_FRASScalarWhereInput[] + } + export type CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput = { create?: XOR | CHAROLA_HIDRATACIONCreateWithoutCHAROLAInput[] | CHAROLA_HIDRATACIONUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput | CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput[] @@ -13776,6 +18922,20 @@ export namespace Prisma { deleteMany?: CHAROLA_HIDRATACIONScalarWhereInput | CHAROLA_HIDRATACIONScalarWhereInput[] } + export type CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput = { + create?: XOR | CHAROLA_PUPACreateWithoutCHAROLAInput[] | CHAROLA_PUPAUncheckedCreateWithoutCHAROLAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput | CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput[] + upsert?: CHAROLA_PUPAUpsertWithWhereUniqueWithoutCHAROLAInput | CHAROLA_PUPAUpsertWithWhereUniqueWithoutCHAROLAInput[] + createMany?: CHAROLA_PUPACreateManyCHAROLAInputEnvelope + set?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + disconnect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + delete?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + update?: CHAROLA_PUPAUpdateWithWhereUniqueWithoutCHAROLAInput | CHAROLA_PUPAUpdateWithWhereUniqueWithoutCHAROLAInput[] + updateMany?: CHAROLA_PUPAUpdateManyWithWhereWithoutCHAROLAInput | CHAROLA_PUPAUpdateManyWithWhereWithoutCHAROLAInput[] + deleteMany?: CHAROLA_PUPAScalarWhereInput | CHAROLA_PUPAScalarWhereInput[] + } + export type FRASUncheckedUpdateManyWithoutCHAROLANestedInput = { create?: XOR | FRASCreateWithoutCHAROLAInput[] | FRASUncheckedCreateWithoutCHAROLAInput[] connectOrCreate?: FRASCreateOrConnectWithoutCHAROLAInput | FRASCreateOrConnectWithoutCHAROLAInput[] @@ -13844,18 +19004,22 @@ export namespace Prisma { connect?: COMIDAWhereUniqueInput } - export type CHAROLAUpdateOneRequiredWithoutCHAROLA_COMIDANestedInput = { + export type CHAROLAUpdateOneWithoutCHAROLA_COMIDANestedInput = { create?: XOR connectOrCreate?: CHAROLACreateOrConnectWithoutCHAROLA_COMIDAInput upsert?: CHAROLAUpsertWithoutCHAROLA_COMIDAInput + disconnect?: CHAROLAWhereInput | boolean + delete?: CHAROLAWhereInput | boolean connect?: CHAROLAWhereUniqueInput update?: XOR, CHAROLAUncheckedUpdateWithoutCHAROLA_COMIDAInput> } - export type COMIDAUpdateOneRequiredWithoutCHAROLA_COMIDANestedInput = { + export type COMIDAUpdateOneWithoutCHAROLA_COMIDANestedInput = { create?: XOR connectOrCreate?: COMIDACreateOrConnectWithoutCHAROLA_COMIDAInput upsert?: COMIDAUpsertWithoutCHAROLA_COMIDAInput + disconnect?: COMIDAWhereInput | boolean + delete?: COMIDAWhereInput | boolean connect?: COMIDAWhereUniqueInput update?: XOR, COMIDAUncheckedUpdateWithoutCHAROLA_COMIDAInput> } @@ -13872,18 +19036,22 @@ export namespace Prisma { connect?: HIDRATACIONWhereUniqueInput } - export type CHAROLAUpdateOneRequiredWithoutCHAROLA_HIDRATACIONNestedInput = { + export type CHAROLAUpdateOneWithoutCHAROLA_HIDRATACIONNestedInput = { create?: XOR connectOrCreate?: CHAROLACreateOrConnectWithoutCHAROLA_HIDRATACIONInput upsert?: CHAROLAUpsertWithoutCHAROLA_HIDRATACIONInput + disconnect?: CHAROLAWhereInput | boolean + delete?: CHAROLAWhereInput | boolean connect?: CHAROLAWhereUniqueInput update?: XOR, CHAROLAUncheckedUpdateWithoutCHAROLA_HIDRATACIONInput> } - export type HIDRATACIONUpdateOneRequiredWithoutCHAROLA_HIDRATACIONNestedInput = { + export type HIDRATACIONUpdateOneWithoutCHAROLA_HIDRATACIONNestedInput = { create?: XOR connectOrCreate?: HIDRATACIONCreateOrConnectWithoutCHAROLA_HIDRATACIONInput upsert?: HIDRATACIONUpsertWithoutCHAROLA_HIDRATACIONInput + disconnect?: HIDRATACIONWhereInput | boolean + delete?: HIDRATACIONWhereInput | boolean connect?: HIDRATACIONWhereUniqueInput update?: XOR, HIDRATACIONUncheckedUpdateWithoutCHAROLA_HIDRATACIONInput> } @@ -13902,10 +19070,6 @@ export namespace Prisma { connect?: CHAROLA_COMIDAWhereUniqueInput | CHAROLA_COMIDAWhereUniqueInput[] } - export type StringFieldUpdateOperationsInput = { - set?: string - } - export type CHAROLA_COMIDAUpdateManyWithoutCOMIDANestedInput = { create?: XOR | CHAROLA_COMIDACreateWithoutCOMIDAInput[] | CHAROLA_COMIDAUncheckedCreateWithoutCOMIDAInput[] connectOrCreate?: CHAROLA_COMIDACreateOrConnectWithoutCOMIDAInput | CHAROLA_COMIDACreateOrConnectWithoutCOMIDAInput[] @@ -13934,12 +19098,40 @@ export namespace Prisma { deleteMany?: CHAROLA_COMIDAScalarWhereInput | CHAROLA_COMIDAScalarWhereInput[] } + export type CHAROLA_FRASCreateNestedManyWithoutFRASInput = { + create?: XOR | CHAROLA_FRASCreateWithoutFRASInput[] | CHAROLA_FRASUncheckedCreateWithoutFRASInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutFRASInput | CHAROLA_FRASCreateOrConnectWithoutFRASInput[] + createMany?: CHAROLA_FRASCreateManyFRASInputEnvelope + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + } + export type CHAROLACreateNestedOneWithoutFRASInput = { create?: XOR connectOrCreate?: CHAROLACreateOrConnectWithoutFRASInput connect?: CHAROLAWhereUniqueInput } + export type CHAROLA_FRASUncheckedCreateNestedManyWithoutFRASInput = { + create?: XOR | CHAROLA_FRASCreateWithoutFRASInput[] | CHAROLA_FRASUncheckedCreateWithoutFRASInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutFRASInput | CHAROLA_FRASCreateOrConnectWithoutFRASInput[] + createMany?: CHAROLA_FRASCreateManyFRASInputEnvelope + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + } + + export type CHAROLA_FRASUpdateManyWithoutFRASNestedInput = { + create?: XOR | CHAROLA_FRASCreateWithoutFRASInput[] | CHAROLA_FRASUncheckedCreateWithoutFRASInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutFRASInput | CHAROLA_FRASCreateOrConnectWithoutFRASInput[] + upsert?: CHAROLA_FRASUpsertWithWhereUniqueWithoutFRASInput | CHAROLA_FRASUpsertWithWhereUniqueWithoutFRASInput[] + createMany?: CHAROLA_FRASCreateManyFRASInputEnvelope + set?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + disconnect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + delete?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + update?: CHAROLA_FRASUpdateWithWhereUniqueWithoutFRASInput | CHAROLA_FRASUpdateWithWhereUniqueWithoutFRASInput[] + updateMany?: CHAROLA_FRASUpdateManyWithWhereWithoutFRASInput | CHAROLA_FRASUpdateManyWithWhereWithoutFRASInput[] + deleteMany?: CHAROLA_FRASScalarWhereInput | CHAROLA_FRASScalarWhereInput[] + } + export type CHAROLAUpdateOneWithoutFRASNestedInput = { create?: XOR connectOrCreate?: CHAROLACreateOrConnectWithoutFRASInput @@ -13950,6 +19142,20 @@ export namespace Prisma { update?: XOR, CHAROLAUncheckedUpdateWithoutFRASInput> } + export type CHAROLA_FRASUncheckedUpdateManyWithoutFRASNestedInput = { + create?: XOR | CHAROLA_FRASCreateWithoutFRASInput[] | CHAROLA_FRASUncheckedCreateWithoutFRASInput[] + connectOrCreate?: CHAROLA_FRASCreateOrConnectWithoutFRASInput | CHAROLA_FRASCreateOrConnectWithoutFRASInput[] + upsert?: CHAROLA_FRASUpsertWithWhereUniqueWithoutFRASInput | CHAROLA_FRASUpsertWithWhereUniqueWithoutFRASInput[] + createMany?: CHAROLA_FRASCreateManyFRASInputEnvelope + set?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + disconnect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + delete?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + connect?: CHAROLA_FRASWhereUniqueInput | CHAROLA_FRASWhereUniqueInput[] + update?: CHAROLA_FRASUpdateWithWhereUniqueWithoutFRASInput | CHAROLA_FRASUpdateWithWhereUniqueWithoutFRASInput[] + updateMany?: CHAROLA_FRASUpdateManyWithWhereWithoutFRASInput | CHAROLA_FRASUpdateManyWithWhereWithoutFRASInput[] + deleteMany?: CHAROLA_FRASScalarWhereInput | CHAROLA_FRASScalarWhereInput[] + } + export type CHAROLA_HIDRATACIONCreateNestedManyWithoutHIDRATACIONInput = { create?: XOR | CHAROLA_HIDRATACIONCreateWithoutHIDRATACIONInput[] | CHAROLA_HIDRATACIONUncheckedCreateWithoutHIDRATACIONInput[] connectOrCreate?: CHAROLA_HIDRATACIONCreateOrConnectWithoutHIDRATACIONInput | CHAROLA_HIDRATACIONCreateOrConnectWithoutHIDRATACIONInput[] @@ -14104,6 +19310,104 @@ export namespace Prisma { update?: XOR, CHAROLAUncheckedUpdateWithoutUSUARIO_CHAROLAInput> } + export type CHAROLACreateNestedOneWithoutCHAROLA_FRASInput = { + create?: XOR + connectOrCreate?: CHAROLACreateOrConnectWithoutCHAROLA_FRASInput + connect?: CHAROLAWhereUniqueInput + } + + export type FRASCreateNestedOneWithoutCHAROLA_FRASInput = { + create?: XOR + connectOrCreate?: FRASCreateOrConnectWithoutCHAROLA_FRASInput + connect?: FRASWhereUniqueInput + } + + export type CHAROLAUpdateOneRequiredWithoutCHAROLA_FRASNestedInput = { + create?: XOR + connectOrCreate?: CHAROLACreateOrConnectWithoutCHAROLA_FRASInput + upsert?: CHAROLAUpsertWithoutCHAROLA_FRASInput + connect?: CHAROLAWhereUniqueInput + update?: XOR, CHAROLAUncheckedUpdateWithoutCHAROLA_FRASInput> + } + + export type FRASUpdateOneRequiredWithoutCHAROLA_FRASNestedInput = { + create?: XOR + connectOrCreate?: FRASCreateOrConnectWithoutCHAROLA_FRASInput + upsert?: FRASUpsertWithoutCHAROLA_FRASInput + connect?: FRASWhereUniqueInput + update?: XOR, FRASUncheckedUpdateWithoutCHAROLA_FRASInput> + } + + export type CHAROLACreateNestedOneWithoutCHAROLA_PUPAInput = { + create?: XOR + connectOrCreate?: CHAROLACreateOrConnectWithoutCHAROLA_PUPAInput + connect?: CHAROLAWhereUniqueInput + } + + export type PUPACreateNestedOneWithoutCHAROLA_PUPAInput = { + create?: XOR + connectOrCreate?: PUPACreateOrConnectWithoutCHAROLA_PUPAInput + connect?: PUPAWhereUniqueInput + } + + export type CHAROLAUpdateOneRequiredWithoutCHAROLA_PUPANestedInput = { + create?: XOR + connectOrCreate?: CHAROLACreateOrConnectWithoutCHAROLA_PUPAInput + upsert?: CHAROLAUpsertWithoutCHAROLA_PUPAInput + connect?: CHAROLAWhereUniqueInput + update?: XOR, CHAROLAUncheckedUpdateWithoutCHAROLA_PUPAInput> + } + + export type PUPAUpdateOneRequiredWithoutCHAROLA_PUPANestedInput = { + create?: XOR + connectOrCreate?: PUPACreateOrConnectWithoutCHAROLA_PUPAInput + upsert?: PUPAUpsertWithoutCHAROLA_PUPAInput + connect?: PUPAWhereUniqueInput + update?: XOR, PUPAUncheckedUpdateWithoutCHAROLA_PUPAInput> + } + + export type CHAROLA_PUPACreateNestedManyWithoutPUPAInput = { + create?: XOR | CHAROLA_PUPACreateWithoutPUPAInput[] | CHAROLA_PUPAUncheckedCreateWithoutPUPAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutPUPAInput | CHAROLA_PUPACreateOrConnectWithoutPUPAInput[] + createMany?: CHAROLA_PUPACreateManyPUPAInputEnvelope + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + } + + export type CHAROLA_PUPAUncheckedCreateNestedManyWithoutPUPAInput = { + create?: XOR | CHAROLA_PUPACreateWithoutPUPAInput[] | CHAROLA_PUPAUncheckedCreateWithoutPUPAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutPUPAInput | CHAROLA_PUPACreateOrConnectWithoutPUPAInput[] + createMany?: CHAROLA_PUPACreateManyPUPAInputEnvelope + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + } + + export type CHAROLA_PUPAUpdateManyWithoutPUPANestedInput = { + create?: XOR | CHAROLA_PUPACreateWithoutPUPAInput[] | CHAROLA_PUPAUncheckedCreateWithoutPUPAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutPUPAInput | CHAROLA_PUPACreateOrConnectWithoutPUPAInput[] + upsert?: CHAROLA_PUPAUpsertWithWhereUniqueWithoutPUPAInput | CHAROLA_PUPAUpsertWithWhereUniqueWithoutPUPAInput[] + createMany?: CHAROLA_PUPACreateManyPUPAInputEnvelope + set?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + disconnect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + delete?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + update?: CHAROLA_PUPAUpdateWithWhereUniqueWithoutPUPAInput | CHAROLA_PUPAUpdateWithWhereUniqueWithoutPUPAInput[] + updateMany?: CHAROLA_PUPAUpdateManyWithWhereWithoutPUPAInput | CHAROLA_PUPAUpdateManyWithWhereWithoutPUPAInput[] + deleteMany?: CHAROLA_PUPAScalarWhereInput | CHAROLA_PUPAScalarWhereInput[] + } + + export type CHAROLA_PUPAUncheckedUpdateManyWithoutPUPANestedInput = { + create?: XOR | CHAROLA_PUPACreateWithoutPUPAInput[] | CHAROLA_PUPAUncheckedCreateWithoutPUPAInput[] + connectOrCreate?: CHAROLA_PUPACreateOrConnectWithoutPUPAInput | CHAROLA_PUPACreateOrConnectWithoutPUPAInput[] + upsert?: CHAROLA_PUPAUpsertWithWhereUniqueWithoutPUPAInput | CHAROLA_PUPAUpsertWithWhereUniqueWithoutPUPAInput[] + createMany?: CHAROLA_PUPACreateManyPUPAInputEnvelope + set?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + disconnect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + delete?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + connect?: CHAROLA_PUPAWhereUniqueInput | CHAROLA_PUPAWhereUniqueInput[] + update?: CHAROLA_PUPAUpdateWithWhereUniqueWithoutPUPAInput | CHAROLA_PUPAUpdateWithWhereUniqueWithoutPUPAInput[] + updateMany?: CHAROLA_PUPAUpdateManyWithWhereWithoutPUPAInput | CHAROLA_PUPAUpdateManyWithWhereWithoutPUPAInput[] + deleteMany?: CHAROLA_PUPAScalarWhereInput | CHAROLA_PUPAScalarWhereInput[] + } + export type NestedIntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] @@ -14206,6 +19510,32 @@ export namespace Prisma { not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } + export type NestedStringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] + notIn?: string[] + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + search?: string + not?: NestedStringFilter<$PrismaModel> | string + } + + export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] + notIn?: Date[] | string[] + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | null @@ -14254,6 +19584,24 @@ export namespace Prisma { _max?: NestedDateTimeNullableFilter<$PrismaModel> } + export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] + notIn?: string[] + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + search?: string + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | null @@ -14270,37 +19618,18 @@ export namespace Prisma { _max?: NestedFloatNullableFilter<$PrismaModel> } - export type NestedStringFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - search?: string - not?: NestedStringFilter<$PrismaModel> | string - } - - export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - search?: string - not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] + notIn?: Date[] | string[] + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string _count?: NestedIntFilter<$PrismaModel> - _min?: NestedStringFilter<$PrismaModel> - _max?: NestedStringFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> } export type USUARIOCreateWithoutADMINISTRADORInput = { @@ -14395,12 +19724,15 @@ export namespace Prisma { export type CHAROLA_COMIDACreateWithoutCHAROLAInput = { cantidadOtorgada: number - COMIDA: COMIDACreateNestedOneWithoutCHAROLA_COMIDAInput + fechaOtorgada: Date | string + COMIDA?: COMIDACreateNestedOneWithoutCHAROLA_COMIDAInput } export type CHAROLA_COMIDAUncheckedCreateWithoutCHAROLAInput = { - comidaId: number + id?: number + comidaId?: number | null cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_COMIDACreateOrConnectWithoutCHAROLAInput = { @@ -14413,14 +19745,35 @@ export namespace Prisma { skipDuplicates?: boolean } + export type CHAROLA_FRASCreateWithoutCHAROLAInput = { + FRAS: FRASCreateNestedOneWithoutCHAROLA_FRASInput + } + + export type CHAROLA_FRASUncheckedCreateWithoutCHAROLAInput = { + frasId: number + } + + export type CHAROLA_FRASCreateOrConnectWithoutCHAROLAInput = { + where: CHAROLA_FRASWhereUniqueInput + create: XOR + } + + export type CHAROLA_FRASCreateManyCHAROLAInputEnvelope = { + data: CHAROLA_FRASCreateManyCHAROLAInput | CHAROLA_FRASCreateManyCHAROLAInput[] + skipDuplicates?: boolean + } + export type CHAROLA_HIDRATACIONCreateWithoutCHAROLAInput = { - cantidadOtorgada?: number | null - HIDRATACION: HIDRATACIONCreateNestedOneWithoutCHAROLA_HIDRATACIONInput + cantidadOtorgada: number + fechaOtorgada: Date | string + HIDRATACION?: HIDRATACIONCreateNestedOneWithoutCHAROLA_HIDRATACIONInput } export type CHAROLA_HIDRATACIONUncheckedCreateWithoutCHAROLAInput = { - hidratacionId: number - cantidadOtorgada?: number | null + id?: number + hidratacionId?: number | null + cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_HIDRATACIONCreateOrConnectWithoutCHAROLAInput = { @@ -14433,13 +19786,35 @@ export namespace Prisma { skipDuplicates?: boolean } + export type CHAROLA_PUPACreateWithoutCHAROLAInput = { + PUPA: PUPACreateNestedOneWithoutCHAROLA_PUPAInput + } + + export type CHAROLA_PUPAUncheckedCreateWithoutCHAROLAInput = { + pupaId: number + } + + export type CHAROLA_PUPACreateOrConnectWithoutCHAROLAInput = { + where: CHAROLA_PUPAWhereUniqueInput + create: XOR + } + + export type CHAROLA_PUPACreateManyCHAROLAInputEnvelope = { + data: CHAROLA_PUPACreateManyCHAROLAInput | CHAROLA_PUPACreateManyCHAROLAInput[] + skipDuplicates?: boolean + } + export type FRASCreateWithoutCHAROLAInput = { gramosGenerados: number + fechaRegistro?: Date | string | null + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutFRASInput } export type FRASUncheckedCreateWithoutCHAROLAInput = { - frassId?: number + frasId?: number gramosGenerados: number + fechaRegistro?: Date | string | null + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutFRASInput } export type FRASCreateOrConnectWithoutCHAROLAInput = { @@ -14530,9 +19905,35 @@ export namespace Prisma { AND?: CHAROLA_COMIDAScalarWhereInput | CHAROLA_COMIDAScalarWhereInput[] OR?: CHAROLA_COMIDAScalarWhereInput[] NOT?: CHAROLA_COMIDAScalarWhereInput | CHAROLA_COMIDAScalarWhereInput[] - charolaId?: IntFilter<"CHAROLA_COMIDA"> | number - comidaId?: IntFilter<"CHAROLA_COMIDA"> | number + id?: IntFilter<"CHAROLA_COMIDA"> | number + charolaId?: IntNullableFilter<"CHAROLA_COMIDA"> | number | null + comidaId?: IntNullableFilter<"CHAROLA_COMIDA"> | number | null cantidadOtorgada?: FloatFilter<"CHAROLA_COMIDA"> | number + fechaOtorgada?: DateTimeFilter<"CHAROLA_COMIDA"> | Date | string + } + + export type CHAROLA_FRASUpsertWithWhereUniqueWithoutCHAROLAInput = { + where: CHAROLA_FRASWhereUniqueInput + update: XOR + create: XOR + } + + export type CHAROLA_FRASUpdateWithWhereUniqueWithoutCHAROLAInput = { + where: CHAROLA_FRASWhereUniqueInput + data: XOR + } + + export type CHAROLA_FRASUpdateManyWithWhereWithoutCHAROLAInput = { + where: CHAROLA_FRASScalarWhereInput + data: XOR + } + + export type CHAROLA_FRASScalarWhereInput = { + AND?: CHAROLA_FRASScalarWhereInput | CHAROLA_FRASScalarWhereInput[] + OR?: CHAROLA_FRASScalarWhereInput[] + NOT?: CHAROLA_FRASScalarWhereInput | CHAROLA_FRASScalarWhereInput[] + charolaId?: IntFilter<"CHAROLA_FRAS"> | number + frasId?: IntFilter<"CHAROLA_FRAS"> | number } export type CHAROLA_HIDRATACIONUpsertWithWhereUniqueWithoutCHAROLAInput = { @@ -14555,9 +19956,35 @@ export namespace Prisma { AND?: CHAROLA_HIDRATACIONScalarWhereInput | CHAROLA_HIDRATACIONScalarWhereInput[] OR?: CHAROLA_HIDRATACIONScalarWhereInput[] NOT?: CHAROLA_HIDRATACIONScalarWhereInput | CHAROLA_HIDRATACIONScalarWhereInput[] - charolaId?: IntFilter<"CHAROLA_HIDRATACION"> | number - hidratacionId?: IntFilter<"CHAROLA_HIDRATACION"> | number - cantidadOtorgada?: FloatNullableFilter<"CHAROLA_HIDRATACION"> | number | null + id?: IntFilter<"CHAROLA_HIDRATACION"> | number + charolaId?: IntNullableFilter<"CHAROLA_HIDRATACION"> | number | null + hidratacionId?: IntNullableFilter<"CHAROLA_HIDRATACION"> | number | null + cantidadOtorgada?: FloatFilter<"CHAROLA_HIDRATACION"> | number + fechaOtorgada?: DateTimeFilter<"CHAROLA_HIDRATACION"> | Date | string + } + + export type CHAROLA_PUPAUpsertWithWhereUniqueWithoutCHAROLAInput = { + where: CHAROLA_PUPAWhereUniqueInput + update: XOR + create: XOR + } + + export type CHAROLA_PUPAUpdateWithWhereUniqueWithoutCHAROLAInput = { + where: CHAROLA_PUPAWhereUniqueInput + data: XOR + } + + export type CHAROLA_PUPAUpdateManyWithWhereWithoutCHAROLAInput = { + where: CHAROLA_PUPAScalarWhereInput + data: XOR + } + + export type CHAROLA_PUPAScalarWhereInput = { + AND?: CHAROLA_PUPAScalarWhereInput | CHAROLA_PUPAScalarWhereInput[] + OR?: CHAROLA_PUPAScalarWhereInput[] + NOT?: CHAROLA_PUPAScalarWhereInput | CHAROLA_PUPAScalarWhereInput[] + charolaId?: IntFilter<"CHAROLA_PUPA"> | number + pupaId?: IntFilter<"CHAROLA_PUPA"> | number } export type FRASUpsertWithWhereUniqueWithoutCHAROLAInput = { @@ -14580,8 +20007,9 @@ export namespace Prisma { AND?: FRASScalarWhereInput | FRASScalarWhereInput[] OR?: FRASScalarWhereInput[] NOT?: FRASScalarWhereInput | FRASScalarWhereInput[] - frassId?: IntFilter<"FRAS"> | number + frasId?: IntFilter<"FRAS"> | number gramosGenerados?: FloatFilter<"FRAS"> | number + fechaRegistro?: DateTimeNullableFilter<"FRAS"> | Date | string | null charolaId?: IntNullableFilter<"FRAS"> | number | null } @@ -14614,13 +20042,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput FRAS?: FRASCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput } @@ -14631,13 +20061,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput } @@ -14652,13 +20084,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput FRAS?: FRASCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput } @@ -14669,13 +20103,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput } @@ -14701,13 +20137,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput } @@ -14718,13 +20156,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput } @@ -14745,13 +20185,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput } @@ -14762,13 +20204,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput } @@ -14778,13 +20222,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput FRAS?: FRASCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput } @@ -14795,13 +20241,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput } @@ -14843,13 +20291,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput } @@ -14860,13 +20310,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput } @@ -14898,13 +20350,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput FRAS?: FRASCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput } @@ -14915,13 +20369,15 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput } @@ -14932,13 +20388,12 @@ export namespace Prisma { } export type HIDRATACIONCreateWithoutCHAROLA_HIDRATACIONInput = { - hidratacionId: number nombre?: string | null descripcion?: string | null } export type HIDRATACIONUncheckedCreateWithoutCHAROLA_HIDRATACIONInput = { - hidratacionId: number + hidratacionId?: number nombre?: string | null descripcion?: string | null } @@ -14964,13 +20419,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput } @@ -14981,13 +20438,15 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput } @@ -15004,7 +20463,6 @@ export namespace Prisma { } export type HIDRATACIONUpdateWithoutCHAROLA_HIDRATACIONInput = { - hidratacionId?: IntFieldUpdateOperationsInput | number nombre?: NullableStringFieldUpdateOperationsInput | string | null descripcion?: NullableStringFieldUpdateOperationsInput | string | null } @@ -15017,12 +20475,15 @@ export namespace Prisma { export type CHAROLA_COMIDACreateWithoutCOMIDAInput = { cantidadOtorgada: number - CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_COMIDAInput + fechaOtorgada: Date | string + CHAROLA?: CHAROLACreateNestedOneWithoutCHAROLA_COMIDAInput } export type CHAROLA_COMIDAUncheckedCreateWithoutCOMIDAInput = { - charolaId: number + id?: number + charolaId?: number | null cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_COMIDACreateOrConnectWithoutCOMIDAInput = { @@ -15051,19 +20512,39 @@ export namespace Prisma { data: XOR } + export type CHAROLA_FRASCreateWithoutFRASInput = { + CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_FRASInput + } + + export type CHAROLA_FRASUncheckedCreateWithoutFRASInput = { + charolaId: number + } + + export type CHAROLA_FRASCreateOrConnectWithoutFRASInput = { + where: CHAROLA_FRASWhereUniqueInput + create: XOR + } + + export type CHAROLA_FRASCreateManyFRASInputEnvelope = { + data: CHAROLA_FRASCreateManyFRASInput | CHAROLA_FRASCreateManyFRASInput[] + skipDuplicates?: boolean + } + export type CHAROLACreateWithoutFRASInput = { nombreCharola?: string | null comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput } @@ -15073,14 +20554,16 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput } @@ -15089,6 +20572,22 @@ export namespace Prisma { create: XOR } + export type CHAROLA_FRASUpsertWithWhereUniqueWithoutFRASInput = { + where: CHAROLA_FRASWhereUniqueInput + update: XOR + create: XOR + } + + export type CHAROLA_FRASUpdateWithWhereUniqueWithoutFRASInput = { + where: CHAROLA_FRASWhereUniqueInput + data: XOR + } + + export type CHAROLA_FRASUpdateManyWithWhereWithoutFRASInput = { + where: CHAROLA_FRASScalarWhereInput + data: XOR + } + export type CHAROLAUpsertWithoutFRASInput = { update: XOR create: XOR @@ -15105,14 +20604,16 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput } @@ -15122,25 +20623,30 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput } export type CHAROLA_HIDRATACIONCreateWithoutHIDRATACIONInput = { - cantidadOtorgada?: number | null - CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_HIDRATACIONInput + cantidadOtorgada: number + fechaOtorgada: Date | string + CHAROLA?: CHAROLACreateNestedOneWithoutCHAROLA_HIDRATACIONInput } export type CHAROLA_HIDRATACIONUncheckedCreateWithoutHIDRATACIONInput = { - charolaId: number - cantidadOtorgada?: number | null + id?: number + charolaId?: number | null + cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_HIDRATACIONCreateOrConnectWithoutHIDRATACIONInput = { @@ -15274,14 +20780,16 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput FRAS?: FRASCreateNestedManyWithoutCHAROLAInput } @@ -15291,14 +20799,16 @@ export namespace Prisma { comidaCiclo: number hidratacionCiclo: number fechaActualizacion?: Date | string | null - estado?: string | null + estado: string densidadLarva?: number | null - fechaCreacion?: Date | string | null + fechaCreacion: Date | string pesoCharola?: number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput } @@ -15353,14 +20863,16 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUpdateManyWithoutCHAROLANestedInput } @@ -15370,15 +20882,311 @@ export namespace Prisma { comidaCiclo?: FloatFieldUpdateOperationsInput | number hidratacionCiclo?: FloatFieldUpdateOperationsInput | number fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null - estado?: NullableStringFieldUpdateOperationsInput | string | null + estado?: StringFieldUpdateOperationsInput | string + densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string + pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput + CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput + FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput + } + + export type CHAROLACreateWithoutCHAROLA_FRASInput = { + nombreCharola?: string | null + comidaCiclo: number + hidratacionCiclo: number + fechaActualizacion?: Date | string | null + estado: string + densidadLarva?: number | null + fechaCreacion: Date | string + pesoCharola?: number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput + CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPACreateNestedManyWithoutCHAROLAInput + FRAS?: FRASCreateNestedManyWithoutCHAROLAInput + USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput + } + + export type CHAROLAUncheckedCreateWithoutCHAROLA_FRASInput = { + charolaId?: number + nombreCharola?: string | null + comidaCiclo: number + hidratacionCiclo: number + fechaActualizacion?: Date | string | null + estado: string + densidadLarva?: number | null + fechaCreacion: Date | string + pesoCharola?: number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput + CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedCreateNestedManyWithoutCHAROLAInput + FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput + USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput + } + + export type CHAROLACreateOrConnectWithoutCHAROLA_FRASInput = { + where: CHAROLAWhereUniqueInput + create: XOR + } + + export type FRASCreateWithoutCHAROLA_FRASInput = { + gramosGenerados: number + fechaRegistro?: Date | string | null + CHAROLA?: CHAROLACreateNestedOneWithoutFRASInput + } + + export type FRASUncheckedCreateWithoutCHAROLA_FRASInput = { + frasId?: number + gramosGenerados: number + fechaRegistro?: Date | string | null + charolaId?: number | null + } + + export type FRASCreateOrConnectWithoutCHAROLA_FRASInput = { + where: FRASWhereUniqueInput + create: XOR + } + + export type CHAROLAUpsertWithoutCHAROLA_FRASInput = { + update: XOR + create: XOR + where?: CHAROLAWhereInput + } + + export type CHAROLAUpdateToOneWithWhereWithoutCHAROLA_FRASInput = { + where?: CHAROLAWhereInput + data: XOR + } + + export type CHAROLAUpdateWithoutCHAROLA_FRASInput = { + nombreCharola?: NullableStringFieldUpdateOperationsInput | string | null + comidaCiclo?: FloatFieldUpdateOperationsInput | number + hidratacionCiclo?: FloatFieldUpdateOperationsInput | number + fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + estado?: StringFieldUpdateOperationsInput | string + densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string + pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput + CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUpdateManyWithoutCHAROLANestedInput + FRAS?: FRASUpdateManyWithoutCHAROLANestedInput + USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput + } + + export type CHAROLAUncheckedUpdateWithoutCHAROLA_FRASInput = { + charolaId?: IntFieldUpdateOperationsInput | number + nombreCharola?: NullableStringFieldUpdateOperationsInput | string | null + comidaCiclo?: FloatFieldUpdateOperationsInput | number + hidratacionCiclo?: FloatFieldUpdateOperationsInput | number + fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + estado?: StringFieldUpdateOperationsInput | string + densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string + pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput + CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_PUPA?: CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLANestedInput + FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput + USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput + } + + export type FRASUpsertWithoutCHAROLA_FRASInput = { + update: XOR + create: XOR + where?: FRASWhereInput + } + + export type FRASUpdateToOneWithWhereWithoutCHAROLA_FRASInput = { + where?: FRASWhereInput + data: XOR + } + + export type FRASUpdateWithoutCHAROLA_FRASInput = { + gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + CHAROLA?: CHAROLAUpdateOneWithoutFRASNestedInput + } + + export type FRASUncheckedUpdateWithoutCHAROLA_FRASInput = { + frasId?: IntFieldUpdateOperationsInput | number + gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + charolaId?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type CHAROLACreateWithoutCHAROLA_PUPAInput = { + nombreCharola?: string | null + comidaCiclo: number + hidratacionCiclo: number + fechaActualizacion?: Date | string | null + estado: string + densidadLarva?: number | null + fechaCreacion: Date | string + pesoCharola?: number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLACreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput + CHAROLA_COMIDA?: CHAROLA_COMIDACreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASCreateNestedManyWithoutCHAROLAInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONCreateNestedManyWithoutCHAROLAInput + FRAS?: FRASCreateNestedManyWithoutCHAROLAInput + USUARIO_CHAROLA?: USUARIO_CHAROLACreateNestedManyWithoutCHAROLAInput + } + + export type CHAROLAUncheckedCreateWithoutCHAROLA_PUPAInput = { + charolaId?: number + nombreCharola?: string | null + comidaCiclo: number + hidratacionCiclo: number + fechaActualizacion?: Date | string | null + estado: string + densidadLarva?: number | null + fechaCreacion: Date | string + pesoCharola?: number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedCreateNestedManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLAInput + CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedCreateNestedManyWithoutCHAROLAInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedCreateNestedManyWithoutCHAROLAInput + FRAS?: FRASUncheckedCreateNestedManyWithoutCHAROLAInput + USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedCreateNestedManyWithoutCHAROLAInput + } + + export type CHAROLACreateOrConnectWithoutCHAROLA_PUPAInput = { + where: CHAROLAWhereUniqueInput + create: XOR + } + + export type PUPACreateWithoutCHAROLA_PUPAInput = { + fechaRegistro?: Date | string | null + cantidadObtenida?: number | null + } + + export type PUPAUncheckedCreateWithoutCHAROLA_PUPAInput = { + pupaId?: number + fechaRegistro?: Date | string | null + cantidadObtenida?: number | null + } + + export type PUPACreateOrConnectWithoutCHAROLA_PUPAInput = { + where: PUPAWhereUniqueInput + create: XOR + } + + export type CHAROLAUpsertWithoutCHAROLA_PUPAInput = { + update: XOR + create: XOR + where?: CHAROLAWhereInput + } + + export type CHAROLAUpdateToOneWithWhereWithoutCHAROLA_PUPAInput = { + where?: CHAROLAWhereInput + data: XOR + } + + export type CHAROLAUpdateWithoutCHAROLA_PUPAInput = { + nombreCharola?: NullableStringFieldUpdateOperationsInput | string | null + comidaCiclo?: FloatFieldUpdateOperationsInput | number + hidratacionCiclo?: FloatFieldUpdateOperationsInput | number + fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + estado?: StringFieldUpdateOperationsInput | string + densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string + pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput + CHAROLA_COMIDA?: CHAROLA_COMIDAUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutCHAROLANestedInput + CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUpdateManyWithoutCHAROLANestedInput + FRAS?: FRASUpdateManyWithoutCHAROLANestedInput + USUARIO_CHAROLA?: USUARIO_CHAROLAUpdateManyWithoutCHAROLANestedInput + } + + export type CHAROLAUncheckedUpdateWithoutCHAROLA_PUPAInput = { + charolaId?: IntFieldUpdateOperationsInput | number + nombreCharola?: NullableStringFieldUpdateOperationsInput | string | null + comidaCiclo?: FloatFieldUpdateOperationsInput | number + hidratacionCiclo?: FloatFieldUpdateOperationsInput | number + fechaActualizacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + estado?: StringFieldUpdateOperationsInput | string densidadLarva?: NullableFloatFieldUpdateOperationsInput | number | null - fechaCreacion?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + fechaCreacion?: DateTimeFieldUpdateOperationsInput | Date | string pesoCharola?: NullableFloatFieldUpdateOperationsInput | number | null CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLANestedInput CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA?: CHAROLA_CHAROLAUncheckedUpdateManyWithoutCHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLANestedInput CHAROLA_COMIDA?: CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLANestedInput + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLANestedInput CHAROLA_HIDRATACION?: CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLANestedInput FRAS?: FRASUncheckedUpdateManyWithoutCHAROLANestedInput + USUARIO_CHAROLA?: USUARIO_CHAROLAUncheckedUpdateManyWithoutCHAROLANestedInput + } + + export type PUPAUpsertWithoutCHAROLA_PUPAInput = { + update: XOR + create: XOR + where?: PUPAWhereInput + } + + export type PUPAUpdateToOneWithWhereWithoutCHAROLA_PUPAInput = { + where?: PUPAWhereInput + data: XOR + } + + export type PUPAUpdateWithoutCHAROLA_PUPAInput = { + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cantidadObtenida?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type PUPAUncheckedUpdateWithoutCHAROLA_PUPAInput = { + pupaId?: IntFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cantidadObtenida?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type CHAROLA_PUPACreateWithoutPUPAInput = { + CHAROLA: CHAROLACreateNestedOneWithoutCHAROLA_PUPAInput + } + + export type CHAROLA_PUPAUncheckedCreateWithoutPUPAInput = { + charolaId: number + } + + export type CHAROLA_PUPACreateOrConnectWithoutPUPAInput = { + where: CHAROLA_PUPAWhereUniqueInput + create: XOR + } + + export type CHAROLA_PUPACreateManyPUPAInputEnvelope = { + data: CHAROLA_PUPACreateManyPUPAInput | CHAROLA_PUPACreateManyPUPAInput[] + skipDuplicates?: boolean + } + + export type CHAROLA_PUPAUpsertWithWhereUniqueWithoutPUPAInput = { + where: CHAROLA_PUPAWhereUniqueInput + update: XOR + create: XOR + } + + export type CHAROLA_PUPAUpdateWithWhereUniqueWithoutPUPAInput = { + where: CHAROLA_PUPAWhereUniqueInput + data: XOR + } + + export type CHAROLA_PUPAUpdateManyWithWhereWithoutPUPAInput = { + where: CHAROLA_PUPAScalarWhereInput + data: XOR } export type CHAROLA_CHAROLACreateManyCHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLAInput = { @@ -15390,18 +21198,31 @@ export namespace Prisma { } export type CHAROLA_COMIDACreateManyCHAROLAInput = { - comidaId: number + id?: number + comidaId?: number | null cantidadOtorgada: number + fechaOtorgada: Date | string + } + + export type CHAROLA_FRASCreateManyCHAROLAInput = { + frasId: number } export type CHAROLA_HIDRATACIONCreateManyCHAROLAInput = { - hidratacionId: number - cantidadOtorgada?: number | null + id?: number + hidratacionId?: number | null + cantidadOtorgada: number + fechaOtorgada: Date | string + } + + export type CHAROLA_PUPACreateManyCHAROLAInput = { + pupaId: number } export type FRASCreateManyCHAROLAInput = { - frassId?: number + frasId?: number gramosGenerados: number + fechaRegistro?: Date | string | null } export type USUARIO_CHAROLACreateManyCHAROLAInput = { @@ -15434,46 +21255,85 @@ export namespace Prisma { export type CHAROLA_COMIDAUpdateWithoutCHAROLAInput = { cantidadOtorgada?: FloatFieldUpdateOperationsInput | number - COMIDA?: COMIDAUpdateOneRequiredWithoutCHAROLA_COMIDANestedInput + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + COMIDA?: COMIDAUpdateOneWithoutCHAROLA_COMIDANestedInput } export type CHAROLA_COMIDAUncheckedUpdateWithoutCHAROLAInput = { - comidaId?: IntFieldUpdateOperationsInput | number + id?: IntFieldUpdateOperationsInput | number + comidaId?: NullableIntFieldUpdateOperationsInput | number | null cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_COMIDAUncheckedUpdateManyWithoutCHAROLAInput = { - comidaId?: IntFieldUpdateOperationsInput | number + id?: IntFieldUpdateOperationsInput | number + comidaId?: NullableIntFieldUpdateOperationsInput | number | null cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type CHAROLA_FRASUpdateWithoutCHAROLAInput = { + FRAS?: FRASUpdateOneRequiredWithoutCHAROLA_FRASNestedInput + } + + export type CHAROLA_FRASUncheckedUpdateWithoutCHAROLAInput = { + frasId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_FRASUncheckedUpdateManyWithoutCHAROLAInput = { + frasId?: IntFieldUpdateOperationsInput | number } export type CHAROLA_HIDRATACIONUpdateWithoutCHAROLAInput = { - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null - HIDRATACION?: HIDRATACIONUpdateOneRequiredWithoutCHAROLA_HIDRATACIONNestedInput + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + HIDRATACION?: HIDRATACIONUpdateOneWithoutCHAROLA_HIDRATACIONNestedInput } export type CHAROLA_HIDRATACIONUncheckedUpdateWithoutCHAROLAInput = { - hidratacionId?: IntFieldUpdateOperationsInput | number - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null + id?: IntFieldUpdateOperationsInput | number + hidratacionId?: NullableIntFieldUpdateOperationsInput | number | null + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutCHAROLAInput = { - hidratacionId?: IntFieldUpdateOperationsInput | number - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null + id?: IntFieldUpdateOperationsInput | number + hidratacionId?: NullableIntFieldUpdateOperationsInput | number | null + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type CHAROLA_PUPAUpdateWithoutCHAROLAInput = { + PUPA?: PUPAUpdateOneRequiredWithoutCHAROLA_PUPANestedInput + } + + export type CHAROLA_PUPAUncheckedUpdateWithoutCHAROLAInput = { + pupaId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_PUPAUncheckedUpdateManyWithoutCHAROLAInput = { + pupaId?: IntFieldUpdateOperationsInput | number } export type FRASUpdateWithoutCHAROLAInput = { gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + CHAROLA_FRAS?: CHAROLA_FRASUpdateManyWithoutFRASNestedInput } export type FRASUncheckedUpdateWithoutCHAROLAInput = { - frassId?: IntFieldUpdateOperationsInput | number + frasId?: IntFieldUpdateOperationsInput | number gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + CHAROLA_FRAS?: CHAROLA_FRASUncheckedUpdateManyWithoutFRASNestedInput } export type FRASUncheckedUpdateManyWithoutCHAROLAInput = { - frassId?: IntFieldUpdateOperationsInput | number + frasId?: IntFieldUpdateOperationsInput | number gramosGenerados?: FloatFieldUpdateOperationsInput | number + fechaRegistro?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type USUARIO_CHAROLAUpdateWithoutCHAROLAInput = { @@ -15489,43 +21349,73 @@ export namespace Prisma { } export type CHAROLA_COMIDACreateManyCOMIDAInput = { - charolaId: number + id?: number + charolaId?: number | null cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_COMIDAUpdateWithoutCOMIDAInput = { cantidadOtorgada?: FloatFieldUpdateOperationsInput | number - CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_COMIDANestedInput + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + CHAROLA?: CHAROLAUpdateOneWithoutCHAROLA_COMIDANestedInput } export type CHAROLA_COMIDAUncheckedUpdateWithoutCOMIDAInput = { - charolaId?: IntFieldUpdateOperationsInput | number + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_COMIDAUncheckedUpdateManyWithoutCOMIDAInput = { - charolaId?: IntFieldUpdateOperationsInput | number + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } - export type CHAROLA_HIDRATACIONCreateManyHIDRATACIONInput = { + export type CHAROLA_FRASCreateManyFRASInput = { charolaId: number - cantidadOtorgada?: number | null + } + + export type CHAROLA_FRASUpdateWithoutFRASInput = { + CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_FRASNestedInput + } + + export type CHAROLA_FRASUncheckedUpdateWithoutFRASInput = { + charolaId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_FRASUncheckedUpdateManyWithoutFRASInput = { + charolaId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_HIDRATACIONCreateManyHIDRATACIONInput = { + id?: number + charolaId?: number | null + cantidadOtorgada: number + fechaOtorgada: Date | string } export type CHAROLA_HIDRATACIONUpdateWithoutHIDRATACIONInput = { - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null - CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_HIDRATACIONNestedInput + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string + CHAROLA?: CHAROLAUpdateOneWithoutCHAROLA_HIDRATACIONNestedInput } export type CHAROLA_HIDRATACIONUncheckedUpdateWithoutHIDRATACIONInput = { - charolaId?: IntFieldUpdateOperationsInput | number - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type CHAROLA_HIDRATACIONUncheckedUpdateManyWithoutHIDRATACIONInput = { - charolaId?: IntFieldUpdateOperationsInput | number - cantidadOtorgada?: NullableFloatFieldUpdateOperationsInput | number | null + id?: IntFieldUpdateOperationsInput | number + charolaId?: NullableIntFieldUpdateOperationsInput | number | null + cantidadOtorgada?: FloatFieldUpdateOperationsInput | number + fechaOtorgada?: DateTimeFieldUpdateOperationsInput | Date | string } export type ADMINISTRADORCreateManyUSUARIOInput = { @@ -15560,6 +21450,22 @@ export namespace Prisma { charolaId?: IntFieldUpdateOperationsInput | number } + export type CHAROLA_PUPACreateManyPUPAInput = { + charolaId: number + } + + export type CHAROLA_PUPAUpdateWithoutPUPAInput = { + CHAROLA?: CHAROLAUpdateOneRequiredWithoutCHAROLA_PUPANestedInput + } + + export type CHAROLA_PUPAUncheckedUpdateWithoutPUPAInput = { + charolaId?: IntFieldUpdateOperationsInput | number + } + + export type CHAROLA_PUPAUncheckedUpdateManyWithoutPUPAInput = { + charolaId?: IntFieldUpdateOperationsInput | number + } + /** diff --git a/generated/prisma/index.js b/generated/prisma/index.js index 86174f1..84c1310 100644 --- a/generated/prisma/index.js +++ b/generated/prisma/index.js @@ -35,12 +35,12 @@ exports.Prisma = Prisma exports.$Enums = {} /** - * Prisma Client JS version: 6.7.0 - * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + * Prisma Client JS version: 6.8.2 + * Query Engine version: 2060c79ba17c6bb9f5823312b6f6b7f4a845738e */ Prisma.prismaVersion = { - client: "6.7.0", - engine: "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed" + client: "6.8.2", + engine: "2060c79ba17c6bb9f5823312b6f6b7f4a845738e" } Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; @@ -116,15 +116,19 @@ exports.Prisma.CHAROLA_CHAROLAScalarFieldEnum = { }; exports.Prisma.CHAROLA_COMIDAScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', comidaId: 'comidaId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.CHAROLA_HIDRATACIONScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', hidratacionId: 'hidratacionId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.COMIDAScalarFieldEnum = { @@ -134,8 +138,10 @@ exports.Prisma.COMIDAScalarFieldEnum = { }; exports.Prisma.FRASScalarFieldEnum = { - frassId: 'frassId', + frasId: 'frasId', gramosGenerados: 'gramosGenerados', + fechaRegistro: 'fechaRegistro', + fechaRegistro: 'fechaRegistro', charolaId: 'charolaId' }; @@ -159,6 +165,30 @@ exports.Prisma.USUARIO_CHAROLAScalarFieldEnum = { charolaId: 'charolaId' }; +exports.Prisma.CHAROLA_FRASScalarFieldEnum = { + charolaId: 'charolaId', + frasId: 'frasId' +}; + +exports.Prisma.CHAROLA_PUPAScalarFieldEnum = { + charolaId: 'charolaId', + pupaId: 'pupaId' +}; + +exports.Prisma.PUPAScalarFieldEnum = { + pupaId: 'pupaId', + fechaRegistro: 'fechaRegistro', + cantidadObtenida: 'cantidadObtenida' +}; + +exports.Prisma.ELIMINACION_MOTIVOScalarFieldEnum = { + id: 'id', + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo', + fecha_eliminacion: 'fecha_eliminacion' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -192,6 +222,12 @@ exports.Prisma.USUARIOOrderByRelevanceFieldEnum = { apellido_p: 'apellido_p' }; +exports.Prisma.ELIMINACION_MOTIVOOrderByRelevanceFieldEnum = { + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo' +}; + exports.Prisma.ModelName = { ADMINISTRADOR: 'ADMINISTRADOR', @@ -203,7 +239,11 @@ exports.Prisma.ModelName = { FRAS: 'FRAS', HIDRATACION: 'HIDRATACION', USUARIO: 'USUARIO', - USUARIO_CHAROLA: 'USUARIO_CHAROLA' + USUARIO_CHAROLA: 'USUARIO_CHAROLA', + CHAROLA_FRAS: 'CHAROLA_FRAS', + CHAROLA_PUPA: 'CHAROLA_PUPA', + PUPA: 'PUPA', + ELIMINACION_MOTIVO: 'ELIMINACION_MOTIVO' }; /** * Create the Client @@ -216,7 +256,8 @@ const config = { "value": "prisma-client-js" }, "output": { - "value": "/Users/lapto/Desktop/zuustento/TECH-NEBRIOS-BACKEND/generated/prisma", + "value": "C:\\Users\\emili\\OneDrive\\Escritorio\\6TO SEMESTRE\\CODENCO\\zustento\\TECH-NEBRIOS-BACKEND\\generated\\prisma", + "value": "C:\\Users\\juana\\Desktop\\dev\\6toSEM\\TECH-NEBRIOS-BACKEND\\generated\\prisma", "fromEnvVar": null }, "config": { @@ -225,12 +266,20 @@ const config = { "binaryTargets": [ { "fromEnvVar": null, - "value": "darwin-arm64", + "value": "windows", "native": true + }, + { + "fromEnvVar": null, + "value": "windows" } ], "previewFeatures": [], + "sourceFilePath": "/Users/marianajuarezramirez/Desktop/TECH-NEBRIOS-BACKEND/prisma/schema.prisma", + "sourceFilePath": "/Users/armando/Desktop/TECH-NEBRIOS-BACKEND/prisma/schema.prisma", "sourceFilePath": "/Users/lapto/Desktop/zuustento/TECH-NEBRIOS-BACKEND/prisma/schema.prisma", + "sourceFilePath": "C:\\Users\\emili\\OneDrive\\Escritorio\\6TO SEMESTRE\\CODENCO\\zustento\\TECH-NEBRIOS-BACKEND\\prisma\\schema.prisma", + "sourceFilePath": "C:\\Users\\juana\\Desktop\\dev\\6toSEM\\TECH-NEBRIOS-BACKEND\\prisma\\schema.prisma", "isCustomOutput": true }, "relativeEnvPaths": { @@ -238,13 +287,13 @@ const config = { "schemaEnvPath": "../../.env" }, "relativePath": "../../prisma", - "clientVersion": "6.7.0", - "engineVersion": "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed", + "clientVersion": "6.8.2", + "engineVersion": "2060c79ba17c6bb9f5823312b6f6b7f4a845738e", "datasourceNames": [ "db" ], "activeProvider": "mysql", - "postinstall": true, + "postinstall": false, "inlineDatasources": { "db": { "url": { @@ -253,8 +302,10 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String? @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime? @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n charolaId Int\n comidaId Int\n cantidadOtorgada Float @db.Float\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@id([charolaId, comidaId])\n @@index([comidaId], map: \"comidaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n charolaId Int\n hidratacionId Int\n cantidadOtorgada Float? @db.Float\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION @relation(fields: [hidratacionId], references: [hidratacionId], onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@id([charolaId, hidratacionId])\n @@index([hidratacionId], map: \"hidratacionId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frassId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n charolaId Int?\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n", - "inlineSchemaHash": "650194ab810441e65e5358d77af7a6db95a58774fb52f8d6a6be2c4e500edeb9", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"windows\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n CHAROLA_PUPA CHAROLA_PUPA[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n id Int @id @default(autoincrement())\n charolaId Int?\n comidaId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@index([comidaId], map: \"comidaId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n id Int @id @default(autoincrement())\n charolaId Int?\n hidratacionId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@index([hidratacionId], map: \"hidratacionId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frasId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n fechaRegistro DateTime? @db.Date\n charolaId Int?\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"idx_fras_charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id @default(autoincrement())\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_FRAS {\n charolaId Int\n frasId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_1\")\n FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_2\")\n\n @@id([charolaId, frasId])\n @@index([frasId], map: \"frasId\")\n}\n\nmodel CHAROLA_PUPA {\n charolaId Int\n pupaId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_1\")\n PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_2\")\n\n @@id([charolaId, pupaId])\n @@index([pupaId], map: \"pupaId\")\n}\n\nmodel PUPA {\n pupaId Int @id @default(autoincrement())\n fechaRegistro DateTime? @db.Date\n cantidadObtenida Float? @db.Float\n CHAROLA_PUPA CHAROLA_PUPA[]\n}\n\nmodel ELIMINACION_MOTIVO {\n id Int @id @default(autoincrement())\n user String @db.VarChar(50)\n charola_nombre String @db.VarChar(20)\n motivo String @db.Text\n fecha_eliminacion DateTime? @default(now()) @db.Timestamp(0)\n}\n", + "inlineSchemaHash": "fb5521a3bced0ea60689081650c12a43ce9ec52030154a8317ca4207712e5f5d", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"windows\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel ADMINISTRADOR {\n adminId Int @id @default(autoincrement())\n usuarioId Int?\n USUARIO USUARIO? @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"ADMINISTRADOR_ibfk_1\")\n\n @@index([usuarioId], map: \"usuarioId\")\n}\n\nmodel CHAROLA {\n charolaId Int @id @default(autoincrement())\n nombreCharola String? @db.VarChar(20)\n comidaCiclo Float @db.Float\n hidratacionCiclo Float @db.Float\n fechaActualizacion DateTime? @db.Date\n estado String @db.VarChar(25)\n densidadLarva Float? @db.Float\n fechaCreacion DateTime @db.Date\n pesoCharola Float? @db.Float\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\")\n CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\")\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n CHAROLA_PUPA CHAROLA_PUPA[]\n FRAS FRAS[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel CHAROLA_CHAROLA {\n charolaHija Int\n charolaAncestro Int\n CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\", fields: [charolaHija], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_1\")\n CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA @relation(\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\", fields: [charolaAncestro], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_CHAROLA_ibfk_2\")\n\n @@id([charolaHija, charolaAncestro])\n @@index([charolaAncestro], map: \"charolaAncestro\")\n}\n\nmodel CHAROLA_COMIDA {\n id Int @id @default(autoincrement())\n charolaId Int?\n comidaId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_1\")\n COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_COMIDA_ibfk_2\")\n\n @@index([comidaId], map: \"comidaId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_HIDRATACION {\n id Int @id @default(autoincrement())\n charolaId Int?\n hidratacionId Int?\n cantidadOtorgada Float @db.Float\n fechaOtorgada DateTime @db.Date\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_1\")\n HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_HIDRATACION_ibfk_2\")\n\n @@index([hidratacionId], map: \"hidratacionId\")\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel COMIDA {\n comidaId Int @id @default(autoincrement())\n nombre String @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_COMIDA CHAROLA_COMIDA[]\n}\n\nmodel FRAS {\n frasId Int @id @default(autoincrement())\n gramosGenerados Float @db.Float\n fechaRegistro DateTime? @db.Date\n charolaId Int?\n CHAROLA_FRAS CHAROLA_FRAS[]\n CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"FRAS_ibfk_1\")\n\n @@index([charolaId], map: \"idx_fras_charolaId\")\n}\n\nmodel HIDRATACION {\n hidratacionId Int @id @default(autoincrement())\n nombre String? @db.VarChar(25)\n descripcion String? @db.VarChar(200)\n CHAROLA_HIDRATACION CHAROLA_HIDRATACION[]\n}\n\nmodel USUARIO {\n usuarioId Int @id @default(autoincrement())\n user String @db.VarChar(50)\n contrasena String @db.VarChar(80)\n nombre String @db.VarChar(25)\n apellido_m String? @db.VarChar(25)\n apellido_p String? @db.VarChar(25)\n ADMINISTRADOR ADMINISTRADOR[]\n USUARIO_CHAROLA USUARIO_CHAROLA[]\n}\n\nmodel USUARIO_CHAROLA {\n usuarioId Int\n charolaId Int\n USUARIO USUARIO @relation(fields: [usuarioId], references: [usuarioId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_1\")\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"USUARIO_CHAROLA_ibfk_2\")\n\n @@id([usuarioId, charolaId])\n @@index([charolaId], map: \"charolaId\")\n}\n\nmodel CHAROLA_FRAS {\n charolaId Int\n frasId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_1\")\n FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_FRAS_ibfk_2\")\n\n @@id([charolaId, frasId])\n @@index([frasId], map: \"frasId\")\n}\n\nmodel CHAROLA_PUPA {\n charolaId Int\n pupaId Int\n CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_1\")\n PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: \"CHAROLA_PUPA_ibfk_2\")\n\n @@id([charolaId, pupaId])\n @@index([pupaId], map: \"pupaId\")\n}\n\nmodel PUPA {\n pupaId Int @id @default(autoincrement())\n fechaRegistro DateTime? @db.Date\n cantidadObtenida Float? @db.Float\n CHAROLA_PUPA CHAROLA_PUPA[]\n}\n", + "inlineSchemaHash": "31233f28cf9b8a1cce538aacc2455201f1763875ff0abe73cbde48069abbebac", "copyEngine": true } @@ -275,7 +326,8 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { config.isBundled = true } -config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"comidaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"hidratacionId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frassId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[\"frasId\"],\"relationToFields\":[\"frasId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"frasId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"PUPA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[\"pupaId\"],\"relationToFields\":[\"pupaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"pupaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadObtenida\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ELIMINACION_MOTIVO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charola_nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"motivo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fecha_eliminacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"0\"]],\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"ADMINISTRADOR\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"adminId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombreCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionCiclo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaActualizacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"estado\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"densidadLarva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaCreacion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pesoCharola\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaHija\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaAncestro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaHijaToCHAROLA\",\"relationFromFields\":[\"charolaHija\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLA_CHAROLA_charolaAncestroToCHAROLA\",\"relationFromFields\":[\"charolaAncestro\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaHija\",\"charolaAncestro\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_COMIDA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"COMIDA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[\"comidaId\"],\"relationToFields\":[\"comidaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaOtorgada\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_HIDRATACION\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"HIDRATACION\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[\"hidratacionId\"],\"relationToFields\":[\"hidratacionId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"COMIDA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"comidaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_COMIDA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_COMIDA\",\"nativeType\":null,\"relationName\":\"CHAROLA_COMIDAToCOMIDA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gramosGenerados\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_FRAS\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToFRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"HIDRATACION\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"hidratacionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"descripcion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"200\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_HIDRATACION\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_HIDRATACION\",\"nativeType\":null,\"relationName\":\"CHAROLA_HIDRATACIONToHIDRATACION\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contrasena\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"80\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nombre\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_m\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apellido_p\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"25\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ADMINISTRADOR\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ADMINISTRADOR\",\"nativeType\":null,\"relationName\":\"ADMINISTRADORToUSUARIO\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO_CHAROLA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO_CHAROLA\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"USUARIO_CHAROLA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"usuarioId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"USUARIO\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"USUARIO\",\"nativeType\":null,\"relationName\":\"USUARIOToUSUARIO_CHAROLA\",\"relationFromFields\":[\"usuarioId\"],\"relationToFields\":[\"usuarioId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToUSUARIO_CHAROLA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"usuarioId\",\"charolaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_FRAS\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frasId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_FRAS\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"FRAS\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FRAS\",\"nativeType\":null,\"relationName\":\"CHAROLA_FRASToFRAS\",\"relationFromFields\":[\"frasId\"],\"relationToFields\":[\"frasId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"frasId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CHAROLA_PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"charolaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA\",\"nativeType\":null,\"relationName\":\"CHAROLAToCHAROLA_PUPA\",\"relationFromFields\":[\"charolaId\"],\"relationToFields\":[\"charolaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"PUPA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[\"pupaId\"],\"relationToFields\":[\"pupaId\"],\"relationOnDelete\":\"Cascade\",\"relationOnUpdate\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"charolaId\",\"pupaId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PUPA\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"pupaId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fechaRegistro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cantidadObtenida\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":[\"Float\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"CHAROLA_PUPA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CHAROLA_PUPA\",\"nativeType\":null,\"relationName\":\"CHAROLA_PUPAToPUPA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined @@ -293,8 +345,8 @@ exports.PrismaClient = PrismaClient Object.assign(exports, Prisma) // file annotations for bundling tools to include these files -path.join(__dirname, "libquery_engine-darwin-arm64.dylib.node"); -path.join(process.cwd(), "generated/prisma/libquery_engine-darwin-arm64.dylib.node") +path.join(__dirname, "query_engine-windows.dll.node"); +path.join(process.cwd(), "generated/prisma/query_engine-windows.dll.node") // file annotations for bundling tools to include these files path.join(__dirname, "schema.prisma"); path.join(process.cwd(), "generated/prisma/schema.prisma") diff --git a/generated/prisma/libquery_engine-darwin-arm64.dylib.node b/generated/prisma/libquery_engine-darwin-arm64.dylib.node index b563b09..924cea9 100755 Binary files a/generated/prisma/libquery_engine-darwin-arm64.dylib.node and b/generated/prisma/libquery_engine-darwin-arm64.dylib.node differ diff --git a/generated/prisma/package.json b/generated/prisma/package.json index 4f86d33..d4c6e64 100644 --- a/generated/prisma/package.json +++ b/generated/prisma/package.json @@ -1,5 +1,9 @@ { - "name": "prisma-client-c186f90e0fcd85573ee64eefdaba760fcc5cda0fa7f844c024c6b9d734ab8a69", + "name": "prisma-client-0671c7d913822a48ac9618ce0d27649d1f18b04c77559ca989ed5c5f843a4143", + "name": "prisma-client-caaa4b840984b2cef72a76831e75fe9f259c4dc6332a3236ec65c20582621c06", + "name": "prisma-client-e2798a54303f8bc735b5e6265b74795b76855e8e9f872aeaad0d16be93fdc886", + "name": "prisma-client-e2798a54303f8bc735b5e6265b74795b76855e8e9f872aeaad0d16be93fdc886", + "name": "prisma-client-0671c7d913822a48ac9618ce0d27649d1f18b04c77559ca989ed5c5f843a4143", "main": "index.js", "types": "index.d.ts", "browser": "index-browser.js", @@ -135,6 +139,6 @@ }, "./*": "./*" }, - "version": "6.7.0", + "version": "6.8.2", "sideEffects": false } \ No newline at end of file diff --git a/generated/prisma/query_engine-windows.dll.node b/generated/prisma/query_engine-windows.dll.node new file mode 100755 index 0000000..4c4d240 Binary files /dev/null and b/generated/prisma/query_engine-windows.dll.node differ diff --git a/generated/prisma/query_engine-windows.dll.node.tmp18148 b/generated/prisma/query_engine-windows.dll.node.tmp18148 new file mode 100644 index 0000000..f5716ca Binary files /dev/null and b/generated/prisma/query_engine-windows.dll.node.tmp18148 differ diff --git a/generated/prisma/runtime/edge-esm.js b/generated/prisma/runtime/edge-esm.js index d9df6c4..404e492 100644 --- a/generated/prisma/runtime/edge-esm.js +++ b/generated/prisma/runtime/edge-esm.js @@ -1,34 +1,34 @@ /* !!! This is code generated by Prisma. Do not edit directly. !!! /* eslint-disable */ -var sa=Object.create;var en=Object.defineProperty;var aa=Object.getOwnPropertyDescriptor;var la=Object.getOwnPropertyNames;var ua=Object.getPrototypeOf,ca=Object.prototype.hasOwnProperty;var me=(e,t)=>()=>(e&&(t=e(e=0)),t);var Fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ir=(e,t)=>{for(var r in t)en(e,r,{get:t[r],enumerable:!0})},pa=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of la(t))!ca.call(e,i)&&i!==r&&en(e,i,{get:()=>t[i],enumerable:!(n=aa(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?sa(ua(e)):{},pa(t||!e||!e.__esModule?en(r,"default",{value:e,enumerable:!0}):r,e));var y,u=me(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var b,c=me(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=me(()=>{"use strict";E=()=>{};E.prototype=E});var m=me(()=>{"use strict"});var Ei=Fe(Ke=>{"use strict";f();u();c();p();m();var oi=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ma=oi(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=S;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var D=A.indexOf("=");D===-1&&(D=R);var M=D===R?0:4-D%4;return[D,M]}function l(A){var R=a(A),D=R[0],M=R[1];return(D+M)*3/4-M}function d(A,R,D){return(R+D)*3/4-D}function g(A){var R,D=a(A),M=D[0],B=D[1],k=new n(d(A,M,B)),F=0,ie=B>0?M-4:M,G;for(G=0;G>16&255,k[F++]=R>>8&255,k[F++]=R&255;return B===2&&(R=r[A.charCodeAt(G)]<<2|r[A.charCodeAt(G+1)]>>4,k[F++]=R&255),B===1&&(R=r[A.charCodeAt(G)]<<10|r[A.charCodeAt(G+1)]<<4|r[A.charCodeAt(G+2)]>>2,k[F++]=R>>8&255,k[F++]=R&255),k}function h(A){return t[A>>18&63]+t[A>>12&63]+t[A>>6&63]+t[A&63]}function v(A,R,D){for(var M,B=[],k=R;kie?ie:F+k));return M===1?(R=A[D-1],B.push(t[R>>2]+t[R<<4&63]+"==")):M===2&&(R=(A[D-2]<<8)+A[D-1],B.push(t[R>>10]+t[R>>4&63]+t[R<<2&63]+"=")),B.join("")}}),fa=oi(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,d=(1<>1,h=-7,v=n?o-1:0,S=n?-1:1,A=t[r+v];for(v+=S,s=A&(1<<-h)-1,A>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=S,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=S,h-=8);if(s===0)s=1-g;else{if(s===d)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(A?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,d,g=s*8-o-1,h=(1<>1,S=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=i?0:s-1,R=i?1:-1,D=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-a))<1&&(a--,d*=2),a+v>=1?r+=S/d:r+=S*Math.pow(2,1-v),r*d>=2&&(a++,d/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*d-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+A]=l&255,A+=R,l/=256,o-=8);for(a=a<0;t[n+A]=a&255,A+=R,a/=256,g-=8);t[n+A-R]|=D*128}}),tn=ma(),We=fa(),ti=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ke.Buffer=T;Ke.SlowBuffer=Ea;Ke.INSPECT_MAX_BYTES=50;var or=2147483647;Ke.kMaxLength=or;T.TYPED_ARRAY_SUPPORT=da();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function da(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function be(e){if(e>or)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return on(e)}return si(e,t,r)}T.poolSize=8192;function si(e,t,r){if(typeof e=="string")return ha(e,t);if(ArrayBuffer.isView(e))return ya(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(fe(e,ArrayBuffer)||e&&fe(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(fe(e,SharedArrayBuffer)||e&&fe(e.buffer,SharedArrayBuffer)))return li(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=wa(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return si(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function ai(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function ga(e,t,r){return ai(e),e<=0?be(e):t!==void 0?typeof r=="string"?be(e).fill(t,r):be(e).fill(t):be(e)}T.alloc=function(e,t,r){return ga(e,t,r)};function on(e){return ai(e),be(e<0?0:sn(e)|0)}T.allocUnsafe=function(e){return on(e)};T.allocUnsafeSlow=function(e){return on(e)};function ha(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=ui(e,t)|0,n=be(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function rn(e){let t=e.length<0?0:sn(e.length)|0,r=be(t);for(let n=0;n=or)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+or.toString(16)+" bytes");return e|0}function Ea(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(fe(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),fe(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function ui(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||fe(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return nn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return wi(e).length;default:if(i)return n?-1:nn(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=ui;function ba(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ia(this,t,r);case"utf8":case"utf-8":return pi(this,t,r);case"ascii":return Sa(this,t,r);case"latin1":case"binary":return ka(this,t,r);case"base64":return Aa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Oa(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ti&&(T.prototype[ti]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(fe(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),d=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,ln(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:ri(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):ri(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ri(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let d;if(i){let g=-1;for(d=r;ds&&(r=s-a),d=r;d>=0;d--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return xa(this,e,t,r);case"utf8":case"utf-8":return Pa(this,e,t,r);case"ascii":case"latin1":case"binary":return va(this,e,t,r);case"base64":return Ta(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ca(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Aa(e,t,r){return t===0&&r===e.length?tn.fromByteArray(e):tn.fromByteArray(e.slice(t,r))}function pi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,d,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],d=e[i+2],(l&192)===128&&(d&192)===128&&(h=(o&15)<<12|(l&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],d=e[i+2],g=e[i+3],(l&192)===128&&(d&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(d&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Ra(n)}var ni=4096;function Ra(e){let t=e.length;if(t<=ni)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Ae(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Ae(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function te(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function mi(e,t,r,n,i){yi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function fi(e,t,r,n,i){yi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Ae(function(e,t=0){return mi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Ae(function(e,t=0){return fi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Ae(function(e,t=0){return mi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Ae(function(e,t=0){return fi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function di(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function gi(e,t,r,n,i){return t=+t,r=r>>>0,i||di(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return gi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return gi(this,e,t,!1,r)};function hi(e,t,r,n,i){return t=+t,r=r>>>0,i||di(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return hi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return hi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ii(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ii(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ii(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Da(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&bt(t,e.length-(r+1))}function yi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Je.ERR_OUT_OF_RANGE("value",a,e)}Da(n,i,o)}function He(e,t){if(typeof e!="number")throw new Je.ERR_INVALID_ARG_TYPE(t,"number",e)}function bt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Je.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Je.ERR_BUFFER_OUT_OF_BOUNDS:new Je.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Ma=/[^+/0-9A-Za-z-_]/g;function _a(e){if(e=e.split("=")[0],e=e.trim().replace(Ma,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function nn(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Na(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function wi(e){return tn.toByteArray(_a(e))}function sr(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function fe(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function ln(e){return e!==e}var La=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Ae(e){return typeof BigInt>"u"?Ba:e}function Ba(){throw new Error("BigInt not supported")}});var w,f=me(()=>{"use strict";w=Qe(Ei())});function Ga(){return!1}function Bi(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function Qa(){return Bi()}function Ja(){return[]}function Wa(e){e(null,[])}function Ha(){return""}function Ka(){return""}function za(){}function Ya(){}function Za(){}function Xa(){}function el(){}function tl(){}var rl,nl,qi,Ui=me(()=>{"use strict";f();u();c();p();m();rl={},nl={existsSync:Ga,lstatSync:Bi,statSync:Qa,readdirSync:Ja,readdir:Wa,readlinkSync:Ha,realpathSync:Ka,chmodSync:za,renameSync:Ya,mkdirSync:Za,rmdirSync:Xa,rmSync:el,unlinkSync:tl,promises:rl},qi=nl});function il(...e){return e.join("/")}function ol(...e){return e.join("/")}function sl(e){let t=$i(e),r=ji(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function $i(e){let t=e.split("/");return t[t.length-1]}function ji(e){return e.split("/").slice(0,-1).join("/")}var Vi,al,ll,cr,Gi=me(()=>{"use strict";f();u();c();p();m();Vi="/",al={sep:Vi},ll={basename:$i,dirname:ji,join:ol,parse:sl,posix:al,resolve:il,sep:Vi},cr=ll});var Qi=Fe((af,ul)=>{ul.exports={name:"@prisma/internals",version:"6.7.0",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.4.7",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-engine-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Hi=Fe((Af,Wi)=>{"use strict";f();u();c();p();m();Wi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Yi=Fe((Bf,zi)=>{"use strict";f();u();c();p();m();zi.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var Xi=Fe((Gf,Zi)=>{"use strict";f();u();c();p();m();var yl=Yi();Zi.exports=e=>typeof e=="string"?e.replace(yl(),""):e});var Pn=Fe((Dy,wo)=>{"use strict";f();u();c();p();m();wo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";f();u();c();p();m()});var To=me(()=>{"use strict";f();u();c();p();m()});var Qo=Fe((e1,ac)=>{ac.exports={name:"@prisma/engines-version",version:"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"3cff47a7f5d65c3ea74883f1d736e41d68ce91ed"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Lr,Jo=me(()=>{"use strict";f();u();c();p();m();Lr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});f();u();c();p();m();var Pi={};ir(Pi,{defineExtension:()=>bi,getExtensionContext:()=>xi});f();u();c();p();m();f();u();c();p();m();function bi(e){return typeof e=="function"?e:t=>t.$extends(e)}f();u();c();p();m();function xi(e){return e}var Ti={};ir(Ti,{validator:()=>vi});f();u();c();p();m();f();u();c();p();m();function vi(...e){return t=>t}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var un,Ci,Ai,Ri,Si=!0;typeof y<"u"&&({FORCE_COLOR:un,NODE_DISABLE_COLORS:Ci,NO_COLOR:Ai,TERM:Ri}=y.env||{},Si=y.stdout&&y.stdout.isTTY);var qa={enabled:!Ci&&Ai==null&&Ri!=="dumb"&&(un!=null&&un!=="0"||Si)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!qa.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var um=j(0,0),ar=j(1,22),lr=j(2,22),cm=j(3,23),ki=j(4,24),pm=j(7,27),mm=j(8,28),fm=j(9,29),dm=j(30,39),ze=j(31,39),Ii=j(32,39),Oi=j(33,39),Di=j(34,39),gm=j(35,39),Mi=j(36,39),hm=j(37,39),_i=j(90,39),ym=j(90,39),wm=j(40,49),Em=j(41,49),bm=j(42,49),xm=j(43,49),Pm=j(44,49),vm=j(45,49),Tm=j(46,49),Cm=j(47,49);f();u();c();p();m();var Ua=100,Ni=["green","yellow","blue","magenta","cyan","red"],ur=[],Fi=Date.now(),$a=0,cn=typeof y<"u"?y.env:{};globalThis.DEBUG??=cn.DEBUG??"";globalThis.DEBUG_COLORS??=cn.DEBUG_COLORS?cn.DEBUG_COLORS==="true":!0;var xt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function ja(e){let t={color:Ni[$a++%Ni.length],enabled:xt.enabled(e),namespace:e,log:xt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&ur.push([o,...n]),ur.length>Ua&&ur.shift(),xt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:Va(g)),d=`+${Date.now()-Fi}ms`;Fi=Date.now(),a(o,...l,d)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var Y=new Proxy(ja,{get:(e,t)=>xt[t],set:(e,t,r)=>xt[t]=r});function Va(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Li(){ur.length=0}f();u();c();p();m();f();u();c();p();m();var cl=Qi(),pn=cl.version;f();u();c();p();m();function Ye(e){let t=pl();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":ml(e))}function pl(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function ml(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}f();u();c();p();m();var Ji="prisma+postgres",pr=`${Ji}:`;function mn(e){return e?.startsWith(`${pr}//`)??!1}var vt={};ir(vt,{error:()=>gl,info:()=>dl,log:()=>fl,query:()=>hl,should:()=>Ki,tags:()=>Pt,warn:()=>fn});f();u();c();p();m();var Pt={error:ze("prisma:error"),warn:Oi("prisma:warn"),info:Mi("prisma:info"),query:Di("prisma:query")},Ki={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function fl(...e){console.log(...e)}function fn(e,...t){Ki.warn()&&console.warn(`${Pt.warn} ${e}`,...t)}function dl(e,...t){console.info(`${Pt.info} ${e}`,...t)}function gl(e,...t){console.error(`${Pt.error} ${e}`,...t)}function hl(e,...t){console.log(`${Pt.query} ${e}`,...t)}f();u();c();p();m();function xe(e,t){throw new Error(t)}f();u();c();p();m();function dn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}f();u();c();p();m();function Ze(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}f();u();c();p();m();function gn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{eo.has(e)||(eo.add(e),fn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");f();u();c();p();m();var oe=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(oe,"PrismaClientKnownRequestError");f();u();c();p();m();var Re=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(Re,"PrismaClientRustPanicError");f();u();c();p();m();var se=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(se,"PrismaClientUnknownRequestError");f();u();c();p();m();var X=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(X,"PrismaClientValidationError");f();u();c();p();m();f();u();c();p();m();var Xe=9e15,Oe=1e9,hn="0123456789abcdef",gr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",hr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",yn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Xe,maxE:Xe,crypto:!1},oo,Pe,_=!0,wr="[DecimalError] ",Ie=wr+"Invalid argument: ",so=wr+"Precision limit exceeded",ao=wr+"crypto unavailable",lo="[object Decimal]",Z=Math.floor,J=Math.pow,wl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,El=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,bl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,uo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ce=1e7,O=7,xl=9007199254740991,Pl=gr.length-1,wn=hr.length-1,C={toStringTag:lo};C.absoluteValue=C.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};C.ceil=function(){return I(new this.constructor(this),this.e+1,2)};C.clampedTo=C.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};C.comparedTo=C.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,d=e.s;if(!s||!a)return!l||!d?NaN:l!==d?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-d:0;if(l!==d)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};C.cosine=C.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=vl(n,go(n,r)),n.precision=e,n.rounding=t,I(Pe==2||Pe==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};C.cubeRoot=C.cbrt=function(){var e,t,r,n,i,o,s,a,l,d,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=K(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=Z((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),d=l.plus(g),n=U(d.plus(g).times(a),d.plus(l),s+2,1),K(a.d).slice(0,s)===(r=K(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,I(n,e,h.rounding,t)};C.decimalPlaces=C.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-Z(this.e/O))*O,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};C.dividedBy=C.div=function(e){return U(this,new this.constructor(e))};C.dividedToIntegerBy=C.divToInt=function(e){var t=this,r=t.constructor;return I(U(t,new r(e),0,1,1),r.precision,r.rounding)};C.equals=C.eq=function(e){return this.cmp(e)===0};C.floor=function(){return I(new this.constructor(this),this.e+1,3)};C.greaterThan=C.gt=function(e){return this.cmp(e)>0};C.greaterThanOrEqualTo=C.gte=function(e){var t=this.cmp(e);return t==1||t===0};C.hyperbolicCosine=C.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/br(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=et(s,1,o.times(t),new s(1),!0);for(var l,d=e,g=new s(8);d--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};C.hyperbolicSine=C.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=et(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/br(5,e)),i=et(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),d=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(d))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};C.hyperbolicTangent=C.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,U(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};C.inverseCosine=C.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?de(t,n,i):new t(0):new t(NaN):e.isZero()?de(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};C.inverseHyperbolicCosine=C.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};C.inverseHyperbolicSine=C.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};C.inverseHyperbolicTangent=C.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=U(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};C.inverseSine=C.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=de(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};C.inverseTangent=C.atan=function(){var e,t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding;if(d.isFinite()){if(d.isZero())return new g(d);if(d.abs().eq(1)&&h+4<=wn)return s=de(g,h+4,v).times(.25),s.s=d.s,s}else{if(!d.s)return new g(NaN);if(h+4<=wn)return s=de(g,h+4,v).times(.5),s.s=d.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/O+2|0),e=r;e;--e)d=d.div(d.times(d).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/O),n=1,l=d.times(d),s=new g(d),i=d;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};C.isNaN=function(){return!this.s};C.isNegative=C.isNeg=function(){return this.s<0};C.isPositive=C.isPos=function(){return this.s>0};C.isZero=function(){return!!this.d&&this.d[0]===0};C.lessThan=C.lt=function(e){return this.cmp(e)<0};C.lessThanOrEqualTo=C.lte=function(e){return this.cmp(e)<1};C.logarithm=C.log=function(e){var t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding,S=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(1))return new g(r&&!r[0]?-1/0:d.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+S,s=ke(d,a),n=t?yr(g,a+10):ke(e,a),l=U(s,n,a,1),Tt(l.d,i=h,v))do if(a+=10,s=ke(d,a),n=t?yr(g,a+10):ke(e,a),l=U(s,n,a,1),!o){+K(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(Tt(l.d,i+=10,v));return _=!0,I(l,h,v)};C.minus=C.sub=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.constructor;if(e=new A(e),!S.d||!e.d)return!S.s||!e.s?e=new A(NaN):S.d?e.s=-e.s:e=new A(e.d||S.s!==e.s?S:NaN),e;if(S.s!=e.s)return e.s=-e.s,S.plus(e);if(d=S.d,v=e.d,a=A.precision,l=A.rounding,!d[0]||!v[0]){if(v[0])e.s=-e.s;else if(d[0])e=new A(S);else return new A(l===3?-0:0);return _?I(e,a,l):e}if(r=Z(e.e/O),g=Z(S.e/O),d=d.slice(),o=g-r,o){for(h=o<0,h?(t=d,o=-o,s=v.length):(t=v,r=g,s=d.length),n=Math.max(Math.ceil(a/O),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=d.length,s=v.length,h=n0;--n)d[s++]=0;for(n=v.length;n>o;){if(d[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=d.length,i=g.length,s-i<0&&(i=s,r=g,g=d,d=r),t=0;i;)t=(d[--i]=d[i]+g[i]+t)/ce|0,d[i]%=ce;for(t&&(d.unshift(t),++n),s=d.length;d[--s]==0;)d.pop();return e.d=d,e.e=Er(d,n),_?I(e,a,l):e};C.precision=C.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=co(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};C.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};C.sine=C.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Cl(n,go(n,r)),n.precision=e,n.rounding=t,I(Pe>2?r.neg():r,e,t,!0)):new n(NaN)};C.squareRoot=C.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,d=s.s,g=s.constructor;if(d!==1||!a||!a[0])return new g(!d||d<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,d=Math.sqrt(+s),d==0||d==1/0?(t=K(a),(t.length+l)%2==0&&(t+="0"),d=Math.sqrt(t),l=Z((l+1)/2)-(l<0||l%2),d==1/0?t="5e"+l:(t=d.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(d.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(U(s,o,r+2,1)).times(.5),K(o.d).slice(0,r)===(t=K(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,I(n,l,g.rounding,e)};C.tangent=C.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=U(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(Pe==2||Pe==4?r.neg():r,e,t,!0)):new n(NaN)};C.times=C.mul=function(e){var t,r,n,i,o,s,a,l,d,g=this,h=g.constructor,v=g.d,S=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!S||!S[0])return new h(!e.s||v&&!v[0]&&!S||S&&!S[0]&&!v?NaN:!v||!S?e.s/0:e.s*0);for(r=Z(g.e/O)+Z(e.e/O),l=v.length,d=S.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+S[n]*v[i-n-1]+t,o[i--]=a%ce|0,t=a/ce|0;o[i]=(o[i]+t)%ce|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=Er(o,r),_?I(e,h.precision,h.rounding):e};C.toBinary=function(e,t){return bn(this,2,e,t)};C.toDecimalPlaces=C.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(re(e,0,Oe),t===void 0?t=n.rounding:re(t,0,8),I(r,e+r.e+1,t))};C.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,!0):(re(e,0,Oe),t===void 0?t=i.rounding:re(t,0,8),n=I(new i(n),e+1,t),r=ge(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=ge(i):(re(e,0,Oe),t===void 0?t=o.rounding:re(t,0,8),n=I(new o(i),e+i.e+1,t),r=ge(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};C.toFraction=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.d,R=S.constructor;if(!A)return new R(S);if(d=r=new R(1),n=l=new R(0),t=new R(n),o=t.e=co(A)-S.e-1,s=o%O,t.d[0]=J(10,s<0?O+s:s),e==null)e=o>0?t:d;else{if(a=new R(e),!a.isInt()||a.lt(d))throw Error(Ie+a);e=a.gt(t)?o>0?t:d:a}for(_=!1,a=new R(K(A)),g=R.precision,R.precision=o=A.length*O*2;h=U(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=d,d=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=U(e.minus(r),n,0,1,1),l=l.plus(i.times(d)),r=r.plus(i.times(n)),l.s=d.s=S.s,v=U(d,n,o,1).minus(S).abs().cmp(U(l,r,o,1).minus(S).abs())<1?[d,n]:[l,r],R.precision=g,_=!0,v};C.toHexadecimal=C.toHex=function(e,t){return bn(this,16,e,t)};C.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:re(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=U(r,e,0,t,1).times(e),_=!0,I(r)):(e.s=r.s,r=e),r};C.toNumber=function(){return+this};C.toOctal=function(e,t){return bn(this,8,e,t)};C.toPower=C.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,d=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,d));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=Z(e.e/O),t>=e.d.length-1&&(r=d<0?-d:d)<=xl)return i=po(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=En(e.times(ke(a,n+r)),n),i.d&&(i=I(i,n+5,1),Tt(i.d,n,o)&&(t=n+10,i=I(En(e.times(ke(a,t+r)),t),t+5,1),+K(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,I(i,n,o))};C.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(re(e,1,Oe),t===void 0?t=i.rounding:re(t,0,8),n=I(new i(n),e,t),r=ge(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toSignificantDigits=C.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(re(e,1,Oe),t===void 0?t=n.rounding:re(t,0,8)),I(new n(r),e,t)};C.toString=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};C.truncated=C.trunc=function(){return I(new this.constructor(this),this.e+1,1)};C.valueOf=C.toJSON=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function K(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(Ie+e)}function Tt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=O,i=0):(i=Math.ceil((t+1)/O),t%=O),o=J(10,O-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function fr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function vl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/br(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=et(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var U=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var d,g,h,v,S,A,R,D,M,B,k,F,ie,G,Yr,tr,Et,Zr,ue,rr,nr=n.constructor,Xr=n.s==i.s?1:-1,z=n.d,$=i.d;if(!z||!z[0]||!$||!$[0])return new nr(!n.s||!i.s||(z?$&&z[0]==$[0]:!$)?NaN:z&&z[0]==0||!$?Xr*0:Xr/0);for(l?(S=1,g=n.e-i.e):(l=ce,S=O,g=Z(n.e/S)-Z(i.e/S)),ue=$.length,Et=z.length,M=new nr(Xr),B=M.d=[],h=0;$[h]==(z[h]||0);h++);if($[h]>(z[h]||0)&&g--,o==null?(G=o=nr.precision,s=nr.rounding):a?G=o+(n.e-i.e)+1:G=o,G<0)B.push(1),A=!0;else{if(G=G/S+2|0,h=0,ue==1){for(v=0,$=$[0],G++;(h1&&($=e($,v,l),z=e(z,v,l),ue=$.length,Et=z.length),tr=ue,k=z.slice(0,ue),F=k.length;F=l/2&&++Zr;do v=0,d=t($,k,ue,F),d<0?(ie=k[0],ue!=F&&(ie=ie*l+(k[1]||0)),v=ie/Zr|0,v>1?(v>=l&&(v=l-1),R=e($,v,l),D=R.length,F=k.length,d=t(R,k,D,F),d==1&&(v--,r(R,ue=10;v/=10)h++;M.e=h+g*S-1,I(M,a?o+M.e+1:o,s,A)}return M}}();function I(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=O,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/O),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=O,s=o-O+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=O,s=o-O+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),d=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,d?(t-=e.e+1,h[0]=J(10,(O-t%O)%O),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,O-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),d)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==ce&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=ce)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>S.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Se(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Se(-i-1)+o,r&&(n=r-s)>0&&(o+=Se(n))):i>=s?(o+=Se(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Se(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Se(n))),o}function Er(e,t){var r=e[0];for(t*=O;r>=10;r/=10)t++;return t}function yr(e,t,r){if(t>Pl)throw _=!0,r&&(e.precision=r),Error(so);return I(new e(gr),t,1,!0)}function de(e,t,r){if(t>wn)throw Error(so);return I(new e(hr),t,r,!0)}function co(e){var t=e.length-1,r=t*O+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Se(e){for(var t="";e--;)t+="0";return t}function po(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/O+4);for(_=!1;;){if(r%2&&(o=o.times(t),no(o.d,s)&&(i=!0)),r=Z(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),no(t.d,s)}return _=!0,o}function ro(e){return e.d[e.d.length-1]&1}function mo(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=A):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus(U(o,r,l,1)),K(a.d).slice(0,l)===K(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(d<3&&Tt(s.d,l-n,S,d))v.precision=l+=10,r=o=a=new v(1),g=0,d++;else return I(s,v.precision=A,S,_=!0);else return v.precision=A,s}s=a}}function ke(e,t){var r,n,i,o,s,a,l,d,g,h,v,S=1,A=10,R=e,D=R.d,M=R.constructor,B=M.rounding,k=M.precision;if(R.s<0||!D||!D[0]||!R.e&&D[0]==1&&D.length==1)return new M(D&&!D[0]?-1/0:R.s!=1?NaN:D?0:R);if(t==null?(_=!1,g=k):g=t,M.precision=g+=A,r=K(D),n=r.charAt(0),Math.abs(o=R.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)R=R.times(e),r=K(R.d),n=r.charAt(0),S++;o=R.e,n>1?(R=new M("0."+r),o++):R=new M(n+"."+r.slice(1))}else return d=yr(M,g+2,k).times(o+""),R=ke(new M(n+"."+r.slice(1)),g-A).plus(d),M.precision=k,t==null?I(R,k,B,_=!0):R;for(h=R,l=s=R=U(R.minus(1),R.plus(1),g,1),v=I(R.times(R),g,1),i=3;;){if(s=I(s.times(v),g,1),d=l.plus(U(s,new M(i),g,1)),K(d.d).slice(0,g)===K(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(yr(M,g+2,k).times(o+""))),l=U(l,new M(S),g,1),t==null)if(Tt(l.d,g-A,B,a))M.precision=g+=A,d=s=R=U(h.minus(1),h.plus(1),g,1),v=I(R.times(R),g,1),i=a=1;else return I(l,M.precision=k,B,_=!0);else return M.precision=k,l;l=d,i+=2}}function fo(e){return String(e.s*e.s/0)}function dr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%O,r<0&&(n+=O),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),uo.test(t))return dr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(El.test(t))r=16,t=t.toLowerCase();else if(wl.test(t))r=2;else if(bl.test(t))r=8;else throw Error(Ie+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=po(n,new n(r),o,o*2)),d=fr(t,r,ce),g=d.length-1,o=g;d[o]===0;--o)d.pop();return o<0?new n(e.s*0):(e.e=Er(d,g),e.d=d,_=!1,s&&(e=U(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):Be.pow(2,l))),_=!0,e)}function Cl(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:et(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/br(5,r)),t=et(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function et(e,t,r,n,i){var o,s,a,l,d=1,g=e.precision,h=Math.ceil(g/O);for(_=!1,l=r.times(r),a=new e(n);;){if(s=U(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=U(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,d++}return _=!0,s.d.length=h+1,s}function br(e,t){for(var r=e;--t;)r*=e;return r}function go(e,t){var r,n=t.s<0,i=de(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Pe=n?4:1,t;if(r=t.divToInt(i),r.isZero())Pe=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Pe=ro(r)?n?2:3:n?4:1,t;Pe=ro(r)?n?1:4:n?3:2}return t.minus(i).abs()}function bn(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor,A=r!==void 0;if(A?(re(r,1,Oe),n===void 0?n=S.rounding:re(n,0,8)):(r=S.precision,n=S.rounding),!e.isFinite())g=fo(e);else{for(g=ge(e),s=g.indexOf("."),A?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new S(1),v.e=g.length-s,v.d=fr(ge(v),10,i),v.e=v.d.length),h=fr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=A?"0p+0":"0";else{if(s<0?o--:(e=new S(e),e.d=h,e.e=o,e=U(e,v,r,n,0,i),h=e.d,o=e.e,d=oo),s=h[r],a=i/2,d=d||h[r+1]!==void 0,d=n<4?(s!==void 0||d)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||d||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,d)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=fr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Al(e){return new this(e).abs()}function Rl(e){return new this(e).acos()}function Sl(e){return new this(e).acosh()}function kl(e,t){return new this(e).plus(t)}function Il(e){return new this(e).asin()}function Ol(e){return new this(e).asinh()}function Dl(e){return new this(e).atan()}function Ml(e){return new this(e).atanh()}function _l(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=de(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?de(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=de(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(U(e,t,o,1)),t=de(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(U(e,t,o,1)),r}function Nl(e){return new this(e).cbrt()}function Fl(e){return I(e=new this(e),e.e+1,2)}function Ll(e,t,r){return new this(e).clamp(t,r)}function Bl(e){if(!e||typeof e!="object")throw Error(wr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Oe,"rounding",0,8,"toExpNeg",-Xe,0,"toExpPos",0,Xe,"maxE",0,Xe,"minE",-Xe,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",i&&(this[r]=yn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(ao);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function ql(e){return new this(e).cos()}function Ul(e){return new this(e).cosh()}function ho(e){var t,r,n;function i(o){var s,a,l,d=this;if(!(d instanceof i))return new i(o);if(d.constructor=i,io(o)){d.s=o.s,_?!o.d||o.e>i.maxE?(d.e=NaN,d.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(d.e=NaN,d.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(ao);else for(;o=10;i/=10)n++;nRt,datamodelEnumToSchemaEnum:()=>du});f();u();c();p();m();f();u();c();p();m();function du(e){return{name:e.name,values:e.values.map(t=>t.name)}}f();u();c();p();m();var Rt=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(Rt||{});var gu=Qe(Hi());var hu={red:ze,gray:_i,dim:lr,bold:ar,underline:ki,highlightSource:e=>e.highlight()},yu={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function wu({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function Eu({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(bu(t))),i){a.push("");let d=[i.toString()];o&&(d.push(o),d.push(s.dim(")"))),a.push(d.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` -`)}function bu(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function vr(e){let t=e.showColors?hu:yu,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=wu(e),Eu(r,t)}f();u();c();p();m();var Ao=Qe(Pn());f();u();c();p();m();function xo(e,t,r){let n=Po(e),i=xu(n),o=vu(i);o?Tr(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Po(e){return e.errors.flatMap(t=>t.kind==="Union"?Po(t):[t])}function xu(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:Pu(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function Pu(e,t){return[...new Set(e.concat(t))]}function vu(e){return gn(e,(t,r)=>{let n=Eo(t),i=Eo(r);return n!==i?n-i:bo(t)-bo(r)})}function Eo(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function bo(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}f();u();c();p();m();var ae=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};f();u();c();p();m();f();u();c();p();m();To();f();u();c();p();m();var nt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` -`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};vo();f();u();c();p();m();f();u();c();p();m();var Cr=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};f();u();c();p();m();var Ar=e=>e,Rr={bold:Ar,red:Ar,green:Ar,dim:Ar,enabled:!1},Co={bold:ar,red:ze,green:Ii,dim:lr,enabled:!0},it={write(e){e.writeLine(",")}};f();u();c();p();m();var ye=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};f();u();c();p();m();var Me=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var ot=class extends Me{items=[];addItem(t){return this.items.push(new Cr(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new ye("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(it,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var st=class e extends Me{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof ot&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new ye("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(it,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};f();u();c();p();m();var H=class extends Me{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new ye(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};f();u();c();p();m();var St=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(it,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Tr(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":Tu(e,t);break;case"IncludeOnScalar":Cu(e,t);break;case"EmptySelection":Au(e,t,r);break;case"UnknownSelectionField":Iu(e,t);break;case"InvalidSelectionValue":Ou(e,t);break;case"UnknownArgument":Du(e,t);break;case"UnknownInputField":Mu(e,t);break;case"RequiredArgumentMissing":_u(e,t);break;case"InvalidArgumentType":Nu(e,t);break;case"InvalidArgumentValue":Fu(e,t);break;case"ValueTooLarge":Lu(e,t);break;case"SomeFieldsMissing":Bu(e,t);break;case"TooManyFieldsGiven":qu(e,t);break;case"Union":xo(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function Tu(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Cu(e,t){let[r,n]=kt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ae(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${It(s)}`:a+=".",a+=` -Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Au(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Ru(e,t,i);return}if(n.hasField("select")){Su(e,t);return}}if(r?.[De(e.outputType.name)]){ku(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Ru(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new ae(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Su(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),ko(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${It(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function ku(e,t){let r=new St;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new ae("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=kt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new st;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Iu(e,t){let r=Io(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":ko(n,e.outputType);break;case"include":Uu(n,e.outputType);break;case"omit":$u(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(It(n)),i.join(" ")})}function Ou(e,t){let r=Io(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function Du(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),ju(n,e.arguments)),t.addErrorMessage(i=>Ro(i,r,e.arguments.map(o=>o.name)))}function Mu(e,t){let[r,n]=kt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Oo(o,e.inputType)}t.addErrorMessage(o=>Ro(o,n,e.inputType.fields.map(s=>s.name)))}function Ro(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Gu(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(It(e)),n.join(" ")}function _u(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=kt(e.argumentPath),s=new St,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ae(o,s).makeRequired())}else{let l=e.inputTypes.map(So).join(" | ");a.addSuggestion(new ae(o,l).makeRequired())}}function So(e){return e.kind==="list"?`${So(e.elementType)}[]`:e.name}function Nu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Sr("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Fu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Sr("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Lu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Bu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Oo(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Sr("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(It(i)),o.join(" ")})}function qu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Sr("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function ko(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ae(r.name,"true"))}function Uu(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new ae(r.name,"true"))}function $u(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new ae(r.name,"true"))}function ju(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new ae(r.name,r.typeNames.join(" | ")))}function Io(e,t){let[r,n]=kt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Oo(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ae(r.name,r.typeNames.join(" | ")))}function kt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function It({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Sr(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Vu=3;function Gu(e,t){let r=1/0,n;for(let i of t){let o=(0,Ao.default)(e,i);o>Vu||o`}};function at(e){return e instanceof Ot}f();u();c();p();m();var kr=Symbol(),Tn=new WeakMap,Te=class{constructor(t){t===kr?Tn.set(this,`Prisma.${this._getName()}`):Tn.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Tn.get(this)}},Dt=class extends Te{_getNamespace(){return"NullTypes"}},Mt=class extends Dt{#e};An(Mt,"DbNull");var _t=class extends Dt{#e};An(_t,"JsonNull");var Nt=class extends Dt{#e};An(Nt,"AnyNull");var Cn={classes:{DbNull:Mt,JsonNull:_t,AnyNull:Nt},instances:{DbNull:new Mt(kr),JsonNull:new _t(kr),AnyNull:new Nt(kr)}};function An(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}f();u();c();p();m();var Do=": ",Ir=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Do.length}write(t){let r=new ye(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Do).write(this.value)}};var Rn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` -`)}};function lt(e){return new Rn(Mo(e))}function Mo(e){let t=new st;for(let[r,n]of Object.entries(e)){let i=new Ir(r,_o(n));t.addField(i)}return t}function _o(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(rt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=xr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Te?new H(`Prisma.${e._getName()}`):at(e)?new H(`prisma.${De(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Qu(e):typeof e=="object"?Mo(e):new H(Object.prototype.toString.call(e))}function Qu(e){let t=new ot;for(let r of e)t.addItem(_o(r));return t}function Or(e,t){let r=t==="pretty"?Co:Rr,n=e.renderAllMessages(r),i=new nt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function Dr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=lt(e);for(let h of t)Tr(h,a,s);let{message:l,args:d}=Or(a,r),g=vr({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:d});throw new X(g,{clientVersion:o})}f();u();c();p();m();f();u();c();p();m();function we(e){return e.replace(/^./,t=>t.toLowerCase())}f();u();c();p();m();function Fo(e,t,r){let n=we(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Ju({...e,...No(t.name,e,t.result.$allModels),...No(t.name,e,t.result[n])})}function Ju(e){let t=new he,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return Ze(e,n=>({...n,needs:r(n.name,new Set)}))}function No(e,t,r){return r?Ze(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Wu(t,o,i)})):{}}function Wu(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function Lo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Bo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Mr=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new he;modelExtensionsCache=new he;queryCallbacksCache=new he;clientExtensions=At(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=At(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Fo(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=we(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ut=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Mr(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Mr(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};f();u();c();p();m();var _r=class{constructor(t){this.name=t}};function qo(e){return e instanceof _r}function Hu(e){return new _r(e)}f();u();c();p();m();f();u();c();p();m();var Uo=Symbol(),Ft=class{constructor(t){if(t!==Uo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Sn:t}},Sn=new Ft(Uo);function Ee(e){return e instanceof Ft}var Ku={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},$o="explicitly `undefined` values are not allowed";function In({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ut.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g}){let h=new kn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g});return{modelName:e,action:Ku[t],query:Lt(r,h)}}function Lt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Vo(r,n),selection:zu(e,t,i,n)}}function zu(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),ec(e,n)):Yu(n,t,r)}function Yu(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&Zu(n,t,e),Xu(n,r,e),n}function Zu(e,t,r){for(let[n,i]of Object.entries(t)){if(Ee(i))continue;let o=r.nestSelection(n);if(On(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Lt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Lt(i,o)}}function Xu(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Bo(i,n);for(let[s,a]of Object.entries(o)){if(Ee(a))continue;On(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function ec(e,t){let r={},n=t.getComputedFields(),i=Lo(e,n);for(let[o,s]of Object.entries(i)){if(Ee(s))continue;let a=t.nestSelection(o);On(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||Ee(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Lt({},a):r[o]=!0;continue}r[o]=Lt(s,a)}}return r}function jo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(tt(e)){if(xr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(qo(e))return{$type:"Param",value:e.name};if(at(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return tc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(rc(e))return e.values;if(rt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Te){if(e!==Cn.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(nc(e))return e.toJSON();if(typeof e=="object")return Vo(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Vo(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);Ee(i)||(i!==void 0?r[n]=jo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:$o}))}return r}function tc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[De(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:xe(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};f();u();c();p();m();function Go(e){if(!e._hasPreviewFlag("metrics"))throw new X("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Bt=class{_client;constructor(t){this._client=t}prometheus(t){return Go(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Go(this._client),this._client._engine.metrics({format:"json",...t})}};f();u();c();p();m();function ic(e,t){let r=At(()=>oc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function oc(e){return{datamodel:{models:Dn(e.models),enums:Dn(e.enums),types:Dn(e.types)}}}function Dn(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}f();u();c();p();m();var Mn=new WeakMap,Nr="$$PrismaTypedSql",qt=class{constructor(t,r){Mn.set(this,{sql:t,values:r}),Object.defineProperty(this,Nr,{value:Nr})}get sql(){return Mn.get(this).sql}get values(){return Mn.get(this).values}};function sc(e){return(...t)=>new qt(e,t)}function Fr(e){return e!=null&&e[Nr]===Nr}f();u();c();p();m();var oa=Qe(Qo());f();u();c();p();m();Jo();Ui();Gi();f();u();c();p();m();var le=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}f();u();c();p();m();f();u();c();p();m();var Br={enumerable:!0,configurable:!0,writable:!0};function qr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Br,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var Ko=Symbol.for("nodejs.util.inspect.custom");function pe(e,t){let r=cc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=zo(Reflect.ownKeys(o),r),a=zo(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...Br,...l?.getPropertyDescriptor(s)}:Br:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[Ko]=function(){let o={...this};return delete o[Ko],o},i}function cc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function zo(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}f();u();c();p();m();function ct(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}f();u();c();p();m();function Ur(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}f();u();c();p();m();function Yo(e){if(e===void 0)return"";let t=lt(e);return new nt(0,{colors:Rr}).write(t).toString()}f();u();c();p();m();var pc="P2037";function $r({error:e,user_facing_error:t},r,n){return t.error_code?new oe(mc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new se(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function mc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===pc&&(r+=` -Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var _n=class{getLocation(){return null}};function _e(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new _n}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Zo={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function pt(e={}){let t=dc(e);return Object.entries(t).reduce((n,[i,o])=>(Zo[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function dc(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function jr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function Xo(e,t){let r=jr(e);return t({action:"aggregate",unpacker:r,argsMapper:pt})(e)}f();u();c();p();m();function gc(e={}){let{select:t,...r}=e;return typeof t=="object"?pt({...r,_count:t}):pt({...r,_count:{_all:!0}})}function hc(e={}){return typeof e.select=="object"?t=>jr(e)(t)._count:t=>jr(e)(t)._count._all}function es(e,t){return t({action:"count",unpacker:hc(e),argsMapper:gc})(e)}f();u();c();p();m();function yc(e={}){let t=pt(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function wc(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ts(e,t){return t({action:"groupBy",unpacker:wc(e),argsMapper:yc})(e)}function rs(e,t,r){if(t==="aggregate")return n=>Xo(n,r);if(t==="count")return n=>es(n,r);if(t==="groupBy")return n=>ts(n,r)}f();u();c();p();m();function ns(e,t){let r=t.fields.filter(i=>!i.relationName),n=yo(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Ot(e,o,s.type,s.isList,s.kind==="enum")},...qr(Object.keys(n))})}f();u();c();p();m();f();u();c();p();m();var is=e=>Array.isArray(e)?e:e.split("."),Nn=(e,t)=>is(t).reduce((r,n)=>r&&r[n],e),os=(e,t,r)=>is(t).reduceRight((n,i,o,s)=>Object.assign({},Nn(e,s.slice(0,o)),{[i]:n}),r);function Ec(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function bc(e,t,r){return t===void 0?e??{}:os(t,r,e||!0)}function Fn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,d)=>({...l,[d.name]:d}),{});return l=>{let d=_e(e._errorFormat),g=Ec(n,i),h=bc(l,o,g),v=r({dataPath:g,callsite:d})(h),S=xc(e,t);return new Proxy(v,{get(A,R){if(!S.includes(R))return A[R];let M=[a[R].type,r,R],B=[g,h];return Fn(e,...M,...B)},...qr([...S,...Object.getOwnPropertyNames(v)])})}}function xc(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Pc=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],vc=["aggregate","count","groupBy"];function Ln(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Tc(e,t),Ac(e,t),Ut(r),ee("name",()=>t),ee("$name",()=>t),ee("$parent",()=>e._appliedParent)];return pe({},n)}function Tc(e,t){let r=we(t),n=Object.keys(Rt).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let d=_e(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:d};return e._request({...h,...a})},{action:o,args:l,model:t})};return Pc.includes(o)?Fn(e,t,s):Cc(i)?rs(e,i,s):s({})}}}function Cc(e){return vc.includes(e)}function Ac(e,t){return qe(ee("fields",()=>{let r=e._runtimeDataModel.models[t];return ns(t,r)}))}f();u();c();p();m();function ss(e){return e.replace(/^./,t=>t.toUpperCase())}var Bn=Symbol();function $t(e){let t=[Rc(e),Sc(e),ee(Bn,()=>e),ee("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Ut(r)),pe(e,t)}function Rc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function Sc(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(we),n=[...new Set(t.concat(r))];return qe({getKeys(){return n},getPropertyValue(i){let o=ss(i);if(e._runtimeDataModel.models[o]!==void 0)return Ln(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Ln(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function as(e){return e[Bn]?e[Bn]:e}function ls(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return $t(t)}f();u();c();p();m();f();u();c();p();m();function us({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let d=l.needs.filter(g=>n[g]);d.length>0&&a.push(ct(d))}else if(r){if(!r[l.name])continue;let d=l.needs.filter(g=>!r[g]);d.length>0&&a.push(ct(d))}kc(e,l.needs)&&s.push(Ic(l,pe(e,s)))}return s.length>0||a.length>0?pe(e,[...s,...a]):e}function kc(e,t){return t.every(r=>dn(e,r))}function Ic(e,t){return qe(ee(e.name,()=>e.compute(t)))}f();u();c();p();m();function Vr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let d=typeof s=="object"?s:{};t[o]=Vr({visitor:i,result:t[o],args:d,modelName:l.type,runtimeDataModel:n})}}function ps({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Vr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,d)=>{let g=we(l);return us({result:a,modelName:g,select:d.select,omit:d.select?void 0:{...o?.[g],...d.omit},extensions:n})}})}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Oc=["$connect","$disconnect","$on","$transaction","$use","$extends"],ms=Oc;function fs(e){if(e instanceof le)return Dc(e);if(Fr(e))return Mc(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:fs(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=Es(o,l),a.args=s,gs(e,a,r,n+1)}})})}function hs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return gs(e,t,s)}function ys(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?ws(r,n,0,e):e(r)}}function ws(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=Es(i,l),ws(a,t,r+1,n)}})}var ds=e=>e;function Es(e=ds,t=ds){return r=>e(t(r))}f();u();c();p();m();var bs=Y("prisma:client"),xs={Vercel:"vercel","Netlify CI":"netlify"};function Ps({postinstall:e,ciName:t,clientVersion:r}){if(bs("checkPlatformCaching:postinstall",e),bs("checkPlatformCaching:ciName",t),e===!0&&t&&t in xs){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. +var aa=Object.create;var tn=Object.defineProperty;var la=Object.getOwnPropertyDescriptor;var ua=Object.getOwnPropertyNames;var ca=Object.getPrototypeOf,pa=Object.prototype.hasOwnProperty;var me=(e,t)=>()=>(e&&(t=e(e=0)),t);var Fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),or=(e,t)=>{for(var r in t)tn(e,r,{get:t[r],enumerable:!0})},ma=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ua(t))!pa.call(e,i)&&i!==r&&tn(e,i,{get:()=>t[i],enumerable:!(n=la(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?aa(ca(e)):{},ma(t||!e||!e.__esModule?tn(r,"default",{value:e,enumerable:!0}):r,e));var y,u=me(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var b,c=me(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=me(()=>{"use strict";E=()=>{};E.prototype=E});var m=me(()=>{"use strict"});var bi=Fe(Ke=>{"use strict";f();u();c();p();m();var si=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fa=si(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=S;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var D=A.indexOf("=");D===-1&&(D=R);var M=D===R?0:4-D%4;return[D,M]}function l(A){var R=a(A),D=R[0],M=R[1];return(D+M)*3/4-M}function d(A,R,D){return(R+D)*3/4-D}function g(A){var R,D=a(A),M=D[0],B=D[1],k=new n(d(A,M,B)),F=0,ie=B>0?M-4:M,G;for(G=0;G>16&255,k[F++]=R>>8&255,k[F++]=R&255;return B===2&&(R=r[A.charCodeAt(G)]<<2|r[A.charCodeAt(G+1)]>>4,k[F++]=R&255),B===1&&(R=r[A.charCodeAt(G)]<<10|r[A.charCodeAt(G+1)]<<4|r[A.charCodeAt(G+2)]>>2,k[F++]=R>>8&255,k[F++]=R&255),k}function h(A){return t[A>>18&63]+t[A>>12&63]+t[A>>6&63]+t[A&63]}function v(A,R,D){for(var M,B=[],k=R;kie?ie:F+k));return M===1?(R=A[D-1],B.push(t[R>>2]+t[R<<4&63]+"==")):M===2&&(R=(A[D-2]<<8)+A[D-1],B.push(t[R>>10]+t[R>>4&63]+t[R<<2&63]+"=")),B.join("")}}),da=si(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,d=(1<>1,h=-7,v=n?o-1:0,S=n?-1:1,A=t[r+v];for(v+=S,s=A&(1<<-h)-1,A>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=S,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=S,h-=8);if(s===0)s=1-g;else{if(s===d)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(A?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,d,g=s*8-o-1,h=(1<>1,S=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=i?0:s-1,R=i?1:-1,D=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-a))<1&&(a--,d*=2),a+v>=1?r+=S/d:r+=S*Math.pow(2,1-v),r*d>=2&&(a++,d/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*d-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+A]=l&255,A+=R,l/=256,o-=8);for(a=a<0;t[n+A]=a&255,A+=R,a/=256,g-=8);t[n+A-R]|=D*128}}),rn=fa(),We=da(),ri=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ke.Buffer=T;Ke.SlowBuffer=ba;Ke.INSPECT_MAX_BYTES=50;var sr=2147483647;Ke.kMaxLength=sr;T.TYPED_ARRAY_SUPPORT=ga();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function ga(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function xe(e){if(e>sr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return sn(e)}return ai(e,t,r)}T.poolSize=8192;function ai(e,t,r){if(typeof e=="string")return ya(e,t);if(ArrayBuffer.isView(e))return wa(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(fe(e,ArrayBuffer)||e&&fe(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(fe(e,SharedArrayBuffer)||e&&fe(e.buffer,SharedArrayBuffer)))return ui(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=Ea(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return ai(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function li(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function ha(e,t,r){return li(e),e<=0?xe(e):t!==void 0?typeof r=="string"?xe(e).fill(t,r):xe(e).fill(t):xe(e)}T.alloc=function(e,t,r){return ha(e,t,r)};function sn(e){return li(e),xe(e<0?0:an(e)|0)}T.allocUnsafe=function(e){return sn(e)};T.allocUnsafeSlow=function(e){return sn(e)};function ya(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=ci(e,t)|0,n=xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function nn(e){let t=e.length<0?0:an(e.length)|0,r=xe(t);for(let n=0;n=sr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+sr.toString(16)+" bytes");return e|0}function ba(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(fe(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),fe(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function ci(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||fe(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return on(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ei(e).length;default:if(i)return n?-1:on(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=ci;function xa(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Oa(this,t,r);case"utf8":case"utf-8":return mi(this,t,r);case"ascii":return ka(this,t,r);case"latin1":case"binary":return Ia(this,t,r);case"base64":return Ra(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Da(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ri&&(T.prototype[ri]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(fe(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),d=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,un(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:ni(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):ni(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ni(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let d;if(i){let g=-1;for(d=r;ds&&(r=s-a),d=r;d>=0;d--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Pa(this,e,t,r);case"utf8":case"utf-8":return va(this,e,t,r);case"ascii":case"latin1":case"binary":return Ta(this,e,t,r);case"base64":return Ca(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Aa(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ra(e,t,r){return t===0&&r===e.length?rn.fromByteArray(e):rn.fromByteArray(e.slice(t,r))}function mi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,d,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],d=e[i+2],(l&192)===128&&(d&192)===128&&(h=(o&15)<<12|(l&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],d=e[i+2],g=e[i+3],(l&192)===128&&(d&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(d&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Sa(n)}var ii=4096;function Sa(e){let t=e.length;if(t<=ii)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Ae(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Ae(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function te(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function fi(e,t,r,n,i){wi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function di(e,t,r,n,i){wi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Ae(function(e,t=0){return fi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Ae(function(e,t=0){return di(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Ae(function(e,t=0){return fi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Ae(function(e,t=0){return di(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function gi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function hi(e,t,r,n,i){return t=+t,r=r>>>0,i||gi(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return hi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return hi(this,e,t,!1,r)};function yi(e,t,r,n,i){return t=+t,r=r>>>0,i||gi(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return yi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return yi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=oi(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=oi(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function oi(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Ma(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&bt(t,e.length-(r+1))}function wi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Je.ERR_OUT_OF_RANGE("value",a,e)}Ma(n,i,o)}function He(e,t){if(typeof e!="number")throw new Je.ERR_INVALID_ARG_TYPE(t,"number",e)}function bt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Je.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Je.ERR_BUFFER_OUT_OF_BOUNDS:new Je.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var _a=/[^+/0-9A-Za-z-_]/g;function Na(e){if(e=e.split("=")[0],e=e.trim().replace(_a,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function on(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Fa(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function Ei(e){return rn.toByteArray(Na(e))}function ar(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function fe(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function un(e){return e!==e}var Ba=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Ae(e){return typeof BigInt>"u"?Ua:e}function Ua(){throw new Error("BigInt not supported")}});var w,f=me(()=>{"use strict";w=Qe(bi())});function Qa(){return!1}function Ui(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function Ja(){return Ui()}function Wa(){return[]}function Ha(e){e(null,[])}function Ka(){return""}function za(){return""}function Ya(){}function Za(){}function Xa(){}function el(){}function tl(){}function rl(){}var nl,il,qi,$i=me(()=>{"use strict";f();u();c();p();m();nl={},il={existsSync:Qa,lstatSync:Ui,statSync:Ja,readdirSync:Wa,readdir:Ha,readlinkSync:Ka,realpathSync:za,chmodSync:Ya,renameSync:Za,mkdirSync:Xa,rmdirSync:el,rmSync:tl,unlinkSync:rl,promises:nl},qi=il});function ol(...e){return e.join("/")}function sl(...e){return e.join("/")}function al(e){let t=ji(e),r=Vi(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function ji(e){let t=e.split("/");return t[t.length-1]}function Vi(e){return e.split("/").slice(0,-1).join("/")}var Gi,ll,ul,pr,Qi=me(()=>{"use strict";f();u();c();p();m();Gi="/",ll={sep:Gi},ul={basename:ji,dirname:Vi,join:sl,parse:al,posix:ll,resolve:ol,sep:Gi},pr=ul});var Ji=Fe((lf,cl)=>{cl.exports={name:"@prisma/internals",version:"6.8.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-engine-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Ki=Fe((Rf,Hi)=>{"use strict";f();u();c();p();m();Hi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Zi=Fe((Uf,Yi)=>{"use strict";f();u();c();p();m();Yi.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var eo=Fe((Qf,Xi)=>{"use strict";f();u();c();p();m();var wl=Zi();Xi.exports=e=>typeof e=="string"?e.replace(wl(),""):e});var vn=Fe((My,Eo)=>{"use strict";f();u();c();p();m();Eo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";f();u();c();p();m()});var Co=me(()=>{"use strict";f();u();c();p();m()});var Jo=Fe((t1,lc)=>{lc.exports={name:"@prisma/engines-version",version:"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"2060c79ba17c6bb9f5823312b6f6b7f4a845738e"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Ur,Wo=me(()=>{"use strict";f();u();c();p();m();Ur=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});f();u();c();p();m();var vi={};or(vi,{defineExtension:()=>xi,getExtensionContext:()=>Pi});f();u();c();p();m();f();u();c();p();m();function xi(e){return typeof e=="function"?e:t=>t.$extends(e)}f();u();c();p();m();function Pi(e){return e}var Ci={};or(Ci,{validator:()=>Ti});f();u();c();p();m();f();u();c();p();m();function Ti(...e){return t=>t}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var cn,Ai,Ri,Si,ki=!0;typeof y<"u"&&({FORCE_COLOR:cn,NODE_DISABLE_COLORS:Ai,NO_COLOR:Ri,TERM:Si}=y.env||{},ki=y.stdout&&y.stdout.isTTY);var qa={enabled:!Ai&&Ri==null&&Si!=="dumb"&&(cn!=null&&cn!=="0"||ki)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!qa.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var cm=j(0,0),lr=j(1,22),ur=j(2,22),pm=j(3,23),Ii=j(4,24),mm=j(7,27),fm=j(8,28),dm=j(9,29),gm=j(30,39),ze=j(31,39),Oi=j(32,39),Di=j(33,39),Mi=j(34,39),hm=j(35,39),_i=j(36,39),ym=j(37,39),Ni=j(90,39),wm=j(90,39),Em=j(40,49),bm=j(41,49),xm=j(42,49),Pm=j(43,49),vm=j(44,49),Tm=j(45,49),Cm=j(46,49),Am=j(47,49);f();u();c();p();m();var $a=100,Fi=["green","yellow","blue","magenta","cyan","red"],cr=[],Li=Date.now(),ja=0,pn=typeof y<"u"?y.env:{};globalThis.DEBUG??=pn.DEBUG??"";globalThis.DEBUG_COLORS??=pn.DEBUG_COLORS?pn.DEBUG_COLORS==="true":!0;var xt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function Va(e){let t={color:Fi[ja++%Fi.length],enabled:xt.enabled(e),namespace:e,log:xt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&cr.push([o,...n]),cr.length>$a&&cr.shift(),xt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:Ga(g)),d=`+${Date.now()-Li}ms`;Li=Date.now(),a(o,...l,d)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var Y=new Proxy(Va,{get:(e,t)=>xt[t],set:(e,t,r)=>xt[t]=r});function Ga(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Bi(){cr.length=0}f();u();c();p();m();f();u();c();p();m();var pl=Ji(),mn=pl.version;f();u();c();p();m();function Ye(e){let t=ml();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":fl(e))}function ml(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function fl(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}f();u();c();p();m();var Wi="prisma+postgres",mr=`${Wi}:`;function fr(e){return e?.toString().startsWith(`${mr}//`)??!1}function fn(e){if(!fr(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")}var vt={};or(vt,{error:()=>hl,info:()=>gl,log:()=>dl,query:()=>yl,should:()=>zi,tags:()=>Pt,warn:()=>dn});f();u();c();p();m();var Pt={error:ze("prisma:error"),warn:Di("prisma:warn"),info:_i("prisma:info"),query:Mi("prisma:query")},zi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function dl(...e){console.log(...e)}function dn(e,...t){zi.warn()&&console.warn(`${Pt.warn} ${e}`,...t)}function gl(e,...t){console.info(`${Pt.info} ${e}`,...t)}function hl(e,...t){console.error(`${Pt.error} ${e}`,...t)}function yl(e,...t){console.log(`${Pt.query} ${e}`,...t)}f();u();c();p();m();function Pe(e,t){throw new Error(t)}f();u();c();p();m();function gn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}f();u();c();p();m();function Ze(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}f();u();c();p();m();function hn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{to.has(e)||(to.add(e),dn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");f();u();c();p();m();var oe=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(oe,"PrismaClientKnownRequestError");f();u();c();p();m();var Re=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(Re,"PrismaClientRustPanicError");f();u();c();p();m();var se=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(se,"PrismaClientUnknownRequestError");f();u();c();p();m();var X=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(X,"PrismaClientValidationError");f();u();c();p();m();f();u();c();p();m();var Xe=9e15,Oe=1e9,yn="0123456789abcdef",yr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",wr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",wn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Xe,maxE:Xe,crypto:!1},so,ve,_=!0,br="[DecimalError] ",Ie=br+"Invalid argument: ",ao=br+"Precision limit exceeded",lo=br+"crypto unavailable",uo="[object Decimal]",Z=Math.floor,J=Math.pow,El=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,bl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,xl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,co=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ce=1e7,O=7,Pl=9007199254740991,vl=yr.length-1,En=wr.length-1,C={toStringTag:uo};C.absoluteValue=C.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};C.ceil=function(){return I(new this.constructor(this),this.e+1,2)};C.clampedTo=C.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};C.comparedTo=C.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,d=e.s;if(!s||!a)return!l||!d?NaN:l!==d?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-d:0;if(l!==d)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};C.cosine=C.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Tl(n,ho(n,r)),n.precision=e,n.rounding=t,I(ve==2||ve==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};C.cubeRoot=C.cbrt=function(){var e,t,r,n,i,o,s,a,l,d,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=K(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=Z((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),d=l.plus(g),n=q(d.plus(g).times(a),d.plus(l),s+2,1),K(a.d).slice(0,s)===(r=K(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,I(n,e,h.rounding,t)};C.decimalPlaces=C.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-Z(this.e/O))*O,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};C.dividedBy=C.div=function(e){return q(this,new this.constructor(e))};C.dividedToIntegerBy=C.divToInt=function(e){var t=this,r=t.constructor;return I(q(t,new r(e),0,1,1),r.precision,r.rounding)};C.equals=C.eq=function(e){return this.cmp(e)===0};C.floor=function(){return I(new this.constructor(this),this.e+1,3)};C.greaterThan=C.gt=function(e){return this.cmp(e)>0};C.greaterThanOrEqualTo=C.gte=function(e){var t=this.cmp(e);return t==1||t===0};C.hyperbolicCosine=C.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Pr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=et(s,1,o.times(t),new s(1),!0);for(var l,d=e,g=new s(8);d--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};C.hyperbolicSine=C.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=et(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Pr(5,e)),i=et(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),d=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(d))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};C.hyperbolicTangent=C.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,q(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};C.inverseCosine=C.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?de(t,n,i):new t(0):new t(NaN):e.isZero()?de(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};C.inverseHyperbolicCosine=C.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};C.inverseHyperbolicSine=C.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};C.inverseHyperbolicTangent=C.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=q(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};C.inverseSine=C.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=de(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};C.inverseTangent=C.atan=function(){var e,t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding;if(d.isFinite()){if(d.isZero())return new g(d);if(d.abs().eq(1)&&h+4<=En)return s=de(g,h+4,v).times(.25),s.s=d.s,s}else{if(!d.s)return new g(NaN);if(h+4<=En)return s=de(g,h+4,v).times(.5),s.s=d.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/O+2|0),e=r;e;--e)d=d.div(d.times(d).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/O),n=1,l=d.times(d),s=new g(d),i=d;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};C.isNaN=function(){return!this.s};C.isNegative=C.isNeg=function(){return this.s<0};C.isPositive=C.isPos=function(){return this.s>0};C.isZero=function(){return!!this.d&&this.d[0]===0};C.lessThan=C.lt=function(e){return this.cmp(e)<0};C.lessThanOrEqualTo=C.lte=function(e){return this.cmp(e)<1};C.logarithm=C.log=function(e){var t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding,S=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(1))return new g(r&&!r[0]?-1/0:d.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+S,s=ke(d,a),n=t?Er(g,a+10):ke(e,a),l=q(s,n,a,1),Tt(l.d,i=h,v))do if(a+=10,s=ke(d,a),n=t?Er(g,a+10):ke(e,a),l=q(s,n,a,1),!o){+K(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(Tt(l.d,i+=10,v));return _=!0,I(l,h,v)};C.minus=C.sub=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.constructor;if(e=new A(e),!S.d||!e.d)return!S.s||!e.s?e=new A(NaN):S.d?e.s=-e.s:e=new A(e.d||S.s!==e.s?S:NaN),e;if(S.s!=e.s)return e.s=-e.s,S.plus(e);if(d=S.d,v=e.d,a=A.precision,l=A.rounding,!d[0]||!v[0]){if(v[0])e.s=-e.s;else if(d[0])e=new A(S);else return new A(l===3?-0:0);return _?I(e,a,l):e}if(r=Z(e.e/O),g=Z(S.e/O),d=d.slice(),o=g-r,o){for(h=o<0,h?(t=d,o=-o,s=v.length):(t=v,r=g,s=d.length),n=Math.max(Math.ceil(a/O),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=d.length,s=v.length,h=n0;--n)d[s++]=0;for(n=v.length;n>o;){if(d[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=d.length,i=g.length,s-i<0&&(i=s,r=g,g=d,d=r),t=0;i;)t=(d[--i]=d[i]+g[i]+t)/ce|0,d[i]%=ce;for(t&&(d.unshift(t),++n),s=d.length;d[--s]==0;)d.pop();return e.d=d,e.e=xr(d,n),_?I(e,a,l):e};C.precision=C.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=po(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};C.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};C.sine=C.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Al(n,ho(n,r)),n.precision=e,n.rounding=t,I(ve>2?r.neg():r,e,t,!0)):new n(NaN)};C.squareRoot=C.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,d=s.s,g=s.constructor;if(d!==1||!a||!a[0])return new g(!d||d<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,d=Math.sqrt(+s),d==0||d==1/0?(t=K(a),(t.length+l)%2==0&&(t+="0"),d=Math.sqrt(t),l=Z((l+1)/2)-(l<0||l%2),d==1/0?t="5e"+l:(t=d.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(d.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(q(s,o,r+2,1)).times(.5),K(o.d).slice(0,r)===(t=K(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,I(n,l,g.rounding,e)};C.tangent=C.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=q(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(ve==2||ve==4?r.neg():r,e,t,!0)):new n(NaN)};C.times=C.mul=function(e){var t,r,n,i,o,s,a,l,d,g=this,h=g.constructor,v=g.d,S=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!S||!S[0])return new h(!e.s||v&&!v[0]&&!S||S&&!S[0]&&!v?NaN:!v||!S?e.s/0:e.s*0);for(r=Z(g.e/O)+Z(e.e/O),l=v.length,d=S.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+S[n]*v[i-n-1]+t,o[i--]=a%ce|0,t=a/ce|0;o[i]=(o[i]+t)%ce|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=xr(o,r),_?I(e,h.precision,h.rounding):e};C.toBinary=function(e,t){return xn(this,2,e,t)};C.toDecimalPlaces=C.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(re(e,0,Oe),t===void 0?t=n.rounding:re(t,0,8),I(r,e+r.e+1,t))};C.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,!0):(re(e,0,Oe),t===void 0?t=i.rounding:re(t,0,8),n=I(new i(n),e+1,t),r=ge(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=ge(i):(re(e,0,Oe),t===void 0?t=o.rounding:re(t,0,8),n=I(new o(i),e+i.e+1,t),r=ge(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};C.toFraction=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.d,R=S.constructor;if(!A)return new R(S);if(d=r=new R(1),n=l=new R(0),t=new R(n),o=t.e=po(A)-S.e-1,s=o%O,t.d[0]=J(10,s<0?O+s:s),e==null)e=o>0?t:d;else{if(a=new R(e),!a.isInt()||a.lt(d))throw Error(Ie+a);e=a.gt(t)?o>0?t:d:a}for(_=!1,a=new R(K(A)),g=R.precision,R.precision=o=A.length*O*2;h=q(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=d,d=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=q(e.minus(r),n,0,1,1),l=l.plus(i.times(d)),r=r.plus(i.times(n)),l.s=d.s=S.s,v=q(d,n,o,1).minus(S).abs().cmp(q(l,r,o,1).minus(S).abs())<1?[d,n]:[l,r],R.precision=g,_=!0,v};C.toHexadecimal=C.toHex=function(e,t){return xn(this,16,e,t)};C.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:re(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=q(r,e,0,t,1).times(e),_=!0,I(r)):(e.s=r.s,r=e),r};C.toNumber=function(){return+this};C.toOctal=function(e,t){return xn(this,8,e,t)};C.toPower=C.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,d=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,d));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=Z(e.e/O),t>=e.d.length-1&&(r=d<0?-d:d)<=Pl)return i=mo(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=bn(e.times(ke(a,n+r)),n),i.d&&(i=I(i,n+5,1),Tt(i.d,n,o)&&(t=n+10,i=I(bn(e.times(ke(a,t+r)),t),t+5,1),+K(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,I(i,n,o))};C.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(re(e,1,Oe),t===void 0?t=i.rounding:re(t,0,8),n=I(new i(n),e,t),r=ge(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toSignificantDigits=C.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(re(e,1,Oe),t===void 0?t=n.rounding:re(t,0,8)),I(new n(r),e,t)};C.toString=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};C.truncated=C.trunc=function(){return I(new this.constructor(this),this.e+1,1)};C.valueOf=C.toJSON=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function K(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(Ie+e)}function Tt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=O,i=0):(i=Math.ceil((t+1)/O),t%=O),o=J(10,O-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function gr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Tl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Pr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=et(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var q=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var d,g,h,v,S,A,R,D,M,B,k,F,ie,G,Zr,rr,Et,Xr,ue,nr,ir=n.constructor,en=n.s==i.s?1:-1,z=n.d,$=i.d;if(!z||!z[0]||!$||!$[0])return new ir(!n.s||!i.s||(z?$&&z[0]==$[0]:!$)?NaN:z&&z[0]==0||!$?en*0:en/0);for(l?(S=1,g=n.e-i.e):(l=ce,S=O,g=Z(n.e/S)-Z(i.e/S)),ue=$.length,Et=z.length,M=new ir(en),B=M.d=[],h=0;$[h]==(z[h]||0);h++);if($[h]>(z[h]||0)&&g--,o==null?(G=o=ir.precision,s=ir.rounding):a?G=o+(n.e-i.e)+1:G=o,G<0)B.push(1),A=!0;else{if(G=G/S+2|0,h=0,ue==1){for(v=0,$=$[0],G++;(h1&&($=e($,v,l),z=e(z,v,l),ue=$.length,Et=z.length),rr=ue,k=z.slice(0,ue),F=k.length;F=l/2&&++Xr;do v=0,d=t($,k,ue,F),d<0?(ie=k[0],ue!=F&&(ie=ie*l+(k[1]||0)),v=ie/Xr|0,v>1?(v>=l&&(v=l-1),R=e($,v,l),D=R.length,F=k.length,d=t(R,k,D,F),d==1&&(v--,r(R,ue=10;v/=10)h++;M.e=h+g*S-1,I(M,a?o+M.e+1:o,s,A)}return M}}();function I(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=O,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/O),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=O,s=o-O+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=O,s=o-O+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),d=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,d?(t-=e.e+1,h[0]=J(10,(O-t%O)%O),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,O-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),d)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==ce&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=ce)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>S.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Se(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Se(-i-1)+o,r&&(n=r-s)>0&&(o+=Se(n))):i>=s?(o+=Se(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Se(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Se(n))),o}function xr(e,t){var r=e[0];for(t*=O;r>=10;r/=10)t++;return t}function Er(e,t,r){if(t>vl)throw _=!0,r&&(e.precision=r),Error(ao);return I(new e(yr),t,1,!0)}function de(e,t,r){if(t>En)throw Error(ao);return I(new e(wr),t,r,!0)}function po(e){var t=e.length-1,r=t*O+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Se(e){for(var t="";e--;)t+="0";return t}function mo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/O+4);for(_=!1;;){if(r%2&&(o=o.times(t),io(o.d,s)&&(i=!0)),r=Z(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),io(t.d,s)}return _=!0,o}function no(e){return e.d[e.d.length-1]&1}function fo(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=A):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus(q(o,r,l,1)),K(a.d).slice(0,l)===K(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(d<3&&Tt(s.d,l-n,S,d))v.precision=l+=10,r=o=a=new v(1),g=0,d++;else return I(s,v.precision=A,S,_=!0);else return v.precision=A,s}s=a}}function ke(e,t){var r,n,i,o,s,a,l,d,g,h,v,S=1,A=10,R=e,D=R.d,M=R.constructor,B=M.rounding,k=M.precision;if(R.s<0||!D||!D[0]||!R.e&&D[0]==1&&D.length==1)return new M(D&&!D[0]?-1/0:R.s!=1?NaN:D?0:R);if(t==null?(_=!1,g=k):g=t,M.precision=g+=A,r=K(D),n=r.charAt(0),Math.abs(o=R.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)R=R.times(e),r=K(R.d),n=r.charAt(0),S++;o=R.e,n>1?(R=new M("0."+r),o++):R=new M(n+"."+r.slice(1))}else return d=Er(M,g+2,k).times(o+""),R=ke(new M(n+"."+r.slice(1)),g-A).plus(d),M.precision=k,t==null?I(R,k,B,_=!0):R;for(h=R,l=s=R=q(R.minus(1),R.plus(1),g,1),v=I(R.times(R),g,1),i=3;;){if(s=I(s.times(v),g,1),d=l.plus(q(s,new M(i),g,1)),K(d.d).slice(0,g)===K(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(Er(M,g+2,k).times(o+""))),l=q(l,new M(S),g,1),t==null)if(Tt(l.d,g-A,B,a))M.precision=g+=A,d=s=R=q(h.minus(1),h.plus(1),g,1),v=I(R.times(R),g,1),i=a=1;else return I(l,M.precision=k,B,_=!0);else return M.precision=k,l;l=d,i+=2}}function go(e){return String(e.s*e.s/0)}function hr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%O,r<0&&(n+=O),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),co.test(t))return hr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(bl.test(t))r=16,t=t.toLowerCase();else if(El.test(t))r=2;else if(xl.test(t))r=8;else throw Error(Ie+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=mo(n,new n(r),o,o*2)),d=gr(t,r,ce),g=d.length-1,o=g;d[o]===0;--o)d.pop();return o<0?new n(e.s*0):(e.e=xr(d,g),e.d=d,_=!1,s&&(e=q(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):Be.pow(2,l))),_=!0,e)}function Al(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:et(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Pr(5,r)),t=et(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function et(e,t,r,n,i){var o,s,a,l,d=1,g=e.precision,h=Math.ceil(g/O);for(_=!1,l=r.times(r),a=new e(n);;){if(s=q(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=q(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,d++}return _=!0,s.d.length=h+1,s}function Pr(e,t){for(var r=e;--t;)r*=e;return r}function ho(e,t){var r,n=t.s<0,i=de(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return ve=n?4:1,t;if(r=t.divToInt(i),r.isZero())ve=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return ve=no(r)?n?2:3:n?4:1,t;ve=no(r)?n?1:4:n?3:2}return t.minus(i).abs()}function xn(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor,A=r!==void 0;if(A?(re(r,1,Oe),n===void 0?n=S.rounding:re(n,0,8)):(r=S.precision,n=S.rounding),!e.isFinite())g=go(e);else{for(g=ge(e),s=g.indexOf("."),A?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new S(1),v.e=g.length-s,v.d=gr(ge(v),10,i),v.e=v.d.length),h=gr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=A?"0p+0":"0";else{if(s<0?o--:(e=new S(e),e.d=h,e.e=o,e=q(e,v,r,n,0,i),h=e.d,o=e.e,d=so),s=h[r],a=i/2,d=d||h[r+1]!==void 0,d=n<4?(s!==void 0||d)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||d||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,d)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=gr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Rl(e){return new this(e).abs()}function Sl(e){return new this(e).acos()}function kl(e){return new this(e).acosh()}function Il(e,t){return new this(e).plus(t)}function Ol(e){return new this(e).asin()}function Dl(e){return new this(e).asinh()}function Ml(e){return new this(e).atan()}function _l(e){return new this(e).atanh()}function Nl(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=de(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?de(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=de(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(q(e,t,o,1)),t=de(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(q(e,t,o,1)),r}function Fl(e){return new this(e).cbrt()}function Ll(e){return I(e=new this(e),e.e+1,2)}function Bl(e,t,r){return new this(e).clamp(t,r)}function Ul(e){if(!e||typeof e!="object")throw Error(br+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Oe,"rounding",0,8,"toExpNeg",-Xe,0,"toExpPos",0,Xe,"maxE",0,Xe,"minE",-Xe,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",i&&(this[r]=wn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(lo);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function ql(e){return new this(e).cos()}function $l(e){return new this(e).cosh()}function yo(e){var t,r,n;function i(o){var s,a,l,d=this;if(!(d instanceof i))return new i(o);if(d.constructor=i,oo(o)){d.s=o.s,_?!o.d||o.e>i.maxE?(d.e=NaN,d.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(d.e=NaN,d.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(lo);else for(;o=10;i/=10)n++;nRt,datamodelEnumToSchemaEnum:()=>gu});f();u();c();p();m();f();u();c();p();m();function gu(e){return{name:e.name,values:e.values.map(t=>t.name)}}f();u();c();p();m();var Rt=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(Rt||{});var hu=Qe(Ki());var yu={red:ze,gray:Ni,dim:ur,bold:lr,underline:Ii,highlightSource:e=>e.highlight()},wu={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Eu({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function bu({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(xu(t))),i){a.push("");let d=[i.toString()];o&&(d.push(o),d.push(s.dim(")"))),a.push(d.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function xu(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function Cr(e){let t=e.showColors?yu:wu,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=Eu(e),bu(r,t)}f();u();c();p();m();var Ro=Qe(vn());f();u();c();p();m();function Po(e,t,r){let n=vo(e),i=Pu(n),o=Tu(i);o?Ar(o,t,r):t.addErrorMessage(()=>"Unknown error")}function vo(e){return e.errors.flatMap(t=>t.kind==="Union"?vo(t):[t])}function Pu(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:vu(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function vu(e,t){return[...new Set(e.concat(t))]}function Tu(e){return hn(e,(t,r)=>{let n=bo(t),i=bo(r);return n!==i?n-i:xo(t)-xo(r)})}function bo(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function xo(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}f();u();c();p();m();var ae=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};f();u();c();p();m();f();u();c();p();m();Co();f();u();c();p();m();var nt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};To();f();u();c();p();m();f();u();c();p();m();var Rr=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};f();u();c();p();m();var Sr=e=>e,kr={bold:Sr,red:Sr,green:Sr,dim:Sr,enabled:!1},Ao={bold:lr,red:ze,green:Oi,dim:ur,enabled:!0},it={write(e){e.writeLine(",")}};f();u();c();p();m();var we=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};f();u();c();p();m();var Me=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var ot=class extends Me{items=[];addItem(t){return this.items.push(new Rr(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new we("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(it,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var st=class e extends Me{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof ot&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new we("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(it,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};f();u();c();p();m();var H=class extends Me{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new we(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};f();u();c();p();m();var St=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(it,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Ar(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":Cu(e,t);break;case"IncludeOnScalar":Au(e,t);break;case"EmptySelection":Ru(e,t,r);break;case"UnknownSelectionField":Ou(e,t);break;case"InvalidSelectionValue":Du(e,t);break;case"UnknownArgument":Mu(e,t);break;case"UnknownInputField":_u(e,t);break;case"RequiredArgumentMissing":Nu(e,t);break;case"InvalidArgumentType":Fu(e,t);break;case"InvalidArgumentValue":Lu(e,t);break;case"ValueTooLarge":Bu(e,t);break;case"SomeFieldsMissing":Uu(e,t);break;case"TooManyFieldsGiven":qu(e,t);break;case"Union":Po(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function Cu(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Au(e,t){let[r,n]=kt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ae(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${It(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Ru(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Su(e,t,i);return}if(n.hasField("select")){ku(e,t);return}}if(r?.[De(e.outputType.name)]){Iu(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Su(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new ae(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function ku(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Io(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${It(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function Iu(e,t){let r=new St;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new ae("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=kt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new st;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Ou(e,t){let r=Oo(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Io(n,e.outputType);break;case"include":$u(n,e.outputType);break;case"omit":ju(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(It(n)),i.join(" ")})}function Du(e,t){let r=Oo(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function Mu(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Vu(n,e.arguments)),t.addErrorMessage(i=>So(i,r,e.arguments.map(o=>o.name)))}function _u(e,t){let[r,n]=kt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Do(o,e.inputType)}t.addErrorMessage(o=>So(o,n,e.inputType.fields.map(s=>s.name)))}function So(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Qu(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(It(e)),n.join(" ")}function Nu(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=kt(e.argumentPath),s=new St,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ae(o,s).makeRequired())}else{let l=e.inputTypes.map(ko).join(" | ");a.addSuggestion(new ae(o,l).makeRequired())}}function ko(e){return e.kind==="list"?`${ko(e.elementType)}[]`:e.name}function Fu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Ir("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Lu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Ir("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Bu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Uu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Do(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Ir("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(It(i)),o.join(" ")})}function qu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Ir("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Io(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ae(r.name,"true"))}function $u(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new ae(r.name,"true"))}function ju(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new ae(r.name,"true"))}function Vu(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new ae(r.name,r.typeNames.join(" | ")))}function Oo(e,t){let[r,n]=kt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Do(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ae(r.name,r.typeNames.join(" | ")))}function kt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function It({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Ir(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Gu=3;function Qu(e,t){let r=1/0,n;for(let i of t){let o=(0,Ro.default)(e,i);o>Gu||o`}};function at(e){return e instanceof Ot}f();u();c();p();m();var Or=Symbol(),Cn=new WeakMap,Te=class{constructor(t){t===Or?Cn.set(this,`Prisma.${this._getName()}`):Cn.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Cn.get(this)}},Dt=class extends Te{_getNamespace(){return"NullTypes"}},Mt=class extends Dt{#e};Rn(Mt,"DbNull");var _t=class extends Dt{#e};Rn(_t,"JsonNull");var Nt=class extends Dt{#e};Rn(Nt,"AnyNull");var An={classes:{DbNull:Mt,JsonNull:_t,AnyNull:Nt},instances:{DbNull:new Mt(Or),JsonNull:new _t(Or),AnyNull:new Nt(Or)}};function Rn(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}f();u();c();p();m();var Mo=": ",Dr=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Mo.length}write(t){let r=new we(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Mo).write(this.value)}};var Sn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function lt(e){return new Sn(_o(e))}function _o(e){let t=new st;for(let[r,n]of Object.entries(e)){let i=new Dr(r,No(n));t.addField(i)}return t}function No(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(rt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=vr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Te?new H(`Prisma.${e._getName()}`):at(e)?new H(`prisma.${De(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Ju(e):typeof e=="object"?_o(e):new H(Object.prototype.toString.call(e))}function Ju(e){let t=new ot;for(let r of e)t.addItem(No(r));return t}function Mr(e,t){let r=t==="pretty"?Ao:kr,n=e.renderAllMessages(r),i=new nt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function _r({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=lt(e);for(let h of t)Ar(h,a,s);let{message:l,args:d}=Mr(a,r),g=Cr({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:d});throw new X(g,{clientVersion:o})}f();u();c();p();m();f();u();c();p();m();function Ee(e){return e.replace(/^./,t=>t.toLowerCase())}f();u();c();p();m();function Lo(e,t,r){let n=Ee(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Wu({...e,...Fo(t.name,e,t.result.$allModels),...Fo(t.name,e,t.result[n])})}function Wu(e){let t=new ye,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return Ze(e,n=>({...n,needs:r(n.name,new Set)}))}function Fo(e,t,r){return r?Ze(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Hu(t,o,i)})):{}}function Hu(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function Bo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Uo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Nr=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new ye;modelExtensionsCache=new ye;queryCallbacksCache=new ye;clientExtensions=At(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=At(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Lo(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ee(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ut=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Nr(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Nr(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};f();u();c();p();m();var Fr=class{constructor(t){this.name=t}};function qo(e){return e instanceof Fr}function Ku(e){return new Fr(e)}f();u();c();p();m();f();u();c();p();m();var $o=Symbol(),Ft=class{constructor(t){if(t!==$o)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?kn:t}},kn=new Ft($o);function be(e){return e instanceof Ft}var zu={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},jo="explicitly `undefined` values are not allowed";function On({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ut.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g}){let h=new In({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g});return{modelName:e,action:zu[t],query:Lt(r,h)}}function Lt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Go(r,n),selection:Yu(e,t,i,n)}}function Yu(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),tc(e,n)):Zu(n,t,r)}function Zu(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&Xu(n,t,e),ec(n,r,e),n}function Xu(e,t,r){for(let[n,i]of Object.entries(t)){if(be(i))continue;let o=r.nestSelection(n);if(Dn(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Lt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Lt(i,o)}}function ec(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Uo(i,n);for(let[s,a]of Object.entries(o)){if(be(a))continue;Dn(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function tc(e,t){let r={},n=t.getComputedFields(),i=Bo(e,n);for(let[o,s]of Object.entries(i)){if(be(s))continue;let a=t.nestSelection(o);Dn(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||be(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Lt({},a):r[o]=!0;continue}r[o]=Lt(s,a)}}return r}function Vo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(tt(e)){if(vr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(qo(e))return{$type:"Param",value:e.name};if(at(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return rc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(nc(e))return e.values;if(rt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Te){if(e!==An.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(ic(e))return e.toJSON();if(typeof e=="object")return Go(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Go(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);be(i)||(i!==void 0?r[n]=Vo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:jo}))}return r}function rc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[De(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Pe(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};f();u();c();p();m();function Qo(e){if(!e._hasPreviewFlag("metrics"))throw new X("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Bt=class{_client;constructor(t){this._client=t}prometheus(t){return Qo(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Qo(this._client),this._client._engine.metrics({format:"json",...t})}};f();u();c();p();m();function oc(e,t){let r=At(()=>sc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function sc(e){return{datamodel:{models:Mn(e.models),enums:Mn(e.enums),types:Mn(e.types)}}}function Mn(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}f();u();c();p();m();var _n=new WeakMap,Lr="$$PrismaTypedSql",Ut=class{constructor(t,r){_n.set(this,{sql:t,values:r}),Object.defineProperty(this,Lr,{value:Lr})}get sql(){return _n.get(this).sql}get values(){return _n.get(this).values}};function ac(e){return(...t)=>new Ut(e,t)}function Br(e){return e!=null&&e[Lr]===Lr}f();u();c();p();m();var sa=Qe(Jo());f();u();c();p();m();Wo();$i();Qi();f();u();c();p();m();var le=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}f();u();c();p();m();f();u();c();p();m();var qr={enumerable:!0,configurable:!0,writable:!0};function $r(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>qr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var zo=Symbol.for("nodejs.util.inspect.custom");function pe(e,t){let r=pc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Yo(Reflect.ownKeys(o),r),a=Yo(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...qr,...l?.getPropertyDescriptor(s)}:qr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[zo]=function(){let o={...this};return delete o[zo],o},i}function pc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function Yo(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}f();u();c();p();m();function ct(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}f();u();c();p();m();function jr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}f();u();c();p();m();function Zo(e){if(e===void 0)return"";let t=lt(e);return new nt(0,{colors:kr}).write(t).toString()}f();u();c();p();m();var mc="P2037";function Vr({error:e,user_facing_error:t},r,n){return t.error_code?new oe(fc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new se(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function fc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===mc&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Nn=class{getLocation(){return null}};function _e(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new Nn}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Xo={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function pt(e={}){let t=gc(e);return Object.entries(t).reduce((n,[i,o])=>(Xo[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function gc(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Gr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function es(e,t){let r=Gr(e);return t({action:"aggregate",unpacker:r,argsMapper:pt})(e)}f();u();c();p();m();function hc(e={}){let{select:t,...r}=e;return typeof t=="object"?pt({...r,_count:t}):pt({...r,_count:{_all:!0}})}function yc(e={}){return typeof e.select=="object"?t=>Gr(e)(t)._count:t=>Gr(e)(t)._count._all}function ts(e,t){return t({action:"count",unpacker:yc(e),argsMapper:hc})(e)}f();u();c();p();m();function wc(e={}){let t=pt(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function Ec(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function rs(e,t){return t({action:"groupBy",unpacker:Ec(e),argsMapper:wc})(e)}function ns(e,t,r){if(t==="aggregate")return n=>es(n,r);if(t==="count")return n=>ts(n,r);if(t==="groupBy")return n=>rs(n,r)}f();u();c();p();m();function is(e,t){let r=t.fields.filter(i=>!i.relationName),n=wo(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Ot(e,o,s.type,s.isList,s.kind==="enum")},...$r(Object.keys(n))})}f();u();c();p();m();f();u();c();p();m();var os=e=>Array.isArray(e)?e:e.split("."),Fn=(e,t)=>os(t).reduce((r,n)=>r&&r[n],e),ss=(e,t,r)=>os(t).reduceRight((n,i,o,s)=>Object.assign({},Fn(e,s.slice(0,o)),{[i]:n}),r);function bc(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function xc(e,t,r){return t===void 0?e??{}:ss(t,r,e||!0)}function Ln(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,d)=>({...l,[d.name]:d}),{});return l=>{let d=_e(e._errorFormat),g=bc(n,i),h=xc(l,o,g),v=r({dataPath:g,callsite:d})(h),S=Pc(e,t);return new Proxy(v,{get(A,R){if(!S.includes(R))return A[R];let M=[a[R].type,r,R],B=[g,h];return Ln(e,...M,...B)},...$r([...S,...Object.getOwnPropertyNames(v)])})}}function Pc(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var vc=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Tc=["aggregate","count","groupBy"];function Bn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Cc(e,t),Rc(e,t),qt(r),ee("name",()=>t),ee("$name",()=>t),ee("$parent",()=>e._appliedParent)];return pe({},n)}function Cc(e,t){let r=Ee(t),n=Object.keys(Rt).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let d=_e(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:d};return e._request({...h,...a})},{action:o,args:l,model:t})};return vc.includes(o)?Ln(e,t,s):Ac(i)?ns(e,i,s):s({})}}}function Ac(e){return Tc.includes(e)}function Rc(e,t){return Ue(ee("fields",()=>{let r=e._runtimeDataModel.models[t];return is(t,r)}))}f();u();c();p();m();function as(e){return e.replace(/^./,t=>t.toUpperCase())}var Un=Symbol();function $t(e){let t=[Sc(e),kc(e),ee(Un,()=>e),ee("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(qt(r)),pe(e,t)}function Sc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function kc(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ee),n=[...new Set(t.concat(r))];return Ue({getKeys(){return n},getPropertyValue(i){let o=as(i);if(e._runtimeDataModel.models[o]!==void 0)return Bn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Bn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ls(e){return e[Un]?e[Un]:e}function us(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return $t(t)}f();u();c();p();m();f();u();c();p();m();function cs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let d=l.needs.filter(g=>n[g]);d.length>0&&a.push(ct(d))}else if(r){if(!r[l.name])continue;let d=l.needs.filter(g=>!r[g]);d.length>0&&a.push(ct(d))}Ic(e,l.needs)&&s.push(Oc(l,pe(e,s)))}return s.length>0||a.length>0?pe(e,[...s,...a]):e}function Ic(e,t){return t.every(r=>gn(e,r))}function Oc(e,t){return Ue(ee(e.name,()=>e.compute(t)))}f();u();c();p();m();function Qr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let d=typeof s=="object"?s:{};t[o]=Qr({visitor:i,result:t[o],args:d,modelName:l.type,runtimeDataModel:n})}}function ms({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Qr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,d)=>{let g=Ee(l);return cs({result:a,modelName:g,select:d.select,omit:d.select?void 0:{...o?.[g],...d.omit},extensions:n})}})}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Dc=["$connect","$disconnect","$on","$transaction","$use","$extends"],fs=Dc;function ds(e){if(e instanceof le)return Mc(e);if(Br(e))return _c(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:ds(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=bs(o,l),a.args=s,hs(e,a,r,n+1)}})})}function ys(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return hs(e,t,s)}function ws(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Es(r,n,0,e):e(r)}}function Es(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=bs(i,l),Es(a,t,r+1,n)}})}var gs=e=>e;function bs(e=gs,t=gs){return r=>e(t(r))}f();u();c();p();m();var xs=Y("prisma:client"),Ps={Vercel:"vercel","Netlify CI":"netlify"};function vs({postinstall:e,ciName:t,clientVersion:r}){if(xs("checkPlatformCaching:postinstall",e),xs("checkPlatformCaching:ciName",t),e===!0&&t&&t in Ps){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. -Learn how: https://pris.ly/d/${xs[t]}-build`;throw console.error(n),new Q(n,r)}}f();u();c();p();m();function vs(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}f();u();c();p();m();f();u();c();p();m();var _c=()=>globalThis.process?.release?.name==="node",Nc=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Fc=()=>!!globalThis.Deno,Lc=()=>typeof globalThis.Netlify=="object",Bc=()=>typeof globalThis.EdgeRuntime=="object",qc=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Uc(){return[[Lc,"netlify"],[Bc,"edge-light"],[qc,"workerd"],[Fc,"deno"],[Nc,"bun"],[_c,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var $c={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function qn(){let e=Uc();return{id:e,prettyName:$c[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();function mt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw qn().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. +Learn how: https://pris.ly/d/${Ps[t]}-build`;throw console.error(n),new Q(n,r)}}f();u();c();p();m();function Ts(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}f();u();c();p();m();f();u();c();p();m();var Nc=()=>globalThis.process?.release?.name==="node",Fc=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Lc=()=>!!globalThis.Deno,Bc=()=>typeof globalThis.Netlify=="object",Uc=()=>typeof globalThis.EdgeRuntime=="object",qc=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function $c(){return[[Bc,"netlify"],[Uc,"edge-light"],[qc,"workerd"],[Lc,"deno"],[Fc,"bun"],[Nc,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var jc={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function qn(){let e=$c();return{id:e,prettyName:jc[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}f();u();c();p();m();var Cs="6.8.2";f();u();c();p();m();f();u();c();p();m();function mt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw qn().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. -To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}f();u();c();p();m();f();u();c();p();m();var Gr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ne=class extends Gr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};f();u();c();p();m();f();u();c();p();m();function L(e,t){return{...e,isRetryable:t}}var ft=class extends ne{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",L(t,!0))}};N(ft,"ForcedRetryError");f();u();c();p();m();var Ue=class extends ne{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,L(r,!1))}};N(Ue,"InvalidDatasourceError");f();u();c();p();m();var $e=class extends ne{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,L(r,!1))}};N($e,"NotImplementedYetError");f();u();c();p();m();f();u();c();p();m();var V=class extends ne{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var je=class extends V{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",L(t,!0))}};N(je,"SchemaMissingError");f();u();c();p();m();f();u();c();p();m();var Un="This request could not be understood by the server",Vt=class extends V{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Un,L(t,!1)),n&&(this.code=n)}};N(Vt,"BadRequestError");f();u();c();p();m();var Gt=class extends V{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",L(t,!0)),this.logs=r}};N(Gt,"HealthcheckTimeoutError");f();u();c();p();m();var Qt=class extends V{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,L(t,!0)),this.logs=n}};N(Qt,"EngineStartupError");f();u();c();p();m();var Jt=class extends V{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",L(t,!1))}};N(Jt,"EngineVersionNotSupportedError");f();u();c();p();m();var $n="Request timed out",Wt=class extends V{name="GatewayTimeoutError";code="P5009";constructor(t,r=$n){super(r,L(t,!1))}};N(Wt,"GatewayTimeoutError");f();u();c();p();m();var jc="Interactive transaction error",Ht=class extends V{name="InteractiveTransactionError";code="P5015";constructor(t,r=jc){super(r,L(t,!1))}};N(Ht,"InteractiveTransactionError");f();u();c();p();m();var Vc="Request parameters are invalid",Kt=class extends V{name="InvalidRequestError";code="P5011";constructor(t,r=Vc){super(r,L(t,!1))}};N(Kt,"InvalidRequestError");f();u();c();p();m();var jn="Requested resource does not exist",zt=class extends V{name="NotFoundError";code="P5003";constructor(t,r=jn){super(r,L(t,!1))}};N(zt,"NotFoundError");f();u();c();p();m();var Vn="Unknown server error",dt=class extends V{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Vn,L(t,!0)),this.logs=n}};N(dt,"ServerError");f();u();c();p();m();var Gn="Unauthorized, check your connection string",Yt=class extends V{name="UnauthorizedError";code="P5007";constructor(t,r=Gn){super(r,L(t,!1))}};N(Yt,"UnauthorizedError");f();u();c();p();m();var Qn="Usage exceeded, retry again later",Zt=class extends V{name="UsageExceededError";code="P5008";constructor(t,r=Qn){super(r,L(t,!0))}};N(Zt,"UsageExceededError");async function Gc(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function Xt(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await Gc(e);if(n.type==="QueryEngineError")throw new oe(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new dt(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new je(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Jt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Qt(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Gt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Ht(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Kt(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Yt(r,gt(Gn,n));if(e.status===404)return new zt(r,gt(jn,n));if(e.status===429)throw new Zt(r,gt(Qn,n));if(e.status===504)throw new Wt(r,gt($n,n));if(e.status>=500)throw new dt(r,gt(Vn,n));if(e.status>=400)throw new Vt(r,gt(Un,n))}function gt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}f();u();c();p();m();function Ts(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}f();u();c();p();m();var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Cs(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,d,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,d=g&63,r+=Ce[s]+Ce[a]+Ce[l]+Ce[d];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ce[s]+Ce[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ce[s]+Ce[a]+Ce[l]+"="),r}f();u();c();p();m();function As(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}f();u();c();p();m();function Qc(e){return e[0]*1e3+e[1]/1e6}function Jn(e){return new Date(Qc(e))}f();u();c();p();m();var Rs={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};f();u();c();p();m();f();u();c();p();m();var er=class extends ne{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: -${t}`,L(r,!0))}};N(er,"RequestError");async function Ve(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new er(a,{clientVersion:n,cause:s})}}var Wc=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Ss=Y("prisma:client:dataproxyEngine");async function Hc(e,t){let r=Rs["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Wc.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){if(e.startsWith("localhost")||e.startsWith("127.0.0.1"))return"0.0.0";let[s]=r.split("-")??[],[a,l,d]=s.split("."),g=Kc(`<=${a}.${l}.${d}`),h=await Ve(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let v=await h.text();Ss("length of body fetched from unpkg.com",v.length);let S;try{S=JSON.parse(v)}catch(A){throw console.error("JSON.parse error: body fetched from unpkg.com: ",v),A}return S.version}throw new $e("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function ks(e,t){let r=await Hc(e,t);return Ss("version",r),r}function Kc(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Is=3,Qr=Y("prisma:client:dataproxyEngine"),Wn=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,interactiveTransaction:r}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-transaction-id"]=r.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}},ht=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;constructor(t){As(t),this.config=t,this.env={...t.env,...typeof y<"u"?y.env:{}},this.inlineSchema=Cs(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let[t,r]=this.extractHostAndApiKey();this.host=t,this.headerBuilder=new Wn({apiKey:r,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await ks(t,this.config),Qr("host",this.host)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":Qr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Jn(r.timestamp),message:r.attributes.message??"",target:r.target});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Jn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`https://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await Ve(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||Qr("schema response status",r.status);let n=await Xt(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Ur(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,interactiveTransaction:i}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||Qr("graphql response status",a.status),await this.handleError(await Xt(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await Ve(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Xt(l,this.clientVersion));let d=await l.json(),{extensions:g}=d;g&&this.propagateResponseExtensions(g);let h=d.id,v=d["data-proxy"].endpoint;return{id:h,payload:{endpoint:v}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Xt(a,this.clientVersion));let l=await a.json(),{extensions:d}=l;d&&this.propagateResponseExtensions(d);return}}})}extractHostAndApiKey(){let t={clientVersion:this.clientVersion},r=Object.keys(this.inlineDatasources)[0],n=mt({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new Ue(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,host:s,searchParams:a}=i;if(o!=="prisma:"&&o!==pr)throw new Ue(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t);let l=a.get("api_key");if(l===null||l.length<1)throw new Ue(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);return[s,l]}metrics(){throw new $e("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof ne)||!i.isRetryable)throw i;if(r>=Is)throw i instanceof ft?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Is} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Ts(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof je)throw await this.uploadSchema(),new ft({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?$r(t[0],this.config.clientVersion,this.config.activeProvider):new se(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function Os({copyEngine:e=!0},t){let r;try{r=mt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||mn(r));e&&n&&mr("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Ye(t.generator),o=n||!e,s=!!t.adapter,a=i==="library",l=i==="binary",d=i==="client";if(o&&s||s){let g;throw g=["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."],new X(g.join(` -`),{clientVersion:t.clientVersion})}return o?new ht(t):new ht(t)}f();u();c();p();m();function Jr({generator:e}){return e?.previewFeatures??[]}f();u();c();p();m();var Ds=e=>({command:e});f();u();c();p();m();f();u();c();p();m();var Ms=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);f();u();c();p();m();function yt(e){try{return _s(e,"fast")}catch{return _s(e,"slow")}}function _s(e,t){return JSON.stringify(e.map(r=>Fs(r,t)))}function Fs(e,t){if(Array.isArray(e))return e.map(r=>Fs(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(tt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(ve.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(zc(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Ls(e):e}function zc(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Ls(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Ns);let t={};for(let r of Object.keys(e))t[r]=Ns(e[r]);return t}function Ns(e){return typeof e=="bigint"?e.toString():Ls(e)}var Yc=/^(\s*alter\s)/i,Bs=Y("prisma:client");function Hn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&Yc.exec(t))throw new Error(`Running ALTER using ${n} is not supported +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}f();u();c();p();m();f();u();c();p();m();var Jr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ne=class extends Jr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};f();u();c();p();m();f();u();c();p();m();function L(e,t){return{...e,isRetryable:t}}var ft=class extends ne{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",L(t,!0))}};N(ft,"ForcedRetryError");f();u();c();p();m();var qe=class extends ne{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,L(r,!1))}};N(qe,"InvalidDatasourceError");f();u();c();p();m();var $e=class extends ne{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,L(r,!1))}};N($e,"NotImplementedYetError");f();u();c();p();m();f();u();c();p();m();var V=class extends ne{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var je=class extends V{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",L(t,!0))}};N(je,"SchemaMissingError");f();u();c();p();m();f();u();c();p();m();var $n="This request could not be understood by the server",Vt=class extends V{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||$n,L(t,!1)),n&&(this.code=n)}};N(Vt,"BadRequestError");f();u();c();p();m();var Gt=class extends V{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",L(t,!0)),this.logs=r}};N(Gt,"HealthcheckTimeoutError");f();u();c();p();m();var Qt=class extends V{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,L(t,!0)),this.logs=n}};N(Qt,"EngineStartupError");f();u();c();p();m();var Jt=class extends V{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",L(t,!1))}};N(Jt,"EngineVersionNotSupportedError");f();u();c();p();m();var jn="Request timed out",Wt=class extends V{name="GatewayTimeoutError";code="P5009";constructor(t,r=jn){super(r,L(t,!1))}};N(Wt,"GatewayTimeoutError");f();u();c();p();m();var Gc="Interactive transaction error",Ht=class extends V{name="InteractiveTransactionError";code="P5015";constructor(t,r=Gc){super(r,L(t,!1))}};N(Ht,"InteractiveTransactionError");f();u();c();p();m();var Qc="Request parameters are invalid",Kt=class extends V{name="InvalidRequestError";code="P5011";constructor(t,r=Qc){super(r,L(t,!1))}};N(Kt,"InvalidRequestError");f();u();c();p();m();var Vn="Requested resource does not exist",zt=class extends V{name="NotFoundError";code="P5003";constructor(t,r=Vn){super(r,L(t,!1))}};N(zt,"NotFoundError");f();u();c();p();m();var Gn="Unknown server error",dt=class extends V{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Gn,L(t,!0)),this.logs=n}};N(dt,"ServerError");f();u();c();p();m();var Qn="Unauthorized, check your connection string",Yt=class extends V{name="UnauthorizedError";code="P5007";constructor(t,r=Qn){super(r,L(t,!1))}};N(Yt,"UnauthorizedError");f();u();c();p();m();var Jn="Usage exceeded, retry again later",Zt=class extends V{name="UsageExceededError";code="P5008";constructor(t,r=Jn){super(r,L(t,!0))}};N(Zt,"UsageExceededError");async function Jc(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function Xt(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await Jc(e);if(n.type==="QueryEngineError")throw new oe(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new dt(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new je(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Jt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Qt(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Gt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Ht(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Kt(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Yt(r,gt(Qn,n));if(e.status===404)return new zt(r,gt(Vn,n));if(e.status===429)throw new Zt(r,gt(Jn,n));if(e.status===504)throw new Wt(r,gt(jn,n));if(e.status>=500)throw new dt(r,gt(Gn,n));if(e.status>=400)throw new Vt(r,gt($n,n))}function gt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}f();u();c();p();m();function As(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}f();u();c();p();m();var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Rs(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,d,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,d=g&63,r+=Ce[s]+Ce[a]+Ce[l]+Ce[d];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ce[s]+Ce[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ce[s]+Ce[a]+Ce[l]+"="),r}f();u();c();p();m();function Ss(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}f();u();c();p();m();function Wc(e){return e[0]*1e3+e[1]/1e6}function Wn(e){return new Date(Wc(e))}f();u();c();p();m();var ks={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};f();u();c();p();m();f();u();c();p();m();var er=class extends ne{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,L(r,!0))}};N(er,"RequestError");async function Ve(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new er(a,{clientVersion:n,cause:s})}}var Kc=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Is=Y("prisma:client:dataproxyEngine");async function zc(e,t){let r=ks["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Kc.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,d]=s.split("."),g=Yc(`<=${a}.${l}.${d}`),h=await Ve(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let v=await h.text();Is("length of body fetched from unpkg.com",v.length);let S;try{S=JSON.parse(v)}catch(A){throw console.error("JSON.parse error: body fetched from unpkg.com: ",v),A}return S.version}throw new $e("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Os(e,t){let r=await zc(e,t);return Is("version",r),r}function Yc(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Ds=3,tr=Y("prisma:client:dataproxyEngine"),Hn=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,interactiveTransaction:r}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-transaction-id"]=r.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}},ht=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Ss(t),this.config=t,this.env={...t.env,...typeof y<"u"?y.env:{}},this.inlineSchema=Rs(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.headerBuilder=new Hn({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.protocol=fn(r)?"http":"https",this.remoteClientVersion=await Os(this.host,this.config),tr("host",this.host),tr("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":tr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Wn(r.timestamp),message:r.attributes.message??"",target:r.target});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Wn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await Ve(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||tr("schema response status",r.status);let n=await Xt(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=jr(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,interactiveTransaction:i}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||tr("graphql response status",a.status),await this.handleError(await Xt(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await Ve(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Xt(l,this.clientVersion));let d=await l.json(),{extensions:g}=d;g&&this.propagateResponseExtensions(g);let h=d.id,v=d["data-proxy"].endpoint;return{id:h,payload:{endpoint:v}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Xt(a,this.clientVersion));let l=await a.json(),{extensions:d}=l;d&&this.propagateResponseExtensions(d);return}}})}getURLAndAPIKey(){let t={clientVersion:this.clientVersion},r=Object.keys(this.inlineDatasources)[0],n=mt({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==mr)throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new qe(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);return{apiKey:a,url:i}}metrics(){throw new $e("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof ne)||!i.isRetryable)throw i;if(r>=Ds)throw i instanceof ft?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Ds} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await As(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof je)throw await this.uploadSchema(),new ft({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Vr(t[0],this.config.clientVersion,this.config.activeProvider):new se(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function Ms({copyEngine:e=!0},t){let r;try{r=mt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||fr(r));e&&n&&dr("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Ye(t.generator),o=n||!e,s=!!t.adapter,a=i==="library",l=i==="binary",d=i==="client";if(o&&s||s){let g;throw g=["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."],new X(g.join(` +`),{clientVersion:t.clientVersion})}return o?new ht(t):new ht(t)}f();u();c();p();m();function Wr({generator:e}){return e?.previewFeatures??[]}f();u();c();p();m();var _s=e=>({command:e});f();u();c();p();m();f();u();c();p();m();var Ns=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);f();u();c();p();m();function yt(e){try{return Fs(e,"fast")}catch{return Fs(e,"slow")}}function Fs(e,t){return JSON.stringify(e.map(r=>Bs(r,t)))}function Bs(e,t){if(Array.isArray(e))return e.map(r=>Bs(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(tt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(he.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Zc(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Us(e):e}function Zc(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Us(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Ls);let t={};for(let r of Object.keys(e))t[r]=Ls(e[r]);return t}function Ls(e){return typeof e=="bigint"?e.toString():Us(e)}var Xc=/^(\s*alter\s)/i,qs=Y("prisma:client");function Kn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&Xc.exec(t))throw new Error(`Running ALTER using ${n} is not supported Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. Example: await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) More Information: https://pris.ly/d/execute-raw -`)}var Kn=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Fr(r))n=r.sql,i={values:yt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:yt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:yt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:yt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Ms(r),i={values:yt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Bs(`prisma.${e}(${n}, ${i.values})`):Bs(`prisma.${e}(${n})`),{query:n,parameters:i}},qs={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new le(t,r)}},Us={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};f();u();c();p();m();function zn(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=$s(r(s)):$s(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function $s(e){return typeof e.then=="function"?e:Promise.resolve(e)}f();u();c();p();m();var Zc=pn.split(".")[0],Xc={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},Yn=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${Zc}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??Xc}};function js(){return new Yn}f();u();c();p();m();function Vs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}f();u();c();p();m();function Gs(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}f();u();c();p();m();var Wr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};f();u();c();p();m();var Js=Qe(Xi());f();u();c();p();m();function Hr(e){return typeof e.batchRequestIdx=="number"}f();u();c();p();m();function Qs(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(Zn(e.query.arguments)),t.push(Zn(e.query.selection)),t.join("")}function Zn(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${Zn(n)})`:r}).join(" ")})`}f();u();c();p();m();var ep={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function Xn(e){return ep[e]}f();u();c();p();m();var Kr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function ei(e){let t=[],r=tp(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),d=n.some(h=>Xn(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:np(o),containsWrite:d,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(S){return S}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Ws(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:Xn(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Qs(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(rp(t),ip(t,i))throw t;if(t instanceof oe&&op(t)){let d=Hs(t.meta);Dr({args:o,errors:[d],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=vr({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let d=s?{modelName:s,...t.meta}:t.meta;throw new oe(l,{code:t.code,clientVersion:this.client._clientVersion,meta:d,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new Re(l,this.client._clientVersion);if(t instanceof se)throw new se(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof Re)throw new Re(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Js.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(d=>d!=="select"&&d!=="include"),a=Nn(o,s),l=i==="queryRaw"?ei(a):Ct(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function np(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:Ws(e)};xe(e,"Unknown transaction kind")}}function Ws(e){return{id:e.id,payload:e.payload}}function ip(e,t){return Hr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function op(e){return e.code==="P2009"||e.code==="P2012"}function Hs(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(Hs)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}f();u();c();p();m();var Ks="6.7.0";var zs=Ks;f();u();c();p();m();var ta=Qe(Pn());f();u();c();p();m();var q=class extends Error{constructor(t){super(t+` -Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(q,"PrismaClientConstructorValidationError");var Ys=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],Zs=["pretty","colorless","minimal"],Xs=["info","query","warn","error"],ap={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=wt(r,t)||` Available datasources: ${t.join(", ")}`;throw new q(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. -It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. -It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new q(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. -It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ye(t.generator)==="client")throw new q('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new q('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Jr(t).includes("driverAdapters"))throw new q('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Ye(t.generator)==="binary")throw new q('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. -Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!Zs.includes(e)){let t=wt(e,Zs);throw new q(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!Xs.includes(r)){let n=wt(r,Xs);throw new q(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=wt(i,o);throw new q(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new q(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new q(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new q(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new q('"omit" option is expected to be an object.');if(e===null)throw new q('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=up(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(d=>d.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new q(cp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new q(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=wt(r,t);throw new q(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function ra(e,t){for(let[r,n]of Object.entries(e)){if(!Ys.includes(r)){let i=wt(r,Ys);throw new q(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}ap[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new q('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function wt(e,t){if(t.length===0||typeof e!="string")return"";let r=lp(e,t);return r?` Did you mean "${r}"?`:""}function lp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,ta.default)(e,i)}));r.sort((i,o)=>i.distanceDe(n)===t);if(r)return e[r]}function cp(e,t){let r=lt(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Or(r,"colorless");return`Error validating "omit" option: +`)}var zn=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Br(r))n=r.sql,i={values:yt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:yt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:yt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:yt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Ns(r),i={values:yt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?qs(`prisma.${e}(${n}, ${i.values})`):qs(`prisma.${e}(${n})`),{query:n,parameters:i}},$s={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new le(t,r)}},js={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};f();u();c();p();m();function Yn(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Vs(r(s)):Vs(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Vs(e){return typeof e.then=="function"?e:Promise.resolve(e)}f();u();c();p();m();var ep=mn.split(".")[0],tp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},Zn=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${ep}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??tp}};function Gs(){return new Zn}f();u();c();p();m();function Qs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}f();u();c();p();m();function Js(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}f();u();c();p();m();var Hr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};f();u();c();p();m();var Hs=Qe(eo());f();u();c();p();m();function Kr(e){return typeof e.batchRequestIdx=="number"}f();u();c();p();m();function Ws(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(Xn(e.query.arguments)),t.push(Xn(e.query.selection)),t.join("")}function Xn(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${Xn(n)})`:r}).join(" ")})`}f();u();c();p();m();var rp={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ei(e){return rp[e]}f();u();c();p();m();var zr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function ti(e){let t=[],r=np(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),d=n.some(h=>ei(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:op(o),containsWrite:d,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(S){return S}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Ks(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ei(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Ws(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(ip(t),sp(t,i))throw t;if(t instanceof oe&&ap(t)){let d=zs(t.meta);_r({args:o,errors:[d],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=Cr({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let d=s?{modelName:s,...t.meta}:t.meta;throw new oe(l,{code:t.code,clientVersion:this.client._clientVersion,meta:d,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new Re(l,this.client._clientVersion);if(t instanceof se)throw new se(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof Re)throw new Re(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Hs.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(d=>d!=="select"&&d!=="include"),a=Fn(o,s),l=i==="queryRaw"?ti(a):Ct(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function op(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:Ks(e)};Pe(e,"Unknown transaction kind")}}function Ks(e){return{id:e.id,payload:e.payload}}function sp(e,t){return Kr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function ap(e){return e.code==="P2009"||e.code==="P2012"}function zs(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(zs)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}f();u();c();p();m();var Ys=Cs;f();u();c();p();m();var ra=Qe(vn());f();u();c();p();m();var U=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(U,"PrismaClientConstructorValidationError");var Zs=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],Xs=["pretty","colorless","minimal"],ea=["info","query","warn","error"],lp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=wt(r,t)||` Available datasources: ${t.join(", ")}`;throw new U(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new U(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ye(t.generator)==="client")throw new U('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new U('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Wr(t).includes("driverAdapters"))throw new U('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Ye(t.generator)==="binary")throw new U('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!Xs.includes(e)){let t=wt(e,Xs);throw new U(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!ea.includes(r)){let n=wt(r,ea);throw new U(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=wt(i,o);throw new U(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new U(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new U(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new U(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new U('"omit" option is expected to be an object.');if(e===null)throw new U('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=cp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(d=>d.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new U(pp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new U(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=wt(r,t);throw new U(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function na(e,t){for(let[r,n]of Object.entries(e)){if(!Zs.includes(r)){let i=wt(r,Zs);throw new U(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}lp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new U('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function wt(e,t){if(t.length===0||typeof e!="string")return"";let r=up(e,t);return r?` Did you mean "${r}"?`:""}function up(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,ra.default)(e,i)}));r.sort((i,o)=>i.distanceDe(n)===t);if(r)return e[r]}function pp(e,t){let r=lt(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Mr(r,"colorless");return`Error validating "omit" option: ${i} -${n}`}f();u();c();p();m();function na(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=d=>{o||(o=!0,r(d))};for(let d=0;d{n[d]=g,a()},g=>{if(!Hr(g)){l(g);return}g.batchRequestIdx===d?l(g):(i||(i=g),a())})})}var Ne=Y("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var pp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},mp=Symbol.for("prisma.client.transaction.id"),fp={id:0,nextId(){return++this.id}};function dp(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Wr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=zn();constructor(n){e=n?.__internal?.configOverride?.(e)??e,Ps(e),n&&ra(n,e);let i=new Lr().on("error",()=>{});this._extensions=ut.empty(),this._previewFeatures=Jr(e),this._clientVersion=e.clientVersion??zs,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=js();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&cr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&cr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},d=l.__internal??{},g=d.debug===!0;g&&Y.enable("prisma:client");let h=cr.resolve(e.dirname,e.relativePath);qi.existsSync(h)||(h=e.dirname),Ne("dirname",e.dirname),Ne("relativePath",e.relativePath),Ne("cwd",h);let v=d.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Gs(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(S=>typeof S=="string"?S==="query":S.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:vs(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:mt,getBatchRequestPayload:Ur,prismaGraphQLToJSError:$r,PrismaClientUnknownRequestError:se,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:oe,debug:Y("prisma:client:accelerateEngine"),engineVersion:oa.version,clientVersion:e.clientVersion}},Ne("clientVersion",e.clientVersion),this._engine=Os(e,this._engineConfig),this._requestHandler=new zr(this,i),l.log)for(let S of l.log){let A=typeof S=="string"?S:S.emit==="stdout"?S.level:null;A&&this.$on(A,R=>{vt.log(`${vt.tags[A]??""}`,R.message||R.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=$t(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Li()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Kn({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=ia(n,i);return Hn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new X("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Hn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new X(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Ds,callsite:_e(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Kn({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...ia(n,i));throw new X("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new X("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=fp.nextId(),s=Vs(n.length),a=n.map((l,d)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:d,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return na(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let d={kind:"itx",...a};l=await n(this._createItxClient(d)),await this._engine.transaction("commit",o,a)}catch(d){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),d}return l}_createItxClient(n){return pe($t(pe(as(this),[ee("_appliedParent",()=>this._appliedParent._createItxClient(n)),ee("_createPrismaPromise",()=>zn(n)),ee(mp,()=>n.id)])),[ct(ms)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??pp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async d=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,D=>g(d,M=>(D?.end(),l(M))));let{runInTransaction:h,args:v,...S}=d,A={...n,...S};v&&(A.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete A.transaction;let R=await hs(this,A);return A.model?ps({result:R,modelName:A.model,args:A.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):R};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:d,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:S}){try{n=d?d(n):n;let A={name:"serialize"},R=this._tracingHelper.runInChildSpan(A,()=>In({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return Y.enabled("prisma:client")&&(Ne("Prisma Client call:"),Ne(`prisma.${i}(${Yo(n)})`),Ne("Generated request:"),Ne(JSON.stringify(R,null,2)+` -`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:R,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:S})}catch(A){throw A.clientVersion=this._clientVersion,A}}$metrics=new Bt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=ls}return t}function ia(e,t){return gp(e)?[new le(e,t),qs]:[e,Us]}function gp(e){return Array.isArray(e)&&Array.isArray(e.raw)}f();u();c();p();m();var hp=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function yp(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!hp.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}f();u();c();p();m();var export_warnEnvConflicts=void 0;export{Pr as DMMF,Y as Debug,ve as Decimal,Pi as Extensions,Bt as MetricsClient,Q as PrismaClientInitializationError,oe as PrismaClientKnownRequestError,Re as PrismaClientRustPanicError,se as PrismaClientUnknownRequestError,X as PrismaClientValidationError,Ti as Public,le as Sql,Hu as createParam,ic as defineDmmfProperty,Ct as deserializeJsonResponse,ei as deserializeRawResult,fu as dmmfToRuntimeDataModel,uc as empty,dp as getPrismaClient,qn as getRuntime,lc as join,yp as makeStrictEnum,sc as makeTypedQueryFactory,Cn as objectEnumValues,Wo as raw,In as serializeJsonQuery,Sn as skip,Ho as sqltag,export_warnEnvConflicts as warnEnvConflicts,mr as warnOnce}; +${n}`}f();u();c();p();m();function ia(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=d=>{o||(o=!0,r(d))};for(let d=0;d{n[d]=g,a()},g=>{if(!Kr(g)){l(g);return}g.batchRequestIdx===d?l(g):(i||(i=g),a())})})}var Ne=Y("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var mp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},fp=Symbol.for("prisma.client.transaction.id"),dp={id:0,nextId(){return++this.id}};function gp(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Hr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Yn();constructor(n){e=n?.__internal?.configOverride?.(e)??e,vs(e),n&&na(n,e);let i=new Ur().on("error",()=>{});this._extensions=ut.empty(),this._previewFeatures=Wr(e),this._clientVersion=e.clientVersion??Ys,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Gs();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&pr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&pr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},d=l.__internal??{},g=d.debug===!0;g&&Y.enable("prisma:client");let h=pr.resolve(e.dirname,e.relativePath);qi.existsSync(h)||(h=e.dirname),Ne("dirname",e.dirname),Ne("relativePath",e.relativePath),Ne("cwd",h);let v=d.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Js(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(S=>typeof S=="string"?S==="query":S.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Ts(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:mt,getBatchRequestPayload:jr,prismaGraphQLToJSError:Vr,PrismaClientUnknownRequestError:se,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:oe,debug:Y("prisma:client:accelerateEngine"),engineVersion:sa.version,clientVersion:e.clientVersion}},Ne("clientVersion",e.clientVersion),this._engine=Ms(e,this._engineConfig),this._requestHandler=new Yr(this,i),l.log)for(let S of l.log){let A=typeof S=="string"?S:S.emit==="stdout"?S.level:null;A&&this.$on(A,R=>{vt.log(`${vt.tags[A]??""}`,R.message||R.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=$t(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Bi()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:zn({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=oa(n,i);return Kn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new X("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Kn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new X(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:_s,callsite:_e(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:zn({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...oa(n,i));throw new X("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new X("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=dp.nextId(),s=Qs(n.length),a=n.map((l,d)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:d,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return ia(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let d={kind:"itx",...a};l=await n(this._createItxClient(d)),await this._engine.transaction("commit",o,a)}catch(d){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),d}return l}_createItxClient(n){return pe($t(pe(ls(this),[ee("_appliedParent",()=>this._appliedParent._createItxClient(n)),ee("_createPrismaPromise",()=>Yn(n)),ee(fp,()=>n.id)])),[ct(fs)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??mp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async d=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,D=>g(d,M=>(D?.end(),l(M))));let{runInTransaction:h,args:v,...S}=d,A={...n,...S};v&&(A.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete A.transaction;let R=await ys(this,A);return A.model?ms({result:R,modelName:A.model,args:A.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):R};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:d,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:S}){try{n=d?d(n):n;let A={name:"serialize"},R=this._tracingHelper.runInChildSpan(A,()=>On({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return Y.enabled("prisma:client")&&(Ne("Prisma Client call:"),Ne(`prisma.${i}(${Zo(n)})`),Ne("Generated request:"),Ne(JSON.stringify(R,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:R,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:S})}catch(A){throw A.clientVersion=this._clientVersion,A}}$metrics=new Bt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=us}return t}function oa(e,t){return hp(e)?[new le(e,t),$s]:[e,js]}function hp(e){return Array.isArray(e)&&Array.isArray(e.raw)}f();u();c();p();m();var yp=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function wp(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!yp.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}f();u();c();p();m();var export_warnEnvConflicts=void 0;export{Tr as DMMF,Y as Debug,he as Decimal,vi as Extensions,Bt as MetricsClient,Q as PrismaClientInitializationError,oe as PrismaClientKnownRequestError,Re as PrismaClientRustPanicError,se as PrismaClientUnknownRequestError,X as PrismaClientValidationError,Ci as Public,le as Sql,Ku as createParam,oc as defineDmmfProperty,Ct as deserializeJsonResponse,ti as deserializeRawResult,du as dmmfToRuntimeDataModel,cc as empty,gp as getPrismaClient,qn as getRuntime,uc as join,wp as makeStrictEnum,ac as makeTypedQueryFactory,An as objectEnumValues,Ho as raw,On as serializeJsonQuery,kn as skip,Ko as sqltag,export_warnEnvConflicts as warnEnvConflicts,dr as warnOnce}; //# sourceMappingURL=edge-esm.js.map diff --git a/generated/prisma/runtime/edge.js b/generated/prisma/runtime/edge.js index ea23f7f..46fa349 100644 --- a/generated/prisma/runtime/edge.js +++ b/generated/prisma/runtime/edge.js @@ -1,34 +1,34 @@ /* !!! This is code generated by Prisma. Do not edit directly. !!! /* eslint-disable */ -"use strict";var ha=Object.create;var ar=Object.defineProperty;var ya=Object.getOwnPropertyDescriptor;var wa=Object.getOwnPropertyNames;var Ea=Object.getPrototypeOf,ba=Object.prototype.hasOwnProperty;var me=(e,t)=>()=>(e&&(t=e(e=0)),t);var Fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pt=(e,t)=>{for(var r in t)ar(e,r,{get:t[r],enumerable:!0})},oi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of wa(t))!ba.call(e,i)&&i!==r&&ar(e,i,{get:()=>t[i],enumerable:!(n=ya(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?ha(Ea(e)):{},oi(t||!e||!e.__esModule?ar(r,"default",{value:e,enumerable:!0}):r,e)),xa=e=>oi(ar({},"__esModule",{value:!0}),e);var y,u=me(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var b,c=me(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=me(()=>{"use strict";E=()=>{};E.prototype=E});var m=me(()=>{"use strict"});var Ti=Fe(Ke=>{"use strict";f();u();c();p();m();var ci=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pa=ci(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=S;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var D=A.indexOf("=");D===-1&&(D=R);var M=D===R?0:4-D%4;return[D,M]}function l(A){var R=a(A),D=R[0],M=R[1];return(D+M)*3/4-M}function d(A,R,D){return(R+D)*3/4-D}function g(A){var R,D=a(A),M=D[0],B=D[1],k=new n(d(A,M,B)),F=0,ae=B>0?M-4:M,G;for(G=0;G>16&255,k[F++]=R>>8&255,k[F++]=R&255;return B===2&&(R=r[A.charCodeAt(G)]<<2|r[A.charCodeAt(G+1)]>>4,k[F++]=R&255),B===1&&(R=r[A.charCodeAt(G)]<<10|r[A.charCodeAt(G+1)]<<4|r[A.charCodeAt(G+2)]>>2,k[F++]=R>>8&255,k[F++]=R&255),k}function h(A){return t[A>>18&63]+t[A>>12&63]+t[A>>6&63]+t[A&63]}function v(A,R,D){for(var M,B=[],k=R;kae?ae:F+k));return M===1?(R=A[D-1],B.push(t[R>>2]+t[R<<4&63]+"==")):M===2&&(R=(A[D-2]<<8)+A[D-1],B.push(t[R>>10]+t[R>>4&63]+t[R<<2&63]+"=")),B.join("")}}),va=ci(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,d=(1<>1,h=-7,v=n?o-1:0,S=n?-1:1,A=t[r+v];for(v+=S,s=A&(1<<-h)-1,A>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=S,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=S,h-=8);if(s===0)s=1-g;else{if(s===d)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(A?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,d,g=s*8-o-1,h=(1<>1,S=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=i?0:s-1,R=i?1:-1,D=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-a))<1&&(a--,d*=2),a+v>=1?r+=S/d:r+=S*Math.pow(2,1-v),r*d>=2&&(a++,d/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*d-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+A]=l&255,A+=R,l/=256,o-=8);for(a=a<0;t[n+A]=a&255,A+=R,a/=256,g-=8);t[n+A-R]|=D*128}}),an=Pa(),We=va(),si=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ke.Buffer=T;Ke.SlowBuffer=ka;Ke.INSPECT_MAX_BYTES=50;var lr=2147483647;Ke.kMaxLength=lr;T.TYPED_ARRAY_SUPPORT=Ta();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Ta(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function xe(e){if(e>lr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return cn(e)}return pi(e,t,r)}T.poolSize=8192;function pi(e,t,r){if(typeof e=="string")return Aa(e,t);if(ArrayBuffer.isView(e))return Ra(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(fe(e,ArrayBuffer)||e&&fe(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(fe(e,SharedArrayBuffer)||e&&fe(e.buffer,SharedArrayBuffer)))return fi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=Sa(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return pi(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function mi(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Ca(e,t,r){return mi(e),e<=0?xe(e):t!==void 0?typeof r=="string"?xe(e).fill(t,r):xe(e).fill(t):xe(e)}T.alloc=function(e,t,r){return Ca(e,t,r)};function cn(e){return mi(e),xe(e<0?0:pn(e)|0)}T.allocUnsafe=function(e){return cn(e)};T.allocUnsafeSlow=function(e){return cn(e)};function Aa(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=di(e,t)|0,n=xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function ln(e){let t=e.length<0?0:pn(e.length)|0,r=xe(t);for(let n=0;n=lr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+lr.toString(16)+" bytes");return e|0}function ka(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(fe(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),fe(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function di(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||fe(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return un(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return vi(e).length;default:if(i)return n?-1:un(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=di;function Ia(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ua(this,t,r);case"utf8":case"utf-8":return hi(this,t,r);case"ascii":return Ba(this,t,r);case"latin1":case"binary":return qa(this,t,r);case"base64":return Fa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $a(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};si&&(T.prototype[si]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(fe(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),d=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,fn(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:ai(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):ai(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ai(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let d;if(i){let g=-1;for(d=r;ds&&(r=s-a),d=r;d>=0;d--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Oa(this,e,t,r);case"utf8":case"utf-8":return Da(this,e,t,r);case"ascii":case"latin1":case"binary":return Ma(this,e,t,r);case"base64":return _a(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Na(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Fa(e,t,r){return t===0&&r===e.length?an.fromByteArray(e):an.fromByteArray(e.slice(t,r))}function hi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,d,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],d=e[i+2],(l&192)===128&&(d&192)===128&&(h=(o&15)<<12|(l&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],d=e[i+2],g=e[i+3],(l&192)===128&&(d&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(d&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return La(n)}var li=4096;function La(e){let t=e.length;if(t<=li)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function te(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function yi(e,t,r,n,i){Pi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function wi(e,t,r,n,i){Pi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Re(function(e,t=0){return yi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Re(function(e,t=0){return wi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Re(function(e,t=0){return yi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Re(function(e,t=0){return wi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ei(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function bi(e,t,r,n,i){return t=+t,r=r>>>0,i||Ei(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return bi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return bi(this,e,t,!1,r)};function xi(e,t,r,n,i){return t=+t,r=r>>>0,i||Ei(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return xi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return xi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ui(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ui(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ui(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function ja(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&vt(t,e.length-(r+1))}function Pi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Je.ERR_OUT_OF_RANGE("value",a,e)}ja(n,i,o)}function He(e,t){if(typeof e!="number")throw new Je.ERR_INVALID_ARG_TYPE(t,"number",e)}function vt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Je.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Je.ERR_BUFFER_OUT_OF_BOUNDS:new Je.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Va=/[^+/0-9A-Za-z-_]/g;function Ga(e){if(e=e.split("=")[0],e=e.trim().replace(Va,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function un(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Qa(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function vi(e){return an.toByteArray(Ga(e))}function ur(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function fe(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function fn(e){return e!==e}var Wa=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Re(e){return typeof BigInt>"u"?Ha:e}function Ha(){throw new Error("BigInt not supported")}});var w,f=me(()=>{"use strict";w=Qe(Ti())});function el(){return!1}function $i(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function tl(){return $i()}function rl(){return[]}function nl(e){e(null,[])}function il(){return""}function ol(){return""}function sl(){}function al(){}function ll(){}function ul(){}function cl(){}function pl(){}var ml,fl,ji,Vi=me(()=>{"use strict";f();u();c();p();m();ml={},fl={existsSync:el,lstatSync:$i,statSync:tl,readdirSync:rl,readdir:nl,readlinkSync:il,realpathSync:ol,chmodSync:sl,renameSync:al,mkdirSync:ll,rmdirSync:ul,rmSync:cl,unlinkSync:pl,promises:ml},ji=fl});function dl(...e){return e.join("/")}function gl(...e){return e.join("/")}function hl(e){let t=Gi(e),r=Qi(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Gi(e){let t=e.split("/");return t[t.length-1]}function Qi(e){return e.split("/").slice(0,-1).join("/")}var Ji,yl,wl,fr,Wi=me(()=>{"use strict";f();u();c();p();m();Ji="/",yl={sep:Ji},wl={basename:Gi,dirname:Qi,join:gl,parse:hl,posix:yl,resolve:dl,sep:Ji},fr=wl});var Hi=Fe((uf,El)=>{El.exports={name:"@prisma/internals",version:"6.7.0",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.4.7",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-engine-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Yi=Fe((Sf,zi)=>{"use strict";f();u();c();p();m();zi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var eo=Fe((Uf,Xi)=>{"use strict";f();u();c();p();m();Xi.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var ro=Fe((Jf,to)=>{"use strict";f();u();c();p();m();var Rl=eo();to.exports=e=>typeof e=="string"?e.replace(Rl(),""):e});var kn=Fe((_y,Po)=>{"use strict";f();u();c();p();m();Po.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";f();u();c();p();m()});var So=me(()=>{"use strict";f();u();c();p();m()});var Zo=Fe((r1,fc)=>{fc.exports={name:"@prisma/engines-version",version:"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"3cff47a7f5d65c3ea74883f1d736e41d68ce91ed"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var $r,Xo=me(()=>{"use strict";f();u();c();p();m();$r=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var bp={};Pt(bp,{DMMF:()=>Ot,Debug:()=>K,Decimal:()=>he,Extensions:()=>dn,MetricsClient:()=>pt,PrismaClientInitializationError:()=>Q,PrismaClientKnownRequestError:()=>re,PrismaClientRustPanicError:()=>ve,PrismaClientUnknownRequestError:()=>ne,PrismaClientValidationError:()=>Z,Public:()=>gn,Sql:()=>oe,createParam:()=>Go,defineDmmfProperty:()=>zo,deserializeJsonResponse:()=>tt,deserializeRawResult:()=>tn,dmmfToRuntimeDataModel:()=>xo,empty:()=>ts,getPrismaClient:()=>fa,getRuntime:()=>Hr,join:()=>es,makeStrictEnum:()=>da,makeTypedQueryFactory:()=>Yo,objectEnumValues:()=>Or,raw:()=>Bn,serializeJsonQuery:()=>Br,skip:()=>Lr,sqltag:()=>qn,warnEnvConflicts:()=>void 0,warnOnce:()=>Rt});module.exports=xa(bp);f();u();c();p();m();var dn={};Pt(dn,{defineExtension:()=>Ci,getExtensionContext:()=>Ai});f();u();c();p();m();f();u();c();p();m();function Ci(e){return typeof e=="function"?e:t=>t.$extends(e)}f();u();c();p();m();function Ai(e){return e}var gn={};Pt(gn,{validator:()=>Ri});f();u();c();p();m();f();u();c();p();m();function Ri(...e){return t=>t}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var hn,Si,ki,Ii,Oi=!0;typeof y<"u"&&({FORCE_COLOR:hn,NODE_DISABLE_COLORS:Si,NO_COLOR:ki,TERM:Ii}=y.env||{},Oi=y.stdout&&y.stdout.isTTY);var Ka={enabled:!Si&&ki==null&&Ii!=="dumb"&&(hn!=null&&hn!=="0"||Oi)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!Ka.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var pm=j(0,0),cr=j(1,22),pr=j(2,22),mm=j(3,23),Di=j(4,24),fm=j(7,27),dm=j(8,28),gm=j(9,29),hm=j(30,39),ze=j(31,39),Mi=j(32,39),_i=j(33,39),Ni=j(34,39),ym=j(35,39),Fi=j(36,39),wm=j(37,39),Li=j(90,39),Em=j(90,39),bm=j(40,49),xm=j(41,49),Pm=j(42,49),vm=j(43,49),Tm=j(44,49),Cm=j(45,49),Am=j(46,49),Rm=j(47,49);f();u();c();p();m();var za=100,Bi=["green","yellow","blue","magenta","cyan","red"],mr=[],qi=Date.now(),Ya=0,yn=typeof y<"u"?y.env:{};globalThis.DEBUG??=yn.DEBUG??"";globalThis.DEBUG_COLORS??=yn.DEBUG_COLORS?yn.DEBUG_COLORS==="true":!0;var Tt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function Za(e){let t={color:Bi[Ya++%Bi.length],enabled:Tt.enabled(e),namespace:e,log:Tt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&mr.push([o,...n]),mr.length>za&&mr.shift(),Tt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:Xa(g)),d=`+${Date.now()-qi}ms`;qi=Date.now(),a(o,...l,d)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var K=new Proxy(Za,{get:(e,t)=>Tt[t],set:(e,t,r)=>Tt[t]=r});function Xa(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Ui(){mr.length=0}f();u();c();p();m();f();u();c();p();m();var bl=Hi(),wn=bl.version;f();u();c();p();m();function Ye(e){let t=xl();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Pl(e))}function xl(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Pl(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}f();u();c();p();m();var Ki="prisma+postgres",dr=`${Ki}:`;function En(e){return e?.startsWith(`${dr}//`)??!1}var At={};Pt(At,{error:()=>Cl,info:()=>Tl,log:()=>vl,query:()=>Al,should:()=>Zi,tags:()=>Ct,warn:()=>bn});f();u();c();p();m();var Ct={error:ze("prisma:error"),warn:_i("prisma:warn"),info:Fi("prisma:info"),query:Ni("prisma:query")},Zi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function vl(...e){console.log(...e)}function bn(e,...t){Zi.warn()&&console.warn(`${Ct.warn} ${e}`,...t)}function Tl(e,...t){console.info(`${Ct.info} ${e}`,...t)}function Cl(e,...t){console.error(`${Ct.error} ${e}`,...t)}function Al(e,...t){console.log(`${Ct.query} ${e}`,...t)}f();u();c();p();m();function Pe(e,t){throw new Error(t)}f();u();c();p();m();function xn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}f();u();c();p();m();function Ze(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}f();u();c();p();m();function Pn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{no.has(e)||(no.add(e),bn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");f();u();c();p();m();var re=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(re,"PrismaClientKnownRequestError");f();u();c();p();m();var ve=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(ve,"PrismaClientRustPanicError");f();u();c();p();m();var ne=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(ne,"PrismaClientUnknownRequestError");f();u();c();p();m();var Z=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(Z,"PrismaClientValidationError");f();u();c();p();m();f();u();c();p();m();var Xe=9e15,Oe=1e9,vn="0123456789abcdef",yr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",wr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Tn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Xe,maxE:Xe,crypto:!1},lo,Te,_=!0,br="[DecimalError] ",Ie=br+"Invalid argument: ",uo=br+"Precision limit exceeded",co=br+"crypto unavailable",po="[object Decimal]",X=Math.floor,J=Math.pow,Sl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,kl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Il=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,mo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ce=1e7,O=7,Ol=9007199254740991,Dl=yr.length-1,Cn=wr.length-1,C={toStringTag:po};C.absoluteValue=C.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};C.ceil=function(){return I(new this.constructor(this),this.e+1,2)};C.clampedTo=C.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};C.comparedTo=C.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,d=e.s;if(!s||!a)return!l||!d?NaN:l!==d?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-d:0;if(l!==d)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};C.cosine=C.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Ml(n,wo(n,r)),n.precision=e,n.rounding=t,I(Te==2||Te==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};C.cubeRoot=C.cbrt=function(){var e,t,r,n,i,o,s,a,l,d,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=z(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),d=l.plus(g),n=U(d.plus(g).times(a),d.plus(l),s+2,1),z(a.d).slice(0,s)===(r=z(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,I(n,e,h.rounding,t)};C.decimalPlaces=C.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-X(this.e/O))*O,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};C.dividedBy=C.div=function(e){return U(this,new this.constructor(e))};C.dividedToIntegerBy=C.divToInt=function(e){var t=this,r=t.constructor;return I(U(t,new r(e),0,1,1),r.precision,r.rounding)};C.equals=C.eq=function(e){return this.cmp(e)===0};C.floor=function(){return I(new this.constructor(this),this.e+1,3)};C.greaterThan=C.gt=function(e){return this.cmp(e)>0};C.greaterThanOrEqualTo=C.gte=function(e){var t=this.cmp(e);return t==1||t===0};C.hyperbolicCosine=C.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Pr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=et(s,1,o.times(t),new s(1),!0);for(var l,d=e,g=new s(8);d--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};C.hyperbolicSine=C.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=et(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Pr(5,e)),i=et(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),d=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(d))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};C.hyperbolicTangent=C.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,U(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};C.inverseCosine=C.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?de(t,n,i):new t(0):new t(NaN):e.isZero()?de(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};C.inverseHyperbolicCosine=C.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};C.inverseHyperbolicSine=C.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};C.inverseHyperbolicTangent=C.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=U(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};C.inverseSine=C.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=de(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};C.inverseTangent=C.atan=function(){var e,t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding;if(d.isFinite()){if(d.isZero())return new g(d);if(d.abs().eq(1)&&h+4<=Cn)return s=de(g,h+4,v).times(.25),s.s=d.s,s}else{if(!d.s)return new g(NaN);if(h+4<=Cn)return s=de(g,h+4,v).times(.5),s.s=d.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/O+2|0),e=r;e;--e)d=d.div(d.times(d).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/O),n=1,l=d.times(d),s=new g(d),i=d;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};C.isNaN=function(){return!this.s};C.isNegative=C.isNeg=function(){return this.s<0};C.isPositive=C.isPos=function(){return this.s>0};C.isZero=function(){return!!this.d&&this.d[0]===0};C.lessThan=C.lt=function(e){return this.cmp(e)<0};C.lessThanOrEqualTo=C.lte=function(e){return this.cmp(e)<1};C.logarithm=C.log=function(e){var t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding,S=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(1))return new g(r&&!r[0]?-1/0:d.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+S,s=ke(d,a),n=t?Er(g,a+10):ke(e,a),l=U(s,n,a,1),St(l.d,i=h,v))do if(a+=10,s=ke(d,a),n=t?Er(g,a+10):ke(e,a),l=U(s,n,a,1),!o){+z(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(St(l.d,i+=10,v));return _=!0,I(l,h,v)};C.minus=C.sub=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.constructor;if(e=new A(e),!S.d||!e.d)return!S.s||!e.s?e=new A(NaN):S.d?e.s=-e.s:e=new A(e.d||S.s!==e.s?S:NaN),e;if(S.s!=e.s)return e.s=-e.s,S.plus(e);if(d=S.d,v=e.d,a=A.precision,l=A.rounding,!d[0]||!v[0]){if(v[0])e.s=-e.s;else if(d[0])e=new A(S);else return new A(l===3?-0:0);return _?I(e,a,l):e}if(r=X(e.e/O),g=X(S.e/O),d=d.slice(),o=g-r,o){for(h=o<0,h?(t=d,o=-o,s=v.length):(t=v,r=g,s=d.length),n=Math.max(Math.ceil(a/O),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=d.length,s=v.length,h=n0;--n)d[s++]=0;for(n=v.length;n>o;){if(d[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=d.length,i=g.length,s-i<0&&(i=s,r=g,g=d,d=r),t=0;i;)t=(d[--i]=d[i]+g[i]+t)/ce|0,d[i]%=ce;for(t&&(d.unshift(t),++n),s=d.length;d[--s]==0;)d.pop();return e.d=d,e.e=xr(d,n),_?I(e,a,l):e};C.precision=C.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=fo(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};C.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};C.sine=C.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Nl(n,wo(n,r)),n.precision=e,n.rounding=t,I(Te>2?r.neg():r,e,t,!0)):new n(NaN)};C.squareRoot=C.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,d=s.s,g=s.constructor;if(d!==1||!a||!a[0])return new g(!d||d<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,d=Math.sqrt(+s),d==0||d==1/0?(t=z(a),(t.length+l)%2==0&&(t+="0"),d=Math.sqrt(t),l=X((l+1)/2)-(l<0||l%2),d==1/0?t="5e"+l:(t=d.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(d.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(U(s,o,r+2,1)).times(.5),z(o.d).slice(0,r)===(t=z(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,I(n,l,g.rounding,e)};C.tangent=C.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=U(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(Te==2||Te==4?r.neg():r,e,t,!0)):new n(NaN)};C.times=C.mul=function(e){var t,r,n,i,o,s,a,l,d,g=this,h=g.constructor,v=g.d,S=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!S||!S[0])return new h(!e.s||v&&!v[0]&&!S||S&&!S[0]&&!v?NaN:!v||!S?e.s/0:e.s*0);for(r=X(g.e/O)+X(e.e/O),l=v.length,d=S.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+S[n]*v[i-n-1]+t,o[i--]=a%ce|0,t=a/ce|0;o[i]=(o[i]+t)%ce|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=xr(o,r),_?I(e,h.precision,h.rounding):e};C.toBinary=function(e,t){return Rn(this,2,e,t)};C.toDecimalPlaces=C.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(ie(e,0,Oe),t===void 0?t=n.rounding:ie(t,0,8),I(r,e+r.e+1,t))};C.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,!0):(ie(e,0,Oe),t===void 0?t=i.rounding:ie(t,0,8),n=I(new i(n),e+1,t),r=ge(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=ge(i):(ie(e,0,Oe),t===void 0?t=o.rounding:ie(t,0,8),n=I(new o(i),e+i.e+1,t),r=ge(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};C.toFraction=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.d,R=S.constructor;if(!A)return new R(S);if(d=r=new R(1),n=l=new R(0),t=new R(n),o=t.e=fo(A)-S.e-1,s=o%O,t.d[0]=J(10,s<0?O+s:s),e==null)e=o>0?t:d;else{if(a=new R(e),!a.isInt()||a.lt(d))throw Error(Ie+a);e=a.gt(t)?o>0?t:d:a}for(_=!1,a=new R(z(A)),g=R.precision,R.precision=o=A.length*O*2;h=U(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=d,d=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=U(e.minus(r),n,0,1,1),l=l.plus(i.times(d)),r=r.plus(i.times(n)),l.s=d.s=S.s,v=U(d,n,o,1).minus(S).abs().cmp(U(l,r,o,1).minus(S).abs())<1?[d,n]:[l,r],R.precision=g,_=!0,v};C.toHexadecimal=C.toHex=function(e,t){return Rn(this,16,e,t)};C.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:ie(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=U(r,e,0,t,1).times(e),_=!0,I(r)):(e.s=r.s,r=e),r};C.toNumber=function(){return+this};C.toOctal=function(e,t){return Rn(this,8,e,t)};C.toPower=C.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,d=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,d));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=X(e.e/O),t>=e.d.length-1&&(r=d<0?-d:d)<=Ol)return i=go(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=An(e.times(ke(a,n+r)),n),i.d&&(i=I(i,n+5,1),St(i.d,n,o)&&(t=n+10,i=I(An(e.times(ke(a,t+r)),t),t+5,1),+z(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,I(i,n,o))};C.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ie(e,1,Oe),t===void 0?t=i.rounding:ie(t,0,8),n=I(new i(n),e,t),r=ge(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toSignificantDigits=C.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(ie(e,1,Oe),t===void 0?t=n.rounding:ie(t,0,8)),I(new n(r),e,t)};C.toString=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};C.truncated=C.trunc=function(){return I(new this.constructor(this),this.e+1,1)};C.valueOf=C.toJSON=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function z(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(Ie+e)}function St(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=O,i=0):(i=Math.ceil((t+1)/O),t%=O),o=J(10,O-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function gr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Ml(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Pr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=et(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var U=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var d,g,h,v,S,A,R,D,M,B,k,F,ae,G,nn,ir,xt,on,ue,or,sr=n.constructor,sn=n.s==i.s?1:-1,Y=n.d,$=i.d;if(!Y||!Y[0]||!$||!$[0])return new sr(!n.s||!i.s||(Y?$&&Y[0]==$[0]:!$)?NaN:Y&&Y[0]==0||!$?sn*0:sn/0);for(l?(S=1,g=n.e-i.e):(l=ce,S=O,g=X(n.e/S)-X(i.e/S)),ue=$.length,xt=Y.length,M=new sr(sn),B=M.d=[],h=0;$[h]==(Y[h]||0);h++);if($[h]>(Y[h]||0)&&g--,o==null?(G=o=sr.precision,s=sr.rounding):a?G=o+(n.e-i.e)+1:G=o,G<0)B.push(1),A=!0;else{if(G=G/S+2|0,h=0,ue==1){for(v=0,$=$[0],G++;(h1&&($=e($,v,l),Y=e(Y,v,l),ue=$.length,xt=Y.length),ir=ue,k=Y.slice(0,ue),F=k.length;F=l/2&&++on;do v=0,d=t($,k,ue,F),d<0?(ae=k[0],ue!=F&&(ae=ae*l+(k[1]||0)),v=ae/on|0,v>1?(v>=l&&(v=l-1),R=e($,v,l),D=R.length,F=k.length,d=t(R,k,D,F),d==1&&(v--,r(R,ue=10;v/=10)h++;M.e=h+g*S-1,I(M,a?o+M.e+1:o,s,A)}return M}}();function I(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=O,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/O),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=O,s=o-O+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=O,s=o-O+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),d=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,d?(t-=e.e+1,h[0]=J(10,(O-t%O)%O),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,O-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),d)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==ce&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=ce)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>S.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Se(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Se(-i-1)+o,r&&(n=r-s)>0&&(o+=Se(n))):i>=s?(o+=Se(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Se(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Se(n))),o}function xr(e,t){var r=e[0];for(t*=O;r>=10;r/=10)t++;return t}function Er(e,t,r){if(t>Dl)throw _=!0,r&&(e.precision=r),Error(uo);return I(new e(yr),t,1,!0)}function de(e,t,r){if(t>Cn)throw Error(uo);return I(new e(wr),t,r,!0)}function fo(e){var t=e.length-1,r=t*O+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Se(e){for(var t="";e--;)t+="0";return t}function go(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/O+4);for(_=!1;;){if(r%2&&(o=o.times(t),so(o.d,s)&&(i=!0)),r=X(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),so(t.d,s)}return _=!0,o}function oo(e){return e.d[e.d.length-1]&1}function ho(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=A):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus(U(o,r,l,1)),z(a.d).slice(0,l)===z(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(d<3&&St(s.d,l-n,S,d))v.precision=l+=10,r=o=a=new v(1),g=0,d++;else return I(s,v.precision=A,S,_=!0);else return v.precision=A,s}s=a}}function ke(e,t){var r,n,i,o,s,a,l,d,g,h,v,S=1,A=10,R=e,D=R.d,M=R.constructor,B=M.rounding,k=M.precision;if(R.s<0||!D||!D[0]||!R.e&&D[0]==1&&D.length==1)return new M(D&&!D[0]?-1/0:R.s!=1?NaN:D?0:R);if(t==null?(_=!1,g=k):g=t,M.precision=g+=A,r=z(D),n=r.charAt(0),Math.abs(o=R.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)R=R.times(e),r=z(R.d),n=r.charAt(0),S++;o=R.e,n>1?(R=new M("0."+r),o++):R=new M(n+"."+r.slice(1))}else return d=Er(M,g+2,k).times(o+""),R=ke(new M(n+"."+r.slice(1)),g-A).plus(d),M.precision=k,t==null?I(R,k,B,_=!0):R;for(h=R,l=s=R=U(R.minus(1),R.plus(1),g,1),v=I(R.times(R),g,1),i=3;;){if(s=I(s.times(v),g,1),d=l.plus(U(s,new M(i),g,1)),z(d.d).slice(0,g)===z(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(Er(M,g+2,k).times(o+""))),l=U(l,new M(S),g,1),t==null)if(St(l.d,g-A,B,a))M.precision=g+=A,d=s=R=U(h.minus(1),h.plus(1),g,1),v=I(R.times(R),g,1),i=a=1;else return I(l,M.precision=k,B,_=!0);else return M.precision=k,l;l=d,i+=2}}function yo(e){return String(e.s*e.s/0)}function hr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%O,r<0&&(n+=O),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),mo.test(t))return hr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(kl.test(t))r=16,t=t.toLowerCase();else if(Sl.test(t))r=2;else if(Il.test(t))r=8;else throw Error(Ie+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=go(n,new n(r),o,o*2)),d=gr(t,r,ce),g=d.length-1,o=g;d[o]===0;--o)d.pop();return o<0?new n(e.s*0):(e.e=xr(d,g),e.d=d,_=!1,s&&(e=U(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):Be.pow(2,l))),_=!0,e)}function Nl(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:et(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Pr(5,r)),t=et(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function et(e,t,r,n,i){var o,s,a,l,d=1,g=e.precision,h=Math.ceil(g/O);for(_=!1,l=r.times(r),a=new e(n);;){if(s=U(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=U(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,d++}return _=!0,s.d.length=h+1,s}function Pr(e,t){for(var r=e;--t;)r*=e;return r}function wo(e,t){var r,n=t.s<0,i=de(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Te=n?4:1,t;if(r=t.divToInt(i),r.isZero())Te=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Te=oo(r)?n?2:3:n?4:1,t;Te=oo(r)?n?1:4:n?3:2}return t.minus(i).abs()}function Rn(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor,A=r!==void 0;if(A?(ie(r,1,Oe),n===void 0?n=S.rounding:ie(n,0,8)):(r=S.precision,n=S.rounding),!e.isFinite())g=yo(e);else{for(g=ge(e),s=g.indexOf("."),A?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new S(1),v.e=g.length-s,v.d=gr(ge(v),10,i),v.e=v.d.length),h=gr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=A?"0p+0":"0";else{if(s<0?o--:(e=new S(e),e.d=h,e.e=o,e=U(e,v,r,n,0,i),h=e.d,o=e.e,d=lo),s=h[r],a=i/2,d=d||h[r+1]!==void 0,d=n<4?(s!==void 0||d)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||d||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,d)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=gr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Fl(e){return new this(e).abs()}function Ll(e){return new this(e).acos()}function Bl(e){return new this(e).acosh()}function ql(e,t){return new this(e).plus(t)}function Ul(e){return new this(e).asin()}function $l(e){return new this(e).asinh()}function jl(e){return new this(e).atan()}function Vl(e){return new this(e).atanh()}function Gl(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=de(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?de(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=de(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(U(e,t,o,1)),t=de(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(U(e,t,o,1)),r}function Ql(e){return new this(e).cbrt()}function Jl(e){return I(e=new this(e),e.e+1,2)}function Wl(e,t,r){return new this(e).clamp(t,r)}function Hl(e){if(!e||typeof e!="object")throw Error(br+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Oe,"rounding",0,8,"toExpNeg",-Xe,0,"toExpPos",0,Xe,"maxE",0,Xe,"minE",-Xe,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",i&&(this[r]=Tn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(co);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function Kl(e){return new this(e).cos()}function zl(e){return new this(e).cosh()}function Eo(e){var t,r,n;function i(o){var s,a,l,d=this;if(!(d instanceof i))return new i(o);if(d.constructor=i,ao(o)){d.s=o.s,_?!o.d||o.e>i.maxE?(d.e=NaN,d.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(d.e=NaN,d.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(co);else for(;o=10;i/=10)n++;nIt,datamodelEnumToSchemaEnum:()=>vu});f();u();c();p();m();f();u();c();p();m();function vu(e){return{name:e.name,values:e.values.map(t=>t.name)}}f();u();c();p();m();var It=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(It||{});var Tu=Qe(Yi());var Cu={red:ze,gray:Li,dim:pr,bold:cr,underline:Di,highlightSource:e=>e.highlight()},Au={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Ru({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function Su({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(ku(t))),i){a.push("");let d=[i.toString()];o&&(d.push(o),d.push(s.dim(")"))),a.push(d.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` -`)}function ku(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function Tr(e){let t=e.showColors?Cu:Au,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=Ru(e),Su(r,t)}f();u();c();p();m();var Io=Qe(kn());f();u();c();p();m();function Co(e,t,r){let n=Ao(e),i=Iu(n),o=Du(i);o?Cr(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Ao(e){return e.errors.flatMap(t=>t.kind==="Union"?Ao(t):[t])}function Iu(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:Ou(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function Ou(e,t){return[...new Set(e.concat(t))]}function Du(e){return Pn(e,(t,r)=>{let n=vo(t),i=vo(r);return n!==i?n-i:To(t)-To(r)})}function vo(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function To(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}f();u();c();p();m();var le=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};f();u();c();p();m();f();u();c();p();m();So();f();u();c();p();m();var it=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` -`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};Ro();f();u();c();p();m();f();u();c();p();m();var Ar=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};f();u();c();p();m();var Rr=e=>e,Sr={bold:Rr,red:Rr,green:Rr,dim:Rr,enabled:!1},ko={bold:cr,red:ze,green:Mi,dim:pr,enabled:!0},ot={write(e){e.writeLine(",")}};f();u();c();p();m();var we=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};f();u();c();p();m();var Me=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var st=class extends Me{items=[];addItem(t){return this.items.push(new Ar(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new we("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(ot,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var at=class e extends Me{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof st&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new we("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(ot,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};f();u();c();p();m();var H=class extends Me{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new we(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};f();u();c();p();m();var Dt=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(ot,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Cr(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":Mu(e,t);break;case"IncludeOnScalar":_u(e,t);break;case"EmptySelection":Nu(e,t,r);break;case"UnknownSelectionField":qu(e,t);break;case"InvalidSelectionValue":Uu(e,t);break;case"UnknownArgument":$u(e,t);break;case"UnknownInputField":ju(e,t);break;case"RequiredArgumentMissing":Vu(e,t);break;case"InvalidArgumentType":Gu(e,t);break;case"InvalidArgumentValue":Qu(e,t);break;case"ValueTooLarge":Ju(e,t);break;case"SomeFieldsMissing":Wu(e,t);break;case"TooManyFieldsGiven":Hu(e,t);break;case"Union":Co(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function Mu(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function _u(e,t){let[r,n]=Mt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new le(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${_t(s)}`:a+=".",a+=` -Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Nu(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Fu(e,t,i);return}if(n.hasField("select")){Lu(e,t);return}}if(r?.[De(e.outputType.name)]){Bu(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Fu(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new le(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Lu(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Mo(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${_t(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function Bu(e,t){let r=new Dt;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new le("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=Mt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new at;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function qu(e,t){let r=_o(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Mo(n,e.outputType);break;case"include":Ku(n,e.outputType);break;case"omit":zu(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(_t(n)),i.join(" ")})}function Uu(e,t){let r=_o(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function $u(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Yu(n,e.arguments)),t.addErrorMessage(i=>Oo(i,r,e.arguments.map(o=>o.name)))}function ju(e,t){let[r,n]=Mt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&No(o,e.inputType)}t.addErrorMessage(o=>Oo(o,n,e.inputType.fields.map(s=>s.name)))}function Oo(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Xu(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(_t(e)),n.join(" ")}function Vu(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=Mt(e.argumentPath),s=new Dt,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new le(o,s).makeRequired())}else{let l=e.inputTypes.map(Do).join(" | ");a.addSuggestion(new le(o,l).makeRequired())}}function Do(e){return e.kind==="list"?`${Do(e.elementType)}[]`:e.name}function Gu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=kr("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Qu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=kr("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Ju(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Wu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&No(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${kr("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(_t(i)),o.join(" ")})}function Hu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${kr("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Mo(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,"true"))}function Ku(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new le(r.name,"true"))}function zu(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new le(r.name,"true"))}function Yu(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function _o(e,t){let[r,n]=Mt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function No(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function Mt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function _t({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function kr(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Zu=3;function Xu(e,t){let r=1/0,n;for(let i of t){let o=(0,Io.default)(e,i);o>Zu||o`}};function lt(e){return e instanceof Nt}f();u();c();p();m();var Ir=Symbol(),On=new WeakMap,Ce=class{constructor(t){t===Ir?On.set(this,`Prisma.${this._getName()}`):On.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return On.get(this)}},Ft=class extends Ce{_getNamespace(){return"NullTypes"}},Lt=class extends Ft{#e};Dn(Lt,"DbNull");var Bt=class extends Ft{#e};Dn(Bt,"JsonNull");var qt=class extends Ft{#e};Dn(qt,"AnyNull");var Or={classes:{DbNull:Lt,JsonNull:Bt,AnyNull:qt},instances:{DbNull:new Lt(Ir),JsonNull:new Bt(Ir),AnyNull:new qt(Ir)}};function Dn(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}f();u();c();p();m();var Fo=": ",Dr=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Fo.length}write(t){let r=new we(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Fo).write(this.value)}};var Mn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` -`)}};function ut(e){return new Mn(Lo(e))}function Lo(e){let t=new at;for(let[r,n]of Object.entries(e)){let i=new Dr(r,Bo(n));t.addField(i)}return t}function Bo(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(nt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=vr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Ce?new H(`Prisma.${e._getName()}`):lt(e)?new H(`prisma.${De(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?ec(e):typeof e=="object"?Lo(e):new H(Object.prototype.toString.call(e))}function ec(e){let t=new st;for(let r of e)t.addItem(Bo(r));return t}function Mr(e,t){let r=t==="pretty"?ko:Sr,n=e.renderAllMessages(r),i=new it(0,{colors:r}).write(e).toString();return{message:n,args:i}}function _r({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ut(e);for(let h of t)Cr(h,a,s);let{message:l,args:d}=Mr(a,r),g=Tr({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:d});throw new Z(g,{clientVersion:o})}f();u();c();p();m();f();u();c();p();m();function Ee(e){return e.replace(/^./,t=>t.toLowerCase())}f();u();c();p();m();function Uo(e,t,r){let n=Ee(r);return!t.result||!(t.result.$allModels||t.result[n])?e:tc({...e,...qo(t.name,e,t.result.$allModels),...qo(t.name,e,t.result[n])})}function tc(e){let t=new ye,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return Ze(e,n=>({...n,needs:r(n.name,new Set)}))}function qo(e,t,r){return r?Ze(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:rc(t,o,i)})):{}}function rc(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function $o(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function jo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Nr=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new ye;modelExtensionsCache=new ye;queryCallbacksCache=new ye;clientExtensions=kt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=kt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Uo(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ee(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ct=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Nr(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Nr(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};f();u();c();p();m();var Fr=class{constructor(t){this.name=t}};function Vo(e){return e instanceof Fr}function Go(e){return new Fr(e)}f();u();c();p();m();f();u();c();p();m();var Qo=Symbol(),Ut=class{constructor(t){if(t!==Qo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Lr:t}},Lr=new Ut(Qo);function be(e){return e instanceof Ut}var nc={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Jo="explicitly `undefined` values are not allowed";function Br({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ct.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g}){let h=new _n({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g});return{modelName:e,action:nc[t],query:$t(r,h)}}function $t({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Ho(r,n),selection:ic(e,t,i,n)}}function ic(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),lc(e,n)):oc(n,t,r)}function oc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&sc(n,t,e),ac(n,r,e),n}function sc(e,t,r){for(let[n,i]of Object.entries(t)){if(be(i))continue;let o=r.nestSelection(n);if(Nn(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=$t(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=$t(i,o)}}function ac(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=jo(i,n);for(let[s,a]of Object.entries(o)){if(be(a))continue;Nn(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function lc(e,t){let r={},n=t.getComputedFields(),i=$o(e,n);for(let[o,s]of Object.entries(i)){if(be(s))continue;let a=t.nestSelection(o);Nn(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||be(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=$t({},a):r[o]=!0;continue}r[o]=$t(s,a)}}return r}function Wo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(rt(e)){if(vr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Vo(e))return{$type:"Param",value:e.name};if(lt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return uc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(cc(e))return e.values;if(nt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Ce){if(e!==Or.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(pc(e))return e.toJSON();if(typeof e=="object")return Ho(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Ho(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);be(i)||(i!==void 0?r[n]=Wo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Jo}))}return r}function uc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[De(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Pe(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};f();u();c();p();m();function Ko(e){if(!e._hasPreviewFlag("metrics"))throw new Z("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var pt=class{_client;constructor(t){this._client=t}prometheus(t){return Ko(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Ko(this._client),this._client._engine.metrics({format:"json",...t})}};f();u();c();p();m();function zo(e,t){let r=kt(()=>mc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function mc(e){return{datamodel:{models:Fn(e.models),enums:Fn(e.enums),types:Fn(e.types)}}}function Fn(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}f();u();c();p();m();var Ln=new WeakMap,qr="$$PrismaTypedSql",jt=class{constructor(t,r){Ln.set(this,{sql:t,values:r}),Object.defineProperty(this,qr,{value:qr})}get sql(){return Ln.get(this).sql}get values(){return Ln.get(this).values}};function Yo(e){return(...t)=>new jt(e,t)}function Ur(e){return e!=null&&e[qr]===qr}f();u();c();p();m();var ma=Qe(Zo());f();u();c();p();m();Xo();Vi();Wi();f();u();c();p();m();var oe=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}f();u();c();p();m();f();u();c();p();m();var jr={enumerable:!0,configurable:!0,writable:!0};function Vr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>jr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var rs=Symbol.for("nodejs.util.inspect.custom");function pe(e,t){let r=dc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=ns(Reflect.ownKeys(o),r),a=ns(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...jr,...l?.getPropertyDescriptor(s)}:jr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[rs]=function(){let o={...this};return delete o[rs],o},i}function dc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function ns(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}f();u();c();p();m();function mt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}f();u();c();p();m();function Gr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}f();u();c();p();m();function is(e){if(e===void 0)return"";let t=ut(e);return new it(0,{colors:Sr}).write(t).toString()}f();u();c();p();m();var gc="P2037";function Qr({error:e,user_facing_error:t},r,n){return t.error_code?new re(hc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new ne(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function hc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===gc&&(r+=` -Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Un=class{getLocation(){return null}};function _e(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new Un}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var os={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function ft(e={}){let t=wc(e);return Object.entries(t).reduce((n,[i,o])=>(os[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function wc(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Jr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function ss(e,t){let r=Jr(e);return t({action:"aggregate",unpacker:r,argsMapper:ft})(e)}f();u();c();p();m();function Ec(e={}){let{select:t,...r}=e;return typeof t=="object"?ft({...r,_count:t}):ft({...r,_count:{_all:!0}})}function bc(e={}){return typeof e.select=="object"?t=>Jr(e)(t)._count:t=>Jr(e)(t)._count._all}function as(e,t){return t({action:"count",unpacker:bc(e),argsMapper:Ec})(e)}f();u();c();p();m();function xc(e={}){let t=ft(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function Pc(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ls(e,t){return t({action:"groupBy",unpacker:Pc(e),argsMapper:xc})(e)}function us(e,t,r){if(t==="aggregate")return n=>ss(n,r);if(t==="count")return n=>as(n,r);if(t==="groupBy")return n=>ls(n,r)}f();u();c();p();m();function cs(e,t){let r=t.fields.filter(i=>!i.relationName),n=bo(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Nt(e,o,s.type,s.isList,s.kind==="enum")},...Vr(Object.keys(n))})}f();u();c();p();m();f();u();c();p();m();var ps=e=>Array.isArray(e)?e:e.split("."),$n=(e,t)=>ps(t).reduce((r,n)=>r&&r[n],e),ms=(e,t,r)=>ps(t).reduceRight((n,i,o,s)=>Object.assign({},$n(e,s.slice(0,o)),{[i]:n}),r);function vc(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function Tc(e,t,r){return t===void 0?e??{}:ms(t,r,e||!0)}function jn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,d)=>({...l,[d.name]:d}),{});return l=>{let d=_e(e._errorFormat),g=vc(n,i),h=Tc(l,o,g),v=r({dataPath:g,callsite:d})(h),S=Cc(e,t);return new Proxy(v,{get(A,R){if(!S.includes(R))return A[R];let M=[a[R].type,r,R],B=[g,h];return jn(e,...M,...B)},...Vr([...S,...Object.getOwnPropertyNames(v)])})}}function Cc(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Ac=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Rc=["aggregate","count","groupBy"];function Vn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Sc(e,t),Ic(e,t),Vt(r),ee("name",()=>t),ee("$name",()=>t),ee("$parent",()=>e._appliedParent)];return pe({},n)}function Sc(e,t){let r=Ee(t),n=Object.keys(It).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let d=_e(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:d};return e._request({...h,...a})},{action:o,args:l,model:t})};return Ac.includes(o)?jn(e,t,s):kc(i)?us(e,i,s):s({})}}}function kc(e){return Rc.includes(e)}function Ic(e,t){return qe(ee("fields",()=>{let r=e._runtimeDataModel.models[t];return cs(t,r)}))}f();u();c();p();m();function fs(e){return e.replace(/^./,t=>t.toUpperCase())}var Gn=Symbol();function Gt(e){let t=[Oc(e),Dc(e),ee(Gn,()=>e),ee("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Vt(r)),pe(e,t)}function Oc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function Dc(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ee),n=[...new Set(t.concat(r))];return qe({getKeys(){return n},getPropertyValue(i){let o=fs(i);if(e._runtimeDataModel.models[o]!==void 0)return Vn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Vn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ds(e){return e[Gn]?e[Gn]:e}function gs(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Gt(t)}f();u();c();p();m();f();u();c();p();m();function hs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let d=l.needs.filter(g=>n[g]);d.length>0&&a.push(mt(d))}else if(r){if(!r[l.name])continue;let d=l.needs.filter(g=>!r[g]);d.length>0&&a.push(mt(d))}Mc(e,l.needs)&&s.push(_c(l,pe(e,s)))}return s.length>0||a.length>0?pe(e,[...s,...a]):e}function Mc(e,t){return t.every(r=>xn(e,r))}function _c(e,t){return qe(ee(e.name,()=>e.compute(t)))}f();u();c();p();m();function Wr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let d=typeof s=="object"?s:{};t[o]=Wr({visitor:i,result:t[o],args:d,modelName:l.type,runtimeDataModel:n})}}function ws({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Wr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,d)=>{let g=Ee(l);return hs({result:a,modelName:g,select:d.select,omit:d.select?void 0:{...o?.[g],...d.omit},extensions:n})}})}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Nc=["$connect","$disconnect","$on","$transaction","$use","$extends"],Es=Nc;function bs(e){if(e instanceof oe)return Fc(e);if(Ur(e))return Lc(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:bs(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(o,l),a.args=s,Ps(e,a,r,n+1)}})})}function vs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return Ps(e,t,s)}function Ts(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Cs(r,n,0,e):e(r)}}function Cs(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(i,l),Cs(a,t,r+1,n)}})}var xs=e=>e;function As(e=xs,t=xs){return r=>e(t(r))}f();u();c();p();m();var Rs=K("prisma:client"),Ss={Vercel:"vercel","Netlify CI":"netlify"};function ks({postinstall:e,ciName:t,clientVersion:r}){if(Rs("checkPlatformCaching:postinstall",e),Rs("checkPlatformCaching:ciName",t),e===!0&&t&&t in Ss){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. +"use strict";var ya=Object.create;var lr=Object.defineProperty;var wa=Object.getOwnPropertyDescriptor;var Ea=Object.getOwnPropertyNames;var ba=Object.getPrototypeOf,xa=Object.prototype.hasOwnProperty;var fe=(e,t)=>()=>(e&&(t=e(e=0)),t);var Fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pt=(e,t)=>{for(var r in t)lr(e,r,{get:t[r],enumerable:!0})},si=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ea(t))!xa.call(e,i)&&i!==r&&lr(e,i,{get:()=>t[i],enumerable:!(n=wa(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?ya(ba(e)):{},si(t||!e||!e.__esModule?lr(r,"default",{value:e,enumerable:!0}):r,e)),Pa=e=>si(lr({},"__esModule",{value:!0}),e);var y,u=fe(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var b,c=fe(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=fe(()=>{"use strict";E=()=>{};E.prototype=E});var m=fe(()=>{"use strict"});var Ci=Fe(Ke=>{"use strict";f();u();c();p();m();var pi=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),va=pi(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=S;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var D=A.indexOf("=");D===-1&&(D=R);var M=D===R?0:4-D%4;return[D,M]}function l(A){var R=a(A),D=R[0],M=R[1];return(D+M)*3/4-M}function d(A,R,D){return(R+D)*3/4-D}function g(A){var R,D=a(A),M=D[0],B=D[1],k=new n(d(A,M,B)),F=0,ae=B>0?M-4:M,G;for(G=0;G>16&255,k[F++]=R>>8&255,k[F++]=R&255;return B===2&&(R=r[A.charCodeAt(G)]<<2|r[A.charCodeAt(G+1)]>>4,k[F++]=R&255),B===1&&(R=r[A.charCodeAt(G)]<<10|r[A.charCodeAt(G+1)]<<4|r[A.charCodeAt(G+2)]>>2,k[F++]=R>>8&255,k[F++]=R&255),k}function h(A){return t[A>>18&63]+t[A>>12&63]+t[A>>6&63]+t[A&63]}function v(A,R,D){for(var M,B=[],k=R;kae?ae:F+k));return M===1?(R=A[D-1],B.push(t[R>>2]+t[R<<4&63]+"==")):M===2&&(R=(A[D-2]<<8)+A[D-1],B.push(t[R>>10]+t[R>>4&63]+t[R<<2&63]+"=")),B.join("")}}),Ta=pi(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,d=(1<>1,h=-7,v=n?o-1:0,S=n?-1:1,A=t[r+v];for(v+=S,s=A&(1<<-h)-1,A>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=S,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=S,h-=8);if(s===0)s=1-g;else{if(s===d)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(A?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,d,g=s*8-o-1,h=(1<>1,S=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=i?0:s-1,R=i?1:-1,D=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-a))<1&&(a--,d*=2),a+v>=1?r+=S/d:r+=S*Math.pow(2,1-v),r*d>=2&&(a++,d/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*d-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+A]=l&255,A+=R,l/=256,o-=8);for(a=a<0;t[n+A]=a&255,A+=R,a/=256,g-=8);t[n+A-R]|=D*128}}),ln=va(),We=Ta(),ai=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ke.Buffer=T;Ke.SlowBuffer=Ia;Ke.INSPECT_MAX_BYTES=50;var ur=2147483647;Ke.kMaxLength=ur;T.TYPED_ARRAY_SUPPORT=Ca();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Ca(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function xe(e){if(e>ur)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return pn(e)}return mi(e,t,r)}T.poolSize=8192;function mi(e,t,r){if(typeof e=="string")return Ra(e,t);if(ArrayBuffer.isView(e))return Sa(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(de(e,ArrayBuffer)||e&&de(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(de(e,SharedArrayBuffer)||e&&de(e.buffer,SharedArrayBuffer)))return di(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=ka(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return mi(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function fi(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Aa(e,t,r){return fi(e),e<=0?xe(e):t!==void 0?typeof r=="string"?xe(e).fill(t,r):xe(e).fill(t):xe(e)}T.alloc=function(e,t,r){return Aa(e,t,r)};function pn(e){return fi(e),xe(e<0?0:mn(e)|0)}T.allocUnsafe=function(e){return pn(e)};T.allocUnsafeSlow=function(e){return pn(e)};function Ra(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=gi(e,t)|0,n=xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function un(e){let t=e.length<0?0:mn(e.length)|0,r=xe(t);for(let n=0;n=ur)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ur.toString(16)+" bytes");return e|0}function Ia(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(de(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),de(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function gi(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||de(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return cn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ti(e).length;default:if(i)return n?-1:cn(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=gi;function Oa(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return $a(this,t,r);case"utf8":case"utf-8":return yi(this,t,r);case"ascii":return Ua(this,t,r);case"latin1":case"binary":return qa(this,t,r);case"base64":return La(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ja(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ai&&(T.prototype[ai]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(de(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),d=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dn(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:li(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):li(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function li(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let d;if(i){let g=-1;for(d=r;ds&&(r=s-a),d=r;d>=0;d--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Da(this,e,t,r);case"utf8":case"utf-8":return Ma(this,e,t,r);case"ascii":case"latin1":case"binary":return _a(this,e,t,r);case"base64":return Na(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Fa(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function La(e,t,r){return t===0&&r===e.length?ln.fromByteArray(e):ln.fromByteArray(e.slice(t,r))}function yi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,d,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],d=e[i+2],(l&192)===128&&(d&192)===128&&(h=(o&15)<<12|(l&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],d=e[i+2],g=e[i+3],(l&192)===128&&(d&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(d&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Ba(n)}var ui=4096;function Ba(e){let t=e.length;if(t<=ui)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function te(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function wi(e,t,r,n,i){vi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function Ei(e,t,r,n,i){vi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Re(function(e,t=0){return wi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Re(function(e,t=0){return Ei(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Re(function(e,t=0){return wi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Re(function(e,t=0){return Ei(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function bi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function xi(e,t,r,n,i){return t=+t,r=r>>>0,i||bi(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return xi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return xi(this,e,t,!1,r)};function Pi(e,t,r,n,i){return t=+t,r=r>>>0,i||bi(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return Pi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return Pi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ci(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ci(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ci(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Va(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&vt(t,e.length-(r+1))}function vi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Je.ERR_OUT_OF_RANGE("value",a,e)}Va(n,i,o)}function He(e,t){if(typeof e!="number")throw new Je.ERR_INVALID_ARG_TYPE(t,"number",e)}function vt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Je.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Je.ERR_BUFFER_OUT_OF_BOUNDS:new Je.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Ga=/[^+/0-9A-Za-z-_]/g;function Qa(e){if(e=e.split("=")[0],e=e.trim().replace(Ga,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function cn(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Ja(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function Ti(e){return ln.toByteArray(Qa(e))}function cr(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function de(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dn(e){return e!==e}var Ha=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Re(e){return typeof BigInt>"u"?Ka:e}function Ka(){throw new Error("BigInt not supported")}});var w,f=fe(()=>{"use strict";w=Qe(Ci())});function tl(){return!1}function ji(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function rl(){return ji()}function nl(){return[]}function il(e){e(null,[])}function ol(){return""}function sl(){return""}function al(){}function ll(){}function ul(){}function cl(){}function pl(){}function ml(){}var fl,dl,Vi,Gi=fe(()=>{"use strict";f();u();c();p();m();fl={},dl={existsSync:tl,lstatSync:ji,statSync:rl,readdirSync:nl,readdir:il,readlinkSync:ol,realpathSync:sl,chmodSync:al,renameSync:ll,mkdirSync:ul,rmdirSync:cl,rmSync:pl,unlinkSync:ml,promises:fl},Vi=dl});function gl(...e){return e.join("/")}function hl(...e){return e.join("/")}function yl(e){let t=Qi(e),r=Ji(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Qi(e){let t=e.split("/");return t[t.length-1]}function Ji(e){return e.split("/").slice(0,-1).join("/")}var Wi,wl,El,dr,Hi=fe(()=>{"use strict";f();u();c();p();m();Wi="/",wl={sep:Wi},El={basename:Qi,dirname:Ji,join:hl,parse:yl,posix:wl,resolve:gl,sep:Wi},dr=El});var Ki=Fe((cf,bl)=>{bl.exports={name:"@prisma/internals",version:"6.8.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-engine-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Zi=Fe((kf,Yi)=>{"use strict";f();u();c();p();m();Yi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var to=Fe(($f,eo)=>{"use strict";f();u();c();p();m();eo.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var no=Fe((Wf,ro)=>{"use strict";f();u();c();p();m();var Sl=to();ro.exports=e=>typeof e=="string"?e.replace(Sl(),""):e});var In=Fe((Ny,vo)=>{"use strict";f();u();c();p();m();vo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";f();u();c();p();m()});var ko=fe(()=>{"use strict";f();u();c();p();m()});var Xo=Fe((n1,dc)=>{dc.exports={name:"@prisma/engines-version",version:"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"2060c79ba17c6bb9f5823312b6f6b7f4a845738e"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Vr,es=fe(()=>{"use strict";f();u();c();p();m();Vr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var xp={};Pt(xp,{DMMF:()=>Ot,Debug:()=>K,Decimal:()=>pe,Extensions:()=>gn,MetricsClient:()=>pt,PrismaClientInitializationError:()=>Q,PrismaClientKnownRequestError:()=>re,PrismaClientRustPanicError:()=>ve,PrismaClientUnknownRequestError:()=>ne,PrismaClientValidationError:()=>Z,Public:()=>hn,Sql:()=>oe,createParam:()=>Qo,defineDmmfProperty:()=>Yo,deserializeJsonResponse:()=>tt,deserializeRawResult:()=>rn,dmmfToRuntimeDataModel:()=>Po,empty:()=>rs,getPrismaClient:()=>da,getRuntime:()=>zr,join:()=>ts,makeStrictEnum:()=>ga,makeTypedQueryFactory:()=>Zo,objectEnumValues:()=>Mr,raw:()=>Un,serializeJsonQuery:()=>qr,skip:()=>Ur,sqltag:()=>qn,warnEnvConflicts:()=>void 0,warnOnce:()=>Rt});module.exports=Pa(xp);f();u();c();p();m();var gn={};Pt(gn,{defineExtension:()=>Ai,getExtensionContext:()=>Ri});f();u();c();p();m();f();u();c();p();m();function Ai(e){return typeof e=="function"?e:t=>t.$extends(e)}f();u();c();p();m();function Ri(e){return e}var hn={};Pt(hn,{validator:()=>Si});f();u();c();p();m();f();u();c();p();m();function Si(...e){return t=>t}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var yn,ki,Ii,Oi,Di=!0;typeof y<"u"&&({FORCE_COLOR:yn,NODE_DISABLE_COLORS:ki,NO_COLOR:Ii,TERM:Oi}=y.env||{},Di=y.stdout&&y.stdout.isTTY);var za={enabled:!ki&&Ii==null&&Oi!=="dumb"&&(yn!=null&&yn!=="0"||Di)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!za.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var mm=j(0,0),pr=j(1,22),mr=j(2,22),fm=j(3,23),Mi=j(4,24),dm=j(7,27),gm=j(8,28),hm=j(9,29),ym=j(30,39),ze=j(31,39),_i=j(32,39),Ni=j(33,39),Fi=j(34,39),wm=j(35,39),Li=j(36,39),Em=j(37,39),Bi=j(90,39),bm=j(90,39),xm=j(40,49),Pm=j(41,49),vm=j(42,49),Tm=j(43,49),Cm=j(44,49),Am=j(45,49),Rm=j(46,49),Sm=j(47,49);f();u();c();p();m();var Ya=100,Ui=["green","yellow","blue","magenta","cyan","red"],fr=[],qi=Date.now(),Za=0,wn=typeof y<"u"?y.env:{};globalThis.DEBUG??=wn.DEBUG??"";globalThis.DEBUG_COLORS??=wn.DEBUG_COLORS?wn.DEBUG_COLORS==="true":!0;var Tt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function Xa(e){let t={color:Ui[Za++%Ui.length],enabled:Tt.enabled(e),namespace:e,log:Tt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&fr.push([o,...n]),fr.length>Ya&&fr.shift(),Tt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:el(g)),d=`+${Date.now()-qi}ms`;qi=Date.now(),a(o,...l,d)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var K=new Proxy(Xa,{get:(e,t)=>Tt[t],set:(e,t,r)=>Tt[t]=r});function el(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function $i(){fr.length=0}f();u();c();p();m();f();u();c();p();m();var xl=Ki(),En=xl.version;f();u();c();p();m();function Ye(e){let t=Pl();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":vl(e))}function Pl(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function vl(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}f();u();c();p();m();var zi="prisma+postgres",gr=`${zi}:`;function hr(e){return e?.toString().startsWith(`${gr}//`)??!1}function bn(e){if(!hr(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")}var At={};Pt(At,{error:()=>Al,info:()=>Cl,log:()=>Tl,query:()=>Rl,should:()=>Xi,tags:()=>Ct,warn:()=>xn});f();u();c();p();m();var Ct={error:ze("prisma:error"),warn:Ni("prisma:warn"),info:Li("prisma:info"),query:Fi("prisma:query")},Xi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function Tl(...e){console.log(...e)}function xn(e,...t){Xi.warn()&&console.warn(`${Ct.warn} ${e}`,...t)}function Cl(e,...t){console.info(`${Ct.info} ${e}`,...t)}function Al(e,...t){console.error(`${Ct.error} ${e}`,...t)}function Rl(e,...t){console.log(`${Ct.query} ${e}`,...t)}f();u();c();p();m();function Pe(e,t){throw new Error(t)}f();u();c();p();m();function Pn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}f();u();c();p();m();function Ze(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}f();u();c();p();m();function vn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{io.has(e)||(io.add(e),xn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");f();u();c();p();m();var re=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(re,"PrismaClientKnownRequestError");f();u();c();p();m();var ve=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(ve,"PrismaClientRustPanicError");f();u();c();p();m();var ne=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(ne,"PrismaClientUnknownRequestError");f();u();c();p();m();var Z=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(Z,"PrismaClientValidationError");f();u();c();p();m();f();u();c();p();m();var Xe=9e15,Oe=1e9,Tn="0123456789abcdef",Er="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",br="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Cn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Xe,maxE:Xe,crypto:!1},uo,Te,_=!0,Pr="[DecimalError] ",Ie=Pr+"Invalid argument: ",co=Pr+"Precision limit exceeded",po=Pr+"crypto unavailable",mo="[object Decimal]",X=Math.floor,J=Math.pow,kl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Il=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Ol=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,fo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ce=1e7,O=7,Dl=9007199254740991,Ml=Er.length-1,An=br.length-1,C={toStringTag:mo};C.absoluteValue=C.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};C.ceil=function(){return I(new this.constructor(this),this.e+1,2)};C.clampedTo=C.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};C.comparedTo=C.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,d=e.s;if(!s||!a)return!l||!d?NaN:l!==d?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-d:0;if(l!==d)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};C.cosine=C.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=_l(n,Eo(n,r)),n.precision=e,n.rounding=t,I(Te==2||Te==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};C.cubeRoot=C.cbrt=function(){var e,t,r,n,i,o,s,a,l,d,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=z(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),d=l.plus(g),n=q(d.plus(g).times(a),d.plus(l),s+2,1),z(a.d).slice(0,s)===(r=z(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,I(n,e,h.rounding,t)};C.decimalPlaces=C.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-X(this.e/O))*O,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};C.dividedBy=C.div=function(e){return q(this,new this.constructor(e))};C.dividedToIntegerBy=C.divToInt=function(e){var t=this,r=t.constructor;return I(q(t,new r(e),0,1,1),r.precision,r.rounding)};C.equals=C.eq=function(e){return this.cmp(e)===0};C.floor=function(){return I(new this.constructor(this),this.e+1,3)};C.greaterThan=C.gt=function(e){return this.cmp(e)>0};C.greaterThanOrEqualTo=C.gte=function(e){var t=this.cmp(e);return t==1||t===0};C.hyperbolicCosine=C.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Tr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=et(s,1,o.times(t),new s(1),!0);for(var l,d=e,g=new s(8);d--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};C.hyperbolicSine=C.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=et(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Tr(5,e)),i=et(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),d=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(d))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};C.hyperbolicTangent=C.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,q(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};C.inverseCosine=C.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?ge(t,n,i):new t(0):new t(NaN):e.isZero()?ge(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};C.inverseHyperbolicCosine=C.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};C.inverseHyperbolicSine=C.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};C.inverseHyperbolicTangent=C.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=q(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};C.inverseSine=C.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=ge(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};C.inverseTangent=C.atan=function(){var e,t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding;if(d.isFinite()){if(d.isZero())return new g(d);if(d.abs().eq(1)&&h+4<=An)return s=ge(g,h+4,v).times(.25),s.s=d.s,s}else{if(!d.s)return new g(NaN);if(h+4<=An)return s=ge(g,h+4,v).times(.5),s.s=d.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/O+2|0),e=r;e;--e)d=d.div(d.times(d).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/O),n=1,l=d.times(d),s=new g(d),i=d;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};C.isNaN=function(){return!this.s};C.isNegative=C.isNeg=function(){return this.s<0};C.isPositive=C.isPos=function(){return this.s>0};C.isZero=function(){return!!this.d&&this.d[0]===0};C.lessThan=C.lt=function(e){return this.cmp(e)<0};C.lessThanOrEqualTo=C.lte=function(e){return this.cmp(e)<1};C.logarithm=C.log=function(e){var t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,v=g.rounding,S=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(1))return new g(r&&!r[0]?-1/0:d.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+S,s=ke(d,a),n=t?xr(g,a+10):ke(e,a),l=q(s,n,a,1),St(l.d,i=h,v))do if(a+=10,s=ke(d,a),n=t?xr(g,a+10):ke(e,a),l=q(s,n,a,1),!o){+z(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(St(l.d,i+=10,v));return _=!0,I(l,h,v)};C.minus=C.sub=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.constructor;if(e=new A(e),!S.d||!e.d)return!S.s||!e.s?e=new A(NaN):S.d?e.s=-e.s:e=new A(e.d||S.s!==e.s?S:NaN),e;if(S.s!=e.s)return e.s=-e.s,S.plus(e);if(d=S.d,v=e.d,a=A.precision,l=A.rounding,!d[0]||!v[0]){if(v[0])e.s=-e.s;else if(d[0])e=new A(S);else return new A(l===3?-0:0);return _?I(e,a,l):e}if(r=X(e.e/O),g=X(S.e/O),d=d.slice(),o=g-r,o){for(h=o<0,h?(t=d,o=-o,s=v.length):(t=v,r=g,s=d.length),n=Math.max(Math.ceil(a/O),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=d.length,s=v.length,h=n0;--n)d[s++]=0;for(n=v.length;n>o;){if(d[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=d.length,i=g.length,s-i<0&&(i=s,r=g,g=d,d=r),t=0;i;)t=(d[--i]=d[i]+g[i]+t)/ce|0,d[i]%=ce;for(t&&(d.unshift(t),++n),s=d.length;d[--s]==0;)d.pop();return e.d=d,e.e=vr(d,n),_?I(e,a,l):e};C.precision=C.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=go(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};C.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};C.sine=C.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Fl(n,Eo(n,r)),n.precision=e,n.rounding=t,I(Te>2?r.neg():r,e,t,!0)):new n(NaN)};C.squareRoot=C.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,d=s.s,g=s.constructor;if(d!==1||!a||!a[0])return new g(!d||d<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,d=Math.sqrt(+s),d==0||d==1/0?(t=z(a),(t.length+l)%2==0&&(t+="0"),d=Math.sqrt(t),l=X((l+1)/2)-(l<0||l%2),d==1/0?t="5e"+l:(t=d.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(d.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(q(s,o,r+2,1)).times(.5),z(o.d).slice(0,r)===(t=z(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,I(n,l,g.rounding,e)};C.tangent=C.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=q(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(Te==2||Te==4?r.neg():r,e,t,!0)):new n(NaN)};C.times=C.mul=function(e){var t,r,n,i,o,s,a,l,d,g=this,h=g.constructor,v=g.d,S=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!S||!S[0])return new h(!e.s||v&&!v[0]&&!S||S&&!S[0]&&!v?NaN:!v||!S?e.s/0:e.s*0);for(r=X(g.e/O)+X(e.e/O),l=v.length,d=S.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+S[n]*v[i-n-1]+t,o[i--]=a%ce|0,t=a/ce|0;o[i]=(o[i]+t)%ce|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=vr(o,r),_?I(e,h.precision,h.rounding):e};C.toBinary=function(e,t){return Sn(this,2,e,t)};C.toDecimalPlaces=C.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(ie(e,0,Oe),t===void 0?t=n.rounding:ie(t,0,8),I(r,e+r.e+1,t))};C.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=he(n,!0):(ie(e,0,Oe),t===void 0?t=i.rounding:ie(t,0,8),n=I(new i(n),e+1,t),r=he(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=he(i):(ie(e,0,Oe),t===void 0?t=o.rounding:ie(t,0,8),n=I(new o(i),e+i.e+1,t),r=he(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};C.toFraction=function(e){var t,r,n,i,o,s,a,l,d,g,h,v,S=this,A=S.d,R=S.constructor;if(!A)return new R(S);if(d=r=new R(1),n=l=new R(0),t=new R(n),o=t.e=go(A)-S.e-1,s=o%O,t.d[0]=J(10,s<0?O+s:s),e==null)e=o>0?t:d;else{if(a=new R(e),!a.isInt()||a.lt(d))throw Error(Ie+a);e=a.gt(t)?o>0?t:d:a}for(_=!1,a=new R(z(A)),g=R.precision,R.precision=o=A.length*O*2;h=q(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=d,d=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=q(e.minus(r),n,0,1,1),l=l.plus(i.times(d)),r=r.plus(i.times(n)),l.s=d.s=S.s,v=q(d,n,o,1).minus(S).abs().cmp(q(l,r,o,1).minus(S).abs())<1?[d,n]:[l,r],R.precision=g,_=!0,v};C.toHexadecimal=C.toHex=function(e,t){return Sn(this,16,e,t)};C.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:ie(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=q(r,e,0,t,1).times(e),_=!0,I(r)):(e.s=r.s,r=e),r};C.toNumber=function(){return+this};C.toOctal=function(e,t){return Sn(this,8,e,t)};C.toPower=C.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,d=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,d));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=X(e.e/O),t>=e.d.length-1&&(r=d<0?-d:d)<=Dl)return i=ho(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Rn(e.times(ke(a,n+r)),n),i.d&&(i=I(i,n+5,1),St(i.d,n,o)&&(t=n+10,i=I(Rn(e.times(ke(a,t+r)),t),t+5,1),+z(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,I(i,n,o))};C.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=he(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ie(e,1,Oe),t===void 0?t=i.rounding:ie(t,0,8),n=I(new i(n),e,t),r=he(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};C.toSignificantDigits=C.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(ie(e,1,Oe),t===void 0?t=n.rounding:ie(t,0,8)),I(new n(r),e,t)};C.toString=function(){var e=this,t=e.constructor,r=he(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};C.truncated=C.trunc=function(){return I(new this.constructor(this),this.e+1,1)};C.valueOf=C.toJSON=function(){var e=this,t=e.constructor,r=he(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function z(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(Ie+e)}function St(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=O,i=0):(i=Math.ceil((t+1)/O),t%=O),o=J(10,O-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function yr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function _l(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Tr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=et(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var q=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var d,g,h,v,S,A,R,D,M,B,k,F,ae,G,on,or,xt,sn,ue,sr,ar=n.constructor,an=n.s==i.s?1:-1,Y=n.d,$=i.d;if(!Y||!Y[0]||!$||!$[0])return new ar(!n.s||!i.s||(Y?$&&Y[0]==$[0]:!$)?NaN:Y&&Y[0]==0||!$?an*0:an/0);for(l?(S=1,g=n.e-i.e):(l=ce,S=O,g=X(n.e/S)-X(i.e/S)),ue=$.length,xt=Y.length,M=new ar(an),B=M.d=[],h=0;$[h]==(Y[h]||0);h++);if($[h]>(Y[h]||0)&&g--,o==null?(G=o=ar.precision,s=ar.rounding):a?G=o+(n.e-i.e)+1:G=o,G<0)B.push(1),A=!0;else{if(G=G/S+2|0,h=0,ue==1){for(v=0,$=$[0],G++;(h1&&($=e($,v,l),Y=e(Y,v,l),ue=$.length,xt=Y.length),or=ue,k=Y.slice(0,ue),F=k.length;F=l/2&&++sn;do v=0,d=t($,k,ue,F),d<0?(ae=k[0],ue!=F&&(ae=ae*l+(k[1]||0)),v=ae/sn|0,v>1?(v>=l&&(v=l-1),R=e($,v,l),D=R.length,F=k.length,d=t(R,k,D,F),d==1&&(v--,r(R,ue=10;v/=10)h++;M.e=h+g*S-1,I(M,a?o+M.e+1:o,s,A)}return M}}();function I(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=O,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/O),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=O,s=o-O+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=O,s=o-O+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),d=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,d?(t-=e.e+1,h[0]=J(10,(O-t%O)%O),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,O-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),d)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==ce&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=ce)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>S.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Se(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Se(-i-1)+o,r&&(n=r-s)>0&&(o+=Se(n))):i>=s?(o+=Se(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Se(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Se(n))),o}function vr(e,t){var r=e[0];for(t*=O;r>=10;r/=10)t++;return t}function xr(e,t,r){if(t>Ml)throw _=!0,r&&(e.precision=r),Error(co);return I(new e(Er),t,1,!0)}function ge(e,t,r){if(t>An)throw Error(co);return I(new e(br),t,r,!0)}function go(e){var t=e.length-1,r=t*O+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Se(e){for(var t="";e--;)t+="0";return t}function ho(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/O+4);for(_=!1;;){if(r%2&&(o=o.times(t),ao(o.d,s)&&(i=!0)),r=X(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),ao(t.d,s)}return _=!0,o}function so(e){return e.d[e.d.length-1]&1}function yo(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=A):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus(q(o,r,l,1)),z(a.d).slice(0,l)===z(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(d<3&&St(s.d,l-n,S,d))v.precision=l+=10,r=o=a=new v(1),g=0,d++;else return I(s,v.precision=A,S,_=!0);else return v.precision=A,s}s=a}}function ke(e,t){var r,n,i,o,s,a,l,d,g,h,v,S=1,A=10,R=e,D=R.d,M=R.constructor,B=M.rounding,k=M.precision;if(R.s<0||!D||!D[0]||!R.e&&D[0]==1&&D.length==1)return new M(D&&!D[0]?-1/0:R.s!=1?NaN:D?0:R);if(t==null?(_=!1,g=k):g=t,M.precision=g+=A,r=z(D),n=r.charAt(0),Math.abs(o=R.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)R=R.times(e),r=z(R.d),n=r.charAt(0),S++;o=R.e,n>1?(R=new M("0."+r),o++):R=new M(n+"."+r.slice(1))}else return d=xr(M,g+2,k).times(o+""),R=ke(new M(n+"."+r.slice(1)),g-A).plus(d),M.precision=k,t==null?I(R,k,B,_=!0):R;for(h=R,l=s=R=q(R.minus(1),R.plus(1),g,1),v=I(R.times(R),g,1),i=3;;){if(s=I(s.times(v),g,1),d=l.plus(q(s,new M(i),g,1)),z(d.d).slice(0,g)===z(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(xr(M,g+2,k).times(o+""))),l=q(l,new M(S),g,1),t==null)if(St(l.d,g-A,B,a))M.precision=g+=A,d=s=R=q(h.minus(1),h.plus(1),g,1),v=I(R.times(R),g,1),i=a=1;else return I(l,M.precision=k,B,_=!0);else return M.precision=k,l;l=d,i+=2}}function wo(e){return String(e.s*e.s/0)}function wr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%O,r<0&&(n+=O),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),fo.test(t))return wr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Il.test(t))r=16,t=t.toLowerCase();else if(kl.test(t))r=2;else if(Ol.test(t))r=8;else throw Error(Ie+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=ho(n,new n(r),o,o*2)),d=yr(t,r,ce),g=d.length-1,o=g;d[o]===0;--o)d.pop();return o<0?new n(e.s*0):(e.e=vr(d,g),e.d=d,_=!1,s&&(e=q(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):Be.pow(2,l))),_=!0,e)}function Fl(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:et(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Tr(5,r)),t=et(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function et(e,t,r,n,i){var o,s,a,l,d=1,g=e.precision,h=Math.ceil(g/O);for(_=!1,l=r.times(r),a=new e(n);;){if(s=q(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=q(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,d++}return _=!0,s.d.length=h+1,s}function Tr(e,t){for(var r=e;--t;)r*=e;return r}function Eo(e,t){var r,n=t.s<0,i=ge(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Te=n?4:1,t;if(r=t.divToInt(i),r.isZero())Te=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Te=so(r)?n?2:3:n?4:1,t;Te=so(r)?n?1:4:n?3:2}return t.minus(i).abs()}function Sn(e,t,r,n){var i,o,s,a,l,d,g,h,v,S=e.constructor,A=r!==void 0;if(A?(ie(r,1,Oe),n===void 0?n=S.rounding:ie(n,0,8)):(r=S.precision,n=S.rounding),!e.isFinite())g=wo(e);else{for(g=he(e),s=g.indexOf("."),A?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new S(1),v.e=g.length-s,v.d=yr(he(v),10,i),v.e=v.d.length),h=yr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=A?"0p+0":"0";else{if(s<0?o--:(e=new S(e),e.d=h,e.e=o,e=q(e,v,r,n,0,i),h=e.d,o=e.e,d=uo),s=h[r],a=i/2,d=d||h[r+1]!==void 0,d=n<4?(s!==void 0||d)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||d||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,d)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=yr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Ll(e){return new this(e).abs()}function Bl(e){return new this(e).acos()}function Ul(e){return new this(e).acosh()}function ql(e,t){return new this(e).plus(t)}function $l(e){return new this(e).asin()}function jl(e){return new this(e).asinh()}function Vl(e){return new this(e).atan()}function Gl(e){return new this(e).atanh()}function Ql(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=ge(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?ge(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=ge(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(q(e,t,o,1)),t=ge(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(q(e,t,o,1)),r}function Jl(e){return new this(e).cbrt()}function Wl(e){return I(e=new this(e),e.e+1,2)}function Hl(e,t,r){return new this(e).clamp(t,r)}function Kl(e){if(!e||typeof e!="object")throw Error(Pr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Oe,"rounding",0,8,"toExpNeg",-Xe,0,"toExpPos",0,Xe,"maxE",0,Xe,"minE",-Xe,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",i&&(this[r]=Cn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(po);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function zl(e){return new this(e).cos()}function Yl(e){return new this(e).cosh()}function bo(e){var t,r,n;function i(o){var s,a,l,d=this;if(!(d instanceof i))return new i(o);if(d.constructor=i,lo(o)){d.s=o.s,_?!o.d||o.e>i.maxE?(d.e=NaN,d.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(d.e=NaN,d.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(po);else for(;o=10;i/=10)n++;nIt,datamodelEnumToSchemaEnum:()=>Tu});f();u();c();p();m();f();u();c();p();m();function Tu(e){return{name:e.name,values:e.values.map(t=>t.name)}}f();u();c();p();m();var It=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(It||{});var Cu=Qe(Zi());var Au={red:ze,gray:Bi,dim:mr,bold:pr,underline:Mi,highlightSource:e=>e.highlight()},Ru={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Su({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function ku({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(Iu(t))),i){a.push("");let d=[i.toString()];o&&(d.push(o),d.push(s.dim(")"))),a.push(d.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function Iu(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function Ar(e){let t=e.showColors?Au:Ru,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=Su(e),ku(r,t)}f();u();c();p();m();var Oo=Qe(In());f();u();c();p();m();function Ao(e,t,r){let n=Ro(e),i=Ou(n),o=Mu(i);o?Rr(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Ro(e){return e.errors.flatMap(t=>t.kind==="Union"?Ro(t):[t])}function Ou(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:Du(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function Du(e,t){return[...new Set(e.concat(t))]}function Mu(e){return vn(e,(t,r)=>{let n=To(t),i=To(r);return n!==i?n-i:Co(t)-Co(r)})}function To(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function Co(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}f();u();c();p();m();var le=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};f();u();c();p();m();f();u();c();p();m();ko();f();u();c();p();m();var it=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};So();f();u();c();p();m();f();u();c();p();m();var Sr=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};f();u();c();p();m();var kr=e=>e,Ir={bold:kr,red:kr,green:kr,dim:kr,enabled:!1},Io={bold:pr,red:ze,green:_i,dim:mr,enabled:!0},ot={write(e){e.writeLine(",")}};f();u();c();p();m();var we=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};f();u();c();p();m();var Me=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var st=class extends Me{items=[];addItem(t){return this.items.push(new Sr(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new we("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(ot,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var at=class e extends Me{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof st&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new we("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(ot,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};f();u();c();p();m();var H=class extends Me{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new we(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};f();u();c();p();m();var Dt=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(ot,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Rr(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":_u(e,t);break;case"IncludeOnScalar":Nu(e,t);break;case"EmptySelection":Fu(e,t,r);break;case"UnknownSelectionField":qu(e,t);break;case"InvalidSelectionValue":$u(e,t);break;case"UnknownArgument":ju(e,t);break;case"UnknownInputField":Vu(e,t);break;case"RequiredArgumentMissing":Gu(e,t);break;case"InvalidArgumentType":Qu(e,t);break;case"InvalidArgumentValue":Ju(e,t);break;case"ValueTooLarge":Wu(e,t);break;case"SomeFieldsMissing":Hu(e,t);break;case"TooManyFieldsGiven":Ku(e,t);break;case"Union":Ao(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function _u(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Nu(e,t){let[r,n]=Mt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new le(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${_t(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Fu(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Lu(e,t,i);return}if(n.hasField("select")){Bu(e,t);return}}if(r?.[De(e.outputType.name)]){Uu(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Lu(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new le(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Bu(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),_o(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${_t(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function Uu(e,t){let r=new Dt;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new le("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=Mt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new at;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function qu(e,t){let r=No(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":_o(n,e.outputType);break;case"include":zu(n,e.outputType);break;case"omit":Yu(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(_t(n)),i.join(" ")})}function $u(e,t){let r=No(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function ju(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Zu(n,e.arguments)),t.addErrorMessage(i=>Do(i,r,e.arguments.map(o=>o.name)))}function Vu(e,t){let[r,n]=Mt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Fo(o,e.inputType)}t.addErrorMessage(o=>Do(o,n,e.inputType.fields.map(s=>s.name)))}function Do(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=ec(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(_t(e)),n.join(" ")}function Gu(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=Mt(e.argumentPath),s=new Dt,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new le(o,s).makeRequired())}else{let l=e.inputTypes.map(Mo).join(" | ");a.addSuggestion(new le(o,l).makeRequired())}}function Mo(e){return e.kind==="list"?`${Mo(e.elementType)}[]`:e.name}function Qu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Or("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Ju(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Or("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Wu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Hu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Fo(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Or("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(_t(i)),o.join(" ")})}function Ku(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Or("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function _o(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,"true"))}function zu(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new le(r.name,"true"))}function Yu(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new le(r.name,"true"))}function Zu(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function No(e,t){let[r,n]=Mt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Fo(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function Mt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function _t({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Or(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Xu=3;function ec(e,t){let r=1/0,n;for(let i of t){let o=(0,Oo.default)(e,i);o>Xu||o`}};function lt(e){return e instanceof Nt}f();u();c();p();m();var Dr=Symbol(),Dn=new WeakMap,Ce=class{constructor(t){t===Dr?Dn.set(this,`Prisma.${this._getName()}`):Dn.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Dn.get(this)}},Ft=class extends Ce{_getNamespace(){return"NullTypes"}},Lt=class extends Ft{#e};Mn(Lt,"DbNull");var Bt=class extends Ft{#e};Mn(Bt,"JsonNull");var Ut=class extends Ft{#e};Mn(Ut,"AnyNull");var Mr={classes:{DbNull:Lt,JsonNull:Bt,AnyNull:Ut},instances:{DbNull:new Lt(Dr),JsonNull:new Bt(Dr),AnyNull:new Ut(Dr)}};function Mn(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}f();u();c();p();m();var Lo=": ",_r=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Lo.length}write(t){let r=new we(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Lo).write(this.value)}};var _n=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function ut(e){return new _n(Bo(e))}function Bo(e){let t=new at;for(let[r,n]of Object.entries(e)){let i=new _r(r,Uo(n));t.addField(i)}return t}function Uo(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(nt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=Cr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Ce?new H(`Prisma.${e._getName()}`):lt(e)?new H(`prisma.${De(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?tc(e):typeof e=="object"?Bo(e):new H(Object.prototype.toString.call(e))}function tc(e){let t=new st;for(let r of e)t.addItem(Uo(r));return t}function Nr(e,t){let r=t==="pretty"?Io:Ir,n=e.renderAllMessages(r),i=new it(0,{colors:r}).write(e).toString();return{message:n,args:i}}function Fr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ut(e);for(let h of t)Rr(h,a,s);let{message:l,args:d}=Nr(a,r),g=Ar({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:d});throw new Z(g,{clientVersion:o})}f();u();c();p();m();f();u();c();p();m();function Ee(e){return e.replace(/^./,t=>t.toLowerCase())}f();u();c();p();m();function $o(e,t,r){let n=Ee(r);return!t.result||!(t.result.$allModels||t.result[n])?e:rc({...e,...qo(t.name,e,t.result.$allModels),...qo(t.name,e,t.result[n])})}function rc(e){let t=new ye,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return Ze(e,n=>({...n,needs:r(n.name,new Set)}))}function qo(e,t,r){return r?Ze(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:nc(t,o,i)})):{}}function nc(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function jo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Vo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Lr=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new ye;modelExtensionsCache=new ye;queryCallbacksCache=new ye;clientExtensions=kt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=kt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>$o(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ee(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ct=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Lr(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Lr(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};f();u();c();p();m();var Br=class{constructor(t){this.name=t}};function Go(e){return e instanceof Br}function Qo(e){return new Br(e)}f();u();c();p();m();f();u();c();p();m();var Jo=Symbol(),qt=class{constructor(t){if(t!==Jo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Ur:t}},Ur=new qt(Jo);function be(e){return e instanceof qt}var ic={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Wo="explicitly `undefined` values are not allowed";function qr({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ct.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g}){let h=new Nn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g});return{modelName:e,action:ic[t],query:$t(r,h)}}function $t({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Ko(r,n),selection:oc(e,t,i,n)}}function oc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),uc(e,n)):sc(n,t,r)}function sc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&ac(n,t,e),lc(n,r,e),n}function ac(e,t,r){for(let[n,i]of Object.entries(t)){if(be(i))continue;let o=r.nestSelection(n);if(Fn(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=$t(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=$t(i,o)}}function lc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Vo(i,n);for(let[s,a]of Object.entries(o)){if(be(a))continue;Fn(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function uc(e,t){let r={},n=t.getComputedFields(),i=jo(e,n);for(let[o,s]of Object.entries(i)){if(be(s))continue;let a=t.nestSelection(o);Fn(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||be(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=$t({},a):r[o]=!0;continue}r[o]=$t(s,a)}}return r}function Ho(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(rt(e)){if(Cr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Go(e))return{$type:"Param",value:e.name};if(lt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return cc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(pc(e))return e.values;if(nt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Ce){if(e!==Mr.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(mc(e))return e.toJSON();if(typeof e=="object")return Ko(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Ko(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);be(i)||(i!==void 0?r[n]=Ho(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Wo}))}return r}function cc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[De(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Pe(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};f();u();c();p();m();function zo(e){if(!e._hasPreviewFlag("metrics"))throw new Z("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var pt=class{_client;constructor(t){this._client=t}prometheus(t){return zo(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return zo(this._client),this._client._engine.metrics({format:"json",...t})}};f();u();c();p();m();function Yo(e,t){let r=kt(()=>fc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function fc(e){return{datamodel:{models:Ln(e.models),enums:Ln(e.enums),types:Ln(e.types)}}}function Ln(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}f();u();c();p();m();var Bn=new WeakMap,$r="$$PrismaTypedSql",jt=class{constructor(t,r){Bn.set(this,{sql:t,values:r}),Object.defineProperty(this,$r,{value:$r})}get sql(){return Bn.get(this).sql}get values(){return Bn.get(this).values}};function Zo(e){return(...t)=>new jt(e,t)}function jr(e){return e!=null&&e[$r]===$r}f();u();c();p();m();var fa=Qe(Xo());f();u();c();p();m();es();Gi();Hi();f();u();c();p();m();var oe=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}f();u();c();p();m();f();u();c();p();m();var Gr={enumerable:!0,configurable:!0,writable:!0};function Qr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Gr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var ns=Symbol.for("nodejs.util.inspect.custom");function me(e,t){let r=gc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=is(Reflect.ownKeys(o),r),a=is(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...Gr,...l?.getPropertyDescriptor(s)}:Gr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ns]=function(){let o={...this};return delete o[ns],o},i}function gc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function is(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}f();u();c();p();m();function mt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}f();u();c();p();m();function Jr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}f();u();c();p();m();function os(e){if(e===void 0)return"";let t=ut(e);return new it(0,{colors:Ir}).write(t).toString()}f();u();c();p();m();var hc="P2037";function Wr({error:e,user_facing_error:t},r,n){return t.error_code?new re(yc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new ne(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function yc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===hc&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var $n=class{getLocation(){return null}};function _e(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new $n}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var ss={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function ft(e={}){let t=Ec(e);return Object.entries(t).reduce((n,[i,o])=>(ss[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Ec(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Hr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function as(e,t){let r=Hr(e);return t({action:"aggregate",unpacker:r,argsMapper:ft})(e)}f();u();c();p();m();function bc(e={}){let{select:t,...r}=e;return typeof t=="object"?ft({...r,_count:t}):ft({...r,_count:{_all:!0}})}function xc(e={}){return typeof e.select=="object"?t=>Hr(e)(t)._count:t=>Hr(e)(t)._count._all}function ls(e,t){return t({action:"count",unpacker:xc(e),argsMapper:bc})(e)}f();u();c();p();m();function Pc(e={}){let t=ft(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function vc(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function us(e,t){return t({action:"groupBy",unpacker:vc(e),argsMapper:Pc})(e)}function cs(e,t,r){if(t==="aggregate")return n=>as(n,r);if(t==="count")return n=>ls(n,r);if(t==="groupBy")return n=>us(n,r)}f();u();c();p();m();function ps(e,t){let r=t.fields.filter(i=>!i.relationName),n=xo(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Nt(e,o,s.type,s.isList,s.kind==="enum")},...Qr(Object.keys(n))})}f();u();c();p();m();f();u();c();p();m();var ms=e=>Array.isArray(e)?e:e.split("."),jn=(e,t)=>ms(t).reduce((r,n)=>r&&r[n],e),fs=(e,t,r)=>ms(t).reduceRight((n,i,o,s)=>Object.assign({},jn(e,s.slice(0,o)),{[i]:n}),r);function Tc(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function Cc(e,t,r){return t===void 0?e??{}:fs(t,r,e||!0)}function Vn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,d)=>({...l,[d.name]:d}),{});return l=>{let d=_e(e._errorFormat),g=Tc(n,i),h=Cc(l,o,g),v=r({dataPath:g,callsite:d})(h),S=Ac(e,t);return new Proxy(v,{get(A,R){if(!S.includes(R))return A[R];let M=[a[R].type,r,R],B=[g,h];return Vn(e,...M,...B)},...Qr([...S,...Object.getOwnPropertyNames(v)])})}}function Ac(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Rc=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Sc=["aggregate","count","groupBy"];function Gn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[kc(e,t),Oc(e,t),Vt(r),ee("name",()=>t),ee("$name",()=>t),ee("$parent",()=>e._appliedParent)];return me({},n)}function kc(e,t){let r=Ee(t),n=Object.keys(It).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let d=_e(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:d};return e._request({...h,...a})},{action:o,args:l,model:t})};return Rc.includes(o)?Vn(e,t,s):Ic(i)?cs(e,i,s):s({})}}}function Ic(e){return Sc.includes(e)}function Oc(e,t){return Ue(ee("fields",()=>{let r=e._runtimeDataModel.models[t];return ps(t,r)}))}f();u();c();p();m();function ds(e){return e.replace(/^./,t=>t.toUpperCase())}var Qn=Symbol();function Gt(e){let t=[Dc(e),Mc(e),ee(Qn,()=>e),ee("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Vt(r)),me(e,t)}function Dc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function Mc(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ee),n=[...new Set(t.concat(r))];return Ue({getKeys(){return n},getPropertyValue(i){let o=ds(i);if(e._runtimeDataModel.models[o]!==void 0)return Gn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Gn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function gs(e){return e[Qn]?e[Qn]:e}function hs(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Gt(t)}f();u();c();p();m();f();u();c();p();m();function ys({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let d=l.needs.filter(g=>n[g]);d.length>0&&a.push(mt(d))}else if(r){if(!r[l.name])continue;let d=l.needs.filter(g=>!r[g]);d.length>0&&a.push(mt(d))}_c(e,l.needs)&&s.push(Nc(l,me(e,s)))}return s.length>0||a.length>0?me(e,[...s,...a]):e}function _c(e,t){return t.every(r=>Pn(e,r))}function Nc(e,t){return Ue(ee(e.name,()=>e.compute(t)))}f();u();c();p();m();function Kr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let d=typeof s=="object"?s:{};t[o]=Kr({visitor:i,result:t[o],args:d,modelName:l.type,runtimeDataModel:n})}}function Es({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Kr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,d)=>{let g=Ee(l);return ys({result:a,modelName:g,select:d.select,omit:d.select?void 0:{...o?.[g],...d.omit},extensions:n})}})}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Fc=["$connect","$disconnect","$on","$transaction","$use","$extends"],bs=Fc;function xs(e){if(e instanceof oe)return Lc(e);if(jr(e))return Bc(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:xs(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=Rs(o,l),a.args=s,vs(e,a,r,n+1)}})})}function Ts(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return vs(e,t,s)}function Cs(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?As(r,n,0,e):e(r)}}function As(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=Rs(i,l),As(a,t,r+1,n)}})}var Ps=e=>e;function Rs(e=Ps,t=Ps){return r=>e(t(r))}f();u();c();p();m();var Ss=K("prisma:client"),ks={Vercel:"vercel","Netlify CI":"netlify"};function Is({postinstall:e,ciName:t,clientVersion:r}){if(Ss("checkPlatformCaching:postinstall",e),Ss("checkPlatformCaching:ciName",t),e===!0&&t&&t in ks){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. -Learn how: https://pris.ly/d/${Ss[t]}-build`;throw console.error(n),new Q(n,r)}}f();u();c();p();m();function Is(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}f();u();c();p();m();f();u();c();p();m();var Bc=()=>globalThis.process?.release?.name==="node",qc=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Uc=()=>!!globalThis.Deno,$c=()=>typeof globalThis.Netlify=="object",jc=()=>typeof globalThis.EdgeRuntime=="object",Vc=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Gc(){return[[$c,"netlify"],[jc,"edge-light"],[Vc,"workerd"],[Uc,"deno"],[qc,"bun"],[Bc,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Qc={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Hr(){let e=Gc();return{id:e,prettyName:Qc[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();function dt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw Hr().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. +Learn how: https://pris.ly/d/${ks[t]}-build`;throw console.error(n),new Q(n,r)}}f();u();c();p();m();function Os(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}f();u();c();p();m();f();u();c();p();m();var Uc=()=>globalThis.process?.release?.name==="node",qc=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,$c=()=>!!globalThis.Deno,jc=()=>typeof globalThis.Netlify=="object",Vc=()=>typeof globalThis.EdgeRuntime=="object",Gc=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Qc(){return[[jc,"netlify"],[Vc,"edge-light"],[Gc,"workerd"],[$c,"deno"],[qc,"bun"],[Uc,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Jc={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function zr(){let e=Qc();return{id:e,prettyName:Jc[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}f();u();c();p();m();var Ds="6.8.2";f();u();c();p();m();f();u();c();p();m();function dt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw zr().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. -To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}f();u();c();p();m();f();u();c();p();m();var Kr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var se=class extends Kr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};f();u();c();p();m();f();u();c();p();m();function L(e,t){return{...e,isRetryable:t}}var gt=class extends se{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",L(t,!0))}};N(gt,"ForcedRetryError");f();u();c();p();m();var Ue=class extends se{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,L(r,!1))}};N(Ue,"InvalidDatasourceError");f();u();c();p();m();var $e=class extends se{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,L(r,!1))}};N($e,"NotImplementedYetError");f();u();c();p();m();f();u();c();p();m();var V=class extends se{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var je=class extends V{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",L(t,!0))}};N(je,"SchemaMissingError");f();u();c();p();m();f();u();c();p();m();var Qn="This request could not be understood by the server",Jt=class extends V{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Qn,L(t,!1)),n&&(this.code=n)}};N(Jt,"BadRequestError");f();u();c();p();m();var Wt=class extends V{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",L(t,!0)),this.logs=r}};N(Wt,"HealthcheckTimeoutError");f();u();c();p();m();var Ht=class extends V{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,L(t,!0)),this.logs=n}};N(Ht,"EngineStartupError");f();u();c();p();m();var Kt=class extends V{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",L(t,!1))}};N(Kt,"EngineVersionNotSupportedError");f();u();c();p();m();var Jn="Request timed out",zt=class extends V{name="GatewayTimeoutError";code="P5009";constructor(t,r=Jn){super(r,L(t,!1))}};N(zt,"GatewayTimeoutError");f();u();c();p();m();var Jc="Interactive transaction error",Yt=class extends V{name="InteractiveTransactionError";code="P5015";constructor(t,r=Jc){super(r,L(t,!1))}};N(Yt,"InteractiveTransactionError");f();u();c();p();m();var Wc="Request parameters are invalid",Zt=class extends V{name="InvalidRequestError";code="P5011";constructor(t,r=Wc){super(r,L(t,!1))}};N(Zt,"InvalidRequestError");f();u();c();p();m();var Wn="Requested resource does not exist",Xt=class extends V{name="NotFoundError";code="P5003";constructor(t,r=Wn){super(r,L(t,!1))}};N(Xt,"NotFoundError");f();u();c();p();m();var Hn="Unknown server error",ht=class extends V{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Hn,L(t,!0)),this.logs=n}};N(ht,"ServerError");f();u();c();p();m();var Kn="Unauthorized, check your connection string",er=class extends V{name="UnauthorizedError";code="P5007";constructor(t,r=Kn){super(r,L(t,!1))}};N(er,"UnauthorizedError");f();u();c();p();m();var zn="Usage exceeded, retry again later",tr=class extends V{name="UsageExceededError";code="P5008";constructor(t,r=zn){super(r,L(t,!0))}};N(tr,"UsageExceededError");async function Hc(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function rr(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await Hc(e);if(n.type==="QueryEngineError")throw new re(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new ht(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new je(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Kt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Ht(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Wt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Yt(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Zt(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new er(r,yt(Kn,n));if(e.status===404)return new Xt(r,yt(Wn,n));if(e.status===429)throw new tr(r,yt(zn,n));if(e.status===504)throw new zt(r,yt(Jn,n));if(e.status>=500)throw new ht(r,yt(Hn,n));if(e.status>=400)throw new Jt(r,yt(Qn,n))}function yt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}f();u();c();p();m();function Os(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}f();u();c();p();m();var Ae="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ds(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,d,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,d=g&63,r+=Ae[s]+Ae[a]+Ae[l]+Ae[d];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ae[s]+Ae[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ae[s]+Ae[a]+Ae[l]+"="),r}f();u();c();p();m();function Ms(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}f();u();c();p();m();function Kc(e){return e[0]*1e3+e[1]/1e6}function Yn(e){return new Date(Kc(e))}f();u();c();p();m();var _s={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};f();u();c();p();m();f();u();c();p();m();var nr=class extends se{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: -${t}`,L(r,!0))}};N(nr,"RequestError");async function Ve(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new nr(a,{clientVersion:n,cause:s})}}var Yc=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Ns=K("prisma:client:dataproxyEngine");async function Zc(e,t){let r=_s["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Yc.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){if(e.startsWith("localhost")||e.startsWith("127.0.0.1"))return"0.0.0";let[s]=r.split("-")??[],[a,l,d]=s.split("."),g=Xc(`<=${a}.${l}.${d}`),h=await Ve(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let v=await h.text();Ns("length of body fetched from unpkg.com",v.length);let S;try{S=JSON.parse(v)}catch(A){throw console.error("JSON.parse error: body fetched from unpkg.com: ",v),A}return S.version}throw new $e("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Fs(e,t){let r=await Zc(e,t);return Ns("version",r),r}function Xc(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Ls=3,zr=K("prisma:client:dataproxyEngine"),Zn=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,interactiveTransaction:r}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-transaction-id"]=r.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}},wt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;constructor(t){Ms(t),this.config=t,this.env={...t.env,...typeof y<"u"?y.env:{}},this.inlineSchema=Ds(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let[t,r]=this.extractHostAndApiKey();this.host=t,this.headerBuilder=new Zn({apiKey:r,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await Fs(t,this.config),zr("host",this.host)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":zr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Yn(r.timestamp),message:r.attributes.message??"",target:r.target});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Yn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`https://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await Ve(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||zr("schema response status",r.status);let n=await rr(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Gr(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,interactiveTransaction:i}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||zr("graphql response status",a.status),await this.handleError(await rr(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await Ve(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await rr(l,this.clientVersion));let d=await l.json(),{extensions:g}=d;g&&this.propagateResponseExtensions(g);let h=d.id,v=d["data-proxy"].endpoint;return{id:h,payload:{endpoint:v}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await rr(a,this.clientVersion));let l=await a.json(),{extensions:d}=l;d&&this.propagateResponseExtensions(d);return}}})}extractHostAndApiKey(){let t={clientVersion:this.clientVersion},r=Object.keys(this.inlineDatasources)[0],n=dt({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new Ue(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,host:s,searchParams:a}=i;if(o!=="prisma:"&&o!==dr)throw new Ue(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t);let l=a.get("api_key");if(l===null||l.length<1)throw new Ue(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);return[s,l]}metrics(){throw new $e("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof se)||!i.isRetryable)throw i;if(r>=Ls)throw i instanceof gt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Ls} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Os(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof je)throw await this.uploadSchema(),new gt({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Qr(t[0],this.config.clientVersion,this.config.activeProvider):new ne(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function Bs({copyEngine:e=!0},t){let r;try{r=dt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||En(r));e&&n&&Rt("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Ye(t.generator),o=n||!e,s=!!t.adapter,a=i==="library",l=i==="binary",d=i==="client";if(o&&s||s){let g;throw g=["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."],new Z(g.join(` -`),{clientVersion:t.clientVersion})}return o?new wt(t):new wt(t)}f();u();c();p();m();function Yr({generator:e}){return e?.previewFeatures??[]}f();u();c();p();m();var qs=e=>({command:e});f();u();c();p();m();f();u();c();p();m();var Us=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);f();u();c();p();m();function Et(e){try{return $s(e,"fast")}catch{return $s(e,"slow")}}function $s(e,t){return JSON.stringify(e.map(r=>Vs(r,t)))}function Vs(e,t){if(Array.isArray(e))return e.map(r=>Vs(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(rt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(he.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(ep(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Gs(e):e}function ep(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Gs(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(js);let t={};for(let r of Object.keys(e))t[r]=js(e[r]);return t}function js(e){return typeof e=="bigint"?e.toString():Gs(e)}var tp=/^(\s*alter\s)/i,Qs=K("prisma:client");function Xn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&tp.exec(t))throw new Error(`Running ALTER using ${n} is not supported +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}f();u();c();p();m();f();u();c();p();m();var Yr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var se=class extends Yr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};f();u();c();p();m();f();u();c();p();m();function L(e,t){return{...e,isRetryable:t}}var gt=class extends se{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",L(t,!0))}};N(gt,"ForcedRetryError");f();u();c();p();m();var qe=class extends se{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,L(r,!1))}};N(qe,"InvalidDatasourceError");f();u();c();p();m();var $e=class extends se{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,L(r,!1))}};N($e,"NotImplementedYetError");f();u();c();p();m();f();u();c();p();m();var V=class extends se{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var je=class extends V{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",L(t,!0))}};N(je,"SchemaMissingError");f();u();c();p();m();f();u();c();p();m();var Jn="This request could not be understood by the server",Jt=class extends V{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Jn,L(t,!1)),n&&(this.code=n)}};N(Jt,"BadRequestError");f();u();c();p();m();var Wt=class extends V{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",L(t,!0)),this.logs=r}};N(Wt,"HealthcheckTimeoutError");f();u();c();p();m();var Ht=class extends V{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,L(t,!0)),this.logs=n}};N(Ht,"EngineStartupError");f();u();c();p();m();var Kt=class extends V{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",L(t,!1))}};N(Kt,"EngineVersionNotSupportedError");f();u();c();p();m();var Wn="Request timed out",zt=class extends V{name="GatewayTimeoutError";code="P5009";constructor(t,r=Wn){super(r,L(t,!1))}};N(zt,"GatewayTimeoutError");f();u();c();p();m();var Hc="Interactive transaction error",Yt=class extends V{name="InteractiveTransactionError";code="P5015";constructor(t,r=Hc){super(r,L(t,!1))}};N(Yt,"InteractiveTransactionError");f();u();c();p();m();var Kc="Request parameters are invalid",Zt=class extends V{name="InvalidRequestError";code="P5011";constructor(t,r=Kc){super(r,L(t,!1))}};N(Zt,"InvalidRequestError");f();u();c();p();m();var Hn="Requested resource does not exist",Xt=class extends V{name="NotFoundError";code="P5003";constructor(t,r=Hn){super(r,L(t,!1))}};N(Xt,"NotFoundError");f();u();c();p();m();var Kn="Unknown server error",ht=class extends V{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Kn,L(t,!0)),this.logs=n}};N(ht,"ServerError");f();u();c();p();m();var zn="Unauthorized, check your connection string",er=class extends V{name="UnauthorizedError";code="P5007";constructor(t,r=zn){super(r,L(t,!1))}};N(er,"UnauthorizedError");f();u();c();p();m();var Yn="Usage exceeded, retry again later",tr=class extends V{name="UsageExceededError";code="P5008";constructor(t,r=Yn){super(r,L(t,!0))}};N(tr,"UsageExceededError");async function zc(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function rr(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await zc(e);if(n.type==="QueryEngineError")throw new re(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new ht(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new je(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Kt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Ht(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Wt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Yt(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Zt(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new er(r,yt(zn,n));if(e.status===404)return new Xt(r,yt(Hn,n));if(e.status===429)throw new tr(r,yt(Yn,n));if(e.status===504)throw new zt(r,yt(Wn,n));if(e.status>=500)throw new ht(r,yt(Kn,n));if(e.status>=400)throw new Jt(r,yt(Jn,n))}function yt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}f();u();c();p();m();function Ms(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}f();u();c();p();m();var Ae="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function _s(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,d,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,d=g&63,r+=Ae[s]+Ae[a]+Ae[l]+Ae[d];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ae[s]+Ae[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ae[s]+Ae[a]+Ae[l]+"="),r}f();u();c();p();m();function Ns(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}f();u();c();p();m();function Yc(e){return e[0]*1e3+e[1]/1e6}function Zn(e){return new Date(Yc(e))}f();u();c();p();m();var Fs={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};f();u();c();p();m();f();u();c();p();m();var nr=class extends se{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,L(r,!0))}};N(nr,"RequestError");async function Ve(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new nr(a,{clientVersion:n,cause:s})}}var Xc=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Ls=K("prisma:client:dataproxyEngine");async function ep(e,t){let r=Fs["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Xc.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,d]=s.split("."),g=tp(`<=${a}.${l}.${d}`),h=await Ve(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let v=await h.text();Ls("length of body fetched from unpkg.com",v.length);let S;try{S=JSON.parse(v)}catch(A){throw console.error("JSON.parse error: body fetched from unpkg.com: ",v),A}return S.version}throw new $e("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Bs(e,t){let r=await ep(e,t);return Ls("version",r),r}function tp(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Us=3,ir=K("prisma:client:dataproxyEngine"),Xn=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,interactiveTransaction:r}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-transaction-id"]=r.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}},wt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Ns(t),this.config=t,this.env={...t.env,...typeof y<"u"?y.env:{}},this.inlineSchema=_s(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.headerBuilder=new Xn({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.protocol=bn(r)?"http":"https",this.remoteClientVersion=await Bs(this.host,this.config),ir("host",this.host),ir("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":ir(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Zn(r.timestamp),message:r.attributes.message??"",target:r.target});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Zn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await Ve(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||ir("schema response status",r.status);let n=await rr(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Jr(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,interactiveTransaction:i}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||ir("graphql response status",a.status),await this.handleError(await rr(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await Ve(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await rr(l,this.clientVersion));let d=await l.json(),{extensions:g}=d;g&&this.propagateResponseExtensions(g);let h=d.id,v=d["data-proxy"].endpoint;return{id:h,payload:{endpoint:v}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await rr(a,this.clientVersion));let l=await a.json(),{extensions:d}=l;d&&this.propagateResponseExtensions(d);return}}})}getURLAndAPIKey(){let t={clientVersion:this.clientVersion},r=Object.keys(this.inlineDatasources)[0],n=dt({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==gr)throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new qe(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);return{apiKey:a,url:i}}metrics(){throw new $e("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof se)||!i.isRetryable)throw i;if(r>=Us)throw i instanceof gt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Us} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Ms(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof je)throw await this.uploadSchema(),new gt({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Wr(t[0],this.config.clientVersion,this.config.activeProvider):new ne(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function qs({copyEngine:e=!0},t){let r;try{r=dt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||hr(r));e&&n&&Rt("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Ye(t.generator),o=n||!e,s=!!t.adapter,a=i==="library",l=i==="binary",d=i==="client";if(o&&s||s){let g;throw g=["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."],new Z(g.join(` +`),{clientVersion:t.clientVersion})}return o?new wt(t):new wt(t)}f();u();c();p();m();function Zr({generator:e}){return e?.previewFeatures??[]}f();u();c();p();m();var $s=e=>({command:e});f();u();c();p();m();f();u();c();p();m();var js=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);f();u();c();p();m();function Et(e){try{return Vs(e,"fast")}catch{return Vs(e,"slow")}}function Vs(e,t){return JSON.stringify(e.map(r=>Qs(r,t)))}function Qs(e,t){if(Array.isArray(e))return e.map(r=>Qs(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(rt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(pe.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(rp(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Js(e):e}function rp(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Js(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Gs);let t={};for(let r of Object.keys(e))t[r]=Gs(e[r]);return t}function Gs(e){return typeof e=="bigint"?e.toString():Js(e)}var np=/^(\s*alter\s)/i,Ws=K("prisma:client");function ei(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&np.exec(t))throw new Error(`Running ALTER using ${n} is not supported Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. Example: await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) More Information: https://pris.ly/d/execute-raw -`)}var ei=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Ur(r))n=r.sql,i={values:Et(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:Et(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:Et(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:Et(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Us(r),i={values:Et(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Qs(`prisma.${e}(${n}, ${i.values})`):Qs(`prisma.${e}(${n})`),{query:n,parameters:i}},Js={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new oe(t,r)}},Ws={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};f();u();c();p();m();function ti(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Hs(r(s)):Hs(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Hs(e){return typeof e.then=="function"?e:Promise.resolve(e)}f();u();c();p();m();var rp=wn.split(".")[0],np={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ri=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${rp}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??np}};function Ks(){return new ri}f();u();c();p();m();function zs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}f();u();c();p();m();function Ys(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}f();u();c();p();m();var Zr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};f();u();c();p();m();var Xs=Qe(ro());f();u();c();p();m();function Xr(e){return typeof e.batchRequestIdx=="number"}f();u();c();p();m();function Zs(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ni(e.query.arguments)),t.push(ni(e.query.selection)),t.join("")}function ni(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ni(n)})`:r}).join(" ")})`}f();u();c();p();m();var ip={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ii(e){return ip[e]}f();u();c();p();m();var en=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function tn(e){let t=[],r=op(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),d=n.some(h=>ii(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:ap(o),containsWrite:d,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(S){return S}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?ea(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ii(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Zs(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(sp(t),lp(t,i))throw t;if(t instanceof re&&up(t)){let d=ta(t.meta);_r({args:o,errors:[d],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=Tr({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let d=s?{modelName:s,...t.meta}:t.meta;throw new re(l,{code:t.code,clientVersion:this.client._clientVersion,meta:d,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ve(l,this.client._clientVersion);if(t instanceof ne)throw new ne(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof ve)throw new ve(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Xs.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(d=>d!=="select"&&d!=="include"),a=$n(o,s),l=i==="queryRaw"?tn(a):tt(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function ap(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:ea(e)};Pe(e,"Unknown transaction kind")}}function ea(e){return{id:e.id,payload:e.payload}}function lp(e,t){return Xr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function up(e){return e.code==="P2009"||e.code==="P2012"}function ta(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(ta)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}f();u();c();p();m();var ra="6.7.0";var na=ra;f();u();c();p();m();var la=Qe(kn());f();u();c();p();m();var q=class extends Error{constructor(t){super(t+` -Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(q,"PrismaClientConstructorValidationError");var ia=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],oa=["pretty","colorless","minimal"],sa=["info","query","warn","error"],pp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=bt(r,t)||` Available datasources: ${t.join(", ")}`;throw new q(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. -It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. -It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new q(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. -It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ye(t.generator)==="client")throw new q('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new q('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Yr(t).includes("driverAdapters"))throw new q('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Ye(t.generator)==="binary")throw new q('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. -Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!oa.includes(e)){let t=bt(e,oa);throw new q(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!sa.includes(r)){let n=bt(r,sa);throw new q(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=bt(i,o);throw new q(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new q(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new q(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new q(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new q('"omit" option is expected to be an object.');if(e===null)throw new q('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=fp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(d=>d.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new q(dp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new q(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=bt(r,t);throw new q(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function ua(e,t){for(let[r,n]of Object.entries(e)){if(!ia.includes(r)){let i=bt(r,ia);throw new q(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}pp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new q('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function bt(e,t){if(t.length===0||typeof e!="string")return"";let r=mp(e,t);return r?` Did you mean "${r}"?`:""}function mp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,la.default)(e,i)}));r.sort((i,o)=>i.distanceDe(n)===t);if(r)return e[r]}function dp(e,t){let r=ut(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Mr(r,"colorless");return`Error validating "omit" option: +`)}var ti=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(jr(r))n=r.sql,i={values:Et(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:Et(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:Et(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:Et(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=js(r),i={values:Et(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Ws(`prisma.${e}(${n}, ${i.values})`):Ws(`prisma.${e}(${n})`),{query:n,parameters:i}},Hs={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new oe(t,r)}},Ks={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};f();u();c();p();m();function ri(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=zs(r(s)):zs(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function zs(e){return typeof e.then=="function"?e:Promise.resolve(e)}f();u();c();p();m();var ip=En.split(".")[0],op={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ni=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${ip}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??op}};function Ys(){return new ni}f();u();c();p();m();function Zs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}f();u();c();p();m();function Xs(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}f();u();c();p();m();var Xr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};f();u();c();p();m();var ta=Qe(no());f();u();c();p();m();function en(e){return typeof e.batchRequestIdx=="number"}f();u();c();p();m();function ea(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ii(e.query.arguments)),t.push(ii(e.query.selection)),t.join("")}function ii(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ii(n)})`:r}).join(" ")})`}f();u();c();p();m();var sp={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function oi(e){return sp[e]}f();u();c();p();m();var tn=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function rn(e){let t=[],r=ap(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),d=n.some(h=>oi(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:up(o),containsWrite:d,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(S){return S}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?ra(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:oi(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:ea(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(lp(t),cp(t,i))throw t;if(t instanceof re&&pp(t)){let d=na(t.meta);Fr({args:o,errors:[d],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=Ar({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let d=s?{modelName:s,...t.meta}:t.meta;throw new re(l,{code:t.code,clientVersion:this.client._clientVersion,meta:d,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ve(l,this.client._clientVersion);if(t instanceof ne)throw new ne(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof ve)throw new ve(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,ta.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(d=>d!=="select"&&d!=="include"),a=jn(o,s),l=i==="queryRaw"?rn(a):tt(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function up(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:ra(e)};Pe(e,"Unknown transaction kind")}}function ra(e){return{id:e.id,payload:e.payload}}function cp(e,t){return en(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function pp(e){return e.code==="P2009"||e.code==="P2012"}function na(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(na)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}f();u();c();p();m();var ia=Ds;f();u();c();p();m();var ua=Qe(In());f();u();c();p();m();var U=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(U,"PrismaClientConstructorValidationError");var oa=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],sa=["pretty","colorless","minimal"],aa=["info","query","warn","error"],mp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=bt(r,t)||` Available datasources: ${t.join(", ")}`;throw new U(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new U(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ye(t.generator)==="client")throw new U('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new U('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Zr(t).includes("driverAdapters"))throw new U('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Ye(t.generator)==="binary")throw new U('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!sa.includes(e)){let t=bt(e,sa);throw new U(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!aa.includes(r)){let n=bt(r,aa);throw new U(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=bt(i,o);throw new U(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new U(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new U(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new U(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new U('"omit" option is expected to be an object.');if(e===null)throw new U('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=dp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(d=>d.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new U(gp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new U(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=bt(r,t);throw new U(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function ca(e,t){for(let[r,n]of Object.entries(e)){if(!oa.includes(r)){let i=bt(r,oa);throw new U(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}mp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new U('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function bt(e,t){if(t.length===0||typeof e!="string")return"";let r=fp(e,t);return r?` Did you mean "${r}"?`:""}function fp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,ua.default)(e,i)}));r.sort((i,o)=>i.distanceDe(n)===t);if(r)return e[r]}function gp(e,t){let r=ut(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Nr(r,"colorless");return`Error validating "omit" option: ${i} -${n}`}f();u();c();p();m();function ca(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=d=>{o||(o=!0,r(d))};for(let d=0;d{n[d]=g,a()},g=>{if(!Xr(g)){l(g);return}g.batchRequestIdx===d?l(g):(i||(i=g),a())})})}var Ne=K("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var gp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},hp=Symbol.for("prisma.client.transaction.id"),yp={id:0,nextId(){return++this.id}};function fa(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Zr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=ti();constructor(n){e=n?.__internal?.configOverride?.(e)??e,ks(e),n&&ua(n,e);let i=new $r().on("error",()=>{});this._extensions=ct.empty(),this._previewFeatures=Yr(e),this._clientVersion=e.clientVersion??na,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Ks();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&fr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&fr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},d=l.__internal??{},g=d.debug===!0;g&&K.enable("prisma:client");let h=fr.resolve(e.dirname,e.relativePath);ji.existsSync(h)||(h=e.dirname),Ne("dirname",e.dirname),Ne("relativePath",e.relativePath),Ne("cwd",h);let v=d.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Ys(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(S=>typeof S=="string"?S==="query":S.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Is(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:dt,getBatchRequestPayload:Gr,prismaGraphQLToJSError:Qr,PrismaClientUnknownRequestError:ne,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:re,debug:K("prisma:client:accelerateEngine"),engineVersion:ma.version,clientVersion:e.clientVersion}},Ne("clientVersion",e.clientVersion),this._engine=Bs(e,this._engineConfig),this._requestHandler=new rn(this,i),l.log)for(let S of l.log){let A=typeof S=="string"?S:S.emit==="stdout"?S.level:null;A&&this.$on(A,R=>{At.log(`${At.tags[A]??""}`,R.message||R.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Gt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Ui()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:ei({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=pa(n,i);return Xn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Xn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:qs,callsite:_e(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:ei({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...pa(n,i));throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=yp.nextId(),s=zs(n.length),a=n.map((l,d)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:d,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return ca(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let d={kind:"itx",...a};l=await n(this._createItxClient(d)),await this._engine.transaction("commit",o,a)}catch(d){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),d}return l}_createItxClient(n){return pe(Gt(pe(ds(this),[ee("_appliedParent",()=>this._appliedParent._createItxClient(n)),ee("_createPrismaPromise",()=>ti(n)),ee(hp,()=>n.id)])),[mt(Es)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??gp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async d=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,D=>g(d,M=>(D?.end(),l(M))));let{runInTransaction:h,args:v,...S}=d,A={...n,...S};v&&(A.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete A.transaction;let R=await vs(this,A);return A.model?ws({result:R,modelName:A.model,args:A.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):R};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:d,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:S}){try{n=d?d(n):n;let A={name:"serialize"},R=this._tracingHelper.runInChildSpan(A,()=>Br({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return K.enabled("prisma:client")&&(Ne("Prisma Client call:"),Ne(`prisma.${i}(${is(n)})`),Ne("Generated request:"),Ne(JSON.stringify(R,null,2)+` -`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:R,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:S})}catch(A){throw A.clientVersion=this._clientVersion,A}}$metrics=new pt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=gs}return t}function pa(e,t){return wp(e)?[new oe(e,t),Js]:[e,Ws]}function wp(e){return Array.isArray(e)&&Array.isArray(e.raw)}f();u();c();p();m();var Ep=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function da(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!Ep.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}f();u();c();p();m();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +${n}`}f();u();c();p();m();function pa(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=d=>{o||(o=!0,r(d))};for(let d=0;d{n[d]=g,a()},g=>{if(!en(g)){l(g);return}g.batchRequestIdx===d?l(g):(i||(i=g),a())})})}var Ne=K("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var hp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},yp=Symbol.for("prisma.client.transaction.id"),wp={id:0,nextId(){return++this.id}};function da(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Xr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=ri();constructor(n){e=n?.__internal?.configOverride?.(e)??e,Is(e),n&&ca(n,e);let i=new Vr().on("error",()=>{});this._extensions=ct.empty(),this._previewFeatures=Zr(e),this._clientVersion=e.clientVersion??ia,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Ys();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&dr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&dr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},d=l.__internal??{},g=d.debug===!0;g&&K.enable("prisma:client");let h=dr.resolve(e.dirname,e.relativePath);Vi.existsSync(h)||(h=e.dirname),Ne("dirname",e.dirname),Ne("relativePath",e.relativePath),Ne("cwd",h);let v=d.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Xs(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(S=>typeof S=="string"?S==="query":S.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Os(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:dt,getBatchRequestPayload:Jr,prismaGraphQLToJSError:Wr,PrismaClientUnknownRequestError:ne,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:re,debug:K("prisma:client:accelerateEngine"),engineVersion:fa.version,clientVersion:e.clientVersion}},Ne("clientVersion",e.clientVersion),this._engine=qs(e,this._engineConfig),this._requestHandler=new nn(this,i),l.log)for(let S of l.log){let A=typeof S=="string"?S:S.emit==="stdout"?S.level:null;A&&this.$on(A,R=>{At.log(`${At.tags[A]??""}`,R.message||R.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Gt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{$i()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:ti({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=ma(n,i);return ei(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(ei(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:$s,callsite:_e(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:ti({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...ma(n,i));throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=wp.nextId(),s=Zs(n.length),a=n.map((l,d)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:d,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return pa(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let d={kind:"itx",...a};l=await n(this._createItxClient(d)),await this._engine.transaction("commit",o,a)}catch(d){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),d}return l}_createItxClient(n){return me(Gt(me(gs(this),[ee("_appliedParent",()=>this._appliedParent._createItxClient(n)),ee("_createPrismaPromise",()=>ri(n)),ee(yp,()=>n.id)])),[mt(bs)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??hp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async d=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,D=>g(d,M=>(D?.end(),l(M))));let{runInTransaction:h,args:v,...S}=d,A={...n,...S};v&&(A.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete A.transaction;let R=await Ts(this,A);return A.model?Es({result:R,modelName:A.model,args:A.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):R};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:d,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:S}){try{n=d?d(n):n;let A={name:"serialize"},R=this._tracingHelper.runInChildSpan(A,()=>qr({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return K.enabled("prisma:client")&&(Ne("Prisma Client call:"),Ne(`prisma.${i}(${os(n)})`),Ne("Generated request:"),Ne(JSON.stringify(R,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:R,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:S})}catch(A){throw A.clientVersion=this._clientVersion,A}}$metrics=new pt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=hs}return t}function ma(e,t){return Ep(e)?[new oe(e,t),Hs]:[e,Ks]}function Ep(e){return Array.isArray(e)&&Array.isArray(e.raw)}f();u();c();p();m();var bp=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function ga(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!bp.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}f();u();c();p();m();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); //# sourceMappingURL=edge.js.map diff --git a/generated/prisma/runtime/library.d.ts b/generated/prisma/runtime/library.d.ts index 5600dee..3b00ae0 100644 --- a/generated/prisma/runtime/library.d.ts +++ b/generated/prisma/runtime/library.d.ts @@ -73,7 +73,7 @@ export declare type Args_3 = Args; * Query arguments marked with this type are sanitized before being sent to the database. * Notice while a query argument may be `null`, `ArgType` is guaranteed to be defined. */ -declare type ArgType = 'Int32' | 'Int64' | 'Float' | 'Double' | 'Text' | 'Enum' | 'EnumArray' | 'Bytes' | 'Boolean' | 'Char' | 'Array' | 'Numeric' | 'Json' | 'Xml' | 'Uuid' | 'DateTime' | 'Date' | 'Time'; +declare type ArgType = 'Int32' | 'Int64' | 'Float' | 'Double' | 'Text' | 'Enum' | 'EnumArray' | 'Bytes' | 'Boolean' | 'Char' | 'Array' | 'Numeric' | 'Json' | 'Xml' | 'Uuid' | 'DateTime' | 'Date' | 'Time' | 'Unknown'; /** * Attributes is a map from string to attribute values. diff --git a/generated/prisma/runtime/library.js b/generated/prisma/runtime/library.js index 9de3763..2421673 100644 --- a/generated/prisma/runtime/library.js +++ b/generated/prisma/runtime/library.js @@ -1,19 +1,19 @@ /* !!! This is code generated by Prisma. Do not edit directly. !!! /* eslint-disable */ -"use strict";var yu=Object.create;var qt=Object.defineProperty;var bu=Object.getOwnPropertyDescriptor;var Eu=Object.getOwnPropertyNames;var wu=Object.getPrototypeOf,xu=Object.prototype.hasOwnProperty;var Do=(e,r)=>()=>(e&&(r=e(e=0)),r);var ne=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),tr=(e,r)=>{for(var t in r)qt(e,t,{get:r[t],enumerable:!0})},_o=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Eu(r))!xu.call(e,i)&&i!==t&&qt(e,i,{get:()=>r[i],enumerable:!(n=bu(r,i))||n.enumerable});return e};var k=(e,r,t)=>(t=e!=null?yu(wu(e)):{},_o(r||!e||!e.__esModule?qt(t,"default",{value:e,enumerable:!0}):t,e)),vu=e=>_o(qt({},"__esModule",{value:!0}),e);var mi=ne((_g,ss)=>{"use strict";ss.exports=(e,r=process.argv)=>{let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),i=r.indexOf("--");return n!==-1&&(i===-1||n{"use strict";var Lc=require("node:os"),as=require("node:tty"),de=mi(),{env:Q}=process,Ge;de("no-color")||de("no-colors")||de("color=false")||de("color=never")?Ge=0:(de("color")||de("colors")||de("color=true")||de("color=always"))&&(Ge=1);"FORCE_COLOR"in Q&&(Q.FORCE_COLOR==="true"?Ge=1:Q.FORCE_COLOR==="false"?Ge=0:Ge=Q.FORCE_COLOR.length===0?1:Math.min(parseInt(Q.FORCE_COLOR,10),3));function fi(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function gi(e,r){if(Ge===0)return 0;if(de("color=16m")||de("color=full")||de("color=truecolor"))return 3;if(de("color=256"))return 2;if(e&&!r&&Ge===void 0)return 0;let t=Ge||0;if(Q.TERM==="dumb")return t;if(process.platform==="win32"){let n=Lc.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Q)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Q)||Q.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in Q)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Q.TEAMCITY_VERSION)?1:0;if(Q.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Q){let n=parseInt((Q.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Q.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Q.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Q.TERM)||"COLORTERM"in Q?1:t}function Mc(e){let r=gi(e,e&&e.isTTY);return fi(r)}ls.exports={supportsColor:Mc,stdout:fi(gi(!0,as.isatty(1))),stderr:fi(gi(!0,as.isatty(2)))}});var ds=ne((Fg,ps)=>{"use strict";var $c=us(),br=mi();function cs(e){if(/^\d{3,4}$/.test(e)){let t=/(\d{1,2})(\d{2})/.exec(e)||[];return{major:0,minor:parseInt(t[1],10),patch:parseInt(t[2],10)}}let r=(e||"").split(".").map(t=>parseInt(t,10));return{major:r[0],minor:r[1],patch:r[2]}}function hi(e){let{CI:r,FORCE_HYPERLINK:t,NETLIFY:n,TEAMCITY_VERSION:i,TERM_PROGRAM:o,TERM_PROGRAM_VERSION:s,VTE_VERSION:a,TERM:l}=process.env;if(t)return!(t.length>0&&parseInt(t,10)===0);if(br("no-hyperlink")||br("no-hyperlinks")||br("hyperlink=false")||br("hyperlink=never"))return!1;if(br("hyperlink=true")||br("hyperlink=always")||n)return!0;if(!$c.supportsColor(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in process.env)return!0;if(process.platform==="win32"||r||i)return!1;if(o){let u=cs(s||"");switch(o){case"iTerm.app":return u.major===3?u.minor>=1:u.major>3;case"WezTerm":return u.major>=20200620;case"vscode":return u.major>1||u.major===1&&u.minor>=72;case"ghostty":return!0}}if(a){if(a==="0.50.0")return!1;let u=cs(a);return u.major>0||u.minor>=50}switch(l){case"alacritty":return!0}return!1}ps.exports={supportsHyperlink:hi,stdout:hi(process.stdout),stderr:hi(process.stderr)}});var ms=ne((Hg,qc)=>{qc.exports={name:"@prisma/internals",version:"6.7.0",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.4.7",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-engine-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Ei=ne((zg,Uc)=>{Uc.exports={name:"@prisma/engines-version",version:"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"3cff47a7f5d65c3ea74883f1d736e41d68ce91ed"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var wi=ne(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.enginesVersion=void 0;Xt.enginesVersion=Ei().prisma.enginesVersion});var ys=ne((hh,hs)=>{"use strict";hs.exports=e=>{let r=e.match(/^[ \t]*(?=\S)/gm);return r?r.reduce((t,n)=>Math.min(t,n.length),1/0):0}});var Ri=ne((Eh,ws)=>{"use strict";ws.exports=(e,r=1,t)=>{if(t={indent:" ",includeEmptyLines:!1,...t},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof r!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof r}\``);if(typeof t.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof t.indent}\``);if(r===0)return e;let n=t.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,t.indent.repeat(r))}});var Ts=ne((vh,Ps)=>{"use strict";Ps.exports=({onlyFirst:e=!1}={})=>{let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}});var ki=ne((Ph,Ss)=>{"use strict";var Xc=Ts();Ss.exports=e=>typeof e=="string"?e.replace(Xc(),""):e});var Rs=ne((Ch,ep)=>{ep.exports={name:"dotenv",version:"16.4.7",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var ks=ne((Ah,Ne)=>{"use strict";var Di=require("node:fs"),_i=require("node:path"),rp=require("node:os"),tp=require("node:crypto"),np=Rs(),Ni=np.version,ip=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function op(e){let r={},t=e.toString();t=t.replace(/\r\n?/mg,` -`);let n;for(;(n=ip.exec(t))!=null;){let i=n[1],o=n[2]||"";o=o.trim();let s=o[0];o=o.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),s==='"'&&(o=o.replace(/\\n/g,` -`),o=o.replace(/\\r/g,"\r")),r[i]=o}return r}function sp(e){let r=Is(e),t=B.configDotenv({path:r});if(!t.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=As(e).split(","),i=n.length,o;for(let s=0;s=i)throw a}return B.parse(o)}function ap(e){console.log(`[dotenv@${Ni}][INFO] ${e}`)}function lp(e){console.log(`[dotenv@${Ni}][WARN] ${e}`)}function tn(e){console.log(`[dotenv@${Ni}][DEBUG] ${e}`)}function As(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function up(e,r){let t;try{t=new URL(r)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let n=t.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=t.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let o=`DOTENV_VAULT_${i.toUpperCase()}`,s=e.parsed[o];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function Is(e){let r=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let t of e.path)Di.existsSync(t)&&(r=t.endsWith(".vault")?t:`${t}.vault`);else r=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else r=_i.resolve(process.cwd(),".env.vault");return Di.existsSync(r)?r:null}function Cs(e){return e[0]==="~"?_i.join(rp.homedir(),e.slice(1)):e}function cp(e){ap("Loading env from encrypted .env.vault");let r=B._parseVault(e),t=process.env;return e&&e.processEnv!=null&&(t=e.processEnv),B.populate(t,r,e),{parsed:r}}function pp(e){let r=_i.resolve(process.cwd(),".env"),t="utf8",n=!!(e&&e.debug);e&&e.encoding?t=e.encoding:n&&tn("No encoding is specified. UTF-8 is used by default");let i=[r];if(e&&e.path)if(!Array.isArray(e.path))i=[Cs(e.path)];else{i=[];for(let l of e.path)i.push(Cs(l))}let o,s={};for(let l of i)try{let u=B.parse(Di.readFileSync(l,{encoding:t}));B.populate(s,u,e)}catch(u){n&&tn(`Failed to load ${l} ${u.message}`),o=u}let a=process.env;return e&&e.processEnv!=null&&(a=e.processEnv),B.populate(a,s,e),o?{parsed:s,error:o}:{parsed:s}}function dp(e){if(As(e).length===0)return B.configDotenv(e);let r=Is(e);return r?B._configVault(e):(lp(`You set DOTENV_KEY but you are missing a .env.vault file at ${r}. Did you forget to build it?`),B.configDotenv(e))}function mp(e,r){let t=Buffer.from(r.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),o=n.subarray(-16);n=n.subarray(12,-16);try{let s=tp.createDecipheriv("aes-256-gcm",t,i);return s.setAuthTag(o),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,l=s.message==="Invalid key length",u=s.message==="Unsupported state or unable to authenticate data";if(a||l){let c=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw c.code="INVALID_DOTENV_KEY",c}else if(u){let c=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw c.code="DECRYPTION_FAILED",c}else throw s}}function fp(e,r,t={}){let n=!!(t&&t.debug),i=!!(t&&t.override);if(typeof r!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(r))Object.prototype.hasOwnProperty.call(e,o)?(i===!0&&(e[o]=r[o]),n&&tn(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):e[o]=r[o]}var B={configDotenv:pp,_configVault:cp,_parseVault:sp,config:dp,decrypt:mp,parse:op,populate:fp};Ne.exports.configDotenv=B.configDotenv;Ne.exports._configVault=B._configVault;Ne.exports._parseVault=B._parseVault;Ne.exports.config=B.config;Ne.exports.decrypt=B.decrypt;Ne.exports.parse=B.parse;Ne.exports.populate=B.populate;Ne.exports=B});var Ns=ne((Nh,on)=>{"use strict";on.exports=(e={})=>{let r;if(e.repoUrl)r=e.repoUrl;else if(e.user&&e.repo)r=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let t=new URL(`${r}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}t.searchParams.set(i,o)}}return t.toString()};on.exports.default=on.exports});var Gi=ne((pb,na)=>{"use strict";na.exports=function(){function e(r,t,n,i,o){return rn?n+1:r+1:i===o?t:t+1}return function(r,t){if(r===t)return 0;if(r.length>t.length){var n=r;r=t,t=n}for(var i=r.length,o=t.length;i>0&&r.charCodeAt(i-1)===t.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict"});var ua=Do(()=>{"use strict"});var Vf={};tr(Vf,{DMMF:()=>lt,Debug:()=>N,Decimal:()=>ve,Extensions:()=>ei,MetricsClient:()=>Fr,PrismaClientInitializationError:()=>T,PrismaClientKnownRequestError:()=>z,PrismaClientRustPanicError:()=>le,PrismaClientUnknownRequestError:()=>j,PrismaClientValidationError:()=>Z,Public:()=>ri,Sql:()=>oe,createParam:()=>Sa,defineDmmfProperty:()=>Oa,deserializeJsonResponse:()=>Tr,deserializeRawResult:()=>Yn,dmmfToRuntimeDataModel:()=>zs,empty:()=>Na,getPrismaClient:()=>fu,getRuntime:()=>qn,join:()=>_a,makeStrictEnum:()=>gu,makeTypedQueryFactory:()=>Da,objectEnumValues:()=>Sn,raw:()=>eo,serializeJsonQuery:()=>Dn,skip:()=>On,sqltag:()=>ro,warnEnvConflicts:()=>hu,warnOnce:()=>ot});module.exports=vu(Vf);var ei={};tr(ei,{defineExtension:()=>No,getExtensionContext:()=>Fo});function No(e){return typeof e=="function"?e:r=>r.$extends(e)}function Fo(e){return e}var ri={};tr(ri,{validator:()=>Lo});function Lo(...e){return r=>r}var jt={};tr(jt,{$:()=>Vo,bgBlack:()=>Du,bgBlue:()=>Lu,bgCyan:()=>$u,bgGreen:()=>Nu,bgMagenta:()=>Mu,bgRed:()=>_u,bgWhite:()=>qu,bgYellow:()=>Fu,black:()=>Au,blue:()=>nr,bold:()=>W,cyan:()=>Oe,dim:()=>Ie,gray:()=>Hr,green:()=>qe,grey:()=>Ou,hidden:()=>Ru,inverse:()=>Su,italic:()=>Tu,magenta:()=>Iu,red:()=>ce,reset:()=>Pu,strikethrough:()=>Cu,underline:()=>Y,white:()=>ku,yellow:()=>ke});var ti,Mo,$o,qo,jo=!0;typeof process<"u"&&({FORCE_COLOR:ti,NODE_DISABLE_COLORS:Mo,NO_COLOR:$o,TERM:qo}=process.env||{},jo=process.stdout&&process.stdout.isTTY);var Vo={enabled:!Mo&&$o==null&&qo!=="dumb"&&(ti!=null&&ti!=="0"||jo)};function L(e,r){let t=new RegExp(`\\x1b\\[${r}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${r}m`;return function(o){return!Vo.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(t,i+n):o)+i}}var Pu=L(0,0),W=L(1,22),Ie=L(2,22),Tu=L(3,23),Y=L(4,24),Su=L(7,27),Ru=L(8,28),Cu=L(9,29),Au=L(30,39),ce=L(31,39),qe=L(32,39),ke=L(33,39),nr=L(34,39),Iu=L(35,39),Oe=L(36,39),ku=L(37,39),Hr=L(90,39),Ou=L(90,39),Du=L(40,49),_u=L(41,49),Nu=L(42,49),Fu=L(43,49),Lu=L(44,49),Mu=L(45,49),$u=L(46,49),qu=L(47,49);var ju=100,Bo=["green","yellow","blue","magenta","cyan","red"],Kr=[],Uo=Date.now(),Vu=0,ni=typeof process<"u"?process.env:{};globalThis.DEBUG??=ni.DEBUG??"";globalThis.DEBUG_COLORS??=ni.DEBUG_COLORS?ni.DEBUG_COLORS==="true":!0;var Yr={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let r=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),t=r.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=r.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return t&&!n},log:(...e)=>{let[r,t,...n]=e;(console.warn??console.log)(`${r} ${t}`,...n)},formatters:{}};function Bu(e){let r={color:Bo[Vu++%Bo.length],enabled:Yr.enabled(e),namespace:e,log:Yr.log,extend:()=>{}},t=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=r;if(n.length!==0&&Kr.push([o,...n]),Kr.length>ju&&Kr.shift(),Yr.enabled(o)||i){let l=n.map(c=>typeof c=="string"?c:Uu(c)),u=`+${Date.now()-Uo}ms`;Uo=Date.now(),globalThis.DEBUG_COLORS?a(jt[s](W(o)),...l,jt[s](u)):a(o,...l,u)}};return new Proxy(t,{get:(n,i)=>r[i],set:(n,i,o)=>r[i]=o})}var N=new Proxy(Bu,{get:(e,r)=>Yr[r],set:(e,r,t)=>Yr[r]=t});function Uu(e,r=2){let t=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(t.has(i))return"[Circular *]";t.add(i)}else if(typeof i=="bigint")return i.toString();return i},r)}function Qo(e=7500){let r=Kr.map(([t,...n])=>`${t} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` -`);return r.length!!(e&&typeof e=="object"),Ut=e=>e&&!!e[De],Ee=(e,r,t)=>{if(Ut(e)){let n=e[De](),{matched:i,selections:o}=n.match(r);return i&&o&&Object.keys(o).forEach(s=>t(s,o[s])),i}if(si(e)){if(!si(r))return!1;if(Array.isArray(e)){if(!Array.isArray(r))return!1;let n=[],i=[],o=[];for(let s of e.keys()){let a=e[s];Ut(a)&&a[Qu]?o.push(a):o.length?i.push(a):n.push(a)}if(o.length){if(o.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(r.lengthEe(u,s[c],t))&&i.every((u,c)=>Ee(u,a[c],t))&&(o.length===0||Ee(o[0],l,t))}return e.length===r.length&&e.every((s,a)=>Ee(s,r[a],t))}return Reflect.ownKeys(e).every(n=>{let i=e[n];return(n in r||Ut(o=i)&&o[De]().matcherType==="optional")&&Ee(i,r[n],t);var o})}return Object.is(r,e)},Qe=e=>{var r,t,n;return si(e)?Ut(e)?(r=(t=(n=e[De]()).getSelectionKeys)==null?void 0:t.call(n))!=null?r:[]:Array.isArray(e)?zr(e,Qe):zr(Object.values(e),Qe):[]},zr=(e,r)=>e.reduce((t,n)=>t.concat(r(n)),[]);function pe(e){return Object.assign(e,{optional:()=>Gu(e),and:r=>q(e,r),or:r=>Wu(e,r),select:r=>r===void 0?Jo(e):Jo(r,e)})}function Gu(e){return pe({[De]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return r===void 0?(Qe(e).forEach(i=>n(i,void 0)),{matched:!0,selections:t}):{matched:Ee(e,r,n),selections:t}},getSelectionKeys:()=>Qe(e),matcherType:"optional"})})}function q(...e){return pe({[De]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return{matched:e.every(i=>Ee(i,r,n)),selections:t}},getSelectionKeys:()=>zr(e,Qe),matcherType:"and"})})}function Wu(...e){return pe({[De]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return zr(e,Qe).forEach(i=>n(i,void 0)),{matched:e.some(i=>Ee(i,r,n)),selections:t}},getSelectionKeys:()=>zr(e,Qe),matcherType:"or"})})}function C(e){return{[De]:()=>({match:r=>({matched:!!e(r)})})}}function Jo(...e){let r=typeof e[0]=="string"?e[0]:void 0,t=e.length===2?e[1]:typeof e[0]=="string"?void 0:e[0];return pe({[De]:()=>({match:n=>{let i={[r??Qt]:n};return{matched:t===void 0||Ee(t,n,(o,s)=>{i[o]=s}),selections:i}},getSelectionKeys:()=>[r??Qt].concat(t===void 0?[]:Qe(t))})})}function ye(e){return typeof e=="number"}function je(e){return typeof e=="string"}function Ve(e){return typeof e=="bigint"}var eg=pe(C(function(e){return!0}));var Be=e=>Object.assign(pe(e),{startsWith:r=>{return Be(q(e,(t=r,C(n=>je(n)&&n.startsWith(t)))));var t},endsWith:r=>{return Be(q(e,(t=r,C(n=>je(n)&&n.endsWith(t)))));var t},minLength:r=>Be(q(e,(t=>C(n=>je(n)&&n.length>=t))(r))),length:r=>Be(q(e,(t=>C(n=>je(n)&&n.length===t))(r))),maxLength:r=>Be(q(e,(t=>C(n=>je(n)&&n.length<=t))(r))),includes:r=>{return Be(q(e,(t=r,C(n=>je(n)&&n.includes(t)))));var t},regex:r=>{return Be(q(e,(t=r,C(n=>je(n)&&!!n.match(t)))));var t}}),rg=Be(C(je)),be=e=>Object.assign(pe(e),{between:(r,t)=>be(q(e,((n,i)=>C(o=>ye(o)&&n<=o&&i>=o))(r,t))),lt:r=>be(q(e,(t=>C(n=>ye(n)&&nbe(q(e,(t=>C(n=>ye(n)&&n>t))(r))),lte:r=>be(q(e,(t=>C(n=>ye(n)&&n<=t))(r))),gte:r=>be(q(e,(t=>C(n=>ye(n)&&n>=t))(r))),int:()=>be(q(e,C(r=>ye(r)&&Number.isInteger(r)))),finite:()=>be(q(e,C(r=>ye(r)&&Number.isFinite(r)))),positive:()=>be(q(e,C(r=>ye(r)&&r>0))),negative:()=>be(q(e,C(r=>ye(r)&&r<0)))}),tg=be(C(ye)),Ue=e=>Object.assign(pe(e),{between:(r,t)=>Ue(q(e,((n,i)=>C(o=>Ve(o)&&n<=o&&i>=o))(r,t))),lt:r=>Ue(q(e,(t=>C(n=>Ve(n)&&nUe(q(e,(t=>C(n=>Ve(n)&&n>t))(r))),lte:r=>Ue(q(e,(t=>C(n=>Ve(n)&&n<=t))(r))),gte:r=>Ue(q(e,(t=>C(n=>Ve(n)&&n>=t))(r))),positive:()=>Ue(q(e,C(r=>Ve(r)&&r>0))),negative:()=>Ue(q(e,C(r=>Ve(r)&&r<0)))}),ng=Ue(C(Ve)),ig=pe(C(function(e){return typeof e=="boolean"})),og=pe(C(function(e){return typeof e=="symbol"})),sg=pe(C(function(e){return e==null})),ag=pe(C(function(e){return e!=null}));var ai=class extends Error{constructor(r){let t;try{t=JSON.stringify(r)}catch{t=r}super(`Pattern matching error: no pattern matches value ${t}`),this.input=void 0,this.input=r}},li={matched:!1,value:void 0};function hr(e){return new ui(e,li)}var ui=class e{constructor(r,t){this.input=void 0,this.state=void 0,this.input=r,this.state=t}with(...r){if(this.state.matched)return this;let t=r[r.length-1],n=[r[0]],i;r.length===3&&typeof r[1]=="function"?i=r[1]:r.length>2&&n.push(...r.slice(1,r.length-1));let o=!1,s={},a=(u,c)=>{o=!0,s[u]=c},l=!n.some(u=>Ee(u,this.input,a))||i&&!i(this.input)?li:{matched:!0,value:t(o?Qt in s?s[Qt]:s:this.input,this.input)};return new e(this.input,l)}when(r,t){if(this.state.matched)return this;let n=!!r(this.input);return new e(this.input,n?{matched:!0,value:t(this.input,this.input)}:li)}otherwise(r){return this.state.matched?this.state.value:r(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new ai(this.input)}run(){return this.exhaustive()}returnType(){return this}};var zo=require("node:util");var Ju={warn:ke("prisma:warn")},Hu={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function Gt(e,...r){Hu.warn()&&console.warn(`${Ju.warn} ${e}`,...r)}var Ku=(0,zo.promisify)(Yo.default.exec),ee=gr("prisma:get-platform"),Yu=["1.0.x","1.1.x","3.0.x"];async function Zo(){let e=Jt.default.platform(),r=process.arch;if(e==="freebsd"){let s=await Ht("freebsd-version");if(s&&s.trim().length>0){let l=/^(\d+)\.?/.exec(s);if(l)return{platform:"freebsd",targetDistro:`freebsd${l[1]}`,arch:r}}}if(e!=="linux")return{platform:e,arch:r};let t=await Zu(),n=await sc(),i=ec({arch:r,archFromUname:n,familyDistro:t.familyDistro}),{libssl:o}=await rc(i);return{platform:"linux",libssl:o,arch:r,archFromUname:n,...t}}function zu(e){let r=/^ID="?([^"\n]*)"?$/im,t=/^ID_LIKE="?([^"\n]*)"?$/im,n=r.exec(e),i=n&&n[1]&&n[1].toLowerCase()||"",o=t.exec(e),s=o&&o[1]&&o[1].toLowerCase()||"",a=hr({id:i,idLike:s}).with({id:"alpine"},({id:l})=>({targetDistro:"musl",familyDistro:l,originalDistro:l})).with({id:"raspbian"},({id:l})=>({targetDistro:"arm",familyDistro:"debian",originalDistro:l})).with({id:"nixos"},({id:l})=>({targetDistro:"nixos",originalDistro:l,familyDistro:"nixos"})).with({id:"debian"},{id:"ubuntu"},({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).with({id:"rhel"},{id:"centos"},{id:"fedora"},({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).when(({idLike:l})=>l.includes("debian")||l.includes("ubuntu"),({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).when(({idLike:l})=>i==="arch"||l.includes("arch"),({id:l})=>({targetDistro:"debian",familyDistro:"arch",originalDistro:l})).when(({idLike:l})=>l.includes("centos")||l.includes("fedora")||l.includes("rhel")||l.includes("suse"),({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).otherwise(({id:l})=>({targetDistro:void 0,familyDistro:void 0,originalDistro:l}));return ee(`Found distro info: -${JSON.stringify(a,null,2)}`),a}async function Zu(){let e="/etc/os-release";try{let r=await ci.default.readFile(e,{encoding:"utf-8"});return zu(r)}catch{return{targetDistro:void 0,familyDistro:void 0,originalDistro:void 0}}}function Xu(e){let r=/^OpenSSL\s(\d+\.\d+)\.\d+/.exec(e);if(r){let t=`${r[1]}.x`;return Xo(t)}}function Ho(e){let r=/libssl\.so\.(\d)(\.\d)?/.exec(e);if(r){let t=`${r[1]}${r[2]??".0"}.x`;return Xo(t)}}function Xo(e){let r=(()=>{if(rs(e))return e;let t=e.split(".");return t[1]="0",t.join(".")})();if(Yu.includes(r))return r}function ec(e){return hr(e).with({familyDistro:"musl"},()=>(ee('Trying platform-specific paths for "alpine"'),["/lib","/usr/lib"])).with({familyDistro:"debian"},({archFromUname:r})=>(ee('Trying platform-specific paths for "debian" (and "ubuntu")'),[`/usr/lib/${r}-linux-gnu`,`/lib/${r}-linux-gnu`])).with({familyDistro:"rhel"},()=>(ee('Trying platform-specific paths for "rhel"'),["/lib64","/usr/lib64"])).otherwise(({familyDistro:r,arch:t,archFromUname:n})=>(ee(`Don't know any platform-specific paths for "${r}" on ${t} (${n})`),[]))}async function rc(e){let r='grep -v "libssl.so.0"',t=await Ko(e);if(t){ee(`Found libssl.so file using platform-specific paths: ${t}`);let o=Ho(t);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"libssl-specific-path"}}ee('Falling back to "ldconfig" and other generic paths');let n=await Ht(`ldconfig -p | sed "s/.*=>s*//" | sed "s|.*/||" | grep libssl | sort | ${r}`);if(n||(n=await Ko(["/lib64","/usr/lib64","/lib","/usr/lib"])),n){ee(`Found libssl.so file using "ldconfig" or other generic paths: ${n}`);let o=Ho(n);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"ldconfig"}}let i=await Ht("openssl version -v");if(i){ee(`Found openssl binary with version: ${i}`);let o=Xu(i);if(ee(`The parsed openssl version is: ${o}`),o)return{libssl:o,strategy:"openssl-binary"}}return ee("Couldn't find any version of libssl or OpenSSL in the system"),{}}async function Ko(e){for(let r of e){let t=await tc(r);if(t)return t}}async function tc(e){try{return(await ci.default.readdir(e)).find(t=>t.startsWith("libssl.so.")&&!t.startsWith("libssl.so.0"))}catch(r){if(r.code==="ENOENT")return;throw r}}async function ir(){let{binaryTarget:e}=await es();return e}function nc(e){return e.binaryTarget!==void 0}async function pi(){let{memoized:e,...r}=await es();return r}var Wt={};async function es(){if(nc(Wt))return Promise.resolve({...Wt,memoized:!0});let e=await Zo(),r=ic(e);return Wt={...e,binaryTarget:r},{...Wt,memoized:!1}}function ic(e){let{platform:r,arch:t,archFromUname:n,libssl:i,targetDistro:o,familyDistro:s,originalDistro:a}=e;r==="linux"&&!["x64","arm64"].includes(t)&&Gt(`Prisma only officially supports Linux on amd64 (x86_64) and arm64 (aarch64) system architectures (detected "${t}" instead). If you are using your own custom Prisma engines, you can ignore this warning, as long as you've compiled the engines for your system architecture "${n}".`);let l="1.1.x";if(r==="linux"&&i===void 0){let c=hr({familyDistro:s}).with({familyDistro:"debian"},()=>"Please manually install OpenSSL via `apt-get update -y && apt-get install -y openssl` and try installing Prisma again. If you're running Prisma on Docker, add this command to your Dockerfile, or switch to an image that already has OpenSSL installed.").otherwise(()=>"Please manually install OpenSSL and try installing Prisma again.");Gt(`Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-${l}". -${c}`)}let u="debian";if(r==="linux"&&o===void 0&&ee(`Distro is "${a}". Falling back to Prisma engines built for "${u}".`),r==="darwin"&&t==="arm64")return"darwin-arm64";if(r==="darwin")return"darwin";if(r==="win32")return"windows";if(r==="freebsd")return o;if(r==="openbsd")return"openbsd";if(r==="netbsd")return"netbsd";if(r==="linux"&&o==="nixos")return"linux-nixos";if(r==="linux"&&t==="arm64")return`${o==="musl"?"linux-musl-arm64":"linux-arm64"}-openssl-${i||l}`;if(r==="linux"&&t==="arm")return`linux-arm-openssl-${i||l}`;if(r==="linux"&&o==="musl"){let c="linux-musl";return!i||rs(i)?c:`${c}-openssl-${i}`}return r==="linux"&&o&&i?`${o}-openssl-${i}`:(r!=="linux"&&Gt(`Prisma detected unknown OS "${r}" and may not work as expected. Defaulting to "linux".`),i?`${u}-openssl-${i}`:o?`${o}-openssl-${l}`:`${u}-openssl-${l}`)}async function oc(e){try{return await e()}catch{return}}function Ht(e){return oc(async()=>{let r=await Ku(e);return ee(`Command "${e}" successfully returned "${r.stdout}"`),r.stdout})}async function sc(){return typeof Jt.default.machine=="function"?Jt.default.machine():(await Ht("uname -m"))?.trim()}function rs(e){return e.startsWith("1.")}var zt={};tr(zt,{beep:()=>Dc,clearScreen:()=>Ac,clearTerminal:()=>Ic,cursorBackward:()=>mc,cursorDown:()=>pc,cursorForward:()=>dc,cursorGetPosition:()=>hc,cursorHide:()=>Ec,cursorLeft:()=>is,cursorMove:()=>cc,cursorNextLine:()=>yc,cursorPrevLine:()=>bc,cursorRestorePosition:()=>gc,cursorSavePosition:()=>fc,cursorShow:()=>wc,cursorTo:()=>uc,cursorUp:()=>ns,enterAlternativeScreen:()=>kc,eraseDown:()=>Tc,eraseEndLine:()=>vc,eraseLine:()=>os,eraseLines:()=>xc,eraseScreen:()=>di,eraseStartLine:()=>Pc,eraseUp:()=>Sc,exitAlternativeScreen:()=>Oc,iTerm:()=>Fc,image:()=>Nc,link:()=>_c,scrollDown:()=>Cc,scrollUp:()=>Rc});var Yt=k(require("node:process"),1);var Kt=globalThis.window?.document!==void 0,gg=globalThis.process?.versions?.node!==void 0,hg=globalThis.process?.versions?.bun!==void 0,yg=globalThis.Deno?.version?.deno!==void 0,bg=globalThis.process?.versions?.electron!==void 0,Eg=globalThis.navigator?.userAgent?.includes("jsdom")===!0,wg=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,xg=typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,vg=typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,Pg=typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope,Zr=globalThis.navigator?.userAgentData?.platform,Tg=Zr==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform==="darwin",Sg=Zr==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform==="win32",Rg=Zr==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform==="linux",Cg=Zr==="iOS"||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),Ag=Zr==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform==="android";var A="\x1B[",et="\x1B]",yr="\x07",Xr=";",ts=!Kt&&Yt.default.env.TERM_PROGRAM==="Apple_Terminal",ac=!Kt&&Yt.default.platform==="win32",lc=Kt?()=>{throw new Error("`process.cwd()` only works in Node.js, not the browser.")}:Yt.default.cwd,uc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof r!="number"?A+(e+1)+"G":A+(r+1)+Xr+(e+1)+"H"},cc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let t="";return e<0?t+=A+-e+"D":e>0&&(t+=A+e+"C"),r<0?t+=A+-r+"A":r>0&&(t+=A+r+"B"),t},ns=(e=1)=>A+e+"A",pc=(e=1)=>A+e+"B",dc=(e=1)=>A+e+"C",mc=(e=1)=>A+e+"D",is=A+"G",fc=ts?"\x1B7":A+"s",gc=ts?"\x1B8":A+"u",hc=A+"6n",yc=A+"E",bc=A+"F",Ec=A+"?25l",wc=A+"?25h",xc=e=>{let r="";for(let t=0;t[et,"8",Xr,Xr,r,yr,e,et,"8",Xr,Xr,yr].join(""),Nc=(e,r={})=>{let t=`${et}1337;File=inline=1`;return r.width&&(t+=`;width=${r.width}`),r.height&&(t+=`;height=${r.height}`),r.preserveAspectRatio===!1&&(t+=";preserveAspectRatio=0"),t+":"+Buffer.from(e).toString("base64")+yr},Fc={setCwd:(e=lc())=>`${et}50;CurrentDir=${e}${yr}`,annotation(e,r={}){let t=`${et}1337;`,n=r.x!==void 0,i=r.y!==void 0;if((n||i)&&!(n&&i&&r.length!==void 0))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replaceAll("|",""),t+=r.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",r.length>0?t+=(n?[e,r.length,r.x,r.y]:[r.length,e]).join("|"):t+=e,t+yr}};var Zt=k(ds(),1);function or(e,r,{target:t="stdout",...n}={}){return Zt.default[t]?zt.link(e,r):n.fallback===!1?e:typeof n.fallback=="function"?n.fallback(e,r):`${e} (\u200B${r}\u200B)`}or.isSupported=Zt.default.stdout;or.stderr=(e,r,t={})=>or(e,r,{target:"stderr",...t});or.stderr.isSupported=Zt.default.stderr;function yi(e){return or(e,e,{fallback:Y})}var jc=ms(),bi=jc.version;function Er(e){let r=Vc();return r||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Bc(e))}function Vc(){let e=process.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Bc(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}var Qc=k(wi());var M=k(require("node:path")),Gc=k(wi()),ah=N("prisma:engines");function fs(){return M.default.join(__dirname,"../")}var lh="libquery-engine";M.default.join(__dirname,"../query-engine-darwin");M.default.join(__dirname,"../query-engine-darwin-arm64");M.default.join(__dirname,"../query-engine-debian-openssl-1.0.x");M.default.join(__dirname,"../query-engine-debian-openssl-1.1.x");M.default.join(__dirname,"../query-engine-debian-openssl-3.0.x");M.default.join(__dirname,"../query-engine-linux-static-x64");M.default.join(__dirname,"../query-engine-linux-static-arm64");M.default.join(__dirname,"../query-engine-rhel-openssl-1.0.x");M.default.join(__dirname,"../query-engine-rhel-openssl-1.1.x");M.default.join(__dirname,"../query-engine-rhel-openssl-3.0.x");M.default.join(__dirname,"../libquery_engine-darwin.dylib.node");M.default.join(__dirname,"../libquery_engine-darwin-arm64.dylib.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-3.0.x.so.node");M.default.join(__dirname,"../query_engine-windows.dll.node");var xi=k(require("node:fs")),gs=gr("chmodPlusX");function vi(e){if(process.platform==="win32")return;let r=xi.default.statSync(e),t=r.mode|64|8|1;if(r.mode===t){gs(`Execution permissions of ${e} are fine`);return}let n=t.toString(8).slice(-3);gs(`Have to call chmodPlusX on ${e}`),xi.default.chmodSync(e,n)}function Pi(e){let r=e.e,t=a=>`Prisma cannot find the required \`${a}\` system library in your system`,n=r.message.includes("cannot open shared object file"),i=`Please refer to the documentation about Prisma's system requirements: ${yi("https://pris.ly/d/system-requirements")}`,o=`Unable to require(\`${Ie(e.id)}\`).`,s=hr({message:r.message,code:r.code}).with({code:"ENOENT"},()=>"File does not exist.").when(({message:a})=>n&&a.includes("libz"),()=>`${t("libz")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libgcc_s"),()=>`${t("libgcc_s")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libssl"),()=>{let a=e.platformInfo.libssl?`openssl-${e.platformInfo.libssl}`:"openssl";return`${t("libssl")}. Please install ${a} and try again.`}).when(({message:a})=>a.includes("GLIBC"),()=>`Prisma has detected an incompatible version of the \`glibc\` C standard library installed in your system. This probably means your system may be too old to run Prisma. ${i}`).when(({message:a})=>e.platformInfo.platform==="linux"&&a.includes("symbol not found"),()=>`The Prisma engines are not compatible with your system ${e.platformInfo.originalDistro} on (${e.platformInfo.archFromUname}) which uses the \`${e.platformInfo.binaryTarget}\` binaryTarget by default. ${i}`).otherwise(()=>`The Prisma engines do not seem to be compatible with your system. ${i}`);return`${o} +"use strict";var bu=Object.create;var Vt=Object.defineProperty;var Eu=Object.getOwnPropertyDescriptor;var wu=Object.getOwnPropertyNames;var xu=Object.getPrototypeOf,vu=Object.prototype.hasOwnProperty;var Do=(e,r)=>()=>(e&&(r=e(e=0)),r);var ne=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),tr=(e,r)=>{for(var t in r)Vt(e,t,{get:r[t],enumerable:!0})},_o=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of wu(r))!vu.call(e,i)&&i!==t&&Vt(e,i,{get:()=>r[i],enumerable:!(n=Eu(r,i))||n.enumerable});return e};var k=(e,r,t)=>(t=e!=null?bu(xu(e)):{},_o(r||!e||!e.__esModule?Vt(t,"default",{value:e,enumerable:!0}):t,e)),Pu=e=>_o(Vt({},"__esModule",{value:!0}),e);var fi=ne((_g,ss)=>{"use strict";ss.exports=(e,r=process.argv)=>{let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),i=r.indexOf("--");return n!==-1&&(i===-1||n{"use strict";var Mc=require("node:os"),as=require("node:tty"),de=fi(),{env:Q}=process,Ge;de("no-color")||de("no-colors")||de("color=false")||de("color=never")?Ge=0:(de("color")||de("colors")||de("color=true")||de("color=always"))&&(Ge=1);"FORCE_COLOR"in Q&&(Q.FORCE_COLOR==="true"?Ge=1:Q.FORCE_COLOR==="false"?Ge=0:Ge=Q.FORCE_COLOR.length===0?1:Math.min(parseInt(Q.FORCE_COLOR,10),3));function gi(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function hi(e,r){if(Ge===0)return 0;if(de("color=16m")||de("color=full")||de("color=truecolor"))return 3;if(de("color=256"))return 2;if(e&&!r&&Ge===void 0)return 0;let t=Ge||0;if(Q.TERM==="dumb")return t;if(process.platform==="win32"){let n=Mc.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Q)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Q)||Q.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in Q)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Q.TEAMCITY_VERSION)?1:0;if(Q.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Q){let n=parseInt((Q.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Q.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Q.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Q.TERM)||"COLORTERM"in Q?1:t}function $c(e){let r=hi(e,e&&e.isTTY);return gi(r)}ls.exports={supportsColor:$c,stdout:gi(hi(!0,as.isatty(1))),stderr:gi(hi(!0,as.isatty(2)))}});var ds=ne((Lg,ps)=>{"use strict";var qc=us(),br=fi();function cs(e){if(/^\d{3,4}$/.test(e)){let t=/(\d{1,2})(\d{2})/.exec(e)||[];return{major:0,minor:parseInt(t[1],10),patch:parseInt(t[2],10)}}let r=(e||"").split(".").map(t=>parseInt(t,10));return{major:r[0],minor:r[1],patch:r[2]}}function yi(e){let{CI:r,FORCE_HYPERLINK:t,NETLIFY:n,TEAMCITY_VERSION:i,TERM_PROGRAM:o,TERM_PROGRAM_VERSION:s,VTE_VERSION:a,TERM:l}=process.env;if(t)return!(t.length>0&&parseInt(t,10)===0);if(br("no-hyperlink")||br("no-hyperlinks")||br("hyperlink=false")||br("hyperlink=never"))return!1;if(br("hyperlink=true")||br("hyperlink=always")||n)return!0;if(!qc.supportsColor(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in process.env)return!0;if(process.platform==="win32"||r||i)return!1;if(o){let u=cs(s||"");switch(o){case"iTerm.app":return u.major===3?u.minor>=1:u.major>3;case"WezTerm":return u.major>=20200620;case"vscode":return u.major>1||u.major===1&&u.minor>=72;case"ghostty":return!0}}if(a){if(a==="0.50.0")return!1;let u=cs(a);return u.major>0||u.minor>=50}switch(l){case"alacritty":return!0}return!1}ps.exports={supportsHyperlink:yi,stdout:yi(process.stdout),stderr:yi(process.stderr)}});var ms=ne((Hg,jc)=>{jc.exports={name:"@prisma/internals",version:"6.8.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-engine-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var wi=ne((zg,Qc)=>{Qc.exports={name:"@prisma/engines-version",version:"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"2060c79ba17c6bb9f5823312b6f6b7f4a845738e"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var xi=ne(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.enginesVersion=void 0;rn.enginesVersion=wi().prisma.enginesVersion});var ys=ne((hh,hs)=>{"use strict";hs.exports=e=>{let r=e.match(/^[ \t]*(?=\S)/gm);return r?r.reduce((t,n)=>Math.min(t,n.length),1/0):0}});var Ci=ne((Eh,ws)=>{"use strict";ws.exports=(e,r=1,t)=>{if(t={indent:" ",includeEmptyLines:!1,...t},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof r!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof r}\``);if(typeof t.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof t.indent}\``);if(r===0)return e;let n=t.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,t.indent.repeat(r))}});var Ts=ne((vh,Ps)=>{"use strict";Ps.exports=({onlyFirst:e=!1}={})=>{let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}});var Oi=ne((Ph,Ss)=>{"use strict";var ep=Ts();Ss.exports=e=>typeof e=="string"?e.replace(ep(),""):e});var Rs=ne((Ch,rp)=>{rp.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Os=ne((Ah,Ne)=>{"use strict";var _i=require("node:fs"),Ni=require("node:path"),tp=require("node:os"),np=require("node:crypto"),ip=Rs(),As=ip.version,op=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function sp(e){let r={},t=e.toString();t=t.replace(/\r\n?/mg,` +`);let n;for(;(n=op.exec(t))!=null;){let i=n[1],o=n[2]||"";o=o.trim();let s=o[0];o=o.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),s==='"'&&(o=o.replace(/\\n/g,` +`),o=o.replace(/\\r/g,"\r")),r[i]=o}return r}function ap(e){let r=ks(e),t=B.configDotenv({path:r});if(!t.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=Is(e).split(","),i=n.length,o;for(let s=0;s=i)throw a}return B.parse(o)}function lp(e){console.log(`[dotenv@${As}][WARN] ${e}`)}function it(e){console.log(`[dotenv@${As}][DEBUG] ${e}`)}function Is(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function up(e,r){let t;try{t=new URL(r)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let n=t.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=t.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let o=`DOTENV_VAULT_${i.toUpperCase()}`,s=e.parsed[o];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function ks(e){let r=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let t of e.path)_i.existsSync(t)&&(r=t.endsWith(".vault")?t:`${t}.vault`);else r=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else r=Ni.resolve(process.cwd(),".env.vault");return _i.existsSync(r)?r:null}function Cs(e){return e[0]==="~"?Ni.join(tp.homedir(),e.slice(1)):e}function cp(e){!!(e&&e.debug)&&it("Loading env from encrypted .env.vault");let t=B._parseVault(e),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),B.populate(n,t,e),{parsed:t}}function pp(e){let r=Ni.resolve(process.cwd(),".env"),t="utf8",n=!!(e&&e.debug);e&&e.encoding?t=e.encoding:n&&it("No encoding is specified. UTF-8 is used by default");let i=[r];if(e&&e.path)if(!Array.isArray(e.path))i=[Cs(e.path)];else{i=[];for(let l of e.path)i.push(Cs(l))}let o,s={};for(let l of i)try{let u=B.parse(_i.readFileSync(l,{encoding:t}));B.populate(s,u,e)}catch(u){n&&it(`Failed to load ${l} ${u.message}`),o=u}let a=process.env;return e&&e.processEnv!=null&&(a=e.processEnv),B.populate(a,s,e),o?{parsed:s,error:o}:{parsed:s}}function dp(e){if(Is(e).length===0)return B.configDotenv(e);let r=ks(e);return r?B._configVault(e):(lp(`You set DOTENV_KEY but you are missing a .env.vault file at ${r}. Did you forget to build it?`),B.configDotenv(e))}function mp(e,r){let t=Buffer.from(r.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),o=n.subarray(-16);n=n.subarray(12,-16);try{let s=np.createDecipheriv("aes-256-gcm",t,i);return s.setAuthTag(o),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,l=s.message==="Invalid key length",u=s.message==="Unsupported state or unable to authenticate data";if(a||l){let c=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw c.code="INVALID_DOTENV_KEY",c}else if(u){let c=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw c.code="DECRYPTION_FAILED",c}else throw s}}function fp(e,r,t={}){let n=!!(t&&t.debug),i=!!(t&&t.override);if(typeof r!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(r))Object.prototype.hasOwnProperty.call(e,o)?(i===!0&&(e[o]=r[o]),n&&it(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):e[o]=r[o]}var B={configDotenv:pp,_configVault:cp,_parseVault:ap,config:dp,decrypt:mp,parse:sp,populate:fp};Ne.exports.configDotenv=B.configDotenv;Ne.exports._configVault=B._configVault;Ne.exports._parseVault=B._parseVault;Ne.exports.config=B.config;Ne.exports.decrypt=B.decrypt;Ne.exports.parse=B.parse;Ne.exports.populate=B.populate;Ne.exports=B});var Ls=ne((Nh,an)=>{"use strict";an.exports=(e={})=>{let r;if(e.repoUrl)r=e.repoUrl;else if(e.user&&e.repo)r=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let t=new URL(`${r}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}t.searchParams.set(i,o)}}return t.toString()};an.exports.default=an.exports});var Gi=ne((pb,ia)=>{"use strict";ia.exports=function(){function e(r,t,n,i,o){return rn?n+1:r+1:i===o?t:t+1}return function(r,t){if(r===t)return 0;if(r.length>t.length){var n=r;r=t,t=n}for(var i=r.length,o=t.length;i>0&&r.charCodeAt(i-1)===t.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict"});var ca=Do(()=>{"use strict"});var Vf={};tr(Vf,{DMMF:()=>ut,Debug:()=>N,Decimal:()=>ge,Extensions:()=>ri,MetricsClient:()=>Lr,PrismaClientInitializationError:()=>T,PrismaClientKnownRequestError:()=>z,PrismaClientRustPanicError:()=>le,PrismaClientUnknownRequestError:()=>j,PrismaClientValidationError:()=>Z,Public:()=>ti,Sql:()=>oe,createParam:()=>Ra,defineDmmfProperty:()=>Da,deserializeJsonResponse:()=>Tr,deserializeRawResult:()=>zn,dmmfToRuntimeDataModel:()=>Zs,empty:()=>La,getPrismaClient:()=>gu,getRuntime:()=>Vn,join:()=>Na,makeStrictEnum:()=>hu,makeTypedQueryFactory:()=>_a,objectEnumValues:()=>Cn,raw:()=>eo,serializeJsonQuery:()=>Nn,skip:()=>_n,sqltag:()=>ro,warnEnvConflicts:()=>yu,warnOnce:()=>st});module.exports=Pu(Vf);var ri={};tr(ri,{defineExtension:()=>No,getExtensionContext:()=>Lo});function No(e){return typeof e=="function"?e:r=>r.$extends(e)}function Lo(e){return e}var ti={};tr(ti,{validator:()=>Fo});function Fo(...e){return r=>r}var Bt={};tr(Bt,{$:()=>Vo,bgBlack:()=>_u,bgBlue:()=>Mu,bgCyan:()=>qu,bgGreen:()=>Lu,bgMagenta:()=>$u,bgRed:()=>Nu,bgWhite:()=>ju,bgYellow:()=>Fu,black:()=>Iu,blue:()=>nr,bold:()=>W,cyan:()=>Oe,dim:()=>Ie,gray:()=>Hr,green:()=>qe,grey:()=>Du,hidden:()=>Cu,inverse:()=>Ru,italic:()=>Su,magenta:()=>ku,red:()=>ce,reset:()=>Tu,strikethrough:()=>Au,underline:()=>Y,white:()=>Ou,yellow:()=>ke});var ni,Mo,$o,qo,jo=!0;typeof process<"u"&&({FORCE_COLOR:ni,NODE_DISABLE_COLORS:Mo,NO_COLOR:$o,TERM:qo}=process.env||{},jo=process.stdout&&process.stdout.isTTY);var Vo={enabled:!Mo&&$o==null&&qo!=="dumb"&&(ni!=null&&ni!=="0"||jo)};function F(e,r){let t=new RegExp(`\\x1b\\[${r}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${r}m`;return function(o){return!Vo.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(t,i+n):o)+i}}var Tu=F(0,0),W=F(1,22),Ie=F(2,22),Su=F(3,23),Y=F(4,24),Ru=F(7,27),Cu=F(8,28),Au=F(9,29),Iu=F(30,39),ce=F(31,39),qe=F(32,39),ke=F(33,39),nr=F(34,39),ku=F(35,39),Oe=F(36,39),Ou=F(37,39),Hr=F(90,39),Du=F(90,39),_u=F(40,49),Nu=F(41,49),Lu=F(42,49),Fu=F(43,49),Mu=F(44,49),$u=F(45,49),qu=F(46,49),ju=F(47,49);var Vu=100,Bo=["green","yellow","blue","magenta","cyan","red"],Kr=[],Uo=Date.now(),Bu=0,ii=typeof process<"u"?process.env:{};globalThis.DEBUG??=ii.DEBUG??"";globalThis.DEBUG_COLORS??=ii.DEBUG_COLORS?ii.DEBUG_COLORS==="true":!0;var Yr={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let r=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),t=r.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=r.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return t&&!n},log:(...e)=>{let[r,t,...n]=e;(console.warn??console.log)(`${r} ${t}`,...n)},formatters:{}};function Uu(e){let r={color:Bo[Bu++%Bo.length],enabled:Yr.enabled(e),namespace:e,log:Yr.log,extend:()=>{}},t=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=r;if(n.length!==0&&Kr.push([o,...n]),Kr.length>Vu&&Kr.shift(),Yr.enabled(o)||i){let l=n.map(c=>typeof c=="string"?c:Qu(c)),u=`+${Date.now()-Uo}ms`;Uo=Date.now(),globalThis.DEBUG_COLORS?a(Bt[s](W(o)),...l,Bt[s](u)):a(o,...l,u)}};return new Proxy(t,{get:(n,i)=>r[i],set:(n,i,o)=>r[i]=o})}var N=new Proxy(Uu,{get:(e,r)=>Yr[r],set:(e,r,t)=>Yr[r]=t});function Qu(e,r=2){let t=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(t.has(i))return"[Circular *]";t.add(i)}else if(typeof i=="bigint")return i.toString();return i},r)}function Qo(e=7500){let r=Kr.map(([t,...n])=>`${t} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return r.length!!(e&&typeof e=="object"),Gt=e=>e&&!!e[De],we=(e,r,t)=>{if(Gt(e)){let n=e[De](),{matched:i,selections:o}=n.match(r);return i&&o&&Object.keys(o).forEach(s=>t(s,o[s])),i}if(ai(e)){if(!ai(r))return!1;if(Array.isArray(e)){if(!Array.isArray(r))return!1;let n=[],i=[],o=[];for(let s of e.keys()){let a=e[s];Gt(a)&&a[Gu]?o.push(a):o.length?i.push(a):n.push(a)}if(o.length){if(o.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(r.lengthwe(u,s[c],t))&&i.every((u,c)=>we(u,a[c],t))&&(o.length===0||we(o[0],l,t))}return e.length===r.length&&e.every((s,a)=>we(s,r[a],t))}return Reflect.ownKeys(e).every(n=>{let i=e[n];return(n in r||Gt(o=i)&&o[De]().matcherType==="optional")&&we(i,r[n],t);var o})}return Object.is(r,e)},Qe=e=>{var r,t,n;return ai(e)?Gt(e)?(r=(t=(n=e[De]()).getSelectionKeys)==null?void 0:t.call(n))!=null?r:[]:Array.isArray(e)?zr(e,Qe):zr(Object.values(e),Qe):[]},zr=(e,r)=>e.reduce((t,n)=>t.concat(r(n)),[]);function pe(e){return Object.assign(e,{optional:()=>Wu(e),and:r=>q(e,r),or:r=>Ju(e,r),select:r=>r===void 0?Jo(e):Jo(r,e)})}function Wu(e){return pe({[De]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return r===void 0?(Qe(e).forEach(i=>n(i,void 0)),{matched:!0,selections:t}):{matched:we(e,r,n),selections:t}},getSelectionKeys:()=>Qe(e),matcherType:"optional"})})}function q(...e){return pe({[De]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return{matched:e.every(i=>we(i,r,n)),selections:t}},getSelectionKeys:()=>zr(e,Qe),matcherType:"and"})})}function Ju(...e){return pe({[De]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return zr(e,Qe).forEach(i=>n(i,void 0)),{matched:e.some(i=>we(i,r,n)),selections:t}},getSelectionKeys:()=>zr(e,Qe),matcherType:"or"})})}function C(e){return{[De]:()=>({match:r=>({matched:!!e(r)})})}}function Jo(...e){let r=typeof e[0]=="string"?e[0]:void 0,t=e.length===2?e[1]:typeof e[0]=="string"?void 0:e[0];return pe({[De]:()=>({match:n=>{let i={[r??Wt]:n};return{matched:t===void 0||we(t,n,(o,s)=>{i[o]=s}),selections:i}},getSelectionKeys:()=>[r??Wt].concat(t===void 0?[]:Qe(t))})})}function be(e){return typeof e=="number"}function je(e){return typeof e=="string"}function Ve(e){return typeof e=="bigint"}var eg=pe(C(function(e){return!0}));var Be=e=>Object.assign(pe(e),{startsWith:r=>{return Be(q(e,(t=r,C(n=>je(n)&&n.startsWith(t)))));var t},endsWith:r=>{return Be(q(e,(t=r,C(n=>je(n)&&n.endsWith(t)))));var t},minLength:r=>Be(q(e,(t=>C(n=>je(n)&&n.length>=t))(r))),length:r=>Be(q(e,(t=>C(n=>je(n)&&n.length===t))(r))),maxLength:r=>Be(q(e,(t=>C(n=>je(n)&&n.length<=t))(r))),includes:r=>{return Be(q(e,(t=r,C(n=>je(n)&&n.includes(t)))));var t},regex:r=>{return Be(q(e,(t=r,C(n=>je(n)&&!!n.match(t)))));var t}}),rg=Be(C(je)),Ee=e=>Object.assign(pe(e),{between:(r,t)=>Ee(q(e,((n,i)=>C(o=>be(o)&&n<=o&&i>=o))(r,t))),lt:r=>Ee(q(e,(t=>C(n=>be(n)&&nEe(q(e,(t=>C(n=>be(n)&&n>t))(r))),lte:r=>Ee(q(e,(t=>C(n=>be(n)&&n<=t))(r))),gte:r=>Ee(q(e,(t=>C(n=>be(n)&&n>=t))(r))),int:()=>Ee(q(e,C(r=>be(r)&&Number.isInteger(r)))),finite:()=>Ee(q(e,C(r=>be(r)&&Number.isFinite(r)))),positive:()=>Ee(q(e,C(r=>be(r)&&r>0))),negative:()=>Ee(q(e,C(r=>be(r)&&r<0)))}),tg=Ee(C(be)),Ue=e=>Object.assign(pe(e),{between:(r,t)=>Ue(q(e,((n,i)=>C(o=>Ve(o)&&n<=o&&i>=o))(r,t))),lt:r=>Ue(q(e,(t=>C(n=>Ve(n)&&nUe(q(e,(t=>C(n=>Ve(n)&&n>t))(r))),lte:r=>Ue(q(e,(t=>C(n=>Ve(n)&&n<=t))(r))),gte:r=>Ue(q(e,(t=>C(n=>Ve(n)&&n>=t))(r))),positive:()=>Ue(q(e,C(r=>Ve(r)&&r>0))),negative:()=>Ue(q(e,C(r=>Ve(r)&&r<0)))}),ng=Ue(C(Ve)),ig=pe(C(function(e){return typeof e=="boolean"})),og=pe(C(function(e){return typeof e=="symbol"})),sg=pe(C(function(e){return e==null})),ag=pe(C(function(e){return e!=null}));var li=class extends Error{constructor(r){let t;try{t=JSON.stringify(r)}catch{t=r}super(`Pattern matching error: no pattern matches value ${t}`),this.input=void 0,this.input=r}},ui={matched:!1,value:void 0};function hr(e){return new ci(e,ui)}var ci=class e{constructor(r,t){this.input=void 0,this.state=void 0,this.input=r,this.state=t}with(...r){if(this.state.matched)return this;let t=r[r.length-1],n=[r[0]],i;r.length===3&&typeof r[1]=="function"?i=r[1]:r.length>2&&n.push(...r.slice(1,r.length-1));let o=!1,s={},a=(u,c)=>{o=!0,s[u]=c},l=!n.some(u=>we(u,this.input,a))||i&&!i(this.input)?ui:{matched:!0,value:t(o?Wt in s?s[Wt]:s:this.input,this.input)};return new e(this.input,l)}when(r,t){if(this.state.matched)return this;let n=!!r(this.input);return new e(this.input,n?{matched:!0,value:t(this.input,this.input)}:ui)}otherwise(r){return this.state.matched?this.state.value:r(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new li(this.input)}run(){return this.exhaustive()}returnType(){return this}};var zo=require("node:util");var Hu={warn:ke("prisma:warn")},Ku={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function Jt(e,...r){Ku.warn()&&console.warn(`${Hu.warn} ${e}`,...r)}var Yu=(0,zo.promisify)(Yo.default.exec),ee=gr("prisma:get-platform"),zu=["1.0.x","1.1.x","3.0.x"];async function Zo(){let e=Kt.default.platform(),r=process.arch;if(e==="freebsd"){let s=await Yt("freebsd-version");if(s&&s.trim().length>0){let l=/^(\d+)\.?/.exec(s);if(l)return{platform:"freebsd",targetDistro:`freebsd${l[1]}`,arch:r}}}if(e!=="linux")return{platform:e,arch:r};let t=await Xu(),n=await ac(),i=rc({arch:r,archFromUname:n,familyDistro:t.familyDistro}),{libssl:o}=await tc(i);return{platform:"linux",libssl:o,arch:r,archFromUname:n,...t}}function Zu(e){let r=/^ID="?([^"\n]*)"?$/im,t=/^ID_LIKE="?([^"\n]*)"?$/im,n=r.exec(e),i=n&&n[1]&&n[1].toLowerCase()||"",o=t.exec(e),s=o&&o[1]&&o[1].toLowerCase()||"",a=hr({id:i,idLike:s}).with({id:"alpine"},({id:l})=>({targetDistro:"musl",familyDistro:l,originalDistro:l})).with({id:"raspbian"},({id:l})=>({targetDistro:"arm",familyDistro:"debian",originalDistro:l})).with({id:"nixos"},({id:l})=>({targetDistro:"nixos",originalDistro:l,familyDistro:"nixos"})).with({id:"debian"},{id:"ubuntu"},({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).with({id:"rhel"},{id:"centos"},{id:"fedora"},({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).when(({idLike:l})=>l.includes("debian")||l.includes("ubuntu"),({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).when(({idLike:l})=>i==="arch"||l.includes("arch"),({id:l})=>({targetDistro:"debian",familyDistro:"arch",originalDistro:l})).when(({idLike:l})=>l.includes("centos")||l.includes("fedora")||l.includes("rhel")||l.includes("suse"),({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).otherwise(({id:l})=>({targetDistro:void 0,familyDistro:void 0,originalDistro:l}));return ee(`Found distro info: +${JSON.stringify(a,null,2)}`),a}async function Xu(){let e="/etc/os-release";try{let r=await pi.default.readFile(e,{encoding:"utf-8"});return Zu(r)}catch{return{targetDistro:void 0,familyDistro:void 0,originalDistro:void 0}}}function ec(e){let r=/^OpenSSL\s(\d+\.\d+)\.\d+/.exec(e);if(r){let t=`${r[1]}.x`;return Xo(t)}}function Ho(e){let r=/libssl\.so\.(\d)(\.\d)?/.exec(e);if(r){let t=`${r[1]}${r[2]??".0"}.x`;return Xo(t)}}function Xo(e){let r=(()=>{if(rs(e))return e;let t=e.split(".");return t[1]="0",t.join(".")})();if(zu.includes(r))return r}function rc(e){return hr(e).with({familyDistro:"musl"},()=>(ee('Trying platform-specific paths for "alpine"'),["/lib","/usr/lib"])).with({familyDistro:"debian"},({archFromUname:r})=>(ee('Trying platform-specific paths for "debian" (and "ubuntu")'),[`/usr/lib/${r}-linux-gnu`,`/lib/${r}-linux-gnu`])).with({familyDistro:"rhel"},()=>(ee('Trying platform-specific paths for "rhel"'),["/lib64","/usr/lib64"])).otherwise(({familyDistro:r,arch:t,archFromUname:n})=>(ee(`Don't know any platform-specific paths for "${r}" on ${t} (${n})`),[]))}async function tc(e){let r='grep -v "libssl.so.0"',t=await Ko(e);if(t){ee(`Found libssl.so file using platform-specific paths: ${t}`);let o=Ho(t);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"libssl-specific-path"}}ee('Falling back to "ldconfig" and other generic paths');let n=await Yt(`ldconfig -p | sed "s/.*=>s*//" | sed "s|.*/||" | grep libssl | sort | ${r}`);if(n||(n=await Ko(["/lib64","/usr/lib64","/lib","/usr/lib"])),n){ee(`Found libssl.so file using "ldconfig" or other generic paths: ${n}`);let o=Ho(n);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"ldconfig"}}let i=await Yt("openssl version -v");if(i){ee(`Found openssl binary with version: ${i}`);let o=ec(i);if(ee(`The parsed openssl version is: ${o}`),o)return{libssl:o,strategy:"openssl-binary"}}return ee("Couldn't find any version of libssl or OpenSSL in the system"),{}}async function Ko(e){for(let r of e){let t=await nc(r);if(t)return t}}async function nc(e){try{return(await pi.default.readdir(e)).find(t=>t.startsWith("libssl.so.")&&!t.startsWith("libssl.so.0"))}catch(r){if(r.code==="ENOENT")return;throw r}}async function ir(){let{binaryTarget:e}=await es();return e}function ic(e){return e.binaryTarget!==void 0}async function di(){let{memoized:e,...r}=await es();return r}var Ht={};async function es(){if(ic(Ht))return Promise.resolve({...Ht,memoized:!0});let e=await Zo(),r=oc(e);return Ht={...e,binaryTarget:r},{...Ht,memoized:!1}}function oc(e){let{platform:r,arch:t,archFromUname:n,libssl:i,targetDistro:o,familyDistro:s,originalDistro:a}=e;r==="linux"&&!["x64","arm64"].includes(t)&&Jt(`Prisma only officially supports Linux on amd64 (x86_64) and arm64 (aarch64) system architectures (detected "${t}" instead). If you are using your own custom Prisma engines, you can ignore this warning, as long as you've compiled the engines for your system architecture "${n}".`);let l="1.1.x";if(r==="linux"&&i===void 0){let c=hr({familyDistro:s}).with({familyDistro:"debian"},()=>"Please manually install OpenSSL via `apt-get update -y && apt-get install -y openssl` and try installing Prisma again. If you're running Prisma on Docker, add this command to your Dockerfile, or switch to an image that already has OpenSSL installed.").otherwise(()=>"Please manually install OpenSSL and try installing Prisma again.");Jt(`Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-${l}". +${c}`)}let u="debian";if(r==="linux"&&o===void 0&&ee(`Distro is "${a}". Falling back to Prisma engines built for "${u}".`),r==="darwin"&&t==="arm64")return"darwin-arm64";if(r==="darwin")return"darwin";if(r==="win32")return"windows";if(r==="freebsd")return o;if(r==="openbsd")return"openbsd";if(r==="netbsd")return"netbsd";if(r==="linux"&&o==="nixos")return"linux-nixos";if(r==="linux"&&t==="arm64")return`${o==="musl"?"linux-musl-arm64":"linux-arm64"}-openssl-${i||l}`;if(r==="linux"&&t==="arm")return`linux-arm-openssl-${i||l}`;if(r==="linux"&&o==="musl"){let c="linux-musl";return!i||rs(i)?c:`${c}-openssl-${i}`}return r==="linux"&&o&&i?`${o}-openssl-${i}`:(r!=="linux"&&Jt(`Prisma detected unknown OS "${r}" and may not work as expected. Defaulting to "linux".`),i?`${u}-openssl-${i}`:o?`${o}-openssl-${l}`:`${u}-openssl-${l}`)}async function sc(e){try{return await e()}catch{return}}function Yt(e){return sc(async()=>{let r=await Yu(e);return ee(`Command "${e}" successfully returned "${r.stdout}"`),r.stdout})}async function ac(){return typeof Kt.default.machine=="function"?Kt.default.machine():(await Yt("uname -m"))?.trim()}function rs(e){return e.startsWith("1.")}var Xt={};tr(Xt,{beep:()=>_c,clearScreen:()=>Ic,clearTerminal:()=>kc,cursorBackward:()=>fc,cursorDown:()=>dc,cursorForward:()=>mc,cursorGetPosition:()=>yc,cursorHide:()=>wc,cursorLeft:()=>is,cursorMove:()=>pc,cursorNextLine:()=>bc,cursorPrevLine:()=>Ec,cursorRestorePosition:()=>hc,cursorSavePosition:()=>gc,cursorShow:()=>xc,cursorTo:()=>cc,cursorUp:()=>ns,enterAlternativeScreen:()=>Oc,eraseDown:()=>Sc,eraseEndLine:()=>Pc,eraseLine:()=>os,eraseLines:()=>vc,eraseScreen:()=>mi,eraseStartLine:()=>Tc,eraseUp:()=>Rc,exitAlternativeScreen:()=>Dc,iTerm:()=>Fc,image:()=>Lc,link:()=>Nc,scrollDown:()=>Ac,scrollUp:()=>Cc});var Zt=k(require("node:process"),1);var zt=globalThis.window?.document!==void 0,gg=globalThis.process?.versions?.node!==void 0,hg=globalThis.process?.versions?.bun!==void 0,yg=globalThis.Deno?.version?.deno!==void 0,bg=globalThis.process?.versions?.electron!==void 0,Eg=globalThis.navigator?.userAgent?.includes("jsdom")===!0,wg=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,xg=typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,vg=typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,Pg=typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope,Zr=globalThis.navigator?.userAgentData?.platform,Tg=Zr==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform==="darwin",Sg=Zr==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform==="win32",Rg=Zr==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform==="linux",Cg=Zr==="iOS"||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),Ag=Zr==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform==="android";var A="\x1B[",et="\x1B]",yr="\x07",Xr=";",ts=!zt&&Zt.default.env.TERM_PROGRAM==="Apple_Terminal",lc=!zt&&Zt.default.platform==="win32",uc=zt?()=>{throw new Error("`process.cwd()` only works in Node.js, not the browser.")}:Zt.default.cwd,cc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof r!="number"?A+(e+1)+"G":A+(r+1)+Xr+(e+1)+"H"},pc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let t="";return e<0?t+=A+-e+"D":e>0&&(t+=A+e+"C"),r<0?t+=A+-r+"A":r>0&&(t+=A+r+"B"),t},ns=(e=1)=>A+e+"A",dc=(e=1)=>A+e+"B",mc=(e=1)=>A+e+"C",fc=(e=1)=>A+e+"D",is=A+"G",gc=ts?"\x1B7":A+"s",hc=ts?"\x1B8":A+"u",yc=A+"6n",bc=A+"E",Ec=A+"F",wc=A+"?25l",xc=A+"?25h",vc=e=>{let r="";for(let t=0;t[et,"8",Xr,Xr,r,yr,e,et,"8",Xr,Xr,yr].join(""),Lc=(e,r={})=>{let t=`${et}1337;File=inline=1`;return r.width&&(t+=`;width=${r.width}`),r.height&&(t+=`;height=${r.height}`),r.preserveAspectRatio===!1&&(t+=";preserveAspectRatio=0"),t+":"+Buffer.from(e).toString("base64")+yr},Fc={setCwd:(e=uc())=>`${et}50;CurrentDir=${e}${yr}`,annotation(e,r={}){let t=`${et}1337;`,n=r.x!==void 0,i=r.y!==void 0;if((n||i)&&!(n&&i&&r.length!==void 0))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replaceAll("|",""),t+=r.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",r.length>0?t+=(n?[e,r.length,r.x,r.y]:[r.length,e]).join("|"):t+=e,t+yr}};var en=k(ds(),1);function or(e,r,{target:t="stdout",...n}={}){return en.default[t]?Xt.link(e,r):n.fallback===!1?e:typeof n.fallback=="function"?n.fallback(e,r):`${e} (\u200B${r}\u200B)`}or.isSupported=en.default.stdout;or.stderr=(e,r,t={})=>or(e,r,{target:"stderr",...t});or.stderr.isSupported=en.default.stderr;function bi(e){return or(e,e,{fallback:Y})}var Vc=ms(),Ei=Vc.version;function Er(e){let r=Bc();return r||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Uc(e))}function Bc(){let e=process.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Uc(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}var Gc=k(xi());var M=k(require("node:path")),Wc=k(xi()),ah=N("prisma:engines");function fs(){return M.default.join(__dirname,"../")}var lh="libquery-engine";M.default.join(__dirname,"../query-engine-darwin");M.default.join(__dirname,"../query-engine-darwin-arm64");M.default.join(__dirname,"../query-engine-debian-openssl-1.0.x");M.default.join(__dirname,"../query-engine-debian-openssl-1.1.x");M.default.join(__dirname,"../query-engine-debian-openssl-3.0.x");M.default.join(__dirname,"../query-engine-linux-static-x64");M.default.join(__dirname,"../query-engine-linux-static-arm64");M.default.join(__dirname,"../query-engine-rhel-openssl-1.0.x");M.default.join(__dirname,"../query-engine-rhel-openssl-1.1.x");M.default.join(__dirname,"../query-engine-rhel-openssl-3.0.x");M.default.join(__dirname,"../libquery_engine-darwin.dylib.node");M.default.join(__dirname,"../libquery_engine-darwin-arm64.dylib.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-3.0.x.so.node");M.default.join(__dirname,"../query_engine-windows.dll.node");var vi=k(require("node:fs")),gs=gr("chmodPlusX");function Pi(e){if(process.platform==="win32")return;let r=vi.default.statSync(e),t=r.mode|64|8|1;if(r.mode===t){gs(`Execution permissions of ${e} are fine`);return}let n=t.toString(8).slice(-3);gs(`Have to call chmodPlusX on ${e}`),vi.default.chmodSync(e,n)}function Ti(e){let r=e.e,t=a=>`Prisma cannot find the required \`${a}\` system library in your system`,n=r.message.includes("cannot open shared object file"),i=`Please refer to the documentation about Prisma's system requirements: ${bi("https://pris.ly/d/system-requirements")}`,o=`Unable to require(\`${Ie(e.id)}\`).`,s=hr({message:r.message,code:r.code}).with({code:"ENOENT"},()=>"File does not exist.").when(({message:a})=>n&&a.includes("libz"),()=>`${t("libz")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libgcc_s"),()=>`${t("libgcc_s")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libssl"),()=>{let a=e.platformInfo.libssl?`openssl-${e.platformInfo.libssl}`:"openssl";return`${t("libssl")}. Please install ${a} and try again.`}).when(({message:a})=>a.includes("GLIBC"),()=>`Prisma has detected an incompatible version of the \`glibc\` C standard library installed in your system. This probably means your system may be too old to run Prisma. ${i}`).when(({message:a})=>e.platformInfo.platform==="linux"&&a.includes("symbol not found"),()=>`The Prisma engines are not compatible with your system ${e.platformInfo.originalDistro} on (${e.platformInfo.archFromUname}) which uses the \`${e.platformInfo.binaryTarget}\` binaryTarget by default. ${i}`).otherwise(()=>`The Prisma engines do not seem to be compatible with your system. ${i}`);return`${o} ${s} -Details: ${r.message}`}var bs=k(ys(),1);function Ti(e){let r=(0,bs.default)(e);if(r===0)return e;let t=new RegExp(`^[ \\t]{${r}}`,"gm");return e.replace(t,"")}var Es="prisma+postgres",en=`${Es}:`;function Si(e){return e?.startsWith(`${en}//`)??!1}var xs=k(Ri());function Ai(e){return String(new Ci(e))}var Ci=class{constructor(r){this.config=r}toString(){let{config:r}=this,t=r.provider.fromEnvVar?`env("${r.provider.fromEnvVar}")`:r.provider.value,n=JSON.parse(JSON.stringify({provider:t,binaryTargets:Wc(r.binaryTargets)}));return`generator ${r.name} { -${(0,xs.default)(Jc(n),2)} -}`}};function Wc(e){let r;if(e.length>0){let t=e.find(n=>n.fromEnvVar!==null);t?r=`env("${t.fromEnvVar}")`:r=e.map(n=>n.native?"native":n.value)}else r=void 0;return r}function Jc(e){let r=Object.keys(e).reduce((t,n)=>Math.max(t,n.length),0);return Object.entries(e).map(([t,n])=>`${t.padEnd(r)} = ${Hc(n)}`).join(` -`)}function Hc(e){return JSON.parse(JSON.stringify(e,(r,t)=>Array.isArray(t)?`[${t.map(n=>JSON.stringify(n)).join(", ")}]`:JSON.stringify(t)))}var tt={};tr(tt,{error:()=>zc,info:()=>Yc,log:()=>Kc,query:()=>Zc,should:()=>vs,tags:()=>rt,warn:()=>Ii});var rt={error:ce("prisma:error"),warn:ke("prisma:warn"),info:Oe("prisma:info"),query:nr("prisma:query")},vs={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function Kc(...e){console.log(...e)}function Ii(e,...r){vs.warn()&&console.warn(`${rt.warn} ${e}`,...r)}function Yc(e,...r){console.info(`${rt.info} ${e}`,...r)}function zc(e,...r){console.error(`${rt.error} ${e}`,...r)}function Zc(e,...r){console.log(`${rt.query} ${e}`,...r)}function rn(e,r){if(!e)throw new Error(`${r}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}function _e(e,r){throw new Error(r)}var nt=k(require("node:path"));function Oi(e){return nt.default.sep===nt.default.posix.sep?e:e.split(nt.default.sep).join(nt.default.posix.sep)}var Li=k(ks()),nn=k(require("node:fs"));var wr=k(require("node:path"));function Os(e){let r=e.ignoreProcessEnv?{}:process.env,t=n=>n.match(/(.?\${(?:[a-zA-Z0-9_]+)?})/g)?.reduce(function(o,s){let a=/(.?)\${([a-zA-Z0-9_]+)?}/g.exec(s);if(!a)return o;let l=a[1],u,c;if(l==="\\")c=a[0],u=c.replace("\\$","$");else{let p=a[2];c=a[0].substring(l.length),u=Object.hasOwnProperty.call(r,p)?r[p]:e.parsed[p]||"",u=t(u)}return o.replace(c,u)},n)??n;for(let n in e.parsed){let i=Object.hasOwnProperty.call(r,n)?r[n]:e.parsed[n];e.parsed[n]=t(i)}for(let n in e.parsed)r[n]=e.parsed[n];return e}var Fi=gr("prisma:tryLoadEnv");function it({rootEnvPath:e,schemaEnvPath:r},t={conflictCheck:"none"}){let n=Ds(e);t.conflictCheck!=="none"&&gp(n,r,t.conflictCheck);let i=null;return _s(n?.path,r)||(i=Ds(r)),!n&&!i&&Fi("No Environment variables loaded"),i?.dotenvResult.error?console.error(ce(W("Schema Env Error: "))+i.dotenvResult.error):{message:[n?.message,i?.message].filter(Boolean).join(` -`),parsed:{...n?.dotenvResult?.parsed,...i?.dotenvResult?.parsed}}}function gp(e,r,t){let n=e?.dotenvResult.parsed,i=!_s(e?.path,r);if(n&&r&&i&&nn.default.existsSync(r)){let o=Li.default.parse(nn.default.readFileSync(r)),s=[];for(let a in o)n[a]===o[a]&&s.push(a);if(s.length>0){let a=wr.default.relative(process.cwd(),e.path),l=wr.default.relative(process.cwd(),r);if(t==="error"){let u=`There is a conflict between env var${s.length>1?"s":""} in ${Y(a)} and ${Y(l)} +Details: ${r.message}`}var bs=k(ys(),1);function Si(e){let r=(0,bs.default)(e);if(r===0)return e;let t=new RegExp(`^[ \\t]{${r}}`,"gm");return e.replace(t,"")}var Es="prisma+postgres",tn=`${Es}:`;function nn(e){return e?.toString().startsWith(`${tn}//`)??!1}function Ri(e){if(!nn(e))return!1;let{host:r}=new URL(e);return r.includes("localhost")||r.includes("127.0.0.1")}var xs=k(Ci());function Ii(e){return String(new Ai(e))}var Ai=class{constructor(r){this.config=r}toString(){let{config:r}=this,t=r.provider.fromEnvVar?`env("${r.provider.fromEnvVar}")`:r.provider.value,n=JSON.parse(JSON.stringify({provider:t,binaryTargets:Jc(r.binaryTargets)}));return`generator ${r.name} { +${(0,xs.default)(Hc(n),2)} +}`}};function Jc(e){let r;if(e.length>0){let t=e.find(n=>n.fromEnvVar!==null);t?r=`env("${t.fromEnvVar}")`:r=e.map(n=>n.native?"native":n.value)}else r=void 0;return r}function Hc(e){let r=Object.keys(e).reduce((t,n)=>Math.max(t,n.length),0);return Object.entries(e).map(([t,n])=>`${t.padEnd(r)} = ${Kc(n)}`).join(` +`)}function Kc(e){return JSON.parse(JSON.stringify(e,(r,t)=>Array.isArray(t)?`[${t.map(n=>JSON.stringify(n)).join(", ")}]`:JSON.stringify(t)))}var tt={};tr(tt,{error:()=>Zc,info:()=>zc,log:()=>Yc,query:()=>Xc,should:()=>vs,tags:()=>rt,warn:()=>ki});var rt={error:ce("prisma:error"),warn:ke("prisma:warn"),info:Oe("prisma:info"),query:nr("prisma:query")},vs={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function Yc(...e){console.log(...e)}function ki(e,...r){vs.warn()&&console.warn(`${rt.warn} ${e}`,...r)}function zc(e,...r){console.info(`${rt.info} ${e}`,...r)}function Zc(e,...r){console.error(`${rt.error} ${e}`,...r)}function Xc(e,...r){console.log(`${rt.query} ${e}`,...r)}function on(e,r){if(!e)throw new Error(`${r}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}function _e(e,r){throw new Error(r)}var nt=k(require("node:path"));function Di(e){return nt.default.sep===nt.default.posix.sep?e:e.split(nt.default.sep).join(nt.default.posix.sep)}var Fi=k(Os()),sn=k(require("node:fs"));var wr=k(require("node:path"));function Ds(e){let r=e.ignoreProcessEnv?{}:process.env,t=n=>n.match(/(.?\${(?:[a-zA-Z0-9_]+)?})/g)?.reduce(function(o,s){let a=/(.?)\${([a-zA-Z0-9_]+)?}/g.exec(s);if(!a)return o;let l=a[1],u,c;if(l==="\\")c=a[0],u=c.replace("\\$","$");else{let p=a[2];c=a[0].substring(l.length),u=Object.hasOwnProperty.call(r,p)?r[p]:e.parsed[p]||"",u=t(u)}return o.replace(c,u)},n)??n;for(let n in e.parsed){let i=Object.hasOwnProperty.call(r,n)?r[n]:e.parsed[n];e.parsed[n]=t(i)}for(let n in e.parsed)r[n]=e.parsed[n];return e}var Li=gr("prisma:tryLoadEnv");function ot({rootEnvPath:e,schemaEnvPath:r},t={conflictCheck:"none"}){let n=_s(e);t.conflictCheck!=="none"&&gp(n,r,t.conflictCheck);let i=null;return Ns(n?.path,r)||(i=_s(r)),!n&&!i&&Li("No Environment variables loaded"),i?.dotenvResult.error?console.error(ce(W("Schema Env Error: "))+i.dotenvResult.error):{message:[n?.message,i?.message].filter(Boolean).join(` +`),parsed:{...n?.dotenvResult?.parsed,...i?.dotenvResult?.parsed}}}function gp(e,r,t){let n=e?.dotenvResult.parsed,i=!Ns(e?.path,r);if(n&&r&&i&&sn.default.existsSync(r)){let o=Fi.default.parse(sn.default.readFileSync(r)),s=[];for(let a in o)n[a]===o[a]&&s.push(a);if(s.length>0){let a=wr.default.relative(process.cwd(),e.path),l=wr.default.relative(process.cwd(),r);if(t==="error"){let u=`There is a conflict between env var${s.length>1?"s":""} in ${Y(a)} and ${Y(l)} Conflicting env vars: ${s.map(c=>` ${W(c)}`).join(` `)} @@ -21,52 +21,52 @@ ${s.map(c=>` ${W(c)}`).join(` We suggest to move the contents of ${Y(l)} to ${Y(a)} to consolidate your env vars. `;throw new Error(u)}else if(t==="warn"){let u=`Conflict for env var${s.length>1?"s":""} ${s.map(c=>W(c)).join(", ")} in ${Y(a)} and ${Y(l)} Env vars from ${Y(l)} overwrite the ones from ${Y(a)} - `;console.warn(`${ke("warn(prisma)")} ${u}`)}}}}function Ds(e){if(hp(e)){Fi(`Environment variables loaded from ${e}`);let r=Li.default.config({path:e,debug:process.env.DOTENV_CONFIG_DEBUG?!0:void 0});return{dotenvResult:Os(r),message:Ie(`Environment variables loaded from ${wr.default.relative(process.cwd(),e)}`),path:e}}else Fi(`Environment variables not found at ${e}`);return null}function _s(e,r){return e&&r&&wr.default.resolve(e)===wr.default.resolve(r)}function hp(e){return!!(e&&nn.default.existsSync(e))}function Mi(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function xr(e,r){let t={};for(let n of Object.keys(e))t[n]=r(e[n],n);return t}function $i(e,r){if(e.length===0)return;let t=e[0];for(let n=1;n{Fs.has(e)||(Fs.add(e),Ii(r,...t))};var T=class e extends Error{clientVersion;errorCode;retryable;constructor(r,t,n){super(r),this.name="PrismaClientInitializationError",this.clientVersion=t,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};x(T,"PrismaClientInitializationError");var z=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(r,{code:t,clientVersion:n,meta:i,batchRequestIdx:o}){super(r),this.name="PrismaClientKnownRequestError",this.code=t,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};x(z,"PrismaClientKnownRequestError");var le=class extends Error{clientVersion;constructor(r,t){super(r),this.name="PrismaClientRustPanicError",this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};x(le,"PrismaClientRustPanicError");var j=class extends Error{clientVersion;batchRequestIdx;constructor(r,{clientVersion:t,batchRequestIdx:n}){super(r),this.name="PrismaClientUnknownRequestError",this.clientVersion=t,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};x(j,"PrismaClientUnknownRequestError");var Z=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(r,{clientVersion:t}){super(r),this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};x(Z,"PrismaClientValidationError");var vr=9e15,Ke=1e9,qi="0123456789abcdef",un="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",cn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ji={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-vr,maxE:vr,crypto:!1},qs,Fe,w=!0,dn="[DecimalError] ",He=dn+"Invalid argument: ",js=dn+"Precision limit exceeded",Vs=dn+"crypto unavailable",Bs="[object Decimal]",X=Math.floor,U=Math.pow,yp=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,bp=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Ep=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Us=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,fe=1e7,E=7,wp=9007199254740991,xp=un.length-1,Vi=cn.length-1,m={toStringTag:Bs};m.absoluteValue=m.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};m.ceil=function(){return y(new this.constructor(this),this.e+1,2)};m.clampedTo=m.clamp=function(e,r){var t,n=this,i=n.constructor;if(e=new i(e),r=new i(r),!e.s||!r.s)return new i(NaN);if(e.gt(r))throw Error(He+r);return t=n.cmp(e),t<0?e:n.cmp(r)>0?r:new i(n)};m.comparedTo=m.cmp=function(e){var r,t,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,r=0,t=na[r]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};m.cosine=m.cos=function(){var e,r,t=this,n=t.constructor;return t.d?t.d[0]?(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+E,n.rounding=1,t=vp(n,Hs(n,t)),n.precision=e,n.rounding=r,y(Fe==2||Fe==3?t.neg():t,e,r,!0)):new n(1):new n(NaN)};m.cubeRoot=m.cbrt=function(){var e,r,t,n,i,o,s,a,l,u,c=this,p=c.constructor;if(!c.isFinite()||c.isZero())return new p(c);for(w=!1,o=c.s*U(c.s*c,1/3),!o||Math.abs(o)==1/0?(t=J(c.d),e=c.e,(o=(e-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=U(t,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?t="5e"+e:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new p(t),n.s=c.s):n=new p(o.toString()),s=(e=p.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(c),n=F(u.plus(c).times(a),u.plus(l),s+2,1),J(a.d).slice(0,s)===(t=J(n.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(y(a,e+1,0),a.times(a).times(a).eq(c))){n=a;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(n,e+1,1),r=!n.times(n).times(n).eq(c));break}return w=!0,y(n,e,p.rounding,r)};m.decimalPlaces=m.dp=function(){var e,r=this.d,t=NaN;if(r){if(e=r.length-1,t=(e-X(this.e/E))*E,e=r[e],e)for(;e%10==0;e/=10)t--;t<0&&(t=0)}return t};m.dividedBy=m.div=function(e){return F(this,new this.constructor(e))};m.dividedToIntegerBy=m.divToInt=function(e){var r=this,t=r.constructor;return y(F(r,new t(e),0,1,1),t.precision,t.rounding)};m.equals=m.eq=function(e){return this.cmp(e)===0};m.floor=function(){return y(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(e){return this.cmp(e)>0};m.greaterThanOrEqualTo=m.gte=function(e){var r=this.cmp(e);return r==1||r===0};m.hyperbolicCosine=m.cosh=function(){var e,r,t,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;t=s.precision,n=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),r=(1/fn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),o=Pr(s,1,o.times(r),new s(1),!0);for(var l,u=e,c=new s(8);u--;)l=o.times(o),o=a.minus(l.times(c.minus(l.times(c))));return y(o,s.precision=t,s.rounding=n,!0)};m.hyperbolicSine=m.sinh=function(){var e,r,t,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(r=o.precision,t=o.rounding,o.precision=r+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=Pr(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/fn(5,e)),i=Pr(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=r,o.rounding=t,y(i,r,t,!0)};m.hyperbolicTangent=m.tanh=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+7,n.rounding=1,F(t.sinh(),t.cosh(),n.precision=e,n.rounding=r)):new n(t.s)};m.inverseCosine=m.acos=function(){var e=this,r=e.constructor,t=e.abs().cmp(1),n=r.precision,i=r.rounding;return t!==-1?t===0?e.isNeg()?we(r,n,i):new r(0):new r(NaN):e.isZero()?we(r,n+4,i).times(.5):(r.precision=n+6,r.rounding=1,e=new r(1).minus(e).div(e.plus(1)).sqrt().atan(),r.precision=n,r.rounding=i,e.times(2))};m.inverseHyperbolicCosine=m.acosh=function(){var e,r,t=this,n=t.constructor;return t.lte(1)?new n(t.eq(1)?0:NaN):t.isFinite()?(e=n.precision,r=n.rounding,n.precision=e+Math.max(Math.abs(t.e),t.sd())+4,n.rounding=1,w=!1,t=t.times(t).minus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln()):new n(t)};m.inverseHyperbolicSine=m.asinh=function(){var e,r,t=this,n=t.constructor;return!t.isFinite()||t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+2*Math.max(Math.abs(t.e),t.sd())+6,n.rounding=1,w=!1,t=t.times(t).plus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln())};m.inverseHyperbolicTangent=m.atanh=function(){var e,r,t,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,r=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?y(new o(i),e,r,!0):(o.precision=t=n-i.e,i=F(i.plus(1),new o(1).minus(i),t+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=r,i.times(.5))):new o(NaN)};m.inverseSine=m.asin=function(){var e,r,t,n,i=this,o=i.constructor;return i.isZero()?new o(i):(r=i.abs().cmp(1),t=o.precision,n=o.rounding,r!==-1?r===0?(e=we(o,t+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=n,i.times(2)))};m.inverseTangent=m.atan=function(){var e,r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding;if(u.isFinite()){if(u.isZero())return new c(u);if(u.abs().eq(1)&&p+4<=Vi)return s=we(c,p+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new c(NaN);if(p+4<=Vi)return s=we(c,p+4,d).times(.5),s.s=u.s,s}for(c.precision=a=p+10,c.rounding=1,t=Math.min(28,a/E+2|0),e=t;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(w=!1,r=Math.ceil(a/E),n=1,l=u.times(u),s=new c(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[r]!==void 0)for(e=r;s.d[e]===o.d[e]&&e--;);return t&&(s=s.times(2<this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(e){return this.cmp(e)<0};m.lessThanOrEqualTo=m.lte=function(e){return this.cmp(e)<1};m.logarithm=m.log=function(e){var r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding,f=5;if(e==null)e=new c(10),r=!0;else{if(e=new c(e),t=e.d,e.s<0||!t||!t[0]||e.eq(1))return new c(NaN);r=e.eq(10)}if(t=u.d,u.s<0||!t||!t[0]||u.eq(1))return new c(t&&!t[0]?-1/0:u.s!=1?NaN:t?0:1/0);if(r)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(w=!1,a=p+f,s=Je(u,a),n=r?pn(c,a+10):Je(e,a),l=F(s,n,a,1),st(l.d,i=p,d))do if(a+=10,s=Je(u,a),n=r?pn(c,a+10):Je(e,a),l=F(s,n,a,1),!o){+J(l.d).slice(i+1,i+15)+1==1e14&&(l=y(l,p+1,0));break}while(st(l.d,i+=10,d));return w=!0,y(l,p,d)};m.minus=m.sub=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,g=f.constructor;if(e=new g(e),!f.d||!e.d)return!f.s||!e.s?e=new g(NaN):f.d?e.s=-e.s:e=new g(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=g.precision,l=g.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new g(f);else return new g(l===3?-0:0);return w?y(e,a,l):e}if(t=X(e.e/E),c=X(f.e/E),u=u.slice(),o=c-t,o){for(p=o<0,p?(r=u,o=-o,s=d.length):(r=d,t=c,s=u.length),n=Math.max(Math.ceil(a/E),s)+2,o>n&&(o=n,r.length=1),r.reverse(),n=o;n--;)r.push(0);r.reverse()}else{for(n=u.length,s=d.length,p=n0;--n)u[s++]=0;for(n=d.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=u.length,i=c.length,s-i<0&&(i=s,t=c,c=u,u=t),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/fe|0,u[i]%=fe;for(r&&(u.unshift(r),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=mn(u,n),w?y(e,a,l):e};m.precision=m.sd=function(e){var r,t=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(He+e);return t.d?(r=Qs(t.d),e&&t.e+1>r&&(r=t.e+1)):r=NaN,r};m.round=function(){var e=this,r=e.constructor;return y(new r(e),e.e+1,r.rounding)};m.sine=m.sin=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+E,n.rounding=1,t=Tp(n,Hs(n,t)),n.precision=e,n.rounding=r,y(Fe>2?t.neg():t,e,r,!0)):new n(NaN)};m.squareRoot=m.sqrt=function(){var e,r,t,n,i,o,s=this,a=s.d,l=s.e,u=s.s,c=s.constructor;if(u!==1||!a||!a[0])return new c(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(w=!1,u=Math.sqrt(+s),u==0||u==1/0?(r=J(a),(r.length+l)%2==0&&(r+="0"),u=Math.sqrt(r),l=X((l+1)/2)-(l<0||l%2),u==1/0?r="5e"+l:(r=u.toExponential(),r=r.slice(0,r.indexOf("e")+1)+l),n=new c(r)):n=new c(u.toString()),t=(l=c.precision)+3;;)if(o=n,n=o.plus(F(s,o,t+2,1)).times(.5),J(o.d).slice(0,t)===(r=J(n.d)).slice(0,t))if(r=r.slice(t-3,t+1),r=="9999"||!i&&r=="4999"){if(!i&&(y(o,l+1,0),o.times(o).eq(s))){n=o;break}t+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(y(n,l+1,1),e=!n.times(n).eq(s));break}return w=!0,y(n,l,c.rounding,e)};m.tangent=m.tan=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+10,n.rounding=1,t=t.sin(),t.s=1,t=F(t,new n(1).minus(t.times(t)).sqrt(),e+10,0),n.precision=e,n.rounding=r,y(Fe==2||Fe==4?t.neg():t,e,r,!0)):new n(NaN)};m.times=m.mul=function(e){var r,t,n,i,o,s,a,l,u,c=this,p=c.constructor,d=c.d,f=(e=new p(e)).d;if(e.s*=c.s,!d||!d[0]||!f||!f[0])return new p(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?e.s/0:e.s*0);for(t=X(c.e/E)+X(e.e/E),l=d.length,u=f.length,l=0;){for(r=0,i=l+n;i>n;)a=o[i]+f[n]*d[i-n-1]+r,o[i--]=a%fe|0,r=a/fe|0;o[i]=(o[i]+r)%fe|0}for(;!o[--s];)o.pop();return r?++t:o.shift(),e.d=o,e.e=mn(o,t),w?y(e,p.precision,p.rounding):e};m.toBinary=function(e,r){return Ui(this,2,e,r)};m.toDecimalPlaces=m.toDP=function(e,r){var t=this,n=t.constructor;return t=new n(t),e===void 0?t:(ie(e,0,Ke),r===void 0?r=n.rounding:ie(r,0,8),y(t,e+t.e+1,r))};m.toExponential=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=xe(n,!0):(ie(e,0,Ke),r===void 0?r=i.rounding:ie(r,0,8),n=y(new i(n),e+1,r),t=xe(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toFixed=function(e,r){var t,n,i=this,o=i.constructor;return e===void 0?t=xe(i):(ie(e,0,Ke),r===void 0?r=o.rounding:ie(r,0,8),n=y(new o(i),e+i.e+1,r),t=xe(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};m.toFraction=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,g=f.d,h=f.constructor;if(!g)return new h(f);if(u=t=new h(1),n=l=new h(0),r=new h(n),o=r.e=Qs(g)-f.e-1,s=o%E,r.d[0]=U(10,s<0?E+s:s),e==null)e=o>0?r:u;else{if(a=new h(e),!a.isInt()||a.lt(u))throw Error(He+a);e=a.gt(r)?o>0?r:u:a}for(w=!1,a=new h(J(g)),c=h.precision,h.precision=o=g.length*E*2;p=F(a,r,0,1,1),i=t.plus(p.times(n)),i.cmp(e)!=1;)t=n,n=i,i=u,u=l.plus(p.times(i)),l=i,i=r,r=a.minus(p.times(i)),a=i;return i=F(e.minus(t),n,0,1,1),l=l.plus(i.times(u)),t=t.plus(i.times(n)),l.s=u.s=f.s,d=F(u,n,o,1).minus(f).abs().cmp(F(l,t,o,1).minus(f).abs())<1?[u,n]:[l,t],h.precision=c,w=!0,d};m.toHexadecimal=m.toHex=function(e,r){return Ui(this,16,e,r)};m.toNearest=function(e,r){var t=this,n=t.constructor;if(t=new n(t),e==null){if(!t.d)return t;e=new n(1),r=n.rounding}else{if(e=new n(e),r===void 0?r=n.rounding:ie(r,0,8),!t.d)return e.s?t:e;if(!e.d)return e.s&&(e.s=t.s),e}return e.d[0]?(w=!1,t=F(t,e,0,r,1).times(e),w=!0,y(t)):(e.s=t.s,t=e),t};m.toNumber=function(){return+this};m.toOctal=function(e,r){return Ui(this,8,e,r)};m.toPower=m.pow=function(e){var r,t,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(U(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return y(a,n,o);if(r=X(e.e/E),r>=e.d.length-1&&(t=u<0?-u:u)<=wp)return i=Gs(l,a,t,n),e.s<0?new l(1).div(i):y(i,n,o);if(s=a.s,s<0){if(rl.maxE+1||r0?s/0:0):(w=!1,l.rounding=a.s=1,t=Math.min(12,(r+"").length),i=Bi(e.times(Je(a,n+t)),n),i.d&&(i=y(i,n+5,1),st(i.d,n,o)&&(r=n+10,i=y(Bi(e.times(Je(a,r+t)),r),r+5,1),+J(i.d).slice(n+1,n+15)+1==1e14&&(i=y(i,n+1,0)))),i.s=s,w=!0,l.rounding=o,y(i,n,o))};m.toPrecision=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=xe(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ie(e,1,Ke),r===void 0?r=i.rounding:ie(r,0,8),n=y(new i(n),e,r),t=xe(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toSignificantDigits=m.toSD=function(e,r){var t=this,n=t.constructor;return e===void 0?(e=n.precision,r=n.rounding):(ie(e,1,Ke),r===void 0?r=n.rounding:ie(r,0,8)),y(new n(t),e,r)};m.toString=function(){var e=this,r=e.constructor,t=xe(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()&&!e.isZero()?"-"+t:t};m.truncated=m.trunc=function(){return y(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var e=this,r=e.constructor,t=xe(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()?"-"+t:t};function J(e){var r,t,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,r=1;rt)throw Error(He+e)}function st(e,r,t,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--r;return--r<0?(r+=E,i=0):(i=Math.ceil((r+1)/E),r%=E),o=U(10,E-r),a=e[i]%o|0,n==null?r<3?(r==0?a=a/100|0:r==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(e[i+1]/o/100|0)==U(10,r-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:r<4?(r==0?a=a/1e3|0:r==1?a=a/100|0:r==2&&(a=a/10|0),s=(n||t<4)&&a==9999||!n&&t>3&&a==4999):s=((n||t<4)&&a+1==o||!n&&t>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==U(10,r-3)-1,s}function an(e,r,t){for(var n,i=[0],o,s=0,a=e.length;st-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/t|0,i[n]%=t)}return i.reverse()}function vp(e,r){var t,n,i;if(r.isZero())return r;n=r.d.length,n<32?(t=Math.ceil(n/3),i=(1/fn(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),e.precision+=t,r=Pr(e,1,r.times(i),new e(1));for(var o=t;o--;){var s=r.times(r);r=s.times(s).minus(s).times(8).plus(1)}return e.precision-=t,r}var F=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function r(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function t(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,c,p,d,f,g,h,I,P,S,b,O,me,ae,Jr,V,te,Ae,H,fr,$t=n.constructor,Xn=n.s==i.s?1:-1,K=n.d,_=i.d;if(!K||!K[0]||!_||!_[0])return new $t(!n.s||!i.s||(K?_&&K[0]==_[0]:!_)?NaN:K&&K[0]==0||!_?Xn*0:Xn/0);for(l?(f=1,c=n.e-i.e):(l=fe,f=E,c=X(n.e/f)-X(i.e/f)),H=_.length,te=K.length,P=new $t(Xn),S=P.d=[],p=0;_[p]==(K[p]||0);p++);if(_[p]>(K[p]||0)&&c--,o==null?(ae=o=$t.precision,s=$t.rounding):a?ae=o+(n.e-i.e)+1:ae=o,ae<0)S.push(1),g=!0;else{if(ae=ae/f+2|0,p=0,H==1){for(d=0,_=_[0],ae++;(p1&&(_=e(_,d,l),K=e(K,d,l),H=_.length,te=K.length),V=H,b=K.slice(0,H),O=b.length;O=l/2&&++Ae;do d=0,u=r(_,b,H,O),u<0?(me=b[0],H!=O&&(me=me*l+(b[1]||0)),d=me/Ae|0,d>1?(d>=l&&(d=l-1),h=e(_,d,l),I=h.length,O=b.length,u=r(h,b,I,O),u==1&&(d--,t(h,H=10;d/=10)p++;P.e=p+c*f-1,y(P,a?o+P.e+1:o,s,g)}return P}}();function y(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor;e:if(r!=null){if(p=e.d,!p)return e;for(i=1,a=p[0];a>=10;a/=10)i++;if(o=r-i,o<0)o+=E,s=r,c=p[d=0],l=c/U(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/E),a=p.length,d>=a)if(n){for(;a++<=d;)p.push(0);c=l=0,i=1,o%=E,s=o-E+1}else break e;else{for(c=a=p[d],i=1;a>=10;a/=10)i++;o%=E,s=o-E+i,l=s<0?0:c/U(10,i-s-1)%10|0}if(n=n||r<0||p[d+1]!==void 0||(s<0?c:c%U(10,i-s-1)),u=t<4?(l||n)&&(t==0||t==(e.s<0?3:2)):l>5||l==5&&(t==4||n||t==6&&(o>0?s>0?c/U(10,i-s):0:p[d-1])%10&1||t==(e.s<0?8:7)),r<1||!p[0])return p.length=0,u?(r-=e.e+1,p[0]=U(10,(E-r%E)%E),e.e=-r||0):p[0]=e.e=0,e;if(o==0?(p.length=d,a=1,d--):(p.length=d+1,a=U(10,E-o),p[d]=s>0?(c/U(10,i-s)%U(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=p[0];s>=10;s/=10)o++;for(s=p[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,p[0]==fe&&(p[0]=1));break}else{if(p[d]+=a,p[d]!=fe)break;p[d--]=0,a=1}for(o=p.length;p[--o]===0;)p.pop()}return w&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+We(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+We(-i-1)+o,t&&(n=t-s)>0&&(o+=We(n))):i>=s?(o+=We(i+1-s),t&&(n=t-i-1)>0&&(o=o+"."+We(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=We(n))),o}function mn(e,r){var t=e[0];for(r*=E;t>=10;t/=10)r++;return r}function pn(e,r,t){if(r>xp)throw w=!0,t&&(e.precision=t),Error(js);return y(new e(un),r,1,!0)}function we(e,r,t){if(r>Vi)throw Error(js);return y(new e(cn),r,t,!0)}function Qs(e){var r=e.length-1,t=r*E+1;if(r=e[r],r){for(;r%10==0;r/=10)t--;for(r=e[0];r>=10;r/=10)t++}return t}function We(e){for(var r="";e--;)r+="0";return r}function Gs(e,r,t,n){var i,o=new e(1),s=Math.ceil(n/E+4);for(w=!1;;){if(t%2&&(o=o.times(r),Ms(o.d,s)&&(i=!0)),t=X(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}r=r.times(r),Ms(r.d,s)}return w=!0,o}function Ls(e){return e.d[e.d.length-1]&1}function Ws(e,r,t){for(var n,i,o=new e(r[0]),s=0;++s17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(r==null?(w=!1,l=g):l=r,a=new d(.03125);e.e>-2;)e=e.times(a),p+=5;for(n=Math.log(U(2,p))/Math.LN10*2+5|0,l+=n,t=o=s=new d(1),d.precision=l;;){if(o=y(o.times(e),l,1),t=t.times(++c),a=s.plus(F(o,t,l,1)),J(a.d).slice(0,l)===J(s.d).slice(0,l)){for(i=p;i--;)s=y(s.times(s),l,1);if(r==null)if(u<3&&st(s.d,l-n,f,u))d.precision=l+=10,t=o=a=new d(1),c=0,u++;else return y(s,d.precision=g,f,w=!0);else return d.precision=g,s}s=a}}function Je(e,r){var t,n,i,o,s,a,l,u,c,p,d,f=1,g=10,h=e,I=h.d,P=h.constructor,S=P.rounding,b=P.precision;if(h.s<0||!I||!I[0]||!h.e&&I[0]==1&&I.length==1)return new P(I&&!I[0]?-1/0:h.s!=1?NaN:I?0:h);if(r==null?(w=!1,c=b):c=r,P.precision=c+=g,t=J(I),n=t.charAt(0),Math.abs(o=h.e)<15e14){for(;n<7&&n!=1||n==1&&t.charAt(1)>3;)h=h.times(e),t=J(h.d),n=t.charAt(0),f++;o=h.e,n>1?(h=new P("0."+t),o++):h=new P(n+"."+t.slice(1))}else return u=pn(P,c+2,b).times(o+""),h=Je(new P(n+"."+t.slice(1)),c-g).plus(u),P.precision=b,r==null?y(h,b,S,w=!0):h;for(p=h,l=s=h=F(h.minus(1),h.plus(1),c,1),d=y(h.times(h),c,1),i=3;;){if(s=y(s.times(d),c,1),u=l.plus(F(s,new P(i),c,1)),J(u.d).slice(0,c)===J(l.d).slice(0,c))if(l=l.times(2),o!==0&&(l=l.plus(pn(P,c+2,b).times(o+""))),l=F(l,new P(f),c,1),r==null)if(st(l.d,c-g,S,a))P.precision=c+=g,u=s=h=F(p.minus(1),p.plus(1),c,1),d=y(h.times(h),c,1),i=a=1;else return y(l,P.precision=b,S,w=!0);else return P.precision=b,l;l=u,i+=2}}function Js(e){return String(e.s*e.s/0)}function ln(e,r){var t,n,i;for((t=r.indexOf("."))>-1&&(r=r.replace(".","")),(n=r.search(/e/i))>0?(t<0&&(t=n),t+=+r.slice(n+1),r=r.substring(0,n)):t<0&&(t=r.length),n=0;r.charCodeAt(n)===48;n++);for(i=r.length;r.charCodeAt(i-1)===48;--i);if(r=r.slice(n,i),r){if(i-=n,e.e=t=t-n-1,e.d=[],n=(t+1)%E,t<0&&(n+=E),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(r=r.replace(/(\d)_(?=\d)/g,"$1"),Us.test(r))return ln(e,r)}else if(r==="Infinity"||r==="NaN")return+r||(e.s=NaN),e.e=NaN,e.d=null,e;if(bp.test(r))t=16,r=r.toLowerCase();else if(yp.test(r))t=2;else if(Ep.test(r))t=8;else throw Error(He+r);for(o=r.search(/p/i),o>0?(l=+r.slice(o+1),r=r.substring(2,o)):r=r.slice(2),o=r.indexOf("."),s=o>=0,n=e.constructor,s&&(r=r.replace(".",""),a=r.length,o=a-o,i=Gs(n,new n(t),o,o*2)),u=an(r,t,fe),c=u.length-1,o=c;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=mn(u,c),e.d=u,w=!1,s&&(e=F(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?U(2,l):sr.pow(2,l))),w=!0,e)}function Tp(e,r){var t,n=r.d.length;if(n<3)return r.isZero()?r:Pr(e,2,r,r);t=1.4*Math.sqrt(n),t=t>16?16:t|0,r=r.times(1/fn(5,t)),r=Pr(e,2,r,r);for(var i,o=new e(5),s=new e(16),a=new e(20);t--;)i=r.times(r),r=r.times(o.plus(i.times(s.times(i).minus(a))));return r}function Pr(e,r,t,n,i){var o,s,a,l,u=1,c=e.precision,p=Math.ceil(c/E);for(w=!1,l=t.times(t),a=new e(n);;){if(s=F(a.times(l),new e(r++*r++),c,1),a=i?n.plus(s):n.minus(s),n=F(s.times(l),new e(r++*r++),c,1),s=a.plus(n),s.d[p]!==void 0){for(o=p;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return w=!0,s.d.length=p+1,s}function fn(e,r){for(var t=e;--r;)t*=e;return t}function Hs(e,r){var t,n=r.s<0,i=we(e,e.precision,1),o=i.times(.5);if(r=r.abs(),r.lte(o))return Fe=n?4:1,r;if(t=r.divToInt(i),t.isZero())Fe=n?3:2;else{if(r=r.minus(t.times(i)),r.lte(o))return Fe=Ls(t)?n?2:3:n?4:1,r;Fe=Ls(t)?n?1:4:n?3:2}return r.minus(i).abs()}function Ui(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor,g=t!==void 0;if(g?(ie(t,1,Ke),n===void 0?n=f.rounding:ie(n,0,8)):(t=f.precision,n=f.rounding),!e.isFinite())c=Js(e);else{for(c=xe(e),s=c.indexOf("."),g?(i=2,r==16?t=t*4-3:r==8&&(t=t*3-2)):i=r,s>=0&&(c=c.replace(".",""),d=new f(1),d.e=c.length-s,d.d=an(xe(d),10,i),d.e=d.d.length),p=an(c,10,i),o=l=p.length;p[--l]==0;)p.pop();if(!p[0])c=g?"0p+0":"0";else{if(s<0?o--:(e=new f(e),e.d=p,e.e=o,e=F(e,d,t,n,0,i),p=e.d,o=e.e,u=qs),s=p[t],a=i/2,u=u||p[t+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&p[t-1]&1||n===(e.s<0?8:7)),p.length=t,u)for(;++p[--t]>i-1;)p[t]=0,t||(++o,p.unshift(1));for(l=p.length;!p[l-1];--l);for(s=0,c="";s1)if(r==16||r==8){for(s=r==16?4:3,--l;l%s;l++)c+="0";for(p=an(c,i,r),l=p.length;!p[l-1];--l);for(s=1,c="1.";sl)for(o-=l;o--;)c+="0";else or)return e.length=r,!0}function Sp(e){return new this(e).abs()}function Rp(e){return new this(e).acos()}function Cp(e){return new this(e).acosh()}function Ap(e,r){return new this(e).plus(r)}function Ip(e){return new this(e).asin()}function kp(e){return new this(e).asinh()}function Op(e){return new this(e).atan()}function Dp(e){return new this(e).atanh()}function _p(e,r){e=new this(e),r=new this(r);var t,n=this.precision,i=this.rounding,o=n+4;return!e.s||!r.s?t=new this(NaN):!e.d&&!r.d?(t=we(this,o,1).times(r.s>0?.25:.75),t.s=e.s):!r.d||e.isZero()?(t=r.s<0?we(this,n,i):new this(0),t.s=e.s):!e.d||r.isZero()?(t=we(this,o,1).times(.5),t.s=e.s):r.s<0?(this.precision=o,this.rounding=1,t=this.atan(F(e,r,o,1)),r=we(this,o,1),this.precision=n,this.rounding=i,t=e.s<0?t.minus(r):t.plus(r)):t=this.atan(F(e,r,o,1)),t}function Np(e){return new this(e).cbrt()}function Fp(e){return y(e=new this(e),e.e+1,2)}function Lp(e,r,t){return new this(e).clamp(r,t)}function Mp(e){if(!e||typeof e!="object")throw Error(dn+"Object expected");var r,t,n,i=e.defaults===!0,o=["precision",1,Ke,"rounding",0,8,"toExpNeg",-vr,0,"toExpPos",0,vr,"maxE",0,vr,"minE",-vr,0,"modulo",0,9];for(r=0;r=o[r+1]&&n<=o[r+2])this[t]=n;else throw Error(He+t+": "+n);if(t="crypto",i&&(this[t]=ji[t]),(n=e[t])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Vs);else this[t]=!1;else throw Error(He+t+": "+n);return this}function $p(e){return new this(e).cos()}function qp(e){return new this(e).cosh()}function Ks(e){var r,t,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,$s(o)){u.s=o.s,w?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;w?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?r[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(r=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(r,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(Vs);else for(;o=10;i/=10)n++;nCr,datamodelEnumToSchemaEnum:()=>dd});function dd(e){return{name:e.name,values:e.values.map(r=>r.name)}}var Cr=(b=>(b.findUnique="findUnique",b.findUniqueOrThrow="findUniqueOrThrow",b.findFirst="findFirst",b.findFirstOrThrow="findFirstOrThrow",b.findMany="findMany",b.create="create",b.createMany="createMany",b.createManyAndReturn="createManyAndReturn",b.update="update",b.updateMany="updateMany",b.updateManyAndReturn="updateManyAndReturn",b.upsert="upsert",b.delete="delete",b.deleteMany="deleteMany",b.groupBy="groupBy",b.count="count",b.aggregate="aggregate",b.findRaw="findRaw",b.aggregateRaw="aggregateRaw",b))(Cr||{});var ta=k(Ri());var ra=k(require("node:fs"));var Zs={keyword:Oe,entity:Oe,value:e=>W(nr(e)),punctuation:nr,directive:Oe,function:Oe,variable:e=>W(nr(e)),string:e=>W(qe(e)),boolean:ke,number:Oe,comment:Hr};var md=e=>e,hn={},fd=0,v={manual:hn.Prism&&hn.Prism.manual,disableWorkerMessageHandler:hn.Prism&&hn.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof ge){let r=e;return new ge(r.type,v.util.encode(r.content),r.alias)}else return Array.isArray(e)?e.map(v.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ae instanceof ge)continue;if(me&&V!=r.length-1){S.lastIndex=te;var p=S.exec(e);if(!p)break;var c=p.index+(O?p[1].length:0),d=p.index+p[0].length,a=V,l=te;for(let _=r.length;a<_&&(l=l&&(++V,te=l);if(r[V]instanceof ge)continue;u=a-V,Ae=e.slice(te,l),p.index-=te}else{S.lastIndex=0;var p=S.exec(Ae),u=1}if(!p){if(o)break;continue}O&&(ae=p[1]?p[1].length:0);var c=p.index+ae,p=p[0].slice(ae),d=c+p.length,f=Ae.slice(0,c),g=Ae.slice(d);let H=[V,u];f&&(++V,te+=f.length,H.push(f));let fr=new ge(h,b?v.tokenize(p,b):p,Jr,p,me);if(H.push(fr),g&&H.push(g),Array.prototype.splice.apply(r,H),u!=1&&v.matchGrammar(e,r,t,V,te,!0,h),o)break}}}},tokenize:function(e,r){let t=[e],n=r.rest;if(n){for(let i in n)r[i]=n[i];delete r.rest}return v.matchGrammar(e,t,r,0,0,!1),t},hooks:{all:{},add:function(e,r){let t=v.hooks.all;t[e]=t[e]||[],t[e].push(r)},run:function(e,r){let t=v.hooks.all[e];if(!(!t||!t.length))for(var n=0,i;i=t[n++];)i(r)}},Token:ge};v.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};v.languages.javascript=v.languages.extend("clike",{"class-name":[v.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});v.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;v.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:v.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:v.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:v.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:v.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});v.languages.markup&&v.languages.markup.tag.addInlined("script","javascript");v.languages.js=v.languages.javascript;v.languages.typescript=v.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});v.languages.ts=v.languages.typescript;function ge(e,r,t,n,i){this.type=e,this.content=r,this.alias=t,this.length=(n||"").length|0,this.greedy=!!i}ge.stringify=function(e,r){return typeof e=="string"?e:Array.isArray(e)?e.map(function(t){return ge.stringify(t,r)}).join(""):gd(e.type)(e.content)};function gd(e){return Zs[e]||md}function Xs(e){return hd(e,v.languages.javascript)}function hd(e,r){return v.tokenize(e,r).map(n=>ge.stringify(n)).join("")}function ea(e){return Ti(e)}var yn=class e{firstLineNumber;lines;static read(r){let t;try{t=ra.default.readFileSync(r,"utf-8")}catch{return null}return e.fromContent(t)}static fromContent(r){let t=r.split(/\r?\n/);return new e(1,t)}constructor(r,t){this.firstLineNumber=r,this.lines=t}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(r,t){if(rthis.lines.length+this.firstLineNumber)return this;let n=r-this.firstLineNumber,i=[...this.lines];return i[n]=t(i[n]),new e(this.firstLineNumber,i)}mapLines(r){return new e(this.firstLineNumber,this.lines.map((t,n)=>r(t,this.firstLineNumber+n)))}lineAt(r){return this.lines[r-this.firstLineNumber]}prependSymbolAt(r,t){return this.mapLines((n,i)=>i===r?`${t} ${n}`:` ${n}`)}slice(r,t){let n=this.lines.slice(r-1,t).join(` -`);return new e(r,ea(n).split(` -`))}highlight(){let r=Xs(this.toString());return new e(this.firstLineNumber,r.split(` + `;console.warn(`${ke("warn(prisma)")} ${u}`)}}}}function _s(e){if(hp(e)){Li(`Environment variables loaded from ${e}`);let r=Fi.default.config({path:e,debug:process.env.DOTENV_CONFIG_DEBUG?!0:void 0});return{dotenvResult:Ds(r),message:Ie(`Environment variables loaded from ${wr.default.relative(process.cwd(),e)}`),path:e}}else Li(`Environment variables not found at ${e}`);return null}function Ns(e,r){return e&&r&&wr.default.resolve(e)===wr.default.resolve(r)}function hp(e){return!!(e&&sn.default.existsSync(e))}function Mi(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function xr(e,r){let t={};for(let n of Object.keys(e))t[n]=r(e[n],n);return t}function $i(e,r){if(e.length===0)return;let t=e[0];for(let n=1;n{Fs.has(e)||(Fs.add(e),ki(r,...t))};var T=class e extends Error{clientVersion;errorCode;retryable;constructor(r,t,n){super(r),this.name="PrismaClientInitializationError",this.clientVersion=t,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};x(T,"PrismaClientInitializationError");var z=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(r,{code:t,clientVersion:n,meta:i,batchRequestIdx:o}){super(r),this.name="PrismaClientKnownRequestError",this.code=t,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};x(z,"PrismaClientKnownRequestError");var le=class extends Error{clientVersion;constructor(r,t){super(r),this.name="PrismaClientRustPanicError",this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};x(le,"PrismaClientRustPanicError");var j=class extends Error{clientVersion;batchRequestIdx;constructor(r,{clientVersion:t,batchRequestIdx:n}){super(r),this.name="PrismaClientUnknownRequestError",this.clientVersion=t,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};x(j,"PrismaClientUnknownRequestError");var Z=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(r,{clientVersion:t}){super(r),this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};x(Z,"PrismaClientValidationError");var vr=9e15,Ke=1e9,qi="0123456789abcdef",pn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",dn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ji={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-vr,maxE:vr,crypto:!1},js,Le,w=!0,fn="[DecimalError] ",He=fn+"Invalid argument: ",Vs=fn+"Precision limit exceeded",Bs=fn+"crypto unavailable",Us="[object Decimal]",X=Math.floor,U=Math.pow,yp=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,bp=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Ep=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Qs=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,fe=1e7,E=7,wp=9007199254740991,xp=pn.length-1,Vi=dn.length-1,m={toStringTag:Us};m.absoluteValue=m.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};m.ceil=function(){return y(new this.constructor(this),this.e+1,2)};m.clampedTo=m.clamp=function(e,r){var t,n=this,i=n.constructor;if(e=new i(e),r=new i(r),!e.s||!r.s)return new i(NaN);if(e.gt(r))throw Error(He+r);return t=n.cmp(e),t<0?e:n.cmp(r)>0?r:new i(n)};m.comparedTo=m.cmp=function(e){var r,t,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,r=0,t=na[r]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};m.cosine=m.cos=function(){var e,r,t=this,n=t.constructor;return t.d?t.d[0]?(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+E,n.rounding=1,t=vp(n,Ks(n,t)),n.precision=e,n.rounding=r,y(Le==2||Le==3?t.neg():t,e,r,!0)):new n(1):new n(NaN)};m.cubeRoot=m.cbrt=function(){var e,r,t,n,i,o,s,a,l,u,c=this,p=c.constructor;if(!c.isFinite()||c.isZero())return new p(c);for(w=!1,o=c.s*U(c.s*c,1/3),!o||Math.abs(o)==1/0?(t=J(c.d),e=c.e,(o=(e-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=U(t,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?t="5e"+e:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new p(t),n.s=c.s):n=new p(o.toString()),s=(e=p.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(c),n=L(u.plus(c).times(a),u.plus(l),s+2,1),J(a.d).slice(0,s)===(t=J(n.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(y(a,e+1,0),a.times(a).times(a).eq(c))){n=a;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(n,e+1,1),r=!n.times(n).times(n).eq(c));break}return w=!0,y(n,e,p.rounding,r)};m.decimalPlaces=m.dp=function(){var e,r=this.d,t=NaN;if(r){if(e=r.length-1,t=(e-X(this.e/E))*E,e=r[e],e)for(;e%10==0;e/=10)t--;t<0&&(t=0)}return t};m.dividedBy=m.div=function(e){return L(this,new this.constructor(e))};m.dividedToIntegerBy=m.divToInt=function(e){var r=this,t=r.constructor;return y(L(r,new t(e),0,1,1),t.precision,t.rounding)};m.equals=m.eq=function(e){return this.cmp(e)===0};m.floor=function(){return y(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(e){return this.cmp(e)>0};m.greaterThanOrEqualTo=m.gte=function(e){var r=this.cmp(e);return r==1||r===0};m.hyperbolicCosine=m.cosh=function(){var e,r,t,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;t=s.precision,n=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),r=(1/hn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),o=Pr(s,1,o.times(r),new s(1),!0);for(var l,u=e,c=new s(8);u--;)l=o.times(o),o=a.minus(l.times(c.minus(l.times(c))));return y(o,s.precision=t,s.rounding=n,!0)};m.hyperbolicSine=m.sinh=function(){var e,r,t,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(r=o.precision,t=o.rounding,o.precision=r+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=Pr(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/hn(5,e)),i=Pr(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=r,o.rounding=t,y(i,r,t,!0)};m.hyperbolicTangent=m.tanh=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+7,n.rounding=1,L(t.sinh(),t.cosh(),n.precision=e,n.rounding=r)):new n(t.s)};m.inverseCosine=m.acos=function(){var e=this,r=e.constructor,t=e.abs().cmp(1),n=r.precision,i=r.rounding;return t!==-1?t===0?e.isNeg()?xe(r,n,i):new r(0):new r(NaN):e.isZero()?xe(r,n+4,i).times(.5):(r.precision=n+6,r.rounding=1,e=new r(1).minus(e).div(e.plus(1)).sqrt().atan(),r.precision=n,r.rounding=i,e.times(2))};m.inverseHyperbolicCosine=m.acosh=function(){var e,r,t=this,n=t.constructor;return t.lte(1)?new n(t.eq(1)?0:NaN):t.isFinite()?(e=n.precision,r=n.rounding,n.precision=e+Math.max(Math.abs(t.e),t.sd())+4,n.rounding=1,w=!1,t=t.times(t).minus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln()):new n(t)};m.inverseHyperbolicSine=m.asinh=function(){var e,r,t=this,n=t.constructor;return!t.isFinite()||t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+2*Math.max(Math.abs(t.e),t.sd())+6,n.rounding=1,w=!1,t=t.times(t).plus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln())};m.inverseHyperbolicTangent=m.atanh=function(){var e,r,t,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,r=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?y(new o(i),e,r,!0):(o.precision=t=n-i.e,i=L(i.plus(1),new o(1).minus(i),t+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=r,i.times(.5))):new o(NaN)};m.inverseSine=m.asin=function(){var e,r,t,n,i=this,o=i.constructor;return i.isZero()?new o(i):(r=i.abs().cmp(1),t=o.precision,n=o.rounding,r!==-1?r===0?(e=xe(o,t+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=n,i.times(2)))};m.inverseTangent=m.atan=function(){var e,r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding;if(u.isFinite()){if(u.isZero())return new c(u);if(u.abs().eq(1)&&p+4<=Vi)return s=xe(c,p+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new c(NaN);if(p+4<=Vi)return s=xe(c,p+4,d).times(.5),s.s=u.s,s}for(c.precision=a=p+10,c.rounding=1,t=Math.min(28,a/E+2|0),e=t;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(w=!1,r=Math.ceil(a/E),n=1,l=u.times(u),s=new c(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[r]!==void 0)for(e=r;s.d[e]===o.d[e]&&e--;);return t&&(s=s.times(2<this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(e){return this.cmp(e)<0};m.lessThanOrEqualTo=m.lte=function(e){return this.cmp(e)<1};m.logarithm=m.log=function(e){var r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding,f=5;if(e==null)e=new c(10),r=!0;else{if(e=new c(e),t=e.d,e.s<0||!t||!t[0]||e.eq(1))return new c(NaN);r=e.eq(10)}if(t=u.d,u.s<0||!t||!t[0]||u.eq(1))return new c(t&&!t[0]?-1/0:u.s!=1?NaN:t?0:1/0);if(r)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(w=!1,a=p+f,s=Je(u,a),n=r?mn(c,a+10):Je(e,a),l=L(s,n,a,1),at(l.d,i=p,d))do if(a+=10,s=Je(u,a),n=r?mn(c,a+10):Je(e,a),l=L(s,n,a,1),!o){+J(l.d).slice(i+1,i+15)+1==1e14&&(l=y(l,p+1,0));break}while(at(l.d,i+=10,d));return w=!0,y(l,p,d)};m.minus=m.sub=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,g=f.constructor;if(e=new g(e),!f.d||!e.d)return!f.s||!e.s?e=new g(NaN):f.d?e.s=-e.s:e=new g(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=g.precision,l=g.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new g(f);else return new g(l===3?-0:0);return w?y(e,a,l):e}if(t=X(e.e/E),c=X(f.e/E),u=u.slice(),o=c-t,o){for(p=o<0,p?(r=u,o=-o,s=d.length):(r=d,t=c,s=u.length),n=Math.max(Math.ceil(a/E),s)+2,o>n&&(o=n,r.length=1),r.reverse(),n=o;n--;)r.push(0);r.reverse()}else{for(n=u.length,s=d.length,p=n0;--n)u[s++]=0;for(n=d.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=u.length,i=c.length,s-i<0&&(i=s,t=c,c=u,u=t),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/fe|0,u[i]%=fe;for(r&&(u.unshift(r),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=gn(u,n),w?y(e,a,l):e};m.precision=m.sd=function(e){var r,t=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(He+e);return t.d?(r=Gs(t.d),e&&t.e+1>r&&(r=t.e+1)):r=NaN,r};m.round=function(){var e=this,r=e.constructor;return y(new r(e),e.e+1,r.rounding)};m.sine=m.sin=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+E,n.rounding=1,t=Tp(n,Ks(n,t)),n.precision=e,n.rounding=r,y(Le>2?t.neg():t,e,r,!0)):new n(NaN)};m.squareRoot=m.sqrt=function(){var e,r,t,n,i,o,s=this,a=s.d,l=s.e,u=s.s,c=s.constructor;if(u!==1||!a||!a[0])return new c(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(w=!1,u=Math.sqrt(+s),u==0||u==1/0?(r=J(a),(r.length+l)%2==0&&(r+="0"),u=Math.sqrt(r),l=X((l+1)/2)-(l<0||l%2),u==1/0?r="5e"+l:(r=u.toExponential(),r=r.slice(0,r.indexOf("e")+1)+l),n=new c(r)):n=new c(u.toString()),t=(l=c.precision)+3;;)if(o=n,n=o.plus(L(s,o,t+2,1)).times(.5),J(o.d).slice(0,t)===(r=J(n.d)).slice(0,t))if(r=r.slice(t-3,t+1),r=="9999"||!i&&r=="4999"){if(!i&&(y(o,l+1,0),o.times(o).eq(s))){n=o;break}t+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(y(n,l+1,1),e=!n.times(n).eq(s));break}return w=!0,y(n,l,c.rounding,e)};m.tangent=m.tan=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+10,n.rounding=1,t=t.sin(),t.s=1,t=L(t,new n(1).minus(t.times(t)).sqrt(),e+10,0),n.precision=e,n.rounding=r,y(Le==2||Le==4?t.neg():t,e,r,!0)):new n(NaN)};m.times=m.mul=function(e){var r,t,n,i,o,s,a,l,u,c=this,p=c.constructor,d=c.d,f=(e=new p(e)).d;if(e.s*=c.s,!d||!d[0]||!f||!f[0])return new p(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?e.s/0:e.s*0);for(t=X(c.e/E)+X(e.e/E),l=d.length,u=f.length,l=0;){for(r=0,i=l+n;i>n;)a=o[i]+f[n]*d[i-n-1]+r,o[i--]=a%fe|0,r=a/fe|0;o[i]=(o[i]+r)%fe|0}for(;!o[--s];)o.pop();return r?++t:o.shift(),e.d=o,e.e=gn(o,t),w?y(e,p.precision,p.rounding):e};m.toBinary=function(e,r){return Ui(this,2,e,r)};m.toDecimalPlaces=m.toDP=function(e,r){var t=this,n=t.constructor;return t=new n(t),e===void 0?t:(ie(e,0,Ke),r===void 0?r=n.rounding:ie(r,0,8),y(t,e+t.e+1,r))};m.toExponential=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=ve(n,!0):(ie(e,0,Ke),r===void 0?r=i.rounding:ie(r,0,8),n=y(new i(n),e+1,r),t=ve(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toFixed=function(e,r){var t,n,i=this,o=i.constructor;return e===void 0?t=ve(i):(ie(e,0,Ke),r===void 0?r=o.rounding:ie(r,0,8),n=y(new o(i),e+i.e+1,r),t=ve(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};m.toFraction=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,g=f.d,h=f.constructor;if(!g)return new h(f);if(u=t=new h(1),n=l=new h(0),r=new h(n),o=r.e=Gs(g)-f.e-1,s=o%E,r.d[0]=U(10,s<0?E+s:s),e==null)e=o>0?r:u;else{if(a=new h(e),!a.isInt()||a.lt(u))throw Error(He+a);e=a.gt(r)?o>0?r:u:a}for(w=!1,a=new h(J(g)),c=h.precision,h.precision=o=g.length*E*2;p=L(a,r,0,1,1),i=t.plus(p.times(n)),i.cmp(e)!=1;)t=n,n=i,i=u,u=l.plus(p.times(i)),l=i,i=r,r=a.minus(p.times(i)),a=i;return i=L(e.minus(t),n,0,1,1),l=l.plus(i.times(u)),t=t.plus(i.times(n)),l.s=u.s=f.s,d=L(u,n,o,1).minus(f).abs().cmp(L(l,t,o,1).minus(f).abs())<1?[u,n]:[l,t],h.precision=c,w=!0,d};m.toHexadecimal=m.toHex=function(e,r){return Ui(this,16,e,r)};m.toNearest=function(e,r){var t=this,n=t.constructor;if(t=new n(t),e==null){if(!t.d)return t;e=new n(1),r=n.rounding}else{if(e=new n(e),r===void 0?r=n.rounding:ie(r,0,8),!t.d)return e.s?t:e;if(!e.d)return e.s&&(e.s=t.s),e}return e.d[0]?(w=!1,t=L(t,e,0,r,1).times(e),w=!0,y(t)):(e.s=t.s,t=e),t};m.toNumber=function(){return+this};m.toOctal=function(e,r){return Ui(this,8,e,r)};m.toPower=m.pow=function(e){var r,t,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(U(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return y(a,n,o);if(r=X(e.e/E),r>=e.d.length-1&&(t=u<0?-u:u)<=wp)return i=Ws(l,a,t,n),e.s<0?new l(1).div(i):y(i,n,o);if(s=a.s,s<0){if(rl.maxE+1||r0?s/0:0):(w=!1,l.rounding=a.s=1,t=Math.min(12,(r+"").length),i=Bi(e.times(Je(a,n+t)),n),i.d&&(i=y(i,n+5,1),at(i.d,n,o)&&(r=n+10,i=y(Bi(e.times(Je(a,r+t)),r),r+5,1),+J(i.d).slice(n+1,n+15)+1==1e14&&(i=y(i,n+1,0)))),i.s=s,w=!0,l.rounding=o,y(i,n,o))};m.toPrecision=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=ve(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ie(e,1,Ke),r===void 0?r=i.rounding:ie(r,0,8),n=y(new i(n),e,r),t=ve(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toSignificantDigits=m.toSD=function(e,r){var t=this,n=t.constructor;return e===void 0?(e=n.precision,r=n.rounding):(ie(e,1,Ke),r===void 0?r=n.rounding:ie(r,0,8)),y(new n(t),e,r)};m.toString=function(){var e=this,r=e.constructor,t=ve(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()&&!e.isZero()?"-"+t:t};m.truncated=m.trunc=function(){return y(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var e=this,r=e.constructor,t=ve(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()?"-"+t:t};function J(e){var r,t,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,r=1;rt)throw Error(He+e)}function at(e,r,t,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--r;return--r<0?(r+=E,i=0):(i=Math.ceil((r+1)/E),r%=E),o=U(10,E-r),a=e[i]%o|0,n==null?r<3?(r==0?a=a/100|0:r==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(e[i+1]/o/100|0)==U(10,r-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:r<4?(r==0?a=a/1e3|0:r==1?a=a/100|0:r==2&&(a=a/10|0),s=(n||t<4)&&a==9999||!n&&t>3&&a==4999):s=((n||t<4)&&a+1==o||!n&&t>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==U(10,r-3)-1,s}function un(e,r,t){for(var n,i=[0],o,s=0,a=e.length;st-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/t|0,i[n]%=t)}return i.reverse()}function vp(e,r){var t,n,i;if(r.isZero())return r;n=r.d.length,n<32?(t=Math.ceil(n/3),i=(1/hn(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),e.precision+=t,r=Pr(e,1,r.times(i),new e(1));for(var o=t;o--;){var s=r.times(r);r=s.times(s).minus(s).times(8).plus(1)}return e.precision-=t,r}var L=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function r(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function t(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,c,p,d,f,g,h,I,P,S,b,O,me,ae,Jr,V,te,Ae,H,fr,jt=n.constructor,ei=n.s==i.s?1:-1,K=n.d,_=i.d;if(!K||!K[0]||!_||!_[0])return new jt(!n.s||!i.s||(K?_&&K[0]==_[0]:!_)?NaN:K&&K[0]==0||!_?ei*0:ei/0);for(l?(f=1,c=n.e-i.e):(l=fe,f=E,c=X(n.e/f)-X(i.e/f)),H=_.length,te=K.length,P=new jt(ei),S=P.d=[],p=0;_[p]==(K[p]||0);p++);if(_[p]>(K[p]||0)&&c--,o==null?(ae=o=jt.precision,s=jt.rounding):a?ae=o+(n.e-i.e)+1:ae=o,ae<0)S.push(1),g=!0;else{if(ae=ae/f+2|0,p=0,H==1){for(d=0,_=_[0],ae++;(p1&&(_=e(_,d,l),K=e(K,d,l),H=_.length,te=K.length),V=H,b=K.slice(0,H),O=b.length;O=l/2&&++Ae;do d=0,u=r(_,b,H,O),u<0?(me=b[0],H!=O&&(me=me*l+(b[1]||0)),d=me/Ae|0,d>1?(d>=l&&(d=l-1),h=e(_,d,l),I=h.length,O=b.length,u=r(h,b,I,O),u==1&&(d--,t(h,H=10;d/=10)p++;P.e=p+c*f-1,y(P,a?o+P.e+1:o,s,g)}return P}}();function y(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor;e:if(r!=null){if(p=e.d,!p)return e;for(i=1,a=p[0];a>=10;a/=10)i++;if(o=r-i,o<0)o+=E,s=r,c=p[d=0],l=c/U(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/E),a=p.length,d>=a)if(n){for(;a++<=d;)p.push(0);c=l=0,i=1,o%=E,s=o-E+1}else break e;else{for(c=a=p[d],i=1;a>=10;a/=10)i++;o%=E,s=o-E+i,l=s<0?0:c/U(10,i-s-1)%10|0}if(n=n||r<0||p[d+1]!==void 0||(s<0?c:c%U(10,i-s-1)),u=t<4?(l||n)&&(t==0||t==(e.s<0?3:2)):l>5||l==5&&(t==4||n||t==6&&(o>0?s>0?c/U(10,i-s):0:p[d-1])%10&1||t==(e.s<0?8:7)),r<1||!p[0])return p.length=0,u?(r-=e.e+1,p[0]=U(10,(E-r%E)%E),e.e=-r||0):p[0]=e.e=0,e;if(o==0?(p.length=d,a=1,d--):(p.length=d+1,a=U(10,E-o),p[d]=s>0?(c/U(10,i-s)%U(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=p[0];s>=10;s/=10)o++;for(s=p[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,p[0]==fe&&(p[0]=1));break}else{if(p[d]+=a,p[d]!=fe)break;p[d--]=0,a=1}for(o=p.length;p[--o]===0;)p.pop()}return w&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+We(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+We(-i-1)+o,t&&(n=t-s)>0&&(o+=We(n))):i>=s?(o+=We(i+1-s),t&&(n=t-i-1)>0&&(o=o+"."+We(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=We(n))),o}function gn(e,r){var t=e[0];for(r*=E;t>=10;t/=10)r++;return r}function mn(e,r,t){if(r>xp)throw w=!0,t&&(e.precision=t),Error(Vs);return y(new e(pn),r,1,!0)}function xe(e,r,t){if(r>Vi)throw Error(Vs);return y(new e(dn),r,t,!0)}function Gs(e){var r=e.length-1,t=r*E+1;if(r=e[r],r){for(;r%10==0;r/=10)t--;for(r=e[0];r>=10;r/=10)t++}return t}function We(e){for(var r="";e--;)r+="0";return r}function Ws(e,r,t,n){var i,o=new e(1),s=Math.ceil(n/E+4);for(w=!1;;){if(t%2&&(o=o.times(r),$s(o.d,s)&&(i=!0)),t=X(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}r=r.times(r),$s(r.d,s)}return w=!0,o}function Ms(e){return e.d[e.d.length-1]&1}function Js(e,r,t){for(var n,i,o=new e(r[0]),s=0;++s17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(r==null?(w=!1,l=g):l=r,a=new d(.03125);e.e>-2;)e=e.times(a),p+=5;for(n=Math.log(U(2,p))/Math.LN10*2+5|0,l+=n,t=o=s=new d(1),d.precision=l;;){if(o=y(o.times(e),l,1),t=t.times(++c),a=s.plus(L(o,t,l,1)),J(a.d).slice(0,l)===J(s.d).slice(0,l)){for(i=p;i--;)s=y(s.times(s),l,1);if(r==null)if(u<3&&at(s.d,l-n,f,u))d.precision=l+=10,t=o=a=new d(1),c=0,u++;else return y(s,d.precision=g,f,w=!0);else return d.precision=g,s}s=a}}function Je(e,r){var t,n,i,o,s,a,l,u,c,p,d,f=1,g=10,h=e,I=h.d,P=h.constructor,S=P.rounding,b=P.precision;if(h.s<0||!I||!I[0]||!h.e&&I[0]==1&&I.length==1)return new P(I&&!I[0]?-1/0:h.s!=1?NaN:I?0:h);if(r==null?(w=!1,c=b):c=r,P.precision=c+=g,t=J(I),n=t.charAt(0),Math.abs(o=h.e)<15e14){for(;n<7&&n!=1||n==1&&t.charAt(1)>3;)h=h.times(e),t=J(h.d),n=t.charAt(0),f++;o=h.e,n>1?(h=new P("0."+t),o++):h=new P(n+"."+t.slice(1))}else return u=mn(P,c+2,b).times(o+""),h=Je(new P(n+"."+t.slice(1)),c-g).plus(u),P.precision=b,r==null?y(h,b,S,w=!0):h;for(p=h,l=s=h=L(h.minus(1),h.plus(1),c,1),d=y(h.times(h),c,1),i=3;;){if(s=y(s.times(d),c,1),u=l.plus(L(s,new P(i),c,1)),J(u.d).slice(0,c)===J(l.d).slice(0,c))if(l=l.times(2),o!==0&&(l=l.plus(mn(P,c+2,b).times(o+""))),l=L(l,new P(f),c,1),r==null)if(at(l.d,c-g,S,a))P.precision=c+=g,u=s=h=L(p.minus(1),p.plus(1),c,1),d=y(h.times(h),c,1),i=a=1;else return y(l,P.precision=b,S,w=!0);else return P.precision=b,l;l=u,i+=2}}function Hs(e){return String(e.s*e.s/0)}function cn(e,r){var t,n,i;for((t=r.indexOf("."))>-1&&(r=r.replace(".","")),(n=r.search(/e/i))>0?(t<0&&(t=n),t+=+r.slice(n+1),r=r.substring(0,n)):t<0&&(t=r.length),n=0;r.charCodeAt(n)===48;n++);for(i=r.length;r.charCodeAt(i-1)===48;--i);if(r=r.slice(n,i),r){if(i-=n,e.e=t=t-n-1,e.d=[],n=(t+1)%E,t<0&&(n+=E),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(r=r.replace(/(\d)_(?=\d)/g,"$1"),Qs.test(r))return cn(e,r)}else if(r==="Infinity"||r==="NaN")return+r||(e.s=NaN),e.e=NaN,e.d=null,e;if(bp.test(r))t=16,r=r.toLowerCase();else if(yp.test(r))t=2;else if(Ep.test(r))t=8;else throw Error(He+r);for(o=r.search(/p/i),o>0?(l=+r.slice(o+1),r=r.substring(2,o)):r=r.slice(2),o=r.indexOf("."),s=o>=0,n=e.constructor,s&&(r=r.replace(".",""),a=r.length,o=a-o,i=Ws(n,new n(t),o,o*2)),u=un(r,t,fe),c=u.length-1,o=c;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=gn(u,c),e.d=u,w=!1,s&&(e=L(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?U(2,l):sr.pow(2,l))),w=!0,e)}function Tp(e,r){var t,n=r.d.length;if(n<3)return r.isZero()?r:Pr(e,2,r,r);t=1.4*Math.sqrt(n),t=t>16?16:t|0,r=r.times(1/hn(5,t)),r=Pr(e,2,r,r);for(var i,o=new e(5),s=new e(16),a=new e(20);t--;)i=r.times(r),r=r.times(o.plus(i.times(s.times(i).minus(a))));return r}function Pr(e,r,t,n,i){var o,s,a,l,u=1,c=e.precision,p=Math.ceil(c/E);for(w=!1,l=t.times(t),a=new e(n);;){if(s=L(a.times(l),new e(r++*r++),c,1),a=i?n.plus(s):n.minus(s),n=L(s.times(l),new e(r++*r++),c,1),s=a.plus(n),s.d[p]!==void 0){for(o=p;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return w=!0,s.d.length=p+1,s}function hn(e,r){for(var t=e;--r;)t*=e;return t}function Ks(e,r){var t,n=r.s<0,i=xe(e,e.precision,1),o=i.times(.5);if(r=r.abs(),r.lte(o))return Le=n?4:1,r;if(t=r.divToInt(i),t.isZero())Le=n?3:2;else{if(r=r.minus(t.times(i)),r.lte(o))return Le=Ms(t)?n?2:3:n?4:1,r;Le=Ms(t)?n?1:4:n?3:2}return r.minus(i).abs()}function Ui(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor,g=t!==void 0;if(g?(ie(t,1,Ke),n===void 0?n=f.rounding:ie(n,0,8)):(t=f.precision,n=f.rounding),!e.isFinite())c=Hs(e);else{for(c=ve(e),s=c.indexOf("."),g?(i=2,r==16?t=t*4-3:r==8&&(t=t*3-2)):i=r,s>=0&&(c=c.replace(".",""),d=new f(1),d.e=c.length-s,d.d=un(ve(d),10,i),d.e=d.d.length),p=un(c,10,i),o=l=p.length;p[--l]==0;)p.pop();if(!p[0])c=g?"0p+0":"0";else{if(s<0?o--:(e=new f(e),e.d=p,e.e=o,e=L(e,d,t,n,0,i),p=e.d,o=e.e,u=js),s=p[t],a=i/2,u=u||p[t+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&p[t-1]&1||n===(e.s<0?8:7)),p.length=t,u)for(;++p[--t]>i-1;)p[t]=0,t||(++o,p.unshift(1));for(l=p.length;!p[l-1];--l);for(s=0,c="";s1)if(r==16||r==8){for(s=r==16?4:3,--l;l%s;l++)c+="0";for(p=un(c,i,r),l=p.length;!p[l-1];--l);for(s=1,c="1.";sl)for(o-=l;o--;)c+="0";else or)return e.length=r,!0}function Sp(e){return new this(e).abs()}function Rp(e){return new this(e).acos()}function Cp(e){return new this(e).acosh()}function Ap(e,r){return new this(e).plus(r)}function Ip(e){return new this(e).asin()}function kp(e){return new this(e).asinh()}function Op(e){return new this(e).atan()}function Dp(e){return new this(e).atanh()}function _p(e,r){e=new this(e),r=new this(r);var t,n=this.precision,i=this.rounding,o=n+4;return!e.s||!r.s?t=new this(NaN):!e.d&&!r.d?(t=xe(this,o,1).times(r.s>0?.25:.75),t.s=e.s):!r.d||e.isZero()?(t=r.s<0?xe(this,n,i):new this(0),t.s=e.s):!e.d||r.isZero()?(t=xe(this,o,1).times(.5),t.s=e.s):r.s<0?(this.precision=o,this.rounding=1,t=this.atan(L(e,r,o,1)),r=xe(this,o,1),this.precision=n,this.rounding=i,t=e.s<0?t.minus(r):t.plus(r)):t=this.atan(L(e,r,o,1)),t}function Np(e){return new this(e).cbrt()}function Lp(e){return y(e=new this(e),e.e+1,2)}function Fp(e,r,t){return new this(e).clamp(r,t)}function Mp(e){if(!e||typeof e!="object")throw Error(fn+"Object expected");var r,t,n,i=e.defaults===!0,o=["precision",1,Ke,"rounding",0,8,"toExpNeg",-vr,0,"toExpPos",0,vr,"maxE",0,vr,"minE",-vr,0,"modulo",0,9];for(r=0;r=o[r+1]&&n<=o[r+2])this[t]=n;else throw Error(He+t+": "+n);if(t="crypto",i&&(this[t]=ji[t]),(n=e[t])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Bs);else this[t]=!1;else throw Error(He+t+": "+n);return this}function $p(e){return new this(e).cos()}function qp(e){return new this(e).cosh()}function Ys(e){var r,t,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,qs(o)){u.s=o.s,w?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;w?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?r[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(r=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(r,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(Bs);else for(;o=10;i/=10)n++;nCr,datamodelEnumToSchemaEnum:()=>dd});function dd(e){return{name:e.name,values:e.values.map(r=>r.name)}}var Cr=(b=>(b.findUnique="findUnique",b.findUniqueOrThrow="findUniqueOrThrow",b.findFirst="findFirst",b.findFirstOrThrow="findFirstOrThrow",b.findMany="findMany",b.create="create",b.createMany="createMany",b.createManyAndReturn="createManyAndReturn",b.update="update",b.updateMany="updateMany",b.updateManyAndReturn="updateManyAndReturn",b.upsert="upsert",b.delete="delete",b.deleteMany="deleteMany",b.groupBy="groupBy",b.count="count",b.aggregate="aggregate",b.findRaw="findRaw",b.aggregateRaw="aggregateRaw",b))(Cr||{});var na=k(Ci());var ta=k(require("node:fs"));var Xs={keyword:Oe,entity:Oe,value:e=>W(nr(e)),punctuation:nr,directive:Oe,function:Oe,variable:e=>W(nr(e)),string:e=>W(qe(e)),boolean:ke,number:Oe,comment:Hr};var md=e=>e,bn={},fd=0,v={manual:bn.Prism&&bn.Prism.manual,disableWorkerMessageHandler:bn.Prism&&bn.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof he){let r=e;return new he(r.type,v.util.encode(r.content),r.alias)}else return Array.isArray(e)?e.map(v.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ae instanceof he)continue;if(me&&V!=r.length-1){S.lastIndex=te;var p=S.exec(e);if(!p)break;var c=p.index+(O?p[1].length:0),d=p.index+p[0].length,a=V,l=te;for(let _=r.length;a<_&&(l=l&&(++V,te=l);if(r[V]instanceof he)continue;u=a-V,Ae=e.slice(te,l),p.index-=te}else{S.lastIndex=0;var p=S.exec(Ae),u=1}if(!p){if(o)break;continue}O&&(ae=p[1]?p[1].length:0);var c=p.index+ae,p=p[0].slice(ae),d=c+p.length,f=Ae.slice(0,c),g=Ae.slice(d);let H=[V,u];f&&(++V,te+=f.length,H.push(f));let fr=new he(h,b?v.tokenize(p,b):p,Jr,p,me);if(H.push(fr),g&&H.push(g),Array.prototype.splice.apply(r,H),u!=1&&v.matchGrammar(e,r,t,V,te,!0,h),o)break}}}},tokenize:function(e,r){let t=[e],n=r.rest;if(n){for(let i in n)r[i]=n[i];delete r.rest}return v.matchGrammar(e,t,r,0,0,!1),t},hooks:{all:{},add:function(e,r){let t=v.hooks.all;t[e]=t[e]||[],t[e].push(r)},run:function(e,r){let t=v.hooks.all[e];if(!(!t||!t.length))for(var n=0,i;i=t[n++];)i(r)}},Token:he};v.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};v.languages.javascript=v.languages.extend("clike",{"class-name":[v.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});v.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;v.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:v.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:v.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:v.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:v.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});v.languages.markup&&v.languages.markup.tag.addInlined("script","javascript");v.languages.js=v.languages.javascript;v.languages.typescript=v.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});v.languages.ts=v.languages.typescript;function he(e,r,t,n,i){this.type=e,this.content=r,this.alias=t,this.length=(n||"").length|0,this.greedy=!!i}he.stringify=function(e,r){return typeof e=="string"?e:Array.isArray(e)?e.map(function(t){return he.stringify(t,r)}).join(""):gd(e.type)(e.content)};function gd(e){return Xs[e]||md}function ea(e){return hd(e,v.languages.javascript)}function hd(e,r){return v.tokenize(e,r).map(n=>he.stringify(n)).join("")}function ra(e){return Si(e)}var En=class e{firstLineNumber;lines;static read(r){let t;try{t=ta.default.readFileSync(r,"utf-8")}catch{return null}return e.fromContent(t)}static fromContent(r){let t=r.split(/\r?\n/);return new e(1,t)}constructor(r,t){this.firstLineNumber=r,this.lines=t}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(r,t){if(rthis.lines.length+this.firstLineNumber)return this;let n=r-this.firstLineNumber,i=[...this.lines];return i[n]=t(i[n]),new e(this.firstLineNumber,i)}mapLines(r){return new e(this.firstLineNumber,this.lines.map((t,n)=>r(t,this.firstLineNumber+n)))}lineAt(r){return this.lines[r-this.firstLineNumber]}prependSymbolAt(r,t){return this.mapLines((n,i)=>i===r?`${t} ${n}`:` ${n}`)}slice(r,t){let n=this.lines.slice(r-1,t).join(` +`);return new e(r,ra(n).split(` +`))}highlight(){let r=ea(this.toString());return new e(this.firstLineNumber,r.split(` `))}toString(){return this.lines.join(` -`)}};var yd={red:ce,gray:Hr,dim:Ie,bold:W,underline:Y,highlightSource:e=>e.highlight()},bd={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Ed({message:e,originalMethod:r,isPanic:t,callArguments:n}){return{functionName:`prisma.${r}()`,message:e,isPanic:t??!1,callArguments:n}}function wd({callsite:e,message:r,originalMethod:t,isPanic:n,callArguments:i},o){let s=Ed({message:r,originalMethod:t,isPanic:n,callArguments:i});if(!e||typeof window<"u"||process.env.NODE_ENV==="production")return s;let a=e.getLocation();if(!a||!a.lineNumber||!a.columnNumber)return s;let l=Math.max(1,a.lineNumber-3),u=yn.read(a.fileName)?.slice(l,a.lineNumber),c=u?.lineAt(a.lineNumber);if(u&&c){let p=vd(c),d=xd(c);if(!d)return s;s.functionName=`${d.code})`,s.location=a,n||(u=u.mapLineAt(a.lineNumber,g=>g.slice(0,d.openingBraceIndex))),u=o.highlightSource(u);let f=String(u.lastLineNumber).length;if(s.contextLines=u.mapLines((g,h)=>o.gray(String(h).padStart(f))+" "+g).mapLines(g=>o.dim(g)).prependSymbolAt(a.lineNumber,o.bold(o.red("\u2192"))),i){let g=p+f+1;g+=2,s.callArguments=(0,ta.default)(i,g).slice(g)}}return s}function xd(e){let r=Object.keys(Cr).join("|"),n=new RegExp(String.raw`\.(${r})\(`).exec(e);if(n){let i=n.index+n[0].length,o=e.lastIndexOf(" ",n.index)+1;return{code:e.slice(o,i),openingBraceIndex:i}}return null}function vd(e){let r=0;for(let t=0;t"Unknown error")}function aa(e){return e.errors.flatMap(r=>r.kind==="Union"?aa(r):[r])}function Sd(e){let r=new Map,t=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){t.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=r.get(i);o?r.set(i,{...n,argument:{...n.argument,typeNames:Rd(o.argument.typeNames,n.argument.typeNames)}}):r.set(i,n)}return t.push(...r.values()),t}function Rd(e,r){return[...new Set(e.concat(r))]}function Cd(e){return $i(e,(r,t)=>{let n=ia(r),i=ia(t);return n!==i?n-i:oa(r)-oa(t)})}function ia(e){let r=0;return Array.isArray(e.selectionPath)&&(r+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(r+=e.argumentPath.length),r}function oa(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}var ue=class{constructor(r,t){this.name=r;this.value=t}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(r){let{colors:{green:t}}=r.context;r.addMarginSymbol(t(this.isRequired?"+":"?")),r.write(t(this.name)),this.isRequired||r.write(t("?")),r.write(t(": ")),typeof this.value=="string"?r.write(t(this.value)):r.write(this.value)}};ua();var Ar=class{constructor(r=0,t){this.context=t;this.currentIndent=r}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(r){return typeof r=="string"?this.currentLine+=r:r.write(this),this}writeJoined(r,t,n=(i,o)=>o.write(i)){let i=t.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(r){return this.marginSymbol=r,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` -`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let r=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+r.slice(1):r}};la();var wn=class{constructor(r){this.value=r}write(r){r.write(this.value)}markAsError(){this.value.markAsError()}};var xn=e=>e,vn={bold:xn,red:xn,green:xn,dim:xn,enabled:!1},ca={bold:W,red:ce,green:qe,dim:Ie,enabled:!0},Ir={write(e){e.writeLine(",")}};var Te=class{constructor(r){this.contents=r}isUnderlined=!1;color=r=>r;underline(){return this.isUnderlined=!0,this}setColor(r){return this.color=r,this}write(r){let t=r.getCurrentLineLength();r.write(this.color(this.contents)),this.isUnderlined&&r.afterNextNewline(()=>{r.write(" ".repeat(t)).writeLine(this.color("~".repeat(this.contents.length)))})}};var ze=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var kr=class extends ze{items=[];addItem(r){return this.items.push(new wn(r)),this}getField(r){return this.items[r]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(t=>t.value.getPrintWidth()))+2}write(r){if(this.items.length===0){this.writeEmpty(r);return}this.writeWithItems(r)}writeEmpty(r){let t=new Te("[]");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithItems(r){let{colors:t}=r.context;r.writeLine("[").withIndent(()=>r.writeJoined(Ir,this.items).newLine()).write("]"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(t.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var Or=class e extends ze{fields={};suggestions=[];addField(r){this.fields[r.name]=r}addSuggestion(r){this.suggestions.push(r)}getField(r){return this.fields[r]}getDeepField(r){let[t,...n]=r,i=this.getField(t);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof kr&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(r){return r.length===0?this:this.getDeepField(r)?.value}hasField(r){return!!this.getField(r)}removeAllFields(){this.fields={}}removeField(r){delete this.fields[r]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(r){return this.getField(r)?.value}getDeepSubSelectionValue(r){let t=this;for(let n of r){if(!(t instanceof e))return;let i=t.getSubSelectionValue(n);if(!i)return;t=i}return t}getDeepSelectionParent(r){let t=this.getSelectionParent();if(!t)return;let n=t;for(let i of r){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let r=this.getField("select")?.value.asObject();if(r)return{kind:"select",value:r};let t=this.getField("include")?.value.asObject();if(t)return{kind:"include",value:t}}getSubSelectionValue(r){return this.getSelectionParent()?.value.fields[r].value}getPrintWidth(){let r=Object.values(this.fields);return r.length==0?2:Math.max(...r.map(n=>n.getPrintWidth()))+2}write(r){let t=Object.values(this.fields);if(t.length===0&&this.suggestions.length===0){this.writeEmpty(r);return}this.writeWithContents(r,t)}asObject(){return this}writeEmpty(r){let t=new Te("{}");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithContents(r,t){r.writeLine("{").withIndent(()=>{r.writeJoined(Ir,[...t,...this.suggestions]).newLine()}),r.write("}"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(r.context.colors.red("~".repeat(this.getPrintWidth())))})}};var G=class extends ze{constructor(t){super();this.text=t}getPrintWidth(){return this.text.length}write(t){let n=new Te(this.text);this.hasError&&n.underline().setColor(t.context.colors.red),t.write(n)}asObject(){}};var ut=class{fields=[];addField(r,t){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${r}: ${t}`))).addMarginSymbol(i(o("+")))}}),this}write(r){let{colors:{green:t}}=r.context;r.writeLine(t("{")).withIndent(()=>{r.writeJoined(Ir,this.fields).newLine()}).write(t("}")).addMarginSymbol(t("+"))}};function En(e,r,t){switch(e.kind){case"MutuallyExclusiveFields":Ad(e,r);break;case"IncludeOnScalar":Id(e,r);break;case"EmptySelection":kd(e,r,t);break;case"UnknownSelectionField":Nd(e,r);break;case"InvalidSelectionValue":Fd(e,r);break;case"UnknownArgument":Ld(e,r);break;case"UnknownInputField":Md(e,r);break;case"RequiredArgumentMissing":$d(e,r);break;case"InvalidArgumentType":qd(e,r);break;case"InvalidArgumentValue":jd(e,r);break;case"ValueTooLarge":Vd(e,r);break;case"SomeFieldsMissing":Bd(e,r);break;case"TooManyFieldsGiven":Ud(e,r);break;case"Union":sa(e,r,t);break;default:throw new Error("not implemented: "+e.kind)}}function Ad(e,r){let t=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();t&&(t.getField(e.firstField)?.markAsError(),t.getField(e.secondField)?.markAsError()),r.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Id(e,r){let[t,n]=ct(e.selectionPath),i=e.outputType,o=r.arguments.getDeepSelectionParent(t)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ue(s.name,"true"));r.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${pt(s)}`:a+=".",a+=` -Note that ${s.bold("include")} statements only accept relation fields.`,a})}function kd(e,r,t){let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Od(e,r,i);return}if(n.hasField("select")){Dd(e,r);return}}if(t?.[Ye(e.outputType.name)]){_d(e,r);return}r.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Od(e,r,t){t.removeAllFields();for(let n of e.outputType.fields)t.addSuggestion(new ue(n.name,"false"));r.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Dd(e,r){let t=e.outputType,n=r.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),fa(n,t)),r.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(t.name)} must not be empty. ${pt(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(t.name)} needs ${o.bold("at least one truthy value")}.`)}function _d(e,r){let t=new ut;for(let i of e.outputType.fields)i.isRelation||t.addField(i.name,"false");let n=new ue("omit",t).makeRequired();if(e.selectionPath.length===0)r.arguments.addSuggestion(n);else{let[i,o]=ct(e.selectionPath),a=r.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new Or;l.addSuggestion(n),a.value=l}}r.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Nd(e,r){let t=ga(e.selectionPath,r);if(t.parentKind!=="unknown"){t.field.markAsError();let n=t.parent;switch(t.parentKind){case"select":fa(n,e.outputType);break;case"include":Qd(n,e.outputType);break;case"omit":Gd(n,e.outputType);break}}r.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${t.fieldName}\``)}`];return t.parentKind!=="unknown"&&i.push(`for ${n.bold(t.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(pt(n)),i.join(" ")})}function Fd(e,r){let t=ga(e.selectionPath,r);t.parentKind!=="unknown"&&t.field.value.markAsError(),r.addErrorMessage(n=>`Invalid value for selection field \`${n.red(t.fieldName)}\`: ${e.underlyingError}`)}function Ld(e,r){let t=e.argumentPath[0],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(t)?.markAsError(),Wd(n,e.arguments)),r.addErrorMessage(i=>da(i,t,e.arguments.map(o=>o.name)))}function Md(e,r){let[t,n]=ct(e.argumentPath),i=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(t)?.asObject();o&&ha(o,e.inputType)}r.addErrorMessage(o=>da(o,n,e.inputType.fields.map(s=>s.name)))}function da(e,r,t){let n=[`Unknown argument \`${e.red(r)}\`.`],i=Hd(r,t);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),t.length>0&&n.push(pt(e)),n.join(" ")}function $d(e,r){let t;r.addErrorMessage(l=>t?.value instanceof G&&t.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=ct(e.argumentPath),s=new ut,a=n.getDeepFieldValue(i)?.asObject();if(a)if(t=a.getField(o),t&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ue(o,s).makeRequired())}else{let l=e.inputTypes.map(ma).join(" | ");a.addSuggestion(new ue(o,l).makeRequired())}}function ma(e){return e.kind==="list"?`${ma(e.elementType)}[]`:e.name}function qd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=Pn("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(t)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function jd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(t)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Pn("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Vd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof G&&(i=s.text)}r.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(t)}\``),s.join(" ")})}function Bd(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&ha(i,e.inputType)}r.addErrorMessage(i=>{let o=[`Argument \`${i.bold(t)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Pn("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(pt(i)),o.join(" ")})}function Ud(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}r.addErrorMessage(o=>{let s=[`Argument \`${o.bold(t)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Pn("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function fa(e,r){for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new ue(t.name,"true"))}function Qd(e,r){for(let t of r.fields)t.isRelation&&!e.hasField(t.name)&&e.addSuggestion(new ue(t.name,"true"))}function Gd(e,r){for(let t of r.fields)!e.hasField(t.name)&&!t.isRelation&&e.addSuggestion(new ue(t.name,"true"))}function Wd(e,r){for(let t of r)e.hasField(t.name)||e.addSuggestion(new ue(t.name,t.typeNames.join(" | ")))}function ga(e,r){let[t,n]=ct(e),i=r.arguments.getDeepSubSelectionValue(t)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function ha(e,r){if(r.kind==="object")for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new ue(t.name,t.typeNames.join(" | ")))}function ct(e){let r=[...e],t=r.pop();if(!t)throw new Error("unexpected empty path");return[r,t]}function pt({green:e,enabled:r}){return"Available options are "+(r?`listed in ${e("green")}`:"marked with ?")+"."}function Pn(e,r){if(r.length===1)return r[0];let t=[...r],n=t.pop();return`${t.join(", ")} ${e} ${n}`}var Jd=3;function Hd(e,r){let t=1/0,n;for(let i of r){let o=(0,pa.default)(e,i);o>Jd||o`}};function Dr(e){return e instanceof dt}var Tn=Symbol(),Ji=new WeakMap,Le=class{constructor(r){r===Tn?Ji.set(this,`Prisma.${this._getName()}`):Ji.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Ji.get(this)}},mt=class extends Le{_getNamespace(){return"NullTypes"}},ft=class extends mt{#e};Hi(ft,"DbNull");var gt=class extends mt{#e};Hi(gt,"JsonNull");var ht=class extends mt{#e};Hi(ht,"AnyNull");var Sn={classes:{DbNull:ft,JsonNull:gt,AnyNull:ht},instances:{DbNull:new ft(Tn),JsonNull:new gt(Tn),AnyNull:new ht(Tn)}};function Hi(e,r){Object.defineProperty(e,"name",{value:r,configurable:!0})}var ya=": ",Rn=class{constructor(r,t){this.name=r;this.value=t}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+ya.length}write(r){let t=new Te(this.name);this.hasError&&t.underline().setColor(r.context.colors.red),r.write(t).write(ya).write(this.value)}};var Ki=class{arguments;errorMessages=[];constructor(r){this.arguments=r}write(r){r.write(this.arguments)}addErrorMessage(r){this.errorMessages.push(r)}renderAllMessages(r){return this.errorMessages.map(t=>t(r)).join(` -`)}};function _r(e){return new Ki(ba(e))}function ba(e){let r=new Or;for(let[t,n]of Object.entries(e)){let i=new Rn(t,Ea(n));r.addField(i)}return r}function Ea(e){if(typeof e=="string")return new G(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new G(String(e));if(typeof e=="bigint")return new G(`${e}n`);if(e===null)return new G("null");if(e===void 0)return new G("undefined");if(Rr(e))return new G(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return Buffer.isBuffer(e)?new G(`Buffer.alloc(${e.byteLength})`):new G(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let r=gn(e)?e.toISOString():"Invalid Date";return new G(`new Date("${r}")`)}return e instanceof Le?new G(`Prisma.${e._getName()}`):Dr(e)?new G(`prisma.${Ye(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Kd(e):typeof e=="object"?ba(e):new G(Object.prototype.toString.call(e))}function Kd(e){let r=new kr;for(let t of e)r.addItem(Ea(t));return r}function Cn(e,r){let t=r==="pretty"?ca:vn,n=e.renderAllMessages(t),i=new Ar(0,{colors:t}).write(e).toString();return{message:n,args:i}}function An({args:e,errors:r,errorFormat:t,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=_r(e);for(let p of r)En(p,a,s);let{message:l,args:u}=Cn(a,t),c=bn({message:l,callsite:n,originalMethod:i,showColors:t==="pretty",callArguments:u});throw new Z(c,{clientVersion:o})}function Se(e){return e.replace(/^./,r=>r.toLowerCase())}function xa(e,r,t){let n=Se(t);return!r.result||!(r.result.$allModels||r.result[n])?e:Yd({...e,...wa(r.name,e,r.result.$allModels),...wa(r.name,e,r.result[n])})}function Yd(e){let r=new Pe,t=(n,i)=>r.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>t(o,i)):[n]));return xr(e,n=>({...n,needs:t(n.name,new Set)}))}function wa(e,r,t){return t?xr(t,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:zd(r,o,i)})):{}}function zd(e,r,t){let n=e?.[r]?.compute;return n?i=>t({...i,[r]:n(i)}):t}function va(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(e[n.name])for(let i of n.needs)t[i]=!0;return t}function Pa(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(!e[n.name])for(let i of n.needs)delete t[i];return t}var In=class{constructor(r,t){this.extension=r;this.previous=t}computedFieldsCache=new Pe;modelExtensionsCache=new Pe;queryCallbacksCache=new Pe;clientExtensions=at(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=at(()=>{let r=this.previous?.getAllBatchQueryCallbacks()??[],t=this.extension.query?.$__internalBatch;return t?r.concat(t):r});getAllComputedFields(r){return this.computedFieldsCache.getOrCreate(r,()=>xa(this.previous?.getAllComputedFields(r),this.extension,r))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(r){return this.modelExtensionsCache.getOrCreate(r,()=>{let t=Se(r);return!this.extension.model||!(this.extension.model[t]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(r):{...this.previous?.getAllModelExtensions(r),...this.extension.model.$allModels,...this.extension.model[t]}})}getAllQueryCallbacks(r,t){return this.queryCallbacksCache.getOrCreate(`${r}:${t}`,()=>{let n=this.previous?.getAllQueryCallbacks(r,t)??[],i=[],o=this.extension.query;return!o||!(o[r]||o.$allModels||o[t]||o.$allOperations)?n:(o[r]!==void 0&&(o[r][t]!==void 0&&i.push(o[r][t]),o[r].$allOperations!==void 0&&i.push(o[r].$allOperations)),r!=="$none"&&o.$allModels!==void 0&&(o.$allModels[t]!==void 0&&i.push(o.$allModels[t]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[t]!==void 0&&i.push(o[t]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},Nr=class e{constructor(r){this.head=r}static empty(){return new e}static single(r){return new e(new In(r))}isEmpty(){return this.head===void 0}append(r){return new e(new In(r,this.head))}getAllComputedFields(r){return this.head?.getAllComputedFields(r)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(r){return this.head?.getAllModelExtensions(r)}getAllQueryCallbacks(r,t){return this.head?.getAllQueryCallbacks(r,t)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};var kn=class{constructor(r){this.name=r}};function Ta(e){return e instanceof kn}function Sa(e){return new kn(e)}var Ra=Symbol(),yt=class{constructor(r){if(r!==Ra)throw new Error("Skip instance can not be constructed directly")}ifUndefined(r){return r===void 0?On:r}},On=new yt(Ra);function Re(e){return e instanceof yt}var Zd={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Ca="explicitly `undefined` values are not allowed";function Dn({modelName:e,action:r,args:t,runtimeDataModel:n,extensions:i=Nr.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c}){let p=new Yi({runtimeDataModel:n,modelName:e,action:r,rootArgs:t,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c});return{modelName:e,action:Zd[r],query:bt(t,p)}}function bt({select:e,include:r,...t}={},n){let i=t.omit;return delete t.omit,{arguments:Ia(t,n),selection:Xd(e,r,i,n)}}function Xd(e,r,t,n){return e?(r?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):t&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),nm(e,n)):em(n,r,t)}function em(e,r,t){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),r&&rm(n,r,e),tm(n,t,e),n}function rm(e,r,t){for(let[n,i]of Object.entries(r)){if(Re(i))continue;let o=t.nestSelection(n);if(zi(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=t.findField(n);if(s&&s.kind!=="object"&&t.throwValidationError({kind:"IncludeOnScalar",selectionPath:t.getSelectionPath().concat(n),outputType:t.getOutputTypeDescription()}),s){e[n]=bt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=bt(i,o)}}function tm(e,r,t){let n=t.getComputedFields(),i={...t.getGlobalOmit(),...r},o=Pa(i,n);for(let[s,a]of Object.entries(o)){if(Re(a))continue;zi(a,t.nestSelection(s));let l=t.findField(s);n?.[s]&&!l||(e[s]=!a)}}function nm(e,r){let t={},n=r.getComputedFields(),i=va(e,n);for(let[o,s]of Object.entries(i)){if(Re(s))continue;let a=r.nestSelection(o);zi(s,a);let l=r.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||Re(s)){t[o]=!1;continue}if(s===!0){l?.kind==="object"?t[o]=bt({},a):t[o]=!0;continue}t[o]=bt(s,a)}}return t}function Aa(e,r){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(Sr(e)){if(gn(e))return{$type:"DateTime",value:e.toISOString()};r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Ta(e))return{$type:"Param",value:e.name};if(Dr(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return im(e,r);if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:Buffer.from(t,n,i).toString("base64")}}if(om(e))return e.values;if(Rr(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Le){if(e!==Sn.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(sm(e))return e.toJSON();if(typeof e=="object")return Ia(e,r);r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Ia(e,r){if(e.$type)return{$type:"Raw",value:e};let t={};for(let n in e){let i=e[n],o=r.nestArgument(n);Re(i)||(i!==void 0?t[n]=Aa(i,o):r.isPreviewFeatureOn("strictUndefinedChecks")&&r.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:r.getSelectionPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:Ca}))}return t}function im(e,r){let t=[];for(let n=0;n({name:r.name,typeName:"boolean",isRelation:r.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(r){return this.params.previewFeatures.includes(r)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(r){return this.modelOrType?.fields.find(t=>t.name===r)}nestSelection(r){let t=this.findField(r),n=t?.kind==="object"?t.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(r)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[Ye(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:_e(this.params.action,"Unknown action")}}nestArgument(r){return new e({...this.params,argumentPath:this.params.argumentPath.concat(r)})}};function ka(e){if(!e._hasPreviewFlag("metrics"))throw new Z("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Fr=class{_client;constructor(r){this._client=r}prometheus(r){return ka(this._client),this._client._engine.metrics({format:"prometheus",...r})}json(r){return ka(this._client),this._client._engine.metrics({format:"json",...r})}};function Oa(e,r){let t=at(()=>am(r));Object.defineProperty(e,"dmmf",{get:()=>t.get()})}function am(e){return{datamodel:{models:Zi(e.models),enums:Zi(e.enums),types:Zi(e.types)}}}function Zi(e){return Object.entries(e).map(([r,t])=>({name:r,...t}))}var Xi=new WeakMap,_n="$$PrismaTypedSql",Et=class{constructor(r,t){Xi.set(this,{sql:r,values:t}),Object.defineProperty(this,_n,{value:_n})}get sql(){return Xi.get(this).sql}get values(){return Xi.get(this).values}};function Da(e){return(...r)=>new Et(e,r)}function Nn(e){return e!=null&&e[_n]===_n}var cu=k(Ei());var pu=require("node:async_hooks"),du=require("node:events"),mu=k(require("node:fs")),Zn=k(require("node:path"));var oe=class e{constructor(r,t){if(r.length-1!==t.length)throw r.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${r.length} strings to have ${r.length-1} values`);let n=t.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=r[0];let i=0,o=0;for(;ie.getPropertyValue(t))},getPropertyDescriptor(t){return e.getPropertyDescriptor?.(t)}}}var Fn={enumerable:!0,configurable:!0,writable:!0};function Ln(e){let r=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Fn,has:(t,n)=>r.has(n),set:(t,n,i)=>r.add(n)&&Reflect.set(t,n,i),ownKeys:()=>[...r]}}var Fa=Symbol.for("nodejs.util.inspect.custom");function he(e,r){let t=lm(r),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=t.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=t.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=La(Reflect.ownKeys(o),t),a=La(Array.from(t.keys()),t);return[...new Set([...s,...a,...n])]},set(o,s,a){return t.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=t.get(s);return l?l.getPropertyDescriptor?{...Fn,...l?.getPropertyDescriptor(s)}:Fn:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[Fa]=function(){let o={...this};return delete o[Fa],o},i}function lm(e){let r=new Map;for(let t of e){let n=t.getKeys();for(let i of n)r.set(i,t)}return r}function La(e,r){return e.filter(t=>r.get(t)?.has?.(t)??!0)}function Lr(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}function Mr(e,r){return{batch:e,transaction:r?.kind==="batch"?{isolationLevel:r.options.isolationLevel}:void 0}}function Ma(e){if(e===void 0)return"";let r=_r(e);return new Ar(0,{colors:vn}).write(r).toString()}var um="P2037";function $r({error:e,user_facing_error:r},t,n){return r.error_code?new z(cm(r,n),{code:r.error_code,clientVersion:t,meta:r.meta,batchRequestIdx:r.batch_request_idx}):new j(e,{clientVersion:t,batchRequestIdx:r.batch_request_idx})}function cm(e,r){let t=e.message;return(r==="postgresql"||r==="postgres"||r==="mysql")&&e.error_code===um&&(t+=` -Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),t}var xt="";function $a(e){var r=e.split(` -`);return r.reduce(function(t,n){var i=mm(n)||gm(n)||bm(n)||vm(n)||wm(n);return i&&t.push(i),t},[])}var pm=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,dm=/\((\S*)(?::(\d+))(?::(\d+))\)/;function mm(e){var r=pm.exec(e);if(!r)return null;var t=r[2]&&r[2].indexOf("native")===0,n=r[2]&&r[2].indexOf("eval")===0,i=dm.exec(r[2]);return n&&i!=null&&(r[2]=i[1],r[3]=i[2],r[4]=i[3]),{file:t?null:r[2],methodName:r[1]||xt,arguments:t?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var fm=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function gm(e){var r=fm.exec(e);return r?{file:r[2],methodName:r[1]||xt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var hm=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,ym=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function bm(e){var r=hm.exec(e);if(!r)return null;var t=r[3]&&r[3].indexOf(" > eval")>-1,n=ym.exec(r[3]);return t&&n!=null&&(r[3]=n[1],r[4]=n[2],r[5]=null),{file:r[3],methodName:r[1]||xt,arguments:r[2]?r[2].split(","):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var Em=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function wm(e){var r=Em.exec(e);return r?{file:r[3],methodName:r[1]||xt,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}:null}var xm=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function vm(e){var r=xm.exec(e);return r?{file:r[2],methodName:r[1]||xt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var to=class{getLocation(){return null}},no=class{_error;constructor(){this._error=new Error}getLocation(){let r=this._error.stack;if(!r)return null;let n=$a(r).find(i=>{if(!i.file)return!1;let o=Oi(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function Ze(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new to:new no}var qa={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function qr(e={}){let r=Tm(e);return Object.entries(r).reduce((n,[i,o])=>(qa[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Tm(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Mn(e={}){return r=>(typeof e._count=="boolean"&&(r._count=r._count._all),r)}function ja(e,r){let t=Mn(e);return r({action:"aggregate",unpacker:t,argsMapper:qr})(e)}function Sm(e={}){let{select:r,...t}=e;return typeof r=="object"?qr({...t,_count:r}):qr({...t,_count:{_all:!0}})}function Rm(e={}){return typeof e.select=="object"?r=>Mn(e)(r)._count:r=>Mn(e)(r)._count._all}function Va(e,r){return r({action:"count",unpacker:Rm(e),argsMapper:Sm})(e)}function Cm(e={}){let r=qr(e);if(Array.isArray(r.by))for(let t of r.by)typeof t=="string"&&(r.select[t]=!0);else typeof r.by=="string"&&(r.select[r.by]=!0);return r}function Am(e={}){return r=>(typeof e?._count=="boolean"&&r.forEach(t=>{t._count=t._count._all}),r)}function Ba(e,r){return r({action:"groupBy",unpacker:Am(e),argsMapper:Cm})(e)}function Ua(e,r,t){if(r==="aggregate")return n=>ja(n,t);if(r==="count")return n=>Va(n,t);if(r==="groupBy")return n=>Ba(n,t)}function Qa(e,r){let t=r.fields.filter(i=>!i.relationName),n=Ys(t,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new dt(e,o,s.type,s.isList,s.kind==="enum")},...Ln(Object.keys(n))})}var Ga=e=>Array.isArray(e)?e:e.split("."),io=(e,r)=>Ga(r).reduce((t,n)=>t&&t[n],e),Wa=(e,r,t)=>Ga(r).reduceRight((n,i,o,s)=>Object.assign({},io(e,s.slice(0,o)),{[i]:n}),t);function Im(e,r){return e===void 0||r===void 0?[]:[...r,"select",e]}function km(e,r,t){return r===void 0?e??{}:Wa(r,t,e||!0)}function oo(e,r,t,n,i,o){let a=e._runtimeDataModel.models[r].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=Ze(e._errorFormat),c=Im(n,i),p=km(l,o,c),d=t({dataPath:c,callsite:u})(p),f=Om(e,r);return new Proxy(d,{get(g,h){if(!f.includes(h))return g[h];let P=[a[h].type,t,h],S=[c,p];return oo(e,...P,...S)},...Ln([...f,...Object.getOwnPropertyNames(d)])})}}function Om(e,r){return e._runtimeDataModel.models[r].fields.filter(t=>t.kind==="object").map(t=>t.name)}var Dm=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],_m=["aggregate","count","groupBy"];function so(e,r){let t=e._extensions.getAllModelExtensions(r)??{},n=[Nm(e,r),Lm(e,r),wt(t),re("name",()=>r),re("$name",()=>r),re("$parent",()=>e._appliedParent)];return he({},n)}function Nm(e,r){let t=Se(r),n=Object.keys(Cr).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=Ze(e._errorFormat);return e._createPrismaPromise(c=>{let p={args:l,dataPath:[],action:o,model:r,clientMethod:`${t}.${i}`,jsModelName:t,transaction:c,callsite:u};return e._request({...p,...a})},{action:o,args:l,model:r})};return Dm.includes(o)?oo(e,r,s):Fm(i)?Ua(e,i,s):s({})}}}function Fm(e){return _m.includes(e)}function Lm(e,r){return ar(re("fields",()=>{let t=e._runtimeDataModel.models[r];return Qa(r,t)}))}function Ja(e){return e.replace(/^./,r=>r.toUpperCase())}var ao=Symbol();function vt(e){let r=[Mm(e),$m(e),re(ao,()=>e),re("$parent",()=>e._appliedParent)],t=e._extensions.getAllClientExtensions();return t&&r.push(wt(t)),he(e,r)}function Mm(e){let r=Object.getPrototypeOf(e._originalClient),t=[...new Set(Object.getOwnPropertyNames(r))];return{getKeys(){return t},getPropertyValue(n){return e[n]}}}function $m(e){let r=Object.keys(e._runtimeDataModel.models),t=r.map(Se),n=[...new Set(r.concat(t))];return ar({getKeys(){return n},getPropertyValue(i){let o=Ja(i);if(e._runtimeDataModel.models[o]!==void 0)return so(e,o);if(e._runtimeDataModel.models[i]!==void 0)return so(e,i)},getPropertyDescriptor(i){if(!t.includes(i))return{enumerable:!1}}})}function Ha(e){return e[ao]?e[ao]:e}function Ka(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let t=e.client.__AccelerateEngine;this._originalClient._engine=new t(this._originalClient._accelerateEngineConfig)}let r=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return vt(r)}function Ya({result:e,modelName:r,select:t,omit:n,extensions:i}){let o=i.getAllComputedFields(r);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(c=>n[c]);u.length>0&&a.push(Lr(u))}else if(t){if(!t[l.name])continue;let u=l.needs.filter(c=>!t[c]);u.length>0&&a.push(Lr(u))}qm(e,l.needs)&&s.push(jm(l,he(e,s)))}return s.length>0||a.length>0?he(e,[...s,...a]):e}function qm(e,r){return r.every(t=>Mi(e,t))}function jm(e,r){return ar(re(e.name,()=>e.compute(r)))}function $n({visitor:e,result:r,args:t,runtimeDataModel:n,modelName:i}){if(Array.isArray(r)){for(let s=0;sc.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};r[o]=$n({visitor:i,result:r[o],args:u,modelName:l.type,runtimeDataModel:n})}}function Za({result:e,modelName:r,args:t,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[r]?e:$n({result:e,args:t??{},modelName:r,runtimeDataModel:i,visitor:(a,l,u)=>{let c=Se(l);return Ya({result:a,modelName:c,select:u.select,omit:u.select?void 0:{...o?.[c],...u.omit},extensions:n})}})}var Vm=["$connect","$disconnect","$on","$transaction","$use","$extends"],Xa=Vm;function el(e){if(e instanceof oe)return Bm(e);if(Nn(e))return Um(e);if(Array.isArray(e)){let t=[e[0]];for(let n=1;n{let o=r.customDataProxyFetch;return"transaction"in r&&i!==void 0&&(r.transaction?.kind==="batch"&&r.transaction.lock.then(),r.transaction=i),n===t.length?e._executeRequest(r):t[n]({model:r.model,operation:r.model?r.action:r.clientMethod,args:el(r.args??{}),__internalParams:r,query:(s,a=r)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=sl(o,l),a.args=s,tl(e,a,t,n+1)}})})}function nl(e,r){let{jsModelName:t,action:n,clientMethod:i}=r,o=t?n:i;if(e._extensions.isEmpty())return e._executeRequest(r);let s=e._extensions.getAllQueryCallbacks(t??"$none",o);return tl(e,r,s)}function il(e){return r=>{let t={requests:r},n=r[0].extensions.getAllBatchQueryCallbacks();return n.length?ol(t,n,0,e):e(t)}}function ol(e,r,t,n){if(t===r.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return r[t]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=sl(i,l),ol(a,r,t+1,n)}})}var rl=e=>e;function sl(e=rl,r=rl){return t=>e(r(t))}var al=N("prisma:client"),ll={Vercel:"vercel","Netlify CI":"netlify"};function ul({postinstall:e,ciName:r,clientVersion:t}){if(al("checkPlatformCaching:postinstall",e),al("checkPlatformCaching:ciName",r),e===!0&&r&&r in ll){let n=`Prisma has detected that this project was built on ${r}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. +`)}};var yd={red:ce,gray:Hr,dim:Ie,bold:W,underline:Y,highlightSource:e=>e.highlight()},bd={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Ed({message:e,originalMethod:r,isPanic:t,callArguments:n}){return{functionName:`prisma.${r}()`,message:e,isPanic:t??!1,callArguments:n}}function wd({callsite:e,message:r,originalMethod:t,isPanic:n,callArguments:i},o){let s=Ed({message:r,originalMethod:t,isPanic:n,callArguments:i});if(!e||typeof window<"u"||process.env.NODE_ENV==="production")return s;let a=e.getLocation();if(!a||!a.lineNumber||!a.columnNumber)return s;let l=Math.max(1,a.lineNumber-3),u=En.read(a.fileName)?.slice(l,a.lineNumber),c=u?.lineAt(a.lineNumber);if(u&&c){let p=vd(c),d=xd(c);if(!d)return s;s.functionName=`${d.code})`,s.location=a,n||(u=u.mapLineAt(a.lineNumber,g=>g.slice(0,d.openingBraceIndex))),u=o.highlightSource(u);let f=String(u.lastLineNumber).length;if(s.contextLines=u.mapLines((g,h)=>o.gray(String(h).padStart(f))+" "+g).mapLines(g=>o.dim(g)).prependSymbolAt(a.lineNumber,o.bold(o.red("\u2192"))),i){let g=p+f+1;g+=2,s.callArguments=(0,na.default)(i,g).slice(g)}}return s}function xd(e){let r=Object.keys(Cr).join("|"),n=new RegExp(String.raw`\.(${r})\(`).exec(e);if(n){let i=n.index+n[0].length,o=e.lastIndexOf(" ",n.index)+1;return{code:e.slice(o,i),openingBraceIndex:i}}return null}function vd(e){let r=0;for(let t=0;t"Unknown error")}function la(e){return e.errors.flatMap(r=>r.kind==="Union"?la(r):[r])}function Sd(e){let r=new Map,t=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){t.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=r.get(i);o?r.set(i,{...n,argument:{...n.argument,typeNames:Rd(o.argument.typeNames,n.argument.typeNames)}}):r.set(i,n)}return t.push(...r.values()),t}function Rd(e,r){return[...new Set(e.concat(r))]}function Cd(e){return $i(e,(r,t)=>{let n=oa(r),i=oa(t);return n!==i?n-i:sa(r)-sa(t)})}function oa(e){let r=0;return Array.isArray(e.selectionPath)&&(r+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(r+=e.argumentPath.length),r}function sa(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}var ue=class{constructor(r,t){this.name=r;this.value=t}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(r){let{colors:{green:t}}=r.context;r.addMarginSymbol(t(this.isRequired?"+":"?")),r.write(t(this.name)),this.isRequired||r.write(t("?")),r.write(t(": ")),typeof this.value=="string"?r.write(t(this.value)):r.write(this.value)}};ca();var Ar=class{constructor(r=0,t){this.context=t;this.currentIndent=r}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(r){return typeof r=="string"?this.currentLine+=r:r.write(this),this}writeJoined(r,t,n=(i,o)=>o.write(i)){let i=t.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(r){return this.marginSymbol=r,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let r=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+r.slice(1):r}};ua();var vn=class{constructor(r){this.value=r}write(r){r.write(this.value)}markAsError(){this.value.markAsError()}};var Pn=e=>e,Tn={bold:Pn,red:Pn,green:Pn,dim:Pn,enabled:!1},pa={bold:W,red:ce,green:qe,dim:Ie,enabled:!0},Ir={write(e){e.writeLine(",")}};var Te=class{constructor(r){this.contents=r}isUnderlined=!1;color=r=>r;underline(){return this.isUnderlined=!0,this}setColor(r){return this.color=r,this}write(r){let t=r.getCurrentLineLength();r.write(this.color(this.contents)),this.isUnderlined&&r.afterNextNewline(()=>{r.write(" ".repeat(t)).writeLine(this.color("~".repeat(this.contents.length)))})}};var ze=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var kr=class extends ze{items=[];addItem(r){return this.items.push(new vn(r)),this}getField(r){return this.items[r]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(t=>t.value.getPrintWidth()))+2}write(r){if(this.items.length===0){this.writeEmpty(r);return}this.writeWithItems(r)}writeEmpty(r){let t=new Te("[]");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithItems(r){let{colors:t}=r.context;r.writeLine("[").withIndent(()=>r.writeJoined(Ir,this.items).newLine()).write("]"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(t.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var Or=class e extends ze{fields={};suggestions=[];addField(r){this.fields[r.name]=r}addSuggestion(r){this.suggestions.push(r)}getField(r){return this.fields[r]}getDeepField(r){let[t,...n]=r,i=this.getField(t);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof kr&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(r){return r.length===0?this:this.getDeepField(r)?.value}hasField(r){return!!this.getField(r)}removeAllFields(){this.fields={}}removeField(r){delete this.fields[r]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(r){return this.getField(r)?.value}getDeepSubSelectionValue(r){let t=this;for(let n of r){if(!(t instanceof e))return;let i=t.getSubSelectionValue(n);if(!i)return;t=i}return t}getDeepSelectionParent(r){let t=this.getSelectionParent();if(!t)return;let n=t;for(let i of r){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let r=this.getField("select")?.value.asObject();if(r)return{kind:"select",value:r};let t=this.getField("include")?.value.asObject();if(t)return{kind:"include",value:t}}getSubSelectionValue(r){return this.getSelectionParent()?.value.fields[r].value}getPrintWidth(){let r=Object.values(this.fields);return r.length==0?2:Math.max(...r.map(n=>n.getPrintWidth()))+2}write(r){let t=Object.values(this.fields);if(t.length===0&&this.suggestions.length===0){this.writeEmpty(r);return}this.writeWithContents(r,t)}asObject(){return this}writeEmpty(r){let t=new Te("{}");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithContents(r,t){r.writeLine("{").withIndent(()=>{r.writeJoined(Ir,[...t,...this.suggestions]).newLine()}),r.write("}"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(r.context.colors.red("~".repeat(this.getPrintWidth())))})}};var G=class extends ze{constructor(t){super();this.text=t}getPrintWidth(){return this.text.length}write(t){let n=new Te(this.text);this.hasError&&n.underline().setColor(t.context.colors.red),t.write(n)}asObject(){}};var ct=class{fields=[];addField(r,t){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${r}: ${t}`))).addMarginSymbol(i(o("+")))}}),this}write(r){let{colors:{green:t}}=r.context;r.writeLine(t("{")).withIndent(()=>{r.writeJoined(Ir,this.fields).newLine()}).write(t("}")).addMarginSymbol(t("+"))}};function xn(e,r,t){switch(e.kind){case"MutuallyExclusiveFields":Ad(e,r);break;case"IncludeOnScalar":Id(e,r);break;case"EmptySelection":kd(e,r,t);break;case"UnknownSelectionField":Nd(e,r);break;case"InvalidSelectionValue":Ld(e,r);break;case"UnknownArgument":Fd(e,r);break;case"UnknownInputField":Md(e,r);break;case"RequiredArgumentMissing":$d(e,r);break;case"InvalidArgumentType":qd(e,r);break;case"InvalidArgumentValue":jd(e,r);break;case"ValueTooLarge":Vd(e,r);break;case"SomeFieldsMissing":Bd(e,r);break;case"TooManyFieldsGiven":Ud(e,r);break;case"Union":aa(e,r,t);break;default:throw new Error("not implemented: "+e.kind)}}function Ad(e,r){let t=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();t&&(t.getField(e.firstField)?.markAsError(),t.getField(e.secondField)?.markAsError()),r.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Id(e,r){let[t,n]=pt(e.selectionPath),i=e.outputType,o=r.arguments.getDeepSelectionParent(t)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ue(s.name,"true"));r.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${dt(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function kd(e,r,t){let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Od(e,r,i);return}if(n.hasField("select")){Dd(e,r);return}}if(t?.[Ye(e.outputType.name)]){_d(e,r);return}r.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Od(e,r,t){t.removeAllFields();for(let n of e.outputType.fields)t.addSuggestion(new ue(n.name,"false"));r.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Dd(e,r){let t=e.outputType,n=r.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),ga(n,t)),r.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(t.name)} must not be empty. ${dt(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(t.name)} needs ${o.bold("at least one truthy value")}.`)}function _d(e,r){let t=new ct;for(let i of e.outputType.fields)i.isRelation||t.addField(i.name,"false");let n=new ue("omit",t).makeRequired();if(e.selectionPath.length===0)r.arguments.addSuggestion(n);else{let[i,o]=pt(e.selectionPath),a=r.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new Or;l.addSuggestion(n),a.value=l}}r.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Nd(e,r){let t=ha(e.selectionPath,r);if(t.parentKind!=="unknown"){t.field.markAsError();let n=t.parent;switch(t.parentKind){case"select":ga(n,e.outputType);break;case"include":Qd(n,e.outputType);break;case"omit":Gd(n,e.outputType);break}}r.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${t.fieldName}\``)}`];return t.parentKind!=="unknown"&&i.push(`for ${n.bold(t.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(dt(n)),i.join(" ")})}function Ld(e,r){let t=ha(e.selectionPath,r);t.parentKind!=="unknown"&&t.field.value.markAsError(),r.addErrorMessage(n=>`Invalid value for selection field \`${n.red(t.fieldName)}\`: ${e.underlyingError}`)}function Fd(e,r){let t=e.argumentPath[0],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(t)?.markAsError(),Wd(n,e.arguments)),r.addErrorMessage(i=>ma(i,t,e.arguments.map(o=>o.name)))}function Md(e,r){let[t,n]=pt(e.argumentPath),i=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(t)?.asObject();o&&ya(o,e.inputType)}r.addErrorMessage(o=>ma(o,n,e.inputType.fields.map(s=>s.name)))}function ma(e,r,t){let n=[`Unknown argument \`${e.red(r)}\`.`],i=Hd(r,t);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),t.length>0&&n.push(dt(e)),n.join(" ")}function $d(e,r){let t;r.addErrorMessage(l=>t?.value instanceof G&&t.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=pt(e.argumentPath),s=new ct,a=n.getDeepFieldValue(i)?.asObject();if(a)if(t=a.getField(o),t&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ue(o,s).makeRequired())}else{let l=e.inputTypes.map(fa).join(" | ");a.addSuggestion(new ue(o,l).makeRequired())}}function fa(e){return e.kind==="list"?`${fa(e.elementType)}[]`:e.name}function qd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=Sn("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(t)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function jd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(t)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Sn("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Vd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof G&&(i=s.text)}r.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(t)}\``),s.join(" ")})}function Bd(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&ya(i,e.inputType)}r.addErrorMessage(i=>{let o=[`Argument \`${i.bold(t)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Sn("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(dt(i)),o.join(" ")})}function Ud(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}r.addErrorMessage(o=>{let s=[`Argument \`${o.bold(t)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Sn("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function ga(e,r){for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new ue(t.name,"true"))}function Qd(e,r){for(let t of r.fields)t.isRelation&&!e.hasField(t.name)&&e.addSuggestion(new ue(t.name,"true"))}function Gd(e,r){for(let t of r.fields)!e.hasField(t.name)&&!t.isRelation&&e.addSuggestion(new ue(t.name,"true"))}function Wd(e,r){for(let t of r)e.hasField(t.name)||e.addSuggestion(new ue(t.name,t.typeNames.join(" | ")))}function ha(e,r){let[t,n]=pt(e),i=r.arguments.getDeepSubSelectionValue(t)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function ya(e,r){if(r.kind==="object")for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new ue(t.name,t.typeNames.join(" | ")))}function pt(e){let r=[...e],t=r.pop();if(!t)throw new Error("unexpected empty path");return[r,t]}function dt({green:e,enabled:r}){return"Available options are "+(r?`listed in ${e("green")}`:"marked with ?")+"."}function Sn(e,r){if(r.length===1)return r[0];let t=[...r],n=t.pop();return`${t.join(", ")} ${e} ${n}`}var Jd=3;function Hd(e,r){let t=1/0,n;for(let i of r){let o=(0,da.default)(e,i);o>Jd||o`}};function Dr(e){return e instanceof mt}var Rn=Symbol(),Ji=new WeakMap,Fe=class{constructor(r){r===Rn?Ji.set(this,`Prisma.${this._getName()}`):Ji.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Ji.get(this)}},ft=class extends Fe{_getNamespace(){return"NullTypes"}},gt=class extends ft{#e};Hi(gt,"DbNull");var ht=class extends ft{#e};Hi(ht,"JsonNull");var yt=class extends ft{#e};Hi(yt,"AnyNull");var Cn={classes:{DbNull:gt,JsonNull:ht,AnyNull:yt},instances:{DbNull:new gt(Rn),JsonNull:new ht(Rn),AnyNull:new yt(Rn)}};function Hi(e,r){Object.defineProperty(e,"name",{value:r,configurable:!0})}var ba=": ",An=class{constructor(r,t){this.name=r;this.value=t}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+ba.length}write(r){let t=new Te(this.name);this.hasError&&t.underline().setColor(r.context.colors.red),r.write(t).write(ba).write(this.value)}};var Ki=class{arguments;errorMessages=[];constructor(r){this.arguments=r}write(r){r.write(this.arguments)}addErrorMessage(r){this.errorMessages.push(r)}renderAllMessages(r){return this.errorMessages.map(t=>t(r)).join(` +`)}};function _r(e){return new Ki(Ea(e))}function Ea(e){let r=new Or;for(let[t,n]of Object.entries(e)){let i=new An(t,wa(n));r.addField(i)}return r}function wa(e){if(typeof e=="string")return new G(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new G(String(e));if(typeof e=="bigint")return new G(`${e}n`);if(e===null)return new G("null");if(e===void 0)return new G("undefined");if(Rr(e))return new G(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return Buffer.isBuffer(e)?new G(`Buffer.alloc(${e.byteLength})`):new G(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let r=yn(e)?e.toISOString():"Invalid Date";return new G(`new Date("${r}")`)}return e instanceof Fe?new G(`Prisma.${e._getName()}`):Dr(e)?new G(`prisma.${Ye(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Kd(e):typeof e=="object"?Ea(e):new G(Object.prototype.toString.call(e))}function Kd(e){let r=new kr;for(let t of e)r.addItem(wa(t));return r}function In(e,r){let t=r==="pretty"?pa:Tn,n=e.renderAllMessages(t),i=new Ar(0,{colors:t}).write(e).toString();return{message:n,args:i}}function kn({args:e,errors:r,errorFormat:t,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=_r(e);for(let p of r)xn(p,a,s);let{message:l,args:u}=In(a,t),c=wn({message:l,callsite:n,originalMethod:i,showColors:t==="pretty",callArguments:u});throw new Z(c,{clientVersion:o})}function Se(e){return e.replace(/^./,r=>r.toLowerCase())}function va(e,r,t){let n=Se(t);return!r.result||!(r.result.$allModels||r.result[n])?e:Yd({...e,...xa(r.name,e,r.result.$allModels),...xa(r.name,e,r.result[n])})}function Yd(e){let r=new Pe,t=(n,i)=>r.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>t(o,i)):[n]));return xr(e,n=>({...n,needs:t(n.name,new Set)}))}function xa(e,r,t){return t?xr(t,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:zd(r,o,i)})):{}}function zd(e,r,t){let n=e?.[r]?.compute;return n?i=>t({...i,[r]:n(i)}):t}function Pa(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(e[n.name])for(let i of n.needs)t[i]=!0;return t}function Ta(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(!e[n.name])for(let i of n.needs)delete t[i];return t}var On=class{constructor(r,t){this.extension=r;this.previous=t}computedFieldsCache=new Pe;modelExtensionsCache=new Pe;queryCallbacksCache=new Pe;clientExtensions=lt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=lt(()=>{let r=this.previous?.getAllBatchQueryCallbacks()??[],t=this.extension.query?.$__internalBatch;return t?r.concat(t):r});getAllComputedFields(r){return this.computedFieldsCache.getOrCreate(r,()=>va(this.previous?.getAllComputedFields(r),this.extension,r))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(r){return this.modelExtensionsCache.getOrCreate(r,()=>{let t=Se(r);return!this.extension.model||!(this.extension.model[t]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(r):{...this.previous?.getAllModelExtensions(r),...this.extension.model.$allModels,...this.extension.model[t]}})}getAllQueryCallbacks(r,t){return this.queryCallbacksCache.getOrCreate(`${r}:${t}`,()=>{let n=this.previous?.getAllQueryCallbacks(r,t)??[],i=[],o=this.extension.query;return!o||!(o[r]||o.$allModels||o[t]||o.$allOperations)?n:(o[r]!==void 0&&(o[r][t]!==void 0&&i.push(o[r][t]),o[r].$allOperations!==void 0&&i.push(o[r].$allOperations)),r!=="$none"&&o.$allModels!==void 0&&(o.$allModels[t]!==void 0&&i.push(o.$allModels[t]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[t]!==void 0&&i.push(o[t]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},Nr=class e{constructor(r){this.head=r}static empty(){return new e}static single(r){return new e(new On(r))}isEmpty(){return this.head===void 0}append(r){return new e(new On(r,this.head))}getAllComputedFields(r){return this.head?.getAllComputedFields(r)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(r){return this.head?.getAllModelExtensions(r)}getAllQueryCallbacks(r,t){return this.head?.getAllQueryCallbacks(r,t)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};var Dn=class{constructor(r){this.name=r}};function Sa(e){return e instanceof Dn}function Ra(e){return new Dn(e)}var Ca=Symbol(),bt=class{constructor(r){if(r!==Ca)throw new Error("Skip instance can not be constructed directly")}ifUndefined(r){return r===void 0?_n:r}},_n=new bt(Ca);function Re(e){return e instanceof bt}var Zd={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Aa="explicitly `undefined` values are not allowed";function Nn({modelName:e,action:r,args:t,runtimeDataModel:n,extensions:i=Nr.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c}){let p=new Yi({runtimeDataModel:n,modelName:e,action:r,rootArgs:t,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c});return{modelName:e,action:Zd[r],query:Et(t,p)}}function Et({select:e,include:r,...t}={},n){let i=t.omit;return delete t.omit,{arguments:ka(t,n),selection:Xd(e,r,i,n)}}function Xd(e,r,t,n){return e?(r?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):t&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),nm(e,n)):em(n,r,t)}function em(e,r,t){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),r&&rm(n,r,e),tm(n,t,e),n}function rm(e,r,t){for(let[n,i]of Object.entries(r)){if(Re(i))continue;let o=t.nestSelection(n);if(zi(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=t.findField(n);if(s&&s.kind!=="object"&&t.throwValidationError({kind:"IncludeOnScalar",selectionPath:t.getSelectionPath().concat(n),outputType:t.getOutputTypeDescription()}),s){e[n]=Et(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Et(i,o)}}function tm(e,r,t){let n=t.getComputedFields(),i={...t.getGlobalOmit(),...r},o=Ta(i,n);for(let[s,a]of Object.entries(o)){if(Re(a))continue;zi(a,t.nestSelection(s));let l=t.findField(s);n?.[s]&&!l||(e[s]=!a)}}function nm(e,r){let t={},n=r.getComputedFields(),i=Pa(e,n);for(let[o,s]of Object.entries(i)){if(Re(s))continue;let a=r.nestSelection(o);zi(s,a);let l=r.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||Re(s)){t[o]=!1;continue}if(s===!0){l?.kind==="object"?t[o]=Et({},a):t[o]=!0;continue}t[o]=Et(s,a)}}return t}function Ia(e,r){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(Sr(e)){if(yn(e))return{$type:"DateTime",value:e.toISOString()};r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Sa(e))return{$type:"Param",value:e.name};if(Dr(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return im(e,r);if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:Buffer.from(t,n,i).toString("base64")}}if(om(e))return e.values;if(Rr(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Fe){if(e!==Cn.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(sm(e))return e.toJSON();if(typeof e=="object")return ka(e,r);r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function ka(e,r){if(e.$type)return{$type:"Raw",value:e};let t={};for(let n in e){let i=e[n],o=r.nestArgument(n);Re(i)||(i!==void 0?t[n]=Ia(i,o):r.isPreviewFeatureOn("strictUndefinedChecks")&&r.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:r.getSelectionPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:Aa}))}return t}function im(e,r){let t=[];for(let n=0;n({name:r.name,typeName:"boolean",isRelation:r.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(r){return this.params.previewFeatures.includes(r)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(r){return this.modelOrType?.fields.find(t=>t.name===r)}nestSelection(r){let t=this.findField(r),n=t?.kind==="object"?t.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(r)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[Ye(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:_e(this.params.action,"Unknown action")}}nestArgument(r){return new e({...this.params,argumentPath:this.params.argumentPath.concat(r)})}};function Oa(e){if(!e._hasPreviewFlag("metrics"))throw new Z("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Lr=class{_client;constructor(r){this._client=r}prometheus(r){return Oa(this._client),this._client._engine.metrics({format:"prometheus",...r})}json(r){return Oa(this._client),this._client._engine.metrics({format:"json",...r})}};function Da(e,r){let t=lt(()=>am(r));Object.defineProperty(e,"dmmf",{get:()=>t.get()})}function am(e){return{datamodel:{models:Zi(e.models),enums:Zi(e.enums),types:Zi(e.types)}}}function Zi(e){return Object.entries(e).map(([r,t])=>({name:r,...t}))}var Xi=new WeakMap,Ln="$$PrismaTypedSql",wt=class{constructor(r,t){Xi.set(this,{sql:r,values:t}),Object.defineProperty(this,Ln,{value:Ln})}get sql(){return Xi.get(this).sql}get values(){return Xi.get(this).values}};function _a(e){return(...r)=>new wt(e,r)}function Fn(e){return e!=null&&e[Ln]===Ln}var pu=k(wi());var du=require("node:async_hooks"),mu=require("node:events"),fu=k(require("node:fs")),Xn=k(require("node:path"));var oe=class e{constructor(r,t){if(r.length-1!==t.length)throw r.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${r.length} strings to have ${r.length-1} values`);let n=t.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=r[0];let i=0,o=0;for(;ie.getPropertyValue(t))},getPropertyDescriptor(t){return e.getPropertyDescriptor?.(t)}}}var Mn={enumerable:!0,configurable:!0,writable:!0};function $n(e){let r=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Mn,has:(t,n)=>r.has(n),set:(t,n,i)=>r.add(n)&&Reflect.set(t,n,i),ownKeys:()=>[...r]}}var Fa=Symbol.for("nodejs.util.inspect.custom");function ye(e,r){let t=lm(r),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=t.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=t.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Ma(Reflect.ownKeys(o),t),a=Ma(Array.from(t.keys()),t);return[...new Set([...s,...a,...n])]},set(o,s,a){return t.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=t.get(s);return l?l.getPropertyDescriptor?{...Mn,...l?.getPropertyDescriptor(s)}:Mn:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[Fa]=function(){let o={...this};return delete o[Fa],o},i}function lm(e){let r=new Map;for(let t of e){let n=t.getKeys();for(let i of n)r.set(i,t)}return r}function Ma(e,r){return e.filter(t=>r.get(t)?.has?.(t)??!0)}function Fr(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}function Mr(e,r){return{batch:e,transaction:r?.kind==="batch"?{isolationLevel:r.options.isolationLevel}:void 0}}function $a(e){if(e===void 0)return"";let r=_r(e);return new Ar(0,{colors:Tn}).write(r).toString()}var um="P2037";function $r({error:e,user_facing_error:r},t,n){return r.error_code?new z(cm(r,n),{code:r.error_code,clientVersion:t,meta:r.meta,batchRequestIdx:r.batch_request_idx}):new j(e,{clientVersion:t,batchRequestIdx:r.batch_request_idx})}function cm(e,r){let t=e.message;return(r==="postgresql"||r==="postgres"||r==="mysql")&&e.error_code===um&&(t+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),t}var vt="";function qa(e){var r=e.split(` +`);return r.reduce(function(t,n){var i=mm(n)||gm(n)||bm(n)||vm(n)||wm(n);return i&&t.push(i),t},[])}var pm=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,dm=/\((\S*)(?::(\d+))(?::(\d+))\)/;function mm(e){var r=pm.exec(e);if(!r)return null;var t=r[2]&&r[2].indexOf("native")===0,n=r[2]&&r[2].indexOf("eval")===0,i=dm.exec(r[2]);return n&&i!=null&&(r[2]=i[1],r[3]=i[2],r[4]=i[3]),{file:t?null:r[2],methodName:r[1]||vt,arguments:t?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var fm=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function gm(e){var r=fm.exec(e);return r?{file:r[2],methodName:r[1]||vt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var hm=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,ym=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function bm(e){var r=hm.exec(e);if(!r)return null;var t=r[3]&&r[3].indexOf(" > eval")>-1,n=ym.exec(r[3]);return t&&n!=null&&(r[3]=n[1],r[4]=n[2],r[5]=null),{file:r[3],methodName:r[1]||vt,arguments:r[2]?r[2].split(","):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var Em=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function wm(e){var r=Em.exec(e);return r?{file:r[3],methodName:r[1]||vt,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}:null}var xm=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function vm(e){var r=xm.exec(e);return r?{file:r[2],methodName:r[1]||vt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var to=class{getLocation(){return null}},no=class{_error;constructor(){this._error=new Error}getLocation(){let r=this._error.stack;if(!r)return null;let n=qa(r).find(i=>{if(!i.file)return!1;let o=Di(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function Ze(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new to:new no}var ja={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function qr(e={}){let r=Tm(e);return Object.entries(r).reduce((n,[i,o])=>(ja[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Tm(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function qn(e={}){return r=>(typeof e._count=="boolean"&&(r._count=r._count._all),r)}function Va(e,r){let t=qn(e);return r({action:"aggregate",unpacker:t,argsMapper:qr})(e)}function Sm(e={}){let{select:r,...t}=e;return typeof r=="object"?qr({...t,_count:r}):qr({...t,_count:{_all:!0}})}function Rm(e={}){return typeof e.select=="object"?r=>qn(e)(r)._count:r=>qn(e)(r)._count._all}function Ba(e,r){return r({action:"count",unpacker:Rm(e),argsMapper:Sm})(e)}function Cm(e={}){let r=qr(e);if(Array.isArray(r.by))for(let t of r.by)typeof t=="string"&&(r.select[t]=!0);else typeof r.by=="string"&&(r.select[r.by]=!0);return r}function Am(e={}){return r=>(typeof e?._count=="boolean"&&r.forEach(t=>{t._count=t._count._all}),r)}function Ua(e,r){return r({action:"groupBy",unpacker:Am(e),argsMapper:Cm})(e)}function Qa(e,r,t){if(r==="aggregate")return n=>Va(n,t);if(r==="count")return n=>Ba(n,t);if(r==="groupBy")return n=>Ua(n,t)}function Ga(e,r){let t=r.fields.filter(i=>!i.relationName),n=zs(t,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new mt(e,o,s.type,s.isList,s.kind==="enum")},...$n(Object.keys(n))})}var Wa=e=>Array.isArray(e)?e:e.split("."),io=(e,r)=>Wa(r).reduce((t,n)=>t&&t[n],e),Ja=(e,r,t)=>Wa(r).reduceRight((n,i,o,s)=>Object.assign({},io(e,s.slice(0,o)),{[i]:n}),t);function Im(e,r){return e===void 0||r===void 0?[]:[...r,"select",e]}function km(e,r,t){return r===void 0?e??{}:Ja(r,t,e||!0)}function oo(e,r,t,n,i,o){let a=e._runtimeDataModel.models[r].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=Ze(e._errorFormat),c=Im(n,i),p=km(l,o,c),d=t({dataPath:c,callsite:u})(p),f=Om(e,r);return new Proxy(d,{get(g,h){if(!f.includes(h))return g[h];let P=[a[h].type,t,h],S=[c,p];return oo(e,...P,...S)},...$n([...f,...Object.getOwnPropertyNames(d)])})}}function Om(e,r){return e._runtimeDataModel.models[r].fields.filter(t=>t.kind==="object").map(t=>t.name)}var Dm=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],_m=["aggregate","count","groupBy"];function so(e,r){let t=e._extensions.getAllModelExtensions(r)??{},n=[Nm(e,r),Fm(e,r),xt(t),re("name",()=>r),re("$name",()=>r),re("$parent",()=>e._appliedParent)];return ye({},n)}function Nm(e,r){let t=Se(r),n=Object.keys(Cr).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=Ze(e._errorFormat);return e._createPrismaPromise(c=>{let p={args:l,dataPath:[],action:o,model:r,clientMethod:`${t}.${i}`,jsModelName:t,transaction:c,callsite:u};return e._request({...p,...a})},{action:o,args:l,model:r})};return Dm.includes(o)?oo(e,r,s):Lm(i)?Qa(e,i,s):s({})}}}function Lm(e){return _m.includes(e)}function Fm(e,r){return ar(re("fields",()=>{let t=e._runtimeDataModel.models[r];return Ga(r,t)}))}function Ha(e){return e.replace(/^./,r=>r.toUpperCase())}var ao=Symbol();function Pt(e){let r=[Mm(e),$m(e),re(ao,()=>e),re("$parent",()=>e._appliedParent)],t=e._extensions.getAllClientExtensions();return t&&r.push(xt(t)),ye(e,r)}function Mm(e){let r=Object.getPrototypeOf(e._originalClient),t=[...new Set(Object.getOwnPropertyNames(r))];return{getKeys(){return t},getPropertyValue(n){return e[n]}}}function $m(e){let r=Object.keys(e._runtimeDataModel.models),t=r.map(Se),n=[...new Set(r.concat(t))];return ar({getKeys(){return n},getPropertyValue(i){let o=Ha(i);if(e._runtimeDataModel.models[o]!==void 0)return so(e,o);if(e._runtimeDataModel.models[i]!==void 0)return so(e,i)},getPropertyDescriptor(i){if(!t.includes(i))return{enumerable:!1}}})}function Ka(e){return e[ao]?e[ao]:e}function Ya(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let t=e.client.__AccelerateEngine;this._originalClient._engine=new t(this._originalClient._accelerateEngineConfig)}let r=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Pt(r)}function za({result:e,modelName:r,select:t,omit:n,extensions:i}){let o=i.getAllComputedFields(r);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(c=>n[c]);u.length>0&&a.push(Fr(u))}else if(t){if(!t[l.name])continue;let u=l.needs.filter(c=>!t[c]);u.length>0&&a.push(Fr(u))}qm(e,l.needs)&&s.push(jm(l,ye(e,s)))}return s.length>0||a.length>0?ye(e,[...s,...a]):e}function qm(e,r){return r.every(t=>Mi(e,t))}function jm(e,r){return ar(re(e.name,()=>e.compute(r)))}function jn({visitor:e,result:r,args:t,runtimeDataModel:n,modelName:i}){if(Array.isArray(r)){for(let s=0;sc.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};r[o]=jn({visitor:i,result:r[o],args:u,modelName:l.type,runtimeDataModel:n})}}function Xa({result:e,modelName:r,args:t,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[r]?e:jn({result:e,args:t??{},modelName:r,runtimeDataModel:i,visitor:(a,l,u)=>{let c=Se(l);return za({result:a,modelName:c,select:u.select,omit:u.select?void 0:{...o?.[c],...u.omit},extensions:n})}})}var Vm=["$connect","$disconnect","$on","$transaction","$use","$extends"],el=Vm;function rl(e){if(e instanceof oe)return Bm(e);if(Fn(e))return Um(e);if(Array.isArray(e)){let t=[e[0]];for(let n=1;n{let o=r.customDataProxyFetch;return"transaction"in r&&i!==void 0&&(r.transaction?.kind==="batch"&&r.transaction.lock.then(),r.transaction=i),n===t.length?e._executeRequest(r):t[n]({model:r.model,operation:r.model?r.action:r.clientMethod,args:rl(r.args??{}),__internalParams:r,query:(s,a=r)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=al(o,l),a.args=s,nl(e,a,t,n+1)}})})}function il(e,r){let{jsModelName:t,action:n,clientMethod:i}=r,o=t?n:i;if(e._extensions.isEmpty())return e._executeRequest(r);let s=e._extensions.getAllQueryCallbacks(t??"$none",o);return nl(e,r,s)}function ol(e){return r=>{let t={requests:r},n=r[0].extensions.getAllBatchQueryCallbacks();return n.length?sl(t,n,0,e):e(t)}}function sl(e,r,t,n){if(t===r.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return r[t]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=al(i,l),sl(a,r,t+1,n)}})}var tl=e=>e;function al(e=tl,r=tl){return t=>e(r(t))}var ll=N("prisma:client"),ul={Vercel:"vercel","Netlify CI":"netlify"};function cl({postinstall:e,ciName:r,clientVersion:t}){if(ll("checkPlatformCaching:postinstall",e),ll("checkPlatformCaching:ciName",r),e===!0&&r&&r in ul){let n=`Prisma has detected that this project was built on ${r}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. -Learn how: https://pris.ly/d/${ll[r]}-build`;throw console.error(n),new T(n,t)}}function cl(e,r){return e?e.datasources?e.datasources:e.datasourceUrl?{[r[0]]:{url:e.datasourceUrl}}:{}:{}}var Qm=()=>globalThis.process?.release?.name==="node",Gm=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Wm=()=>!!globalThis.Deno,Jm=()=>typeof globalThis.Netlify=="object",Hm=()=>typeof globalThis.EdgeRuntime=="object",Km=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Ym(){return[[Jm,"netlify"],[Hm,"edge-light"],[Km,"workerd"],[Wm,"deno"],[Gm,"bun"],[Qm,"node"]].flatMap(t=>t[0]()?[t[1]]:[]).at(0)??""}var zm={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function qn(){let e=Ym();return{id:e,prettyName:zm[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}var gl=k(require("node:fs")),Tt=k(require("node:path"));function jn(e){let{runtimeBinaryTarget:r}=e;return`Add "${r}" to \`binaryTargets\` in the "schema.prisma" file and run \`prisma generate\` after saving it: +Learn how: https://pris.ly/d/${ul[r]}-build`;throw console.error(n),new T(n,t)}}function pl(e,r){return e?e.datasources?e.datasources:e.datasourceUrl?{[r[0]]:{url:e.datasourceUrl}}:{}:{}}var Qm=()=>globalThis.process?.release?.name==="node",Gm=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Wm=()=>!!globalThis.Deno,Jm=()=>typeof globalThis.Netlify=="object",Hm=()=>typeof globalThis.EdgeRuntime=="object",Km=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Ym(){return[[Jm,"netlify"],[Hm,"edge-light"],[Km,"workerd"],[Wm,"deno"],[Gm,"bun"],[Qm,"node"]].flatMap(t=>t[0]()?[t[1]]:[]).at(0)??""}var zm={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Vn(){let e=Ym();return{id:e,prettyName:zm[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}var hl=k(require("node:fs")),St=k(require("node:path"));function Bn(e){let{runtimeBinaryTarget:r}=e;return`Add "${r}" to \`binaryTargets\` in the "schema.prisma" file and run \`prisma generate\` after saving it: -${Zm(e)}`}function Zm(e){let{generator:r,generatorBinaryTargets:t,runtimeBinaryTarget:n}=e,i={fromEnvVar:null,value:n},o=[...t,i];return Ai({...r,binaryTargets:o})}function Xe(e){let{runtimeBinaryTarget:r}=e;return`Prisma Client could not locate the Query Engine for runtime "${r}".`}function er(e){let{searchedLocations:r}=e;return`The following locations have been searched: +${Zm(e)}`}function Zm(e){let{generator:r,generatorBinaryTargets:t,runtimeBinaryTarget:n}=e,i={fromEnvVar:null,value:n},o=[...t,i];return Ii({...r,binaryTargets:o})}function Xe(e){let{runtimeBinaryTarget:r}=e;return`Prisma Client could not locate the Query Engine for runtime "${r}".`}function er(e){let{searchedLocations:r}=e;return`The following locations have been searched: ${[...new Set(r)].map(i=>` ${i}`).join(` -`)}`}function pl(e){let{runtimeBinaryTarget:r}=e;return`${Xe(e)} +`)}`}function dl(e){let{runtimeBinaryTarget:r}=e;return`${Xe(e)} This happened because \`binaryTargets\` have been pinned, but the actual deployment also required "${r}". -${jn(e)} +${Bn(e)} -${er(e)}`}function Vn(e){return`We would appreciate if you could take the time to share some information with us. -Please help us by answering a few questions: https://pris.ly/${e}`}function Bn(e){let{errorStack:r}=e;return r?.match(/\/\.next|\/next@|\/next\//)?` +${er(e)}`}function Un(e){return`We would appreciate if you could take the time to share some information with us. +Please help us by answering a few questions: https://pris.ly/${e}`}function Qn(e){let{errorStack:r}=e;return r?.match(/\/\.next|\/next@|\/next\//)?` -We detected that you are using Next.js, learn how to fix this: https://pris.ly/d/engine-not-found-nextjs.`:""}function dl(e){let{queryEngineName:r}=e;return`${Xe(e)}${Bn(e)} +We detected that you are using Next.js, learn how to fix this: https://pris.ly/d/engine-not-found-nextjs.`:""}function ml(e){let{queryEngineName:r}=e;return`${Xe(e)}${Qn(e)} This is likely caused by a bundler that has not copied "${r}" next to the resulting bundle. Ensure that "${r}" has been copied next to the bundle or in "${e.expectedLocation}". -${Vn("engine-not-found-bundler-investigation")} +${Un("engine-not-found-bundler-investigation")} -${er(e)}`}function ml(e){let{runtimeBinaryTarget:r,generatorBinaryTargets:t}=e,n=t.find(i=>i.native);return`${Xe(e)} +${er(e)}`}function fl(e){let{runtimeBinaryTarget:r,generatorBinaryTargets:t}=e,n=t.find(i=>i.native);return`${Xe(e)} This happened because Prisma Client was generated for "${n?.value??"unknown"}", but the actual deployment required "${r}". -${jn(e)} +${Bn(e)} -${er(e)}`}function fl(e){let{queryEngineName:r}=e;return`${Xe(e)}${Bn(e)} +${er(e)}`}function gl(e){let{queryEngineName:r}=e;return`${Xe(e)}${Qn(e)} This is likely caused by tooling that has not copied "${r}" to the deployment folder. Ensure that you ran \`prisma generate\` and that "${r}" has been copied to "${e.expectedLocation}". -${Vn("engine-not-found-tooling-investigation")} +${Un("engine-not-found-tooling-investigation")} -${er(e)}`}var Xm=N("prisma:client:engines:resolveEnginePath"),ef=()=>new RegExp("runtime[\\\\/]library\\.m?js$");async function hl(e,r){let t={binary:process.env.PRISMA_QUERY_ENGINE_BINARY,library:process.env.PRISMA_QUERY_ENGINE_LIBRARY}[e]??r.prismaPath;if(t!==void 0)return t;let{enginePath:n,searchedLocations:i}=await rf(e,r);if(Xm("enginePath",n),n!==void 0&&e==="binary"&&vi(n),n!==void 0)return r.prismaPath=n;let o=await ir(),s=r.generator?.binaryTargets??[],a=s.some(d=>d.native),l=!s.some(d=>d.value===o),u=__filename.match(ef())===null,c={searchedLocations:i,generatorBinaryTargets:s,generator:r.generator,runtimeBinaryTarget:o,queryEngineName:yl(e,o),expectedLocation:Tt.default.relative(process.cwd(),r.dirname),errorStack:new Error().stack},p;throw a&&l?p=ml(c):l?p=pl(c):u?p=dl(c):p=fl(c),new T(p,r.clientVersion)}async function rf(e,r){let t=await ir(),n=[],i=[r.dirname,Tt.default.resolve(__dirname,".."),r.generator?.output?.value??__dirname,Tt.default.resolve(__dirname,"../../../.prisma/client"),"/tmp/prisma-engines",r.cwd];__filename.includes("resolveEnginePath")&&i.push(fs());for(let o of i){let s=yl(e,t),a=Tt.default.join(o,s);if(n.push(o),gl.default.existsSync(a))return{enginePath:a,searchedLocations:n}}return{enginePath:void 0,searchedLocations:n}}function yl(e,r){return e==="library"?Bt(r,"fs"):`query-engine-${r}${r==="windows"?".exe":""}`}var lo=k(ki());function bl(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,r=>`${r[0]}5`):""}function El(e){return e.split(` +${er(e)}`}var Xm=N("prisma:client:engines:resolveEnginePath"),ef=()=>new RegExp("runtime[\\\\/]library\\.m?js$");async function yl(e,r){let t={binary:process.env.PRISMA_QUERY_ENGINE_BINARY,library:process.env.PRISMA_QUERY_ENGINE_LIBRARY}[e]??r.prismaPath;if(t!==void 0)return t;let{enginePath:n,searchedLocations:i}=await rf(e,r);if(Xm("enginePath",n),n!==void 0&&e==="binary"&&Pi(n),n!==void 0)return r.prismaPath=n;let o=await ir(),s=r.generator?.binaryTargets??[],a=s.some(d=>d.native),l=!s.some(d=>d.value===o),u=__filename.match(ef())===null,c={searchedLocations:i,generatorBinaryTargets:s,generator:r.generator,runtimeBinaryTarget:o,queryEngineName:bl(e,o),expectedLocation:St.default.relative(process.cwd(),r.dirname),errorStack:new Error().stack},p;throw a&&l?p=fl(c):l?p=dl(c):u?p=ml(c):p=gl(c),new T(p,r.clientVersion)}async function rf(e,r){let t=await ir(),n=[],i=[r.dirname,St.default.resolve(__dirname,".."),r.generator?.output?.value??__dirname,St.default.resolve(__dirname,"../../../.prisma/client"),"/tmp/prisma-engines",r.cwd];__filename.includes("resolveEnginePath")&&i.push(fs());for(let o of i){let s=bl(e,t),a=St.default.join(o,s);if(n.push(o),hl.default.existsSync(a))return{enginePath:a,searchedLocations:n}}return{enginePath:void 0,searchedLocations:n}}function bl(e,r){return e==="library"?Qt(r,"fs"):`query-engine-${r}${r==="windows"?".exe":""}`}var lo=k(Oi());function El(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,r=>`${r[0]}5`):""}function wl(e){return e.split(` `).map(r=>r.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` -`)}var wl=k(Ns());function xl({title:e,user:r="prisma",repo:t="prisma",template:n="bug_report.yml",body:i}){return(0,wl.default)({user:r,repo:t,template:n,title:e,body:i})}function vl({version:e,binaryTarget:r,title:t,description:n,engineVersion:i,database:o,query:s}){let a=Qo(6e3-(s?.length??0)),l=El((0,lo.default)(a)),u=n?`# Description +`)}var xl=k(Ls());function vl({title:e,user:r="prisma",repo:t="prisma",template:n="bug_report.yml",body:i}){return(0,xl.default)({user:r,repo:t,template:n,title:e,body:i})}function Pl({version:e,binaryTarget:r,title:t,description:n,engineVersion:i,database:o,query:s}){let a=Qo(6e3-(s?.length??0)),l=wl((0,lo.default)(a)),u=n?`# Description \`\`\` ${n} \`\`\``:"",c=(0,lo.default)(`Hi Prisma Team! My Prisma Client just crashed. This is the report: @@ -99,9 +99,9 @@ ${l} ## Prisma Engine Query \`\`\` -${s?bl(s):""} +${s?El(s):""} \`\`\` -`),p=xl({title:t,body:c});return`${t} +`),p=vl({title:t,body:c});return`${t} This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. @@ -110,28 +110,28 @@ ${Y(p)} If you want the Prisma team to look into it, please open the link above \u{1F64F} To increase the chance of success, please post your schema and a snippet of how you used Prisma Client in the issue. -`}function uo(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}function Un(e){return{ok:!0,value:e,map(r){return Un(r(e))},flatMap(r){return r(e)}}}function lr(e){return{ok:!1,error:e,map(){return lr(e)},flatMap(){return lr(e)}}}var Pl=N("driver-adapter-utils"),co=class{registeredErrors=[];consumeError(r){return this.registeredErrors[r]}registerNewError(r){let t=0;for(;this.registeredErrors[t]!==void 0;)t++;return this.registeredErrors[t]={error:r},t}};var po=(e,r=new co)=>{let t={adapterName:e.adapterName,errorRegistry:r,queryRaw:Me(r,e.queryRaw.bind(e)),executeRaw:Me(r,e.executeRaw.bind(e)),executeScript:Me(r,e.executeScript.bind(e)),dispose:Me(r,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await Me(r,e.startTransaction.bind(e))(...n)).map(o=>tf(r,o))};return e.getConnectionInfo&&(t.getConnectionInfo=nf(r,e.getConnectionInfo.bind(e))),t},tf=(e,r)=>({adapterName:r.adapterName,provider:r.provider,options:r.options,queryRaw:Me(e,r.queryRaw.bind(r)),executeRaw:Me(e,r.executeRaw.bind(r)),commit:Me(e,r.commit.bind(r)),rollback:Me(e,r.rollback.bind(r))});function Me(e,r){return async(...t)=>{try{return Un(await r(...t))}catch(n){if(Pl("[error@wrapAsync]",n),uo(n))return lr(n.cause);let i=e.registerNewError(n);return lr({kind:"GenericJs",id:i})}}}function nf(e,r){return(...t)=>{try{return Un(r(...t))}catch(n){if(Pl("[error@wrapSync]",n),uo(n))return lr(n.cause);let i=e.registerNewError(n);return lr({kind:"GenericJs",id:i})}}}function jr({inlineDatasources:e,overrideDatasources:r,env:t,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=r[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=t[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new T(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new T("error: Missing URL environment variable, value, or override.",n);return i}var Qn=class extends Error{clientVersion;cause;constructor(r,t){super(r),this.clientVersion=t.clientVersion,this.cause=t.cause}get[Symbol.toStringTag](){return this.name}};var se=class extends Qn{isRetryable;constructor(r,t){super(r,t),this.isRetryable=t.isRetryable??!0}};function R(e,r){return{...e,isRetryable:r}}var Vr=class extends se{name="ForcedRetryError";code="P5001";constructor(r){super("This request must be retried",R(r,!0))}};x(Vr,"ForcedRetryError");var ur=class extends se{name="InvalidDatasourceError";code="P6001";constructor(r,t){super(r,R(t,!1))}};x(ur,"InvalidDatasourceError");var cr=class extends se{name="NotImplementedYetError";code="P5004";constructor(r,t){super(r,R(t,!1))}};x(cr,"NotImplementedYetError");var $=class extends se{response;constructor(r,t){super(r,t),this.response=t.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var pr=class extends ${name="SchemaMissingError";code="P5005";constructor(r){super("Schema needs to be uploaded",R(r,!0))}};x(pr,"SchemaMissingError");var mo="This request could not be understood by the server",St=class extends ${name="BadRequestError";code="P5000";constructor(r,t,n){super(t||mo,R(r,!1)),n&&(this.code=n)}};x(St,"BadRequestError");var Rt=class extends ${name="HealthcheckTimeoutError";code="P5013";logs;constructor(r,t){super("Engine not started: healthcheck timeout",R(r,!0)),this.logs=t}};x(Rt,"HealthcheckTimeoutError");var Ct=class extends ${name="EngineStartupError";code="P5014";logs;constructor(r,t,n){super(t,R(r,!0)),this.logs=n}};x(Ct,"EngineStartupError");var At=class extends ${name="EngineVersionNotSupportedError";code="P5012";constructor(r){super("Engine version is not supported",R(r,!1))}};x(At,"EngineVersionNotSupportedError");var fo="Request timed out",It=class extends ${name="GatewayTimeoutError";code="P5009";constructor(r,t=fo){super(t,R(r,!1))}};x(It,"GatewayTimeoutError");var of="Interactive transaction error",kt=class extends ${name="InteractiveTransactionError";code="P5015";constructor(r,t=of){super(t,R(r,!1))}};x(kt,"InteractiveTransactionError");var sf="Request parameters are invalid",Ot=class extends ${name="InvalidRequestError";code="P5011";constructor(r,t=sf){super(t,R(r,!1))}};x(Ot,"InvalidRequestError");var go="Requested resource does not exist",Dt=class extends ${name="NotFoundError";code="P5003";constructor(r,t=go){super(t,R(r,!1))}};x(Dt,"NotFoundError");var ho="Unknown server error",Br=class extends ${name="ServerError";code="P5006";logs;constructor(r,t,n){super(t||ho,R(r,!0)),this.logs=n}};x(Br,"ServerError");var yo="Unauthorized, check your connection string",_t=class extends ${name="UnauthorizedError";code="P5007";constructor(r,t=yo){super(t,R(r,!1))}};x(_t,"UnauthorizedError");var bo="Usage exceeded, retry again later",Nt=class extends ${name="UsageExceededError";code="P5008";constructor(r,t=bo){super(t,R(r,!0))}};x(Nt,"UsageExceededError");async function af(e){let r;try{r=await e.text()}catch{return{type:"EmptyError"}}try{let t=JSON.parse(r);if(typeof t=="string")switch(t){case"InternalDataProxyError":return{type:"DataProxyError",body:t};default:return{type:"UnknownTextError",body:t}}if(typeof t=="object"&&t!==null){if("is_panic"in t&&"message"in t&&"error_code"in t)return{type:"QueryEngineError",body:t};if("EngineNotStarted"in t||"InteractiveTransactionMisrouted"in t||"InvalidRequestError"in t){let n=Object.values(t)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:t}:{type:"DataProxyError",body:t}}}return{type:"UnknownJsonError",body:t}}catch{return r===""?{type:"EmptyError"}:{type:"UnknownTextError",body:r}}}async function Ft(e,r){if(e.ok)return;let t={clientVersion:r,response:e},n=await af(e);if(n.type==="QueryEngineError")throw new z(n.body.message,{code:n.body.error_code,clientVersion:r});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new Br(t,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new pr(t);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new At(t);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Ct(t,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new T(i,r,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Rt(t,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new kt(t,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Ot(t,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new _t(t,Ur(yo,n));if(e.status===404)return new Dt(t,Ur(go,n));if(e.status===429)throw new Nt(t,Ur(bo,n));if(e.status===504)throw new It(t,Ur(fo,n));if(e.status>=500)throw new Br(t,Ur(ho,n));if(e.status>=400)throw new St(t,Ur(mo,n))}function Ur(e,r){return r.type==="EmptyError"?e:`${e}: ${JSON.stringify(r)}`}function Tl(e){let r=Math.pow(2,e)*50,t=Math.ceil(Math.random()*r)-Math.ceil(r/2),n=r+t;return new Promise(i=>setTimeout(()=>i(n),n))}var $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Sl(e){let r=new TextEncoder().encode(e),t="",n=r.byteLength,i=n%3,o=n-i,s,a,l,u,c;for(let p=0;p>18,a=(c&258048)>>12,l=(c&4032)>>6,u=c&63,t+=$e[s]+$e[a]+$e[l]+$e[u];return i==1?(c=r[o],s=(c&252)>>2,a=(c&3)<<4,t+=$e[s]+$e[a]+"=="):i==2&&(c=r[o]<<8|r[o+1],s=(c&64512)>>10,a=(c&1008)>>4,l=(c&15)<<2,t+=$e[s]+$e[a]+$e[l]+"="),t}function Rl(e){if(!!e.generator?.previewFeatures.some(t=>t.toLowerCase().includes("metrics")))throw new T("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}function lf(e){return e[0]*1e3+e[1]/1e6}function Eo(e){return new Date(lf(e))}var Cl={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};var Lt=class extends se{name="RequestError";code="P5010";constructor(r,t){super(`Cannot fetch data from service: -${r}`,R(t,!0))}};x(Lt,"RequestError");async function dr(e,r,t=n=>n){let{clientVersion:n,...i}=r,o=t(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Lt(a,{clientVersion:n,cause:s})}}var cf=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Al=N("prisma:client:dataproxyEngine");async function pf(e,r){let t=Cl["@prisma/engines-version"],n=r.clientVersion??"unknown";if(process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&cf.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){if(e.startsWith("localhost")||e.startsWith("127.0.0.1"))return"0.0.0";let[s]=t.split("-")??[],[a,l,u]=s.split("."),c=df(`<=${a}.${l}.${u}`),p=await dr(c,{clientVersion:n});if(!p.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${p.status} ${p.statusText}, response body: ${await p.text()||""}`);let d=await p.text();Al("length of body fetched from unpkg.com",d.length);let f;try{f=JSON.parse(d)}catch(g){throw console.error("JSON.parse error: body fetched from unpkg.com: ",d),g}return f.version}throw new cr("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Il(e,r){let t=await pf(e,r);return Al("version",t),t}function df(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var kl=3,Gn=N("prisma:client:dataproxyEngine"),wo=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:r,tracingHelper:t,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=r,this.tracingHelper=t,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:r,interactiveTransaction:t}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=r??this.tracingHelper.getTraceParent()),t&&(n["X-transaction-id"]=t.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let r=[];return this.tracingHelper.isEnabled()&&r.push("tracing"),this.logLevel&&r.push(this.logLevel),this.logQueries&&r.push("query"),r}},Mt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;constructor(r){Rl(r),this.config=r,this.env={...r.env,...typeof process<"u"?process.env:{}},this.inlineSchema=Sl(r.inlineSchema),this.inlineDatasources=r.inlineDatasources,this.inlineSchemaHash=r.inlineSchemaHash,this.clientVersion=r.clientVersion,this.engineHash=r.engineVersion,this.logEmitter=r.logEmitter,this.tracingHelper=r.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let[r,t]=this.extractHostAndApiKey();this.host=r,this.headerBuilder=new wo({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await Il(r,this.config),Gn("host",this.host)})(),await this.startPromise}async stop(){}propagateResponseExtensions(r){r?.logs?.length&&r.logs.forEach(t=>{switch(t.level){case"debug":case"trace":Gn(t);break;case"error":case"warn":case"info":{this.logEmitter.emit(t.level,{timestamp:Eo(t.timestamp),message:t.attributes.message??"",target:t.target});break}case"query":{this.logEmitter.emit("query",{query:t.attributes.query??"",timestamp:Eo(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target});break}default:t.level}}),r?.traces?.length&&this.tracingHelper.dispatchEngineSpans(r.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(r){return await this.start(),`https://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${r}`}async uploadSchema(){let r={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(r,async()=>{let t=await dr(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});t.ok||Gn("schema response status",t.status);let n=await Ft(t,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(r,{traceparent:t,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:r,traceparent:t,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(r,{traceparent:t,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Mr(r,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:t})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:r,traceparent:t,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t,interactiveTransaction:i}),body:JSON.stringify(r),clientVersion:this.clientVersion},n);a.ok||Gn("graphql response status",a.status),await this.handleError(await Ft(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(r,t,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[r]} transaction`,callback:async({logHttpCall:o})=>{if(r==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await dr(a,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Ft(l,this.clientVersion));let u=await l.json(),{extensions:c}=u;c&&this.propagateResponseExtensions(c);let p=u.id,d=u["data-proxy"].endpoint;return{id:p,payload:{endpoint:d}}}else{let s=`${n.payload.endpoint}/${r}`;o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Ft(a,this.clientVersion));let l=await a.json(),{extensions:u}=l;u&&this.propagateResponseExtensions(u);return}}})}extractHostAndApiKey(){let r={clientVersion:this.clientVersion},t=Object.keys(this.inlineDatasources)[0],n=jr({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\``,r)}let{protocol:o,host:s,searchParams:a}=i;if(o!=="prisma:"&&o!==en)throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\``,r);let l=a.get("api_key");if(l===null||l.length<1)throw new ur(`Error validating datasource \`${t}\`: the URL must contain a valid API key`,r);return[s,l]}metrics(){throw new cr("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(r){for(let t=0;;t++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${t})`,timestamp:new Date,target:""})};try{return await r.callback({logHttpCall:n})}catch(i){if(!(i instanceof se)||!i.isRetryable)throw i;if(t>=kl)throw i instanceof Vr?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${t+1}/${kl} failed for ${r.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Tl(t);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(r){if(r instanceof pr)throw await this.uploadSchema(),new Vr({clientVersion:this.clientVersion,cause:r});if(r)throw r}convertProtocolErrorsToClientError(r){return r.length===1?$r(r[0],this.config.clientVersion,this.config.activeProvider):new j(JSON.stringify(r),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function Ol(e){if(e?.kind==="itx")return e.options.id}var vo=k(require("node:os")),Dl=k(require("node:path"));var xo=Symbol("PrismaLibraryEngineCache");function mf(){let e=globalThis;return e[xo]===void 0&&(e[xo]={}),e[xo]}function ff(e){let r=mf();if(r[e]!==void 0)return r[e];let t=Dl.default.toNamespacedPath(e),n={exports:{}},i=0;return process.platform!=="win32"&&(i=vo.default.constants.dlopen.RTLD_LAZY|vo.default.constants.dlopen.RTLD_DEEPBIND),process.dlopen(n,t,i),r[e]=n.exports,n.exports}var _l={async loadLibrary(e){let r=await pi(),t=await hl("library",e);try{return e.tracingHelper.runInChildSpan({name:"loadLibrary",internal:!0},()=>ff(t))}catch(n){let i=Pi({e:n,platformInfo:r,id:t});throw new T(i,e.clientVersion)}}};var Po,Nl={async loadLibrary(e){let{clientVersion:r,adapter:t,engineWasm:n}=e;if(t===void 0)throw new T(`The \`adapter\` option for \`PrismaClient\` is required in this context (${qn().prettyName})`,r);if(n===void 0)throw new T("WASM engine was unexpectedly `undefined`",r);Po===void 0&&(Po=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new T("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",r);let a={"./query_engine_bg.js":o},l=new WebAssembly.Instance(s,a),u=l.exports.__wbindgen_start;return o.__wbg_set_wasm(l.exports),u(),o.QueryEngine})());let i=await Po;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var gf="P2036",Ce=N("prisma:client:libraryEngine");function hf(e){return e.item_type==="query"&&"query"in e}function yf(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var Fl=[...oi,"native"],bf=0xffffffffffffffffn,To=1n;function Ef(){let e=To++;return To>bf&&(To=1n),e}var Qr=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(r,t){this.libraryLoader=t??_l,r.engineWasm!==void 0&&(this.libraryLoader=t??Nl),this.config=r,this.libraryStarted=!1,this.logQueries=r.logQueries??!1,this.logLevel=r.logLevel??"error",this.logEmitter=r.logEmitter,this.datamodel=r.inlineSchema,this.tracingHelper=r.tracingHelper,r.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(r.overrideDatasources)[0],i=r.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(r){return{applyPendingMigrations:r.applyPendingMigrations?.bind(r),commitTransaction:this.withRequestId(r.commitTransaction.bind(r)),connect:this.withRequestId(r.connect.bind(r)),disconnect:this.withRequestId(r.disconnect.bind(r)),metrics:r.metrics?.bind(r),query:this.withRequestId(r.query.bind(r)),rollbackTransaction:this.withRequestId(r.rollbackTransaction.bind(r)),sdlSchema:r.sdlSchema?.bind(r),startTransaction:this.withRequestId(r.startTransaction.bind(r)),trace:r.trace.bind(r)}}withRequestId(r){return async(...t)=>{let n=Ef().toString();try{return await r(...t,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(r,t,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(t),s;if(r==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else r==="commit"?s=await this.engine?.commitTransaction(n.id,o):r==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(wf(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new z(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new j(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Ce("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;ii(),this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){{if(this.binaryTarget)return this.binaryTarget;let r=await this.tracingHelper.runInChildSpan("detect_platform",()=>ir());if(!Fl.includes(r))throw new T(`Unknown ${ce("PRISMA_QUERY_ENGINE_LIBRARY")} ${ce(W(r))}. Possible binaryTargets: ${qe(Fl.join(", "))} or a path to the query engine library. -You may have to run ${qe("prisma generate")} for your changes to take effect.`,this.config.clientVersion);return r}}parseEngineResponse(r){if(!r)throw new j("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(r)}catch{throw new j("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let r=new WeakRef(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(po));let t=await this.adapterPromise;t&&Ce("Using driver adapter: %O",t),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:process.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{r.deref()?.logger(n)},t))}catch(r){let t=r,n=this.parseInitError(t.message);throw typeof n=="string"?t:new T(n.message,this.config.clientVersion,n.error_code)}}}logger(r){let t=this.parseEngineResponse(r);t&&(t.level=t?.level.toLowerCase()??"unknown",hf(t)?this.logEmitter.emit("query",{timestamp:new Date,query:t.query,params:t.params,duration:Number(t.duration_ms),target:t.module_path}):yf(t)?this.loggerRustPanic=new le(So(this,`${t.message}: ${t.reason} in ${t.file}:${t.line}:${t.column}`),this.config.clientVersion):this.logEmitter.emit(t.level,{timestamp:new Date,message:t.message,target:t.module_path}))}parseInitError(r){try{return JSON.parse(r)}catch{}return r}parseRequestError(r){try{return JSON.parse(r)}catch{}return r}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Ce(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let r=async()=>{Ce("library starting");try{let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(t)),this.libraryStarted=!0,Ce("library started")}catch(t){let n=this.parseInitError(t.message);throw typeof n=="string"?t:new T(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",r),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Ce("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted)return;let r=async()=>{await new Promise(n=>setTimeout(n,5)),Ce("library stopping");let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(t)),this.libraryStarted=!1,this.libraryStoppingPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Ce("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",r),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(r){return this.library?.debugPanic(r)}async request(r,{traceparent:t,interactiveTransaction:n}){Ce(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:t}),o=JSON.stringify(r);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof T)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new le(So(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new j(`${a.message} -${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(r,{transaction:t,traceparent:n}){Ce("requestBatch");let i=Mr(r,t);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine.query(this.lastQuery,JSON.stringify({traceparent:n}),Ol(t));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(c=>c.errors&&c.errors.length>0?this.loggerRustPanic??this.buildQueryError(c.errors[0],o?.errorRegistry):{data:c});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(r,t){if(r.user_facing_error.is_panic)return new le(So(this,r.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(r.user_facing_error,t);return n?n.error:$r(r,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(r,t){if(r.error_code===gf&&t){let n=r.meta?.id;rn(typeof n=="number","Malformed external JS error received from the engine");let i=t.consumeError(n);return rn(i,"External error with reported id was not registered"),i}}async metrics(r){await this.start();let t=await this.engine.metrics(JSON.stringify(r));return r.format==="prometheus"?t:this.parseEngineResponse(t)}};function wf(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function So(e,r){return vl({binaryTarget:e.binaryTarget,title:r,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}function Ll({copyEngine:e=!0},r){let t;try{t=jr({inlineDatasources:r.inlineDatasources,overrideDatasources:r.overrideDatasources,env:{...r.env,...process.env},clientVersion:r.clientVersion})}catch{}let n=!!(t?.startsWith("prisma://")||Si(t));e&&n&&ot("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Er(r.generator),o=n||!e,s=!!r.adapter,a=i==="library",l=i==="binary",u=i==="client";if(o&&s||s&&!1){let c;throw e?t?.startsWith("prisma://")?c=["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]:c=["Prisma Client was configured to use both the `adapter` and Accelerate, please chose one."]:c=["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."],new Z(c.join(` -`),{clientVersion:r.clientVersion})}return o?new Mt(r):a?new Qr(r):new Qr(r)}function Wn({generator:e}){return e?.previewFeatures??[]}var Ml=e=>({command:e});var $l=e=>e.strings.reduce((r,t,n)=>`${r}@P${n}${t}`);function Gr(e){try{return ql(e,"fast")}catch{return ql(e,"slow")}}function ql(e,r){return JSON.stringify(e.map(t=>Vl(t,r)))}function Vl(e,r){if(Array.isArray(e))return e.map(t=>Vl(t,r));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(Sr(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(ve.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(xf(e))return{prisma__type:"bytes",prisma__value:Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:Buffer.from(t,n,i).toString("base64")}}return typeof e=="object"&&r==="slow"?Bl(e):e}function xf(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Bl(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(jl);let r={};for(let t of Object.keys(e))r[t]=jl(e[t]);return r}function jl(e){return typeof e=="bigint"?e.toString():Bl(e)}var vf=/^(\s*alter\s)/i,Ul=N("prisma:client");function Ro(e,r,t,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&t.length>0&&vf.exec(r))throw new Error(`Running ALTER using ${n} is not supported +`}function uo(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}function Gn(e){return{ok:!0,value:e,map(r){return Gn(r(e))},flatMap(r){return r(e)}}}function lr(e){return{ok:!1,error:e,map(){return lr(e)},flatMap(){return lr(e)}}}var Tl=N("driver-adapter-utils"),co=class{registeredErrors=[];consumeError(r){return this.registeredErrors[r]}registerNewError(r){let t=0;for(;this.registeredErrors[t]!==void 0;)t++;return this.registeredErrors[t]={error:r},t}};var po=(e,r=new co)=>{let t={adapterName:e.adapterName,errorRegistry:r,queryRaw:Me(r,e.queryRaw.bind(e)),executeRaw:Me(r,e.executeRaw.bind(e)),executeScript:Me(r,e.executeScript.bind(e)),dispose:Me(r,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await Me(r,e.startTransaction.bind(e))(...n)).map(o=>tf(r,o))};return e.getConnectionInfo&&(t.getConnectionInfo=nf(r,e.getConnectionInfo.bind(e))),t},tf=(e,r)=>({adapterName:r.adapterName,provider:r.provider,options:r.options,queryRaw:Me(e,r.queryRaw.bind(r)),executeRaw:Me(e,r.executeRaw.bind(r)),commit:Me(e,r.commit.bind(r)),rollback:Me(e,r.rollback.bind(r))});function Me(e,r){return async(...t)=>{try{return Gn(await r(...t))}catch(n){if(Tl("[error@wrapAsync]",n),uo(n))return lr(n.cause);let i=e.registerNewError(n);return lr({kind:"GenericJs",id:i})}}}function nf(e,r){return(...t)=>{try{return Gn(r(...t))}catch(n){if(Tl("[error@wrapSync]",n),uo(n))return lr(n.cause);let i=e.registerNewError(n);return lr({kind:"GenericJs",id:i})}}}var Sl="6.8.2";function jr({inlineDatasources:e,overrideDatasources:r,env:t,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=r[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=t[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new T(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new T("error: Missing URL environment variable, value, or override.",n);return i}var Wn=class extends Error{clientVersion;cause;constructor(r,t){super(r),this.clientVersion=t.clientVersion,this.cause=t.cause}get[Symbol.toStringTag](){return this.name}};var se=class extends Wn{isRetryable;constructor(r,t){super(r,t),this.isRetryable=t.isRetryable??!0}};function R(e,r){return{...e,isRetryable:r}}var Vr=class extends se{name="ForcedRetryError";code="P5001";constructor(r){super("This request must be retried",R(r,!0))}};x(Vr,"ForcedRetryError");var ur=class extends se{name="InvalidDatasourceError";code="P6001";constructor(r,t){super(r,R(t,!1))}};x(ur,"InvalidDatasourceError");var cr=class extends se{name="NotImplementedYetError";code="P5004";constructor(r,t){super(r,R(t,!1))}};x(cr,"NotImplementedYetError");var $=class extends se{response;constructor(r,t){super(r,t),this.response=t.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var pr=class extends ${name="SchemaMissingError";code="P5005";constructor(r){super("Schema needs to be uploaded",R(r,!0))}};x(pr,"SchemaMissingError");var mo="This request could not be understood by the server",Rt=class extends ${name="BadRequestError";code="P5000";constructor(r,t,n){super(t||mo,R(r,!1)),n&&(this.code=n)}};x(Rt,"BadRequestError");var Ct=class extends ${name="HealthcheckTimeoutError";code="P5013";logs;constructor(r,t){super("Engine not started: healthcheck timeout",R(r,!0)),this.logs=t}};x(Ct,"HealthcheckTimeoutError");var At=class extends ${name="EngineStartupError";code="P5014";logs;constructor(r,t,n){super(t,R(r,!0)),this.logs=n}};x(At,"EngineStartupError");var It=class extends ${name="EngineVersionNotSupportedError";code="P5012";constructor(r){super("Engine version is not supported",R(r,!1))}};x(It,"EngineVersionNotSupportedError");var fo="Request timed out",kt=class extends ${name="GatewayTimeoutError";code="P5009";constructor(r,t=fo){super(t,R(r,!1))}};x(kt,"GatewayTimeoutError");var sf="Interactive transaction error",Ot=class extends ${name="InteractiveTransactionError";code="P5015";constructor(r,t=sf){super(t,R(r,!1))}};x(Ot,"InteractiveTransactionError");var af="Request parameters are invalid",Dt=class extends ${name="InvalidRequestError";code="P5011";constructor(r,t=af){super(t,R(r,!1))}};x(Dt,"InvalidRequestError");var go="Requested resource does not exist",_t=class extends ${name="NotFoundError";code="P5003";constructor(r,t=go){super(t,R(r,!1))}};x(_t,"NotFoundError");var ho="Unknown server error",Br=class extends ${name="ServerError";code="P5006";logs;constructor(r,t,n){super(t||ho,R(r,!0)),this.logs=n}};x(Br,"ServerError");var yo="Unauthorized, check your connection string",Nt=class extends ${name="UnauthorizedError";code="P5007";constructor(r,t=yo){super(t,R(r,!1))}};x(Nt,"UnauthorizedError");var bo="Usage exceeded, retry again later",Lt=class extends ${name="UsageExceededError";code="P5008";constructor(r,t=bo){super(t,R(r,!0))}};x(Lt,"UsageExceededError");async function lf(e){let r;try{r=await e.text()}catch{return{type:"EmptyError"}}try{let t=JSON.parse(r);if(typeof t=="string")switch(t){case"InternalDataProxyError":return{type:"DataProxyError",body:t};default:return{type:"UnknownTextError",body:t}}if(typeof t=="object"&&t!==null){if("is_panic"in t&&"message"in t&&"error_code"in t)return{type:"QueryEngineError",body:t};if("EngineNotStarted"in t||"InteractiveTransactionMisrouted"in t||"InvalidRequestError"in t){let n=Object.values(t)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:t}:{type:"DataProxyError",body:t}}}return{type:"UnknownJsonError",body:t}}catch{return r===""?{type:"EmptyError"}:{type:"UnknownTextError",body:r}}}async function Ft(e,r){if(e.ok)return;let t={clientVersion:r,response:e},n=await lf(e);if(n.type==="QueryEngineError")throw new z(n.body.message,{code:n.body.error_code,clientVersion:r});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new Br(t,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new pr(t);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new It(t);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new At(t,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new T(i,r,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Ct(t,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Ot(t,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Dt(t,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Nt(t,Ur(yo,n));if(e.status===404)return new _t(t,Ur(go,n));if(e.status===429)throw new Lt(t,Ur(bo,n));if(e.status===504)throw new kt(t,Ur(fo,n));if(e.status>=500)throw new Br(t,Ur(ho,n));if(e.status>=400)throw new Rt(t,Ur(mo,n))}function Ur(e,r){return r.type==="EmptyError"?e:`${e}: ${JSON.stringify(r)}`}function Rl(e){let r=Math.pow(2,e)*50,t=Math.ceil(Math.random()*r)-Math.ceil(r/2),n=r+t;return new Promise(i=>setTimeout(()=>i(n),n))}var $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Cl(e){let r=new TextEncoder().encode(e),t="",n=r.byteLength,i=n%3,o=n-i,s,a,l,u,c;for(let p=0;p>18,a=(c&258048)>>12,l=(c&4032)>>6,u=c&63,t+=$e[s]+$e[a]+$e[l]+$e[u];return i==1?(c=r[o],s=(c&252)>>2,a=(c&3)<<4,t+=$e[s]+$e[a]+"=="):i==2&&(c=r[o]<<8|r[o+1],s=(c&64512)>>10,a=(c&1008)>>4,l=(c&15)<<2,t+=$e[s]+$e[a]+$e[l]+"="),t}function Al(e){if(!!e.generator?.previewFeatures.some(t=>t.toLowerCase().includes("metrics")))throw new T("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}function uf(e){return e[0]*1e3+e[1]/1e6}function Eo(e){return new Date(uf(e))}var Il={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};var Mt=class extends se{name="RequestError";code="P5010";constructor(r,t){super(`Cannot fetch data from service: +${r}`,R(t,!0))}};x(Mt,"RequestError");async function dr(e,r,t=n=>n){let{clientVersion:n,...i}=r,o=t(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Mt(a,{clientVersion:n,cause:s})}}var pf=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,kl=N("prisma:client:dataproxyEngine");async function df(e,r){let t=Il["@prisma/engines-version"],n=r.clientVersion??"unknown";if(process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&pf.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=t.split("-")??[],[a,l,u]=s.split("."),c=mf(`<=${a}.${l}.${u}`),p=await dr(c,{clientVersion:n});if(!p.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${p.status} ${p.statusText}, response body: ${await p.text()||""}`);let d=await p.text();kl("length of body fetched from unpkg.com",d.length);let f;try{f=JSON.parse(d)}catch(g){throw console.error("JSON.parse error: body fetched from unpkg.com: ",d),g}return f.version}throw new cr("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Ol(e,r){let t=await df(e,r);return kl("version",t),t}function mf(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Dl=3,$t=N("prisma:client:dataproxyEngine"),wo=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:r,tracingHelper:t,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=r,this.tracingHelper=t,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:r,interactiveTransaction:t}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=r??this.tracingHelper.getTraceParent()),t&&(n["X-transaction-id"]=t.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let r=[];return this.tracingHelper.isEnabled()&&r.push("tracing"),this.logLevel&&r.push(this.logLevel),this.logQueries&&r.push("query"),r}},qt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(r){Al(r),this.config=r,this.env={...r.env,...typeof process<"u"?process.env:{}},this.inlineSchema=Cl(r.inlineSchema),this.inlineDatasources=r.inlineDatasources,this.inlineSchemaHash=r.inlineSchemaHash,this.clientVersion=r.clientVersion,this.engineHash=r.engineVersion,this.logEmitter=r.logEmitter,this.tracingHelper=r.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:r,url:t}=this.getURLAndAPIKey();this.host=t.host,this.headerBuilder=new wo({apiKey:r,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.protocol=Ri(t)?"http":"https",this.remoteClientVersion=await Ol(this.host,this.config),$t("host",this.host),$t("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(r){r?.logs?.length&&r.logs.forEach(t=>{switch(t.level){case"debug":case"trace":$t(t);break;case"error":case"warn":case"info":{this.logEmitter.emit(t.level,{timestamp:Eo(t.timestamp),message:t.attributes.message??"",target:t.target});break}case"query":{this.logEmitter.emit("query",{query:t.attributes.query??"",timestamp:Eo(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target});break}default:t.level}}),r?.traces?.length&&this.tracingHelper.dispatchEngineSpans(r.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(r){return await this.start(),`${this.protocol}://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${r}`}async uploadSchema(){let r={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(r,async()=>{let t=await dr(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});t.ok||$t("schema response status",t.status);let n=await Ft(t,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(r,{traceparent:t,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:r,traceparent:t,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(r,{traceparent:t,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Mr(r,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:t})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:r,traceparent:t,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t,interactiveTransaction:i}),body:JSON.stringify(r),clientVersion:this.clientVersion},n);a.ok||$t("graphql response status",a.status),await this.handleError(await Ft(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(r,t,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[r]} transaction`,callback:async({logHttpCall:o})=>{if(r==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await dr(a,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Ft(l,this.clientVersion));let u=await l.json(),{extensions:c}=u;c&&this.propagateResponseExtensions(c);let p=u.id,d=u["data-proxy"].endpoint;return{id:p,payload:{endpoint:d}}}else{let s=`${n.payload.endpoint}/${r}`;o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Ft(a,this.clientVersion));let l=await a.json(),{extensions:u}=l;u&&this.propagateResponseExtensions(u);return}}})}getURLAndAPIKey(){let r={clientVersion:this.clientVersion},t=Object.keys(this.inlineDatasources)[0],n=jr({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\``,r)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==tn)throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,r);let a=s.get("api_key");if(a===null||a.length<1)throw new ur(`Error validating datasource \`${t}\`: the URL must contain a valid API key`,r);return{apiKey:a,url:i}}metrics(){throw new cr("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(r){for(let t=0;;t++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${t})`,timestamp:new Date,target:""})};try{return await r.callback({logHttpCall:n})}catch(i){if(!(i instanceof se)||!i.isRetryable)throw i;if(t>=Dl)throw i instanceof Vr?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${t+1}/${Dl} failed for ${r.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Rl(t);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(r){if(r instanceof pr)throw await this.uploadSchema(),new Vr({clientVersion:this.clientVersion,cause:r});if(r)throw r}convertProtocolErrorsToClientError(r){return r.length===1?$r(r[0],this.config.clientVersion,this.config.activeProvider):new j(JSON.stringify(r),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function _l(e){if(e?.kind==="itx")return e.options.id}var vo=k(require("node:os")),Nl=k(require("node:path"));var xo=Symbol("PrismaLibraryEngineCache");function ff(){let e=globalThis;return e[xo]===void 0&&(e[xo]={}),e[xo]}function gf(e){let r=ff();if(r[e]!==void 0)return r[e];let t=Nl.default.toNamespacedPath(e),n={exports:{}},i=0;return process.platform!=="win32"&&(i=vo.default.constants.dlopen.RTLD_LAZY|vo.default.constants.dlopen.RTLD_DEEPBIND),process.dlopen(n,t,i),r[e]=n.exports,n.exports}var Ll={async loadLibrary(e){let r=await di(),t=await yl("library",e);try{return e.tracingHelper.runInChildSpan({name:"loadLibrary",internal:!0},()=>gf(t))}catch(n){let i=Ti({e:n,platformInfo:r,id:t});throw new T(i,e.clientVersion)}}};var Po,Fl={async loadLibrary(e){let{clientVersion:r,adapter:t,engineWasm:n}=e;if(t===void 0)throw new T(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Vn().prettyName})`,r);if(n===void 0)throw new T("WASM engine was unexpectedly `undefined`",r);Po===void 0&&(Po=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new T("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",r);let a={"./query_engine_bg.js":o},l=new WebAssembly.Instance(s,a),u=l.exports.__wbindgen_start;return o.__wbg_set_wasm(l.exports),u(),o.QueryEngine})());let i=await Po;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var hf="P2036",Ce=N("prisma:client:libraryEngine");function yf(e){return e.item_type==="query"&&"query"in e}function bf(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var Ml=[...si,"native"],Ef=0xffffffffffffffffn,To=1n;function wf(){let e=To++;return To>Ef&&(To=1n),e}var Qr=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(r,t){this.libraryLoader=t??Ll,r.engineWasm!==void 0&&(this.libraryLoader=t??Fl),this.config=r,this.libraryStarted=!1,this.logQueries=r.logQueries??!1,this.logLevel=r.logLevel??"error",this.logEmitter=r.logEmitter,this.datamodel=r.inlineSchema,this.tracingHelper=r.tracingHelper,r.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(r.overrideDatasources)[0],i=r.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(r){return{applyPendingMigrations:r.applyPendingMigrations?.bind(r),commitTransaction:this.withRequestId(r.commitTransaction.bind(r)),connect:this.withRequestId(r.connect.bind(r)),disconnect:this.withRequestId(r.disconnect.bind(r)),metrics:r.metrics?.bind(r),query:this.withRequestId(r.query.bind(r)),rollbackTransaction:this.withRequestId(r.rollbackTransaction.bind(r)),sdlSchema:r.sdlSchema?.bind(r),startTransaction:this.withRequestId(r.startTransaction.bind(r)),trace:r.trace.bind(r)}}withRequestId(r){return async(...t)=>{let n=wf().toString();try{return await r(...t,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(r,t,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(t),s;if(r==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else r==="commit"?s=await this.engine?.commitTransaction(n.id,o):r==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(xf(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new z(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new j(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Ce("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;oi(),this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){{if(this.binaryTarget)return this.binaryTarget;let r=await this.tracingHelper.runInChildSpan("detect_platform",()=>ir());if(!Ml.includes(r))throw new T(`Unknown ${ce("PRISMA_QUERY_ENGINE_LIBRARY")} ${ce(W(r))}. Possible binaryTargets: ${qe(Ml.join(", "))} or a path to the query engine library. +You may have to run ${qe("prisma generate")} for your changes to take effect.`,this.config.clientVersion);return r}}parseEngineResponse(r){if(!r)throw new j("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(r)}catch{throw new j("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let r=new WeakRef(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(po));let t=await this.adapterPromise;t&&Ce("Using driver adapter: %O",t),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:process.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{r.deref()?.logger(n)},t))}catch(r){let t=r,n=this.parseInitError(t.message);throw typeof n=="string"?t:new T(n.message,this.config.clientVersion,n.error_code)}}}logger(r){let t=this.parseEngineResponse(r);t&&(t.level=t?.level.toLowerCase()??"unknown",yf(t)?this.logEmitter.emit("query",{timestamp:new Date,query:t.query,params:t.params,duration:Number(t.duration_ms),target:t.module_path}):bf(t)?this.loggerRustPanic=new le(So(this,`${t.message}: ${t.reason} in ${t.file}:${t.line}:${t.column}`),this.config.clientVersion):this.logEmitter.emit(t.level,{timestamp:new Date,message:t.message,target:t.module_path}))}parseInitError(r){try{return JSON.parse(r)}catch{}return r}parseRequestError(r){try{return JSON.parse(r)}catch{}return r}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Ce(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let r=async()=>{Ce("library starting");try{let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(t)),this.libraryStarted=!0,Ce("library started")}catch(t){let n=this.parseInitError(t.message);throw typeof n=="string"?t:new T(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",r),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Ce("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted)return;let r=async()=>{await new Promise(n=>setTimeout(n,5)),Ce("library stopping");let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(t)),this.libraryStarted=!1,this.libraryStoppingPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Ce("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",r),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(r){return this.library?.debugPanic(r)}async request(r,{traceparent:t,interactiveTransaction:n}){Ce(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:t}),o=JSON.stringify(r);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof T)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new le(So(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new j(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(r,{transaction:t,traceparent:n}){Ce("requestBatch");let i=Mr(r,t);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine.query(this.lastQuery,JSON.stringify({traceparent:n}),_l(t));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(c=>c.errors&&c.errors.length>0?this.loggerRustPanic??this.buildQueryError(c.errors[0],o?.errorRegistry):{data:c});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(r,t){if(r.user_facing_error.is_panic)return new le(So(this,r.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(r.user_facing_error,t);return n?n.error:$r(r,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(r,t){if(r.error_code===hf&&t){let n=r.meta?.id;on(typeof n=="number","Malformed external JS error received from the engine");let i=t.consumeError(n);return on(i,"External error with reported id was not registered"),i}}async metrics(r){await this.start();let t=await this.engine.metrics(JSON.stringify(r));return r.format==="prometheus"?t:this.parseEngineResponse(t)}};function xf(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function So(e,r){return Pl({binaryTarget:e.binaryTarget,title:r,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}function $l({copyEngine:e=!0},r){let t;try{t=jr({inlineDatasources:r.inlineDatasources,overrideDatasources:r.overrideDatasources,env:{...r.env,...process.env},clientVersion:r.clientVersion})}catch{}let n=!!(t?.startsWith("prisma://")||nn(t));e&&n&&st("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Er(r.generator),o=n||!e,s=!!r.adapter,a=i==="library",l=i==="binary",u=i==="client";if(o&&s||s&&!1){let c;throw e?t?.startsWith("prisma://")?c=["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]:c=["Prisma Client was configured to use both the `adapter` and Accelerate, please chose one."]:c=["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."],new Z(c.join(` +`),{clientVersion:r.clientVersion})}return o?new qt(r):a?new Qr(r):new Qr(r)}function Jn({generator:e}){return e?.previewFeatures??[]}var ql=e=>({command:e});var jl=e=>e.strings.reduce((r,t,n)=>`${r}@P${n}${t}`);function Gr(e){try{return Vl(e,"fast")}catch{return Vl(e,"slow")}}function Vl(e,r){return JSON.stringify(e.map(t=>Ul(t,r)))}function Ul(e,r){if(Array.isArray(e))return e.map(t=>Ul(t,r));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(Sr(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(ge.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(vf(e))return{prisma__type:"bytes",prisma__value:Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:Buffer.from(t,n,i).toString("base64")}}return typeof e=="object"&&r==="slow"?Ql(e):e}function vf(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Ql(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Bl);let r={};for(let t of Object.keys(e))r[t]=Bl(e[t]);return r}function Bl(e){return typeof e=="bigint"?e.toString():Ql(e)}var Pf=/^(\s*alter\s)/i,Gl=N("prisma:client");function Ro(e,r,t,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&t.length>0&&Pf.exec(r))throw new Error(`Running ALTER using ${n} is not supported Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. Example: await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) More Information: https://pris.ly/d/execute-raw -`)}var Co=({clientMethod:e,activeProvider:r})=>t=>{let n="",i;if(Nn(t))n=t.sql,i={values:Gr(t.values),__prismaRawParameters__:!0};else if(Array.isArray(t)){let[o,...s]=t;n=o,i={values:Gr(s||[]),__prismaRawParameters__:!0}}else switch(r){case"sqlite":case"mysql":{n=t.sql,i={values:Gr(t.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=t.text,i={values:Gr(t.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=$l(t),i={values:Gr(t.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${r} provider does not support ${e}`)}return i?.values?Ul(`prisma.${e}(${n}, ${i.values})`):Ul(`prisma.${e}(${n})`),{query:n,parameters:i}},Ql={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[r,...t]=e;return new oe(r,t)}},Gl={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};function Ao(e){return function(t,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Wl(t(s)):Wl(t(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Wl(e){return typeof e.then=="function"?e:Promise.resolve(e)}var Pf=bi.split(".")[0],Tf={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,r){return r()}},Io=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(r){return this.getGlobalTracingHelper().getTraceParent(r)}dispatchEngineSpans(r){return this.getGlobalTracingHelper().dispatchEngineSpans(r)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(r,t){return this.getGlobalTracingHelper().runInChildSpan(r,t)}getGlobalTracingHelper(){let r=globalThis[`V${Pf}_PRISMA_INSTRUMENTATION`],t=globalThis.PRISMA_INSTRUMENTATION;return r?.helper??t?.helper??Tf}};function Jl(){return new Io}function Hl(e,r=()=>{}){let t,n=new Promise(i=>t=i);return{then(i){return--e===0&&t(r()),i?.(n)}}}function Kl(e){return typeof e=="string"?e:e.reduce((r,t)=>{let n=typeof t=="string"?t:t.level;return n==="query"?r:r&&(t==="info"||r==="info")?"info":n},void 0)}var Jn=class{_middlewares=[];use(r){this._middlewares.push(r)}get(r){return this._middlewares[r]}has(r){return!!this._middlewares[r]}length(){return this._middlewares.length}};var zl=k(ki());function Hn(e){return typeof e.batchRequestIdx=="number"}function Yl(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let r=[];return e.modelName&&r.push(e.modelName),e.query.arguments&&r.push(ko(e.query.arguments)),r.push(ko(e.query.selection)),r.join("")}function ko(e){return`(${Object.keys(e).sort().map(t=>{let n=e[t];return typeof n=="object"&&n!==null?`(${t} ${ko(n)})`:t}).join(" ")})`}var Sf={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function Oo(e){return Sf[e]}var Kn=class{constructor(r){this.options=r;this.batches={}}batches;tickActive=!1;request(r){let t=this.options.batchBy(r);return t?(this.batches[t]||(this.batches[t]=[],this.tickActive||(this.tickActive=!0,process.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[t].push({request:r,resolve:n,reject:i})})):this.options.singleLoader(r)}dispatchBatches(){for(let r in this.batches){let t=this.batches[r];delete this.batches[r],t.length===1?this.options.singleLoader(t[0].request).then(n=>{n instanceof Error?t[0].reject(n):t[0].resolve(n)}).catch(n=>{t[0].reject(n)}):(t.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(t.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;imr("bigint",t));case"bytes-array":return r.map(t=>mr("bytes",t));case"decimal-array":return r.map(t=>mr("decimal",t));case"datetime-array":return r.map(t=>mr("datetime",t));case"date-array":return r.map(t=>mr("date",t));case"time-array":return r.map(t=>mr("time",t));default:return r}}function Yn(e){let r=[],t=Rf(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(p=>p.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(p=>Oo(p.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:Af(o),containsWrite:u,customDataProxyFetch:i})).map((p,d)=>{if(p instanceof Error)return p;try{return this.mapQueryEngineResult(n[d],p)}catch(f){return f}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Zl(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:Oo(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Yl(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(r){try{return await this.dataloader.request(r)}catch(t){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=r;this.handleAndLogRequestError({error:t,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:r.globalOmit})}}mapQueryEngineResult({dataPath:r,unpacker:t},n){let i=n?.data,o=this.unpack(i,r,t);return process.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(r){try{this.handleRequestError(r)}catch(t){throw this.logEmitter&&this.logEmitter.emit("error",{message:t.message,target:r.clientMethod,timestamp:new Date}),t}}handleRequestError({error:r,clientMethod:t,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Cf(r),If(r,i))throw r;if(r instanceof z&&kf(r)){let u=Xl(r.meta);An({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:t,clientVersion:this.client._clientVersion,globalOmit:a})}let l=r.message;if(n&&(l=bn({callsite:n,originalMethod:t,isPanic:r.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),r.code){let u=s?{modelName:s,...r.meta}:r.meta;throw new z(l,{code:r.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:r.batchRequestIdx})}else{if(r.isPanic)throw new le(l,this.client._clientVersion);if(r instanceof j)throw new j(l,{clientVersion:this.client._clientVersion,batchRequestIdx:r.batchRequestIdx});if(r instanceof T)throw new T(l,this.client._clientVersion);if(r instanceof le)throw new le(l,this.client._clientVersion)}throw r.clientVersion=this.client._clientVersion,r}sanitizeMessage(r){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,zl.default)(r):r}unpack(r,t,n){if(!r||(r.data&&(r=r.data),!r))return r;let i=Object.keys(r)[0],o=Object.values(r)[0],s=t.filter(u=>u!=="select"&&u!=="include"),a=io(o,s),l=i==="queryRaw"?Yn(a):Tr(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function Af(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:Zl(e)};_e(e,"Unknown transaction kind")}}function Zl(e){return{id:e.id,payload:e.payload}}function If(e,r){return Hn(e)&&r?.kind==="batch"&&e.batchRequestIdx!==r.index}function kf(e){return e.code==="P2009"||e.code==="P2012"}function Xl(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(Xl)};if(Array.isArray(e.selectionPath)){let[,...r]=e.selectionPath;return{...e,selectionPath:r}}return e}var eu="6.7.0";var ru=eu;var su=k(Gi());var D=class extends Error{constructor(r){super(r+` -Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};x(D,"PrismaClientConstructorValidationError");var tu=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],nu=["pretty","colorless","minimal"],iu=["info","query","warn","error"],Df={datasources:(e,{datasourceNames:r})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new D(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[t,n]of Object.entries(e)){if(!r.includes(t)){let i=Wr(t,r)||` Available datasources: ${r.join(", ")}`;throw new D(`Unknown datasource ${t} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new D(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. +`)}var Co=({clientMethod:e,activeProvider:r})=>t=>{let n="",i;if(Fn(t))n=t.sql,i={values:Gr(t.values),__prismaRawParameters__:!0};else if(Array.isArray(t)){let[o,...s]=t;n=o,i={values:Gr(s||[]),__prismaRawParameters__:!0}}else switch(r){case"sqlite":case"mysql":{n=t.sql,i={values:Gr(t.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=t.text,i={values:Gr(t.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=jl(t),i={values:Gr(t.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${r} provider does not support ${e}`)}return i?.values?Gl(`prisma.${e}(${n}, ${i.values})`):Gl(`prisma.${e}(${n})`),{query:n,parameters:i}},Wl={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[r,...t]=e;return new oe(r,t)}},Jl={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};function Ao(e){return function(t,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Hl(t(s)):Hl(t(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Hl(e){return typeof e.then=="function"?e:Promise.resolve(e)}var Tf=Ei.split(".")[0],Sf={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,r){return r()}},Io=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(r){return this.getGlobalTracingHelper().getTraceParent(r)}dispatchEngineSpans(r){return this.getGlobalTracingHelper().dispatchEngineSpans(r)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(r,t){return this.getGlobalTracingHelper().runInChildSpan(r,t)}getGlobalTracingHelper(){let r=globalThis[`V${Tf}_PRISMA_INSTRUMENTATION`],t=globalThis.PRISMA_INSTRUMENTATION;return r?.helper??t?.helper??Sf}};function Kl(){return new Io}function Yl(e,r=()=>{}){let t,n=new Promise(i=>t=i);return{then(i){return--e===0&&t(r()),i?.(n)}}}function zl(e){return typeof e=="string"?e:e.reduce((r,t)=>{let n=typeof t=="string"?t:t.level;return n==="query"?r:r&&(t==="info"||r==="info")?"info":n},void 0)}var Hn=class{_middlewares=[];use(r){this._middlewares.push(r)}get(r){return this._middlewares[r]}has(r){return!!this._middlewares[r]}length(){return this._middlewares.length}};var Xl=k(Oi());function Kn(e){return typeof e.batchRequestIdx=="number"}function Zl(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let r=[];return e.modelName&&r.push(e.modelName),e.query.arguments&&r.push(ko(e.query.arguments)),r.push(ko(e.query.selection)),r.join("")}function ko(e){return`(${Object.keys(e).sort().map(t=>{let n=e[t];return typeof n=="object"&&n!==null?`(${t} ${ko(n)})`:t}).join(" ")})`}var Rf={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function Oo(e){return Rf[e]}var Yn=class{constructor(r){this.options=r;this.batches={}}batches;tickActive=!1;request(r){let t=this.options.batchBy(r);return t?(this.batches[t]||(this.batches[t]=[],this.tickActive||(this.tickActive=!0,process.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[t].push({request:r,resolve:n,reject:i})})):this.options.singleLoader(r)}dispatchBatches(){for(let r in this.batches){let t=this.batches[r];delete this.batches[r],t.length===1?this.options.singleLoader(t[0].request).then(n=>{n instanceof Error?t[0].reject(n):t[0].resolve(n)}).catch(n=>{t[0].reject(n)}):(t.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(t.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;imr("bigint",t));case"bytes-array":return r.map(t=>mr("bytes",t));case"decimal-array":return r.map(t=>mr("decimal",t));case"datetime-array":return r.map(t=>mr("datetime",t));case"date-array":return r.map(t=>mr("date",t));case"time-array":return r.map(t=>mr("time",t));default:return r}}function zn(e){let r=[],t=Cf(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(p=>p.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(p=>Oo(p.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:If(o),containsWrite:u,customDataProxyFetch:i})).map((p,d)=>{if(p instanceof Error)return p;try{return this.mapQueryEngineResult(n[d],p)}catch(f){return f}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?eu(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:Oo(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Zl(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(r){try{return await this.dataloader.request(r)}catch(t){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=r;this.handleAndLogRequestError({error:t,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:r.globalOmit})}}mapQueryEngineResult({dataPath:r,unpacker:t},n){let i=n?.data,o=this.unpack(i,r,t);return process.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(r){try{this.handleRequestError(r)}catch(t){throw this.logEmitter&&this.logEmitter.emit("error",{message:t.message,target:r.clientMethod,timestamp:new Date}),t}}handleRequestError({error:r,clientMethod:t,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Af(r),kf(r,i))throw r;if(r instanceof z&&Of(r)){let u=ru(r.meta);kn({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:t,clientVersion:this.client._clientVersion,globalOmit:a})}let l=r.message;if(n&&(l=wn({callsite:n,originalMethod:t,isPanic:r.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),r.code){let u=s?{modelName:s,...r.meta}:r.meta;throw new z(l,{code:r.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:r.batchRequestIdx})}else{if(r.isPanic)throw new le(l,this.client._clientVersion);if(r instanceof j)throw new j(l,{clientVersion:this.client._clientVersion,batchRequestIdx:r.batchRequestIdx});if(r instanceof T)throw new T(l,this.client._clientVersion);if(r instanceof le)throw new le(l,this.client._clientVersion)}throw r.clientVersion=this.client._clientVersion,r}sanitizeMessage(r){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Xl.default)(r):r}unpack(r,t,n){if(!r||(r.data&&(r=r.data),!r))return r;let i=Object.keys(r)[0],o=Object.values(r)[0],s=t.filter(u=>u!=="select"&&u!=="include"),a=io(o,s),l=i==="queryRaw"?zn(a):Tr(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function If(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:eu(e)};_e(e,"Unknown transaction kind")}}function eu(e){return{id:e.id,payload:e.payload}}function kf(e,r){return Kn(e)&&r?.kind==="batch"&&e.batchRequestIdx!==r.index}function Of(e){return e.code==="P2009"||e.code==="P2012"}function ru(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(ru)};if(Array.isArray(e.selectionPath)){let[,...r]=e.selectionPath;return{...e,selectionPath:r}}return e}var tu=Sl;var au=k(Gi());var D=class extends Error{constructor(r){super(r+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};x(D,"PrismaClientConstructorValidationError");var nu=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],iu=["pretty","colorless","minimal"],ou=["info","query","warn","error"],Df={datasources:(e,{datasourceNames:r})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new D(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[t,n]of Object.entries(e)){if(!r.includes(t)){let i=Wr(t,r)||` Available datasources: ${r.join(", ")}`;throw new D(`Unknown datasource ${t} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new D(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new D(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new D(`Invalid value ${JSON.stringify(o)} for datasource "${t}" provided to PrismaClient constructor. -It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,r)=>{if(!e&&Er(r.generator)==="client")throw new D('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new D('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Wn(r).includes("driverAdapters"))throw new D('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Er(r.generator)==="binary")throw new D('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new D(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. -Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new D(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!nu.includes(e)){let r=Wr(e,nu);throw new D(`Invalid errorFormat ${e} provided to PrismaClient constructor.${r}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new D(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function r(t){if(typeof t=="string"&&!iu.includes(t)){let n=Wr(t,iu);throw new D(`Invalid log level "${t}" provided to PrismaClient constructor.${n}`)}}for(let t of e){r(t);let n={level:r,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Wr(i,o);throw new D(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(t&&typeof t=="object")for(let[i,o]of Object.entries(t))if(n[i])n[i](o);else throw new D(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let r=e.maxWait;if(r!=null&&r<=0)throw new D(`Invalid value ${r} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let t=e.timeout;if(t!=null&&t<=0)throw new D(`Invalid value ${t} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,r)=>{if(typeof e!="object")throw new D('"omit" option is expected to be an object.');if(e===null)throw new D('"omit" option can not be `null`');let t=[];for(let[n,i]of Object.entries(e)){let o=Nf(n,r.runtimeDataModel);if(!o){t.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(u=>u.name===s);if(!l){t.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){t.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&t.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(t.length>0)throw new D(Ff(e,t))},__internal:e=>{if(!e)return;let r=["debug","engine","configOverride"];if(typeof e!="object")throw new D(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[t]of Object.entries(e))if(!r.includes(t)){let n=Wr(t,r);throw new D(`Invalid property ${JSON.stringify(t)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function au(e,r){for(let[t,n]of Object.entries(e)){if(!tu.includes(t)){let i=Wr(t,tu);throw new D(`Unknown property ${t} provided to PrismaClient constructor.${i}`)}Df[t](n,r)}if(e.datasourceUrl&&e.datasources)throw new D('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Wr(e,r){if(r.length===0||typeof e!="string")return"";let t=_f(e,r);return t?` Did you mean "${t}"?`:""}function _f(e,r){if(r.length===0)return null;let t=r.map(i=>({value:i,distance:(0,su.default)(e,i)}));t.sort((i,o)=>i.distanceYe(n)===r);if(t)return e[t]}function Ff(e,r){let t=_r(e);for(let o of r)switch(o.kind){case"UnknownModel":t.arguments.getField(o.modelKey)?.markAsError(),t.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":t.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Cn(t,"colorless");return`Error validating "omit" option: +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,r)=>{if(!e&&Er(r.generator)==="client")throw new D('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new D('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Jn(r).includes("driverAdapters"))throw new D('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Er(r.generator)==="binary")throw new D('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new D(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new D(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!iu.includes(e)){let r=Wr(e,iu);throw new D(`Invalid errorFormat ${e} provided to PrismaClient constructor.${r}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new D(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function r(t){if(typeof t=="string"&&!ou.includes(t)){let n=Wr(t,ou);throw new D(`Invalid log level "${t}" provided to PrismaClient constructor.${n}`)}}for(let t of e){r(t);let n={level:r,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Wr(i,o);throw new D(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(t&&typeof t=="object")for(let[i,o]of Object.entries(t))if(n[i])n[i](o);else throw new D(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let r=e.maxWait;if(r!=null&&r<=0)throw new D(`Invalid value ${r} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let t=e.timeout;if(t!=null&&t<=0)throw new D(`Invalid value ${t} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,r)=>{if(typeof e!="object")throw new D('"omit" option is expected to be an object.');if(e===null)throw new D('"omit" option can not be `null`');let t=[];for(let[n,i]of Object.entries(e)){let o=Nf(n,r.runtimeDataModel);if(!o){t.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(u=>u.name===s);if(!l){t.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){t.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&t.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(t.length>0)throw new D(Lf(e,t))},__internal:e=>{if(!e)return;let r=["debug","engine","configOverride"];if(typeof e!="object")throw new D(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[t]of Object.entries(e))if(!r.includes(t)){let n=Wr(t,r);throw new D(`Invalid property ${JSON.stringify(t)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function lu(e,r){for(let[t,n]of Object.entries(e)){if(!nu.includes(t)){let i=Wr(t,nu);throw new D(`Unknown property ${t} provided to PrismaClient constructor.${i}`)}Df[t](n,r)}if(e.datasourceUrl&&e.datasources)throw new D('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Wr(e,r){if(r.length===0||typeof e!="string")return"";let t=_f(e,r);return t?` Did you mean "${t}"?`:""}function _f(e,r){if(r.length===0)return null;let t=r.map(i=>({value:i,distance:(0,au.default)(e,i)}));t.sort((i,o)=>i.distanceYe(n)===r);if(t)return e[t]}function Lf(e,r){let t=_r(e);for(let o of r)switch(o.kind){case"UnknownModel":t.arguments.getField(o.modelKey)?.markAsError(),t.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":t.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=In(t,"colorless");return`Error validating "omit" option: ${i} -${n}`}function lu(e){return e.length===0?Promise.resolve([]):new Promise((r,t)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?t(i):r(n)))},l=u=>{o||(o=!0,t(u))};for(let u=0;u{n[u]=c,a()},c=>{if(!Hn(c)){l(c);return}c.batchRequestIdx===u?l(c):(i||(i=c),a())})})}var rr=N("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Lf={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Mf=Symbol.for("prisma.client.transaction.id"),$f={id:0,nextId(){return++this.id}};function fu(e){class r{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Jn;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Ao();constructor(n){e=n?.__internal?.configOverride?.(e)??e,ul(e),n&&au(n,e);let i=new du.EventEmitter().on("error",()=>{});this._extensions=Nr.empty(),this._previewFeatures=Wn(e),this._clientVersion=e.clientVersion??ru,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Jl();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&Zn.default.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&Zn.default.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new T(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new T("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=!s&&o&&it(o,{conflictCheck:"none"})||e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},c=u.debug===!0;c&&N.enable("prisma:client");let p=Zn.default.resolve(e.dirname,e.relativePath);mu.default.existsSync(p)||(p=e.dirname),rr("dirname",e.dirname),rr("relativePath",e.relativePath),rr("cwd",p);let d=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:process.env.NODE_ENV==="production"?this._errorFormat="minimal":process.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:p,dirname:e.dirname,enableDebugLogs:c,allowTriggerPanic:d.allowTriggerPanic,prismaPath:d.binaryPath??void 0,engineEndpoint:d.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Kl(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(f=>typeof f=="string"?f==="query":f.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:cl(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:jr,getBatchRequestPayload:Mr,prismaGraphQLToJSError:$r,PrismaClientUnknownRequestError:j,PrismaClientInitializationError:T,PrismaClientKnownRequestError:z,debug:N("prisma:client:accelerateEngine"),engineVersion:cu.version,clientVersion:e.clientVersion}},rr("clientVersion",e.clientVersion),this._engine=Ll(e,this._engineConfig),this._requestHandler=new zn(this,i),l.log)for(let f of l.log){let g=typeof f=="string"?f:f.emit==="stdout"?f.level:null;g&&this.$on(g,h=>{tt.log(`${tt.tags[g]??""}`,h.message||h.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=vt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Go()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Co({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=uu(n,i);return Ro(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Ro(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Ml,callsite:Ze(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Co({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...uu(n,i));throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=$f.nextId(),s=Hl(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let c=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,p={kind:"batch",id:o,index:u,isolationLevel:c,lock:s};return l.requestTransaction?.(p)??l});return lu(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return he(vt(he(Ha(this),[re("_appliedParent",()=>this._appliedParent._createItxClient(n)),re("_createPrismaPromise",()=>Ao(n)),re(Mf,()=>n.id)])),[Lr(Xa)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Lf,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async u=>{let c=this._middlewares.get(++a);if(c)return this._tracingHelper.runInChildSpan(s.middleware,I=>c(u,P=>(I?.end(),l(P))));let{runInTransaction:p,args:d,...f}=u,g={...n,...f};d&&(g.args=i.middlewareArgsToRequestArgs(d)),n.transaction!==void 0&&p===!1&&delete g.transaction;let h=await nl(this,g);return g.model?Za({result:h,modelName:g.model,args:g.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):h};return this._tracingHelper.runInChildSpan(s.operation,()=>new pu.AsyncResource("prisma-client-request").runInAsyncScope(()=>l(o)))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:c,unpacker:p,otelParentCtx:d,customDataProxyFetch:f}){try{n=u?u(n):n;let g={name:"serialize"},h=this._tracingHelper.runInChildSpan(g,()=>Dn({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return N.enabled("prisma:client")&&(rr("Prisma Client call:"),rr(`prisma.${i}(${Ma(n)})`),rr("Generated request:"),rr(JSON.stringify(h,null,2)+` -`)),c?.kind==="batch"&&await c.lock,this._requestHandler.request({protocolQuery:h,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:c,unpacker:p,otelParentCtx:d,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:f})}catch(g){throw g.clientVersion=this._clientVersion,g}}$metrics=new Fr(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Ka}return r}function uu(e,r){return qf(e)?[new oe(e,r),Ql]:[e,Gl]}function qf(e){return Array.isArray(e)&&Array.isArray(e.raw)}var jf=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function gu(e){return new Proxy(e,{get(r,t){if(t in r)return r[t];if(!jf.has(t))throw new TypeError(`Invalid enum value: ${String(t)}`)}})}function hu(e){it(e,{conflictCheck:"warn"})}0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +${n}`}function uu(e){return e.length===0?Promise.resolve([]):new Promise((r,t)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?t(i):r(n)))},l=u=>{o||(o=!0,t(u))};for(let u=0;u{n[u]=c,a()},c=>{if(!Kn(c)){l(c);return}c.batchRequestIdx===u?l(c):(i||(i=c),a())})})}var rr=N("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Ff={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Mf=Symbol.for("prisma.client.transaction.id"),$f={id:0,nextId(){return++this.id}};function gu(e){class r{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Hn;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Ao();constructor(n){e=n?.__internal?.configOverride?.(e)??e,cl(e),n&&lu(n,e);let i=new mu.EventEmitter().on("error",()=>{});this._extensions=Nr.empty(),this._previewFeatures=Jn(e),this._clientVersion=e.clientVersion??tu,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Kl();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&Xn.default.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&Xn.default.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new T(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new T("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=!s&&o&&ot(o,{conflictCheck:"none"})||e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},c=u.debug===!0;c&&N.enable("prisma:client");let p=Xn.default.resolve(e.dirname,e.relativePath);fu.default.existsSync(p)||(p=e.dirname),rr("dirname",e.dirname),rr("relativePath",e.relativePath),rr("cwd",p);let d=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:process.env.NODE_ENV==="production"?this._errorFormat="minimal":process.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:p,dirname:e.dirname,enableDebugLogs:c,allowTriggerPanic:d.allowTriggerPanic,prismaPath:d.binaryPath??void 0,engineEndpoint:d.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&zl(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(f=>typeof f=="string"?f==="query":f.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:pl(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:jr,getBatchRequestPayload:Mr,prismaGraphQLToJSError:$r,PrismaClientUnknownRequestError:j,PrismaClientInitializationError:T,PrismaClientKnownRequestError:z,debug:N("prisma:client:accelerateEngine"),engineVersion:pu.version,clientVersion:e.clientVersion}},rr("clientVersion",e.clientVersion),this._engine=$l(e,this._engineConfig),this._requestHandler=new Zn(this,i),l.log)for(let f of l.log){let g=typeof f=="string"?f:f.emit==="stdout"?f.level:null;g&&this.$on(g,h=>{tt.log(`${tt.tags[g]??""}`,h.message||h.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Pt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Go()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Co({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=cu(n,i);return Ro(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Ro(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:ql,callsite:Ze(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Co({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...cu(n,i));throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=$f.nextId(),s=Yl(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let c=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,p={kind:"batch",id:o,index:u,isolationLevel:c,lock:s};return l.requestTransaction?.(p)??l});return uu(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return ye(Pt(ye(Ka(this),[re("_appliedParent",()=>this._appliedParent._createItxClient(n)),re("_createPrismaPromise",()=>Ao(n)),re(Mf,()=>n.id)])),[Fr(el)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Ff,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async u=>{let c=this._middlewares.get(++a);if(c)return this._tracingHelper.runInChildSpan(s.middleware,I=>c(u,P=>(I?.end(),l(P))));let{runInTransaction:p,args:d,...f}=u,g={...n,...f};d&&(g.args=i.middlewareArgsToRequestArgs(d)),n.transaction!==void 0&&p===!1&&delete g.transaction;let h=await il(this,g);return g.model?Xa({result:h,modelName:g.model,args:g.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):h};return this._tracingHelper.runInChildSpan(s.operation,()=>new du.AsyncResource("prisma-client-request").runInAsyncScope(()=>l(o)))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:c,unpacker:p,otelParentCtx:d,customDataProxyFetch:f}){try{n=u?u(n):n;let g={name:"serialize"},h=this._tracingHelper.runInChildSpan(g,()=>Nn({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return N.enabled("prisma:client")&&(rr("Prisma Client call:"),rr(`prisma.${i}(${$a(n)})`),rr("Generated request:"),rr(JSON.stringify(h,null,2)+` +`)),c?.kind==="batch"&&await c.lock,this._requestHandler.request({protocolQuery:h,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:c,unpacker:p,otelParentCtx:d,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:f})}catch(g){throw g.clientVersion=this._clientVersion,g}}$metrics=new Lr(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Ya}return r}function cu(e,r){return qf(e)?[new oe(e,r),Wl]:[e,Jl]}function qf(e){return Array.isArray(e)&&Array.isArray(e.raw)}var jf=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function hu(e){return new Proxy(e,{get(r,t){if(t in r)return r[t];if(!jf.has(t))throw new TypeError(`Invalid enum value: ${String(t)}`)}})}function yu(e){ot(e,{conflictCheck:"warn"})}0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); /*! Bundled license information: decimal.js/decimal.mjs: diff --git a/generated/prisma/runtime/react-native.js b/generated/prisma/runtime/react-native.js index 23cd2fa..eca8917 100644 --- a/generated/prisma/runtime/react-native.js +++ b/generated/prisma/runtime/react-native.js @@ -1,8 +1,8 @@ /* !!! This is code generated by Prisma. Do not edit directly. !!! /* eslint-disable */ -"use strict";var wa=Object.create;var tr=Object.defineProperty;var ba=Object.getOwnPropertyDescriptor;var Ea=Object.getOwnPropertyNames;var xa=Object.getPrototypeOf,Pa=Object.prototype.hasOwnProperty;var ge=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ze=(e,t)=>{for(var r in t)tr(e,r,{get:t[r],enumerable:!0})},ni=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ea(t))!Pa.call(e,i)&&i!==r&&tr(e,i,{get:()=>t[i],enumerable:!(n=ba(t,i))||n.enumerable});return e};var Se=(e,t,r)=>(r=e!=null?wa(xa(e)):{},ni(t||!e||!e.__esModule?tr(r,"default",{value:e,enumerable:!0}):r,e)),va=e=>ni(tr({},"__esModule",{value:!0}),e);var y,c=ge(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var x,p=ge(()=>{"use strict";x=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,d=ge(()=>{"use strict";E=()=>{};E.prototype=E});var b,f=ge(()=>{"use strict";b=class{value;constructor(t){this.value=t}deref(){return this.value}}});var Pi=Ae(rt=>{"use strict";m();c();p();d();f();var li=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ta=li(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=R;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var M=C.indexOf("=");M===-1&&(M=A);var I=M===A?0:4-M%4;return[M,I]}function l(C){var A=a(C),M=A[0],I=A[1];return(M+I)*3/4-I}function u(C,A,M){return(A+M)*3/4-M}function g(C){var A,M=a(C),I=M[0],L=M[1],k=new n(u(C,I,L)),D=0,z=L>0?I-4:I,B;for(B=0;B>16&255,k[D++]=A>>8&255,k[D++]=A&255;return L===2&&(A=r[C.charCodeAt(B)]<<2|r[C.charCodeAt(B+1)]>>4,k[D++]=A&255),L===1&&(A=r[C.charCodeAt(B)]<<10|r[C.charCodeAt(B+1)]<<4|r[C.charCodeAt(B+2)]>>2,k[D++]=A>>8&255,k[D++]=A&255),k}function h(C){return t[C>>18&63]+t[C>>12&63]+t[C>>6&63]+t[C&63]}function v(C,A,M){for(var I,L=[],k=A;kz?z:D+k));return I===1?(A=C[M-1],L.push(t[A>>2]+t[A<<4&63]+"==")):I===2&&(A=(C[M-2]<<8)+C[M-1],L.push(t[A>>10]+t[A>>4&63]+t[A<<2&63]+"=")),L.join("")}}),Ca=li(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,u=(1<>1,h=-7,v=n?o-1:0,R=n?-1:1,C=t[r+v];for(v+=R,s=C&(1<<-h)-1,C>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=R,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=R,h-=8);if(s===0)s=1-g;else{if(s===u)return a?NaN:(C?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(C?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,u,g=s*8-o-1,h=(1<>1,R=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:s-1,A=i?1:-1,M=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(u=Math.pow(2,-a))<1&&(a--,u*=2),a+v>=1?r+=R/u:r+=R*Math.pow(2,1-v),r*u>=2&&(a++,u/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*u-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+C]=l&255,C+=A,l/=256,o-=8);for(a=a<0;t[n+C]=a&255,C+=A,a/=256,g-=8);t[n+C-A]|=M*128}}),Zr=Ta(),et=Ca(),ii=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;rt.Buffer=T;rt.SlowBuffer=Ma;rt.INSPECT_MAX_BYTES=50;var rr=2147483647;rt.kMaxLength=rr;T.TYPED_ARRAY_SUPPORT=Aa();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Aa(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function Re(e){if(e>rr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return tn(e)}return ui(e,t,r)}T.poolSize=8192;function ui(e,t,r){if(typeof e=="string")return Ra(e,t);if(ArrayBuffer.isView(e))return ka(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(he(e,ArrayBuffer)||e&&he(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(he(e,SharedArrayBuffer)||e&&he(e.buffer,SharedArrayBuffer)))return pi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=Oa(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return ui(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function ci(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Sa(e,t,r){return ci(e),e<=0?Re(e):t!==void 0?typeof r=="string"?Re(e).fill(t,r):Re(e).fill(t):Re(e)}T.alloc=function(e,t,r){return Sa(e,t,r)};function tn(e){return ci(e),Re(e<0?0:rn(e)|0)}T.allocUnsafe=function(e){return tn(e)};T.allocUnsafeSlow=function(e){return tn(e)};function Ra(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=di(e,t)|0,n=Re(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function Xr(e){let t=e.length<0?0:rn(e.length)|0,r=Re(t);for(let n=0;n=rr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+rr.toString(16)+" bytes");return e|0}function Ma(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(he(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),he(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function di(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||he(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return en(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return xi(e).length;default:if(i)return n?-1:en(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=di;function Fa(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ua(this,t,r);case"utf8":case"utf-8":return mi(this,t,r);case"ascii":return ja(this,t,r);case"latin1":case"binary":return Ba(this,t,r);case"base64":return qa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Va(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Qe(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ii&&(T.prototype[ii]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(he(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),u=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,on(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:oi(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):oi(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function oi(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let u;if(i){let g=-1;for(u=r;us&&(r=s-a),u=r;u>=0;u--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Ia(this,e,t,r);case"utf8":case"utf-8":return _a(this,e,t,r);case"ascii":case"latin1":case"binary":return La(this,e,t,r);case"base64":return Na(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Da(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function qa(e,t,r){return t===0&&r===e.length?Zr.fromByteArray(e):Zr.fromByteArray(e.slice(t,r))}function mi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,u,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(h=(o&15)<<12|(l&63)<<6|u&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],u=e[i+2],g=e[i+3],(l&192)===128&&(u&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(u&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return $a(n)}var si=4096;function $a(e){let t=e.length;if(t<=si)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Le(function(e){e=e>>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Le(function(e){e=e>>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),et.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),et.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),et.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),et.read(this,e,!1,52,8)};function ie(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;ie(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;ie(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function gi(e,t,r,n,i){Ei(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function hi(e,t,r,n,i){Ei(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Le(function(e,t=0){return gi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Le(function(e,t=0){return hi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);ie(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);ie(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Le(function(e,t=0){return gi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Le(function(e,t=0){return hi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function yi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function wi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,4,34028234663852886e22,-34028234663852886e22),et.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return wi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return wi(this,e,t,!1,r)};function bi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,8,17976931348623157e292,-17976931348623157e292),et.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return bi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return bi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ai(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ai(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ai(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Qa(e,t,r){tt(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Tt(t,e.length-(r+1))}function Ei(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Xe.ERR_OUT_OF_RANGE("value",a,e)}Qa(n,i,o)}function tt(e,t){if(typeof e!="number")throw new Xe.ERR_INVALID_ARG_TYPE(t,"number",e)}function Tt(e,t,r){throw Math.floor(e)!==e?(tt(e,r),new Xe.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Xe.ERR_BUFFER_OUT_OF_BOUNDS:new Xe.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Ga=/[^+/0-9A-Za-z-_]/g;function Ja(e){if(e=e.split("=")[0],e=e.trim().replace(Ga,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function en(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Wa(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function xi(e){return Zr.toByteArray(Ja(e))}function nr(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function he(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function on(e){return e!==e}var Ha=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Le(e){return typeof BigInt>"u"?za:e}function za(){throw new Error("BigInt not supported")}});var w,m=ge(()=>{"use strict";w=Se(Pi())});function wl(){return!1}function Li(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function bl(){return Li()}function El(){return[]}function xl(e){e(null,[])}function Pl(){return""}function vl(){return""}function Tl(){}function Cl(){}function Al(){}function Sl(){}function Rl(){}function kl(){}var Ol,Ml,or,cn=ge(()=>{"use strict";m();c();p();d();f();Ol={},Ml={existsSync:wl,lstatSync:Li,statSync:bl,readdirSync:El,readdir:xl,readlinkSync:Pl,realpathSync:vl,chmodSync:Tl,renameSync:Cl,mkdirSync:Al,rmdirSync:Sl,rmSync:Rl,unlinkSync:kl,promises:Ol},or=Ml});function Fl(...e){return e.join("/")}function Il(...e){return e.join("/")}function _l(e){let t=Ni(e),r=Di(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Ni(e){let t=e.split("/");return t[t.length-1]}function Di(e){return e.split("/").slice(0,-1).join("/")}var qi,Ll,Nl,Oe,dn=ge(()=>{"use strict";m();c();p();d();f();qi="/",Ll={sep:qi},Nl={basename:Ni,dirname:Di,join:Il,parse:_l,posix:Ll,resolve:Fl,sep:qi},Oe=Nl});var $i=Ae((Ff,Dl)=>{Dl.exports={name:"@prisma/internals",version:"6.7.0",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.4.7",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-engine-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Bi=Ae((Gf,ji)=>{"use strict";m();c();p();d();f();ji.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var Ji=Ae((um,Gi)=>{"use strict";m();c();p();d();f();Gi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Hi=Ae((xm,Ki)=>{"use strict";m();c();p();d();f();Ki.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var yn=Ae((Sm,zi)=>{"use strict";m();c();p();d();f();var Gl=Hi();zi.exports=e=>typeof e=="string"?e.replace(Gl(),""):e});var Yi=Ae((Zm,ar)=>{"use strict";m();c();p();d();f();ar.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};ar.exports.default=ar.exports});var Sn=Ae((xb,xo)=>{"use strict";m();c();p();d();f();xo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";m();c();p();d();f()});var So=ge(()=>{"use strict";m();c();p();d();f()});var Yo=Ae((VP,Dc)=>{Dc.exports={name:"@prisma/engines-version",version:"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"3cff47a7f5d65c3ea74883f1d736e41d68ce91ed"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Nr,Zo=ge(()=>{"use strict";m();c();p();d();f();Nr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var rd={};Ze(rd,{DMMF:()=>Dt,Debug:()=>K,Decimal:()=>be,Extensions:()=>sn,MetricsClient:()=>wt,PrismaClientInitializationError:()=>V,PrismaClientKnownRequestError:()=>oe,PrismaClientRustPanicError:()=>ue,PrismaClientUnknownRequestError:()=>G,PrismaClientValidationError:()=>ee,Public:()=>an,Sql:()=>ae,createParam:()=>Vo,defineDmmfProperty:()=>Ho,deserializeJsonResponse:()=>at,deserializeRawResult:()=>Hr,dmmfToRuntimeDataModel:()=>ho,empty:()=>es,getPrismaClient:()=>ga,getRuntime:()=>Ms,join:()=>Xo,makeStrictEnum:()=>ha,makeTypedQueryFactory:()=>zo,objectEnumValues:()=>Ar,raw:()=>Nn,serializeJsonQuery:()=>Ir,skip:()=>Fr,sqltag:()=>Dn,warnEnvConflicts:()=>void 0,warnOnce:()=>_t});module.exports=va(rd);m();c();p();d();f();var sn={};Ze(sn,{defineExtension:()=>vi,getExtensionContext:()=>Ti});m();c();p();d();f();m();c();p();d();f();function vi(e){return typeof e=="function"?e:t=>t.$extends(e)}m();c();p();d();f();function Ti(e){return e}var an={};Ze(an,{validator:()=>Ci});m();c();p();d();f();m();c();p();d();f();function Ci(...e){return t=>t}m();c();p();d();f();m();c();p();d();f();var ir={};Ze(ir,{$:()=>Oi,bgBlack:()=>sl,bgBlue:()=>cl,bgCyan:()=>dl,bgGreen:()=>ll,bgMagenta:()=>pl,bgRed:()=>al,bgWhite:()=>fl,bgYellow:()=>ul,black:()=>rl,blue:()=>Je,bold:()=>pe,cyan:()=>ke,dim:()=>Ct,gray:()=>kt,green:()=>St,grey:()=>ol,hidden:()=>el,inverse:()=>Xa,italic:()=>Za,magenta:()=>nl,red:()=>Ge,reset:()=>Ya,strikethrough:()=>tl,underline:()=>At,white:()=>il,yellow:()=>Rt});m();c();p();d();f();var ln,Ai,Si,Ri,ki=!0;typeof y<"u"&&({FORCE_COLOR:ln,NODE_DISABLE_COLORS:Ai,NO_COLOR:Si,TERM:Ri}=y.env||{},ki=y.stdout&&y.stdout.isTTY);var Oi={enabled:!Ai&&Si==null&&Ri!=="dumb"&&(ln!=null&&ln!=="0"||ki)};function U(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!Oi.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Ya=U(0,0),pe=U(1,22),Ct=U(2,22),Za=U(3,23),At=U(4,24),Xa=U(7,27),el=U(8,28),tl=U(9,29),rl=U(30,39),Ge=U(31,39),St=U(32,39),Rt=U(33,39),Je=U(34,39),nl=U(35,39),ke=U(36,39),il=U(37,39),kt=U(90,39),ol=U(90,39),sl=U(40,49),al=U(41,49),ll=U(42,49),ul=U(43,49),cl=U(44,49),pl=U(45,49),dl=U(46,49),fl=U(47,49);m();c();p();d();f();var ml=100,Mi=["green","yellow","blue","magenta","cyan","red"],Ot=[],Fi=Date.now(),gl=0,un=typeof y<"u"?y.env:{};globalThis.DEBUG??=un.DEBUG??"";globalThis.DEBUG_COLORS??=un.DEBUG_COLORS?un.DEBUG_COLORS==="true":!0;var Mt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function hl(e){let t={color:Mi[gl++%Mi.length],enabled:Mt.enabled(e),namespace:e,log:Mt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&Ot.push([o,...n]),Ot.length>ml&&Ot.shift(),Mt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:yl(g)),u=`+${Date.now()-Fi}ms`;Fi=Date.now(),globalThis.DEBUG_COLORS?a(ir[s](pe(o)),...l,ir[s](u)):a(o,...l,u)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var K=new Proxy(hl,{get:(e,t)=>Mt[t],set:(e,t,r)=>Mt[t]=r});function yl(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Ii(e=7500){let t=Ot.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` -`);return t.lengthVl,info:()=>Ul,log:()=>Bl,query:()=>Ql,should:()=>Wi,tags:()=>Ft,warn:()=>hn});m();c();p();d();f();var Ft={error:Ge("prisma:error"),warn:Rt("prisma:warn"),info:ke("prisma:info"),query:Je("prisma:query")},Wi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function Bl(...e){console.log(...e)}function hn(e,...t){Wi.warn()&&console.warn(`${Ft.warn} ${e}`,...t)}function Ul(e,...t){console.info(`${Ft.info} ${e}`,...t)}function Vl(e,...t){console.error(`${Ft.error} ${e}`,...t)}function Ql(e,...t){console.log(`${Ft.query} ${e}`,...t)}m();c();p();d();f();function sr(e,t){if(!e)throw new Error(`${t}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}m();c();p();d();f();function Me(e,t){throw new Error(t)}m();c();p();d();f();dn();function wn(e){return Oe.sep===Oe.posix.sep?e:e.split(Oe.sep).join(Oe.posix.sep)}m();c();p();d();f();function bn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}m();c();p();d();f();function it(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}m();c();p();d();f();function En(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{Zi.has(e)||(Zi.add(e),hn(t,...r))};var V=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};le(V,"PrismaClientInitializationError");m();c();p();d();f();var oe=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};le(oe,"PrismaClientKnownRequestError");m();c();p();d();f();var ue=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};le(ue,"PrismaClientRustPanicError");m();c();p();d();f();var G=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};le(G,"PrismaClientUnknownRequestError");m();c();p();d();f();var ee=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};le(ee,"PrismaClientValidationError");m();c();p();d();f();m();c();p();d();f();var ot=9e15,$e=1e9,xn="0123456789abcdef",cr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",pr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Pn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ot,maxE:ot,crypto:!1},no,Fe,_=!0,fr="[DecimalError] ",qe=fr+"Invalid argument: ",io=fr+"Precision limit exceeded",oo=fr+"crypto unavailable",so="[object Decimal]",te=Math.floor,J=Math.pow,Jl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Wl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Kl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ao=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,de=1e7,F=7,Hl=9007199254740991,zl=cr.length-1,vn=pr.length-1,S={toStringTag:so};S.absoluteValue=S.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),O(e)};S.ceil=function(){return O(new this.constructor(this),this.e+1,2)};S.clampedTo=S.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(qe+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};S.comparedTo=S.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};S.cosine=S.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+F,n.rounding=1,r=Yl(n,fo(n,r)),n.precision=e,n.rounding=t,O(Fe==2||Fe==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};S.cubeRoot=S.cbrt=function(){var e,t,r,n,i,o,s,a,l,u,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=Y(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=te((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(g),n=j(u.plus(g).times(a),u.plus(l),s+2,1),Y(a.d).slice(0,s)===(r=Y(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(O(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(O(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,O(n,e,h.rounding,t)};S.decimalPlaces=S.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-te(this.e/F))*F,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};S.dividedBy=S.div=function(e){return j(this,new this.constructor(e))};S.dividedToIntegerBy=S.divToInt=function(e){var t=this,r=t.constructor;return O(j(t,new r(e),0,1,1),r.precision,r.rounding)};S.equals=S.eq=function(e){return this.cmp(e)===0};S.floor=function(){return O(new this.constructor(this),this.e+1,3)};S.greaterThan=S.gt=function(e){return this.cmp(e)>0};S.greaterThanOrEqualTo=S.gte=function(e){var t=this.cmp(e);return t==1||t===0};S.hyperbolicCosine=S.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/gr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=st(s,1,o.times(t),new s(1),!0);for(var l,u=e,g=new s(8);u--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return O(o,s.precision=r,s.rounding=n,!0)};S.hyperbolicSine=S.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=st(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/gr(5,e)),i=st(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=t,o.rounding=r,O(i,t,r,!0)};S.hyperbolicTangent=S.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,j(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};S.inverseCosine=S.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?ye(t,n,i):new t(0):new t(NaN):e.isZero()?ye(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};S.inverseHyperbolicCosine=S.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};S.inverseHyperbolicSine=S.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};S.inverseHyperbolicTangent=S.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?O(new o(i),e,t,!0):(o.precision=r=n-i.e,i=j(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};S.inverseSine=S.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=ye(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};S.inverseTangent=S.atan=function(){var e,t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,v=g.rounding;if(u.isFinite()){if(u.isZero())return new g(u);if(u.abs().eq(1)&&h+4<=vn)return s=ye(g,h+4,v).times(.25),s.s=u.s,s}else{if(!u.s)return new g(NaN);if(h+4<=vn)return s=ye(g,h+4,v).times(.5),s.s=u.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/F+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/F),n=1,l=u.times(u),s=new g(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};S.isNaN=function(){return!this.s};S.isNegative=S.isNeg=function(){return this.s<0};S.isPositive=S.isPos=function(){return this.s>0};S.isZero=function(){return!!this.d&&this.d[0]===0};S.lessThan=S.lt=function(e){return this.cmp(e)<0};S.lessThanOrEqualTo=S.lte=function(e){return this.cmp(e)<1};S.logarithm=S.log=function(e){var t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,v=g.rounding,R=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new g(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+R,s=De(u,a),n=t?dr(g,a+10):De(e,a),l=j(s,n,a,1),Lt(l.d,i=h,v))do if(a+=10,s=De(u,a),n=t?dr(g,a+10):De(e,a),l=j(s,n,a,1),!o){+Y(l.d).slice(i+1,i+15)+1==1e14&&(l=O(l,h+1,0));break}while(Lt(l.d,i+=10,v));return _=!0,O(l,h,v)};S.minus=S.sub=function(e){var t,r,n,i,o,s,a,l,u,g,h,v,R=this,C=R.constructor;if(e=new C(e),!R.d||!e.d)return!R.s||!e.s?e=new C(NaN):R.d?e.s=-e.s:e=new C(e.d||R.s!==e.s?R:NaN),e;if(R.s!=e.s)return e.s=-e.s,R.plus(e);if(u=R.d,v=e.d,a=C.precision,l=C.rounding,!u[0]||!v[0]){if(v[0])e.s=-e.s;else if(u[0])e=new C(R);else return new C(l===3?-0:0);return _?O(e,a,l):e}if(r=te(e.e/F),g=te(R.e/F),u=u.slice(),o=g-r,o){for(h=o<0,h?(t=u,o=-o,s=v.length):(t=v,r=g,s=u.length),n=Math.max(Math.ceil(a/F),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=v.length,h=n0;--n)u[s++]=0;for(n=v.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=u.length,i=g.length,s-i<0&&(i=s,r=g,g=u,u=r),t=0;i;)t=(u[--i]=u[i]+g[i]+t)/de|0,u[i]%=de;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=mr(u,n),_?O(e,a,l):e};S.precision=S.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(qe+e);return r.d?(t=lo(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};S.round=function(){var e=this,t=e.constructor;return O(new t(e),e.e+1,t.rounding)};S.sine=S.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+F,n.rounding=1,r=Xl(n,fo(n,r)),n.precision=e,n.rounding=t,O(Fe>2?r.neg():r,e,t,!0)):new n(NaN)};S.squareRoot=S.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,u=s.s,g=s.constructor;if(u!==1||!a||!a[0])return new g(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=Y(a),(t.length+l)%2==0&&(t+="0"),u=Math.sqrt(t),l=te((l+1)/2)-(l<0||l%2),u==1/0?t="5e"+l:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(u.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(j(s,o,r+2,1)).times(.5),Y(o.d).slice(0,r)===(t=Y(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(O(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(O(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,O(n,l,g.rounding,e)};S.tangent=S.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=j(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,O(Fe==2||Fe==4?r.neg():r,e,t,!0)):new n(NaN)};S.times=S.mul=function(e){var t,r,n,i,o,s,a,l,u,g=this,h=g.constructor,v=g.d,R=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!R||!R[0])return new h(!e.s||v&&!v[0]&&!R||R&&!R[0]&&!v?NaN:!v||!R?e.s/0:e.s*0);for(r=te(g.e/F)+te(e.e/F),l=v.length,u=R.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+R[n]*v[i-n-1]+t,o[i--]=a%de|0,t=a/de|0;o[i]=(o[i]+t)%de|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=mr(o,r),_?O(e,h.precision,h.rounding):e};S.toBinary=function(e,t){return Cn(this,2,e,t)};S.toDecimalPlaces=S.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(se(e,0,$e),t===void 0?t=n.rounding:se(t,0,8),O(r,e+r.e+1,t))};S.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=we(n,!0):(se(e,0,$e),t===void 0?t=i.rounding:se(t,0,8),n=O(new i(n),e+1,t),r=we(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};S.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=we(i):(se(e,0,$e),t===void 0?t=o.rounding:se(t,0,8),n=O(new o(i),e+i.e+1,t),r=we(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};S.toFraction=function(e){var t,r,n,i,o,s,a,l,u,g,h,v,R=this,C=R.d,A=R.constructor;if(!C)return new A(R);if(u=r=new A(1),n=l=new A(0),t=new A(n),o=t.e=lo(C)-R.e-1,s=o%F,t.d[0]=J(10,s<0?F+s:s),e==null)e=o>0?t:u;else{if(a=new A(e),!a.isInt()||a.lt(u))throw Error(qe+a);e=a.gt(t)?o>0?t:u:a}for(_=!1,a=new A(Y(C)),g=A.precision,A.precision=o=C.length*F*2;h=j(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=j(e.minus(r),n,0,1,1),l=l.plus(i.times(u)),r=r.plus(i.times(n)),l.s=u.s=R.s,v=j(u,n,o,1).minus(R).abs().cmp(j(l,r,o,1).minus(R).abs())<1?[u,n]:[l,r],A.precision=g,_=!0,v};S.toHexadecimal=S.toHex=function(e,t){return Cn(this,16,e,t)};S.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:se(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=j(r,e,0,t,1).times(e),_=!0,O(r)):(e.s=r.s,r=e),r};S.toNumber=function(){return+this};S.toOctal=function(e,t){return Cn(this,8,e,t)};S.toPower=S.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return O(a,n,o);if(t=te(e.e/F),t>=e.d.length-1&&(r=u<0?-u:u)<=Hl)return i=uo(l,a,r,n),e.s<0?new l(1).div(i):O(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Tn(e.times(De(a,n+r)),n),i.d&&(i=O(i,n+5,1),Lt(i.d,n,o)&&(t=n+10,i=O(Tn(e.times(De(a,t+r)),t),t+5,1),+Y(i.d).slice(n+1,n+15)+1==1e14&&(i=O(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,O(i,n,o))};S.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=we(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(se(e,1,$e),t===void 0?t=i.rounding:se(t,0,8),n=O(new i(n),e,t),r=we(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};S.toSignificantDigits=S.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(se(e,1,$e),t===void 0?t=n.rounding:se(t,0,8)),O(new n(r),e,t)};S.toString=function(){var e=this,t=e.constructor,r=we(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};S.truncated=S.trunc=function(){return O(new this.constructor(this),this.e+1,1)};S.valueOf=S.toJSON=function(){var e=this,t=e.constructor,r=we(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function Y(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(qe+e)}function Lt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=F,i=0):(i=Math.ceil((t+1)/F),t%=F),o=J(10,F-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function lr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Yl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/gr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=st(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var j=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,g,h,v,R,C,A,M,I,L,k,D,z,B,vt,Q,ne,Ce,Z,Ye,er=n.constructor,Yr=n.s==i.s?1:-1,X=n.d,$=i.d;if(!X||!X[0]||!$||!$[0])return new er(!n.s||!i.s||(X?$&&X[0]==$[0]:!$)?NaN:X&&X[0]==0||!$?Yr*0:Yr/0);for(l?(R=1,g=n.e-i.e):(l=de,R=F,g=te(n.e/R)-te(i.e/R)),Z=$.length,ne=X.length,I=new er(Yr),L=I.d=[],h=0;$[h]==(X[h]||0);h++);if($[h]>(X[h]||0)&&g--,o==null?(B=o=er.precision,s=er.rounding):a?B=o+(n.e-i.e)+1:B=o,B<0)L.push(1),C=!0;else{if(B=B/R+2|0,h=0,Z==1){for(v=0,$=$[0],B++;(h1&&($=e($,v,l),X=e(X,v,l),Z=$.length,ne=X.length),Q=Z,k=X.slice(0,Z),D=k.length;D=l/2&&++Ce;do v=0,u=t($,k,Z,D),u<0?(z=k[0],Z!=D&&(z=z*l+(k[1]||0)),v=z/Ce|0,v>1?(v>=l&&(v=l-1),A=e($,v,l),M=A.length,D=k.length,u=t(A,k,M,D),u==1&&(v--,r(A,Z=10;v/=10)h++;I.e=h+g*R-1,O(I,a?o+I.e+1:o,s,C)}return I}}();function O(e,t,r,n){var i,o,s,a,l,u,g,h,v,R=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=F,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/F),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=F,s=o-F+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=F,s=o-F+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),u=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,u?(t-=e.e+1,h[0]=J(10,(F-t%F)%F),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,F-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),u)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==de&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=de)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>R.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Ne(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Ne(-i-1)+o,r&&(n=r-s)>0&&(o+=Ne(n))):i>=s?(o+=Ne(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Ne(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Ne(n))),o}function mr(e,t){var r=e[0];for(t*=F;r>=10;r/=10)t++;return t}function dr(e,t,r){if(t>zl)throw _=!0,r&&(e.precision=r),Error(io);return O(new e(cr),t,1,!0)}function ye(e,t,r){if(t>vn)throw Error(io);return O(new e(pr),t,r,!0)}function lo(e){var t=e.length-1,r=t*F+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Ne(e){for(var t="";e--;)t+="0";return t}function uo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/F+4);for(_=!1;;){if(r%2&&(o=o.times(t),to(o.d,s)&&(i=!0)),r=te(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),to(t.d,s)}return _=!0,o}function eo(e){return e.d[e.d.length-1]&1}function co(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=C):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=O(o.times(e),l,1),r=r.times(++g),a=s.plus(j(o,r,l,1)),Y(a.d).slice(0,l)===Y(s.d).slice(0,l)){for(i=h;i--;)s=O(s.times(s),l,1);if(t==null)if(u<3&&Lt(s.d,l-n,R,u))v.precision=l+=10,r=o=a=new v(1),g=0,u++;else return O(s,v.precision=C,R,_=!0);else return v.precision=C,s}s=a}}function De(e,t){var r,n,i,o,s,a,l,u,g,h,v,R=1,C=10,A=e,M=A.d,I=A.constructor,L=I.rounding,k=I.precision;if(A.s<0||!M||!M[0]||!A.e&&M[0]==1&&M.length==1)return new I(M&&!M[0]?-1/0:A.s!=1?NaN:M?0:A);if(t==null?(_=!1,g=k):g=t,I.precision=g+=C,r=Y(M),n=r.charAt(0),Math.abs(o=A.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)A=A.times(e),r=Y(A.d),n=r.charAt(0),R++;o=A.e,n>1?(A=new I("0."+r),o++):A=new I(n+"."+r.slice(1))}else return u=dr(I,g+2,k).times(o+""),A=De(new I(n+"."+r.slice(1)),g-C).plus(u),I.precision=k,t==null?O(A,k,L,_=!0):A;for(h=A,l=s=A=j(A.minus(1),A.plus(1),g,1),v=O(A.times(A),g,1),i=3;;){if(s=O(s.times(v),g,1),u=l.plus(j(s,new I(i),g,1)),Y(u.d).slice(0,g)===Y(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(dr(I,g+2,k).times(o+""))),l=j(l,new I(R),g,1),t==null)if(Lt(l.d,g-C,L,a))I.precision=g+=C,u=s=A=j(h.minus(1),h.plus(1),g,1),v=O(A.times(A),g,1),i=a=1;else return O(l,I.precision=k,L,_=!0);else return I.precision=k,l;l=u,i+=2}}function po(e){return String(e.s*e.s/0)}function ur(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%F,r<0&&(n+=F),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),ao.test(t))return ur(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Wl.test(t))r=16,t=t.toLowerCase();else if(Jl.test(t))r=2;else if(Kl.test(t))r=8;else throw Error(qe+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=uo(n,new n(r),o,o*2)),u=lr(t,r,de),g=u.length-1,o=g;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=mr(u,g),e.d=u,_=!1,s&&(e=j(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):We.pow(2,l))),_=!0,e)}function Xl(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:st(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/gr(5,r)),t=st(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function st(e,t,r,n,i){var o,s,a,l,u=1,g=e.precision,h=Math.ceil(g/F);for(_=!1,l=r.times(r),a=new e(n);;){if(s=j(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=j(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return _=!0,s.d.length=h+1,s}function gr(e,t){for(var r=e;--t;)r*=e;return r}function fo(e,t){var r,n=t.s<0,i=ye(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Fe=n?4:1,t;if(r=t.divToInt(i),r.isZero())Fe=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Fe=eo(r)?n?2:3:n?4:1,t;Fe=eo(r)?n?1:4:n?3:2}return t.minus(i).abs()}function Cn(e,t,r,n){var i,o,s,a,l,u,g,h,v,R=e.constructor,C=r!==void 0;if(C?(se(r,1,$e),n===void 0?n=R.rounding:se(n,0,8)):(r=R.precision,n=R.rounding),!e.isFinite())g=po(e);else{for(g=we(e),s=g.indexOf("."),C?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new R(1),v.e=g.length-s,v.d=lr(we(v),10,i),v.e=v.d.length),h=lr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=C?"0p+0":"0";else{if(s<0?o--:(e=new R(e),e.d=h,e.e=o,e=j(e,v,r,n,0,i),h=e.d,o=e.e,u=no),s=h[r],a=i/2,u=u||h[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,u)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=lr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function eu(e){return new this(e).abs()}function tu(e){return new this(e).acos()}function ru(e){return new this(e).acosh()}function nu(e,t){return new this(e).plus(t)}function iu(e){return new this(e).asin()}function ou(e){return new this(e).asinh()}function su(e){return new this(e).atan()}function au(e){return new this(e).atanh()}function lu(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=ye(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?ye(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=ye(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(j(e,t,o,1)),t=ye(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(j(e,t,o,1)),r}function uu(e){return new this(e).cbrt()}function cu(e){return O(e=new this(e),e.e+1,2)}function pu(e,t,r){return new this(e).clamp(t,r)}function du(e){if(!e||typeof e!="object")throw Error(fr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,$e,"rounding",0,8,"toExpNeg",-ot,0,"toExpPos",0,ot,"maxE",0,ot,"minE",-ot,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(qe+r+": "+n);if(r="crypto",i&&(this[r]=Pn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(oo);else this[r]=!1;else throw Error(qe+r+": "+n);return this}function fu(e){return new this(e).cos()}function mu(e){return new this(e).cosh()}function mo(e){var t,r,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,ro(o)){u.s=o.s,_?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(oo);else for(;o=10;i/=10)n++;nct,datamodelEnumToSchemaEnum:()=>Bu});m();c();p();d();f();m();c();p();d();f();function Bu(e){return{name:e.name,values:e.values.map(t=>t.name)}}m();c();p();d();f();var ct=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(ct||{});var Eo=Se(Ji());m();c();p();d();f();cn();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var yo={keyword:ke,entity:ke,value:e=>pe(Je(e)),punctuation:Je,directive:ke,function:ke,variable:e=>pe(Je(e)),string:e=>pe(St(e)),boolean:Rt,number:ke,comment:kt};var Uu=e=>e,yr={},Vu=0,N={manual:yr.Prism&&yr.Prism.manual,disableWorkerMessageHandler:yr.Prism&&yr.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof fe){let t=e;return new fe(t.type,N.util.encode(t.content),t.alias)}else return Array.isArray(e)?e.map(N.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ce instanceof fe)continue;if(z&&Q!=t.length-1){L.lastIndex=ne;var h=L.exec(e);if(!h)break;var g=h.index+(D?h[1].length:0),v=h.index+h[0].length,a=Q,l=ne;for(let $=t.length;a<$&&(l=l&&(++Q,ne=l);if(t[Q]instanceof fe)continue;u=a-Q,Ce=e.slice(ne,l),h.index-=ne}else{L.lastIndex=0;var h=L.exec(Ce),u=1}if(!h){if(o)break;continue}D&&(B=h[1]?h[1].length:0);var g=h.index+B,h=h[0].slice(B),v=g+h.length,R=Ce.slice(0,g),C=Ce.slice(v);let Z=[Q,u];R&&(++Q,ne+=R.length,Z.push(R));let Ye=new fe(A,k?N.tokenize(h,k):h,vt,h,z);if(Z.push(Ye),C&&Z.push(C),Array.prototype.splice.apply(t,Z),u!=1&&N.matchGrammar(e,t,r,Q,ne,!0,A),o)break}}}},tokenize:function(e,t){let r=[e],n=t.rest;if(n){for(let i in n)t[i]=n[i];delete t.rest}return N.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){let r=N.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){let r=N.hooks.all[e];if(!(!r||!r.length))for(var n=0,i;i=r[n++];)i(t)}},Token:fe};N.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};N.languages.javascript=N.languages.extend("clike",{"class-name":[N.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});N.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;N.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:N.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:N.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:N.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:N.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});N.languages.markup&&N.languages.markup.tag.addInlined("script","javascript");N.languages.js=N.languages.javascript;N.languages.typescript=N.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});N.languages.ts=N.languages.typescript;function fe(e,t,r,n,i){this.type=e,this.content=t,this.alias=r,this.length=(n||"").length|0,this.greedy=!!i}fe.stringify=function(e,t){return typeof e=="string"?e:Array.isArray(e)?e.map(function(r){return fe.stringify(r,t)}).join(""):Qu(e.type)(e.content)};function Qu(e){return yo[e]||Uu}function wo(e){return Gu(e,N.languages.javascript)}function Gu(e,t){return N.tokenize(e,t).map(n=>fe.stringify(n)).join("")}m();c();p();d();f();function bo(e){return mn(e)}var wr=class e{firstLineNumber;lines;static read(t){let r;try{r=or.readFileSync(t,"utf-8")}catch{return null}return e.fromContent(r)}static fromContent(t){let r=t.split(/\r?\n/);return new e(1,r)}constructor(t,r){this.firstLineNumber=t,this.lines=r}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(t,r){if(tthis.lines.length+this.firstLineNumber)return this;let n=t-this.firstLineNumber,i=[...this.lines];return i[n]=r(i[n]),new e(this.firstLineNumber,i)}mapLines(t){return new e(this.firstLineNumber,this.lines.map((r,n)=>t(r,this.firstLineNumber+n)))}lineAt(t){return this.lines[t-this.firstLineNumber]}prependSymbolAt(t,r){return this.mapLines((n,i)=>i===t?`${r} ${n}`:` ${n}`)}slice(t,r){let n=this.lines.slice(t-1,r).join(` +"use strict";var wa=Object.create;var tr=Object.defineProperty;var ba=Object.getOwnPropertyDescriptor;var Ea=Object.getOwnPropertyNames;var xa=Object.getPrototypeOf,Pa=Object.prototype.hasOwnProperty;var he=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ze=(e,t)=>{for(var r in t)tr(e,r,{get:t[r],enumerable:!0})},ni=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ea(t))!Pa.call(e,i)&&i!==r&&tr(e,i,{get:()=>t[i],enumerable:!(n=ba(t,i))||n.enumerable});return e};var Se=(e,t,r)=>(r=e!=null?wa(xa(e)):{},ni(t||!e||!e.__esModule?tr(r,"default",{value:e,enumerable:!0}):r,e)),va=e=>ni(tr({},"__esModule",{value:!0}),e);var y,c=he(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var x,p=he(()=>{"use strict";x=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,d=he(()=>{"use strict";E=()=>{};E.prototype=E});var b,f=he(()=>{"use strict";b=class{value;constructor(t){this.value=t}deref(){return this.value}}});var Pi=Ae(rt=>{"use strict";m();c();p();d();f();var li=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ta=li(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=R;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var M=C.indexOf("=");M===-1&&(M=A);var I=M===A?0:4-M%4;return[M,I]}function l(C){var A=a(C),M=A[0],I=A[1];return(M+I)*3/4-I}function u(C,A,M){return(A+M)*3/4-M}function g(C){var A,M=a(C),I=M[0],L=M[1],k=new n(u(C,I,L)),D=0,z=L>0?I-4:I,B;for(B=0;B>16&255,k[D++]=A>>8&255,k[D++]=A&255;return L===2&&(A=r[C.charCodeAt(B)]<<2|r[C.charCodeAt(B+1)]>>4,k[D++]=A&255),L===1&&(A=r[C.charCodeAt(B)]<<10|r[C.charCodeAt(B+1)]<<4|r[C.charCodeAt(B+2)]>>2,k[D++]=A>>8&255,k[D++]=A&255),k}function h(C){return t[C>>18&63]+t[C>>12&63]+t[C>>6&63]+t[C&63]}function v(C,A,M){for(var I,L=[],k=A;kz?z:D+k));return I===1?(A=C[M-1],L.push(t[A>>2]+t[A<<4&63]+"==")):I===2&&(A=(C[M-2]<<8)+C[M-1],L.push(t[A>>10]+t[A>>4&63]+t[A<<2&63]+"=")),L.join("")}}),Ca=li(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,u=(1<>1,h=-7,v=n?o-1:0,R=n?-1:1,C=t[r+v];for(v+=R,s=C&(1<<-h)-1,C>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=R,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=R,h-=8);if(s===0)s=1-g;else{if(s===u)return a?NaN:(C?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(C?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,u,g=s*8-o-1,h=(1<>1,R=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:s-1,A=i?1:-1,M=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(u=Math.pow(2,-a))<1&&(a--,u*=2),a+v>=1?r+=R/u:r+=R*Math.pow(2,1-v),r*u>=2&&(a++,u/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*u-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+C]=l&255,C+=A,l/=256,o-=8);for(a=a<0;t[n+C]=a&255,C+=A,a/=256,g-=8);t[n+C-A]|=M*128}}),Zr=Ta(),et=Ca(),ii=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;rt.Buffer=T;rt.SlowBuffer=Ma;rt.INSPECT_MAX_BYTES=50;var rr=2147483647;rt.kMaxLength=rr;T.TYPED_ARRAY_SUPPORT=Aa();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Aa(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function Re(e){if(e>rr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return tn(e)}return ui(e,t,r)}T.poolSize=8192;function ui(e,t,r){if(typeof e=="string")return Ra(e,t);if(ArrayBuffer.isView(e))return ka(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(ye(e,ArrayBuffer)||e&&ye(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ye(e,SharedArrayBuffer)||e&&ye(e.buffer,SharedArrayBuffer)))return pi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=Oa(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return ui(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function ci(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Sa(e,t,r){return ci(e),e<=0?Re(e):t!==void 0?typeof r=="string"?Re(e).fill(t,r):Re(e).fill(t):Re(e)}T.alloc=function(e,t,r){return Sa(e,t,r)};function tn(e){return ci(e),Re(e<0?0:rn(e)|0)}T.allocUnsafe=function(e){return tn(e)};T.allocUnsafeSlow=function(e){return tn(e)};function Ra(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=di(e,t)|0,n=Re(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function Xr(e){let t=e.length<0?0:rn(e.length)|0,r=Re(t);for(let n=0;n=rr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+rr.toString(16)+" bytes");return e|0}function Ma(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(ye(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),ye(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function di(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||ye(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return en(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return xi(e).length;default:if(i)return n?-1:en(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=di;function Fa(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ua(this,t,r);case"utf8":case"utf-8":return mi(this,t,r);case"ascii":return ja(this,t,r);case"latin1":case"binary":return Ba(this,t,r);case"base64":return qa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Va(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Qe(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ii&&(T.prototype[ii]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(ye(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),u=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,on(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:oi(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):oi(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function oi(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let u;if(i){let g=-1;for(u=r;us&&(r=s-a),u=r;u>=0;u--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Ia(this,e,t,r);case"utf8":case"utf-8":return _a(this,e,t,r);case"ascii":case"latin1":case"binary":return La(this,e,t,r);case"base64":return Na(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Da(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function qa(e,t,r){return t===0&&r===e.length?Zr.fromByteArray(e):Zr.fromByteArray(e.slice(t,r))}function mi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,u,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(h=(o&15)<<12|(l&63)<<6|u&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],u=e[i+2],g=e[i+3],(l&192)===128&&(u&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(u&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return $a(n)}var si=4096;function $a(e){let t=e.length;if(t<=si)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Le(function(e){e=e>>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Le(function(e){e=e>>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),et.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),et.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),et.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),et.read(this,e,!1,52,8)};function ie(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;ie(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;ie(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function gi(e,t,r,n,i){Ei(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function hi(e,t,r,n,i){Ei(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Le(function(e,t=0){return gi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Le(function(e,t=0){return hi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);ie(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);ie(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Le(function(e,t=0){return gi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Le(function(e,t=0){return hi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function yi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function wi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,4,34028234663852886e22,-34028234663852886e22),et.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return wi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return wi(this,e,t,!1,r)};function bi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,8,17976931348623157e292,-17976931348623157e292),et.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return bi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return bi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ai(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ai(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ai(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Qa(e,t,r){tt(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Tt(t,e.length-(r+1))}function Ei(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Xe.ERR_OUT_OF_RANGE("value",a,e)}Qa(n,i,o)}function tt(e,t){if(typeof e!="number")throw new Xe.ERR_INVALID_ARG_TYPE(t,"number",e)}function Tt(e,t,r){throw Math.floor(e)!==e?(tt(e,r),new Xe.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Xe.ERR_BUFFER_OUT_OF_BOUNDS:new Xe.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Ga=/[^+/0-9A-Za-z-_]/g;function Ja(e){if(e=e.split("=")[0],e=e.trim().replace(Ga,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function en(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Wa(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function xi(e){return Zr.toByteArray(Ja(e))}function nr(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function ye(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function on(e){return e!==e}var Ha=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Le(e){return typeof BigInt>"u"?za:e}function za(){throw new Error("BigInt not supported")}});var w,m=he(()=>{"use strict";w=Se(Pi())});function wl(){return!1}function Li(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function bl(){return Li()}function El(){return[]}function xl(e){e(null,[])}function Pl(){return""}function vl(){return""}function Tl(){}function Cl(){}function Al(){}function Sl(){}function Rl(){}function kl(){}var Ol,Ml,or,cn=he(()=>{"use strict";m();c();p();d();f();Ol={},Ml={existsSync:wl,lstatSync:Li,statSync:bl,readdirSync:El,readdir:xl,readlinkSync:Pl,realpathSync:vl,chmodSync:Tl,renameSync:Cl,mkdirSync:Al,rmdirSync:Sl,rmSync:Rl,unlinkSync:kl,promises:Ol},or=Ml});function Fl(...e){return e.join("/")}function Il(...e){return e.join("/")}function _l(e){let t=Ni(e),r=Di(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Ni(e){let t=e.split("/");return t[t.length-1]}function Di(e){return e.split("/").slice(0,-1).join("/")}var qi,Ll,Nl,Oe,dn=he(()=>{"use strict";m();c();p();d();f();qi="/",Ll={sep:qi},Nl={basename:Ni,dirname:Di,join:Il,parse:_l,posix:Ll,resolve:Fl,sep:qi},Oe=Nl});var $i=Ae((Ff,Dl)=>{Dl.exports={name:"@prisma/internals",version:"6.8.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-engine-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Bi=Ae((Gf,ji)=>{"use strict";m();c();p();d();f();ji.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var Ji=Ae((um,Gi)=>{"use strict";m();c();p();d();f();Gi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Hi=Ae((xm,Ki)=>{"use strict";m();c();p();d();f();Ki.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var yn=Ae((Sm,zi)=>{"use strict";m();c();p();d();f();var Gl=Hi();zi.exports=e=>typeof e=="string"?e.replace(Gl(),""):e});var Yi=Ae((Zm,ar)=>{"use strict";m();c();p();d();f();ar.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};ar.exports.default=ar.exports});var Sn=Ae((Pb,xo)=>{"use strict";m();c();p();d();f();xo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";m();c();p();d();f()});var So=he(()=>{"use strict";m();c();p();d();f()});var Yo=Ae((QP,Dc)=>{Dc.exports={name:"@prisma/engines-version",version:"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"2060c79ba17c6bb9f5823312b6f6b7f4a845738e"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Nr,Zo=he(()=>{"use strict";m();c();p();d();f();Nr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var rd={};Ze(rd,{DMMF:()=>Dt,Debug:()=>K,Decimal:()=>fe,Extensions:()=>sn,MetricsClient:()=>wt,PrismaClientInitializationError:()=>V,PrismaClientKnownRequestError:()=>oe,PrismaClientRustPanicError:()=>ue,PrismaClientUnknownRequestError:()=>G,PrismaClientValidationError:()=>ee,Public:()=>an,Sql:()=>ae,createParam:()=>Vo,defineDmmfProperty:()=>Ho,deserializeJsonResponse:()=>at,deserializeRawResult:()=>Hr,dmmfToRuntimeDataModel:()=>ho,empty:()=>es,getPrismaClient:()=>ga,getRuntime:()=>Ms,join:()=>Xo,makeStrictEnum:()=>ha,makeTypedQueryFactory:()=>zo,objectEnumValues:()=>Ar,raw:()=>Nn,serializeJsonQuery:()=>Ir,skip:()=>Fr,sqltag:()=>Dn,warnEnvConflicts:()=>void 0,warnOnce:()=>_t});module.exports=va(rd);m();c();p();d();f();var sn={};Ze(sn,{defineExtension:()=>vi,getExtensionContext:()=>Ti});m();c();p();d();f();m();c();p();d();f();function vi(e){return typeof e=="function"?e:t=>t.$extends(e)}m();c();p();d();f();function Ti(e){return e}var an={};Ze(an,{validator:()=>Ci});m();c();p();d();f();m();c();p();d();f();function Ci(...e){return t=>t}m();c();p();d();f();m();c();p();d();f();var ir={};Ze(ir,{$:()=>Oi,bgBlack:()=>sl,bgBlue:()=>cl,bgCyan:()=>dl,bgGreen:()=>ll,bgMagenta:()=>pl,bgRed:()=>al,bgWhite:()=>fl,bgYellow:()=>ul,black:()=>rl,blue:()=>Je,bold:()=>pe,cyan:()=>ke,dim:()=>Ct,gray:()=>kt,green:()=>St,grey:()=>ol,hidden:()=>el,inverse:()=>Xa,italic:()=>Za,magenta:()=>nl,red:()=>Ge,reset:()=>Ya,strikethrough:()=>tl,underline:()=>At,white:()=>il,yellow:()=>Rt});m();c();p();d();f();var ln,Ai,Si,Ri,ki=!0;typeof y<"u"&&({FORCE_COLOR:ln,NODE_DISABLE_COLORS:Ai,NO_COLOR:Si,TERM:Ri}=y.env||{},ki=y.stdout&&y.stdout.isTTY);var Oi={enabled:!Ai&&Si==null&&Ri!=="dumb"&&(ln!=null&&ln!=="0"||ki)};function U(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!Oi.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Ya=U(0,0),pe=U(1,22),Ct=U(2,22),Za=U(3,23),At=U(4,24),Xa=U(7,27),el=U(8,28),tl=U(9,29),rl=U(30,39),Ge=U(31,39),St=U(32,39),Rt=U(33,39),Je=U(34,39),nl=U(35,39),ke=U(36,39),il=U(37,39),kt=U(90,39),ol=U(90,39),sl=U(40,49),al=U(41,49),ll=U(42,49),ul=U(43,49),cl=U(44,49),pl=U(45,49),dl=U(46,49),fl=U(47,49);m();c();p();d();f();var ml=100,Mi=["green","yellow","blue","magenta","cyan","red"],Ot=[],Fi=Date.now(),gl=0,un=typeof y<"u"?y.env:{};globalThis.DEBUG??=un.DEBUG??"";globalThis.DEBUG_COLORS??=un.DEBUG_COLORS?un.DEBUG_COLORS==="true":!0;var Mt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function hl(e){let t={color:Mi[gl++%Mi.length],enabled:Mt.enabled(e),namespace:e,log:Mt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&Ot.push([o,...n]),Ot.length>ml&&Ot.shift(),Mt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:yl(g)),u=`+${Date.now()-Fi}ms`;Fi=Date.now(),globalThis.DEBUG_COLORS?a(ir[s](pe(o)),...l,ir[s](u)):a(o,...l,u)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var K=new Proxy(hl,{get:(e,t)=>Mt[t],set:(e,t,r)=>Mt[t]=r});function yl(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Ii(e=7500){let t=Ot.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return t.lengthVl,info:()=>Ul,log:()=>Bl,query:()=>Ql,should:()=>Wi,tags:()=>Ft,warn:()=>hn});m();c();p();d();f();var Ft={error:Ge("prisma:error"),warn:Rt("prisma:warn"),info:ke("prisma:info"),query:Je("prisma:query")},Wi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function Bl(...e){console.log(...e)}function hn(e,...t){Wi.warn()&&console.warn(`${Ft.warn} ${e}`,...t)}function Ul(e,...t){console.info(`${Ft.info} ${e}`,...t)}function Vl(e,...t){console.error(`${Ft.error} ${e}`,...t)}function Ql(e,...t){console.log(`${Ft.query} ${e}`,...t)}m();c();p();d();f();function sr(e,t){if(!e)throw new Error(`${t}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}m();c();p();d();f();function Me(e,t){throw new Error(t)}m();c();p();d();f();dn();function wn(e){return Oe.sep===Oe.posix.sep?e:e.split(Oe.sep).join(Oe.posix.sep)}m();c();p();d();f();function bn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}m();c();p();d();f();function it(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}m();c();p();d();f();function En(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{Zi.has(e)||(Zi.add(e),hn(t,...r))};var V=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};le(V,"PrismaClientInitializationError");m();c();p();d();f();var oe=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};le(oe,"PrismaClientKnownRequestError");m();c();p();d();f();var ue=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};le(ue,"PrismaClientRustPanicError");m();c();p();d();f();var G=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};le(G,"PrismaClientUnknownRequestError");m();c();p();d();f();var ee=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};le(ee,"PrismaClientValidationError");m();c();p();d();f();m();c();p();d();f();var ot=9e15,$e=1e9,xn="0123456789abcdef",cr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",pr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Pn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ot,maxE:ot,crypto:!1},no,Fe,_=!0,fr="[DecimalError] ",qe=fr+"Invalid argument: ",io=fr+"Precision limit exceeded",oo=fr+"crypto unavailable",so="[object Decimal]",te=Math.floor,J=Math.pow,Jl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Wl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Kl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ao=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,de=1e7,F=7,Hl=9007199254740991,zl=cr.length-1,vn=pr.length-1,S={toStringTag:so};S.absoluteValue=S.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),O(e)};S.ceil=function(){return O(new this.constructor(this),this.e+1,2)};S.clampedTo=S.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(qe+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};S.comparedTo=S.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};S.cosine=S.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+F,n.rounding=1,r=Yl(n,fo(n,r)),n.precision=e,n.rounding=t,O(Fe==2||Fe==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};S.cubeRoot=S.cbrt=function(){var e,t,r,n,i,o,s,a,l,u,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=Y(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=te((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(g),n=j(u.plus(g).times(a),u.plus(l),s+2,1),Y(a.d).slice(0,s)===(r=Y(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(O(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(O(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,O(n,e,h.rounding,t)};S.decimalPlaces=S.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-te(this.e/F))*F,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};S.dividedBy=S.div=function(e){return j(this,new this.constructor(e))};S.dividedToIntegerBy=S.divToInt=function(e){var t=this,r=t.constructor;return O(j(t,new r(e),0,1,1),r.precision,r.rounding)};S.equals=S.eq=function(e){return this.cmp(e)===0};S.floor=function(){return O(new this.constructor(this),this.e+1,3)};S.greaterThan=S.gt=function(e){return this.cmp(e)>0};S.greaterThanOrEqualTo=S.gte=function(e){var t=this.cmp(e);return t==1||t===0};S.hyperbolicCosine=S.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/gr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=st(s,1,o.times(t),new s(1),!0);for(var l,u=e,g=new s(8);u--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return O(o,s.precision=r,s.rounding=n,!0)};S.hyperbolicSine=S.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=st(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/gr(5,e)),i=st(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=t,o.rounding=r,O(i,t,r,!0)};S.hyperbolicTangent=S.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,j(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};S.inverseCosine=S.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?we(t,n,i):new t(0):new t(NaN):e.isZero()?we(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};S.inverseHyperbolicCosine=S.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};S.inverseHyperbolicSine=S.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};S.inverseHyperbolicTangent=S.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?O(new o(i),e,t,!0):(o.precision=r=n-i.e,i=j(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};S.inverseSine=S.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=we(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};S.inverseTangent=S.atan=function(){var e,t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,v=g.rounding;if(u.isFinite()){if(u.isZero())return new g(u);if(u.abs().eq(1)&&h+4<=vn)return s=we(g,h+4,v).times(.25),s.s=u.s,s}else{if(!u.s)return new g(NaN);if(h+4<=vn)return s=we(g,h+4,v).times(.5),s.s=u.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/F+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/F),n=1,l=u.times(u),s=new g(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};S.isNaN=function(){return!this.s};S.isNegative=S.isNeg=function(){return this.s<0};S.isPositive=S.isPos=function(){return this.s>0};S.isZero=function(){return!!this.d&&this.d[0]===0};S.lessThan=S.lt=function(e){return this.cmp(e)<0};S.lessThanOrEqualTo=S.lte=function(e){return this.cmp(e)<1};S.logarithm=S.log=function(e){var t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,v=g.rounding,R=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new g(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+R,s=De(u,a),n=t?dr(g,a+10):De(e,a),l=j(s,n,a,1),Lt(l.d,i=h,v))do if(a+=10,s=De(u,a),n=t?dr(g,a+10):De(e,a),l=j(s,n,a,1),!o){+Y(l.d).slice(i+1,i+15)+1==1e14&&(l=O(l,h+1,0));break}while(Lt(l.d,i+=10,v));return _=!0,O(l,h,v)};S.minus=S.sub=function(e){var t,r,n,i,o,s,a,l,u,g,h,v,R=this,C=R.constructor;if(e=new C(e),!R.d||!e.d)return!R.s||!e.s?e=new C(NaN):R.d?e.s=-e.s:e=new C(e.d||R.s!==e.s?R:NaN),e;if(R.s!=e.s)return e.s=-e.s,R.plus(e);if(u=R.d,v=e.d,a=C.precision,l=C.rounding,!u[0]||!v[0]){if(v[0])e.s=-e.s;else if(u[0])e=new C(R);else return new C(l===3?-0:0);return _?O(e,a,l):e}if(r=te(e.e/F),g=te(R.e/F),u=u.slice(),o=g-r,o){for(h=o<0,h?(t=u,o=-o,s=v.length):(t=v,r=g,s=u.length),n=Math.max(Math.ceil(a/F),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=v.length,h=n0;--n)u[s++]=0;for(n=v.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=u.length,i=g.length,s-i<0&&(i=s,r=g,g=u,u=r),t=0;i;)t=(u[--i]=u[i]+g[i]+t)/de|0,u[i]%=de;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=mr(u,n),_?O(e,a,l):e};S.precision=S.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(qe+e);return r.d?(t=lo(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};S.round=function(){var e=this,t=e.constructor;return O(new t(e),e.e+1,t.rounding)};S.sine=S.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+F,n.rounding=1,r=Xl(n,fo(n,r)),n.precision=e,n.rounding=t,O(Fe>2?r.neg():r,e,t,!0)):new n(NaN)};S.squareRoot=S.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,u=s.s,g=s.constructor;if(u!==1||!a||!a[0])return new g(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=Y(a),(t.length+l)%2==0&&(t+="0"),u=Math.sqrt(t),l=te((l+1)/2)-(l<0||l%2),u==1/0?t="5e"+l:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(u.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(j(s,o,r+2,1)).times(.5),Y(o.d).slice(0,r)===(t=Y(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(O(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(O(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,O(n,l,g.rounding,e)};S.tangent=S.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=j(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,O(Fe==2||Fe==4?r.neg():r,e,t,!0)):new n(NaN)};S.times=S.mul=function(e){var t,r,n,i,o,s,a,l,u,g=this,h=g.constructor,v=g.d,R=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!R||!R[0])return new h(!e.s||v&&!v[0]&&!R||R&&!R[0]&&!v?NaN:!v||!R?e.s/0:e.s*0);for(r=te(g.e/F)+te(e.e/F),l=v.length,u=R.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+R[n]*v[i-n-1]+t,o[i--]=a%de|0,t=a/de|0;o[i]=(o[i]+t)%de|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=mr(o,r),_?O(e,h.precision,h.rounding):e};S.toBinary=function(e,t){return Cn(this,2,e,t)};S.toDecimalPlaces=S.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(se(e,0,$e),t===void 0?t=n.rounding:se(t,0,8),O(r,e+r.e+1,t))};S.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=be(n,!0):(se(e,0,$e),t===void 0?t=i.rounding:se(t,0,8),n=O(new i(n),e+1,t),r=be(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};S.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=be(i):(se(e,0,$e),t===void 0?t=o.rounding:se(t,0,8),n=O(new o(i),e+i.e+1,t),r=be(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};S.toFraction=function(e){var t,r,n,i,o,s,a,l,u,g,h,v,R=this,C=R.d,A=R.constructor;if(!C)return new A(R);if(u=r=new A(1),n=l=new A(0),t=new A(n),o=t.e=lo(C)-R.e-1,s=o%F,t.d[0]=J(10,s<0?F+s:s),e==null)e=o>0?t:u;else{if(a=new A(e),!a.isInt()||a.lt(u))throw Error(qe+a);e=a.gt(t)?o>0?t:u:a}for(_=!1,a=new A(Y(C)),g=A.precision,A.precision=o=C.length*F*2;h=j(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=j(e.minus(r),n,0,1,1),l=l.plus(i.times(u)),r=r.plus(i.times(n)),l.s=u.s=R.s,v=j(u,n,o,1).minus(R).abs().cmp(j(l,r,o,1).minus(R).abs())<1?[u,n]:[l,r],A.precision=g,_=!0,v};S.toHexadecimal=S.toHex=function(e,t){return Cn(this,16,e,t)};S.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:se(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=j(r,e,0,t,1).times(e),_=!0,O(r)):(e.s=r.s,r=e),r};S.toNumber=function(){return+this};S.toOctal=function(e,t){return Cn(this,8,e,t)};S.toPower=S.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return O(a,n,o);if(t=te(e.e/F),t>=e.d.length-1&&(r=u<0?-u:u)<=Hl)return i=uo(l,a,r,n),e.s<0?new l(1).div(i):O(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Tn(e.times(De(a,n+r)),n),i.d&&(i=O(i,n+5,1),Lt(i.d,n,o)&&(t=n+10,i=O(Tn(e.times(De(a,t+r)),t),t+5,1),+Y(i.d).slice(n+1,n+15)+1==1e14&&(i=O(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,O(i,n,o))};S.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=be(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(se(e,1,$e),t===void 0?t=i.rounding:se(t,0,8),n=O(new i(n),e,t),r=be(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};S.toSignificantDigits=S.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(se(e,1,$e),t===void 0?t=n.rounding:se(t,0,8)),O(new n(r),e,t)};S.toString=function(){var e=this,t=e.constructor,r=be(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};S.truncated=S.trunc=function(){return O(new this.constructor(this),this.e+1,1)};S.valueOf=S.toJSON=function(){var e=this,t=e.constructor,r=be(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function Y(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(qe+e)}function Lt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=F,i=0):(i=Math.ceil((t+1)/F),t%=F),o=J(10,F-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function lr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Yl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/gr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=st(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var j=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,g,h,v,R,C,A,M,I,L,k,D,z,B,vt,Q,ne,Ce,Z,Ye,er=n.constructor,Yr=n.s==i.s?1:-1,X=n.d,$=i.d;if(!X||!X[0]||!$||!$[0])return new er(!n.s||!i.s||(X?$&&X[0]==$[0]:!$)?NaN:X&&X[0]==0||!$?Yr*0:Yr/0);for(l?(R=1,g=n.e-i.e):(l=de,R=F,g=te(n.e/R)-te(i.e/R)),Z=$.length,ne=X.length,I=new er(Yr),L=I.d=[],h=0;$[h]==(X[h]||0);h++);if($[h]>(X[h]||0)&&g--,o==null?(B=o=er.precision,s=er.rounding):a?B=o+(n.e-i.e)+1:B=o,B<0)L.push(1),C=!0;else{if(B=B/R+2|0,h=0,Z==1){for(v=0,$=$[0],B++;(h1&&($=e($,v,l),X=e(X,v,l),Z=$.length,ne=X.length),Q=Z,k=X.slice(0,Z),D=k.length;D=l/2&&++Ce;do v=0,u=t($,k,Z,D),u<0?(z=k[0],Z!=D&&(z=z*l+(k[1]||0)),v=z/Ce|0,v>1?(v>=l&&(v=l-1),A=e($,v,l),M=A.length,D=k.length,u=t(A,k,M,D),u==1&&(v--,r(A,Z=10;v/=10)h++;I.e=h+g*R-1,O(I,a?o+I.e+1:o,s,C)}return I}}();function O(e,t,r,n){var i,o,s,a,l,u,g,h,v,R=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=F,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/F),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=F,s=o-F+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=F,s=o-F+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),u=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,u?(t-=e.e+1,h[0]=J(10,(F-t%F)%F),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,F-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),u)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==de&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=de)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>R.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Ne(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Ne(-i-1)+o,r&&(n=r-s)>0&&(o+=Ne(n))):i>=s?(o+=Ne(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Ne(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Ne(n))),o}function mr(e,t){var r=e[0];for(t*=F;r>=10;r/=10)t++;return t}function dr(e,t,r){if(t>zl)throw _=!0,r&&(e.precision=r),Error(io);return O(new e(cr),t,1,!0)}function we(e,t,r){if(t>vn)throw Error(io);return O(new e(pr),t,r,!0)}function lo(e){var t=e.length-1,r=t*F+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Ne(e){for(var t="";e--;)t+="0";return t}function uo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/F+4);for(_=!1;;){if(r%2&&(o=o.times(t),to(o.d,s)&&(i=!0)),r=te(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),to(t.d,s)}return _=!0,o}function eo(e){return e.d[e.d.length-1]&1}function co(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=C):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=O(o.times(e),l,1),r=r.times(++g),a=s.plus(j(o,r,l,1)),Y(a.d).slice(0,l)===Y(s.d).slice(0,l)){for(i=h;i--;)s=O(s.times(s),l,1);if(t==null)if(u<3&&Lt(s.d,l-n,R,u))v.precision=l+=10,r=o=a=new v(1),g=0,u++;else return O(s,v.precision=C,R,_=!0);else return v.precision=C,s}s=a}}function De(e,t){var r,n,i,o,s,a,l,u,g,h,v,R=1,C=10,A=e,M=A.d,I=A.constructor,L=I.rounding,k=I.precision;if(A.s<0||!M||!M[0]||!A.e&&M[0]==1&&M.length==1)return new I(M&&!M[0]?-1/0:A.s!=1?NaN:M?0:A);if(t==null?(_=!1,g=k):g=t,I.precision=g+=C,r=Y(M),n=r.charAt(0),Math.abs(o=A.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)A=A.times(e),r=Y(A.d),n=r.charAt(0),R++;o=A.e,n>1?(A=new I("0."+r),o++):A=new I(n+"."+r.slice(1))}else return u=dr(I,g+2,k).times(o+""),A=De(new I(n+"."+r.slice(1)),g-C).plus(u),I.precision=k,t==null?O(A,k,L,_=!0):A;for(h=A,l=s=A=j(A.minus(1),A.plus(1),g,1),v=O(A.times(A),g,1),i=3;;){if(s=O(s.times(v),g,1),u=l.plus(j(s,new I(i),g,1)),Y(u.d).slice(0,g)===Y(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(dr(I,g+2,k).times(o+""))),l=j(l,new I(R),g,1),t==null)if(Lt(l.d,g-C,L,a))I.precision=g+=C,u=s=A=j(h.minus(1),h.plus(1),g,1),v=O(A.times(A),g,1),i=a=1;else return O(l,I.precision=k,L,_=!0);else return I.precision=k,l;l=u,i+=2}}function po(e){return String(e.s*e.s/0)}function ur(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%F,r<0&&(n+=F),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),ao.test(t))return ur(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Wl.test(t))r=16,t=t.toLowerCase();else if(Jl.test(t))r=2;else if(Kl.test(t))r=8;else throw Error(qe+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=uo(n,new n(r),o,o*2)),u=lr(t,r,de),g=u.length-1,o=g;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=mr(u,g),e.d=u,_=!1,s&&(e=j(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):We.pow(2,l))),_=!0,e)}function Xl(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:st(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/gr(5,r)),t=st(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function st(e,t,r,n,i){var o,s,a,l,u=1,g=e.precision,h=Math.ceil(g/F);for(_=!1,l=r.times(r),a=new e(n);;){if(s=j(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=j(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return _=!0,s.d.length=h+1,s}function gr(e,t){for(var r=e;--t;)r*=e;return r}function fo(e,t){var r,n=t.s<0,i=we(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Fe=n?4:1,t;if(r=t.divToInt(i),r.isZero())Fe=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Fe=eo(r)?n?2:3:n?4:1,t;Fe=eo(r)?n?1:4:n?3:2}return t.minus(i).abs()}function Cn(e,t,r,n){var i,o,s,a,l,u,g,h,v,R=e.constructor,C=r!==void 0;if(C?(se(r,1,$e),n===void 0?n=R.rounding:se(n,0,8)):(r=R.precision,n=R.rounding),!e.isFinite())g=po(e);else{for(g=be(e),s=g.indexOf("."),C?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new R(1),v.e=g.length-s,v.d=lr(be(v),10,i),v.e=v.d.length),h=lr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=C?"0p+0":"0";else{if(s<0?o--:(e=new R(e),e.d=h,e.e=o,e=j(e,v,r,n,0,i),h=e.d,o=e.e,u=no),s=h[r],a=i/2,u=u||h[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,u)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=lr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function eu(e){return new this(e).abs()}function tu(e){return new this(e).acos()}function ru(e){return new this(e).acosh()}function nu(e,t){return new this(e).plus(t)}function iu(e){return new this(e).asin()}function ou(e){return new this(e).asinh()}function su(e){return new this(e).atan()}function au(e){return new this(e).atanh()}function lu(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=we(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?we(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=we(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(j(e,t,o,1)),t=we(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(j(e,t,o,1)),r}function uu(e){return new this(e).cbrt()}function cu(e){return O(e=new this(e),e.e+1,2)}function pu(e,t,r){return new this(e).clamp(t,r)}function du(e){if(!e||typeof e!="object")throw Error(fr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,$e,"rounding",0,8,"toExpNeg",-ot,0,"toExpPos",0,ot,"maxE",0,ot,"minE",-ot,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(qe+r+": "+n);if(r="crypto",i&&(this[r]=Pn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(oo);else this[r]=!1;else throw Error(qe+r+": "+n);return this}function fu(e){return new this(e).cos()}function mu(e){return new this(e).cosh()}function mo(e){var t,r,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,ro(o)){u.s=o.s,_?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(oo);else for(;o=10;i/=10)n++;nct,datamodelEnumToSchemaEnum:()=>Bu});m();c();p();d();f();m();c();p();d();f();function Bu(e){return{name:e.name,values:e.values.map(t=>t.name)}}m();c();p();d();f();var ct=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(ct||{});var Eo=Se(Ji());m();c();p();d();f();cn();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var yo={keyword:ke,entity:ke,value:e=>pe(Je(e)),punctuation:Je,directive:ke,function:ke,variable:e=>pe(Je(e)),string:e=>pe(St(e)),boolean:Rt,number:ke,comment:kt};var Uu=e=>e,yr={},Vu=0,N={manual:yr.Prism&&yr.Prism.manual,disableWorkerMessageHandler:yr.Prism&&yr.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof me){let t=e;return new me(t.type,N.util.encode(t.content),t.alias)}else return Array.isArray(e)?e.map(N.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ce instanceof me)continue;if(z&&Q!=t.length-1){L.lastIndex=ne;var h=L.exec(e);if(!h)break;var g=h.index+(D?h[1].length:0),v=h.index+h[0].length,a=Q,l=ne;for(let $=t.length;a<$&&(l=l&&(++Q,ne=l);if(t[Q]instanceof me)continue;u=a-Q,Ce=e.slice(ne,l),h.index-=ne}else{L.lastIndex=0;var h=L.exec(Ce),u=1}if(!h){if(o)break;continue}D&&(B=h[1]?h[1].length:0);var g=h.index+B,h=h[0].slice(B),v=g+h.length,R=Ce.slice(0,g),C=Ce.slice(v);let Z=[Q,u];R&&(++Q,ne+=R.length,Z.push(R));let Ye=new me(A,k?N.tokenize(h,k):h,vt,h,z);if(Z.push(Ye),C&&Z.push(C),Array.prototype.splice.apply(t,Z),u!=1&&N.matchGrammar(e,t,r,Q,ne,!0,A),o)break}}}},tokenize:function(e,t){let r=[e],n=t.rest;if(n){for(let i in n)t[i]=n[i];delete t.rest}return N.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){let r=N.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){let r=N.hooks.all[e];if(!(!r||!r.length))for(var n=0,i;i=r[n++];)i(t)}},Token:me};N.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};N.languages.javascript=N.languages.extend("clike",{"class-name":[N.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});N.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;N.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:N.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:N.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:N.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:N.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});N.languages.markup&&N.languages.markup.tag.addInlined("script","javascript");N.languages.js=N.languages.javascript;N.languages.typescript=N.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});N.languages.ts=N.languages.typescript;function me(e,t,r,n,i){this.type=e,this.content=t,this.alias=r,this.length=(n||"").length|0,this.greedy=!!i}me.stringify=function(e,t){return typeof e=="string"?e:Array.isArray(e)?e.map(function(r){return me.stringify(r,t)}).join(""):Qu(e.type)(e.content)};function Qu(e){return yo[e]||Uu}function wo(e){return Gu(e,N.languages.javascript)}function Gu(e,t){return N.tokenize(e,t).map(n=>me.stringify(n)).join("")}m();c();p();d();f();function bo(e){return mn(e)}var wr=class e{firstLineNumber;lines;static read(t){let r;try{r=or.readFileSync(t,"utf-8")}catch{return null}return e.fromContent(r)}static fromContent(t){let r=t.split(/\r?\n/);return new e(1,r)}constructor(t,r){this.firstLineNumber=t,this.lines=r}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(t,r){if(tthis.lines.length+this.firstLineNumber)return this;let n=t-this.firstLineNumber,i=[...this.lines];return i[n]=r(i[n]),new e(this.firstLineNumber,i)}mapLines(t){return new e(this.firstLineNumber,this.lines.map((r,n)=>t(r,this.firstLineNumber+n)))}lineAt(t){return this.lines[t-this.firstLineNumber]}prependSymbolAt(t,r){return this.mapLines((n,i)=>i===t?`${r} ${n}`:` ${n}`)}slice(t,r){let n=this.lines.slice(t-1,r).join(` `);return new e(t,bo(n).split(` `))}highlight(){let t=wo(this.toString());return new e(this.firstLineNumber,t.split(` `))}toString(){return this.lines.join(` @@ -10,9 +10,9 @@ `)}function Xu(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function br(e){let t=e.showColors?Ju:Wu,r;return r=Hu(e,t),Zu(r,t)}m();c();p();d();f();var ko=Se(Sn());m();c();p();d();f();function To(e,t,r){let n=Co(e),i=ec(n),o=rc(i);o?Er(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Co(e){return e.errors.flatMap(t=>t.kind==="Union"?Co(t):[t])}function ec(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:tc(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function tc(e,t){return[...new Set(e.concat(t))]}function rc(e){return En(e,(t,r)=>{let n=Po(t),i=Po(r);return n!==i?n-i:vo(t)-vo(r)})}function Po(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function vo(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}m();c();p();d();f();var ce=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};m();c();p();d();f();m();c();p();d();f();So();m();c();p();d();f();var pt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` `)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};Ao();m();c();p();d();f();m();c();p();d();f();var xr=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};m();c();p();d();f();var Pr=e=>e,vr={bold:Pr,red:Pr,green:Pr,dim:Pr,enabled:!1},Ro={bold:pe,red:Ge,green:St,dim:Ct,enabled:!0},dt={write(e){e.writeLine(",")}};m();c();p();d();f();var xe=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};m();c();p();d();f();var Be=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var ft=class extends Be{items=[];addItem(t){return this.items.push(new xr(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new xe("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(dt,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var mt=class e extends Be{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof ft&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new xe("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(dt,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};m();c();p();d();f();var H=class extends Be{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new xe(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};m();c();p();d();f();var qt=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(dt,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Er(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":nc(e,t);break;case"IncludeOnScalar":ic(e,t);break;case"EmptySelection":oc(e,t,r);break;case"UnknownSelectionField":uc(e,t);break;case"InvalidSelectionValue":cc(e,t);break;case"UnknownArgument":pc(e,t);break;case"UnknownInputField":dc(e,t);break;case"RequiredArgumentMissing":fc(e,t);break;case"InvalidArgumentType":mc(e,t);break;case"InvalidArgumentValue":gc(e,t);break;case"ValueTooLarge":hc(e,t);break;case"SomeFieldsMissing":yc(e,t);break;case"TooManyFieldsGiven":wc(e,t);break;case"Union":To(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function nc(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function ic(e,t){let[r,n]=$t(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ce(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${jt(s)}`:a+=".",a+=` Note that ${s.bold("include")} statements only accept relation fields.`,a})}function oc(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){sc(e,t,i);return}if(n.hasField("select")){ac(e,t);return}}if(r?.[je(e.outputType.name)]){lc(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function sc(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new ce(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function ac(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Fo(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${jt(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function lc(e,t){let r=new qt;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new ce("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=$t(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new mt;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function uc(e,t){let r=Io(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Fo(n,e.outputType);break;case"include":bc(n,e.outputType);break;case"omit":Ec(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(jt(n)),i.join(" ")})}function cc(e,t){let r=Io(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function pc(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),xc(n,e.arguments)),t.addErrorMessage(i=>Oo(i,r,e.arguments.map(o=>o.name)))}function dc(e,t){let[r,n]=$t(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&_o(o,e.inputType)}t.addErrorMessage(o=>Oo(o,n,e.inputType.fields.map(s=>s.name)))}function Oo(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=vc(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(jt(e)),n.join(" ")}function fc(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=$t(e.argumentPath),s=new qt,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ce(o,s).makeRequired())}else{let l=e.inputTypes.map(Mo).join(" | ");a.addSuggestion(new ce(o,l).makeRequired())}}function Mo(e){return e.kind==="list"?`${Mo(e.elementType)}[]`:e.name}function mc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Tr("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function gc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Tr("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function hc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function yc(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&_o(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Tr("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(jt(i)),o.join(" ")})}function wc(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Tr("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Fo(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ce(r.name,"true"))}function bc(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new ce(r.name,"true"))}function Ec(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new ce(r.name,"true"))}function xc(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new ce(r.name,r.typeNames.join(" | ")))}function Io(e,t){let[r,n]=$t(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function _o(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ce(r.name,r.typeNames.join(" | ")))}function $t(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function jt({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Tr(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Pc=3;function vc(e,t){let r=1/0,n;for(let i of t){let o=(0,ko.default)(e,i);o>Pc||o`}};function gt(e){return e instanceof Bt}m();c();p();d();f();var Cr=Symbol(),kn=new WeakMap,Ie=class{constructor(t){t===Cr?kn.set(this,`Prisma.${this._getName()}`):kn.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return kn.get(this)}},Ut=class extends Ie{_getNamespace(){return"NullTypes"}},Vt=class extends Ut{#e};On(Vt,"DbNull");var Qt=class extends Ut{#e};On(Qt,"JsonNull");var Gt=class extends Ut{#e};On(Gt,"AnyNull");var Ar={classes:{DbNull:Vt,JsonNull:Qt,AnyNull:Gt},instances:{DbNull:new Vt(Cr),JsonNull:new Qt(Cr),AnyNull:new Gt(Cr)}};function On(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}m();c();p();d();f();var Lo=": ",Sr=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Lo.length}write(t){let r=new xe(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Lo).write(this.value)}};var Mn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` -`)}};function ht(e){return new Mn(No(e))}function No(e){let t=new mt;for(let[r,n]of Object.entries(e)){let i=new Sr(r,Do(n));t.addField(i)}return t}function Do(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(ut(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=hr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Ie?new H(`Prisma.${e._getName()}`):gt(e)?new H(`prisma.${je(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Tc(e):typeof e=="object"?No(e):new H(Object.prototype.toString.call(e))}function Tc(e){let t=new ft;for(let r of e)t.addItem(Do(r));return t}function Rr(e,t){let r=t==="pretty"?Ro:vr,n=e.renderAllMessages(r),i=new pt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function kr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ht(e);for(let h of t)Er(h,a,s);let{message:l,args:u}=Rr(a,r),g=br({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:u});throw new ee(g,{clientVersion:o})}m();c();p();d();f();m();c();p();d();f();function Pe(e){return e.replace(/^./,t=>t.toLowerCase())}m();c();p();d();f();function $o(e,t,r){let n=Pe(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Cc({...e,...qo(t.name,e,t.result.$allModels),...qo(t.name,e,t.result[n])})}function Cc(e){let t=new Ee,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return it(e,n=>({...n,needs:r(n.name,new Set)}))}function qo(e,t,r){return r?it(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Ac(t,o,i)})):{}}function Ac(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function jo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Bo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Or=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new Ee;modelExtensionsCache=new Ee;queryCallbacksCache=new Ee;clientExtensions=Nt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=Nt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>$o(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Pe(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},yt=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Or(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Or(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};m();c();p();d();f();var Mr=class{constructor(t){this.name=t}};function Uo(e){return e instanceof Mr}function Vo(e){return new Mr(e)}m();c();p();d();f();m();c();p();d();f();var Qo=Symbol(),Jt=class{constructor(t){if(t!==Qo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Fr:t}},Fr=new Jt(Qo);function ve(e){return e instanceof Jt}var Sc={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Go="explicitly `undefined` values are not allowed";function Ir({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=yt.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g}){let h=new Fn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g});return{modelName:e,action:Sc[t],query:Wt(r,h)}}function Wt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Wo(r,n),selection:Rc(e,t,i,n)}}function Rc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Fc(e,n)):kc(n,t,r)}function kc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&Oc(n,t,e),Mc(n,r,e),n}function Oc(e,t,r){for(let[n,i]of Object.entries(t)){if(ve(i))continue;let o=r.nestSelection(n);if(In(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Wt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Wt(i,o)}}function Mc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Bo(i,n);for(let[s,a]of Object.entries(o)){if(ve(a))continue;In(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function Fc(e,t){let r={},n=t.getComputedFields(),i=jo(e,n);for(let[o,s]of Object.entries(i)){if(ve(s))continue;let a=t.nestSelection(o);In(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||ve(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Wt({},a):r[o]=!0;continue}r[o]=Wt(s,a)}}return r}function Jo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(lt(e)){if(hr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Uo(e))return{$type:"Param",value:e.name};if(gt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return Ic(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(_c(e))return e.values;if(ut(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Ie){if(e!==Ar.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(Lc(e))return e.toJSON();if(typeof e=="object")return Wo(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Wo(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);ve(i)||(i!==void 0?r[n]=Jo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Go}))}return r}function Ic(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[je(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Me(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};m();c();p();d();f();function Ko(e){if(!e._hasPreviewFlag("metrics"))throw new ee("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var wt=class{_client;constructor(t){this._client=t}prometheus(t){return Ko(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Ko(this._client),this._client._engine.metrics({format:"json",...t})}};m();c();p();d();f();function Ho(e,t){let r=Nt(()=>Nc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function Nc(e){return{datamodel:{models:_n(e.models),enums:_n(e.enums),types:_n(e.types)}}}function _n(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}m();c();p();d();f();var Ln=new WeakMap,_r="$$PrismaTypedSql",Kt=class{constructor(t,r){Ln.set(this,{sql:t,values:r}),Object.defineProperty(this,_r,{value:_r})}get sql(){return Ln.get(this).sql}get values(){return Ln.get(this).values}};function zo(e){return(...t)=>new Kt(e,t)}function Lr(e){return e!=null&&e[_r]===_r}m();c();p();d();f();var ma=Se(Yo());m();c();p();d();f();Zo();cn();dn();m();c();p();d();f();var ae=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}m();c();p();d();f();m();c();p();d();f();var Dr={enumerable:!0,configurable:!0,writable:!0};function qr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Dr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var ts=Symbol.for("nodejs.util.inspect.custom");function me(e,t){let r=qc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=rs(Reflect.ownKeys(o),r),a=rs(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...Dr,...l?.getPropertyDescriptor(s)}:Dr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ts]=function(){let o={...this};return delete o[ts],o},i}function qc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function rs(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}m();c();p();d();f();function bt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}m();c();p();d();f();function $r(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}m();c();p();d();f();function ns(e){if(e===void 0)return"";let t=ht(e);return new pt(0,{colors:vr}).write(t).toString()}m();c();p();d();f();var $c="P2037";function jr({error:e,user_facing_error:t},r,n){return t.error_code?new oe(jc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new G(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function jc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===$c&&(r+=` +`)}};function ht(e){return new Mn(No(e))}function No(e){let t=new mt;for(let[r,n]of Object.entries(e)){let i=new Sr(r,Do(n));t.addField(i)}return t}function Do(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(ut(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=hr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Ie?new H(`Prisma.${e._getName()}`):gt(e)?new H(`prisma.${je(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Tc(e):typeof e=="object"?No(e):new H(Object.prototype.toString.call(e))}function Tc(e){let t=new ft;for(let r of e)t.addItem(Do(r));return t}function Rr(e,t){let r=t==="pretty"?Ro:vr,n=e.renderAllMessages(r),i=new pt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function kr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ht(e);for(let h of t)Er(h,a,s);let{message:l,args:u}=Rr(a,r),g=br({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:u});throw new ee(g,{clientVersion:o})}m();c();p();d();f();m();c();p();d();f();function Pe(e){return e.replace(/^./,t=>t.toLowerCase())}m();c();p();d();f();function $o(e,t,r){let n=Pe(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Cc({...e,...qo(t.name,e,t.result.$allModels),...qo(t.name,e,t.result[n])})}function Cc(e){let t=new Ee,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return it(e,n=>({...n,needs:r(n.name,new Set)}))}function qo(e,t,r){return r?it(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Ac(t,o,i)})):{}}function Ac(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function jo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Bo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Or=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new Ee;modelExtensionsCache=new Ee;queryCallbacksCache=new Ee;clientExtensions=Nt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=Nt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>$o(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Pe(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},yt=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Or(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Or(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};m();c();p();d();f();var Mr=class{constructor(t){this.name=t}};function Uo(e){return e instanceof Mr}function Vo(e){return new Mr(e)}m();c();p();d();f();m();c();p();d();f();var Qo=Symbol(),Jt=class{constructor(t){if(t!==Qo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Fr:t}},Fr=new Jt(Qo);function ve(e){return e instanceof Jt}var Sc={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Go="explicitly `undefined` values are not allowed";function Ir({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=yt.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g}){let h=new Fn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g});return{modelName:e,action:Sc[t],query:Wt(r,h)}}function Wt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Wo(r,n),selection:Rc(e,t,i,n)}}function Rc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Fc(e,n)):kc(n,t,r)}function kc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&Oc(n,t,e),Mc(n,r,e),n}function Oc(e,t,r){for(let[n,i]of Object.entries(t)){if(ve(i))continue;let o=r.nestSelection(n);if(In(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Wt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Wt(i,o)}}function Mc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Bo(i,n);for(let[s,a]of Object.entries(o)){if(ve(a))continue;In(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function Fc(e,t){let r={},n=t.getComputedFields(),i=jo(e,n);for(let[o,s]of Object.entries(i)){if(ve(s))continue;let a=t.nestSelection(o);In(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||ve(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Wt({},a):r[o]=!0;continue}r[o]=Wt(s,a)}}return r}function Jo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(lt(e)){if(hr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Uo(e))return{$type:"Param",value:e.name};if(gt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return Ic(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(_c(e))return e.values;if(ut(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Ie){if(e!==Ar.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(Lc(e))return e.toJSON();if(typeof e=="object")return Wo(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Wo(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);ve(i)||(i!==void 0?r[n]=Jo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Go}))}return r}function Ic(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[je(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Me(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};m();c();p();d();f();function Ko(e){if(!e._hasPreviewFlag("metrics"))throw new ee("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var wt=class{_client;constructor(t){this._client=t}prometheus(t){return Ko(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Ko(this._client),this._client._engine.metrics({format:"json",...t})}};m();c();p();d();f();function Ho(e,t){let r=Nt(()=>Nc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function Nc(e){return{datamodel:{models:_n(e.models),enums:_n(e.enums),types:_n(e.types)}}}function _n(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}m();c();p();d();f();var Ln=new WeakMap,_r="$$PrismaTypedSql",Kt=class{constructor(t,r){Ln.set(this,{sql:t,values:r}),Object.defineProperty(this,_r,{value:_r})}get sql(){return Ln.get(this).sql}get values(){return Ln.get(this).values}};function zo(e){return(...t)=>new Kt(e,t)}function Lr(e){return e!=null&&e[_r]===_r}m();c();p();d();f();var ma=Se(Yo());m();c();p();d();f();Zo();cn();dn();m();c();p();d();f();var ae=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}m();c();p();d();f();m();c();p();d();f();var Dr={enumerable:!0,configurable:!0,writable:!0};function qr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Dr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var ts=Symbol.for("nodejs.util.inspect.custom");function ge(e,t){let r=qc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=rs(Reflect.ownKeys(o),r),a=rs(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...Dr,...l?.getPropertyDescriptor(s)}:Dr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ts]=function(){let o={...this};return delete o[ts],o},i}function qc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function rs(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}m();c();p();d();f();function bt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}m();c();p();d();f();function $r(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}m();c();p();d();f();function ns(e){if(e===void 0)return"";let t=ht(e);return new pt(0,{colors:vr}).write(t).toString()}m();c();p();d();f();var $c="P2037";function jr({error:e,user_facing_error:t},r,n){return t.error_code?new oe(jc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new G(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function jc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===$c&&(r+=` Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var zt="";function is(e){var t=e.split(` -`);return t.reduce(function(r,n){var i=Vc(n)||Gc(n)||Kc(n)||Zc(n)||zc(n);return i&&r.push(i),r},[])}var Bc=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Uc=/\((\S*)(?::(\d+))(?::(\d+))\)/;function Vc(e){var t=Bc.exec(e);if(!t)return null;var r=t[2]&&t[2].indexOf("native")===0,n=t[2]&&t[2].indexOf("eval")===0,i=Uc.exec(t[2]);return n&&i!=null&&(t[2]=i[1],t[3]=i[2],t[4]=i[3]),{file:r?null:t[2],methodName:t[1]||zt,arguments:r?[t[2]]:[],lineNumber:t[3]?+t[3]:null,column:t[4]?+t[4]:null}}var Qc=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Gc(e){var t=Qc.exec(e);return t?{file:t[2],methodName:t[1]||zt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var Jc=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,Wc=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Kc(e){var t=Jc.exec(e);if(!t)return null;var r=t[3]&&t[3].indexOf(" > eval")>-1,n=Wc.exec(t[3]);return r&&n!=null&&(t[3]=n[1],t[4]=n[2],t[5]=null),{file:t[3],methodName:t[1]||zt,arguments:t[2]?t[2].split(","):[],lineNumber:t[4]?+t[4]:null,column:t[5]?+t[5]:null}}var Hc=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function zc(e){var t=Hc.exec(e);return t?{file:t[3],methodName:t[1]||zt,arguments:[],lineNumber:+t[4],column:t[5]?+t[5]:null}:null}var Yc=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Zc(e){var t=Yc.exec(e);return t?{file:t[2],methodName:t[1]||zt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var qn=class{getLocation(){return null}},$n=class{_error;constructor(){this._error=new Error}getLocation(){let t=this._error.stack;if(!t)return null;let n=is(t).find(i=>{if(!i.file)return!1;let o=wn(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function Ue(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new qn:new $n}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var os={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Et(e={}){let t=ep(e);return Object.entries(t).reduce((n,[i,o])=>(os[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function ep(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Br(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function ss(e,t){let r=Br(e);return t({action:"aggregate",unpacker:r,argsMapper:Et})(e)}m();c();p();d();f();function tp(e={}){let{select:t,...r}=e;return typeof t=="object"?Et({...r,_count:t}):Et({...r,_count:{_all:!0}})}function rp(e={}){return typeof e.select=="object"?t=>Br(e)(t)._count:t=>Br(e)(t)._count._all}function as(e,t){return t({action:"count",unpacker:rp(e),argsMapper:tp})(e)}m();c();p();d();f();function np(e={}){let t=Et(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function ip(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ls(e,t){return t({action:"groupBy",unpacker:ip(e),argsMapper:np})(e)}function us(e,t,r){if(t==="aggregate")return n=>ss(n,r);if(t==="count")return n=>as(n,r);if(t==="groupBy")return n=>ls(n,r)}m();c();p();d();f();function cs(e,t){let r=t.fields.filter(i=>!i.relationName),n=go(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Bt(e,o,s.type,s.isList,s.kind==="enum")},...qr(Object.keys(n))})}m();c();p();d();f();m();c();p();d();f();var ps=e=>Array.isArray(e)?e:e.split("."),jn=(e,t)=>ps(t).reduce((r,n)=>r&&r[n],e),ds=(e,t,r)=>ps(t).reduceRight((n,i,o,s)=>Object.assign({},jn(e,s.slice(0,o)),{[i]:n}),r);function op(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function sp(e,t,r){return t===void 0?e??{}:ds(t,r,e||!0)}function Bn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=Ue(e._errorFormat),g=op(n,i),h=sp(l,o,g),v=r({dataPath:g,callsite:u})(h),R=ap(e,t);return new Proxy(v,{get(C,A){if(!R.includes(A))return C[A];let I=[a[A].type,r,A],L=[g,h];return Bn(e,...I,...L)},...qr([...R,...Object.getOwnPropertyNames(v)])})}}function ap(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var lp=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],up=["aggregate","count","groupBy"];function Un(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[cp(e,t),dp(e,t),Ht(r),re("name",()=>t),re("$name",()=>t),re("$parent",()=>e._appliedParent)];return me({},n)}function cp(e,t){let r=Pe(t),n=Object.keys(ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=Ue(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:u};return e._request({...h,...a})},{action:o,args:l,model:t})};return lp.includes(o)?Bn(e,t,s):pp(i)?us(e,i,s):s({})}}}function pp(e){return up.includes(e)}function dp(e,t){return Ke(re("fields",()=>{let r=e._runtimeDataModel.models[t];return cs(t,r)}))}m();c();p();d();f();function fs(e){return e.replace(/^./,t=>t.toUpperCase())}var Vn=Symbol();function Yt(e){let t=[fp(e),mp(e),re(Vn,()=>e),re("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Ht(r)),me(e,t)}function fp(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function mp(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Pe),n=[...new Set(t.concat(r))];return Ke({getKeys(){return n},getPropertyValue(i){let o=fs(i);if(e._runtimeDataModel.models[o]!==void 0)return Un(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Un(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ms(e){return e[Vn]?e[Vn]:e}function gs(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Yt(t)}m();c();p();d();f();m();c();p();d();f();function hs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(g=>n[g]);u.length>0&&a.push(bt(u))}else if(r){if(!r[l.name])continue;let u=l.needs.filter(g=>!r[g]);u.length>0&&a.push(bt(u))}gp(e,l.needs)&&s.push(hp(l,me(e,s)))}return s.length>0||a.length>0?me(e,[...s,...a]):e}function gp(e,t){return t.every(r=>bn(e,r))}function hp(e,t){return Ke(re(e.name,()=>e.compute(t)))}m();c();p();d();f();function Ur({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};t[o]=Ur({visitor:i,result:t[o],args:u,modelName:l.type,runtimeDataModel:n})}}function ws({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Ur({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,u)=>{let g=Pe(l);return hs({result:a,modelName:g,select:u.select,omit:u.select?void 0:{...o?.[g],...u.omit},extensions:n})}})}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var yp=["$connect","$disconnect","$on","$transaction","$use","$extends"],bs=yp;function Es(e){if(e instanceof ae)return wp(e);if(Lr(e))return bp(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:Es(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(o,l),a.args=s,Ps(e,a,r,n+1)}})})}function vs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return Ps(e,t,s)}function Ts(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Cs(r,n,0,e):e(r)}}function Cs(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(i,l),Cs(a,t,r+1,n)}})}var xs=e=>e;function As(e=xs,t=xs){return r=>e(t(r))}m();c();p();d();f();var Ss=K("prisma:client"),Rs={Vercel:"vercel","Netlify CI":"netlify"};function ks({postinstall:e,ciName:t,clientVersion:r}){if(Ss("checkPlatformCaching:postinstall",e),Ss("checkPlatformCaching:ciName",t),e===!0&&t&&t in Rs){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. +`);return t.reduce(function(r,n){var i=Vc(n)||Gc(n)||Kc(n)||Zc(n)||zc(n);return i&&r.push(i),r},[])}var Bc=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Uc=/\((\S*)(?::(\d+))(?::(\d+))\)/;function Vc(e){var t=Bc.exec(e);if(!t)return null;var r=t[2]&&t[2].indexOf("native")===0,n=t[2]&&t[2].indexOf("eval")===0,i=Uc.exec(t[2]);return n&&i!=null&&(t[2]=i[1],t[3]=i[2],t[4]=i[3]),{file:r?null:t[2],methodName:t[1]||zt,arguments:r?[t[2]]:[],lineNumber:t[3]?+t[3]:null,column:t[4]?+t[4]:null}}var Qc=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Gc(e){var t=Qc.exec(e);return t?{file:t[2],methodName:t[1]||zt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var Jc=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,Wc=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Kc(e){var t=Jc.exec(e);if(!t)return null;var r=t[3]&&t[3].indexOf(" > eval")>-1,n=Wc.exec(t[3]);return r&&n!=null&&(t[3]=n[1],t[4]=n[2],t[5]=null),{file:t[3],methodName:t[1]||zt,arguments:t[2]?t[2].split(","):[],lineNumber:t[4]?+t[4]:null,column:t[5]?+t[5]:null}}var Hc=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function zc(e){var t=Hc.exec(e);return t?{file:t[3],methodName:t[1]||zt,arguments:[],lineNumber:+t[4],column:t[5]?+t[5]:null}:null}var Yc=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Zc(e){var t=Yc.exec(e);return t?{file:t[2],methodName:t[1]||zt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var qn=class{getLocation(){return null}},$n=class{_error;constructor(){this._error=new Error}getLocation(){let t=this._error.stack;if(!t)return null;let n=is(t).find(i=>{if(!i.file)return!1;let o=wn(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function Ue(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new qn:new $n}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var os={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Et(e={}){let t=ep(e);return Object.entries(t).reduce((n,[i,o])=>(os[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function ep(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Br(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function ss(e,t){let r=Br(e);return t({action:"aggregate",unpacker:r,argsMapper:Et})(e)}m();c();p();d();f();function tp(e={}){let{select:t,...r}=e;return typeof t=="object"?Et({...r,_count:t}):Et({...r,_count:{_all:!0}})}function rp(e={}){return typeof e.select=="object"?t=>Br(e)(t)._count:t=>Br(e)(t)._count._all}function as(e,t){return t({action:"count",unpacker:rp(e),argsMapper:tp})(e)}m();c();p();d();f();function np(e={}){let t=Et(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function ip(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ls(e,t){return t({action:"groupBy",unpacker:ip(e),argsMapper:np})(e)}function us(e,t,r){if(t==="aggregate")return n=>ss(n,r);if(t==="count")return n=>as(n,r);if(t==="groupBy")return n=>ls(n,r)}m();c();p();d();f();function cs(e,t){let r=t.fields.filter(i=>!i.relationName),n=go(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Bt(e,o,s.type,s.isList,s.kind==="enum")},...qr(Object.keys(n))})}m();c();p();d();f();m();c();p();d();f();var ps=e=>Array.isArray(e)?e:e.split("."),jn=(e,t)=>ps(t).reduce((r,n)=>r&&r[n],e),ds=(e,t,r)=>ps(t).reduceRight((n,i,o,s)=>Object.assign({},jn(e,s.slice(0,o)),{[i]:n}),r);function op(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function sp(e,t,r){return t===void 0?e??{}:ds(t,r,e||!0)}function Bn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=Ue(e._errorFormat),g=op(n,i),h=sp(l,o,g),v=r({dataPath:g,callsite:u})(h),R=ap(e,t);return new Proxy(v,{get(C,A){if(!R.includes(A))return C[A];let I=[a[A].type,r,A],L=[g,h];return Bn(e,...I,...L)},...qr([...R,...Object.getOwnPropertyNames(v)])})}}function ap(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var lp=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],up=["aggregate","count","groupBy"];function Un(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[cp(e,t),dp(e,t),Ht(r),re("name",()=>t),re("$name",()=>t),re("$parent",()=>e._appliedParent)];return ge({},n)}function cp(e,t){let r=Pe(t),n=Object.keys(ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=Ue(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:u};return e._request({...h,...a})},{action:o,args:l,model:t})};return lp.includes(o)?Bn(e,t,s):pp(i)?us(e,i,s):s({})}}}function pp(e){return up.includes(e)}function dp(e,t){return Ke(re("fields",()=>{let r=e._runtimeDataModel.models[t];return cs(t,r)}))}m();c();p();d();f();function fs(e){return e.replace(/^./,t=>t.toUpperCase())}var Vn=Symbol();function Yt(e){let t=[fp(e),mp(e),re(Vn,()=>e),re("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Ht(r)),ge(e,t)}function fp(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function mp(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Pe),n=[...new Set(t.concat(r))];return Ke({getKeys(){return n},getPropertyValue(i){let o=fs(i);if(e._runtimeDataModel.models[o]!==void 0)return Un(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Un(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ms(e){return e[Vn]?e[Vn]:e}function gs(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Yt(t)}m();c();p();d();f();m();c();p();d();f();function hs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(g=>n[g]);u.length>0&&a.push(bt(u))}else if(r){if(!r[l.name])continue;let u=l.needs.filter(g=>!r[g]);u.length>0&&a.push(bt(u))}gp(e,l.needs)&&s.push(hp(l,ge(e,s)))}return s.length>0||a.length>0?ge(e,[...s,...a]):e}function gp(e,t){return t.every(r=>bn(e,r))}function hp(e,t){return Ke(re(e.name,()=>e.compute(t)))}m();c();p();d();f();function Ur({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};t[o]=Ur({visitor:i,result:t[o],args:u,modelName:l.type,runtimeDataModel:n})}}function ws({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Ur({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,u)=>{let g=Pe(l);return hs({result:a,modelName:g,select:u.select,omit:u.select?void 0:{...o?.[g],...u.omit},extensions:n})}})}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var yp=["$connect","$disconnect","$on","$transaction","$use","$extends"],bs=yp;function Es(e){if(e instanceof ae)return wp(e);if(Lr(e))return bp(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:Es(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(o,l),a.args=s,Ps(e,a,r,n+1)}})})}function vs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return Ps(e,t,s)}function Ts(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Cs(r,n,0,e):e(r)}}function Cs(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(i,l),Cs(a,t,r+1,n)}})}var xs=e=>e;function As(e=xs,t=xs){return r=>e(t(r))}m();c();p();d();f();var Ss=K("prisma:client"),Rs={Vercel:"vercel","Netlify CI":"netlify"};function ks({postinstall:e,ciName:t,clientVersion:r}){if(Ss("checkPlatformCaching:postinstall",e),Ss("checkPlatformCaching:ciName",t),e===!0&&t&&t in Rs){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. Learn how: https://pris.ly/d/${Rs[t]}-build`;throw console.error(n),new V(n,r)}}m();c();p();d();f();function Os(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}m();c();p();d();f();m();c();p();d();f();var Ep=()=>globalThis.process?.release?.name==="node",xp=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Pp=()=>!!globalThis.Deno,vp=()=>typeof globalThis.Netlify=="object",Tp=()=>typeof globalThis.EdgeRuntime=="object",Cp=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Ap(){return[[vp,"netlify"],[Tp,"edge-light"],[Cp,"workerd"],[Pp,"deno"],[xp,"bun"],[Ep,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Sp={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Ms(){let e=Ap();return{id:e,prettyName:Sp[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}m();c();p();d();f();m();c();p();d();f();var Qn=Se(yn());m();c();p();d();f();function Fs(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,t=>`${t[0]}5`):""}m();c();p();d();f();function Is(e){return e.split(` `).map(t=>t.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` @@ -60,16 +60,16 @@ ${At(h)} If you want the Prisma team to look into it, please open the link above \u{1F64F} To increase the chance of success, please post your schema and a snippet of how you used Prisma Client in the issue. -`}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();function Gn(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}m();c();p();d();f();function Vr(e){return{ok:!0,value:e,map(t){return Vr(t(e))},flatMap(t){return t(e)}}}function He(e){return{ok:!1,error:e,map(){return He(e)},flatMap(){return He(e)}}}var Ds=K("driver-adapter-utils"),Jn=class{registeredErrors=[];consumeError(t){return this.registeredErrors[t]}registerNewError(t){let r=0;for(;this.registeredErrors[r]!==void 0;)r++;return this.registeredErrors[r]={error:t},r}};var Wn=(e,t=new Jn)=>{let r={adapterName:e.adapterName,errorRegistry:t,queryRaw:_e(t,e.queryRaw.bind(e)),executeRaw:_e(t,e.executeRaw.bind(e)),executeScript:_e(t,e.executeScript.bind(e)),dispose:_e(t,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await _e(t,e.startTransaction.bind(e))(...n)).map(o=>Rp(t,o))};return e.getConnectionInfo&&(r.getConnectionInfo=kp(t,e.getConnectionInfo.bind(e))),r},Rp=(e,t)=>({adapterName:t.adapterName,provider:t.provider,options:t.options,queryRaw:_e(e,t.queryRaw.bind(t)),executeRaw:_e(e,t.executeRaw.bind(t)),commit:_e(e,t.commit.bind(t)),rollback:_e(e,t.rollback.bind(t))});function _e(e,t){return async(...r)=>{try{return Vr(await t(...r))}catch(n){if(Ds("[error@wrapAsync]",n),Gn(n))return He(n.cause);let i=e.registerNewError(n);return He({kind:"GenericJs",id:i})}}}function kp(e,t){return(...r)=>{try{return Vr(t(...r))}catch(n){if(Ds("[error@wrapSync]",n),Gn(n))return He(n.cause);let i=e.registerNewError(n);return He({kind:"GenericJs",id:i})}}}m();c();p();d();f();function Qr({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new V(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new V("error: Missing URL environment variable, value, or override.",n);return i}m();c();p();d();f();m();c();p();d();f();function qs(e){if(e?.kind==="itx")return e.options.id}m();c();p();d();f();var Kn=class{engineObject;constructor(t,r,n){this.engineObject=__PrismaProxy.create({datamodel:t.datamodel,env:y.env,ignoreEnvVarErrors:!0,datasourceOverrides:t.datasourceOverrides??{},logLevel:t.logLevel,logQueries:t.logQueries??!1,logCallback:r,enableTracing:t.enableTracing})}async connect(t,r){return __PrismaProxy.connect(this.engineObject,t,r)}async disconnect(t,r){return __PrismaProxy.disconnect(this.engineObject,t,r)}query(t,r,n,i){return __PrismaProxy.execute(this.engineObject,t,r,n,i)}compile(){throw new Error("not implemented")}sdlSchema(){return Promise.resolve("{}")}dmmf(t){return Promise.resolve("{}")}async startTransaction(t,r,n){return __PrismaProxy.startTransaction(this.engineObject,t,r,n)}async commitTransaction(t,r,n){return __PrismaProxy.commitTransaction(this.engineObject,t,r,n)}async rollbackTransaction(t,r,n){return __PrismaProxy.rollbackTransaction(this.engineObject,t,r,n)}metrics(t){return Promise.resolve("{}")}async applyPendingMigrations(){return __PrismaProxy.applyPendingMigrations(this.engineObject)}trace(t){return __PrismaProxy.trace(this.engineObject,t)}},$s={async loadLibrary(e){if(!__PrismaProxy)throw new V("__PrismaProxy not detected make sure React Native bindings are installed",e.clientVersion);return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:Kn}}};var Op="P2036",Te=K("prisma:client:libraryEngine");function Mp(e){return e.item_type==="query"&&"query"in e}function Fp(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var z2=[...pn,"native"],Ip=0xffffffffffffffffn,Hn=1n;function _p(){let e=Hn++;return Hn>Ip&&(Hn=1n),e}var Xt=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(t,r){this.libraryLoader=$s,this.config=t,this.libraryStarted=!1,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(t.overrideDatasources)[0],i=t.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(t){return{applyPendingMigrations:t.applyPendingMigrations?.bind(t),commitTransaction:this.withRequestId(t.commitTransaction.bind(t)),connect:this.withRequestId(t.connect.bind(t)),disconnect:this.withRequestId(t.disconnect.bind(t)),metrics:t.metrics?.bind(t),query:this.withRequestId(t.query.bind(t)),rollbackTransaction:this.withRequestId(t.rollbackTransaction.bind(t)),sdlSchema:t.sdlSchema?.bind(t),startTransaction:this.withRequestId(t.startTransaction.bind(t)),trace:t.trace.bind(t)}}withRequestId(t){return async(...r)=>{let n=_p().toString();try{return await t(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){await this.start(),await this.engine?.applyPendingMigrations()}async transaction(t,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(t==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else t==="commit"?s=await this.engine?.commitTransaction(n.id,o):t==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(Lp(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new oe(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new G(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Te("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(t){if(!t)throw new G("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(t)}catch{throw new G("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let t=new b(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(Wn));let r=await this.adapterPromise;r&&Te("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:y.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{t.deref()?.logger(n)},r))}catch(t){let r=t,n=this.parseInitError(r.message);throw typeof n=="string"?r:new V(n.message,this.config.clientVersion,n.error_code)}}}logger(t){let r=this.parseEngineResponse(t);r&&(r.level=r?.level.toLowerCase()??"unknown",Mp(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):Fp(r)?this.loggerRustPanic=new ue(zn(this,`${r.message}: ${r.reason} in ${r.file}:${r.line}:${r.column}`),this.config.clientVersion):this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path}))}parseInitError(t){try{return JSON.parse(t)}catch{}return t}parseRequestError(t){try{return JSON.parse(t)}catch{}return t}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Te(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let t=async()=>{Te("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,Te("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new V(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",t),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Te("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted)return;let t=async()=>{await new Promise(n=>setTimeout(n,5)),Te("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.libraryStarted=!1,this.libraryStoppingPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Te("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",t),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(t){return this.library?.debugPanic(t)}async request(t,{traceparent:r,interactiveTransaction:n}){Te(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(t);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof V)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new ue(zn(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new G(`${a.message} -${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(t,{transaction:r,traceparent:n}){Te("requestBatch");let i=$r(t,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine.query(this.lastQuery,JSON.stringify({traceparent:n}),qs(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(g=>g.errors&&g.errors.length>0?this.loggerRustPanic??this.buildQueryError(g.errors[0],o?.errorRegistry):{data:g});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(t,r){if(t.user_facing_error.is_panic)return new ue(zn(this,t.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(t.user_facing_error,r);return n?n.error:jr(t,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(t,r){if(t.error_code===Op&&r){let n=t.meta?.id;sr(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return sr(i,"External error with reported id was not registered"),i}}async metrics(t){await this.start();let r=await this.engine.metrics(JSON.stringify(t));return t.format==="prometheus"?r:this.parseEngineResponse(r)}};function Lp(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function zn(e,t){return Ns({binaryTarget:e.binaryTarget,title:t,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}function js({copyEngine:e=!0},t){let r;try{r=Qr({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||gn(r));e&&n&&_t("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=nt(t.generator),o=n||!e,s=!!t.adapter,a=i==="library",l=i==="binary",u=i==="client";if(o&&s||s&&!1){let g;throw e?r?.startsWith("prisma://")?g=["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]:g=["Prisma Client was configured to use both the `adapter` and Accelerate, please chose one."]:g=["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."],new ee(g.join(` -`),{clientVersion:t.clientVersion})}return new Xt(t)}m();c();p();d();f();function Gr({generator:e}){return e?.previewFeatures??[]}m();c();p();d();f();var Bs=e=>({command:e});m();c();p();d();f();m();c();p();d();f();var Us=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);m();c();p();d();f();function xt(e){try{return Vs(e,"fast")}catch{return Vs(e,"slow")}}function Vs(e,t){return JSON.stringify(e.map(r=>Gs(r,t)))}function Gs(e,t){if(Array.isArray(e))return e.map(r=>Gs(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(lt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(be.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Np(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Js(e):e}function Np(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Js(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Qs);let t={};for(let r of Object.keys(e))t[r]=Qs(e[r]);return t}function Qs(e){return typeof e=="bigint"?e.toString():Js(e)}var Dp=/^(\s*alter\s)/i,Ws=K("prisma:client");function Yn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&Dp.exec(t))throw new Error(`Running ALTER using ${n} is not supported +`}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();function Gn(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}m();c();p();d();f();function Vr(e){return{ok:!0,value:e,map(t){return Vr(t(e))},flatMap(t){return t(e)}}}function He(e){return{ok:!1,error:e,map(){return He(e)},flatMap(){return He(e)}}}var Ds=K("driver-adapter-utils"),Jn=class{registeredErrors=[];consumeError(t){return this.registeredErrors[t]}registerNewError(t){let r=0;for(;this.registeredErrors[r]!==void 0;)r++;return this.registeredErrors[r]={error:t},r}};var Wn=(e,t=new Jn)=>{let r={adapterName:e.adapterName,errorRegistry:t,queryRaw:_e(t,e.queryRaw.bind(e)),executeRaw:_e(t,e.executeRaw.bind(e)),executeScript:_e(t,e.executeScript.bind(e)),dispose:_e(t,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await _e(t,e.startTransaction.bind(e))(...n)).map(o=>Rp(t,o))};return e.getConnectionInfo&&(r.getConnectionInfo=kp(t,e.getConnectionInfo.bind(e))),r},Rp=(e,t)=>({adapterName:t.adapterName,provider:t.provider,options:t.options,queryRaw:_e(e,t.queryRaw.bind(t)),executeRaw:_e(e,t.executeRaw.bind(t)),commit:_e(e,t.commit.bind(t)),rollback:_e(e,t.rollback.bind(t))});function _e(e,t){return async(...r)=>{try{return Vr(await t(...r))}catch(n){if(Ds("[error@wrapAsync]",n),Gn(n))return He(n.cause);let i=e.registerNewError(n);return He({kind:"GenericJs",id:i})}}}function kp(e,t){return(...r)=>{try{return Vr(t(...r))}catch(n){if(Ds("[error@wrapSync]",n),Gn(n))return He(n.cause);let i=e.registerNewError(n);return He({kind:"GenericJs",id:i})}}}var qs="6.8.2";m();c();p();d();f();function Qr({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new V(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new V("error: Missing URL environment variable, value, or override.",n);return i}m();c();p();d();f();m();c();p();d();f();function $s(e){if(e?.kind==="itx")return e.options.id}m();c();p();d();f();var Kn=class{engineObject;constructor(t,r,n){this.engineObject=__PrismaProxy.create({datamodel:t.datamodel,env:y.env,ignoreEnvVarErrors:!0,datasourceOverrides:t.datasourceOverrides??{},logLevel:t.logLevel,logQueries:t.logQueries??!1,logCallback:r,enableTracing:t.enableTracing})}async connect(t,r){return __PrismaProxy.connect(this.engineObject,t,r)}async disconnect(t,r){return __PrismaProxy.disconnect(this.engineObject,t,r)}query(t,r,n,i){return __PrismaProxy.execute(this.engineObject,t,r,n,i)}compile(){throw new Error("not implemented")}sdlSchema(){return Promise.resolve("{}")}dmmf(t){return Promise.resolve("{}")}async startTransaction(t,r,n){return __PrismaProxy.startTransaction(this.engineObject,t,r,n)}async commitTransaction(t,r,n){return __PrismaProxy.commitTransaction(this.engineObject,t,r,n)}async rollbackTransaction(t,r,n){return __PrismaProxy.rollbackTransaction(this.engineObject,t,r,n)}metrics(t){return Promise.resolve("{}")}async applyPendingMigrations(){return __PrismaProxy.applyPendingMigrations(this.engineObject)}trace(t){return __PrismaProxy.trace(this.engineObject,t)}},js={async loadLibrary(e){if(!__PrismaProxy)throw new V("__PrismaProxy not detected make sure React Native bindings are installed",e.clientVersion);return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:Kn}}};var Mp="P2036",Te=K("prisma:client:libraryEngine");function Fp(e){return e.item_type==="query"&&"query"in e}function Ip(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var Z2=[...pn,"native"],_p=0xffffffffffffffffn,Hn=1n;function Lp(){let e=Hn++;return Hn>_p&&(Hn=1n),e}var Xt=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(t,r){this.libraryLoader=js,this.config=t,this.libraryStarted=!1,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(t.overrideDatasources)[0],i=t.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(t){return{applyPendingMigrations:t.applyPendingMigrations?.bind(t),commitTransaction:this.withRequestId(t.commitTransaction.bind(t)),connect:this.withRequestId(t.connect.bind(t)),disconnect:this.withRequestId(t.disconnect.bind(t)),metrics:t.metrics?.bind(t),query:this.withRequestId(t.query.bind(t)),rollbackTransaction:this.withRequestId(t.rollbackTransaction.bind(t)),sdlSchema:t.sdlSchema?.bind(t),startTransaction:this.withRequestId(t.startTransaction.bind(t)),trace:t.trace.bind(t)}}withRequestId(t){return async(...r)=>{let n=Lp().toString();try{return await t(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){await this.start(),await this.engine?.applyPendingMigrations()}async transaction(t,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(t==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else t==="commit"?s=await this.engine?.commitTransaction(n.id,o):t==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(Np(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new oe(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new G(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Te("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(t){if(!t)throw new G("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(t)}catch{throw new G("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let t=new b(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(Wn));let r=await this.adapterPromise;r&&Te("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:y.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{t.deref()?.logger(n)},r))}catch(t){let r=t,n=this.parseInitError(r.message);throw typeof n=="string"?r:new V(n.message,this.config.clientVersion,n.error_code)}}}logger(t){let r=this.parseEngineResponse(t);r&&(r.level=r?.level.toLowerCase()??"unknown",Fp(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):Ip(r)?this.loggerRustPanic=new ue(zn(this,`${r.message}: ${r.reason} in ${r.file}:${r.line}:${r.column}`),this.config.clientVersion):this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path}))}parseInitError(t){try{return JSON.parse(t)}catch{}return t}parseRequestError(t){try{return JSON.parse(t)}catch{}return t}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Te(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let t=async()=>{Te("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,Te("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new V(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",t),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Te("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted)return;let t=async()=>{await new Promise(n=>setTimeout(n,5)),Te("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.libraryStarted=!1,this.libraryStoppingPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Te("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",t),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(t){return this.library?.debugPanic(t)}async request(t,{traceparent:r,interactiveTransaction:n}){Te(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(t);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof V)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new ue(zn(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new G(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(t,{transaction:r,traceparent:n}){Te("requestBatch");let i=$r(t,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine.query(this.lastQuery,JSON.stringify({traceparent:n}),$s(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(g=>g.errors&&g.errors.length>0?this.loggerRustPanic??this.buildQueryError(g.errors[0],o?.errorRegistry):{data:g});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(t,r){if(t.user_facing_error.is_panic)return new ue(zn(this,t.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(t.user_facing_error,r);return n?n.error:jr(t,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(t,r){if(t.error_code===Mp&&r){let n=t.meta?.id;sr(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return sr(i,"External error with reported id was not registered"),i}}async metrics(t){await this.start();let r=await this.engine.metrics(JSON.stringify(t));return t.format==="prometheus"?r:this.parseEngineResponse(r)}};function Np(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function zn(e,t){return Ns({binaryTarget:e.binaryTarget,title:t,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}function Bs({copyEngine:e=!0},t){let r;try{r=Qr({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||gn(r));e&&n&&_t("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=nt(t.generator),o=n||!e,s=!!t.adapter,a=i==="library",l=i==="binary",u=i==="client";if(o&&s||s&&!1){let g;throw e?r?.startsWith("prisma://")?g=["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]:g=["Prisma Client was configured to use both the `adapter` and Accelerate, please chose one."]:g=["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."],new ee(g.join(` +`),{clientVersion:t.clientVersion})}return new Xt(t)}m();c();p();d();f();function Gr({generator:e}){return e?.previewFeatures??[]}m();c();p();d();f();var Us=e=>({command:e});m();c();p();d();f();m();c();p();d();f();var Vs=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);m();c();p();d();f();function xt(e){try{return Qs(e,"fast")}catch{return Qs(e,"slow")}}function Qs(e,t){return JSON.stringify(e.map(r=>Js(r,t)))}function Js(e,t){if(Array.isArray(e))return e.map(r=>Js(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(lt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(fe.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Dp(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Ws(e):e}function Dp(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Ws(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Gs);let t={};for(let r of Object.keys(e))t[r]=Gs(e[r]);return t}function Gs(e){return typeof e=="bigint"?e.toString():Ws(e)}var qp=/^(\s*alter\s)/i,Ks=K("prisma:client");function Yn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&qp.exec(t))throw new Error(`Running ALTER using ${n} is not supported Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. Example: await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) More Information: https://pris.ly/d/execute-raw -`)}var Zn=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Lr(r))n=r.sql,i={values:xt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:xt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:xt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:xt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Us(r),i={values:xt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Ws(`prisma.${e}(${n}, ${i.values})`):Ws(`prisma.${e}(${n})`),{query:n,parameters:i}},Ks={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new ae(t,r)}},Hs={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};m();c();p();d();f();function Xn(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=zs(r(s)):zs(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function zs(e){return typeof e.then=="function"?e:Promise.resolve(e)}m();c();p();d();f();var qp=fn.split(".")[0],$p={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ei=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${qp}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??$p}};function Ys(){return new ei}m();c();p();d();f();function Zs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}m();c();p();d();f();function Xs(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}m();c();p();d();f();var Jr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};m();c();p();d();f();var ta=Se(yn());m();c();p();d();f();function Wr(e){return typeof e.batchRequestIdx=="number"}m();c();p();d();f();function ea(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ti(e.query.arguments)),t.push(ti(e.query.selection)),t.join("")}function ti(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ti(n)})`:r}).join(" ")})`}m();c();p();d();f();var jp={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ri(e){return jp[e]}m();c();p();d();f();var Kr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;ize("bigint",r));case"bytes-array":return t.map(r=>ze("bytes",r));case"decimal-array":return t.map(r=>ze("decimal",r));case"datetime-array":return t.map(r=>ze("datetime",r));case"date-array":return t.map(r=>ze("date",r));case"time-array":return t.map(r=>ze("time",r));default:return t}}function Hr(e){let t=[],r=Bp(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(h=>ri(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:Vp(o),containsWrite:u,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(R){return R}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?ra(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ri(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:ea(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Up(t),Qp(t,i))throw t;if(t instanceof oe&&Gp(t)){let u=na(t.meta);kr({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=br({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let u=s?{modelName:s,...t.meta}:t.meta;throw new oe(l,{code:t.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ue(l,this.client._clientVersion);if(t instanceof G)throw new G(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof V)throw new V(l,this.client._clientVersion);if(t instanceof ue)throw new ue(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,ta.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(u=>u!=="select"&&u!=="include"),a=jn(o,s),l=i==="queryRaw"?Hr(a):at(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function Vp(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:ra(e)};Me(e,"Unknown transaction kind")}}function ra(e){return{id:e.id,payload:e.payload}}function Qp(e,t){return Wr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function Gp(e){return e.code==="P2009"||e.code==="P2012"}function na(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(na)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}m();c();p();d();f();var ia="6.7.0";var oa=ia;m();c();p();d();f();var ca=Se(Sn());m();c();p();d();f();var q=class extends Error{constructor(t){super(t+` +`)}var Zn=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Lr(r))n=r.sql,i={values:xt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:xt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:xt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:xt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Vs(r),i={values:xt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Ks(`prisma.${e}(${n}, ${i.values})`):Ks(`prisma.${e}(${n})`),{query:n,parameters:i}},Hs={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new ae(t,r)}},zs={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};m();c();p();d();f();function Xn(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Ys(r(s)):Ys(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Ys(e){return typeof e.then=="function"?e:Promise.resolve(e)}m();c();p();d();f();var $p=fn.split(".")[0],jp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ei=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${$p}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??jp}};function Zs(){return new ei}m();c();p();d();f();function Xs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}m();c();p();d();f();function ea(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}m();c();p();d();f();var Jr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};m();c();p();d();f();var ra=Se(yn());m();c();p();d();f();function Wr(e){return typeof e.batchRequestIdx=="number"}m();c();p();d();f();function ta(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ti(e.query.arguments)),t.push(ti(e.query.selection)),t.join("")}function ti(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ti(n)})`:r}).join(" ")})`}m();c();p();d();f();var Bp={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ri(e){return Bp[e]}m();c();p();d();f();var Kr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;ize("bigint",r));case"bytes-array":return t.map(r=>ze("bytes",r));case"decimal-array":return t.map(r=>ze("decimal",r));case"datetime-array":return t.map(r=>ze("datetime",r));case"date-array":return t.map(r=>ze("date",r));case"time-array":return t.map(r=>ze("time",r));default:return t}}function Hr(e){let t=[],r=Up(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(h=>ri(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:Qp(o),containsWrite:u,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(R){return R}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?na(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ri(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:ta(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Vp(t),Gp(t,i))throw t;if(t instanceof oe&&Jp(t)){let u=ia(t.meta);kr({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=br({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let u=s?{modelName:s,...t.meta}:t.meta;throw new oe(l,{code:t.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ue(l,this.client._clientVersion);if(t instanceof G)throw new G(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof V)throw new V(l,this.client._clientVersion);if(t instanceof ue)throw new ue(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,ra.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(u=>u!=="select"&&u!=="include"),a=jn(o,s),l=i==="queryRaw"?Hr(a):at(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function Qp(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:na(e)};Me(e,"Unknown transaction kind")}}function na(e){return{id:e.id,payload:e.payload}}function Gp(e,t){return Wr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function Jp(e){return e.code==="P2009"||e.code==="P2012"}function ia(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(ia)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}m();c();p();d();f();var oa=qs;m();c();p();d();f();var ca=Se(Sn());m();c();p();d();f();var q=class extends Error{constructor(t){super(t+` Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};le(q,"PrismaClientConstructorValidationError");var sa=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],aa=["pretty","colorless","minimal"],la=["info","query","warn","error"],Wp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=Pt(r,t)||` Available datasources: ${t.join(", ")}`;throw new q(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new q(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. @@ -78,6 +78,6 @@ Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")thr ${i} -${n}`}m();c();p();d();f();function da(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=u=>{o||(o=!0,r(u))};for(let u=0;u{n[u]=g,a()},g=>{if(!Wr(g)){l(g);return}g.batchRequestIdx===u?l(g):(i||(i=g),a())})})}var Ve=K("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Yp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Zp=Symbol.for("prisma.client.transaction.id"),Xp={id:0,nextId(){return++this.id}};function ga(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Jr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Xn();constructor(n){e=n?.__internal?.configOverride?.(e)??e,ks(e),n&&pa(n,e);let i=new Nr().on("error",()=>{});this._extensions=yt.empty(),this._previewFeatures=Gr(e),this._clientVersion=e.clientVersion??oa,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Ys();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&Oe.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&Oe.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new V(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new V("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},g=u.debug===!0;g&&K.enable("prisma:client");let h=Oe.resolve(e.dirname,e.relativePath);or.existsSync(h)||(h=e.dirname),Ve("dirname",e.dirname),Ve("relativePath",e.relativePath),Ve("cwd",h);let v=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Xs(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(R=>typeof R=="string"?R==="query":R.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Os(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:Qr,getBatchRequestPayload:$r,prismaGraphQLToJSError:jr,PrismaClientUnknownRequestError:G,PrismaClientInitializationError:V,PrismaClientKnownRequestError:oe,debug:K("prisma:client:accelerateEngine"),engineVersion:ma.version,clientVersion:e.clientVersion}},Ve("clientVersion",e.clientVersion),this._engine=js(e,this._engineConfig),this._requestHandler=new zr(this,i),l.log)for(let R of l.log){let C=typeof R=="string"?R:R.emit==="stdout"?R.level:null;C&&this.$on(C,A=>{It.log(`${It.tags[C]??""}`,A.message||A.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Yt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{_i()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:Ue(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=fa(n,i);return Yn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new ee("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Yn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new ee(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Bs,callsite:Ue(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:Ue(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...fa(n,i));throw new ee("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new ee("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Xp.nextId(),s=Zs(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:u,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return da(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return me(Yt(me(ms(this),[re("_appliedParent",()=>this._appliedParent._createItxClient(n)),re("_createPrismaPromise",()=>Xn(n)),re(Zp,()=>n.id)])),[bt(bs)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Yp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async u=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,M=>g(u,I=>(M?.end(),l(I))));let{runInTransaction:h,args:v,...R}=u,C={...n,...R};v&&(C.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete C.transaction;let A=await vs(this,C);return C.model?ws({result:A,modelName:C.model,args:C.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):A};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:R}){try{n=u?u(n):n;let C={name:"serialize"},A=this._tracingHelper.runInChildSpan(C,()=>Ir({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return K.enabled("prisma:client")&&(Ve("Prisma Client call:"),Ve(`prisma.${i}(${ns(n)})`),Ve("Generated request:"),Ve(JSON.stringify(A,null,2)+` -`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:A,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:R})}catch(C){throw C.clientVersion=this._clientVersion,C}}$metrics=new wt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=gs}return t}function fa(e,t){return ed(e)?[new ae(e,t),Ks]:[e,Hs]}function ed(e){return Array.isArray(e)&&Array.isArray(e.raw)}m();c();p();d();f();var td=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function ha(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!td.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}m();c();p();d();f();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +${n}`}m();c();p();d();f();function da(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=u=>{o||(o=!0,r(u))};for(let u=0;u{n[u]=g,a()},g=>{if(!Wr(g)){l(g);return}g.batchRequestIdx===u?l(g):(i||(i=g),a())})})}var Ve=K("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Yp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Zp=Symbol.for("prisma.client.transaction.id"),Xp={id:0,nextId(){return++this.id}};function ga(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Jr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Xn();constructor(n){e=n?.__internal?.configOverride?.(e)??e,ks(e),n&&pa(n,e);let i=new Nr().on("error",()=>{});this._extensions=yt.empty(),this._previewFeatures=Gr(e),this._clientVersion=e.clientVersion??oa,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Zs();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&Oe.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&Oe.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"?"postgres":e.activeProvider;if(s.provider!==l)throw new V(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new V("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},g=u.debug===!0;g&&K.enable("prisma:client");let h=Oe.resolve(e.dirname,e.relativePath);or.existsSync(h)||(h=e.dirname),Ve("dirname",e.dirname),Ve("relativePath",e.relativePath),Ve("cwd",h);let v=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&ea(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(R=>typeof R=="string"?R==="query":R.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Os(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:Qr,getBatchRequestPayload:$r,prismaGraphQLToJSError:jr,PrismaClientUnknownRequestError:G,PrismaClientInitializationError:V,PrismaClientKnownRequestError:oe,debug:K("prisma:client:accelerateEngine"),engineVersion:ma.version,clientVersion:e.clientVersion}},Ve("clientVersion",e.clientVersion),this._engine=Bs(e,this._engineConfig),this._requestHandler=new zr(this,i),l.log)for(let R of l.log){let C=typeof R=="string"?R:R.emit==="stdout"?R.level:null;C&&this.$on(C,A=>{It.log(`${It.tags[C]??""}`,A.message||A.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Yt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{_i()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:Ue(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=fa(n,i);return Yn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new ee("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Yn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new ee(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Us,callsite:Ue(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:Ue(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...fa(n,i));throw new ee("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new ee("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Xp.nextId(),s=Xs(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:u,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return da(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return ge(Yt(ge(ms(this),[re("_appliedParent",()=>this._appliedParent._createItxClient(n)),re("_createPrismaPromise",()=>Xn(n)),re(Zp,()=>n.id)])),[bt(bs)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Yp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async u=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,M=>g(u,I=>(M?.end(),l(I))));let{runInTransaction:h,args:v,...R}=u,C={...n,...R};v&&(C.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete C.transaction;let A=await vs(this,C);return C.model?ws({result:A,modelName:C.model,args:C.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):A};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:R}){try{n=u?u(n):n;let C={name:"serialize"},A=this._tracingHelper.runInChildSpan(C,()=>Ir({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return K.enabled("prisma:client")&&(Ve("Prisma Client call:"),Ve(`prisma.${i}(${ns(n)})`),Ve("Generated request:"),Ve(JSON.stringify(A,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:A,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:R})}catch(C){throw C.clientVersion=this._clientVersion,C}}$metrics=new wt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=gs}return t}function fa(e,t){return ed(e)?[new ae(e,t),Hs]:[e,zs]}function ed(e){return Array.isArray(e)&&Array.isArray(e.raw)}m();c();p();d();f();var td=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function ha(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!td.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}m();c();p();d();f();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); //# sourceMappingURL=react-native.js.map diff --git a/generated/prisma/runtime/wasm.js b/generated/prisma/runtime/wasm.js index 5217de1..e274dc8 100644 --- a/generated/prisma/runtime/wasm.js +++ b/generated/prisma/runtime/wasm.js @@ -1,27 +1,27 @@ /* !!! This is code generated by Prisma. Do not edit directly. !!! /* eslint-disable */ -"use strict";var zo=Object.create;var Ot=Object.defineProperty;var Yo=Object.getOwnPropertyDescriptor;var Xo=Object.getOwnPropertyNames;var Zo=Object.getPrototypeOf,es=Object.prototype.hasOwnProperty;var ne=(t,e)=>()=>(t&&(e=t(t=0)),e);var Le=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rt=(t,e)=>{for(var r in e)Ot(t,r,{get:e[r],enumerable:!0})},cn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xo(e))!es.call(t,i)&&i!==r&&Ot(t,i,{get:()=>e[i],enumerable:!(n=Yo(e,i))||n.enumerable});return t};var nt=(t,e,r)=>(r=t!=null?zo(Zo(t)):{},cn(e||!t||!t.__esModule?Ot(r,"default",{value:t,enumerable:!0}):r,t)),ts=t=>cn(Ot({},"__esModule",{value:!0}),t);function xr(t,e){if(e=e.toLowerCase(),e==="utf8"||e==="utf-8")return new y(os.encode(t));if(e==="base64"||e==="base64url")return t=t.replace(/-/g,"+").replace(/_/g,"/"),t=t.replace(/[^A-Za-z0-9+/]/g,""),new y([...atob(t)].map(r=>r.charCodeAt(0)));if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return new y([...t].map(r=>r.charCodeAt(0)));if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let r=new y(t.length*2),n=new DataView(r.buffer);for(let i=0;ia.startsWith("get")||a.startsWith("set")),n=r.map(a=>a.replace("get","read").replace("set","write")),i=(a,f)=>function(h=0){return B(h,"offset"),Y(h,"offset"),V(h,"offset",this.length-1),new DataView(this.buffer)[r[a]](h,f)},o=(a,f)=>function(h,T=0){let C=r[a].match(/set(\w+\d+)/)[1].toLowerCase(),k=is[C];return B(T,"offset"),Y(T,"offset"),V(T,"offset",this.length-1),ns(h,"value",k[0],k[1]),new DataView(this.buffer)[r[a]](T,h,f),T+parseInt(r[a].match(/\d+/)[0])/8},s=a=>{a.forEach(f=>{f.includes("Uint")&&(t[f.replace("Uint","UInt")]=t[f]),f.includes("Float64")&&(t[f.replace("Float64","Double")]=t[f]),f.includes("Float32")&&(t[f.replace("Float32","Float")]=t[f])})};n.forEach((a,f)=>{a.startsWith("read")&&(t[a]=i(f,!1),t[a+"LE"]=i(f,!0),t[a+"BE"]=i(f,!1)),a.startsWith("write")&&(t[a]=o(f,!1),t[a+"LE"]=o(f,!0),t[a+"BE"]=o(f,!1)),s([a,a+"LE",a+"BE"])})}function pn(t){throw new Error(`Buffer polyfill does not implement "${t}"`)}function Mt(t,e){if(!(t instanceof Uint8Array))throw new TypeError(`The "${e}" argument must be an instance of Buffer or Uint8Array`)}function V(t,e,r=ls+1){if(t<0||t>r){let n=new RangeError(`The value of "${e}" is out of range. It must be >= 0 && <= ${r}. Received ${t}`);throw n.code="ERR_OUT_OF_RANGE",n}}function B(t,e){if(typeof t!="number"){let r=new TypeError(`The "${e}" argument must be of type number. Received type ${typeof t}.`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function Y(t,e){if(!Number.isInteger(t)||Number.isNaN(t)){let r=new RangeError(`The value of "${e}" is out of range. It must be an integer. Received ${t}`);throw r.code="ERR_OUT_OF_RANGE",r}}function ns(t,e,r,n){if(tn){let i=new RangeError(`The value of "${e}" is out of range. It must be >= ${r} and <= ${n}. Received ${t}`);throw i.code="ERR_OUT_OF_RANGE",i}}function mn(t,e){if(typeof t!="string"){let r=new TypeError(`The "${e}" argument must be of type string. Received type ${typeof t}`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function us(t,e="utf8"){return y.from(t,e)}var y,is,os,ss,as,ls,b,Er,u=ne(()=>{"use strict";y=class t extends Uint8Array{_isBuffer=!0;get offset(){return this.byteOffset}static alloc(e,r=0,n="utf8"){return mn(n,"encoding"),t.allocUnsafe(e).fill(r,n)}static allocUnsafe(e){return t.from(e)}static allocUnsafeSlow(e){return t.from(e)}static isBuffer(e){return e&&!!e._isBuffer}static byteLength(e,r="utf8"){if(typeof e=="string")return xr(e,r).byteLength;if(e&&e.byteLength)return e.byteLength;let n=new TypeError('The "string" argument must be of type string or an instance of Buffer or ArrayBuffer.');throw n.code="ERR_INVALID_ARG_TYPE",n}static isEncoding(e){return as.includes(e)}static compare(e,r){Mt(e,"buff1"),Mt(r,"buff2");for(let n=0;nr[n])return 1}return e.length===r.length?0:e.length>r.length?1:-1}static from(e,r="utf8"){if(e&&typeof e=="object"&&e.type==="Buffer")return new t(e.data);if(typeof e=="number")return new t(new Uint8Array(e));if(typeof e=="string")return xr(e,r);if(ArrayBuffer.isView(e)){let{byteOffset:n,byteLength:i,buffer:o}=e;return"map"in e&&typeof e.map=="function"?new t(e.map(s=>s%256),n,i):new t(o,n,i)}if(e&&typeof e=="object"&&("length"in e||"byteLength"in e||"buffer"in e))return new t(e);throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}static concat(e,r){if(e.length===0)return t.alloc(0);let n=[].concat(...e.map(o=>[...o])),i=t.alloc(r!==void 0?r:n.length);return i.set(r!==void 0?n.slice(0,r):n),i}slice(e=0,r=this.length){return this.subarray(e,r)}subarray(e=0,r=this.length){return Object.setPrototypeOf(super.subarray(e,r),t.prototype)}reverse(){return super.reverse(),this}readIntBE(e,r){B(e,"offset"),Y(e,"offset"),V(e,"offset",this.length-1),B(r,"byteLength"),Y(r,"byteLength");let n=new DataView(this.buffer,e,r),i=0;for(let o=0;o=0;o--)i.setUint8(o,e&255),e=e/256;return r+n}writeUintBE(e,r,n){return this.writeUIntBE(e,r,n)}writeUIntLE(e,r,n){B(r,"offset"),Y(r,"offset"),V(r,"offset",this.length-1),B(n,"byteLength"),Y(n,"byteLength");let i=new DataView(this.buffer,r,n);for(let o=0;or===e[n])}copy(e,r=0,n=0,i=this.length){V(r,"targetStart"),V(n,"sourceStart",this.length),V(i,"sourceEnd"),r>>>=0,n>>>=0,i>>>=0;let o=0;for(;n=this.length?this.length-a:e.length),a);return this}includes(e,r=null,n="utf-8"){return this.indexOf(e,r,n)!==-1}lastIndexOf(e,r=null,n="utf-8"){return this.indexOf(e,r,n,!0)}indexOf(e,r=null,n="utf-8",i=!1){let o=i?this.findLastIndex.bind(this):this.findIndex.bind(this);n=typeof r=="string"?r:n;let s=t.from(typeof e=="number"?[e]:e,n),a=typeof r=="string"?0:r;return a=typeof r=="number"?a:null,a=Number.isNaN(a)?null:a,a??=i?this.length:0,a=a<0?this.length+a:a,s.length===0&&i===!1?a>=this.length?this.length:a:s.length===0&&i===!0?(a>=this.length?this.length:a)||this.length:o((f,h)=>(i?h<=a:h>=a)&&this[h]===s[0]&&s.every((C,k)=>this[h+k]===C))}toString(e="utf8",r=0,n=this.length){if(r=r<0?0:r,e=e.toString().toLowerCase(),n<=0)return"";if(e==="utf8"||e==="utf-8")return ss.decode(this.slice(r,n));if(e==="base64"||e==="base64url"){let i=btoa(this.reduce((o,s)=>o+Er(s),""));return e==="base64url"?i.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):i}if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return this.slice(r,n).reduce((i,o)=>i+Er(o&(e==="ascii"?127:255)),"");if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let i=new DataView(this.buffer.slice(r,n));return Array.from({length:i.byteLength/2},(o,s)=>s*2+1i+o.toString(16).padStart(2,"0"),"");pn(`encoding "${e}"`)}toLocaleString(){return this.toString()}inspect(){return``}};is={int8:[-128,127],int16:[-32768,32767],int32:[-2147483648,2147483647],uint8:[0,255],uint16:[0,65535],uint32:[0,4294967295],float32:[-1/0,1/0],float64:[-1/0,1/0],bigint64:[-0x8000000000000000n,0x7fffffffffffffffn],biguint64:[0n,0xffffffffffffffffn]},os=new TextEncoder,ss=new TextDecoder,as=["utf8","utf-8","hex","base64","ascii","binary","base64url","ucs2","ucs-2","utf16le","utf-16le","latin1","latin-1"],ls=4294967295;rs(y.prototype);b=new Proxy(us,{construct(t,[e,r]){return y.from(e,r)},get(t,e){return y[e]}}),Er=String.fromCodePoint});var g,c=ne(()=>{"use strict";g={nextTick:(t,...e)=>{setTimeout(()=>{t(...e)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var E,m=ne(()=>{"use strict";E=globalThis.performance??(()=>{let t=Date.now();return{now:()=>Date.now()-t}})()});var x,p=ne(()=>{"use strict";x=()=>{};x.prototype=x});var w,d=ne(()=>{"use strict";w=class{value;constructor(e){this.value=e}deref(){return this.value}}});function yn(t,e){var r,n,i,o,s,a,f,h,T=t.constructor,C=T.precision;if(!t.s||!e.s)return e.s||(e=new T(t)),q?_(e,C):e;if(f=t.d,h=e.d,s=t.e,i=e.e,f=f.slice(),o=s-i,o){for(o<0?(n=f,o=-o,a=h.length):(n=h,i=s,a=f.length),s=Math.ceil(C/N),a=s>a?s+1:a+1,o>a&&(o=a,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(a=f.length,o=h.length,a-o<0&&(o=a,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/Q|0,f[o]%=Q;for(r&&(f.unshift(r),++i),a=f.length;f[--a]==0;)f.pop();return e.d=f,e.e=i,q?_(e,C):e}function ce(t,e,r){if(t!==~~t||tr)throw Error(Oe+t)}function ue(t){var e,r,n,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e16)throw Error(vr+$(t));if(!t.s)return new T(ee);for(e==null?(q=!1,a=C):a=e,s=new T(.03125);t.abs().gte(.1);)t=t.times(s),h+=5;for(n=Math.log(ke(2,h))/Math.LN10*2+5|0,a+=n,r=i=o=new T(ee),T.precision=a;;){if(i=_(i.times(t),a),r=r.times(++f),s=o.plus(he(i,r,a)),ue(s.d).slice(0,a)===ue(o.d).slice(0,a)){for(;h--;)o=_(o.times(o),a);return T.precision=C,e==null?(q=!0,_(o,C)):o}o=s}}function $(t){for(var e=t.e*N,r=t.d[0];r>=10;r/=10)e++;return e}function Pr(t,e,r){if(e>t.LN10.sd())throw q=!0,r&&(t.precision=r),Error(ie+"LN10 precision limit exceeded");return _(new t(t.LN10),e)}function Pe(t){for(var e="";t--;)e+="0";return e}function it(t,e){var r,n,i,o,s,a,f,h,T,C=1,k=10,A=t,O=A.d,S=A.constructor,M=S.precision;if(A.s<1)throw Error(ie+(A.s?"NaN":"-Infinity"));if(A.eq(ee))return new S(0);if(e==null?(q=!1,h=M):h=e,A.eq(10))return e==null&&(q=!0),Pr(S,h);if(h+=k,S.precision=h,r=ue(O),n=r.charAt(0),o=$(A),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)A=A.times(t),r=ue(A.d),n=r.charAt(0),C++;o=$(A),n>1?(A=new S("0."+r),o++):A=new S(n+"."+r.slice(1))}else return f=Pr(S,h+2,M).times(o+""),A=it(new S(n+"."+r.slice(1)),h-k).plus(f),S.precision=M,e==null?(q=!0,_(A,M)):A;for(a=s=A=he(A.minus(ee),A.plus(ee),h),T=_(A.times(A),h),i=3;;){if(s=_(s.times(T),h),f=a.plus(he(s,new S(i),h)),ue(f.d).slice(0,h)===ue(a.d).slice(0,h))return a=a.times(2),o!==0&&(a=a.plus(Pr(S,h+2,M).times(o+""))),a=he(a,new S(C),h),S.precision=M,e==null?(q=!0,_(a,M)):a;a=f,i+=2}}function dn(t,e){var r,n,i;for((r=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(r<0&&(r=n),r+=+e.slice(n+1),e=e.substring(0,n)):r<0&&(r=e.length),n=0;e.charCodeAt(n)===48;)++n;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(n,i),e){if(i-=n,r=r-n-1,t.e=Ne(r/N),t.d=[],n=(r+1)%N,r<0&&(n+=N),nIt||t.e<-It))throw Error(vr+r)}else t.s=0,t.e=0,t.d=[0];return t}function _(t,e,r){var n,i,o,s,a,f,h,T,C=t.d;for(s=1,o=C[0];o>=10;o/=10)s++;if(n=e-s,n<0)n+=N,i=e,h=C[T=0];else{if(T=Math.ceil((n+1)/N),o=C.length,T>=o)return t;for(h=o=C[T],s=1;o>=10;o/=10)s++;n%=N,i=n-N+s}if(r!==void 0&&(o=ke(10,s-i-1),a=h/o%10|0,f=e<0||C[T+1]!==void 0||h%o,f=r<4?(a||f)&&(r==0||r==(t.s<0?3:2)):a>5||a==5&&(r==4||f||r==6&&(n>0?i>0?h/ke(10,s-i):0:C[T-1])%10&1||r==(t.s<0?8:7))),e<1||!C[0])return f?(o=$(t),C.length=1,e=e-o-1,C[0]=ke(10,(N-e%N)%N),t.e=Ne(-e/N)||0):(C.length=1,C[0]=t.e=t.s=0),t;if(n==0?(C.length=T,o=1,T--):(C.length=T+1,o=ke(10,N-n),C[T]=i>0?(h/ke(10,s-i)%ke(10,i)|0)*o:0),f)for(;;)if(T==0){(C[0]+=o)==Q&&(C[0]=1,++t.e);break}else{if(C[T]+=o,C[T]!=Q)break;C[T--]=0,o=1}for(n=C.length;C[--n]===0;)C.pop();if(q&&(t.e>It||t.e<-It))throw Error(vr+$(t));return t}function bn(t,e){var r,n,i,o,s,a,f,h,T,C,k=t.constructor,A=k.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new k(t),q?_(e,A):e;if(f=t.d,C=e.d,n=e.e,h=t.e,f=f.slice(),s=h-n,s){for(T=s<0,T?(r=f,s=-s,a=C.length):(r=C,n=h,a=f.length),i=Math.max(Math.ceil(A/N),a)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=f.length,a=C.length,T=i0;--i)f[a++]=0;for(i=C.length;i>s;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+Pe(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Pe(-i-1)+o,r&&(n=r-s)>0&&(o+=Pe(n))):i>=s?(o+=Pe(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Pe(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Pe(n))),t.s<0?"-"+o:o}function fn(t,e){if(t.length>e)return t.length=e,!0}function wn(t){var e,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Oe+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return dn(s,o.toString())}else if(typeof o!="string")throw Error(Oe+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,ms.test(o))dn(s,o);else throw Error(Oe+o)}if(i.prototype=R,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=wn,i.config=i.set=ps,t===void 0&&(t={}),t)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&n<=i[e+2])this[r]=n;else throw Error(Oe+r+": "+n);if((n=t[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Oe+r+": "+n);return this}var Fe,cs,Tr,q,ie,Oe,vr,Ne,ke,ms,ee,Q,N,gn,It,R,he,Tr,Dt,xn=ne(()=>{"use strict";u();c();m();p();d();l();Fe=1e9,cs={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},q=!0,ie="[DecimalError] ",Oe=ie+"Invalid argument: ",vr=ie+"Exponent out of range: ",Ne=Math.floor,ke=Math.pow,ms=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Q=1e7,N=7,gn=9007199254740991,It=Ne(gn/N),R={};R.absoluteValue=R.abs=function(){var t=new this.constructor(this);return t.s&&(t.s=1),t};R.comparedTo=R.cmp=function(t){var e,r,n,i,o=this;if(t=new o.constructor(t),o.s!==t.s)return o.s||-t.s;if(o.e!==t.e)return o.e>t.e^o.s<0?1:-1;for(n=o.d.length,i=t.d.length,e=0,r=nt.d[e]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};R.decimalPlaces=R.dp=function(){var t=this,e=t.d.length-1,r=(e-t.e)*N;if(e=t.d[e],e)for(;e%10==0;e/=10)r--;return r<0?0:r};R.dividedBy=R.div=function(t){return he(this,new this.constructor(t))};R.dividedToIntegerBy=R.idiv=function(t){var e=this,r=e.constructor;return _(he(e,new r(t),0,1),r.precision)};R.equals=R.eq=function(t){return!this.cmp(t)};R.exponent=function(){return $(this)};R.greaterThan=R.gt=function(t){return this.cmp(t)>0};R.greaterThanOrEqualTo=R.gte=function(t){return this.cmp(t)>=0};R.isInteger=R.isint=function(){return this.e>this.d.length-2};R.isNegative=R.isneg=function(){return this.s<0};R.isPositive=R.ispos=function(){return this.s>0};R.isZero=function(){return this.s===0};R.lessThan=R.lt=function(t){return this.cmp(t)<0};R.lessThanOrEqualTo=R.lte=function(t){return this.cmp(t)<1};R.logarithm=R.log=function(t){var e,r=this,n=r.constructor,i=n.precision,o=i+5;if(t===void 0)t=new n(10);else if(t=new n(t),t.s<1||t.eq(ee))throw Error(ie+"NaN");if(r.s<1)throw Error(ie+(r.s?"NaN":"-Infinity"));return r.eq(ee)?new n(0):(q=!1,e=he(it(r,o),it(t,o),o),q=!0,_(e,i))};R.minus=R.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?bn(e,t):yn(e,(t.s=-t.s,t))};R.modulo=R.mod=function(t){var e,r=this,n=r.constructor,i=n.precision;if(t=new n(t),!t.s)throw Error(ie+"NaN");return r.s?(q=!1,e=he(r,t,0,1).times(t),q=!0,r.minus(e)):_(new n(r),i)};R.naturalExponential=R.exp=function(){return hn(this)};R.naturalLogarithm=R.ln=function(){return it(this)};R.negated=R.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};R.plus=R.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?yn(e,t):bn(e,(t.s=-t.s,t))};R.precision=R.sd=function(t){var e,r,n,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Oe+t);if(e=$(i)+1,n=i.d.length-1,r=n*N+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return t&&e>r?e:r};R.squareRoot=R.sqrt=function(){var t,e,r,n,i,o,s,a=this,f=a.constructor;if(a.s<1){if(!a.s)return new f(0);throw Error(ie+"NaN")}for(t=$(a),q=!1,i=Math.sqrt(+a),i==0||i==1/0?(e=ue(a.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=Ne((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),n=new f(e)):n=new f(i.toString()),r=f.precision,i=s=r+3;;)if(o=n,n=o.plus(he(a,o,s+2)).times(.5),ue(o.d).slice(0,s)===(e=ue(n.d)).slice(0,s)){if(e=e.slice(s-3,s+1),i==s&&e=="4999"){if(_(o,r+1,0),o.times(o).eq(a)){n=o;break}}else if(e!="9999")break;s+=4}return q=!0,_(n,r)};R.times=R.mul=function(t){var e,r,n,i,o,s,a,f,h,T=this,C=T.constructor,k=T.d,A=(t=new C(t)).d;if(!T.s||!t.s)return new C(0);for(t.s*=T.s,r=T.e+t.e,f=k.length,h=A.length,f=0;){for(e=0,i=f+n;i>n;)a=o[i]+A[n]*k[i-n-1]+e,o[i--]=a%Q|0,e=a/Q|0;o[i]=(o[i]+e)%Q|0}for(;!o[--s];)o.pop();return e?++r:o.shift(),t.d=o,t.e=r,q?_(t,C.precision):t};R.toDecimalPlaces=R.todp=function(t,e){var r=this,n=r.constructor;return r=new n(r),t===void 0?r:(ce(t,0,Fe),e===void 0?e=n.rounding:ce(e,0,8),_(r,t+$(r)+1,e))};R.toExponential=function(t,e){var r,n=this,i=n.constructor;return t===void 0?r=Me(n,!0):(ce(t,0,Fe),e===void 0?e=i.rounding:ce(e,0,8),n=_(new i(n),t+1,e),r=Me(n,!0,t+1)),r};R.toFixed=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?Me(i):(ce(t,0,Fe),e===void 0?e=o.rounding:ce(e,0,8),n=_(new o(i),t+$(i)+1,e),r=Me(n.abs(),!1,t+$(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};R.toInteger=R.toint=function(){var t=this,e=t.constructor;return _(new e(t),$(t)+1,e.rounding)};R.toNumber=function(){return+this};R.toPower=R.pow=function(t){var e,r,n,i,o,s,a=this,f=a.constructor,h=12,T=+(t=new f(t));if(!t.s)return new f(ee);if(a=new f(a),!a.s){if(t.s<1)throw Error(ie+"Infinity");return a}if(a.eq(ee))return a;if(n=f.precision,t.eq(ee))return _(a,n);if(e=t.e,r=t.d.length-1,s=e>=r,o=a.s,s){if((r=T<0?-T:T)<=gn){for(i=new f(ee),e=Math.ceil(n/N+4),q=!1;r%2&&(i=i.times(a),fn(i.d,e)),r=Ne(r/2),r!==0;)a=a.times(a),fn(a.d,e);return q=!0,t.s<0?new f(ee).div(i):_(i,n)}}else if(o<0)throw Error(ie+"NaN");return o=o<0&&t.d[Math.max(e,r)]&1?-1:1,a.s=1,q=!1,i=t.times(it(a,n+h)),q=!0,i=hn(i),i.s=o,i};R.toPrecision=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?(r=$(i),n=Me(i,r<=o.toExpNeg||r>=o.toExpPos)):(ce(t,1,Fe),e===void 0?e=o.rounding:ce(e,0,8),i=_(new o(i),t,e),r=$(i),n=Me(i,t<=r||r<=o.toExpNeg,t)),n};R.toSignificantDigits=R.tosd=function(t,e){var r=this,n=r.constructor;return t===void 0?(t=n.precision,e=n.rounding):(ce(t,1,Fe),e===void 0?e=n.rounding:ce(e,0,8)),_(new n(r),t,e)};R.toString=R.valueOf=R.val=R.toJSON=R[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=$(t),r=t.constructor;return Me(t,e<=r.toExpNeg||e>=r.toExpPos)};he=function(){function t(n,i){var o,s=0,a=n.length;for(n=n.slice();a--;)o=n[a]*i+s,n[a]=o%Q|0,s=o/Q|0;return s&&n.unshift(s),n}function e(n,i,o,s){var a,f;if(o!=s)f=o>s?1:-1;else for(a=f=0;ai[a]?1:-1;break}return f}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var a,f,h,T,C,k,A,O,S,M,oe,H,L,z,Se,wr,se,St,kt=n.constructor,Ho=n.s==i.s?1:-1,le=n.d,U=i.d;if(!n.s)return new kt(n);if(!i.s)throw Error(ie+"Division by zero");for(f=n.e-i.e,se=U.length,Se=le.length,A=new kt(Ho),O=A.d=[],h=0;U[h]==(le[h]||0);)++h;if(U[h]>(le[h]||0)&&--f,o==null?H=o=kt.precision:s?H=o+($(n)-$(i))+1:H=o,H<0)return new kt(0);if(H=H/N+2|0,h=0,se==1)for(T=0,U=U[0],H++;(h1&&(U=t(U,T),le=t(le,T),se=U.length,Se=le.length),z=se,S=le.slice(0,se),M=S.length;M=Q/2&&++wr;do T=0,a=e(U,S,se,M),a<0?(oe=S[0],se!=M&&(oe=oe*Q+(S[1]||0)),T=oe/wr|0,T>1?(T>=Q&&(T=Q-1),C=t(U,T),k=C.length,M=S.length,a=e(C,S,k,M),a==1&&(T--,r(C,se{"use strict";xn();v=class extends Dt{static isDecimal(e){return e instanceof Dt}static random(e=20){{let n=globalThis.crypto.getRandomValues(new Uint8Array(e)).reduce((i,o)=>i+o,"");return new Dt(`0.${n.slice(0,e)}`)}}},me=v});function bs(){return!1}function Nn(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function ws(){return Nn()}function xs(){return[]}function Es(t){t(null,[])}function Ps(){return""}function vs(){return""}function Ts(){}function Cs(){}function Rs(){}function As(){}function Ss(){}function ks(){}var Os,Ms,qn,Un=ne(()=>{"use strict";u();c();m();p();d();l();Os={},Ms={existsSync:bs,lstatSync:Nn,statSync:ws,readdirSync:xs,readdir:Es,readlinkSync:Ps,realpathSync:vs,chmodSync:Ts,renameSync:Cs,mkdirSync:Rs,rmdirSync:As,rmSync:Ss,unlinkSync:ks,promises:Os},qn=Ms});function Is(...t){return t.join("/")}function Ds(...t){return t.join("/")}function _s(t){let e=Bn(t),r=$n(t),[n,i]=e.split(".");return{root:"/",dir:r,base:e,ext:i,name:n}}function Bn(t){let e=t.split("/");return e[e.length-1]}function $n(t){return t.split("/").slice(0,-1).join("/")}var Vn,Ls,Fs,Nt,jn=ne(()=>{"use strict";u();c();m();p();d();l();Vn="/",Ls={sep:Vn},Fs={basename:Bn,dirname:$n,join:Ds,parse:_s,posix:Ls,resolve:Is,sep:Vn},Nt=Fs});var Qn=Le((Zc,Ns)=>{Ns.exports={name:"@prisma/internals",version:"6.7.0",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.4.7",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-engine-wasm":"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Kn=Le((Em,Wn)=>{"use strict";u();c();m();p();d();l();Wn.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var Yn=Le((Lm,zn)=>{"use strict";u();c();m();p();d();l();zn.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var Zn=Le((Vm,Xn)=>{"use strict";u();c();m();p();d();l();var Js=Yn();Xn.exports=t=>typeof t=="string"?t.replace(Js(),""):t});var Fr=Le((oy,ii)=>{"use strict";u();c();m();p();d();l();ii.exports=function(){function t(e,r,n,i,o){return en?n+1:e+1:i===o?r:r+1}return function(e,r){if(e===r)return 0;if(e.length>r.length){var n=e;e=r,r=n}for(var i=e.length,o=r.length;i>0&&e.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";u();c();m();p();d();l()});var ci=ne(()=>{"use strict";u();c();m();p();d();l()});var _i=Le((iP,qa)=>{qa.exports={name:"@prisma/engines-version",version:"6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"3cff47a7f5d65c3ea74883f1d736e41d68ce91ed"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var nr,Li=ne(()=>{"use strict";u();c();m();p();d();l();nr=class{events={};on(e,r){return this.events[e]||(this.events[e]=[]),this.events[e].push(r),this}emit(e,...r){return this.events[e]?(this.events[e].forEach(n=>{n(...r)}),!0):!1}}});var Jl={};rt(Jl,{DMMF:()=>mt,Debug:()=>J,Decimal:()=>me,Extensions:()=>Cr,MetricsClient:()=>Ye,PrismaClientInitializationError:()=>I,PrismaClientKnownRequestError:()=>X,PrismaClientRustPanicError:()=>we,PrismaClientUnknownRequestError:()=>j,PrismaClientValidationError:()=>W,Public:()=>Rr,Sql:()=>Z,createParam:()=>Ri,defineDmmfProperty:()=>Ii,deserializeJsonResponse:()=>$e,deserializeRawResult:()=>hr,dmmfToRuntimeDataModel:()=>ni,empty:()=>Ni,getPrismaClient:()=>Go,getRuntime:()=>Re,join:()=>Fi,makeStrictEnum:()=>Wo,makeTypedQueryFactory:()=>Di,objectEnumValues:()=>Wt,raw:()=>Jr,serializeJsonQuery:()=>er,skip:()=>Zt,sqltag:()=>Gr,warnEnvConflicts:()=>void 0,warnOnce:()=>lt});module.exports=ts(Jl);u();c();m();p();d();l();var Cr={};rt(Cr,{defineExtension:()=>En,getExtensionContext:()=>Pn});u();c();m();p();d();l();u();c();m();p();d();l();function En(t){return typeof t=="function"?t:e=>e.$extends(t)}u();c();m();p();d();l();function Pn(t){return t}var Rr={};rt(Rr,{validator:()=>vn});u();c();m();p();d();l();u();c();m();p();d();l();function vn(...t){return e=>e}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var Ar,Tn,Cn,Rn,An=!0;typeof g<"u"&&({FORCE_COLOR:Ar,NODE_DISABLE_COLORS:Tn,NO_COLOR:Cn,TERM:Rn}=g.env||{},An=g.stdout&&g.stdout.isTTY);var ds={enabled:!Tn&&Cn==null&&Rn!=="dumb"&&(Ar!=null&&Ar!=="0"||An)};function F(t,e){let r=new RegExp(`\\x1b\\[${e}m`,"g"),n=`\x1B[${t}m`,i=`\x1B[${e}m`;return function(o){return!ds.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var ju=F(0,0),_t=F(1,22),Lt=F(2,22),Qu=F(3,23),Sn=F(4,24),Ju=F(7,27),Gu=F(8,28),Wu=F(9,29),Ku=F(30,39),qe=F(31,39),kn=F(32,39),On=F(33,39),Mn=F(34,39),Hu=F(35,39),In=F(36,39),zu=F(37,39),Dn=F(90,39),Yu=F(90,39),Xu=F(40,49),Zu=F(41,49),ec=F(42,49),tc=F(43,49),rc=F(44,49),nc=F(45,49),ic=F(46,49),oc=F(47,49);u();c();m();p();d();l();var fs=100,_n=["green","yellow","blue","magenta","cyan","red"],Ft=[],Ln=Date.now(),gs=0,Sr=typeof g<"u"?g.env:{};globalThis.DEBUG??=Sr.DEBUG??"";globalThis.DEBUG_COLORS??=Sr.DEBUG_COLORS?Sr.DEBUG_COLORS==="true":!0;var ot={enable(t){typeof t=="string"&&(globalThis.DEBUG=t)},disable(){let t=globalThis.DEBUG;return globalThis.DEBUG="",t},enabled(t){let e=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=e.some(i=>i===""||i[0]==="-"?!1:t.match(RegExp(i.split("*").join(".*")+"$"))),n=e.some(i=>i===""||i[0]!=="-"?!1:t.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...t)=>{let[e,r,...n]=t;(console.warn??console.log)(`${e} ${r}`,...n)},formatters:{}};function ys(t){let e={color:_n[gs++%_n.length],enabled:ot.enabled(t),namespace:t,log:ot.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=e;if(n.length!==0&&Ft.push([o,...n]),Ft.length>fs&&Ft.shift(),ot.enabled(o)||i){let f=n.map(T=>typeof T=="string"?T:hs(T)),h=`+${Date.now()-Ln}ms`;Ln=Date.now(),a(o,...f,h)}};return new Proxy(r,{get:(n,i)=>e[i],set:(n,i,o)=>e[i]=o})}var J=new Proxy(ys,{get:(t,e)=>ot[e],set:(t,e,r)=>ot[e]=r});function hs(t,e=2){let r=new Set;return JSON.stringify(t,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},e)}function Fn(){Ft.length=0}u();c();m();p();d();l();u();c();m();p();d();l();var kr=["darwin","darwin-arm64","debian-openssl-1.0.x","debian-openssl-1.1.x","debian-openssl-3.0.x","rhel-openssl-1.0.x","rhel-openssl-1.1.x","rhel-openssl-3.0.x","linux-arm64-openssl-1.1.x","linux-arm64-openssl-1.0.x","linux-arm64-openssl-3.0.x","linux-arm-openssl-1.1.x","linux-arm-openssl-1.0.x","linux-arm-openssl-3.0.x","linux-musl","linux-musl-openssl-3.0.x","linux-musl-arm64-openssl-1.1.x","linux-musl-arm64-openssl-3.0.x","linux-nixos","linux-static-x64","linux-static-arm64","windows","freebsd11","freebsd12","freebsd13","freebsd14","freebsd15","openbsd","netbsd","arm"];u();c();m();p();d();l();var qs=Qn(),Or=qs.version;u();c();m();p();d();l();function Ue(t){let e=Us();return e||(t?.config.engineType==="library"?"library":t?.config.engineType==="binary"?"binary":t?.config.engineType==="client"?"client":Bs(t))}function Us(){let t=g.env.PRISMA_CLIENT_ENGINE_TYPE;return t==="library"?"library":t==="binary"?"binary":t==="client"?"client":void 0}function Bs(t){return t?.previewFeatures.includes("queryCompiler")?"client":"library"}u();c();m();p();d();l();var Jn="prisma+postgres",Gn=`${Jn}:`;function Mr(t){return t?.startsWith(`${Gn}//`)??!1}var at={};rt(at,{error:()=>js,info:()=>Vs,log:()=>$s,query:()=>Qs,should:()=>Hn,tags:()=>st,warn:()=>Ir});u();c();m();p();d();l();var st={error:qe("prisma:error"),warn:On("prisma:warn"),info:In("prisma:info"),query:Mn("prisma:query")},Hn={warn:()=>!g.env.PRISMA_DISABLE_WARNINGS};function $s(...t){console.log(...t)}function Ir(t,...e){Hn.warn()&&console.warn(`${st.warn} ${t}`,...e)}function Vs(t,...e){console.info(`${st.info} ${t}`,...e)}function js(t,...e){console.error(`${st.error} ${t}`,...e)}function Qs(t,...e){console.log(`${st.query} ${t}`,...e)}u();c();m();p();d();l();function qt(t,e){if(!t)throw new Error(`${e}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}u();c();m();p();d();l();function be(t,e){throw new Error(e)}u();c();m();p();d();l();function Dr(t,e){return Object.prototype.hasOwnProperty.call(t,e)}u();c();m();p();d();l();function Be(t,e){let r={};for(let n of Object.keys(t))r[n]=e(t[n],n);return r}u();c();m();p();d();l();function _r(t,e){if(t.length===0)return;let r=t[0];for(let n=1;n{ei.has(t)||(ei.add(t),Ir(e,...r))};var I=class t extends Error{clientVersion;errorCode;retryable;constructor(e,r,n){super(e),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(t)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};te(I,"PrismaClientInitializationError");u();c();m();p();d();l();var X=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(e,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(e),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};te(X,"PrismaClientKnownRequestError");u();c();m();p();d();l();var we=class extends Error{clientVersion;constructor(e,r){super(e),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};te(we,"PrismaClientRustPanicError");u();c();m();p();d();l();var j=class extends Error{clientVersion;batchRequestIdx;constructor(e,{clientVersion:r,batchRequestIdx:n}){super(e),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};te(j,"PrismaClientUnknownRequestError");u();c();m();p();d();l();var W=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(e,{clientVersion:r}){super(e),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};te(W,"PrismaClientValidationError");u();c();m();p();d();l();l();function $e(t){return t===null?t:Array.isArray(t)?t.map($e):typeof t=="object"?Gs(t)?Ws(t):Be(t,$e):t}function Gs(t){return t!==null&&typeof t=="object"&&typeof t.$type=="string"}function Ws({$type:t,value:e}){switch(t){case"BigInt":return BigInt(e);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=b.from(e,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(e);case"Decimal":return new me(e);case"Json":return JSON.parse(e);default:be(e,"Unknown tagged value")}}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var pe=class{_map=new Map;get(e){return this._map.get(e)?.value}set(e,r){this._map.set(e,{value:r})}getOrCreate(e,r){let n=this._map.get(e);if(n)return n.value;let i=r();return this.set(e,i),i}};u();c();m();p();d();l();function ve(t){return t.substring(0,1).toLowerCase()+t.substring(1)}u();c();m();p();d();l();function ri(t,e){let r={};for(let n of t){let i=n[e];r[i]=n}return r}u();c();m();p();d();l();function ut(t){let e;return{get(){return e||(e={value:t()}),e.value}}}u();c();m();p();d();l();function ni(t){return{models:Lr(t.models),enums:Lr(t.enums),types:Lr(t.types)}}function Lr(t){let e={};for(let{name:r,...n}of t)e[r]=n;return e}u();c();m();p();d();l();function Ve(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function Ut(t){return t.toString()!=="Invalid Date"}u();c();m();p();d();l();l();function je(t){return v.isDecimal(t)?!0:t!==null&&typeof t=="object"&&typeof t.s=="number"&&typeof t.e=="number"&&typeof t.toFixed=="function"&&Array.isArray(t.d)}u();c();m();p();d();l();u();c();m();p();d();l();var mt={};rt(mt,{ModelAction:()=>ct,datamodelEnumToSchemaEnum:()=>Ks});u();c();m();p();d();l();u();c();m();p();d();l();function Ks(t){return{name:t.name,values:t.values.map(e=>e.name)}}u();c();m();p();d();l();var ct=(L=>(L.findUnique="findUnique",L.findUniqueOrThrow="findUniqueOrThrow",L.findFirst="findFirst",L.findFirstOrThrow="findFirstOrThrow",L.findMany="findMany",L.create="create",L.createMany="createMany",L.createManyAndReturn="createManyAndReturn",L.update="update",L.updateMany="updateMany",L.updateManyAndReturn="updateManyAndReturn",L.upsert="upsert",L.delete="delete",L.deleteMany="deleteMany",L.groupBy="groupBy",L.count="count",L.aggregate="aggregate",L.findRaw="findRaw",L.aggregateRaw="aggregateRaw",L))(ct||{});var Hs=nt(Kn());var zs={red:qe,gray:Dn,dim:Lt,bold:_t,underline:Sn,highlightSource:t=>t.highlight()},Ys={red:t=>t,gray:t=>t,dim:t=>t,bold:t=>t,underline:t=>t,highlightSource:t=>t};function Xs({message:t,originalMethod:e,isPanic:r,callArguments:n}){return{functionName:`prisma.${e}()`,message:t,isPanic:r??!1,callArguments:n}}function Zs({functionName:t,location:e,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],f=e?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${t}\``)} invocation${f}`))):a.push(s.red(`Invalid ${s.bold(`\`${t}\``)} invocation${f}`)),e&&a.push(s.underline(ea(e))),i){a.push("");let h=[i.toString()];o&&(h.push(o),h.push(s.dim(")"))),a.push(h.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +"use strict";var zo=Object.create;var Ot=Object.defineProperty;var Yo=Object.getOwnPropertyDescriptor;var Xo=Object.getOwnPropertyNames;var Zo=Object.getPrototypeOf,es=Object.prototype.hasOwnProperty;var ne=(t,e)=>()=>(t&&(e=t(t=0)),e);var Le=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rt=(t,e)=>{for(var r in e)Ot(t,r,{get:e[r],enumerable:!0})},cn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xo(e))!es.call(t,i)&&i!==r&&Ot(t,i,{get:()=>e[i],enumerable:!(n=Yo(e,i))||n.enumerable});return t};var nt=(t,e,r)=>(r=t!=null?zo(Zo(t)):{},cn(e||!t||!t.__esModule?Ot(r,"default",{value:t,enumerable:!0}):r,t)),ts=t=>cn(Ot({},"__esModule",{value:!0}),t);function xr(t,e){if(e=e.toLowerCase(),e==="utf8"||e==="utf-8")return new y(os.encode(t));if(e==="base64"||e==="base64url")return t=t.replace(/-/g,"+").replace(/_/g,"/"),t=t.replace(/[^A-Za-z0-9+/]/g,""),new y([...atob(t)].map(r=>r.charCodeAt(0)));if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return new y([...t].map(r=>r.charCodeAt(0)));if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let r=new y(t.length*2),n=new DataView(r.buffer);for(let i=0;ia.startsWith("get")||a.startsWith("set")),n=r.map(a=>a.replace("get","read").replace("set","write")),i=(a,f)=>function(h=0){return B(h,"offset"),Y(h,"offset"),V(h,"offset",this.length-1),new DataView(this.buffer)[r[a]](h,f)},o=(a,f)=>function(h,T=0){let C=r[a].match(/set(\w+\d+)/)[1].toLowerCase(),k=is[C];return B(T,"offset"),Y(T,"offset"),V(T,"offset",this.length-1),ns(h,"value",k[0],k[1]),new DataView(this.buffer)[r[a]](T,h,f),T+parseInt(r[a].match(/\d+/)[0])/8},s=a=>{a.forEach(f=>{f.includes("Uint")&&(t[f.replace("Uint","UInt")]=t[f]),f.includes("Float64")&&(t[f.replace("Float64","Double")]=t[f]),f.includes("Float32")&&(t[f.replace("Float32","Float")]=t[f])})};n.forEach((a,f)=>{a.startsWith("read")&&(t[a]=i(f,!1),t[a+"LE"]=i(f,!0),t[a+"BE"]=i(f,!1)),a.startsWith("write")&&(t[a]=o(f,!1),t[a+"LE"]=o(f,!0),t[a+"BE"]=o(f,!1)),s([a,a+"LE",a+"BE"])})}function pn(t){throw new Error(`Buffer polyfill does not implement "${t}"`)}function Mt(t,e){if(!(t instanceof Uint8Array))throw new TypeError(`The "${e}" argument must be an instance of Buffer or Uint8Array`)}function V(t,e,r=ls+1){if(t<0||t>r){let n=new RangeError(`The value of "${e}" is out of range. It must be >= 0 && <= ${r}. Received ${t}`);throw n.code="ERR_OUT_OF_RANGE",n}}function B(t,e){if(typeof t!="number"){let r=new TypeError(`The "${e}" argument must be of type number. Received type ${typeof t}.`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function Y(t,e){if(!Number.isInteger(t)||Number.isNaN(t)){let r=new RangeError(`The value of "${e}" is out of range. It must be an integer. Received ${t}`);throw r.code="ERR_OUT_OF_RANGE",r}}function ns(t,e,r,n){if(tn){let i=new RangeError(`The value of "${e}" is out of range. It must be >= ${r} and <= ${n}. Received ${t}`);throw i.code="ERR_OUT_OF_RANGE",i}}function mn(t,e){if(typeof t!="string"){let r=new TypeError(`The "${e}" argument must be of type string. Received type ${typeof t}`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function us(t,e="utf8"){return y.from(t,e)}var y,is,os,ss,as,ls,b,Er,u=ne(()=>{"use strict";y=class t extends Uint8Array{_isBuffer=!0;get offset(){return this.byteOffset}static alloc(e,r=0,n="utf8"){return mn(n,"encoding"),t.allocUnsafe(e).fill(r,n)}static allocUnsafe(e){return t.from(e)}static allocUnsafeSlow(e){return t.from(e)}static isBuffer(e){return e&&!!e._isBuffer}static byteLength(e,r="utf8"){if(typeof e=="string")return xr(e,r).byteLength;if(e&&e.byteLength)return e.byteLength;let n=new TypeError('The "string" argument must be of type string or an instance of Buffer or ArrayBuffer.');throw n.code="ERR_INVALID_ARG_TYPE",n}static isEncoding(e){return as.includes(e)}static compare(e,r){Mt(e,"buff1"),Mt(r,"buff2");for(let n=0;nr[n])return 1}return e.length===r.length?0:e.length>r.length?1:-1}static from(e,r="utf8"){if(e&&typeof e=="object"&&e.type==="Buffer")return new t(e.data);if(typeof e=="number")return new t(new Uint8Array(e));if(typeof e=="string")return xr(e,r);if(ArrayBuffer.isView(e)){let{byteOffset:n,byteLength:i,buffer:o}=e;return"map"in e&&typeof e.map=="function"?new t(e.map(s=>s%256),n,i):new t(o,n,i)}if(e&&typeof e=="object"&&("length"in e||"byteLength"in e||"buffer"in e))return new t(e);throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}static concat(e,r){if(e.length===0)return t.alloc(0);let n=[].concat(...e.map(o=>[...o])),i=t.alloc(r!==void 0?r:n.length);return i.set(r!==void 0?n.slice(0,r):n),i}slice(e=0,r=this.length){return this.subarray(e,r)}subarray(e=0,r=this.length){return Object.setPrototypeOf(super.subarray(e,r),t.prototype)}reverse(){return super.reverse(),this}readIntBE(e,r){B(e,"offset"),Y(e,"offset"),V(e,"offset",this.length-1),B(r,"byteLength"),Y(r,"byteLength");let n=new DataView(this.buffer,e,r),i=0;for(let o=0;o=0;o--)i.setUint8(o,e&255),e=e/256;return r+n}writeUintBE(e,r,n){return this.writeUIntBE(e,r,n)}writeUIntLE(e,r,n){B(r,"offset"),Y(r,"offset"),V(r,"offset",this.length-1),B(n,"byteLength"),Y(n,"byteLength");let i=new DataView(this.buffer,r,n);for(let o=0;or===e[n])}copy(e,r=0,n=0,i=this.length){V(r,"targetStart"),V(n,"sourceStart",this.length),V(i,"sourceEnd"),r>>>=0,n>>>=0,i>>>=0;let o=0;for(;n=this.length?this.length-a:e.length),a);return this}includes(e,r=null,n="utf-8"){return this.indexOf(e,r,n)!==-1}lastIndexOf(e,r=null,n="utf-8"){return this.indexOf(e,r,n,!0)}indexOf(e,r=null,n="utf-8",i=!1){let o=i?this.findLastIndex.bind(this):this.findIndex.bind(this);n=typeof r=="string"?r:n;let s=t.from(typeof e=="number"?[e]:e,n),a=typeof r=="string"?0:r;return a=typeof r=="number"?a:null,a=Number.isNaN(a)?null:a,a??=i?this.length:0,a=a<0?this.length+a:a,s.length===0&&i===!1?a>=this.length?this.length:a:s.length===0&&i===!0?(a>=this.length?this.length:a)||this.length:o((f,h)=>(i?h<=a:h>=a)&&this[h]===s[0]&&s.every((C,k)=>this[h+k]===C))}toString(e="utf8",r=0,n=this.length){if(r=r<0?0:r,e=e.toString().toLowerCase(),n<=0)return"";if(e==="utf8"||e==="utf-8")return ss.decode(this.slice(r,n));if(e==="base64"||e==="base64url"){let i=btoa(this.reduce((o,s)=>o+Er(s),""));return e==="base64url"?i.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):i}if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return this.slice(r,n).reduce((i,o)=>i+Er(o&(e==="ascii"?127:255)),"");if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let i=new DataView(this.buffer.slice(r,n));return Array.from({length:i.byteLength/2},(o,s)=>s*2+1i+o.toString(16).padStart(2,"0"),"");pn(`encoding "${e}"`)}toLocaleString(){return this.toString()}inspect(){return``}};is={int8:[-128,127],int16:[-32768,32767],int32:[-2147483648,2147483647],uint8:[0,255],uint16:[0,65535],uint32:[0,4294967295],float32:[-1/0,1/0],float64:[-1/0,1/0],bigint64:[-0x8000000000000000n,0x7fffffffffffffffn],biguint64:[0n,0xffffffffffffffffn]},os=new TextEncoder,ss=new TextDecoder,as=["utf8","utf-8","hex","base64","ascii","binary","base64url","ucs2","ucs-2","utf16le","utf-16le","latin1","latin-1"],ls=4294967295;rs(y.prototype);b=new Proxy(us,{construct(t,[e,r]){return y.from(e,r)},get(t,e){return y[e]}}),Er=String.fromCodePoint});var g,c=ne(()=>{"use strict";g={nextTick:(t,...e)=>{setTimeout(()=>{t(...e)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"]}});var E,m=ne(()=>{"use strict";E=globalThis.performance??(()=>{let t=Date.now();return{now:()=>Date.now()-t}})()});var x,p=ne(()=>{"use strict";x=()=>{};x.prototype=x});var w,d=ne(()=>{"use strict";w=class{value;constructor(e){this.value=e}deref(){return this.value}}});function yn(t,e){var r,n,i,o,s,a,f,h,T=t.constructor,C=T.precision;if(!t.s||!e.s)return e.s||(e=new T(t)),q?_(e,C):e;if(f=t.d,h=e.d,s=t.e,i=e.e,f=f.slice(),o=s-i,o){for(o<0?(n=f,o=-o,a=h.length):(n=h,i=s,a=f.length),s=Math.ceil(C/N),a=s>a?s+1:a+1,o>a&&(o=a,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(a=f.length,o=h.length,a-o<0&&(o=a,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/Q|0,f[o]%=Q;for(r&&(f.unshift(r),++i),a=f.length;f[--a]==0;)f.pop();return e.d=f,e.e=i,q?_(e,C):e}function me(t,e,r){if(t!==~~t||tr)throw Error(Oe+t)}function ce(t){var e,r,n,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e16)throw Error(vr+$(t));if(!t.s)return new T(ee);for(e==null?(q=!1,a=C):a=e,s=new T(.03125);t.abs().gte(.1);)t=t.times(s),h+=5;for(n=Math.log(ke(2,h))/Math.LN10*2+5|0,a+=n,r=i=o=new T(ee),T.precision=a;;){if(i=_(i.times(t),a),r=r.times(++f),s=o.plus(he(i,r,a)),ce(s.d).slice(0,a)===ce(o.d).slice(0,a)){for(;h--;)o=_(o.times(o),a);return T.precision=C,e==null?(q=!0,_(o,C)):o}o=s}}function $(t){for(var e=t.e*N,r=t.d[0];r>=10;r/=10)e++;return e}function Pr(t,e,r){if(e>t.LN10.sd())throw q=!0,r&&(t.precision=r),Error(ie+"LN10 precision limit exceeded");return _(new t(t.LN10),e)}function Pe(t){for(var e="";t--;)e+="0";return e}function it(t,e){var r,n,i,o,s,a,f,h,T,C=1,k=10,A=t,O=A.d,S=A.constructor,M=S.precision;if(A.s<1)throw Error(ie+(A.s?"NaN":"-Infinity"));if(A.eq(ee))return new S(0);if(e==null?(q=!1,h=M):h=e,A.eq(10))return e==null&&(q=!0),Pr(S,h);if(h+=k,S.precision=h,r=ce(O),n=r.charAt(0),o=$(A),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)A=A.times(t),r=ce(A.d),n=r.charAt(0),C++;o=$(A),n>1?(A=new S("0."+r),o++):A=new S(n+"."+r.slice(1))}else return f=Pr(S,h+2,M).times(o+""),A=it(new S(n+"."+r.slice(1)),h-k).plus(f),S.precision=M,e==null?(q=!0,_(A,M)):A;for(a=s=A=he(A.minus(ee),A.plus(ee),h),T=_(A.times(A),h),i=3;;){if(s=_(s.times(T),h),f=a.plus(he(s,new S(i),h)),ce(f.d).slice(0,h)===ce(a.d).slice(0,h))return a=a.times(2),o!==0&&(a=a.plus(Pr(S,h+2,M).times(o+""))),a=he(a,new S(C),h),S.precision=M,e==null?(q=!0,_(a,M)):a;a=f,i+=2}}function dn(t,e){var r,n,i;for((r=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(r<0&&(r=n),r+=+e.slice(n+1),e=e.substring(0,n)):r<0&&(r=e.length),n=0;e.charCodeAt(n)===48;)++n;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(n,i),e){if(i-=n,r=r-n-1,t.e=Ne(r/N),t.d=[],n=(r+1)%N,r<0&&(n+=N),nIt||t.e<-It))throw Error(vr+r)}else t.s=0,t.e=0,t.d=[0];return t}function _(t,e,r){var n,i,o,s,a,f,h,T,C=t.d;for(s=1,o=C[0];o>=10;o/=10)s++;if(n=e-s,n<0)n+=N,i=e,h=C[T=0];else{if(T=Math.ceil((n+1)/N),o=C.length,T>=o)return t;for(h=o=C[T],s=1;o>=10;o/=10)s++;n%=N,i=n-N+s}if(r!==void 0&&(o=ke(10,s-i-1),a=h/o%10|0,f=e<0||C[T+1]!==void 0||h%o,f=r<4?(a||f)&&(r==0||r==(t.s<0?3:2)):a>5||a==5&&(r==4||f||r==6&&(n>0?i>0?h/ke(10,s-i):0:C[T-1])%10&1||r==(t.s<0?8:7))),e<1||!C[0])return f?(o=$(t),C.length=1,e=e-o-1,C[0]=ke(10,(N-e%N)%N),t.e=Ne(-e/N)||0):(C.length=1,C[0]=t.e=t.s=0),t;if(n==0?(C.length=T,o=1,T--):(C.length=T+1,o=ke(10,N-n),C[T]=i>0?(h/ke(10,s-i)%ke(10,i)|0)*o:0),f)for(;;)if(T==0){(C[0]+=o)==Q&&(C[0]=1,++t.e);break}else{if(C[T]+=o,C[T]!=Q)break;C[T--]=0,o=1}for(n=C.length;C[--n]===0;)C.pop();if(q&&(t.e>It||t.e<-It))throw Error(vr+$(t));return t}function bn(t,e){var r,n,i,o,s,a,f,h,T,C,k=t.constructor,A=k.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new k(t),q?_(e,A):e;if(f=t.d,C=e.d,n=e.e,h=t.e,f=f.slice(),s=h-n,s){for(T=s<0,T?(r=f,s=-s,a=C.length):(r=C,n=h,a=f.length),i=Math.max(Math.ceil(A/N),a)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=f.length,a=C.length,T=i0;--i)f[a++]=0;for(i=C.length;i>s;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+Pe(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Pe(-i-1)+o,r&&(n=r-s)>0&&(o+=Pe(n))):i>=s?(o+=Pe(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Pe(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Pe(n))),t.s<0?"-"+o:o}function fn(t,e){if(t.length>e)return t.length=e,!0}function wn(t){var e,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Oe+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return dn(s,o.toString())}else if(typeof o!="string")throw Error(Oe+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,ms.test(o))dn(s,o);else throw Error(Oe+o)}if(i.prototype=R,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=wn,i.config=i.set=ps,t===void 0&&(t={}),t)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&n<=i[e+2])this[r]=n;else throw Error(Oe+r+": "+n);if((n=t[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Oe+r+": "+n);return this}var Fe,cs,Tr,q,ie,Oe,vr,Ne,ke,ms,ee,Q,N,gn,It,R,he,Tr,Dt,xn=ne(()=>{"use strict";u();c();m();p();d();l();Fe=1e9,cs={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},q=!0,ie="[DecimalError] ",Oe=ie+"Invalid argument: ",vr=ie+"Exponent out of range: ",Ne=Math.floor,ke=Math.pow,ms=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Q=1e7,N=7,gn=9007199254740991,It=Ne(gn/N),R={};R.absoluteValue=R.abs=function(){var t=new this.constructor(this);return t.s&&(t.s=1),t};R.comparedTo=R.cmp=function(t){var e,r,n,i,o=this;if(t=new o.constructor(t),o.s!==t.s)return o.s||-t.s;if(o.e!==t.e)return o.e>t.e^o.s<0?1:-1;for(n=o.d.length,i=t.d.length,e=0,r=nt.d[e]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};R.decimalPlaces=R.dp=function(){var t=this,e=t.d.length-1,r=(e-t.e)*N;if(e=t.d[e],e)for(;e%10==0;e/=10)r--;return r<0?0:r};R.dividedBy=R.div=function(t){return he(this,new this.constructor(t))};R.dividedToIntegerBy=R.idiv=function(t){var e=this,r=e.constructor;return _(he(e,new r(t),0,1),r.precision)};R.equals=R.eq=function(t){return!this.cmp(t)};R.exponent=function(){return $(this)};R.greaterThan=R.gt=function(t){return this.cmp(t)>0};R.greaterThanOrEqualTo=R.gte=function(t){return this.cmp(t)>=0};R.isInteger=R.isint=function(){return this.e>this.d.length-2};R.isNegative=R.isneg=function(){return this.s<0};R.isPositive=R.ispos=function(){return this.s>0};R.isZero=function(){return this.s===0};R.lessThan=R.lt=function(t){return this.cmp(t)<0};R.lessThanOrEqualTo=R.lte=function(t){return this.cmp(t)<1};R.logarithm=R.log=function(t){var e,r=this,n=r.constructor,i=n.precision,o=i+5;if(t===void 0)t=new n(10);else if(t=new n(t),t.s<1||t.eq(ee))throw Error(ie+"NaN");if(r.s<1)throw Error(ie+(r.s?"NaN":"-Infinity"));return r.eq(ee)?new n(0):(q=!1,e=he(it(r,o),it(t,o),o),q=!0,_(e,i))};R.minus=R.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?bn(e,t):yn(e,(t.s=-t.s,t))};R.modulo=R.mod=function(t){var e,r=this,n=r.constructor,i=n.precision;if(t=new n(t),!t.s)throw Error(ie+"NaN");return r.s?(q=!1,e=he(r,t,0,1).times(t),q=!0,r.minus(e)):_(new n(r),i)};R.naturalExponential=R.exp=function(){return hn(this)};R.naturalLogarithm=R.ln=function(){return it(this)};R.negated=R.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};R.plus=R.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?yn(e,t):bn(e,(t.s=-t.s,t))};R.precision=R.sd=function(t){var e,r,n,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Oe+t);if(e=$(i)+1,n=i.d.length-1,r=n*N+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return t&&e>r?e:r};R.squareRoot=R.sqrt=function(){var t,e,r,n,i,o,s,a=this,f=a.constructor;if(a.s<1){if(!a.s)return new f(0);throw Error(ie+"NaN")}for(t=$(a),q=!1,i=Math.sqrt(+a),i==0||i==1/0?(e=ce(a.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=Ne((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),n=new f(e)):n=new f(i.toString()),r=f.precision,i=s=r+3;;)if(o=n,n=o.plus(he(a,o,s+2)).times(.5),ce(o.d).slice(0,s)===(e=ce(n.d)).slice(0,s)){if(e=e.slice(s-3,s+1),i==s&&e=="4999"){if(_(o,r+1,0),o.times(o).eq(a)){n=o;break}}else if(e!="9999")break;s+=4}return q=!0,_(n,r)};R.times=R.mul=function(t){var e,r,n,i,o,s,a,f,h,T=this,C=T.constructor,k=T.d,A=(t=new C(t)).d;if(!T.s||!t.s)return new C(0);for(t.s*=T.s,r=T.e+t.e,f=k.length,h=A.length,f=0;){for(e=0,i=f+n;i>n;)a=o[i]+A[n]*k[i-n-1]+e,o[i--]=a%Q|0,e=a/Q|0;o[i]=(o[i]+e)%Q|0}for(;!o[--s];)o.pop();return e?++r:o.shift(),t.d=o,t.e=r,q?_(t,C.precision):t};R.toDecimalPlaces=R.todp=function(t,e){var r=this,n=r.constructor;return r=new n(r),t===void 0?r:(me(t,0,Fe),e===void 0?e=n.rounding:me(e,0,8),_(r,t+$(r)+1,e))};R.toExponential=function(t,e){var r,n=this,i=n.constructor;return t===void 0?r=Me(n,!0):(me(t,0,Fe),e===void 0?e=i.rounding:me(e,0,8),n=_(new i(n),t+1,e),r=Me(n,!0,t+1)),r};R.toFixed=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?Me(i):(me(t,0,Fe),e===void 0?e=o.rounding:me(e,0,8),n=_(new o(i),t+$(i)+1,e),r=Me(n.abs(),!1,t+$(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};R.toInteger=R.toint=function(){var t=this,e=t.constructor;return _(new e(t),$(t)+1,e.rounding)};R.toNumber=function(){return+this};R.toPower=R.pow=function(t){var e,r,n,i,o,s,a=this,f=a.constructor,h=12,T=+(t=new f(t));if(!t.s)return new f(ee);if(a=new f(a),!a.s){if(t.s<1)throw Error(ie+"Infinity");return a}if(a.eq(ee))return a;if(n=f.precision,t.eq(ee))return _(a,n);if(e=t.e,r=t.d.length-1,s=e>=r,o=a.s,s){if((r=T<0?-T:T)<=gn){for(i=new f(ee),e=Math.ceil(n/N+4),q=!1;r%2&&(i=i.times(a),fn(i.d,e)),r=Ne(r/2),r!==0;)a=a.times(a),fn(a.d,e);return q=!0,t.s<0?new f(ee).div(i):_(i,n)}}else if(o<0)throw Error(ie+"NaN");return o=o<0&&t.d[Math.max(e,r)]&1?-1:1,a.s=1,q=!1,i=t.times(it(a,n+h)),q=!0,i=hn(i),i.s=o,i};R.toPrecision=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?(r=$(i),n=Me(i,r<=o.toExpNeg||r>=o.toExpPos)):(me(t,1,Fe),e===void 0?e=o.rounding:me(e,0,8),i=_(new o(i),t,e),r=$(i),n=Me(i,t<=r||r<=o.toExpNeg,t)),n};R.toSignificantDigits=R.tosd=function(t,e){var r=this,n=r.constructor;return t===void 0?(t=n.precision,e=n.rounding):(me(t,1,Fe),e===void 0?e=n.rounding:me(e,0,8)),_(new n(r),t,e)};R.toString=R.valueOf=R.val=R.toJSON=R[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=$(t),r=t.constructor;return Me(t,e<=r.toExpNeg||e>=r.toExpPos)};he=function(){function t(n,i){var o,s=0,a=n.length;for(n=n.slice();a--;)o=n[a]*i+s,n[a]=o%Q|0,s=o/Q|0;return s&&n.unshift(s),n}function e(n,i,o,s){var a,f;if(o!=s)f=o>s?1:-1;else for(a=f=0;ai[a]?1:-1;break}return f}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var a,f,h,T,C,k,A,O,S,M,oe,H,L,z,Se,wr,se,St,kt=n.constructor,Ho=n.s==i.s?1:-1,ue=n.d,U=i.d;if(!n.s)return new kt(n);if(!i.s)throw Error(ie+"Division by zero");for(f=n.e-i.e,se=U.length,Se=ue.length,A=new kt(Ho),O=A.d=[],h=0;U[h]==(ue[h]||0);)++h;if(U[h]>(ue[h]||0)&&--f,o==null?H=o=kt.precision:s?H=o+($(n)-$(i))+1:H=o,H<0)return new kt(0);if(H=H/N+2|0,h=0,se==1)for(T=0,U=U[0],H++;(h1&&(U=t(U,T),ue=t(ue,T),se=U.length,Se=ue.length),z=se,S=ue.slice(0,se),M=S.length;M=Q/2&&++wr;do T=0,a=e(U,S,se,M),a<0?(oe=S[0],se!=M&&(oe=oe*Q+(S[1]||0)),T=oe/wr|0,T>1?(T>=Q&&(T=Q-1),C=t(U,T),k=C.length,M=S.length,a=e(C,S,k,M),a==1&&(T--,r(C,se{"use strict";xn();v=class extends Dt{static isDecimal(e){return e instanceof Dt}static random(e=20){{let n=globalThis.crypto.getRandomValues(new Uint8Array(e)).reduce((i,o)=>i+o,"");return new Dt(`0.${n.slice(0,e)}`)}}},ae=v});function bs(){return!1}function Nn(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function ws(){return Nn()}function xs(){return[]}function Es(t){t(null,[])}function Ps(){return""}function vs(){return""}function Ts(){}function Cs(){}function Rs(){}function As(){}function Ss(){}function ks(){}var Os,Ms,qn,Un=ne(()=>{"use strict";u();c();m();p();d();l();Os={},Ms={existsSync:bs,lstatSync:Nn,statSync:ws,readdirSync:xs,readdir:Es,readlinkSync:Ps,realpathSync:vs,chmodSync:Ts,renameSync:Cs,mkdirSync:Rs,rmdirSync:As,rmSync:Ss,unlinkSync:ks,promises:Os},qn=Ms});function Is(...t){return t.join("/")}function Ds(...t){return t.join("/")}function _s(t){let e=Bn(t),r=$n(t),[n,i]=e.split(".");return{root:"/",dir:r,base:e,ext:i,name:n}}function Bn(t){let e=t.split("/");return e[e.length-1]}function $n(t){return t.split("/").slice(0,-1).join("/")}var Vn,Ls,Fs,Nt,jn=ne(()=>{"use strict";u();c();m();p();d();l();Vn="/",Ls={sep:Vn},Fs={basename:Bn,dirname:$n,join:Ds,parse:_s,posix:Ls,resolve:Is,sep:Vn},Nt=Fs});var Qn=Le((Zc,Ns)=>{Ns.exports={name:"@prisma/internals",version:"6.8.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-engine-wasm":"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Kn=Le((Em,Wn)=>{"use strict";u();c();m();p();d();l();Wn.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var Yn=Le((Lm,zn)=>{"use strict";u();c();m();p();d();l();zn.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var Zn=Le((Vm,Xn)=>{"use strict";u();c();m();p();d();l();var Js=Yn();Xn.exports=t=>typeof t=="string"?t.replace(Js(),""):t});var Fr=Le((sy,ii)=>{"use strict";u();c();m();p();d();l();ii.exports=function(){function t(e,r,n,i,o){return en?n+1:e+1:i===o?r:r+1}return function(e,r){if(e===r)return 0;if(e.length>r.length){var n=e;e=r,r=n}for(var i=e.length,o=r.length;i>0&&e.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";u();c();m();p();d();l()});var ci=ne(()=>{"use strict";u();c();m();p();d();l()});var _i=Le((oP,qa)=>{qa.exports={name:"@prisma/engines-version",version:"6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"2060c79ba17c6bb9f5823312b6f6b7f4a845738e"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var nr,Li=ne(()=>{"use strict";u();c();m();p();d();l();nr=class{events={};on(e,r){return this.events[e]||(this.events[e]=[]),this.events[e].push(r),this}emit(e,...r){return this.events[e]?(this.events[e].forEach(n=>{n(...r)}),!0):!1}}});var Jl={};rt(Jl,{DMMF:()=>mt,Debug:()=>J,Decimal:()=>ae,Extensions:()=>Cr,MetricsClient:()=>Ye,PrismaClientInitializationError:()=>I,PrismaClientKnownRequestError:()=>X,PrismaClientRustPanicError:()=>we,PrismaClientUnknownRequestError:()=>j,PrismaClientValidationError:()=>W,Public:()=>Rr,Sql:()=>Z,createParam:()=>Ri,defineDmmfProperty:()=>Ii,deserializeJsonResponse:()=>$e,deserializeRawResult:()=>hr,dmmfToRuntimeDataModel:()=>ni,empty:()=>Ni,getPrismaClient:()=>Go,getRuntime:()=>Re,join:()=>Fi,makeStrictEnum:()=>Wo,makeTypedQueryFactory:()=>Di,objectEnumValues:()=>Wt,raw:()=>Jr,serializeJsonQuery:()=>er,skip:()=>Zt,sqltag:()=>Gr,warnEnvConflicts:()=>void 0,warnOnce:()=>lt});module.exports=ts(Jl);u();c();m();p();d();l();var Cr={};rt(Cr,{defineExtension:()=>En,getExtensionContext:()=>Pn});u();c();m();p();d();l();u();c();m();p();d();l();function En(t){return typeof t=="function"?t:e=>e.$extends(t)}u();c();m();p();d();l();function Pn(t){return t}var Rr={};rt(Rr,{validator:()=>vn});u();c();m();p();d();l();u();c();m();p();d();l();function vn(...t){return e=>e}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var Ar,Tn,Cn,Rn,An=!0;typeof g<"u"&&({FORCE_COLOR:Ar,NODE_DISABLE_COLORS:Tn,NO_COLOR:Cn,TERM:Rn}=g.env||{},An=g.stdout&&g.stdout.isTTY);var ds={enabled:!Tn&&Cn==null&&Rn!=="dumb"&&(Ar!=null&&Ar!=="0"||An)};function F(t,e){let r=new RegExp(`\\x1b\\[${e}m`,"g"),n=`\x1B[${t}m`,i=`\x1B[${e}m`;return function(o){return!ds.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var ju=F(0,0),_t=F(1,22),Lt=F(2,22),Qu=F(3,23),Sn=F(4,24),Ju=F(7,27),Gu=F(8,28),Wu=F(9,29),Ku=F(30,39),qe=F(31,39),kn=F(32,39),On=F(33,39),Mn=F(34,39),Hu=F(35,39),In=F(36,39),zu=F(37,39),Dn=F(90,39),Yu=F(90,39),Xu=F(40,49),Zu=F(41,49),ec=F(42,49),tc=F(43,49),rc=F(44,49),nc=F(45,49),ic=F(46,49),oc=F(47,49);u();c();m();p();d();l();var fs=100,_n=["green","yellow","blue","magenta","cyan","red"],Ft=[],Ln=Date.now(),gs=0,Sr=typeof g<"u"?g.env:{};globalThis.DEBUG??=Sr.DEBUG??"";globalThis.DEBUG_COLORS??=Sr.DEBUG_COLORS?Sr.DEBUG_COLORS==="true":!0;var ot={enable(t){typeof t=="string"&&(globalThis.DEBUG=t)},disable(){let t=globalThis.DEBUG;return globalThis.DEBUG="",t},enabled(t){let e=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=e.some(i=>i===""||i[0]==="-"?!1:t.match(RegExp(i.split("*").join(".*")+"$"))),n=e.some(i=>i===""||i[0]!=="-"?!1:t.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...t)=>{let[e,r,...n]=t;(console.warn??console.log)(`${e} ${r}`,...n)},formatters:{}};function ys(t){let e={color:_n[gs++%_n.length],enabled:ot.enabled(t),namespace:t,log:ot.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=e;if(n.length!==0&&Ft.push([o,...n]),Ft.length>fs&&Ft.shift(),ot.enabled(o)||i){let f=n.map(T=>typeof T=="string"?T:hs(T)),h=`+${Date.now()-Ln}ms`;Ln=Date.now(),a(o,...f,h)}};return new Proxy(r,{get:(n,i)=>e[i],set:(n,i,o)=>e[i]=o})}var J=new Proxy(ys,{get:(t,e)=>ot[e],set:(t,e,r)=>ot[e]=r});function hs(t,e=2){let r=new Set;return JSON.stringify(t,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},e)}function Fn(){Ft.length=0}u();c();m();p();d();l();u();c();m();p();d();l();var kr=["darwin","darwin-arm64","debian-openssl-1.0.x","debian-openssl-1.1.x","debian-openssl-3.0.x","rhel-openssl-1.0.x","rhel-openssl-1.1.x","rhel-openssl-3.0.x","linux-arm64-openssl-1.1.x","linux-arm64-openssl-1.0.x","linux-arm64-openssl-3.0.x","linux-arm-openssl-1.1.x","linux-arm-openssl-1.0.x","linux-arm-openssl-3.0.x","linux-musl","linux-musl-openssl-3.0.x","linux-musl-arm64-openssl-1.1.x","linux-musl-arm64-openssl-3.0.x","linux-nixos","linux-static-x64","linux-static-arm64","windows","freebsd11","freebsd12","freebsd13","freebsd14","freebsd15","openbsd","netbsd","arm"];u();c();m();p();d();l();var qs=Qn(),Or=qs.version;u();c();m();p();d();l();function Ue(t){let e=Us();return e||(t?.config.engineType==="library"?"library":t?.config.engineType==="binary"?"binary":t?.config.engineType==="client"?"client":Bs(t))}function Us(){let t=g.env.PRISMA_CLIENT_ENGINE_TYPE;return t==="library"?"library":t==="binary"?"binary":t==="client"?"client":void 0}function Bs(t){return t?.previewFeatures.includes("queryCompiler")?"client":"library"}u();c();m();p();d();l();var Jn="prisma+postgres",Gn=`${Jn}:`;function Mr(t){return t?.toString().startsWith(`${Gn}//`)??!1}var at={};rt(at,{error:()=>js,info:()=>Vs,log:()=>$s,query:()=>Qs,should:()=>Hn,tags:()=>st,warn:()=>Ir});u();c();m();p();d();l();var st={error:qe("prisma:error"),warn:On("prisma:warn"),info:In("prisma:info"),query:Mn("prisma:query")},Hn={warn:()=>!g.env.PRISMA_DISABLE_WARNINGS};function $s(...t){console.log(...t)}function Ir(t,...e){Hn.warn()&&console.warn(`${st.warn} ${t}`,...e)}function Vs(t,...e){console.info(`${st.info} ${t}`,...e)}function js(t,...e){console.error(`${st.error} ${t}`,...e)}function Qs(t,...e){console.log(`${st.query} ${t}`,...e)}u();c();m();p();d();l();function qt(t,e){if(!t)throw new Error(`${e}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}u();c();m();p();d();l();function be(t,e){throw new Error(e)}u();c();m();p();d();l();function Dr(t,e){return Object.prototype.hasOwnProperty.call(t,e)}u();c();m();p();d();l();function Be(t,e){let r={};for(let n of Object.keys(t))r[n]=e(t[n],n);return r}u();c();m();p();d();l();function _r(t,e){if(t.length===0)return;let r=t[0];for(let n=1;n{ei.has(t)||(ei.add(t),Ir(e,...r))};var I=class t extends Error{clientVersion;errorCode;retryable;constructor(e,r,n){super(e),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(t)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};te(I,"PrismaClientInitializationError");u();c();m();p();d();l();var X=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(e,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(e),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};te(X,"PrismaClientKnownRequestError");u();c();m();p();d();l();var we=class extends Error{clientVersion;constructor(e,r){super(e),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};te(we,"PrismaClientRustPanicError");u();c();m();p();d();l();var j=class extends Error{clientVersion;batchRequestIdx;constructor(e,{clientVersion:r,batchRequestIdx:n}){super(e),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};te(j,"PrismaClientUnknownRequestError");u();c();m();p();d();l();var W=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(e,{clientVersion:r}){super(e),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};te(W,"PrismaClientValidationError");u();c();m();p();d();l();l();function $e(t){return t===null?t:Array.isArray(t)?t.map($e):typeof t=="object"?Gs(t)?Ws(t):typeof t=="bigint"||t instanceof Date||t instanceof Uint8Array||t instanceof ae?t:Be(t,$e):t}function Gs(t){return t!==null&&typeof t=="object"&&typeof t.$type=="string"}function Ws({$type:t,value:e}){switch(t){case"BigInt":return BigInt(e);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=b.from(e,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(e);case"Decimal":return new ae(e);case"Json":return JSON.parse(e);default:be(e,"Unknown tagged value")}}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var pe=class{_map=new Map;get(e){return this._map.get(e)?.value}set(e,r){this._map.set(e,{value:r})}getOrCreate(e,r){let n=this._map.get(e);if(n)return n.value;let i=r();return this.set(e,i),i}};u();c();m();p();d();l();function ve(t){return t.substring(0,1).toLowerCase()+t.substring(1)}u();c();m();p();d();l();function ri(t,e){let r={};for(let n of t){let i=n[e];r[i]=n}return r}u();c();m();p();d();l();function ut(t){let e;return{get(){return e||(e={value:t()}),e.value}}}u();c();m();p();d();l();function ni(t){return{models:Lr(t.models),enums:Lr(t.enums),types:Lr(t.types)}}function Lr(t){let e={};for(let{name:r,...n}of t)e[r]=n;return e}u();c();m();p();d();l();function Ve(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function Ut(t){return t.toString()!=="Invalid Date"}u();c();m();p();d();l();l();function je(t){return v.isDecimal(t)?!0:t!==null&&typeof t=="object"&&typeof t.s=="number"&&typeof t.e=="number"&&typeof t.toFixed=="function"&&Array.isArray(t.d)}u();c();m();p();d();l();u();c();m();p();d();l();var mt={};rt(mt,{ModelAction:()=>ct,datamodelEnumToSchemaEnum:()=>Ks});u();c();m();p();d();l();u();c();m();p();d();l();function Ks(t){return{name:t.name,values:t.values.map(e=>e.name)}}u();c();m();p();d();l();var ct=(L=>(L.findUnique="findUnique",L.findUniqueOrThrow="findUniqueOrThrow",L.findFirst="findFirst",L.findFirstOrThrow="findFirstOrThrow",L.findMany="findMany",L.create="create",L.createMany="createMany",L.createManyAndReturn="createManyAndReturn",L.update="update",L.updateMany="updateMany",L.updateManyAndReturn="updateManyAndReturn",L.upsert="upsert",L.delete="delete",L.deleteMany="deleteMany",L.groupBy="groupBy",L.count="count",L.aggregate="aggregate",L.findRaw="findRaw",L.aggregateRaw="aggregateRaw",L))(ct||{});var Hs=nt(Kn());var zs={red:qe,gray:Dn,dim:Lt,bold:_t,underline:Sn,highlightSource:t=>t.highlight()},Ys={red:t=>t,gray:t=>t,dim:t=>t,bold:t=>t,underline:t=>t,highlightSource:t=>t};function Xs({message:t,originalMethod:e,isPanic:r,callArguments:n}){return{functionName:`prisma.${e}()`,message:t,isPanic:r??!1,callArguments:n}}function Zs({functionName:t,location:e,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],f=e?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${t}\``)} invocation${f}`))):a.push(s.red(`Invalid ${s.bold(`\`${t}\``)} invocation${f}`)),e&&a.push(s.underline(ea(e))),i){a.push("");let h=[i.toString()];o&&(h.push(o),h.push(s.dim(")"))),a.push(h.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` `)}function ea(t){let e=[t.fileName];return t.lineNumber&&e.push(String(t.lineNumber)),t.columnNumber&&e.push(String(t.columnNumber)),e.join(":")}function Bt(t){let e=t.showColors?zs:Ys,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(t,e):r=Xs(t),Zs(r,e)}u();c();m();p();d();l();var pi=nt(Fr());u();c();m();p();d();l();function ai(t,e,r){let n=li(t),i=ta(n),o=na(i);o?$t(o,e,r):e.addErrorMessage(()=>"Unknown error")}function li(t){return t.errors.flatMap(e=>e.kind==="Union"?li(e):[e])}function ta(t){let e=new Map,r=[];for(let n of t){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=e.get(i);o?e.set(i,{...n,argument:{...n.argument,typeNames:ra(o.argument.typeNames,n.argument.typeNames)}}):e.set(i,n)}return r.push(...e.values()),r}function ra(t,e){return[...new Set(t.concat(e))]}function na(t){return _r(t,(e,r)=>{let n=oi(e),i=oi(r);return n!==i?n-i:si(e)-si(r)})}function oi(t){let e=0;return Array.isArray(t.selectionPath)&&(e+=t.selectionPath.length),Array.isArray(t.argumentPath)&&(e+=t.argumentPath.length),e}function si(t){switch(t.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}u();c();m();p();d();l();var re=class{constructor(e,r){this.name=e;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(e){let{colors:{green:r}}=e.context;e.addMarginSymbol(r(this.isRequired?"+":"?")),e.write(r(this.name)),this.isRequired||e.write(r("?")),e.write(r(": ")),typeof this.value=="string"?e.write(r(this.value)):e.write(this.value)}};u();c();m();p();d();l();u();c();m();p();d();l();ci();u();c();m();p();d();l();var Qe=class{constructor(e=0,r){this.context=r;this.currentIndent=e}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(e){return typeof e=="string"?this.currentLine+=e:e.write(this),this}writeJoined(e,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(e){return this.marginSymbol=e,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` `)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let e=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+e.slice(1):e}};ui();u();c();m();p();d();l();u();c();m();p();d();l();var Vt=class{constructor(e){this.value=e}write(e){e.write(this.value)}markAsError(){this.value.markAsError()}};u();c();m();p();d();l();var jt=t=>t,Qt={bold:jt,red:jt,green:jt,dim:jt,enabled:!1},mi={bold:_t,red:qe,green:kn,dim:Lt,enabled:!0},Je={write(t){t.writeLine(",")}};u();c();m();p();d();l();var de=class{constructor(e){this.contents=e}isUnderlined=!1;color=e=>e;underline(){return this.isUnderlined=!0,this}setColor(e){return this.color=e,this}write(e){let r=e.getCurrentLineLength();e.write(this.color(this.contents)),this.isUnderlined&&e.afterNextNewline(()=>{e.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};u();c();m();p();d();l();var Te=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var Ge=class extends Te{items=[];addItem(e){return this.items.push(new Vt(e)),this}getField(e){return this.items[e]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(e){if(this.items.length===0){this.writeEmpty(e);return}this.writeWithItems(e)}writeEmpty(e){let r=new de("[]");this.hasError&&r.setColor(e.context.colors.red).underline(),e.write(r)}writeWithItems(e){let{colors:r}=e.context;e.writeLine("[").withIndent(()=>e.writeJoined(Je,this.items).newLine()).write("]"),this.hasError&&e.afterNextNewline(()=>{e.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var We=class t extends Te{fields={};suggestions=[];addField(e){this.fields[e.name]=e}addSuggestion(e){this.suggestions.push(e)}getField(e){return this.fields[e]}getDeepField(e){let[r,...n]=e,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof t?a=o.value.getField(s):o.value instanceof Ge&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(e){return e.length===0?this:this.getDeepField(e)?.value}hasField(e){return!!this.getField(e)}removeAllFields(){this.fields={}}removeField(e){delete this.fields[e]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(e){return this.getField(e)?.value}getDeepSubSelectionValue(e){let r=this;for(let n of e){if(!(r instanceof t))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(e){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of e){let o=n.value.getFieldValue(i);if(!o||!(o instanceof t))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let e=this.getField("select")?.value.asObject();if(e)return{kind:"select",value:e};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(e){return this.getSelectionParent()?.value.fields[e].value}getPrintWidth(){let e=Object.values(this.fields);return e.length==0?2:Math.max(...e.map(n=>n.getPrintWidth()))+2}write(e){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(e);return}this.writeWithContents(e,r)}asObject(){return this}writeEmpty(e){let r=new de("{}");this.hasError&&r.setColor(e.context.colors.red).underline(),e.write(r)}writeWithContents(e,r){e.writeLine("{").withIndent(()=>{e.writeJoined(Je,[...r,...this.suggestions]).newLine()}),e.write("}"),this.hasError&&e.afterNextNewline(()=>{e.writeLine(e.context.colors.red("~".repeat(this.getPrintWidth())))})}};u();c();m();p();d();l();var G=class extends Te{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new de(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};u();c();m();p();d();l();var pt=class{fields=[];addField(e,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${e}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(e){let{colors:{green:r}}=e.context;e.writeLine(r("{")).withIndent(()=>{e.writeJoined(Je,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function $t(t,e,r){switch(t.kind){case"MutuallyExclusiveFields":ia(t,e);break;case"IncludeOnScalar":oa(t,e);break;case"EmptySelection":sa(t,e,r);break;case"UnknownSelectionField":ca(t,e);break;case"InvalidSelectionValue":ma(t,e);break;case"UnknownArgument":pa(t,e);break;case"UnknownInputField":da(t,e);break;case"RequiredArgumentMissing":fa(t,e);break;case"InvalidArgumentType":ga(t,e);break;case"InvalidArgumentValue":ya(t,e);break;case"ValueTooLarge":ha(t,e);break;case"SomeFieldsMissing":ba(t,e);break;case"TooManyFieldsGiven":wa(t,e);break;case"Union":ai(t,e,r);break;default:throw new Error("not implemented: "+t.kind)}}function ia(t,e){let r=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();r&&(r.getField(t.firstField)?.markAsError(),r.getField(t.secondField)?.markAsError()),e.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${t.firstField}\``)} or ${n.green(`\`${t.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function oa(t,e){let[r,n]=dt(t.selectionPath),i=t.outputType,o=e.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new re(s.name,"true"));e.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${ft(s)}`:a+=".",a+=` Note that ${s.bold("include")} statements only accept relation fields.`,a})}function sa(t,e,r){let n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){aa(t,e,i);return}if(n.hasField("select")){la(t,e);return}}if(r?.[ve(t.outputType.name)]){ua(t,e);return}e.addErrorMessage(()=>`Unknown field at "${t.selectionPath.join(".")} selection"`)}function aa(t,e,r){r.removeAllFields();for(let n of t.outputType.fields)r.addSuggestion(new re(n.name,"false"));e.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(t.outputType.name)}. At least one field must be included in the result`)}function la(t,e){let r=t.outputType,n=e.arguments.getDeepSelectionParent(t.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),gi(n,r)),e.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${ft(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function ua(t,e){let r=new pt;for(let i of t.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new re("omit",r).makeRequired();if(t.selectionPath.length===0)e.arguments.addSuggestion(n);else{let[i,o]=dt(t.selectionPath),a=e.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let f=a?.value.asObject()??new We;f.addSuggestion(n),a.value=f}}e.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(t.outputType.name)}. At least one field must be included in the result`)}function ca(t,e){let r=yi(t.selectionPath,e);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":gi(n,t.outputType);break;case"include":xa(n,t.outputType);break;case"omit":Ea(n,t.outputType);break}}e.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${t.outputType.name}\``)}.`),i.push(ft(n)),i.join(" ")})}function ma(t,e){let r=yi(t.selectionPath,e);r.parentKind!=="unknown"&&r.field.value.markAsError(),e.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${t.underlyingError}`)}function pa(t,e){let r=t.argumentPath[0],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Pa(n,t.arguments)),e.addErrorMessage(i=>di(i,r,t.arguments.map(o=>o.name)))}function da(t,e){let[r,n]=dt(t.argumentPath),i=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(i){i.getDeepField(t.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&hi(o,t.inputType)}e.addErrorMessage(o=>di(o,n,t.inputType.fields.map(s=>s.name)))}function di(t,e,r){let n=[`Unknown argument \`${t.red(e)}\`.`],i=Ta(e,r);return i&&n.push(`Did you mean \`${t.green(i)}\`?`),r.length>0&&n.push(ft(t)),n.join(" ")}function fa(t,e){let r;e.addErrorMessage(f=>r?.value instanceof G&&r.value.text==="null"?`Argument \`${f.green(o)}\` must not be ${f.red("null")}.`:`Argument \`${f.green(o)}\` is missing.`);let n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(!n)return;let[i,o]=dt(t.argumentPath),s=new pt,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),t.inputTypes.length===1&&t.inputTypes[0].kind==="object"){for(let f of t.inputTypes[0].fields)s.addField(f.name,f.typeNames.join(" | "));a.addSuggestion(new re(o,s).makeRequired())}else{let f=t.inputTypes.map(fi).join(" | ");a.addSuggestion(new re(o,f).makeRequired())}}function fi(t){return t.kind==="list"?`${fi(t.elementType)}[]`:t.name}function ga(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&n.getDeepFieldValue(t.argumentPath)?.markAsError(),e.addErrorMessage(i=>{let o=Jt("or",t.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(t.inferredType)}.`})}function ya(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&n.getDeepFieldValue(t.argumentPath)?.markAsError(),e.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(t.underlyingError&&o.push(`: ${t.underlyingError}`),o.push("."),t.argument.typeNames.length>0){let s=Jt("or",t.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function ha(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(t.argumentPath)?.value;s?.markAsError(),s instanceof G&&(i=s.text)}e.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function ba(t,e){let r=t.argumentPath[t.argumentPath.length-1],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(t.argumentPath)?.asObject();i&&hi(i,t.inputType)}e.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(t.inputType.name)} needs`];return t.constraints.minFieldCount===1?t.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Jt("or",t.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${t.constraints.minFieldCount}`)} arguments.`),o.push(ft(i)),o.join(" ")})}function wa(t,e){let r=t.argumentPath[t.argumentPath.length-1],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(t.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}e.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(t.inputType.name)} needs`];return t.constraints.minFieldCount===1&&t.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):t.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${t.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Jt("and",i.map(a=>o.red(a)))}. Please choose`),t.constraints.maxFieldCount===1?s.push("one."):s.push(`${t.constraints.maxFieldCount}.`),s.join(" ")})}function gi(t,e){for(let r of e.fields)t.hasField(r.name)||t.addSuggestion(new re(r.name,"true"))}function xa(t,e){for(let r of e.fields)r.isRelation&&!t.hasField(r.name)&&t.addSuggestion(new re(r.name,"true"))}function Ea(t,e){for(let r of e.fields)!t.hasField(r.name)&&!r.isRelation&&t.addSuggestion(new re(r.name,"true"))}function Pa(t,e){for(let r of e)t.hasField(r.name)||t.addSuggestion(new re(r.name,r.typeNames.join(" | ")))}function yi(t,e){let[r,n]=dt(t),i=e.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),f=o?.getField(n);return o&&f?{parentKind:"select",parent:o,field:f,fieldName:n}:(f=s?.getField(n),s&&f?{parentKind:"include",field:f,parent:s,fieldName:n}:(f=a?.getField(n),a&&f?{parentKind:"omit",field:f,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function hi(t,e){if(e.kind==="object")for(let r of e.fields)t.hasField(r.name)||t.addSuggestion(new re(r.name,r.typeNames.join(" | ")))}function dt(t){let e=[...t],r=e.pop();if(!r)throw new Error("unexpected empty path");return[e,r]}function ft({green:t,enabled:e}){return"Available options are "+(e?`listed in ${t("green")}`:"marked with ?")+"."}function Jt(t,e){if(e.length===1)return e[0];let r=[...e],n=r.pop();return`${r.join(", ")} ${t} ${n}`}var va=3;function Ta(t,e){let r=1/0,n;for(let i of e){let o=(0,pi.default)(t,i);o>va||o`}};function Ke(t){return t instanceof gt}u();c();m();p();d();l();var Gt=Symbol(),qr=new WeakMap,xe=class{constructor(e){e===Gt?qr.set(this,`Prisma.${this._getName()}`):qr.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return qr.get(this)}},yt=class extends xe{_getNamespace(){return"NullTypes"}},ht=class extends yt{#e};Ur(ht,"DbNull");var bt=class extends yt{#e};Ur(bt,"JsonNull");var wt=class extends yt{#e};Ur(wt,"AnyNull");var Wt={classes:{DbNull:ht,JsonNull:bt,AnyNull:wt},instances:{DbNull:new ht(Gt),JsonNull:new bt(Gt),AnyNull:new wt(Gt)}};function Ur(t,e){Object.defineProperty(t,"name",{value:e,configurable:!0})}u();c();m();p();d();l();var bi=": ",Kt=class{constructor(e,r){this.name=e;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+bi.length}write(e){let r=new de(this.name);this.hasError&&r.underline().setColor(e.context.colors.red),e.write(r).write(bi).write(this.value)}};var Br=class{arguments;errorMessages=[];constructor(e){this.arguments=e}write(e){e.write(this.arguments)}addErrorMessage(e){this.errorMessages.push(e)}renderAllMessages(e){return this.errorMessages.map(r=>r(e)).join(` -`)}};function He(t){return new Br(wi(t))}function wi(t){let e=new We;for(let[r,n]of Object.entries(t)){let i=new Kt(r,xi(n));e.addField(i)}return e}function xi(t){if(typeof t=="string")return new G(JSON.stringify(t));if(typeof t=="number"||typeof t=="boolean")return new G(String(t));if(typeof t=="bigint")return new G(`${t}n`);if(t===null)return new G("null");if(t===void 0)return new G("undefined");if(je(t))return new G(`new Prisma.Decimal("${t.toFixed()}")`);if(t instanceof Uint8Array)return b.isBuffer(t)?new G(`Buffer.alloc(${t.byteLength})`):new G(`new Uint8Array(${t.byteLength})`);if(t instanceof Date){let e=Ut(t)?t.toISOString():"Invalid Date";return new G(`new Date("${e}")`)}return t instanceof xe?new G(`Prisma.${t._getName()}`):Ke(t)?new G(`prisma.${ve(t.modelName)}.$fields.${t.name}`):Array.isArray(t)?Ca(t):typeof t=="object"?wi(t):new G(Object.prototype.toString.call(t))}function Ca(t){let e=new Ge;for(let r of t)e.addItem(xi(r));return e}function Ht(t,e){let r=e==="pretty"?mi:Qt,n=t.renderAllMessages(r),i=new Qe(0,{colors:r}).write(t).toString();return{message:n,args:i}}function zt({args:t,errors:e,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=He(t);for(let C of e)$t(C,a,s);let{message:f,args:h}=Ht(a,r),T=Bt({message:f,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:h});throw new W(T,{clientVersion:o})}u();c();m();p();d();l();u();c();m();p();d();l();function fe(t){return t.replace(/^./,e=>e.toLowerCase())}u();c();m();p();d();l();function Pi(t,e,r){let n=fe(r);return!e.result||!(e.result.$allModels||e.result[n])?t:Ra({...t,...Ei(e.name,t,e.result.$allModels),...Ei(e.name,t,e.result[n])})}function Ra(t){let e=new pe,r=(n,i)=>e.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),t[n]?t[n].needs.flatMap(o=>r(o,i)):[n]));return Be(t,n=>({...n,needs:r(n.name,new Set)}))}function Ei(t,e,r){return r?Be(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Aa(e,o,i)})):{}}function Aa(t,e,r){let n=t?.[e]?.compute;return n?i=>r({...i,[e]:n(i)}):r}function vi(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(t[n.name])for(let i of n.needs)r[i]=!0;return r}function Ti(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(!t[n.name])for(let i of n.needs)delete r[i];return r}var Yt=class{constructor(e,r){this.extension=e;this.previous=r}computedFieldsCache=new pe;modelExtensionsCache=new pe;queryCallbacksCache=new pe;clientExtensions=ut(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=ut(()=>{let e=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?e.concat(r):e});getAllComputedFields(e){return this.computedFieldsCache.getOrCreate(e,()=>Pi(this.previous?.getAllComputedFields(e),this.extension,e))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(e){return this.modelExtensionsCache.getOrCreate(e,()=>{let r=fe(e);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(e):{...this.previous?.getAllModelExtensions(e),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(e,r){return this.queryCallbacksCache.getOrCreate(`${e}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(e,r)??[],i=[],o=this.extension.query;return!o||!(o[e]||o.$allModels||o[r]||o.$allOperations)?n:(o[e]!==void 0&&(o[e][r]!==void 0&&i.push(o[e][r]),o[e].$allOperations!==void 0&&i.push(o[e].$allOperations)),e!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ze=class t{constructor(e){this.head=e}static empty(){return new t}static single(e){return new t(new Yt(e))}isEmpty(){return this.head===void 0}append(e){return new t(new Yt(e,this.head))}getAllComputedFields(e){return this.head?.getAllComputedFields(e)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(e){return this.head?.getAllModelExtensions(e)}getAllQueryCallbacks(e,r){return this.head?.getAllQueryCallbacks(e,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};u();c();m();p();d();l();var Xt=class{constructor(e){this.name=e}};function Ci(t){return t instanceof Xt}function Ri(t){return new Xt(t)}u();c();m();p();d();l();u();c();m();p();d();l();var Ai=Symbol(),xt=class{constructor(e){if(e!==Ai)throw new Error("Skip instance can not be constructed directly")}ifUndefined(e){return e===void 0?Zt:e}},Zt=new xt(Ai);function ge(t){return t instanceof xt}var Sa={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Si="explicitly `undefined` values are not allowed";function er({modelName:t,action:e,args:r,runtimeDataModel:n,extensions:i=ze.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:f,previewFeatures:h,globalOmit:T}){let C=new $r({runtimeDataModel:n,modelName:t,action:e,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:f,previewFeatures:h,globalOmit:T});return{modelName:t,action:Sa[e],query:Et(r,C)}}function Et({select:t,include:e,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Oi(r,n),selection:ka(t,e,i,n)}}function ka(t,e,r,n){return t?(e?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Da(t,n)):Oa(n,e,r)}function Oa(t,e,r){let n={};return t.modelOrType&&!t.isRawAction()&&(n.$composites=!0,n.$scalars=!0),e&&Ma(n,e,t),Ia(n,r,t),n}function Ma(t,e,r){for(let[n,i]of Object.entries(e)){if(ge(i))continue;let o=r.nestSelection(n);if(Vr(i,o),i===!1||i===void 0){t[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){t[n]=Et(i===!0?{}:i,o);continue}if(i===!0){t[n]=!0;continue}t[n]=Et(i,o)}}function Ia(t,e,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...e},o=Ti(i,n);for(let[s,a]of Object.entries(o)){if(ge(a))continue;Vr(a,r.nestSelection(s));let f=r.findField(s);n?.[s]&&!f||(t[s]=!a)}}function Da(t,e){let r={},n=e.getComputedFields(),i=vi(t,n);for(let[o,s]of Object.entries(i)){if(ge(s))continue;let a=e.nestSelection(o);Vr(s,a);let f=e.findField(o);if(!(n?.[o]&&!f)){if(s===!1||s===void 0||ge(s)){r[o]=!1;continue}if(s===!0){f?.kind==="object"?r[o]=Et({},a):r[o]=!0;continue}r[o]=Et(s,a)}}return r}function ki(t,e){if(t===null)return null;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="bigint")return{$type:"BigInt",value:String(t)};if(Ve(t)){if(Ut(t))return{$type:"DateTime",value:t.toISOString()};e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Ci(t))return{$type:"Param",value:t.name};if(Ke(t))return{$type:"FieldRef",value:{_ref:t.name,_container:t.modelName}};if(Array.isArray(t))return _a(t,e);if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{$type:"Bytes",value:b.from(r,n,i).toString("base64")}}if(La(t))return t.values;if(je(t))return{$type:"Decimal",value:t.toFixed()};if(t instanceof xe){if(t!==Wt.instances[t._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:t._getName()}}if(Fa(t))return t.toJSON();if(typeof t=="object")return Oi(t,e);e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(t)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Oi(t,e){if(t.$type)return{$type:"Raw",value:t};let r={};for(let n in t){let i=t[n],o=e.nestArgument(n);ge(i)||(i!==void 0?r[n]=ki(i,o):e.isPreviewFeatureOn("strictUndefinedChecks")&&e.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:e.getSelectionPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:Si}))}return r}function _a(t,e){let r=[];for(let n=0;n({name:e.name,typeName:"boolean",isRelation:e.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(e){return this.params.previewFeatures.includes(e)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(e){return this.modelOrType?.fields.find(r=>r.name===e)}nestSelection(e){let r=this.findField(e),n=r?.kind==="object"?r.type:void 0;return new t({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(e)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[ve(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:be(this.params.action,"Unknown action")}}nestArgument(e){return new t({...this.params,argumentPath:this.params.argumentPath.concat(e)})}};u();c();m();p();d();l();function Mi(t){if(!t._hasPreviewFlag("metrics"))throw new W("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:t._clientVersion})}var Ye=class{_client;constructor(e){this._client=e}prometheus(e){return Mi(this._client),this._client._engine.metrics({format:"prometheus",...e})}json(e){return Mi(this._client),this._client._engine.metrics({format:"json",...e})}};u();c();m();p();d();l();function Ii(t,e){let r=ut(()=>Na(e));Object.defineProperty(t,"dmmf",{get:()=>r.get()})}function Na(t){throw new Error("Prisma.dmmf is not available when running in edge runtimes.")}function jr(t){return Object.entries(t).map(([e,r])=>({name:e,...r}))}u();c();m();p();d();l();var Qr=new WeakMap,tr="$$PrismaTypedSql",Pt=class{constructor(e,r){Qr.set(this,{sql:e,values:r}),Object.defineProperty(this,tr,{value:tr})}get sql(){return Qr.get(this).sql}get values(){return Qr.get(this).values}};function Di(t){return(...e)=>new Pt(t,e)}function rr(t){return t!=null&&t[tr]===tr}u();c();m();p();d();l();var Jo=nt(_i());u();c();m();p();d();l();Li();Un();jn();u();c();m();p();d();l();var Z=class t{constructor(e,r){if(e.length-1!==r.length)throw e.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${e.length} strings to have ${e.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof t?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=e[0];let i=0,o=0;for(;it.getPropertyValue(r))},getPropertyDescriptor(r){return t.getPropertyDescriptor?.(r)}}}u();c();m();p();d();l();u();c();m();p();d();l();var ir={enumerable:!0,configurable:!0,writable:!0};function or(t){let e=new Set(t);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>ir,has:(r,n)=>e.has(n),set:(r,n,i)=>e.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...e]}}var qi=Symbol.for("nodejs.util.inspect.custom");function ae(t,e){let r=Ua(e),n=new Set,i=new Proxy(t,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Ui(Reflect.ownKeys(o),r),a=Ui(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let f=r.get(s);return f?f.getPropertyDescriptor?{...ir,...f?.getPropertyDescriptor(s)}:ir:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[qi]=function(){let o={...this};return delete o[qi],o},i}function Ua(t){let e=new Map;for(let r of t){let n=r.getKeys();for(let i of n)e.set(i,r)}return e}function Ui(t,e){return t.filter(r=>e.get(r)?.has?.(r)??!0)}u();c();m();p();d();l();function Xe(t){return{getKeys(){return t},has(){return!1},getPropertyValue(){}}}u();c();m();p();d();l();function sr(t,e){return{batch:t,transaction:e?.kind==="batch"?{isolationLevel:e.options.isolationLevel}:void 0}}u();c();m();p();d();l();function Bi(t){if(t===void 0)return"";let e=He(t);return new Qe(0,{colors:Qt}).write(e).toString()}u();c();m();p();d();l();var Ba="P2037";function ar({error:t,user_facing_error:e},r,n){return e.error_code?new X($a(e,n),{code:e.error_code,clientVersion:r,meta:e.meta,batchRequestIdx:e.batch_request_idx}):new j(t,{clientVersion:r,batchRequestIdx:e.batch_request_idx})}function $a(t,e){let r=t.message;return(e==="postgresql"||e==="postgres"||e==="mysql")&&t.error_code===Ba&&(r+=` -Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var Wr=class{getLocation(){return null}};function Ce(t){return typeof $EnabledCallSite=="function"&&t!=="minimal"?new $EnabledCallSite:new Wr}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var $i={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Ze(t={}){let e=ja(t);return Object.entries(e).reduce((n,[i,o])=>($i[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function ja(t={}){return typeof t._count=="boolean"?{...t,_count:{_all:t._count}}:t}function lr(t={}){return e=>(typeof t._count=="boolean"&&(e._count=e._count._all),e)}function Vi(t,e){let r=lr(t);return e({action:"aggregate",unpacker:r,argsMapper:Ze})(t)}u();c();m();p();d();l();function Qa(t={}){let{select:e,...r}=t;return typeof e=="object"?Ze({...r,_count:e}):Ze({...r,_count:{_all:!0}})}function Ja(t={}){return typeof t.select=="object"?e=>lr(t)(e)._count:e=>lr(t)(e)._count._all}function ji(t,e){return e({action:"count",unpacker:Ja(t),argsMapper:Qa})(t)}u();c();m();p();d();l();function Ga(t={}){let e=Ze(t);if(Array.isArray(e.by))for(let r of e.by)typeof r=="string"&&(e.select[r]=!0);else typeof e.by=="string"&&(e.select[e.by]=!0);return e}function Wa(t={}){return e=>(typeof t?._count=="boolean"&&e.forEach(r=>{r._count=r._count._all}),e)}function Qi(t,e){return e({action:"groupBy",unpacker:Wa(t),argsMapper:Ga})(t)}function Ji(t,e,r){if(e==="aggregate")return n=>Vi(n,r);if(e==="count")return n=>ji(n,r);if(e==="groupBy")return n=>Qi(n,r)}u();c();m();p();d();l();function Gi(t,e){let r=e.fields.filter(i=>!i.relationName),n=ri(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new gt(t,o,s.type,s.isList,s.kind==="enum")},...or(Object.keys(n))})}u();c();m();p();d();l();u();c();m();p();d();l();var Wi=t=>Array.isArray(t)?t:t.split("."),Kr=(t,e)=>Wi(e).reduce((r,n)=>r&&r[n],t),Ki=(t,e,r)=>Wi(e).reduceRight((n,i,o,s)=>Object.assign({},Kr(t,s.slice(0,o)),{[i]:n}),r);function Ka(t,e){return t===void 0||e===void 0?[]:[...e,"select",t]}function Ha(t,e,r){return e===void 0?t??{}:Ki(e,r,t||!0)}function Hr(t,e,r,n,i,o){let a=t._runtimeDataModel.models[e].fields.reduce((f,h)=>({...f,[h.name]:h}),{});return f=>{let h=Ce(t._errorFormat),T=Ka(n,i),C=Ha(f,o,T),k=r({dataPath:T,callsite:h})(C),A=za(t,e);return new Proxy(k,{get(O,S){if(!A.includes(S))return O[S];let oe=[a[S].type,r,S],H=[T,C];return Hr(t,...oe,...H)},...or([...A,...Object.getOwnPropertyNames(k)])})}}function za(t,e){return t._runtimeDataModel.models[e].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Ya=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Xa=["aggregate","count","groupBy"];function zr(t,e){let r=t._extensions.getAllModelExtensions(e)??{},n=[Za(t,e),tl(t,e),vt(r),K("name",()=>e),K("$name",()=>e),K("$parent",()=>t._appliedParent)];return ae({},n)}function Za(t,e){let r=fe(e),n=Object.keys(ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>f=>{let h=Ce(t._errorFormat);return t._createPrismaPromise(T=>{let C={args:f,dataPath:[],action:o,model:e,clientMethod:`${r}.${i}`,jsModelName:r,transaction:T,callsite:h};return t._request({...C,...a})},{action:o,args:f,model:e})};return Ya.includes(o)?Hr(t,e,s):el(i)?Ji(t,i,s):s({})}}}function el(t){return Xa.includes(t)}function tl(t,e){return Ie(K("fields",()=>{let r=t._runtimeDataModel.models[e];return Gi(e,r)}))}u();c();m();p();d();l();function Hi(t){return t.replace(/^./,e=>e.toUpperCase())}var Yr=Symbol();function Tt(t){let e=[rl(t),nl(t),K(Yr,()=>t),K("$parent",()=>t._appliedParent)],r=t._extensions.getAllClientExtensions();return r&&e.push(vt(r)),ae(t,e)}function rl(t){let e=Object.getPrototypeOf(t._originalClient),r=[...new Set(Object.getOwnPropertyNames(e))];return{getKeys(){return r},getPropertyValue(n){return t[n]}}}function nl(t){let e=Object.keys(t._runtimeDataModel.models),r=e.map(fe),n=[...new Set(e.concat(r))];return Ie({getKeys(){return n},getPropertyValue(i){let o=Hi(i);if(t._runtimeDataModel.models[o]!==void 0)return zr(t,o);if(t._runtimeDataModel.models[i]!==void 0)return zr(t,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function zi(t){return t[Yr]?t[Yr]:t}function Yi(t){if(typeof t=="function")return t(this);if(t.client?.__AccelerateEngine){let r=t.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let e=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(t)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Tt(e)}u();c();m();p();d();l();u();c();m();p();d();l();function Xi({result:t,modelName:e,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(e);if(!o)return t;let s=[],a=[];for(let f of Object.values(o)){if(n){if(n[f.name])continue;let h=f.needs.filter(T=>n[T]);h.length>0&&a.push(Xe(h))}else if(r){if(!r[f.name])continue;let h=f.needs.filter(T=>!r[T]);h.length>0&&a.push(Xe(h))}il(t,f.needs)&&s.push(ol(f,ae(t,s)))}return s.length>0||a.length>0?ae(t,[...s,...a]):t}function il(t,e){return e.every(r=>Dr(t,r))}function ol(t,e){return Ie(K(t.name,()=>t.compute(e)))}u();c();m();p();d();l();function ur({visitor:t,result:e,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(e)){for(let s=0;sT.name===o);if(!f||f.kind!=="object"||!f.relationName)continue;let h=typeof s=="object"?s:{};e[o]=ur({visitor:i,result:e[o],args:h,modelName:f.type,runtimeDataModel:n})}}function eo({result:t,modelName:e,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||t==null||typeof t!="object"||!i.models[e]?t:ur({result:t,args:r??{},modelName:e,runtimeDataModel:i,visitor:(a,f,h)=>{let T=fe(f);return Xi({result:a,modelName:T,select:h.select,omit:h.select?void 0:{...o?.[T],...h.omit},extensions:n})}})}u();c();m();p();d();l();u();c();m();p();d();l();l();u();c();m();p();d();l();var sl=["$connect","$disconnect","$on","$transaction","$use","$extends"],to=sl;function ro(t){if(t instanceof Z)return al(t);if(rr(t))return ll(t);if(Array.isArray(t)){let r=[t[0]];for(let n=1;n{let o=e.customDataProxyFetch;return"transaction"in e&&i!==void 0&&(e.transaction?.kind==="batch"&&e.transaction.lock.then(),e.transaction=i),n===r.length?t._executeRequest(e):r[n]({model:e.model,operation:e.model?e.action:e.clientMethod,args:ro(e.args??{}),__internalParams:e,query:(s,a=e)=>{let f=a.customDataProxyFetch;return a.customDataProxyFetch=lo(o,f),a.args=s,io(t,a,r,n+1)}})})}function oo(t,e){let{jsModelName:r,action:n,clientMethod:i}=e,o=r?n:i;if(t._extensions.isEmpty())return t._executeRequest(e);let s=t._extensions.getAllQueryCallbacks(r??"$none",o);return io(t,e,s)}function so(t){return e=>{let r={requests:e},n=e[0].extensions.getAllBatchQueryCallbacks();return n.length?ao(r,n,0,t):t(r)}}function ao(t,e,r,n){if(r===e.length)return n(t);let i=t.customDataProxyFetch,o=t.requests[0].transaction;return e[r]({args:{queries:t.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:t,query(s,a=t){let f=a.customDataProxyFetch;return a.customDataProxyFetch=lo(i,f),ao(a,e,r+1,n)}})}var no=t=>t;function lo(t=no,e=no){return r=>t(e(r))}u();c();m();p();d();l();var uo=J("prisma:client"),co={Vercel:"vercel","Netlify CI":"netlify"};function mo({postinstall:t,ciName:e,clientVersion:r}){if(uo("checkPlatformCaching:postinstall",t),uo("checkPlatformCaching:ciName",e),t===!0&&e&&e in co){let n=`Prisma has detected that this project was built on ${e}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. +`)}};function He(t){return new Br(wi(t))}function wi(t){let e=new We;for(let[r,n]of Object.entries(t)){let i=new Kt(r,xi(n));e.addField(i)}return e}function xi(t){if(typeof t=="string")return new G(JSON.stringify(t));if(typeof t=="number"||typeof t=="boolean")return new G(String(t));if(typeof t=="bigint")return new G(`${t}n`);if(t===null)return new G("null");if(t===void 0)return new G("undefined");if(je(t))return new G(`new Prisma.Decimal("${t.toFixed()}")`);if(t instanceof Uint8Array)return b.isBuffer(t)?new G(`Buffer.alloc(${t.byteLength})`):new G(`new Uint8Array(${t.byteLength})`);if(t instanceof Date){let e=Ut(t)?t.toISOString():"Invalid Date";return new G(`new Date("${e}")`)}return t instanceof xe?new G(`Prisma.${t._getName()}`):Ke(t)?new G(`prisma.${ve(t.modelName)}.$fields.${t.name}`):Array.isArray(t)?Ca(t):typeof t=="object"?wi(t):new G(Object.prototype.toString.call(t))}function Ca(t){let e=new Ge;for(let r of t)e.addItem(xi(r));return e}function Ht(t,e){let r=e==="pretty"?mi:Qt,n=t.renderAllMessages(r),i=new Qe(0,{colors:r}).write(t).toString();return{message:n,args:i}}function zt({args:t,errors:e,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=He(t);for(let C of e)$t(C,a,s);let{message:f,args:h}=Ht(a,r),T=Bt({message:f,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:h});throw new W(T,{clientVersion:o})}u();c();m();p();d();l();u();c();m();p();d();l();function fe(t){return t.replace(/^./,e=>e.toLowerCase())}u();c();m();p();d();l();function Pi(t,e,r){let n=fe(r);return!e.result||!(e.result.$allModels||e.result[n])?t:Ra({...t,...Ei(e.name,t,e.result.$allModels),...Ei(e.name,t,e.result[n])})}function Ra(t){let e=new pe,r=(n,i)=>e.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),t[n]?t[n].needs.flatMap(o=>r(o,i)):[n]));return Be(t,n=>({...n,needs:r(n.name,new Set)}))}function Ei(t,e,r){return r?Be(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Aa(e,o,i)})):{}}function Aa(t,e,r){let n=t?.[e]?.compute;return n?i=>r({...i,[e]:n(i)}):r}function vi(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(t[n.name])for(let i of n.needs)r[i]=!0;return r}function Ti(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(!t[n.name])for(let i of n.needs)delete r[i];return r}var Yt=class{constructor(e,r){this.extension=e;this.previous=r}computedFieldsCache=new pe;modelExtensionsCache=new pe;queryCallbacksCache=new pe;clientExtensions=ut(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=ut(()=>{let e=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?e.concat(r):e});getAllComputedFields(e){return this.computedFieldsCache.getOrCreate(e,()=>Pi(this.previous?.getAllComputedFields(e),this.extension,e))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(e){return this.modelExtensionsCache.getOrCreate(e,()=>{let r=fe(e);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(e):{...this.previous?.getAllModelExtensions(e),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(e,r){return this.queryCallbacksCache.getOrCreate(`${e}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(e,r)??[],i=[],o=this.extension.query;return!o||!(o[e]||o.$allModels||o[r]||o.$allOperations)?n:(o[e]!==void 0&&(o[e][r]!==void 0&&i.push(o[e][r]),o[e].$allOperations!==void 0&&i.push(o[e].$allOperations)),e!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ze=class t{constructor(e){this.head=e}static empty(){return new t}static single(e){return new t(new Yt(e))}isEmpty(){return this.head===void 0}append(e){return new t(new Yt(e,this.head))}getAllComputedFields(e){return this.head?.getAllComputedFields(e)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(e){return this.head?.getAllModelExtensions(e)}getAllQueryCallbacks(e,r){return this.head?.getAllQueryCallbacks(e,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};u();c();m();p();d();l();var Xt=class{constructor(e){this.name=e}};function Ci(t){return t instanceof Xt}function Ri(t){return new Xt(t)}u();c();m();p();d();l();u();c();m();p();d();l();var Ai=Symbol(),xt=class{constructor(e){if(e!==Ai)throw new Error("Skip instance can not be constructed directly")}ifUndefined(e){return e===void 0?Zt:e}},Zt=new xt(Ai);function ge(t){return t instanceof xt}var Sa={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Si="explicitly `undefined` values are not allowed";function er({modelName:t,action:e,args:r,runtimeDataModel:n,extensions:i=ze.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:f,previewFeatures:h,globalOmit:T}){let C=new $r({runtimeDataModel:n,modelName:t,action:e,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:f,previewFeatures:h,globalOmit:T});return{modelName:t,action:Sa[e],query:Et(r,C)}}function Et({select:t,include:e,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Oi(r,n),selection:ka(t,e,i,n)}}function ka(t,e,r,n){return t?(e?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Da(t,n)):Oa(n,e,r)}function Oa(t,e,r){let n={};return t.modelOrType&&!t.isRawAction()&&(n.$composites=!0,n.$scalars=!0),e&&Ma(n,e,t),Ia(n,r,t),n}function Ma(t,e,r){for(let[n,i]of Object.entries(e)){if(ge(i))continue;let o=r.nestSelection(n);if(Vr(i,o),i===!1||i===void 0){t[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){t[n]=Et(i===!0?{}:i,o);continue}if(i===!0){t[n]=!0;continue}t[n]=Et(i,o)}}function Ia(t,e,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...e},o=Ti(i,n);for(let[s,a]of Object.entries(o)){if(ge(a))continue;Vr(a,r.nestSelection(s));let f=r.findField(s);n?.[s]&&!f||(t[s]=!a)}}function Da(t,e){let r={},n=e.getComputedFields(),i=vi(t,n);for(let[o,s]of Object.entries(i)){if(ge(s))continue;let a=e.nestSelection(o);Vr(s,a);let f=e.findField(o);if(!(n?.[o]&&!f)){if(s===!1||s===void 0||ge(s)){r[o]=!1;continue}if(s===!0){f?.kind==="object"?r[o]=Et({},a):r[o]=!0;continue}r[o]=Et(s,a)}}return r}function ki(t,e){if(t===null)return null;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="bigint")return{$type:"BigInt",value:String(t)};if(Ve(t)){if(Ut(t))return{$type:"DateTime",value:t.toISOString()};e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Ci(t))return{$type:"Param",value:t.name};if(Ke(t))return{$type:"FieldRef",value:{_ref:t.name,_container:t.modelName}};if(Array.isArray(t))return _a(t,e);if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{$type:"Bytes",value:b.from(r,n,i).toString("base64")}}if(La(t))return t.values;if(je(t))return{$type:"Decimal",value:t.toFixed()};if(t instanceof xe){if(t!==Wt.instances[t._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:t._getName()}}if(Fa(t))return t.toJSON();if(typeof t=="object")return Oi(t,e);e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(t)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Oi(t,e){if(t.$type)return{$type:"Raw",value:t};let r={};for(let n in t){let i=t[n],o=e.nestArgument(n);ge(i)||(i!==void 0?r[n]=ki(i,o):e.isPreviewFeatureOn("strictUndefinedChecks")&&e.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:e.getSelectionPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:Si}))}return r}function _a(t,e){let r=[];for(let n=0;n({name:e.name,typeName:"boolean",isRelation:e.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(e){return this.params.previewFeatures.includes(e)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(e){return this.modelOrType?.fields.find(r=>r.name===e)}nestSelection(e){let r=this.findField(e),n=r?.kind==="object"?r.type:void 0;return new t({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(e)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[ve(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:be(this.params.action,"Unknown action")}}nestArgument(e){return new t({...this.params,argumentPath:this.params.argumentPath.concat(e)})}};u();c();m();p();d();l();function Mi(t){if(!t._hasPreviewFlag("metrics"))throw new W("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:t._clientVersion})}var Ye=class{_client;constructor(e){this._client=e}prometheus(e){return Mi(this._client),this._client._engine.metrics({format:"prometheus",...e})}json(e){return Mi(this._client),this._client._engine.metrics({format:"json",...e})}};u();c();m();p();d();l();function Ii(t,e){let r=ut(()=>Na(e));Object.defineProperty(t,"dmmf",{get:()=>r.get()})}function Na(t){throw new Error("Prisma.dmmf is not available when running in edge runtimes.")}function jr(t){return Object.entries(t).map(([e,r])=>({name:e,...r}))}u();c();m();p();d();l();var Qr=new WeakMap,tr="$$PrismaTypedSql",Pt=class{constructor(e,r){Qr.set(this,{sql:e,values:r}),Object.defineProperty(this,tr,{value:tr})}get sql(){return Qr.get(this).sql}get values(){return Qr.get(this).values}};function Di(t){return(...e)=>new Pt(t,e)}function rr(t){return t!=null&&t[tr]===tr}u();c();m();p();d();l();var Jo=nt(_i());u();c();m();p();d();l();Li();Un();jn();u();c();m();p();d();l();var Z=class t{constructor(e,r){if(e.length-1!==r.length)throw e.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${e.length} strings to have ${e.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof t?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=e[0];let i=0,o=0;for(;it.getPropertyValue(r))},getPropertyDescriptor(r){return t.getPropertyDescriptor?.(r)}}}u();c();m();p();d();l();u();c();m();p();d();l();var ir={enumerable:!0,configurable:!0,writable:!0};function or(t){let e=new Set(t);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>ir,has:(r,n)=>e.has(n),set:(r,n,i)=>e.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...e]}}var qi=Symbol.for("nodejs.util.inspect.custom");function le(t,e){let r=Ua(e),n=new Set,i=new Proxy(t,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Ui(Reflect.ownKeys(o),r),a=Ui(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let f=r.get(s);return f?f.getPropertyDescriptor?{...ir,...f?.getPropertyDescriptor(s)}:ir:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[qi]=function(){let o={...this};return delete o[qi],o},i}function Ua(t){let e=new Map;for(let r of t){let n=r.getKeys();for(let i of n)e.set(i,r)}return e}function Ui(t,e){return t.filter(r=>e.get(r)?.has?.(r)??!0)}u();c();m();p();d();l();function Xe(t){return{getKeys(){return t},has(){return!1},getPropertyValue(){}}}u();c();m();p();d();l();function sr(t,e){return{batch:t,transaction:e?.kind==="batch"?{isolationLevel:e.options.isolationLevel}:void 0}}u();c();m();p();d();l();function Bi(t){if(t===void 0)return"";let e=He(t);return new Qe(0,{colors:Qt}).write(e).toString()}u();c();m();p();d();l();var Ba="P2037";function ar({error:t,user_facing_error:e},r,n){return e.error_code?new X($a(e,n),{code:e.error_code,clientVersion:r,meta:e.meta,batchRequestIdx:e.batch_request_idx}):new j(t,{clientVersion:r,batchRequestIdx:e.batch_request_idx})}function $a(t,e){let r=t.message;return(e==="postgresql"||e==="postgres"||e==="mysql")&&t.error_code===Ba&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var Wr=class{getLocation(){return null}};function Ce(t){return typeof $EnabledCallSite=="function"&&t!=="minimal"?new $EnabledCallSite:new Wr}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var $i={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Ze(t={}){let e=ja(t);return Object.entries(e).reduce((n,[i,o])=>($i[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function ja(t={}){return typeof t._count=="boolean"?{...t,_count:{_all:t._count}}:t}function lr(t={}){return e=>(typeof t._count=="boolean"&&(e._count=e._count._all),e)}function Vi(t,e){let r=lr(t);return e({action:"aggregate",unpacker:r,argsMapper:Ze})(t)}u();c();m();p();d();l();function Qa(t={}){let{select:e,...r}=t;return typeof e=="object"?Ze({...r,_count:e}):Ze({...r,_count:{_all:!0}})}function Ja(t={}){return typeof t.select=="object"?e=>lr(t)(e)._count:e=>lr(t)(e)._count._all}function ji(t,e){return e({action:"count",unpacker:Ja(t),argsMapper:Qa})(t)}u();c();m();p();d();l();function Ga(t={}){let e=Ze(t);if(Array.isArray(e.by))for(let r of e.by)typeof r=="string"&&(e.select[r]=!0);else typeof e.by=="string"&&(e.select[e.by]=!0);return e}function Wa(t={}){return e=>(typeof t?._count=="boolean"&&e.forEach(r=>{r._count=r._count._all}),e)}function Qi(t,e){return e({action:"groupBy",unpacker:Wa(t),argsMapper:Ga})(t)}function Ji(t,e,r){if(e==="aggregate")return n=>Vi(n,r);if(e==="count")return n=>ji(n,r);if(e==="groupBy")return n=>Qi(n,r)}u();c();m();p();d();l();function Gi(t,e){let r=e.fields.filter(i=>!i.relationName),n=ri(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new gt(t,o,s.type,s.isList,s.kind==="enum")},...or(Object.keys(n))})}u();c();m();p();d();l();u();c();m();p();d();l();var Wi=t=>Array.isArray(t)?t:t.split("."),Kr=(t,e)=>Wi(e).reduce((r,n)=>r&&r[n],t),Ki=(t,e,r)=>Wi(e).reduceRight((n,i,o,s)=>Object.assign({},Kr(t,s.slice(0,o)),{[i]:n}),r);function Ka(t,e){return t===void 0||e===void 0?[]:[...e,"select",t]}function Ha(t,e,r){return e===void 0?t??{}:Ki(e,r,t||!0)}function Hr(t,e,r,n,i,o){let a=t._runtimeDataModel.models[e].fields.reduce((f,h)=>({...f,[h.name]:h}),{});return f=>{let h=Ce(t._errorFormat),T=Ka(n,i),C=Ha(f,o,T),k=r({dataPath:T,callsite:h})(C),A=za(t,e);return new Proxy(k,{get(O,S){if(!A.includes(S))return O[S];let oe=[a[S].type,r,S],H=[T,C];return Hr(t,...oe,...H)},...or([...A,...Object.getOwnPropertyNames(k)])})}}function za(t,e){return t._runtimeDataModel.models[e].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Ya=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Xa=["aggregate","count","groupBy"];function zr(t,e){let r=t._extensions.getAllModelExtensions(e)??{},n=[Za(t,e),tl(t,e),vt(r),K("name",()=>e),K("$name",()=>e),K("$parent",()=>t._appliedParent)];return le({},n)}function Za(t,e){let r=fe(e),n=Object.keys(ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>f=>{let h=Ce(t._errorFormat);return t._createPrismaPromise(T=>{let C={args:f,dataPath:[],action:o,model:e,clientMethod:`${r}.${i}`,jsModelName:r,transaction:T,callsite:h};return t._request({...C,...a})},{action:o,args:f,model:e})};return Ya.includes(o)?Hr(t,e,s):el(i)?Ji(t,i,s):s({})}}}function el(t){return Xa.includes(t)}function tl(t,e){return Ie(K("fields",()=>{let r=t._runtimeDataModel.models[e];return Gi(e,r)}))}u();c();m();p();d();l();function Hi(t){return t.replace(/^./,e=>e.toUpperCase())}var Yr=Symbol();function Tt(t){let e=[rl(t),nl(t),K(Yr,()=>t),K("$parent",()=>t._appliedParent)],r=t._extensions.getAllClientExtensions();return r&&e.push(vt(r)),le(t,e)}function rl(t){let e=Object.getPrototypeOf(t._originalClient),r=[...new Set(Object.getOwnPropertyNames(e))];return{getKeys(){return r},getPropertyValue(n){return t[n]}}}function nl(t){let e=Object.keys(t._runtimeDataModel.models),r=e.map(fe),n=[...new Set(e.concat(r))];return Ie({getKeys(){return n},getPropertyValue(i){let o=Hi(i);if(t._runtimeDataModel.models[o]!==void 0)return zr(t,o);if(t._runtimeDataModel.models[i]!==void 0)return zr(t,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function zi(t){return t[Yr]?t[Yr]:t}function Yi(t){if(typeof t=="function")return t(this);if(t.client?.__AccelerateEngine){let r=t.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let e=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(t)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Tt(e)}u();c();m();p();d();l();u();c();m();p();d();l();function Xi({result:t,modelName:e,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(e);if(!o)return t;let s=[],a=[];for(let f of Object.values(o)){if(n){if(n[f.name])continue;let h=f.needs.filter(T=>n[T]);h.length>0&&a.push(Xe(h))}else if(r){if(!r[f.name])continue;let h=f.needs.filter(T=>!r[T]);h.length>0&&a.push(Xe(h))}il(t,f.needs)&&s.push(ol(f,le(t,s)))}return s.length>0||a.length>0?le(t,[...s,...a]):t}function il(t,e){return e.every(r=>Dr(t,r))}function ol(t,e){return Ie(K(t.name,()=>t.compute(e)))}u();c();m();p();d();l();function ur({visitor:t,result:e,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(e)){for(let s=0;sT.name===o);if(!f||f.kind!=="object"||!f.relationName)continue;let h=typeof s=="object"?s:{};e[o]=ur({visitor:i,result:e[o],args:h,modelName:f.type,runtimeDataModel:n})}}function eo({result:t,modelName:e,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||t==null||typeof t!="object"||!i.models[e]?t:ur({result:t,args:r??{},modelName:e,runtimeDataModel:i,visitor:(a,f,h)=>{let T=fe(f);return Xi({result:a,modelName:T,select:h.select,omit:h.select?void 0:{...o?.[T],...h.omit},extensions:n})}})}u();c();m();p();d();l();u();c();m();p();d();l();l();u();c();m();p();d();l();var sl=["$connect","$disconnect","$on","$transaction","$use","$extends"],to=sl;function ro(t){if(t instanceof Z)return al(t);if(rr(t))return ll(t);if(Array.isArray(t)){let r=[t[0]];for(let n=1;n{let o=e.customDataProxyFetch;return"transaction"in e&&i!==void 0&&(e.transaction?.kind==="batch"&&e.transaction.lock.then(),e.transaction=i),n===r.length?t._executeRequest(e):r[n]({model:e.model,operation:e.model?e.action:e.clientMethod,args:ro(e.args??{}),__internalParams:e,query:(s,a=e)=>{let f=a.customDataProxyFetch;return a.customDataProxyFetch=lo(o,f),a.args=s,io(t,a,r,n+1)}})})}function oo(t,e){let{jsModelName:r,action:n,clientMethod:i}=e,o=r?n:i;if(t._extensions.isEmpty())return t._executeRequest(e);let s=t._extensions.getAllQueryCallbacks(r??"$none",o);return io(t,e,s)}function so(t){return e=>{let r={requests:e},n=e[0].extensions.getAllBatchQueryCallbacks();return n.length?ao(r,n,0,t):t(r)}}function ao(t,e,r,n){if(r===e.length)return n(t);let i=t.customDataProxyFetch,o=t.requests[0].transaction;return e[r]({args:{queries:t.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:t,query(s,a=t){let f=a.customDataProxyFetch;return a.customDataProxyFetch=lo(i,f),ao(a,e,r+1,n)}})}var no=t=>t;function lo(t=no,e=no){return r=>t(e(r))}u();c();m();p();d();l();var uo=J("prisma:client"),co={Vercel:"vercel","Netlify CI":"netlify"};function mo({postinstall:t,ciName:e,clientVersion:r}){if(uo("checkPlatformCaching:postinstall",t),uo("checkPlatformCaching:ciName",e),t===!0&&e&&e in co){let n=`Prisma has detected that this project was built on ${e}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. -Learn how: https://pris.ly/d/${co[e]}-build`;throw console.error(n),new I(n,r)}}u();c();m();p();d();l();function po(t,e){return t?t.datasources?t.datasources:t.datasourceUrl?{[e[0]]:{url:t.datasourceUrl}}:{}:{}}u();c();m();p();d();l();u();c();m();p();d();l();var ul=()=>globalThis.process?.release?.name==="node",cl=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,ml=()=>!!globalThis.Deno,pl=()=>typeof globalThis.Netlify=="object",dl=()=>typeof globalThis.EdgeRuntime=="object",fl=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function gl(){return[[pl,"netlify"],[dl,"edge-light"],[fl,"workerd"],[ml,"deno"],[cl,"bun"],[ul,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var yl={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Re(){let t=gl();return{id:t,prettyName:yl[t]||t,isEdge:["workerd","deno","netlify","edge-light"].includes(t)}}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();function Xr(t){return t.name==="DriverAdapterError"&&typeof t.cause=="object"}u();c();m();p();d();l();function cr(t){return{ok:!0,value:t,map(e){return cr(e(t))},flatMap(e){return e(t)}}}function De(t){return{ok:!1,error:t,map(){return De(t)},flatMap(){return De(t)}}}var fo=J("driver-adapter-utils"),Zr=class{registeredErrors=[];consumeError(e){return this.registeredErrors[e]}registerNewError(e){let r=0;for(;this.registeredErrors[r]!==void 0;)r++;return this.registeredErrors[r]={error:e},r}};var en=(t,e=new Zr)=>{let r={adapterName:t.adapterName,errorRegistry:e,queryRaw:Ee(e,t.queryRaw.bind(t)),executeRaw:Ee(e,t.executeRaw.bind(t)),executeScript:Ee(e,t.executeScript.bind(t)),dispose:Ee(e,t.dispose.bind(t)),provider:t.provider,startTransaction:async(...n)=>(await Ee(e,t.startTransaction.bind(t))(...n)).map(o=>hl(e,o))};return t.getConnectionInfo&&(r.getConnectionInfo=bl(e,t.getConnectionInfo.bind(t))),r},hl=(t,e)=>({adapterName:e.adapterName,provider:e.provider,options:e.options,queryRaw:Ee(t,e.queryRaw.bind(e)),executeRaw:Ee(t,e.executeRaw.bind(e)),commit:Ee(t,e.commit.bind(e)),rollback:Ee(t,e.rollback.bind(e))});function Ee(t,e){return async(...r)=>{try{return cr(await e(...r))}catch(n){if(fo("[error@wrapAsync]",n),Xr(n))return De(n.cause);let i=t.registerNewError(n);return De({kind:"GenericJs",id:i})}}}function bl(t,e){return(...r)=>{try{return cr(e(...r))}catch(n){if(fo("[error@wrapSync]",n),Xr(n))return De(n.cause);let i=t.registerNewError(n);return De({kind:"GenericJs",id:i})}}}u();c();m();p();d();l();function mr({inlineDatasources:t,overrideDatasources:e,env:r,clientVersion:n}){let i,o=Object.keys(t)[0],s=t[o]?.url,a=e[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw Re().id==="workerd"?new I(`error: Environment variable not found: ${s.fromEnvVar}. +Learn how: https://pris.ly/d/${co[e]}-build`;throw console.error(n),new I(n,r)}}u();c();m();p();d();l();function po(t,e){return t?t.datasources?t.datasources:t.datasourceUrl?{[e[0]]:{url:t.datasourceUrl}}:{}:{}}u();c();m();p();d();l();u();c();m();p();d();l();var ul=()=>globalThis.process?.release?.name==="node",cl=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,ml=()=>!!globalThis.Deno,pl=()=>typeof globalThis.Netlify=="object",dl=()=>typeof globalThis.EdgeRuntime=="object",fl=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function gl(){return[[pl,"netlify"],[dl,"edge-light"],[fl,"workerd"],[ml,"deno"],[cl,"bun"],[ul,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var yl={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Re(){let t=gl();return{id:t,prettyName:yl[t]||t,isEdge:["workerd","deno","netlify","edge-light"].includes(t)}}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();function Xr(t){return t.name==="DriverAdapterError"&&typeof t.cause=="object"}u();c();m();p();d();l();function cr(t){return{ok:!0,value:t,map(e){return cr(e(t))},flatMap(e){return e(t)}}}function De(t){return{ok:!1,error:t,map(){return De(t)},flatMap(){return De(t)}}}var fo=J("driver-adapter-utils"),Zr=class{registeredErrors=[];consumeError(e){return this.registeredErrors[e]}registerNewError(e){let r=0;for(;this.registeredErrors[r]!==void 0;)r++;return this.registeredErrors[r]={error:e},r}};var en=(t,e=new Zr)=>{let r={adapterName:t.adapterName,errorRegistry:e,queryRaw:Ee(e,t.queryRaw.bind(t)),executeRaw:Ee(e,t.executeRaw.bind(t)),executeScript:Ee(e,t.executeScript.bind(t)),dispose:Ee(e,t.dispose.bind(t)),provider:t.provider,startTransaction:async(...n)=>(await Ee(e,t.startTransaction.bind(t))(...n)).map(o=>hl(e,o))};return t.getConnectionInfo&&(r.getConnectionInfo=bl(e,t.getConnectionInfo.bind(t))),r},hl=(t,e)=>({adapterName:e.adapterName,provider:e.provider,options:e.options,queryRaw:Ee(t,e.queryRaw.bind(e)),executeRaw:Ee(t,e.executeRaw.bind(e)),commit:Ee(t,e.commit.bind(e)),rollback:Ee(t,e.rollback.bind(e))});function Ee(t,e){return async(...r)=>{try{return cr(await e(...r))}catch(n){if(fo("[error@wrapAsync]",n),Xr(n))return De(n.cause);let i=t.registerNewError(n);return De({kind:"GenericJs",id:i})}}}function bl(t,e){return(...r)=>{try{return cr(e(...r))}catch(n){if(fo("[error@wrapSync]",n),Xr(n))return De(n.cause);let i=t.registerNewError(n);return De({kind:"GenericJs",id:i})}}}var go="6.8.2";u();c();m();p();d();l();function mr({inlineDatasources:t,overrideDatasources:e,env:r,clientVersion:n}){let i,o=Object.keys(t)[0],s=t[o]?.url,a=e[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw Re().id==="workerd"?new I(`error: Environment variable not found: ${s.fromEnvVar}. In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. -To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new I(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new I("error: Missing URL environment variable, value, or override.",n);return i}u();c();m();p();d();l();u();c();m();p();d();l();function go(t){if(t?.kind==="itx")return t.options.id}u();c();m();p();d();l();var tn,yo={async loadLibrary(t){let{clientVersion:e,adapter:r,engineWasm:n}=t;if(r===void 0)throw new I(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Re().prettyName})`,e);if(n===void 0)throw new I("WASM engine was unexpectedly `undefined`",e);tn===void 0&&(tn=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new I("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",e);let a={"./query_engine_bg.js":o},f=new WebAssembly.Instance(s,a),h=f.exports.__wbindgen_start;return o.__wbg_set_wasm(f.exports),h(),o.QueryEngine})());let i=await tn;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var wl="P2036",ye=J("prisma:client:libraryEngine");function xl(t){return t.item_type==="query"&&"query"in t}function El(t){return"level"in t?t.level==="error"&&t.message==="PANIC":!1}var SS=[...kr,"native"],Pl=0xffffffffffffffffn,rn=1n;function vl(){let t=rn++;return rn>Pl&&(rn=1n),t}var Rt=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(e,r){this.libraryLoader=r??yo,this.config=e,this.libraryStarted=!1,this.logQueries=e.logQueries??!1,this.logLevel=e.logLevel??"error",this.logEmitter=e.logEmitter,this.datamodel=e.inlineSchema,this.tracingHelper=e.tracingHelper,e.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(e.overrideDatasources)[0],i=e.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(e){return{applyPendingMigrations:e.applyPendingMigrations?.bind(e),commitTransaction:this.withRequestId(e.commitTransaction.bind(e)),connect:this.withRequestId(e.connect.bind(e)),disconnect:this.withRequestId(e.disconnect.bind(e)),metrics:e.metrics?.bind(e),query:this.withRequestId(e.query.bind(e)),rollbackTransaction:this.withRequestId(e.rollbackTransaction.bind(e)),sdlSchema:e.sdlSchema?.bind(e),startTransaction:this.withRequestId(e.startTransaction.bind(e)),trace:e.trace.bind(e)}}withRequestId(e){return async(...r)=>{let n=vl().toString();try{return await e(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(e,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(e==="start"){let f=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(f,o)}else e==="commit"?s=await this.engine?.commitTransaction(n.id,o):e==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(Tl(a)){let f=this.getExternalAdapterError(a,i?.errorRegistry);throw f?f.error:new X(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new j(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(ye("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(e){if(!e)throw new j("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(e)}catch{throw new j("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let e=new w(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(en));let r=await this.adapterPromise;r&&ye("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:g.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{e.deref()?.logger(n)},r))}catch(e){let r=e,n=this.parseInitError(r.message);throw typeof n=="string"?r:new I(n.message,this.config.clientVersion,n.error_code)}}}logger(e){let r=this.parseEngineResponse(e);r&&(r.level=r?.level.toLowerCase()??"unknown",xl(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):(El(r),this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path})))}parseInitError(e){try{return JSON.parse(e)}catch{}return e}parseRequestError(e){try{return JSON.parse(e)}catch{}return e}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return ye(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let e=async()=>{ye("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,ye("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new I(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",e),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return ye("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted)return;let e=async()=>{await new Promise(n=>setTimeout(n,5)),ye("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.libraryStarted=!1,this.libraryStoppingPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,ye("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",e),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(e){return this.library?.debugPanic(e)}async request(e,{traceparent:r,interactiveTransaction:n}){ye(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(e);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof I)throw s;s.code==="GenericFailure"&&s.message?.startsWith("PANIC:");let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new j(`${a.message} -${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(e,{transaction:r,traceparent:n}){ye("requestBatch");let i=sr(e,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine.query(this.lastQuery,JSON.stringify({traceparent:n}),go(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:f,errors:h}=a;if(Array.isArray(f))return f.map(T=>T.errors&&T.errors.length>0?this.loggerRustPanic??this.buildQueryError(T.errors[0],o?.errorRegistry):{data:T});throw h&&h.length===1?new Error(h[0].error):new Error(JSON.stringify(a))}buildQueryError(e,r){e.user_facing_error.is_panic;let n=this.getExternalAdapterError(e.user_facing_error,r);return n?n.error:ar(e,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(e,r){if(e.error_code===wl&&r){let n=e.meta?.id;qt(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return qt(i,"External error with reported id was not registered"),i}}async metrics(e){await this.start();let r=await this.engine.metrics(JSON.stringify(e));return e.format==="prometheus"?r:this.parseEngineResponse(r)}};function Tl(t){return typeof t=="object"&&t!==null&&t.error_code!==void 0}u();c();m();p();d();l();var At="Accelerate has not been setup correctly. Make sure your client is using `.$extends(withAccelerate())`. See https://pris.ly/d/accelerate-getting-started",pr=class{constructor(e){this.config=e;this.resolveDatasourceUrl=this.config.accelerateUtils?.resolveDatasourceUrl,this.getBatchRequestPayload=this.config.accelerateUtils?.getBatchRequestPayload,this.prismaGraphQLToJSError=this.config.accelerateUtils?.prismaGraphQLToJSError,this.PrismaClientUnknownRequestError=this.config.accelerateUtils?.PrismaClientUnknownRequestError,this.PrismaClientInitializationError=this.config.accelerateUtils?.PrismaClientInitializationError,this.PrismaClientKnownRequestError=this.config.accelerateUtils?.PrismaClientKnownRequestError,this.debug=this.config.accelerateUtils?.debug,this.engineVersion=this.config.accelerateUtils?.engineVersion,this.clientVersion=this.config.accelerateUtils?.clientVersion}name="AccelerateEngine";resolveDatasourceUrl;getBatchRequestPayload;prismaGraphQLToJSError;PrismaClientUnknownRequestError;PrismaClientInitializationError;PrismaClientKnownRequestError;debug;engineVersion;clientVersion;onBeforeExit(e){}async start(){}async stop(){}version(e){return"unknown"}transaction(e,r,n){throw new I(At,this.config.clientVersion)}metrics(e){throw new I(At,this.config.clientVersion)}request(e,r){throw new I(At,this.config.clientVersion)}requestBatch(e,r){throw new I(At,this.config.clientVersion)}applyPendingMigrations(){throw new I(At,this.config.clientVersion)}};function ho({copyEngine:t=!0},e){let r;try{r=mr({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,env:{...e.env,...g.env},clientVersion:e.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||Mr(r));t&&n&<("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Ue(e.generator),o=n||!t,s=!!e.adapter,a=i==="library",f=i==="binary",h=i==="client";if(o&&s||s&&!1){let T;throw t?r?.startsWith("prisma://")?T=["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]:T=["Prisma Client was configured to use both the `adapter` and Accelerate, please chose one."]:T=["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."],new W(T.join(` +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new I(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new I("error: Missing URL environment variable, value, or override.",n);return i}u();c();m();p();d();l();u();c();m();p();d();l();function yo(t){if(t?.kind==="itx")return t.options.id}u();c();m();p();d();l();var tn,ho={async loadLibrary(t){let{clientVersion:e,adapter:r,engineWasm:n}=t;if(r===void 0)throw new I(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Re().prettyName})`,e);if(n===void 0)throw new I("WASM engine was unexpectedly `undefined`",e);tn===void 0&&(tn=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new I("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",e);let a={"./query_engine_bg.js":o},f=new WebAssembly.Instance(s,a),h=f.exports.__wbindgen_start;return o.__wbg_set_wasm(f.exports),h(),o.QueryEngine})());let i=await tn;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var xl="P2036",ye=J("prisma:client:libraryEngine");function El(t){return t.item_type==="query"&&"query"in t}function Pl(t){return"level"in t?t.level==="error"&&t.message==="PANIC":!1}var OS=[...kr,"native"],vl=0xffffffffffffffffn,rn=1n;function Tl(){let t=rn++;return rn>vl&&(rn=1n),t}var Rt=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(e,r){this.libraryLoader=r??ho,this.config=e,this.libraryStarted=!1,this.logQueries=e.logQueries??!1,this.logLevel=e.logLevel??"error",this.logEmitter=e.logEmitter,this.datamodel=e.inlineSchema,this.tracingHelper=e.tracingHelper,e.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(e.overrideDatasources)[0],i=e.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(e){return{applyPendingMigrations:e.applyPendingMigrations?.bind(e),commitTransaction:this.withRequestId(e.commitTransaction.bind(e)),connect:this.withRequestId(e.connect.bind(e)),disconnect:this.withRequestId(e.disconnect.bind(e)),metrics:e.metrics?.bind(e),query:this.withRequestId(e.query.bind(e)),rollbackTransaction:this.withRequestId(e.rollbackTransaction.bind(e)),sdlSchema:e.sdlSchema?.bind(e),startTransaction:this.withRequestId(e.startTransaction.bind(e)),trace:e.trace.bind(e)}}withRequestId(e){return async(...r)=>{let n=Tl().toString();try{return await e(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(e,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(e==="start"){let f=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(f,o)}else e==="commit"?s=await this.engine?.commitTransaction(n.id,o):e==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(Cl(a)){let f=this.getExternalAdapterError(a,i?.errorRegistry);throw f?f.error:new X(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new j(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(ye("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(e){if(!e)throw new j("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(e)}catch{throw new j("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let e=new w(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(en));let r=await this.adapterPromise;r&&ye("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:g.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{e.deref()?.logger(n)},r))}catch(e){let r=e,n=this.parseInitError(r.message);throw typeof n=="string"?r:new I(n.message,this.config.clientVersion,n.error_code)}}}logger(e){let r=this.parseEngineResponse(e);r&&(r.level=r?.level.toLowerCase()??"unknown",El(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):(Pl(r),this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path})))}parseInitError(e){try{return JSON.parse(e)}catch{}return e}parseRequestError(e){try{return JSON.parse(e)}catch{}return e}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return ye(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let e=async()=>{ye("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,ye("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new I(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",e),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return ye("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted)return;let e=async()=>{await new Promise(n=>setTimeout(n,5)),ye("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.libraryStarted=!1,this.libraryStoppingPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,ye("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",e),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(e){return this.library?.debugPanic(e)}async request(e,{traceparent:r,interactiveTransaction:n}){ye(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(e);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof I)throw s;s.code==="GenericFailure"&&s.message?.startsWith("PANIC:");let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new j(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(e,{transaction:r,traceparent:n}){ye("requestBatch");let i=sr(e,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine.query(this.lastQuery,JSON.stringify({traceparent:n}),yo(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:f,errors:h}=a;if(Array.isArray(f))return f.map(T=>T.errors&&T.errors.length>0?this.loggerRustPanic??this.buildQueryError(T.errors[0],o?.errorRegistry):{data:T});throw h&&h.length===1?new Error(h[0].error):new Error(JSON.stringify(a))}buildQueryError(e,r){e.user_facing_error.is_panic;let n=this.getExternalAdapterError(e.user_facing_error,r);return n?n.error:ar(e,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(e,r){if(e.error_code===xl&&r){let n=e.meta?.id;qt(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return qt(i,"External error with reported id was not registered"),i}}async metrics(e){await this.start();let r=await this.engine.metrics(JSON.stringify(e));return e.format==="prometheus"?r:this.parseEngineResponse(r)}};function Cl(t){return typeof t=="object"&&t!==null&&t.error_code!==void 0}u();c();m();p();d();l();var At="Accelerate has not been setup correctly. Make sure your client is using `.$extends(withAccelerate())`. See https://pris.ly/d/accelerate-getting-started",pr=class{constructor(e){this.config=e;this.resolveDatasourceUrl=this.config.accelerateUtils?.resolveDatasourceUrl,this.getBatchRequestPayload=this.config.accelerateUtils?.getBatchRequestPayload,this.prismaGraphQLToJSError=this.config.accelerateUtils?.prismaGraphQLToJSError,this.PrismaClientUnknownRequestError=this.config.accelerateUtils?.PrismaClientUnknownRequestError,this.PrismaClientInitializationError=this.config.accelerateUtils?.PrismaClientInitializationError,this.PrismaClientKnownRequestError=this.config.accelerateUtils?.PrismaClientKnownRequestError,this.debug=this.config.accelerateUtils?.debug,this.engineVersion=this.config.accelerateUtils?.engineVersion,this.clientVersion=this.config.accelerateUtils?.clientVersion}name="AccelerateEngine";resolveDatasourceUrl;getBatchRequestPayload;prismaGraphQLToJSError;PrismaClientUnknownRequestError;PrismaClientInitializationError;PrismaClientKnownRequestError;debug;engineVersion;clientVersion;onBeforeExit(e){}async start(){}async stop(){}version(e){return"unknown"}transaction(e,r,n){throw new I(At,this.config.clientVersion)}metrics(e){throw new I(At,this.config.clientVersion)}request(e,r){throw new I(At,this.config.clientVersion)}requestBatch(e,r){throw new I(At,this.config.clientVersion)}applyPendingMigrations(){throw new I(At,this.config.clientVersion)}};function bo({copyEngine:t=!0},e){let r;try{r=mr({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,env:{...e.env,...g.env},clientVersion:e.clientVersion})}catch{}let n=!!(r?.startsWith("prisma://")||Mr(r));t&&n&<("recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)");let i=Ue(e.generator),o=n||!t,s=!!e.adapter,a=i==="library",f=i==="binary",h=i==="client";if(o&&s||s&&!1){let T;throw t?r?.startsWith("prisma://")?T=["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]:T=["Prisma Client was configured to use both the `adapter` and Accelerate, please chose one."]:T=["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."],new W(T.join(` `),{clientVersion:e.clientVersion})}if(s)return new Rt(e);if(o)return new pr(e);{let T=[`PrismaClient failed to initialize because it wasn't configured to run in this environment (${Re().prettyName}).`,"In order to run Prisma Client in an edge runtime, you will need to configure one of the following options:","- Enable Driver Adapters: https://pris.ly/d/driver-adapters","- Enable Accelerate: https://pris.ly/d/accelerate"];throw new W(T.join(` -`),{clientVersion:e.clientVersion})}return"wasm"}u();c();m();p();d();l();function dr({generator:t}){return t?.previewFeatures??[]}u();c();m();p();d();l();var bo=t=>({command:t});u();c();m();p();d();l();u();c();m();p();d();l();var wo=t=>t.strings.reduce((e,r,n)=>`${e}@P${n}${r}`);u();c();m();p();d();l();l();function et(t){try{return xo(t,"fast")}catch{return xo(t,"slow")}}function xo(t,e){return JSON.stringify(t.map(r=>Po(r,e)))}function Po(t,e){if(Array.isArray(t))return t.map(r=>Po(r,e));if(typeof t=="bigint")return{prisma__type:"bigint",prisma__value:t.toString()};if(Ve(t))return{prisma__type:"date",prisma__value:t.toJSON()};if(me.isDecimal(t))return{prisma__type:"decimal",prisma__value:t.toJSON()};if(b.isBuffer(t))return{prisma__type:"bytes",prisma__value:t.toString("base64")};if(Cl(t))return{prisma__type:"bytes",prisma__value:b.from(t).toString("base64")};if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{prisma__type:"bytes",prisma__value:b.from(r,n,i).toString("base64")}}return typeof t=="object"&&e==="slow"?vo(t):t}function Cl(t){return t instanceof ArrayBuffer||t instanceof SharedArrayBuffer?!0:typeof t=="object"&&t!==null?t[Symbol.toStringTag]==="ArrayBuffer"||t[Symbol.toStringTag]==="SharedArrayBuffer":!1}function vo(t){if(typeof t!="object"||t===null)return t;if(typeof t.toJSON=="function")return t.toJSON();if(Array.isArray(t))return t.map(Eo);let e={};for(let r of Object.keys(t))e[r]=Eo(t[r]);return e}function Eo(t){return typeof t=="bigint"?t.toString():vo(t)}var Rl=/^(\s*alter\s)/i,To=J("prisma:client");function nn(t,e,r,n){if(!(t!=="postgresql"&&t!=="cockroachdb")&&r.length>0&&Rl.exec(e))throw new Error(`Running ALTER using ${n} is not supported +`),{clientVersion:e.clientVersion})}return"wasm"}u();c();m();p();d();l();function dr({generator:t}){return t?.previewFeatures??[]}u();c();m();p();d();l();var wo=t=>({command:t});u();c();m();p();d();l();u();c();m();p();d();l();var xo=t=>t.strings.reduce((e,r,n)=>`${e}@P${n}${r}`);u();c();m();p();d();l();l();function et(t){try{return Eo(t,"fast")}catch{return Eo(t,"slow")}}function Eo(t,e){return JSON.stringify(t.map(r=>vo(r,e)))}function vo(t,e){if(Array.isArray(t))return t.map(r=>vo(r,e));if(typeof t=="bigint")return{prisma__type:"bigint",prisma__value:t.toString()};if(Ve(t))return{prisma__type:"date",prisma__value:t.toJSON()};if(ae.isDecimal(t))return{prisma__type:"decimal",prisma__value:t.toJSON()};if(b.isBuffer(t))return{prisma__type:"bytes",prisma__value:t.toString("base64")};if(Rl(t))return{prisma__type:"bytes",prisma__value:b.from(t).toString("base64")};if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{prisma__type:"bytes",prisma__value:b.from(r,n,i).toString("base64")}}return typeof t=="object"&&e==="slow"?To(t):t}function Rl(t){return t instanceof ArrayBuffer||t instanceof SharedArrayBuffer?!0:typeof t=="object"&&t!==null?t[Symbol.toStringTag]==="ArrayBuffer"||t[Symbol.toStringTag]==="SharedArrayBuffer":!1}function To(t){if(typeof t!="object"||t===null)return t;if(typeof t.toJSON=="function")return t.toJSON();if(Array.isArray(t))return t.map(Po);let e={};for(let r of Object.keys(t))e[r]=Po(t[r]);return e}function Po(t){return typeof t=="bigint"?t.toString():To(t)}var Al=/^(\s*alter\s)/i,Co=J("prisma:client");function nn(t,e,r,n){if(!(t!=="postgresql"&&t!=="cockroachdb")&&r.length>0&&Al.exec(e))throw new Error(`Running ALTER using ${n} is not supported Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. Example: await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) More Information: https://pris.ly/d/execute-raw -`)}var on=({clientMethod:t,activeProvider:e})=>r=>{let n="",i;if(rr(r))n=r.sql,i={values:et(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:et(s||[]),__prismaRawParameters__:!0}}else switch(e){case"sqlite":case"mysql":{n=r.sql,i={values:et(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:et(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=wo(r),i={values:et(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${e} provider does not support ${t}`)}return i?.values?To(`prisma.${t}(${n}, ${i.values})`):To(`prisma.${t}(${n})`),{query:n,parameters:i}},Co={requestArgsToMiddlewareArgs(t){return[t.strings,...t.values]},middlewareArgsToRequestArgs(t){let[e,...r]=t;return new Z(e,r)}},Ro={requestArgsToMiddlewareArgs(t){return[t]},middlewareArgsToRequestArgs(t){return t[0]}};u();c();m();p();d();l();function sn(t){return function(r,n){let i,o=(s=t)=>{try{return s===void 0||s?.kind==="itx"?i??=Ao(r(s)):Ao(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Ao(t){return typeof t.then=="function"?t:Promise.resolve(t)}u();c();m();p();d();l();var Al=Or.split(".")[0],Sl={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(t,e){return e()}},an=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(e){return this.getGlobalTracingHelper().getTraceParent(e)}dispatchEngineSpans(e){return this.getGlobalTracingHelper().dispatchEngineSpans(e)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(e,r){return this.getGlobalTracingHelper().runInChildSpan(e,r)}getGlobalTracingHelper(){let e=globalThis[`V${Al}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return e?.helper??r?.helper??Sl}};function So(){return new an}u();c();m();p();d();l();function ko(t,e=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--t===0&&r(e()),i?.(n)}}}u();c();m();p();d();l();function Oo(t){return typeof t=="string"?t:t.reduce((e,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?e:e&&(r==="info"||e==="info")?"info":n},void 0)}u();c();m();p();d();l();var fr=class{_middlewares=[];use(e){this._middlewares.push(e)}get(e){return this._middlewares[e]}has(e){return!!this._middlewares[e]}length(){return this._middlewares.length}};u();c();m();p();d();l();var Io=nt(Zn());u();c();m();p();d();l();function gr(t){return typeof t.batchRequestIdx=="number"}u();c();m();p();d();l();function Mo(t){if(t.action!=="findUnique"&&t.action!=="findUniqueOrThrow")return;let e=[];return t.modelName&&e.push(t.modelName),t.query.arguments&&e.push(ln(t.query.arguments)),e.push(ln(t.query.selection)),e.join("")}function ln(t){return`(${Object.keys(t).sort().map(r=>{let n=t[r];return typeof n=="object"&&n!==null?`(${r} ${ln(n)})`:r}).join(" ")})`}u();c();m();p();d();l();var kl={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function un(t){return kl[t]}u();c();m();p();d();l();var yr=class{constructor(e){this.options=e;this.batches={}}batches;tickActive=!1;request(e){let r=this.options.batchBy(e);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,g.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:e,resolve:n,reject:i})})):this.options.singleLoader(e)}dispatchBatches(){for(let e in this.batches){let r=this.batches[e];delete this.batches[e],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;i_e("bigint",r));case"bytes-array":return e.map(r=>_e("bytes",r));case"decimal-array":return e.map(r=>_e("decimal",r));case"datetime-array":return e.map(r=>_e("datetime",r));case"date-array":return e.map(r=>_e("date",r));case"time-array":return e.map(r=>_e("time",r));default:return e}}function hr(t){let e=[],r=Ol(t);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(C=>C.protocolQuery),f=this.client._tracingHelper.getTraceParent(s),h=n.some(C=>un(C.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:f,transaction:Il(o),containsWrite:h,customDataProxyFetch:i})).map((C,k)=>{if(C instanceof Error)return C;try{return this.mapQueryEngineResult(n[k],C)}catch(A){return A}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Do(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:un(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Mo(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(e){try{return await this.dataloader.request(e)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=e;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:e.globalOmit})}}mapQueryEngineResult({dataPath:e,unpacker:r},n){let i=n?.data,o=this.unpack(i,e,r);return g.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(e){try{this.handleRequestError(e)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:e.clientMethod,timestamp:new Date}),r}}handleRequestError({error:e,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Ml(e),Dl(e,i))throw e;if(e instanceof X&&_l(e)){let h=_o(e.meta);zt({args:o,errors:[h],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let f=e.message;if(n&&(f=Bt({callsite:n,originalMethod:r,isPanic:e.isPanic,showColors:this.client._errorFormat==="pretty",message:f})),f=this.sanitizeMessage(f),e.code){let h=s?{modelName:s,...e.meta}:e.meta;throw new X(f,{code:e.code,clientVersion:this.client._clientVersion,meta:h,batchRequestIdx:e.batchRequestIdx})}else{if(e.isPanic)throw new we(f,this.client._clientVersion);if(e instanceof j)throw new j(f,{clientVersion:this.client._clientVersion,batchRequestIdx:e.batchRequestIdx});if(e instanceof I)throw new I(f,this.client._clientVersion);if(e instanceof we)throw new we(f,this.client._clientVersion)}throw e.clientVersion=this.client._clientVersion,e}sanitizeMessage(e){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Io.default)(e):e}unpack(e,r,n){if(!e||(e.data&&(e=e.data),!e))return e;let i=Object.keys(e)[0],o=Object.values(e)[0],s=r.filter(h=>h!=="select"&&h!=="include"),a=Kr(o,s),f=i==="queryRaw"?hr(a):$e(a);return n?n(f):f}get[Symbol.toStringTag](){return"RequestHandler"}};function Il(t){if(t){if(t.kind==="batch")return{kind:"batch",options:{isolationLevel:t.isolationLevel}};if(t.kind==="itx")return{kind:"itx",options:Do(t)};be(t,"Unknown transaction kind")}}function Do(t){return{id:t.id,payload:t.payload}}function Dl(t,e){return gr(t)&&e?.kind==="batch"&&t.batchRequestIdx!==e.index}function _l(t){return t.code==="P2009"||t.code==="P2012"}function _o(t){if(t.kind==="Union")return{kind:"Union",errors:t.errors.map(_o)};if(Array.isArray(t.selectionPath)){let[,...e]=t.selectionPath;return{...t,selectionPath:e}}return t}u();c();m();p();d();l();var Lo="6.7.0";var Fo=Lo;u();c();m();p();d();l();var $o=nt(Fr());u();c();m();p();d();l();var D=class extends Error{constructor(e){super(e+` +`)}var on=({clientMethod:t,activeProvider:e})=>r=>{let n="",i;if(rr(r))n=r.sql,i={values:et(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:et(s||[]),__prismaRawParameters__:!0}}else switch(e){case"sqlite":case"mysql":{n=r.sql,i={values:et(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:et(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=xo(r),i={values:et(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${e} provider does not support ${t}`)}return i?.values?Co(`prisma.${t}(${n}, ${i.values})`):Co(`prisma.${t}(${n})`),{query:n,parameters:i}},Ro={requestArgsToMiddlewareArgs(t){return[t.strings,...t.values]},middlewareArgsToRequestArgs(t){let[e,...r]=t;return new Z(e,r)}},Ao={requestArgsToMiddlewareArgs(t){return[t]},middlewareArgsToRequestArgs(t){return t[0]}};u();c();m();p();d();l();function sn(t){return function(r,n){let i,o=(s=t)=>{try{return s===void 0||s?.kind==="itx"?i??=So(r(s)):So(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function So(t){return typeof t.then=="function"?t:Promise.resolve(t)}u();c();m();p();d();l();var Sl=Or.split(".")[0],kl={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(t,e){return e()}},an=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(e){return this.getGlobalTracingHelper().getTraceParent(e)}dispatchEngineSpans(e){return this.getGlobalTracingHelper().dispatchEngineSpans(e)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(e,r){return this.getGlobalTracingHelper().runInChildSpan(e,r)}getGlobalTracingHelper(){let e=globalThis[`V${Sl}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return e?.helper??r?.helper??kl}};function ko(){return new an}u();c();m();p();d();l();function Oo(t,e=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--t===0&&r(e()),i?.(n)}}}u();c();m();p();d();l();function Mo(t){return typeof t=="string"?t:t.reduce((e,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?e:e&&(r==="info"||e==="info")?"info":n},void 0)}u();c();m();p();d();l();var fr=class{_middlewares=[];use(e){this._middlewares.push(e)}get(e){return this._middlewares[e]}has(e){return!!this._middlewares[e]}length(){return this._middlewares.length}};u();c();m();p();d();l();var Do=nt(Zn());u();c();m();p();d();l();function gr(t){return typeof t.batchRequestIdx=="number"}u();c();m();p();d();l();function Io(t){if(t.action!=="findUnique"&&t.action!=="findUniqueOrThrow")return;let e=[];return t.modelName&&e.push(t.modelName),t.query.arguments&&e.push(ln(t.query.arguments)),e.push(ln(t.query.selection)),e.join("")}function ln(t){return`(${Object.keys(t).sort().map(r=>{let n=t[r];return typeof n=="object"&&n!==null?`(${r} ${ln(n)})`:r}).join(" ")})`}u();c();m();p();d();l();var Ol={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function un(t){return Ol[t]}u();c();m();p();d();l();var yr=class{constructor(e){this.options=e;this.batches={}}batches;tickActive=!1;request(e){let r=this.options.batchBy(e);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,g.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:e,resolve:n,reject:i})})):this.options.singleLoader(e)}dispatchBatches(){for(let e in this.batches){let r=this.batches[e];delete this.batches[e],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;i_e("bigint",r));case"bytes-array":return e.map(r=>_e("bytes",r));case"decimal-array":return e.map(r=>_e("decimal",r));case"datetime-array":return e.map(r=>_e("datetime",r));case"date-array":return e.map(r=>_e("date",r));case"time-array":return e.map(r=>_e("time",r));default:return e}}function hr(t){let e=[],r=Ml(t);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(C=>C.protocolQuery),f=this.client._tracingHelper.getTraceParent(s),h=n.some(C=>un(C.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:f,transaction:Dl(o),containsWrite:h,customDataProxyFetch:i})).map((C,k)=>{if(C instanceof Error)return C;try{return this.mapQueryEngineResult(n[k],C)}catch(A){return A}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?_o(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:un(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Io(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(e){try{return await this.dataloader.request(e)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=e;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:e.globalOmit})}}mapQueryEngineResult({dataPath:e,unpacker:r},n){let i=n?.data,o=this.unpack(i,e,r);return g.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(e){try{this.handleRequestError(e)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:e.clientMethod,timestamp:new Date}),r}}handleRequestError({error:e,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Il(e),_l(e,i))throw e;if(e instanceof X&&Ll(e)){let h=Lo(e.meta);zt({args:o,errors:[h],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let f=e.message;if(n&&(f=Bt({callsite:n,originalMethod:r,isPanic:e.isPanic,showColors:this.client._errorFormat==="pretty",message:f})),f=this.sanitizeMessage(f),e.code){let h=s?{modelName:s,...e.meta}:e.meta;throw new X(f,{code:e.code,clientVersion:this.client._clientVersion,meta:h,batchRequestIdx:e.batchRequestIdx})}else{if(e.isPanic)throw new we(f,this.client._clientVersion);if(e instanceof j)throw new j(f,{clientVersion:this.client._clientVersion,batchRequestIdx:e.batchRequestIdx});if(e instanceof I)throw new I(f,this.client._clientVersion);if(e instanceof we)throw new we(f,this.client._clientVersion)}throw e.clientVersion=this.client._clientVersion,e}sanitizeMessage(e){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Do.default)(e):e}unpack(e,r,n){if(!e||(e.data&&(e=e.data),!e))return e;let i=Object.keys(e)[0],o=Object.values(e)[0],s=r.filter(h=>h!=="select"&&h!=="include"),a=Kr(o,s),f=i==="queryRaw"?hr(a):$e(a);return n?n(f):f}get[Symbol.toStringTag](){return"RequestHandler"}};function Dl(t){if(t){if(t.kind==="batch")return{kind:"batch",options:{isolationLevel:t.isolationLevel}};if(t.kind==="itx")return{kind:"itx",options:_o(t)};be(t,"Unknown transaction kind")}}function _o(t){return{id:t.id,payload:t.payload}}function _l(t,e){return gr(t)&&e?.kind==="batch"&&t.batchRequestIdx!==e.index}function Ll(t){return t.code==="P2009"||t.code==="P2012"}function Lo(t){if(t.kind==="Union")return{kind:"Union",errors:t.errors.map(Lo)};if(Array.isArray(t.selectionPath)){let[,...e]=t.selectionPath;return{...t,selectionPath:e}}return t}u();c();m();p();d();l();var Fo=go;u();c();m();p();d();l();var $o=nt(Fr());u();c();m();p();d();l();var D=class extends Error{constructor(e){super(e+` Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};te(D,"PrismaClientConstructorValidationError");var No=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],qo=["pretty","colorless","minimal"],Uo=["info","query","warn","error"],Fl={datasources:(t,{datasourceNames:e})=>{if(t){if(typeof t!="object"||Array.isArray(t))throw new D(`Invalid value ${JSON.stringify(t)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(t)){if(!e.includes(r)){let i=tt(r,e)||` Available datasources: ${e.join(", ")}`;throw new D(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new D(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor. It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new D(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor. It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new D(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. @@ -30,6 +30,6 @@ Expected string or undefined.`)},errorFormat:t=>{if(t){if(typeof t!="string")thr ${i} -${n}`}u();c();m();p();d();l();function jo(t){return t.length===0?Promise.resolve([]):new Promise((e,r)=>{let n=new Array(t.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===t.length&&(o=!0,i?r(i):e(n)))},f=h=>{o||(o=!0,r(h))};for(let h=0;h{n[h]=T,a()},T=>{if(!gr(T)){f(T);return}T.batchRequestIdx===h?f(T):(i||(i=T),a())})})}var Ae=J("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Bl={requestArgsToMiddlewareArgs:t=>t,middlewareArgsToRequestArgs:t=>t},$l=Symbol.for("prisma.client.transaction.id"),Vl={id:0,nextId(){return++this.id}};function Go(t){class e{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new fr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=sn();constructor(n){t=n?.__internal?.configOverride?.(t)??t,mo(t),n&&Vo(n,t);let i=new nr().on("error",()=>{});this._extensions=ze.empty(),this._previewFeatures=dr(t),this._clientVersion=t.clientVersion??Fo,this._activeProvider=t.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=So();let o=t.relativeEnvPaths&&{rootEnvPath:t.relativeEnvPaths.rootEnvPath&&Nt.resolve(t.dirname,t.relativeEnvPaths.rootEnvPath),schemaEnvPath:t.relativeEnvPaths.schemaEnvPath&&Nt.resolve(t.dirname,t.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let f=t.activeProvider==="postgresql"?"postgres":t.activeProvider;if(s.provider!==f)throw new I(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${f}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new I("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=t.injectableEdgeEnv?.();try{let f=n??{},h=f.__internal??{},T=h.debug===!0;T&&J.enable("prisma:client");let C=Nt.resolve(t.dirname,t.relativePath);qn.existsSync(C)||(C=t.dirname),Ae("dirname",t.dirname),Ae("relativePath",t.relativePath),Ae("cwd",C);let k=h.engine||{};if(f.errorFormat?this._errorFormat=f.errorFormat:g.env.NODE_ENV==="production"?this._errorFormat="minimal":g.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=t.runtimeDataModel,this._engineConfig={cwd:C,dirname:t.dirname,enableDebugLogs:T,allowTriggerPanic:k.allowTriggerPanic,prismaPath:k.binaryPath??void 0,engineEndpoint:k.endpoint,generator:t.generator,showColors:this._errorFormat==="pretty",logLevel:f.log&&Oo(f.log),logQueries:f.log&&!!(typeof f.log=="string"?f.log==="query":f.log.find(A=>typeof A=="string"?A==="query":A.level==="query")),env:a?.parsed??{},flags:[],engineWasm:t.engineWasm,compilerWasm:t.compilerWasm,clientVersion:t.clientVersion,engineVersion:t.engineVersion,previewFeatures:this._previewFeatures,activeProvider:t.activeProvider,inlineSchema:t.inlineSchema,overrideDatasources:po(f,t.datasourceNames),inlineDatasources:t.inlineDatasources,inlineSchemaHash:t.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:f.transactionOptions?.maxWait??2e3,timeout:f.transactionOptions?.timeout??5e3,isolationLevel:f.transactionOptions?.isolationLevel},logEmitter:i,isBundled:t.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:mr,getBatchRequestPayload:sr,prismaGraphQLToJSError:ar,PrismaClientUnknownRequestError:j,PrismaClientInitializationError:I,PrismaClientKnownRequestError:X,debug:J("prisma:client:accelerateEngine"),engineVersion:Jo.version,clientVersion:t.clientVersion}},Ae("clientVersion",t.clientVersion),this._engine=ho(t,this._engineConfig),this._requestHandler=new br(this,i),f.log)for(let A of f.log){let O=typeof A=="string"?A:A.emit==="stdout"?A.level:null;O&&this.$on(O,S=>{at.log(`${at.tags[O]??""}`,S.message||S.query)})}}catch(f){throw f.clientVersion=this._clientVersion,f}return this._appliedParent=Tt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Fn()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:on({clientMethod:i,activeProvider:a}),callsite:Ce(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=Qo(n,i);return nn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new W("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(nn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(t.activeProvider!=="mongodb")throw new W(`The ${t.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:bo,callsite:Ce(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:on({clientMethod:i,activeProvider:a}),callsite:Ce(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...Qo(n,i));throw new W("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new W("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Vl.nextId(),s=ko(n.length),a=n.map((f,h)=>{if(f?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let T=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,C={kind:"batch",id:o,index:h,isolationLevel:T,lock:s};return f.requestTransaction?.(C)??f});return jo(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),f;try{let h={kind:"itx",...a};f=await n(this._createItxClient(h)),await this._engine.transaction("commit",o,a)}catch(h){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),h}return f}_createItxClient(n){return ae(Tt(ae(zi(this),[K("_appliedParent",()=>this._appliedParent._createItxClient(n)),K("_createPrismaPromise",()=>sn(n)),K($l,()=>n.id)])),[Xe(to)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Bl,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,f=async h=>{let T=this._middlewares.get(++a);if(T)return this._tracingHelper.runInChildSpan(s.middleware,M=>T(h,oe=>(M?.end(),f(oe))));let{runInTransaction:C,args:k,...A}=h,O={...n,...A};k&&(O.args=i.middlewareArgsToRequestArgs(k)),n.transaction!==void 0&&C===!1&&delete O.transaction;let S=await oo(this,O);return O.model?eo({result:S,modelName:O.model,args:O.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):S};return this._tracingHelper.runInChildSpan(s.operation,()=>f(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:f,argsMapper:h,transaction:T,unpacker:C,otelParentCtx:k,customDataProxyFetch:A}){try{n=h?h(n):n;let O={name:"serialize"},S=this._tracingHelper.runInChildSpan(O,()=>er({modelName:f,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return J.enabled("prisma:client")&&(Ae("Prisma Client call:"),Ae(`prisma.${i}(${Bi(n)})`),Ae("Generated request:"),Ae(JSON.stringify(S,null,2)+` -`)),T?.kind==="batch"&&await T.lock,this._requestHandler.request({protocolQuery:S,modelName:f,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:T,unpacker:C,otelParentCtx:k,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:A})}catch(O){throw O.clientVersion=this._clientVersion,O}}$metrics=new Ye(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Yi}return e}function Qo(t,e){return jl(t)?[new Z(t,e),Co]:[t,Ro]}function jl(t){return Array.isArray(t)&&Array.isArray(t.raw)}u();c();m();p();d();l();var Ql=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function Wo(t){return new Proxy(t,{get(e,r){if(r in e)return e[r];if(!Ql.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}u();c();m();p();d();l();l();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +${n}`}u();c();m();p();d();l();function jo(t){return t.length===0?Promise.resolve([]):new Promise((e,r)=>{let n=new Array(t.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===t.length&&(o=!0,i?r(i):e(n)))},f=h=>{o||(o=!0,r(h))};for(let h=0;h{n[h]=T,a()},T=>{if(!gr(T)){f(T);return}T.batchRequestIdx===h?f(T):(i||(i=T),a())})})}var Ae=J("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Bl={requestArgsToMiddlewareArgs:t=>t,middlewareArgsToRequestArgs:t=>t},$l=Symbol.for("prisma.client.transaction.id"),Vl={id:0,nextId(){return++this.id}};function Go(t){class e{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new fr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=sn();constructor(n){t=n?.__internal?.configOverride?.(t)??t,mo(t),n&&Vo(n,t);let i=new nr().on("error",()=>{});this._extensions=ze.empty(),this._previewFeatures=dr(t),this._clientVersion=t.clientVersion??Fo,this._activeProvider=t.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=ko();let o=t.relativeEnvPaths&&{rootEnvPath:t.relativeEnvPaths.rootEnvPath&&Nt.resolve(t.dirname,t.relativeEnvPaths.rootEnvPath),schemaEnvPath:t.relativeEnvPaths.schemaEnvPath&&Nt.resolve(t.dirname,t.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let f=t.activeProvider==="postgresql"?"postgres":t.activeProvider;if(s.provider!==f)throw new I(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${f}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new I("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=t.injectableEdgeEnv?.();try{let f=n??{},h=f.__internal??{},T=h.debug===!0;T&&J.enable("prisma:client");let C=Nt.resolve(t.dirname,t.relativePath);qn.existsSync(C)||(C=t.dirname),Ae("dirname",t.dirname),Ae("relativePath",t.relativePath),Ae("cwd",C);let k=h.engine||{};if(f.errorFormat?this._errorFormat=f.errorFormat:g.env.NODE_ENV==="production"?this._errorFormat="minimal":g.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=t.runtimeDataModel,this._engineConfig={cwd:C,dirname:t.dirname,enableDebugLogs:T,allowTriggerPanic:k.allowTriggerPanic,prismaPath:k.binaryPath??void 0,engineEndpoint:k.endpoint,generator:t.generator,showColors:this._errorFormat==="pretty",logLevel:f.log&&Mo(f.log),logQueries:f.log&&!!(typeof f.log=="string"?f.log==="query":f.log.find(A=>typeof A=="string"?A==="query":A.level==="query")),env:a?.parsed??{},flags:[],engineWasm:t.engineWasm,compilerWasm:t.compilerWasm,clientVersion:t.clientVersion,engineVersion:t.engineVersion,previewFeatures:this._previewFeatures,activeProvider:t.activeProvider,inlineSchema:t.inlineSchema,overrideDatasources:po(f,t.datasourceNames),inlineDatasources:t.inlineDatasources,inlineSchemaHash:t.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:f.transactionOptions?.maxWait??2e3,timeout:f.transactionOptions?.timeout??5e3,isolationLevel:f.transactionOptions?.isolationLevel},logEmitter:i,isBundled:t.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:mr,getBatchRequestPayload:sr,prismaGraphQLToJSError:ar,PrismaClientUnknownRequestError:j,PrismaClientInitializationError:I,PrismaClientKnownRequestError:X,debug:J("prisma:client:accelerateEngine"),engineVersion:Jo.version,clientVersion:t.clientVersion}},Ae("clientVersion",t.clientVersion),this._engine=bo(t,this._engineConfig),this._requestHandler=new br(this,i),f.log)for(let A of f.log){let O=typeof A=="string"?A:A.emit==="stdout"?A.level:null;O&&this.$on(O,S=>{at.log(`${at.tags[O]??""}`,S.message||S.query)})}}catch(f){throw f.clientVersion=this._clientVersion,f}return this._appliedParent=Tt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Fn()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:on({clientMethod:i,activeProvider:a}),callsite:Ce(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=Qo(n,i);return nn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new W("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(nn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(t.activeProvider!=="mongodb")throw new W(`The ${t.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:wo,callsite:Ce(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:on({clientMethod:i,activeProvider:a}),callsite:Ce(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...Qo(n,i));throw new W("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new W("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Vl.nextId(),s=Oo(n.length),a=n.map((f,h)=>{if(f?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let T=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,C={kind:"batch",id:o,index:h,isolationLevel:T,lock:s};return f.requestTransaction?.(C)??f});return jo(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),f;try{let h={kind:"itx",...a};f=await n(this._createItxClient(h)),await this._engine.transaction("commit",o,a)}catch(h){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),h}return f}_createItxClient(n){return le(Tt(le(zi(this),[K("_appliedParent",()=>this._appliedParent._createItxClient(n)),K("_createPrismaPromise",()=>sn(n)),K($l,()=>n.id)])),[Xe(to)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Bl,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,f=async h=>{let T=this._middlewares.get(++a);if(T)return this._tracingHelper.runInChildSpan(s.middleware,M=>T(h,oe=>(M?.end(),f(oe))));let{runInTransaction:C,args:k,...A}=h,O={...n,...A};k&&(O.args=i.middlewareArgsToRequestArgs(k)),n.transaction!==void 0&&C===!1&&delete O.transaction;let S=await oo(this,O);return O.model?eo({result:S,modelName:O.model,args:O.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):S};return this._tracingHelper.runInChildSpan(s.operation,()=>f(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:f,argsMapper:h,transaction:T,unpacker:C,otelParentCtx:k,customDataProxyFetch:A}){try{n=h?h(n):n;let O={name:"serialize"},S=this._tracingHelper.runInChildSpan(O,()=>er({modelName:f,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return J.enabled("prisma:client")&&(Ae("Prisma Client call:"),Ae(`prisma.${i}(${Bi(n)})`),Ae("Generated request:"),Ae(JSON.stringify(S,null,2)+` +`)),T?.kind==="batch"&&await T.lock,this._requestHandler.request({protocolQuery:S,modelName:f,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:T,unpacker:C,otelParentCtx:k,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:A})}catch(O){throw O.clientVersion=this._clientVersion,O}}$metrics=new Ye(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Yi}return e}function Qo(t,e){return jl(t)?[new Z(t,e),Ro]:[t,Ao]}function jl(t){return Array.isArray(t)&&Array.isArray(t.raw)}u();c();m();p();d();l();var Ql=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function Wo(t){return new Proxy(t,{get(e,r){if(r in e)return e[r];if(!Ql.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}u();c();m();p();d();l();l();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); //# sourceMappingURL=wasm.js.map diff --git a/generated/prisma/schema.prisma b/generated/prisma/schema.prisma index 248d678..2ac5f18 100644 --- a/generated/prisma/schema.prisma +++ b/generated/prisma/schema.prisma @@ -1,6 +1,7 @@ generator client { - provider = "prisma-client-js" - output = "../generated/prisma" + provider = "prisma-client-js" + output = "../generated/prisma" + binaryTargets = ["native", "windows"] } datasource db { @@ -22,14 +23,16 @@ model CHAROLA { comidaCiclo Float @db.Float hidratacionCiclo Float @db.Float fechaActualizacion DateTime? @db.Date - estado String? @db.VarChar(25) + estado String @db.VarChar(25) densidadLarva Float? @db.Float - fechaCreacion DateTime? @db.Date + fechaCreacion DateTime @db.Date pesoCharola Float? @db.Float CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation("CHAROLA_CHAROLA_charolaHijaToCHAROLA") CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation("CHAROLA_CHAROLA_charolaAncestroToCHAROLA") CHAROLA_COMIDA CHAROLA_COMIDA[] + CHAROLA_FRAS CHAROLA_FRAS[] CHAROLA_HIDRATACION CHAROLA_HIDRATACION[] + CHAROLA_PUPA CHAROLA_PUPA[] FRAS FRAS[] USUARIO_CHAROLA USUARIO_CHAROLA[] } @@ -45,25 +48,29 @@ model CHAROLA_CHAROLA { } model CHAROLA_COMIDA { - charolaId Int - comidaId Int - cantidadOtorgada Float @db.Float - CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_1") - COMIDA COMIDA @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_2") + id Int @id @default(autoincrement()) + charolaId Int? + comidaId Int? + cantidadOtorgada Float @db.Float + fechaOtorgada DateTime @db.Date + CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_1") + COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_2") - @@id([charolaId, comidaId]) @@index([comidaId], map: "comidaId") + @@index([charolaId], map: "charolaId") } model CHAROLA_HIDRATACION { - charolaId Int - hidratacionId Int - cantidadOtorgada Float? @db.Float - CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_1") - HIDRATACION HIDRATACION @relation(fields: [hidratacionId], references: [hidratacionId], onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_2") + id Int @id @default(autoincrement()) + charolaId Int? + hidratacionId Int? + cantidadOtorgada Float @db.Float + fechaOtorgada DateTime @db.Date + CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_1") + HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_2") - @@id([charolaId, hidratacionId]) @@index([hidratacionId], map: "hidratacionId") + @@index([charolaId], map: "charolaId") } model COMIDA { @@ -74,16 +81,18 @@ model COMIDA { } model FRAS { - frassId Int @id @default(autoincrement()) - gramosGenerados Float @db.Float + frasId Int @id @default(autoincrement()) + gramosGenerados Float @db.Float + fechaRegistro DateTime? @db.Date charolaId Int? - CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "FRAS_ibfk_1") + CHAROLA_FRAS CHAROLA_FRAS[] + CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "FRAS_ibfk_1") - @@index([charolaId], map: "charolaId") + @@index([charolaId], map: "idx_fras_charolaId") } model HIDRATACION { - hidratacionId Int @id + hidratacionId Int @id @default(autoincrement()) nombre String? @db.VarChar(25) descripcion String? @db.VarChar(200) CHAROLA_HIDRATACION CHAROLA_HIDRATACION[] @@ -109,3 +118,38 @@ model USUARIO_CHAROLA { @@id([usuarioId, charolaId]) @@index([charolaId], map: "charolaId") } + +model CHAROLA_FRAS { + charolaId Int + frasId Int + CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_FRAS_ibfk_1") + FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_FRAS_ibfk_2") + + @@id([charolaId, frasId]) + @@index([frasId], map: "frasId") +} + +model CHAROLA_PUPA { + charolaId Int + pupaId Int + CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_PUPA_ibfk_1") + PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_PUPA_ibfk_2") + + @@id([charolaId, pupaId]) + @@index([pupaId], map: "pupaId") +} + +model PUPA { + pupaId Int @id @default(autoincrement()) + fechaRegistro DateTime? @db.Date + cantidadObtenida Float? @db.Float + CHAROLA_PUPA CHAROLA_PUPA[] +} + +model ELIMINACION_MOTIVO { + id Int @id @default(autoincrement()) + user String @db.VarChar(50) + charola_nombre String @db.VarChar(20) + motivo String @db.Text + fecha_eliminacion DateTime? @default(now()) @db.Timestamp(0) +} diff --git a/generated/prisma/wasm.js b/generated/prisma/wasm.js index 800e98a..f44dd38 100644 --- a/generated/prisma/wasm.js +++ b/generated/prisma/wasm.js @@ -20,12 +20,12 @@ exports.Prisma = Prisma exports.$Enums = {} /** - * Prisma Client JS version: 6.7.0 - * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + * Prisma Client JS version: 6.8.2 + * Query Engine version: 2060c79ba17c6bb9f5823312b6f6b7f4a845738e */ Prisma.prismaVersion = { - client: "6.7.0", - engine: "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed" + client: "6.8.2", + engine: "2060c79ba17c6bb9f5823312b6f6b7f4a845738e" } Prisma.PrismaClientKnownRequestError = () => { @@ -143,15 +143,19 @@ exports.Prisma.CHAROLA_CHAROLAScalarFieldEnum = { }; exports.Prisma.CHAROLA_COMIDAScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', comidaId: 'comidaId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.CHAROLA_HIDRATACIONScalarFieldEnum = { + id: 'id', charolaId: 'charolaId', hidratacionId: 'hidratacionId', - cantidadOtorgada: 'cantidadOtorgada' + cantidadOtorgada: 'cantidadOtorgada', + fechaOtorgada: 'fechaOtorgada' }; exports.Prisma.COMIDAScalarFieldEnum = { @@ -161,8 +165,9 @@ exports.Prisma.COMIDAScalarFieldEnum = { }; exports.Prisma.FRASScalarFieldEnum = { - frassId: 'frassId', + frasId: 'frasId', gramosGenerados: 'gramosGenerados', + fechaRegistro: 'fechaRegistro', charolaId: 'charolaId' }; @@ -186,6 +191,30 @@ exports.Prisma.USUARIO_CHAROLAScalarFieldEnum = { charolaId: 'charolaId' }; +exports.Prisma.CHAROLA_FRASScalarFieldEnum = { + charolaId: 'charolaId', + frasId: 'frasId' +}; + +exports.Prisma.CHAROLA_PUPAScalarFieldEnum = { + charolaId: 'charolaId', + pupaId: 'pupaId' +}; + +exports.Prisma.PUPAScalarFieldEnum = { + pupaId: 'pupaId', + fechaRegistro: 'fechaRegistro', + cantidadObtenida: 'cantidadObtenida' +}; + +exports.Prisma.ELIMINACION_MOTIVOScalarFieldEnum = { + id: 'id', + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo', + fecha_eliminacion: 'fecha_eliminacion' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -219,6 +248,12 @@ exports.Prisma.USUARIOOrderByRelevanceFieldEnum = { apellido_p: 'apellido_p' }; +exports.Prisma.ELIMINACION_MOTIVOOrderByRelevanceFieldEnum = { + user: 'user', + charola_nombre: 'charola_nombre', + motivo: 'motivo' +}; + exports.Prisma.ModelName = { ADMINISTRADOR: 'ADMINISTRADOR', @@ -230,7 +265,11 @@ exports.Prisma.ModelName = { FRAS: 'FRAS', HIDRATACION: 'HIDRATACION', USUARIO: 'USUARIO', - USUARIO_CHAROLA: 'USUARIO_CHAROLA' + USUARIO_CHAROLA: 'USUARIO_CHAROLA', + CHAROLA_FRAS: 'CHAROLA_FRAS', + CHAROLA_PUPA: 'CHAROLA_PUPA', + PUPA: 'PUPA', + ELIMINACION_MOTIVO: 'ELIMINACION_MOTIVO' }; /** diff --git a/linter/eslint.config.mjs b/linter/eslint.config.mjs new file mode 100644 index 0000000..911dac8 --- /dev/null +++ b/linter/eslint.config.mjs @@ -0,0 +1,60 @@ +// Importa la configuración recomendada de ESLint para JavaScript +import js from '@eslint/js'; +// Importa el plugin de ESLint para reglas relacionadas con importaciones +import importPlugin from 'eslint-plugin-import'; + +export default [ + // Configuración recomendada básica + js.configs.recommended, + { + languageOptions: { + ecmaVersion: 2022, + sourceType: 'commonjs', + globals: { + // Node.js + require: 'readonly', + module: 'readonly', + exports: 'readonly', + console: 'readonly', + process: 'readonly', + __dirname: 'readonly', + __filename: 'readonly', + + // Jest (para pruebas) + describe: 'readonly', + it: 'readonly', + test: 'readonly', + expect: 'readonly', + beforeEach: 'readonly', + afterEach: 'readonly', + beforeAll: 'readonly', + afterAll: 'readonly', + jest: 'readonly', + }, + }, + + plugins: { + import: importPlugin, + }, + + rules: { + 'no-var': 'error', + 'max-len': ['error', { code: 200 }], + quotes: ['error', 'single', { avoidEscape: true }], + 'no-eval': 'error', + 'one-var': ['error', 'never'], + 'comma-style': ['error', 'last'], + 'id-length': ['error', { min: 2 }], + 'new-cap': ['error', { newIsCap: true }], + 'no-restricted-syntax': [ + 'error', + { + selector: 'ImportDeclaration[specifiers.0.type="ImportNamespaceSpecifier"]', + message: 'No se permiten importaciones globales (import * as ...)', + }, + ], + 'import/first': 'error', + 'no-unused-vars': 'off', + }, + }, +]; diff --git a/linter/index.js b/linter/index.js new file mode 100644 index 0000000..091c1b8 --- /dev/null +++ b/linter/index.js @@ -0,0 +1,32 @@ +// comillas dobles, PascalCase en variable + +import * as utils from './utils.js'; let x = 1; let y = 2; + +const Datos = 'Hola Mundo'; // importación general + +function procesar(entrada = {}, nombre) { + console.log(nombre); +} + +const a = 1; +let b = 2; +const c = 3; + +let id = 123; // nombre corto de 2 caracteres + +eval('console.log(\'Esto es peligroso\')'); + +class persona { + constructor(nombre) { + this.nombre = nombre; + } +} + +function obtener_nombre() { + const longitudNombre = entrada.length; + return longitudNombre; +} + +console.log('Esto es una línea muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy muy larga que supera los 150 caracteres para romper la regla de longitud máxima.'); + +utils.funcion(); diff --git a/models/alimento.model.js b/models/alimento.model.js new file mode 100644 index 0000000..7e842be --- /dev/null +++ b/models/alimento.model.js @@ -0,0 +1,151 @@ +//RF23: Registrar un nuevo tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF23 +//RF24: Editar un tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF24 + +const { th } = require('date-fns/locale'); +const { PrismaClient } = require('../generated/prisma'); +const prisma = new PrismaClient(); + +/** + * Modelo Alimento usando Prisma. + * @module models/alimento + */ +class Alimento { + + /** +* Crea una nueva instancia de Alimento. +* @constructor +* @param {number} idAlimento - Identificador del alimento. +* @param {string} nombreAlimento - Nombre descriptivo del alimento. +* @param {string} descripcionAlimento - Descripción del alimento. +*/ + constructor(idAlimento, nombreAlimento, descripcionAlimento) { + this.idAlimento = idAlimento; + this.nombreAlimento = nombreAlimento; + this.descripcionAlimento = descripcionAlimento; + } + + /** + * Obtiene todos los alimentos de la tabla COMIDA. + * @async + * @method obtener + * @returns {Promise>} Lista de registros de alimentos. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async obtener() { + try { + return await prisma.COMIDA.findMany(); + } catch (error) { + throw new Error('Error al obtener alimentos: ' + error.message); + } + } + + /** + * Agrega un nuevo alimento a la tabla COMIDA. + * @async + * @method agregar + * @returns {Promise} Registro insertado del alimento. + * @throws {Error} Si ocurre un error de inserción. + */ + async agregar() { + try { + return await prisma.COMIDA.create({ + data: { + nombre: this.nombreAlimento, + descripcion: this.descripcionAlimento, + }, + }); + } catch (error) { + throw new Error('Error al agregar alimento: ' + error.message); + } + } + + /** + * Actualiza un alimento existente en la tabla COMIDA. + * @async + * @method actualizar + * @returns {Promise} Registro actualizado del alimento. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async actualizar() { + try { + return await prisma.COMIDA.update({ + where: { comidaId: this.idAlimento }, + data: { + nombre: this.nombreAlimento, + descripcion: this.descripcionAlimento, + }, + }); + } catch (error) { + throw new Error('Error al actualizar alimento: ' + error.message); + } + } + + /** + * Verifica si un alimento está agregado a alguna charola. + * @async + * @method isAgregada + * @returns {Promise} Número de asignaciones del alimento a charolas. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async isAgregada() { + try { + const asignaciones = await prisma.CHAROLA_COMIDA.count({ + where: { comidaId: this.idAlimento }, + }); + return asignaciones; + } catch (error) { + throw new Error('Error al verificar asignaciones de alimento: ' + error.message); + } + } + + /** + * Elimina un alimento de la tabla COMIDA. + * @async + * @method eliminar + * @returns {Promise} Registro eliminado del alimento. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async eliminar() { + try { + return await prisma.COMIDA.delete({ + where: { comidaId: this.idAlimento }, + }) + } catch (error) { + throw new Error('Error al eliminar alimento: ' + error.message); + } + } +} + +/** + * Modelo para la relación CHAROLA_COMIDA + * @module models/charolaComida + */ +class CharolaComida { + constructor(id, charolaId, comidaId, cantidadOtorgada, fechaOtorgada) { + this.id = id; + this.charolaId = charolaId; + this.comidaId = comidaId; + this.cantidadOtorgada = cantidadOtorgada; + this.fechaOtorgada = fechaOtorgada; + } + + /** + * Agrega una nueva relación charola-comida + */ + async agregar() { + try { + return await prisma.CHAROLA_COMIDA.create({ + data: { + charolaId: this.charolaId, + comidaId: this.comidaId, + cantidadOtorgada: this.cantidadOtorgada, + fechaOtorgada: this.fechaOtorgada, + }, + }); + } catch (error) { + throw new Error('Error al agregar charola-comida: ' + error.message); + } + } +} + +module.exports = { Alimento, CharolaComida }; \ No newline at end of file diff --git a/models/charola.model.js b/models/charola.model.js index b27c006..9de90a0 100644 --- a/models/charola.model.js +++ b/models/charola.model.js @@ -1,18 +1,421 @@ -const db = require("../utils/database"); +// RF5 Registrar Charola - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF5 +// RF6 Buscar charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF6 +// RF7 Modificar datos generales Charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF7 +// RF8 Eliminar Charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF8 +// RF10 Consultar información detallada de una charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF10 +// RF16 Visualizar todas las charolas registradas en el sistema - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 +// RF21: Consultar charolas de cambios pasados - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF21 +// RF26 Registrar la alimentación de la charola - Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF26 +//RF15 Filtrar charola por fecha - Documentación: https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/rf15/ + + +// models/charola.model.js +const { PrismaClient } = require('../generated/prisma'); +const prisma = new PrismaClient(); -// TODO: Revisar el modelo, ya que probablemente no es correcto porque se debe trabajar con mas tablas module.exports = class Charola { - static async registrarCharola(data) { + /** + * Obtiene una charola con sus relaciones de comida e hidratación. + * @param {number|string} charolaID + * @returns {Promise} + */ + static async getCharola(charolaID) { try { - const connection = await db(); - const result = await connection.query( - "INSERT INTO charolas (nombre, fecha, alimentacion, peso, hidratacion) VALUES (?, ?, ?, ?)", - [data.id, data.nombre, data.descripcion, data.fecha] - ); - return result; + const charola = await prisma.CHAROLA.findUnique({ + where: { charolaId: Number(charolaID) }, + include: { + CHAROLA_COMIDA: { + include: { COMIDA: true } + }, + CHAROLA_HIDRATACION: { + include: { HIDRATACION: true } + } + } + }); + + if (!charola) { + return { error: 'No se encontró la charola con el ID proporcionado.' }; + } + + const relacionComida = charola.CHAROLA_COMIDA[0] || { + charolaId: 0, + comidaId: 0, + cantidadOtorgada: 0 + }; + + const relacionHidratacion = charola.CHAROLA_HIDRATACION[0] || { + charolaId: 0, + hidratacionId: 0, + cantidadOtorgada: 0 + }; + + return { + charola, + relacionComida, + comida: relacionComida.COMIDA ?? null, + relacionHidratacion, + hidratacion: relacionHidratacion.HIDRATACION ?? null + }; + } catch (error) { - console.error("Error al registrar la charola:", error); - throw error; + console.error('Error al obtener charola:', error); + return { error: error.message }; } } -}; + + + /** + * Registra una nueva charola en la base de datos. + * @param {Object} data - Datos de la charola a registrar. + * @param {string} data.nombre - Nombre de la charola. + * @param {string} data.fechaCreacion - Fecha de creación de la charola. + * @param {number} data.densidadLarva - Densidad de larvas en la charola. + * @param {Array} data.comidas - Lista de comidas asociadas a la charola. + * @param {Array} data.hidrataciones - Lista de hidrataciones asociadas a la charola. + * @returns {Promise} - Objeto con la charola creada. + * @throws {Error} - Si ocurre un error durante la creación. + */ + static async registrar(data) { + const { + nombre, + fechaCreacion, + densidadLarva, + comidas = [], + hidrataciones = [] + } = data; + + // Acumulado de comida e hidratación, comienza en 0 y suma la cantidad otorgada + const comidaCiclo = comidas.reduce((suma, comida) => suma + comida.cantidadOtorgada, 0); + const hidratacionCiclo = hidrataciones + .reduce((suma, hidratacion) => suma + hidratacion.cantidadOtorgada, 0); + + const fecha = new Date(fechaCreacion); + // Llamada al cliente Prisma + return prisma.CHAROLA.create({ + data: { + nombreCharola: nombre, + fechaCreacion: fecha, + fechaActualizacion: fecha, + densidadLarva, + + estado: 'activa', + comidaCiclo, + hidratacionCiclo, + + CHAROLA_COMIDA: { + create: comidas.map(charola => ({ + cantidadOtorgada: charola.cantidadOtorgada, + fechaOtorgada: charola.fechaOtorgada + ? new Date(charola.fechaOtorgada) + : new Date(), + COMIDA: { connect: { comidaId: charola.comidaId } } + })) + }, + CHAROLA_HIDRATACION: { + create: hidrataciones.map(hidratacion => ({ + cantidadOtorgada: hidratacion.cantidadOtorgada, + fechaOtorgada: hidratacion.fechaOtorgada + ? new Date(hidratacion.fechaOtorgada) + : new Date(), + HIDRATACION: { connect: { hidratacionId: hidratacion.hidratacionId } } + })) + } + }, + include: { + CHAROLA_COMIDA: { include: { COMIDA: true } }, + CHAROLA_HIDRATACION: { include: { HIDRATACION: true } } + } + }); + } + + static async editarCharola(charola, alimento, hidratacion) { + try{ + const ultimoRegistroComida = await prisma.CHAROLA_COMIDA.findFirst({ + where: { + charolaId: charola.get('charolaId'), + }, + orderBy: { + id: 'desc', + }, + }); + + let diferenciaAlimento = 0; + + if (ultimoRegistroComida) { + const cantidadAnterior = ultimoRegistroComida.cantidadOtorgada; + const cantidadNueva = alimento.get('cantidadOtorgada'); + diferenciaAlimento = cantidadNueva - cantidadAnterior; + + await prisma.CHAROLA_COMIDA.update({ + where: { + id: ultimoRegistroComida.id, + }, + data: { + comidaId: alimento.get('alimentoId'), + cantidadOtorgada: alimento.get('cantidadOtorgada'), + fechaOtorgada: alimento.get('fechaOtorgada'), + }, + }); + } + + const ultimoRegistroHidratacion = await prisma.CHAROLA_HIDRATACION.findFirst({ + where: { + charolaId: charola.get('charolaId'), + }, + orderBy: { + id: 'desc', + }, + }); + + let diferenciaHidratacion = 0; + + if (ultimoRegistroHidratacion) { + const cantidadAnterior = ultimoRegistroHidratacion.cantidadOtorgada; + const cantidadNueva = hidratacion.get('cantidadOtorgada'); + diferenciaHidratacion = cantidadNueva - cantidadAnterior; + + await prisma.CHAROLA_HIDRATACION.update({ + where: { + id: ultimoRegistroHidratacion.id, + }, + data: { + hidratacionId: hidratacion.get('hidratacionId'), + cantidadOtorgada: hidratacion.get('cantidadOtorgada'), + fechaOtorgada: hidratacion.get('fechaOtorgada'), + }, + }); + } + + await prisma.CHAROLA.update({ + where: { + charolaId: charola.get('charolaId'), + }, + data: { + nombreCharola: charola.get('nombreCharola'), + fechaCreacion: charola.get('fechaCreacion'), + densidadLarva: charola.get('densidadLarva'), + estado: charola.get('estado'), + comidaCiclo: { increment: diferenciaAlimento }, + hidratacionCiclo: { increment: diferenciaHidratacion }, + fechaActualizacion: charola.get('fechaActualizacion'), + }, + }); + + return 200; + } catch (error){ + console.error('Error al editar la charola:', error); + return { error: 'Error al editar la charola' }; + } + } + + static async eliminarCharola(charolaID, razon, usuario) { + try { + const id = Number(charolaID); + + // Verificar que la charola exista antes de intentar borrar + const existe = await prisma.CHAROLA.findUnique({ + where: { charolaId: id } + }); + + if (!existe) { + return { error: 'No se encontró la charola para eliminar.' }; + } + + const nombreCharola = existe.nombreCharola; + + await prisma.ELIMINACION_MOTIVO.create({ + data: { + user: usuario, + charola_nombre: nombreCharola, + motivo: razon, + fecha_eliminacion: new Date(), + } + }); + + // Eliminar relaciones con hidratación + await prisma.CHAROLA_HIDRATACION.deleteMany({ + where: { charolaId: id } + }); + + // Eliminar relaciones con comida + await prisma.CHAROLA_COMIDA.deleteMany({ + where: { charolaId: id } + }); + + // Eliminar la charola principal + await prisma.CHAROLA.delete({ + where: { charolaId: id } + }); + + return { + mensaje: 'Charola eliminada correctamente', + idEliminado: id + }; + + } catch (error) { + console.error('Error al eliminar la charola:', error); + return { error: 'Error al eliminar la charola' }; + } + } + + /** + * Obtiene una lista paginada de charolas ordenadas por fecha de creación descendente. + * + * @async + * @function getCharolasPaginadas + * @memberof Charola + * @param {number} limit - Número máximo de registros a obtener. + * @param {number} offset - Número de registros a omitir (para paginación). + * @returns {Promise} Lista de objetos que contienen `nombreCharola` y `fechaCreacion`. + */ + static async getCharolasPaginadas(limit, offset, estado) { + const rows = await prisma.CHAROLA.findMany({ + where: estado ? { estado } : undefined, + select: { + charolaId: true, + nombreCharola: true, + fechaCreacion: true + }, + orderBy: { + fechaCreacion: 'desc' + }, + skip: offset, + take: limit + }); + return rows; + } + + /** + * Obtiene el número total de charolas en la base de datos. + * + * @async + * @function getCantidadTotal + * @memberof Charola + * @returns {Promise} Total de registros en la tabla CHAROLA. + */ + static async getCantidadTotal(estado) { + const total = await prisma.CHAROLA.count({ + where: estado ? { estado } : undefined + }); + return total; + } + + /** + * Alimenta la charola: crea registro en CHAROLA_HIDRATACION y + * luego actualiza hidratacionCiclo y fechaActualizacion en CHAROLA. + * @param {{charolaId:number, hidratacionId:number, cantidadOtorgada:number}} params + */ + static async hidratar({ charolaId, hidratacionId, cantidadOtorgada }) { + const fecha = new Date(); + + return prisma.$transaction(async tx => { + // 1) Crear la relación comida y traer también la comida relacionada + const rel = await tx.CHAROLA_HIDRATACION.create({ + data: { + charolaId, + hidratacionId, + cantidadOtorgada, + fechaOtorgada: fecha + }, + include: { + HIDRATACION: true + } + }); + + // 2) Actualizar la charola + const updated = await tx.CHAROLA.update({ + where: { charolaId }, + data: { + hidratacionCiclo: { increment: cantidadOtorgada }, + fechaActualizacion: fecha + } + }); + + return { + relacion: rel, + charola: updated + }; + }); + } + + /** + * Alimenta la charola: crea registro en CHAROLA_COMIDA y + * luego actualiza comidaCiclo y fechaActualizacion en CHAROLA. + * @param {{charolaId:number, comidaId:number, cantidadOtorgada:number}} params + */ + static async alimentar({ charolaId, comidaId, cantidadOtorgada }) { + const fecha = new Date(); + + return prisma.$transaction(async tx => { + // 1) Crear la relación comida y traer también la comida relacionada + const rel = await tx.CHAROLA_COMIDA.create({ + data: { + charolaId, + comidaId, + cantidadOtorgada, + fechaOtorgada: fecha + }, + include: { + COMIDA: true + } + }); + + // 2) Actualizar la charola + const updated = await tx.CHAROLA.update({ + where: { charolaId }, + data: { + comidaCiclo: { increment: cantidadOtorgada }, + fechaActualizacion: fecha + } + }); + + return { + relacion: rel, + charola: updated + }; + }); + } + + + /** + * Filtra las charolas por un rango de fechas. + * + * @param {string} fechaInicio - Fecha inicial en formato ISO (ej. '2025-01-01') + * @param {string} fechaFin - Fecha final en formato ISO (ej. '2025-01-31') + * @returns {Promise} Lista de charolas en el rango + */ + + static async filtrarPorFecha(fechaInicio, fechaFin) { + try { + const inicio = new Date(fechaInicio); + const fin = new Date(fechaFin); + + const charolas = await prisma.CHAROLA.findMany({ + where: { + fechaCreacion: { + gte: inicio, + lte: fin + } + }, + orderBy: { + fechaCreacion: 'desc' + }, + include: { + CHAROLA_COMIDA: { + include: { COMIDA: true } + }, + CHAROLA_HIDRATACION: { + include: { HIDRATACION: true } + } + } + }); + + return charolas; + } catch (error) { + console.error('Error al filtrar charolas por fecha:', error); + return { error: 'No se pudieron filtrar las charolas' }; + } + } + + +}; \ No newline at end of file diff --git a/models/charolaTamizado.model.js b/models/charolaTamizado.model.js new file mode 100644 index 0000000..daaf86b --- /dev/null +++ b/models/charolaTamizado.model.js @@ -0,0 +1,248 @@ +// RF20: Seleccionar Charolas Para Tamizar y Registrar sus Datos - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF37 + +const { PrismaClient } = require('../generated/prisma'); +const prisma = new PrismaClient(); + +/** + * Clase que representa el proceso de tamizado de charolas. + * @class + */ +module.exports = class Tamizado { + /** + * Crea una instancia de Tamizado. + * @param {string[]} charolas - Lista de nombres de charolas a procesar. + * @param {string} tipoComida - Tipo de comida otorgada. + * @param {string} tipoHidratacion - Tipo de hidratación otorgada. + * @param {number} cantidadComida - Cantidad de comida otorgada a cada charola. + * @param {number} cantidadHidratacion - Cantidad de hidratación otorgada a cada charola. + * @param {number} cantidadPupa - Cantidad de pupas obtenidas. + * @param {number} cantidadFras - Cantidad de fras (residuos) obtenidos en gramos. + * @param {Date|string} fecha - Fecha del tamizado. + */ + constructor({ + charolas = [], + tipoComida = 0, + tipoHidratacion = 0, + cantidadComida = 0, + cantidadHidratacion = 0, + cantidadPupa = 0, + cantidadFras = 0, + fecha = new Date(), + charolasParaTamizar = [], + }) { + this.charolas = charolas; + this.tipoComida = tipoComida; + this.tipoHidratacion = tipoHidratacion; + this.cantidadComida = cantidadComida; + this.cantidadHidratacion = cantidadHidratacion; + this.cantidadPupa = cantidadPupa; + this.cantidadFras = cantidadFras; + this.fecha = new Date(fecha); + this.charolasParaTamizar = charolasParaTamizar; + } + + /** + * Realiza el tamizado para una sola charola. + * Registra la comida, hidratación, fras y pupa asociada a la charola. + * + * @async + * @returns {Promise} Retorna `true` si el tamizado fue exitoso, o un `Error` si ocurre una falla. + */ + + async tamizarIndividual() { + try { + let resultado = await prisma.$transaction(async (tx) => { + // Crear FRAS + const fras = await tx.fRAS.create({ + data: { + gramosGenerados: this.cantidadFras, + fechaRegistro: this.fecha, + }, + }); + + // Mapear FRAS y CHAROLA + await tx.cHAROLA_FRAS.create({ + data: { + charolaId: this.charolasParaTamizar[0].charolaId, + frasId: fras.frasId, + }, + }); + + // Crear PUPA + const pupa = await tx.pUPA.create({ + data: { + cantidadObtenida: this.cantidadPupa, + fechaRegistro: this.fecha, + }, + }); + + // Mapear PUPA y CHAROLA + await tx.cHAROLA_PUPA.create({ + data: { + charolaId: this.charolasParaTamizar[0].charolaId, + pupaId: pupa.pupaId, + }, + }); + + await tx.cHAROLA_COMIDA.create({ + data: { + charolaId: this.charolasParaTamizar[0].charolaId, + comidaId: this.tipoComida, + cantidadOtorgada: this.cantidadComida, + fechaOtorgada: this.fecha, + }, + }); + + await tx.cHAROLA_HIDRATACION.create({ + data: { + charolaId: this.charolasParaTamizar[0].charolaId, + hidratacionId: this.tipoHidratacion, + cantidadOtorgada: this.cantidadHidratacion, + fechaOtorgada: this.fecha, + }, + }); + + await tx.cHAROLA.update({ + where: { + charolaId: this.charolasParaTamizar[0].charolaId, + }, + data: { + comidaCiclo: { increment: this.cantidadComida }, + hidratacionCiclo: { increment: this.cantidadHidratacion }, + fechaActualizacion: this.fecha, + }, + }); + + for (let charola of this.charolas) { + const nuevaCharola = await tx.CHAROLA.create({ + data: { + nombreCharola: charola.nombre, + fechaCreacion: new Date(charola.fechaCreacion), + fechaActualizacion: new Date(charola.fechaActualizacion), + densidadLarva: charola.densidadLarva, + pesoCharola: charola.pesoCharola, + estado: 'activa', + comidaCiclo: charola.comidas[0].cantidadOtorgada, + hidratacionCiclo: charola.hidrataciones[0].cantidadOtorgada, + + CHAROLA_COMIDA: { + create: charola.comidas.map((charola) => ({ + cantidadOtorgada: charola.cantidadOtorgada, + fechaOtorgada: charola.fechaOtorgada + ? new Date(charola.fechaOtorgada) + : new Date(), + COMIDA: { connect: { comidaId: charola.comidaId } }, + })), + }, + CHAROLA_HIDRATACION: { + create: charola.hidrataciones.map((hidratacion) => ({ + cantidadOtorgada: hidratacion.cantidadOtorgada, + fechaOtorgada: hidratacion.fechaOtorgada + ? new Date(hidratacion.fechaOtorgada) + : new Date(), + HIDRATACION: { + connect: { hidratacionId: hidratacion.hidratacionId }, + }, + })), + }, + }, + }); + + for (let ancestro of this.charolasParaTamizar) { + await tx.cHAROLA_CHAROLA.create({ + data: { + charolaHija: nuevaCharola.charolaId, + charolaAncestro: ancestro.charolaId, + }, + }); + } + } + + return true; + }); + + return resultado; + } catch (error) { + console.error('Error al tamizar charola:', error); + return new Error(error.message); + } + } + + /** + * Realiza el tamizado para varias charolas. + * Registra los ancestros de las nuevas chrolas. + * Actualiza las charolas tamizadas a estatus 'pasada' + * + * @async + * @returns {Promise} Retorna `true` si el tamizado fue exitoso, o un `Error` si ocurre una falla. + */ + + async tamizadoMultiple() { + try { + let resultado = await prisma.$transaction(async (tx) => { + for (let charola of this.charolas) { + const nuevaCharola = await tx.CHAROLA.create({ + data: { + nombreCharola: charola.nombre, + fechaCreacion: new Date(charola.fechaCreacion), + fechaActualizacion: new Date(charola.fechaActualizacion), + densidadLarva: charola.densidadLarva, + pesoCharola: charola.pesoCharola, + estado: 'activa', + comidaCiclo: charola.comidas[0].cantidadOtorgada, + hidratacionCiclo: charola.hidrataciones[0].cantidadOtorgada, + + CHAROLA_COMIDA: { + create: charola.comidas.map((charola) => ({ + cantidadOtorgada: charola.cantidadOtorgada, + fechaOtorgada: charola.fechaOtorgada + ? new Date(charola.fechaOtorgada) + : new Date(), + COMIDA: { connect: { comidaId: charola.comidaId } }, + })), + }, + CHAROLA_HIDRATACION: { + create: charola.hidrataciones.map((hidratacion) => ({ + cantidadOtorgada: hidratacion.cantidadOtorgada, + fechaOtorgada: hidratacion.fechaOtorgada + ? new Date(hidratacion.fechaOtorgada) + : new Date(), + HIDRATACION: { + connect: { hidratacionId: hidratacion.hidratacionId }, + }, + })), + }, + }, + }); + + for (let ancestro of this.charolasParaTamizar) { + await tx.cHAROLA_CHAROLA.create({ + data: { + charolaHija: nuevaCharola.charolaId, + charolaAncestro: ancestro.charolaId, + }, + }); + } + } + + for (let charolaPasada of this.charolasParaTamizar) { + await tx.CHAROLA.update({ + where: { + charolaId: charolaPasada.charolaId, + }, + data: { + estado: 'pasada', + }, + }); + } + + return true; + }); + + return resultado; + } catch (error) { + console.error('Error al tamizar multiples charolas:', error); + return new Error(error.message); + } + } +}; diff --git a/models/fras.model.js b/models/fras.model.js new file mode 100644 index 0000000..3e53b57 --- /dev/null +++ b/models/fras.model.js @@ -0,0 +1,94 @@ +// RF29: Visualizar la información del Frass obtenido - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF29 +// RF30: Editar la información del Frass obtenido - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF30 + +const { PrismaClient } = require('../generated/prisma'); +const prisma = new PrismaClient(); + +class Fras { + + /** + * Obtiene todos los registros de Fras de la base de datos. + * @async + * @returns {Promise} Retorna una lista de objetos que contienen la información de las charolas y sus respectivos registros de Fras. + * @throws {Error} Lanza un error si ocurre un problema al consultar la base de datos. + */ + async obtener() { + try { + const resultado = await prisma.cHAROLA_FRAS.findMany({ + select: { + CHAROLA: { + select: { + charolaId: true, + nombreCharola: true, + }, + }, + FRAS: { + select: { + frasId: true, + fechaRegistro: true, + gramosGenerados: true, + }, + }, + }, + }); + return resultado; + } catch (error) { + throw new Error('Error al obtener los registros de Fras: ' + error.message); + } + } + + /** + * Actualiza los gramos generados de Fras para una charola específica. + * @async + * @param {number} charolaId - El ID de la charola para la cual se actualizarán los gramos. + * @param {number} nuevosGramos - El nuevo valor de gramos generados a actualizar. + * @return {Promise} Retorna una lista de objetos que contienen los gramos actualizados de Fras. + * @throws {Error} Lanza un error si ocurre un problema al actualizar los gramos en la base de datos. + * */ + async actualizarGramos( charolaId, nuevosGramos ) { + try { + await prisma.fRAS.updateMany({ + where: { + CHAROLA_FRAS: { + some: { + charolaId: Number(charolaId) + } + } + }, + data: { + gramosGenerados: nuevosGramos + } + }) +const frasActualizados = await prisma.fRAS.findMany({ + where: { + CHAROLA_FRAS: { + some: { + charolaId: Number(charolaId) + } + } + }, + select: { + frasId: true, + gramosGenerados: true, + fechaRegistro: true, + CHAROLA_FRAS: { + select: { + charolaId: true, + CHAROLA: { + select: { nombreCharola: true } + } + } + } + } +}); + + + return frasActualizados; + + } catch (error) { + throw new Error('Error al actualizar los gramos de Fras: ' + error.message); + } + } +} + +module.exports = { Fras }; \ No newline at end of file diff --git a/models/hidratacion.model.js b/models/hidratacion.model.js new file mode 100644 index 0000000..9d5a203 --- /dev/null +++ b/models/hidratacion.model.js @@ -0,0 +1,112 @@ +//RF40: Editar un tipo de hidratación en el sistema - https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/RF40 +// RF41 Eliminar un tipo de hidratación en el sistema - Documentación: https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/RF41 +//RF36: Registrar un nuevo tipo de hidratación al sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF36 + +const { th } = require('date-fns/locale'); +const { PrismaClient } = require('../generated/prisma'); +const prisma = new PrismaClient(); + +/** + * Modelo Hidratación usando Prisma. + * @module models/hidratacion + */ +class Hidratacion { + /** + * Crea una nueva instancia de Hidratación. + * @constructor + * @param {number} idHidratacion - Identificador de Hidratación. + * @param {string} nombreHidratacion - Nombre descriptivo de Hidratación. + * @param {string} descripcionHidratacion - Descripción de Hidratación. + */ + constructor(idHidratacion, nombreHidratacion, descripcionHidratacion) { + this.idHidratacion = idHidratacion; + this.nombreHidratacion = nombreHidratacion; + this.descripcionHidratacion = descripcionHidratacion; + } + + /** + * Obtiene toda la hidtatación de la tabla HIDRATACION. + * @async + * @method obtener + * @returns {Promise>} Lista de registros de hidtatación. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async obtener() { + try { + return await prisma.HIDRATACION.findMany(); + } catch (error) { + throw new Error('Error al obtener hidratación: ' + error.message); + } + } + + /** + * Actualiza un tipo de hidratacion existente en la tabla HIDRATACION. + * @async + * @method actualizar + * @returns {Promise} Registro actualizado del alimento. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async actualizar() { + return await prisma.HIDRATACION.update({ + where: { hidratacionId: this.idHidratacion }, + data: { + nombre: this.nombreHidratacion, + descripcion: this.descripcionHidratacion, + }, + }); + } + + /** + * Verifica si un alimento está agregado a alguna charola. + * @async + * @method isAgregada + * @returns {Promise} Número de asignaciones de la hidratación a las charolas. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async isAgregada() { + try { + const asignaciones = await prisma.CHAROLA_HIDRATACION.count({ + where: { hidratacionId: this.idHidratacion }, + }); + return asignaciones; + } catch (error) { + throw new Error('Error al verificar asignaciones de la hidratación: ' + error.message); + } + } + + /** + * Elimina un alimento de la tabla COMIDA. + * @async + * @method eliminar + * @returns {Promise} Registro eliminado de hidratación. + * @throws {Error} Si ocurre un error de consulta o conexión. + */ + async eliminar() { + try { + return await prisma.HIDRATACION.delete({ + where: { hidratacionId: this.idHidratacion }, + }) + } catch (error) { + throw new Error('Error al eliminar hidratación: ' + error.message); + } + } + + /** + * Agrega un nuevo tipo de hidratación a la tabla HIDRATACION. + * @async + * @method agregar + * @returns {Promise} Registro insertado de hidratación. + * @throws {Error} Si ocurre un error de inserción. + */ + async agregar() { + return await prisma.HIDRATACION.create({ + data: { + nombre: this.nombreHidratacion, + descripcion: this.descripcionHidratacion, + }, + }); +} + +} +module.exports = { Hidratacion }; + diff --git a/models/historialCharola.model.js b/models/historialCharola.model.js new file mode 100644 index 0000000..2d3678e --- /dev/null +++ b/models/historialCharola.model.js @@ -0,0 +1,195 @@ +// models/historialCharola.model.js +const { PrismaClient } = require('../generated/prisma'); +const { format } = require('date-fns'); +const logger = require('../utils/logger'); +const prisma = new PrismaClient(); +module.exports = class HistorialCharola { + /** + * Obtiene la fecha de creación de una charola específica. + * + * @async + * @function obtenerFechaCreacion + * @param {number|string} charolaId - El ID de la charola cuya fecha de creación se desea consultar. + * @returns {Promise>} Una promesa que resuelve con un arreglo que contiene + * un objeto con la propiedad `fechaCreacion`, o un arreglo vacío si no se encuentra la charola. + * @throws {Error} Lanza un error si ocurre una excepción durante la consulta a la base de datos. + */ + static async obtenerFechaCreacion(charolaId) { + try { + const resultado = await prisma.cHAROLA.findUnique({ + where: { charolaId: Number(charolaId) }, + select: { fechaCreacion: true }, + }); + + if (!resultado) return []; + + return [{ fechaCreacion: resultado.fechaCreacion }]; + } catch (error) { + logger.error('Error en obtenerFechaCreacion', { error }); + throw error; + } + } + + /** + * Obtiene los ancestros directos de una charola (relaciones madre/abuela, etc). + * + * @async + * @function obtenerAncestros + * @param {number|string} charolaId - El ID de la charola hija cuya línea ancestral se desea consultar. + * @returns {Promise>} Una promesa que resuelve con un arreglo + * de objetos, donde cada uno representa una charola ancestro con su ID y nombre. + * @throws {Error} Lanza un error si ocurre una excepción durante la consulta a la base de datos. + */ + static async obtenerAncestros(charolaId) { + const resultado = await prisma.cHAROLA_CHAROLA.findMany({ + where: { + charolaHija: Number(charolaId), + }, + select: { + charolaAncestro: true, + CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: { + select: { + nombreCharola: true, + }, + }, + }, + }); + + // Formatear resultado como el query original + return resultado.map(relacion => ({ + charolaAncestro: relacion.charolaAncestro, + nombreCharola: relacion.CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA.nombreCharola, + })); + } catch (error) { + logger.error('Error en obtenerAncestros', { error }); + throw error; + } + + /** + * @description Método para obtener el historial de la alimentación de una charola. + * @param {*} charolaId + * @returns {Array} - Lista con todos los registros de la alimentación que se le ha otorgado. + */ + static async historialAlimentacion(charolaId) { + try { + const resultado = await prisma.CHAROLA_COMIDA.findMany({ + where: { + charolaId: charolaId, + }, + orderBy: { + fechaOtorgada: 'desc', + }, + select: { + cantidadOtorgada: true, + fechaOtorgada: true, + COMIDA: { + select: { + nombre: true, + }, + }, + }, + }); + + const resultadoFormateado = resultado.map(item => { + const isoString = item.fechaOtorgada.toISOString(); + const [año, mes, dia] = isoString.split('T')[0].split('-'); + + return { + cantidadOtorgada: item.cantidadOtorgada.toString(), + fechaOtorgada: `${dia}/${mes}/${año}`, + nombre: item.COMIDA.nombre, + }; + }); + + return resultadoFormateado; + } catch (error) { + logger.error('Error en historialAlimentacion', { error }); + throw error; + } + } + + /** + * @description Método para obtener el historial de la hidratación de una charola. + * @param {*} charolaId + * @returns {Array} - Lista con todos los registros de la alimentación que se le ha otorgado. + */ + static async historialHidratacion(charolaId) { + try { + const resultado = await prisma.CHAROLA_HIDRATACION.findMany({ + where: { + charolaId: charolaId, + }, + orderBy: { + fechaOtorgada: 'desc', + }, + select: { + cantidadOtorgada: true, + fechaOtorgada: true, + HIDRATACION: { + select: { + nombre: true, + }, + }, + }, + }); + + const resultadoFormateado = resultado.map(item => { + const isoString = item.fechaOtorgada.toISOString(); + const [año, mes, dia] = isoString.split('T')[0].split('-'); + + return { + cantidadOtorgada: item.cantidadOtorgada.toString(), + fechaOtorgada: `${dia}/${mes}/${año}`, + nombre: item.HIDRATACION.nombre, + }; + }); + + return resultadoFormateado; + } catch (error) { + console.error('[Model] Error al obtener el historial de hidratacion de la charola: ', error); + throw error; + } + } + + /** + * @description Método para obtener el estado de una charola y su última fecha de modificación. + * @param {*} charolaId + * @returns {JSON} - Json con la información solicitada de la charola. + */ + static async estadoCharola(charolaId) { + try { + const resultado = await prisma.CHAROLA.findUnique({ + where: { + charolaId: charolaId, + }, + select: { + estado: true, + fechaActualizacion: true, + }, + }); + + const fechaStr = resultado.fechaActualizacion.toISOString(); + const [año, mes, dia] = fechaStr.split('T')[0].split('-'); + + const resultadoFormateado = { + ...resultado, + fechaActualizacion: `${dia}/${mes}/${año}`, + }; + + return resultadoFormateado; + } catch (error) { + console.error('[Model] Error al obtener el historial de hidratacion de la charola: ', error); + throw error; + } + } + + /** + * Inserta una tupla en CHAROLA_CHAROLA + * @param {{charolaHija: number, charolaAncestro: number}} data + */ + static async asignarAncestro({ charolaHija, charolaAncestro }) { + return prisma.CHAROLA_CHAROLA.create({ + data: { charolaHija, charolaAncestro } + }); + } +}; diff --git a/models/menu_charolas.model.js b/models/menu_charolas.model.js deleted file mode 100644 index a3ac9b4..0000000 --- a/models/menu_charolas.model.js +++ /dev/null @@ -1,51 +0,0 @@ -// RF16 Visualizar todas las charolas registradas en el sistema -// Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 - -const { PrismaClient } = require('../generated/prisma'); -const prisma = new PrismaClient(); - -/** - * Modelo Charola que gestiona las operaciones sobre la tabla CHAROLA con Prisma. - * @namespace Charola - */ -const Charola = { - /** - * Obtiene una lista paginada de charolas ordenadas por fecha de creación descendente. - * - * @async - * @function getCharolasPaginadas - * @memberof Charola - * @param {number} limit - Número máximo de registros a obtener. - * @param {number} offset - Número de registros a omitir (para paginación). - * @returns {Promise} Lista de objetos que contienen `nombreCharola` y `fechaCreacion`. - */ - getCharolasPaginadas: async (limit, offset) => { - const rows = await prisma.CHAROLA.findMany({ - select: { - nombreCharola: true, - fechaCreacion: true - }, - orderBy: { - fechaCreacion: 'desc' - }, - skip: offset, - take: limit - }); - return rows; - }, - - /** - * Obtiene el número total de charolas en la base de datos. - * - * @async - * @function getCantidadTotal - * @memberof Charola - * @returns {Promise} Total de registros en la tabla CHAROLA. - */ - getCantidadTotal: async () => { - const total = await prisma.CHAROLA.count(); - return total; - } -}; - -module.exports = Charola; diff --git a/models/reporte.model.js b/models/reporte.model.js new file mode 100644 index 0000000..86abde4 --- /dev/null +++ b/models/reporte.model.js @@ -0,0 +1,83 @@ +const { PrismaClient } = require('../generated/prisma'); +const { format } = require('date-fns'); + +const prisma = new PrismaClient(); + +const ReporteModel = { + /** + * @description Metodo para realizar la consulta de la información de las charolas. + * @returns {Array} - Array con la informacion de la consulta de la BD + */ + // RF11: + // https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF11 + async obtenerDatos() { + // Consulta con ORM Prisma + const resultado = await prisma.CHAROLA.findMany({ + select: { + nombreCharola: true, + charolaId: true, + comidaCiclo: true, + hidratacionCiclo: true, + fechaActualizacion: true, + estado: true, + densidadLarva: true, + fechaCreacion: true, + CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA: { + select: { + CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA: { + select: { + nombreCharola: true + } + } + } + } + } + }); + + // Formateado de fechas a dd/MM/yyyy y la lista de Ancestros + const resultadoFormateado = resultado.map( + ({ CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA, ...charola }) => ({ + ...charola, + fechaActualizacion: charola.fechaActualizacion + ? format(new Date(charola.fechaActualizacion), 'dd/MM/yyyy') + : null, + fechaCreacion: charola.fechaCreacion + ? format(new Date(charola.fechaCreacion), 'dd/MM/yyyy') + : null, + charolaAncestros: CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA.map( + (rel) => rel.CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA.nombreCharola + ) + }) + ); + + return resultadoFormateado; + }, + + async obtenerEliminadas(){ + try{ + const resultado = await prisma.ELIMINACION_MOTIVO.findMany({ + select: { + user: true, + charola_nombre: true, + motivo: true, + fecha_eliminacion: true, + } + }); + + const resultadoFormateado = resultado.map(item => ({ + user: item.user, + charola_nombre: item.charola_nombre, + motivo: item.motivo, + fechaEliminacion: format(new Date(item.fecha_eliminacion), 'dd/MM/yyyy'), + })); + + return resultadoFormateado; + } catch (error) { + console.log(error); + return error; + } + } +}; + +module.exports = ReporteModel; + diff --git a/models/usuario.model.js b/models/usuario.model.js index 2ec7010..9226e45 100644 --- a/models/usuario.model.js +++ b/models/usuario.model.js @@ -1,7 +1,7 @@ const bcrypt = require('bcryptjs'); const jwt = require('jsonwebtoken'); const { PrismaClient } = require('../generated/prisma'); -const dotenv = require("dotenv"); +const dotenv = require('dotenv'); dotenv.config(); const prisma = new PrismaClient(); @@ -13,44 +13,38 @@ module.exports = class Usuario { * @returns {String|Object} - Token de JWT o mensaje de error. */ static async iniciarSesion(datos) { - try { - const usuario = await prisma.USUARIO.findFirst({ - where: { user: datos.usuario }, - }); + const usuario = await prisma.USUARIO.findFirst({ + where: { user: datos.usuario }, + }); - if (!usuario) { - return { error: "Usuario inexistente" }; - } + if (!usuario) { + return { error: 'Usuario inexistente' }; + } - const contrasenaCorrecta = await bcrypt.compare( - datos.contrasena, - usuario.contrasena - ); + const contrasenaCorrecta = await bcrypt.compare( + datos.contrasena, + usuario.contrasena + ); - if (!contrasenaCorrecta) { - return { error: "Contraseña incorrecta" }; - } + if (!contrasenaCorrecta) { + return { error: 'Contraseña incorrecta' }; + } - // Verifica si también es administrador - const admin = await prisma.ADMINISTRADOR.findFirst({ - where: { usuarioId: usuario.usuarioId }, - }); + // Verifica si también es administrador + const admin = await prisma.ADMINISTRADOR.findFirst({ + where: { usuarioId: usuario.usuarioId }, + }); - const token = jwt.sign( - { - id: usuario.usuarioId, - nombreDeUsuario: usuario.user, - rol: admin ? "admin" : "usuario", - }, - process.env.JWT_SECRET, - { expiresIn: "1d" } - ); - - return token; - } catch (error) { - console.log("Error al iniciar sesión:", error); - throw error; - } + const token = jwt.sign( + { + id: usuario.usuarioId, + nombreDeUsuario: usuario.user, + rol: admin ? 'admin' : 'usuario', + }, + process.env.JWT_SECRET, + { expiresIn: '1d' } + ); + return token; } /** @@ -65,7 +59,7 @@ module.exports = class Usuario { select: { user: true }, }); } catch (error) { - console.error("Error al buscar usuario:", error); + console.error('Error al buscar usuario:', error); throw error; } } @@ -76,23 +70,110 @@ module.exports = class Usuario { * @returns {Object} Resultado de la creación del usuario. */ static async registrarUsuario(usuarioNuevo) { - try { - const contrasenaHash = await bcrypt.hash(usuarioNuevo.contrasena, 12); - - const nuevo = await prisma.USUARIO.create({ - data: { - user: usuarioNuevo.usuario, - contrasena: contrasenaHash, - nombre: usuarioNuevo.nombre, - apellido_m: usuarioNuevo.apellido_m, - apellido_p: usuarioNuevo.apellido_p, - }, - }); + const contrasenaHash = await bcrypt.hash(usuarioNuevo.contrasena, 12); - return nuevo; - } catch (error) { - console.log("Error al registrar usuario:", error); - throw error; - } + const nuevo = await prisma.USUARIO.create({ + data: { + user: usuarioNuevo.usuario, + contrasena: contrasenaHash, + nombre: usuarioNuevo.nombre, + apellido_m: usuarioNuevo.apellido_m, + apellido_p: usuarioNuevo.apellido_p, + }, + }); + + return nuevo; +} + /** + * @description Extrae todos los usuarios de la base de datos y especifica sus roles + * @returns {Array} Resultado de la consulta. + */ + static async obtenerUsuarios(){ + const usuarios = await prisma.USUARIO.findMany({ + include: { + ADMINISTRADOR: true, + }, + }); + + const resultado = usuarios.map(usuario => ({ + usuarioId: usuario.usuarioId, + nombre: usuario.nombre, + apellido_p: usuario.apellido_p, + apellido_m: usuario.apellido_m, + user: usuario.user, + tipo_usuario: usuario.ADMINISTRADOR.length > 0 ? 'Administrador' : 'Usuario', + })); + + return resultado; + } + + /** + * @description Edita la informacion de un usuario + * @param {Object} infoUsuario - Objeto con información del usuario. + * @param {int} usuarioId - Id del usuario a editar. + * @returns {Array} Resultado de la consulta + */ + static async editarUsuario(usuarioId, infoUsuario){ + const contrasenaHash = await bcrypt.hash(infoUsuario.contrasena, 12); + + await prisma.USUARIO.update({ + where: { + usuarioId: usuarioId + }, + data: { + user: infoUsuario.usuario, + contrasena: contrasenaHash, + nombre: infoUsuario.nombre, + apellido_m: infoUsuario.apellido_m, + apellido_p: infoUsuario.apellido_p, + } + }) + } + + /** + * @description Elimina la informacion de un usuario + * @param {int} usuarioId - Id del usuario a editar. + */ + static async eliminarUsuario(usuarioId){ + await prisma.USUARIO.delete({ + where: { + usuarioId: usuarioId + } + }) + } + + /** + * @description Obtiene el id de un usuario apartir de su nombre + * @param {String} nombreUsuario Nombre del usuario + * @returns {int} Resultado de la consulta + */ + static async obtenerId(nombreUsuario) { + return await prisma.USUARIO.findFirst({ + where: { + user: nombreUsuario + }, + select: { + usuarioId: true + } + }) + } + + /** + * @description Cambia la contraseña de un usuario + * @param {int} usuarioId Id del usuario + * @param {String} contrasena Contraseña nueva + * @returns {int} Resultado de la consulta + */ + static async cambiarContrasena(usuarioId, contrasena) { + const contrasenaHash = await bcrypt.hash(contrasena, 12); + + await prisma.USUARIO.update({ + where: { + usuarioId: usuarioId + }, + data: { + contrasena: contrasenaHash + } + }); } }; diff --git a/package-lock.json b/package-lock.json index ba6f0be..94af31b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,23 +9,33 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@prisma/client": "^6.7.0", + "@prisma/client": "^6.8.2", "aws-sdk": "^2.1692.0", "bcryptjs": "^3.0.2", "body-parser": "^2.2.0", + "date-fns": "^4.1.0", "dotenv": "^16.4.7", "ejs": "^3.1.10", + "exceljs": "^4.4.0", "express": "^5.1.0", + "express-rate-limit": "^7.5.0", "express-session": "^1.18.1", + "format": "^0.2.2", "jsonwebtoken": "^9.0.2", + "lint": "^1.1.2", "mariadb": "^3.4.0", "mysql2": "^3.14.0", - "nodejs": "^0.0.0" + "nodejs": "^0.0.0", + "nodemailer": "^7.0.3", + "winston": "^3.17.0" }, "devDependencies": { + "eslint": "^9.27.0", + "eslint-plugin-import": "^2.31.0", + "husky": "^9.1.7", "jest": "^29.7.0", "jsdoc": "^4.0.4", - "prisma": "^6.7.0" + "prisma": "^6.8.2" } }, "node_modules/@ampproject/remapping": { @@ -33,6 +43,7 @@ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -46,6 +57,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", @@ -56,10 +68,11 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz", - "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", + "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -69,6 +82,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -99,6 +113,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -108,6 +123,7 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.27.1", "@babel/types": "^7.27.1", @@ -120,12 +136,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz", - "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.1", + "@babel/compat-data": "^7.27.2", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -140,6 +157,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -149,6 +167,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -158,6 +177,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" @@ -171,6 +191,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", @@ -188,6 +209,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -197,6 +219,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -206,6 +229,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -215,6 +239,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -224,6 +249,7 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.27.1", "@babel/types": "^7.27.1" @@ -233,10 +259,11 @@ } }, "node_modules/@babel/parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz", - "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", + "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.27.1" }, @@ -252,6 +279,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -264,6 +292,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -276,6 +305,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -288,6 +318,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -303,6 +334,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -318,6 +350,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -330,6 +363,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -342,6 +376,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -357,6 +392,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -369,6 +405,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -381,6 +418,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -393,6 +431,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -405,6 +444,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -417,6 +457,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -429,6 +470,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -444,6 +486,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -459,6 +502,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -470,13 +514,14 @@ } }, "node_modules/@babel/template": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz", - "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.1", + "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" }, "engines": { @@ -488,6 +533,7 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.27.1", @@ -506,6 +552,7 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" @@ -518,447 +565,310 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", - "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", - "cpu": [ - "ppc64" - ], "dev": true, + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "license": "MIT", - "optional": true, - "os": [ - "aix" - ], "engines": { - "node": ">=18" + "node": ">=0.1.90" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", - "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", - "cpu": [ - "arm" - ], - "dev": true, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", - "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", - "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", - "cpu": [ - "x64" - ], + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", - "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=18" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", - "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/config-array": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", - "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/config-helpers": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", + "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", - "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/core": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", - "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", - "cpu": [ - "arm" - ], + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", - "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", - "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", - "cpu": [ - "ia32" - ], + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", - "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", - "cpu": [ - "loong64" - ], + "node_modules/@eslint/js": { + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", - "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", - "cpu": [ - "mips64el" - ], + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", - "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", - "cpu": [ - "ppc64" - ], + "node_modules/@eslint/plugin-kit": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz", + "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.14.0", + "levn": "^0.4.1" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", - "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", - "cpu": [ - "riscv64" - ], - "dev": true, + "node_modules/@fast-csv/format": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz", + "integrity": "sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@types/node": "^14.0.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isboolean": "^3.0.3", + "lodash.isequal": "^4.5.0", + "lodash.isfunction": "^3.0.9", + "lodash.isnil": "^4.0.0" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", - "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", - "cpu": [ - "s390x" - ], - "dev": true, + "node_modules/@fast-csv/format/node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "license": "MIT" + }, + "node_modules/@fast-csv/parse": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@fast-csv/parse/-/parse-4.3.6.tgz", + "integrity": "sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@types/node": "^14.0.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.groupby": "^4.6.0", + "lodash.isfunction": "^3.0.9", + "lodash.isnil": "^4.0.0", + "lodash.isundefined": "^3.0.1", + "lodash.uniq": "^4.5.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", - "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", - "cpu": [ - "x64" - ], + "node_modules/@fast-csv/parse/node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "license": "MIT" + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": ">=18.18.0" } }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", - "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", - "cpu": [ - "arm64" - ], + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, "engines": { - "node": ">=18" + "node": ">=18.18.0" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", - "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", - "cpu": [ - "x64" - ], + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], "engines": { - "node": ">=18" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", - "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", - "cpu": [ - "arm64" - ], + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], "engines": { - "node": ">=18" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", - "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", - "cpu": [ - "x64" - ], + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], "engines": { - "node": ">=18" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", - "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", - "cpu": [ - "x64" - ], + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", - "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", - "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", - "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" + "node": ">=8" } }, "node_modules/@istanbuljs/schema": { @@ -966,6 +876,7 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -975,6 +886,7 @@ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -992,6 +904,7 @@ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -1039,6 +952,7 @@ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -1054,6 +968,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -1067,6 +982,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1079,6 +995,7 @@ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1096,6 +1013,7 @@ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1111,6 +1029,7 @@ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1154,6 +1073,7 @@ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1166,6 +1086,7 @@ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1180,6 +1101,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1195,6 +1117,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1210,6 +1133,7 @@ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1236,6 +1160,7 @@ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1253,6 +1178,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1267,6 +1193,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -1276,6 +1203,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -1284,13 +1212,15 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1301,6 +1231,7 @@ "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.9.tgz", "integrity": "sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "lodash": "^4.17.21" }, @@ -1309,9 +1240,9 @@ } }, "node_modules/@prisma/client": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.7.0.tgz", - "integrity": "sha512-+k61zZn1XHjbZul8q6TdQLpuI/cvyfil87zqK2zpreNIXyXtpUv3+H/oM69hcsFcZXaokHJIzPAt5Z8C8eK2QA==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.8.2.tgz", + "integrity": "sha512-5II+vbyzv4si6Yunwgkj0qT/iY0zyspttoDrL3R4BYgLdp42/d2C8xdi9vqkrYtKt9H32oFIukvyw3Koz5JoDg==", "hasInstallScript": true, "license": "Apache-2.0", "engines": { @@ -1331,77 +1262,84 @@ } }, "node_modules/@prisma/config": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.7.0.tgz", - "integrity": "sha512-di8QDdvSz7DLUi3OOcCHSwxRNeW7jtGRUD2+Z3SdNE3A+pPiNT8WgUJoUyOwJmUr5t+JA2W15P78C/N+8RXrOA==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.8.2.tgz", + "integrity": "sha512-ZJY1fF4qRBPdLQ/60wxNtX+eu89c3AkYEcP7L3jkp0IPXCNphCYxikTg55kPJLDOG6P0X+QG5tCv6CmsBRZWFQ==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "esbuild": ">=0.12 <1", - "esbuild-register": "3.6.0" + "jiti": "2.4.2" } }, "node_modules/@prisma/debug": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.7.0.tgz", - "integrity": "sha512-RabHn9emKoYFsv99RLxvfG2GHzWk2ZI1BuVzqYtmMSIcuGboHY5uFt3Q3boOREM9de6z5s3bQoyKeWnq8Fz22w==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.8.2.tgz", + "integrity": "sha512-4muBSSUwJJ9BYth5N8tqts8JtiLT8QI/RSAzEogwEfpbYGFo9mYsInsVo8dqXdPO2+Rm5OG5q0qWDDE3nyUbVg==", "devOptional": true, "license": "Apache-2.0" }, "node_modules/@prisma/engines": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.7.0.tgz", - "integrity": "sha512-3wDMesnOxPrOsq++e5oKV9LmIiEazFTRFZrlULDQ8fxdub5w4NgRBoxtWbvXmj2nJVCnzuz6eFix3OhIqsZ1jw==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.8.2.tgz", + "integrity": "sha512-XqAJ//LXjqYRQ1RRabs79KOY4+v6gZOGzbcwDQl0D6n9WBKjV7qdrbd042CwSK0v0lM9MSHsbcFnU2Yn7z8Zlw==", "devOptional": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.7.0", - "@prisma/engines-version": "6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed", - "@prisma/fetch-engine": "6.7.0", - "@prisma/get-platform": "6.7.0" + "@prisma/debug": "6.8.2", + "@prisma/engines-version": "6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e", + "@prisma/fetch-engine": "6.8.2", + "@prisma/get-platform": "6.8.2" } }, "node_modules/@prisma/engines-version": { - "version": "6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed.tgz", - "integrity": "sha512-EvpOFEWf1KkJpDsBCrih0kg3HdHuaCnXmMn7XFPObpFTzagK1N0Q0FMnYPsEhvARfANP5Ok11QyoTIRA2hgJTA==", + "version": "6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e.tgz", + "integrity": "sha512-Rkik9lMyHpFNGaLpPF3H5q5TQTkm/aE7DsGM5m92FZTvWQsvmi6Va8On3pWvqLHOt5aPUvFb/FeZTmphI4CPiQ==", "devOptional": true, "license": "Apache-2.0" }, "node_modules/@prisma/fetch-engine": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.7.0.tgz", - "integrity": "sha512-zLlAGnrkmioPKJR4Yf7NfW3hftcvqeNNEHleMZK9yX7RZSkhmxacAYyfGsCcqRt47jiZ7RKdgE0Wh2fWnm7WsQ==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.8.2.tgz", + "integrity": "sha512-lCvikWOgaLOfqXGacEKSNeenvj0n3qR5QvZUOmPE2e1Eh8cMYSobxonCg9rqM6FSdTfbpqp9xwhSAOYfNqSW0g==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.7.0", - "@prisma/engines-version": "6.7.0-36.3cff47a7f5d65c3ea74883f1d736e41d68ce91ed", - "@prisma/get-platform": "6.7.0" + "@prisma/debug": "6.8.2", + "@prisma/engines-version": "6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e", + "@prisma/get-platform": "6.8.2" } }, "node_modules/@prisma/get-platform": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.7.0.tgz", - "integrity": "sha512-i9IH5lO4fQwnMLvQLYNdgVh9TK3PuWBfQd7QLk/YurnAIg+VeADcZDbmhAi4XBBDD+hDif9hrKyASu0hbjwabw==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.8.2.tgz", + "integrity": "sha512-vXSxyUgX3vm1Q70QwzwkjeYfRryIvKno1SXbIqwSptKwqKzskINnDUcx85oX+ys6ooN2ATGSD0xN2UTfg6Zcow==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.7.0" + "@prisma/debug": "6.8.2" } }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -1411,6 +1349,7 @@ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -1420,6 +1359,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1433,6 +1373,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } @@ -1442,6 +1383,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -1452,10 +1394,17 @@ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true + }, "node_modules/@types/geojson": { "version": "7946.0.16", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", @@ -1467,6 +1416,7 @@ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -1475,13 +1425,15 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -1491,21 +1443,37 @@ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, "node_modules/@types/linkify-it": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/markdown-it": { "version": "14.1.2", "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", "dev": true, + "license": "MIT", "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" @@ -1515,7 +1483,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { "version": "22.13.17", @@ -1530,13 +1499,21 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -1545,7 +1522,8 @@ "version": "21.0.3", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/accepts": { "version": "2.0.0", @@ -1560,11 +1538,49 @@ "node": ">= 0.6" } }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -1580,6 +1596,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1604,6 +1621,7 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1612,21 +1630,214 @@ "node": ">= 8" } }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "license": "MIT", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "license": "MIT" }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1678,6 +1889,7 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -1699,6 +1911,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -1715,6 +1928,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -1731,6 +1945,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1740,6 +1955,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -1755,6 +1971,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -1781,6 +1998,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -1827,13 +2045,70 @@ "bcrypt": "bin/bcrypt" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/body-parser": { + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "license": "Unlicense", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", + "license": "MIT", + "dependencies": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", + "license": "MIT" + }, + "node_modules/body-parser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", @@ -1868,6 +2143,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -1876,9 +2152,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.24.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", + "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", "dev": true, "funding": [ { @@ -1894,11 +2170,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", + "caniuse-lite": "^1.0.30001716", + "electron-to-chromium": "^1.5.149", "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -1912,6 +2189,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } @@ -1927,6 +2205,15 @@ "isarray": "^1.0.0" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -1937,7 +2224,25 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/buffer-indexof-polyfill": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", + "engines": { + "node": ">=0.2.0" + } }, "node_modules/bytes": { "version": "3.1.2", @@ -2000,6 +2305,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2009,14 +2315,15 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001716", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", - "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", + "version": "1.0.30001717", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", + "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", "dev": true, "funding": [ { @@ -2031,13 +2338,15 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/catharsis": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.15" }, @@ -2045,6 +2354,18 @@ "node": ">= 10" } }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", + "license": "MIT/X11", + "dependencies": { + "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2066,6 +2387,7 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -2081,6 +2403,7 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } @@ -2089,13 +2412,15 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -2110,6 +2435,7 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -2119,7 +2445,18 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } }, "node_modules/color-convert": { "version": "2.0.1", @@ -2139,6 +2476,56 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "license": "MIT", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/compress-commons": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", + "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2170,7 +2557,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cookie": { "version": "0.7.2", @@ -2190,11 +2578,43 @@ "node": ">=6.6.0" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", + "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -2216,6 +2636,7 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2225,6 +2646,73 @@ "node": ">= 8" } }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", @@ -2247,6 +2735,7 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -2256,11 +2745,18 @@ } } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2282,6 +2778,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/denque": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", @@ -2305,6 +2818,7 @@ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -2314,14 +2828,27 @@ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -2344,6 +2871,45 @@ "node": ">= 0.4" } }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", @@ -2375,16 +2941,18 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.149", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.149.tgz", - "integrity": "sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==", - "dev": true + "version": "1.5.150", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.150.tgz", + "integrity": "sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==", + "dev": true, + "license": "ISC" }, "node_modules/emittery": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -2396,7 +2964,14 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "license": "MIT" }, "node_modules/encodeurl": { "version": "2.0.0", @@ -2407,11 +2982,21 @@ "node": ">= 0.8" } }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -2424,10 +3009,76 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -2458,58 +3109,48 @@ "node": ">= 0.4" } }, - "node_modules/esbuild": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", - "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", - "devOptional": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { - "node": ">=18" + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.4", - "@esbuild/android-arm": "0.25.4", - "@esbuild/android-arm64": "0.25.4", - "@esbuild/android-x64": "0.25.4", - "@esbuild/darwin-arm64": "0.25.4", - "@esbuild/darwin-x64": "0.25.4", - "@esbuild/freebsd-arm64": "0.25.4", - "@esbuild/freebsd-x64": "0.25.4", - "@esbuild/linux-arm": "0.25.4", - "@esbuild/linux-arm64": "0.25.4", - "@esbuild/linux-ia32": "0.25.4", - "@esbuild/linux-loong64": "0.25.4", - "@esbuild/linux-mips64el": "0.25.4", - "@esbuild/linux-ppc64": "0.25.4", - "@esbuild/linux-riscv64": "0.25.4", - "@esbuild/linux-s390x": "0.25.4", - "@esbuild/linux-x64": "0.25.4", - "@esbuild/netbsd-arm64": "0.25.4", - "@esbuild/netbsd-x64": "0.25.4", - "@esbuild/openbsd-arm64": "0.25.4", - "@esbuild/openbsd-x64": "0.25.4", - "@esbuild/sunos-x64": "0.25.4", - "@esbuild/win32-arm64": "0.25.4", - "@esbuild/win32-ia32": "0.25.4", - "@esbuild/win32-x64": "0.25.4" - } - }, - "node_modules/esbuild-register": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", - "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", - "devOptional": true, - "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, "dependencies": { - "debug": "^4.3.4" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, - "peerDependencies": { - "esbuild": ">=0.12 <1" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/escalade": { @@ -2517,6 +3158,7 @@ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2532,15 +3174,278 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/eslint": { + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", + "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.14.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.27.0", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2549,6 +3454,48 @@ "node": ">=4" } }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -2567,11 +3514,41 @@ "node": ">=0.4.x" } }, + "node_modules/exceljs": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/exceljs/-/exceljs-4.4.0.tgz", + "integrity": "sha512-XctvKaEMaj1Ii9oDOqbW/6e1gXknSY4g/aLCDicOXqBE4M0nRWkUu0PTp++UPNzoFY12BNHMfs/VadKIS6llvg==", + "license": "MIT", + "dependencies": { + "archiver": "^5.0.0", + "dayjs": "^1.8.34", + "fast-csv": "^4.3.1", + "jszip": "^3.10.1", + "readable-stream": "^3.6.0", + "saxes": "^5.0.1", + "tmp": "^0.2.0", + "unzipper": "^0.10.11", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/exceljs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -2604,6 +3581,7 @@ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -2657,6 +3635,21 @@ "url": "https://opencollective.com/express" } }, + "node_modules/express-rate-limit": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", + "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": "^4.11 || 5 || ^5.0.0-beta.1" + } + }, "node_modules/express-session": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.1.tgz", @@ -2697,10 +3690,36 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/fast-csv": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fast-csv/-/fast-csv-4.3.6.tgz", + "integrity": "sha512-2RNSpuwwsJGP0frGsOmTb9oUF+VkFSM4SyLTDgwf2ciHWTarN0lQTC+F2f/t5J9QjW+c65VFIAAu85GsvMIusw==", + "license": "MIT", + "dependencies": { + "@fast-csv/format": "4.3.5", + "@fast-csv/parse": "4.3.6" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fb-watchman": { @@ -2708,10 +3727,29 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -2747,6 +3785,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2776,6 +3815,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2784,6 +3824,31 @@ "node": ">=8" } }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -2799,6 +3864,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -2817,11 +3890,17 @@ "node": ">= 0.8" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -2829,6 +3908,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2837,6 +3917,22 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -2846,6 +3942,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/generate-function": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", @@ -2860,6 +3985,7 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -2869,6 +3995,7 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -2902,6 +4029,7 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -2924,6 +4052,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2931,12 +4060,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2952,15 +4098,44 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -2977,7 +4152,19 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "license": "ISC" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/has-flag": { "version": "4.0.0", @@ -3000,6 +4187,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -3043,7 +4245,8 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", @@ -3066,10 +4269,27 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -3088,11 +4308,52 @@ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", "license": "BSD-3-Clause" }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -3112,6 +4373,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -3121,34 +4383,122 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.2" + }, "engines": { - "node": ">= 0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "license": "MIT", + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, "dependencies": { - "call-bound": "^1.0.2", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -3158,12 +4508,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -3181,6 +4525,7 @@ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -3191,11 +4536,69 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3205,6 +4608,7 @@ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3227,15 +4631,56 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-promise": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", @@ -3266,11 +4711,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3278,6 +4750,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", @@ -3293,6 +4798,49 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -3303,13 +4851,15 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -3319,6 +4869,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -3335,6 +4886,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -3349,6 +4901,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -3363,6 +4916,7 @@ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -3394,6 +4948,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -3420,6 +4975,7 @@ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -3434,6 +4990,7 @@ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -3465,6 +5022,7 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -3498,6 +5056,7 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -3543,6 +5102,7 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -3558,6 +5118,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -3570,6 +5131,7 @@ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -3586,6 +5148,7 @@ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -3603,6 +5166,7 @@ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -3612,6 +5176,7 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -3637,6 +5202,7 @@ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -3650,6 +5216,7 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -3665,6 +5232,7 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -3685,6 +5253,7 @@ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -3699,6 +5268,7 @@ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -3716,6 +5286,7 @@ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -3725,6 +5296,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -3745,6 +5317,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -3758,6 +5331,7 @@ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -3790,6 +5364,7 @@ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -3823,6 +5398,7 @@ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -3854,6 +5430,7 @@ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -3871,6 +5448,7 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -3888,6 +5466,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3900,6 +5479,7 @@ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -3919,6 +5499,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -3934,6 +5515,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3944,6 +5526,16 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "devOptional": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/jmespath": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", @@ -3957,13 +5549,15 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3977,6 +5571,7 @@ "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "xmlcreate": "^2.0.4" } @@ -3986,6 +5581,7 @@ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz", "integrity": "sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@babel/parser": "^7.20.15", "@jsdoc/salty": "^0.2.1", @@ -4004,10 +5600,30 @@ "underscore": "~1.13.2" }, "bin": { - "jsdoc": "jsdoc.js" + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdoc/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=10" } }, "node_modules/jsesc": { @@ -4015,6 +5631,7 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -4022,10 +5639,29 @@ "node": ">=6" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "node_modules/json5": { @@ -4033,6 +5669,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -4062,6 +5699,48 @@ "npm": ">=6" } }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/jwa": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", @@ -4083,11 +5762,21 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/klaw": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.9" } @@ -4097,39 +5786,131 @@ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "license": "MIT" + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/linkify-it": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, + "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" } }, + "node_modules/lint": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lint/-/lint-1.1.2.tgz", + "integrity": "sha512-kOzKdN0iSdkx57102MxZd64yn32rHaB6xqBMN3hyCRiBV2xiurM75XWvTHWNK/SJBCddHPhjDLV+kNr3Uf1MGg==", + "bin": { + "node-lint": "bin/node-lint" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", + "license": "ISC" + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -4141,7 +5922,38 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "license": "MIT" + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", + "license": "MIT" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", + "license": "MIT" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "license": "MIT" + }, + "node_modules/lodash.groupby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", + "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==", + "license": "MIT" }, "node_modules/lodash.includes": { "version": "4.3.0", @@ -4155,12 +5967,31 @@ "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", "license": "MIT" }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "license": "MIT" + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "license": "MIT" + }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", "license": "MIT" }, + "node_modules/lodash.isnil": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz", + "integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==", + "license": "MIT" + }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", @@ -4179,12 +6010,53 @@ "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", "license": "MIT" }, + "node_modules/lodash.isundefined": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz", + "integrity": "sha512-MXB1is3s899/cD8jheYYE2V9qTHwKvt+npCwpD+1Sxm3Q3cECXCiYHjeHWXNwr6Q0SOBPrYUDxendrO6goVTEA==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "license": "MIT" }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/logform": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/long": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/long/-/long-5.3.1.tgz", @@ -4220,6 +6092,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -4235,6 +6108,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } @@ -4266,6 +6140,7 @@ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", @@ -4283,6 +6158,7 @@ "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, + "license": "Unlicense", "peerDependencies": { "@types/markdown-it": "*", "markdown-it": "*" @@ -4292,13 +6168,15 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/marked": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, + "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -4319,7 +6197,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/media-typer": { "version": "1.1.0", @@ -4346,13 +6225,15 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -4387,6 +6268,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4403,16 +6285,25 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, "bin": { "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/ms": { @@ -4457,7 +6348,8 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/negotiator": { "version": "1.0.0", @@ -4472,13 +6364,15 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nodejs": { "version": "0.0.0", @@ -4486,11 +6380,20 @@ "integrity": "sha512-1V+0HwaB/dhxzidEFc4uJ3k52gLI4B6YBZgJIofjwYCSAkD6CI0me6TDBT2QM2nbGWNxCHcq9/wVynzQYZOhUg==", "license": "ISC" }, + "node_modules/nodemailer": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.3.tgz", + "integrity": "sha512-Ajq6Sz1x7cIK3pN6KesGTah+1gnwMnx5gKl3piQlQQE/PwyJ4Mbc8is2psWYxK3RJTVeqsDaCv8ZzXLCDHMTZw==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4500,6 +6403,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -4519,6 +6423,85 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -4549,11 +6532,21 @@ "wrappy": "1" } }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } + }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -4564,11 +6557,46 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -4584,6 +6612,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -4596,6 +6625,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -4611,6 +6641,25 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, "engines": { "node": ">=6" } @@ -4620,6 +6669,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -4647,6 +6697,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4655,7 +6706,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4665,6 +6716,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4673,7 +6725,8 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "8.2.0", @@ -4688,13 +6741,15 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -4707,6 +6762,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -4716,6 +6772,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -4732,11 +6789,21 @@ "node": ">= 0.4" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4751,6 +6818,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4759,15 +6827,15 @@ } }, "node_modules/prisma": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.7.0.tgz", - "integrity": "sha512-vArg+4UqnQ13CVhc2WUosemwh6hr6cr6FY2uzDvCIFwH8pu8BXVv38PktoMLVjtX7sbYThxbnZF5YiR8sN2clw==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.8.2.tgz", + "integrity": "sha512-JNricTXQxzDtRS7lCGGOB4g5DJ91eg3nozdubXze3LpcMl1oWwcFddrj++Up3jnRE6X/3gB/xz3V+ecBk/eEGA==", "devOptional": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@prisma/config": "6.7.0", - "@prisma/engines": "6.7.0" + "@prisma/config": "6.8.2", + "@prisma/engines": "6.8.2" }, "bin": { "prisma": "build/index.js" @@ -4775,9 +6843,6 @@ "engines": { "node": ">=18.18" }, - "optionalDependencies": { - "fsevents": "2.3.3" - }, "peerDependencies": { "typescript": ">=5.1.0" }, @@ -4787,11 +6852,18 @@ } } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -4824,6 +6896,7 @@ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4842,7 +6915,8 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/qs": { "version": "6.14.0", @@ -4905,13 +6979,101 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4921,6 +7083,7 @@ "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.21" } @@ -4930,6 +7093,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", @@ -4950,6 +7114,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -4962,6 +7127,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4971,10 +7137,24 @@ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/router": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", @@ -4991,6 +7171,31 @@ "node": ">= 18" } }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5011,6 +7216,28 @@ ], "license": "MIT" }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/safe-regex-test": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", @@ -5028,6 +7255,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -5040,6 +7276,18 @@ "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==", "license": "ISC" }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/semver": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", @@ -5111,6 +7359,41 @@ "node": ">= 0.4" } }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -5122,6 +7405,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -5134,6 +7418,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5214,19 +7499,37 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5236,6 +7539,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -5245,6 +7549,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -5254,7 +7559,8 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/sqlstring": { "version": "2.3.3", @@ -5265,11 +7571,21 @@ "node": ">= 0.6" } }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -5286,11 +7602,21 @@ "node": ">= 0.8" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -5304,6 +7630,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5313,11 +7640,68 @@ "node": ">=8" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5330,6 +7714,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5339,6 +7724,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5348,6 +7734,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -5372,6 +7759,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5379,11 +7767,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -5393,17 +7798,34 @@ "node": ">=8" } }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -5420,11 +7842,75 @@ "node": ">=0.6" } }, + "node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "license": "MIT/X11", + "engines": { + "node": "*" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -5434,6 +7920,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -5455,11 +7942,86 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/uid-safe": { "version": "2.1.5", @@ -5473,11 +8035,30 @@ "node": ">= 0.8" } }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/underscore": { "version": "1.13.7", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/undici-types": { "version": "6.20.0", @@ -5494,6 +8075,54 @@ "node": ">= 0.8" } }, + "node_modules/unzipper": { + "version": "0.10.14", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", + "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", + "license": "MIT", + "dependencies": { + "big-integer": "^1.6.17", + "binary": "~0.3.0", + "bluebird": "~3.4.1", + "buffer-indexof-polyfill": "~1.0.0", + "duplexer2": "~0.1.4", + "fstream": "^1.0.12", + "graceful-fs": "^4.2.2", + "listenercount": "~1.0.1", + "readable-stream": "~2.3.6", + "setimmediate": "~1.0.4" + } + }, + "node_modules/unzipper/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/unzipper/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/unzipper/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -5513,6 +8142,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" @@ -5524,6 +8154,24 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/url": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", @@ -5547,6 +8195,12 @@ "which-typed-array": "^1.1.2" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, "node_modules/uuid": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", @@ -5561,6 +8215,7 @@ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -5584,6 +8239,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } @@ -5593,6 +8249,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -5603,6 +8260,76 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-typed-array": { "version": "1.1.19", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", @@ -5624,11 +8351,57 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/winston": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz", + "integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==", + "license": "MIT", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.7.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.9.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", + "license": "MIT", + "dependencies": { + "logform": "^2.7.0", + "readable-stream": "^3.6.2", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5652,6 +8425,7 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -5682,17 +8456,25 @@ "node": ">=4.0" } }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, "node_modules/xmlcreate": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -5701,13 +8483,15 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -5726,6 +8510,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -5735,12 +8520,48 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zip-stream": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", + "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", + "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "license": "MIT", + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } } } } diff --git a/package.json b/package.json index 2eba054..fa3794b 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,11 @@ "main": "index.js", "type": "commonjs", "scripts": { + "prepare": "husky", "test": "jest --verbose", - "type": "module" + "type": "module", + "lint": "eslint ./models ./controllers ./server.js --config ./linter/eslint.config.mjs", + "lint:fix": "eslint ./models ./controllers ./server.js --config ./linter/eslint.config.mjs --fix" }, "repository": { "type": "git", @@ -19,22 +22,43 @@ }, "homepage": "https://github.com/slugcraft/TECH-NEBRIOS-BACKEND#readme", "dependencies": { - "@prisma/client": "^6.7.0", + "@prisma/client": "^6.8.2", "aws-sdk": "^2.1692.0", "bcryptjs": "^3.0.2", "body-parser": "^2.2.0", + "date-fns": "^4.1.0", "dotenv": "^16.4.7", "ejs": "^3.1.10", + "exceljs": "^4.4.0", "express": "^5.1.0", + "express-rate-limit": "^7.5.0", "express-session": "^1.18.1", + "format": "^0.2.2", "jsonwebtoken": "^9.0.2", + "lint": "^1.1.2", "mariadb": "^3.4.0", "mysql2": "^3.14.0", - "nodejs": "^0.0.0" + "nodejs": "^0.0.0", + "nodemailer": "^7.0.3", + "winston": "^3.17.0" }, "devDependencies": { + "eslint": "^9.27.0", + "eslint-plugin-import": "^2.31.0", + "husky": "^9.1.7", "jest": "^29.7.0", "jsdoc": "^4.0.4", - "prisma": "^6.7.0" + "prisma": "^6.8.2" + }, + "jest": { + "testPathIgnorePatterns": [ + "/node_modules/", + "/utils/", + "/generated/" + ], + "collectCoverageFrom": [ + "controllers/**/*.js", + "models/**/*.js" + ] } } diff --git a/prisma/prismaClient.js b/prisma/prismaClient.js new file mode 100644 index 0000000..50bdbb7 --- /dev/null +++ b/prisma/prismaClient.js @@ -0,0 +1,3 @@ +const { PrismaClient } = require('@prisma/client'); +const prisma = new PrismaClient(); +module.exports = prisma; \ No newline at end of file diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 248d678..2ac5f18 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -1,6 +1,7 @@ generator client { - provider = "prisma-client-js" - output = "../generated/prisma" + provider = "prisma-client-js" + output = "../generated/prisma" + binaryTargets = ["native", "windows"] } datasource db { @@ -22,14 +23,16 @@ model CHAROLA { comidaCiclo Float @db.Float hidratacionCiclo Float @db.Float fechaActualizacion DateTime? @db.Date - estado String? @db.VarChar(25) + estado String @db.VarChar(25) densidadLarva Float? @db.Float - fechaCreacion DateTime? @db.Date + fechaCreacion DateTime @db.Date pesoCharola Float? @db.Float CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaHijaToCHAROLA CHAROLA_CHAROLA[] @relation("CHAROLA_CHAROLA_charolaHijaToCHAROLA") CHAROLA_CHAROLA_CHAROLA_CHAROLA_charolaAncestroToCHAROLA CHAROLA_CHAROLA[] @relation("CHAROLA_CHAROLA_charolaAncestroToCHAROLA") CHAROLA_COMIDA CHAROLA_COMIDA[] + CHAROLA_FRAS CHAROLA_FRAS[] CHAROLA_HIDRATACION CHAROLA_HIDRATACION[] + CHAROLA_PUPA CHAROLA_PUPA[] FRAS FRAS[] USUARIO_CHAROLA USUARIO_CHAROLA[] } @@ -45,25 +48,29 @@ model CHAROLA_CHAROLA { } model CHAROLA_COMIDA { - charolaId Int - comidaId Int - cantidadOtorgada Float @db.Float - CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_1") - COMIDA COMIDA @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_2") + id Int @id @default(autoincrement()) + charolaId Int? + comidaId Int? + cantidadOtorgada Float @db.Float + fechaOtorgada DateTime @db.Date + CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_1") + COMIDA COMIDA? @relation(fields: [comidaId], references: [comidaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_COMIDA_ibfk_2") - @@id([charolaId, comidaId]) @@index([comidaId], map: "comidaId") + @@index([charolaId], map: "charolaId") } model CHAROLA_HIDRATACION { - charolaId Int - hidratacionId Int - cantidadOtorgada Float? @db.Float - CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_1") - HIDRATACION HIDRATACION @relation(fields: [hidratacionId], references: [hidratacionId], onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_2") + id Int @id @default(autoincrement()) + charolaId Int? + hidratacionId Int? + cantidadOtorgada Float @db.Float + fechaOtorgada DateTime @db.Date + CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_1") + HIDRATACION HIDRATACION? @relation(fields: [hidratacionId], references: [hidratacionId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_HIDRATACION_ibfk_2") - @@id([charolaId, hidratacionId]) @@index([hidratacionId], map: "hidratacionId") + @@index([charolaId], map: "charolaId") } model COMIDA { @@ -74,16 +81,18 @@ model COMIDA { } model FRAS { - frassId Int @id @default(autoincrement()) - gramosGenerados Float @db.Float + frasId Int @id @default(autoincrement()) + gramosGenerados Float @db.Float + fechaRegistro DateTime? @db.Date charolaId Int? - CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "FRAS_ibfk_1") + CHAROLA_FRAS CHAROLA_FRAS[] + CHAROLA CHAROLA? @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "FRAS_ibfk_1") - @@index([charolaId], map: "charolaId") + @@index([charolaId], map: "idx_fras_charolaId") } model HIDRATACION { - hidratacionId Int @id + hidratacionId Int @id @default(autoincrement()) nombre String? @db.VarChar(25) descripcion String? @db.VarChar(200) CHAROLA_HIDRATACION CHAROLA_HIDRATACION[] @@ -109,3 +118,38 @@ model USUARIO_CHAROLA { @@id([usuarioId, charolaId]) @@index([charolaId], map: "charolaId") } + +model CHAROLA_FRAS { + charolaId Int + frasId Int + CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_FRAS_ibfk_1") + FRAS FRAS @relation(fields: [frasId], references: [frasId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_FRAS_ibfk_2") + + @@id([charolaId, frasId]) + @@index([frasId], map: "frasId") +} + +model CHAROLA_PUPA { + charolaId Int + pupaId Int + CHAROLA CHAROLA @relation(fields: [charolaId], references: [charolaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_PUPA_ibfk_1") + PUPA PUPA @relation(fields: [pupaId], references: [pupaId], onDelete: Cascade, onUpdate: Restrict, map: "CHAROLA_PUPA_ibfk_2") + + @@id([charolaId, pupaId]) + @@index([pupaId], map: "pupaId") +} + +model PUPA { + pupaId Int @id @default(autoincrement()) + fechaRegistro DateTime? @db.Date + cantidadObtenida Float? @db.Float + CHAROLA_PUPA CHAROLA_PUPA[] +} + +model ELIMINACION_MOTIVO { + id Int @id @default(autoincrement()) + user String @db.VarChar(50) + charola_nombre String @db.VarChar(20) + motivo String @db.Text + fecha_eliminacion DateTime? @default(now()) @db.Timestamp(0) +} diff --git a/public/ZuustentoTracker_AppIcon.PNG b/public/ZuustentoTracker_AppIcon.PNG new file mode 100644 index 0000000..1495dc2 Binary files /dev/null and b/public/ZuustentoTracker_AppIcon.PNG differ diff --git a/routes/alimento.routes.js b/routes/alimento.routes.js new file mode 100644 index 0000000..acea013 --- /dev/null +++ b/routes/alimento.routes.js @@ -0,0 +1,52 @@ +//RF23: Registrar un nuevo tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF23 +//RF24: Editar un tipo de comida en el sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF24 + +/** + * @file Define las rutas relacionadas con la gestión de alimentos. + * @module routes/alimentacion + */ + +//Dependencias +const express = require("express"); +const router = express.Router(); + +// Controladores +const alimentoController = require("../controllers/alimento.controller.js"); + +/** + * GET / + * @description Obtiene todos los alimentos registrados + * @returns {Object[]} Lista de alimentos + */ + +router.get('/', alimentoController.obtenerAlimentos); + +/** + * POST /agregar + * @description Registra un nuevo alimento + * @param {string} req.body.nombre - Nombre del alimento + * @param {string} req.body.descripcion - Descripción del alimento + * @returns {Object} Mensaje de éxito o error + */ +router.post('/agregar', alimentoController.registrarAlimento); + +/* PUT METHODS */ +/** + * PUT /editar/:idAlimento - Edita un alimento existente. + * @name PUT/editar/:idAlimento + * @function + * @memberof module:routes/alimentoRoutes + */ +router.put('/editar/:idAlimento', alimentoController.editarAlimento); + +/** + * DELETE /eliminar/:idAlimento - Elimina un alimento existente. + * @name DELETE/eliminar/:idAlimento + * @function + * @memberof module:routes/alimentoRoutes + */ +router.delete('/eliminar/:idAlimento', alimentoController.eliminarAlimento); + +router.post('/charola-comida', alimentoController.registrarCharolaComida); + +module.exports = router; \ No newline at end of file diff --git a/routes/charola.routes.js b/routes/charola.routes.js index 49b0e7b..beaec1a 100644 --- a/routes/charola.routes.js +++ b/routes/charola.routes.js @@ -1,24 +1,35 @@ -/* Dependencias */ const express = require("express"); const router = express.Router(); /* ------------ */ -router.use(express.json()); -router.use(express.urlencoded({ extended: true })); - /* INCLUDE CONTROLLERS */ -const controlador = require("../controllers/charola.controller"); +const charolaController = require('../controllers/charola.controller'); /* ------------------- */ /* GET METHODS */ + +router.get('/consultarCharola/:id', charolaController.consultarCharola); + +router.get('/charolas', charolaController.obtenerCharolas); + +router.get('/charolas/filtrar', charolaController.filtrarCharolasPorFecha); + + /* ----------- */ /* POST METHODS */ -router.post("/registrarCharola", controlador.registrarCharola); +router.post('/registrarCharola', charolaController.registrarCharola); + +router.post('/alimentar', charolaController.alimentarCharola); + +router.post('/hidratar', charolaController.hidratarCharola); + +router.post("/eliminarCharola/:id", charolaController.eliminarCharola); + /* ----------- */ /* PUT METHODS */ - +router.put('/editarCharola', charolaController.editarCharola); /* ----------- */ /* DELETE METHODS */ diff --git a/routes/charolaTamizado.routes.js b/routes/charolaTamizado.routes.js new file mode 100644 index 0000000..a344ad9 --- /dev/null +++ b/routes/charolaTamizado.routes.js @@ -0,0 +1,36 @@ +// RF20: Seleccionar Charolas Para Tamizar y Registrar sus Datos - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF37 + +/** + * @file Define las rutas relacionadas con la gestión de alimentos. + * @module routes/alimentacion + */ + + +//Dependencias +const express = require("express"); +const router = express.Router(); + +// Middlewares +router.use(express.json()); +router.use(express.urlencoded({ extended: true })); + +// Controladores +const tamizadoController = require("../controllers/charolaTamizado.controller.js"); + +/** + * POST + * @description Realiza el tamizado de una charola + * @returns {Json} Respuesta de éxito o error + */ + +router.post('/tamizadoIndividual', tamizadoController.tamizarCharolaIndividual); + +/** + * POST + * @description Realiza el tamizado de varias charolas + * @returns {Json} Respuesta de éxito o error + */ + +router.post('/tamizadoMultiple', tamizadoController.tamizarMultiplesCharolas); + +module.exports = router; \ No newline at end of file diff --git a/routes/fras.routes.js b/routes/fras.routes.js new file mode 100644 index 0000000..0f7ac5e --- /dev/null +++ b/routes/fras.routes.js @@ -0,0 +1,37 @@ +// RF29: Visualizar la información del Frass obtenido - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF29 +// RF30: Editar la información del Frass obtenido - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF30 + +/* Dependencias */ +const express = require("express"); +const router = express.Router(); + +router.use(express.json()); +router.use(express.urlencoded({ extended: true })); + +/* INCLUDE CONTROLLERS */ +const frasController = require("../controllers/fras.controller.js"); +/* ------------------- */ + +/* GET METHODS */ +/** + * GET * Obtiene los registros de Fras para una charola específica. + * @name GET/ + * @function + * @memberof module:routes/frasRoutes + */ +router.get('/', frasController.obtenerFras); +/* ----------- */ + +/* POST METHODS */ +router.post('/editar/:charolaId', frasController.actualizarGramos); +/* ----------- */ + +/* PUT METHODS */ + +/* ----------- */ + +/* DELETE METHODS */ + +/* ----------- */ + +module.exports = router; \ No newline at end of file diff --git a/routes/hidratacion.routes.js b/routes/hidratacion.routes.js new file mode 100644 index 0000000..b0c50a3 --- /dev/null +++ b/routes/hidratacion.routes.js @@ -0,0 +1,56 @@ +//RF40: Editar un tipo de hidratación en el sistema - https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/RF40 +// RF41 Eliminar un tipo de hidratación en el sistema - Documentación: https://codeandco-wiki.netlify.app/docs/next/proyectos/larvas/documentacion/requisitos/RF41 +// RF36: Registrar un nuevo tipo de hidratación al sistema - https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF36 + +/** + * @file Define las rutas relacionadas con la gestión de alimentos. + * @module routes/hidratacion + */ + +//Dependencias +const express = require("express"); +const router = express.Router(); + +router.use(express.json()); +router.use(express.urlencoded({ extended: true })); + +// Controladores +const hidratacionController = require("../controllers/hidratacion.controller.js"); + +/** + * GET / - Obtiene la lista de toda la hidratación. + * @name GET/ + * @function + * @memberof module:routes/hidratacionRoutes + */ +router.get("/", hidratacionController.obtenerHidratacion); + +/** + * PUT /editar/:idHidratacion - Edita hidratacion existente. + * @name PUT/editar/:idHidratacion + * @function + * @memberof module:routes/hidratacionRoutes + */ +router.put('/editar/:idHidratacion', hidratacionController.editarHidratacion); + +/** + * POST /agregar + * @description Registra un nuevo tipo de hidratación en el sistema. + * @param {string} req.body.nombre - Nombre de la hidratación. + * @param {string} req.body.descripcion - Descripción de la hidratación. + * @returns {Object} Mensaje de éxito o error. + */ +router.post("/agregar", hidratacionController.registrarHidratacion); + +/* DELETE METHODS */ + +/** + * DELETE /eliminar/:idHidrato - Elimina un hidrato existente. + * @name DELETE/eliminar/:idHidratacion + * @function + * @memberof module:routes/hidratacionRoutes + */ +router.delete('/eliminar/:idHidratacion', hidratacionController.eliminarHidratacion); +/* ----------- */ + +module.exports = router; diff --git a/routes/historialCharola.routes.js b/routes/historialCharola.routes.js new file mode 100644 index 0000000..c8b6808 --- /dev/null +++ b/routes/historialCharola.routes.js @@ -0,0 +1,31 @@ +/* Dependencias */ +const express = require("express"); +const router = express.Router(); +/* ------------ */ + +router.use(express.json()); +router.use(express.urlencoded({ extended: true })); + +/* INCLUDE CONTROLLERS */ +const historialCharolaController = require('../controllers/historialCharola.controller'); +/* ------------------- */ + +/* GET METHODS */ +router.get('/:charolaId/ancestros', historialCharolaController.obtenerHistorialAncestros); + +router.get('/historialActividad', historialCharolaController.obtenerHistorialActividad) +/* ----------- */ + +/* POST METHODS */ +router.post('/:charolaId/ancestros', historialCharolaController.postHistorialAncestros); +/* ----------- */ + +/* PUT METHODS */ + +/* ----------- */ + +/* DELETE METHODS */ + +/* ----------- */ + +module.exports = router; \ No newline at end of file diff --git a/routes/menu_charolas.route.js b/routes/menu_charolas.route.js deleted file mode 100644 index 481f2bf..0000000 --- a/routes/menu_charolas.route.js +++ /dev/null @@ -1,22 +0,0 @@ -// RF16 Visualizar todas las charolas registradas en el sistema -// Documentación: https://codeandco-wiki.netlify.app/docs/proyectos/larvas/documentacion/requisitos/RF16 - -const express = require('express'); -const router = express.Router(); -const { obtenerCharolas } = require('../controllers/menu_charolas.controller'); - -/** - * @route GET /charolas - * @group Charolas - Endpoints relacionados con la visualización de charolas - * @summary Visualiza todas las charolas registradas (paginado). - * @param {number} [page.query] - Número de página (opcional). - * @param {number} [limit.query] - Límite de elementos por página (opcional). - * @returns {object} 200 - Lista paginada de charolas. - * @returns {Error} 500 - Error interno del servidor. - * - * @example - * GET /charolas?page=1&limit=20 - */ -router.get('/charolas', obtenerCharolas); - -module.exports = router; diff --git a/routes/reporte.routes.js b/routes/reporte.routes.js new file mode 100644 index 0000000..bf1dd6c --- /dev/null +++ b/routes/reporte.routes.js @@ -0,0 +1,26 @@ +const express = require("express"); +const router = express.Router(); +/* ------------ */ + +/* INCLUDE CONTROLLERS */ +const reporteController = require('../controllers/reporte.controller'); +/* ------------------- */ + +/* GET METHODS */ +router.get("/getDatos", reporteController.getDatos); +router.get("/getEliminadas", reporteController.getEliminadas); +/* ----------- */ + +/* POST METHODS */ +router.post("/postArchivoExcel", reporteController.postDescargarExcel); +/* ----------- */ + +/* PUT METHODS */ + +/* ----------- */ + +/* DELETE METHODS */ + +/* ----------- */ + +module.exports = router; diff --git a/routes/usuario.routes.js b/routes/usuario.routes.js index d2da15b..0bfeaee 100644 --- a/routes/usuario.routes.js +++ b/routes/usuario.routes.js @@ -7,23 +7,26 @@ router.use(express.json()); router.use(express.urlencoded({ extended: true })); /* INCLUDE CONTROLLERS */ -const controlador = require("../controllers/usuario.controller"); +const usuarioController = require("../controllers/usuario.controller"); +const autenticacionController = require("../controllers/autenticacion.controller"); /* ------------------- */ /* GET METHODS */ +router.get("/obtenerUsuarios", usuarioController.obtenerUsuarios); /* ----------- */ /* POST METHODS */ -router.post("/iniciarSesion", controlador.iniciarSesion); -router.post("/registrarUsuario", controlador.registrarUsuario); +router.post("/iniciarSesion", autenticacionController.iniciarSesion); +router.post("/registrarUsuario", usuarioController.registrarUsuario); +router.post("/recuperarContrasena", usuarioController.mandarCorreo); /* ----------- */ /* PUT METHODS */ - +router.put("/editarUsuario", usuarioController.editarUsuario); /* ----------- */ /* DELETE METHODS */ - +router.delete("/eliminarUsuario", usuarioController.eliminarUsuario); /* ----------- */ module.exports = router; diff --git a/server.js b/server.js index 8196fc4..ca0d21f 100644 --- a/server.js +++ b/server.js @@ -1,54 +1,52 @@ /* Dependencias */ -const express = require("express"); -const path = require("path"); -const bodyParser = require("body-parser"); -const session = require("express-session"); -const db = require("./utils/database"); +const express = require('express'); +const path = require('path'); const app = express(); -const sesionActiva = require("./utils/middlewares/sesionActiva"); -/* ------------ */ +app.use(express.json()); +app.use(express.urlencoded({ extended: true })); +const sesionActiva = require('./utils/middlewares/sesionActiva'); +const limitarAPI = require('./utils/middlewares/limitarAPI'); +/* ------------ */ /* Rutas */ -const charolasRoutes = require('./routes/menu_charolas.route'); -const usuarioRoutes = require("./routes/usuario.routes"); +const charolaRoutes = require('./routes/charola.routes'); +const usuarioRoutes = require('./routes/usuario.routes'); +const alimentoRoutes = require('./routes/alimento.routes'); +const hidratacionRoutes = require('./routes/hidratacion.routes'); +const frasRoutes = require('./routes/fras.routes'); +const charolaTamizadoRoutes = require('./routes/charolaTamizado.routes'); +const historialCharlolaRoutes = require('./routes/historialCharola.routes'); +const reporteRoutes = require('./routes/reporte.routes'); /* ----- */ /* Rutas de la API */ -app.use("/charola", charolasRoutes); -app.use("/usuario", usuarioRoutes); -/* ----- */ - -/* Conexion a la base de datos*/ -async function testDB() { - try { - const test = await db(); - console.log("Conexión exitosa. Resultado:", test); - } catch (error) { - console.error("Error al conectar con la base de datos:", error); - } -} - -testDB(); +app.use('/charola', sesionActiva, limitarAPI, charolaRoutes); +app.use('/usuario', limitarAPI, usuarioRoutes); +app.use('/alimentacion', sesionActiva, limitarAPI, alimentoRoutes); +app.use('/hidratacion', sesionActiva, limitarAPI, hidratacionRoutes); +app.use('/fras', sesionActiva, limitarAPI, frasRoutes); +app.use('/charolaTamizado', sesionActiva, limitarAPI, charolaTamizadoRoutes); +app.use('/historialCharola', sesionActiva, limitarAPI, historialCharlolaRoutes); +app.use('/reporte', sesionActiva, limitarAPI, reporteRoutes); /* ----- */ /* Inicializar express */ -app.set("view engine", "ejs"); -app.set("views", path.join(__dirname, "views")); -app.use(express.static(path.join(__dirname, "public"))); -app.use(express.json()); +app.set('view engine', 'ejs'); +app.set('views', path.join(__dirname, 'views')); +app.use(express.static(path.join(__dirname, 'public'))); /* ----- */ /* Route 404 Error */ app.use((req, res, next) => { - res.status(404).render("404", { title: "404 - Not Found" }); + res.status(404).render('404', { title: '404 - Not Found' }); }); app.use((req, res) => { - console.log("invalid url"); - res.redirect("/"); + console.log('invalid url'); + res.redirect('/'); }); /* ----- */ diff --git a/utils/database.js b/utils/database.js deleted file mode 100644 index aa841a9..0000000 --- a/utils/database.js +++ /dev/null @@ -1,23 +0,0 @@ -const mariadb = require("mariadb"); -const dotenv = require('dotenv'); -dotenv.config(); - -const pool = mariadb.createPool({ - host: process.env.DB_HOST, - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, - database: process.env.DB_NAME, - port: process.env.DB_PORT, - waitForConnections: true, - connectionLimit: 10, - queueLimit: 0 -}); - -module.exports = async () => { - try { - const connection = await pool.getConnection(); - return connection; - } catch (error) { - throw error; // Re-throw the error for proper handling - } -}; diff --git a/utils/excelGenerador.js b/utils/excelGenerador.js new file mode 100644 index 0000000..615b9e1 --- /dev/null +++ b/utils/excelGenerador.js @@ -0,0 +1,48 @@ +const ExcelJS = require('exceljs'); + +async function generarExcelDesdeDatos(datos, eliminadas) { + const libro_trabajo = new ExcelJS.Workbook(); + const hoja_trabajo = libro_trabajo.addWorksheet('Charolas'); + const hoja_eliminadas = libro_trabajo.addWorksheet('Charolas Eliminadas'); + + hoja_trabajo.columns = [ + { header: 'Nombre Charola', key: 'nombreCharola', width: 15 }, + { header: 'Fecha de Creación', key: 'fechaCreacion', width: 20 }, + { header: 'Fecha Actualización', key: 'fechaActualizacion', width: 20 }, + { header: 'Ancestros de la Charola', key: 'charolaAncestros', width: 30 }, + { header: 'Comida (gramos)', key: 'comidaCiclo', width: 15 }, + { header: 'Hidratación (gramos)', key: 'hidratacionCiclo', width: 18 }, + { header: 'Estado', key: 'estado', width: 15 }, + { header: 'Densidad Larva', key: 'densidadLarva', width: 15 } + ]; + + hoja_eliminadas.columns = [ + { header: 'Charola Eliminada', key: 'charola_nombre', width: 20 }, + { header: 'Usuario', key: 'user', width: 15 }, + { header: 'Fecha de Eliminación', key: 'fechaEliminacion', width: 20 }, + { header: 'Motivo de Eliminación', key: 'motivo', width: 30 } + ]; + + datos.forEach((fila) => { + hoja_trabajo.addRow({ + ...fila, + charolaAncestros: Array.isArray(fila.charolaAncestros) + ? fila.charolaAncestros.join(', ') + : '' + }); + }); + + eliminadas.forEach((fila) => { + hoja_eliminadas.addRow({ + charola_nombre: fila.charola_nombre, + user: fila.user, + fechaEliminacion: fila.fechaEliminacion, + motivo: fila.motivo + }); + }); + + const buffer = await libro_trabajo.xlsx.writeBuffer(); + return buffer; +} + +module.exports = { generarExcelDesdeDatos }; \ No newline at end of file diff --git a/utils/logger.js b/utils/logger.js new file mode 100644 index 0000000..443653f --- /dev/null +++ b/utils/logger.js @@ -0,0 +1,18 @@ +// utils/logger.js +const winston = require('winston'); + +const logger = winston.createLogger({ + level: 'info', // puedes cambiar a 'debug' si necesitas más detalle + format: winston.format.combine( + winston.format.timestamp(), + winston.format.printf(({ timestamp, level, message, ...meta }) => { + return `${timestamp} [${level.toUpperCase()}]: ${message} ${Object.keys(meta).length ? JSON.stringify(meta) : ''}`; + }) + ), + transports: [ + new winston.transports.Console(), // para ver en terminal + new winston.transports.File({ filename: 'logs/error.log', level: 'error' }) // para guardar errores + ], +}); + +module.exports = logger; diff --git a/utils/middlewares/limitarAPI.js b/utils/middlewares/limitarAPI.js new file mode 100644 index 0000000..35957a8 --- /dev/null +++ b/utils/middlewares/limitarAPI.js @@ -0,0 +1,23 @@ +const rateLimit = require('express-rate-limit'); +/** + * Middleware para limitar la cantidad de peticiones a la API. + * + * Limita a 200 peticiones por IP cada 15 minutos. + * + * @module apiLimiter + */ +const limitarAPI = rateLimit({ + windowMs: 15 * 60 * 1000, // 15 minutos + max: 4000, + keyGenerator: (req) => { + return req.ip; + }, + handler: (req, res) => { + res.status(429).json({ + error: 'Demasiadas solicitudes. Intenta de nuevo en 15 minutos.' + }); + } +}); + +module.exports = limitarAPI; + diff --git a/utils/middlewares/sesionActiva.js b/utils/middlewares/sesionActiva.js index 2fdcb8f..7dca64b 100644 --- a/utils/middlewares/sesionActiva.js +++ b/utils/middlewares/sesionActiva.js @@ -16,7 +16,6 @@ async function verificarSesionActiva(req, res, next) { return res.status(401).json({code:401, msg: "Sin token de autorización"}); } const token = autenticacion.split(' ')[1]; // Extraes token de "Bearer " - console.log(token); if (!token) { return res.status(401).json({ message: "Token no válido" }); } @@ -30,10 +29,8 @@ async function verificarSesionActiva(req, res, next) { // Si el usuario está presente, se continua if (!existe) { - console.log("Usuario no autorizado"); return res.status(401).json({ code: 401, msg: "Usuario no autorizado" }); } - console.log("Usuario autorizado"); next() }