estela 0.1.31 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -494,4 +494,230 @@ function entry(over = {}) {
494
494
  db.close();
495
495
  }
496
496
  });
497
+ /* ── Las facturas emitidas se pueden volver a ver ──────────────────────── */
498
+ (0, node_test_1.test)("listInvoices devuelve lo emitido, de lo más nuevo a lo más viejo", () => {
499
+ // Reportado usándolo: al cortar y facturar, el proyecto desaparecía de la
500
+ // pestaña Informes —que solo lista lo PENDIENTE— y no había ningún sitio
501
+ // donde volver a ver el informe. La factura estaba guardada y era invisible.
502
+ const db = (0, schema_js_1.openDatabase)(tempDb());
503
+ try {
504
+ store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
505
+ store.upsertProject(db, {
506
+ id: "web", clientId: "acme", name: "Web de ACME", billable: true,
507
+ roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client", repoPaths: [],
508
+ });
509
+ for (const [num, corte] of [["INF-2026-001", "2026-08-31"], ["INF-2026-002", "2026-09-30"]]) {
510
+ db.prepare(`
511
+ INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at,
512
+ period_start, currency, subtotal_minor, total_minor, total_seconds,
513
+ ai_micro_usd, lines_json)
514
+ VALUES (?, ?, 'acme', 'web', ?, ?, '2026-07-01T00:00:00.000Z', 'EUR',
515
+ 170237, 170237, 471600, 0, '[]')
516
+ `).run(`inv_${num}`, num, `${corte}T12:00:00.000Z`, `${corte}T23:59:59.000Z`);
517
+ }
518
+ const facturas = store.listInvoices(db);
519
+ strict_1.default.equal(facturas.length, 2);
520
+ strict_1.default.equal(facturas[0].number, "INF-2026-002", "la más reciente primero");
521
+ strict_1.default.equal(facturas[0].projectName, "Web de ACME", "con el nombre, no solo el id");
522
+ strict_1.default.equal(facturas[0].clientName, "ACME");
523
+ strict_1.default.equal(facturas[0].totalSeconds, 471600);
524
+ strict_1.default.equal(facturas[0].totalMinor, 170237);
525
+ strict_1.default.equal(facturas[0].currency, "EUR");
526
+ }
527
+ finally {
528
+ db.close();
529
+ }
530
+ });
531
+ (0, node_test_1.test)("listInvoices puede filtrar por proyecto", () => {
532
+ const db = (0, schema_js_1.openDatabase)(tempDb());
533
+ try {
534
+ store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
535
+ for (const p of ["web", "api"]) {
536
+ store.upsertProject(db, {
537
+ id: p, clientId: "acme", name: p.toUpperCase(), billable: true,
538
+ roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client", repoPaths: [],
539
+ });
540
+ db.prepare(`
541
+ INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at,
542
+ period_start, currency, subtotal_minor, total_minor, total_seconds,
543
+ ai_micro_usd, lines_json)
544
+ VALUES (?, ?, 'acme', ?, '2026-09-30T12:00:00.000Z', '2026-09-30T23:59:59.000Z',
545
+ '2026-07-01T00:00:00.000Z', 'EUR', 100, 100, 3600, 0, '[]')
546
+ `).run(`inv_${p}`, `INF-${p}`, p);
547
+ }
548
+ strict_1.default.equal(store.listInvoices(db, "web").length, 1);
549
+ strict_1.default.equal(store.listInvoices(db, "web")[0].projectId, "web");
550
+ strict_1.default.equal(store.listInvoices(db).length, 2);
551
+ }
552
+ finally {
553
+ db.close();
554
+ }
555
+ });
556
+ (0, node_test_1.test)("sin facturas emitidas devuelve una lista vacía, no explota", () => {
557
+ const db = (0, schema_js_1.openDatabase)(tempDb());
558
+ try {
559
+ strict_1.default.deepEqual(store.listInvoices(db), []);
560
+ }
561
+ finally {
562
+ db.close();
563
+ }
564
+ });
565
+ (0, node_test_1.test)("getInvoice reconstruye la factura entera para poder reimprimirla", () => {
566
+ // El tipo Invoice congela importes y reparto de IA al emitir, con este
567
+ // motivo escrito: "un documento que cambia solo no es un documento".
568
+ // Faltaba poder leerlo de vuelta.
569
+ const db = (0, schema_js_1.openDatabase)(tempDb());
570
+ try {
571
+ store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
572
+ store.upsertProject(db, {
573
+ id: "web", clientId: "acme", name: "Web", billable: true, repoPaths: [],
574
+ roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client",
575
+ });
576
+ db.prepare(`
577
+ INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at,
578
+ period_start, currency, subtotal_minor, total_minor, total_seconds,
579
+ ai_micro_usd, usd_fx_rate, ai_amort_minor, ai_amort_cur, notes, lines_json)
580
+ VALUES ('inv_1', 'INF-2026-001', 'acme', 'web', '2026-09-23T12:00:00.000Z',
581
+ '2026-09-23T23:59:59.000Z', '2026-07-29T03:21:05.036Z', 'EUR',
582
+ 170237, 170237, 471600, 4200000, 0.92, 1500, 'EUR', 'agosto',
583
+ '[{"description":"Desarrollo","seconds":471600,"amount":{"amount":170237,"currency":"EUR"}}]')
584
+ `).run();
585
+ const f = store.getInvoice(db, "INF-2026-001");
586
+ strict_1.default.ok(f, "la factura tiene que aparecer por su número");
587
+ strict_1.default.equal(f.number, "INF-2026-001");
588
+ strict_1.default.equal(f.total.amount, 170237);
589
+ strict_1.default.equal(f.total.currency, "EUR");
590
+ strict_1.default.equal(f.totalSeconds, 471600);
591
+ strict_1.default.equal(f.lines.length, 1, "las líneas congeladas, no recalculadas");
592
+ strict_1.default.equal(f.lines[0].description, "Desarrollo");
593
+ strict_1.default.equal(f.aiCost.microUsd, 4200000);
594
+ strict_1.default.equal(f.usdFxRate, 0.92);
595
+ strict_1.default.equal(f.aiAmortized?.amount, 1500, "el reparto de IA, tal y como se congeló");
596
+ strict_1.default.equal(f.notes, "agosto");
597
+ strict_1.default.ok(f.cutoffAt instanceof Date, "las fechas vuelven como Date, no como texto");
598
+ }
599
+ finally {
600
+ db.close();
601
+ }
602
+ });
603
+ (0, node_test_1.test)("getInvoice con un número que no existe devuelve null", () => {
604
+ const db = (0, schema_js_1.openDatabase)(tempDb());
605
+ try {
606
+ strict_1.default.equal(store.getInvoice(db, "INF-2099-999"), null);
607
+ }
608
+ finally {
609
+ db.close();
610
+ }
611
+ });
612
+ /* ── Un ajuste a mano sobrevive al reimport ────────────────────────────── */
613
+ function entradaDeAgente(dbPath, seconds) {
614
+ const db = (0, schema_js_1.openDatabase)(dbPath);
615
+ try {
616
+ store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
617
+ store.upsertProject(db, {
618
+ id: "web", clientId: "acme", name: "Web", billable: true, repoPaths: [],
619
+ roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client",
620
+ });
621
+ return store.saveTimeEntry(db, {
622
+ id: "te_fija", projectId: "web",
623
+ startedAt: new Date("2026-09-23T09:00:00.000Z"),
624
+ endedAt: new Date("2026-09-23T10:00:00.000Z"),
625
+ seconds, description: "feat: cartera de servicios", billable: true,
626
+ invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: seconds,
627
+ commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
628
+ });
629
+ }
630
+ finally {
631
+ db.close();
632
+ }
633
+ }
634
+ (0, node_test_1.test)("un ajuste a mano no se pierde al reimportar", () => {
635
+ // Reportado con datos reales: se editaba un bloque a 5h 50m, el auto-import
636
+ // corría a los cinco minutos y volvía a dejarlo en lo que midió el agente.
637
+ const path = tempDb();
638
+ entradaDeAgente(path, 9504); // 2h 38m medidas
639
+ const db = (0, schema_js_1.openDatabase)(path);
640
+ try {
641
+ store.adjustEntrySeconds(db, "te_fija", 21000, "Reunión con el cliente e investigación");
642
+ // El reimport vuelve a traer lo que mide el agente, como siempre.
643
+ store.saveTimeEntry(db, {
644
+ id: "te_fija", projectId: "web",
645
+ startedAt: new Date("2026-09-23T09:00:00.000Z"),
646
+ endedAt: new Date("2026-09-23T10:00:00.000Z"),
647
+ seconds: 9504, description: "feat: cartera de servicios", billable: true,
648
+ invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: 9504,
649
+ commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
650
+ });
651
+ const r = db.prepare("SELECT seconds, measured_seconds, adjust_reason FROM time_entries WHERE id = 'te_fija'")
652
+ .get();
653
+ strict_1.default.equal(r.seconds, 21000, "lo ajustado manda: es lo que se factura");
654
+ strict_1.default.equal(r.measured_seconds, 9504, "y lo medido se guarda, para poder enseñar la diferencia");
655
+ strict_1.default.match(r.adjust_reason, /Reunión con el cliente/);
656
+ }
657
+ finally {
658
+ db.close();
659
+ }
660
+ });
661
+ (0, node_test_1.test)("sin ajuste, el reimport sigue mandando", () => {
662
+ const path = tempDb();
663
+ entradaDeAgente(path, 3600);
664
+ const db = (0, schema_js_1.openDatabase)(path);
665
+ try {
666
+ store.saveTimeEntry(db, {
667
+ id: "te_fija", projectId: "web",
668
+ startedAt: new Date("2026-09-23T09:00:00.000Z"),
669
+ endedAt: new Date("2026-09-23T10:00:00.000Z"),
670
+ seconds: 7200, description: "feat: cartera de servicios", billable: true,
671
+ invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: 7200,
672
+ commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
673
+ });
674
+ const r = db.prepare("SELECT seconds FROM time_entries WHERE id = 'te_fija'").get();
675
+ strict_1.default.equal(r.seconds, 7200, "corregir la medición es justo para lo que sirve reimportar");
676
+ }
677
+ finally {
678
+ db.close();
679
+ }
680
+ });
681
+ (0, node_test_1.test)("un ajuste exige un motivo", () => {
682
+ const path = tempDb();
683
+ entradaDeAgente(path, 3600);
684
+ const db = (0, schema_js_1.openDatabase)(path);
685
+ try {
686
+ // Cambiar horas que alguien paga sin decir por qué es lo contrario de lo
687
+ // que promete el producto.
688
+ strict_1.default.throws(() => store.adjustEntrySeconds(db, "te_fija", 7200, ""));
689
+ strict_1.default.throws(() => store.adjustEntrySeconds(db, "te_fija", 7200, " "));
690
+ const r = db.prepare("SELECT seconds FROM time_entries WHERE id = 'te_fija'").get();
691
+ strict_1.default.equal(r.seconds, 3600, "y no se guarda nada a medias");
692
+ }
693
+ finally {
694
+ db.close();
695
+ }
696
+ });
697
+ (0, node_test_1.test)("reimportar no toca una imputación ya facturada", () => {
698
+ // La fila detrás de una factura emitida es historia. Pisarla deja el panel
699
+ // diciendo una cosa y el PDF entregado otra.
700
+ const path = tempDb();
701
+ entradaDeAgente(path, 9504);
702
+ const db = (0, schema_js_1.openDatabase)(path);
703
+ try {
704
+ db.prepare("INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at, period_start, currency, subtotal_minor, total_minor, total_seconds, ai_micro_usd, lines_json) VALUES ('inv_1','INF-1','acme','web','2026-09-24T04:01:39.000Z','2026-09-23T23:59:59.000Z','2026-07-01T00:00:00.000Z','EUR',0,0,9504,0,'[]')").run();
705
+ db.prepare("UPDATE time_entries SET invoice_id = 'inv_1' WHERE id = 'te_fija'").run();
706
+ store.saveTimeEntry(db, {
707
+ id: "te_fija", projectId: "web",
708
+ startedAt: new Date("2026-09-23T09:00:00.000Z"),
709
+ endedAt: new Date("2026-09-23T10:00:00.000Z"),
710
+ seconds: 123, description: "otra cosa", billable: true,
711
+ invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: 123,
712
+ commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
713
+ });
714
+ const r = db.prepare("SELECT seconds, description FROM time_entries WHERE id = 'te_fija'")
715
+ .get();
716
+ strict_1.default.equal(r.seconds, 9504, "lo facturado no se recalcula");
717
+ strict_1.default.equal(r.description, "feat: cartera de servicios");
718
+ }
719
+ finally {
720
+ db.close();
721
+ }
722
+ });
497
723
  //# sourceMappingURL=schema.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/db/schema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/db/schema.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAwC;AACxC,6CAA2C;AAC3C,qCAAsC;AACtC,qCAAiC;AACjC,yCAAiC;AACjC,yCAAiC;AAIjC,2CAA2C;AAC3C,kDAAoC;AAEpC,SAAS,MAAM;IACb,OAAO,IAAA,gBAAI,EAAC,IAAA,qBAAW,EAAC,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,EAAgB;IACjC,OAAQ,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAA0B,CAAC,OAAO,CAAC;AACjG,CAAC;AAED,yEAAyE;AACzE,SAAS,qBAAqB;IAC5B,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QAAC,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,EAAmC;IACtD,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;QACtB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC;QAC9D,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ;KAC7E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,KAAK,CAAC,OAA2B,EAAE;IAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnD,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;QACrE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QACtE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;QACpD,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,0EAA0E;AAE1E,IAAA,gBAAI,EAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,6EAA6E;IAC7E,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IAEtB,uDAAuD;IACvD,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,CAAC;IACnC,GAAG,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;GAqBR,CAAC,CAAC;IACH,GAAG,CAAC,KAAK,EAAE,CAAC;IAEZ,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAI,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAyB;aACxF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,gBAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACpE,gBAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAEhE,gBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,EACjD,wGAAwG,CAAC,CAAC;QAE5G,yEAAyE;QACzE,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC;aACrE,GAAG,EAA6B,CAAC;QACpC,gBAAM,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAChD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACxD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,sCAAsC,CAAC,CAAC;QAEhF,sDAAsD;QACtD,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,gBAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,2DAA2D,EAAE,GAAG,EAAE;IACrE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3B,gBAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAY,EAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAE1E,IAAA,gBAAI,EAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,EAAE,GAAG,sBAAsB,CAAC;QAClC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI;gBAChD,WAAW,EAAE,wBAAwB,EAAE,CAAC;YACnD,EAAE;SACH,CAAC,CAAC;QAEH,iDAAiD;QACjD,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;YAC9E,EAAE;SACH,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC;aAC9D,GAAG,CAAC,EAAE,CAA4B,CAAC;QACtC,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;QAC1F,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;QACzE,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,oDAAoD,EAAE,GAAG,EAAE;IAC9D,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,sBAAsB,CAAC;QAElC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5F,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE/F,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC;aAC9D,GAAG,CAAC,EAAE,CAA4B,CAAC;QACtC,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC/D,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,oDAAoD,EAAE,GAAG,EAAE;IAC9D,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;QAEtE,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvC,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACzC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,8DAA8D,EAAE,GAAG,EAAE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,uDAAuD;IACvD,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,sBAAsB,CAAC;QAElC,iEAAiE;QACjE,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,GAAG,KAAK,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;SACtE,CAAC,CAAC;QAEH,4CAA4C;QAC5C,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,GAAG,KAAK,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE;SACxF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;QACtE,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QAC5D,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACzF,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,uDAAuD,EAAE,GAAG,EAAE;IACjE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,sBAAsB,CAAC;QAClC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;SAC9F,CAAC,CAAC;QACH,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,GAAG,KAAK,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;SACtE,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;QACtE,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3C,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAE1E,IAAA,gBAAI,EAAC,6DAA6D,EAAE,GAAG,EAAE;IACvE,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,sBAAsB,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,iBAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACzF,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/D,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAEhF,mEAAmE;QACnE,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,EACxD,2CAA2C,CAAC,CAAC;QAE/C,0BAA0B;QAC1B,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,EACxD,kCAAkC,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,8DAA8D,EAAE,GAAG,EAAE;IACxE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChF,0EAA0E;QAC1E,yDAAyD;QACzD,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/C,EAAE,EAAE,WAAW;SAChB,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACrC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EACvD,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACtF,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE5D,mDAAmD;QACnD,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QAC3C,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;QACrE,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,mDAAmD,CAAC,CAAC;IACxF,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,8DAA8D,EAAE,GAAG,EAAE;IACxE,0EAA0E;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,0DAA0D;IAC1D,EAAE;IACF,6EAA6E;IAC7E,yEAAyE;IACzE,uBAAuB;IACvB,MAAM,KAAK,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IAEvC,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,OAAO,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,CAAC,EAAgB,EAAE,EAAE,CAC/B,EAAE,CAAC,OAAO,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,GAAG,EAAyB;iBACpE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3D,gBAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,wEAAwE;QACxE,MAAM,WAAW,GAAI,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAChD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,gBAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAI,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAC9C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,gBAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,gEAAgE;IAChE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,gBAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAClC,oFAAoF,CACrF,CAAC,GAAG,EAAE,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,2EAA2E;AAE3E,IAAA,gBAAI,EAAC,wEAAwE,EAAE,GAAG,EAAE;IAClF,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,+CAA+C;IAC/C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IAEtB,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,CAAC;IACnC,GAAG,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BR,CAAC,CAAC;IACH,GAAG,CAAC,KAAK,EAAE,CAAC;IAEZ,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAI,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAyB;aACpF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,gBAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAE1E,gBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAErD,wEAAwE;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC;QACzC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,kDAAkD,CAAC,CAAC;QACvF,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9D,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAC/F,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,uEAAuE,EAAE,GAAG,EAAE;IACjF,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9D,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,0BAA0B,EACzF,sDAAsD,CAAC,CAAC;IAC5D,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,qEAAqE,EAAE,GAAG,EAAE;IAC/E,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAExD,2EAA2E;QAC3E,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9D,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAC/F,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAE9D,gBAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAClF,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC3F,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACtF,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,2EAA2E;AAE3E,IAAA,gBAAI,EAAC,sEAAsE,EAAE,GAAG,EAAE;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,gBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,EACjD,6CAA6C,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,2EAA2E;AAE3E,IAAA,gBAAI,EAAC,qEAAqE,EAAE,GAAG,EAAE;IAC/E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACrF,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;IAEb,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAI,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAAyB;aACnF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,gBAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACxE,gBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAErD,0EAA0E;QAC1E,wDAAwD;QACxD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE5D,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvD,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,SAAS,EACxD,mFAAmF,CAAC,CAAC;IACzF,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,4EAA4E,EAAE,GAAG,EAAE;IACtF,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QAClG,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAE9E,IAAA,gBAAI,EAAC,kEAAkE,EAAE,GAAG,EAAE;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,MAAM,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI;YAChE,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;SAC5E,CAAC,CAAC;QAEH,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAU,EAAE,CAAC;YACrG,EAAE,CAAC,OAAO,CAAC;;;;;;OAMV,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,gBAAgB,EAAE,GAAG,KAAK,gBAAgB,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAExC,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC;QAC7E,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,aAAa,EAAE,8BAA8B,CAAC,CAAC;QACtF,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9C,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChD,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9C,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,MAAM,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;gBACtB,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI;gBAC9D,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;aAC5E,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,CAAC;;;;;;OAMV,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjE,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,4DAA4D,EAAE,GAAG,EAAE;IACtE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,MAAM,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,kEAAkE,EAAE,GAAG,EAAE;IAC5E,uEAAuE;IACvE,qEAAqE;IACrE,kCAAkC;IAClC,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,MAAM,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACvE,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ;SAC7D,CAAC,CAAC;QACH,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQV,CAAC,CAAC,GAAG,EAAE,CAAC;QAET,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAE/C,gBAAM,CAAC,EAAE,CAAC,CAAC,EAAE,6CAA6C,CAAC,CAAC;QAC5D,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACxC,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvC,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtC,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,wCAAwC,CAAC,CAAC;QAC3E,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACrD,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,CAAC,CAAC;QACtF,gBAAM,CAAC,KAAK,CAAC,CAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjC,gBAAM,CAAC,EAAE,CAAC,CAAE,CAAC,QAAQ,YAAY,IAAI,EAAE,6CAA6C,CAAC,CAAC;IACxF,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;IAChE,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,MAAM,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAE9E,SAAS,eAAe,CAAC,MAAc,EAAE,OAAe;IACtD,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACvE,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ;SAC7D,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YAC7B,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK;YAC/B,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC/C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC7C,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI;YAClE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO;YAC/D,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;SACnF,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC;AAED,IAAA,gBAAI,EAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB;IAE9C,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,wCAAwC,CAAC,CAAC;QAEzF,kEAAkE;QAClE,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK;YAC/B,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC/C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI;YACxE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI;YAC5D,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;SACnF,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,wFAAwF,CAAC;aAC3G,GAAG,EAAwF,CAAC;QAE/F,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,yCAAyC,CAAC,CAAC;QAC1E,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,yDAAyD,CAAC,CAAC;QAClG,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,aAAc,EAAE,wBAAwB,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,wCAAwC,EAAE,GAAG,EAAE;IAClD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK;YAC/B,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC/C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI;YACxE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI;YAC5D,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;SACnF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,EAAyB,CAAC;QAC3G,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;IAC9F,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,2BAA2B,EAAE,GAAG,EAAE;IACrC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,yEAAyE;QACzE,2BAA2B;QAC3B,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,EAAyB,CAAC;QAC3G,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAChE,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,gDAAgD,EAAE,GAAG,EAAE;IAC1D,2EAA2E;IAC3E,6CAA6C;IAC7C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,EAAE,CAAC,OAAO,CAAC,2TAA2T,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9U,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,EAAE,CAAC;QAEtF,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE;YACtB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK;YAC/B,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC/C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC7C,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI;YACtD,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG;YAC3D,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;SACnF,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC;aACvF,GAAG,EAA8C,CAAC;QACrD,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAC9D,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;IAC5D,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,CAAC"}
