@cogitator-ai/models 0.1.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.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/__tests__/registry.test.d.ts +2 -0
  4. package/dist/__tests__/registry.test.d.ts.map +1 -0
  5. package/dist/__tests__/registry.test.js +132 -0
  6. package/dist/__tests__/registry.test.js.map +1 -0
  7. package/dist/cache.d.ts +21 -0
  8. package/dist/cache.d.ts.map +1 -0
  9. package/dist/cache.js +92 -0
  10. package/dist/cache.js.map +1 -0
  11. package/dist/fetcher.d.ts +4 -0
  12. package/dist/fetcher.d.ts.map +1 -0
  13. package/dist/fetcher.js +167 -0
  14. package/dist/fetcher.js.map +1 -0
  15. package/dist/index.d.ts +6 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +5 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/providers/anthropic.d.ts +3 -0
  20. package/dist/providers/anthropic.d.ts.map +1 -0
  21. package/dist/providers/anthropic.js +95 -0
  22. package/dist/providers/anthropic.js.map +1 -0
  23. package/dist/providers/google.d.ts +3 -0
  24. package/dist/providers/google.d.ts.map +1 -0
  25. package/dist/providers/google.js +98 -0
  26. package/dist/providers/google.js.map +1 -0
  27. package/dist/providers/index.d.ts +11 -0
  28. package/dist/providers/index.d.ts.map +1 -0
  29. package/dist/providers/index.js +29 -0
  30. package/dist/providers/index.js.map +1 -0
  31. package/dist/providers/openai.d.ts +3 -0
  32. package/dist/providers/openai.d.ts.map +1 -0
  33. package/dist/providers/openai.js +121 -0
  34. package/dist/providers/openai.js.map +1 -0
  35. package/dist/registry.d.ts +40 -0
  36. package/dist/registry.d.ts.map +1 -0
  37. package/dist/registry.js +258 -0
  38. package/dist/registry.js.map +1 -0
  39. package/dist/types.d.ts +183 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +32 -0
  42. package/dist/types.js.map +1 -0
  43. package/package.json +43 -0
