@siriux/core 1.0.0 → 1.0.1

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.
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ // In-memory mock database - no external dependencies required
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.inMemoryMockDatabase = exports.InMemoryMockDatabase = void 0;
5
+ class InMemoryMockDatabase {
6
+ constructor() {
7
+ this.users = new Map();
8
+ this.sessions = new Map();
9
+ this.auditLogs = [];
10
+ this.isInitialized = false;
11
+ }
12
+ async initialize() {
13
+ if (this.isInitialized)
14
+ return;
15
+ try {
16
+ await this.seedData();
17
+ this.isInitialized = true;
18
+ console.log('🗄️ In-memory mock database initialized');
19
+ }
20
+ catch (error) {
21
+ console.error('Failed to initialize mock database:', error);
22
+ throw error;
23
+ }
24
+ }
25
+ async seedData() {
26
+ // Mock users (plain text for demo simplicity)
27
+ const mockUsers = [
28
+ {
29
+ id: '1',
30
+ email: 'admin@siriux.dev',
31
+ password: 'admin123',
32
+ firstName: 'Admin',
33
+ lastName: 'User',
34
+ role: 'admin',
35
+ createdAt: new Date().toISOString(),
36
+ updatedAt: new Date().toISOString()
37
+ },
38
+ {
39
+ id: '2',
40
+ email: 'user@siriux.dev',
41
+ password: 'user123',
42
+ firstName: 'Demo',
43
+ lastName: 'User',
44
+ role: 'user',
45
+ createdAt: new Date().toISOString(),
46
+ updatedAt: new Date().toISOString()
47
+ },
48
+ {
49
+ id: '3',
50
+ email: 'manager@siriux.dev',
51
+ password: 'manager123',
52
+ firstName: 'Manager',
53
+ lastName: 'User',
54
+ role: 'manager',
55
+ createdAt: new Date().toISOString(),
56
+ updatedAt: new Date().toISOString()
57
+ }
58
+ ];
59
+ // Store users in memory
60
+ mockUsers.forEach(user => {
61
+ this.users.set(user.email, user);
62
+ });
63
+ console.log(`👥 Seeded ${mockUsers.length} mock users`);
64
+ }
65
+ // User operations
66
+ async getUserByEmail(email) {
67
+ await this.initialize();
68
+ return this.users.get(email) || null;
69
+ }
70
+ async getUserById(id) {
71
+ await this.initialize();
72
+ for (const user of this.users.values()) {
73
+ if (user.id === id)
74
+ return user;
75
+ }
76
+ return null;
77
+ }
78
+ async createUser(userData) {
79
+ await this.initialize();
80
+ const id = Date.now().toString();
81
+ const now = new Date().toISOString();
82
+ const user = {
83
+ id,
84
+ ...userData,
85
+ createdAt: now,
86
+ updatedAt: now
87
+ };
88
+ this.users.set(user.email, user);
89
+ // Log the creation
90
+ await this.logAudit({
91
+ userId: user.id,
92
+ action: 'CREATE',
93
+ resource: 'user',
94
+ metadata: JSON.stringify({ email: user.email })
95
+ });
96
+ return user;
97
+ }
98
+ async updateUser(id, updates) {
99
+ await this.initialize();
100
+ for (const [email, user] of this.users.entries()) {
101
+ if (user.id === id) {
102
+ const updatedUser = {
103
+ ...user,
104
+ ...updates,
105
+ updatedAt: new Date().toISOString()
106
+ };
107
+ this.users.set(email, updatedUser);
108
+ await this.logAudit({
109
+ userId: user.id,
110
+ action: 'UPDATE',
111
+ resource: 'user',
112
+ metadata: JSON.stringify(updates)
113
+ });
114
+ return updatedUser;
115
+ }
116
+ }
117
+ return null;
118
+ }
119
+ // Session operations
120
+ async createSession(sessionData) {
121
+ await this.initialize();
122
+ const id = Date.now().toString();
123
+ const now = new Date().toISOString();
124
+ const session = {
125
+ id,
126
+ ...sessionData,
127
+ createdAt: now
128
+ };
129
+ this.sessions.set(session.accessToken, session);
130
+ await this.logAudit({
131
+ userId: session.userId,
132
+ action: 'CREATE',
133
+ resource: 'session',
134
+ metadata: JSON.stringify({ sessionId: session.id })
135
+ });
136
+ return session;
137
+ }
138
+ async getSessionByToken(accessToken) {
139
+ await this.initialize();
140
+ const session = this.sessions.get(accessToken);
141
+ // Check if expired
142
+ if (session && new Date(session.expiresAt) > new Date()) {
143
+ return session;
144
+ }
145
+ // Clean up expired session
146
+ if (session) {
147
+ this.sessions.delete(accessToken);
148
+ }
149
+ return null;
150
+ }
151
+ async getSessionById(id) {
152
+ await this.initialize();
153
+ for (const session of this.sessions.values()) {
154
+ if (session.id === id)
155
+ return session;
156
+ }
157
+ return null;
158
+ }
159
+ async deleteSession(accessToken) {
160
+ await this.initialize();
161
+ const session = this.sessions.get(accessToken);
162
+ if (session) {
163
+ this.sessions.delete(accessToken);
164
+ await this.logAudit({
165
+ userId: session.userId,
166
+ action: 'DELETE',
167
+ resource: 'session',
168
+ metadata: JSON.stringify({ sessionId: session.id })
169
+ });
170
+ }
171
+ }
172
+ async deleteExpiredSessions() {
173
+ await this.initialize();
174
+ const now = new Date();
175
+ const expiredSessions = [];
176
+ for (const [token, session] of this.sessions.entries()) {
177
+ if (new Date(session.expiresAt) <= now) {
178
+ expiredSessions.push(token);
179
+ }
180
+ }
181
+ expiredSessions.forEach(token => {
182
+ this.sessions.delete(token);
183
+ });
184
+ if (expiredSessions.length > 0) {
185
+ console.log(`🧹 Cleaned up ${expiredSessions.length} expired sessions`);
186
+ }
187
+ }
188
+ // Audit logging
189
+ async logAudit(entry) {
190
+ await this.initialize();
191
+ const log = {
192
+ id: Date.now().toString(),
193
+ timestamp: new Date().toISOString(),
194
+ ...entry
195
+ };
196
+ this.auditLogs.push(log);
197
+ // Keep only last 1000 logs to prevent memory issues
198
+ if (this.auditLogs.length > 1000) {
199
+ this.auditLogs = this.auditLogs.slice(-1000);
200
+ }
201
+ }
202
+ async getAuditLogs(userId, limit = 50) {
203
+ await this.initialize();
204
+ let logs = this.auditLogs;
205
+ if (userId) {
206
+ logs = logs.filter(log => log.userId === userId);
207
+ }
208
+ return logs
209
+ .sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime())
210
+ .slice(0, limit);
211
+ }
212
+ // Search and query operations
213
+ async searchUsers(query) {
214
+ await this.initialize();
215
+ const lowerQuery = query.toLowerCase();
216
+ const results = [];
217
+ for (const user of this.users.values()) {
218
+ if (user.email.toLowerCase().includes(lowerQuery) ||
219
+ user.firstName.toLowerCase().includes(lowerQuery) ||
220
+ user.lastName.toLowerCase().includes(lowerQuery)) {
221
+ results.push(user);
222
+ }
223
+ }
224
+ return results;
225
+ }
226
+ async getUsersByRole(role) {
227
+ await this.initialize();
228
+ const results = [];
229
+ for (const user of this.users.values()) {
230
+ if (user.role === role) {
231
+ results.push(user);
232
+ }
233
+ }
234
+ return results;
235
+ }
236
+ // Statistics
237
+ async getStats() {
238
+ await this.initialize();
239
+ const usersByRole = {};
240
+ for (const user of this.users.values()) {
241
+ usersByRole[user.role] = (usersByRole[user.role] || 0) + 1;
242
+ }
243
+ return {
244
+ totalUsers: this.users.size,
245
+ totalSessions: this.sessions.size,
246
+ totalAuditLogs: this.auditLogs.length,
247
+ usersByRole
248
+ };
249
+ }
250
+ // Cleanup
251
+ async close() {
252
+ this.users.clear();
253
+ this.sessions.clear();
254
+ this.auditLogs = [];
255
+ this.isInitialized = false;
256
+ console.log('🗄️ In-memory mock database closed');
257
+ }
258
+ // Health check
259
+ async healthCheck() {
260
+ await this.initialize();
261
+ const stats = await this.getStats();
262
+ return {
263
+ status: 'healthy',
264
+ timestamp: new Date().toISOString(),
265
+ stats
266
+ };
267
+ }
268
+ // Reset data (useful for testing)
269
+ async reset() {
270
+ await this.close();
271
+ await this.initialize();
272
+ console.log('🔄 Mock database reset');
273
+ }
274
+ // Export data (for debugging)
275
+ exportData() {
276
+ return {
277
+ users: Array.from(this.users.values()),
278
+ sessions: Array.from(this.sessions.values()),
279
+ auditLogs: this.auditLogs
280
+ };
281
+ }
282
+ }
283
+ exports.InMemoryMockDatabase = InMemoryMockDatabase;
284
+ // Singleton instance
285
+ exports.inMemoryMockDatabase = new InMemoryMockDatabase();
286
+ //# sourceMappingURL=inMemoryMockDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inMemoryMockDatabase.js","sourceRoot":"","sources":["../../src/mock/inMemoryMockDatabase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export interface MockUser {
2
+ id: string;
3
+ email: string;
4
+ password: string;
5
+ firstName: string;
6
+ lastName: string;
7
+ role: 'user' | 'admin' | 'manager';
8
+ createdAt: string;
9
+ updatedAt: string;
10
+ }
11
+ export interface MockSession {
12
+ id: string;
13
+ userId: string;
14
+ accessToken: string;
15
+ refreshToken: string;
16
+ expiresAt: string;
17
+ createdAt: string;
18
+ }
19
+ export declare class MockDatabase {
20
+ private users;
21
+ private sessions;
22
+ private auditLogs;
23
+ private isInitialized;
24
+ initialize(): Promise<void>;
25
+ private createTables;
26
+ private seedData;
27
+ getUserByEmail(email: string): Promise<MockUser | null>;
28
+ getUserById(id: string): Promise<MockUser | null>;
29
+ createUser(userData: Omit<MockUser, 'id' | 'createdAt' | 'updatedAt'>): Promise<MockUser>;
30
+ createSession(sessionData: Omit<MockSession, 'id' | 'createdAt'>): Promise<MockSession>;
31
+ getSessionByToken(accessToken: string): Promise<MockSession | null>;
32
+ deleteSession(accessToken: string): Promise<void>;
33
+ logAudit(entry: {
34
+ userId?: string;
35
+ action: string;
36
+ resource: string;
37
+ metadata?: string;
38
+ }): Promise<void>;
39
+ getAuditLogs(userId?: string, limit?: number): Promise<any[]>;
40
+ close(): Promise<void>;
41
+ healthCheck(): Promise<{
42
+ status: string;
43
+ timestamp: string;
44
+ databaseType: string;
45
+ }>;
46
+ }
47
+ //# sourceMappingURL=mockDatabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockDatabase.d.ts","sourceRoot":"","sources":["../../src/mock/mockDatabase.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAS;IAExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAanB,YAAY;YAKZ,QAAQ;IAyChB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAKvD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IASjD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAezF,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAcvF,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAKnE,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,QAAQ,CAAC,KAAK,EAAE;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAeX,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAYzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,WAAW,IAAI,OAAO,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CAOH"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ // In-memory mock database - no external dependencies required
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MockDatabase = void 0;
5
+ class MockDatabase {
6
+ constructor() {
7
+ this.users = new Map();
8
+ this.sessions = new Map();
9
+ this.auditLogs = [];
10
+ this.isInitialized = false;
11
+ }
12
+ async initialize() {
13
+ if (this.isInitialized)
14
+ return;
15
+ try {
16
+ await this.createTables();
17
+ await this.seedData();
18
+ this.isInitialized = true;
19
+ }
20
+ catch (error) {
21
+ console.error('Failed to initialize mock database:', error);
22
+ throw error;
23
+ }
24
+ }
25
+ async createTables() {
26
+ // In-memory tables are created by the data structure
27
+ console.log('🗄️ Creating in-memory tables...');
28
+ }
29
+ async seedData() {
30
+ const now = new Date().toISOString();
31
+ const mockUsers = [
32
+ {
33
+ id: '1',
34
+ email: 'admin@siriux.dev',
35
+ password: 'admin123',
36
+ firstName: 'Admin',
37
+ lastName: 'User',
38
+ role: 'admin',
39
+ createdAt: now,
40
+ updatedAt: now
41
+ },
42
+ {
43
+ id: '2',
44
+ email: 'user@siriux.dev',
45
+ password: 'user123',
46
+ firstName: 'Demo',
47
+ lastName: 'User',
48
+ role: 'user',
49
+ createdAt: now,
50
+ updatedAt: now
51
+ },
52
+ {
53
+ id: '3',
54
+ email: 'manager@siriux.dev',
55
+ password: 'manager123',
56
+ firstName: 'Manager',
57
+ lastName: 'User',
58
+ role: 'manager',
59
+ createdAt: now,
60
+ updatedAt: now
61
+ }
62
+ ];
63
+ for (const user of mockUsers) {
64
+ this.users.set(user.email, user);
65
+ }
66
+ }
67
+ async getUserByEmail(email) {
68
+ const user = this.users.get(email);
69
+ return user || null;
70
+ }
71
+ async getUserById(id) {
72
+ for (const user of this.users.values()) {
73
+ if (user.id === id) {
74
+ return user;
75
+ }
76
+ }
77
+ return null;
78
+ }
79
+ async createUser(userData) {
80
+ const now = new Date().toISOString();
81
+ const id = Date.now().toString();
82
+ const user = {
83
+ id,
84
+ ...userData,
85
+ createdAt: now,
86
+ updatedAt: now
87
+ };
88
+ this.users.set(user.email, user);
89
+ return user;
90
+ }
91
+ async createSession(sessionData) {
92
+ const now = new Date().toISOString();
93
+ const id = Date.now().toString();
94
+ const session = {
95
+ id,
96
+ ...sessionData,
97
+ createdAt: now
98
+ };
99
+ this.sessions.set(session.accessToken, session);
100
+ return session;
101
+ }
102
+ async getSessionByToken(accessToken) {
103
+ const session = this.sessions.get(accessToken);
104
+ return session || null;
105
+ }
106
+ async deleteSession(accessToken) {
107
+ this.sessions.delete(accessToken);
108
+ }
109
+ async logAudit(entry) {
110
+ const auditEntry = {
111
+ id: Date.now().toString(),
112
+ timestamp: new Date().toISOString(),
113
+ ...entry
114
+ };
115
+ this.auditLogs.push(auditEntry);
116
+ // Keep only last 1000 logs
117
+ if (this.auditLogs.length > 1000) {
118
+ this.auditLogs = this.auditLogs.slice(-1000);
119
+ }
120
+ }
121
+ async getAuditLogs(userId, limit = 50) {
122
+ let logs = this.auditLogs;
123
+ if (userId) {
124
+ logs = logs.filter(log => log.userId === userId);
125
+ }
126
+ return logs
127
+ .sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime())
128
+ .slice(0, limit);
129
+ }
130
+ async close() {
131
+ this.users.clear();
132
+ this.sessions.clear();
133
+ this.auditLogs = [];
134
+ this.isInitialized = false;
135
+ console.log('🗄️ In-memory database closed');
136
+ }
137
+ async healthCheck() {
138
+ return {
139
+ status: 'healthy',
140
+ timestamp: new Date().toISOString(),
141
+ databaseType: 'in-memory'
142
+ };
143
+ }
144
+ }
145
+ exports.MockDatabase = MockDatabase;
146
+ //# sourceMappingURL=mockDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockDatabase.js","sourceRoot":"","sources":["../../src/mock/mockDatabase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export declare enum DatabaseType {
2
+ IN_MEMORY = "in-memory",
3
+ SQLITE = "sqlite",
4
+ SNOWFLAKE_MOCK = "snowflake-mock",
5
+ SNOWFLAKE_REAL = "snowflake-real"
6
+ }
7
+ export interface MockDatabaseConfig {
8
+ type: DatabaseType;
9
+ connectionString?: string;
10
+ options?: Record<string, any>;
11
+ }
12
+ export interface MockDatabase {
13
+ initialize(): Promise<void>;
14
+ getUserByEmail(email: string): Promise<any>;
15
+ getUserById(id: string): Promise<any>;
16
+ createUser(userData: any): Promise<any>;
17
+ createSession(data: any): Promise<any>;
18
+ getSessionByToken(token: string): Promise<any>;
19
+ deleteSession(token: string): Promise<void>;
20
+ logAudit(entry: any): Promise<void>;
21
+ getStats(): Promise<any>;
22
+ getAuditLogs(userId?: string): Promise<any[]>;
23
+ reset(): Promise<void>;
24
+ close(): Promise<void>;
25
+ healthCheck(): Promise<any>;
26
+ }
27
+ export declare class MockDatabaseFactory {
28
+ static create(config: MockDatabaseConfig): Promise<MockDatabase>;
29
+ static createWithAutoDetection(): Promise<MockDatabase>;
30
+ static getSupportedTypes(): DatabaseType[];
31
+ static getDatabaseInfo(type: DatabaseType): {
32
+ name: string;
33
+ description: string;
34
+ features: string[];
35
+ useCase: string;
36
+ requiresConfig?: boolean;
37
+ };
38
+ }
39
+ export declare const getDatabaseConfig: () => MockDatabaseConfig;
40
+ //# sourceMappingURL=mockDatabaseFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockDatabaseFactory.d.ts","sourceRoot":"","sources":["../../src/mock/mockDatabaseFactory.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAGD,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7B;AA+QD,qBAAa,mBAAmB;WACjB,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;WA2BzD,uBAAuB,IAAI,OAAO,CAAC,YAAY,CAAC;IAc7D,MAAM,CAAC,iBAAiB,IAAI,YAAY,EAAE;IAS1C,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG;QAC1C,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;CA+BF;AAGD,eAAO,MAAM,iBAAiB,QAAO,kBAYpC,CAAC"}