macbid-ts-api 1.0.0-beta.4 → 1.1.0-beta.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.
package/MacBid.d.ts CHANGED
@@ -10,6 +10,15 @@ export interface AuthInfo {
10
10
  validation_code?: string;
11
11
  device_id?: string;
12
12
  }
13
+ /** JSON-serializable auth fields safe to persist (no credentials). */
14
+ export interface SerializableAuthState {
15
+ token?: string;
16
+ refresh_token?: string;
17
+ token_expiration?: string;
18
+ refresh_token_expiration?: string;
19
+ user_id?: string;
20
+ device_id?: string;
21
+ }
13
22
  export interface WatchlistFull {
14
23
  auction_lot_id: number;
15
24
  watchlist_date_created: Date;
@@ -55,6 +64,87 @@ export declare enum ConditionName {
55
64
  LikeNew = "LIKE NEW",
56
65
  OpenBox = "OPEN BOX"
57
66
  }
67
+ export interface ActiveItem {
68
+ id: number;
69
+ invoice_id: number;
70
+ box_size: string;
71
+ warehouse_location: string;
72
+ is_assisted_removal: number;
73
+ removal_container: string | null;
74
+ product_name: string;
75
+ status: string;
76
+ boxes: number;
77
+ note: string | null;
78
+ current_location_id: number;
79
+ allow_transfers: number;
80
+ allow_shipping: number;
81
+ is_turbo: number;
82
+ free_transfers: number;
83
+ auction_number: string;
84
+ auction_abandon_date: string;
85
+ abandon_date: string | null;
86
+ lot_number: string;
87
+ lot_id: number;
88
+ has_buyer_assurance: number;
89
+ item_price: number;
90
+ cover_image: string;
91
+ grand_total: number;
92
+ date_paid: string;
93
+ transfer_id: number | null;
94
+ start_location_code: string | null;
95
+ dest_location_code: string | null;
96
+ start_location_id: number | null;
97
+ dest_location_id: number | null;
98
+ grouping_id: string;
99
+ auction_lot_deadline: string | null;
100
+ auction_lot_number: string;
101
+ }
102
+ export interface BuildingLicenseInfo {
103
+ firm_license_label: string;
104
+ firm_license: string | null;
105
+ auctioneer_license: string | null;
106
+ auctioneer_of_record: string | null;
107
+ }
108
+ export interface Building {
109
+ id: number;
110
+ name: string;
111
+ address: string;
112
+ maps_place_id: string;
113
+ city_state: string;
114
+ zip_code: string;
115
+ state_abbr: string;
116
+ notes: string | null;
117
+ hours: string;
118
+ code: string;
119
+ latitude: number;
120
+ longitude: number;
121
+ region_id: number;
122
+ auction_license: string | null;
123
+ sales_tax: number;
124
+ auctioneer_license: string | null;
125
+ auctioneer_of_record: string | null;
126
+ transfer_destinations: string | null;
127
+ box_sizes: string;
128
+ has_bin_store: number;
129
+ license_info: BuildingLicenseInfo;
130
+ }
131
+ export interface Location {
132
+ id: number;
133
+ name: string;
134
+ address: string;
135
+ city_state: string;
136
+ zip_code: string;
137
+ can_transfer: number;
138
+ color: string | null;
139
+ notes: string;
140
+ hours: string;
141
+ code: string;
142
+ box_size: string;
143
+ building_id: number;
144
+ region_id: number;
145
+ auction_license: string | null;
146
+ transfer_destinations: string | null;
147
+ }
58
148
  export interface MacBidApiResponse extends Response {
59
149
  json: () => Promise<{
60
150
  [key: string]: unknown;
@@ -65,9 +155,20 @@ export declare class MacBid {
65
155
  API_ROOT: string;
66
156
  private macbid_session_headers;
67
157
  private auth_info;
68
- private tokenFilePath?;
69
- constructor(auth_info: AuthInfo, tokenFilePath?: string);
70
- authenticate: () => Promise<void>;
158
+ private mergeAuthInfo;
159
+ /** Returns persistable auth state (tokens and device_id). */
160
+ getAuthState: () => SerializableAuthState;
161
+ static serializeAuthState: (authInfo: Partial<AuthInfo>) => SerializableAuthState;
162
+ static parseAuthState: (data: string | SerializableAuthState) => Partial<AuthInfo>;
163
+ private clearLoginSession;
164
+ /** device_id saved without tokens means an SMS was sent and we're waiting for the code. */
165
+ private isAwaiting2FA;
166
+ /**
167
+ * Establish or refresh a session. Pass credentials and any saved tokens / device_id.
168
+ * Omit params on later calls to reuse the current session.
169
+ * Returns persistable auth state; use getAuthState() after API calls that may refresh tokens.
170
+ */
171
+ authenticate: (params?: Partial<AuthInfo>) => Promise<SerializableAuthState>;
71
172
  get: (path: string) => Promise<MacBidApiResponse>;
72
173
  post: (path: string, options?: RequestInit) => Promise<MacBidApiResponse>;
73
174
  /**
@@ -75,12 +176,13 @@ export declare class MacBid {
75
176
  */
76
177
  private check_auth;
77
178
  /**
78
- * Do the login request
79
- * @param email - User email
80
- * @param password - User password
81
- * @param validation_code - Optional validation code. If not provided, will check auth_info.validation_code
179
+ * Validate the access code and get tokens
180
+ */
181
+ private validateCode;
182
+ /**
183
+ * Do the login request using auth_info fields.
82
184
  */
83
- login: (email: string, password: string, validation_code?: string) => Promise<boolean>;
185
+ private login;
84
186
  get_refresh_token_expiration: () => Date;
85
187
  /**
86
188
  * Check if the access token is expired or about to expire (within 5 minutes)
@@ -103,13 +205,17 @@ export declare class MacBid {
103
205
  */
104
206
  get_watchlist: () => Promise<WatchlistFull[]>;
105
207
  /**
106
- * Save tokens to file for persistence across restarts
208
+ * Returns the logged in user's active won items (e.g. awaiting pickup).
209
+ */
210
+ get_active: () => Promise<ActiveItem[]>;
211
+ /**
212
+ * Returns all Mac.Bid warehouse buildings.
107
213
  */
108
- private saveTokens;
214
+ get_buildings: () => Promise<Building[]>;
109
215
  /**
110
- * Load tokens from file
216
+ * Returns all Mac.Bid pickup locations.
111
217
  */
112
- static loadTokens: (tokenFilePath: string) => Promise<Partial<AuthInfo> | null>;
218
+ get_locations: () => Promise<Location[]>;
113
219
  }
114
220
  export default MacBid;
115
221
  //# sourceMappingURL=MacBid.d.ts.map
package/MacBid.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"MacBid.d.ts","sourceRoot":"","sources":["MacBid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MacBid.d.ts","sourceRoot":"","sources":["MacBid.ts"],"names":[],"mappings":"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"}
package/MacBid.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import fetch from "node-fetch";
2
- import { promises as fs } from "node:fs";
2
+ import { randomUUID } from "node:crypto";
3
3
  export var AuctionType;
4
4
  (function (AuctionType) {
5
5
  AuctionType["Pallet"] = "pallet";
@@ -17,50 +17,109 @@ export class MacBid {
17
17
  macbid_session_headers = {
18
18
  "Content-Type": "application/json",
19
19
  };
20
- auth_info;
21
- tokenFilePath;
22
- constructor(auth_info, tokenFilePath) {
23
- this.auth_info = auth_info;
24
- this.tokenFilePath = tokenFilePath;
25
- // Don't authenticate in constructor - wait until actually needed
26
- }
27
- authenticate = async () => {
28
- if (this.auth_info) {
29
- // If we have a token, use it (will be auto-refreshed if expired)
30
- if (this.auth_info.token) {
31
- this.macbid_session_headers["Authorization"] = this.auth_info
32
- .token;
20
+ auth_info = {};
21
+ mergeAuthInfo = (params) => {
22
+ Object.assign(this.auth_info, params);
23
+ };
24
+ /** Returns persistable auth state (tokens and device_id). */
25
+ getAuthState = () => {
26
+ return MacBid.serializeAuthState(this.auth_info);
27
+ };
28
+ static serializeAuthState = (authInfo) => ({
29
+ token: authInfo.token,
30
+ refresh_token: authInfo.refresh_token,
31
+ token_expiration: authInfo.token_expiration?.toISOString(),
32
+ refresh_token_expiration: authInfo.refresh_token_expiration?.toISOString(),
33
+ user_id: authInfo.user_id,
34
+ device_id: authInfo.device_id,
35
+ });
36
+ static parseAuthState = (data) => {
37
+ const parsed = typeof data === "string"
38
+ ? JSON.parse(data)
39
+ : data;
40
+ return {
41
+ token: parsed.token,
42
+ refresh_token: parsed.refresh_token,
43
+ token_expiration: parsed.token_expiration
44
+ ? new Date(parsed.token_expiration)
45
+ : undefined,
46
+ refresh_token_expiration: parsed.refresh_token_expiration
47
+ ? new Date(parsed.refresh_token_expiration)
48
+ : undefined,
49
+ user_id: parsed.user_id,
50
+ device_id: parsed.device_id,
51
+ };
52
+ };
53
+ clearLoginSession = () => {
54
+ delete this.auth_info.token;
55
+ delete this.auth_info.refresh_token;
56
+ delete this.auth_info.token_expiration;
57
+ delete this.auth_info.refresh_token_expiration;
58
+ delete this.auth_info.user_id;
59
+ delete this.auth_info.device_id;
60
+ delete this.auth_info.validation_code;
61
+ delete this.macbid_session_headers["Authorization"];
62
+ };
63
+ /** device_id saved without tokens means an SMS was sent and we're waiting for the code. */
64
+ isAwaiting2FA = () => {
65
+ return !!(this.auth_info.device_id &&
66
+ !this.auth_info.token &&
67
+ !this.auth_info.refresh_token);
68
+ };
69
+ /**
70
+ * Establish or refresh a session. Pass credentials and any saved tokens / device_id.
71
+ * Omit params on later calls to reuse the current session.
72
+ * Returns persistable auth state; use getAuthState() after API calls that may refresh tokens.
73
+ */
74
+ authenticate = async (params) => {
75
+ if (params) {
76
+ this.mergeAuthInfo(params);
77
+ }
78
+ if (this.auth_info.token) {
79
+ this.macbid_session_headers["Authorization"] = this.auth_info.token;
80
+ if (!this.isTokenExpired()) {
33
81
  console.log("Using existing access token");
34
- // Token will be auto-refreshed by ensureValidToken if needed
35
- return;
82
+ return this.getAuthState();
36
83
  }
37
- // If we have a refresh token but no access token, try to refresh first
38
- if (this.auth_info.refresh_token) {
39
- if (this.isRefreshTokenExpired()) {
40
- console.log("Refresh token has expired, need to login");
84
+ if (this.auth_info.refresh_token && !this.isRefreshTokenExpired()) {
85
+ console.log("Access token expired, refreshing");
86
+ try {
87
+ await this.refreshToken();
88
+ return this.getAuthState();
41
89
  }
42
- else {
43
- console.log("No access token, attempting to refresh using refresh token");
44
- try {
45
- await this.refreshToken();
46
- console.log("Successfully refreshed token");
47
- return;
48
- }
49
- catch (error) {
50
- // If refresh fails, fall through to login
51
- console.warn("Failed to refresh token, attempting login:", error);
52
- }
90
+ catch (error) {
91
+ console.warn("Failed to refresh token, attempting login:", error);
92
+ this.clearLoginSession();
53
93
  }
54
94
  }
55
- // No valid tokens, need to login
56
- if (this.auth_info.email && this.auth_info.password) {
57
- console.log("No valid tokens found, attempting login");
58
- await this.login(this.auth_info.email, this.auth_info.password);
95
+ else {
96
+ this.clearLoginSession();
97
+ }
98
+ }
99
+ else if (this.auth_info.refresh_token) {
100
+ if (this.isRefreshTokenExpired()) {
101
+ console.log("Refresh token has expired, need to login");
102
+ this.clearLoginSession();
59
103
  }
60
104
  else {
61
- throw new Error("Invalid auth_info");
105
+ console.log("No access token, attempting to refresh using refresh token");
106
+ try {
107
+ await this.refreshToken();
108
+ console.log("Successfully refreshed token");
109
+ return this.getAuthState();
110
+ }
111
+ catch (error) {
112
+ console.warn("Failed to refresh token, attempting login:", error);
113
+ this.clearLoginSession();
114
+ }
62
115
  }
63
116
  }
117
+ if (this.auth_info.email && this.auth_info.password) {
118
+ console.log("No valid tokens found, attempting login");
119
+ await this.login();
120
+ return this.getAuthState();
121
+ }
122
+ throw new Error("email and password are required to log in");
64
123
  };
65
124
  get = async (path) => {
66
125
  await this.ensureValidToken();
@@ -91,17 +150,86 @@ export class MacBid {
91
150
  return true;
92
151
  };
93
152
  /**
94
- * Do the login request
95
- * @param email - User email
96
- * @param password - User password
97
- * @param validation_code - Optional validation code. If not provided, will check auth_info.validation_code
153
+ * Validate the access code and get tokens
98
154
  */
99
- login = async (email, password, validation_code) => {
100
- // Use existing device_id if available, otherwise generate a new one
101
- const device_id = this.auth_info.device_id || crypto.randomUUID();
102
- if (!this.auth_info.device_id) {
103
- this.auth_info.device_id = device_id;
155
+ validateCode = async (code, device_id) => {
156
+ console.log("Validating code with device_id:", device_id);
157
+ const validation_params = {
158
+ code: code,
159
+ device_id: device_id,
160
+ new_password: "",
161
+ remember_me: false, // Match the browser behavior
162
+ };
163
+ console.log("Sending validation request to /auth/validate-access-code");
164
+ // Use PUT method like the browser does
165
+ const validation_res = await fetch(this.API_ROOT + "/auth/validate-access-code", {
166
+ method: "PUT",
167
+ body: JSON.stringify(validation_params),
168
+ headers: {
169
+ "Content-Type": "application/json",
170
+ },
171
+ });
172
+ const validation_resJson = (await validation_res.json());
173
+ console.log("Validation response status:", validation_res.status);
174
+ const errorMessage = validation_resJson["error"] || validation_resJson["message"] || "";
175
+ const hasError = validation_res.status !== 200 ||
176
+ !!validation_resJson["error"] ||
177
+ (typeof errorMessage === "string" && errorMessage.includes("Missing"));
178
+ if (hasError) {
179
+ console.error("Validation failed:", errorMessage || validation_res.status);
180
+ if (errorMessage.toLowerCase().includes("already verified")) {
181
+ this.clearLoginSession();
182
+ throw new Error("Validation code was already used. Clear saved auth state and authenticate again to request a new code.");
183
+ }
184
+ throw new Error(`Validation failed: ${errorMessage || "Unknown error"}`);
104
185
  }
186
+ const access_token = validation_resJson["access_token"];
187
+ const refresh_token = validation_resJson["refresh_token"];
188
+ const user_id = validation_resJson["user_id"];
189
+ const expires = validation_resJson["expires"];
190
+ const expiration_refresh = validation_resJson["expiration_refresh"];
191
+ if (access_token) {
192
+ console.log("Access token received, saving tokens...");
193
+ this.auth_info.token = access_token;
194
+ this.auth_info.user_id = String(user_id);
195
+ this.macbid_session_headers["Authorization"] = this.auth_info.token;
196
+ this.auth_info.token_expiration = new Date(expires * 1000);
197
+ this.auth_info.refresh_token = refresh_token;
198
+ this.auth_info.refresh_token_expiration = new Date(expiration_refresh * 1000);
199
+ delete this.auth_info.validation_code;
200
+ console.log("✓ Login successful");
201
+ return true;
202
+ }
203
+ else {
204
+ console.error("No access token in validation response");
205
+ throw new Error("Login failed: No access token received");
206
+ }
207
+ };
208
+ /**
209
+ * Do the login request using auth_info fields.
210
+ */
211
+ login = async () => {
212
+ const email = this.auth_info.email;
213
+ const password = this.auth_info.password;
214
+ if (!email || !password) {
215
+ throw new Error("email and password are required to log in");
216
+ }
217
+ const code = this.auth_info.validation_code;
218
+ if (code) {
219
+ const device_id = this.auth_info.device_id;
220
+ if (!device_id) {
221
+ throw new Error("device_id is required to validate a code");
222
+ }
223
+ console.log("Validation code present, attempting to validate...");
224
+ return await this.validateCode(code, device_id);
225
+ }
226
+ if (this.isAwaiting2FA()) {
227
+ throw new Error("A validation code was already sent for this device_id. Provide validation_code to continue.");
228
+ }
229
+ const device_id = randomUUID();
230
+ this.auth_info.device_id = device_id;
231
+ console.log("Generated new device_id:", device_id);
232
+ console.log("No validation code found, requesting new code...");
105
233
  const login_params = {
106
234
  device_id: device_id,
107
235
  email: email,
@@ -113,57 +241,13 @@ export class MacBid {
113
241
  utm_medium: null,
114
242
  utm_source: null,
115
243
  };
116
- // https://api.macdiscount.com/auth/auth-validation
117
244
  const res = await this.post("/auth/auth-validation", {
118
245
  body: JSON.stringify(login_params),
119
246
  });
120
247
  const resJson = await res.json();
121
248
  if (resJson["message"] === "Login validation code sent") {
122
- // Get validation code from parameter, auth_info, or throw error
123
- const code = validation_code ||
124
- this.auth_info.validation_code ||
125
- process.env.MACBID_VALIDATION_CODE;
126
- if (!code) {
127
- throw new Error("Validation code required. Provide it via:\n" +
128
- " 1. login() method parameter: login(email, password, validation_code)\n" +
129
- " 2. AuthInfo.validation_code when creating MacBid instance\n" +
130
- " 3. MACBID_VALIDATION_CODE environment variable");
131
- }
132
- const validation_params = {
133
- code: code,
134
- device_id: login_params.device_id,
135
- new_password: "",
136
- remember_me: true,
137
- };
138
- const validation_res = await this.post("/auth/validate-access-code", {
139
- body: JSON.stringify(validation_params),
140
- });
141
- const validation_resJson = await validation_res.json();
142
- // Check if validation failed
143
- if (validation_res.status !== 200 || validation_resJson["error"]) {
144
- console.error("Validation failed:", JSON.stringify(validation_resJson, null, 2));
145
- throw new Error(`Validation failed: ${validation_resJson["error"] || validation_resJson["message"] || "Unknown error"}`);
146
- }
147
- const access_token = validation_resJson["access_token"];
148
- const refresh_token = validation_resJson["refresh_token"];
149
- const user_id = validation_resJson["user_id"];
150
- const expires = validation_resJson["expires"];
151
- const expiration_refresh = validation_resJson["expiration_refresh"];
152
- if (access_token) {
153
- this.auth_info.token = access_token;
154
- this.auth_info.user_id = user_id;
155
- this.macbid_session_headers["Authorization"] = this.auth_info.token;
156
- this.auth_info.token_expiration = new Date(expires * 1000);
157
- this.auth_info.refresh_token = refresh_token;
158
- this.auth_info.refresh_token_expiration = new Date(expiration_refresh * 1000);
159
- await this.saveTokens();
160
- console.log("Login successful, tokens saved");
161
- return true;
162
- }
163
- else {
164
- console.error("No access token in validation response:", JSON.stringify(validation_resJson, null, 2));
165
- throw new Error("Login failed: No access token received");
166
- }
249
+ console.log("✓ Validation code sent");
250
+ throw new Error("Validation code sent. Provide validation_code and authenticate again.");
167
251
  }
168
252
  console.error("Unexpected login response:", JSON.stringify(resJson, null, 2));
169
253
  throw new Error("Login failed");
@@ -218,9 +302,8 @@ export class MacBid {
218
302
  },
219
303
  });
220
304
  const resJson = (await res.json());
221
- // Check for error response
222
- if (resJson["error"]) {
223
- throw new Error(`Failed to refresh token: ${resJson["error"]}`);
305
+ if (!res.ok || resJson.error) {
306
+ throw new Error(`Failed to refresh token: ${resJson.error || res.status}`);
224
307
  }
225
308
  const access_token = resJson["access_token"];
226
309
  const refresh_token = resJson["refresh_token"];
@@ -237,7 +320,6 @@ export class MacBid {
237
320
  if (expiration_refresh) {
238
321
  this.auth_info.refresh_token_expiration = new Date(expiration_refresh * 1000);
239
322
  }
240
- await this.saveTokens();
241
323
  return true;
242
324
  }
243
325
  else {
@@ -261,49 +343,28 @@ export class MacBid {
261
343
  return (await res.json())["watchlist_full"];
262
344
  };
263
345
  /**
264
- * Save tokens to file for persistence across restarts
346
+ * Returns the logged in user's active won items (e.g. awaiting pickup).
265
347
  */
266
- saveTokens = async () => {
267
- if (!this.tokenFilePath) {
268
- console.log("No token file path provided, skipping token save");
269
- return;
270
- }
271
- try {
272
- const tokenData = {
273
- token: this.auth_info.token,
274
- refresh_token: this.auth_info.refresh_token,
275
- token_expiration: this.auth_info.token_expiration?.toISOString(),
276
- refresh_token_expiration: this.auth_info.refresh_token_expiration?.toISOString(),
277
- user_id: this.auth_info.user_id,
278
- device_id: this.auth_info.device_id,
279
- };
280
- await fs.writeFile(this.tokenFilePath, JSON.stringify(tokenData, null, 2), "utf-8");
281
- console.log("Tokens saved to file:", this.tokenFilePath);
282
- }
283
- catch (error) {
284
- console.warn("Failed to save tokens:", error);
285
- }
348
+ get_active = async () => {
349
+ this.check_auth();
350
+ const res = await this.get(`/user/${this.auth_info["user_id"]}/active`);
351
+ return (await res.json());
286
352
  };
287
353
  /**
288
- * Load tokens from file
354
+ * Returns all Mac.Bid warehouse buildings.
289
355
  */
290
- static loadTokens = async (tokenFilePath) => {
291
- try {
292
- const data = await fs.readFile(tokenFilePath, "utf-8");
293
- const tokenData = JSON.parse(data);
294
- return {
295
- token: tokenData.token,
296
- refresh_token: tokenData.refresh_token,
297
- token_expiration: tokenData.token_expiration ? new Date(tokenData.token_expiration) : undefined,
298
- refresh_token_expiration: tokenData.refresh_token_expiration ? new Date(tokenData.refresh_token_expiration) : undefined,
299
- user_id: tokenData.user_id,
300
- device_id: tokenData.device_id,
301
- };
302
- }
303
- catch (error) {
304
- // File doesn't exist or is invalid, return null
305
- return null;
306
- }
356
+ get_buildings = async () => {
357
+ this.check_auth();
358
+ const res = await this.get("/buildings");
359
+ return (await res.json());
360
+ };
361
+ /**
362
+ * Returns all Mac.Bid pickup locations.
363
+ */
364
+ get_locations = async () => {
365
+ this.check_auth();
366
+ const res = await this.get("/locations");
367
+ return (await res.json());
307
368
  };
308
369
  }
309
370
  export default MacBid;
package/MacBid.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"MacBid.js","sourceRoot":"","sources":["MacBid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MacBid.js","sourceRoot":"","sources":["MacBid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6DzC,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,qCAAoB,CAAA;IACpB,qCAAoB,CAAA;AACtB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AA6FD,MAAM,OAAO,MAAM;IACV,cAAc,GAAG,qBAAqB,CAAC;IACvC,QAAQ,GAAG,6BAA6B,CAAC;IAExC,sBAAsB,GAA8B;QAC1D,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACM,SAAS,GAAa,EAAE,CAAC;IAEzB,aAAa,GAAG,CAAC,MAAyB,EAAQ,EAAE;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,6DAA6D;IACtD,YAAY,GAAG,GAA0B,EAAE;QAChD,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC,CAAC;IAEK,MAAM,CAAC,kBAAkB,GAAG,CACjC,QAA2B,EACJ,EAAE,CAAC,CAAC;QAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE;QAC1D,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB,EAAE,WAAW,EAAE;QAC1E,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC,CAAC;IAEI,MAAM,CAAC,cAAc,GAAG,CAC7B,IAAoC,EACjB,EAAE;QACrB,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAA2B;YAC7C,CAAC,CAAC,IAAI,CAAC;QAEX,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACvC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACnC,CAAC,CAAC,SAAS;YACb,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;gBACvD,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;gBAC3C,CAAC,CAAC,SAAS;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC,CAAC;IAEM,iBAAiB,GAAG,GAAS,EAAE;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QACtC,OAAO,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,2FAA2F;IACnF,aAAa,GAAG,GAAY,EAAE;QACpC,OAAO,CAAC,CAAC,CACP,IAAI,CAAC,SAAS,CAAC,SAAS;YACxB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YACrB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9B,CAAC;IACJ,CAAC,CAAC;IAEF;;;;OAIG;IACI,YAAY,GAAG,KAAK,EACzB,MAA0B,EACM,EAAE;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;oBAClE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC1E,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;oBAC5C,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;oBAClE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEK,GAAG,GAAG,KAAK,EAAE,IAAY,EAA8B,EAAE;QAC9D,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,sBAAsB;SACrC,CAAC,CAAsB,CAAC;IAC3B,CAAC,CAAC;IAEK,IAAI,GAAG,KAAK,EACjB,IAAY,EACZ,OAAqB,EACO,EAAE;QAC9B,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE;YACxC,6DAA6D;YAC7D,aAAa;YACb,OAAO,EAAE,IAAI,CAAC,sBAAsB;YACpC,MAAM,EAAE,MAAM;YACd,GAAG,OAAO;SACX,CAAC,CAAsB,CAAC;IAC3B,CAAC,CAAC;IAEF;;OAEG;IACK,UAAU,GAAG,GAAY,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF;;OAEG;IACK,YAAY,GAAG,KAAK,EAC1B,IAAY,EACZ,SAAiB,EACC,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC;QAE1D,MAAM,iBAAiB,GAAG;YACxB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,KAAK,EAAE,6BAA6B;SAClD,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAExE,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,4BAA4B,EAAE;YAC/E,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;YACvC,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAQtD,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,KAAK,GAAG;YAC9B,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC7B,CAAC,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAEvF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,YAAY,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3E,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,CAAW,CAAC;QAClE,MAAM,aAAa,GAAG,kBAAkB,CAAC,eAAe,CAAW,CAAC;QACpE,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAW,CAAC;QACxD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAW,CAAC;QACxD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,oBAAoB,CAAW,CAAC;QAE9E,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,YAAsB,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;IAEF;;OAEG;IACK,KAAK,GAAG,KAAK,IAAsB,EAAE;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QAE5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;SACnC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,4BAA4B,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC,CAAC;IAEK,4BAA4B,GAAG,GAAS,EAAE;QAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAA;IAED;;OAEG;IACK,cAAc,GAAG,GAAY,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,4CAA4C;QAC5C,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,4BAA4B;QAC9D,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC;IAC9E,CAAC,CAAA;IAED;;OAEG;IACK,qBAAqB,GAAG,GAAY,EAAE;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC;IACzE,CAAC,CAAA;IAED;;OAEG;IACI,YAAY,GAAG,KAAK,IAAsB,EAAE;QACjD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,cAAc,GAAG;YACrB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa;SAC5C,CAAC;QAEF,6EAA6E;QAC7E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,qBAAqB,EAAE;YAC7D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;YACpC,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAMhC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,4BAA4B,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAW,CAAC;QACvD,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAuB,CAAC;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAW,CAAC;QAC7C,MAAM,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAuB,CAAC;QAE/E,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;YACpC,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;YAE3D,gDAAgD;YAChD,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;YAC/C,CAAC;YACD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAA;IAED;;OAEG;IACK,gBAAgB,GAAG,KAAK,IAAmB,EAAE;QACnD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,CAAA;IAED;;OAEG;IACI,aAAa,GAAG,KAAK,IAA8B,EAAE;QAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,sBAAsB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAClE,CAAC;QAEF,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,CAAoB,CAAC;IACjE,CAAC,CAAC;IAEF;;OAEG;IACI,UAAU,GAAG,KAAK,IAA2B,EAAE;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAExE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;IACvD,CAAC,CAAC;IAEF;;OAEG;IACI,aAAa,GAAG,KAAK,IAAyB,EAAE;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0B,CAAC;IACrD,CAAC,CAAC;IAEF;;OAEG;IACI,aAAa,GAAG,KAAK,IAAyB,EAAE;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0B,CAAC;IACrD,CAAC,CAAC;;AAGJ,eAAe,MAAM,CAAC"}