@@ -0,0 +1,95 @@
1
+ export const ANTHROPIC_MODELS = [
2
+ {
3
+ id: 'claude-sonnet-4-20250514',
4
+ provider: 'anthropic',
5
+ displayName: 'Claude Sonnet 4',
6
+ pricing: { input: 3, output: 15 },
7
+ contextWindow: 200000,
8
+ maxOutputTokens: 64000,
9
+ capabilities: {
10
+ supportsTools: true,
11
+ supportsVision: true,
12
+ supportsFunctions: true,
13
+ supportsStreaming: true,
14
+ supportsJson: true,
15
+ },
16
+ },
17
+ {
18
+ id: 'claude-3-5-sonnet-20241022',
19
+ provider: 'anthropic',
20
+ displayName: 'Claude 3.5 Sonnet',
21
+ pricing: { input: 3, output: 15 },
22
+ contextWindow: 200000,
23
+ maxOutputTokens: 8192,
24
+ capabilities: {
25
+ supportsTools: true,
26
+ supportsVision: true,
27
+ supportsFunctions: true,
28
+ supportsStreaming: true,
29
+ supportsJson: true,
30
+ },
31
+ aliases: ['claude-3-5-sonnet', 'claude-3.5-sonnet'],
32
+ },
33
+ {
34
+ id: 'claude-3-5-haiku-20241022',
35
+ provider: 'anthropic',
36
+ displayName: 'Claude 3.5 Haiku',
37
+ pricing: { input: 0.8, output: 4 },
38
+ contextWindow: 200000,
39
+ maxOutputTokens: 8192,
40
+ capabilities: {
41
+ supportsTools: true,
42
+ supportsVision: true,
43
+ supportsFunctions: true,
44
+ supportsStreaming: true,
45
+ supportsJson: true,
46
+ },
47
+ aliases: ['claude-3-5-haiku', 'claude-3.5-haiku'],
48
+ },
49
+ {
50
+ id: 'claude-3-opus-20240229',
51
+ provider: 'anthropic',
52
+ displayName: 'Claude 3 Opus',
53
+ pricing: { input: 15, output: 75 },
54
+ contextWindow: 200000,
55
+ maxOutputTokens: 4096,
56
+ capabilities: {
57
+ supportsTools: true,
58
+ supportsVision: true,
59
+ supportsFunctions: true,
60
+ supportsStreaming: true,
61
+ },
62
+ aliases: ['claude-3-opus'],
63
+ },
64
+ {
65
+ id: 'claude-3-sonnet-20240229',
66
+ provider: 'anthropic',
67
+ displayName: 'Claude 3 Sonnet',
68
+ pricing: { input: 3, output: 15 },
69
+ contextWindow: 200000,
70
+ maxOutputTokens: 4096,
71
+ capabilities: {
72
+ supportsTools: true,
73
+ supportsVision: true,
74
+ supportsFunctions: true,
75
+ supportsStreaming: true,
76
+ },
77
+ aliases: ['claude-3-sonnet'],
78
+ },
79
+ {
80
+ id: 'claude-3-haiku-20240307',
81
+ provider: 'anthropic',
82
+ displayName: 'Claude 3 Haiku',
83
+ pricing: { input: 0.25, output: 1.25 },
84
+ contextWindow: 200000,
85
+ maxOutputTokens: 4096,
86
+ capabilities: {
87
+ supportsTools: true,
88
+ supportsVision: true,
89
+ supportsFunctions: true,
90
+ supportsStreaming: true,
91
+ },
92
+ aliases: ['claude-3-haiku'],
93
+ },
94
+ ];
95
+ //# sourceMappingURL=anthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ModelInfo } from '../types';
2
+ export declare const GOOGLE_MODELS: ModelInfo[];
3
+ //# sourceMappingURL=google.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,aAAa,EAAE,SAAS,EAgGpC,CAAC"}
@@ -0,0 +1,98 @@
1
+ export const GOOGLE_MODELS = [
2
+ {
3
+ id: 'gemini-2.5-pro-preview-05-06',
4
+ provider: 'google',
5
+ displayName: 'Gemini 2.5 Pro',
6
+ pricing: { input: 1.25, output: 10 },
7
+ contextWindow: 1048576,
8
+ maxOutputTokens: 65536,
9
+ capabilities: {
10
+ supportsTools: true,
11
+ supportsVision: true,
12
+ supportsFunctions: true,
13
+ supportsStreaming: true,
14
+ supportsJson: true,
15
+ },
16
+ aliases: ['gemini-2.5-pro'],
17
+ },
18
+ {
19
+ id: 'gemini-2.5-flash-preview-05-20',
20
+ provider: 'google',
21
+ displayName: 'Gemini 2.5 Flash',
22
+ pricing: { input: 0.15, output: 0.6 },
23
+ contextWindow: 1048576,
24
+ maxOutputTokens: 65536,
25
+ capabilities: {
26
+ supportsTools: true,
27
+ supportsVision: true,
28
+ supportsFunctions: true,
29
+ supportsStreaming: true,
30
+ supportsJson: true,
31
+ },
32
+ aliases: ['gemini-2.5-flash'],
33
+ },
34
+ {
35
+ id: 'gemini-2.0-flash',
36
+ provider: 'google',
37
+ displayName: 'Gemini 2.0 Flash',
38
+ pricing: { input: 0.1, output: 0.4 },
39
+ contextWindow: 1048576,
40
+ maxOutputTokens: 8192,
41
+ capabilities: {
42
+ supportsTools: true,
43
+ supportsVision: true,
44
+ supportsFunctions: true,
45
+ supportsStreaming: true,
46
+ supportsJson: true,
47
+ },
48
+ aliases: ['gemini-2-flash'],
49
+ },
50
+ {
51
+ id: 'gemini-1.5-pro',
52
+ provider: 'google',
53
+ displayName: 'Gemini 1.5 Pro',
54
+ pricing: { input: 1.25, output: 5 },
55
+ contextWindow: 2097152,
56
+ maxOutputTokens: 8192,
57
+ capabilities: {
58
+ supportsTools: true,
59
+ supportsVision: true,
60
+ supportsFunctions: true,
61
+ supportsStreaming: true,
62
+ supportsJson: true,
63
+ },
64
+ aliases: ['gemini-pro'],
65
+ },
66
+ {
67
+ id: 'gemini-1.5-flash',
68
+ provider: 'google',
69
+ displayName: 'Gemini 1.5 Flash',
70
+ pricing: { input: 0.075, output: 0.3 },
71
+ contextWindow: 1048576,
72
+ maxOutputTokens: 8192,
73
+ capabilities: {
74
+ supportsTools: true,
75
+ supportsVision: true,
76
+ supportsFunctions: true,
77
+ supportsStreaming: true,
78
+ supportsJson: true,
79
+ },
80
+ aliases: ['gemini-flash'],
81
+ },
82
+ {
83
+ id: 'gemini-1.5-flash-8b',
84
+ provider: 'google',
85
+ displayName: 'Gemini 1.5 Flash 8B',
86
+ pricing: { input: 0.0375, output: 0.15 },
87
+ contextWindow: 1048576,
88
+ maxOutputTokens: 8192,
89
+ capabilities: {
90
+ supportsTools: true,
91
+ supportsVision: true,
92
+ supportsFunctions: true,
93
+ supportsStreaming: true,
94
+ supportsJson: true,
95
+ },
96
+ },
97
+ ];
98
+ //# sourceMappingURL=google.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ModelInfo } from '../types';
2
+ export { OPENAI_MODELS } from './openai';
3
+ export { ANTHROPIC_MODELS } from './anthropic';
4
+ export { GOOGLE_MODELS } from './google';
5
+ export declare const BUILTIN_MODELS: ModelInfo[];
6
+ export declare const BUILTIN_PROVIDERS: {
7
+ id: string;
8
+ name: string;
9
+ website: string;
10
+ }[];
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,cAAc,EAAE,SAAS,EAIrC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;GAgB7B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { OPENAI_MODELS } from './openai';
2
+ import { ANTHROPIC_MODELS } from './anthropic';
3
+ import { GOOGLE_MODELS } from './google';
4
+ export { OPENAI_MODELS } from './openai';
5
+ export { ANTHROPIC_MODELS } from './anthropic';
6
+ export { GOOGLE_MODELS } from './google';
7
+ export const BUILTIN_MODELS = [
8
+ ...OPENAI_MODELS,
9
+ ...ANTHROPIC_MODELS,
10
+ ...GOOGLE_MODELS,
11
+ ];
12
+ export const BUILTIN_PROVIDERS = [
13
+ { id: 'openai', name: 'OpenAI', website: 'https://openai.com' },
14
+ { id: 'anthropic', name: 'Anthropic', website: 'https://anthropic.com' },
15
+ { id: 'google', name: 'Google', website: 'https://ai.google.dev' },
16
+ { id: 'ollama', name: 'Ollama', website: 'https://ollama.com' },
17
+ { id: 'azure', name: 'Azure OpenAI', website: 'https://azure.microsoft.com/products/ai-services/openai-service' },
18
+ { id: 'aws', name: 'AWS Bedrock', website: 'https://aws.amazon.com/bedrock' },
19
+ { id: 'mistral', name: 'Mistral AI', website: 'https://mistral.ai' },
20
+ { id: 'cohere', name: 'Cohere', website: 'https://cohere.com' },
21
+ { id: 'groq', name: 'Groq', website: 'https://groq.com' },
22
+ { id: 'together', name: 'Together AI', website: 'https://together.ai' },
23
+ { id: 'fireworks', name: 'Fireworks AI', website: 'https://fireworks.ai' },
24
+ { id: 'deepinfra', name: 'DeepInfra', website: 'https://deepinfra.com' },
25
+ { id: 'perplexity', name: 'Perplexity', website: 'https://perplexity.ai' },
26
+ { id: 'replicate', name: 'Replicate', website: 'https://replicate.com' },
27
+ { id: 'xai', name: 'xAI', website: 'https://x.ai' },
28
+ ];
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,GAAG,aAAa;IAChB,GAAG,gBAAgB;IACnB,GAAG,aAAa;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE;IAC/D,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACxE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;IAClE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE;IAC/D,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iEAAiE,EAAE;IACjH,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gCAAgC,EAAE;IAC7E,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE;IACpE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE;IAC/D,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACzD,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,EAAE;IACvE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE;IAC1E,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACxE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,uBAAuB,EAAE;IAC1E,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACxE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE;CACpD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ModelInfo } from '../types';
2
+ export declare const OPENAI_MODELS: ModelInfo[];
3
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,aAAa,EAAE,SAAS,EAuHpC,CAAC"}
@@ -0,0 +1,121 @@
1
+ export const OPENAI_MODELS = [
2
+ {
3
+ id: 'gpt-4o',
4
+ provider: 'openai',
5
+ displayName: 'GPT-4o',
6
+ pricing: { input: 2.5, output: 10 },
7
+ contextWindow: 128000,
8
+ maxOutputTokens: 16384,
9
+ capabilities: {
10
+ supportsTools: true,
11
+ supportsVision: true,
12
+ supportsFunctions: true,
13
+ supportsStreaming: true,
14
+ supportsJson: true,
15
+ },
16
+ },
17
+ {
18
+ id: 'gpt-4o-mini',
19
+ provider: 'openai',
20
+ displayName: 'GPT-4o Mini',
21
+ pricing: { input: 0.15, output: 0.6 },
22
+ contextWindow: 128000,
23
+ maxOutputTokens: 16384,
24
+ capabilities: {
25
+ supportsTools: true,
26
+ supportsVision: true,
27
+ supportsFunctions: true,
28
+ supportsStreaming: true,
29
+ supportsJson: true,
30
+ },
31
+ },
32
+ {
33
+ id: 'gpt-4-turbo',
34
+ provider: 'openai',
35
+ displayName: 'GPT-4 Turbo',
36
+ pricing: { input: 10, output: 30 },
37
+ contextWindow: 128000,
38
+ maxOutputTokens: 4096,
39
+ capabilities: {
40
+ supportsTools: true,
41
+ supportsVision: true,
42
+ supportsFunctions: true,
43
+ supportsStreaming: true,
44
+ supportsJson: true,
45
+ },
46
+ },
47
+ {
48
+ id: 'gpt-4',
49
+ provider: 'openai',
50
+ displayName: 'GPT-4',
51
+ pricing: { input: 30, output: 60 },
52
+ contextWindow: 8192,
53
+ maxOutputTokens: 8192,
54
+ capabilities: {
55
+ supportsTools: true,
56
+ supportsFunctions: true,
57
+ supportsStreaming: true,
58
+ },
59
+ },
60
+ {
61
+ id: 'gpt-3.5-turbo',
62
+ provider: 'openai',
63
+ displayName: 'GPT-3.5 Turbo',
64
+ pricing: { input: 0.5, output: 1.5 },
65
+ contextWindow: 16385,
66
+ maxOutputTokens: 4096,
67
+ capabilities: {
68
+ supportsTools: true,
69
+ supportsFunctions: true,
70
+ supportsStreaming: true,
71
+ supportsJson: true,
72
+ },
73
+ },
74
+ {
75
+ id: 'o1',
76
+ provider: 'openai',
77
+ displayName: 'o1',
78
+ pricing: { input: 15, output: 60 },
79
+ contextWindow: 200000,
80
+ maxOutputTokens: 100000,
81
+ capabilities: {
82
+ supportsStreaming: true,
83
+ },
84
+ },
85
+ {
86
+ id: 'o1-mini',
87
+ provider: 'openai',
88
+ displayName: 'o1 Mini',
89
+ pricing: { input: 3, output: 12 },
90
+ contextWindow: 128000,
91
+ maxOutputTokens: 65536,
92
+ capabilities: {
93
+ supportsStreaming: true,
94
+ },
95
+ },
96
+ {
97
+ id: 'o1-preview',
98
+ provider: 'openai',
99
+ displayName: 'o1 Preview',
100
+ pricing: { input: 15, output: 60 },
101
+ contextWindow: 128000,
102
+ maxOutputTokens: 32768,
103
+ capabilities: {
104
+ supportsStreaming: true,
105
+ },
106
+ },
107
+ {
108
+ id: 'o3-mini',
109
+ provider: 'openai',
110
+ displayName: 'o3 Mini',
111
+ pricing: { input: 1.1, output: 4.4 },
112
+ contextWindow: 200000,
113
+ maxOutputTokens: 100000,
114
+ capabilities: {
115
+ supportsTools: true,
116
+ supportsFunctions: true,
117
+ supportsStreaming: true,
118
+ },
119
+ },
120
+ ];
121
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { ModelInfo, ModelFilter, RegistryOptions, ProviderInfo } from './types';
2
+ export declare class ModelRegistry {
3
+ private models;
4
+ private aliases;
5
+ private providers;
6
+ private cache;
7
+ private options;
8
+ private initialized;
9
+ private refreshTimer;
10
+ constructor(options?: RegistryOptions);
11
+ initialize(): Promise<void>;
12
+ refresh(): Promise<void>;
13
+ getModel(id: string): ModelInfo | null;
14
+ getPrice(id: string): {
15
+ input: number;
16
+ output: number;
17
+ } | null;
18
+ listModels(filter?: ModelFilter): ModelInfo[];
19
+ listProviders(): ProviderInfo[];
20
+ getProvider(id: string): ProviderInfo | null;
21
+ isInitialized(): boolean;
22
+ getModelCount(): number;
23
+ shutdown(): void;
24
+ private loadModels;
25
+ private mergeWithBuiltin;
26
+ private normalizeModelId;
27
+ private formatProviderName;
28
+ private ensureInitialized;
29
+ private refreshInBackground;
30
+ private startAutoRefresh;
31
+ }
32
+ export declare function getModelRegistry(): ModelRegistry;
33
+ export declare function initializeModels(): Promise<ModelRegistry>;
34
+ export declare function getPrice(modelId: string): {
35
+ input: number;
36
+ output: number;
37
+ } | null;
38
+ export declare function getModel(modelId: string): ModelInfo | null;
39
+ export declare function listModels(filter?: ModelFilter): ModelInfo[];
40
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKrF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAA+C;gBAEvD,OAAO,GAAE,eAAoB;IAWnC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B9B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAsBtC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAM9D,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE;IAyC7C,aAAa,IAAI,YAAY,EAAE;IAK/B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAK5C,aAAa,IAAI,OAAO;IAIxB,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,IAAI;IAOhB,OAAO,CAAC,UAAU;IAqClB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;CAMzB;AAID,wBAAgB,gBAAgB,IAAI,aAAa,CAQhD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAI/D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAElF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE1D;AAED,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAE5D"}