@ramiidv/arca-padron 0.3.0 → 0.5.0
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.
- package/CHANGELOG.md +117 -0
- package/README.md +146 -99
- package/dist/arca-padron.d.ts +107 -0
- package/dist/arca-padron.d.ts.map +1 -0
- package/dist/arca-padron.js +178 -0
- package/dist/arca-padron.js.map +1 -0
- package/dist/base-client.d.ts +45 -0
- package/dist/base-client.d.ts.map +1 -0
- package/dist/base-client.js +54 -0
- package/dist/base-client.js.map +1 -0
- package/dist/{esm/condicion-iva.d.ts → condicion-iva.d.ts} +9 -5
- package/dist/condicion-iva.d.ts.map +1 -0
- package/dist/condicion-iva.js +170 -0
- package/dist/condicion-iva.js.map +1 -0
- package/dist/{esm/constants.d.ts → constants.d.ts} +57 -12
- package/dist/constants.d.ts.map +1 -0
- package/dist/{esm/constants.js → constants.js} +53 -11
- package/dist/constants.js.map +1 -0
- package/dist/errors.d.ts +50 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +58 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/mapping.d.ts +22 -0
- package/dist/mapping.d.ts.map +1 -0
- package/dist/mapping.js +52 -0
- package/dist/mapping.js.map +1 -0
- package/dist/padron-a10.d.ts +24 -0
- package/dist/padron-a10.d.ts.map +1 -0
- package/dist/padron-a10.js +41 -0
- package/dist/padron-a10.js.map +1 -0
- package/dist/padron-a100.d.ts +26 -0
- package/dist/padron-a100.d.ts.map +1 -0
- package/dist/padron-a100.js +46 -0
- package/dist/padron-a100.js.map +1 -0
- package/dist/padron-a13.d.ts +36 -0
- package/dist/padron-a13.d.ts.map +1 -0
- package/dist/padron-a13.js +95 -0
- package/dist/padron-a13.js.map +1 -0
- package/dist/padron-a4.d.ts +21 -0
- package/dist/padron-a4.d.ts.map +1 -0
- package/dist/padron-a4.js +128 -0
- package/dist/padron-a4.js.map +1 -0
- package/dist/padron-a5.d.ts +39 -0
- package/dist/padron-a5.d.ts.map +1 -0
- package/dist/padron-a5.js +214 -0
- package/dist/padron-a5.js.map +1 -0
- package/dist/{cjs/types.d.ts → types.d.ts} +36 -53
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js.map +1 -0
- package/llms.txt +46 -27
- package/package.json +21 -32
- package/dist/cjs/arca-padron.d.ts +0 -98
- package/dist/cjs/arca-padron.d.ts.map +0 -1
- package/dist/cjs/arca-padron.js +0 -177
- package/dist/cjs/arca-padron.js.map +0 -1
- package/dist/cjs/base-client.d.ts +0 -36
- package/dist/cjs/base-client.d.ts.map +0 -1
- package/dist/cjs/base-client.js +0 -52
- package/dist/cjs/base-client.js.map +0 -1
- package/dist/cjs/condicion-iva.d.ts +0 -24
- package/dist/cjs/condicion-iva.d.ts.map +0 -1
- package/dist/cjs/condicion-iva.js +0 -119
- package/dist/cjs/condicion-iva.js.map +0 -1
- package/dist/cjs/constants.d.ts +0 -97
- package/dist/cjs/constants.d.ts.map +0 -1
- package/dist/cjs/constants.js +0 -113
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/errors.d.ts +0 -22
- package/dist/cjs/errors.d.ts.map +0 -1
- package/dist/cjs/errors.js +0 -36
- package/dist/cjs/errors.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -16
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -56
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/mapping.d.ts +0 -9
- package/dist/cjs/mapping.d.ts.map +0 -1
- package/dist/cjs/mapping.js +0 -14
- package/dist/cjs/mapping.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/padron-a10.d.ts +0 -18
- package/dist/cjs/padron-a10.d.ts.map +0 -1
- package/dist/cjs/padron-a10.js +0 -73
- package/dist/cjs/padron-a10.js.map +0 -1
- package/dist/cjs/padron-a100.d.ts +0 -16
- package/dist/cjs/padron-a100.d.ts.map +0 -1
- package/dist/cjs/padron-a100.js +0 -38
- package/dist/cjs/padron-a100.js.map +0 -1
- package/dist/cjs/padron-a13.d.ts +0 -24
- package/dist/cjs/padron-a13.d.ts.map +0 -1
- package/dist/cjs/padron-a13.js +0 -80
- package/dist/cjs/padron-a13.js.map +0 -1
- package/dist/cjs/padron-a4.d.ts +0 -18
- package/dist/cjs/padron-a4.d.ts.map +0 -1
- package/dist/cjs/padron-a4.js +0 -173
- package/dist/cjs/padron-a4.js.map +0 -1
- package/dist/cjs/padron-a5.d.ts +0 -24
- package/dist/cjs/padron-a5.d.ts.map +0 -1
- package/dist/cjs/padron-a5.js +0 -156
- package/dist/cjs/padron-a5.js.map +0 -1
- package/dist/cjs/soap-client.d.ts +0 -2
- package/dist/cjs/soap-client.d.ts.map +0 -1
- package/dist/cjs/soap-client.js +0 -13
- package/dist/cjs/soap-client.js.map +0 -1
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -3
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/wsaa.d.ts +0 -3
- package/dist/cjs/wsaa.d.ts.map +0 -1
- package/dist/cjs/wsaa.js +0 -6
- package/dist/cjs/wsaa.js.map +0 -1
- package/dist/esm/arca-padron.d.ts +0 -98
- package/dist/esm/arca-padron.d.ts.map +0 -1
- package/dist/esm/arca-padron.js +0 -173
- package/dist/esm/arca-padron.js.map +0 -1
- package/dist/esm/base-client.d.ts +0 -36
- package/dist/esm/base-client.d.ts.map +0 -1
- package/dist/esm/base-client.js +0 -48
- package/dist/esm/base-client.js.map +0 -1
- package/dist/esm/condicion-iva.d.ts.map +0 -1
- package/dist/esm/condicion-iva.js +0 -116
- package/dist/esm/condicion-iva.js.map +0 -1
- package/dist/esm/constants.d.ts.map +0 -1
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/errors.d.ts +0 -22
- package/dist/esm/errors.d.ts.map +0 -1
- package/dist/esm/errors.js +0 -26
- package/dist/esm/errors.js.map +0 -1
- package/dist/esm/index.d.ts +0 -16
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -22
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/mapping.d.ts +0 -9
- package/dist/esm/mapping.d.ts.map +0 -1
- package/dist/esm/mapping.js +0 -8
- package/dist/esm/mapping.js.map +0 -1
- package/dist/esm/padron-a10.d.ts +0 -18
- package/dist/esm/padron-a10.d.ts.map +0 -1
- package/dist/esm/padron-a10.js +0 -69
- package/dist/esm/padron-a10.js.map +0 -1
- package/dist/esm/padron-a100.d.ts +0 -16
- package/dist/esm/padron-a100.d.ts.map +0 -1
- package/dist/esm/padron-a100.js +0 -34
- package/dist/esm/padron-a100.js.map +0 -1
- package/dist/esm/padron-a13.d.ts +0 -24
- package/dist/esm/padron-a13.d.ts.map +0 -1
- package/dist/esm/padron-a13.js +0 -75
- package/dist/esm/padron-a13.js.map +0 -1
- package/dist/esm/padron-a4.d.ts +0 -18
- package/dist/esm/padron-a4.d.ts.map +0 -1
- package/dist/esm/padron-a4.js +0 -169
- package/dist/esm/padron-a4.js.map +0 -1
- package/dist/esm/padron-a5.d.ts +0 -24
- package/dist/esm/padron-a5.d.ts.map +0 -1
- package/dist/esm/padron-a5.js +0 -151
- package/dist/esm/padron-a5.js.map +0 -1
- package/dist/esm/soap-client.d.ts +0 -2
- package/dist/esm/soap-client.d.ts.map +0 -1
- package/dist/esm/soap-client.js +0 -3
- package/dist/esm/soap-client.js.map +0 -1
- package/dist/esm/types.d.ts +0 -346
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/wsaa.d.ts +0 -3
- package/dist/esm/wsaa.d.ts.map +0 -1
- package/dist/esm/wsaa.js +0 -2
- package/dist/esm/wsaa.js.map +0 -1
- /package/dist/{esm/types.js → types.js} +0 -0
|
@@ -1,68 +1,41 @@
|
|
|
1
1
|
export type { AccessTicket, ArcaEvent, ServerStatus, SoapCallOptions, TicketStorage, CallOptions, } from '@ramiidv/arca-common';
|
|
2
|
-
import type { ArcaEvent,
|
|
2
|
+
import type { ArcaEvent, ArcaSdkConfig, CondicionIva, ServerStatus } from '@ramiidv/arca-common';
|
|
3
3
|
/** @deprecated Use ArcaEvent from @ramiidv/arca-common instead. */
|
|
4
4
|
export type ArcaPadronEvent = ArcaEvent;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/** Request timeout in ms (default: 30000) */
|
|
15
|
-
timeout?: number;
|
|
16
|
-
/** Number of retries on 5xx / network errors (default: 1) */
|
|
17
|
-
retries?: number;
|
|
18
|
-
/** Base delay in ms for exponential backoff (default: 1000) */
|
|
19
|
-
retryDelayMs?: number;
|
|
20
|
-
/** Optional event callback */
|
|
21
|
-
onEvent?: (event: ArcaEvent) => void;
|
|
22
|
-
/**
|
|
23
|
-
* Persistencia de Tickets de Acceso entre reinicios. Sin storage, al
|
|
24
|
-
* reiniciar el proceso WSAA rechaza el login hasta que venza el ticket
|
|
25
|
-
* anterior (`ArcaTicketVigenteError`).
|
|
26
|
-
*/
|
|
27
|
-
ticketStorage?: TicketStorage;
|
|
28
|
-
/** Diferencia `relojARCA - relojLocal` en ms (default: 0). */
|
|
29
|
-
clockOffsetMs?: number;
|
|
30
|
-
/** Ajustar el desfase de reloj si WSAA rechaza el login (default: true). */
|
|
31
|
-
autoClockSkew?: boolean;
|
|
32
|
-
/** Signal global: cancela todas las llamadas de esta instancia. */
|
|
33
|
-
signal?: AbortSignal;
|
|
5
|
+
/** Servicios de Padrón con endpoint propio. */
|
|
6
|
+
export type PadronServicio = 'a5' | 'a4' | 'a10' | 'a13' | 'a100';
|
|
7
|
+
/**
|
|
8
|
+
* Configuración de `ArcaPadron`. Extiende la configuración común de los SDKs
|
|
9
|
+
* de ARCA (`ArcaSdkConfig`: cert, key, cuit, production, timeout, retries,
|
|
10
|
+
* ticketStorage, clockOffsetMs, autoClockSkew, loginErrorCooldownMs, fetch,
|
|
11
|
+
* legacyTls, `wsaa` compartido, `signal` global, etc.).
|
|
12
|
+
*/
|
|
13
|
+
export interface ArcaPadronConfig extends ArcaSdkConfig {
|
|
34
14
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* `clockOffsetMs` y `autoClockSkew`.
|
|
15
|
+
* Endpoints propios (proxy, mock, etc.). Los que no se indiquen usan los
|
|
16
|
+
* oficiales según `production` (ver `ENDPOINTS`).
|
|
38
17
|
*/
|
|
39
|
-
|
|
18
|
+
endpoints?: Partial<Record<PadronServicio | 'wsaa', string>>;
|
|
40
19
|
}
|
|
20
|
+
/** Resultado de `status()`: el de cada servicio por separado (uno caído no oculta a los demás). */
|
|
21
|
+
export type PadronStatus = Record<PadronServicio, PromiseSettledResult<ServerStatus>>;
|
|
41
22
|
export interface WsAuth {
|
|
42
23
|
Token: string;
|
|
43
24
|
Sign: string;
|
|
44
25
|
CuitRepresentada: string;
|
|
45
26
|
}
|
|
46
27
|
export interface DependenciaA4 {
|
|
47
|
-
idDependencia
|
|
48
|
-
descripcionDependencia
|
|
28
|
+
idDependencia?: number;
|
|
29
|
+
descripcionDependencia?: string;
|
|
49
30
|
}
|
|
50
|
-
export interface DomicilioA4 {
|
|
51
|
-
direccion: string;
|
|
52
|
-
localidad?: string;
|
|
53
|
-
codPostal?: string;
|
|
54
|
-
idProvincia?: number;
|
|
55
|
-
descripcionProvincia?: string;
|
|
56
|
-
tipoDomicilio: string;
|
|
57
|
-
estadoDomicilio?: string;
|
|
58
|
-
datoAdicional?: string;
|
|
59
|
-
tipoDatoAdicional?: string;
|
|
31
|
+
export interface DomicilioA4 extends DomicilioA10 {
|
|
60
32
|
orden?: number;
|
|
61
33
|
}
|
|
62
34
|
export interface ImpuestoA4 {
|
|
63
35
|
idImpuesto: number;
|
|
64
36
|
descripcionImpuesto?: string;
|
|
65
|
-
|
|
37
|
+
/** Estado (manual A4 §5.3): ACTIVO, ACTIVO EN TRAMITE, BAJA PROVISORIA, BAJA DEFINITIVA, EXENTO, EXENTO EN TRAMITE, NO APORTANTE. */
|
|
38
|
+
estado?: string;
|
|
66
39
|
periodo?: number;
|
|
67
40
|
diaPeriodo?: number;
|
|
68
41
|
ffInscripcion?: string;
|
|
@@ -148,10 +121,7 @@ export interface PersonaA4 {
|
|
|
148
121
|
email?: EmailA4[];
|
|
149
122
|
telefono?: TelefonoA4[];
|
|
150
123
|
}
|
|
151
|
-
export
|
|
152
|
-
idDependencia: number;
|
|
153
|
-
descripcionDependencia: string;
|
|
154
|
-
}
|
|
124
|
+
export type DependenciaA10 = DependenciaA4;
|
|
155
125
|
export interface DomicilioA10 {
|
|
156
126
|
direccion?: string;
|
|
157
127
|
localidad?: string;
|
|
@@ -180,7 +150,8 @@ export interface PersonaA10 {
|
|
|
180
150
|
}
|
|
181
151
|
export interface ParameterAttribute {
|
|
182
152
|
name: string;
|
|
183
|
-
|
|
153
|
+
/** Valor tal cual lo envía ARCA (`xs:string`: "10.50" no se convierte a número). */
|
|
154
|
+
value?: string;
|
|
184
155
|
}
|
|
185
156
|
export interface ParameterRecord {
|
|
186
157
|
id: string;
|
|
@@ -255,7 +226,7 @@ export interface CaracterizacionA5 {
|
|
|
255
226
|
export interface ImpuestoA5 {
|
|
256
227
|
idImpuesto: number;
|
|
257
228
|
descripcionImpuesto?: string;
|
|
258
|
-
/**
|
|
229
|
+
/** Id del estado en SUPA (`tipo_estado_impuesto`, ej: "AC" = activo) */
|
|
259
230
|
estadoImpuesto?: string;
|
|
260
231
|
motivo?: string;
|
|
261
232
|
periodo?: number;
|
|
@@ -286,11 +257,23 @@ export interface RegimenGeneralA5 {
|
|
|
286
257
|
regimenes: RegimenA5[];
|
|
287
258
|
categoriaAutonomo?: CategoriaA5;
|
|
288
259
|
}
|
|
260
|
+
/** `componenteDeSociedad` (tipo `relacion` del WSDL): integrante de una sociedad monotributista. */
|
|
261
|
+
export interface ComponenteSociedadA5 {
|
|
262
|
+
idPersonaAsociada?: string;
|
|
263
|
+
apellidoPersonaAsociada?: string;
|
|
264
|
+
nombrePersonaAsociada?: string;
|
|
265
|
+
razonSocialPersonaAsociada?: string;
|
|
266
|
+
tipoComponente?: string;
|
|
267
|
+
ffRelacion?: string;
|
|
268
|
+
ffVencimiento?: string;
|
|
269
|
+
}
|
|
289
270
|
export interface MonotributoA5 {
|
|
290
271
|
impuestos: ImpuestoA5[];
|
|
291
272
|
actividades: ActividadA5[];
|
|
292
273
|
actividadMonotributista?: ActividadA5;
|
|
293
274
|
categoria?: CategoriaA5;
|
|
275
|
+
/** Componentes de la sociedad monotributista (presente en el WSDL; el manual v3.5 lo da por no vigente). */
|
|
276
|
+
componenteDeSociedad?: ComponenteSociedadA5[];
|
|
294
277
|
}
|
|
295
278
|
export interface ErrorConstanciaA5 {
|
|
296
279
|
/** Mensajes de error (ej: "La CUIT no está activa", constancia bloqueada, etc.) */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/llms.txt
CHANGED
|
@@ -15,50 +15,65 @@ Requisitos: Node.js >= 18 (fetch nativo). Dual ESM + CommonJS.
|
|
|
15
15
|
```typescript
|
|
16
16
|
import { ArcaPadron } from '@ramiidv/arca-padron';
|
|
17
17
|
|
|
18
|
+
// ArcaPadronConfig extends ArcaBaseConfig (@ramiidv/arca-common)
|
|
18
19
|
const padron = new ArcaPadron({
|
|
19
20
|
cert: string, // PEM X.509 certificate
|
|
20
|
-
key: string, // PEM
|
|
21
|
-
cuit: string,
|
|
21
|
+
key: string, // PEM private key
|
|
22
|
+
cuit: string | number, // CUIT representada (validated: check digit). Ej: "20123456786"
|
|
22
23
|
production?: boolean, // default: false (homologacion)
|
|
23
|
-
|
|
24
|
+
timeout?: number, // ms, default 30000
|
|
25
|
+
retries?: number, // default: 1 (transient errors only; SOAP Faults are never retried)
|
|
24
26
|
retryDelayMs?: number, // default: 1000
|
|
27
|
+
tokenTTLMinutes?: number,
|
|
25
28
|
onEvent?: (event: ArcaEvent) => void,
|
|
26
29
|
ticketStorage?: TicketStorage, // persist WSAA tickets across restarts (recommended)
|
|
27
30
|
clockOffsetMs?: number, // ARCA clock - local clock, ms. Default: 0
|
|
28
31
|
autoClockSkew?: boolean, // default: true
|
|
32
|
+
loginErrorCooldownMs?: number,
|
|
33
|
+
fetch?: typeof fetch, // custom fetch (proxy, tests)
|
|
34
|
+
legacyTls?: 'auto' | 'never' | 'always',
|
|
29
35
|
signal?: AbortSignal, // global cancellation
|
|
30
36
|
wsaa?: WsaaClient, // shared WSAA client (e.g. arca.wsaa from arca-facturacion)
|
|
37
|
+
endpoints?: { wsaa?, a5?, a4?, a10?, a13?, a100? }, // override URLs
|
|
31
38
|
});
|
|
32
39
|
```
|
|
33
40
|
|
|
34
41
|
Every method accepts an optional last argument `{ signal?: AbortSignal }`.
|
|
42
|
+
CUITs are accepted with or without dashes ('20-11111111-2', '20111111112', 20111111112), validated locally (check digit; ArcaValidationError without calling ARCA) and sent normalized.
|
|
43
|
+
All Padron operations are read-only queries.
|
|
35
44
|
Without `ticketStorage`, a restart loses the access ticket and WSAA rejects new logins until it expires (`ArcaTicketVigenteError`).
|
|
36
45
|
|
|
37
46
|
## Metodos principales
|
|
38
47
|
|
|
39
|
-
### getConstanciaInscripcion(cuit
|
|
40
|
-
Constancia de inscripcion via ws_sr_constancia_inscripcion (getPersona_v2; replaces ws_sr_padron_a5, deprecated by ARCA). PersonaA5: idPersona, tipoPersona, nombre/apellido/razonSocial, estadoClave, domicilioFiscal, dependencia, caracterizacion[], regimenGeneral { impuestos, actividades, regimenes, categoriaAutonomo }, monotributo { impuestos, actividades, actividadMonotributista, categoria }, impuestos (both regimes), errorConstancia { error[] }, errorRegimenGeneral, errorMonotributo.
|
|
48
|
+
### getConstanciaInscripcion(cuit): Promise<PersonaA5>
|
|
49
|
+
Constancia de inscripcion via ws_sr_constancia_inscripcion (getPersona_v2; replaces ws_sr_padron_a5, deprecated by ARCA). PersonaA5: idPersona, tipoPersona, nombre/apellido/razonSocial, estadoClave, domicilioFiscal, dependencia, caracterizacion[], regimenGeneral { impuestos, actividades, regimenes, categoriaAutonomo }, monotributo { impuestos, actividades, actividadMonotributista, categoria, componenteDeSociedad[] }, impuestos (both regimes), errorConstancia { error[] }, errorRegimenGeneral { error[], mensaje }, errorMonotributo { error[], mensaje }. Constancia-level problems are returned in those error fields, not thrown.
|
|
50
|
+
|
|
51
|
+
### getConstanciasInscripcion(cuits[]): Promise<PersonaA5[]>
|
|
52
|
+
getPersonaList_v2: 1 to 250 CUITs per call. Non-existent CUITs come back as a PersonaA5 with errorConstancia.error = ['No existe persona con ese Id'].
|
|
41
53
|
|
|
42
54
|
### condicionIvaDesdePadron(persona: PersonaA5 | PersonaA4): { condicionIva: CondicionIva | null; motivo: string }
|
|
43
|
-
Pure helper. Monotributo active
|
|
55
|
+
Pure helper. Tax states: words from A4 manual TipoEstado (ACTIVO, ACTIVO EN TRAMITE, BAJA PROVISORIA, BAJA DEFINITIVA, EXENTO, EXENTO EN TRAMITE, NO APORTANTE) or SUPA ids (AC, EX, BP, BD, NA). Active = ACTIVO / ACTIVO EN TRAMITE. Monotributo (impuesto 20 active; category only if impuesto 20 is absent; impuesto 20 in BAJA never counts) → MONOTRIBUTISTA (6); categories 61/99/100/101-104 → MONOTRIBUTO_SOCIAL (13); category description "PROMOVID" → MONOTRIBUTO_INDEPENDIENTE_PROMOVIDO (16); category 98 (asociado cooperativa) → MONOTRIBUTISTA. IVA 30 active → RESPONSABLE_INSCRIPTO (1); IVA 30 EXENTO/EXENTO EN TRAMITE or impuesto 32 → EXENTO (4); impuesto 34 → IVA_NO_ALCANZADO (15). NO APORTANTE is NOT "no alcanzado". Otherwise null with motivo (never assumes consumidor final); errorRegimenGeneral/errorMonotributo are included in motivo. Use the result as `condicionIva` in @ramiidv/arca-facturacion.
|
|
56
|
+
|
|
57
|
+
### getPersonaA13(cuit): Promise<PersonaA13>
|
|
58
|
+
Datos basicos via ws_sr_padron_a13 getPersona (domicilio[] with calle, numero, codigoPostal, estadoDomicilio...). Throws ArcaPadronServiceError reason 'inactiva' for inactive keys.
|
|
44
59
|
|
|
45
|
-
###
|
|
46
|
-
|
|
60
|
+
### getPersonaA13V2(cuit): Promise<PersonaA13>
|
|
61
|
+
A13 getPersonaV2 (manual v1.4): also returns data for INACTIVE keys.
|
|
47
62
|
|
|
48
|
-
### getIdPersonaListByDocumento(documento
|
|
49
|
-
CUIT/CUIL list for a
|
|
63
|
+
### getIdPersonaListByDocumento(documento): Promise<string[]>
|
|
64
|
+
CUIT/CUIL list for a document number via ws_sr_padron_a13. Accepts dots/spaces ('11.709.676'). Returns [] when ARCA reports none.
|
|
50
65
|
|
|
51
|
-
### getPersona(cuit
|
|
66
|
+
### getPersona(cuit): Promise<PersonaA4>
|
|
52
67
|
Datos completos del contribuyente via ws_sr_padron_a4. Incluye: domicilios, impuestos, actividades, regimenes, relaciones, categorias, emails, telefonos.
|
|
53
68
|
|
|
54
|
-
### getPersonaBasic(cuit
|
|
55
|
-
Datos basicos del contribuyente via ws_sr_padron_a10. Incluye: datos generales y domicilios.
|
|
69
|
+
### getPersonaBasic(cuit): Promise<PersonaA10>
|
|
70
|
+
Datos basicos del contribuyente via ws_sr_padron_a10. Incluye: datos generales, dependencia y domicilios.
|
|
56
71
|
|
|
57
72
|
### getParametros(collection: string): Promise<ParameterRecord[]>
|
|
58
|
-
Tablas de parametros via ws_sr_padron_a100.
|
|
73
|
+
Tablas de parametros via ws_sr_padron_a100 (getParameterCollectionByName). id, descripcion and attribute values are returned exactly as sent by ARCA (xs:string: "10.50" stays "10.50"). Throws ArcaPadronError if parameterCollection is missing; an empty collection returns []. CollectionName enum (manual A100 v2.1): PROVINCIA (SUPA.E_PROVINCIA), TIPO_DOCUMENTO (SUPA.TIPO_DOCUMENTO), TIPO_DOMICILIO (SUPA.TIPO_DOMICILIO), TIPO_CLAVE (SUPA.TIPO_CLAVE_IDENTIFICACION), TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO (E_SEXO), CALLE (PUC_PARAM.T_CALLE), LOCALIDAD (PUC_PARAM.T_LOCALIDAD), AUTONOMO_MONOTRIBUTO (SUPA.E_AUTONOMO_MONOTRIBUTO), REGIMEN (SUPA.E_REGIMEN), TIPO_REGIMEN (SUPA.TIPO_REGIMEN), CARACTERIZACION (SUPA.E_CARACTERIZACION), TIPO_ARCHIVO (SUPA.TIPO_ARCHIVO), ACTIVIDAD_RUBRO (SUPA.A_ACTIVIDAD_RUBRO), RUBRO_ACTIVIDAD (SUPA.E_RUBRO_ACTIVIDAD), ACTIVIDAD_OCUPACIONAL (SUPA.E_ACTIVIDAD_OCUPACIONAL).
|
|
59
74
|
|
|
60
|
-
### status(): Promise<
|
|
61
|
-
Health check
|
|
75
|
+
### status(): Promise<PadronStatus>
|
|
76
|
+
Health check (dummy) of a5, a4, a10, a13, a100 in parallel with Promise.allSettled. Each value is PromiseSettledResult<ServerStatus>: `if (s.a4.status === 'fulfilled') s.a4.value.appserver`. No authentication.
|
|
62
77
|
|
|
63
78
|
## Tipos principales
|
|
64
79
|
|
|
@@ -129,7 +144,7 @@ interface ParameterRecord {
|
|
|
129
144
|
|
|
130
145
|
interface ParameterAttribute {
|
|
131
146
|
name: string;
|
|
132
|
-
value
|
|
147
|
+
value?: string; // exactly as sent by ARCA
|
|
133
148
|
}
|
|
134
149
|
|
|
135
150
|
interface ServerStatus {
|
|
@@ -142,21 +157,23 @@ interface ServerStatus {
|
|
|
142
157
|
## Errores
|
|
143
158
|
|
|
144
159
|
All extend ArcaError (from @ramiidv/arca-common), have a stable `code`, and instanceof works across duplicated package copies:
|
|
145
|
-
-
|
|
160
|
+
- ArcaValidationError: invalid CUIT/document (no request sent)
|
|
146
161
|
- ArcaAuthError: WSAA authentication failures
|
|
147
162
|
- ArcaTicketVigenteError (extends ArcaAuthError): WSAA already issued a valid TA not available in memory/storage
|
|
148
|
-
- ArcaPadronServiceError: business errors
|
|
149
|
-
-
|
|
163
|
+
- ArcaPadronServiceError (extends ArcaServiceError): business errors. ARCA reports them as SOAP Faults; known texts are converted with a typed `reason`: 'inexistente' ("La Clave (CUIT/CUIL) consultada es inexistente", "No existe persona con ese Id"), 'inactiva' ("... se encuentra INACTIVA"), 'id_invalido' ("El Id de la persona no es valido"), 'no_autorizado' (token/sign/cuitRepresentada errors), 'otro'. `errors[0].msg` has ARCA's text, `cause` is the original ArcaSoapError. Never retried.
|
|
164
|
+
- ArcaPadronError: ARCA response missing a mandatory element (e.g. personaReturn without persona).
|
|
165
|
+
- ArcaSoapError: HTTP/transport errors, timeouts, aborts and unrecognized SOAP Faults (statusCode?, faultCode?, faultString?, uncertain, aborted).
|
|
150
166
|
|
|
151
167
|
```typescript
|
|
152
|
-
import {
|
|
168
|
+
import { ArcaPadronServiceError, ArcaSoapError, ArcaValidationError } from '@ramiidv/arca-padron';
|
|
153
169
|
|
|
154
170
|
try {
|
|
155
171
|
await padron.getPersona(cuit);
|
|
156
172
|
} catch (error) {
|
|
157
|
-
if (error instanceof
|
|
158
|
-
if (error instanceof ArcaPadronServiceError) { /*
|
|
159
|
-
if (error instanceof
|
|
173
|
+
if (error instanceof ArcaValidationError) { /* bad CUIT */ }
|
|
174
|
+
else if (error instanceof ArcaPadronServiceError && error.reason === 'inexistente') { /* CUIT does not exist */ }
|
|
175
|
+
else if (error instanceof ArcaPadronServiceError) { /* other business error: error.reason, error.errors */ }
|
|
176
|
+
else if (error instanceof ArcaSoapError) { /* HTTP/network error, error.statusCode */ }
|
|
160
177
|
}
|
|
161
178
|
```
|
|
162
179
|
|
|
@@ -169,16 +186,18 @@ Discriminated union types: auth:login, auth:cache-hit (source: memory|storage),
|
|
|
169
186
|
- Provincia (0-24, Argentine provinces)
|
|
170
187
|
- TipoDomicilio (FISCAL, LEGAL, REAL)
|
|
171
188
|
- TipoPersona (FISICA, JURIDICA)
|
|
172
|
-
- ImpuestoId (
|
|
189
|
+
- ImpuestoId (GANANCIAS_PH=11, MONOTRIBUTO=20, MONOTRIBUTO_AUTONOMO=21, IVA_RESPONSABLE_INSCRIPTO=30, BIENES_PERSONALES=180, EMPLEADOR=301, AUTONOMOS=308 — from ARCA manuals; GANANCIAS_PJ=10, IVA_EXENTO=32, IVA_NO_ALCANZADO=34 are not in the padron manuals; IVA_NO_INSCRIPTO=33 deprecated). Social monotributo is identified by category, not by tax id.
|
|
190
|
+
- DocTipo (numeric WSFEv1 document codes, from common). TipoDocumento is a deprecated alias of DocTipo: it is NOT the padron `tipoDocumento` string ("DNI", "LC"...).
|
|
173
191
|
- CondicionIva (re-exported from @ramiidv/arca-common)
|
|
174
|
-
- CollectionName (
|
|
192
|
+
- CollectionName (see getParametros)
|
|
175
193
|
|
|
176
194
|
## Clientes de bajo nivel
|
|
177
195
|
|
|
178
|
-
Accesibles como propiedades publicas: padron.wsaa, padron.a5 (constancia), padron.a4, padron.a10, padron.a13, padron.a100.
|
|
196
|
+
Accesibles como propiedades publicas: padron.wsaa, padron.a5 (constancia: getPersona, getPersonaList), padron.a4, padron.a10, padron.a13 (getPersona, getPersonaV2, getIdPersonaListByDocumento), padron.a100. They take `auth: { Token, Sign, CuitRepresentada }` as first argument.
|
|
179
197
|
|
|
180
198
|
## Utilidades exportadas
|
|
181
199
|
|
|
182
200
|
- ensureArray<T>(value): T[] - normaliza single/array SOAP responses
|
|
183
201
|
- parseXml(xml): Record<string, unknown> - parse XML with CUIT-safe options
|
|
184
202
|
- buildXml(obj): string - build XML from object
|
|
203
|
+
- checkServiceErrors: deprecated (Padron reports business errors as SOAP Faults)
|
package/package.json
CHANGED
|
@@ -1,38 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ramiidv/arca-padron",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "TypeScript SDK para los web services de Padrón de ARCA (ex AFIP) - Constancia de Inscripción, A4, A10, A13 y A100",
|
|
5
|
+
"author": "ramiidv",
|
|
6
|
+
"license": "MIT",
|
|
5
7
|
"type": "module",
|
|
6
|
-
"main": "./dist/
|
|
7
|
-
"types": "./dist/
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
8
10
|
"exports": {
|
|
9
11
|
".": {
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
"default": "./dist/esm/index.js"
|
|
13
|
-
},
|
|
14
|
-
"require": {
|
|
15
|
-
"types": "./dist/cjs/index.d.ts",
|
|
16
|
-
"default": "./dist/cjs/index.js"
|
|
17
|
-
}
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
18
14
|
},
|
|
19
15
|
"./package.json": "./package.json"
|
|
20
16
|
},
|
|
17
|
+
"sideEffects": false,
|
|
21
18
|
"files": [
|
|
22
19
|
"dist",
|
|
23
|
-
"llms.txt",
|
|
24
|
-
"LICENSE",
|
|
25
20
|
"README.md",
|
|
26
|
-
"
|
|
21
|
+
"LICENSE",
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"llms.txt"
|
|
27
24
|
],
|
|
28
25
|
"scripts": {
|
|
29
|
-
"build": "tsc -p tsconfig.
|
|
26
|
+
"build": "tsc -p tsconfig.build.json",
|
|
30
27
|
"clean": "rm -rf dist",
|
|
31
28
|
"typecheck": "tsc --noEmit",
|
|
32
29
|
"test": "vitest run",
|
|
33
30
|
"test:watch": "vitest",
|
|
34
|
-
"
|
|
35
|
-
"test:smoke": "node scripts/smoke.mjs ArcaPadron condicionIvaDesdePadron ArcaPadronServiceError ImpuestoId FileTicketStorage"
|
|
31
|
+
"lint:pkg": "publint --strict && attw --pack . --profile esm-only"
|
|
36
32
|
},
|
|
37
33
|
"keywords": [
|
|
38
34
|
"arca",
|
|
@@ -43,30 +39,23 @@
|
|
|
43
39
|
"typescript",
|
|
44
40
|
"contribuyentes"
|
|
45
41
|
],
|
|
46
|
-
"author": "ramiidv",
|
|
47
|
-
"license": "MIT",
|
|
48
42
|
"repository": {
|
|
49
43
|
"type": "git",
|
|
50
|
-
"url": "git+https://github.com/ramiidv/arca-
|
|
44
|
+
"url": "git+https://github.com/ramiidv/arca-sdks.git",
|
|
45
|
+
"directory": "packages/padron"
|
|
51
46
|
},
|
|
52
47
|
"homepage": "https://arca-sdk.dev/padron",
|
|
53
48
|
"bugs": {
|
|
54
|
-
"url": "https://github.com/ramiidv/arca-
|
|
49
|
+
"url": "https://github.com/ramiidv/arca-sdks/issues"
|
|
55
50
|
},
|
|
56
51
|
"publishConfig": {
|
|
57
|
-
"access": "public"
|
|
52
|
+
"access": "public",
|
|
53
|
+
"provenance": true
|
|
58
54
|
},
|
|
59
55
|
"engines": {
|
|
60
|
-
"node": ">=
|
|
56
|
+
"node": ">=20.19.0"
|
|
61
57
|
},
|
|
62
58
|
"dependencies": {
|
|
63
|
-
"@ramiidv/arca-common": "^0.
|
|
64
|
-
}
|
|
65
|
-
"devDependencies": {
|
|
66
|
-
"@types/node": "^22.0.0",
|
|
67
|
-
"typescript": "^5.7.0",
|
|
68
|
-
"vitest": "^3.1.0"
|
|
69
|
-
},
|
|
70
|
-
"module": "./dist/esm/index.js",
|
|
71
|
-
"sideEffects": false
|
|
59
|
+
"@ramiidv/arca-common": "^0.5.0"
|
|
60
|
+
}
|
|
72
61
|
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { WsaaClient } from '@ramiidv/arca-common';
|
|
2
|
-
import type { CallOptions } from '@ramiidv/arca-common';
|
|
3
|
-
import { PadronA4Client } from './padron-a4.js';
|
|
4
|
-
import { PadronA5Client } from './padron-a5.js';
|
|
5
|
-
import { PadronA10Client } from './padron-a10.js';
|
|
6
|
-
import { PadronA13Client } from './padron-a13.js';
|
|
7
|
-
import { PadronA100Client } from './padron-a100.js';
|
|
8
|
-
import type { ArcaPadronConfig, ParameterRecord, PersonaA4, PersonaA5, PersonaA10, PersonaA13, ServerStatus } from './types.js';
|
|
9
|
-
/**
|
|
10
|
-
* Main orchestrator class for ARCA Padrón web services.
|
|
11
|
-
*
|
|
12
|
-
* Provides high-level methods that handle WSAA authentication automatically
|
|
13
|
-
* and expose results from the Constancia de Inscripción (ex A5), A4 (full),
|
|
14
|
-
* A10 (basic), A13 (basic) and A100 (parameters) web services.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```ts
|
|
18
|
-
* import { ArcaPadron, condicionIvaDesdePadron, FileTicketStorage } from '@ramiidv/arca-padron';
|
|
19
|
-
* import { readFileSync } from 'fs';
|
|
20
|
-
*
|
|
21
|
-
* const client = new ArcaPadron({
|
|
22
|
-
* cert: readFileSync('cert.pem', 'utf-8'),
|
|
23
|
-
* key: readFileSync('key.pem', 'utf-8'),
|
|
24
|
-
* cuit: '20123456789',
|
|
25
|
-
* production: false,
|
|
26
|
-
* ticketStorage: new FileTicketStorage('./.arca-tickets'),
|
|
27
|
-
* });
|
|
28
|
-
*
|
|
29
|
-
* const persona = await client.getConstanciaInscripcion('30712345674');
|
|
30
|
-
* const { condicionIva, motivo } = condicionIvaDesdePadron(persona);
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export declare class ArcaPadron {
|
|
34
|
-
/** Low-level WSAA client for direct access (se puede compartir con arca-facturacion) */
|
|
35
|
-
readonly wsaa: WsaaClient;
|
|
36
|
-
/** Low-level Constancia de Inscripción (ex Padrón A5) client */
|
|
37
|
-
readonly a5: PadronA5Client;
|
|
38
|
-
/** Low-level Padrón A4 client for direct access */
|
|
39
|
-
readonly a4: PadronA4Client;
|
|
40
|
-
/** Low-level Padrón A10 client for direct access */
|
|
41
|
-
readonly a10: PadronA10Client;
|
|
42
|
-
/** Low-level Padrón A13 client for direct access */
|
|
43
|
-
readonly a13: PadronA13Client;
|
|
44
|
-
/** Low-level Padrón A100 client for direct access */
|
|
45
|
-
readonly a100: PadronA100Client;
|
|
46
|
-
private readonly cuit;
|
|
47
|
-
private readonly signal?;
|
|
48
|
-
constructor(config: ArcaPadronConfig);
|
|
49
|
-
/**
|
|
50
|
-
* Constancia de inscripción (ws_sr_constancia_inscripcion, ex Padrón A5):
|
|
51
|
-
* datos generales, domicilio fiscal, impuestos del régimen general y
|
|
52
|
-
* monotributo. Combinar con `condicionIvaDesdePadron` para facturar.
|
|
53
|
-
* @param cuit - CUIT of the taxpayer to query
|
|
54
|
-
*/
|
|
55
|
-
getConstanciaInscripcion(cuit: string, call?: CallOptions): Promise<PersonaA5>;
|
|
56
|
-
/**
|
|
57
|
-
* Get full taxpayer data (Padrón A4) for a given CUIT.
|
|
58
|
-
* Authenticates automatically via WSAA.
|
|
59
|
-
* @param cuit - CUIT of the taxpayer to query
|
|
60
|
-
*/
|
|
61
|
-
getPersona(cuit: string, call?: CallOptions): Promise<PersonaA4>;
|
|
62
|
-
/**
|
|
63
|
-
* Get basic taxpayer data (Padrón A10) for a given CUIT.
|
|
64
|
-
* Authenticates automatically via WSAA.
|
|
65
|
-
* @param cuit - CUIT of the taxpayer to query
|
|
66
|
-
*/
|
|
67
|
-
getPersonaBasic(cuit: string, call?: CallOptions): Promise<PersonaA10>;
|
|
68
|
-
/**
|
|
69
|
-
* Get basic taxpayer data (Padrón A13) for a given CUIT.
|
|
70
|
-
* @param cuit - CUIT of the taxpayer to query
|
|
71
|
-
*/
|
|
72
|
-
getPersonaA13(cuit: string, call?: CallOptions): Promise<PersonaA13>;
|
|
73
|
-
/**
|
|
74
|
-
* CUITs/CUILs asociados a un número de documento (Padrón A13).
|
|
75
|
-
* @param documento - Número de documento (DNI)
|
|
76
|
-
*/
|
|
77
|
-
getIdPersonaListByDocumento(documento: string, call?: CallOptions): Promise<string[]>;
|
|
78
|
-
/**
|
|
79
|
-
* Get a parameter table (Padrón A100) by collection name.
|
|
80
|
-
* Authenticates automatically via WSAA.
|
|
81
|
-
* @param collection - Name of the collection (e.g. CollectionName.PROVINCIA, CollectionName.TIPO_DOCUMENTO)
|
|
82
|
-
*/
|
|
83
|
-
getParametros(collection: string, call?: CallOptions): Promise<ParameterRecord[]>;
|
|
84
|
-
/**
|
|
85
|
-
* Health check for the Padrón services.
|
|
86
|
-
* Does not require authentication.
|
|
87
|
-
*/
|
|
88
|
-
status(call?: CallOptions): Promise<{
|
|
89
|
-
a5: ServerStatus;
|
|
90
|
-
a4: ServerStatus;
|
|
91
|
-
a10: ServerStatus;
|
|
92
|
-
a13: ServerStatus;
|
|
93
|
-
a100: ServerStatus;
|
|
94
|
-
}>;
|
|
95
|
-
private opts;
|
|
96
|
-
private getAuth;
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=arca-padron.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arca-padron.d.ts","sourceRoot":"","sources":["../../src/arca-padron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAa,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,UAAU;IACrB,wFAAwF;IACxF,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,gEAAgE;IAChE,SAAgB,EAAE,EAAE,cAAc,CAAC;IACnC,mDAAmD;IACnD,SAAgB,EAAE,EAAE,cAAc,CAAC;IACnC,oDAAoD;IACpD,SAAgB,GAAG,EAAE,eAAe,CAAC;IACrC,oDAAoD;IACpD,SAAgB,GAAG,EAAE,eAAe,CAAC;IACrC,qDAAqD;IACrD,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IAEvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc;gBAE1B,MAAM,EAAE,gBAAgB;IA0CpC;;;;;OAKG;IACG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAMpF;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAMtE;;;;OAIG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAM5E;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAM1E;;;OAGG;IACG,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM3F;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMvF;;;OAGG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QACxC,EAAE,EAAE,YAAY,CAAC;QACjB,EAAE,EAAE,YAAY,CAAC;QACjB,GAAG,EAAE,YAAY,CAAC;QAClB,GAAG,EAAE,YAAY,CAAC;QAClB,IAAI,EAAE,YAAY,CAAC;KACpB,CAAC;IAgBF,OAAO,CAAC,IAAI;YAIE,OAAO;CAQtB"}
|