@actsecurity/iam-lens 0.1.166 → 0.1.167
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/dist/cjs/simulate/contextKeys.d.ts +4 -0
- package/dist/cjs/simulate/contextKeys.d.ts.map +1 -1
- package/dist/cjs/simulate/contextKeys.js +5 -3
- package/dist/cjs/simulate/contextKeys.js.map +1 -1
- package/dist/cjs/simulate/roleSessionTags.d.ts +51 -0
- package/dist/cjs/simulate/roleSessionTags.d.ts.map +1 -0
- package/dist/cjs/simulate/roleSessionTags.js +218 -0
- package/dist/cjs/simulate/roleSessionTags.js.map +1 -0
- package/dist/cjs/simulate/simulate.d.ts +7 -2
- package/dist/cjs/simulate/simulate.d.ts.map +1 -1
- package/dist/cjs/simulate/simulate.js +120 -8
- package/dist/cjs/simulate/simulate.js.map +1 -1
- package/dist/esm/simulate/contextKeys.d.ts +4 -0
- package/dist/esm/simulate/contextKeys.d.ts.map +1 -1
- package/dist/esm/simulate/contextKeys.js +5 -3
- package/dist/esm/simulate/contextKeys.js.map +1 -1
- package/dist/esm/simulate/roleSessionTags.d.ts +51 -0
- package/dist/esm/simulate/roleSessionTags.d.ts.map +1 -0
- package/dist/esm/simulate/roleSessionTags.js +213 -0
- package/dist/esm/simulate/roleSessionTags.js.map +1 -0
- package/dist/esm/simulate/simulate.d.ts +7 -2
- package/dist/esm/simulate/simulate.d.ts.map +1 -1
- package/dist/esm/simulate/simulate.js +121 -9
- package/dist/esm/simulate/simulate.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { iamActionDetails, iamActionExists, iamServiceExists } from '@actsecurity/iam-data';
|
|
2
2
|
import {} from '@actsecurity/iam-policy';
|
|
3
3
|
import { anonymousPrincipal, runSimulation } from '@actsecurity/iam-simulate';
|
|
4
|
-
import { convertAssumedRoleArnToRoleArn, isAssumedRoleArn, isIamRoleArn, isS3BucketOrObjectArn, splitArnParts } from '@actsecurity/iam-utils';
|
|
4
|
+
import { convertAssumedRoleArnToRoleArn, isAssumedRoleArn, isIamRoleArn, isIamUserArn, isS3BucketOrObjectArn, splitArnParts } from '@actsecurity/iam-utils';
|
|
5
5
|
import { IamCollectClient } from '../collect/client.js';
|
|
6
6
|
import { getAllPoliciesForPrincipal, isServiceLinkedRole, isServicePrincipal, principalExists } from '../principals.js';
|
|
7
7
|
import { getAccountIdForResource, getRcpsForResource, getResourcePolicyForResource } from '../resources.js';
|
|
@@ -9,6 +9,7 @@ import {} from '../utils/s3Abac.js';
|
|
|
9
9
|
import { AssumeRoleActions } from '../utils/sts.js';
|
|
10
10
|
import { CONTEXT_KEYS, contextValue, createContextKeys, isAnonymousPrincipalContextKey, knownContextKeys } from './contextKeys.js';
|
|
11
11
|
import { externalResourcePolicy, syntheticIdentityPolicy } from './generatedPolicies.js';
|
|
12
|
+
import { immutablePrincipalTagPattern, roleSessionCanSetTagKey, roleSessionTagCapability } from './roleSessionTags.js';
|
|
12
13
|
const kmsRetireGrantAction = 'kms:retiregrant';
|
|
13
14
|
/**
|
|
14
15
|
* Simulate an IAM request using the collected policies for both the principal and resource.
|
|
@@ -142,7 +143,7 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
142
143
|
? await resolvePrincipalArnForContext(collectClient, simulationRequest.principal)
|
|
143
144
|
: undefined;
|
|
144
145
|
const includeResourceMetadata = variant !== 'externalResource';
|
|
145
|
-
const { contextKeys, resourceTagsAreKnown } = await createContextKeys(collectClient, simulationRequest, service, simulationRequest.customContextKeys, principalArnForContext, { includeResourceMetadata });
|
|
146
|
+
const { contextKeys, resourceTagsAreKnown } = await createContextKeys(collectClient, simulationRequest, service, simulationRequest.customContextKeys, principalArnForContext, { includePrincipalTags: requiresCollectedPrincipal, includeResourceMetadata });
|
|
146
147
|
const vpcEndpointPolicy = await getVpcEndpointPolicy(collectClient, contextKeys);
|
|
147
148
|
request.contextVariables = contextKeys;
|
|
148
149
|
const simulation = {
|
|
@@ -156,8 +157,15 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
156
157
|
vpcEndpointPolicies: vpcEndpointPolicy ? [vpcEndpointPolicy] : undefined
|
|
157
158
|
};
|
|
158
159
|
await applyS3Settings(simulation, simulationRequest, variant, collectClient);
|
|
159
|
-
const
|
|
160
|
-
const
|
|
160
|
+
const sessionTagCapability = await sessionTagCapabilityForRequest(collectClient, simulationRequest, principalArnForContext, requiresCollectedPrincipal);
|
|
161
|
+
const mutableExistingPrincipalTagKeys = mutableStoredPrincipalTagKeys(sessionTagCapability, contextKeys, simulationRequest.customContextKeys);
|
|
162
|
+
const principalTagsAreUnknown = variant === 'externalPrincipal' || variant === 'virtualPrincipal';
|
|
163
|
+
const strictContextKeys = makeStrictContextKeys(simulationRequest, contextKeys, resourceTagsAreKnown, isS3BucketOrObjectArn(simulationRequest.resourceArn || ''), principalTagsAreUnknown, sessionTagCapability, mutableExistingPrincipalTagKeys);
|
|
164
|
+
const discoveryContextKeyNames = new Set([
|
|
165
|
+
...strictContextKeys,
|
|
166
|
+
...mutableExistingPrincipalTagKeys
|
|
167
|
+
]);
|
|
168
|
+
const discoveryContextKeyConstraints = [...discoveryContextKeyNames].map((keyName) => discoveryConstraintForStrictKey(keyName, simulationRequest, mutableExistingPrincipalTagKeys));
|
|
161
169
|
const result = await runSimulation(simulation, {
|
|
162
170
|
simulationMode: simulationRequest.simulationMode,
|
|
163
171
|
discoveryContextKeyConstraints
|
|
@@ -305,9 +313,12 @@ async function applyS3Settings(simulation, request, variant, collectClient) {
|
|
|
305
313
|
* @param contextKeys generated and caller-provided context values
|
|
306
314
|
* @param resourceTagsAreKnown whether all resource tags are known
|
|
307
315
|
* @param s3BucketOrObjectRequest whether S3 bucket tag keys apply
|
|
316
|
+
* @param principalTagsAreUnknown whether synthetic principal tag presence and values are unknown
|
|
317
|
+
* @param sessionTagCapability trust-policy-derived role session-tag capability, when applicable
|
|
318
|
+
* @param mutablePrincipalTagKeys stored PrincipalTag keys whose values are not authoritative
|
|
308
319
|
* @returns strict literal keys and key patterns
|
|
309
320
|
*/
|
|
310
|
-
function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3BucketOrObjectRequest) {
|
|
321
|
+
function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3BucketOrObjectRequest, principalTagsAreUnknown, sessionTagCapability, mutablePrincipalTagKeys) {
|
|
311
322
|
const strictContextKeys = [...knownContextKeys, ...(request.additionalStrictContextKeys ?? [])];
|
|
312
323
|
if (!request.principal) {
|
|
313
324
|
strictContextKeys.push(CONTEXT_KEYS.userId, CONTEXT_KEYS.assumedRoot, '/^aws:PrincipalTag\/.*/');
|
|
@@ -320,6 +331,15 @@ function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3Buc
|
|
|
320
331
|
strictContextKeys.push(CONTEXT_KEYS.assumedRoot);
|
|
321
332
|
}
|
|
322
333
|
}
|
|
334
|
+
if (!principalTagsAreUnknown && request.principal && isIamUserArn(request.principal)) {
|
|
335
|
+
strictContextKeys.push('/^aws:PrincipalTag\/.*/');
|
|
336
|
+
}
|
|
337
|
+
if (sessionTagCapability) {
|
|
338
|
+
const immutableTagPattern = immutablePrincipalTagPattern(sessionTagCapability);
|
|
339
|
+
if (immutableTagPattern) {
|
|
340
|
+
strictContextKeys.push(immutableTagPattern);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
323
343
|
if (request.action.startsWith('s3:')) {
|
|
324
344
|
strictContextKeys.push('s3:DataAccessPointAccount', 's3:DataAccessPointArn');
|
|
325
345
|
}
|
|
@@ -330,14 +350,43 @@ function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3Buc
|
|
|
330
350
|
strictContextKeys.push('/^s3:BucketTag\/.*/');
|
|
331
351
|
}
|
|
332
352
|
}
|
|
353
|
+
// There also may be other tag context keys, so add those too. Mutable role tags must not
|
|
354
|
+
// receive a strict constraint because iam-simulate merges constraints with true-winning semantics.
|
|
333
355
|
for (const key of Object.keys(contextKeys)) {
|
|
334
|
-
if (key
|
|
356
|
+
if (isTagContextKey(key) &&
|
|
357
|
+
!(principalTagsAreUnknown && isPrincipalTagContextKey(key)) &&
|
|
358
|
+
!mutablePrincipalTagKeys.has(key)) {
|
|
335
359
|
strictContextKeys.push(key);
|
|
336
360
|
}
|
|
337
361
|
}
|
|
338
362
|
return strictContextKeys;
|
|
339
363
|
}
|
|
364
|
+
/**
|
|
365
|
+
* Checks whether a context key's first slash-delimited namespace ends in `Tag`.
|
|
366
|
+
*
|
|
367
|
+
* @param key context-key name to inspect
|
|
368
|
+
* @returns true for tag context keys such as `aws:PrincipalTag/Department`
|
|
369
|
+
*/
|
|
370
|
+
function isTagContextKey(key) {
|
|
371
|
+
const slashIndex = key.indexOf('/');
|
|
372
|
+
return (slashIndex >= 3 &&
|
|
373
|
+
key
|
|
374
|
+
.slice(slashIndex - 3, slashIndex + 1)
|
|
375
|
+
.localeCompare('tag/', undefined, { sensitivity: 'base' }) === 0);
|
|
376
|
+
}
|
|
340
377
|
const awsSourceKeyPrefix = 'aws:source';
|
|
378
|
+
const awsPrincipalTagPrefix = 'aws:principaltag/';
|
|
379
|
+
/**
|
|
380
|
+
* Checks whether a context key is in the PrincipalTag namespace.
|
|
381
|
+
*
|
|
382
|
+
* @param key context-key name to inspect
|
|
383
|
+
* @returns true when the key starts with `aws:PrincipalTag/`, ignoring case
|
|
384
|
+
*/
|
|
385
|
+
function isPrincipalTagContextKey(key) {
|
|
386
|
+
return (key
|
|
387
|
+
.slice(0, awsPrincipalTagPrefix.length)
|
|
388
|
+
.localeCompare(awsPrincipalTagPrefix, undefined, { sensitivity: 'base' }) === 0);
|
|
389
|
+
}
|
|
341
390
|
const anonymousAbsentContextKeys = new Set([
|
|
342
391
|
'aws:principalarn',
|
|
343
392
|
'aws:principalaccount',
|
|
@@ -357,17 +406,80 @@ const anonymousAbsentContextKeys = new Set([
|
|
|
357
406
|
'/^aws:principaltag\/.*/'
|
|
358
407
|
]);
|
|
359
408
|
/**
|
|
360
|
-
*
|
|
409
|
+
* Derives role session-tag capability independently from tags stored on the role.
|
|
410
|
+
*
|
|
411
|
+
* This lookup applies only to Discovery simulations for IAM roles and assumed-role sessions. IAM
|
|
412
|
+
* user tags are handled separately as fully strict because users cannot receive role-session tags.
|
|
413
|
+
*
|
|
414
|
+
* @param collectClient the collect client used to load the canonical role trust policy
|
|
415
|
+
* @param simulationRequest the request whose principal-tag certainty is being modeled
|
|
416
|
+
* @param resolvedPrincipalArnForContext the canonical role ARN resolved for an assumed-role session
|
|
417
|
+
* @param principalIsCollected whether absent principal metadata is authoritative
|
|
418
|
+
* @returns the role's session-tag capability, or undefined when role metadata is not applicable
|
|
419
|
+
*/
|
|
420
|
+
async function sessionTagCapabilityForRequest(collectClient, simulationRequest, resolvedPrincipalArnForContext, principalIsCollected) {
|
|
421
|
+
if (simulationRequest.simulationMode !== 'Discovery' || !principalIsCollected) {
|
|
422
|
+
return undefined;
|
|
423
|
+
}
|
|
424
|
+
const requestPrincipal = simulationRequest.principal;
|
|
425
|
+
const roleArn = requestPrincipal && isIamRoleArn(requestPrincipal)
|
|
426
|
+
? requestPrincipal
|
|
427
|
+
: resolvedPrincipalArnForContext;
|
|
428
|
+
if (!roleArn || !isIamRoleArn(roleArn)) {
|
|
429
|
+
return undefined;
|
|
430
|
+
}
|
|
431
|
+
const accountId = splitArnParts(roleArn).accountId;
|
|
432
|
+
if (!accountId) {
|
|
433
|
+
return undefined;
|
|
434
|
+
}
|
|
435
|
+
const trustPolicy = await collectClient.getResourcePolicyForArn(roleArn, accountId);
|
|
436
|
+
return roleSessionTagCapability(trustPolicy);
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* Finds stored role-tag values that a session may override.
|
|
440
|
+
*
|
|
441
|
+
* Stored tags determine baseline presence, while the independent trust-policy capability determines
|
|
442
|
+
* mutability. A mutable stored tag is always present, but its effective session value is unknown.
|
|
443
|
+
*
|
|
444
|
+
* @param capability the role's session-tag capability, or undefined for non-role requests
|
|
445
|
+
* @param contextKeys generated and caller-provided request context
|
|
446
|
+
* @param customContextKeys authoritative caller-provided context values
|
|
447
|
+
* @returns existing non-custom PrincipalTag context-key names whose values are mutable
|
|
448
|
+
*/
|
|
449
|
+
function mutableStoredPrincipalTagKeys(capability, contextKeys, customContextKeys) {
|
|
450
|
+
if (!capability || capability.type === 'none') {
|
|
451
|
+
return new Set();
|
|
452
|
+
}
|
|
453
|
+
const storedPrincipalTagKeys = Object.keys(contextKeys).filter((key) => isPrincipalTagContextKey(key) && !hasCustomContextKey(customContextKeys, key));
|
|
454
|
+
if (capability.type === 'any') {
|
|
455
|
+
return new Set(storedPrincipalTagKeys);
|
|
456
|
+
}
|
|
457
|
+
return new Set(storedPrincipalTagKeys.filter((key) => {
|
|
458
|
+
const tagKey = key.slice(awsPrincipalTagPrefix.length);
|
|
459
|
+
return roleSessionCanSetTagKey(capability, tagKey);
|
|
460
|
+
}));
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Convert an iam-lens context key into an iam-simulate Discovery constraint.
|
|
464
|
+
*
|
|
465
|
+
* Caller-provided and explicitly strict keys remain fully authoritative. A stored PrincipalTag
|
|
466
|
+
* whose role session may override it has known presence but an unknown value. All other input keys
|
|
467
|
+
* are strict and continue through the existing special-case handling.
|
|
361
468
|
*
|
|
362
469
|
* @param keyName the literal context key or slash-delimited key pattern
|
|
363
470
|
* @param simulationRequest the normalized request whose context certainty is modeled
|
|
471
|
+
* @param mutablePrincipalTagKeys stored PrincipalTag keys whose values are non-authoritative
|
|
364
472
|
* @returns the Discovery constraint to pass to iam-simulate
|
|
365
473
|
* @internal
|
|
366
474
|
*/
|
|
367
|
-
export function discoveryConstraintForStrictKey(keyName, simulationRequest) {
|
|
368
|
-
if (hasCustomContextKey(simulationRequest.customContextKeys, keyName)
|
|
475
|
+
export function discoveryConstraintForStrictKey(keyName, simulationRequest, mutablePrincipalTagKeys) {
|
|
476
|
+
if (hasCustomContextKey(simulationRequest.customContextKeys, keyName) ||
|
|
477
|
+
simulationRequest.additionalStrictContextKeys?.includes(keyName)) {
|
|
369
478
|
return { keyName, presenceIsKnown: true, valueIsKnown: true };
|
|
370
479
|
}
|
|
480
|
+
if (mutablePrincipalTagKeys?.has(keyName)) {
|
|
481
|
+
return { keyName, presenceIsKnown: true, valueIsKnown: false };
|
|
482
|
+
}
|
|
371
483
|
if (simulationRequest.principal === undefined &&
|
|
372
484
|
anonymousAbsentContextKeys.has(keyName.toLowerCase())) {
|
|
373
485
|
return { keyName, presenceIsKnown: true, valueIsKnown: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC3F,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EACL,kBAAkB,EAIlB,aAAa,EAGd,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,8BAA8B,EAC9B,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAA8B,MAAM,sBAAsB,CAAA;AACnF,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EAEhB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAuB,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EACL,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,8BAA8B,EAC9B,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EAEzB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,oBAAoB,GAAG,iBAAiB,CAAA;AAiL9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,iBAAoC,EACpC,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;AACnF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,iBAA6C,EAC7C,aAA+B;IAE/B,OAAO,uBAAuB,CAC5B,EAAE,GAAG,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,EAC9C,WAAW,EACX,aAAa,CACd,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,iBAAoC,EACpC,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAA;AAC9F,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,iBAAoD,EACpD,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAA;AAC7F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,iBAAoD,EACpD,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAA;AAC7F,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CACpC,KAAgC,EAChC,OAA0B,EAC1B,aAA+B;IAE/B,MAAM,iBAAiB,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IACtC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAC7E,8BAA8B,CAC/B,CAAA;QACD,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,sEAAsE,iBAAiB,GAAG,CAC3F,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,aAAa,IAAI,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;IACrF,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAEpE,IAAI,OAAO,KAAK,kBAAkB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAU,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,qBAAqB,iBAAiB,CAAC,SAAS,8BAA8B,CAAC,CAAA;IACjG,CAAC;IAED,IACE,aAAa,CAAC,cAAc;QAC5B,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,mBAAmB,IAAI,OAAO,KAAK,kBAAkB,CAAC,EAC9F,CAAC;QACD,MAAM,WAAW,GACf,OAAO,KAAK,WAAW;YACrB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,KAAK,mBAAmB;gBAC/B,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,mBAAmB,CAAA;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,oDAAoD,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,OAAO,KAAK,kBAAkB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IAED,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;QACjC,iBAAiB,CAAC,eAAe,GAAG,aAAa,CAAC,iBAAiB,CAAC,SAAU,CAAC,CAAC,SAAS,CAAA;IAC3F,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IACD,iBAAiB,CAAC,eAAe;QAC/B,iBAAiB,CAAC,eAAe;YACjC,CAAC,MAAM,uBAAuB,CAAC,aAAa,EAAE,iBAAiB,CAAC,WAAY,CAAC,CAAC,CAAA;IAEhF,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,MAAM,0BAA0B,GAAG,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,kBAAkB,CAAA;IACzF,IAAI,0BAA0B,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,SAAU,EAAE,aAAa,CAAC,CAAA;QACzF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,aAAa,iBAAiB,CAAC,SAAS,oFAAoF,CAC7H,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,2BAA2B,CAC7D,OAAO,EACP,iBAAiB,EACjB,aAAa,CACd,CAAA;IACD,MAAM,oBAAoB,GAAG,MAAM,0BAA0B,CAC3D,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,aAAa,CAAC,cAAc,EAC5B,qBAAqB,CAAC,oBAAoB,EAC1C,aAAa,CACd,CAAA;IAED,MAAM,OAAO,GAA0B;QACrC,MAAM,EAAE,iBAAiB,CAAC,MAAM;QAChC,QAAQ,EAAE;YACR,QAAQ,EAAE,iBAAiB,CAAC,WAAW,IAAI,GAAG;YAC9C,SAAS,EAAE,iBAAiB,CAAC,eAAe;SAC7C;QACD,SAAS,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAU;QACtF,gBAAgB,EAAE,EAAE;KACrB,CAAA;IAED,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,SAAS;QACxD,CAAC,CAAC,MAAM,6BAA6B,CAAC,aAAa,EAAE,iBAAiB,CAAC,SAAS,CAAC;QACjF,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,uBAAuB,GAAG,OAAO,KAAK,kBAAkB,CAAA;IAC9D,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,MAAM,iBAAiB,CACnE,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,iBAAiB,CAAC,iBAAiB,EACnC,sBAAsB,EACtB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,CAC9E,CAAA;IAED,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IAChF,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAA;IAEtC,MAAM,UAAU,GAAe;QAC7B,OAAO;QACP,aAAa,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa;QACpF,gBAAgB,EAAE,qBAAqB,CAAC,gBAAgB;QACxD,sBAAsB,EAAE,qBAAqB,CAAC,sBAAsB;QACpE,uBAAuB,EAAE,oBAAoB,CAAC,uBAAuB;QACrE,cAAc,EAAE,oBAAoB,CAAC,cAAc;QACnD,0BAA0B,EAAE,qBAAqB,CAAC,0BAA0B;QAC5E,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAA;IAED,MAAM,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IAE5E,MAAM,oBAAoB,GAAG,MAAM,8BAA8B,CAC/D,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,CAC3B,CAAA;IACD,MAAM,+BAA+B,GAAG,6BAA6B,CACnE,oBAAoB,EACpB,WAAW,EACX,iBAAiB,CAAC,iBAAiB,CACpC,CAAA;IACD,MAAM,uBAAuB,GAAG,OAAO,KAAK,mBAAmB,IAAI,OAAO,KAAK,kBAAkB,CAAA;IACjG,MAAM,iBAAiB,GAAG,qBAAqB,CAC7C,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,qBAAqB,CAAC,iBAAiB,CAAC,WAAW,IAAI,EAAE,CAAC,EAC1D,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,CAChC,CAAA;IACD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;QACvC,GAAG,iBAAiB;QACpB,GAAG,+BAA+B;KACnC,CAAC,CAAA;IACF,MAAM,8BAA8B,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACnF,+BAA+B,CAAC,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,CAAC,CAC7F,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;QAC7C,cAAc,EAAE,iBAAiB,CAAC,cAAc;QAChD,8BAA8B;KAC/B,CAAC,CAAA;IAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,2BAA2B,CACxC,OAA0B,EAC1B,OAAkC,EAClC,aAA+B;IAE/B,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,0BAA0B,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;QACpC,OAAO;YACL,GAAG,0BAA0B,EAAE;YAC/B,gBAAgB,EAAE,CAAC,uBAAuB,CAAC;SAC5C,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,SAAU,CAAA;IACvC,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAA;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,8BAA8B,CAAC,CAAA;QAClF,CAAC;QACD,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvE,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;YAClD,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;SACnD,CAAC,CAAA;QACF,OAAO;YACL,gBAAgB,EAAE;gBAChB,OAAO,CAAC,YAAY;oBAClB,CAAC,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE;oBAC1E,CAAC,CAAC,uBAAuB;aAC5B;YACD,sBAAsB;YACtB,0BAA0B,EAAE,SAAS;YACrC,oBAAoB;SACrB,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;IACvF,OAAO;QACL,gBAAgB,EAAE,uBAAuB,CAAC,YAAY,EAAE,iBAAiB,CAAC;QAC1E,sBAAsB,EAAE,iBAAiB,CAAC,IAAI;QAC9C,0BAA0B,EAAE,yBAAyB,CAAC,iBAAiB,CAAC;QACxE,oBAAoB,EAAE,iBAAiB,CAAC,IAAI;KAC7C,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B;IACjC,OAAO;QACL,gBAAgB,EAAE,EAAE;QACpB,sBAAsB,EAAE,EAAE;QAC1B,0BAA0B,EAAE,SAAS;QACrC,oBAAoB,EAAE,EAAE;KACzB,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,0BAA0B,CACvC,OAA0B,EAC1B,OAAkC,EAClC,OAAe,EACf,gBAAyB,EACzB,oBAA6C,EAC7C,aAA+B;IAE/B,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO;YACL,cAAc,EAAE,sBAAsB,CAAC,OAAO,CAAC;YAC/C,uBAAuB,EAAE,EAAE;SAC5B,CAAA;IACH,CAAC;IAED,OAAO,mBAAmB,CACxB,aAAa,EACb,OAAO,CAAC,MAAM,EACd,OAAO,EACP,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,SAAS,EACjB,gBAAgB,EAChB,oBAAoB,CACrB,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,oBAAoB,CACjC,aAA+B,EAC/B,WAAwB;IAExB,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;IAC3E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,iCAAiC,CAAC,aAAa,CAAC,CAAA;IAC3F,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAC5B,UAAsB,EACtB,OAAkC,EAClC,OAA0B,EAC1B,aAA+B;IAE/B,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxE,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,UAAU,CAAC,kBAAkB,GAAG;YAC9B,EAAE,EAAE;gBACF,iBAAiB,EAAE,OAAO,CAAC,cAAc,KAAK,SAAS;gBACvD,iBAAiB,EAAE,KAAK;aACzB;SACF,CAAA;QACD,OAAM;IACR,CAAC;IAED,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/D,qBAAqB,CACnB,OAAO,CAAC,cAAc,EACtB,aAAa,EACb,OAAO,CAAC,eAAgB,EACxB,OAAO,CAAC,WAAW,CACpB;QACD,aAAa,CAAC,oCAAoC,CAChD,OAAO,CAAC,eAAgB,EACxB,OAAO,CAAC,WAAW,CACpB;KACF,CAAC,CAAA;IACF,UAAU,CAAC,kBAAkB,GAAG,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,CAAA;AAClF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAC5B,OAAkC,EAClC,WAAwB,EACxB,oBAA6B,EAC7B,uBAAgC,EAChC,uBAAgC,EAChC,oBAA0D,EAC1D,uBAA4C;IAE5C,MAAM,iBAAiB,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAA;IAE/F,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAA;IAClG,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,uBAAuB,IAAI,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,oBAAoB,CAAC,CAAA;QAC9E,IAAI,mBAAmB,EAAE,CAAC;YACxB,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,iBAAiB,CAAC,IAAI,CAAC,2BAA2B,EAAE,uBAAuB,CAAC,CAAA;IAC9E,CAAC;IACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAEjE,IAAI,oBAAoB,EAAE,CAAC;QACzB,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAChD,IAAI,uBAAuB,EAAE,CAAC;YAC5B,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,mGAAmG;IACnG,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IACE,eAAe,CAAC,GAAG,CAAC;YACpB,CAAC,CAAC,uBAAuB,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAC3D,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EACjC,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,CACL,UAAU,IAAI,CAAC;QACf,GAAG;aACA,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;aACrC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CACnE,CAAA;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,YAAY,CAAA;AACvC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAEjD;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,GAAW;IAC3C,OAAO,CACL,GAAG;SACA,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC;SACtC,aAAa,CAAC,qBAAqB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAClF,CAAA;AACH,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,kBAAkB;IAClB,sBAAsB;IACtB,oBAAoB;IACpB,uBAAuB;IACvB,cAAc;IACd,YAAY;IACZ,2BAA2B;IAC3B,0BAA0B;IAC1B,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,aAA+B,EAC/B,iBAA4C,EAC5C,8BAAkD,EAClD,oBAA6B;IAE7B,IAAI,iBAAiB,CAAC,cAAc,KAAK,WAAW,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9E,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAA;IACpD,MAAM,OAAO,GACX,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC;QAChD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,8BAA8B,CAAA;IACpC,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACnF,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,6BAA6B,CACpC,UAAgD,EAChD,WAAwB,EACxB,iBAA8B;IAE9B,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAC5D,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CACvF,CAAA;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAI,GAAG,CACZ,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACtD,OAAO,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAe,EACf,iBAGC,EACD,uBAA6C;IAE7C,IACE,mBAAmB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACjE,iBAAiB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,OAAO,CAAC,EAChE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC/D,CAAC;IAED,IAAI,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IAED,IACE,iBAAiB,CAAC,SAAS,KAAK,SAAS;QACzC,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EACrD,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC/D,CAAC;IAED,MAAM,iCAAiC,GACrC,OAAO,CAAC,aAAa,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC;QACpF,iBAAiB,CAAC,cAAc,KAAK,WAAW;QAChD,iBAAiB,CAAC,SAAS,KAAK,SAAS;QACzC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAEjD,IAAI,iCAAiC,EAAE,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IAED,IACE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAChG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,iBAA8B,EAAE,OAAe;IAC1E,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CACxC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CACjE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,mBAAmB,CAChC,aAA+B,EAC/B,MAAc,EACd,OAAe,EACf,WAA+B,EAC/B,eAAmC,EACnC,YAAgC,EAChC,gBAAyB,EACzB,oBAA6C;IAE7C,MAAM,cAAc,GAAG,WAAW;QAChC,CAAC,CAAC,MAAM,4BAA4B,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC;QACjF,CAAC,CAAC,SAAS,CAAA;IAEb,kFAAkF;IAClF,MAAM,wCAAwC,GAC5C,YAAY,KAAK,SAAS;QAC1B,WAAW,KAAK,SAAS;QACzB,kBAAkB,CAAC,YAAY,CAAC;QAChC,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAElC,IAAI,YAAY,GAA4B,EAAE,CAAA;IAC9C,IACE,WAAW;QACX,CAAC,wCAAwC;QACzC,MAAM,CAAC,aAAa,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EACpF,CAAC;QACD,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,kBAAkB,GACtB,gBAAgB,CAAC,OAAO,KAAK,KAAK;YAClC,gBAAgB,CAAC,YAAY,KAAK,KAAK;YACvC,eAAe,KAAK,SAAS;YAC7B,CAAC,MAAM,aAAa,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,YAAY,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAClB,YAAY,IAAI,mBAAmB,CAAC,YAAY,CAAC;QAC/C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,gBAAgB;YAChB,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,YAAY,CAAA;IAEpB,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,uCAAuC,WAAW,mDAAmD,CACtG,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GACrB,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IAE9F,OAAO;QACL,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC9D,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CACpE;SACF,CAAC,CAAC;KACJ,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,6BAA6B,CAC1C,aAA+B,EAC/B,YAAoB;IAEpB,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CACL,CAAC,MAAM,aAAa,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACvD,8BAA8B,CAAC,YAAY,CAAC,CAC7C,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC9B,YAAoB,EACpB,iBAAoC;IAEpC,MAAM,sBAAsB,GAAkD,EAAE,CAAA;IAChF,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;QAClF,CAAC;IACH,CAAC,CAAC,CAAA;IACF,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvD,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;YAClF,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC9D,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAClD,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;IACF,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvD,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,gBAAgB,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;gBAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,iBAAoC;IAEpC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL;YACE,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GAAG;YAC9C,MAAM,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,MAAM;SACpD;KACF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAkD,EAClD,MAAwB;IAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,QAAQ,KAAK,MAAM,CAAA;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,qBAAqB,CAClC,cAA0C,EAC1C,aAA+B,EAC/B,eAAuB,EACvB,iBAAyB;IAEzB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,aAAa,CAAC,uBAAuB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAClF,CAAC"}
|