@bernierllc/email-sender 5.2.0 → 5.3.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.
Files changed (51) hide show
  1. package/dist/index.d.ts +5 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +9 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/providers/mailgun/sender-manager.d.ts +85 -0
  6. package/dist/providers/mailgun/sender-manager.d.ts.map +1 -0
  7. package/dist/providers/mailgun/sender-manager.js +615 -0
  8. package/dist/providers/mailgun/sender-manager.js.map +1 -0
  9. package/dist/providers/mailgun.d.ts +4 -1
  10. package/dist/providers/mailgun.d.ts.map +1 -1
  11. package/dist/providers/mailgun.js +27 -0
  12. package/dist/providers/mailgun.js.map +1 -1
  13. package/dist/providers/mandrill.d.ts.map +1 -1
  14. package/dist/providers/mandrill.js +18 -0
  15. package/dist/providers/mandrill.js.map +1 -1
  16. package/dist/providers/postmark/sender-manager.d.ts +108 -0
  17. package/dist/providers/postmark/sender-manager.d.ts.map +1 -0
  18. package/dist/providers/postmark/sender-manager.js +518 -0
  19. package/dist/providers/postmark/sender-manager.js.map +1 -0
  20. package/dist/providers/postmark.d.ts +3 -1
  21. package/dist/providers/postmark.d.ts.map +1 -1
  22. package/dist/providers/postmark.js +19 -1
  23. package/dist/providers/postmark.js.map +1 -1
  24. package/dist/providers/sendgrid/sender-manager.d.ts +37 -0
  25. package/dist/providers/sendgrid/sender-manager.d.ts.map +1 -1
  26. package/dist/providers/sendgrid/sender-manager.js +318 -0
  27. package/dist/providers/sendgrid/sender-manager.js.map +1 -1
  28. package/dist/providers/sendgrid.d.ts +31 -0
  29. package/dist/providers/sendgrid.d.ts.map +1 -1
  30. package/dist/providers/sendgrid.js +88 -5
  31. package/dist/providers/sendgrid.js.map +1 -1
  32. package/dist/providers/ses/sender-manager.d.ts +48 -0
  33. package/dist/providers/ses/sender-manager.d.ts.map +1 -0
  34. package/dist/providers/ses/sender-manager.js +437 -0
  35. package/dist/providers/ses/sender-manager.js.map +1 -0
  36. package/dist/providers/ses.d.ts +23 -0
  37. package/dist/providers/ses.d.ts.map +1 -1
  38. package/dist/providers/ses.js +42 -5
  39. package/dist/providers/ses.js.map +1 -1
  40. package/dist/providers/smtp.d.ts.map +1 -1
  41. package/dist/providers/smtp.js +20 -1
  42. package/dist/providers/smtp.js.map +1 -1
  43. package/dist/providers/smtp2go.d.ts +1 -1
  44. package/dist/providers/smtp2go.d.ts.map +1 -1
  45. package/dist/providers/smtp2go.js +15 -0
  46. package/dist/providers/smtp2go.js.map +1 -1
  47. package/dist/types/index.d.ts +12 -0
  48. package/dist/types/index.d.ts.map +1 -1
  49. package/dist/types/index.js +10 -1
  50. package/dist/types/index.js.map +1 -1
  51. package/package.json +3 -2
package/dist/index.d.ts CHANGED
@@ -11,11 +11,16 @@ export { SmtpProvider } from './providers/smtp';
11
11
  export { SendGridProvider } from './providers/sendgrid';
12
12
  export { SesProvider } from './providers/ses';
13
13
  export { MailgunProvider } from './providers/mailgun';
14
+ export { MailgunSenderManager, MailgunSenderError } from './providers/mailgun/sender-manager';
14
15
  export { PostmarkProvider } from './providers/postmark';
16
+ export { PostmarkSenderManager } from './providers/postmark/sender-manager';
17
+ export type { PostmarkSenderSignature, PostmarkSenderSignatureListResponse, PostmarkSenderManagerLogger, } from './providers/postmark/sender-manager';
15
18
  export { MandrillProvider } from './providers/mandrill';
16
19
  export { Smtp2goProvider } from './providers/smtp2go';
17
20
  export { EmailSenderError, EmailSenderErrorCode, EmailValidationError, ProviderError, RateLimitError, NetworkError, TimeoutError, } from './errors';
