@robinpath/toml 0.1.2 → 0.1.4
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 +91 -91
- package/package.json +6 -4
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
- package/dist/toml.d.ts +0 -113
- package/dist/toml.d.ts.map +0 -1
- package/dist/toml.js +0 -61
- package/dist/toml.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
# @robinpath/toml
|
|
2
|
-
|
|
3
|
-
> Parse, stringify, and manipulate TOML configuration files
|
|
4
|
-
|
|
5
|
-
   
|
|
6
|
-
|
|
7
|
-
## Why use this module?
|
|
8
|
-
|
|
9
|
-
The `toml` module lets you:
|
|
10
|
-
|
|
11
|
-
- Parse a TOML string to object
|
|
12
|
-
- Convert object to TOML string
|
|
13
|
-
- Read and parse a TOML file
|
|
14
|
-
- Write object as TOML to file
|
|
15
|
-
- Get nested value by dot path from TOML string
|
|
16
|
-
|
|
17
|
-
All functions are callable directly from RobinPath scripts with a simple, consistent API.
|
|
18
|
-
|
|
19
|
-
## Installation
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
npm install @robinpath/toml
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Quick Start
|
|
26
|
-
|
|
27
|
-
No credentials needed — start using it right away:
|
|
28
|
-
|
|
29
|
-
```robinpath
|
|
30
|
-
toml.stringify $config
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Available Functions
|
|
34
|
-
|
|
35
|
-
| Function | Description |
|
|
36
|
-
|----------|-------------|
|
|
37
|
-
| `toml.parse` | Parse a TOML string to object |
|
|
38
|
-
| `toml.stringify` | Convert object to TOML string |
|
|
39
|
-
| `toml.parseFile` | Read and parse a TOML file |
|
|
40
|
-
| `toml.writeFile` | Write object as TOML to file |
|
|
41
|
-
| `toml.get` | Get nested value by dot path from TOML string |
|
|
42
|
-
| `toml.isValid` | Check if string is valid TOML |
|
|
43
|
-
| `toml.toJSON` | Convert TOML string to JSON string |
|
|
44
|
-
| `toml.fromJSON` | Convert JSON string to TOML string |
|
|
45
|
-
|
|
46
|
-
## Examples
|
|
47
|
-
|
|
48
|
-
### Convert object to TOML string
|
|
49
|
-
|
|
50
|
-
```robinpath
|
|
51
|
-
toml.stringify $config
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Read and parse a TOML file
|
|
55
|
-
|
|
56
|
-
```robinpath
|
|
57
|
-
toml.parseFile "config.toml"
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Write object as TOML to file
|
|
61
|
-
|
|
62
|
-
```robinpath
|
|
63
|
-
toml.writeFile "config.toml" $obj
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Integration with RobinPath
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
import { RobinPath } from "@wiredwp/robinpath";
|
|
70
|
-
import Module from "@robinpath/toml";
|
|
71
|
-
|
|
72
|
-
const rp = new RobinPath();
|
|
73
|
-
rp.registerModule(Module.name, Module.functions);
|
|
74
|
-
rp.registerModuleMeta(Module.name, Module.functionMetadata);
|
|
75
|
-
|
|
76
|
-
const result = await rp.executeScript(`
|
|
77
|
-
toml.stringify $config
|
|
78
|
-
`);
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Full API Reference
|
|
82
|
-
|
|
83
|
-
See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
|
|
84
|
-
|
|
85
|
-
## Related Modules
|
|
86
|
-
|
|
87
|
-
- [`@robinpath/json`](../json) — JSON module for complementary functionality
|
|
88
|
-
|
|
89
|
-
## License
|
|
90
|
-
|
|
91
|
-
MIT
|
|
1
|
+
# @robinpath/toml
|
|
2
|
+
|
|
3
|
+
> Parse, stringify, and manipulate TOML configuration files
|
|
4
|
+
|
|
5
|
+
   
