@brite-future-schools-contracts/contracts 1.0.8 → 2.0.3
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/dist/chunk-3OMU2YSE.js +478 -0
- package/dist/chunk-3OMU2YSE.js.map +1 -0
- package/dist/chunk-R4XE3SFR.js +1 -0
- package/dist/chunk-S3BK5YEH.js +131 -0
- package/dist/chunk-S3BK5YEH.js.map +1 -0
- package/dist/contracts/index.cjs +592 -0
- package/dist/contracts/index.cjs.map +1 -0
- package/dist/contracts/index.d.cts +1141 -0
- package/dist/contracts/index.d.ts +1069 -9648
- package/dist/contracts/index.js +48 -1412
- package/dist/contracts/index.js.map +1 -1
- package/dist/index.cjs +675 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +132 -1536
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.cjs +554 -0
- package/dist/schemas/index.cjs.map +1 -0
- package/dist/schemas/index.d.cts +708 -0
- package/dist/schemas/index.d.ts +664 -995
- package/dist/schemas/index.js +86 -640
- package/dist/schemas/index.js.map +1 -1
- package/package.json +32 -59
- package/dist/chunk-M6LF6JUL.mjs +0 -557
- package/dist/chunk-M6LF6JUL.mjs.map +0 -1
- package/dist/chunk-VC6SCJVW.mjs +0 -935
- package/dist/chunk-VC6SCJVW.mjs.map +0 -1
- package/dist/contracts/index.d.mts +0 -9720
- package/dist/contracts/index.mjs +0 -36
- package/dist/index.d.mts +0 -4
- package/dist/index.mjs +0 -161
- package/dist/index.mjs.map +0 -1
- package/dist/schemas/index.d.mts +0 -1039
- package/dist/schemas/index.mjs +0 -129
- package/dist/schemas/index.mjs.map +0 -1
- package/src/contracts/index.ts +0 -1209
- package/src/index.ts +0 -2
- package/src/schemas/index.ts +0 -586
- /package/dist/{contracts/index.mjs.map → chunk-R4XE3SFR.js.map} +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BulkUploadStudentsInputSchema,
|
|
3
|
+
BulkUploadStudentsOutputSchema,
|
|
4
|
+
ChangePasswordInputSchema,
|
|
5
|
+
ClassSummarySchema,
|
|
6
|
+
CreateDepartmentInputSchema,
|
|
7
|
+
CreateStaffInputSchema,
|
|
8
|
+
CreateStaffOutputSchema,
|
|
9
|
+
CreateStudentInputSchema,
|
|
10
|
+
CreateStudentOutputSchema,
|
|
11
|
+
DepartmentSchema,
|
|
12
|
+
LinkGuardianInputSchema,
|
|
13
|
+
ListStaffInputSchema,
|
|
14
|
+
ListStudentsInputSchema,
|
|
15
|
+
LoginInputSchema,
|
|
16
|
+
LoginOutputSchema,
|
|
17
|
+
LogoutInputSchema,
|
|
18
|
+
RefreshTokenInputSchema,
|
|
19
|
+
RefreshTokenOutputSchema,
|
|
20
|
+
RequestPasswordResetInputSchema,
|
|
21
|
+
ResetPasswordInputSchema,
|
|
22
|
+
SessionUserOutputSchema,
|
|
23
|
+
StaffListItemSchema,
|
|
24
|
+
StaffProfileSchema,
|
|
25
|
+
StudentListItemSchema,
|
|
26
|
+
StudentProfileSchema,
|
|
27
|
+
SwitchBranchInputSchema,
|
|
28
|
+
UuidSchema
|
|
29
|
+
} from "./chunk-3OMU2YSE.js";
|
|
30
|
+
|
|
31
|
+
// src/contracts/auth.ts
|
|
32
|
+
import { oc } from "@orpc/contract";
|
|
33
|
+
import * as z from "zod";
|
|
34
|
+
var EmptyOutputSchema = z.object({}).meta({ description: "Empty success response" });
|
|
35
|
+
var loginContract = oc.route({ method: "POST", path: "/auth/login" }).input(LoginInputSchema).output(LoginOutputSchema);
|
|
36
|
+
var refreshTokenContract = oc.route({ method: "POST", path: "/auth/refresh" }).input(RefreshTokenInputSchema).output(RefreshTokenOutputSchema);
|
|
37
|
+
var logoutContract = oc.route({ method: "POST", path: "/auth/logout" }).input(LogoutInputSchema).output(EmptyOutputSchema);
|
|
38
|
+
var getMeContract = oc.route({ method: "GET", path: "/auth/me" }).output(SessionUserOutputSchema);
|
|
39
|
+
var changePasswordContract = oc.route({ method: "POST", path: "/auth/change-password" }).input(ChangePasswordInputSchema).output(EmptyOutputSchema);
|
|
40
|
+
var requestPasswordResetContract = oc.route({ method: "POST", path: "/auth/request-password-reset" }).input(RequestPasswordResetInputSchema).output(EmptyOutputSchema);
|
|
41
|
+
var resetPasswordContract = oc.route({ method: "POST", path: "/auth/reset-password" }).input(ResetPasswordInputSchema).output(EmptyOutputSchema);
|
|
42
|
+
var switchBranchContract = oc.route({ method: "POST", path: "/auth/switch-branch" }).input(SwitchBranchInputSchema).output(SessionUserOutputSchema);
|
|
43
|
+
var authContract = {
|
|
44
|
+
login: loginContract,
|
|
45
|
+
refreshToken: refreshTokenContract,
|
|
46
|
+
logout: logoutContract,
|
|
47
|
+
me: getMeContract,
|
|
48
|
+
changePassword: changePasswordContract,
|
|
49
|
+
requestPasswordReset: requestPasswordResetContract,
|
|
50
|
+
resetPassword: resetPasswordContract,
|
|
51
|
+
switchBranch: switchBranchContract
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
// src/contracts/hr.ts
|
|
55
|
+
import { oc as oc2 } from "@orpc/contract";
|
|
56
|
+
import * as z2 from "zod";
|
|
57
|
+
var EmptyOutput = z2.object({});
|
|
58
|
+
var createStaffContract = oc2.route({ method: "POST", path: "/hr/staff" }).input(CreateStaffInputSchema).output(CreateStaffOutputSchema);
|
|
59
|
+
var listStaffContract = oc2.route({ method: "GET", path: "/hr/staff" }).input(ListStaffInputSchema).output(z2.object({
|
|
60
|
+
items: z2.array(StaffListItemSchema),
|
|
61
|
+
total: z2.number(),
|
|
62
|
+
nextCursor: UuidSchema.nullable()
|
|
63
|
+
}));
|
|
64
|
+
var getStaffByIdContract = oc2.route({ method: "GET", path: "/hr/staff/{id}" }).input(z2.object({ id: UuidSchema })).output(StaffProfileSchema);
|
|
65
|
+
var updateStaffStatusContract = oc2.route({ method: "PATCH", path: "/hr/staff/{id}/status" }).input(z2.object({
|
|
66
|
+
id: UuidSchema,
|
|
67
|
+
status: z2.enum(["active", "inactive", "suspended"])
|
|
68
|
+
})).output(EmptyOutput);
|
|
69
|
+
var listDepartmentsContract = oc2.route({ method: "GET", path: "/hr/departments" }).input(z2.object({ branchId: UuidSchema.optional() })).output(z2.array(DepartmentSchema));
|
|
70
|
+
var createDepartmentContract = oc2.route({ method: "POST", path: "/hr/departments" }).input(CreateDepartmentInputSchema).output(DepartmentSchema);
|
|
71
|
+
var hrContract = {
|
|
72
|
+
createStaff: createStaffContract,
|
|
73
|
+
listStaff: listStaffContract,
|
|
74
|
+
getStaffById: getStaffByIdContract,
|
|
75
|
+
updateStaffStatus: updateStaffStatusContract,
|
|
76
|
+
listDepartments: listDepartmentsContract,
|
|
77
|
+
createDepartment: createDepartmentContract
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
// src/contracts/students.ts
|
|
81
|
+
import { oc as oc3 } from "@orpc/contract";
|
|
82
|
+
import * as z3 from "zod";
|
|
83
|
+
var EmptyOutput2 = z3.object({});
|
|
84
|
+
var createStudentContract = oc3.route({ method: "POST", path: "/students" }).input(CreateStudentInputSchema).output(CreateStudentOutputSchema);
|
|
85
|
+
var bulkUploadStudentsContract = oc3.route({ method: "POST", path: "/students/bulk" }).input(BulkUploadStudentsInputSchema).output(BulkUploadStudentsOutputSchema);
|
|
86
|
+
var listStudentsContract = oc3.route({ method: "GET", path: "/students" }).input(ListStudentsInputSchema).output(z3.object({
|
|
87
|
+
items: z3.array(StudentListItemSchema),
|
|
88
|
+
total: z3.number(),
|
|
89
|
+
nextCursor: UuidSchema.nullable()
|
|
90
|
+
}));
|
|
91
|
+
var getStudentByIdContract = oc3.route({ method: "GET", path: "/students/{id}" }).input(z3.object({ id: UuidSchema })).output(StudentProfileSchema);
|
|
92
|
+
var linkGuardianContract = oc3.route({ method: "POST", path: "/students/guardians" }).input(LinkGuardianInputSchema).output(z3.object({ guardianId: UuidSchema }));
|
|
93
|
+
var listClassesContract = oc3.route({ method: "GET", path: "/students/classes" }).input(z3.object({
|
|
94
|
+
termId: UuidSchema.optional(),
|
|
95
|
+
gradeLevel: z3.string().optional()
|
|
96
|
+
})).output(z3.array(ClassSummarySchema));
|
|
97
|
+
var studentsContract = {
|
|
98
|
+
create: createStudentContract,
|
|
99
|
+
bulkUpload: bulkUploadStudentsContract,
|
|
100
|
+
list: listStudentsContract,
|
|
101
|
+
getById: getStudentByIdContract,
|
|
102
|
+
linkGuardian: linkGuardianContract,
|
|
103
|
+
listClasses: listClassesContract
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export {
|
|
107
|
+
loginContract,
|
|
108
|
+
refreshTokenContract,
|
|
109
|
+
logoutContract,
|
|
110
|
+
getMeContract,
|
|
111
|
+
changePasswordContract,
|
|
112
|
+
requestPasswordResetContract,
|
|
113
|
+
resetPasswordContract,
|
|
114
|
+
switchBranchContract,
|
|
115
|
+
authContract,
|
|
116
|
+
createStaffContract,
|
|
117
|
+
listStaffContract,
|
|
118
|
+
getStaffByIdContract,
|
|
119
|
+
updateStaffStatusContract,
|
|
120
|
+
listDepartmentsContract,
|
|
121
|
+
createDepartmentContract,
|
|
122
|
+
hrContract,
|
|
123
|
+
createStudentContract,
|
|
124
|
+
bulkUploadStudentsContract,
|
|
125
|
+
listStudentsContract,
|
|
126
|
+
getStudentByIdContract,
|
|
127
|
+
linkGuardianContract,
|
|
128
|
+
listClassesContract,
|
|
129
|
+
studentsContract
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=chunk-S3BK5YEH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/contracts/auth.ts","../src/contracts/hr.ts","../src/contracts/students.ts"],"sourcesContent":["/**\n * Brite Future Schools — bfs-contracts\n * Auth oRPC contract.\n *\n * Defines the API surface for authentication. The bfs-api module\n * imports this and passes it to `implement()` — no logic lives here.\n *\n * HTTP method + path pairs follow REST conventions and feed into the\n * OpenAPI spec that oRPC generates automatically.\n *\n * Phase History:\n * Phase 0.1 (2026-06-05): Initial creation\n *\n * @module src/contracts/auth\n * @since Phase 0.1\n */\n\nimport { oc } from '@orpc/contract'\nimport * as z from 'zod'\nimport {\n ChangePasswordInputSchema,\n LoginInputSchema,\n LoginOutputSchema,\n LogoutInputSchema,\n RefreshTokenInputSchema,\n RefreshTokenOutputSchema,\n RequestPasswordResetInputSchema,\n ResetPasswordInputSchema,\n SessionUserOutputSchema,\n SwitchBranchInputSchema,\n} from '../schemas/auth.js'\n\n/** Reusable empty-success output — used by mutations that return nothing */\nconst EmptyOutputSchema = z.object({}).meta({ description: 'Empty success response' })\n\n// ── Individual procedure contracts ────────────────────────────────────────────\n\n/** Exchange email + password for access/refresh token pair */\nexport const loginContract = oc\n .route({ method: 'POST', path: '/auth/login' })\n .input(LoginInputSchema)\n .output(LoginOutputSchema)\n\n/** Exchange a refresh token for a new access token */\nexport const refreshTokenContract = oc\n .route({ method: 'POST', path: '/auth/refresh' })\n .input(RefreshTokenInputSchema)\n .output(RefreshTokenOutputSchema)\n\n/** Revoke the current refresh token and end the session */\nexport const logoutContract = oc\n .route({ method: 'POST', path: '/auth/logout' })\n .input(LogoutInputSchema)\n .output(EmptyOutputSchema)\n\n/** Return the session user object for the current access token */\nexport const getMeContract = oc\n .route({ method: 'GET', path: '/auth/me' })\n .output(SessionUserOutputSchema)\n\n/** Change password (authenticated, requires current password) */\nexport const changePasswordContract = oc\n .route({ method: 'POST', path: '/auth/change-password' })\n .input(ChangePasswordInputSchema)\n .output(EmptyOutputSchema)\n\n/** Request a password-reset email */\nexport const requestPasswordResetContract = oc\n .route({ method: 'POST', path: '/auth/request-password-reset' })\n .input(RequestPasswordResetInputSchema)\n .output(EmptyOutputSchema)\n\n/** Complete a password reset using the emailed one-time token */\nexport const resetPasswordContract = oc\n .route({ method: 'POST', path: '/auth/reset-password' })\n .input(ResetPasswordInputSchema)\n .output(EmptyOutputSchema)\n\n/** Switch the active branch within an existing session */\nexport const switchBranchContract = oc\n .route({ method: 'POST', path: '/auth/switch-branch' })\n .input(SwitchBranchInputSchema)\n .output(SessionUserOutputSchema)\n\n// ── Auth contract router ──────────────────────────────────────────────────────\n\nexport const authContract = {\n login: loginContract,\n refreshToken: refreshTokenContract,\n logout: logoutContract,\n me: getMeContract,\n changePassword: changePasswordContract,\n requestPasswordReset: requestPasswordResetContract,\n resetPassword: resetPasswordContract,\n switchBranch: switchBranchContract,\n}\n","/**\n * Brite Future Schools — bfs-contracts\n * HR oRPC contract — staff and department procedure definitions.\n *\n * Phase History:\n * Phase 1 (2026-06-07): Initial creation\n *\n * @module src/contracts/hr\n * @since Phase 1\n */\n\nimport { oc } from '@orpc/contract'\nimport * as z from 'zod'\nimport { UuidSchema, PaginationInputSchema } from '../schemas/base.js'\nimport {\n CreateStaffInputSchema,\n CreateStaffOutputSchema,\n StaffProfileSchema,\n StaffListItemSchema,\n ListStaffInputSchema,\n DepartmentSchema,\n CreateDepartmentInputSchema,\n} from '../schemas/hr.js'\n\nconst EmptyOutput = z.object({})\n\n// ── Staff ──────────────────────────────────────────────────────────────────────\n\nexport const createStaffContract = oc\n .route({ method: 'POST', path: '/hr/staff' })\n .input(CreateStaffInputSchema)\n .output(CreateStaffOutputSchema)\n\nexport const listStaffContract = oc\n .route({ method: 'GET', path: '/hr/staff' })\n .input(ListStaffInputSchema)\n .output(z.object({\n items: z.array(StaffListItemSchema),\n total: z.number(),\n nextCursor: UuidSchema.nullable(),\n }))\n\nexport const getStaffByIdContract = oc\n .route({ method: 'GET', path: '/hr/staff/{id}' })\n .input(z.object({ id: UuidSchema }))\n .output(StaffProfileSchema)\n\nexport const updateStaffStatusContract = oc\n .route({ method: 'PATCH', path: '/hr/staff/{id}/status' })\n .input(z.object({\n id: UuidSchema,\n status: z.enum(['active', 'inactive', 'suspended']),\n }))\n .output(EmptyOutput)\n\n// ── Departments ────────────────────────────────────────────────────────────────\n\nexport const listDepartmentsContract = oc\n .route({ method: 'GET', path: '/hr/departments' })\n .input(z.object({ branchId: UuidSchema.optional() }))\n .output(z.array(DepartmentSchema))\n\nexport const createDepartmentContract = oc\n .route({ method: 'POST', path: '/hr/departments' })\n .input(CreateDepartmentInputSchema)\n .output(DepartmentSchema)\n\n// ── HR contract router ─────────────────────────────────────────────────────────\n\nexport const hrContract = {\n createStaff: createStaffContract,\n listStaff: listStaffContract,\n getStaffById: getStaffByIdContract,\n updateStaffStatus: updateStaffStatusContract,\n listDepartments: listDepartmentsContract,\n createDepartment: createDepartmentContract,\n}","/**\n * Brite Future Schools — bfs-contracts\n * Students oRPC contract — student and guardian procedure definitions.\n *\n * Phase History:\n * Phase 1 (2026-06-07): Initial creation\n *\n * @module src/contracts/students\n * @since Phase 1\n */\n\nimport { oc } from '@orpc/contract'\nimport * as z from 'zod'\nimport { UuidSchema } from '../schemas/base.js'\nimport {\n CreateStudentInputSchema,\n CreateStudentOutputSchema,\n StudentProfileSchema,\n StudentListItemSchema,\n ListStudentsInputSchema,\n BulkUploadStudentsInputSchema,\n BulkUploadStudentsOutputSchema,\n LinkGuardianInputSchema,\n ClassSummarySchema,\n} from '../schemas/students.js'\n\nconst EmptyOutput = z.object({})\n\n// ── Students ───────────────────────────────────────────────────────────────────\n\nexport const createStudentContract = oc\n .route({ method: 'POST', path: '/students' })\n .input(CreateStudentInputSchema)\n .output(CreateStudentOutputSchema)\n\nexport const bulkUploadStudentsContract = oc\n .route({ method: 'POST', path: '/students/bulk' })\n .input(BulkUploadStudentsInputSchema)\n .output(BulkUploadStudentsOutputSchema)\n\nexport const listStudentsContract = oc\n .route({ method: 'GET', path: '/students' })\n .input(ListStudentsInputSchema)\n .output(z.object({\n items: z.array(StudentListItemSchema),\n total: z.number(),\n nextCursor: UuidSchema.nullable(),\n }))\n\nexport const getStudentByIdContract = oc\n .route({ method: 'GET', path: '/students/{id}' })\n .input(z.object({ id: UuidSchema }))\n .output(StudentProfileSchema)\n\n// ── Guardians ──────────────────────────────────────────────────────────────────\n\nexport const linkGuardianContract = oc\n .route({ method: 'POST', path: '/students/guardians' })\n .input(LinkGuardianInputSchema)\n .output(z.object({ guardianId: UuidSchema }))\n\n// ── Classes (selector data) ────────────────────────────────────────────────────\n\nexport const listClassesContract = oc\n .route({ method: 'GET', path: '/students/classes' })\n .input(z.object({\n termId: UuidSchema.optional(),\n gradeLevel: z.string().optional(),\n }))\n .output(z.array(ClassSummarySchema))\n\n// ── Students contract router ───────────────────────────────────────────────────\n\nexport const studentsContract = {\n create: createStudentContract,\n bulkUpload: bulkUploadStudentsContract,\n list: listStudentsContract,\n getById: getStudentByIdContract,\n linkGuardian: linkGuardianContract,\n listClasses: listClassesContract,\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,SAAS,UAAU;AACnB,YAAY,OAAO;AAenB,IAAM,oBAAsB,SAAO,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,yBAAyB,CAAC;AAK9E,IAAM,gBAAgB,GAC1B,MAAM,EAAE,QAAQ,QAAQ,MAAM,cAAc,CAAC,EAC7C,MAAM,gBAAgB,EACtB,OAAO,iBAAiB;AAGpB,IAAM,uBAAuB,GACjC,MAAM,EAAE,QAAQ,QAAQ,MAAM,gBAAgB,CAAC,EAC/C,MAAM,uBAAuB,EAC7B,OAAO,wBAAwB;AAG3B,IAAM,iBAAiB,GAC3B,MAAM,EAAE,QAAQ,QAAQ,MAAM,eAAe,CAAC,EAC9C,MAAM,iBAAiB,EACvB,OAAO,iBAAiB;AAGpB,IAAM,gBAAgB,GAC1B,MAAM,EAAE,QAAQ,OAAO,MAAM,WAAW,CAAC,EACzC,OAAO,uBAAuB;AAG1B,IAAM,yBAAyB,GACnC,MAAM,EAAE,QAAQ,QAAQ,MAAM,wBAAwB,CAAC,EACvD,MAAM,yBAAyB,EAC/B,OAAO,iBAAiB;AAGpB,IAAM,+BAA+B,GACzC,MAAM,EAAE,QAAQ,QAAQ,MAAM,+BAA+B,CAAC,EAC9D,MAAM,+BAA+B,EACrC,OAAO,iBAAiB;AAGpB,IAAM,wBAAwB,GAClC,MAAM,EAAE,QAAQ,QAAQ,MAAM,uBAAuB,CAAC,EACtD,MAAM,wBAAwB,EAC9B,OAAO,iBAAiB;AAGpB,IAAM,uBAAuB,GACjC,MAAM,EAAE,QAAQ,QAAQ,MAAM,sBAAsB,CAAC,EACrD,MAAM,uBAAuB,EAC7B,OAAO,uBAAuB;AAI1B,IAAM,eAAe;AAAA,EAC1B,OAAO;AAAA,EACP,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,eAAe;AAAA,EACf,cAAc;AAChB;;;ACpFA,SAAS,MAAAA,WAAU;AACnB,YAAYC,QAAO;AAYnB,IAAM,cAAgB,UAAO,CAAC,CAAC;AAIxB,IAAM,sBAAsBC,IAC9B,MAAM,EAAE,QAAQ,QAAQ,MAAM,YAAY,CAAC,EAC3C,MAAM,sBAAsB,EAC5B,OAAO,uBAAuB;AAE5B,IAAM,oBAAoBA,IAC5B,MAAM,EAAE,QAAQ,OAAO,MAAM,YAAY,CAAC,EAC1C,MAAM,oBAAoB,EAC1B,OAAS,UAAO;AAAA,EACb,OAAS,SAAM,mBAAmB;AAAA,EAClC,OAAS,UAAO;AAAA,EAChB,YAAY,WAAW,SAAS;AACpC,CAAC,CAAC;AAEC,IAAM,uBAAuBA,IAC/B,MAAM,EAAE,QAAQ,OAAO,MAAM,iBAAiB,CAAC,EAC/C,MAAQ,UAAO,EAAE,IAAI,WAAW,CAAC,CAAC,EAClC,OAAO,kBAAkB;AAEvB,IAAM,4BAA4BA,IACpC,MAAM,EAAE,QAAQ,SAAS,MAAM,wBAAwB,CAAC,EACxD,MAAQ,UAAO;AAAA,EACZ,IAAI;AAAA,EACJ,QAAU,QAAK,CAAC,UAAU,YAAY,WAAW,CAAC;AACtD,CAAC,CAAC,EACD,OAAO,WAAW;AAIhB,IAAM,0BAA0BA,IAClC,MAAM,EAAE,QAAQ,OAAO,MAAM,kBAAkB,CAAC,EAChD,MAAQ,UAAO,EAAE,UAAU,WAAW,SAAS,EAAE,CAAC,CAAC,EACnD,OAAS,SAAM,gBAAgB,CAAC;AAE9B,IAAM,2BAA2BA,IACnC,MAAM,EAAE,QAAQ,QAAQ,MAAM,kBAAkB,CAAC,EACjD,MAAM,2BAA2B,EACjC,OAAO,gBAAgB;AAIrB,IAAM,aAAa;AAAA,EACtB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,kBAAkB;AACtB;;;ACjEA,SAAS,MAAAC,WAAU;AACnB,YAAYC,QAAO;AAcnB,IAAMC,eAAgB,UAAO,CAAC,CAAC;AAIxB,IAAM,wBAAwBC,IAChC,MAAM,EAAE,QAAQ,QAAQ,MAAM,YAAY,CAAC,EAC3C,MAAM,wBAAwB,EAC9B,OAAO,yBAAyB;AAE9B,IAAM,6BAA6BA,IACrC,MAAM,EAAE,QAAQ,QAAQ,MAAM,iBAAiB,CAAC,EAChD,MAAM,6BAA6B,EACnC,OAAO,8BAA8B;AAEnC,IAAM,uBAAuBA,IAC/B,MAAM,EAAE,QAAQ,OAAO,MAAM,YAAY,CAAC,EAC1C,MAAM,uBAAuB,EAC7B,OAAS,UAAO;AAAA,EACb,OAAS,SAAM,qBAAqB;AAAA,EACpC,OAAS,UAAO;AAAA,EAChB,YAAY,WAAW,SAAS;AACpC,CAAC,CAAC;AAEC,IAAM,yBAAyBA,IACjC,MAAM,EAAE,QAAQ,OAAO,MAAM,iBAAiB,CAAC,EAC/C,MAAQ,UAAO,EAAE,IAAI,WAAW,CAAC,CAAC,EAClC,OAAO,oBAAoB;AAIzB,IAAM,uBAAuBA,IAC/B,MAAM,EAAE,QAAQ,QAAQ,MAAM,sBAAsB,CAAC,EACrD,MAAM,uBAAuB,EAC7B,OAAS,UAAO,EAAE,YAAY,WAAW,CAAC,CAAC;AAIzC,IAAM,sBAAsBA,IAC9B,MAAM,EAAE,QAAQ,OAAO,MAAM,oBAAoB,CAAC,EAClD,MAAQ,UAAO;AAAA,EACZ,QAAQ,WAAW,SAAS;AAAA,EAC5B,YAAc,UAAO,EAAE,SAAS;AACpC,CAAC,CAAC,EACD,OAAS,SAAM,kBAAkB,CAAC;AAIhC,IAAM,mBAAmB;AAAA,EAC5B,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AAAA,EACT,cAAc;AAAA,EACd,aAAa;AACjB;","names":["oc","z","oc","oc","z","EmptyOutput","oc"]}
|