@semacode/cli 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/AGENTS.md +50 -0
  2. package/README.md +15 -2
  3. package/SEMA_BRIEF.curto.txt +9 -0
  4. package/SEMA_BRIEF.md +49 -0
  5. package/SEMA_BRIEF.micro.txt +7 -0
  6. package/SEMA_INDEX.json +546 -0
  7. package/dist/drift.d.ts +17 -2
  8. package/dist/drift.js +516 -5
  9. package/dist/drift.js.map +1 -1
  10. package/dist/importador.d.ts +1 -1
  11. package/dist/importador.js +741 -3
  12. package/dist/importador.js.map +1 -1
  13. package/dist/index.js +962 -86
  14. package/dist/index.js.map +1 -1
  15. package/dist/lua-symbols.d.ts +8 -0
  16. package/dist/lua-symbols.js +68 -0
  17. package/dist/lua-symbols.js.map +1 -0
  18. package/dist/projeto.js +56 -2
  19. package/dist/projeto.js.map +1 -1
  20. package/dist/tipos.d.ts +1 -1
  21. package/docs/AGENT_STARTER.md +34 -6
  22. package/docs/instalacao-e-primeiro-uso.md +18 -9
  23. package/llms-full.txt +34 -0
  24. package/llms.txt +17 -0
  25. package/node_modules/@sema/gerador-dart/package.json +1 -1
  26. package/node_modules/@sema/gerador-lua/dist/index.d.ts +3 -0
  27. package/node_modules/@sema/gerador-lua/dist/index.js +360 -0
  28. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -0
  29. package/node_modules/@sema/gerador-lua/package.json +7 -0
  30. package/node_modules/@sema/gerador-python/dist/index.js +92 -10
  31. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  32. package/node_modules/@sema/gerador-python/package.json +1 -1
  33. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  34. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
  35. package/node_modules/@sema/nucleo/dist/ir/conversor.js +4 -0
  36. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  37. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
  38. package/node_modules/@sema/nucleo/dist/parser/parser.js +2 -0
  39. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  40. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +2 -2
  41. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +3 -1
  42. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  43. package/node_modules/@sema/nucleo/package.json +1 -1
  44. package/node_modules/@sema/padroes/dist/index.d.ts +2 -1
  45. package/node_modules/@sema/padroes/dist/index.js +64 -1
  46. package/node_modules/@sema/padroes/dist/index.js.map +1 -1
  47. package/node_modules/@sema/padroes/package.json +1 -1
  48. package/package.json +16 -7
package/dist/projeto.js CHANGED
@@ -59,7 +59,7 @@ export function normalizarFrameworkGeracao(valor) {
59
59
  return "base";
60
60
  }