@@ -99,6 +99,23 @@ export declare function logScan(db: DatabaseSync, source: string, report: ParseR
99
99
  * tests no dependan del reloj: publicar y escribir en el mismo milisegundo hace
100
100
  * que la comparación de desfase falle por empate.
101
101
  */
102
+ export declare class AdjustError extends Error {
103
+ }
104
+ /**
105
+ * Ajusta a mano los segundos de una imputación, con su motivo.
106
+ *
107
+ * El motivo es obligatorio y no es burocracia: un bloque puede haber costado
108
+ * 58 minutos de commits y cinco horas de verdad, porque hubo que investigar o
109
+ * reunirse con el cliente. Sin esa frase, el ajuste es un número cambiado a
110
+ * mano en algo que alguien paga, que es justo lo que este producto promete no
111
+ * hacer.
112
+ *
113
+ * Lo medido se conserva en `measured_seconds` para poder enseñar las dos
114
+ * cifras. Corregir no es falsear, pero solo si se ve lo que se corrigió.
115
+ */
116
+ export declare function adjustEntrySeconds(db: DatabaseSync, id: string, seconds: number, reason: string, at?: Date): void;
117
+ /** Quita el ajuste y devuelve el bloque a lo que mide el agente. */
118
+ export declare function clearEntryAdjustment(db: DatabaseSync, id: string, at?: Date): void;
102
119
  export declare function saveTimeEntry(db: DatabaseSync, entry: Omit<TimeEntry, "id"> & {
103
120
  id?: string;
104
121
  }, at?: Date): string;
@@ -132,6 +149,39 @@ export declare function entrySecondsByDay(db: DatabaseSync, projectId: string):
132
149
  export declare function listEntriesBetween(db: DatabaseSync, from: string, to: string): TimeEntry[];
133
150
  /** Guarda la factura y marca sus imputaciones. Todo o nada. */
134
151
  export declare function saveInvoice(db: DatabaseSync, invoice: Invoice, entryIds: readonly string[]): void;
152
+ export interface IssuedInvoice {
153
+ readonly id: string;
154
+ readonly number: string;
155
+ readonly projectId: string;
156
+ readonly projectName: string;
157
+ readonly clientName: string;
158
+ readonly issuedAt: string;
159
+ readonly cutoffAt: string;
160
+ readonly periodStart: string;
161
+ readonly currency: string;
162
+ readonly totalMinor: number;
163
+ readonly totalSeconds: number;
164
+ readonly aiMicroUsd: number;
165
+ }
166
+ /**
167
+ * Las facturas ya emitidas.
168
+ *
169
+ * Existe porque faltaba: el panel listaba solo lo PENDIENTE de facturar, así
170
+ * que al cortar y facturar el proyecto desaparecía de la pantalla y no había
171
+ * dónde volver a mirar. La factura estaba guardada —con sus líneas congeladas
172
+ * en `lines_json`— y era invisible, que para un número que alguien paga es lo
173
+ * peor de los dos mundos: ni se ve ni se puede rehacer.
174
+ */
175
+ export declare function listInvoices(db: DatabaseSync, projectId?: string): IssuedInvoice[];
176
+ /**
177
+ * Una factura emitida, entera y tal y como se emitió.
178
+ *
179
+ * Todo sale de la fila guardada, nada se recalcula: el propio tipo `Invoice`
180
+ * congela importes y reparto de IA al emitir, y su comentario lo explica —"un
181
+ * documento que cambia solo no es un documento"—. Reimprimir en diciembre un
182
+ * informe de agosto tiene que dar el mismo papel que dio en agosto.
183
+ */
184
+ export declare function getInvoice(db: DatabaseSync, number: string): Invoice | null;
135
185
  export declare function nextInvoiceNumber(db: DatabaseSync, prefix: string): string;
136
186
  export declare function readInvoiceLines(json: string): InvoiceLine[];
137
187
  export declare function upsertSubscription(db: DatabaseSync, sub: Subscription): void;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EACV,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EACjF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAC7F,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAWnE;AAKD,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAI,CAexF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG1F;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAYtE;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAarE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAgBvE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAE,IAAiB,GAAG,IAAI,CAGtF;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,EAAE,CAGxD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,EAAE,CAGtD;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAW1E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAG/E;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAC7D,IAAI,CAiBN;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAItF;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAC1E,EAAE,GAAE,IAAiB,GACpB,IAAI,CAQN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,WAAW,EAAE,CAoBhE;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAarE;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,EAAE,CAG9D;AAMD,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CA2B/E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CA8BtF;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAWnF;AAMD;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAE,IAAiB,GACnF,IAAI,CAqBN;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAE,IAAiB,GAAG,IAAI,CAY9F;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9C,EAAE,GAAE,IAAiB,GACpB,MAAM,CAuDR;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAK/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAKrC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GACzC,SAAS,EAAE,CAKb;AAsBD,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAyBjG;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAwBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CA+B3E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM1E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAE5D;AAMD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAU5E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,YAAY,EAAE,CAWlE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ3F;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,EAAE,CAY5E;AAMD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAYrE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAU7E;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAExD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAWtF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAQxE;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,WAAW,EAAE,CAGhE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,GAAE,IAAiB,GAC7E,IAAI,CAGN;AAED,oGAAoG;AACpG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GACjD,aAAa,EAAE,CAKjB;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAoBhG;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,WAAW,EAAE,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,EAAE,CAMrE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAMzD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAClC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAC/D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAYnD;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAUxF;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,GACnF,IAAI,CAON"}
package/dist/db/store.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdjustError = void 0;
3
4
  exports.upsertClient = upsertClient;
4
5
  exports.upsertProject = upsertProject;
5
6
  exports.addProjectRepo = addProjectRepo;
@@ -22,12 +23,16 @@ exports.allProjectRepoPaths = allProjectRepoPaths;
22
23
  exports.saveTurns = saveTurns;
23
24
  exports.saveCommits = saveCommits;
24
25
  exports.logScan = logScan;
26
+ exports.adjustEntrySeconds = adjustEntrySeconds;
27
+ exports.clearEntryAdjustment = clearEntryAdjustment;
25
28
  exports.saveTimeEntry = saveTimeEntry;
26
29
  exports.getTimeEntries = getTimeEntries;
27
30
  exports.sumEntrySeconds = sumEntrySeconds;
28
31
  exports.entrySecondsByDay = entrySecondsByDay;
29
32
  exports.listEntriesBetween = listEntriesBetween;
30
33
  exports.saveInvoice = saveInvoice;
34
+ exports.listInvoices = listInvoices;
35
+ exports.getInvoice = getInvoice;
31
36
  exports.nextInvoiceNumber = nextInvoiceNumber;
32
37
  exports.readInvoiceLines = readInvoiceLines;
33
38
  exports.upsertSubscription = upsertSubscription;
@@ -374,6 +379,58 @@ function logScan(db, source, report) {
374
379
  * tests no dependan del reloj: publicar y escribir en el mismo milisegundo hace
375
380
  * que la comparación de desfase falle por empate.
376
381
  */
382
+ class AdjustError extends Error {
383
+ }
384
+ exports.AdjustError = AdjustError;
385
+ /**
386
+ * Ajusta a mano los segundos de una imputación, con su motivo.
387
+ *
388
+ * El motivo es obligatorio y no es burocracia: un bloque puede haber costado
389
+ * 58 minutos de commits y cinco horas de verdad, porque hubo que investigar o
390
+ * reunirse con el cliente. Sin esa frase, el ajuste es un número cambiado a
391
+ * mano en algo que alguien paga, que es justo lo que este producto promete no
392
+ * hacer.
393
+ *
394
+ * Lo medido se conserva en `measured_seconds` para poder enseñar las dos
395
+ * cifras. Corregir no es falsear, pero solo si se ve lo que se corrigió.
396
+ */
397
+ function adjustEntrySeconds(db, id, seconds, reason, at = new Date()) {
398
+ const motivo = reason.trim();
399
+ if (!motivo)
400
+ throw new AdjustError("Un ajuste de horas necesita un motivo.");
401
+ if (!Number.isFinite(seconds) || seconds < 0) {
402
+ throw new AdjustError("Los segundos ajustados no pueden ser negativos.");
403
+ }
404
+ const row = db.prepare("SELECT seconds, measured_seconds, invoice_id FROM time_entries WHERE id = ?")
405
+ .get(id);
406
+ if (!row)
407
+ throw new AdjustError(`No existe la imputación ${id}`);
408
+ if (row.invoice_id)
409
+ throw new AdjustError("Esta imputación ya está facturada y no se puede ajustar.");
410
+ // La primera vez, lo que había era lo medido. Después ya está guardado y no
411
+ // se pisa: si no, un segundo ajuste convertiría el primero en "lo medido".
412
+ const medido = row.measured_seconds ?? row.seconds;
413
+ db.prepare(`
414
+ UPDATE time_entries
415
+ SET seconds = ?, measured_seconds = ?, adjust_reason = ?, adjusted_at = ?, updated_at = ?
416
+ WHERE id = ?
417
+ `).run(Math.round(seconds), medido, motivo, iso(at), iso(at), id);
418
+ }
419
+ /** Quita el ajuste y devuelve el bloque a lo que mide el agente. */
420
+ function clearEntryAdjustment(db, id, at = new Date()) {
421
+ const row = db.prepare("SELECT measured_seconds, invoice_id FROM time_entries WHERE id = ?")
422
+ .get(id);
423
+ if (!row)
424
+ throw new AdjustError(`No existe la imputación ${id}`);
425
+ if (row.invoice_id)
426
+ throw new AdjustError("Esta imputación ya está facturada y no se puede ajustar.");
427
+ db.prepare(`
428
+ UPDATE time_entries
429
+ SET seconds = COALESCE(measured_seconds, seconds),
430
+ adjust_reason = NULL, adjusted_at = NULL, updated_at = ?
431
+ WHERE id = ?
432
+ `).run(iso(at), id);
433
+ }
377
434
  function saveTimeEntry(db, entry, at = new Date()) {
378
435
  const id = entry.id ?? `te_${(0, node_crypto_1.randomUUID)()}`;
379
436
  db.prepare(`
@@ -385,7 +442,15 @@ function saveTimeEntry(db, entry, at = new Date()) {
385
442
  ON CONFLICT(id) DO UPDATE SET
386
443
  started_at = excluded.started_at, local_date = excluded.local_date,
387
444
  ended_at = excluded.ended_at,
388
- seconds = excluded.seconds, description = excluded.description,
445
+ -- Un ajuste a mano manda sobre la medición. Antes se pisaba, así que
446
+ -- editar los minutos duraba hasta el siguiente import — cinco minutos
447
+ -- con el panel abierto.
448
+ seconds = CASE WHEN time_entries.adjust_reason IS NULL
449
+ THEN excluded.seconds ELSE time_entries.seconds END,
450
+ -- Pero lo medido se refresca igual: es la referencia contra la que se
451
+ -- enseña el ajuste, y tiene que seguir siendo verdad.
452
+ measured_seconds = excluded.seconds,
453
+ description = excluded.description,
389
454
  billable = excluded.billable, ai_micro_usd = excluded.ai_micro_usd,
390
455
  -- Los commits también se rehacen. Sin esto, un bloque creado cuando
391
456
  -- todavía no se capturaban los commits del proyecto se quedaba sin
@@ -408,7 +473,12 @@ function saveTimeEntry(db, entry, at = new Date()) {
408
473
  THEN excluded.updated_at ELSE time_entries.updated_at END
409
474
  -- Reimportar rehace lo deducido de los agentes. Lo escrito a mano es tuyo:
410
475
  -- un import no puede borrarte una reunión de dos horas que apuntaste ayer.
476
+ --
477
+ -- Y lo ya facturado es historia. Sin esta condición, un reimport
478
+ -- recalculaba filas que respaldan una factura emitida y dejaba el panel
479
+ -- diciendo una cosa y el PDF del cliente otra.
411
480
  WHERE time_entries.source IN ('agent', 'commit')
481
+ AND time_entries.invoice_id IS NULL
412
482
  `).run(id, entry.projectId, iso(entry.startedAt), (0, shared_1.localDate)(entry.startedAt), iso(entry.endedAt), entry.seconds, entry.description, entry.billable ? 1 : 0, entry.invoiceId, entry.aiCost.microUsd, entry.agentSeconds, entry.commitHashes.join(","), entry.agents.join(","), entry.source, entry.kind, entry.branch, iso(at));
413
483
  return id;
414
484
  }
@@ -492,6 +562,79 @@ function saveInvoice(db, invoice, entryIds) {
492
562
  throw error;
493
563
  }
494
564
  }
565
+ /**
566
+ * Las facturas ya emitidas.
567
+ *
568
+ * Existe porque faltaba: el panel listaba solo lo PENDIENTE de facturar, así
569
+ * que al cortar y facturar el proyecto desaparecía de la pantalla y no había
570
+ * dónde volver a mirar. La factura estaba guardada —con sus líneas congeladas
571
+ * en `lines_json`— y era invisible, que para un número que alguien paga es lo
572
+ * peor de los dos mundos: ni se ve ni se puede rehacer.
573
+ */
574
+ function listInvoices(db, projectId) {
575
+ return db.prepare(`
576
+ SELECT i.id, i.number, i.project_id, i.issued_at, i.cutoff_at, i.period_start,
577
+ i.currency, i.total_minor, i.total_seconds, i.ai_micro_usd,
578
+ p.name AS project_name, c.name AS client_name
579
+ FROM invoices i
580
+ LEFT JOIN projects p ON p.id = i.project_id
581
+ LEFT JOIN clients c ON c.id = i.client_id
582
+ ${projectId ? "WHERE i.project_id = ?" : ""}
583
+ ORDER BY i.issued_at DESC, i.number DESC
584
+ `).all(...(projectId ? [projectId] : [])).map((r) => ({
585
+ id: r["id"],
586
+ number: r["number"],
587
+ projectId: r["project_id"],
588
+ projectName: r["project_name"] ?? r["project_id"],
589
+ clientName: r["client_name"] ?? "—",
590
+ issuedAt: r["issued_at"],
591
+ cutoffAt: r["cutoff_at"],
592
+ periodStart: r["period_start"],
593
+ currency: r["currency"],
594
+ totalMinor: r["total_minor"],
595
+ totalSeconds: r["total_seconds"],
596
+ aiMicroUsd: r["ai_micro_usd"] ?? 0,
597
+ }));
598
+ }
599
+ /**
600
+ * Una factura emitida, entera y tal y como se emitió.
601
+ *
602
+ * Todo sale de la fila guardada, nada se recalcula: el propio tipo `Invoice`
603
+ * congela importes y reparto de IA al emitir, y su comentario lo explica —"un
604
+ * documento que cambia solo no es un documento"—. Reimprimir en diciembre un
605
+ * informe de agosto tiene que dar el mismo papel que dio en agosto.
606
+ */
607
+ function getInvoice(db, number) {
608
+ const r = db.prepare("SELECT * FROM invoices WHERE number = ?")
609
+ .get(number);
610
+ if (!r)
611
+ return null;
612
+ const currency = r["currency"];
613
+ const amortMinor = r["ai_amort_minor"];
614
+ const billedMinor = r["ai_billed_minor"];
615
+ const notes = r["notes"];
616
+ return {
617
+ id: r["id"],
618
+ number: r["number"],
619
+ clientId: r["client_id"],
620
+ projectId: r["project_id"],
621
+ issuedAt: new Date(r["issued_at"]),
622
+ cutoffAt: new Date(r["cutoff_at"]),
623
+ periodStart: new Date(r["period_start"]),
624
+ currency,
625
+ lines: JSON.parse(r["lines_json"]),
626
+ subtotal: { amount: r["subtotal_minor"], currency },
627
+ total: { amount: r["total_minor"], currency },
628
+ totalSeconds: r["total_seconds"],
629
+ aiCost: { microUsd: r["ai_micro_usd"] ?? 0 },
630
+ usdFxRate: r["usd_fx_rate"] ?? null,
631
+ aiCostBilled: billedMinor === null ? null : { amount: billedMinor, currency },
632
+ aiAmortized: amortMinor === null
633
+ ? null
634
+ : { amount: amortMinor, currency: r["ai_amort_cur"] ?? currency },
635
+ ...(notes ? { notes } : {}),
636
+ };
637
+ }
495
638
  function nextInvoiceNumber(db, prefix) {
496
639
  const year = new Date().getFullYear();
497
640
  const row = db.prepare("SELECT COUNT(*) AS n FROM invoices WHERE number LIKE ?").get(`${prefix}-${year}-%`);