oauth4webapi 3.4.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/build/index.d.ts +182 -1
- package/build/index.js +100 -129
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ This software provides a collection of routines that can be used to build client
|
|
|
9
9
|
The following features are currently in scope and implemented in this software:
|
|
10
10
|
|
|
11
11
|
- Authorization Server Metadata discovery
|
|
12
|
+
- Resource Server Metadata discovery
|
|
12
13
|
- Authorization Code Flow (profiled under OpenID Connect 1.0, OAuth 2.0, OAuth 2.1, and FAPI 2.0), with PKCE
|
|
13
14
|
- Refresh Token, Device Authorization, Client-Initiated Backchannel Authentication (CIBA), and Client Credentials Grants
|
|
14
15
|
- Demonstrating Proof-of-Possession at the Application Layer (DPoP)
|
|
@@ -99,6 +100,6 @@ The supported JavaScript runtimes include those that support the utilized Web AP
|
|
|
99
100
|
[sponsor-auth0]: https://a0.to/signup/panva
|
|
100
101
|
[Security Policy]: https://github.com/panva/oauth4webapi/security/policy
|
|
101
102
|
|
|
102
|
-
[^cjs]: CJS style `let oauth = require('oauth4webapi')` is possible in Node.js versions where `
|
|
103
|
+
[^cjs]: CJS style `let oauth = require('oauth4webapi')` is possible in Node.js versions where the `require(esm)` feature is enabled by default (^20.19.0 || ^22.12.0 || >= 23.0.0).
|
|
103
104
|
|
|
104
105
|
[^nodejs]: Node.js v20.x as baseline is required
|
package/build/index.d.ts
CHANGED
|
@@ -394,6 +394,8 @@ export declare const jwksCache: unique symbol;
|
|
|
394
394
|
/**
|
|
395
395
|
* Authorization Server Metadata
|
|
396
396
|
*
|
|
397
|
+
* @group Authorization Server Metadata
|
|
398
|
+
*
|
|
397
399
|
* @see [IANA OAuth Authorization Server Metadata registry](https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#authorization-server-metadata)
|
|
398
400
|
*/
|
|
399
401
|
export interface AuthorizationServer {
|
|
@@ -709,6 +711,10 @@ export interface AuthorizationServer {
|
|
|
709
711
|
* Boolean value specifying whether the authorization server supports back-channel logout.
|
|
710
712
|
*/
|
|
711
713
|
readonly backchannel_logout_supported?: boolean;
|
|
714
|
+
/**
|
|
715
|
+
* JSON array containing a list of resource identifiers for OAuth protected resources.
|
|
716
|
+
*/
|
|
717
|
+
readonly protected_resources?: string[];
|
|
712
718
|
readonly [metadata: string]: JsonValue | undefined;
|
|
713
719
|
}
|
|
714
720
|
export interface MTLSEndpointAliases extends Pick<AuthorizationServer, 'backchannel_authentication_endpoint' | 'device_authorization_endpoint' | 'introspection_endpoint' | 'pushed_authorization_request_endpoint' | 'revocation_endpoint' | 'token_endpoint' | 'userinfo_endpoint'> {
|
|
@@ -935,6 +941,8 @@ export interface DiscoveryRequestOptions extends HttpRequestOptions<'GET'> {
|
|
|
935
941
|
*
|
|
936
942
|
* @param issuerIdentifier Issuer Identifier to resolve the well-known discovery URI for.
|
|
937
943
|
*
|
|
944
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processDiscoveryResponse} with
|
|
945
|
+
*
|
|
938
946
|
* @group Authorization Server Metadata
|
|
939
947
|
* @group OpenID Connect (OIDC) Discovery
|
|
940
948
|
*
|
|
@@ -1166,6 +1174,9 @@ export declare function checkProtocol(url: URL, enforceHttps: boolean | undefine
|
|
|
1166
1174
|
* @param clientAuthentication Client Authentication Method.
|
|
1167
1175
|
* @param parameters Authorization Request parameters.
|
|
1168
1176
|
*
|
|
1177
|
+
* @returns Resolves with a {@link !Response} to then invoke
|
|
1178
|
+
* {@link processPushedAuthorizationResponse} with
|
|
1179
|
+
*
|
|
1169
1180
|
* @group Pushed Authorization Requests (PAR)
|
|
1170
1181
|
*
|
|
1171
1182
|
* @see [RFC 9126 - OAuth 2.0 Pushed Authorization Requests (PAR)](https://www.rfc-editor.org/rfc/rfc9126.html#name-pushed-authorization-reques)
|
|
@@ -1214,7 +1225,7 @@ export declare function isDPoPNonceError(err: unknown): boolean;
|
|
|
1214
1225
|
*
|
|
1215
1226
|
* @group DPoP
|
|
1216
1227
|
*
|
|
1217
|
-
* @see {@link
|
|
1228
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc9449.html RFC 9449 - OAuth 2.0 Demonstrating Proof of Possession (DPoP)}
|
|
1218
1229
|
*/
|
|
1219
1230
|
export declare function DPoP(client: Pick<Client, typeof clockSkew>, keyPair: CryptoKeyPair, options?: ModifyAssertionOptions): DPoPHandle;
|
|
1220
1231
|
export interface PushedAuthorizationResponse {
|
|
@@ -1355,12 +1366,38 @@ export declare class WWWAuthenticateChallengeError extends Error {
|
|
|
1355
1366
|
* WWW-Authenticate challenge auth-param dictionary with known and unknown parameter names
|
|
1356
1367
|
*/
|
|
1357
1368
|
export interface WWWAuthenticateChallengeParameters {
|
|
1369
|
+
/**
|
|
1370
|
+
* Identifies the protection space
|
|
1371
|
+
*/
|
|
1358
1372
|
readonly realm?: string;
|
|
1373
|
+
/**
|
|
1374
|
+
* A machine-readable error code value
|
|
1375
|
+
*/
|
|
1359
1376
|
readonly error?: string;
|
|
1377
|
+
/**
|
|
1378
|
+
* Human-readable ASCII text providing additional information, used to assist the client developer
|
|
1379
|
+
* in understanding the error that occurred
|
|
1380
|
+
*/
|
|
1360
1381
|
readonly error_description?: string;
|
|
1382
|
+
/**
|
|
1383
|
+
* A URI identifying a human-readable web page with information about the error, used to provide
|
|
1384
|
+
* the client developer with additional information about the error
|
|
1385
|
+
*/
|
|
1361
1386
|
readonly error_uri?: string;
|
|
1387
|
+
/**
|
|
1388
|
+
* A comma-delimited list of supported algorithms, used in
|
|
1389
|
+
* {@link https://www.rfc-editor.org/rfc/rfc9449.html RFC 9449 - OAuth 2.0 Demonstrating Proof of Possession (DPoP)}
|
|
1390
|
+
* challenges
|
|
1391
|
+
*/
|
|
1362
1392
|
readonly algs?: string;
|
|
1393
|
+
/**
|
|
1394
|
+
* The scope necessary to access the protected resource, used with `insufficient_scope` error code
|
|
1395
|
+
*/
|
|
1363
1396
|
readonly scope?: string;
|
|
1397
|
+
/**
|
|
1398
|
+
* The URL of the protected resource metadata
|
|
1399
|
+
*/
|
|
1400
|
+
readonly resource_metadata?: string;
|
|
1364
1401
|
/**
|
|
1365
1402
|
* NOTE: because the parameter names are case insensitive they are always returned lowercased
|
|
1366
1403
|
*/
|
|
@@ -1438,6 +1475,8 @@ export interface UserInfoRequestOptions extends HttpRequestOptions<'GET'>, DPoPR
|
|
|
1438
1475
|
* @param client Client Metadata.
|
|
1439
1476
|
* @param accessToken Access Token value.
|
|
1440
1477
|
*
|
|
1478
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processUserInfoResponse} with
|
|
1479
|
+
*
|
|
1441
1480
|
* @group Authorization Code Grant w/ OpenID Connect (OIDC)
|
|
1442
1481
|
* @group OpenID Connect (OIDC) UserInfo
|
|
1443
1482
|
* @group Accessing Protected Resources
|
|
@@ -1534,6 +1573,8 @@ export interface TokenEndpointRequestOptions extends HttpRequestOptions<'POST',
|
|
|
1534
1573
|
* @param clientAuthentication Client Authentication Method.
|
|
1535
1574
|
* @param refreshToken Refresh Token value.
|
|
1536
1575
|
*
|
|
1576
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processRefreshTokenResponse} with
|
|
1577
|
+
*
|
|
1537
1578
|
* @group Refreshing an Access Token
|
|
1538
1579
|
*
|
|
1539
1580
|
* @see [RFC 6749 - The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749.html#section-6)
|
|
@@ -1615,6 +1656,9 @@ export declare function processRefreshTokenResponse(as: AuthorizationServer, cli
|
|
|
1615
1656
|
* @param redirectUri `redirect_uri` value used in the authorization request.
|
|
1616
1657
|
* @param codeVerifier PKCE `code_verifier` to send to the token endpoint.
|
|
1617
1658
|
*
|
|
1659
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processAuthorizationCodeResponse}
|
|
1660
|
+
* with
|
|
1661
|
+
*
|
|
1618
1662
|
* @group Authorization Code Grant
|
|
1619
1663
|
* @group Authorization Code Grant w/ OpenID Connect (OIDC)
|
|
1620
1664
|
*
|
|
@@ -1852,6 +1896,9 @@ export interface ClientCredentialsGrantRequestOptions extends HttpRequestOptions
|
|
|
1852
1896
|
* @param client Client Metadata.
|
|
1853
1897
|
* @param clientAuthentication Client Authentication Method.
|
|
1854
1898
|
*
|
|
1899
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processClientCredentialsResponse}
|
|
1900
|
+
* with
|
|
1901
|
+
*
|
|
1855
1902
|
* @group Client Credentials Grant
|
|
1856
1903
|
*
|
|
1857
1904
|
* @see [RFC 6749 - The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749.html#section-4.4)
|
|
@@ -1868,6 +1915,9 @@ export declare function clientCredentialsGrantRequest(as: AuthorizationServer, c
|
|
|
1868
1915
|
* @param clientAuthentication Client Authentication Method.
|
|
1869
1916
|
* @param grantType Grant Type.
|
|
1870
1917
|
*
|
|
1918
|
+
* @returns Resolves with a {@link !Response} to then invoke
|
|
1919
|
+
* {@link processGenericTokenEndpointResponse} with
|
|
1920
|
+
*
|
|
1871
1921
|
* @group JWT Bearer Token Grant Type
|
|
1872
1922
|
* @group SAML 2.0 Bearer Assertion Grant Type
|
|
1873
1923
|
* @group Token Exchange Grant Type
|
|
@@ -1927,6 +1977,8 @@ export interface RevocationRequestOptions extends HttpRequestOptions<'POST', URL
|
|
|
1927
1977
|
* @param token Token to revoke. You can provide the `token_type_hint` parameter via
|
|
1928
1978
|
* {@link RevocationRequestOptions.additionalParameters options}.
|
|
1929
1979
|
*
|
|
1980
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processRevocationResponse} with
|
|
1981
|
+
*
|
|
1930
1982
|
* @group Token Revocation
|
|
1931
1983
|
*
|
|
1932
1984
|
* @see [RFC 7009 - OAuth 2.0 Token Revocation](https://www.rfc-editor.org/rfc/rfc7009.html#section-2)
|
|
@@ -1972,6 +2024,8 @@ export interface IntrospectionRequestOptions extends HttpRequestOptions<'POST',
|
|
|
1972
2024
|
* @param token Token to introspect. You can provide the `token_type_hint` parameter via
|
|
1973
2025
|
* {@link IntrospectionRequestOptions.additionalParameters options}.
|
|
1974
2026
|
*
|
|
2027
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processIntrospectionResponse} with
|
|
2028
|
+
*
|
|
1975
2029
|
* @group Token Introspection
|
|
1976
2030
|
*
|
|
1977
2031
|
* @see [RFC 7662 - OAuth 2.0 Token Introspection](https://www.rfc-editor.org/rfc/rfc7662.html#section-2)
|
|
@@ -2140,6 +2194,9 @@ export interface DeviceAuthorizationRequestOptions extends HttpRequestOptions<'P
|
|
|
2140
2194
|
* @param clientAuthentication Client Authentication Method.
|
|
2141
2195
|
* @param parameters Device Authorization Request parameters.
|
|
2142
2196
|
*
|
|
2197
|
+
* @returns Resolves with a {@link !Response} to then invoke
|
|
2198
|
+
* {@link processDeviceAuthorizationResponse} with
|
|
2199
|
+
*
|
|
2143
2200
|
* @group Device Authorization Grant
|
|
2144
2201
|
*
|
|
2145
2202
|
* @see [RFC 8628 - OAuth 2.0 Device Authorization Grant](https://www.rfc-editor.org/rfc/rfc8628.html#section-3.1)
|
|
@@ -2203,6 +2260,8 @@ export declare function processDeviceAuthorizationResponse(as: AuthorizationServ
|
|
|
2203
2260
|
* {@link DeviceAuthorizationResponse.device_code `device_code`} retrieved from
|
|
2204
2261
|
* {@link processDeviceAuthorizationResponse}.
|
|
2205
2262
|
*
|
|
2263
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processDeviceCodeResponse} with
|
|
2264
|
+
*
|
|
2206
2265
|
* @group Device Authorization Grant
|
|
2207
2266
|
*
|
|
2208
2267
|
* @see [RFC 8628 - OAuth 2.0 Device Authorization Grant](https://www.rfc-editor.org/rfc/rfc8628.html#section-3.4)
|
|
@@ -2319,6 +2378,9 @@ export interface BackchannelAuthenticationRequestOptions extends HttpRequestOpti
|
|
|
2319
2378
|
* @param clientAuthentication Client Authentication Method.
|
|
2320
2379
|
* @param parameters Backchannel Authentication Request parameters.
|
|
2321
2380
|
*
|
|
2381
|
+
* @returns Resolves with a {@link !Response} to then invoke
|
|
2382
|
+
* {@link processBackchannelAuthenticationResponse} with
|
|
2383
|
+
*
|
|
2322
2384
|
* @group Client-Initiated Backchannel Authentication (CIBA)
|
|
2323
2385
|
*
|
|
2324
2386
|
* @see [OpenID Connect Client-Initiated Backchannel Authentication](https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0-final.html#auth_request)
|
|
@@ -2368,6 +2430,9 @@ export declare function processBackchannelAuthenticationResponse(as: Authorizati
|
|
|
2368
2430
|
* {@link BackchannelAuthenticationResponse.auth_req_id `auth_req_id`} retrieved from
|
|
2369
2431
|
* {@link processBackchannelAuthenticationResponse}.
|
|
2370
2432
|
*
|
|
2433
|
+
* @returns Resolves with a {@link !Response} to then invoke
|
|
2434
|
+
* {@link processBackchannelAuthenticationGrantResponse} with
|
|
2435
|
+
*
|
|
2371
2436
|
* @group Client-Initiated Backchannel Authentication (CIBA)
|
|
2372
2437
|
*
|
|
2373
2438
|
* @see [OpenID Connect Client-Initiated Backchannel Authentication](https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0-final.html#token_request)
|
|
@@ -2409,6 +2474,13 @@ export interface DynamicClientRegistrationRequestOptions extends HttpRequestOpti
|
|
|
2409
2474
|
* {@link AuthorizationServer.registration_endpoint `as.registration_endpoint`} using the provided
|
|
2410
2475
|
* client metadata.
|
|
2411
2476
|
*
|
|
2477
|
+
* @param as Authorization Server Metadata.
|
|
2478
|
+
* @param metadata Requested Client Metadata.
|
|
2479
|
+
* @param options
|
|
2480
|
+
*
|
|
2481
|
+
* @returns Resolves with a {@link !Response} to then invoke
|
|
2482
|
+
* {@link processDynamicClientRegistrationResponse} with
|
|
2483
|
+
*
|
|
2412
2484
|
* @group Dynamic Client Registration (DCR)
|
|
2413
2485
|
*
|
|
2414
2486
|
* @see [RFC 7591 - OAuth 2.0 Dynamic Client Registration Protocol (DCR)](https://www.rfc-editor.org/rfc/rfc7591.html#section-3.1)
|
|
@@ -2432,4 +2504,113 @@ export declare function dynamicClientRegistrationRequest(as: AuthorizationServer
|
|
|
2432
2504
|
* @see [OpenID Connect Dynamic Client Registration 1.0 (DCR)](https://openid.net/specs/openid-connect-registration-1_0-errata2.html#RegistrationResponse)
|
|
2433
2505
|
*/
|
|
2434
2506
|
export declare function processDynamicClientRegistrationResponse(response: Response): Promise<OmitSymbolProperties<Client>>;
|
|
2507
|
+
/**
|
|
2508
|
+
* Protected Resource Server Metadata
|
|
2509
|
+
*
|
|
2510
|
+
* @group Resource Server Metadata
|
|
2511
|
+
*
|
|
2512
|
+
* @see [IANA OAuth Protected Resource Server Metadata registry](https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#protected-resource-server-metadata)
|
|
2513
|
+
*/
|
|
2514
|
+
export interface ResourceServer {
|
|
2515
|
+
/**
|
|
2516
|
+
* Resource server's Resource Identifier URL.
|
|
2517
|
+
*/
|
|
2518
|
+
readonly resource: string;
|
|
2519
|
+
/**
|
|
2520
|
+
* JSON array containing a list of OAuth authorization server issuer identifiers
|
|
2521
|
+
*/
|
|
2522
|
+
readonly authorization_servers?: string[];
|
|
2523
|
+
/**
|
|
2524
|
+
* URL of the protected resource's JWK Set document
|
|
2525
|
+
*/
|
|
2526
|
+
readonly jwks_uri?: string;
|
|
2527
|
+
/**
|
|
2528
|
+
* JSON array containing a list of the OAuth 2.0 scope values that are used in authorization
|
|
2529
|
+
* requests to request access to this protected resource
|
|
2530
|
+
*/
|
|
2531
|
+
readonly scopes_supported?: string[];
|
|
2532
|
+
/**
|
|
2533
|
+
* JSON array containing a list of the OAuth 2.0 Bearer Token presentation methods that this
|
|
2534
|
+
* protected resource supports
|
|
2535
|
+
*/
|
|
2536
|
+
readonly bearer_methods_supported?: string[];
|
|
2537
|
+
/**
|
|
2538
|
+
* JSON array containing a list of the JWS signing algorithms (alg values) supported by the
|
|
2539
|
+
* protected resource for signed content
|
|
2540
|
+
*/
|
|
2541
|
+
readonly resource_signing_alg_values_supported?: string[];
|
|
2542
|
+
/**
|
|
2543
|
+
* Human-readable name of the protected resource
|
|
2544
|
+
*/
|
|
2545
|
+
readonly resource_name?: string;
|
|
2546
|
+
/**
|
|
2547
|
+
* URL of a page containing human-readable information that developers might want or need to know
|
|
2548
|
+
* when using the protected resource
|
|
2549
|
+
*/
|
|
2550
|
+
readonly resource_documentation?: string;
|
|
2551
|
+
/**
|
|
2552
|
+
* URL of a page containing human-readable information about the protected resource's requirements
|
|
2553
|
+
* on how the client can use the data provided by the protected resource
|
|
2554
|
+
*/
|
|
2555
|
+
readonly resource_policy_uri?: string;
|
|
2556
|
+
/**
|
|
2557
|
+
* URL of a page containing human-readable information about the protected resource's terms of
|
|
2558
|
+
* service
|
|
2559
|
+
*/
|
|
2560
|
+
readonly resource_tos_uri?: string;
|
|
2561
|
+
/**
|
|
2562
|
+
* Boolean value indicating protected resource support for mutual-TLS client certificate-bound
|
|
2563
|
+
* access tokens
|
|
2564
|
+
*/
|
|
2565
|
+
readonly tls_client_certificate_bound_access_tokens?: boolean;
|
|
2566
|
+
/**
|
|
2567
|
+
* JSON array containing a list of the authorization details type values supported by the resource
|
|
2568
|
+
* server when the authorization_details request parameter is used
|
|
2569
|
+
*/
|
|
2570
|
+
readonly authorization_details_types_supported?: boolean;
|
|
2571
|
+
/**
|
|
2572
|
+
* JSON array containing a list of the JWS alg values supported by the resource server for
|
|
2573
|
+
* validating DPoP proof JWTs
|
|
2574
|
+
*/
|
|
2575
|
+
readonly dpop_signing_alg_values_supported?: boolean;
|
|
2576
|
+
/**
|
|
2577
|
+
* Boolean value specifying whether the protected resource always requires the use of DPoP-bound
|
|
2578
|
+
* access tokens
|
|
2579
|
+
*/
|
|
2580
|
+
readonly dpop_bound_access_tokens_required?: boolean;
|
|
2581
|
+
/**
|
|
2582
|
+
* Signed JWT containing metadata parameters about the protected resource as claims
|
|
2583
|
+
*/
|
|
2584
|
+
readonly signed_metadata?: string;
|
|
2585
|
+
readonly [metadata: string]: JsonValue | undefined;
|
|
2586
|
+
}
|
|
2587
|
+
/**
|
|
2588
|
+
* Performs a protected resource metadata discovery.
|
|
2589
|
+
*
|
|
2590
|
+
* @param resourceIdentifier Protected resource's resource identifier to resolve the well-known
|
|
2591
|
+
* discovery URI for
|
|
2592
|
+
*
|
|
2593
|
+
* @returns Resolves with a {@link !Response} to then invoke {@link processResourceDiscoveryResponse}
|
|
2594
|
+
* with
|
|
2595
|
+
*
|
|
2596
|
+
* @group Resource Server Metadata
|
|
2597
|
+
*
|
|
2598
|
+
* @see [RFC-to-be 9728 - OAuth 2.0 Protected Resource Metadata](https://www.ietf.org/archive/id/draft-ietf-oauth-resource-metadata-13.html#name-protected-resource-metadata-)
|
|
2599
|
+
*/
|
|
2600
|
+
export declare function resourceDiscoveryRequest(resourceIdentifier: URL, options?: HttpRequestOptions<'GET'>): Promise<Response>;
|
|
2601
|
+
/**
|
|
2602
|
+
* Validates {@link !Response} instance to be one coming from the resource server's well-known
|
|
2603
|
+
* discovery endpoint.
|
|
2604
|
+
*
|
|
2605
|
+
* @param expectedResourceIdentifier Expected Resource Identifier value.
|
|
2606
|
+
* @param response Resolved value from {@link resourceDiscoveryRequest} or from a general
|
|
2607
|
+
* {@link !fetch} following {@link WWWAuthenticateChallengeParameters.resource_metadata}.
|
|
2608
|
+
*
|
|
2609
|
+
* @returns Resolves with the discovered Resource Server Metadata.
|
|
2610
|
+
*
|
|
2611
|
+
* @group Resource Server Metadata
|
|
2612
|
+
*
|
|
2613
|
+
* @see [RFC-to-be 9728 - OAuth 2.0 Protected Resource Metadata](https://www.ietf.org/archive/id/draft-ietf-oauth-resource-metadata-13.html#name-protected-resource-metadata-r)
|
|
2614
|
+
*/
|
|
2615
|
+
export declare function processResourceDiscoveryResponse(expectedResourceIdentifier: URL, response: Response): Promise<ResourceServer>;
|
|
2435
2616
|
export {};
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
let USER_AGENT;
|
|
2
2
|
if (typeof navigator === 'undefined' || !navigator.userAgent?.startsWith?.('Mozilla/5.0 ')) {
|
|
3
3
|
const NAME = 'oauth4webapi';
|
|
4
|
-
const VERSION = 'v3.
|
|
4
|
+
const VERSION = 'v3.5.0';
|
|
5
5
|
USER_AGENT = `${NAME}/${VERSION}`;
|
|
6
6
|
}
|
|
7
7
|
function looseInstanceOf(input, expected) {
|
|
@@ -139,28 +139,31 @@ function signal(value) {
|
|
|
139
139
|
}
|
|
140
140
|
return value;
|
|
141
141
|
}
|
|
142
|
-
|
|
143
|
-
if (
|
|
144
|
-
|
|
142
|
+
function replaceDoubleSlash(pathname) {
|
|
143
|
+
if (pathname.includes('//')) {
|
|
144
|
+
return pathname.replace('//', '/');
|
|
145
145
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
url.pathname = `${url.pathname}/.well-known/openid-configuration`.replace('//', '/');
|
|
152
|
-
break;
|
|
153
|
-
case 'oauth2':
|
|
154
|
-
if (url.pathname === '/') {
|
|
155
|
-
url.pathname = '.well-known/oauth-authorization-server';
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
url.pathname = `.well-known/oauth-authorization-server/${url.pathname}`.replace('//', '/');
|
|
159
|
-
}
|
|
160
|
-
break;
|
|
161
|
-
default:
|
|
162
|
-
throw CodedTypeError('"options.algorithm" must be "oidc" (default), or "oauth2"', ERR_INVALID_ARG_VALUE);
|
|
146
|
+
return pathname;
|
|
147
|
+
}
|
|
148
|
+
function prependWellKnown(url, wellKnown) {
|
|
149
|
+
if (url.pathname === '/') {
|
|
150
|
+
url.pathname = wellKnown;
|
|
163
151
|
}
|
|
152
|
+
else {
|
|
153
|
+
url.pathname = replaceDoubleSlash(`${wellKnown}/${url.pathname}`);
|
|
154
|
+
}
|
|
155
|
+
return url;
|
|
156
|
+
}
|
|
157
|
+
function appendWellKnown(url, wellKnown) {
|
|
158
|
+
url.pathname = replaceDoubleSlash(`${url.pathname}/${wellKnown}`);
|
|
159
|
+
return url;
|
|
160
|
+
}
|
|
161
|
+
async function performDiscovery(input, urlName, transform, options) {
|
|
162
|
+
if (!(input instanceof URL)) {
|
|
163
|
+
throw CodedTypeError(`"${urlName}" must be an instance of URL`, ERR_INVALID_ARG_TYPE);
|
|
164
|
+
}
|
|
165
|
+
checkProtocol(input, options?.[allowInsecureRequests] !== true);
|
|
166
|
+
const url = transform(new URL(input.href));
|
|
164
167
|
const headers = prepareHeaders(options?.headers);
|
|
165
168
|
headers.set('accept', 'application/json');
|
|
166
169
|
return (options?.[customFetch] || fetch)(url.href, {
|
|
@@ -171,6 +174,22 @@ export async function discoveryRequest(issuerIdentifier, options) {
|
|
|
171
174
|
signal: options?.signal ? signal(options.signal) : undefined,
|
|
172
175
|
});
|
|
173
176
|
}
|
|
177
|
+
export async function discoveryRequest(issuerIdentifier, options) {
|
|
178
|
+
return performDiscovery(issuerIdentifier, 'issuerIdentifier', (url) => {
|
|
179
|
+
switch (options?.algorithm) {
|
|
180
|
+
case undefined:
|
|
181
|
+
case 'oidc':
|
|
182
|
+
appendWellKnown(url, '.well-known/openid-configuration');
|
|
183
|
+
break;
|
|
184
|
+
case 'oauth2':
|
|
185
|
+
prependWellKnown(url, '.well-known/oauth-authorization-server');
|
|
186
|
+
break;
|
|
187
|
+
default:
|
|
188
|
+
throw CodedTypeError('"options.algorithm" must be "oidc" (default), or "oauth2"', ERR_INVALID_ARG_VALUE);
|
|
189
|
+
}
|
|
190
|
+
return url;
|
|
191
|
+
}, options);
|
|
192
|
+
}
|
|
174
193
|
function assertNumber(input, allow0, it, code, cause) {
|
|
175
194
|
try {
|
|
176
195
|
if (typeof input !== 'number' || !Number.isFinite(input)) {
|
|
@@ -210,9 +229,9 @@ function assertString(input, it, code, cause) {
|
|
|
210
229
|
}
|
|
211
230
|
}
|
|
212
231
|
export async function processDiscoveryResponse(expectedIssuerIdentifier, response) {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
throw CodedTypeError('"
|
|
232
|
+
const expected = expectedIssuerIdentifier;
|
|
233
|
+
if (!(expected instanceof URL) && expected !== _nodiscoverycheck) {
|
|
234
|
+
throw CodedTypeError('"expectedIssuerIdentifier" must be an instance of URL', ERR_INVALID_ARG_TYPE);
|
|
216
235
|
}
|
|
217
236
|
if (!looseInstanceOf(response, Response)) {
|
|
218
237
|
throw CodedTypeError('"response" must be an instance of Response', ERR_INVALID_ARG_TYPE);
|
|
@@ -221,21 +240,10 @@ export async function processDiscoveryResponse(expectedIssuerIdentifier, respons
|
|
|
221
240
|
throw OPE('"response" is not a conform Authorization Server Metadata response (unexpected HTTP status code)', RESPONSE_IS_NOT_CONFORM, response);
|
|
222
241
|
}
|
|
223
242
|
assertReadableResponse(response);
|
|
224
|
-
|
|
225
|
-
try {
|
|
226
|
-
json = await response.json();
|
|
227
|
-
}
|
|
228
|
-
catch (cause) {
|
|
229
|
-
assertApplicationJson(response);
|
|
230
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
231
|
-
}
|
|
232
|
-
if (!isJsonObject(json)) {
|
|
233
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
234
|
-
}
|
|
243
|
+
const json = await getResponseJsonBody(response);
|
|
235
244
|
assertString(json.issuer, '"response" body "issuer" property', INVALID_RESPONSE, { body: json });
|
|
236
|
-
if (new URL(json.issuer).href !==
|
|
237
|
-
|
|
238
|
-
throw OPE('"response" body "issuer" property does not match the expected value', JSON_ATTRIBUTE_COMPARISON, { expected: expectedIssuerIdentifier.href, body: json, attribute: 'issuer' });
|
|
245
|
+
if (expected !== _nodiscoverycheck && new URL(json.issuer).href !== expected.href) {
|
|
246
|
+
throw OPE('"response" body "issuer" property does not match the expected value', JSON_ATTRIBUTE_COMPARISON, { expected: expected.href, body: json, attribute: 'issuer' });
|
|
239
247
|
}
|
|
240
248
|
return json;
|
|
241
249
|
}
|
|
@@ -766,12 +774,12 @@ function parseWwwAuthenticateChallenges(response) {
|
|
|
766
774
|
let rest = header;
|
|
767
775
|
while (rest) {
|
|
768
776
|
let match = rest.match(schemeRE);
|
|
769
|
-
|
|
777
|
+
const scheme = match?.['1'].toLowerCase();
|
|
770
778
|
rest = match?.['2'];
|
|
771
779
|
if (!scheme) {
|
|
772
780
|
return undefined;
|
|
773
781
|
}
|
|
774
|
-
|
|
782
|
+
const parameters = {};
|
|
775
783
|
let token68;
|
|
776
784
|
while (rest) {
|
|
777
785
|
let key;
|
|
@@ -779,7 +787,7 @@ function parseWwwAuthenticateChallenges(response) {
|
|
|
779
787
|
if ((match = rest.match(quotedParamRE))) {
|
|
780
788
|
;
|
|
781
789
|
[, key, value, rest] = match;
|
|
782
|
-
if (value.
|
|
790
|
+
if (value.includes('\\')) {
|
|
783
791
|
try {
|
|
784
792
|
value = JSON.parse(`"${value}"`);
|
|
785
793
|
}
|
|
@@ -824,17 +832,7 @@ export async function processPushedAuthorizationResponse(as, client, response) {
|
|
|
824
832
|
checkAuthenticationChallenges(response);
|
|
825
833
|
await checkOAuthBodyError(response, 201, 'Pushed Authorization Request Endpoint');
|
|
826
834
|
assertReadableResponse(response);
|
|
827
|
-
|
|
828
|
-
try {
|
|
829
|
-
json = await response.json();
|
|
830
|
-
}
|
|
831
|
-
catch (cause) {
|
|
832
|
-
assertApplicationJson(response);
|
|
833
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
834
|
-
}
|
|
835
|
-
if (!isJsonObject(json)) {
|
|
836
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
837
|
-
}
|
|
835
|
+
const json = await getResponseJsonBody(response);
|
|
838
836
|
assertString(json.request_uri, '"response" body "request_uri" property', INVALID_RESPONSE, {
|
|
839
837
|
body: json,
|
|
840
838
|
});
|
|
@@ -1057,16 +1055,7 @@ export async function processUserInfoResponse(as, client, expectedSubject, respo
|
|
|
1057
1055
|
if (client.userinfo_signed_response_alg) {
|
|
1058
1056
|
throw OPE('JWT UserInfo Response expected', JWT_USERINFO_EXPECTED, response);
|
|
1059
1057
|
}
|
|
1060
|
-
|
|
1061
|
-
json = await response.json();
|
|
1062
|
-
}
|
|
1063
|
-
catch (cause) {
|
|
1064
|
-
assertApplicationJson(response);
|
|
1065
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
1066
|
-
}
|
|
1067
|
-
}
|
|
1068
|
-
if (!isJsonObject(json)) {
|
|
1069
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
1058
|
+
json = await getResponseJsonBody(response);
|
|
1070
1059
|
}
|
|
1071
1060
|
assertString(json.sub, '"response" body "sub" property', INVALID_RESPONSE, { body: json });
|
|
1072
1061
|
switch (expectedSubject) {
|
|
@@ -1151,17 +1140,7 @@ async function processGenericAccessTokenResponse(as, client, response, additiona
|
|
|
1151
1140
|
checkAuthenticationChallenges(response);
|
|
1152
1141
|
await checkOAuthBodyError(response, 200, 'Token Endpoint');
|
|
1153
1142
|
assertReadableResponse(response);
|
|
1154
|
-
|
|
1155
|
-
try {
|
|
1156
|
-
json = await response.json();
|
|
1157
|
-
}
|
|
1158
|
-
catch (cause) {
|
|
1159
|
-
assertApplicationJson(response);
|
|
1160
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
1161
|
-
}
|
|
1162
|
-
if (!isJsonObject(json)) {
|
|
1163
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
1164
|
-
}
|
|
1143
|
+
const json = await getResponseJsonBody(response);
|
|
1165
1144
|
assertString(json.access_token, '"response" body "access_token" property', INVALID_RESPONSE, {
|
|
1166
1145
|
body: json,
|
|
1167
1146
|
});
|
|
@@ -1512,25 +1491,16 @@ export async function processIntrospectionResponse(as, client, response, options
|
|
|
1512
1491
|
.then(validateIssuer.bind(undefined, as))
|
|
1513
1492
|
.then(validateAudience.bind(undefined, client.client_id));
|
|
1514
1493
|
jwtRefs.set(response, jwt);
|
|
1515
|
-
|
|
1516
|
-
if (!isJsonObject(json)) {
|
|
1494
|
+
if (!isJsonObject(claims.token_introspection)) {
|
|
1517
1495
|
throw OPE('JWT "token_introspection" claim must be a JSON object', INVALID_RESPONSE, {
|
|
1518
1496
|
claims,
|
|
1519
1497
|
});
|
|
1520
1498
|
}
|
|
1499
|
+
json = claims.token_introspection;
|
|
1521
1500
|
}
|
|
1522
1501
|
else {
|
|
1523
1502
|
assertReadableResponse(response);
|
|
1524
|
-
|
|
1525
|
-
json = await response.json();
|
|
1526
|
-
}
|
|
1527
|
-
catch (cause) {
|
|
1528
|
-
assertApplicationJson(response);
|
|
1529
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
1530
|
-
}
|
|
1531
|
-
if (!isJsonObject(json)) {
|
|
1532
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
1533
|
-
}
|
|
1503
|
+
json = await getResponseJsonBody(response);
|
|
1534
1504
|
}
|
|
1535
1505
|
if (typeof json.active !== 'boolean') {
|
|
1536
1506
|
throw OPE('"response" body "active" property must be a boolean', INVALID_RESPONSE, {
|
|
@@ -1561,17 +1531,7 @@ async function processJwksResponse(response) {
|
|
|
1561
1531
|
throw OPE('"response" is not a conform JSON Web Key Set response (unexpected HTTP status code)', RESPONSE_IS_NOT_CONFORM, response);
|
|
1562
1532
|
}
|
|
1563
1533
|
assertReadableResponse(response);
|
|
1564
|
-
|
|
1565
|
-
try {
|
|
1566
|
-
json = await response.json();
|
|
1567
|
-
}
|
|
1568
|
-
catch (cause) {
|
|
1569
|
-
assertContentTypes(response, 'application/json', 'application/jwk-set+json');
|
|
1570
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
1571
|
-
}
|
|
1572
|
-
if (!isJsonObject(json)) {
|
|
1573
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
1574
|
-
}
|
|
1534
|
+
const json = await getResponseJsonBody(response, (response) => assertContentTypes(response, 'application/json', 'application/jwk-set+json'));
|
|
1575
1535
|
if (!Array.isArray(json.keys)) {
|
|
1576
1536
|
throw OPE('"response" body "keys" property must be an array', INVALID_RESPONSE, { body: json });
|
|
1577
1537
|
}
|
|
@@ -2105,17 +2065,7 @@ export async function processDeviceAuthorizationResponse(as, client, response) {
|
|
|
2105
2065
|
checkAuthenticationChallenges(response);
|
|
2106
2066
|
await checkOAuthBodyError(response, 200, 'Device Authorization Endpoint');
|
|
2107
2067
|
assertReadableResponse(response);
|
|
2108
|
-
|
|
2109
|
-
try {
|
|
2110
|
-
json = await response.json();
|
|
2111
|
-
}
|
|
2112
|
-
catch (cause) {
|
|
2113
|
-
assertApplicationJson(response);
|
|
2114
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
2115
|
-
}
|
|
2116
|
-
if (!isJsonObject(json)) {
|
|
2117
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
2118
|
-
}
|
|
2068
|
+
const json = await getResponseJsonBody(response);
|
|
2119
2069
|
assertString(json.device_code, '"response" body "device_code" property', INVALID_RESPONSE, {
|
|
2120
2070
|
body: json,
|
|
2121
2071
|
});
|
|
@@ -2377,17 +2327,7 @@ export async function processBackchannelAuthenticationResponse(as, client, respo
|
|
|
2377
2327
|
checkAuthenticationChallenges(response);
|
|
2378
2328
|
await checkOAuthBodyError(response, 200, 'Backchannel Authentication Endpoint');
|
|
2379
2329
|
assertReadableResponse(response);
|
|
2380
|
-
|
|
2381
|
-
try {
|
|
2382
|
-
json = await response.json();
|
|
2383
|
-
}
|
|
2384
|
-
catch (cause) {
|
|
2385
|
-
assertApplicationJson(response);
|
|
2386
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
2387
|
-
}
|
|
2388
|
-
if (!isJsonObject(json)) {
|
|
2389
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
2390
|
-
}
|
|
2330
|
+
const json = await getResponseJsonBody(response);
|
|
2391
2331
|
assertString(json.auth_req_id, '"response" body "auth_req_id" property', INVALID_RESPONSE, {
|
|
2392
2332
|
body: json,
|
|
2393
2333
|
});
|
|
@@ -2445,17 +2385,7 @@ export async function processDynamicClientRegistrationResponse(response) {
|
|
|
2445
2385
|
checkAuthenticationChallenges(response);
|
|
2446
2386
|
await checkOAuthBodyError(response, 201, 'Dynamic Client Registration Endpoint');
|
|
2447
2387
|
assertReadableResponse(response);
|
|
2448
|
-
|
|
2449
|
-
try {
|
|
2450
|
-
json = await response.json();
|
|
2451
|
-
}
|
|
2452
|
-
catch (cause) {
|
|
2453
|
-
assertApplicationJson(response);
|
|
2454
|
-
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
2455
|
-
}
|
|
2456
|
-
if (!isJsonObject(json)) {
|
|
2457
|
-
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
2458
|
-
}
|
|
2388
|
+
const json = await getResponseJsonBody(response);
|
|
2459
2389
|
assertString(json.client_id, '"response" body "client_id" property', INVALID_RESPONSE, {
|
|
2460
2390
|
body: json,
|
|
2461
2391
|
});
|
|
@@ -2471,6 +2401,47 @@ export async function processDynamicClientRegistrationResponse(response) {
|
|
|
2471
2401
|
}
|
|
2472
2402
|
return json;
|
|
2473
2403
|
}
|
|
2404
|
+
export async function resourceDiscoveryRequest(resourceIdentifier, options) {
|
|
2405
|
+
return performDiscovery(resourceIdentifier, 'resourceIdentifier', (url) => {
|
|
2406
|
+
prependWellKnown(url, '.well-known/oauth-protected-resource');
|
|
2407
|
+
return url;
|
|
2408
|
+
}, options);
|
|
2409
|
+
}
|
|
2410
|
+
export async function processResourceDiscoveryResponse(expectedResourceIdentifier, response) {
|
|
2411
|
+
const expected = expectedResourceIdentifier;
|
|
2412
|
+
if (!(expected instanceof URL) && expected !== _nodiscoverycheck) {
|
|
2413
|
+
throw CodedTypeError('"expectedResourceIdentifier" must be an instance of URL', ERR_INVALID_ARG_TYPE);
|
|
2414
|
+
}
|
|
2415
|
+
if (!looseInstanceOf(response, Response)) {
|
|
2416
|
+
throw CodedTypeError('"response" must be an instance of Response', ERR_INVALID_ARG_TYPE);
|
|
2417
|
+
}
|
|
2418
|
+
if (response.status !== 200) {
|
|
2419
|
+
throw OPE('"response" is not a conform Resource Server Metadata response (unexpected HTTP status code)', RESPONSE_IS_NOT_CONFORM, response);
|
|
2420
|
+
}
|
|
2421
|
+
assertReadableResponse(response);
|
|
2422
|
+
const json = await getResponseJsonBody(response);
|
|
2423
|
+
assertString(json.resource, '"response" body "resource" property', INVALID_RESPONSE, {
|
|
2424
|
+
body: json,
|
|
2425
|
+
});
|
|
2426
|
+
if (expected !== _nodiscoverycheck && new URL(json.resource).href !== expected.href) {
|
|
2427
|
+
throw OPE('"response" body "resource" property does not match the expected value', JSON_ATTRIBUTE_COMPARISON, { expected: expected.href, body: json, attribute: 'resource' });
|
|
2428
|
+
}
|
|
2429
|
+
return json;
|
|
2430
|
+
}
|
|
2431
|
+
async function getResponseJsonBody(response, check = assertApplicationJson) {
|
|
2432
|
+
let json;
|
|
2433
|
+
try {
|
|
2434
|
+
json = await response.json();
|
|
2435
|
+
}
|
|
2436
|
+
catch (cause) {
|
|
2437
|
+
check(response);
|
|
2438
|
+
throw OPE('failed to parse "response" body as JSON', PARSE_ERROR, cause);
|
|
2439
|
+
}
|
|
2440
|
+
if (!isJsonObject(json)) {
|
|
2441
|
+
throw OPE('"response" body must be a top level object', INVALID_RESPONSE, { body: json });
|
|
2442
|
+
}
|
|
2443
|
+
return json;
|
|
2444
|
+
}
|
|
2474
2445
|
export const _nopkce = Symbol();
|
|
2475
2446
|
export const _nodiscoverycheck = Symbol();
|
|
2476
2447
|
export const _expectedIssuer = Symbol();
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,IAAI,UAAkB,CAAA;AAEtB,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IAC3F,MAAM,IAAI,GAAG,cAAc,CAAA;IAC3B,MAAM,OAAO,GAAG,QAAQ,CAAA;IACxB,UAAU,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAA;AACnC,CAAC;AAkCD,SAAS,eAAe,CAAe,KAAc,EAAE,QAAwB;IAC7E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CACL,KAAK,YAAY,QAAQ;YACzB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAC5F,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAkCD,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AACrD,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAInD,SAAS,cAAc,CAAC,OAAe,EAAE,IAAW,EAAE,KAAe;IACnE,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5B,OAAO,GAAG,CAAA;AACZ,CAAC;AA2CD,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,EAAE,CAAA;AA8B5D,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,EAAE,CAAA;AAkBhD,MAAM,CAAC,MAAM,cAAc,GAAkB,MAAM,EAAE,CAAA;AAoIrD,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,EAAE,CAAA;AAoClD,MAAM,CAAC,MAAM,eAAe,GAAkB,MAAM,EAAE,CAAA;AA8CtD,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,EAAE,CAAA;AAsDjD,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,EAAE,CAAA;AA+chD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAIjC,SAAS,GAAG,CAAC,KAA0B;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,GAAG,MAAM,CAAA;AACzB,SAAS,eAAe,CAAC,KAA+B;IACtD,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAEtD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QACnF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,cAAc,CAClB,mDAAmD,EACnD,qBAAqB,EACrB,KAAK,CACN,CAAA;IACH,CAAC;AACH,CAAC;AAID,SAAS,IAAI,CAAC,KAAwC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAKD,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,IAAI,CAAQ;IAIZ,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;QAEjC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC;CACF;AAKD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,IAAI,CAAS;IAKb,YAAY,OAAe,EAAE,OAA4C;QACvE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAA;QAC3B,CAAC;QAED,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC;CACF;AAED,SAAS,GAAG,CAAC,OAAe,EAAE,IAAa,EAAE,KAAe;IAC1D,OAAO,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,eAAe,CAAC,GAAY,EAAE,EAAU;IAC/C,IAAI,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,cAAc,CAAC,GAAG,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;IACzE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAY,EACZ,EAAU;IAEV,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAExB,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,cAAc,CAAC,GAAG,EAAE,8BAA8B,EAAE,qBAAqB,CAAC,CAAA;IAClF,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAY,EAAE,EAAU;IAC/C,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAExB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,cAAc,CAAC,GAAG,EAAE,6BAA6B,EAAE,qBAAqB,CAAC,CAAA;IACjF,CAAC;AACH,CAAC;AAkFD,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,YAAY,CAAiB,KAAc;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,cAAc,CAAC,KAA6D;IACnF,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACpC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;IAElC,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,cAAc,CAClB,oEAAoE,EACpE,qBAAqB,CACtB,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,MAAM,CAAC,KAA4D;IAC1E,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,KAAK,GAAG,KAAK,EAAE,CAAA;IACjB,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,cAAc,CAClB,+DAA+D,EAC/D,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAQ,EAAE,SAAiB;IACnD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzB,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,GAAG,kBAAkB,CAAC,GAAG,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ,EAAE,SAAiB;IAClD,GAAG,CAAC,QAAQ,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAA;IACjE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,KAAU,EACV,OAAe,EACf,SAA4B,EAC5B,OAAmC;IAEnC,IAAI,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,cAAc,CAAC,IAAI,OAAO,8BAA8B,EAAE,oBAAoB,CAAC,CAAA;IACvF,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC,CAAA;IAE/D,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAE1C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAEzC,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;QACjD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC,CAAA;AACJ,CAAC;AAoBD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,gBAAqB,EACrB,OAAiC;IAEjC,OAAO,gBAAgB,CACrB,gBAAgB,EAChB,kBAAkB,EAClB,CAAC,GAAG,EAAE,EAAE;QACN,QAAQ,OAAO,EAAE,SAAS,EAAE,CAAC;YAC3B,KAAK,SAAS,CAAC;YACf,KAAK,MAAM;gBACT,eAAe,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAA;gBACxD,MAAK;YACP,KAAK,QAAQ;gBACX,gBAAgB,CAAC,GAAG,EAAE,wCAAwC,CAAC,CAAA;gBAC/D,MAAK;YACP;gBACE,MAAM,cAAc,CAClB,2DAA2D,EAC3D,qBAAqB,CACtB,CAAA;QACL,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,OAAO,CACR,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,MAAe,EACf,EAAU,EACV,IAAa,EACb,KAAe;IAEf,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAA;QAC7E,CAAC;QAED,IAAI,KAAK,GAAG,CAAC;YAAE,OAAM;QAErB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,cAAc,CAAC,GAAG,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAA;YAC3F,CAAC;YACD,OAAM;QACR,CAAC;QAED,MAAM,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAA;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,CAAE,GAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,EAAU,EACV,IAAa,EACb,KAAe;IAEf,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAA;QAC7E,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,cAAc,CAAC,GAAG,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,CAAE,GAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,wBAA6B,EAC7B,QAAkB;IAElB,MAAM,QAAQ,GAAG,wBAA0D,CAAA;IAC3E,IAAI,CAAC,CAAC,QAAQ,YAAY,GAAG,CAAC,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACjE,MAAM,cAAc,CAClB,uDAAuD,EACvD,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,GAAG,CACP,kGAAkG,EAClG,uBAAuB,EACvB,QAAQ,CACT,CAAA;IACH,CAAC;IAED,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAsB,QAAQ,CAAC,CAAA;IAErE,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAEhG,IAAI,QAAQ,KAAK,iBAAiB,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClF,MAAM,GAAG,CACP,qEAAqE,EACrE,yBAAyB,EACzB,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAC7D,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,QAAkB,EAAE,GAAG,KAAe;IACrD,IAAI,GAAG,GAAG,kCAAkC,CAAA;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QACxB,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC1C,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IACrC,CAAC;SAAM,CAAC;QACN,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAkB,EAAE,GAAG,KAAe;IAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB,EAAE,WAAmB;IAChE,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;QAC7C,MAAM,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAKD,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACzD,CAAC;AAYD,MAAM,UAAU,0BAA0B;IACxC,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC;AASD,MAAM,UAAU,mBAAmB;IACjC,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC;AASD,MAAM,UAAU,mBAAmB;IACjC,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,YAAoB;IACnE,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IAE1C,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;AACvE,CAAC;AAOD,SAAS,YAAY,CAAC,KAAyC;IAC7D,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,YAAY,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC5B,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAA;AACH,CAAC;AAgBD,SAAS,KAAK,CAAC,GAAc;IAC3B,QAAS,GAAG,CAAC,SAAmC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB;YACE,MAAM,IAAI,yBAAyB,CAAC,6CAA6C,EAAE;gBACjF,KAAK,EAAE,GAAG;aACX,CAAC,CAAA;IACN,CAAC;AACH,CAAC;AAKD,SAAS,KAAK,CAAC,GAAc;IAC3B,QAAS,GAAG,CAAC,SAAmC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB;YACE,MAAM,IAAI,yBAAyB,CAAC,6CAA6C,EAAE;gBACjF,KAAK,EAAE,GAAG;aACX,CAAC,CAAA;IACN,CAAC;AACH,CAAC;AAKD,SAAS,KAAK,CAAC,GAAc;IAC3B,QAAS,GAAG,CAAC,SAA4B,CAAC,UAAU,EAAE,CAAC;QACrD,KAAK,OAAO;YACV,OAAO,OAAO,CAAA;QAChB,KAAK,OAAO;YACV,OAAO,OAAO,CAAA;QAChB,KAAK,OAAO;YACV,OAAO,OAAO,CAAA;QAChB;YACE,MAAM,IAAI,yBAAyB,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAChG,CAAC;AACH,CAAC;AAKD,SAAS,QAAQ,CAAC,GAAc;IAC9B,QAAQ,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,KAAK,mBAAmB;YACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;QAClB;YACE,MAAM,IAAI,yBAAyB,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAC/F,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAuC;IAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,CAAA;IAEhC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA4C;IACrE,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,CAAA;IAE1C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/F,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAKD,SAAS,SAAS;IAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,QAAQ,CAAC,EAAuB;IACvC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,cAAc,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAA;IACtE,CAAC;IAED,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,cAAc,CAAC,4BAA4B,EAAE,oBAAoB,CAAC,CAAA;IAC1E,CAAC;IAED,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;AACtD,CAAC;AAOD,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,SAAS,EAAE,EAAE;QAC7E,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;YACjE,KAAK,KAAK;gBACR,OAAO,GAAG,CAAA;YACZ;gBACE,MAAM,IAAI,KAAK,EAAE,CAAA;QACrB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAuCD,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACrC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC,CAAA;AACH,CAAC;AAsBD,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAA;QACnD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,WAAW,EAAE,CAAC,CAAA;IACtD,CAAC,CAAA;AACH,CAAC;AAWD,SAAS,sBAAsB,CAAC,EAAuB,EAAE,MAAc;IACrE,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC9C,OAAO;QACL,GAAG,EAAE,WAAW,EAAE;QAClB,GAAG,EAAE,EAAE,CAAC,MAAM;QACd,GAAG,EAAE,GAAG,GAAG,EAAE;QACb,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,MAAM,CAAC,SAAS;QACrB,GAAG,EAAE,MAAM,CAAC,SAAS;KACtB,CAAA;AACH,CAAC;AAsBD,MAAM,UAAU,aAAa,CAC3B,gBAAwC,EACxC,OAAgC;IAEhC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAA;IACnD,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAA;IAC/C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA;QAC1C,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAElD,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE7C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,wDAAwD,CAAC,CAAA;QAC3F,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;IACnE,CAAC,CAAA;AACH,CAAC;AAuBD,MAAM,UAAU,eAAe,CAC7B,YAAoB,EACpB,OAAgC;IAEhC,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAA;IACzC,IAAI,GAAc,CAAA;IAClB,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC1C,GAAG,KAAK,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACnC,KAAK,EACL,GAAG,CAAC,YAAY,CAAC,EACjB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAA;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAElD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAEzB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QACzF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAEpE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,wDAAwD,CAAC,CAAA;QAC3F,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC,CAAA;AACH,CAAC;AAeD,MAAM,UAAU,IAAI;IAClB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACrC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC,CAAA;AACH,CAAC;AAgBD,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,EAAE,CAAA;AACf,CAAC;AAKD,KAAK,UAAU,OAAO,CACpB,MAAkC,EAClC,OAAgC,EAChC,GAAc;IAEd,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,cAAc,CAClB,uFAAuF,EACvF,qBAAqB,CACtB,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnF,OAAO,GAAG,KAAK,IAAI,SAAS,EAAE,CAAA;AAChC,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAuB,EACvB,MAAc,EACd,UAAiE,EACjE,UAAkC,EAClC,OAAgC;IAEhC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,UAAU,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAA;IAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAC7C,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAEzC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAE7C,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,MAAM,GAA8B;QACxC,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3C,GAAG,EAAE,WAAW,EAAE;QAClB,GAAG,EAAE,EAAE,CAAC,MAAM;QACd,GAAG,EAAE,GAAG,GAAG,EAAE;QACb,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,MAAM,CAAC,SAAS;KACtB,CAAA;IAED,IAAI,QAAkB,CAAA;IACtB,IACE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1B,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,GAAG,CAAC,EACnB,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,CAAC;QACC,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAEpC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,CAAC;QACC,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,CAAC,gDAAgD,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;YACjF,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,cAAc,CAClB,2DAA2D,EAC3D,qBAAqB,CACtB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,CAAC;QACC,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,CACP,+DAA+D,EAC/D,WAAW,EACX,KAAK,CACN,CAAA;YACH,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjD,MAAM,cAAc,CAClB,yEAAyE,EACzE,qBAAqB,CACtB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;QAClB,GAAG,EAAE,qBAAqB;QAC1B,GAAG;KACJ,CAAA;IAED,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5C,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC;AAED,IAAI,QAAiC,CAAA;AAErC,KAAK,UAAU,oBAAoB,CAAC,GAAc;IAChD,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC1E,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACtB,OAAO,GAAG,CAAA;AACZ,CAAC;AAKD,KAAK,UAAU,SAAS,CAAC,GAAc;IACrC,QAAQ,KAAK,IAAI,OAAO,EAAE,CAAA;IAC1B,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAA;AACvD,CAAC;AAGD,MAAM,QAAQ,GAA2D,GAAG,CAAC,KAAK;IAChF,CAAC;QACC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IACrC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAA;AAKL,MAAM,UAAU,aAAa,CAAC,GAAQ,EAAE,YAAiC;IACvE,IAAI,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,GAAG,CAAC,oCAAoC,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAC9E,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,GAAG,CAAC,0CAA0C,EAAE,0BAA0B,EAAE,GAAG,CAAC,CAAA;IACxF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAc,EACd,QAAmC,EACnC,YAAiC,EACjC,YAAiC;IAEjC,IAAI,GAAe,CAAA;IACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,CACP,0DAA0D,YAAY,CAAC,CAAC,CAAC,6BAA6B,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,QAAQ,GAAG,EAAE,EACxI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,EACvE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAC7E,CAAA;IACH,CAAC;IAED,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAEhC,OAAO,GAAG,CAAA;AACZ,CAAC;AAWD,MAAM,UAAU,eAAe,CAC7B,EAAuB,EACvB,QAAmC,EACnC,YAAiC,EACjC,YAAiC;IAEjC,IAAI,YAAY,IAAI,EAAE,CAAC,qBAAqB,IAAI,QAAQ,IAAI,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACrF,OAAO,gBAAgB,CACrB,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAClC,QAAQ,EACR,YAAY,EACZ,YAAY,CACb,CAAA;IACH,CAAC;IAED,OAAO,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;AAC7E,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,UAAiE,EACjE,OAA2C;IAE3C,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,uCAAuC,EACvC,MAAM,CAAC,yBAAyB,EAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAA;IAC5C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAEzC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,GAAG,EACH,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IACnC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAmCD,MAAM,WAAW;IACf,OAAO,CAA6B;IACpC,WAAW,CAAW;IACtB,UAAU,CAAW;IACrB,UAAU,CAAQ;IAClB,gBAAgB,CAA0B;IAC1C,IAAI,CAAsB;IAC1B,IAAI,CAAS;IAEb,YACE,MAAsC,EACtC,OAAsB,EACtB,OAAgC;QAEhC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAA;QAC1D,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAA;QAEvD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,cAAc,CAAC,2CAA2C,EAAE,qBAAqB,CAAC,CAAA;QAC1F,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,CAAA;QAClD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAA;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAA;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,GAAW;QAC3B,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YACjE,IAAI,UAAqB,CAAA;YACzB,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;gBAChB,KAAK,IAAI;oBACP,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;oBAC/D,MAAK;gBACP,KAAK,KAAK;oBACR,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;oBACrD,MAAK;gBACP,KAAK,KAAK;oBACR,UAAU,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;oBACjD,MAAK;gBACP;oBACE,MAAM,IAAI,yBAAyB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YAC9E,CAAC;YAED,IAAI,CAAC,IAAI,KAAK,IAAI,CAChB,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CACjF,CAAA;QACH,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,OAAgB,EAAE,GAAW,EAAE,WAAoB;QAC1E,IAAI,CAAC,OAAO,KAAK;YACf,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/B,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAA;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEnC,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QACzC,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,WAAW,EAAE;YAClB,GAAG;YACH,KAAK;YACL,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE;YACnC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7F,CAAA;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,UAAU,CAAC,QAAkB;QAC3B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;CACF;AAQD,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,GAAG,YAAY,6BAA6B,EAAE,CAAC;QACjD,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAA;QAC1C,OAAO,CACL,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,KAAK,gBAAgB,CAC/F,CAAA;IACH,CAAC;IAED,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,KAAK,KAAK,gBAAgB,CAAA;IACvC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AA2BD,MAAM,UAAU,IAAI,CAClB,MAAsC,EACtC,OAAsB,EACtB,OAAgC;IAEhC,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAClD,CAAC;AAqCD,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAIjC,KAAK,CAAuC;IAErD,IAAI,CAA4B;IAKhC,KAAK,CAAQ;IAKb,MAAM,CAAQ;IAMd,iBAAiB,CAAS;IAM1B,QAAQ,CAAW;IAKnB,YACE,OAAe,EACf,OAGC;QAED,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAA;QACrC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAA;QACxD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAGvF,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC;CACF;AAcD,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAI1C,KAAK,CAAiB;IAE/B,IAAI,CAAqC;IAKzC,KAAK,CAAQ;IAMb,iBAAiB,CAAS;IAK1B,YACE,OAAe,EACf,OAEC;QAED,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;QACxC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAA;QAG5E,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC;CACF;AAgBD,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAI7C,KAAK,CAA4B;IAE1C,IAAI,CAAmC;IAMvC,QAAQ,CAAU;IAKlB,MAAM,CAAQ;IAKd,YAAY,OAAe,EAAE,OAAkE;QAC7F,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;QACtC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAA;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QAG9D,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC;CACF;AAkED,MAAM,UAAU,GAAG,2CAA2C,CAAA;AAC9D,MAAM,YAAY,GAAG,sCAAsC,CAAA;AAC3D,MAAM,WAAW,GAAG,yBAAyB,CAAA;AAE7C,MAAM,kBAAkB,GAAG,GAAG,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAA;AACxE,MAAM,YAAY,GAAG,GAAG,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,GAAG,CAAA;AAExE,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC,CAAA;AAClE,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,kBAAkB,GAAG,aAAa,CAAC,CAAA;AACjF,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC,CAAA;AAC7E,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,YAAY,GAAG,mBAAmB,CAAC,CAAA;AAE5E,SAAS,8BAA8B,CACrC,QAAkB;IAElB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACvD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAA+B,EAAE,CAAA;IAEjD,IAAI,IAAI,GAAuB,MAAM,CAAA;IACrC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,KAAK,GAA4B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAuB,CAAA;QAC9D,IAAI,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,UAAU,GAA2C,EAAE,CAAA;QAC7D,IAAI,OAA2B,CAAA;QAE/B,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,GAAW,CAAA;YACf,IAAI,KAAa,CAAA;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBACxC,CAAC;gBAAA,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;gBAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;oBAClC,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACZ,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,WAAW,EAAuB,CAAC,GAAG,KAAK,CAAA;gBAC1D,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBAC1C,CAAC;gBAAA,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;gBAE7B,UAAU,CAAC,GAAG,CAAC,WAAW,EAAuB,CAAC,GAAG,KAAK,CAAA;gBAC1D,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;oBACnC,MAAK;gBACP,CAAC;gBACD,CAAC;gBAAA,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;gBAC1B,MAAK;YACP,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,SAAS,GAA6B,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;QAClE,IAAI,OAAO,EAAE,CAAC;YAEZ,SAAS,CAAC,OAAO,GAAG,OAAO,CAAA;QAC7B,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,EAAuB,EACvB,MAAc,EACd,QAAkB;IAElB,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,uCAAuC,CAAC,CAAA;IAEjF,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAyC,QAAQ,CAAC,CAAA;IAExF,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,wCAAwC,EAAE,gBAAgB,EAAE;QACzF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,IAAI,SAAS,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;IACrF,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,uCAAuC,EAAE,gBAAgB,EAAE;QACxF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAE3B,OAAO,IAAI,CAAA;AACb,CAAC;AAeD,KAAK,UAAU,2BAA2B,CAAC,QAAkB;IAC3D,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACnD,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAChC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAc,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAA;YACrD,IAAI,YAAY,CAAc,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3F,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAkB,EAAE,QAAgB,EAAE,KAAa;IACpF,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,GAA4B,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;YAC7B,MAAM,IAAI,iBAAiB,CAAC,qDAAqD,EAAE;gBACjF,KAAK,EAAE,GAAG;gBACV,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,GAAG,CACP,+BAA+B,KAAK,yCAAyC,EAC7E,uBAAuB,EACvB,QAAQ,CACT,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAkB;IACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,cAAc,CAAC,0CAA0C,EAAE,qBAAqB,CAAC,CAAA;IACzF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,WAAmB,EACnB,MAAc,EACd,GAAQ,EACR,OAAiB,EACjB,IAAmC,EACnC,OAAyC;IAEzC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAE1C,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,cAAc,CAAC,kCAAkC,EAAE,oBAAoB,CAAC,CAAA;IAChF,CAAC;IAED,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC,CAAA;IAE7D,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEjC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAA;IAEzF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;QACjE,IAAI;QACJ,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM;QACN,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC,CAAA;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IACnC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,MAAc,EACd,GAAQ,EACR,OAAiB,EACjB,IAAmC,EACnC,OAAyC;IAEzC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACxF,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IACvC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAuBD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAuB,EACvB,MAAc,EACd,WAAmB,EACnB,OAAgC;IAEhC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,mBAAmB,EACnB,MAAM,CAAC,yBAAyB,EAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,IAAI,MAAM,CAAC,4BAA4B,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IAC1C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,GAAG,OAAO;QACV,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;KACC,CAAC,CAAA;AACvC,CAAC;AAqCD,IAAI,OAA0E,CAAA;AAS9E,SAAS,YAAY,CACnB,EAAuB,EACvB,IAAU,EACV,GAAW,EACX,KAAsB;IAEtB,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;IACzB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;QACd,IAAI;QACJ,GAAG;QACH,IAAI,GAAG;YACL,OAAO,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;QAC/B,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACzF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IACE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAC1D,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,cAAc,CAAC,EAAuB,EAAE,KAA+B;IAC9E,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,OAAO,KAAK,EAAE,IAAI,CAAA;IAClB,OAAO,KAAK,EAAE,GAAG,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,EAAuB,EACvB,OAAmE,EACnE,MAAkC;IAElC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;IAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE5B,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAChE,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,IAAU,CAAA;IACd,IAAI,GAAW,CAAA;IAEf,IAAI,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAA;QACnC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YAEf,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YACxC,OAAO,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC/D,GAAG,GAAG,CAAC,CAAA;QACP,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,GAAW,CAAA;IACf,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACP,GAAG,GAAG,KAAK,CAAA;YACX,MAAK;QACP,KAAK,IAAI;YACP,GAAG,GAAG,IAAI,CAAA;YACV,MAAK;QACP,KAAK,IAAI;YACP,GAAG,GAAG,KAAK,CAAA;YACX,MAAK;QACP;YACE,MAAM,IAAI,yBAAyB,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QAE1C,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACpB,OAAO,KAAK,CAAA;QACd,CAAC;QAGD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAGD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAGD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAA;QACd,CAAC;QAGD,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;QAGD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;YAC5C,KAAK,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;YAC5C,KAAK,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;YAC5C,KAAK,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC;YAChD,KAAK,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS;gBAC3C,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAErC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;YAEd,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YACxC,OAAO,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,GAAG,CACP,uEAAuE,EACvE,aAAa,EACb,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,QAAS,CAAC,EAAE,CACxD,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,GAAG,CACP,uHAAuH,EACvH,aAAa,EACb,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,QAAS,CAAC,EAAE,CACxD,CAAA;IACH,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC;AAWD,MAAM,CAAC,MAAM,gBAAgB,GAAkB,MAAM,EAAE,CAAA;AAEvD,SAAS,cAAc,CAAC,KAAyB;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACzD,CAAC;AA6BD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAuB,EACvB,MAAc,EACd,eAAiD,EACjD,QAAkB,EAClB,OAA2B;IAE3B,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,GAAG,CACP,sFAAsF,EACtF,uBAAuB,EACvB,QAAQ,CACT,CAAA;IACH,CAAC;IAED,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAEhC,IAAI,IAAgB,CAAA;IACpB,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,iBAAiB,EAAE,CAAC;QACnD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CACvC,MAAM,QAAQ,CAAC,IAAI,EAAE,EACrB,qBAAqB,CAAC,IAAI,CACxB,SAAS,EACT,MAAM,CAAC,4BAA4B,EACnC,EAAE,CAAC,qCAAqC,EACxC,SAAS,CACV,EACD,YAAY,CAAC,MAAM,CAAC,EACpB,iBAAiB,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,CAAC,UAAU,CAAC,CACtB;aACE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;aAChE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;QAEnD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC1B,IAAI,GAAG,MAAM,CAAA;IACf,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,CAAC,4BAA4B,EAAE,CAAC;YACxC,MAAM,GAAG,CAAC,gCAAgC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;QAC9E,CAAC;QACD,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1F,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,gBAAgB;YACnB,MAAK;QACP;YACE,YAAY,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAA;YAElD,IAAI,IAAI,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;gBACjC,MAAM,GAAG,CAAC,iDAAiD,EAAE,yBAAyB,EAAE;oBACtF,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAA;YACJ,CAAC;IACL,CAAC;IAED,OAAO,IAAwB,CAAA;AACjC,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,GAAQ,EACR,IAAqB,EACrB,OAAgB,EAChB,OAAsE;IAEtE,MAAM,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iDAAiD,CAAC,CAAA;IAE9E,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;QACjD,IAAI;QACJ,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC,CAAA;AACJ,CAAC;AAWD,KAAK,UAAU,oBAAoB,CACjC,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,SAAiB,EACjB,UAA2B,EAC3B,OAAmE;IAEnE,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,gBAAgB,EAChB,MAAM,CAAC,yBAAyB,EAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAEzC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,GAAG,EACH,UAAU,EACV,OAAO,EACP,OAAO,CACR,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IACnC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,YAAoB,EACpB,OAAqC;IAErC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAE5C,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACrE,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;IAC7C,OAAO,oBAAoB,CACzB,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,OAAO,CACR,CAAA;AACH,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,OAAO,EAAkC,CAAA;AACnE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAoB,CAAA;AAgB/C,MAAM,UAAU,yBAAyB,CAAC,GAA0B;IAClE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,cAAc,CAClB,gFAAgF,EAChF,qBAAqB,CACtB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA8BD,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,EAAuB,EACvB,GAAa,EACb,OAAkC;IAElC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,cAAc,CAClB,4EAA4E,EAC5E,qBAAqB,CACtB,CAAA;IACH,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE5F,MAAM,MAAM,GAA+B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IAEjF,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,yBAAyB,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,IAAI,GAAe,CAAA;IACnB,GAAG,GAAG,MAAM,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACjE,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC9C,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,+BAA2E,EAC3E,OAAsC;IAEtC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAE1D,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAmC,QAAQ,CAAC,CAAA;IAElF,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,yCAAyC,EAAE,gBAAgB,EAAE;QAC3F,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,uCAAuC,EAAE,gBAAgB,EAAE;QACvF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAuB,CAAA;IAEpE,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,yBAAyB,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,SAAS,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QACrF,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,uCAAuC,EAAE,gBAAgB,EAAE;YACxF,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,0CAA0C,EAAE,gBAAgB,EAAE;YAC7F,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAGD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,GAAG,CAAC,mDAAmD,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,qCAAqC,EAAE,gBAAgB,EAAE;YACnF,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QAEF,MAAM,cAAc,GAAmC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAE1F,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACtC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAA;YACvE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAClC,CAAC;QAED,IAAI,+BAA+B,EAAE,MAAM,EAAE,CAAC;YAC5C,cAAc,CAAC,IAAI,CAAC,GAAG,+BAA+B,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CACvC,IAAI,CAAC,QAAQ,EACb,qBAAqB,CAAC,IAAI,CACxB,SAAS,EACT,MAAM,CAAC,4BAA4B,EACnC,EAAE,CAAC,qCAAqC,EACxC,OAAO,CACR,EACD,YAAY,CAAC,MAAM,CAAC,EACpB,iBAAiB,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,CAAC,UAAU,CAAC,CACtB;aACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;aACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;aACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,GAAG,CACP,yEAAyE,EACzE,oBAAoB,EACpB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CACzB,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBACpC,MAAM,GAAG,CACP,0DAA0D,EAC1D,oBAAoB,EACpB,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CACrD,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CACV,MAAM,CAAC,SAAS,EAChB,KAAK,EACL,4CAA4C,EAC5C,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAA;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC1B,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAiB,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAkB;IACvD,IAAI,UAAkD,CAAA;IACtD,IAAI,CAAC,UAAU,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,6BAA6B,CACrC,uEAAuE,EACvE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAChC,CAAA;IACH,CAAC;AACH,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAA2B;IAE3B,OAAO,iCAAiC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACpF,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,MAA+C;IAE/C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,MAA+C;IACzF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC,6CAA6C,EAAE,oBAAoB,EAAE;gBAC7E,QAAQ;gBACR,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,KAAK;aACb,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,GAAG,CAAC,6CAA6C,EAAE,oBAAoB,EAAE;YAC7E,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,KAAK;SACb,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,sBAAsB,CAC7B,EAAuB,EACvB,MAA+C;IAE/C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,cAAc,CAAC,EAAuB,EAAE,MAA+C;IAE9F,MAAM,QAAQ,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;IAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,CAAC,2CAA2C,EAAE,oBAAoB,EAAE;YAC3E,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,KAAK;SACb,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAgC,CAAA;AAC3D,SAAS,KAAK,CAAC,YAA6B;IAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACzB,OAAO,YAAY,CAAA;AACrB,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,kBAAmC,EACnC,WAAmB,EACnB,YAAoB,EACpB,OAAqC;IAErC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrC,MAAM,cAAc,CAClB,mIAAmI,EACnI,qBAAqB,CACtB,CAAA;IACH,CAAC;IAED,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAE1C,MAAM,IAAI,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,GAAG,CAAC,+CAA+C,EAAE,gBAAgB,CAAC,CAAA;IAC9E,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACrE,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IAC3C,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAG5B,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC7B,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;QAC5C,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,oBAAoB,CACzB,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,OAAO,CACR,CAAA;AACH,CAAC;AA4CD,MAAM,aAAa,GAAG;IACpB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,YAAY;IACpB,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,cAAc;IACnB,SAAS,EAAE,qBAAqB;CACjC,CAAA;AAED,SAAS,gBAAgB,CACvB,QAAwC,EACxC,MAA+C;IAE/C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,GAAG,CAAC,QAAQ,KAAK,MAAM,aAAa,CAAC,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,EAAE;gBACpF,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAmCD,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAA;AAMpD,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,EAAE,CAAA;AAsCxD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAAiD;IAEjD,IACE,OAAO,OAAO,EAAE,aAAa,KAAK,QAAQ;QAC1C,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ;QACnC,OAAO,EAAE,cAAc,EACvB,CAAC;QACD,OAAO,sCAAsC,CAC3C,EAAE,EACF,MAAM,EACN,QAAQ,EACR,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,MAAM,EACd;YACE,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;SAClC,CACF,CAAA;IACH,CAAC;IAED,OAAO,sCAAsC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9E,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,aAAwD,EACxD,MAAqD,EACrD,OAAsC;IAEtC,MAAM,wBAAwB,GAAmC,EAAE,CAAA;IAEnE,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,SAAS;YACZ,aAAa,GAAG,aAAa,CAAA;YAC7B,MAAK;QACP,KAAK,aAAa;YAChB,MAAK;QACP;YACE,YAAY,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAA;YACvD,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,KAAK,MAAM,CAAC,eAAe,CAAA;IACjC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,MAAM,GAAG,iBAAiB,CAAA;YAC1B,MAAK;QACP,KAAK,iBAAiB;YACpB,MAAK;QACP;YACE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;YAChD,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iCAAiC,CACpD,EAAE,EACF,MAAM,EACN,QAAQ,EACR,wBAAwB,EACxB,OAAO,CACR,CAAA;IAED,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,qCAAqC,EAAE,gBAAgB,EAAE;QACrF,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAE,CAAA;IACjD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,MAAM,CAAC,SAAU,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,EAAE,CAAC;YACjD,MAAM,GAAG,CACP,kEAAkE,EAClE,mBAAmB,EACnB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAC/C,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,GAAG,CAAC,yCAAyC,EAAE,oBAAoB,EAAE;gBACzE,QAAQ,EAAE,SAAS;gBACnB,MAAM;gBACN,KAAK,EAAE,OAAO;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QAC1C,MAAM,GAAG,CAAC,yCAAyC,EAAE,oBAAoB,EAAE;YACzE,QAAQ,EAAE,aAAa;YACvB,MAAM;YACN,KAAK,EAAE,OAAO;SACf,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAEhG,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAA;YACvE,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAC3C,IAAI,MAAM,CAAC,SAAU,GAAG,MAAM,CAAC,eAAe,GAAG,GAAG,GAAG,SAAS,EAAE,CAAC;gBACjE,MAAM,GAAG,CACP,kEAAkE,EAClE,mBAAmB,EACnB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAC/C,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,GAAG,CAAC,yCAAyC,EAAE,oBAAoB,EAAE;gBACzE,QAAQ,EAAE,SAAS;gBACnB,MAAM;gBACN,KAAK,EAAE,OAAO;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAOD,MAAM,CAAC,MAAM,0BAA0B,GAAG,kCAAkC,CAAA;AAM5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAA;AAM9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAA;AAMlE,MAAM,CAAC,MAAM,4BAA4B,GAAG,oCAAoC,CAAA;AAOhF,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAA;AAWlE,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAA;AAM9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAA;AAOxD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAOtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAA;AAOhE,MAAM,CAAC,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;AAOtE,MAAM,CAAC,MAAM,sBAAsB,GAAG,8BAA8B,CAAA;AAOpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,kCAAkC,CAAA;AAS5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,kCAAkC,CAAA;AASrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAA;AAOvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,wCAAwC,CAAA;AAOjF,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,CAAA;AAMzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;AAMtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;AAEtE,SAAS,YAAY,CAAC,QAAgB,EAAE,MAA+C;IACrF,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1F,MAAM,GAAG,CAAC,6CAA6C,EAAE,gBAAgB,EAAE;YACzE,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAsBD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,UAAiE,EACjE,OAA8C;IAE9C,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,OAAO,oBAAoB,CACzB,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,IAAI,eAAe,CAAC,UAAU,CAAC,EAC/B,OAAO,CACR,CAAA;AACH,CAAC;AAuBD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,SAAiB,EACjB,UAAiE,EACjE,OAAmE;IAEnE,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEtC,OAAO,oBAAoB,CACzB,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,SAAS,EACT,IAAI,eAAe,CAAC,UAAU,CAAC,EAC/B,OAAO,CACR,CAAA;AACH,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAA2B;IAE3B,OAAO,iCAAiC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACpF,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAA2B;IAE3B,OAAO,iCAAiC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACpF,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,KAAa,EACb,OAAkC;IAElC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAE9B,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,qBAAqB,EACrB,MAAM,CAAC,yBAAyB,EAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IAC/D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAExB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAExB,OAAO,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5F,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,QAAkB;IAChE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAA;IAE/D,OAAO,SAAS,CAAA;AAClB,CAAC;AAmBD,SAAS,sBAAsB,CAAC,QAAkB;IAChD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,cAAc,CAAC,uCAAuC,EAAE,qBAAqB,CAAC,CAAA;IACtF,CAAC;AACH,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,KAAa,EACb,OAAqC;IAErC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAE9B,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,wBAAwB,EACxB,MAAM,CAAC,yBAAyB,EAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IAC/D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACxB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,IAAI,OAAO,EAAE,kBAAkB,IAAI,MAAM,CAAC,iCAAiC,EAAE,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,qCAAqC,CAAC,CAAA;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5F,CAAC;AA8CD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAA2B;IAE3B,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,wBAAwB,CAAC,CAAA;IAElE,IAAI,IAAgB,CAAA;IACpB,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,qCAAqC,EAAE,CAAC;QACvE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CACvC,MAAM,QAAQ,CAAC,IAAI,EAAE,EACrB,qBAAqB,CAAC,IAAI,CACxB,SAAS,EACT,MAAM,CAAC,iCAAiC,EACxC,EAAE,CAAC,0CAA0C,EAC7C,OAAO,CACR,EACD,YAAY,CAAC,MAAM,CAAC,EACpB,iBAAiB,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,CAAC,UAAU,CAAC,CACtB;aACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;aAC7D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;aACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QAE3D,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC,uDAAuD,EAAE,gBAAgB,EAAE;gBACnF,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,GAAG,CAAC,qDAAqD,EAAE,gBAAgB,EAAE;YACjF,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAA6B,CAAA;AACtC,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,EAAuB,EACvB,OAAmC;IAEnC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEZ,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC,CAAA;IAE7F,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAA;IAEpD,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;QACjD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC,CAAA;AACJ,CAAC;AAMD,KAAK,UAAU,mBAAmB,CAAC,QAAkB;IACnD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,GAAG,CACP,qFAAqF,EACrF,uBAAuB,EACvB,QAAQ,CACT,CAAA;IACH,CAAC;IAED,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAO,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAClE,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,CAC7E,CAAA;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,CAAC,kDAAkD,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACjG,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,CACP,uEAAuE,EACvE,gBAAgB,EAChB,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,OAAO,IAAI,CAAA;QACb;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkC;IAC9D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,yBAAyB,CAAC,kCAAkC,EAAE;YACtE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;SAC3B,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAc;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,GAAuD,CAAA;IAC7E,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ,IAAI,SAAS,CAAC,aAAa,GAAG,IAAI,EAAE,CAAC;QAClF,MAAM,IAAI,yBAAyB,CAAC,eAAe,SAAS,CAAC,IAAI,gBAAgB,EAAE;YACjF,KAAK,EAAE,GAAG;SACX,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAc;IACnC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAgD,CAAA;IACtE,QAAQ,SAAS,CAAC,UAAU,EAAE,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;QAClB,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;QAClB,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;QAClB;YACE,MAAM,IAAI,yBAAyB,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACvF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAc;IACjC,QAAQ,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI;gBACxB,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;aACV,CAAA;QAClB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,oBAAoB,CAAC,GAAG,CAAC,CAAA;YACzB,QAAS,GAAG,CAAC,SAAmC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3D,KAAK,SAAS,CAAC;gBACf,KAAK,SAAS,CAAC;gBACf,KAAK,SAAS;oBACZ,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI;wBACxB,UAAU,EACR,QAAQ,CAAE,GAAG,CAAC,SAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;qBAClE,CAAA;gBACnB;oBACE,MAAM,IAAI,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YACxF,CAAC;QACH,CAAC;QACD,KAAK,mBAAmB;YACtB,oBAAoB,CAAC,GAAG,CAAC,CAAA;YACzB,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAA;QAC3B,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAA;IAC7B,CAAC;IACD,MAAM,IAAI,yBAAyB,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;AAC7F,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,eAAuB,EACvB,OAAe,EACf,GAAc,EACd,SAAqB;IAErB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,eAAe,IAAI,OAAO,EAAE,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,CAAC,mCAAmC,EAAE,gBAAgB,EAAE;YAC/D,GAAG;YACH,IAAI;YACJ,SAAS;YACT,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAOD,KAAK,UAAU,WAAW,CACxB,GAAW,EACX,QAAiD,EACjD,SAAiB,EACjB,cAAsB,EACtB,UAA0C;IAE1C,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE/D,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAC1B;YAAA,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,yBAAyB,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,MAAiB,CAAA;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,CAAC,2DAA2D,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IAC5F,CAAC;IAED,IAAI,CAAC,YAAY,CAA6B,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,GAAG,CAAC,uCAAuC,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAC3E,CAAC;IAED,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,yBAAyB,CAAC,yDAAyD,EAAE;YAC7F,KAAK,EAAE,EAAE,MAAM,EAAE;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,MAAiB,CAAA;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,CAAC,4DAA4D,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IAC7F,CAAC;IAED,IAAI,CAAC,YAAY,CAAa,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,CAAC,wCAAwC,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,SAAS,CAAA;IAEnC,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,mDAAmD,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9F,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,cAAc,EAAE,CAAC;YACvC,MAAM,GAAG,CACP,0FAA0F,EAC1F,mBAAmB,EACnB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CACzD,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,6CAA6C,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,0CAA0C,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,8CAA8C,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACzF,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,cAAc,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,+CAA+C,EAAE,mBAAmB,EAAE;gBAC9E,MAAM;gBACN,GAAG;gBACH,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,KAAK;aACb,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,CAAC,4CAA4C,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AACrC,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAuB,EACvB,MAAc,EACd,UAAiC,EACjC,aAAqE,EACrE,OAAsD;IAEtD,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,UAAU,YAAY,GAAG,EAAE,CAAC;QAC9B,UAAU,GAAG,UAAU,CAAC,YAAY,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,YAAY,eAAe,CAAC,EAAE,CAAC;QAC7C,MAAM,cAAc,CAClB,6DAA6D,EAC7D,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,CAAC,+CAA+C,EAAE,gBAAgB,CAAC,CAAA;IAC9E,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAC/C,QAAQ,EACR,qBAAqB,CAAC,IAAI,CACxB,SAAS,EACT,MAAM,CAAC,iCAAiC,EACxC,EAAE,CAAC,0CAA0C,EAC7C,OAAO,CACR,EACD,YAAY,CAAC,MAAM,CAAC,EACpB,iBAAiB,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,CAAC,UAAU,CAAC,CACtB;SACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAE3D,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE9E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,MAAM,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAElD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;AAChE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,MAAkC,EAAE,SAAiB;IAC5F,IAAI,SAAiB,CAAA;IACrB,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,SAAS,GAAG,SAAS,CAAA;YACrB,MAAK;QACP,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,SAAS,GAAG,SAAS,CAAA;YACrB,MAAK;QACP,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,SAAS,GAAG,SAAS,CAAA;YACrB,MAAK;QACP;YACE,MAAM,IAAI,yBAAyB,CACjC,iCAAiC,SAAS,cAAc,EACxD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,CAC/B,CAAA;IACL,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;AACrD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,IAAY,EACZ,MAAc,EACd,MAAkC,EAClC,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3D,OAAO,MAAM,KAAK,QAAQ,CAAA;AAC5B,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,EAAuB,EACvB,MAAc,EACd,UAA2C,EAC3C,aAAqB,EACrB,aAA6C,EAC7C,MAA0C,EAC1C,OAAsD;IAEtD,OAAO,sBAAsB,CAC3B,EAAE,EACF,MAAM,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,MAAM,EACN,OAAO,EACP,IAAI,CACL,CAAA;AACH,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,EAAuB,EACvB,MAAc,EACd,UAA2C,EAC3C,aAAqB,EACrB,aAA6C,EAC7C,MAA0C,EAC1C,OAAsD;IAEtD,OAAO,sBAAsB,CAC3B,EAAE,EACF,MAAM,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,MAAM,EACN,OAAO,EACP,KAAK,CACN,CAAA;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAgB;IAC3C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,cAAc,CAClB,0DAA0D,EAC1D,qBAAqB,EACrB,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAgB;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,cAAc,CAClB,yDAAyD,EACzD,qBAAqB,EACrB,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAA;IACH,CAAC;IAED,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,mCAAmC,EAAE,CAAC;QACpE,MAAM,cAAc,CAClB,4FAA4F,EAC5F,qBAAqB,EACrB,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,EAAuB,EACvB,MAAc,EACd,UAA2C,EAC3C,aAAqB,EACrB,aAAwD,EACxD,MAAqD,EACrD,OAAmE,EACnE,IAAa;IAEb,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,UAAU,YAAY,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,cAAc,CAClB,8GAA8G,EAC9G,qBAAqB,CACtB,CAAA;QACH,CAAC;QACD,UAAU,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC;SAAM,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QAChD,UAAU,GAAG,IAAI,eAAe,CAAC,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAA;IACtE,CAAC;SAAM,IAAI,UAAU,YAAY,eAAe,EAAE,CAAC;QACjD,UAAU,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,CAClB,uEAAuE,EACvE,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAC9D,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAE7B,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,SAAS,CAAC;QACf,KAAK,aAAa;YAChB,MAAK;QACP;YACE,YAAY,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CACjC;QACE,GAAG,EAAE;QACL,8CAA8C,EAAE,KAAK;KACtD,EACD,MAAM,EACN,UAAU,EACV,aAAa,CACd,CAAA;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,CAAC,2CAA2C,EAAE,gBAAgB,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,GAAG,CAAC,qDAAqD,EAAE,gBAAgB,CAAC,CAAA;IACpF,CAAC;IAED,MAAM,cAAc,GAAmC;QACrD,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,OAAO;QACP,QAAQ;KACT,CAAA;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACrC,IAAI,IAAI,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;IAClD,CAAC;SAAM,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAChD,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,KAAK,MAAM,CAAC,eAAe,IAAI,iBAAiB,CAAA;IACtD,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC7D,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAC/C,QAAQ,EACR,qBAAqB,CAAC,IAAI,CACxB,SAAS,EACT,MAAM,CAAC,4BAA4B,EACnC,EAAE,CAAC,qCAAqC,EACxC,OAAO,CACR,EACD,YAAY,CAAC,MAAM,CAAC,EACpB,iBAAiB,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,CAAC,UAAU,CAAC,CACtB;SACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;SACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAE3D,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,SAAS,CAAA;IACnC,IAAI,MAAM,CAAC,GAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;QAC7B,MAAM,GAAG,CACP,yEAAyE,EACzE,mBAAmB,EACnB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAC9B,CAAA;IACH,CAAC;IAED,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,2CAA2C,EAAE,gBAAgB,EAAE;QACzF,MAAM;KACP,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,YAAY,CACV,MAAM,CAAC,SAAS,EAChB,KAAK,EACL,4CAA4C,EAC5C,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAK,MAAkB,CAAC,SAAU,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,EAAE,CAAC;YAC9D,MAAM,GAAG,CACP,kEAAkE,EAClE,mBAAmB,EACnB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAC/C,CAAA;QACH,CAAC;IACH,CAAC;IAED,YAAY,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAA;IAEvD,IAAI,MAAM,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QACnC,MAAM,GAAG,CAAC,yCAAyC,EAAE,oBAAoB,EAAE;YACzE,QAAQ,EAAE,aAAa;YACvB,MAAM;YACN,KAAK,EAAE,OAAO;SACf,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,CACP,yEAAyE,EACzE,oBAAoB,EACpB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CACzB,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,GAAG,CAAC,0DAA0D,EAAE,oBAAoB,EAAE;gBAC1F,QAAQ,EAAE,MAAM,CAAC,SAAS;gBAC1B,MAAM;gBACN,KAAK,EAAE,KAAK;aACb,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE9E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,MAAM,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IAEpE,IAAI,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/E,MAAM,GAAG,CAAC,mDAAmD,EAAE,oBAAoB,EAAE;YACnF,IAAI;YACJ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,QAAQ;YACf,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5D,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,4CAA4C,EAAE,gBAAgB,EAAE;YAC1F,MAAM;SACP,CAAC,CAAA;QACF,YAAY,CAAC,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QAEnF,IAAI,CAAC,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChF,MAAM,GAAG,CAAC,oDAAoD,EAAE,oBAAoB,EAAE;gBACpF,KAAK;gBACL,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,QAAQ;gBACf,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAOD,SAAS,qBAAqB,CAC5B,MAAqC,EACrC,MAA4B,EAC5B,QAA0D,EAC1D,MAAkC;IAElC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtF,MAAM,GAAG,CAAC,uCAAuC,EAAE,gBAAgB,EAAE;gBACnE,MAAM;gBACN,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAA;QACJ,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,CAAC,uCAAuC,EAAE,gBAAgB,EAAE;gBACnE,MAAM;gBACN,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,+BAA+B;aACxC,CAAC,CAAA;QACJ,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ;YACzB,CAAC,CAAC,OAAO,QAAQ,KAAK,UAAU;gBAC9B,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EACpC,CAAC;YACD,MAAM,GAAG,CAAC,uCAAuC,EAAE,gBAAgB,EAAE;gBACnE,MAAM;gBACN,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,eAAe;aACxB,CAAC,CAAA;QACJ,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,GAAG,CACP,kFAAkF,EAClF,SAAS,EACT,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAC7B,CAAA;AACH,CAAC;AAMD,SAAS,qBAAqB,CAAC,UAA2B,EAAE,IAAY;IACtE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,GAAG,CAAC,IAAI,IAAI,wCAAwC,EAAE,gBAAgB,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAYD,MAAM,CAAC,MAAM,cAAc,GAAkB,MAAM,EAAE,CAAA;AAOrD,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAA;AAsBpD,MAAM,UAAU,oBAAoB,CAClC,EAAuB,EACvB,MAAc,EACd,UAAiC,EACjC,aAAqE;IAErE,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,UAAU,YAAY,GAAG,EAAE,CAAC;QAC9B,UAAU,GAAG,UAAU,CAAC,YAAY,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,YAAY,eAAe,CAAC,EAAE,CAAC;QAC7C,MAAM,cAAc,CAClB,6DAA6D,EAC7D,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED,IAAI,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,CACP,wGAAwG,EACxG,gBAAgB,EAChB,EAAE,UAAU,EAAE,CACf,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IACpD,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAExD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,8CAA8C,EAAE,CAAC;QAC9D,MAAM,GAAG,CAAC,2CAA2C,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,GAAG,CAAC,oDAAoD,EAAE,gBAAgB,EAAE;YAChF,QAAQ,EAAE,EAAE,CAAC,MAAM;YACnB,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,SAAS,CAAC;QACf,KAAK,aAAa;YAChB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,GAAG,CAAC,mDAAmD,EAAE,gBAAgB,EAAE;oBAC/E,QAAQ,EAAE,SAAS;oBACnB,UAAU;iBACX,CAAC,CAAA;YACJ,CAAC;YACD,MAAK;QACP,KAAK,cAAc;YACjB,MAAK;QACP;YACE,YAAY,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAA;YAEvD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,MAAM,GAAG,CACP,KAAK,KAAK,SAAS;oBACjB,CAAC,CAAC,oCAAoC;oBACtC,CAAC,CAAC,6CAA6C,EACjD,gBAAgB,EAChB,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,CACxC,CAAA;YACH,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACxD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,0BAA0B,CAAC,oDAAoD,EAAE;YACzF,KAAK,EAAE,UAAU;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACxD,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,IAAI,yBAAyB,CAAC,6CAA6C,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC1D,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpE,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC5D,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;QAC/C,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;QAClB;YACE,MAAM,IAAI,yBAAyB,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACxF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,GAAQ;IAC5C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAA;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;AAChF,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,UAAiE,EACjE,OAA2C;IAE3C,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,+BAA+B,EAC/B,MAAM,CAAC,yBAAyB,EAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAA;IAC5C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAEzC,OAAO,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5F,CAAC;AAkDD,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,EAAuB,EACvB,MAAc,EACd,QAAkB;IAElB,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,+BAA+B,CAAC,CAAA;IAEzE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAyC,QAAQ,CAAC,CAAA;IAExF,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,wCAAwC,EAAE,gBAAgB,EAAE;QACzF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,EAAE,gBAAgB,EAAE;QACrF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,YAAY,CACV,IAAI,CAAC,gBAAgB,EACrB,6CAA6C,EAC7C,gBAAgB,EAChB,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IAED,IAAI,SAAS,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;IACrF,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,uCAAuC,EAAE,gBAAgB,EAAE;QACxF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAE3B,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACjD,YAAY,CACV,IAAI,CAAC,yBAAyB,EAC9B,sDAAsD,EACtD,gBAAgB,EAChB,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACH,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,qCAAqC,EAAE,gBAAgB,EAAE;YAC1F,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAoBD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,UAAkB,EAClB,OAAqC;IAErC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;IAExC,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACrE,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;IACzC,OAAO,oBAAoB,CACzB,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,8CAA8C,EAC9C,UAAU,EACV,OAAO,CACR,CAAA;AACH,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAA2B;IAE3B,OAAO,iCAAiC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACpF,CAAC;AAsBD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,OAAgC;IAEhC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAE1B,MAAM,SAAS,GAAiE,WAAW,CAAC,GAAG,CAAC,CAAA;IAEhG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;YACvB,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;YAC7C,cAAc,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACnD,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE;QACzE,MAAM;QACN,QAAQ;KACT,CAA2B,CAAA;AAC9B,CAAC;AAuCD,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IACxB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAA;IACf,GAAG,CAAC,IAAI,GAAG,EAAE,CAAA;IACb,OAAO,GAAG,CAAC,IAAI,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,OAAgB,EAChB,WAAmB,EACnB,iBAA6B,EAC7B,OAGC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,GAAG,CACP,sEAAsE,EACtE,eAAe,EACf,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC7B,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;QACtF,MAAM,GAAG,CACP,6FAA6F,EAC7F,eAAe,EACf,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC7B,CAAA;IACH,CAAC;IAED,IAAI,OAAO,iBAAiB,CAAC,GAAG,EAAE,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,GAAG,CACP,qFAAqF,EACrF,eAAe,EACf,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAC9B,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,WAAW,EACX,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,EACvF,SAAS,EACT,iBAAiB,CAAC,OAAO,CAAC,EAC1B,SAAS,CACV;SACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAE9E,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,SAAS,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,CAAA;IAC9C,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,GAAG,CAAC,qCAAqC,EAAE,mBAAmB,EAAE;YACpE,GAAG;YACH,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK;SACb,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,yBAAyB,EAAE,oBAAoB,EAAE;YACzD,QAAQ,EAAE,OAAO,CAAC,MAAM;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK;SACb,CAAC,CAAA;IACJ,CAAC;IAED,IACE,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ;QACpC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAC5D,CAAC;QACD,MAAM,GAAG,CAAC,yBAAyB,EAAE,oBAAoB,EAAE;YACzD,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;YACnC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK;SACb,CAAC,CAAA;IACJ,CAAC;IAED,CAAC;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAE9E,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,GAAG,CAAC,yBAAyB,EAAE,oBAAoB,EAAE;gBACzD,QAAQ;gBACR,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK;aACb,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,CAAC;QACC,IAAI,UAAe,CAAA;QACnB,QAAQ,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI;gBACP,UAAU,GAAG;oBACX,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,GAAG;oBAC1B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,GAAG;oBAC1B,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;oBACtB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;iBACvB,CAAA;gBACD,MAAK;YACP,KAAK,KAAK;gBACR,UAAU,GAAG;oBACX,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,GAAG;oBAC1B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,GAAG;oBAC1B,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;iBACvB,CAAA;gBACD,MAAK;YACP,KAAK,KAAK;gBACR,UAAU,GAAG;oBACX,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;oBACtB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,GAAG;oBAC1B,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;iBACvB,CAAA;gBACD,MAAK;YACP;gBACE,MAAM,IAAI,yBAAyB,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;QAChG,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7F,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,GAAG,CAAC,wCAAwC,EAAE,oBAAoB,EAAE;gBACxE,QAAQ;gBACR,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEtF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACxC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,GAAG,CAAC,gDAAgD,EAAE,eAAe,EAAE;YAC3E,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACrC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,2DAA2D,EAAE,eAAe,EAAE;YACtF,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;AACtE,CAAC;AAiCD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAuB,EACvB,OAAgB,EAChB,gBAAwB,EACxB,OAAuC;IAEvC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEZ,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,cAAc,CAAC,0CAA0C,EAAE,oBAAoB,CAAC,CAAA;IACxF,CAAC;IAED,YAAY,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;IAEpD,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC1D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,mDAAmD,EAAE,eAAe,EAAE;YAC9E,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAC7B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,MAAK;QACP;YACE,MAAM,IAAI,yBAAyB,CAAC,8CAA8C,EAAE;gBAClF,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;aACpC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC,0CAA0C,EAAE,eAAe,EAAE;YACrE,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,cAAc,GAAmC;QACrD,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,WAAW;KACZ,CAAA;IAED,IAAI,OAAO,EAAE,WAAW,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7E,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAC1C,WAAW,EACX,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,EACvF,YAAY,CAAC,OAAO,CAAC,EACrB,iBAAiB,CAAC,OAAO,CAAC,EAC1B,SAAS,CACV;SACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;SACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;SACxD,KAAK,CAAC,cAAc,CAAC,CAAA;IAExB,KAAK,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,mBAAmB,KAAK,cAAc,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;IAED,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC,iDAAiD,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3F,CAAC;QAED,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAElD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,yBAAyB,CAAC,gDAAgD,EAAE;oBACpF,KAAK,EAAE,EAAE,MAAM,EAAE;iBAClB,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,MAAM,IAAI,yBAAyB,CAAC,qCAAqC,EAAE;oBACzE,KAAK,EAAE,EAAE,MAAM,EAAE;iBAClB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEtF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,MAAM,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IAEpE,IACE,OAAO,EAAE,WAAW;QACpB,MAAM,KAAK,MAAM;QACjB,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS;QAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAC3B,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACjF,CAAC;IAED,OAAO,MAA8B,CAAA;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,GAAG,YAAY,wBAAwB,IAAI,GAAG,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7E,GAAG,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC7B,CAAC;IACD,MAAM,GAAG,CAAA;AACX,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,UAAiE,EACjE,OAAiD;IAEjD,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,qCAAqC,EACrC,MAAM,CAAC,yBAAyB,EAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAA;IAC5C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAEzC,OAAO,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5F,CAAC;AAoCD,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAC5D,EAAuB,EACvB,MAAc,EACd,QAAkB;IAElB,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,qCAAqC,CAAC,CAAA;IAE/E,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAA+C,QAAQ,CAAC,CAAA;IAE9F,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,wCAAwC,EAAE,gBAAgB,EAAE;QACzF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,IAAI,SAAS,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;IACrF,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,uCAAuC,EAAE,gBAAgB,EAAE;QACxF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAE3B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,qCAAqC,EAAE,gBAAgB,EAAE;YAC1F,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,EAAuB,EACvB,MAAc,EACd,oBAAgC,EAChC,SAAiB,EACjB,OAAqC;IAErC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,MAAM,CAAC,CAAA;IAEpB,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEtC,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACrE,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACxC,OAAO,oBAAoB,CACzB,EAAE,EACF,MAAM,EACN,oBAAoB,EACpB,mCAAmC,EACnC,UAAU,EACV,OAAO,CACR,CAAA;AACH,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,6CAA6C,CACjE,EAAuB,EACvB,MAAc,EACd,QAAkB,EAClB,OAA2B;IAE3B,OAAO,iCAAiC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACpF,CAAC;AAqCD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,EAAuB,EACvB,QAA+C,EAC/C,OAAiD;IAEjD,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEZ,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,uBAAuB,EACvB,QAAQ,CAAC,yBAAyB,EAClC,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAC1C,CAAA;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAA;IAErB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/E,CAAC;IAED,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CACT,eAAe,EACf,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAC3E,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;QACjE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM;QACN,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC,CAAA;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IACnC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAC5D,QAAkB;IAElB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,6BAA6B,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,sCAAsC,CAAC,CAAA;IAEhF,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAoB,QAAQ,CAAC,CAAA;IAEnE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,EAAE,gBAAgB,EAAE;QACrF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,0CAA0C,EAAE,gBAAgB,EAAE;YAC7F,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,YAAY,CACV,IAAI,CAAC,wBAAwB,EAC7B,IAAI,EACJ,qDAAqD,EACrD,gBAAgB,EAChB;YACE,IAAI,EAAE,IAAI;SACX,CACF,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AA+GD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,kBAAuB,EACvB,OAAmC;IAEnC,OAAO,gBAAgB,CACrB,kBAAkB,EAClB,oBAAoB,EACpB,CAAC,GAAG,EAAE,EAAE;QACN,gBAAgB,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAA;QAC7D,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,OAAO,CACR,CAAA;AACH,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,0BAA+B,EAC/B,QAAkB;IAElB,MAAM,QAAQ,GAAG,0BAA4D,CAAA;IAC7E,IAAI,CAAC,CAAC,QAAQ,YAAY,GAAG,CAAC,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACjE,MAAM,cAAc,CAClB,yDAAyD,EACzD,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,4CAA4C,EAAE,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,GAAG,CACP,6FAA6F,EAC7F,uBAAuB,EACvB,QAAQ,CACT,CAAA;IACH,CAAC;IAED,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAiB,QAAQ,CAAC,CAAA;IAEhE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,qCAAqC,EAAE,gBAAgB,EAAE;QACnF,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,IAAI,QAAQ,KAAK,iBAAiB,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,GAAG,CACP,uEAAuE,EACvE,yBAAyB,EACzB,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAC/D,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,QAAkB,EAClB,QAAsC,qBAAqB;IAE3D,IAAI,IAAe,CAAA;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,QAAQ,CAAC,CAAA;QACf,MAAM,GAAG,CAAC,yCAAyC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,CAAC,YAAY,CAAI,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,4CAA4C,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3F,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAWD,MAAM,CAAC,MAAM,OAAO,GAAkB,MAAM,EAAE,CAAA;AAW9C,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,EAAE,CAAA;AAWxD,MAAM,CAAC,MAAM,eAAe,GAAkB,MAAM,EAAE,CAAA"}
|