@indigoai-us/hq-cloud 6.16.59 → 6.16.61

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.
@@ -125,11 +125,11 @@ export declare function tokenCacheFile(): string;
125
125
  /**
126
126
  * Where a machine identity keeps its minted sessions.
127
127
  *
128
- * `HQ_MACHINE_TOKEN_STATE_DIR` wins (hq-cli sets it per local bot and per
129
- * agent box). Otherwise the cache sits next to the creds file that defines the
130
- * identity — `~/.hq-agent/token-state/` for the default creds path so it is
131
- * never the person's `~/.hq`, and two machine identities on one host with
132
- * different creds files never share a cache either.
128
+ * `HQ_MACHINE_TOKEN_STATE_DIR` wins (hq-cli sets it per local bot). Otherwise
129
+ * the mesh daemon state dir `$HQ_WORK_MESH_ROOT/daemon`, default
130
+ * `~/.hq/work-mesh/daemon` which is where hq-cli has always redirected
131
+ * machine mints on agent boxes, so an upgraded box keeps its existing cache.
132
+ * Either way it is never {@link tokenCacheFile}, the person's sign-in.
133
133
  *
134
134
  * Incident (2026-09-17): a local setup bot on a customer's Mac ran with its
135
135
  * creds in scope, the mint saved to `tokenCacheFile()`, and the desktop app —
@@ -147,6 +147,10 @@ export declare function accessTokenFingerprint(accessToken: string): string;
147
147
  * Mark only the rejected token generation unusable. Automatic auth failures
148
148
  * must not unlink the shared cache: another process may have completed a
149
149
  * refresh or login after the failing request started.
150
+ *
151
+ * The marker is written beside the person file and, when this process holds
152
+ * machine creds, beside the machine file too. A fingerprint names exactly one
153
+ * token generation, so a marker in the cache that never held it is inert.
150
154
  */
151
155
  export declare function invalidateCachedTokensByFingerprint(fingerprint: string | undefined): void;
152
156
  /**
@@ -156,9 +160,31 @@ export declare function invalidateCachedTokensByFingerprint(fingerprint: string
156
160
  * treated as a machine's.
157
161
  */
158
162
  export declare function tokensCarryMachineIdentity(tokens: CognitoTokens): boolean;
163
+ /**
164
+ * The PERSON's cached session, or null.
165
+ *
166
+ * Only ever yields a person. A machine token found in the person file was
167
+ * written there by an older library; serving it would sign this process — and
168
+ * the desktop app that shares the file — in as that machine. It is refused, and
169
+ * the human path re-authenticates.
170
+ */
159
171
  export declare function loadCachedTokens(): CognitoTokens | null;
172
+ /** The MACHINE identity's cached session, or null. */
173
+ export declare function loadCachedMachineTokens(): CognitoTokens | null;
174
+ /**
175
+ * Persist a session to the cache that belongs to the principal it names.
176
+ *
177
+ * The destination is decided by the token's own ID claims, not by the caller:
178
+ * a machine token goes to the machine cache and a person token to the person
179
+ * cache, whatever `HQ_STATE_DIR` or the creds-file situation is at the time.
180
+ * This is the one rule that makes the incident impossible rather than merely
181
+ * unlikely.
182
+ */
160
183
  export declare function saveCachedTokens(tokens: CognitoTokens): void;
184
+ /** Sign the PERSON out of this machine. Leaves any machine identity's cache alone. */
161
185
  export declare function clearCachedTokens(): void;
186
+ /** Drop the MACHINE identity's cached session. Leaves the person signed in. */
187
+ export declare function clearCachedMachineTokens(): void;
162
188
  /** Thrown when the refresh lock can't be acquired within the deadline. */
