@boxyhq/saml-jackson 1.21.2 → 1.21.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/dist/controller/oauth.js +38 -20
  2. package/dist/controller/oauth.js.map +1 -1
  3. package/dist/cron/lock.d.ts +18 -0
  4. package/dist/{directory-sync/batch-events → cron}/lock.js +40 -21
  5. package/dist/cron/lock.js.map +1 -0
  6. package/dist/directory-sync/batch-events/queue.d.ts +5 -2
  7. package/dist/directory-sync/batch-events/queue.js +47 -26
  8. package/dist/directory-sync/batch-events/queue.js.map +1 -1
  9. package/dist/directory-sync/index.d.ts +2 -3
  10. package/dist/directory-sync/index.js +30 -18
  11. package/dist/directory-sync/index.js.map +1 -1
  12. package/dist/directory-sync/non-scim/index.d.ts +16 -2
  13. package/dist/directory-sync/non-scim/index.js +70 -32
  14. package/dist/directory-sync/non-scim/index.js.map +1 -1
  15. package/dist/directory-sync/request.d.ts +8 -1
  16. package/dist/directory-sync/request.js +4 -3
  17. package/dist/directory-sync/request.js.map +1 -1
  18. package/dist/directory-sync/scim/Groups.js +15 -20
  19. package/dist/directory-sync/scim/Groups.js.map +1 -1
  20. package/dist/directory-sync/scim/Users.js +9 -13
  21. package/dist/directory-sync/scim/Users.js.map +1 -1
  22. package/dist/directory-sync/scim/WebhookEventsLogger.js +8 -8
  23. package/dist/directory-sync/scim/WebhookEventsLogger.js.map +1 -1
  24. package/dist/directory-sync/scim/utils.d.ts +6 -0
  25. package/dist/directory-sync/scim/utils.js +7 -1
  26. package/dist/directory-sync/scim/utils.js.map +1 -1
  27. package/dist/directory-sync/types.d.ts +2 -2
  28. package/dist/directory-sync/utils.d.ts +4 -2
  29. package/dist/directory-sync/utils.js +5 -3
  30. package/dist/directory-sync/utils.js.map +1 -1
  31. package/dist/sso-tracer/types.d.ts +3 -2
  32. package/dist/typings.d.ts +4 -0
  33. package/package.json +5 -5
  34. package/dist/directory-sync/batch-events/lock.d.ts +0 -18
  35. package/dist/directory-sync/batch-events/lock.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookEventsLogger.js","sourceRoot":"","sources":["../../../src/directory-sync/scim/WebhookEventsLogger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebhookEventsLogger.js","sourceRoot":"","sources":["../../../src/directory-sync/scim/WebhookEventsLogger.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import type { DirectoryType, User, UserPatchOperation, GroupPatchOperation } from '../../typings';
