wuchale 0.5.2 → 0.5.3

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 CHANGED
@@ -48,7 +48,7 @@ and it will still extract the correct texts.
48
48
 
49
49
  Messages are compiled into arrays with index-based lookups. Runtime only
50
50
  concatenates and renders — no regex, replace, or complex logic. And the
51
- compiled bundles are as small as possible, they don't even have keys.
51
+ compiled bundles are as small as possible -- they don't even have keys.
52
52
 
53
53
  ### 🔁 Optional HMR & Dev Translations Live updates during development.
54
54
 
@@ -204,23 +204,32 @@ search params like `?locale=es` (if you set up `es` in `otherLocales`)
204
204
 
205
205
  For Svelte you can set up lazy loading and code splitting (recommended). Taking
206
206
  the default template as an example, the main component is located in
207
- `src/App.svelte`.
207
+ `src/App.svelte`. We can take advantage of Svelte's await blocks.
208
208
 
209
209
  ```svelte
210
- <script>
210
+ <script lang="ts">
211
211
  import {setTranslations} from 'wuchale/runtime.svelte.js'
212
212
 
213
- let locale = $state('en')
214
-
215
- $effect.pre(() => {
213
+ async function loadTranslations(locale: string) {
216
214
  // IMPORTANT! The path should be relative to the current file (vite restriction).
217
- import(`../locales/${locale}.js`).then(mod => {
218
- setTranslations(mod.default)
219
- })
220
215
  // but this only applies if you want to do lazy loading.
221
- // Otherwise you can do an absolute import
222
- })
216
+ // Otherwise you can do an absolute import at the top
217
+ const mod = await import(`./locales/${locale}.js`)
218
+ setTranslations(mod.default)
219
+ }
220
+
221
+ let locale = $state('en')
222
+
223
223
  </script>
224
+
225
+ {#await loadTranslations(locale)}
226
+ <!-- Ignore because it will be rendered before the language data loads -->
227
+ <!-- @wc-ignore -->
228
+ Loading translations...
229
+ {:then}
230
+ <!-- The rest of your content -->
231
+ {/await}
232
+
224
233
  ```
225
234
 
226
235
  Note that you manage the state of which locale is active and how to download
@@ -246,17 +255,15 @@ Output:
246
255
 
247
256
  ```svelte
248
257
  <script>
249
- import {wuchaleTrans} from "wuchale/runtime.svelte.js"
258
+ import {wuchaleTrans, wuchaleTransCtx} from "wuchale/runtime.svelte.js"
250
259
  import WuchaleTrans from "wuchale/runtime.svelte"
251
260
  </script>
252
-
253
261
  <p>{wuchaleTrans(0)}</p>
254
-
255
262
  <p>
256
- {#snippet wuchaleSnippet0(ctx)}
257
- <b>{ctx[1]}</b>
258
- {/snippet}
259
- <WuchaleTrans tags={[wuchaleSnippet0]} id={1} args={[userName]} />
263
+ {#snippet wuchaleSnippet0(ctx)}
264
+ <b>{userName}</b>
265
+ {/snippet}
266
+ <WuchaleTrans tags={[wuchaleSnippet0]} id={1} />
260
267
  </p>
261
268
 
262
269
  ```
@@ -268,8 +275,8 @@ Extracted catalog (PO) for `en`:
268
275
  msgid "Hi there!"
269
276
  msgstr "Hi there!"
270
277
 
271
- msgid "Hello {0}"
272
- msgstr "Hello {0}"
278
+ msgid "Hello <0/>"
279
+ msgstr "Hello <0/>"
273
280
 
274
281
  ```
275
282
 
@@ -280,8 +287,8 @@ Extracted catalog (PO) for `es`, initially empty `msgstr`, but after a translato
280
287
  msgid "Hi there!"
281
288
  msgstr "¡Hola!"
282
289
 
283
- msgid "Hello {0}"
284
- msgstr "Hola {0}"
290
+ msgid "Hello <0/>"
291
+ msgstr "Hola <0/>"
285
292
 
286
293
  ```
287
294
 
@@ -289,14 +296,13 @@ Which is then automatically compiled to:
289
296
 