163
189
  export declare class RefreshLockTimeoutError extends Error {
164
190
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"cognito-auth.d.ts","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognito-auth.d.ts","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"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"}
@@ -127,11 +127,11 @@ export function tokenCacheFile() {
127
127
  /**
128
128
  * Where a machine identity keeps its minted sessions.
129
129
  *
130
- * `HQ_MACHINE_TOKEN_STATE_DIR` wins (hq-cli sets it per local bot and per
131
- * agent box). Otherwise the cache sits next to the creds file that defines the
132
- * identity — `~/.hq-agent/token-state/` for the default creds path so it is
133
- * never the person's `~/.hq`, and two machine identities on one host with
134
- * different creds files never share a cache either.
130
+ * `HQ_MACHINE_TOKEN_STATE_DIR` wins (hq-cli sets it per local bot). Otherwise
131
+ * the mesh daemon state dir `$HQ_WORK_MESH_ROOT/daemon`, default
132
+ * `~/.hq/work-mesh/daemon` which is where hq-cli has always redirected
133
+ * machine mints on agent boxes, so an upgraded box keeps its existing cache.
134
+ * Either way it is never {@link tokenCacheFile}, the person's sign-in.
135
135
  *
136
136
  * Incident (2026-09-17): a local setup bot on a customer's Mac ran with its
137
137
  * creds in scope, the mint saved to `tokenCacheFile()`, and the desktop app —
@@ -144,64 +144,68 @@ export function machineTokenStateDir() {
144
144
  const override = process.env.HQ_MACHINE_TOKEN_STATE_DIR?.trim();
145
145
  if (override !== undefined && override.length > 0)
146
146
  return override;
147
- return path.join(path.dirname(machineCredsFilePath()), "token-state");
147
+ const meshRoot = process.env.HQ_WORK_MESH_ROOT?.trim();
148
+ const root = meshRoot !== undefined && meshRoot.length > 0
149
+ ? meshRoot
150
+ : path.join(os.homedir(), ".hq", "work-mesh");
151
+ return path.join(root, "daemon");
148
152
  }
149
153
  /** The Cognito token cache file inside {@link machineTokenStateDir}. */
150
154
  export function machineTokenCacheFile() {
151
155
  return path.join(machineTokenStateDir(), "cognito-tokens.json");
152
156
  }
153
- /**
154
- * The state dir and cache file this process actually reads and writes.
155
- *
156
- * Resolved per call from {@link isMachineIdentity}, the same predicate
157
- * `getValidAccessToken` branches on, so the cache a token is saved to always
158
- * matches the path that produced it.
159
- */
160
- function activeStateDir() {
161
- return isMachineIdentity() ? machineTokenStateDir() : hqStateDir();
157
+ function cacheFileFor(kind) {
158
+ return kind === "machine" ? machineTokenCacheFile() : tokenCacheFile();
162
159
  }
163
- function activeTokenCacheFile() {
164
- return isMachineIdentity() ? machineTokenCacheFile() : tokenCacheFile();
165
- }
166
- function tokenInvalidationPrefix() {
167
- return `${activeTokenCacheFile()}.invalid.`;
160
+ function stateDirFor(kind) {
161
+ return kind === "machine" ? machineTokenStateDir() : hqStateDir();
168
162
  }
169
163
  /** Stable, non-secret identity for one access-token generation. */
170
164
  export function accessTokenFingerprint(accessToken) {
171
165
  return crypto.createHash("sha256").update(accessToken).digest("hex");
172
166
  }
173
- function invalidationPathForFingerprint(fingerprint) {
167
+ function invalidationPathForFingerprint(fingerprint, kind) {
174
168
  return /^[a-f0-9]{64}$/i.test(fingerprint)
175
- ? `${tokenInvalidationPrefix()}${fingerprint.toLowerCase()}`
169
+ ? `${cacheFileFor(kind)}.invalid.${fingerprint.toLowerCase()}`
176
170
  : null;
177
171
  }
178
172
  /**
179
173
  * Mark only the rejected token generation unusable. Automatic auth failures
180
174
  * must not unlink the shared cache: another process may have completed a
181
175
  * refresh or login after the failing request started.
176
+ *
177
+ * The marker is written beside the person file and, when this process holds
178
+ * machine creds, beside the machine file too. A fingerprint names exactly one
179
+ * token generation, so a marker in the cache that never held it is inert.
182
180
  */
183
181
  export function invalidateCachedTokensByFingerprint(fingerprint) {
184
182
  if (!fingerprint)
185
183
  return;
186
- const invalidationPath = invalidationPathForFingerprint(fingerprint);
187
- if (!invalidationPath)
188
- return;
189
- if (!fs.existsSync(activeStateDir())) {
190
- fs.mkdirSync(activeStateDir(), { recursive: true, mode: 0o700 });
191
- }
192
- try {
193
- fs.writeFileSync(invalidationPath, "", { mode: 0o600, flag: "wx" });
194
- }
195
- catch (err) {
196
- const code = err && typeof err === "object" && "code" in err
197
- ? err.code
198
- : undefined;
199
- if (code !== "EEXIST")
200
- throw err;
184
+ const kinds = isMachineIdentity()
185
+ ? ["person", "machine"]
186
+ : ["person"];
187
+ for (const kind of kinds) {
188
+ const invalidationPath = invalidationPathForFingerprint(fingerprint, kind);
189
+ if (!invalidationPath)
190
+ continue;
191
+ const dir = stateDirFor(kind);
192
+ if (!fs.existsSync(dir)) {
193
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
194
+ }
195
+ try {
196
+ fs.writeFileSync(invalidationPath, "", { mode: 0o600, flag: "wx" });
197
+ }
198
+ catch (err) {
199
+ const code = err && typeof err === "object" && "code" in err
200
+ ? err.code
201
+ : undefined;
202
+ if (code !== "EEXIST")
203
+ throw err;
204
+ }
201
205
  }
202
206
  }
203
- function tokenIsInvalidated(accessToken) {
204
- const marker = invalidationPathForFingerprint(accessTokenFingerprint(accessToken));
207
+ function tokenIsInvalidated(accessToken, kind) {
208
+ const marker = invalidationPathForFingerprint(accessTokenFingerprint(accessToken), kind);
205
209
  return marker !== null && fs.existsSync(marker);
206
210
  }
207
211
  /**
@@ -234,42 +238,64 @@ export function tokensCarryMachineIdentity(tokens) {
234
238
  const entityType = idClaims?.["custom:entityType"];
235
239
  return typeof entityType === "string" && entityType.trim().length > 0;
236
240
  }
237
- export function loadCachedTokens() {
238
- const file = activeTokenCacheFile();
241
+ function loadCachedTokensFrom(kind) {
242
+ const file = cacheFileFor(kind);
239
243
  if (!fs.existsSync(file))
240
244
  return inMemoryCachedTokens;
241
245
  try {
242
246
  const raw = fs.readFileSync(file, "utf-8");
243
247
  const tokens = JSON.parse(raw);
244
- if (!tokens.accessToken || tokenIsInvalidated(tokens.accessToken))
245
- return null;
246
- // The person cache is only ever allowed to yield a person. A machine token
247
- // found here was written by an older library into the wrong file; serving
248
- // it would sign this process — and the desktop app that shares the file —
249
- // in as that machine. Refuse it, and let the human path re-authenticate.
250
- if (!isMachineIdentity() && tokensCarryMachineIdentity(tokens))
248
+ if (!tokens.accessToken || tokenIsInvalidated(tokens.accessToken, kind)) {
251
249
  return null;
250
+ }
252
251
  return tokens;
253
252
  }
254
253
  catch {
255
254
  return inMemoryCachedTokens;
256
255
  }
257
256
  }
257
+ /**
258
+ * The PERSON's cached session, or null.
259
+ *
260
+ * Only ever yields a person. A machine token found in the person file was
261
+ * written there by an older library; serving it would sign this process — and
262
+ * the desktop app that shares the file — in as that machine. It is refused, and
263
+ * the human path re-authenticates.
264
+ */
265
+ export function loadCachedTokens() {
266
+ const tokens = loadCachedTokensFrom("person");
267
+ if (tokens && tokensCarryMachineIdentity(tokens))
268
+ return null;
269
+ return tokens;
270
+ }
271
+ /** The MACHINE identity's cached session, or null. */
272
+ export function loadCachedMachineTokens() {
273
+ return loadCachedTokensFrom("machine");
274
+ }
275
+ /**
276
+ * Persist a session to the cache that belongs to the principal it names.
277
+ *
278
+ * The destination is decided by the token's own ID claims, not by the caller:
279
+ * a machine token goes to the machine cache and a person token to the person
280
+ * cache, whatever `HQ_STATE_DIR` or the creds-file situation is at the time.
281
+ * This is the one rule that makes the incident impossible rather than merely
282
+ * unlikely.
283
+ */
258
284
  export function saveCachedTokens(tokens) {
259
285
  // Remember in-process FIRST: whatever happens to the disk write below, this
260
286
  // process must not lose a session it already successfully minted.
261
287
  inMemoryCachedTokens = tokens;
262
- // Belt and braces: even if some caller minted a machine token while
263
- // `isMachineIdentity()` said otherwise (creds file removed mid-call), a
264
- // machine token is never written to the person file.
265
- const stateDir = tokensCarryMachineIdentity(tokens) ? machineTokenStateDir() : activeStateDir();
266
- const cacheFile = path.join(stateDir, "cognito-tokens.json");
288
+ const kind = tokensCarryMachineIdentity(tokens)
289
+ ? "machine"
290
+ : "person";
291
+ const stateDir = stateDirFor(kind);
292
+ const cacheFile = cacheFileFor(kind);
267
293
  try {
268
294
  if (!fs.existsSync(stateDir)) {
269
295
  fs.mkdirSync(stateDir, { recursive: true, mode: 0o700 });
270
296
  }
271
- const invalidationPath = `${cacheFile}.invalid.${accessTokenFingerprint(tokens.accessToken)}`;
272
- if (fs.existsSync(invalidationPath)) {
297
+ const invalidationPath = invalidationPathForFingerprint(accessTokenFingerprint(tokens.accessToken), kind);
298
+ if (invalidationPath && fs.existsSync(invalidationPath)) {
273
299
  fs.unlinkSync(invalidationPath);
274
300
  }
275
301
  const tmpPath = path.join(stateDir, `.cognito-tokens.json.tmp.${process.pid}`);
@@ -283,9 +309,9 @@ export function saveCachedTokens(tokens) {
283
309
  throw err;
284
310
  }
285
311
  }
286
- export function clearCachedTokens() {
287
- const file = activeTokenCacheFile();
288
- const dir = activeStateDir();
312
+ function clearCachedTokensOf(kind) {
313
+ const file = cacheFileFor(kind);
314
+ const dir = stateDirFor(kind);
289
315
  if (fs.existsSync(file))
290
316
  fs.unlinkSync(file);
291
317
  if (!fs.existsSync(dir))
@@ -297,9 +323,17 @@ export function clearCachedTokens() {
297
323
  }
298
324
  }
299
325
  }
326
+ /** Sign the PERSON out of this machine. Leaves any machine identity's cache alone. */
327
+ export function clearCachedTokens() {
328
+ clearCachedTokensOf("person");
329
+ }
330
+ /** Drop the MACHINE identity's cached session. Leaves the person signed in. */
331
+ export function clearCachedMachineTokens() {
332
+ clearCachedTokensOf("machine");
333
+ }
300
334
  /** Advisory lockfile guarding the read→refresh→save cycle (see withRefreshLock). */
301
- function refreshLockFile() {
302
- return `${activeTokenCacheFile()}.lock`;
335
+ function refreshLockFile(kind) {
336
+ return `${cacheFileFor(kind)}.lock`;
303
337
  }
304
338
  /** Thrown when the refresh lock can't be acquired within the deadline. */
305
339
  export class RefreshLockTimeoutError extends Error {
@@ -309,9 +343,9 @@ export class RefreshLockTimeoutError extends Error {
309
343
  }
310
344
  }
311
345
  /** The pid recorded in the lockfile, or null if absent/empty/malformed. */
312
- function readLockOwnerPid() {
346
+ function readLockOwnerPid(kind) {
313
347
  try {
314
- const pid = Number.parseInt(fs.readFileSync(refreshLockFile(), "utf-8").trim(), 10);
348
+ const pid = Number.parseInt(fs.readFileSync(refreshLockFile(kind), "utf-8").trim(), 10);
315
349
  return Number.isInteger(pid) && pid > 0 ? pid : null;
316
350
  }
317
351
  catch {
@@ -356,12 +390,13 @@ function processAlive(pid) {
356
390
  * still-valid cached token and otherwise retries next cycle. Proceeding
357
391
  * unlocked would reintroduce the exact rotation race this guards.
358
392
  */
359
- async function withRefreshLock(fn) {
393
+ async function withRefreshLock(kind, fn) {
360
394
  const timeoutMs = 20_000;
361
395
  const pollMs = 50;
396
+ const lockFile = refreshLockFile(kind);
362
397
  try {
363
- if (!fs.existsSync(activeStateDir())) {
364
- fs.mkdirSync(activeStateDir(), { recursive: true, mode: 0o700 });
398
+ if (!fs.existsSync(stateDirFor(kind))) {
399
+ fs.mkdirSync(stateDirFor(kind), { recursive: true, mode: 0o700 });
365
400
  }
366
401
  }
367
402
  catch (err) {
@@ -372,7 +407,7 @@ async function withRefreshLock(fn) {
372
407
  // Publish a fully-written inode with an atomic hard link. Creating the lock
373
408
  // itself and then writing the pid leaves an observable empty-file window in
374
409
  // which a contender can misclassify and unlink a live holder's lock.
375
- const candidate = `${refreshLockFile()}.candidate.${process.pid}.${crypto.randomBytes(8).toString("hex")}`;
410
+ const candidate = `${lockFile}.candidate.${process.pid}.${crypto.randomBytes(8).toString("hex")}`;
376
411
  try {
377
412
  fs.writeFileSync(candidate, String(process.pid), {
378
413
  flag: "wx",
@@ -394,17 +429,17 @@ async function withRefreshLock(fn) {
394
429
  try {
395
430
  for (;;) {
396
431
  try {
397
- fs.linkSync(candidate, refreshLockFile());
432
+ fs.linkSync(candidate, lockFile);
398
433
  held = true;
399
434
  break;
400
435
  }
401
436
  catch (err) {
402
437
  if (err.code !== "EEXIST")
403
438
  throw err;
404
- const owner = readLockOwnerPid();
439
+ const owner = readLockOwnerPid(kind);
405
440
  if (owner === null || (owner !== process.pid && !processAlive(owner))) {
406
441
  try {
407
- fs.unlinkSync(refreshLockFile()); // crashed/malformed holder — reclaim
442
+ fs.unlinkSync(lockFile); // crashed/malformed holder — reclaim
408
443
  }
409
444
  catch {
410
445
  /* raced with another reclaimer */
@@ -420,9 +455,9 @@ async function withRefreshLock(fn) {
420
455
  }
421
456
  finally {
422
457
  // Release ONLY our own lock — never clobber a successor's.
423
- if (held && readLockOwnerPid() === process.pid) {
458
+ if (held && readLockOwnerPid(kind) === process.pid) {
424
459
  try {
425
- fs.unlinkSync(refreshLockFile());
460
+ fs.unlinkSync(lockFile);
426
461
  }
427
462
  catch {
428
463
  /* already released */
@@ -936,7 +971,7 @@ async function mintExternalMachineTokens(creds, clientId, retryOpts) {
936
971
  * race another process's cache write.
937
972
  */
938
973
  export async function mintMachineTokens(config, creds, retry) {
939
- return withRefreshLock(() => mintMachineTokensUnlocked(config, creds, retry));
974
+ return withRefreshLock("machine", () => mintMachineTokensUnlocked(config, creds, retry));
940
975
  }
941
976
  let inProcessMachineTokens = null;
942
977
  const inFlightMachineMints = new Map();
@@ -988,7 +1023,7 @@ export async function getValidMachineTokens(config) {
988
1023
  // Re-read only after acquiring the process-shared lock. A different hq
989
1024
  // process may have minted and saved this machine's session while this
990
1025
  // caller was waiting.
991
- const cached = loadCachedTokens();
1026
+ const cached = loadCachedMachineTokens();
992
1027
  if (cached && !isExpiring(cached, 120)) {
993
1028
  // Compare against the client we'd actually mint with (creds-file
994
1029
  // clientId wins over config), and require the cached ID token to prove
@@ -1007,14 +1042,14 @@ export async function getValidMachineTokens(config) {
1007
1042
  return mintMachineTokensUnlocked(config, machineCreds);
1008
1043
  };
1009
1044
  try {
1010
- return await withRefreshLock(resolveUnderLock);
1045
+ return await withRefreshLock("machine", resolveUnderLock);
1011
1046
  }
1012
1047
  catch (err) {
1013
1048
  if (!(err instanceof RefreshLockTimeoutError))
1014
1049
  throw err;
1015
1050
  // Never mint unlocked. If the holder managed to persist a matching fresh
1016
1051
  // session, reuse it; otherwise surface a retryable auth failure.
1017
- const cached = loadCachedTokens();
1052
+ const cached = loadCachedMachineTokens();
1018
1053
  if (cached && !isExpiring(cached, 120)) {
1019
1054
  if (machineTokenPairMatchesIdentity(cached, machineCreds, expectedClientId)) {
1020
1055
  // The successful path always leaves a machine cache with no refresh
@@ -1300,7 +1335,7 @@ export async function refreshTokens(config, currentRefreshToken, currentAccessTo
1300
1335
  new CognitoRefreshError("Cognito refresh failed after retry", false));
1301
1336
  };
1302
1337
  try {
1303
- return await withRefreshLock(doRefresh);
1338
+ return await withRefreshLock("person", doRefresh);
1304
1339
  }
1305
1340
  catch (err) {
1306
1341
  if (!(err instanceof RefreshLockTimeoutError))
@@ -1 +1 @@
1
- {"version":3,"file":"cognito-auth.js","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAuCxB,qFAAqF;AACrF,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvC,cAAc,CAAU;IACxB,UAAU,CAAU;IACpB,kBAAkB,CAAU;IAE5C,YACE,OAAe,EACf,cAAuB,EACvB,UAAmB,EACnB,kBAA2B;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,sEAAsE;IACtE,+EAA+E;IAC/E,IAAI,GAAG,YAAY,mBAAmB;QAAE,OAAO,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IAC3E,OAAO,GAAG,YAAY,gBAAgB,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,OAAO,GAAG,YAAY,mBAAmB,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC;AAC5E,CAAC;AAED,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAClD,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AACxE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc;IACrB,OAAO,iBAAiB,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,iBAAiB,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,GAAG,oBAAoB,EAAE,WAAW,CAAC;AAC9C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,8BAA8B,CAAC,WAAmB;IACzD,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC,CAAC,GAAG,uBAAuB,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,EAAE;QAC5D,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CACjD,WAA+B;IAE/B,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GACR,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG;YAC7C,CAAC,CAAE,GAAyB,CAAC,IAAI;YACjC,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,MAAM,GAAG,8BAA8B,CAC3C,sBAAsB,CAAC,WAAW,CAAC,CACpC,CAAC;IACF,OAAO,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,GAAY;IACtC,MAAM,IAAI,GAAI,GAAyC,EAAE,IAAI,CAAC;IAC9D,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,IAAI,oBAAoB,GAAyB,IAAI,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAqB;IAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACnD,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,oBAAoB,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/E,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,CAAC,iBAAiB,EAAE,IAAI,0BAA0B,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5E,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,4EAA4E;IAC5E,kEAAkE;IAClE,oBAAoB,GAAG,MAAM,CAAC;IAC9B,oEAAoE;IACpE,wEAAwE;IACxE,qDAAqD;IACrD,MAAM,QAAQ,GACZ,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,gBAAgB,GAAG,GAAG,SAAS,YAAY,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9F,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/E,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAChC,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,eAAe;IACtB,OAAO,GAAG,oBAAoB,EAAE,OAAO,CAAC;AAC1C,CAAC;AAED,0EAA0E;AAC1E,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,2EAA2E;AAC3E,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,UAAU,eAAe,CAAI,EAAoB;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YACrC,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC;QACxC,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,SAAS,GAAG,GAAG,eAAe,EAAE,cAAc,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3G,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/C,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC;QACxC,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC;QACH,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1C,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;YACR,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,GAAG,CAAC;gBAChE,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;gBACjC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACtE,IAAI,CAAC;wBACH,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,qCAAqC;oBACzE,CAAC;oBAAC,MAAM,CAAC;wBACP,kCAAkC;oBACpC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;oBAAE,MAAM,IAAI,uBAAuB,EAAE,CAAC;gBAChE,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,2DAA2D;QAC3D,IAAI,IAAI,IAAI,gBAAgB,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QACD,4EAA4E;QAC5E,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,MAAqB,EAAE,aAAa,GAAG,EAAE;IAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACnE,CAAC,CAAE,MAAkC;YACrC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,MAAqB,EACrB,KAAmB,EACnB,gBAAwB;IAExB,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE7C,MAAM,WAAW,GAAG,CAClB,MAA+B,EAC/B,GAAW,EACI,EAAE;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC;IAChC,MAAM,cAAc,GAClB,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC;QACrC,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,UAAU,GACd,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IACtE,MAAM,yBAAyB,GAC7B,CAAC,UAAU,KAAK,OAAO;QACrB,SAAS,KAAK,IAAI;QAClB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,UAAU,KAAK,SAAS;YACvB,SAAS,KAAK,IAAI;YAClB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5B,YAAY,KAAK,IAAI;YACrB,cAAc,KAAK,IAAI,CAAC,CAAC;IAC7B,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC;IACvD,MAAM,kBAAkB,GACtB,UAAU,KAAK,kBAAkB;QACjC,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IACnE,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,sEAAsE;IACtE,kEAAkE;IAClE,2EAA2E;IAC3E,qEAAqE;IACrE,uEAAuE;IACvE,4EAA4E;IAC5E,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,mBAAmB,GACvB,UAAU,KAAK,KAAK,CAAC,QAAQ;QAC7B,KAAK,KAAK,KAAK,CAAC,QAAQ;QACxB,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,eAAe,GAAc,EAAE,CAAC;IACtC,IAAI,cAAc,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACzC,eAAe,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,kBAAkB,GACtB,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE/D,OAAO,CACL,YAAY,CAAC,SAAS,KAAK,QAAQ;QACnC,cAAc,KAAK,gBAAgB;QACnC,QAAQ,CAAC,SAAS,KAAK,IAAI;QAC3B,UAAU,KAAK,gBAAgB;QAC/B,yBAAyB;QACzB,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAgDD,iEAAiE;AACjE,MAAM,CAAC,MAAM,4BAA4B,GAAG,2BAA2B,CAAC;AAExE,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB;IAClC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACjC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAUpD,CAAC;QACF,sEAAsE;QACtE,0EAA0E;QAC1E,IACE,GAAG,CAAC,OAAO,KAAK,SAAS;YACzB,GAAG,CAAC,OAAO,KAAK,QAAQ;YACxB,GAAG,CAAC,OAAO,KAAK,UAAU,EAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,yEAAyE;QACzE,IACE,GAAG,CAAC,OAAO,KAAK,UAAU;YAC1B,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAClC,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBAC5B,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,EAC/B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,oEAAoE;QACpE,gEAAgE;QAChE,kEAAkE;QAClE,0DAA0D;QAC1D,MAAM,mBAAmB,GACvB,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC;YAC7D,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS;gBAC3B,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBACjC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;gBAChC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvC,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO;gBACzB,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBACjC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;gBAChC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvC,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS;gBAC3B,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBACjC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;gBAChC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,IACE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;YAChC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC9B,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACrB,mBAAmB,EACnB,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACrE,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC/D,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;oBAC5D,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;oBACnC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;oBAC9B,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU;oBACxD,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;oBACnE,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;oBAClC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBACjE,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IACxD,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAgB,EAChB,KAAa;IAEb,OAAO,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAA8B,EAC9B,QAAgB,EAChB,KAAa;IAEb,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,gBAAgB,CACxB,eAAe,GAAG,CAAC,iBAAiB,IAAI,SAAS,iDAAiD,CACnG,CAAC;IACJ,CAAC;IACD,OAAO,MAAM;SACV,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SAC3E,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IACxD,MAAM,GAAG,GACP,KAAK,CAAC,UAAU;QAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,4BAA4B,CAAC;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,gBAAgB,EAAE,KAAK,IAAI,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC;IAC/C,IAAI,CAAC,uBAAuB,EAAE,IAAI,iBAAiB,EAAE;QAAE,OAAO;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,MAAM,GACV,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC3C,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IACrC,MAAM,IAAI,gBAAgB,CACxB,4EAA4E;QAC1E,YAAY,oBAAoB,EAAE,eAAe,MAAM,iBAAiB;QACxE,0EAA0E;QAC1E,0DAA0D,CAC7D,CAAC;AACJ,CAAC;AAyBD,MAAM,kBAAkB,GAA+B;IACrD,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,IAAwB;IACjE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,MAAM,KAAK,GAAG,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;4EAE4E;AAC5E,SAAS,cAAc,CACrB,OAAe,EACf,IAAgC;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,yBAAyB,CACtC,MAAyB,EACzB,KAAoB,EACpB,KAAwB;IAExB,MAAM,YAAY,GAAG,KAAK,IAAI,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,gBAAgB,CACxB,mCAAmC,oBAAoB,EAAE,EAAE,CAC5D,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,uEAAuE;IACvE,oDAAoD;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC1D,MAAM,SAAS,GAA+B,EAAE,GAAG,kBAAkB,EAAE,GAAG,KAAK,EAAE,CAAC;IAElF,sEAAsE;IACtE,mEAAmE;IACnE,IAAI,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,OAAO,yBAAyB,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,SAAS,GAA4B,IAAI,CAAC;IAC9C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,uBAAuB,MAAM,iBAAiB,EAC9C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,4BAA4B;gBAC5C,cAAc,EAAE,gDAAgD;aACjE;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ,EAAE,oBAAoB;gBAC9B,QAAQ,EAAE,QAAQ;gBAClB,cAAc,EAAE;oBACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,QAAQ,EAAE,YAAY,CAAC,MAAM;iBAC9B;aACF,CAAC;SACH,CACF,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAyB,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAC9B,8BAA8B,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAC/F,CAAC;YACF,uEAAuE;YACvE,kEAAkE;YAClE,IACE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;gBAC1C,OAAO,GAAG,SAAS,CAAC,UAAU,EAC9B,CAAC;gBACD,SAAS,GAAG,GAAG,CAAC;gBAChB,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7C,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1G,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAkB;YAC5B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,uEAAuE;YACvE,qEAAqE;YACrE,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI;YACzD,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,gBAAgB,CACxB,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,SAAS,IAAI,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;AAClF,CAAC;AAkBD,SAAS,uBAAuB,CAC9B,MAAc,EACd,IAAyC;IAEzC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,YAAY,CAAI,GAAa;IAC1C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAM,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,yBAAyB,CACtC,KAAmB,EACnB,QAAgB,EAChB,SAAqC;IAErC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,gBAAgB,CACxB,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CACxB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CACxB,2BAA2B,KAAK,CAAC,WAAW,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;YACnG,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAEvD,IAAI,SAAS,GAA4B,IAAI,CAAC;IAC9C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,KAAK,CAC9B,GAAG,IAAI,cAAc,OAAO,iBAAiB,EAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CACxC,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,YAAY,CACb,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAC9B,kCAAkC,uBAAuB,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CACnG,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;gBAClE,SAAS,GAAG,GAAG,CAAC;gBAChB,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,gBAAgB,CACxB,2CAA2C,CAC5C,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,yBAAyB,CACzC,aAAa,EACb,QAAQ,EACR,SAAS,CAAC,KAAK,CAChB,CAAC;QACF,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,4DAA4D;QAC5D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,cAAc,OAAO,OAAO,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,SAAS;gBACT,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAuB,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAC9B,sCAAsC,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAC/F,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;gBAC7D,SAAS,GAAG,GAAG,CAAC;gBAChB,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IACE,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YACtC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,CAAC,MAAM,CAAC,WAAW;YACnB,CAAC,MAAM,CAAC,OAAO,EACf,CAAC;YACD,MAAM,IAAI,gBAAgB,CAAC,gDAAgD,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;YAC1D,CAAC,CAAC,MAAM,CAAC,SAAS;YAClB,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,MAAM,GAAkB;YAC5B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,yEAAyE;YACzE,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI;YACxC,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,gBAAgB,CACxB,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,SAAS,IAAI,IAAI,gBAAgB,CAAC,+CAA+C,CAAC,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAyB,EACzB,KAAoB,EACpB,KAAwB;IAExB,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC;AAwBD,IAAI,sBAAsB,GAA4B,IAAI,CAAC;AAC3D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkC,CAAC;AAEvE,SAAS,kBAAkB,CACzB,MAAyB,EACzB,KAAmB;IAEnB,6EAA6E;IAC7E,6EAA6E;IAC7E,kEAAkE;IAClE,OAAO,MAAM;SACV,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAC3C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;QACrC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,OAAO;QACvC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QACtC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;KACrC,CAAC,CACH;SACA,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAyB;IAEzB,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,gBAAgB,CACxB,mCAAmC,oBAAoB,EAAE,EAAE,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAClE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7D,yEAAyE;IACzE,IACE,sBAAsB,EAAE,WAAW,KAAK,WAAW;QACnD,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC;QAC/C,+BAA+B,CAC7B,sBAAsB,CAAC,MAAM,EAC7B,YAAY,EACZ,gBAAgB,CACjB,EACD,CAAC;QACD,OAAO,sBAAsB,CAAC,MAAM,CAAC;IACvC,CAAC;IACD,4EAA4E;IAC5E,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjE,IAAI,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IAElD,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE;QAC7B,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;YAC1D,uEAAuE;YACvE,sEAAsE;YACtE,sBAAsB;YACtB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACvC,iEAAiE;gBACjE,uEAAuE;gBACvE,qEAAqE;gBACrE,oBAAoB;gBACpB,IACE,+BAA+B,CAC7B,MAAM,EACN,YAAY,EACZ,gBAAgB,CACjB,EACD,CAAC;oBACD,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE;wBAAE,OAAO,MAAM,CAAC;oBAC9C,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;oBACnD,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAC7B,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,sEAAsE;YACtE,wEAAwE;YACxE,OAAO,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAuB,CAAC;gBAAE,MAAM,GAAG,CAAC;YACzD,yEAAyE;YACzE,iEAAiE;YACjE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACvC,IACE,+BAA+B,CAC7B,MAAM,EACN,YAAY,EACZ,gBAAgB,CACjB,EACD,CAAC;oBACD,oEAAoE;oBACpE,sEAAsE;oBACtE,kEAAkE;oBAClE,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE;wBAAE,OAAO,MAAM,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,0EAA0E;YAC1E,oEAAoE;YACpE,kEAAkE;YAClE,0EAA0E;YAC1E,0EAA0E;YAC1E,MAAM,IAAI,mBAAmB,CAC3B,0GAA0G,EAC1G,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;QAChC,sBAAsB,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,0EAA0E;QAC1E,2CAA2C;QAC3C,IAAI,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE,CAAC;YACzD,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,GAAG;SACP,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,eAAe,CAC/B,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CACtD,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,WAAW,CAAC,MAAyB;IAC5C,OAAO,WAAW,MAAM,CAAC,cAAc,SAAS,MAAM,CAAC,MAAM,oBAAoB,CAAC;AACpF,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,oBAAoB,IAAI,WAAW,CAAC;AAC7C,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACnE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACtD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;IAEd,2EAA2E;IAC3E,SAAS,eAAe,CAAC,IAAY,EAAE,aAAqB;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,uEAAuE;YACvE,mEAAmE;YACnE,mEAAmE;YACnE,oEAAoE;YACpE,mDAAmD;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;gBAChE,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;oBACjC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE5C,IAAI,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CAAC,oCAAoC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACrE,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,gBAAgB,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC,CAAC;oBACjE,OAAO;gBACT,CAAC;gBACD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;oBACpE,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CAAC,CAAC;oBACjE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACjC,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,gBAAgB,CAAC,+BAA+B,CAAC,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC,GAAG,CACL;;;;yBAIe,CAChB,CAAC;gBACF,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACpC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,6CAA6C,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAClC,qCAAqC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAC3B,GAAG,EAAE;gBACH,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACnE,CAAC,EACD,EAAE,GAAG,EAAE,GAAG,IAAI,CACf,CAAC;YAEF,SAAS,OAAO;gBACd,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzB,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAcD,KAAK,UAAU,qBAAqB,CAClC,MAAyB,EACzB,IAAY,EACZ,QAAgB,EAChB,IAAY;IAEZ,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;QAC/B,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,IAAI;QACJ,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;KACtB,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,gBAAgB,CACxB,0BAA0B,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CACjD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;IACxD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CACxB,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ;QACtB,YAAY,EAAE,IAAI,CAAC,aAAa;QAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;QAC9C,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,SAAS,iBAAiB,CACxB,MAAqB,EACrB,MAAyB;IAEzB,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/D,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAyB,EACzB,mBAA2B,EAC3B,kBAA2B;IAE3B,MAAM,SAAS,GAAG,KAAK,IAA4B,EAAE;QACnD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,mBAAmB;QACnB,IAAI,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,4EAA4E;QAC5E,qEAAqE;QACrE,4EAA4E;QAC5E,MAAM,YAAY,GAChB,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC;YACzC,CAAC,CAAC,MAAM,CAAC,YAAY;YACrB,CAAC,CAAC,mBAAmB,CAAC;QAC1B,MAAM,kBAAkB,GAAG,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC;YACpE,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5C,CAAC,CAAC,kBAAkB;gBAClB,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,eAAe;YAC3B,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;QAEH,IAAI,WAA4C,CAAC;QACjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE;oBACvD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;oBAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,WAAW,GAAG,IAAI,mBAAmB,CACnC,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACrF,KAAK,EACL,SAAS,EACT,kBAAkB,CACnB,CAAC;gBACF,IAAI,OAAO,KAAK,CAAC;oBAAE,SAAS;gBAC5B,MAAM,WAAW,CAAC;YACpB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,SAAS,GACb,GAAG,CAAC,MAAM,KAAK,GAAG;oBAClB,GAAG,CAAC,MAAM,KAAK,GAAG;oBAClB,GAAG,CAAC,MAAM,KAAK,GAAG;oBAClB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;gBACpB,MAAM,cAAc,GAClB,GAAG,CAAC,MAAM,KAAK,GAAG;oBAClB,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG;wBAChB,GAAG,CAAC,MAAM,GAAG,GAAG;wBAChB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtC,WAAW,GAAG,IAAI,mBAAmB,CACnC,cAAc;oBACZ,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,2BAA2B,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,EACrD,cAAc,EACd,GAAG,CAAC,MAAM,EACV,kBAAkB,CACnB,CAAC;gBACF,IAAI,SAAS,IAAI,OAAO,KAAK,CAAC;oBAAE,SAAS;gBACzC,MAAM,WAAW,CAAC;YACpB,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;YACxD,MAAM,MAAM,GAAkB;gBAC5B,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,0EAA0E;gBAC1E,yEAAyE;gBACzE,yEAAyE;gBACzE,YAAY,EAAE,IAAI,CAAC,aAAa,IAAI,YAAY;gBAChD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;gBAC9C,SAAS,EAAE,QAAQ;aACpB,CAAC;YACF,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,CACJ,WAAW;YACX,IAAI,mBAAmB,CAAC,oCAAoC,EAAE,KAAK,CAAC,CACrE,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAuB,CAAC;YAAE,MAAM,GAAG,CAAC;QACzD,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,IAAI,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,mGAAmG,EACnG,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAyB,EACzB,UAAqC,EAAE;IAEvC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAEhD,wEAAwE;IACxE,iDAAiD;IACjD,wEAAwE;IACxE,0EAA0E;IAC1E,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,8DAA8D;IAC9D,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,qEAAqE;IACrE,iCAAiC,EAAE,CAAC;IAEpC,IAAI,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAEhC,mEAAmE;IACnE,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,sBAAsB;IACtB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClE,mCAAmC,CACjC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,CAC3C,CAAC;YACF,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAE7D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,MAAM,EACN,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,OAAO,SAAS,CAAC,WAAW,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAmB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;gBAC7D,mCAAmC,CACjC,GAAG,CAAC,kBAAkB,IAAI,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,CACrE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW;gBAAE,MAAM,GAAG,CAAC;YAC5B,oCAAoC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,WAAW,CAAC;AAC3B,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"cognito-auth.js","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"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"}