18
21
  export type { EmailSenderErrorOptions, EmailSenderErrorCodeType, } from './errors';
22
+ export { SesSenderManager } from './providers/ses/sender-manager';
23
+ export type { SesSenderManagerLogger, SesClientShape } from './providers/ses/sender-manager';
19
24
  export type { VerifiedSender, SenderValidationResult, Template, ProviderTemplate, TemplateVersion, SyncResult, TemplateAnalytics, SendGridAdvancedConfig } from './providers/sendgrid/types';
20
25
  export { SendGridApiError, TemplateNotFoundError, UnauthorizedTemplateAccessError, TemplateConflictError, SendGridRateLimitError, SendGridErrorCode, } from './providers/sendgrid/errors';
21
26
  export type { SendGridErrorCodeType } from './providers/sendgrid/errors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAMxB,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAMxB,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EACV,uBAAuB,EACvB,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAG7F,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.SendGridErrorCode = exports.SendGridRateLimitError = exports.TemplateConflictError = exports.UnauthorizedTemplateAccessError = exports.TemplateNotFoundError = exports.SendGridApiError = exports.TimeoutError = exports.NetworkError = exports.RateLimitError = exports.ProviderError = exports.EmailValidationError = exports.EmailSenderErrorCode = exports.EmailSenderError = exports.Smtp2goProvider = exports.MandrillProvider = exports.PostmarkProvider = exports.MailgunProvider = exports.SesProvider = exports.SendGridProvider = exports.SmtpProvider = exports.EmailProvider = exports.EmailSafetyManager = exports.EmailSender = exports.degradationInfoSchema = exports.capabilityEntrySchema = void 0;