|
|
6
|
+
|
|
7
|
+
## Why use this module?
|
|
8
|
+
|
|
9
|
+
The `toml` module lets you:
|
|
10
|
+
|
|
11
|
+
- Parse a TOML string to object
|
|
12
|
+
- Convert object to TOML string
|
|
13
|
+
- Read and parse a TOML file
|
|
14
|
+
- Write object as TOML to file
|
|
15
|
+
- Get nested value by dot path from TOML string
|
|
16
|
+
|
|
17
|
+
All functions are callable directly from RobinPath scripts with a simple, consistent API.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install @robinpath/toml
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
No credentials needed — start using it right away:
|
|
28
|
+
|
|
29
|
+
```robinpath
|
|
30
|
+
toml.stringify $config
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Available Functions
|
|
34
|
+
|
|
35
|
+
| Function | Description |
|
|
36
|
+
|----------|-------------|
|
|
37
|
+
| `toml.parse` | Parse a TOML string to object |
|
|
38
|
+
| `toml.stringify` | Convert object to TOML string |
|
|
39
|
+
| `toml.parseFile` | Read and parse a TOML file |
|
|
40
|
+
| `toml.writeFile` | Write object as TOML to file |
|
|
41
|
+
| `toml.get` | Get nested value by dot path from TOML string |
|
|
42
|
+
| `toml.isValid` | Check if string is valid TOML |
|
|
43
|
+
| `toml.toJSON` | Convert TOML string to JSON string |
|
|
44
|
+
| `toml.fromJSON` | Convert JSON string to TOML string |
|
|
45
|
+
|
|
46
|
+
## Examples
|
|
47
|
+
|
|
48
|
+
### Convert object to TOML string
|
|
49
|
+
|
|
50
|
+
```robinpath
|
|
51
|
+
toml.stringify $config
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Read and parse a TOML file
|
|
55
|
+
|
|
56
|
+
```robinpath
|
|
57
|
+
toml.parseFile "config.toml"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Write object as TOML to file
|
|
61
|
+
|
|
62
|
+
```robinpath
|
|
63
|
+
toml.writeFile "config.toml" $obj
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Integration with RobinPath
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
import { RobinPath } from "@wiredwp/robinpath";
|
|
70
|
+
import Module from "@robinpath/toml";
|
|
71
|
+
|
|
72
|
+
const rp = new RobinPath();
|
|
73
|
+
rp.registerModule(Module.name, Module.functions);
|
|
74
|
+
rp.registerModuleMeta(Module.name, Module.functionMetadata);
|
|
75
|
+
|
|
76
|
+
const result = await rp.executeScript(`
|
|
77
|
+
toml.stringify $config
|
|
78
|
+
`);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Full API Reference
|
|
82
|
+
|
|
83
|
+
See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
|
|
84
|
+
|
|
85
|
+
## Related Modules
|
|
86
|
+
|
|
87
|
+
- [`@robinpath/json`](../json) — JSON module for complementary functionality
|
|
88
|
+
|
|
89
|
+
## License
|
|
90
|
+
|
|
91
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robinpath/toml",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"smol-toml": "^1.3.0"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@
|
|
27
|
+
"@robinpath/core": ">=0.20.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@
|
|
30
|
+
"@robinpath/core": "^0.30.1",
|
|
31
31
|
"tsx": "^4.19.0",
|
|
32
32
|
"typescript": "^5.6.0"
|
|
33
33
|
},
|
|
@@ -41,6 +41,8 @@
|
|
|
41
41
|
"category": "utility",
|
|
42
42
|
"type": "utility",
|
|
43
43
|
"auth": "none",
|
|
44
|
-
"functionCount": 8
|
|
44
|
+
"functionCount": 8,
|
|
45
|
+
"runtime": "node",
|
|
46
|
+
"runtimeReason": "Requires smol-toml (npm package)"
|
|
45
47
|
}
|
|
46
48
|
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { ModuleAdapter } from "@wiredwp/robinpath";
|
|
2
|
-
declare const TomlModule: ModuleAdapter;
|
|
3
|
-
export default TomlModule;
|
|
4
|
-
export { TomlModule };
|
|
5
|
-
export { TomlFunctions, TomlFunctionMetadata, TomlModuleMetadata } from "./toml.js";
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,QAAA,MAAM,UAAU,EAAE,aAMjB,CAAC;AAEF,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { TomlFunctions, TomlFunctionMetadata, TomlModuleMetadata } from "./toml.js";
|
|
2
|
-
const TomlModule = {
|
|
3
|
-
name: "toml",
|
|
4
|
-
functions: TomlFunctions,
|
|
5
|
-
functionMetadata: TomlFunctionMetadata,
|
|
6
|
-
moduleMetadata: TomlModuleMetadata,
|
|
7
|
-
global: false,
|
|
8
|
-
}; // as ModuleAdapter
|
|
9
|
-
export default TomlModule;
|
|
10
|
-
export { TomlModule };
|
|
11
|
-
export { TomlFunctions, TomlFunctionMetadata, TomlModuleMetadata } from "./toml.js";
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpF,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,aAAa;IACxB,gBAAgB,EAAE,oBAA2B;IAC7C,cAAc,EAAE,kBAAyB;IACzC,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,mBAAmB;AAEtB,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/toml.d.ts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import type { BuiltinHandler } from "@wiredwp/robinpath";
|
|
2
|
-
export declare const TomlFunctions: Record<string, BuiltinHandler>;
|
|
3
|
-
export declare const TomlFunctionMetadata: {
|
|
4
|
-
parse: {
|
|
5
|
-
description: string;
|
|
6
|
-
parameters: {
|
|
7
|
-
name: string;
|
|
8
|
-
dataType: string;
|
|
9
|
-
description: string;
|
|
10
|
-
formInputType: string;
|
|
11
|
-
required: boolean;
|
|
12
|
-
}[];
|
|
13
|
-
returnType: string;
|
|
14
|
-
returnDescription: string;
|
|
15
|
-
example: string;
|
|
16
|
-
};
|
|
17
|
-
stringify: {
|
|
18
|
-
description: string;
|
|
19
|
-
parameters: {
|
|
20
|
-
name: string;
|
|
21
|
-
dataType: string;
|
|
22
|
-
description: string;
|
|
23
|
-
formInputType: string;
|
|
24
|
-
required: boolean;
|
|
25
|
-
}[];
|
|
26
|
-
returnType: string;
|
|
27
|
-
returnDescription: string;
|
|
28
|
-
example: string;
|
|
29
|
-
};
|
|
30
|
-
parseFile: {
|
|
31
|
-
description: string;
|
|
32
|
-
parameters: {
|
|
33
|
-
name: string;
|
|
34
|
-
dataType: string;
|
|
35
|
-
description: string;
|
|
36
|
-
formInputType: string;
|
|
37
|
-
required: boolean;
|
|
38
|
-
}[];
|
|
39
|
-
returnType: string;
|
|
40
|
-
returnDescription: string;
|
|
41
|
-
example: string;
|
|
42
|
-
};
|
|
43
|
-
writeFile: {
|
|
44
|
-
description: string;
|
|
45
|
-
parameters: {
|
|
46
|
-
name: string;
|
|
47
|
-
dataType: string;
|
|
48
|
-
description: string;
|
|
49
|
-
formInputType: string;
|
|
50
|
-
required: boolean;
|
|
51
|
-
}[];
|
|
52
|
-
returnType: string;
|
|
53
|
-
returnDescription: string;
|
|
54
|
-
example: string;
|
|
55
|
-
};
|
|
56
|
-
get: {
|
|
57
|
-
description: string;
|
|
58
|
-
parameters: {
|
|
59
|
-
name: string;
|
|
60
|
-
dataType: string;
|
|
61
|
-
description: string;
|
|
62
|
-
formInputType: string;
|
|
63
|
-
required: boolean;
|
|
64
|
-
}[];
|
|
65
|
-
returnType: string;
|
|
66
|
-
returnDescription: string;
|
|
67
|
-
example: string;
|
|
68
|
-
};
|
|
69
|
-
isValid: {
|
|
70
|
-
description: string;
|
|
71
|
-
parameters: {
|
|
72
|
-
name: string;
|
|
73
|
-
dataType: string;
|
|
74
|
-
description: string;
|
|
75
|
-
formInputType: string;
|
|
76
|
-
required: boolean;
|
|
77
|
-
}[];
|
|
78
|
-
returnType: string;
|
|
79
|
-
returnDescription: string;
|
|
80
|
-
example: string;
|
|
81
|
-
};
|
|
82
|
-
toJSON: {
|
|
83
|
-
description: string;
|
|
84
|
-
parameters: {
|
|
85
|
-
name: string;
|
|
86
|
-
dataType: string;
|
|
87
|
-
description: string;
|
|
88
|
-
formInputType: string;
|
|
89
|
-
required: boolean;
|
|
90
|
-
}[];
|
|
91
|
-
returnType: string;
|
|
92
|
-
returnDescription: string;
|
|
93
|
-
example: string;
|
|
94
|
-
};
|
|
95
|
-
fromJSON: {
|
|
96
|
-
description: string;
|
|
97
|
-
parameters: {
|
|
98
|
-
name: string;
|
|
99
|
-
dataType: string;
|
|
100
|
-
description: string;
|
|
101
|
-
formInputType: string;
|
|
102
|
-
required: boolean;
|
|
103
|
-
}[];
|
|
104
|
-
returnType: string;
|
|
105
|
-
returnDescription: string;
|
|
106
|
-
example: string;
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
export declare const TomlModuleMetadata: {
|
|
110
|
-
description: string;
|
|
111
|
-
methods: string[];
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=toml.d.ts.map
|
package/dist/toml.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toml.d.ts","sourceRoot":"","sources":["../src/toml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,oBAAoB,CAAC;AAsC3F,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAExD,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAShC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC"}
|
package/dist/toml.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
// src/toml.ts
|
|
2
|
-
import { readFileSync, writeFileSync } from "node:fs";
|
|
3
|
-
function resolvePath(obj, path) {
|
|
4
|
-
const keys = path.split(".");
|
|
5
|
-
let current = obj;
|
|
6
|
-
for (const key of keys) {
|
|
7
|
-
if (current == null || typeof current !== "object") return void 0;
|
|
8
|
-
current = current[key];
|
|
9
|
-
}
|
|
10
|
-
return current;
|
|
11
|
-
}
|
|
12
|
-
var parse = (args) => any(String(args[0] ?? ""));
|
|
13
|
-
var stringify = (args) => any(args[0]);
|
|
14
|
-
var parseFile = (args) => any(readFileSync(String(args[0] ?? ""), "utf-8"));
|
|
15
|
-
var writeFile = (args) => {
|
|
16
|
-
writeFileSync(String(args[0] ?? ""), any(args[1]), "utf-8");
|
|
17
|
-
return true;
|
|
18
|
-
};
|
|
19
|
-
var get = (args) => {
|
|
20
|
-
const obj = any(String(args[0] ?? ""));
|
|
21
|
-
return resolvePath(obj, String(args[1] ?? ""));
|
|
22
|
-
};
|
|
23
|
-
var isValid = (args) => {
|
|
24
|
-
try {
|
|
25
|
-
any(String(args[0] ?? ""));
|
|
26
|
-
return true;
|
|
27
|
-
} catch {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
var toJSON = (args) => JSON.stringify(any(String(args[0] ?? "")), null, 2);
|
|
32
|
-
var fromJSON = (args) => any(JSON.parse(String(args[0] ?? "")));
|
|
33
|
-
var TomlFunctions = {
|
|
34
|
-
parse,
|
|
35
|
-
stringify,
|
|
36
|
-
parseFile,
|
|
37
|
-
writeFile,
|
|
38
|
-
get,
|
|
39
|
-
isValid,
|
|
40
|
-
toJSON,
|
|
41
|
-
fromJSON
|
|
42
|
-
};
|
|
43
|
-
var TomlFunctionMetadata = {
|
|
44
|
-
parse: { description: "Parse a TOML string to object", parameters: [{ name: "tomlString", dataType: "string", description: "TOML string", formInputType: "textarea", required: true }], returnType: "object", returnDescription: "Parsed object", example: 'toml.parse "title = \\"My App\\""' },
|
|
45
|
-
stringify: { description: "Convert object to TOML string", parameters: [{ name: "obj", dataType: "object", description: "Object to convert", formInputType: "json", required: true }], returnType: "string", returnDescription: "TOML string", example: "toml.stringify $config" },
|
|
46
|
-
parseFile: { description: "Read and parse a TOML file", parameters: [{ name: "filePath", dataType: "string", description: "Path to TOML file", formInputType: "text", required: true }], returnType: "object", returnDescription: "Parsed object", example: 'toml.parseFile "config.toml"' },
|
|
47
|
-
writeFile: { description: "Write object as TOML to file", parameters: [{ name: "filePath", dataType: "string", description: "Output file path", formInputType: "text", required: true }, { name: "obj", dataType: "object", description: "Object to write", formInputType: "json", required: true }], returnType: "boolean", returnDescription: "True on success", example: 'toml.writeFile "config.toml" $obj' },
|
|
48
|
-
get: { description: "Get nested value by dot path from TOML string", parameters: [{ name: "tomlString", dataType: "string", description: "TOML string", formInputType: "textarea", required: true }, { name: "path", dataType: "string", description: "Dot-separated path", formInputType: "text", required: true }], returnType: "any", returnDescription: "Value at path", example: 'toml.get $toml "database.host"' },
|
|
49
|
-
isValid: { description: "Check if string is valid TOML", parameters: [{ name: "str", dataType: "string", description: "String to check", formInputType: "textarea", required: true }], returnType: "boolean", returnDescription: "True if valid TOML", example: 'toml.isValid "key = 1"' },
|
|
50
|
-
toJSON: { description: "Convert TOML string to JSON string", parameters: [{ name: "tomlString", dataType: "string", description: "TOML string", formInputType: "textarea", required: true }], returnType: "string", returnDescription: "JSON string", example: "toml.toJSON $toml" },
|
|
51
|
-
fromJSON: { description: "Convert JSON string to TOML string", parameters: [{ name: "jsonString", dataType: "string", description: "JSON string", formInputType: "textarea", required: true }], returnType: "string", returnDescription: "TOML string", example: "toml.fromJSON $json" }
|
|
52
|
-
};
|
|
53
|
-
var TomlModuleMetadata = {
|
|
54
|
-
description: "Parse, stringify, and manipulate TOML configuration files",
|
|
55
|
-
methods: ["parse", "stringify", "parseFile", "writeFile", "get", "isValid", "toJSON", "fromJSON"]
|
|
56
|
-
};
|
|
57
|
-
export {
|
|
58
|
-
TomlFunctionMetadata,
|
|
59
|
-
TomlFunctions,
|
|
60
|
-
TomlModuleMetadata
|
|
61
|
-
};
|
package/dist/toml.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toml.js","sourceRoot":"","sources":["../src/toml.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtD,SAAS,WAAW,CAAC,GAAY,EAAE,IAAY;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrE,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,KAAK,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEnE,MAAM,SAAS,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC;AAEpF,MAAM,SAAS,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9F,MAAM,SAAS,GAAmB,CAAC,IAAI,EAAE,EAAE;IACzC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC,EAAE,OAAO,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,GAAG,GAAmB,CAAC,IAAI,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,OAAO,GAAmB,CAAC,IAAI,EAAE,EAAE;IACvC,IAAI,CAAC;QAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,MAAM,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAE7F,MAAM,QAAQ,GAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,aAAa,GAAmC;IAC3D,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,mCAAmC,EAAE;IAChS,SAAS,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,wBAAwB,EAAE;IAClR,SAAS,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,8BAA8B,EAAE;IAC5R,SAAS,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,mCAAmC,EAAE;IACjZ,GAAG,EAAE,EAAE,WAAW,EAAE,+CAA+C,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,gCAAgC,EAAE;IACxZ,OAAO,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,EAAE,wBAAwB,EAAE;IAC1R,MAAM,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE;IACpR,QAAQ,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,EAAE;CACzR,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,WAAW,EAAE,2DAA2D;IACxE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;CAClG,CAAC"}
|