treste 2.5.0 → 2.5.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/README.md CHANGED
@@ -9,13 +9,22 @@ Linguagem de programação moderna e profissional, estruturalmente organizada e
9
9
 
10
10
  > **🎯 Característica Única:** Trest permite programar usando palavras-chave em cirílico ou latino, mantendo a mesma sintaxe e funcionalidades.
11
11
 
12
- > **🔒 Segurança:** Versão 2.5.0 mantém todas as correções de segurança da cadeia de suprimentos. Veja [DOCUMENTACAO_COMPLETA.md](./DOCUMENTACAO_COMPLETA.md#segurança) para detalhes.
12
+ > **🔒 Segurança:** Versão 2.5.2 mantém todas as correções de segurança da cadeia de suprimentos. Veja [DOCUMENTACAO_COMPLETA.md](./DOCUMENTACAO_COMPLETA.md#segurança) para detalhes.
13
+
14
+ > **🚀 Deploy na Vercel:** Versão 2.5.2 inclui suporte completo para deploy na Vercel! Use `npm create trest` para criar projetos otimizados para serverless functions.
15
+
16
+ > **🌐 Full Stack Revolution:** Versão 2.5.2 adiciona manipulação de DOM, CSS e interoperabilidade com NPM! Trest agora é uma linguagem completa para Web e Desktop.
13
17
 
14
18
  ## 🚀 Principais Funcionalidades
15
19
 
16
20
  - ✅ **Execução Inline** - Execute código direto na linha de comando com `-e`
17
21
  - ✅ **Compilação para Web** - Gera JavaScript otimizado
18
22
  - ✅ **Compilação para Desktop** - Cria executáveis .exe nativos
23
+ - ✅ **Deploy na Vercel** - Crie projetos otimizados para serverless functions
24
+ - ✅ **Manipulação de DOM** - Módulo std/dom para interação com páginas web
25
+ - ✅ **Sistema de CSS** - Módulo std/style para estilização e carregamento de CSS
26
+ - ✅ **Interoperabilidade NPM** - Importe qualquer pacote do ecossistema Node.js
27
+ - ✅ **Framework de Testes** - Módulo std/test para testes unitários
19
28
  - ✅ **Sistema de Módulos** - Import/Export de módulos
20
29
  - ✅ **Biblioteca Padrão** - std com funções matemáticas, strings, arrays e I/O
21
30
  - ✅ **Tratamento de Erros** - Try/Catch/Throw estendido
@@ -81,6 +90,21 @@ npm --version # deve ser >= 9
81
90
 
82
91
  ## 🎯 Guia Rápido
83
92
 
93
+ ### Criar novo projeto (Vercel-ready)
94
+ ```bash
95
+ # Opção 1: Usando npx (Recomendado)
96
+ npx create-trest-app meu-projeto
97
+
98
+ # Opção 2: Usando npx com alias
99
+ npx create-trest meu-projeto
100
+
101
+ # Opção 3: Se já tiver instalado globalmente
102
+ npm install -g treste@latest
103
+ create-trest-app meu-projeto
104
+ ```
105
+
106
+ **Nota:** O comando `npm create trest` requer um pacote separado `create-trest` no npm. Use `npx create-trest-app` que funciona imediatamente.
107
+
84
108
  ### Executar código inline (sem arquivo)
85
109
  ```bash
86
110
  trest -e "печать('Olá, Mundo!')"
@@ -469,7 +493,7 @@ Veja a pasta `exemplos/` para programas completos demonstrando:
469
493
 
470
494
  ## 🔒 Segurança
471
495
 
472
- **Versão 2.5.0** mantém todas as correções de segurança da cadeia de suprimentos:
496
+ **Versão 2.5.2** mantém todas as correções de segurança da cadeia de suprimentos:
473
497
  - ✅ Scripts de instalação removidos
474
498
  - ✅ Sem acesso ao shell durante instalação
475
499
  - ✅ Acesso à rede controlado e documentado
@@ -29,6 +29,14 @@ export declare class WebCompiler {
29
29
  private compileBinaryExpression;
30
30
  private compileUnaryExpression;
31
31
  private compileCallExpression;
32
+ /**
33
+ * Compila chamadas DOM para JavaScript nativo do navegador
34
+ */
35
+ private compileDOMCall;
36
+ /**
37
+ * Compila chamadas Style para JavaScript nativo do navegador
38
+ */
39
+ private compileStyleCall;
32
40
  private compileAssignmentExpression;
33
41
  private compileArrayLiteral;
34
42
  private compileIndexExpression;
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":"AAOA,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,QAAQ,GAAE,MAAsB;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;IA0BhH,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;CASf"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":"AAOA,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,QAAQ,GAAE,MAAsB;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;IA0BhH,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoDtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+DxB,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;CASf"}
@@ -289,10 +289,25 @@ class WebCompiler {
289
289
  this.addLine(`${this.compileExpression(node.expression)};`);
290
290
  }
291
291
  compileImportStatement(node) {
292
- // Marcar como importado para bundling
293
- this.imports.add(node.source);
294
- // Em compilação web, imports podem ser convertidos para require ou import ES6
295
- this.addLine(`// import ${node.specifiers.map((s) => s.local || s.imported).join(', ')} from '${node.source}'`);
292
+ const isPkg = node.isPkg || false;
293
+ if (isPkg) {
294
+ // Importação de pacote NPM - usar require() ou import ES6
295
+ for (const spec of node.specifiers) {
296
+ if (spec.imported === '*') {
297
+ const localName = spec.local || '*';
298
+ this.addLine(`const ${localName} = require('${node.source}');`);
299
+ }
300
+ else {
301
+ const localName = spec.local || spec.imported;
302
+ this.addLine(`const { ${spec.imported}: ${localName} } = require('${node.source}');`);
303
+ }
304
+ }
305
+ }
306
+ else {
307
+ // Importação de módulo Trest - marcar para bundling
308
+ this.imports.add(node.source);
309
+ this.addLine(`// import ${node.specifiers.map((s) => s.local || s.imported).join(', ')} from '${node.source}'`);
310
+ }
296
311
  }
297
312
  compileTryStatement(node) {
298
313
  this.addLine('try {');
@@ -354,8 +369,124 @@ class WebCompiler {
354
369
  compileCallExpression(expr) {
355
370
  const callee = this.compileExpression(expr.callee);
356
371
  const args = expr.arguments.map((arg) => this.compileExpression(arg)).join(', ');
372
+ // Compilar chamadas DOM para JavaScript nativo do navegador
373
+ if (callee.startsWith('DOM.')) {
374
+ return this.compileDOMCall(callee, args);
375
+ }
376
+ // Compilar chamadas Style para JavaScript nativo do navegador
377
+ if (callee.startsWith('Style.')) {
378
+ return this.compileStyleCall(callee, args);
379
+ }
357
380
  return `${callee}(${args})`;
358
381
  }
382
+ /**
383
+ * Compila chamadas DOM para JavaScript nativo do navegador
384
+ */
385
+ compileDOMCall(callee, args) {
386
+ const method = callee.replace('DOM.', '');
387
+ // Mapear métodos Trest para JavaScript nativo
388
+ const domMap = {
389
+ 'selecionar': 'document.querySelector',
390
+ 'select': 'document.querySelector',
391
+ 'evento': 'addEventListener',
392
+ 'addEvent': 'addEventListener',
393
+ 'texto': 'innerText',
394
+ 'setText': 'innerText',
395
+ 'html': 'innerHTML',
396
+ 'setHTML': 'innerHTML',
397
+ 'valor': 'value',
398
+ 'val': 'value',
399
+ 'criar': 'document.createElement',
400
+ 'create': 'document.createElement',
401
+ 'adicionar': 'appendChild',
402
+ 'append': 'appendChild',
403
+ 'remover': 'remove',
404
+ 'remove': 'remove',
405
+ 'atributo': 'getAttribute',
406
+ 'getAttr': 'getAttribute',
407
+ 'definirАтрибут': 'setAttribute',
408
+ 'setAttr': 'setAttribute',
409
+ };
410
+ const jsMethod = domMap[method] || method;
411
+ // Métodos que retornam propriedades (getters)
412
+ if (['texto', 'setText', 'html', 'setHTML', 'valor', 'val', 'atributo', 'getAttr'].includes(method)) {
413
+ if (args) {
414
+ // Setter: elemento.innerText = valor
415
+ return `${args.split(',')[0]}.${jsMethod} = ${args.split(',')[1] || args.split(',')[0]}`;
416
+ }
417
+ else {
418
+ // Getter: elemento.innerText
419
+ return `${args}.${jsMethod}`;
420
+ }
421
+ }
422
+ // Métodos que são chamadas de função
423
+ if (jsMethod.includes('.')) {
424
+ // document.querySelector, document.createElement
425
+ return `${jsMethod}(${args})`;
426
+ }
427
+ else {
428
+ // addEventListener, appendChild, etc (métodos de elemento)
429
+ const element = args.split(',')[0];
430
+ const restArgs = args.split(',').slice(1).join(',');
431
+ return `${element}.${jsMethod}(${restArgs})`;
432
+ }
433
+ }
434
+ /**
435
+ * Compila chamadas Style para JavaScript nativo do navegador
436
+ */
437
+ compileStyleCall(callee, args) {
438
+ const method = callee.replace('Style.', '');
439
+ // Mapear métodos Trest para JavaScript nativo
440
+ const styleMap = {
441
+ 'carregarCDN': 'loadCDN',
442
+ 'loadCDN': 'loadCDN',
443
+ 'carregarАрхив': 'loadFile',
444
+ 'loadFile': 'loadFile',
445
+ 'aplicar': 'apply',
446
+ 'apply': 'apply',
447
+ 'obter': 'getComputedStyle',
448
+ 'get': 'getComputedStyle',
449
+ 'definir': 'style',
450
+ 'set': 'style',
451
+ 'добавитьКласс': 'classList.add',
452
+ 'addClass': 'classList.add',
453
+ 'удалитьКласс': 'classList.remove',
454
+ 'removeClass': 'classList.remove',
455
+ 'переключитьКласс': 'classList.toggle',
456
+ 'toggleClass': 'classList.toggle',
457
+ };
458
+ const jsMethod = styleMap[method] || method;
459
+ // Carregar CDN - criar elemento <link>
460
+ if (method === 'carregarCDN' || method === 'loadCDN') {
461
+ return `(function() { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = ${args}; document.head.appendChild(link); })()`;
462
+ }
463
+ // Carregar arquivo - criar elemento <link>
464
+ if (method === 'carregарАрхив' || method === 'loadFile') {
465
+ return `(function() { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = ${args}; document.head.appendChild(link); })()`;
466
+ }
467
+ // Aplicar estilos - aplicar objeto de estilos
468
+ if (method === 'aplicar' || method === 'apply') {
469
+ const [element, styles] = args.split(',').map(a => a.trim());
470
+ return `(function() { const el = ${element}; const s = ${styles}; for (const k in s) { el.style[k] = s[k]; } })()`;
471
+ }
472
+ // Obter estilo computado
473
+ if (method === 'obter' || method === 'get') {
474
+ const [element, property] = args.split(',').map(a => a.trim());
475
+ return `window.getComputedStyle(${element}).${property}`;
476
+ }
477
+ // Definir estilo
478
+ if (method === 'definir' || method === 'set') {
479
+ const [element, property, value] = args.split(',').map(a => a.trim());
480
+ return `${element}.style.${property} = ${value}`;
481
+ }
482
+ // Classes CSS
483
+ if (method.includes('classList')) {
484
+ const [element, className] = args.split(',').map(a => a.trim());
485
+ const action = method.includes('add') ? 'add' : method.includes('remove') ? 'remove' : 'toggle';
486
+ return `${element}.classList.${action}(${className})`;
487
+ }
488
+ return `Style.${method}(${args})`;
489
+ }
359
490
  compileAssignmentExpression(expr) {
360
491
  const left = this.compileExpression(expr.left);
361
492
  const right = this.compileExpression(expr.right);
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEzB,oCAAiC;AACjC,sCAAmC;AAEnC,sCAAyC;AAEzC,MAAa,WAAW;IAMtB,YAAY,WAAmB,OAAO,CAAC,GAAG,EAAE;QAJpC,WAAM,GAAa,EAAE,CAAC;QACtB,gBAAW,GAAW,CAAC,CAAC;QACxB,YAAO,GAAgB,IAAI,GAAG,EAAE,CAAC;QAGvC,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAY,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAEM,OAAO,CAAC,QAAgB,EAAE,UAAoE,EAAE;QACrG,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAErB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,OAAgB,EAAE,SAAkB,KAAK;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,wCAAwC;YACxC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,oCAAoC;YACpC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAI,IAAY,CAAC,IAAI,CAAC;oBACpC,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,GAAG,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAE,IAAY,CAAC,KAAK,EAAE,CAAC;oBACvE,wCAAwC;oBACxC,MAAM,OAAO,GAAI,IAAY,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,UAAU,OAAO,MAAM,OAAO,GAAG,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,OAAgB,EAAE,QAAgB,EAAE,SAAkB,KAAK;QACvF,oBAAoB;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QAED,wCAAwC;QACxC,8CAA8C;QAE9C,8BAA8B;QAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,oCAAoC;YACpC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAI,IAAY,CAAC,IAAI,CAAC;oBACpC,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,GAAG,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAC/C,MAAM,OAAO,GAAI,IAAY,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,UAAU,OAAO,MAAM,OAAO,GAAG,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAa,EAAE,SAAkB,KAAK;QACxD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,qBAAqB;gBACxB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,qBAAqB;gBACxB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,qBAAqB;gBACxB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,6BAA8B,IAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,IAAS;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEO,0BAA0B,CAAC,IAAS;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,qBAAqB,CAAC,IAAS,EAAE,SAAkB,KAAK;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,kBAAkB,CAAC,IAAS;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,qBAAqB,CAAC,IAAS;QACrC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,mBAAmB,CAAC,IAAS;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC7C,IAAI,GAAG,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,SAAS,KAAK,MAAM,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,gCAAgC,CAAC,IAAS;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,IAAS;QACtC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,IAAS;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;IACxC,CAAC;IAEO,0BAA0B,CAAC,IAAS;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAEO,sBAAsB,CAAC,IAAS;QACtC,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,8EAA8E;QAC9E,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACvH,CAAC;IAEO,mBAAmB,CAAC,IAAS;QACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,qBAAqB,CAAC,IAAS;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACxC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,YAAY;gBACf,OAAQ,IAAY,CAAC,IAAI,CAAC;YAC5B,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,aAAa,CAAE,IAAY,CAAC,KAAK,CAAC,CAAC;YACjD,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC1C,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,oBAAoB;gBACvB,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC9C;gBACE,MAAM,IAAI,KAAK,CAAC,oCAAqC,IAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,IAAS;QACvC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACzG,CAAC;IAEO,sBAAsB,CAAC,IAAS;QACtC,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpE,CAAC;IAEO,qBAAqB,CAAC,IAAS;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,GAAG,MAAM,IAAI,IAAI,GAAG,CAAC;IAC9B,CAAC;IAEO,2BAA2B,CAAC,IAAS;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,MAAM,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,mBAAmB,CAAC,IAAS;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,OAAO,IAAI,QAAQ,GAAG,CAAC;IACzB,CAAC;IAEO,sBAAsB,CAAC,IAAS;QACtC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACzF,CAAC;IAEO,oBAAoB,CAAC,IAAS;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACtE,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,IAAI,KAAK,GAAG,CAAC;IACtB,CAAC;IAEO,uBAAuB,CAAC,IAAS;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;YACxB,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;YAC9C,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;IACzB,CAAC;IAEO,yBAAyB,CAAC,IAAS;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtC,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAExD,mDAAmD;QACnD,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,+DAA+D;QAC/D,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,iDAAiD;QAEvE,0CAA0C;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,gDAAgD;QAChD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACxC,0EAA0E;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0DAA0D;QAC1D,OAAO,GAAG,QAAQ,IAAI,MAAM,QAAQ,YAAY,OAAO,CAAC;IAC1D,CAAC;IAEO,aAAa,CAAC,KAAU;QAC9B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEO,OAAO,CAAC,IAAY;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,IAAY;QACzB,qBAAqB;QACrB,OAAO,IAAI;aACR,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;aACvB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,IAAI,EAAE,CAAC;IACZ,CAAC;CACF;AA1bD,kCA0bC"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ import { Program } from './ast';
2
2
  export declare class Interpreter {
3
3
  private globalEnv;
4
4
  constructor();
5
+ /**
6
+ * Registra objetos globais JavaScript (Array, Object, etc.)
7
+ */
8
+ private registerGlobalObjects;
5
9
  /**
6
10
  * Registra módulos nativos na runtime
7
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../src/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EA4BR,MAAM,OAAO,CAAC;AAyCf,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAc;;IAc/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8HtB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IA+DzB,OAAO,CAAC,2BAA2B;IAyBnC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IA+C/B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,kBAAkB;IAiG1B,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,wBAAwB;IA4ChC,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,sBAAsB;IA6E9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,wBAAwB;IA4ChC,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,gBAAgB;IAsExB,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgN/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,eAAe;CA+BxB"}
1
+ {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../src/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EA4BR,MAAM,OAAO,CAAC;AA0Cf,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAc;;IAiB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmMtB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IA+DzB,OAAO,CAAC,2BAA2B;IAyBnC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IA+C/B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,kBAAkB;IAiG1B,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,wBAAwB;IA4ChC,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,sBAAsB;IA6E9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,wBAAwB;IA4ChC,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,gBAAgB;IAsExB,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmR/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,eAAe;CA+BxB"}
@@ -47,9 +47,42 @@ class Interpreter {
47
47
  classes: new Map(),
48
48
  constants: new Set(),
49
49
  };
50
+ // Registrar objetos globais JavaScript
51
+ this.registerGlobalObjects();
50
52
  // Registrar módulos nativos
51
53
  this.registerNativeModules();
52
54
  }
55
+ /**
56
+ * Registra objetos globais JavaScript (Array, Object, etc.)
57
+ */
58
+ registerGlobalObjects() {
59
+ // Array global
60
+ this.globalEnv.variables.set('Array', {
61
+ isArray: Array.isArray.bind(Array),
62
+ from: Array.from.bind(Array),
63
+ of: Array.of.bind(Array),
64
+ });
65
+ // Object global
66
+ this.globalEnv.variables.set('Object', {
67
+ keys: Object.keys.bind(Object),
68
+ values: Object.values.bind(Object),
69
+ entries: Object.entries.bind(Object),
70
+ assign: Object.assign.bind(Object),
71
+ });
72
+ // typeof function
73
+ this.globalEnv.variables.set('typeof', (value) => {
74
+ if (value === null)
75
+ return 'null';
76
+ if (Array.isArray(value))
77
+ return 'array';
78
+ return typeof value;
79
+ });
80
+ // null e undefined
81
+ this.globalEnv.variables.set('null', null);
82
+ this.globalEnv.variables.set('нуль', null);
83
+ this.globalEnv.variables.set('undefined', undefined);
84
+ this.globalEnv.variables.set('неопределен', undefined);
85
+ }
53
86
  /**
54
87
  * Registra módulos nativos na runtime
55
88
  */
@@ -83,8 +116,17 @@ class Interpreter {
83
116
  // Database Module
84
117
  this.globalEnv.variables.set('DB', {
85
118
  открытьБД: std_native_1.StdModules.Database.openDB.bind(std_native_1.StdModules.Database),
119
+ openDB: std_native_1.StdModules.Database.openDB.bind(std_native_1.StdModules.Database),
120
+ открытьSQLite: std_native_1.StdModules.Database.openSQLite.bind(std_native_1.StdModules.Database),
121
+ openSQLite: std_native_1.StdModules.Database.openSQLite.bind(std_native_1.StdModules.Database),
122
+ открытьMySQL: std_native_1.StdModules.Database.openMySQL.bind(std_native_1.StdModules.Database),
123
+ openMySQL: std_native_1.StdModules.Database.openMySQL.bind(std_native_1.StdModules.Database),
124
+ открытьPostgreSQL: std_native_1.StdModules.Database.openPostgreSQL.bind(std_native_1.StdModules.Database),
125
+ openPostgreSQL: std_native_1.StdModules.Database.openPostgreSQL.bind(std_native_1.StdModules.Database),
86
126
  создательЗапросов: std_native_1.StdModules.Database.createQueryBuilder.bind(std_native_1.StdModules.Database),
127
+ createQueryBuilder: std_native_1.StdModules.Database.createQueryBuilder.bind(std_native_1.StdModules.Database),
87
128
  Модель: std_native_1.StdModules.Database.Model.bind(std_native_1.StdModules.Database),
129
+ Model: std_native_1.StdModules.Database.Model.bind(std_native_1.StdModules.Database),
88
130
  });
89
131
  // FileSystem Module
90
132
  this.globalEnv.variables.set('FileSystem', {
@@ -166,6 +208,63 @@ class Interpreter {
166
208
  печать: std_native_1.StdModules.IO.print.bind(std_native_1.StdModules.IO),
167
209
  печатьВстроенный: std_native_1.StdModules.IO.printInline.bind(std_native_1.StdModules.IO),
168
210
  });
211
+ // DOM Module
212
+ this.globalEnv.variables.set('DOM', {
213
+ selecionar: std_native_1.StdModules.DOM.selecionar.bind(std_native_1.StdModules.DOM),
214
+ select: std_native_1.StdModules.DOM.select.bind(std_native_1.StdModules.DOM),
215
+ evento: std_native_1.StdModules.DOM.evento.bind(std_native_1.StdModules.DOM),
216
+ addEvent: std_native_1.StdModules.DOM.addEvent.bind(std_native_1.StdModules.DOM),
217
+ texto: std_native_1.StdModules.DOM.texto.bind(std_native_1.StdModules.DOM),
218
+ setText: std_native_1.StdModules.DOM.setText.bind(std_native_1.StdModules.DOM),
219
+ html: std_native_1.StdModules.DOM.html.bind(std_native_1.StdModules.DOM),
220
+ setHTML: std_native_1.StdModules.DOM.setHTML.bind(std_native_1.StdModules.DOM),
221
+ valor: std_native_1.StdModules.DOM.valor.bind(std_native_1.StdModules.DOM),
222
+ val: std_native_1.StdModules.DOM.val.bind(std_native_1.StdModules.DOM),
223
+ criar: std_native_1.StdModules.DOM.criar.bind(std_native_1.StdModules.DOM),
224
+ create: std_native_1.StdModules.DOM.create.bind(std_native_1.StdModules.DOM),
225
+ adicionar: std_native_1.StdModules.DOM.adicionar.bind(std_native_1.StdModules.DOM),
226
+ append: std_native_1.StdModules.DOM.append.bind(std_native_1.StdModules.DOM),
227
+ remover: std_native_1.StdModules.DOM.remover.bind(std_native_1.StdModules.DOM),
228
+ remove: std_native_1.StdModules.DOM.remove.bind(std_native_1.StdModules.DOM),
229
+ atributo: std_native_1.StdModules.DOM.atributo.bind(std_native_1.StdModules.DOM),
230
+ getAttr: std_native_1.StdModules.DOM.getAttr.bind(std_native_1.StdModules.DOM),
231
+ definirАтрибут: std_native_1.StdModules.DOM.definirАтрибут.bind(std_native_1.StdModules.DOM),
232
+ setAttr: std_native_1.StdModules.DOM.setAttr.bind(std_native_1.StdModules.DOM),
233
+ });
234
+ // Style Module
235
+ this.globalEnv.variables.set('Style', {
236
+ carregarCDN: std_native_1.StdModules.Style.carregarCDN.bind(std_native_1.StdModules.Style),
237
+ loadCDN: std_native_1.StdModules.Style.loadCDN.bind(std_native_1.StdModules.Style),
238
+ carregarАрхив: std_native_1.StdModules.Style.carregarАрхив.bind(std_native_1.StdModules.Style),
239
+ loadFile: std_native_1.StdModules.Style.loadFile.bind(std_native_1.StdModules.Style),
240
+ aplicar: std_native_1.StdModules.Style.aplicar.bind(std_native_1.StdModules.Style),
241
+ apply: std_native_1.StdModules.Style.apply.bind(std_native_1.StdModules.Style),
242
+ obter: std_native_1.StdModules.Style.obter.bind(std_native_1.StdModules.Style),
243
+ get: std_native_1.StdModules.Style.get.bind(std_native_1.StdModules.Style),
244
+ definir: std_native_1.StdModules.Style.definir.bind(std_native_1.StdModules.Style),
245
+ set: std_native_1.StdModules.Style.set.bind(std_native_1.StdModules.Style),
246
+ добавитьКласс: std_native_1.StdModules.Style.добавитьКласс.bind(std_native_1.StdModules.Style),
247
+ addClass: std_native_1.StdModules.Style.addClass.bind(std_native_1.StdModules.Style),
248
+ удалитьКласс: std_native_1.StdModules.Style.удалитьКласс.bind(std_native_1.StdModules.Style),
249
+ removeClass: std_native_1.StdModules.Style.removeClass.bind(std_native_1.StdModules.Style),
250
+ переключитьКласс: std_native_1.StdModules.Style.переключитьКласс.bind(std_native_1.StdModules.Style),
251
+ toggleClass: std_native_1.StdModules.Style.toggleClass.bind(std_native_1.StdModules.Style),
252
+ });
253
+ // Test Module
254
+ this.globalEnv.variables.set('Test', {
255
+ descrever: std_native_1.StdModules.Test.descrever.bind(std_native_1.StdModules.Test),
256
+ describe: std_native_1.StdModules.Test.describe.bind(std_native_1.StdModules.Test),
257
+ afirmar: std_native_1.StdModules.Test.afirmar.bind(std_native_1.StdModules.Test),
258
+ assert: std_native_1.StdModules.Test.assert.bind(std_native_1.StdModules.Test),
259
+ igual: std_native_1.StdModules.Test.igual.bind(std_native_1.StdModules.Test),
260
+ equal: std_native_1.StdModules.Test.equal.bind(std_native_1.StdModules.Test),
261
+ verdadeiro: std_native_1.StdModules.Test.verdadeiro.bind(std_native_1.StdModules.Test),
262
+ isTrue: std_native_1.StdModules.Test.isTrue.bind(std_native_1.StdModules.Test),
263
+ ложь: std_native_1.StdModules.Test.ложь.bind(std_native_1.StdModules.Test),
264
+ isFalse: std_native_1.StdModules.Test.isFalse.bind(std_native_1.StdModules.Test),
265
+ выполнить: std_native_1.StdModules.Test.выполнить.bind(std_native_1.StdModules.Test),
266
+ run: std_native_1.StdModules.Test.run.bind(std_native_1.StdModules.Test),
267
+ });
169
268
  }
170
269
  interpret(program) {
171
270
  for (const statement of program.body) {
@@ -1035,6 +1134,9 @@ class Interpreter {
1035
1134
  Path: std_native_1.StdModules.Path,
1036
1135
  Process: std_native_1.StdModules.Process,
1037
1136
  IO: std_native_1.StdModules.IO,
1137
+ DOM: std_native_1.StdModules.DOM,
1138
+ Style: std_native_1.StdModules.Style,
1139
+ Test: std_native_1.StdModules.Test,
1038
1140
  },
1039
1141
  'http': {
1040
1142
  GET: std_native_1.StdModules.HTTP.GET.bind(std_native_1.StdModules.HTTP),
@@ -1085,7 +1187,17 @@ class Interpreter {
1085
1187
  },
1086
1188
  'database': {
1087
1189
  открытьБД: std_native_1.StdModules.Database.openDB.bind(std_native_1.StdModules.Database),
1190
+ openDB: std_native_1.StdModules.Database.openDB.bind(std_native_1.StdModules.Database),
1191
+ открытьSQLite: std_native_1.StdModules.Database.openSQLite.bind(std_native_1.StdModules.Database),
1192
+ openSQLite: std_native_1.StdModules.Database.openSQLite.bind(std_native_1.StdModules.Database),
1193
+ открытьMySQL: std_native_1.StdModules.Database.openMySQL.bind(std_native_1.StdModules.Database),
1194
+ openMySQL: std_native_1.StdModules.Database.openMySQL.bind(std_native_1.StdModules.Database),
1195
+ открытьPostgreSQL: std_native_1.StdModules.Database.openPostgreSQL.bind(std_native_1.StdModules.Database),
1196
+ openPostgreSQL: std_native_1.StdModules.Database.openPostgreSQL.bind(std_native_1.StdModules.Database),
1197
+ создательЗапросов: std_native_1.StdModules.Database.createQueryBuilder.bind(std_native_1.StdModules.Database),
1198
+ createQueryBuilder: std_native_1.StdModules.Database.createQueryBuilder.bind(std_native_1.StdModules.Database),
1088
1199
  Модель: std_native_1.StdModules.Database.Model.bind(std_native_1.StdModules.Database),
1200
+ Model: std_native_1.StdModules.Database.Model.bind(std_native_1.StdModules.Database),
1089
1201
  },
1090
1202
  'crypto': {
1091
1203
  md5: std_native_1.StdModules.Crypto.md5.bind(std_native_1.StdModules.Crypto),
@@ -1159,6 +1271,60 @@ class Interpreter {
1159
1271
  печать: std_native_1.StdModules.IO.print.bind(std_native_1.StdModules.IO),
1160
1272
  печатьВстроенный: std_native_1.StdModules.IO.printInline.bind(std_native_1.StdModules.IO),
1161
1273
  },
1274
+ 'dom': {
1275
+ selecionar: std_native_1.StdModules.DOM.selecionar.bind(std_native_1.StdModules.DOM),
1276
+ select: std_native_1.StdModules.DOM.select.bind(std_native_1.StdModules.DOM),
1277
+ evento: std_native_1.StdModules.DOM.evento.bind(std_native_1.StdModules.DOM),
1278
+ addEvent: std_native_1.StdModules.DOM.addEvent.bind(std_native_1.StdModules.DOM),
1279
+ texto: std_native_1.StdModules.DOM.texto.bind(std_native_1.StdModules.DOM),
1280
+ setText: std_native_1.StdModules.DOM.setText.bind(std_native_1.StdModules.DOM),
1281
+ html: std_native_1.StdModules.DOM.html.bind(std_native_1.StdModules.DOM),
1282
+ setHTML: std_native_1.StdModules.DOM.setHTML.bind(std_native_1.StdModules.DOM),
1283
+ valor: std_native_1.StdModules.DOM.valor.bind(std_native_1.StdModules.DOM),
1284
+ val: std_native_1.StdModules.DOM.val.bind(std_native_1.StdModules.DOM),
1285
+ criar: std_native_1.StdModules.DOM.criar.bind(std_native_1.StdModules.DOM),
1286
+ create: std_native_1.StdModules.DOM.create.bind(std_native_1.StdModules.DOM),
1287
+ adicionar: std_native_1.StdModules.DOM.adicionar.bind(std_native_1.StdModules.DOM),
1288
+ append: std_native_1.StdModules.DOM.append.bind(std_native_1.StdModules.DOM),
1289
+ remover: std_native_1.StdModules.DOM.remover.bind(std_native_1.StdModules.DOM),
1290
+ remove: std_native_1.StdModules.DOM.remove.bind(std_native_1.StdModules.DOM),
1291
+ atributo: std_native_1.StdModules.DOM.atributo.bind(std_native_1.StdModules.DOM),
1292
+ getAttr: std_native_1.StdModules.DOM.getAttr.bind(std_native_1.StdModules.DOM),
1293
+ definirАтрибут: std_native_1.StdModules.DOM.definirАтрибут.bind(std_native_1.StdModules.DOM),
1294
+ setAttr: std_native_1.StdModules.DOM.setAttr.bind(std_native_1.StdModules.DOM),
1295
+ },
1296
+ 'style': {
1297
+ carregarCDN: std_native_1.StdModules.Style.carregarCDN.bind(std_native_1.StdModules.Style),
1298
+ loadCDN: std_native_1.StdModules.Style.loadCDN.bind(std_native_1.StdModules.Style),
1299
+ carregarАрхив: std_native_1.StdModules.Style.carregarАрхив.bind(std_native_1.StdModules.Style),
1300
+ loadFile: std_native_1.StdModules.Style.loadFile.bind(std_native_1.StdModules.Style),
1301
+ aplicar: std_native_1.StdModules.Style.aplicar.bind(std_native_1.StdModules.Style),
1302
+ apply: std_native_1.StdModules.Style.apply.bind(std_native_1.StdModules.Style),
1303
+ obter: std_native_1.StdModules.Style.obter.bind(std_native_1.StdModules.Style),
1304
+ get: std_native_1.StdModules.Style.get.bind(std_native_1.StdModules.Style),
1305
+ definir: std_native_1.StdModules.Style.definir.bind(std_native_1.StdModules.Style),
1306
+ set: std_native_1.StdModules.Style.set.bind(std_native_1.StdModules.Style),
1307
+ добавитьКласс: std_native_1.StdModules.Style.добавитьКласс.bind(std_native_1.StdModules.Style),
1308
+ addClass: std_native_1.StdModules.Style.addClass.bind(std_native_1.StdModules.Style),
1309
+ удалитьКласс: std_native_1.StdModules.Style.удалитьКласс.bind(std_native_1.StdModules.Style),
1310
+ removeClass: std_native_1.StdModules.Style.removeClass.bind(std_native_1.StdModules.Style),
1311
+ переключитьКласс: std_native_1.StdModules.Style.переключитьКласс.bind(std_native_1.StdModules.Style),
1312
+ toggleClass: std_native_1.StdModules.Style.toggleClass.bind(std_native_1.StdModules.Style),
1313
+ },
1314
+ 'test': {
1315
+ descrever: std_native_1.StdModules.Test.descrever.bind(std_native_1.StdModules.Test),
1316
+ describe: std_native_1.StdModules.Test.describe.bind(std_native_1.StdModules.Test),
1317
+ afirmar: std_native_1.StdModules.Test.afirmar.bind(std_native_1.StdModules.Test),
1318
+ assert: std_native_1.StdModules.Test.assert.bind(std_native_1.StdModules.Test),
1319
+ igual: std_native_1.StdModules.Test.igual.bind(std_native_1.StdModules.Test),
1320
+ equal: std_native_1.StdModules.Test.equal.bind(std_native_1.StdModules.Test),
1321
+ verdadeiro: std_native_1.StdModules.Test.verdadeiro.bind(std_native_1.StdModules.Test),
1322
+ isTrue: std_native_1.StdModules.Test.isTrue.bind(std_native_1.StdModules.Test),
1323
+ ложь: std_native_1.StdModules.Test.ложь.bind(std_native_1.StdModules.Test),
1324
+ isFalse: std_native_1.StdModules.Test.isFalse.bind(std_native_1.StdModules.Test),
1325
+ выполнить: std_native_1.StdModules.Test.выполнить.bind(std_native_1.StdModules.Test),
1326
+ run: std_native_1.StdModules.Test.run.bind(std_native_1.StdModules.Test),
1327
+ },
1162
1328
  'math': {
1163
1329
  abs: Math.abs,
1164
1330
  max: Math.max,