24
+ exports.SendGridErrorCode = exports.SendGridRateLimitError = exports.TemplateConflictError = exports.UnauthorizedTemplateAccessError = exports.TemplateNotFoundError = exports.SendGridApiError = exports.SesSenderManager = exports.TimeoutError = exports.NetworkError = exports.RateLimitError = exports.ProviderError = exports.EmailValidationError = exports.EmailSenderErrorCode = exports.EmailSenderError = exports.Smtp2goProvider = exports.MandrillProvider = exports.PostmarkSenderManager = exports.PostmarkProvider = exports.MailgunSenderError = exports.MailgunSenderManager = exports.MailgunProvider = exports.SesProvider = exports.SendGridProvider = exports.SmtpProvider = exports.EmailProvider = exports.EmailSafetyManager = exports.EmailSender = exports.degradationInfoSchema = exports.capabilityEntrySchema = void 0;
25
25
  /**
26
26
  * Email Sender - Core Library
27
27
  * Main entry point for the email sending system
@@ -51,8 +51,13 @@ var ses_1 = require("./providers/ses");
51
51
  Object.defineProperty(exports, "SesProvider", { enumerable: true, get: function () { return ses_1.SesProvider; } });
52
52
  var mailgun_1 = require("./providers/mailgun");
53
53
  Object.defineProperty(exports, "MailgunProvider", { enumerable: true, get: function () { return mailgun_1.MailgunProvider; } });
54
+ var sender_manager_1 = require("./providers/mailgun/sender-manager");
55
+ Object.defineProperty(exports, "MailgunSenderManager", { enumerable: true, get: function () { return sender_manager_1.MailgunSenderManager; } });
56
+ Object.defineProperty(exports, "MailgunSenderError", { enumerable: true, get: function () { return sender_manager_1.MailgunSenderError; } });
54
57
  var postmark_1 = require("./providers/postmark");
55
58
  Object.defineProperty(exports, "PostmarkProvider", { enumerable: true, get: function () { return postmark_1.PostmarkProvider; } });
59
+ var sender_manager_2 = require("./providers/postmark/sender-manager");
60
+ Object.defineProperty(exports, "PostmarkSenderManager", { enumerable: true, get: function () { return sender_manager_2.PostmarkSenderManager; } });
56
61
  var mandrill_1 = require("./providers/mandrill");
57
62
  Object.defineProperty(exports, "MandrillProvider", { enumerable: true, get: function () { return mandrill_1.MandrillProvider; } });
58
63
  var smtp2go_1 = require("./providers/smtp2go");
@@ -68,6 +73,9 @@ Object.defineProperty(exports, "ProviderError", { enumerable: true, get: functio
68
73
  Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_1.RateLimitError; } });
69
74
  Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return errors_1.NetworkError; } });
70
75
  Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_1.TimeoutError; } });
76
+ // SES sender management (sender identity lifecycle)
77
+ var sender_manager_3 = require("./providers/ses/sender-manager");
78
+ Object.defineProperty(exports, "SesSenderManager", { enumerable: true, get: function () { return sender_manager_3.SesSenderManager; } });
71
79
  // SendGrid-specific errors
72
80
  var errors_2 = require("./providers/sendgrid/errors");
73
81
  Object.defineProperty(exports, "SendGridApiError", { enumerable: true, get: function () { return errors_2.SendGridApiError; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;EAME;;;;;;;;;;;;;;;;;AAEF;;;GAGG;AAEH,aAAa;AACb,0CAAwB;AAExB,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,8DAA8D;AAC9D,iCAAuE;AAA9D,8GAAA,qBAAqB,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAErD,eAAe;AACf,oDAAqE;AAA5D,2GAAA,WAAW,OAAA;AACpB,oEAAiE;AAAxD,0HAAA,kBAAkB,OAAA;AAE3B,mBAAmB;AACnB,yCAAiD;AAAxC,qGAAA,aAAa,OAAA;AACtB,yCAAgD;AAAvC,oGAAA,YAAY,OAAA;AACrB,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,uCAA8C;AAArC,kGAAA,WAAW,OAAA;AACpB,+CAAsD;AAA7C,0GAAA,eAAe,OAAA;AACxB,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,+CAAsD;AAA7C,0GAAA,eAAe,OAAA;AAExB,oFAAoF;AACpF,yGAAyG;AAEzG,gEAAgE;AAChE,mCAQkB;AAPhB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,8GAAA,oBAAoB,OAAA;AACpB,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AAmBd,2BAA2B;AAC3B,sDAOqC;AANnC,0GAAA,gBAAgB,OAAA;AAChB,+GAAA,qBAAqB,OAAA;AACrB,yHAAA,+BAA+B,OAAA;AAC/B,+GAAA,qBAAqB,OAAA;AACrB,gHAAA,sBAAsB,OAAA;AACtB,2GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;EAME;;;;;;;;;;;;;;;;;AAEF;;;GAGG;AAEH,aAAa;AACb,0CAAwB;AAExB,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,8DAA8D;AAC9D,iCAAuE;AAA9D,8GAAA,qBAAqB,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAErD,eAAe;AACf,oDAAqE;AAA5D,2GAAA,WAAW,OAAA;AACpB,oEAAiE;AAAxD,0HAAA,kBAAkB,OAAA;AAE3B,mBAAmB;AACnB,yCAAiD;AAAxC,qGAAA,aAAa,OAAA;AACtB,yCAAgD;AAAvC,oGAAA,YAAY,OAAA;AACrB,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,uCAA8C;AAArC,kGAAA,WAAW,OAAA;AACpB,+CAAsD;AAA7C,0GAAA,eAAe,OAAA;AACxB,qEAA8F;AAArF,sHAAA,oBAAoB,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AACjD,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,sEAA4E;AAAnE,uHAAA,qBAAqB,OAAA;AAM9B,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,+CAAsD;AAA7C,0GAAA,eAAe,OAAA;AAExB,oFAAoF;AACpF,yGAAyG;AAEzG,gEAAgE;AAChE,mCAQkB;AAPhB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,8GAAA,oBAAoB,OAAA;AACpB,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AAOd,oDAAoD;AACpD,iEAAkE;AAAzD,kHAAA,gBAAgB,OAAA;AAezB,2BAA2B;AAC3B,sDAOqC;AANnC,0GAAA,gBAAgB,OAAA;AAChB,+GAAA,qBAAqB,OAAA;AACrB,yHAAA,+BAA+B,OAAA;AAC/B,+GAAA,qBAAqB,OAAA;AACrB,gHAAA,sBAAsB,OAAA;AACtB,2GAAA,iBAAiB,OAAA"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Mailgun Sender Manager
3
+ * Manages sender identity (domain) lifecycle via the Mailgun API.
4
+ *
5
+ * Mailgun manages senders at the domain level. Creating a "sender" means
6
+ * registering a domain; verification is DNS-based.
7
+ */
8
+ import type { ProviderCreateSenderInput, ProviderUpdateSenderInput, ProviderSenderResult, ProviderDeleteResult, ProviderVerificationResult, ProviderVerificationType, ProviderValidationResult, ProviderSender, SyncResult, SenderConfiguration, DNSRecord } from '@bernierllc/email-sender-manager';
9
+ export declare class MailgunSenderError extends Error {
10
+ readonly cause: Error | undefined;
11
+ constructor(message: string, options?: {
12
+ cause?: Error;
13
+ });
14
+ }
15
+ interface SenderManagerLogger {
16
+ info: (message: string) => void;
17
+ debug: (message: string) => void;
18
+ error: (message: string) => void;
19
+ }
20
+ export declare class MailgunSenderManager {
21
+ private readonly apiKey;
22
+ private readonly baseUrl;
23
+ private readonly logger;
24
+ constructor(apiKey: string, baseUrl: string, logger?: SenderManagerLogger);
25
+ private getAuthHeader;
26
+ private extractDomain;
27
+ private mapMailgunState;
28
+ private mapStatusToErrorCode;
29
+ private mapDnsRecordType;
30
+ /**
31
+ * Create a sender by registering a domain in Mailgun.
32
+ * The providerSenderId is the domain name itself.
33
+ */
34
+ createSender(input: ProviderCreateSenderInput): Promise<ProviderSenderResult>;
35
+ /**
36
+ * Update a domain in Mailgun.
37
+ * Only DKIM key size and web scheme are supported via providerFields.
38
+ * Standard fields (fromName, replyToEmail, replyToName) return UNSUPPORTED_FIELD
39
+ * because Mailgun manages senders at the domain level, not individual identity.
40
+ */
41
+ updateSender(input: ProviderUpdateSenderInput): Promise<ProviderSenderResult>;
42
+ /**
43
+ * Delete a domain from Mailgun.
44
+ */
45
+ deleteSender(providerSenderId: string): Promise<ProviderDeleteResult>;
46
+ /**
47
+ * Mailgun uses domain-based verification.
48
+ */
49
+ getVerificationType(): ProviderVerificationType;
50
+ /**
51
+ * Initiate domain verification by triggering Mailgun's verify endpoint.
52
+ */
53
+ initiateVerification(providerSenderId: string): Promise<ProviderVerificationResult>;
54
+ /**
55
+ * Check the verification status of a domain by fetching domain info.
56
+ */
57
+ checkVerificationStatus(providerSenderId: string): Promise<ProviderVerificationResult>;
58
+ /**
59
+ * Get DNS requirements for a domain.
60
+ * Fetches domain info and extracts sending_dns_records and receiving_dns_records.
61
+ */
62
+ getDnsRequirements(providerSenderId: string): Promise<DNSRecord[]>;
63
+ /**
64
+ * Get all verified (active) senders (domains) from Mailgun.
65
+ */
66
+ getVerifiedSenders(): Promise<ProviderSender[]>;
67
+ /**
68
+ * Validate a sender email by checking if its domain is verified in Mailgun.
69
+ */
70
+ validateSender(email: string): Promise<ProviderValidationResult>;
71
+ /**
72
+ * Sync a sender configuration with Mailgun by checking if the domain exists.
73
+ */
74
+ syncSender(sender: SenderConfiguration): Promise<SyncResult>;
75
+ /**
76
+ * Return the capabilities of the Mailgun sender manager.
77
+ */
78
+ getCapabilities(): string[];
79
+ /**
80
+ * Map Mailgun domain response DNS records to our DNSRecord[] type.
81
+ */
82
+ private mapDnsRecords;
83
+ }
84
+ export {};
85
+ //# sourceMappingURL=sender-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sender-manager.d.ts","sourceRoot":"","sources":["../../../src/providers/mailgun/sender-manager.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAE1B,wBAAwB,EAExB,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,SAAS,EAEV,MAAM,kCAAkC,CAAC;AAM1C,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAMzD;AAsCD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAMD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;gBAE7C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB;IAUzE,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,gBAAgB;IAiBxB;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmFnF;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuFnF;;OAEG;IACG,YAAY,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsC3E;;OAEG;IACH,mBAAmB,IAAI,wBAAwB;IAI/C;;OAEG;IACG,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA2CzF;;OAEG;IACG,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAgD5F;;;OAGG;IACG,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA6BxE;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAoCrD;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAqEtE;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAiDlE;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAQ3B;;OAEG;IACH,OAAO,CAAC,aAAa;CA8BtB"}