🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@robinpath/calendar

Package Overview
Dependencies
Maintainers
4
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@robinpath/calendar - npm Package Compare versions

Comparing version
0.1.1
to
0.1.2
+15
-3
package.json
{
"name": "@robinpath/calendar",
"version": "0.1.1",
"version": "0.1.2",
"publishConfig": {

@@ -24,9 +24,21 @@ "access": "public"

"peerDependencies": {
"@wiredwp/robinpath": ">=0.20.0"
"@robinpath/core": ">=0.20.0"
},
"devDependencies": {
"@wiredwp/robinpath": "^0.30.1",
"@robinpath/core": "^0.30.1",
"tsx": "^4.19.0",
"typescript": "^5.6.0"
},
"description": "iCal (.ics) calendar parsing, generation, event management, and date range queries",
"keywords": [
"calendar",
"utility"
],
"license": "MIT",
"robinpath": {
"category": "utility",
"type": "utility",
"auth": "none",
"functionCount": 13
}
}
-178
import type { BuiltinHandler } from "@wiredwp/robinpath";
export declare const CalendarFunctions: Record<string, BuiltinHandler>;
export declare const CalendarFunctionMetadata: {
createEvent: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createCalendar: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
parse: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
parseFile: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
writeFile: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
addEvent: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
removeEvent: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
findEvents: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
today: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
upcoming: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
toJson: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
formatDate: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
parseDate: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
};
export declare const CalendarModuleMetadata: {
description: string;
methods: string[];
};
//# sourceMappingURL=calendar.d.ts.map
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,oBAAoB,CAAC;AAuIlG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAmJ,CAAC;AAEjN,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC"}
import { readFileSync, writeFileSync } from "node:fs";
import { randomUUID } from "node:crypto";
function toIcalDate(iso, allDay = false) {
const d = new Date(iso);
if (allDay)
return d.toISOString().slice(0, 10).replace(/-/g, "");
return d.toISOString().replace(/[-:]/g, "").replace(/\.\d{3}/, "");
}
function fromIcalDate(ical) {
if (ical.length === 8)
return `${ical.slice(0, 4)}-${ical.slice(4, 6)}-${ical.slice(6, 8)}`;
const m = ical.match(/(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})/);
if (!m)
return ical;
return `${m[1]}-${m[2]}-${m[3]}T${m[4]}:${m[5]}:${m[6]}${ical.endsWith("Z") ? "Z" : ""}`;
}
function escIcal(s) { return s.replace(/\\/g, "\\\\").replace(/;/g, "\\;").replace(/,/g, "\\,").replace(/\n/g, "\\n"); }
function unescIcal(s) { return s.replace(/\\n/g, "\n").replace(/\\,/g, ",").replace(/\\;/g, ";").replace(/\\\\/g, "\\"); }
function extractProp(block, prop) {
const re = new RegExp(`^${prop}[;:](.*)`, "mi");
const m = block.match(re);
if (!m)
return undefined;
let val = m[1];
if (val.includes(":"))
val = val.split(":").slice(-1)[0];
return unescIcal(val.trim());
}
const createEvent = (args) => {
const opts = (typeof args[0] === "object" && args[0] !== null ? args[0] : {});
return {
uid: opts.uid ? String(opts.uid) : randomUUID(),
summary: String(opts.summary ?? ""),
description: opts.description ? String(opts.description) : undefined,
location: opts.location ? String(opts.location) : undefined,
start: String(opts.start ?? new Date().toISOString()),
end: opts.end ? String(opts.end) : undefined,
allDay: opts.allDay === true,
organizer: opts.organizer ? String(opts.organizer) : undefined,
attendees: Array.isArray(opts.attendees) ? opts.attendees.map(String) : undefined,
url: opts.url ? String(opts.url) : undefined,
};
};
const createCalendar = (args) => {
const events = (Array.isArray(args[0]) ? args[0] : []);
const opts = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
const lines = ["BEGIN:VCALENDAR", "VERSION:2.0", `PRODID:-//RobinPath//Calendar//EN`];
if (opts.name)
lines.push(`X-WR-CALNAME:${escIcal(String(opts.name))}`);
if (opts.timezone)
lines.push(`X-WR-TIMEZONE:${String(opts.timezone)}`);
for (const ev of events) {
lines.push("BEGIN:VEVENT");
lines.push(`UID:${ev.uid ?? randomUUID()}`);
lines.push(`SUMMARY:${escIcal(String(ev.summary ?? ""))}`);
if (ev.description)
lines.push(`DESCRIPTION:${escIcal(String(ev.description))}`);
if (ev.location)
lines.push(`LOCATION:${escIcal(String(ev.location))}`);
const allDay = ev.allDay === true;
lines.push(allDay ? `DTSTART;VALUE=DATE:${toIcalDate(String(ev.start), true)}` : `DTSTART:${toIcalDate(String(ev.start))}`);
if (ev.end)
lines.push(allDay ? `DTEND;VALUE=DATE:${toIcalDate(String(ev.end), true)}` : `DTEND:${toIcalDate(String(ev.end))}`);
if (ev.organizer)
lines.push(`ORGANIZER:mailto:${ev.organizer}`);
if (Array.isArray(ev.attendees))
for (const a of ev.attendees)
lines.push(`ATTENDEE:mailto:${a}`);
if (ev.url)
lines.push(`URL:${ev.url}`);
lines.push(`DTSTAMP:${toIcalDate(new Date().toISOString())}`);
lines.push("END:VEVENT");
}
lines.push("END:VCALENDAR");
return lines.join("\r\n");
};
const parse = (args) => {
const ics = String(args[0] ?? "");
const nameMatch = ics.match(/X-WR-CALNAME:(.*)/i);
const eventBlocks = ics.split(/BEGIN:VEVENT/i).slice(1);
const events = eventBlocks.map((block) => {
const endIdx = block.indexOf("END:VEVENT");
const content = endIdx >= 0 ? block.substring(0, endIdx) : block;
const dtstart = extractProp(content, "DTSTART");
const dtend = extractProp(content, "DTEND");
const allDay = content.includes("VALUE=DATE");
const attendees = [];
const attMatches = content.matchAll(/ATTENDEE[^:]*:(?:mailto:)?(.+)/gi);
for (const m of attMatches)
attendees.push(m[1].trim());
return {
uid: extractProp(content, "UID"), summary: extractProp(content, "SUMMARY"),
description: extractProp(content, "DESCRIPTION"), location: extractProp(content, "LOCATION"),
start: dtstart ? fromIcalDate(dtstart) : undefined, end: dtend ? fromIcalDate(dtend) : undefined,
allDay, organizer: extractProp(content, "ORGANIZER")?.replace(/mailto:/i, ""),
attendees: attendees.length ? attendees : undefined, url: extractProp(content, "URL"),
};
});
return { name: nameMatch?.[1]?.trim() ?? null, events };
};
const parseFile = (args) => parse([readFileSync(String(args[0] ?? ""), "utf-8")]);
const writeFile = (args) => { writeFileSync(String(args[0] ?? ""), String(args[1] ?? "")); return true; };
const addEvent = (args) => {
const ics = String(args[0] ?? "");
const ev = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
const eventIcs = createCalendar([[ev]]).split("BEGIN:VEVENT")[1].split("END:VCALENDAR")[0];
return ics.replace(/END:VCALENDAR/i, `BEGIN:VEVENT${eventIcs}END:VCALENDAR`);
};
const removeEvent = (args) => {
const ics = String(args[0] ?? "");
const uid = String(args[1] ?? "");
return ics.replace(new RegExp(`BEGIN:VEVENT[\\s\\S]*?UID:${uid.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}[\\s\\S]*?END:VEVENT\\r?\\n?`, "i"), "");
};
const findEvents = (args) => {
const events = (Array.isArray(args[0]) ? args[0] : []);
const start = new Date(String(args[1] ?? "")).getTime();
const end = new Date(String(args[2] ?? "")).getTime();
return events.filter((e) => { const t = new Date(String(e.start ?? "")).getTime(); return t >= start && t <= end; });
};
const today = (args) => {
const events = (Array.isArray(args[0]) ? args[0] : []);
const now = new Date();
const dayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate()).toISOString();
const dayEnd = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1).toISOString();
return findEvents([events, dayStart, dayEnd]);
};
const upcoming = (args) => {
const events = (Array.isArray(args[0]) ? args[0] : []);
const days = Number(args[1] ?? 7);
const now = new Date();
const end = new Date(now.getTime() + days * 86400000);
return findEvents([events, now.toISOString(), end.toISOString()]);
};
const toJson = (args) => parse(args);
const formatDate = (args) => toIcalDate(String(args[0] ?? new Date().toISOString()));
const parseDate = (args) => fromIcalDate(String(args[0] ?? ""));
export const CalendarFunctions = { createEvent, createCalendar, parse, parseFile, writeFile, addEvent, removeEvent, findEvents, today, upcoming, toJson, formatDate, parseDate };
export const CalendarFunctionMetadata = {
createEvent: { description: "Create an iCal event object", parameters: [{ name: "options", dataType: "object", description: "{summary, description, location, start, end, allDay, organizer, attendees, url, uid}", formInputType: "text", required: true }], returnType: "object", returnDescription: "Event object", example: 'calendar.createEvent {"summary": "Meeting", "start": "2024-01-15T10:00:00Z", "end": "2024-01-15T11:00:00Z"}' },
createCalendar: { description: "Create iCal string from events", parameters: [{ name: "events", dataType: "array", description: "Event objects", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{name, timezone}", formInputType: "text", required: false }], returnType: "string", returnDescription: "iCal string", example: 'calendar.createCalendar [$event1, $event2] {"name": "My Calendar"}' },
parse: { description: "Parse iCal string", parameters: [{ name: "icsString", dataType: "string", description: "iCal content", formInputType: "text", required: true }], returnType: "object", returnDescription: "{name, events[]}", example: 'calendar.parse $icsContent' },
parseFile: { description: "Parse .ics file", parameters: [{ name: "filePath", dataType: "string", description: "File path", formInputType: "text", required: true }], returnType: "object", returnDescription: "{name, events[]}", example: 'calendar.parseFile "./events.ics"' },
writeFile: { description: "Write iCal to file", parameters: [{ name: "filePath", dataType: "string", description: "File path", formInputType: "text", required: true }, { name: "icsString", dataType: "string", description: "iCal content", formInputType: "text", required: true }], returnType: "boolean", returnDescription: "true", example: 'calendar.writeFile "./events.ics" $ics' },
addEvent: { description: "Add event to iCal string", parameters: [{ name: "icsString", dataType: "string", description: "Existing iCal", formInputType: "text", required: true }, { name: "event", dataType: "object", description: "Event object", formInputType: "text", required: true }], returnType: "string", returnDescription: "Updated iCal", example: 'calendar.addEvent $ics $event' },
removeEvent: { description: "Remove event by UID", parameters: [{ name: "icsString", dataType: "string", description: "Existing iCal", formInputType: "text", required: true }, { name: "uid", dataType: "string", description: "Event UID", formInputType: "text", required: true }], returnType: "string", returnDescription: "Updated iCal", example: 'calendar.removeEvent $ics "abc-123"' },
findEvents: { description: "Find events in date range", parameters: [{ name: "events", dataType: "array", description: "Event array", formInputType: "text", required: true }, { name: "start", dataType: "string", description: "Start date ISO", formInputType: "text", required: true }, { name: "end", dataType: "string", description: "End date ISO", formInputType: "text", required: true }], returnType: "array", returnDescription: "Matching events", example: 'calendar.findEvents $events "2024-01-01" "2024-01-31"' },
today: { description: "Get today's events", parameters: [{ name: "events", dataType: "array", description: "Event array", formInputType: "text", required: true }], returnType: "array", returnDescription: "Today's events", example: 'calendar.today $events' },
upcoming: { description: "Get upcoming events", parameters: [{ name: "events", dataType: "array", description: "Event array", formInputType: "text", required: true }, { name: "days", dataType: "number", description: "Days ahead (default 7)", formInputType: "text", required: false }], returnType: "array", returnDescription: "Upcoming events", example: 'calendar.upcoming $events 14' },
toJson: { description: "Convert iCal to JSON", parameters: [{ name: "icsString", dataType: "string", description: "iCal content", formInputType: "text", required: true }], returnType: "object", returnDescription: "Parsed object", example: 'calendar.toJson $ics' },
formatDate: { description: "Format ISO to iCal date", parameters: [{ name: "isoDate", dataType: "string", description: "ISO date", formInputType: "text", required: true }], returnType: "string", returnDescription: "iCal date", example: 'calendar.formatDate "2024-01-15T10:00:00Z"' },
parseDate: { description: "Parse iCal date to ISO", parameters: [{ name: "icalDate", dataType: "string", description: "iCal date", formInputType: "text", required: true }], returnType: "string", returnDescription: "ISO date", example: 'calendar.parseDate "20240115T100000Z"' },
};
export const CalendarModuleMetadata = {
description: "iCal (.ics) calendar parsing, generation, event management, and date range queries",
methods: ["createEvent", "createCalendar", "parse", "parseFile", "writeFile", "addEvent", "removeEvent", "findEvents", "today", "upcoming", "toJson", "formatDate", "parseDate"],
};
//# sourceMappingURL=calendar.js.map
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,SAAS,UAAU,CAAC,GAAW,EAAE,MAAM,GAAG,KAAK;IAC7C,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,OAAO,CAAC,CAAS,IAAY,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACxI,SAAS,SAAS,CAAC,CAAS,IAAY,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE1I,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY;IAC9C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IAChB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAC1D,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,WAAW,GAAmB,CAAC,IAAI,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;IACzG,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;QAC/C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACjF,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAmB,CAAC,IAAI,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA8B,CAAC;IACpF,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;IACzG,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,aAAa,EAAE,mCAAmC,CAAC,CAAC;IACtF,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxE,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,IAAI,EAAE,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5H,IAAI,EAAE,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAChI,IAAI,EAAE,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC;YAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAClG,IAAI,EAAE,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,KAAK,GAAmB,CAAC,IAAI,EAAE,EAAE;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,UAAU;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,OAAO;YACL,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;YAC1E,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC;YAC5F,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAChG,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC7E,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;SACtF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,SAAS,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAClG,MAAM,SAAS,GAAmB,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AAE1H,MAAM,QAAQ,GAAmB,CAAC,IAAI,EAAE,EAAE;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;IACvG,MAAM,QAAQ,GAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAE,CAAC;IACzG,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,QAAQ,eAAe,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,WAAW,GAAmB,CAAC,IAAI,EAAE,EAAE;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,6BAA6B,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACjJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAmB,CAAC,IAAI,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA8B,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5H,CAAC,CAAC;AAEF,MAAM,KAAK,GAAmB,CAAC,IAAI,EAAE,EAAE;IACrC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA8B,CAAC;IACpF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAAC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5F,OAAO,UAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAmB,CAAC,IAAI,EAAE,EAAE;IACxC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA8B,CAAC;IACpF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;IAC9E,OAAO,UAAU,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,MAAM,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrD,MAAM,UAAU,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACrG,MAAM,SAAS,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,iBAAiB,GAAmC,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAEjN,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,sFAAsF,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,6GAA6G,EAAE;IAC/a,cAAc,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,oEAAoE,EAAE;IACpb,KAAK,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,OAAO,EAAE,4BAA4B,EAAE;IAC5Q,SAAS,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,OAAO,EAAE,mCAAmC,EAAE;IACjR,SAAS,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,wCAAwC,EAAE;IAC7X,QAAQ,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,+BAA+B,EAAE;IACjY,WAAW,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE;IAChY,UAAU,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,uDAAuD,EAAE;IACngB,KAAK,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,EAAE,wBAAwB,EAAE;IACjQ,QAAQ,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,8BAA8B,EAAE;IACjY,MAAM,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,EAAE;IACvQ,UAAU,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,4CAA4C,EAAE;IAC1R,SAAS,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,uCAAuC,EAAE;CACrR,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,oFAAoF;IACjG,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC;CACjL,CAAC"}
import type { ModuleAdapter } from "@wiredwp/robinpath";
declare const CalendarModule: ModuleAdapter;
export default CalendarModule;
export { CalendarModule };
export { CalendarFunctions, CalendarFunctionMetadata, CalendarModuleMetadata } from "./calendar.js";
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,QAAA,MAAM,cAAc,EAAE,aAAmL,CAAC;AAC1M,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
import { CalendarFunctions, CalendarFunctionMetadata, CalendarModuleMetadata } from "./calendar.js";
const CalendarModule = { name: "calendar", functions: CalendarFunctions, functionMetadata: CalendarFunctionMetadata, moduleMetadata: CalendarModuleMetadata, global: false };
export default CalendarModule;
export { CalendarModule };
export { CalendarFunctions, CalendarFunctionMetadata, CalendarModuleMetadata } from "./calendar.js";
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACpG,MAAM,cAAc,GAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,wBAA+B,EAAE,cAAc,EAAE,sBAA6B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC1M,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}