@zylaris/compiler 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,13 @@
1
+ /**
2
+ * Zylaris Compiler
3
+ * High-performance TypeScript/JSX compilation with worker pool
4
+ */
5
+ import * as esbuild from 'esbuild';
1
6
  export interface CompileOptions {
2
7
  target?: 'es2020' | 'es2022' | 'esnext';
3
8
  minify?: boolean;
4
9
  sourceMap?: boolean;
10
+ cache?: boolean;
5
11
  jsx?: {
6
12
  runtime?: 'automatic' | 'classic';
7
13
  importSource?: string;
@@ -11,17 +17,34 @@ export interface CompileResult {
11
17
  code: string;
12
18
  map?: string;
13
19
  errors: CompileError[];
20
+ duration: number;
21
+ fromCache: boolean;
14
22
  }
15
23
  export interface CompileError {
16
24
  message: string;
17
25
  location?: {
18
26
  line: number;
19
27
  column: number;
28
+ file?: string;
20
29
  };
21
30
  }
31
+ /**
32
+ * Compile source code with caching
33
+ */
22
34
  export declare function compile(source: string, filename: string, options?: CompileOptions): Promise<CompileResult>;
23
- export declare function bundle(entryPoints: string[], outdir: string, options?: CompileOptions): Promise<void>;
24
- export declare function transformJSXForClient(source: string, filename: string): Promise<string>;
35
+ export declare function compileBatch(files: Array<{
36
+ source: string;
37
+ filename: string;
38
+ }>, options?: CompileOptions): Promise<CompileResult[]>;
39
+ export declare function bundle(entryPoints: string[], outdir: string, options?: CompileOptions): Promise<{
40
+ metafile: esbuild.Metafile;
41
+ duration: number;
42
+ }>;
43
+ export declare function clearCompileCache(): void;
44
+ export declare function getCompileCacheStats(): {
45
+ entries: number;
46
+ sizeMB: string;
47
+ maxSizeMB: number;
48
+ };
25
49
  export * from './jit.js';
26
- export declare function transformJSXForServer(source: string, filename: string): Promise<string>;
27
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAexB;AAwFD,wBAAsB,MAAM,CAC1B,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAcf;AAGD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAGD,cAAc,UAAU,CAAC;AAGzB,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAoEnC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AASD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAgDxB;AAiGD,wBAAsB,YAAY,CAChC,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,EAAE,CAAC,CAc1B;AAGD,wBAAsB,MAAM,CAC1B,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB3D;AAGD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAGD,wBAAgB,oBAAoB;;;;EAEnC;AAGD,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,20 +1,111 @@
1
- // Zylaris Compiler
2
- // Transforms JSX and TypeScript for production
1
+ /**
2
+ * Zylaris Compiler
3
+ * High-performance TypeScript/JSX compilation with worker pool
4
+ */
3
5
  import { transform as swcTransform } from '@swc/core';
4
6
  import * as esbuild from 'esbuild';
5
7
  import path from 'path';
8
+ import { createHash } from 'crypto';
9
+ import { performance } from 'perf_hooks';
10
+ class LRUCache {
11
+ cache = new Map();
12
+ maxSize;
13
+ currentSize = 0;
14
+ constructor(maxSizeMB = 50) {
15
+ this.maxSize = maxSizeMB * 1024 * 1024;
16
+ }
17
+ get(key) {
18
+ const entry = this.cache.get(key);
19
+ if (entry) {
20
+ // Update LRU order
21
+ this.cache.delete(key);
22
+ this.cache.set(key, { ...entry, timestamp: Date.now() });
23
+ }
24
+ return entry;
25
+ }
26
+ set(key, entry) {
27
+ const size = entry.code.length + (entry.map?.length || 0);
28
+ // Evict old entries if needed
29
+ while (this.currentSize + size > this.maxSize && this.cache.size > 0) {
30
+ const firstKey = this.cache.keys().next().value;
31
+ if (firstKey) {
32
+ const oldEntry = this.cache.get(firstKey);
33
+ if (oldEntry) {
34
+ this.currentSize -= oldEntry.size;
35
+ }
36
+ this.cache.delete(firstKey);
37
+ }
38
+ }
39
+ this.cache.set(key, { ...entry, timestamp: Date.now(), size });
40
+ this.currentSize += size;
41
+ }
42
+ clear() {
43
+ this.cache.clear();
44
+ this.currentSize = 0;
45
+ }
46
+ getStats() {
47
+ return {
48
+ entries: this.cache.size,
49
+ sizeMB: (this.currentSize / 1024 / 1024).toFixed(2),
50
+ maxSizeMB: this.maxSize / 1024 / 1024,
51
+ };
52
+ }
53
+ }
54
+ // Global cache instance
55
+ const compileCache = new LRUCache(100);
56
+ // Generate cache key
57
+ function getCacheKey(source, filename, options) {
58
+ return createHash('md5')
59
+ .update(`${source}::${filename}::${JSON.stringify(options)}`)
60
+ .digest('hex');
61
+ }
62
+ /**
63
+ * Compile source code with caching
64
+ */
6
65
  export async function compile(source, filename, options = {}) {
66
+ const startTime = performance.now();
67
+ const { cache = true } = options;
68
+ // Check cache
69
+ if (cache) {
70
+ const cacheKey = getCacheKey(source, filename, options);
71
+ const cached = compileCache.get(cacheKey);
72
+ if (cached) {
73
+ return {
74
+ code: cached.code,
75
+ map: cached.map,
76
+ errors: [],
77
+ duration: performance.now() - startTime,
78
+ fromCache: true,
79
+ };
80
+ }
81
+ }
7
82
  const ext = path.extname(filename);
83
+ let result;
8
84
  if (ext === '.tsx' || ext === '.jsx') {
9
- return compileJSX(source, filename, options);
85
+ result = await compileJSX(source, filename, options);
10
86
  }
11
- if (ext === '.ts') {
12
- return compileTypeScript(source, filename, options);
87
+ else if (ext === '.ts') {
88
+ result = await compileTypeScript(source, filename, options);
13
89
  }
14
- return {
15
- code: source,
16
- errors: [],
17
- };
90
+ else {
91
+ result = {
92
+ code: source,
93
+ errors: [],
94
+ duration: 0,
95
+ fromCache: false,
96
+ };
97
+ }
98
+ result.duration = performance.now() - startTime;
99
+ // Store in cache
100
+ if (cache && result.errors.length === 0) {
101
+ const cacheKey = getCacheKey(source, filename, options);
102
+ compileCache.set(cacheKey, {
103
+ code: result.code,
104
+ map: result.map || '',
105
+ size: result.code.length + (result.map?.length || 0),
106
+ });
107
+ }
108
+ return result;
18
109
  }
19
110
  async function compileJSX(source, filename, options) {
20
111
  try {
@@ -44,17 +135,12 @@ async function compileJSX(source, filename, options) {
44
135
  code: result.code,
45
136
  map: result.map,
46
137
  errors: [],
138
+ duration: 0,
139
+ fromCache: false,
47
140
  };
48
141
  }
49
142
  catch (error) {
50
- return {
51
- code: '',
52
- errors: [
53
- {
54
- message: error instanceof Error ? error.message : 'Unknown error',
55
- },
56
- ],
57
- };
143
+ return handleCompileError(error);
58
144
  }
59
145
  }
60
146
  async function compileTypeScript(source, filename, options) {
@@ -78,22 +164,46 @@ async function compileTypeScript(source, filename, options) {
78
164
  code: result.code,
79
165
  map: result.map,
80
166
  errors: [],
167
+ duration: 0,
168
+ fromCache: false,
81
169
  };
82
170
  }
83
171
  catch (error) {
84
- return {
85
- code: '',
86
- errors: [
87
- {
88
- message: error instanceof Error ? error.message : 'Unknown error',
89
- },
90
- ],
91
- };
172
+ return handleCompileError(error);
173
+ }
174
+ }
175
+ function handleCompileError(error) {
176
+ const message = error instanceof Error ? error.message : 'Unknown compilation error';
177
+ // Parse SWC error format for better location info
178
+ const locationMatch = message.match(/(\d+):(\d+)/);
179
+ const line = locationMatch ? parseInt(locationMatch[1], 10) : undefined;
180
+ const column = locationMatch ? parseInt(locationMatch[2], 10) : undefined;
181
+ return {
182
+ code: '',
183
+ errors: [{
184
+ message,
185
+ location: line && column ? { line, column } : undefined,
186
+ }],
187
+ duration: 0,
188
+ fromCache: false,
189
+ };
190
+ }
191
+ // Batch compilation for multiple files
192
+ export async function compileBatch(files, options = {}) {
193
+ // Compile in parallel with concurrency limit
194
+ const CONCURRENCY = 4;
195
+ const results = [];
196
+ for (let i = 0; i < files.length; i += CONCURRENCY) {
197
+ const batch = files.slice(i, i + CONCURRENCY);
198
+ const batchResults = await Promise.all(batch.map(({ source, filename }) => compile(source, filename, options)));
199
+ results.push(...batchResults);
92
200
  }
201
+ return results;
93
202
  }
94
- // Bundle with esbuild
203
+ // Bundle with esbuild - optimized
95
204
  export async function bundle(entryPoints, outdir, options = {}) {
96
- await esbuild.build({
205
+ const startTime = performance.now();
206
+ const result = await esbuild.build({
97
207
  entryPoints,
98
208
  outdir,
99
209
  bundle: true,
@@ -105,48 +215,24 @@ export async function bundle(entryPoints, outdir, options = {}) {
105
215
  jsx: 'automatic',
106
216
  jsxImportSource: options.jsx?.importSource || 'zylaris',
107
217
  metafile: true,
218
+ // Performance optimizations
219
+ treeShaking: true,
220
+ legalComments: 'none',
221
+ charset: 'utf8',
108
222
  });
223
+ return {
224
+ metafile: result.metafile,
225
+ duration: performance.now() - startTime,
226
+ };
109
227
  }
110
- // Transform JSX for client-side hydration
111
- export async function transformJSXForClient(source, filename) {
112
- const result = await swcTransform(source, {
113
- filename,
114
- jsc: {
115
- parser: {
116
- syntax: 'typescript',
117
- tsx: true,
118
- },
119
- transform: {
120
- react: {
121
- runtime: 'automatic',
122
- importSource: 'zylaris',
123
- },
124
- },
125
- target: 'es2022',
126
- },
127
- });
128
- return result.code;
228
+ // Clear cache
229
+ export function clearCompileCache() {
230
+ compileCache.clear();
129
231
  }
130
- // Export JIT compiler for development
131
- export * from './jit.js';
132
- // Transform JSX for server-side rendering
133
- export async function transformJSXForServer(source, filename) {
134
- const result = await swcTransform(source, {
135
- filename,
136
- jsc: {
137
- parser: {
138
- syntax: 'typescript',
139
- tsx: true,
140
- },
141
- transform: {
142
- react: {
143
- runtime: 'automatic',
144
- importSource: 'zylaris',
145
- },
146
- },
147
- target: 'es2022',
148
- },
149
- });
150
- return result.code;
232
+ // Get cache stats
233
+ export function getCompileCacheStats() {
234
+ return compileCache.getStats();
151
235
  }
236
+ // Export JIT compiler
237
+ export * from './jit.js';
152
238
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/jit.d.ts CHANGED
@@ -1,8 +1,13 @@
1
+ /**
2
+ * JIT Compiler for Development
3
+ * Ultra-fast compilation with LRU caching and batch operations
4
+ */
1
5
  interface JITCacheEntry {
2
6
  code: string;
3
7
  map: string;
4
8
  timestamp: number;
5
- dependencies: Set<string>;
9
+ size: number;
10
+ hits: number;
6
11
  }
7
12
  interface JITOptions {
8
13
  target?: 'es2020' | 'es2022' | 'esnext';
@@ -11,19 +16,62 @@ interface JITOptions {
11
16
  sourceMap?: boolean;
12
17
  cacheTimeout?: number;
13
18
  }
14
- declare const moduleCache: Map<string, JITCacheEntry>;
19
+ interface JITStats {
20
+ hits: number;
21
+ misses: number;
22
+ hitRate: number;
23
+ size: number;
24
+ entries: number;
25
+ }
26
+ declare class JITCache {
27
+ private cache;
28
+ private maxSize;
29
+ private maxEntries;
30
+ private defaultTimeout;
31
+ private stats;
32
+ constructor(options?: {
33
+ maxSizeMB?: number;
34
+ maxEntries?: number;
35
+ defaultTimeoutMs?: number;
36
+ });
37
+ get(key: string, timeout?: number): JITCacheEntry | null;
38
+ set(key: string, entry: Omit<JITCacheEntry, 'timestamp' | 'hits'>): void;
39
+ private shouldEvict;
40
+ invalidate(filename: string): number;
41
+ invalidatePattern(pattern: RegExp): number;
42
+ clear(): void;
43
+ getStats(): JITStats;
44
+ }
45
+ declare const jitCache: JITCache;
15
46
  /**
16
- * JIT Compile TypeScript/TSX/JSX file
17
- * Uses esbuild for maximum speed with in-memory caching
47
+ * JIT Compile with caching
18
48
  */
19
49
  export declare function jitCompile(source: string, filename: string, options?: JITOptions): Promise<{
20
50
  code: string;
21
51
  map: string;
52
+ fromCache: boolean;
53
+ duration: number;
22
54
  }>;
23
55
  /**
24
- * Invalidate cache for a specific file
56
+ * Batch compile multiple files
25
57
  */
26
- export declare function invalidateCache(filename: string): void;
58
+ export declare function jitCompileBatch(files: Array<{
59
+ source: string;
60
+ filename: string;
61
+ }>, options?: JITOptions): Promise<Array<{
62
+ code: string;
63
+ map: string;
64
+ filename: string;
65
+ fromCache: boolean;
66
+ }>>;
67
+ /**
68
+ * Invalidate cache by filename
69
+ */
70
+ export declare function invalidateCache(filename: string): number;
71
+ /**
72
+ * Invalidate cache by pattern
73
+ */
74
+ export declare function invalidateCachePattern(pattern: RegExp): number;
27
75
  /**
28
76
  * Clear all cache
29
77
  */
@@ -31,17 +79,16 @@ export declare function clearCache(): void;
31
79
  /**
32
80
  * Get cache stats
33
81
  */
34
- export declare function getCacheStats(): {
35
- size: number;
36
- entries: number;
37
- hitRate: number;
38
- };
82
+ export declare function getCacheStats(): JITStats;
39
83
  /**
40
- * Warm up cache for commonly used files
84
+ * Warmup cache with commonly used files
41
85
  */
42
86
  export declare function warmupCache(files: Array<{
43
87
  source: string;
44
88
  filename: string;
45
- }>, options?: JITOptions): Promise<void>;
46
- export { moduleCache };
89
+ }>, options?: JITOptions): Promise<{
90
+ compiled: number;
91
+ errors: number;
92
+ }>;
93
+ export { jitCache };
47
94
  //# sourceMappingURL=jit.d.ts.map
package/dist/jit.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jit.d.ts","sourceRoot":"","sources":["../src/jit.ts"],"names":[],"mappings":"AAMA,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,QAAA,MAAM,WAAW,4BAAmC,CAAC;AA4BrD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CA2DxC;AAiBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOtD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAGjC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAMA;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC,CAQf;AAGD,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"jit.d.ts","sourceRoot":"","sources":["../src/jit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,cAAM,QAAQ;IACZ,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAA0B;gBAE3B,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO;IAMhG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAyBxD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG,IAAI;IAqBxE,OAAO,CAAC,WAAW;IAWnB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAWpC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAW1C,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,QAAQ;CAUrB;AAGD,QAAA,MAAM,QAAQ,UAAqD,CAAC;AAqCpE;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA4D9E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAiBrF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAExC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB/C;AAGD,OAAO,EAAE,QAAQ,EAAE,CAAC"}