61
61
  function normalizarAlvo(valor) {
62
- if (valor === "typescript" || valor === "python" || valor === "dart") {
62
+ if (valor === "typescript" || valor === "python" || valor === "dart" || valor === "lua") {
63
63
  return valor;
64
64
  }
65
65
  return undefined;
@@ -88,10 +88,15 @@ function normalizarFonteLegado(valor) {
88
88
  || valor === "fastapi"
89
89
  || valor === "flask"
90
90
  || valor === "nextjs"
91
+ || valor === "nextjs-consumer"
92
+ || valor === "react-vite-consumer"
93
+ || valor === "angular-consumer"
94
+ || valor === "flutter-consumer"
91
95
  || valor === "firebase"
92
96
  || valor === "typescript"
93
97
  || valor === "python"
94
98
  || valor === "dart"
99
+ || valor === "lua"
95
100
  || valor === "dotnet"
96
101
  || valor === "java"
97
102
  || valor === "go"
@@ -235,6 +240,7 @@ const EXTENSOES_CODIGO = [
235
240
  ".cjs",
236
241
  ".py",
237
242
  ".dart",
243
+ ".lua",
238
244
  ".cs",
239
245
  ".java",
240
246
  ".go",
@@ -402,6 +408,7 @@ async function inferirFontesLegado(diretoriosCodigo, baseProjeto, configCarregad
402
408
  const arquivosTs = await listarArquivosRecursivosLimitado(diretorio, [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"], 5, 40);
403
409
  const arquivosPy = await listarArquivosRecursivosLimitado(diretorio, [".py"], 5, 20);
404
410
  const arquivosDart = await listarArquivosRecursivosLimitado(diretorio, [".dart"], 5, 20);
411
+ const arquivosLua = await listarArquivosRecursivosLimitado(diretorio, [".lua"], 5, 20);
405
412
  const arquivosCs = await listarArquivosRecursivosLimitado(diretorio, [".cs"], 5, 20);
406
413
  const arquivosJava = await listarArquivosRecursivosLimitado(diretorio, [".java"], 5, 20);
407
414
  const arquivosGo = await listarArquivosRecursivosLimitado(diretorio, [".go"], 5, 20);
@@ -412,6 +419,8 @@ async function inferirFontesLegado(diretoriosCodigo, baseProjeto, configCarregad
412
419
  encontrados.add("typescript");
413
420
  const packageJsons = await procurarArquivosPorNome(diretorio, ["package.json"], 3);
414
421
  const nextConfigs = await procurarArquivosPorNome(diretorio, ["next.config.js", "next.config.ts", "next.config.mjs"], 3);
422
+ const viteConfigs = await procurarArquivosPorNome(diretorio, ["vite.config.ts", "vite.config.js", "vite.config.mjs"], 3);
423
+ const angularConfigs = await procurarArquivosPorNome(diretorio, ["angular.json"], 3);
415
424
  const firebaseLocais = await procurarArquivosPorNome(diretorio, ["firebase.json", "firestore.rules"], 3);
416
425
  const textosPackage = await Promise.all(packageJsons.slice(0, 8).map((arquivo) => lerConteudoSeExistir(arquivo)));
417
426
  const amostrasTs = await Promise.all(arquivosTs.slice(0, 10).map((arquivo) => lerConteudoSeExistir(arquivo)));
@@ -421,6 +430,20 @@ async function inferirFontesLegado(diretoriosCodigo, baseProjeto, configCarregad
421
430
  const temNext = textosPackage.some((texto) => /"next"\s*:/.test(texto ?? ""))
422
431
  || nextConfigs.length > 0
423
432
  || relacoesTs.some((relacao) => /(?:^|\/)(?:src\/)?app\/api\/.+\/route\.(?:ts|tsx|js|jsx)$/.test(relacao));
433
+ const temNextConsumer = textosPackage.some((texto) => /"next"\s*:/.test(texto ?? ""))
434
+ || nextConfigs.length > 0
435
+ || relacoesTs.some((relacao) => /(?:^|\/)(?:src\/)?app\/(?:(?!api\/).)*?(?:page|layout|loading|error)\.(?:ts|tsx|js|jsx)$/.test(relacao));
436
+ const temSuperficieReactViteConsumer = relacoesTs.some((relacao) => /^(?:src\/)?pages\/.+\.(?:ts|tsx|js|jsx)$/.test(relacao))
437
+ || relacoesTs.some((relacao) => /^(?:src\/)?App\.(?:ts|tsx|js|jsx)$/.test(relacao))
438
+ || relacoesTs.some((relacao) => /(?:^|\/)(?:src\/)?(?:app\/)?(?:router|routes)\.(?:ts|tsx|js|jsx)$/.test(relacao));
439
+ const temBridgeReactViteConsumer = relacoesTs.some((relacao) => /(?:^|\/)(?:src\/)?lib\/(?:sema_consumer_bridge|sema\/.+)\.(?:ts|tsx|js|jsx)$/.test(relacao));
440
+ const temReactViteConsumer = temSuperficieReactViteConsumer
441
+ || ((textosPackage.some((texto) => /"react"\s*:|"vite"\s*:|react-router-dom/.test(texto ?? "")) || viteConfigs.length > 0) && temBridgeReactViteConsumer);
442
+ const temSuperficieAngularConsumer = relacoesTs.some((relacao) => /(?:^|\/)(?:src\/)?app\/.+\.component\.(?:ts|js)$/.test(relacao))
443
+ || relacoesTs.some((relacao) => /(?:^|\/)(?:src\/)?app(?:\/.+)?\/[^/]+\.routes\.(?:ts|js)$/.test(relacao));
444
+ const temBridgeAngularConsumer = relacoesTs.some((relacao) => /(?:^|\/)(?:src\/)?app\/(?:sema_consumer_bridge|sema\/.+)\.(?:ts|js)$/.test(relacao));
445
+ const temAngularConsumer = temSuperficieAngularConsumer
446
+ || ((textosPackage.some((texto) => /@angular\/core|@angular\/router/.test(texto ?? "")) || angularConfigs.length > 0) && temBridgeAngularConsumer);
424
447
  const temFirebase = marcadoresFirebaseProjeto.length > 0
425
448
  || firebaseLocais.length > 0
426
449
  || textosPackage.some((texto) => /firebase-admin|firebase-functions/.test(texto ?? ""))
@@ -431,6 +454,15 @@ async function inferirFontesLegado(diretoriosCodigo, baseProjeto, configCarregad
431
454
  if (temNext) {
432
455
  encontrados.add("nextjs");
433
456
  }
457
+ if (temNextConsumer) {
458
+ encontrados.add("nextjs-consumer");
459
+ }
460
+ if (temReactViteConsumer) {
461
+ encontrados.add("react-vite-consumer");
462
+ }
463
+ if (temAngularConsumer) {
464
+ encontrados.add("angular-consumer");
465
+ }
434
466
  if (temFirebase) {
435
467
  encontrados.add("firebase");
436
468
  }
@@ -451,6 +483,26 @@ async function inferirFontesLegado(diretoriosCodigo, baseProjeto, configCarregad
451
483
  }
452
484
  if (arquivosDart.length > 0) {
453
485
  encontrados.add("dart");
486
+ const pubspecs = await procurarArquivosPorNome(diretorio, ["pubspec.yaml"], 3);
487
+ const textosPubspec = await Promise.all(pubspecs.slice(0, 4).map((arquivo) => lerConteudoSeExistir(arquivo)));
488
+ const amostrasDart = await Promise.all(arquivosDart.slice(0, 10).map((arquivo) => lerConteudoSeExistir(arquivo)));
489
+ const relacoesDart = arquivosDart.map((arquivo) => path.relative(diretorio, arquivo).replace(/\\/g, "/"));
490
+ const temBridgeFlutterConsumer = relacoesDart.some((relacao) => /(?:^|\/)(?:lib\/)?(?:sema_consumer_bridge|api\/sema_contract_bridge|sema\/.+)\.dart$/i.test(relacao));
491
+ const temSuperficieFlutterConsumer = relacoesDart.some((relacao) => /(?:^|\/)(?:lib\/)?(?:screens|pages)\/.+\.dart$/i.test(relacao)
492
+ || /(?:^|\/)(?:lib\/)?(?:router|app_router|routes|main)\.dart$/i.test(relacao));
493
+ const temFlutterRuntime = textosPubspec.some((texto) => /\nflutter:\s*$|sdk:\s*flutter|dependencies:\s*[\s\S]*\bflutter:\s*$/m.test(texto ?? ""))
494
+ || amostrasDart.some((texto) => /MaterialApp(?:\.router)?\s*\(|CupertinoApp(?:\.router)?\s*\(|GoRouter\s*\(/.test(texto ?? ""));
495
+ const temFlutterConsumer = temSuperficieFlutterConsumer
496
+ || (temFlutterRuntime && temBridgeFlutterConsumer);
497
+ if (temFlutterConsumer) {
498
+ encontrados.add("flutter-consumer");
499
+ }
500
+ }
501
+ if (arquivosDart.length > 0) {
502
+ encontrados.add("dart");
503
+ }
504
+ if (arquivosLua.length > 0) {
505
+ encontrados.add("lua");
454
506
  }
455
507
  if (arquivosCs.length > 0) {
456
508
  encontrados.add("dotnet");
@@ -507,7 +559,9 @@ export async function carregarProjeto(entrada, cwd) {
507
559
  const modoAdocao = normalizarModoAdocao(configCarregada?.config.modoAdocao);
508
560
  const arquivosSelecionados = infoEntrada.isFile()
509
561
  ? new Set([path.resolve(entradaResolvida)])
510
- : new Set((await listarArquivosSema(entradaResolvida)).map((arquivo) => path.resolve(arquivo)));
562
+ : new Set((configCarregada && path.resolve(entradaResolvida) === path.resolve(configCarregada.baseDiretorio)
563
+ ? arquivosProjeto
564
+ : await listarArquivosSema(entradaResolvida)).map((arquivo) => path.resolve(arquivo)));
511
565
  const fontes = [];
512
566
  for (const arquivo of arquivosProjeto) {
513
567
  const codigo = await lerArquivoTexto(arquivo);
@@ -1 +1 @@
1
- {"version":3,"file":"projeto.js","sourceRoot":"","sources":["../src/projeto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projeto.js","sourceRoot":"","sources":["../src/projeto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,GAEnB,MAAM,cAAc,CAAC;AA0CtB,KAAK,UAAU,aAAa,CAAC,WAAmB;IAC9C,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,cAAsB;IACvE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACvD,IAAI,MAAM,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,GAAG,GAAG,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,cAAsB;IACtE,MAAM,aAAa,GAAG,MAAM,4BAA4B,CAAC,cAAc,CAAC,CAAC;IACzE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAsB,CAAC;IACzD,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC1C,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAW,EACX,eAA8C;IAE9C,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC,aAAa,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAiB;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACnC,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,IACE,KAAK,KAAK,QAAQ;WACf,KAAK,KAAK,SAAS;WACnB,KAAK,KAAK,OAAO;WACjB,KAAK,KAAK,QAAQ;WAClB,KAAK,KAAK,iBAAiB;WAC3B,KAAK,KAAK,qBAAqB;WAC/B,KAAK,KAAK,kBAAkB;WAC5B,KAAK,KAAK,kBAAkB;WAC5B,KAAK,KAAK,UAAU;WACpB,KAAK,KAAK,YAAY;WACtB,KAAK,KAAK,QAAQ;WAClB,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,KAAK;WACf,KAAK,KAAK,QAAQ;WAClB,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,IAAI;WACd,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,KAAK,EAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,aAAqB;IACzD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;aAC1C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,aAAqB,EACrB,SAAmB,EACnB,kBAAkB,GAAG,CAAC,EACtB,MAAM,GAAG,EAAE;IAEX,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,KAAK,EAAE,cAAsB,EAAE,iBAAyB,EAAiB,EAAE;QACzF,IAAI,WAAW,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,WAAW,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1B,IAAI,iBAAiB,IAAI,CAAC,IAAI,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC1F,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,CAAC,YAAY,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAChF,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IACjD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,aAAqB,EACrB,KAAe,EACf,kBAAkB,GAAG,CAAC;IAEtB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,KAAK,EAAE,cAAsB,EAAE,iBAAyB,EAAiB,EAAE;QACzF,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1B,IAAI,iBAAiB,IAAI,CAAC,IAAI,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC1F,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,CAAC,YAAY,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACtD,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IACjD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,uBAAuB,GAAG;IAC9B,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,MAAM;IACN,UAAU;IACV,SAAS;IACT,WAAW;IACX,SAAS;CACV,CAAC;AAEF,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,MAAM;IACN,SAAS;IACT,eAAe;IACf,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;IACZ,aAAa;IACb,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,WAAW;IACX,cAAc;IACd,WAAW;IACX,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG;IACvB,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,IAAI;CACL,CAAC;AACF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAE1E,KAAK,UAAU,mBAAmB,CAChC,gBAAwB,EACxB,eAA8C;IAE9C,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEjH,IAAI,KAAK,GAAG,YAAY,CAAC;IACzB,SAAS,CAAC;QACR,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;mBAC3E,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBAClB,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,MAAM;QACR,CAAC;QACD,KAAK,GAAG,GAAG,CAAC;IACd,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,WAAmB,EAAE,gBAAwB;IAChF,KAAK,MAAM,UAAU,IAAI,qBAAqB,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,MAAM,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,gBAAwB,EACxB,eAA8C;IAE9C,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjD,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5H,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,aAAqB,EAAE,kBAAkB,GAAG,CAAC;IACrF,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,IAAI,kBAAkB,IAAI,CAAC,IAAI,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC3F,SAAS;YACX,CAAC;YACD,IAAI,MAAM,0BAA0B,CAAC,cAAc,EAAE,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,WAAmB,EACnB,eAA8C;IAG9C,IAAI,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,gBAAgB;iBACvD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;iBAC1E,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;aACjB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,eAAe,GAAG,uBAAuB;SAC5C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;QACxC,IAAI,MAAM,aAAa,CAAC,SAAS,CAAC,IAAI,MAAM,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;YAClF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QACD,IAAI,MAAM,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACvG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,0BAA0B,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,gBAA0B,EAC1B,WAAmB,EACnB,eAA8C;IAE9C,IAAI,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY;iBACnD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;iBAC5C,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAe,CAAC;IAC3C,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3F,MAAM,yBAAyB,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtH,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,+BAA+B,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1D,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,8CAA8C,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACzE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5H,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,WAAW,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvF,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvF,MAAM,iBAAiB,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1H,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,gFAAgF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAE3J,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE9B,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YACzH,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YACzH,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YACzG,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9G,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAEtG,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;mBAC3F,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sFAAsF,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1I,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;mBACxE,WAAW,CAAC,MAAM,GAAG,CAAC;mBACtB,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,2DAA2D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7G,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;mBAChF,WAAW,CAAC,MAAM,GAAG,CAAC;mBACtB,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,0FAA0F,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5I,MAAM,8BAA8B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;mBACxH,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;mBAChF,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mEAAmE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACrH,MAAM,0BAA0B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,8EAA8E,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9J,MAAM,oBAAoB,GAAG,8BAA8B;mBACtD,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC;YAC5J,MAAM,4BAA4B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;mBAC9H,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,2DAA2D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7G,MAAM,wBAAwB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sEAAsE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACpJ,MAAM,kBAAkB,GAAG,4BAA4B;mBAClD,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAiC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC;YACrJ,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,GAAG,CAAC;mBACnD,cAAc,CAAC,MAAM,GAAG,CAAC;mBACzB,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;mBACpF,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yEAAyE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAE7H,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,UAAU;iBACP,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CACnD,CAAC;YAEF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2CAA2C,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACjH,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mFAAmF,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAEvJ,IAAI,UAAU,EAAE,CAAC;gBACf,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9G,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClH,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1G,MAAM,wBAAwB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7D,uFAAuF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACzG,MAAM,4BAA4B,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACjE,iDAAiD,CAAC,IAAI,CAAC,OAAO,CAAC;mBAC5D,6DAA6D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAClF,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sEAAsE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;mBAC5I,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,4EAA4E,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAClI,MAAM,kBAAkB,GAAG,4BAA4B;mBAClD,CAAC,iBAAiB,IAAI,wBAAwB,CAAC,CAAC;YAErD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YACnG,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7G,IACE,UAAU,CAAC,MAAM,GAAG,CAAC;mBAClB,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,4HAA4H,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAC7K,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;YACpH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjH,IACE,cAAc,CAAC,MAAM,GAAG,CAAC;mBACtB,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,0DAA0D,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAC7G,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7G,IACE,KAAK,CAAC,MAAM,GAAG,CAAC;mBACb,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sEAAsE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EACvH,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjH,IACE,KAAK,CAAC,MAAM,GAAG,CAAC;mBACb,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EACvF,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA2B,EAC3B,GAAW;IAEX,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC5G,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACpG,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG,oBAAoB,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE5E,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE;QAC/C,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,IAAI,GAAG,CAAC,CACR,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;YAC/F,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,CAC/C,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CACjF,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,WAAW;QACX,eAAe;QACf,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,mBAAmB,EAAE,MAAM;aACxB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;aACxE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAE;SACxD,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,aAAiC,EACjC,eAA8C;IAE9C,OAAO,cAAc,CAAC,aAAa,CAAC;WAC/B,eAAe,EAAE,MAAM,CAAC,UAAU;WAClC,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;WAClC,YAAY,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,kBAAsC,EACtC,eAA8C;IAE9C,OAAO,0BAA0B,CAAC,kBAAkB,IAAI,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,kBAAsC,EACtC,SAA2B,EAC3B,eAA8C;IAE9C,MAAM,SAAS,GAAG,wBAAwB,CAAC,kBAAkB,IAAI,eAAe,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACzG,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,cAAkC,EAClC,IAAiB,EACjB,eAA8C;IAE9C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,EAAE,MAAM,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC;IAChF,IAAI,gBAAgB,IAAI,eAAe,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,eAA8C;IACrF,MAAM,KAAK,GAAkB,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM;QAChE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK;QAC9B,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC"}
package/dist/tipos.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export type EstruturaSaida = "flat" | "modulos" | "backend";
2
- export type FonteLegado = "nestjs" | "fastapi" | "flask" | "nextjs" | "firebase" | "typescript" | "python" | "dart" | "dotnet" | "java" | "go" | "rust" | "cpp";
2
+ export type FonteLegado = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "python" | "dart" | "lua" | "dotnet" | "java" | "go" | "rust" | "cpp";
3
3
  export type ModoAdocao = "incremental";
@@ -2,22 +2,50 @@
2
2
 
3
3
  Use este texto como starter curto para qualquer IA antes de editar `.sema`.
4
4
 
5
+ Ordem canonica de entrada no repo:
6
+
7
+ 1. `llms.txt`
8
+ 2. `SEMA_BRIEF.md`
9
+ 3. `SEMA_INDEX.json`
10
+ 4. `AGENTS.md`
11
+ 5. `README.md`
12
+
13
+ Roteamento por capacidade:
14
+
15
+ - IA pequena ou gratuita: `llms.txt` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json`
16
+ - IA media: `llms.txt` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `README.md`
17
+ - IA grande ou com tool use: `llms-full.txt` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
18
+
19
+ Tres modos de uso da Sema:
20
+
21
+ - projeto novo: modele, valide, compile e verifique antes de subir codigo derivado
22
+ - projeto ja semantizado: inspecione, leia resumo, rode drift e gere contexto antes de editar
23
+ - legado sem Sema: importe, revise o rascunho, formate, valide e use drift como arbitro da adocao incremental
24
+
25
+ Para manter os artefatos gerados da raiz sincronizados:
26
+
27
+ - `sema sync-ai-entrypoints --json`
28
+
5
29
  ```text
6
- Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA e backend vivo.
30
+ Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA sobre software vivo em backend e front consumer.
7
31
 
8
32
  Importante:
9
33
  - a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana
34
+ - a Sema funciona como camada de navegacao operacional para agente, nao como runtime magico
10
35
  - leitura humana e bonus toleravel, nao centro do produto
11
36
  - a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao
12
- - a Sema gera codigo e scaffolding real para TypeScript, Python e Dart
37
+ - a Sema gera codigo e scaffolding real para TypeScript, Python, Dart e Lua
13
38
  - a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico
14
39
  - a Sema usa `drift` para medir diferenca entre contrato e codigo vivo
15
40
  - a Sema usa `impl` para ligar task a simbolo real do runtime
16
41
  - a Sema usa `resumo` e `prompt-curto` para IA pequena ou gratuita
17
42
  - a Sema pode servir de base para interfaces graficas elegantes e coerentes
18
- - a Sema nao gera uma interface completa sozinha no estado atual
43
+ - a primeira onda consumer oficial agora cobre `Next.js consumer`, `React/Vite consumer`, `Angular consumer` e `flutter-consumer`
44
+ - esses slices oficiais cobrem `consumer bridge + superficies rastreaveis`, nao geracao completa de UI
45
+ - a proxima camada semantica de front (`screen`, `action`, `query`, `form`, `navigation`) esta documentada como roadmap, nao como sintaxe oficial ja suportada
19
46
  - trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto
20
- - se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end
47
+ - nao cobre da Sema persistencia real, runtime ou smoke test automatico; isso continua sendo engenharia viva
48
+ - se a tarefa envolver UI, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivo aleatorio
21
49
  - evite pedir HTML unico solto quando a intencao for testar a Sema de verdade
22
50
 
23
51
  Regras:
@@ -38,8 +66,8 @@ Comandos essenciais:
38
66
  - validacao: `sema validar <arquivo.sema> --json`
39
67
  - diagnosticos: `sema diagnosticos <arquivo.sema> --json`
40
68
  - formatacao: `sema formatar <arquivo.sema>`
41
- - importacao assistida de legado: `sema importar <nestjs|fastapi|flask|typescript|python|dart> <diretorio> --saida <diretorio>`
42
- - geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart> --saida <diretorio>`
69
+ - importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|typescript|python|dart|lua|dotnet|java|go|rust|cpp> <diretorio> --saida <diretorio>`
70
+ - geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>`
43
71
  - verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`
44
72
 
45
73
  Regra pratica de ouro:
@@ -37,8 +37,8 @@ npx sema --help
37
37
 
38
38
  Instaladores auxiliares para a linha publica atual:
39
39
 
40
- - Linux/macOS: `curl -fsSL https://raw.githubusercontent.com/gerlanss/Sema/v1.0.0/install-sema.sh | bash`
41
- - Windows PowerShell: `irm https://raw.githubusercontent.com/gerlanss/Sema/v1.0.0/install-sema.ps1 | iex`
40
+ - Linux/macOS: `curl -fsSL https://raw.githubusercontent.com/gerlanss/Sema/v1.2.0/install-sema.sh | bash`
41
+ - Windows PowerShell: `irm https://raw.githubusercontent.com/gerlanss/Sema/v1.2.0/install-sema.ps1 | iex`
42
42
 
43
43
  Se voce quiser reproducao estrita, prefira o npm registry ou o tarball da GitHub Release.
44
44
 
@@ -49,6 +49,7 @@ mkdir sema-demo
49
49
  cd sema-demo
50
50
  sema iniciar
51
51
  sema validar contratos/pedidos.sema --json
52
+ sema compilar contratos/pedidos.sema --alvo lua --saida ./saida/lua
52
53
  ```
53
54
 
54
55
  ## Primeiro fluxo util
@@ -110,6 +111,7 @@ Scaffold base:
110
111
  sema compilar contratos/pedidos.sema --alvo typescript --saida ./saida/typescript
111
112
  sema compilar contratos/pedidos.sema --alvo python --saida ./saida/python
112
113
  sema compilar contratos/pedidos.sema --alvo dart --saida ./saida/dart
114
+ sema compilar contratos/pedidos.sema --alvo lua --saida ./saida/lua
113
115
  ```
114
116
 
115
117
  Scaffold backend:
@@ -121,22 +123,29 @@ sema compilar contratos/pedidos.sema --alvo python --framework fastapi --estrutu
121
123
 
122
124
  ## Extensao VS Code
123
125
 
124
- Empacotar:
126
+ Via GitHub Release:
125
127
 
126
128
  ```bash
127
- npm run extensao:empacotar
129
+ curl -L -o sema-language-tools.vsix https://github.com/gerlanss/Sema/releases/latest/download/sema-language-tools-latest.vsix
130
+ code --install-extension ./sema-language-tools.vsix --force
128
131
  ```
129
132
 
130
- Instalar localmente:
133
+ Windows PowerShell:
131
134
 
132
- ```bash
133
- npm run extensao:instalar-local
135
+ ```powershell
136
+ Invoke-WebRequest -Uri https://github.com/gerlanss/Sema/releases/latest/download/sema-language-tools-latest.vsix -OutFile sema-language-tools.vsix
137
+ code --install-extension .\sema-language-tools.vsix --force
134
138
  ```
135
139
 
136
- Ou manualmente:
140
+ Pagina oficial:
141
+
142
+ - [https://github.com/gerlanss/Sema/releases/latest](https://github.com/gerlanss/Sema/releases/latest)
143
+
144
+ Se voce estiver desenvolvendo a propria extensao localmente, ai sim entra a trilha de contribuinte:
137
145
 
138
146
  ```bash
139
- code --install-extension .tmp/editor-vscode/sema-language-tools-1.0.0.vsix --force
147
+ npm run extensao:empacotar
148
+ npm run extensao:instalar-local
140
149
  ```
141
150
 
142
151
  ## Caminho de contribuinte
package/llms-full.txt ADDED
@@ -0,0 +1,34 @@
1
+ Sema is an AI-first semantic language and tooling stack for explicit software intent, drift analysis, and safer intervention in live backend systems.
2
+
3
+ This repository is not optimized for human-first reading. It is optimized for AI agents that need compressed, canonical semantic context.
4
+
5
+ Canonical entrypoints in the repository root:
6
+ 1. `llms.txt`
7
+ 2. `SEMA_BRIEF.md`
8
+ 3. `SEMA_INDEX.json`
9
+ 4. `AGENTS.md`
10
+ 5. `README.md`
11
+ 6. `docs/AGENT_STARTER.md`
12
+
13
+ Capacity routing:
14
+ - small/free AI: `llms.txt` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json` -> `AGENTS.md`
15
+ - medium AI: `llms.txt` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
16
+ - large/tool-using AI: `llms-full.txt` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
17
+
18
+ Source-of-truth order:
19
+ 1. root Sema artifacts
20
+ 2. CLI JSON outputs
21
+ 3. official docs
22
+ 4. official examples
23
+ 5. raw implementation code
24
+
25
+ Useful commands:
26
+ - `sema resumo <arquivo-ou-pasta> --micro --para mudanca`
27
+ - `sema prompt-curto <arquivo-ou-pasta> --curto --para review`
28
+ - `sema drift <arquivo-ou-pasta> --json`
29
+ - `sema contexto-ia <arquivo.sema> --saida ./.tmp/contexto --json`
30
+ - `sema validar <arquivo-ou-pasta> --json`
31
+ - `sema verificar <arquivo-ou-pasta> --json`
32
+
33
+ Do not ask the model to infer semantics that are already available in Sema artifacts.
34
+ Do not start from raw source code if `SEMA_BRIEF`, `SEMA_INDEX`, `drift`, or `briefing` are available.
package/llms.txt ADDED
@@ -0,0 +1,17 @@
1
+ Sema is an AI-first semantic language and tooling stack for backend intent.
2
+
3
+ This repository is not human-first. Use the canonical AI entrypoints before raw code.
4
+
5
+ Read in this order:
6
+ 1. SEMA_BRIEF.micro.txt or SEMA_BRIEF.md
7
+ 2. SEMA_INDEX.json
8
+ 3. AGENTS.md
9
+ 4. README.md
10
+
11
+ Capacity routing:
12
+ - small models: llms.txt -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json
13
+ - medium models: llms.txt -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> README.md
14
+ - large models: llms-full.txt -> SEMA_BRIEF.md -> SEMA_INDEX.json -> README.md
15
+
16
+ Prefer Sema artifacts over raw source code when both exist.
17
+ Prefer `drift`, `briefing`, `ir`, and `diagnosticos` over guesswork.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-dart",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -0,0 +1,3 @@
1
+ import type { IrModulo } from "@sema/nucleo";
2
+ import { type ArquivoGerado } from "@sema/padroes";
3
+ export declare function gerarLua(modulo: IrModulo): ArquivoGerado[];