@warriorteam/redai-zalo-sdk 1.1.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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +448 -0
  3. package/dist/clients/base-client.d.ts +67 -0
  4. package/dist/clients/base-client.d.ts.map +1 -0
  5. package/dist/clients/base-client.js +297 -0
  6. package/dist/clients/base-client.js.map +1 -0
  7. package/dist/clients/zalo-client.d.ts +131 -0
  8. package/dist/clients/zalo-client.d.ts.map +1 -0
  9. package/dist/clients/zalo-client.js +215 -0
  10. package/dist/clients/zalo-client.js.map +1 -0
  11. package/dist/index.d.ts +40 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +82 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/services/article.service.d.ts +144 -0
  16. package/dist/services/article.service.d.ts.map +1 -0
  17. package/dist/services/article.service.js +518 -0
  18. package/dist/services/article.service.js.map +1 -0
  19. package/dist/services/auth.service.d.ts +55 -0
  20. package/dist/services/auth.service.d.ts.map +1 -0
  21. package/dist/services/auth.service.js +269 -0
  22. package/dist/services/auth.service.js.map +1 -0
  23. package/dist/services/consultation.service.d.ts +73 -0
  24. package/dist/services/consultation.service.d.ts.map +1 -0
  25. package/dist/services/consultation.service.js +208 -0
  26. package/dist/services/consultation.service.js.map +1 -0
  27. package/dist/services/general-message.service.d.ts +85 -0
  28. package/dist/services/general-message.service.d.ts.map +1 -0
  29. package/dist/services/general-message.service.js +248 -0
  30. package/dist/services/general-message.service.js.map +1 -0
  31. package/dist/services/group-management.service.d.ts +220 -0
  32. package/dist/services/group-management.service.d.ts.map +1 -0
  33. package/dist/services/group-management.service.js +562 -0
  34. package/dist/services/group-management.service.js.map +1 -0
  35. package/dist/services/group-message.service.d.ts +102 -0
  36. package/dist/services/group-message.service.d.ts.map +1 -0
  37. package/dist/services/group-message.service.js +233 -0
  38. package/dist/services/group-message.service.js.map +1 -0
  39. package/dist/services/message-management.service.d.ts +135 -0
  40. package/dist/services/message-management.service.d.ts.map +1 -0
  41. package/dist/services/message-management.service.js +237 -0
  42. package/dist/services/message-management.service.js.map +1 -0
  43. package/dist/services/oa.service.d.ts +67 -0
  44. package/dist/services/oa.service.d.ts.map +1 -0
  45. package/dist/services/oa.service.js +223 -0
  46. package/dist/services/oa.service.js.map +1 -0
  47. package/dist/services/promotion.service.d.ts +114 -0
  48. package/dist/services/promotion.service.d.ts.map +1 -0
  49. package/dist/services/promotion.service.js +247 -0
  50. package/dist/services/promotion.service.js.map +1 -0
  51. package/dist/services/tag.service.d.ts +144 -0
  52. package/dist/services/tag.service.d.ts.map +1 -0
  53. package/dist/services/tag.service.js +184 -0
  54. package/dist/services/tag.service.js.map +1 -0
  55. package/dist/services/transaction.service.d.ts +110 -0
  56. package/dist/services/transaction.service.d.ts.map +1 -0
  57. package/dist/services/transaction.service.js +231 -0
  58. package/dist/services/transaction.service.js.map +1 -0
  59. package/dist/services/user-management.service.d.ts +117 -0
  60. package/dist/services/user-management.service.d.ts.map +1 -0
  61. package/dist/services/user-management.service.js +239 -0
  62. package/dist/services/user-management.service.js.map +1 -0
  63. package/dist/services/user.service.d.ts +84 -0
  64. package/dist/services/user.service.d.ts.map +1 -0
  65. package/dist/services/user.service.js +323 -0
  66. package/dist/services/user.service.js.map +1 -0
  67. package/dist/services/video-upload.service.d.ts +83 -0
  68. package/dist/services/video-upload.service.d.ts.map +1 -0
  69. package/dist/services/video-upload.service.js +267 -0
  70. package/dist/services/video-upload.service.js.map +1 -0
  71. package/dist/services/zns.service.d.ts +116 -0
  72. package/dist/services/zns.service.d.ts.map +1 -0
  73. package/dist/services/zns.service.js +234 -0
  74. package/dist/services/zns.service.js.map +1 -0
  75. package/dist/types/article.d.ts +352 -0
  76. package/dist/types/article.d.ts.map +1 -0
  77. package/dist/types/article.js +70 -0
  78. package/dist/types/article.js.map +1 -0
  79. package/dist/types/auth.d.ts +233 -0
  80. package/dist/types/auth.d.ts.map +1 -0
  81. package/dist/types/auth.js +39 -0
  82. package/dist/types/auth.js.map +1 -0
  83. package/dist/types/common.d.ts +237 -0
  84. package/dist/types/common.d.ts.map +1 -0
  85. package/dist/types/common.js +42 -0
  86. package/dist/types/common.js.map +1 -0
  87. package/dist/types/group.d.ts +523 -0
  88. package/dist/types/group.d.ts.map +1 -0
  89. package/dist/types/group.js +6 -0
  90. package/dist/types/group.js.map +1 -0
  91. package/dist/types/message.d.ts +333 -0
  92. package/dist/types/message.d.ts.map +1 -0
  93. package/dist/types/message.js +17 -0
  94. package/dist/types/message.js.map +1 -0
  95. package/dist/types/oa.d.ts +285 -0
  96. package/dist/types/oa.d.ts.map +1 -0
  97. package/dist/types/oa.js +25 -0
  98. package/dist/types/oa.js.map +1 -0
  99. package/dist/types/social.d.ts +427 -0
  100. package/dist/types/social.d.ts.map +1 -0
  101. package/dist/types/social.js +6 -0
  102. package/dist/types/social.js.map +1 -0
  103. package/dist/types/user-management.d.ts +280 -0
  104. package/dist/types/user-management.d.ts.map +1 -0
  105. package/dist/types/user-management.js +6 -0
  106. package/dist/types/user-management.js.map +1 -0
  107. package/dist/types/user.d.ts +365 -0
  108. package/dist/types/user.d.ts.map +1 -0
  109. package/dist/types/user.js +17 -0
  110. package/dist/types/user.js.map +1 -0
  111. package/dist/types/webhook.d.ts +1972 -0
  112. package/dist/types/webhook.d.ts.map +1 -0
  113. package/dist/types/webhook.js +419 -0
  114. package/dist/types/webhook.js.map +1 -0
  115. package/dist/types/zns.d.ts +277 -0
  116. package/dist/types/zns.d.ts.map +1 -0
  117. package/dist/types/zns.js +6 -0
  118. package/dist/types/zns.js.map +1 -0
  119. package/dist/zalo-sdk.d.ts +228 -0
  120. package/dist/zalo-sdk.d.ts.map +1 -0
  121. package/dist/zalo-sdk.js +307 -0
  122. package/dist/zalo-sdk.js.map +1 -0
  123. package/package.json +59 -0
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Authentication related types and interfaces
3
+ */
4
+ /**
5
+ * Access token information
6
+ */
7
+ export interface AccessToken {
8
+ /**
9
+ * Access token string
10
+ */
11
+ access_token: string;
12
+ /**
13
+ * Token expiration time in seconds
14
+ */
15
+ expires_in: number;
16
+ /**
17
+ * Refresh token (if available)
18
+ */
19
+ refresh_token?: string;
20
+ }
21
+ /**
22
+ * Refresh token response
23
+ */
24
+ export interface RefreshTokenResponse {
25
+ /**
26
+ * New access token
27
+ */
28
+ access_token: string;
29
+ /**
30
+ * Token expiration time in seconds
31
+ */
32
+ expires_in: number;
33
+ /**
34
+ * New refresh token (if available)
35
+ */
36
+ refresh_token?: string;
37
+ }
38
+ /**
39
+ * OAuth authorization parameters
40
+ */
41
+ export interface OAuthParams {
42
+ /**
43
+ * Application ID
44
+ */
45
+ app_id: string;
46
+ /**
47
+ * Redirect URI
48
+ */
49
+ redirect_uri: string;
50
+ /**
51
+ * OAuth state parameter
52
+ */
53
+ state?: string;
54
+ /**
55
+ * Code verifier for PKCE (Social API)
56
+ */
57
+ code_verifier?: string;
58
+ /**
59
+ * Code challenge for PKCE (Social API)
60
+ */
61
+ code_challenge?: string;
62
+ /**
63
+ * Code challenge method for PKCE (Social API)
64
+ */
65
+ code_challenge_method?: 'S256' | 'plain';
66
+ }
67
+ /**
68
+ * Authorization code exchange parameters
69
+ */
70
+ export interface AuthCodeParams {
71
+ /**
72
+ * Application ID
73
+ */
74
+ app_id: string;
75
+ /**
76
+ * Application secret
77
+ */
78
+ app_secret: string;
79
+ /**
80
+ * Authorization code
81
+ */
82
+ code: string;
83
+ /**
84
+ * Redirect URI (must match the one used in authorization)
85
+ */
86
+ redirect_uri: string;
87
+ /**
88
+ * Code verifier for PKCE (Social API only)
89
+ */
90
+ code_verifier?: string;
91
+ }
92
+ /**
93
+ * Refresh token parameters
94
+ */
95
+ export interface RefreshTokenParams {
96
+ /**
97
+ * Application ID
98
+ */
99
+ app_id: string;
100
+ /**
101
+ * Application secret
102
+ */
103
+ app_secret: string;
104
+ /**
105
+ * Refresh token
106
+ */
107
+ refresh_token: string;
108
+ }
109
+ /**
110
+ * Social user information from Zalo
111
+ */
112
+ export interface SocialUserInfo {
113
+ /**
114
+ * User ID
115
+ */
116
+ id: string;
117
+ /**
118
+ * Display name
119
+ */
120
+ name: string;
121
+ /**
122
+ * Profile picture
123
+ */
124
+ picture?: {
125
+ data: {
126
+ url: string;
127
+ };
128
+ };
129
+ /**
130
+ * Gender
131
+ */
132
+ gender?: string;
133
+ /**
134
+ * Birthday
135
+ */
136
+ birthday?: string;
137
+ /**
138
+ * Location
139
+ */
140
+ location?: {
141
+ name: string;
142
+ };
143
+ /**
144
+ * Whether the account is sensitive (under 18)
145
+ */
146
+ is_sensitive?: boolean;
147
+ }
148
+ /**
149
+ * Token validation result
150
+ */
151
+ export interface TokenValidation {
152
+ /**
153
+ * Whether the token is valid
154
+ */
155
+ valid: boolean;
156
+ /**
157
+ * Token expiration timestamp
158
+ */
159
+ expires_at?: number;
160
+ /**
161
+ * Associated user information (if available)
162
+ */
163
+ user_info?: SocialUserInfo;
164
+ }
165
+ /**
166
+ * Authentication scope for different APIs
167
+ */
168
+ export declare enum AuthScope {
169
+ /**
170
+ * Official Account API scope
171
+ */
172
+ OA = "oa",
173
+ /**
174
+ * Social API scope
175
+ */
176
+ SOCIAL = "social",
177
+ /**
178
+ * ZNS (Zalo Notification Service) scope
179
+ */
180
+ ZNS = "zns"
181
+ }
182
+ /**
183
+ * Authentication method
184
+ */
185
+ export declare enum AuthMethod {
186
+ /**
187
+ * OAuth 2.0 Authorization Code flow
188
+ */
189
+ AUTHORIZATION_CODE = "authorization_code",
190
+ /**
191
+ * Refresh token flow
192
+ */
193
+ REFRESH_TOKEN = "refresh_token"
194
+ }
195
+ /**
196
+ * PKCE (Proof Key for Code Exchange) configuration
197
+ */
198
+ export interface PKCEConfig {
199
+ /**
200
+ * Code verifier
201
+ */
202
+ code_verifier: string;
203
+ /**
204
+ * Code challenge
205
+ */
206
+ code_challenge: string;
207
+ /**
208
+ * Code challenge method
209
+ */
210
+ code_challenge_method: 'S256' | 'plain';
211
+ }
212
+ /**
213
+ * Authentication URLs
214
+ */
215
+ export interface AuthUrls {
216
+ /**
217
+ * Official Account authorization URL
218
+ */
219
+ oa_auth_url: string;
220
+ /**
221
+ * Social API authorization URL
222
+ */
223
+ social_auth_url: string;
224
+ /**
225
+ * Token exchange URL
226
+ */
227
+ token_url: string;
228
+ /**
229
+ * Token refresh URL
230
+ */
231
+ refresh_url: string;
232
+ }
233
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * Authentication related types and interfaces
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AuthMethod = exports.AuthScope = void 0;
7
+ /**
8
+ * Authentication scope for different APIs
9
+ */
10
+ var AuthScope;
11
+ (function (AuthScope) {
12
+ /**
13
+ * Official Account API scope
14
+ */
15
+ AuthScope["OA"] = "oa";
16
+ /**
17
+ * Social API scope
18
+ */
19
+ AuthScope["SOCIAL"] = "social";
20
+ /**
21
+ * ZNS (Zalo Notification Service) scope
22
+ */
23
+ AuthScope["ZNS"] = "zns";
24
+ })(AuthScope || (exports.AuthScope = AuthScope = {}));
25
+ /**
26
+ * Authentication method
27
+ */
28
+ var AuthMethod;
29
+ (function (AuthMethod) {
30
+ /**
31
+ * OAuth 2.0 Authorization Code flow
32
+ */
33
+ AuthMethod["AUTHORIZATION_CODE"] = "authorization_code";
34
+ /**
35
+ * Refresh token flow
36
+ */
37
+ AuthMethod["REFRESH_TOKEN"] = "refresh_token";
38
+ })(AuthMethod || (exports.AuthMethod = AuthMethod = {}));
39
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAiMH;;GAEG;AACH,IAAY,SAeX;AAfD,WAAY,SAAS;IACnB;;OAEG;IACH,sBAAS,CAAA;IAET;;OAEG;IACH,8BAAiB,CAAA;IAEjB;;OAEG;IACH,wBAAW,CAAA;AACb,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB;AAED;;GAEG;AACH,IAAY,UAUX;AAVD,WAAY,UAAU;IACpB;;OAEG;IACH,uDAAyC,CAAA;IAEzC;;OAEG;IACH,6CAA+B,CAAA;AACjC,CAAC,EAVW,UAAU,0BAAV,UAAU,QAUrB"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Common types and interfaces for Zalo SDK
3
+ */
4
+ /**
5
+ * Standard Zalo API response wrapper
6
+ */
7
+ export interface ZaloResponse<T = any> {
8
+ /**
9
+ * Error code (0 = success)
10
+ */
11
+ error: number;
12
+ /**
13
+ * Response message
14
+ */
15
+ message: string;
16
+ /**
17
+ * Response data
18
+ */
19
+ data?: T;
20
+ }
21
+ /**
22
+ * Zalo API error response
23
+ */
24
+ export interface ZaloErrorResponse {
25
+ /**
26
+ * Error code
27
+ */
28
+ error: number;
29
+ /**
30
+ * Error name
31
+ */
32
+ error_name?: string;
33
+ /**
34
+ * Error reason
35
+ */
36
+ error_reason?: string;
37
+ /**
38
+ * Error description
39
+ */
40
+ error_description?: string;
41
+ /**
42
+ * Reference documentation link
43
+ */
44
+ ref_doc?: string;
45
+ }
46
+ /**
47
+ * Union type for Zalo API responses
48
+ */
49
+ export type ZaloApiResponse<T> = ZaloResponse<T> | (ZaloErrorResponse & Partial<T>);
50
+ /**
51
+ * SDK Configuration
52
+ */
53
+ export interface ZaloSDKConfig {
54
+ /**
55
+ * Application ID
56
+ */
57
+ appId: string;
58
+ /**
59
+ * Application Secret
60
+ */
61
+ appSecret: string;
62
+ /**
63
+ * API timeout in milliseconds (default: 30000)
64
+ */
65
+ timeout?: number;
66
+ /**
67
+ * Enable debug logging (default: false)
68
+ */
69
+ debug?: boolean;
70
+ /**
71
+ * Custom API base URL (optional)
72
+ */
73
+ apiBaseUrl?: string;
74
+ /**
75
+ * Retry configuration
76
+ */
77
+ retry?: {
78
+ /**
79
+ * Number of retry attempts (default: 3)
80
+ */
81
+ attempts?: number;
82
+ /**
83
+ * Delay between retries in milliseconds (default: 1000)
84
+ */
85
+ delay?: number;
86
+ };
87
+ }
88
+ /**
89
+ * HTTP method types
90
+ */
91
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
92
+ /**
93
+ * Request configuration
94
+ */
95
+ export interface RequestConfig {
96
+ /**
97
+ * HTTP method
98
+ */
99
+ method: HttpMethod;
100
+ /**
101
+ * Request URL
102
+ */
103
+ url: string;
104
+ /**
105
+ * Request headers
106
+ */
107
+ headers?: Record<string, string>;
108
+ /**
109
+ * Query parameters
110
+ */
111
+ params?: Record<string, any>;
112
+ /**
113
+ * Request body data
114
+ */
115
+ data?: any;
116
+ /**
117
+ * Request timeout
118
+ */
119
+ timeout?: number;
120
+ }
121
+ /**
122
+ * Pagination parameters
123
+ */
124
+ export interface PaginationParams {
125
+ /**
126
+ * Offset for pagination
127
+ */
128
+ offset?: number;
129
+ /**
130
+ * Number of items per page
131
+ */
132
+ count?: number;
133
+ /**
134
+ * Maximum items per page (default: 50)
135
+ */
136
+ limit?: number;
137
+ }
138
+ /**
139
+ * Paginated response
140
+ */
141
+ export interface PaginatedResponse<T> {
142
+ /**
143
+ * Array of items
144
+ */
145
+ items: T[];
146
+ /**
147
+ * Total number of items
148
+ */
149
+ total: number;
150
+ /**
151
+ * Current offset
152
+ */
153
+ offset: number;
154
+ /**
155
+ * Number of items in current page
156
+ */
157
+ count: number;
158
+ /**
159
+ * Whether there are more items
160
+ */
161
+ hasMore: boolean;
162
+ /**
163
+ * Next offset for pagination
164
+ */
165
+ nextOffset?: number;
166
+ }
167
+ /**
168
+ * File upload information
169
+ */
170
+ export interface FileUpload {
171
+ /**
172
+ * File buffer or stream
173
+ */
174
+ file: Buffer | NodeJS.ReadableStream;
175
+ /**
176
+ * Original filename
177
+ */
178
+ filename: string;
179
+ /**
180
+ * MIME type
181
+ */
182
+ mimetype: string;
183
+ /**
184
+ * File size in bytes
185
+ */
186
+ size?: number;
187
+ }
188
+ /**
189
+ * Attachment information
190
+ */
191
+ export interface Attachment {
192
+ /**
193
+ * Attachment ID from Zalo
194
+ */
195
+ attachment_id: string;
196
+ /**
197
+ * File URL
198
+ */
199
+ url: string;
200
+ /**
201
+ * File type
202
+ */
203
+ type?: string;
204
+ /**
205
+ * File size in bytes
206
+ */
207
+ size?: number;
208
+ }
209
+ /**
210
+ * SDK Error class
211
+ */
212
+ export declare class ZaloSDKError extends Error {
213
+ readonly code: number;
214
+ readonly details?: any;
215
+ constructor(message: string, code?: number, details?: any);
216
+ }
217
+ /**
218
+ * Logger interface
219
+ */
220
+ export interface Logger {
221
+ debug(message: string, ...args: any[]): void;
222
+ info(message: string, ...args: any[]): void;
223
+ warn(message: string, ...args: any[]): void;
224
+ error(message: string, ...args: any[]): void;
225
+ }
226
+ /**
227
+ * Default console logger implementation
228
+ */
229
+ export declare class ConsoleLogger implements Logger {
230
+ private readonly enableDebug;
231
+ constructor(enableDebug?: boolean);
232
+ debug(message: string, ...args: any[]): void;
233
+ info(message: string, ...args: any[]): void;
234
+ warn(message: string, ...args: any[]): void;
235
+ error(message: string, ...args: any[]): void;
236
+ }
237
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * Common types and interfaces for Zalo SDK
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ConsoleLogger = exports.ZaloSDKError = void 0;
7
+ /**
8
+ * SDK Error class
9
+ */
10
+ class ZaloSDKError extends Error {
11
+ constructor(message, code = -1, details) {
12
+ super(message);
13
+ this.name = 'ZaloSDKError';
14
+ this.code = code;
15
+ this.details = details;
16
+ }
17
+ }
18
+ exports.ZaloSDKError = ZaloSDKError;
19
+ /**
20
+ * Default console logger implementation
21
+ */
22
+ class ConsoleLogger {
23
+ constructor(enableDebug = false) {
24
+ this.enableDebug = enableDebug;
25
+ }
26
+ debug(message, ...args) {
27
+ if (this.enableDebug) {
28
+ console.debug(`[ZALO-SDK:DEBUG] ${message}`, ...args);
29
+ }
30
+ }
31
+ info(message, ...args) {
32
+ console.info(`[ZALO-SDK:INFO] ${message}`, ...args);
33
+ }
34
+ warn(message, ...args) {
35
+ console.warn(`[ZALO-SDK:WARN] ${message}`, ...args);
36
+ }
37
+ error(message, ...args) {
38
+ console.error(`[ZALO-SDK:ERROR] ${message}`, ...args);
39
+ }
40
+ }
41
+ exports.ConsoleLogger = ConsoleLogger;
42
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAuPH;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK;IAIrC,YAAY,OAAe,EAAE,OAAe,CAAC,CAAC,EAAE,OAAa;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,oCAUC;AAYD;;GAEG;AACH,MAAa,aAAa;IACxB,YAA6B,cAAuB,KAAK;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAE7D,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;CACF;AApBD,sCAoBC"}