@azure-tools/typespec-go 0.3.10 → 0.4.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 +64 -0
- package/dist/typespec-go/src/lib.d.ts +4 -0
- package/dist/typespec-go/src/lib.d.ts.map +1 -1
- package/dist/typespec-go/src/lib.js +80 -15
- package/dist/typespec-go/src/lib.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.js +2 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts +12 -0
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.js +63 -1
- package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,3 +14,67 @@ provided by the bot. You will only need to do this once across all repos using o
|
|
|
14
14
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
|
15
15
|
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
|
16
16
|
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
|
17
|
+
|
|
18
|
+
#### Help
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
options:
|
|
22
|
+
- key: azcore-version
|
|
23
|
+
type: string
|
|
24
|
+
description: Semantic version of azcore without the leading \'v\' to use if different from the default version (e.g. 1.2.3).
|
|
25
|
+
- key: disallow-unknown-fields
|
|
26
|
+
type: boolean
|
|
27
|
+
description: When true, unmarshalers will return an error when an unknown field is encountered in the payload. The default is false.
|
|
28
|
+
- key: file-prefix
|
|
29
|
+
type: string
|
|
30
|
+
description: Optional prefix to file names. For example, if you set your file prefix to "zzz_", all generated code files will begin with "zzz_".
|
|
31
|
+
- key: generate-fakes
|
|
32
|
+
type: boolean
|
|
33
|
+
description: When true, enables generation of fake servers. The default is false.
|
|
34
|
+
- key: head-as-boolean
|
|
35
|
+
type: boolean
|
|
36
|
+
description: When true, HEAD requests will return a boolean value based on the HTTP status code. The default is false.
|
|
37
|
+
- key: inject-spans
|
|
38
|
+
type: boolean
|
|
39
|
+
description: Enables generation of spans for distributed tracing. The default is false.
|
|
40
|
+
- key: module
|
|
41
|
+
type: string
|
|
42
|
+
nullable: true
|
|
43
|
+
description: The name of the Go module written to go.mod. Omit to skip go.mod generation. When module is specified, module-version must also be specified.
|
|
44
|
+
- key: module-version
|
|
45
|
+
type: string
|
|
46
|
+
nullable: true
|
|
47
|
+
description: Semantic version of the Go module without the leading \'v\' written to constants.go. (e.g. 1.2.3). When module-version is specified, module must also be specified.
|
|
48
|
+
- key: rawjson-as-bytes
|
|
49
|
+
type: boolean
|
|
50
|
+
nullable: true
|
|
51
|
+
description: When true, properties that are untyped (i.e. raw JSON) are exposed as []byte instead of any or map[string]any. The default is false.
|
|
52
|
+
- key: slice-elements-byval
|
|
53
|
+
type: boolean
|
|
54
|
+
nullable: true
|
|
55
|
+
description: When true, slice elements will not be pointer-to-type. The default is false.
|
|
56
|
+
- key: single-client
|
|
57
|
+
type: boolean
|
|
58
|
+
nullable: true
|
|
59
|
+
description: Indicates package has a single client. This will omit the Client prefix from options and response types. If multiple clients are detected, an error is returned. The default is false.
|
|
60
|
+
- key: stutter
|
|
61
|
+
type: string
|
|
62
|
+
nullable: true
|
|
63
|
+
description: Uses the specified value to remove stuttering from types and funcs instead of the built-in algorithm.
|
|
64
|
+
- key: fix-const-stuttering
|
|
65
|
+
type: boolean
|
|
66
|
+
nullable: true
|
|
67
|
+
description: When true, fix stuttering for `const` types and values. The default is false.
|
|
68
|
+
- key: generate-examples
|
|
69
|
+
type: boolean
|
|
70
|
+
nullable: true
|
|
71
|
+
description: Deprecated, please use generate-samples.
|
|
72
|
+
- key: generate-samples
|
|
73
|
+
type: boolean
|
|
74
|
+
nullable: true
|
|
75
|
+
description: When true, generate example tests. The default is false.
|
|
76
|
+
- key: factory-gather-all-params
|
|
77
|
+
type: boolean
|
|
78
|
+
nullable: true
|
|
79
|
+
description: When true, the NewClientFactory constructor gathers all parameters or only common parameters of clients. The default is false.
|
|
80
|
+
```
|
|
@@ -12,8 +12,12 @@ export interface GoEmitterOptions {
|
|
|
12
12
|
'single-client'?: boolean;
|
|
13
13
|
'stutter'?: string;
|
|
14
14
|
'fix-const-stuttering'?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Use 'generate-samples' instead
|
|
17
|
+
*/
|
|
15
18
|
'generate-examples'?: boolean;
|
|
16
19
|
'factory-gather-all-params'?: boolean;
|
|
20
|
+
'generate-samples'?: boolean;
|
|
17
21
|
}
|
|
18
22
|
export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
19
23
|
[code: string]: import("@typespec/compiler").DiagnosticMessages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/lib.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/lib.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAkGD,eAAO,MAAM,IAAI;;2BAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;mBAAE,iBAAiB,4BAAE,SAAS,wFAAS,CAAC"}
|
|
@@ -7,21 +7,86 @@ const EmitterOptionsSchema = {
|
|
|
7
7
|
type: 'object',
|
|
8
8
|
additionalProperties: true,
|
|
9
9
|
properties: {
|
|
10
|
-
'azcore-version': {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
'
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
'
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
10
|
+
'azcore-version': {
|
|
11
|
+
type: 'string',
|
|
12
|
+
nullable: true,
|
|
13
|
+
description: 'Semantic version of azcore without the leading \'v\' to use if different from the default version (e.g. 1.2.3).',
|
|
14
|
+
},
|
|
15
|
+
'disallow-unknown-fields': {
|
|
16
|
+
type: 'boolean',
|
|
17
|
+
nullable: true,
|
|
18
|
+
description: 'When true, unmarshalers will return an error when an unknown field is encountered in the payload. The default is false.',
|
|
19
|
+
},
|
|
20
|
+
'file-prefix': {
|
|
21
|
+
type: 'string',
|
|
22
|
+
nullable: true,
|
|
23
|
+
description: 'Optional prefix to file names. For example, if you set your file prefix to "zzz_", all generated code files will begin with "zzz_".',
|
|
24
|
+
},
|
|
25
|
+
'generate-fakes': {
|
|
26
|
+
type: 'boolean',
|
|
27
|
+
nullable: true,
|
|
28
|
+
description: 'When true, enables generation of fake servers. The default is false.',
|
|
29
|
+
},
|
|
30
|
+
'head-as-boolean': {
|
|
31
|
+
type: 'boolean',
|
|
32
|
+
nullable: true,
|
|
33
|
+
description: 'When true, HEAD requests will return a boolean value based on the HTTP status code. The default is false.',
|
|
34
|
+
},
|
|
35
|
+
'inject-spans': {
|
|
36
|
+
type: 'boolean',
|
|
37
|
+
nullable: true,
|
|
38
|
+
description: 'Enables generation of spans for distributed tracing. The default is false.',
|
|
39
|
+
},
|
|
40
|
+
'module': {
|
|
41
|
+
type: 'string',
|
|
42
|
+
nullable: true,
|
|
43
|
+
description: 'The name of the Go module written to go.mod. Omit to skip go.mod generation. When module is specified, module-version must also be specified.',
|
|
44
|
+
},
|
|
45
|
+
'module-version': {
|
|
46
|
+
type: 'string',
|
|
47
|
+
nullable: true,
|
|
48
|
+
description: 'Semantic version of the Go module without the leading \'v\' written to constants.go. (e.g. 1.2.3). When module-version is specified, module must also be specified.',
|
|
49
|
+
},
|
|
50
|
+
'rawjson-as-bytes': {
|
|
51
|
+
type: 'boolean',
|
|
52
|
+
nullable: true,
|
|
53
|
+
description: 'When true, properties that are untyped (i.e. raw JSON) are exposed as []byte instead of any or map[string]any. The default is false.',
|
|
54
|
+
},
|
|
55
|
+
'slice-elements-byval': {
|
|
56
|
+
type: 'boolean',
|
|
57
|
+
nullable: true,
|
|
58
|
+
description: 'When true, slice elements will not be pointer-to-type. The default is false.',
|
|
59
|
+
},
|
|
60
|
+
'single-client': {
|
|
61
|
+
type: 'boolean',
|
|
62
|
+
nullable: true,
|
|
63
|
+
description: 'Indicates package has a single client. This will omit the Client prefix from options and response types. If multiple clients are detected, an error is returned. The default is false.',
|
|
64
|
+
},
|
|
65
|
+
'stutter': {
|
|
66
|
+
type: 'string',
|
|
67
|
+
nullable: true,
|
|
68
|
+
description: 'Uses the specified value to remove stuttering from types and funcs instead of the built-in algorithm.',
|
|
69
|
+
},
|
|
70
|
+
'fix-const-stuttering': {
|
|
71
|
+
type: 'boolean',
|
|
72
|
+
nullable: true,
|
|
73
|
+
description: 'When true, fix stuttering for `const` types and values. The default is false.',
|
|
74
|
+
},
|
|
75
|
+
'generate-examples': {
|
|
76
|
+
type: 'boolean',
|
|
77
|
+
nullable: true,
|
|
78
|
+
description: 'Deprecated. Use generate-samples instead.',
|
|
79
|
+
},
|
|
80
|
+
'generate-samples': {
|
|
81
|
+
type: 'boolean',
|
|
82
|
+
nullable: true,
|
|
83
|
+
description: 'When true, generate example tests. The default is false.',
|
|
84
|
+
},
|
|
85
|
+
'factory-gather-all-params': {
|
|
86
|
+
type: 'boolean',
|
|
87
|
+
nullable: true,
|
|
88
|
+
description: 'When true, the NewClientFactory constructor gathers all parameters or only common parameters of clients. The default is false.',
|
|
89
|
+
},
|
|
25
90
|
},
|
|
26
91
|
required: [],
|
|
27
92
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/lib.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,EAAkB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/lib.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,EAAkB,MAAM,oBAAoB,CAAC;AAwB3E,MAAM,oBAAoB,GAAqC;IAC7D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,UAAU,EAAE;QACV,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,iHAAiH;SAC/H;QACD,yBAAyB,EAAE;YACzB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,yHAAyH;SACvI;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,qIAAqI;SACnJ;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,sEAAsE;SACpF;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,2GAA2G;SACzH;QACD,cAAc,EAAE;YACd,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,4EAA4E;SAC1F;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,+IAA+I;SAC7J;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,qKAAqK;SACnL;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,sIAAsI;SACpJ;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,8EAA8E;SAC5F;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,wLAAwL;SACtM;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,uGAAuG;SACrH;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,+EAA+E;SAC7F;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,2CAA2C;SACzD;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0DAA0D;SACxE;QACD,2BAA2B,EAAE;YAC3B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,gIAAgI;SAC9I;KACF;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,EAAE;IACf,OAAO,EAAE;QACP,OAAO,EAAoC,oBAAoB;KAChE;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAmDrG"}
|
|
@@ -12,7 +12,8 @@ Licensed under the MIT License. See License.txt in the project root for license
|
|
|
12
12
|
Code generated by Microsoft (R) Go Code Generator.`;
|
|
13
13
|
export async function tcgcToGoCodeModel(context) {
|
|
14
14
|
const info = new go.Info('TODO Title');
|
|
15
|
-
const options = new go.Options(headerText, context.options['generate-fakes'] === true, context.options['inject-spans'] === true, context.options['disallow-unknown-fields'] === true, context.options['generate-examples'] === true
|
|
15
|
+
const options = new go.Options(headerText, context.options['generate-fakes'] === true, context.options['inject-spans'] === true, context.options['disallow-unknown-fields'] === true, context.options['generate-examples'] === true || context.options['generate-samples'] === true // generate-examples has been deprecated, for compat we still support it.
|
|
16
|
+
);
|
|
16
17
|
if (context.options['azcore-version']) {
|
|
17
18
|
options.azcoreVersion = context.options['azcore-version'];
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE,MAAM,UAAU,GAAG;;mDAEgC,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAsC;IAC5E,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,18 @@ export declare class clientAdapter {
|
|
|
17
17
|
private adaptMethodParameter;
|
|
18
18
|
private getMethodNameForDocComment;
|
|
19
19
|
private adaptResponseEnvelope;
|
|
20
|
+
/**
|
|
21
|
+
* creates the monomorphic response field name based on its type.
|
|
22
|
+
*
|
|
23
|
+
* for unknown, use Interface or RawJSON if setting is enabled
|
|
24
|
+
* for basic type, map of basic type, map of UDTs, enum, use Value
|
|
25
|
+
* for array of basic type, array of UDTs, use xxxArray
|
|
26
|
+
*
|
|
27
|
+
* @param type the type for which to create a name
|
|
28
|
+
* @param fromArray indicates if there was recursion from a parent array
|
|
29
|
+
* @returns the name
|
|
30
|
+
*/
|
|
31
|
+
private recursiveTypeName;
|
|
20
32
|
private adaptParameterGroup;
|
|
21
33
|
private adaptHeaderType;
|
|
22
34
|
private adaptPathParameterType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAwC,WAAW,EAAE,MAAM,YAAY,CAAC;AAG/E,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,IAAI,CAAmB;IAK/B,OAAO,CAAC,YAAY,CAA4B;gBAEpC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB;IAQnD,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAY/D,OAAO,CAAC,oBAAoB;IAgI5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,WAAW;IA0DnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,qBAAqB;IAoK7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;IA2F5B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,qBAAqB;IAkH7B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,0BAA0B;IAkElC,OAAO,CAAC,gBAAgB;CAwEzB"}
|
|
1
|
+
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAwC,WAAW,EAAE,MAAM,YAAY,CAAC;AAG/E,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,IAAI,CAAmB;IAK/B,OAAO,CAAC,YAAY,CAA4B;gBAEpC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB;IAQnD,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAY/D,OAAO,CAAC,oBAAoB;IAgI5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,WAAW;IA0DnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,qBAAqB;IAoK7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;IA2F5B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,qBAAqB;IAkH7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,0BAA0B;IAkElC,OAAO,CAAC,gBAAgB;CAwEzB"}
|
|
@@ -645,10 +645,72 @@ export class clientAdapter {
|
|
|
645
645
|
if (go.isInterfaceType(resultType) || go.isLiteralValue(resultType) || go.isModelType(resultType) || go.isPolymorphicType(resultType) || go.isQualifiedType(resultType)) {
|
|
646
646
|
throw new Error(`invalid monomorphic result type ${go.getTypeDeclaration(resultType)}`);
|
|
647
647
|
}
|
|
648
|
-
respEnv.result = new go.MonomorphicResult(
|
|
648
|
+
respEnv.result = new go.MonomorphicResult(this.recursiveTypeName(sdkResponseType, false), contentType, resultType, isTypePassedByValue(sdkResponseType));
|
|
649
649
|
}
|
|
650
650
|
return respEnv;
|
|
651
651
|
}
|
|
652
|
+
/**
|
|
653
|
+
* creates the monomorphic response field name based on its type.
|
|
654
|
+
*
|
|
655
|
+
* for unknown, use Interface or RawJSON if setting is enabled
|
|
656
|
+
* for basic type, map of basic type, map of UDTs, enum, use Value
|
|
657
|
+
* for array of basic type, array of UDTs, use xxxArray
|
|
658
|
+
*
|
|
659
|
+
* @param type the type for which to create a name
|
|
660
|
+
* @param fromArray indicates if there was recursion from a parent array
|
|
661
|
+
* @returns the name
|
|
662
|
+
*/
|
|
663
|
+
recursiveTypeName(type, fromArray) {
|
|
664
|
+
if (!fromArray) {
|
|
665
|
+
switch (type.kind) {
|
|
666
|
+
case 'array':
|
|
667
|
+
return `${this.recursiveTypeName(type.valueType, true)}Array`;
|
|
668
|
+
case 'nullable':
|
|
669
|
+
return this.recursiveTypeName(type.type, false);
|
|
670
|
+
case 'unknown':
|
|
671
|
+
return this.ta.codeModel.options.rawJSONAsBytes ? 'RawJSON' : 'Interface';
|
|
672
|
+
default:
|
|
673
|
+
return 'Value';
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
switch (type.kind) {
|
|
677
|
+
case 'array':
|
|
678
|
+
return `${this.recursiveTypeName(type.valueType, true)}Array`;
|
|
679
|
+
case 'boolean':
|
|
680
|
+
return 'Bool';
|
|
681
|
+
case 'bytes':
|
|
682
|
+
return 'ByteArray';
|
|
683
|
+
case 'enum':
|
|
684
|
+
return type.name;
|
|
685
|
+
case 'utcDateTime':
|
|
686
|
+
case 'offsetDateTime':
|
|
687
|
+
return 'Time';
|
|
688
|
+
case 'decimal':
|
|
689
|
+
case 'decimal128':
|
|
690
|
+
return 'Float64';
|
|
691
|
+
case 'dict':
|
|
692
|
+
return `MapOf${this.recursiveTypeName(type.valueType, fromArray)}`;
|
|
693
|
+
case 'float32':
|
|
694
|
+
case 'float64':
|
|
695
|
+
case 'int16':
|
|
696
|
+
case 'int32':
|
|
697
|
+
case 'int64':
|
|
698
|
+
case 'int8':
|
|
699
|
+
return capitalize(type.kind);
|
|
700
|
+
case 'model':
|
|
701
|
+
return type.name;
|
|
702
|
+
case 'nullable':
|
|
703
|
+
return this.recursiveTypeName(type.type, fromArray);
|
|
704
|
+
case 'duration':
|
|
705
|
+
case 'string':
|
|
706
|
+
case 'url':
|
|
707
|
+
return 'String';
|
|
708
|
+
case 'unknown':
|
|
709
|
+
return this.ta.codeModel.options.rawJSONAsBytes ? 'RawJSON' : 'Interface';
|
|
710
|
+
default:
|
|
711
|
+
throw new Error(`unhandled monomorphic response type kind ${type.kind}`);
|
|
712
|
+
}
|
|
713
|
+
}
|
|
652
714
|
adaptParameterGroup(paramGroup) {
|
|
653
715
|
const structType = new go.StructType(paramGroup.groupName);
|
|
654
716
|
structType.docs = paramGroup.docs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,cAAc,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErL,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAe,MAAM,YAAY,CAAC;AAE/E,uEAAuE;AACvE,MAAM,OAAO,aAAa;IASxB,YAAY,EAAe,EAAE,IAAsB;QACjD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;IACtD,CAAC;IAED,iEAAiE;IACjE,uEAAuE;IACvE,YAAY,CAAC,UAAkD;QAC7D,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;SACpF;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE;YAC1C,4DAA4D;YAC5D,IAAI,SAAS,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;gBACvF,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;aACtC;SACF;IACH,CAAC;IAEO,oBAAoB,CAAC,SAAoD,EAAE,MAAkB;QACnG,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,gCAAgC;YAChC,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhD,oFAAoF;QACpF,IAAI,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE;YACpD,6DAA6D;YAC7D,qEAAqE;YACrE,sDAAsD;YACtD,EAAE;YACF,mBAAmB;YACnB,4BAA4B;YAC5B,UAAU;YACV,MAAM;YACN,IAAI;YACJ,gCAAgC;YAChC,EAAE;YACF,6CAA6C;YAC7C,qDAAqD;YAErD,0DAA0D;YAC1D,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;SAC5E;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YAChC,UAAU,IAAI,QAAQ,CAAC;SACxB;QAED,MAAM,IAAI,GAAY;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,WAAW,EAAE,SAAS,CAAC,GAAG;SAC3B,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,GAAG,UAAU,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;SAClD;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,WAAW,GAAG,GAAG,UAAU,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;SAC1D;aAAM;YACL,qCAAqC;YACrC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,GAAG,GAAG,UAAU,iCAAiC,SAAS,SAAS,CAAC;SACjF;QAED,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1G,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAEzB,2DAA2D;QAC3D,IAAI,SAAS,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACvF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE;gBAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;oBAC/B,6DAA6D;oBAC7D,SAAS;iBACV;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBACpC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;oBACzC,gDAAgD;oBAChD,oDAAoD;oBACpD,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE;wBAC1C,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;qBACrC;oBACD,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC5C,oEAAoE;wBACpE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE;4BAC3B,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;yBACxC;6BAAM,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;4BACnD,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,IAAI,2BAA2B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;yBACpF;qBACF;yBAAM;wBACL,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC9B,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,iBAAiB,EAAE;4BACrD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;yBAC3D;qBACF;oBACD,SAAS;iBACV;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAClC,6DAA6D;oBAC7D,sCAAsC;oBACtC,wEAAwE;oBACxE,mEAAmE;oBACnE,6CAA6C;oBAC7C,SAAS;iBACV;gBAED,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;aACrD;SACF;aAAM,IAAI,MAAM,EAAE;YACjB,4EAA4E;YAC5E,0EAA0E;YAC1E,wEAAwE;YACxE,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YAC9C,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAC5B,uDAAuD;YACvD,wDAAwD;YACxD,oDAAoD;YACpD,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAe,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;SACrE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,CAAC,IAAI,gBAAgB,CAAC,CAAC;SAC1E;QACD,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC7D,IAAI,SAAS,EAAE;oBACb,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;iBACzF;aACF;SACF;QACD,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;YACzC,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE;gBACvC,6DAA6D;gBAC7D,SAAS;aACV;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACvC;SACF;QAED,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAClH,2DAA2D;YAC3D,2DAA2D;YAC3D,kCAAkC;SACnC;aAAM;YACL,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,aAAa,CAAC,QAA+B;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;YACnE,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACtF;QACD,0EAA0E;QAC1E,OAAO,IAAI,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EACpH,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3G,CAAC;IAEO,WAAW,CAAC,SAAuD,EAAE,QAAmB;;QAC9F,IAAI,MAA2E,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,sBAAsB,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,IAAI,eAAe,EAAE,IAAI,CAAC,EAC1K,cAAc,CAAC,GAAG,SAAS,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAG,UAAU,MAA6B;YAC5D,MAAM,WAAW,GAAG,IAAI,KAAK,EAAU,CAAC;YACxC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;gBACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACxC,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE;oBACrC,KAAK,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,IAAI,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE;wBAChE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACxB;iBACF;qBAAM;oBACL,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC9B;aACF;YACD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE;YACnC,sFAAsF;YACtF,kEAAkE;YAClE,UAAU,GAAG,sBAAsB,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;SACvF;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAExD,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;YAC9B,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;SACvH;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,GAAG,IAAI,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC9H,IAAI,SAAS,CAAC,YAAY,EAAE;gBAC1B,gCAAgC;gBACZ,MAAO,CAAC,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;aAC/F;SACF;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACzH,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,8BAA8B,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3F,IAAI,UAAU,EAAE;gBACC,MAAO,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;aACjE;YACD,IAAI,MAAA,SAAS,CAAC,WAAW,CAAC,aAAa,0CAAE,cAAc,EAAE;gBACvD,yFAAyF;gBAC1E,MAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;oBACtH,OAAO,MAAgC,OAAQ,CAAC,oBAAoB,CAAC,IAAI,0CAAE,IAAI,CAAC;gBAClF,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACd;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC;SACtD;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC;QACxC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,UAAqC;QACtE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC3B,OAAO,SAAS,CAAC,SAAS,CAAC;aAC5B;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,SAAuD,EAAE,MAAqC;QACnH,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBAC9B,MAAM,GAAG,EAAE,CAAC;aACb;YACD,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;gBAC1B,MAAM,IAAI,OAAO,CAAC;aACnB;YACD,IAAI,uBAAuB,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,SAAS,CAAC;YAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE;gBACnC,uBAAuB,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;aACjE;YACD,IAAI,aAAa,GAAG,SAAS,CAAC;YAC9B,kFAAkF;YAClF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,UAAU,EAAE;gBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;oBAChC,aAAa,GAAG,MAAM,CAAC;oBACvB,MAAM;iBACP;aACF;YACD,MAAM,CAAC,mBAAmB,GAAG,IAAI,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC5G,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC,uBAAuB,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;YACzI,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SACzE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,yDAAyD;QACzD,0DAA0D;QAC1D,gDAAgD;QAChD,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE;YACpD,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,EAAE;gBAC3D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAS,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAC5D,MAAM;aACP;SACF;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnE,6EAA6E;QAC7E,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC9C,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;SAClE;IACH,CAAC;IAEO,qBAAqB,CAAC,SAAuD,EAAE,MAAqC;;QAC1H,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8C,CAAC;QAE3E,IAAI,aAA4C,CAAC;QACjD,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACvB,6CAA6C;YAC7C,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC;YAC3C,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;gBAC1B,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;aAC1D;SACF;QAID,MAAM,WAAW,GAAG,IAAI,KAAK,EAAsB,CAAC;QACpD,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE;YACjC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACjD;QAED,gEAAgE;QAChE,iEAAiE;QACjE,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,UAAU,EAAE;YACxC,gFAAgF;YAChF,gFAAgF;YAChF,iFAAiF;YACjF,iFAAiF;YACjF,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,OAA2B,EAAE,EAAE;gBACtE,OAAO,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,CAAC,WAAsC,EAAE,EAAE;oBAChG,OAAO,WAAW,KAAK,KAAK,CAAC;gBAC/B,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACX,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAEX,mIAAmI;YACnI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC9C,SAAS;aACV;YAED,qEAAqE;YACrE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC3C,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC5C,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,OAA2B,EAAE,EAAE;wBAClE,OAAO,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,CAAC,WAAsC,EAAE,EAAE;4BAChG,OAAO,WAAW,KAAK,QAAQ,CAAC;wBAClC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACX,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oBACX,IAAI,OAAO,EAAE;wBACX,MAAM;qBACP;iBACF;aACF;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,SAAS,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACzG;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAClH,+EAA+E;gBAC/E,mFAAmF;gBACnF,+EAA+E;gBAC/E,0DAA0D;gBAC1D,oFAAoF;gBACpF,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B;YAED,IAAI,YAA0B,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrG,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACtE,MAAM,6BAA6B,GAAG,UAAS,QAAuC;;oBACpF,IAAI,WAAW,KAAK,MAAM,EAAE;wBAC1B,OAAO,MAAA,QAAQ,CAAC,oBAAoB,CAAC,IAAI,0CAAE,IAAI,CAAC;qBACjD;oBACD,IAAI,WAAW,KAAK,KAAK,EAAE;wBACzB,OAAO,MAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,0CAAE,IAAI,CAAC;qBAChD;oBACD,IAAI,WAAW,KAAK,QAAQ,EAAE;wBAC5B,OAAO,MAAA,QAAQ,CAAC,oBAAoB,CAAC,SAAS,0CAAE,IAAI,CAAC;qBACtD;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC;gBACF,QAAQ,WAAW,EAAE;oBACnB,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK,CAAC,CAAC;wBACV,wFAAwF;wBACxF,IAAI,cAAkC,CAAC;wBACvC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE;4BAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;gCAChC,cAAc,GAAG,6BAA6B,CAAgC,QAAQ,CAAC,CAAC;gCACxF,MAAM;6BACP;yBACF;wBACD,IAAI,CAAC,cAAc,EAAE;4BACnB,MAAM,IAAI,KAAK,CAAC,wDAAwD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;yBACvF;wBACD,YAAY,GAAG,IAAI,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;wBACvJ,MAAM;qBACP;oBACD,KAAK,QAAQ;wBACX,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;4BAClD,YAAY,GAAG,IAAI,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;yBAClH;6BAAM;4BACL,YAAY,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,OAAO,CAAC,kBAAkB,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;yBACrJ;wBACD,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;iBACzE;aACF;iBAAM;gBACL,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;aAClE;YAED,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBAC9B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,EAAgB,CAAC,CAAC;aACtD;YACD,MAAA,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAE9C,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE;gBACvE,uDAAuD;gBACvD,IAAI,CAAC,aAAa,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,kCAAkC,CAAC,CAAC;iBACrF;gBACD,YAAY,CAAC,KAAK,GAAG,aAAa,CAAC;gBACnC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACzC;SACF;QAED,wDAAwD;QACxD,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;YACjC,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBACxD,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC5C,YAAY,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;gBAC5C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAC9B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,EAAgB,CAAC,CAAC;iBACtD;gBACD,MAAA,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE9C,gEAAgE;gBAChE,6DAA6D;gBAC7D,IAAI,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE;oBACvC,SAAS;iBACV;gBAED,0FAA0F;gBAC1F,6FAA6F;gBAC7F,8CAA8C;gBAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,CAAS,EAAE,CAAsB,EAAE,EAAE;oBACxF,OAAO,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC;gBACtC,CAAC,CAAC,EAAE;oBACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC7C;aACF;SACF;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,gBAAgB,CAAC,cAAsB;QAC7C,iGAAiG;QACjG,8DAA8D;QAC9D,IAAI,WAAW,GAAkB,QAAQ,CAAC;QAC1C,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACjC,WAAW,GAAG,MAAM,CAAC;SACtB;aAAM,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACvC,WAAW,GAAG,KAAK,CAAC;SACrB;aAAM,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACxC,WAAW,GAAG,MAAM,CAAC;SACtB;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAAC,KAAiI,EAAE,aAAiC;QAC/L,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,kBAAkB,EAAE;YACvD,uEAAuE;YACvE,sEAAsE;YACtE,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAChG,QAAQ,KAAK,CAAC,IAAI,EAAE;gBAClB,KAAK,QAAQ;oBACX,OAAO,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACxG,KAAK,MAAM;oBACT,OAAO,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5G,KAAK,OAAO;oBACV,OAAO,IAAI,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7G;oBACE,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;aAC/E;SACF;QAED,IAAI,QAAQ,GAAyB,QAAQ,CAAC;QAC9C,MAAM,kBAAkB,GAAG,UAAU,KAAiI;YACpK,uEAAuE;YACvE,kDAAkD;YAClD,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC,CAAC;QACF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,uDAAuD;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,IAAI,WAAW,EAAE;gBACf,OAAO,WAAW,CAAC;aACpB;YACD,QAAQ,GAAG,QAAQ,CAAC;SACrB;QAED,IAAI,YAA0B,CAAC;QAC/B,MAAM,SAAS,GAAG,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YACzB,mCAAmC;YACnC,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;gBAChD,YAAY,GAAG,IAAI,EAAE,CAAC,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aACjI;iBAAM;gBACL,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACpE,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChE,IAAI,WAAW,KAAK,QAAQ,EAAE;oBAC5B,wEAAwE;oBACxE,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;iBACnE;gBACD,YAAY,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,kBAAkB,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aAC1H;SACF;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAClC,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,KAAK,CAAC,gBAAgB,KAAK,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,MAAM,EAAE;oBAC3E,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;iBACrF;gBACD,+DAA+D;gBAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;oBACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC/G;gBACD,YAAY,GAAG,IAAI,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aAC1L;iBAAM;gBACL,YAAY,GAAG,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aAC5I;SACF;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YAChC,YAAY,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SACjK;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAClC,mHAAmH;YACnH,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;aAAM;YACL,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;oBACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,iCAAiC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC9G;gBACD,8BAA8B;gBAC9B,YAAY,GAAG,IAAI,EAAE,CAAC,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aAC/O;iBAAM;gBACL,8BAA8B;gBAC9B,YAAY,GAAG,IAAI,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aACnJ;SACF;QAED,IAAI,YAAY,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,uCAAuC;YACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;SAChE;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,0BAA0B,CAAC,MAAiB;QAClD,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;YAC1B,UAAU,GAAG,QAAQ,UAAU,EAAE,CAAC;SACnC;aAAM,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACtC,UAAU,GAAG,MAAM,UAAU,OAAO,CAAC;SACtC;QACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;IAC/C,CAAC;IAEO,qBAAqB,CAAC,SAAuD,EAAE,MAAiB;QACtG,gEAAgE;QAChE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YAC9B,MAAM,GAAG,EAAE,CAAC;SACb;QACD,IAAI,WAAW,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,UAAU,CAAC;QACpD,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE;YACnC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;SACzC;QACD,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAC,OAAO,EAAE,iCAAiC,CAAC,WAAW,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,EAAC,EAAE,MAAM,CAAC,CAAC;QACjK,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAElD,kBAAkB;QAClB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE;YACpD,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACzC,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;oBAC/C,SAAS;iBACV;qBAAM,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,+DAA+D,CAAC,EAAE;oBACrI,iFAAiF;oBACjF,SAAS;iBACV;gBAED,sCAAsC;gBACtC,MAAM,UAAU,GAAG,IAAI,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,cAAc,EAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnM,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC7C,UAAU,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC7C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;aAC7C;SACF;QAED,IAAI,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE9C,8FAA8F;QAC9F,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACzE,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACvD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,yDAAyD,CAAC;SACzF;QAED,IAAI,CAAC,eAAe,EAAE;YACpB,8CAA8C;YAC9C,OAAO,OAAO,CAAC;SAChB;QAED,0EAA0E;QAC1E,sFAAsF;QACtF,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC/B,gEAAgE;YAChE,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAG,CAAC,IAAK,CAAC;SACxE;QAED,sDAAsD;QACtD,IAAI,WAAW,GAAkB,QAAQ,CAAC;QAC1C,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE;YAC5B,2EAA2E;YAC3E,2EAA2E;YAC3E,4EAA4E;YAC5E,0EAA0E;YAC1E,2DAA2D;YAC3D,WAAW,GAAG,MAAM,CAAC;SACtB;aAAM;YACL,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE;gBACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE;oBACjG,SAAS;iBACV;gBACD,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBACjE,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;aACP;YACD,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,CAAC,IAAI,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;aACxG;SACF;QAED,IAAI,WAAW,KAAK,QAAQ,EAAE;YAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,uCAAuC,CAAC;YACtE,OAAO,OAAO,CAAC;SAChB;aAAM,IAAI,eAAe,CAAC,IAAI,KAAK,OAAO,EAAE;YAC3C,IAAI,SAAmC,CAAC;YACxC,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACrE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE;gBAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;oBAC1C,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM;iBACP;aACF;YACD,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,eAAe,CAAC,IAAI,0BAA0B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aAC9G;YACD,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;gBACnC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aAChE;iBAAM;gBACL,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,KAAK,EAAE;oBACnD,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,cAAc,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;iBACvF;gBACD,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aAC7D;YACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC;SACvD;aAAM;YACL,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;gBACvK,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aACzF;YACD,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;SAC1J;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;OAUG;IACK,iBAAiB,CAAC,IAAkB,EAAE,SAAkB;QAC9D,IAAI,CAAC,SAAS,EAAE;YACd,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,OAAO;oBACV,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;gBAChE,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClD,KAAK,SAAS;oBACZ,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC5E;oBACE,OAAO,OAAO,CAAC;aAClB;SACF;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,OAAO;gBACV,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;YAChE,KAAK,SAAS;gBACZ,OAAO,MAAM,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,WAAW,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,aAAa,CAAC;YACnB,KAAK,gBAAgB;gBACnB,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,YAAY;gBACf,OAAO,SAAS,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YACrE,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACtD,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5E;gBACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5E;IACH,CAAC;IAEO,mBAAmB,CAAC,UAA6B;QACvD,MAAM,UAAU,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3D,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC5B,SAAS;aACV;YACD,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/G,6EAA6E;YAC7E,6EAA6E;YAC7E,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;aACzB;YACD,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,eAAe,CAAC,OAAqB,EAAE,QAAiB;QAC9D,+DAA+D;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;YAC5J,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,OAAqB;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;YAC5J,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SACnE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,uBAAuB,CAAC,OAAqB;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;YAC5J,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SACpE;aAAM,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,KAAuL;QAChN,kFAAkF;QAClF,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAClC,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,OAAO,MAAM,CAAC;aACf;YACD,OAAO,SAAS,CAAC;SAClB;aAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aAC3H;YACD,OAAO,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC7F;aAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;YACzB,OAAO,UAAU,CAAC;SACnB;aAAM;YACL,OAAO,UAAU,CAAC;SACnB;IACH,CAAC;IAEO,0BAA0B,CAAC,SAAuD,EAAE,MAAiB,EAAE,YAA6D;;QAC1K,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE;YAChC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAClD,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvG,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtC,IAAI,KAAK,CAAC,SAAS,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE;wBAC3E,4DAA4D;wBAC5D,SAAS;qBACV;oBACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,CAAC,QAAQ,EAAE;wBACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;qBACpF;oBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACvB,cAAc;wBACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;4BAC9B,MAAM,aAAa,GAA+B,KAAK,CAAC,KAAM,CAAC,KAAK,CAA2B,OAAQ,CAAC,cAAc,CAAC,CAAC;4BACxH,MAAM,YAAY,GAAG,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC;4BAC3G,IAAI,OAAO,CAAC,KAAK,EAAE;gCACjB,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;6BAClD;iCAAM;gCACL,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;6BACzC;yBACF;qBACF;yBAAM;wBACL,MAAM,YAAY,GAAG,IAAI,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,CAAC,CAAC;wBACjH,IAAI,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,KAAK,EAAE;4BACtB,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;yBAClD;6BAAM;4BACL,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;yBACzC;qBACF;iBACF;gBACD,2BAA2B;gBAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjF,IAAI,QAAQ,EAAE;oBACZ,SAAS,CAAC,gBAAgB,GAAG,IAAI,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACrF,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;wBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBAC1G,IAAI,CAAC,QAAQ,EAAE;4BACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;yBAC9F;wBACD,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACrI;oBACD,0EAA0E;oBAC1E,gEAAgE;oBAChE,4DAA4D;oBAC5D,IAAI,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;wBACxD,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BAClD,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;yBAC5G;6BAAM,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BAC3D,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;yBACzH;6BAAM,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BAC5D,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;yBAC7G;6BAAM,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BACjE,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;yBAC/H;6BAAM,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BACjE,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;yBAC7H;qBACF;iBACF;gBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IAEO,gBAAgB,CAAC,WAAiC,EAAE,MAAuB;QACjF,QAAQ,WAAW,CAAC,IAAI,EAAE;YACxB,KAAK,QAAQ;gBACX,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;oBAC3I,OAAO,IAAI,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACxD;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;oBACjH,OAAO,IAAI,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACxD;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;oBACxF,OAAO,IAAI,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACzD;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpC,KAAK,SAAS;gBACZ,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE;oBAC3D,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;iBAC7C;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;oBAC1B,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACxC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE;wBACjC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;qBAC9D;oBACD,OAAO,GAAG,CAAC;iBACZ;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;oBACxB,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC7C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;wBACtD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;qBAC3D;oBACD,OAAO,GAAG,CAAC;iBACZ;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,KAAK,OAAO;gBACV,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;oBACxD,IAAI,YAA2D,CAAC;oBAChE,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;wBAC9B,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,eAAC,OAAA,CAAA,MAAA,CAAC,CAAC,kBAAkB,0CAAE,OAAO,MAAK,WAAW,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAA,MAAA,CAAC,CAAC,kBAAkB,0CAAE,OAAO,CAAC,KAAK,MAAK,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAA,EAAA,CAAE,CAAC;qBACtM;yBAAM;wBACL,YAAY,GAAG,MAAM,CAAC;qBACvB;oBACD,IAAI,YAAY,KAAK,SAAS,EAAE;wBAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;qBACzF;oBACD,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC/C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;wBACtD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,CAAE,CAAC;wBACrE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC9D;oBACD,IAAI,WAAW,CAAC,yBAAyB,EAAE;wBACzC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC;wBAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE;4BAC1E,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAE,CAAC,IAAK,CAAC,CAAC;yBACpI;qBACF;oBACD,OAAO,GAAG,CAAC;iBACZ;gBACD,MAAM;SACT;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;CACF;AAOD,SAAS,qBAAqB,CAAC,UAAwC;IACrE,OAA6B,UAAW,CAAC,KAAK,KAAK,SAAS,CAAC;AAC/D,CAAC"}
|