290
297
  ```javascript
291
298
  export default [
292
- "¡Hola!",
299
+ "¡Hola!",
300
+ [
301
+ "Hola ",
293
302
  [
294
- "Hola ",
295
- [
296
- 0,
297
- 0
298
- ]
303
+ 0
299
304
  ]
305
+ ]
300
306
  ]
301
307
  ```
302
308
 
@@ -397,6 +403,81 @@ explicit. Example:
397
403
 
398
404
  ```
399
405
 
406
+ ## Extracted text syntax
407
+
408
+ The extracted text is designed to give translators as much freedom as possible
409
+ while striving to be correct for rendering. This is more important especially
410
+ for nested and formatted content. It is obvious that simple texts are extracted
411
+ as-is: `<p>Hello</p>` and `'Hello'` are extracted as `Hello`. But the
412
+ extraction of mixed content uses placeholders to enable translators to change
413
+ their position and order as the language dictates. The placeholder syntax is
414
+ explained below.
415
+
416
+ ### Template literals and text with expressions
417
+
418
+ Template literals like
419
+ ```javascript
420
+ `The price for the product ${product} is $${price}.`
421
+ ```
422
+
423
+ And text with expressions like
424
+ ```svelte
425
+ <p>The price for the product {product} is ${price}.</p>
426
+ ```
427
+
428
+ Are both extracted into:
429
+ ```
430
+ The price for the product {0} is ${1}.
431
+ ```
432
+
433
+ The placeholders use 0 based indices to refer to the expressions in between.
434
+
435
+ ### Formatted content
436
+
437
+ Formatted content is any text that has a text mixed with other elements like
438
+
439
+ ```svelte
440
+ <p>This is a <i>little</i> <b>complicated</b></p>
441
+ ```
442
+
443
+ In this case, we would not want to extract `This is a `, `little`, and `
444
+ complicated` separately because they lose context when they're apart. For this
445
+ reason, all of the content inside the top level element, `p`, is extracted
446
+ together without losing the formatting rules like
447
+
448
+ ```
449
+ This is a <0>little</0> <1>complicated</1>
450
+ ```
451
+
452
+ Translators don't have to care what the tags are, only that some of the text is
453
+ inside some tags. And this supports indefinite nesting and not just simple
454
+ elements, any element, component, if/await/each block.
455
+
456
+ Moreover, to not overwhelm translators with deeply nested texts, if there is no
457
+ extractable text in the deeper markup, the whole markup is extracted as a
458
+ simple placeholder. For example,
459
+
460
+ ```svelte
461
+ <p>
462
+ Some text
463
+ <SomeComponent prop="some-class">
464
+ <Nested>
465
+ <b>{someObject.prop}</b>
466
+ </Nested>
467
+ <OtherNested />
468
+ </SomeComponent>
469
+ </p>
470
+ ```
471
+
472
+ Because of the existence of `Some text` inside `p`, all of the text inside `p`
473
+ has to be extracted together, but the nested components don't mean anything to
474
+ the translators. They just have to know that there is something there.
475
+ Therefore, in this case, it is simply extracted as:
476
+
477
+ ```
478
+ Some text <0/>
479
+ ```
480
+
400
481
  ## Context?
401
482
 
402
483
  Sometimes we need to have different translations that are the same text in the
@@ -433,7 +514,8 @@ yourself.
433
514
 
434
515
  ## CLI
435
516
 
436
- A simple command line interface is also provided, just `wuchale` with an optional `--clean` argument.
517
+ A simple command line interface is also provided, just `wuchale` with an
518
+ optional `--clean` argument.
437
519
 
438
520
  By default, it looks inside all svelte sources and extracts new texts into the
439
521
  `.po` files. If the `--clean` argument is provided, it additionally removes
@@ -445,7 +527,8 @@ unused texts from the `.po` files.
445
527
 
446
528
  ### `.po` file
447
529
 
448
- This is a `gettext` file that is used to exchange the text fragments with translators. The workflow is:
530
+ This is a `gettext` file that is used to exchange the text fragments with
531
+ translators. The workflow is:
449
532
 
450
533
  - You give them the file with empty places for the translated fragments
451
534
  - They fill it with the translation, preserving the placeholders, but they can change the orders as the language requires.
@@ -51,7 +51,7 @@ export default class Preprocess {
51
51
  visitExpressionStatement: (node: Estree.ExpressionStatement) => NestText[];
52
52
  visitForOfStatement: (node: Estree.ForOfStatement) => NestText[];
53
53
  visitForInStatement: (node: Estree.ForInStatement) => NestText[];
54
- visitStatement: (node: Estree.ForStatement) => NestText[];
54
+ visitForStatement: (node: Estree.ForStatement) => NestText[];
55
55
  visitVariableDeclaration: (node: Estree.VariableDeclaration) => NestText[];
56
56
  visitArrowFunctionExpression: (node: Estree.ArrowFunctionExpression) => NestText[];
57
57
  visitBlockStatement: (node: Estree.BlockStatement) => NestText[];
@@ -1,10 +1,11 @@
1
- // $$ cd .. && npm run build && npm run test
1
+ // $$ cd .. && npm run test
2
2
  import MagicString from "magic-string";
3
3
  const snipPrefix = 'wuchaleSnippet';
4
4
  const nodesWithChildren = ['RegularElement', 'Component'];
5
5
  const rtComponent = 'WuchaleTrans';
6
6
  const rtFunc = 'wuchaleTrans';
7
- const importModule = `import {${rtFunc}} from "wuchale/runtime.svelte.js"`;
7
+ const rtFuncCtx = 'wuchaleTransCtx';
8
+ const importModule = `import {${rtFunc}, ${rtFuncCtx}} from "wuchale/runtime.svelte.js"`;
8
9
  const importComponent = `import ${rtComponent} from "wuchale/runtime.svelte"`;
9
10
  export function defaultHeuristic(text, scope) {
10
11
  if (scope === 'markup') {
@@ -98,12 +99,10 @@ export default class Preprocess {
98
99
  ...this.visit(node.value),
99
100
  ];
100
101
  visitSpreadElement = (node) => this.visit(node.argument);
101
- visitMemberExpression = (node) => {
102
- return [
103
- ...this.visit(node.object),
104
- ...this.visit(node.property),
105
- ];
106
- };
102
+ visitMemberExpression = (node) => [
103
+ ...this.visit(node.object),
104
+ ...this.visit(node.property),
105
+ ];
107
106
  visitCallExpression = (node) => {
108
107
  const txts = [...this.visit(node.callee)];
109
108
  for (const arg of node.arguments) {
@@ -111,36 +110,28 @@ export default class Preprocess {
111
110
  }
112
111
  return txts;
113
112
  };
114
- visitBinaryExpression = (node) => {
115
- return [
116
- ...this.visit(node.left),
117
- ...this.visit(node.right),
118
- ];
119
- };
113
+ visitBinaryExpression = (node) => [
114
+ ...this.visit(node.left),
115
+ ...this.visit(node.right),
116
+ ];
120
117
  visitAssignmentExpression = this.visitBinaryExpression;
121
118
  visitExpressionStatement = (node) => this.visit(node.expression);
122
- visitForOfStatement = (node) => {
123
- return [
124
- ...this.visit(node.left),
125
- ...this.visit(node.right),
126
- ...this.visit(node.body),
127
- ];
128
- };
129
- visitForInStatement = (node) => {
130
- return [
131
- ...this.visit(node.left),
132
- ...this.visit(node.right),
133
- ...this.visit(node.body),
134
- ];
135
- };
136
- visitStatement = (node) => {
137
- return [
138
- ...this.visit(node.init),
139
- ...this.visit(node.test),
140
- ...this.visit(node.update),
141
- ...this.visit(node.body),
142
- ];
143
- };
119
+ visitForOfStatement = (node) => [
120
+ ...this.visit(node.left),
121
+ ...this.visit(node.right),
122
+ ...this.visit(node.body),
123
+ ];
124
+ visitForInStatement = (node) => [
125
+ ...this.visit(node.left),
126
+ ...this.visit(node.right),
127
+ ...this.visit(node.body),
128
+ ];
129
+ visitForStatement = (node) => [
130
+ ...this.visit(node.init),
131
+ ...this.visit(node.test),
132
+ ...this.visit(node.update),
133
+ ...this.visit(node.body),
134
+ ];
144
135
  visitVariableDeclaration = (node) => {
145
136
  const txts = [];
146
137
  let atTopLevel = !this.insideDerived;
@@ -221,13 +212,15 @@ export default class Preprocess {
221
212
  this.mstr.update(end, end + 2, ', ');
222
213
  }
223
214
  const nTxt = new NestText(txt, txt0.scope, this.context);
224
- let repl = `${rtFunc}(${this.index.get(nTxt.toKey())}`;
215
+ let begin = `${rtFunc}(${this.index.get(nTxt.toKey())}`;
216
+ let end = ')';
225
217
  if (node.expressions.length) {
226
- repl += ', ';
218
+ begin += ', [';
219
+ end = ']' + end;
227
220
  }
228
- this.mstr.update(start0 - 1, end0 + 2, repl);
221
+ this.mstr.update(start0 - 1, end0 + 2, begin);
229
222
  // @ts-ignore
230
- this.mstr.update(node.end - 1, node.end, ')');
223
+ this.mstr.update(node.end - 1, node.end, end);
231
224
  txts.push(nTxt);
232
225
  return txts;
233
226
  };
@@ -264,6 +257,8 @@ export default class Preprocess {
264
257
  let iArg = 0;
265
258
  let iTag = 0;
266
259
  const lastChildEnd = node.fragment.nodes.slice(-1)[0].end;
260
+ const childrenForSnippets = [];
261
+ let hasTextDescendants = false;
267
262
  for (const [i, child] of node.fragment.nodes.entries()) {
268
263
  if (child.type === 'Comment') {
269
264
  continue;
@@ -274,12 +269,7 @@ export default class Preprocess {
274
269
  continue;
275
270
  }
276
271
  txt += ' ' + modify;
277
- if (node.inCompoundText && node.fragment.nodes.length === 1) {
278
- this.mstr.update(child.start, child.end, `{ctx[1]}`);
279
- }
280
- else {
281
- this.mstr.remove(child.start, child.end);
282
- }
272
+ this.mstr.remove(child.start, child.end);
283
273
  continue;
284
274
  }
285
275
  if (!node.inCompoundText && !hasCompoundText) {
@@ -288,6 +278,9 @@ export default class Preprocess {
288
278
  }
289
279
  if (child.type === 'ExpressionTag') {
290
280
  txts.push(...this.visitExpressionTag(child));
281
+ if (!hasCompoundText) {
282
+ continue;
283
+ }
291
284
  txt += ` {${iArg}}`;
292
285
  this.mstr.move(child.start + 1, child.end - 1, lastChildEnd);
293
286
  if (iArg > 0) {
@@ -307,6 +300,7 @@ export default class Preprocess {
307
300
  for (const txt of this.visit(child)) {
308
301
  if (nodesWithChildren.includes(child.type) && txt.scope === 'markup') {
309
302
  chTxt += txt.toString();
303
+ hasTextDescendants = true;
310
304
  }
311
305
  else { // attributes, blocks
312
306
  txts.push(txt);
@@ -316,16 +310,12 @@ export default class Preprocess {
316
310
  chTxt = `<${iTag}>${chTxt}</${iTag}>`;
317
311
  }
318
312
  else {
319
- // childless elements and anything else
313
+ // childless elements and everything else
320
314
  chTxt = `<${iTag}/>`;
321
315
  }
322
- const snippetName = `${snipPrefix}${iTag}`;
323
- const snippetBegin = `\n{#snippet ${snippetName}(ctx)}\n`;
324
- const snippetEnd = '\n{/snippet}';
325
- this.mstr.appendRight(child.start, snippetBegin);
326
- this.mstr.prependLeft(child.end, snippetEnd);
316
+ childrenForSnippets.push([iTag, child.start, child.end]);
327
317
  iTag++;
328
- if (!txt.endsWith(' ')) {
318
+ if (chTxt && !txt.endsWith(' ')) {
329
319
  txt += ' ';
330
320
  }
331
321
  txt += chTxt;
@@ -335,12 +325,19 @@ export default class Preprocess {
335
325
  return txts;
336
326
  }
337
327
  const nTxt = new NestText(txt, 'markup', this.context);
338
- txts.push(nTxt);
339
- if (iTag > 0) {
328
+ if (hasTextChild || hasTextDescendants) {
329
+ txts.push(nTxt);
330
+ }
331
+ if (childrenForSnippets.length) {
340
332
  const snippets = [];
341
- // reference all new snippets added
342
- for (let i = 0; i < iTag; i++) {
343
- snippets.push(`${snipPrefix}${i}`);
333
+ // create and reference snippets
334
+ for (const [iTag, childStart, childEnd] of childrenForSnippets) {
335
+ const snippetName = `${snipPrefix}${iTag}`;
336
+ const snippetBegin = `\n{#snippet ${snippetName}(ctx)}\n`;
337
+ const snippetEnd = '\n{/snippet}';
338
+ this.mstr.appendRight(childStart, snippetBegin);
339
+ this.mstr.prependLeft(childEnd, snippetEnd);
340
+ snippets.push(`${snipPrefix}${iTag}`);
344
341
  }
345
342
  let begin = `\n<${rtComponent} tags={[${snippets.join(', ')}]} `;
346
343
  if (node.inCompoundText) {
@@ -357,10 +354,22 @@ export default class Preprocess {
357
354
  this.mstr.appendLeft(lastChildEnd, begin);
358
355
  this.mstr.appendRight(lastChildEnd, end);
359
356
  }
360
- else if (!node.inCompoundText) { // no need for component use
361
- const comma = iArg > 0 ? ', ' : ''; // before first arg
362
- this.mstr.appendLeft(lastChildEnd, `{${rtFunc}(${this.index.get(nTxt.toKey())}${comma}`);
363
- this.mstr.appendRight(lastChildEnd, ')}');
357
+ else if (hasTextChild) {
358
+ // no need for component use
359
+ let begin = '{';
360
+ let end = ')}';
361
+ if (node.inCompoundText) {
362
+ begin += `${rtFuncCtx}(ctx`;
363
+ }
364
+ else {
365
+ begin += `${rtFunc}(${this.index.get(nTxt.toKey())}`;
366
+ }
367
+ if (iArg) {
368
+ begin += ', [';
369
+ end = ']' + end;
370
+ }
371
+ this.mstr.appendLeft(lastChildEnd, begin);
372
+ this.mstr.appendRight(lastChildEnd, end);
364
373
  }
365
374
  return txts;
366
375
  };
@@ -413,7 +422,7 @@ export default class Preprocess {
413
422
  };
414
423
  visitFragment = (node) => {
415
424
  const txts = [];
416
- for (const child of node.nodes) {
425
+ for (const child of node?.nodes ?? []) {
417
426
  txts.push(...this.visit(child));
418
427
  }
419
428
  return txts;
@@ -1 +1 @@
1
- {"version":3,"file":"prep.js","sourceRoot":"","sources":["../../src/plugin/prep.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,WAAW,MAAM,cAAc,CAAA;AAYtC,MAAM,UAAU,GAAG,gBAAgB,CAAA;AACnC,MAAM,iBAAiB,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;AACzD,MAAM,WAAW,GAAG,cAAc,CAAA;AAClC,MAAM,MAAM,GAAG,cAAc,CAAA;AAC7B,MAAM,YAAY,GAAG,WAAW,MAAM,oCAAoC,CAAA;AAC1E,MAAM,eAAe,GAAG,UAAU,WAAW,gCAAgC,CAAA;AAE7E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAe;IAC1D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACf,CAAC;IACD,uBAAuB;IACvB,MAAM,KAAK,GAAG,IAAI,CAAA;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACpC,OAAO,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,OAAO,QAAS,SAAQ,MAAM;IAEhC,KAAK,CAAU;IACf,OAAO,CAAQ;IAEf,YAAY,GAAW,EAAE,KAAe,EAAE,UAAyB,IAAI;QACnE,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAA;IAClC,CAAC;IAED,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;CAEnE;AAMD,MAAM,OAAO,YAAY;IAErB,OAAO,GAA8B,EAAE,CAAA;IACvC,SAAS,GAAW,CAAC,CAAA;IAErB,YAAY,kBAAgC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChD,4CAA4C;YAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;YAClC,IAAI,CAAC,SAAS,EAAE,CAAA;QACpB,CAAC;IACL,CAAC;IAED,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE;QAClB,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,SAAS,EAAE,CAAA;QAChB,OAAO,KAAK,CAAA;IAChB,CAAC,CAAA;CACJ;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAE3B,KAAK,CAAc;IACnB,SAAS,CAAe;IACxB,OAAO,GAAW,EAAE,CAAA;IACpB,IAAI,CAAa;IACjB,YAAY,GAAmB,IAAI,CAAA;IACnC,OAAO,GAAkB,IAAI,CAAA;IAC7B,aAAa,GAAY,KAAK,CAAA;IAE9B,YAAY,KAAmB,EAAE,YAA2B,gBAAgB;QACxE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAED,cAAc,GAAG,CAAC,IAAY,EAAE,KAAe,EAAuB,EAAE;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACd,iBAAiB;YACjB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAChE,OAAO,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,YAAY,GAAG,CAAC,IAAqD,EAAc,EAAE;QACjF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,EAAE,CAAA;QACb,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAC3B,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAA;QACb,CAAC;QACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC,CAAA;IAED,oBAAoB,GAAG,CAAC,IAA4B,EAAc,EAAE;QAChE,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,qBAAqB,GAAG,CAAC,IAA6B,EAAc,EAAE;QAClE,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,aAAa,GAAG,CAAC,IAAqB,EAAc,EAAE,CAAC;QACnD,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACvB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;KAC5B,CAAA;IAED,kBAAkB,GAAG,CAAC,IAA0B,EAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAE1F,qBAAqB,GAAG,CAAC,IAA6B,EAAc,EAAE;QAClE,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC/B,CAAA;IACL,CAAC,CAAA;IAED,mBAAmB,GAAG,CAAC,IAA2B,EAAc,EAAE;QAC9D,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,qBAAqB,GAAG,CAAC,IAA6B,EAAc,EAAE;QAClE,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,CAAA;IACL,CAAC,CAAA;IAED,yBAAyB,GAAG,IAAI,CAAC,qBAAqB,CAAA;IAEtD,wBAAwB,GAAG,CAAC,IAAgC,EAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAExG,mBAAmB,GAAG,CAAC,IAA2B,EAAc,EAAE;QAC9D,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3B,CAAA;IACL,CAAC,CAAA;IAED,mBAAmB,GAAG,CAAC,IAA2B,EAAc,EAAE;QAC9D,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3B,CAAA;IACL,CAAC,CAAA;IAED,cAAc,GAAG,CAAC,IAAyB,EAAc,EAAE;QACvD,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3B,CAAA;IACL,CAAC,CAAA;IAED,wBAAwB,GAAG,CAAC,IAAgC,EAAc,EAAE;QACxE,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,aAAa,CAAA;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACZ,SAAQ;YACZ,CAAC;YACD,sCAAsC;YACtC,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACrC,SAAQ;gBACZ,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;gBAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAA;gBAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAK,kBAAkB;uBAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;uBACnC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;uBACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;uBACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAA;gBACpC,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC7B,SAAQ;gBACZ,CAAC;gBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YAC7B,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACnB,SAAQ;YACZ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC9B,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,4BAA4B,GAAG,CAAC,IAAoC,EAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE1G,mBAAmB,GAAG,CAAC,IAA2B,EAAc,EAAE;QAC9D,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,oBAAoB,GAAG,CAAC,IAA4B,EAAc,EAAE;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC,CAAA;IAED,gBAAgB,GAAG,CAAC,IAAwB,EAAc,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,oBAAoB,GAAG,CAAC,IAA4B,EAAc,EAAE;QAChE,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC7B,aAAa;QACb,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;QAC3C,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACvE,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAA;QACf,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QACzB,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAChC,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;YACpC,aAAa;YACb,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBACpC,SAAQ;YACZ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,IAAI,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAA;QACtD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,IAAI,IAAI,CAAA;QAChB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QAC5C,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAGD,kBAAkB,GAAG,CAAC,IAAuB,EAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEzF,mBAAmB,GAAG,CAAC,IAItB,EAAc,EAAE;QACb,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAA;QACf,CAAC;QACD,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,IAAI,eAAe,GAAG,KAAK,CAAA;QAC3B,MAAM,iBAAiB,GAAG,EAAE,CAAA;QAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAChE,IAAI,IAAI,EAAE,CAAC;oBACP,YAAY,GAAG,IAAI,CAAA;oBACnB,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;gBACjC,CAAC;qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,iBAAiB;oBACrD,OAAO,IAAI,CAAA,CAAC,uBAAuB;gBACvC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,eAAe,GAAG,IAAI,CAAA;YAC1B,CAAC;YACD,oEAAoE;QACxE,CAAC;QACD,IAAI,eAAe,GAAG,YAAY,IAAI,eAAe,CAAA;QACrD,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACzD,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAQ;YACZ,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;gBACnC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa;oBAC/B,SAAQ;gBACZ,CAAC;gBACD,GAAG,IAAI,GAAG,GAAG,MAAM,CAAA;gBACnB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;gBACxD,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5C,CAAC;gBACD,SAAQ;YACZ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC/B,SAAQ;YACZ,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC5C,GAAG,IAAI,KAAK,IAAI,GAAG,CAAA;gBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,YAAY,CAAC,CAAA;gBAC5D,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;gBACxD,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;gBAClD,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC1C,IAAI,EAAE,CAAA;gBACN,SAAQ;YACZ,CAAC;YACD,0BAA0B;YAC1B,aAAa;YACb,KAAK,CAAC,cAAc,GAAG,IAAI,CAAA;YAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;YACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnE,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAA;gBAC3B,CAAC;qBAAM,CAAC,CAAC,qBAAqB;oBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAClB,CAAC;YACL,CAAC;YACD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;gBAClD,KAAK,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACJ,uCAAuC;gBACvC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAA;YACxB,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,UAAU,GAAG,IAAI,EAAE,CAAA;YAC1C,MAAM,YAAY,GAAG,eAAe,WAAW,UAAU,CAAA;YACzD,MAAM,UAAU,GAAG,cAAc,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YAC5C,IAAI,EAAE,CAAA;YACN,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,IAAI,GAAG,CAAA;YACd,CAAC;YACD,GAAG,IAAI,KAAK,CAAA;QAChB,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAChB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAA;QACf,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,EAAE,CAAA;YACnB,mCAAmC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,CAAA;YACtC,CAAC;YACD,IAAI,KAAK,GAAG,MAAM,WAAW,WAAW,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;YAChE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAK,IAAI,WAAW,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAA;YACnD,CAAC;YACD,IAAI,GAAG,GAAG,OAAO,CAAA;YACjB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACX,KAAK,IAAI,UAAU,CAAA;gBACnB,GAAG,GAAG,IAAI,GAAG,GAAG,CAAA;YACpB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,4BAA4B;YAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,mBAAmB;YACtD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;YACxF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAA;IAEzC,SAAS,GAAG,CAAC,IAAc,EAAc,EAAE;QACvC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAA;QACb,CAAC;QACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC,CAAA;IAED,oBAAoB,GAAG,CAAC,IAAyB,EAAc,EAAE;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC,CAAA;IAED,cAAc,GAAG,CAAC,IAAmB,EAAc,EAAE;QACjD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,EAAE,CAAA;QACb,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,IAAI,MAAwC,CAAA;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,gBAAgB;gBACzC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC/B,SAAQ;YACZ,CAAC;YACD,OAAO;YACP,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;YAC5B,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YAChE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,SAAQ;YACZ,CAAC;YACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;YACvF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,SAAQ;YACZ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,aAAa,GAAG,CAAC,IAAkB,EAAc,EAAE;QAC/C,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,iBAAiB,GAAG,CAAC,IAAsB,EAAc,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEzF,YAAY,GAAG,CAAC,IAAiB,EAAc,EAAE;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,cAAc,GAAG,CAAC,IAAmB,EAAc,EAAE;QACjD,MAAM,IAAI,GAAG;YACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3B,CAAA;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAE,CAAA;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA;QACvC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,aAAa,GAAG,CAAC,IAAkB,EAAc,EAAE;QAC/C,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC/B,CAAA;IACL,CAAC,CAAA;IAED,eAAe,GAAG,CAAC,IAAoB,EAAc,EAAE;QACnD,MAAM,IAAI,GAAG;YACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9B,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACnC,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE,CAAA;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAA;QACjD,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,YAAY,GAAG,CAAC,IAAoB,EAAE,UAAU,GAAG,IAAI,EAAc,EAAE;QACnE,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,aAAa;YACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC,CAAA;QAC1D,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,SAAS,GAAG,CAAC,IAAc,EAAc,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;QACjE,CAAC;QACD,6EAA6E;QAC7E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,aAAa;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,eAAe,IAAI,CAAA;QAC5D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,aAAa;YACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAClE,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,aAAa;YACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,UAAU,aAAa,CAAC,CAAA;QACzD,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,wBAAwB,GAAG,CAAC,IAAY,EAAE,EAAE;QACxC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAC7B,CAAC;QACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAC5B,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAA;QAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACrD,CAAC;IACL,CAAC,CAAA;IAED,KAAK,GAAG,CAAC,IAA8B,EAAc,EAAE;QACnD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAC/C,OAAO,EAAE,CAAA;QACb,CAAC;QACD,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;YAC5B,aAAa;YACb,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACvD,CAAC;QACL,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAA;YACtC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAA;gBACjC,WAAW;gBACX,wBAAwB;YACxB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;YAC9B,CAAC;QACL,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;IAED,OAAO,GAAG,CAAC,OAAe,EAAE,GAAuB,EAAc,EAAE;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAA;CACJ"}
1
+ {"version":3,"file":"prep.js","sourceRoot":"","sources":["../../src/plugin/prep.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  type Composite = (number | string | Composite)[];
2
2
  export declare function setTranslations(transArray: (string | Composite)[]): void;
3
3
  export declare function getCtx(id: number): any;
4
- export declare function wuchaleTrans(id: number, ...args: string[]): string;
4
+ export declare function wuchaleTransCtx(ctx: Composite, args?: any[], start?: number): string;
5
+ export declare function wuchaleTrans(id: number, args?: any[]): string;
5
6
  export {};
@@ -12,10 +12,10 @@ export function getCtx(id) {
12
12
  }
13
13
  return ctx;
14
14
  }
15
- export function wuchaleTrans(id, ...args) {
16
- const ctx = getCtx(id);
15
+ export function wuchaleTransCtx(ctx, args = [], start = 1) {
17
16
  let txt = '';
18
- for (const fragment of ctx) {
17
+ for (let i = start; i < ctx.length; i++) {
18
+ const fragment = ctx[i];
19
19
  if (typeof fragment === 'string') {
20
20
  txt += fragment;
21
21
  }
@@ -24,9 +24,12 @@ export function wuchaleTrans(id, ...args) {
24
24
  }
25
25
  else {
26
26
  // shouldn't happen
27
- console.error('Unknown item in compiled catalog: ', id, fragment);
27
+ console.error('Unknown item in compiled catalog: ', fragment);
28
28
  }
29
29
  }
30
30
  return txt;
31
31
  }
32
+ export function wuchaleTrans(id, args = []) {
33
+ return wuchaleTransCtx(getCtx(id), args, 0);
34
+ }
32
35
  //# sourceMappingURL=runtime.svelte.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.svelte.js","sourceRoot":"","sources":["../src/runtime.svelte.ts"],"names":[],"mappings":"AAAA,IAAI,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAI7B,MAAM,UAAU,eAAe,CAAC,UAAkC;IAC9D,YAAY,GAAG,UAAU,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAU;IAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,GAAG,IAAc;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IACtB,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,GAAG,IAAI,QAAQ,CAAA;QACnB,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC,CAAC,6BAA6B;YACpE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACJ,mBAAmB;YACnB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QACrE,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"runtime.svelte.js","sourceRoot":"","sources":["../src/runtime.svelte.ts"],"names":[],"mappings":"AAAA,IAAI,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAI7B,MAAM,UAAU,eAAe,CAAC,UAAkC;IAC9D,YAAY,GAAG,UAAU,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAU;IAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAc,EAAE,OAAc,EAAE,EAAE,KAAK,GAAG,CAAC;IACvE,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,GAAG,IAAI,QAAQ,CAAA;QACnB,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC,CAAC,6BAA6B;YACpE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACJ,mBAAmB;YACnB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAA;QACjE,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,OAAc,EAAE;IACrD,OAAO,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wuchale",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "i18n for svelte without turning your codebase upside down",
5
5
  "scripts": {
6
6
  "build": "tsc",