2
+ export declare const indexNames: {
3
+ directoryIdUsername: string;
4
+ directoryIdDisplayname: string;
5
+ directoryId: string;
6
+ groupId: string;
7
+ };
2
8
  export declare const parseGroupOperation: (operation: GroupPatchOperation) => {
3
9
  action: string;
4
10
  members: {
@@ -3,9 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isSCIMEnabledProvider = exports.updateRawUserAttributes = exports.extractStandardUserAttributes = exports.parseUserPatchRequest = exports.getDirectorySyncProviders = exports.parseGroupOperation = void 0;
6
+ exports.isSCIMEnabledProvider = exports.updateRawUserAttributes = exports.extractStandardUserAttributes = exports.parseUserPatchRequest = exports.getDirectorySyncProviders = exports.parseGroupOperation = exports.indexNames = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const typings_1 = require("../../typings");
9
+ exports.indexNames = {
10
+ directoryIdUsername: 'directoryIdUsername',
11
+ directoryIdDisplayname: 'directoryIdDisplayname',
12
+ directoryId: 'directoryId',
13
+ groupId: 'groupId',
14
+ };
9
15
  const parseUserRoles = (roles) => {
10
16
  if (typeof roles === 'string') {
11
17
  return roles.split(',');
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/directory-sync/scim/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/directory-sync/scim/utils.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { WebhookEventsLogger } from './scim/WebhookEventsLogger';
8
8
  import { ApiError } from '../typings';
9
9
  import { RequestHandler } from './request';
10
10
  import { EventProcessor } from './batch-events/queue';
11
- import { EventLock as Lock } from './batch-events/lock';
11
+ import { CronLock as Lock } from '../cron/lock';
12
12
  export type IDirectorySyncController = Awaited<ReturnType<typeof directorySync>>;
13
13
  export type IDirectoryConfig = InstanceType<typeof DirectoryConfig>;
14
14
  export type IDirectoryGroups = InstanceType<typeof DirectoryGroups>;
@@ -18,7 +18,7 @@ export type IGroups = InstanceType<typeof Groups>;
18
18
  export type IWebhookEventsLogger = InstanceType<typeof WebhookEventsLogger>;
19
19
  export type IRequestHandler = InstanceType<typeof RequestHandler>;
20
20
  export type IEventProcessor = InstanceType<typeof EventProcessor>;
21
- export type EventLock = InstanceType<typeof Lock>;
21
+ export type CronLock = InstanceType<typeof Lock>;
22
22
  export type DirectorySyncEventType = 'user.created' | 'user.updated' | 'user.deleted' | 'group.created' | 'group.updated' | 'group.deleted' | 'group.user_added' | 'group.user_removed';
23
23
  export declare enum DirectorySyncProviders {
24
24
  'azure-scim-v2' = "Azure SCIM v2.0",
@@ -1,6 +1,8 @@
1
1
  import type { DirectorySyncEventType, Directory, User, Group, EventCallback, DirectorySyncEvent, IWebhookEventsLogger, IDirectoryConfig, JacksonOption, IEventProcessor } from '../typings';
2
- export declare const eventLockTTL = 6;
3
- export declare const webhookEventTTL: number;
2
+ export declare const eventLockTTL = 30;
3
+ export declare const webhookLogsTTL: number;
4
+ export declare const eventLockKey = "dsync-event-lock";
5
+ export declare const googleLockKey = "dsync-google-lock";
4
6
  interface Payload {
5
7
  directory: Directory;
6
8
  group?: Group | null;
@@ -9,12 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.handleEventCallback = exports.sendEvent = exports.webhookEventTTL = exports.eventLockTTL = void 0;
12
+ exports.handleEventCallback = exports.sendEvent = exports.googleLockKey = exports.eventLockKey = exports.webhookLogsTTL = exports.eventLockTTL = void 0;
13
13
  const webhook_1 = require("../event/webhook");
14
14
  const transform_1 = require("./scim/transform");
15
15
  const error_1 = require("../controller/error");
16
- exports.eventLockTTL = 6;
17
- exports.webhookEventTTL = 7 * 24 * 60 * 60;
16
+ exports.eventLockTTL = 30;
17
+ exports.webhookLogsTTL = 7 * 24 * 60 * 60;
18
+ exports.eventLockKey = 'dsync-event-lock';
19
+ exports.googleLockKey = 'dsync-google-lock';
18
20
  const sendEvent = (event, payload, callback) => __awaiter(void 0, void 0, void 0, function* () {
19
21
  if (!callback) {
20
22
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/directory-sync/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAYA,8CAAwD;AACxD,gDAAyD;AACzD,+CAAmD;AAEtC,QAAA,YAAY,GAAG,CAAC,CAAC;AACjB,QAAA,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAezC,MAAM,SAAS,GAAG,CACvB,KAA6B,EAC7B,OAAgB,EAChB,QAAwB,EACxB,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,CAAC,IAAA,iCAAqB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC,CAAA,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEK,MAAM,mBAAmB,GAAG,KAKX,EAAE,4CALgB,EACxC,IAAI,EACJ,WAAW,EACX,cAAc,EACd,WAAW,GACS;IACpB,uDAAuD;IACvD,OAAO,CAAO,KAAyB,EAAE,EAAE;;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAE7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,4BAA4B,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,oBAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,wCAAwC,WAAW,gBAAgB,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,oDAAoD;QACpD,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,gBAAgB,EAAE,CAAC;YACjC,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,IAAA,8BAAoB,EAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACjC,MAAM,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAA,CAAC;AACJ,CAAC,CAAA,CAAC;AA1CW,QAAA,mBAAmB,uBA0C9B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/directory-sync/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAYA,8CAAwD;AACxD,gDAAyD;AACzD,+CAAmD;AAEtC,QAAA,YAAY,GAAG,EAAE,CAAC;AAClB,QAAA,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAClC,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAClC,QAAA,aAAa,GAAG,mBAAmB,CAAC;AAe1C,MAAM,SAAS,GAAG,CACvB,KAA6B,EAC7B,OAAgB,EAChB,QAAwB,EACxB,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,CAAC,IAAA,iCAAqB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC,CAAA,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEK,MAAM,mBAAmB,GAAG,KAKX,EAAE,4CALgB,EACxC,IAAI,EACJ,WAAW,EACX,cAAc,EACd,WAAW,GACS;IACpB,uDAAuD;IACvD,OAAO,CAAO,KAAyB,EAAE,EAAE;;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAE7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,4BAA4B,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,oBAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,wCAAwC,WAAW,gBAAgB,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,oDAAoD;QACpD,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,gBAAgB,EAAE,CAAC;YACjC,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,IAAA,8BAAoB,EAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACjC,MAAM,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAA,CAAC;AACJ,CAAC,CAAA,CAAC;AA1CW,QAAA,mBAAmB,uBA0C9B"}
@@ -10,14 +10,15 @@ export interface Trace {
10
10
  }
11
11
  export interface SSOTrace extends Omit<Trace, 'traceId' | 'timestamp'> {
12
12
  timestamp?: number /** Can be passed in from outside else will be set to Date.now() */;
13
- context: Trace['context'] & {
13
+ context: {
14
14
  tenant: string;
15
15
  product: string;
16
16
  clientID: string;
17
17
  redirectUri?: string;
18
18
  requestedOIDCFlow?: boolean;
19
19
  isSAMLFederated?: boolean;
20
- isIDPFlow?: boolean;
20
+ isOIDCFederated?: boolean;
21
+ isIdPFlow?: boolean;
21
22
  relayState?: string;
22
23
  providerName?: string;
23
24
  acsUrl?: string;
package/dist/typings.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './sso-tracer/types';
5
5
  export * from './directory-sync/types';
6
6
  export * from './event/types';
7
7
  import db from './db/db';
8
+ import { EventCallback } from './typings';
8
9
  export type DB = Awaited<ReturnType<typeof db.new>>;
9
10
  export interface OryRes {
10
11
  projectId?: string;
@@ -384,6 +385,7 @@ export interface JacksonOption {
384
385
  webhook?: Webhook;
385
386
  dsync?: {
386
387
  webhookBatchSize?: number;
388
+ webhookBatchCronInterval?: number;
387
389
  debugWebhooks?: boolean;
388
390
  providers?: {
389
391
  google: {
@@ -391,8 +393,10 @@ export interface JacksonOption {
391
393
  clientSecret: string;
392
394
  authorizePath: string;
393
395
  callbackPath: string;
396
+ cronInterval?: number;
394
397
  };
395
398
  };
399
+ callback?: EventCallback;
396
400
  };
397
401
  /** The number of days a setup link is valid for. Defaults to 3 days. */
398
402
  setupLinkExpiryDays?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boxyhq/saml-jackson",
3
- "version": "1.21.2",
3
+ "version": "1.21.3",
4
4
  "description": "SAML Jackson library",
5
5
  "keywords": [
6
6
  "SAML 2.0"
@@ -39,9 +39,9 @@
39
39
  "coverage-map": "map.js"
40
40
  },
41
41
  "dependencies": {
42
- "@aws-sdk/client-dynamodb": "3.535.0",
42
+ "@aws-sdk/client-dynamodb": "3.538.0",
43
43
  "@aws-sdk/credential-providers": "3.535.0",
44
- "@aws-sdk/util-dynamodb": "3.535.0",
44
+ "@aws-sdk/util-dynamodb": "3.538.0",
45
45
  "@boxyhq/error-code-mnemonic": "0.1.1",
46
46
  "@boxyhq/metrics": "0.2.6",
47
47
  "@boxyhq/saml20": "1.4.14",
@@ -65,7 +65,7 @@
65
65
  "devDependencies": {
66
66
  "@faker-js/faker": "8.4.1",
67
67
  "@types/lodash": "4.17.0",
68
- "@types/node": "20.11.28",
68
+ "@types/node": "20.11.30",
69
69
  "@types/sinon": "17.0.3",
70
70
  "@types/tap": "15.0.11",
71
71
  "cross-env": "7.0.3",
@@ -75,7 +75,7 @@
75
75
  "tap": "18.7.1",
76
76
  "ts-node": "10.9.2",
77
77
  "tsconfig-paths": "4.2.0",
78
- "typescript": "5.4.2"
78
+ "typescript": "5.4.3"
79
79
  },
80
80
  "engines": {
81
81
  "node": ">=16",
@@ -1,18 +0,0 @@
1
- import type { Storable } from '../../typings';
2
- interface Lock {
3
- key: string;
4
- created_at: string;
5
- }
6
- interface LockParams {
7
- lockStore: Storable;
8
- }
9
- export declare class EventLock {
10
- private lockStore;
11
- constructor({ lockStore }: LockParams);
12
- acquire(key: string): Promise<boolean>;
13
- renew(key: string): Promise<void>;
14
- add(key: string): Promise<void>;
15
- get(): Promise<Lock | null>;
16
- release(key: string): Promise<void>;
17
- }
18
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/directory-sync/batch-events/lock.ts"],"names":[],"mappings":";;;;;;;;;;;;AAWA,MAAa,SAAS;IAGpB,YAAY,EAAE,SAAS,EAAc;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEY,OAAO,CAAC,GAAW;;YAC9B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE9B,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;gBAC1B,CAAC;gBAED,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEpB,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KAAA;IAEY,KAAK,CAAC,GAAW;;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBAED,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW;;YACnB,MAAM,MAAM,GAAG;gBACb,GAAG;gBACH,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;YAEF,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;KAAA;IAEK,GAAG;;YACP,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAqB,CAAC;YAErE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC;KAAA;IAEK,OAAO,CAAC,GAAW;;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;KAAA;CACF;AAtED,8BAsEC"}