@irrelon/battlescript 3.2.4 → 4.0.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.
- package/bin/functionality.ts +4 -1
- package/bin/index.js +5220 -2129
- package/bin/index.js.map +1 -1
- package/bin/index.ts +12 -1
- package/dist/bin/functionality.cjs +43236 -0
- package/dist/bin/functionality.cjs.map +1 -0
- package/dist/bin/functionality.d.ts.map +1 -1
- package/dist/bin/functionality.js +43226 -0
- package/dist/bin/functionality.js.map +1 -0
- package/dist/bin/index.d.ts +2 -1
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/exports/index.d.ts +0 -1
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/typescript/enums/EnumNodeKind.d.ts +50 -39
- package/dist/exports/typescript/enums/EnumNodeKind.d.ts.map +1 -1
- package/dist/exports/typescript/enums/EnumNodeProp.d.ts +54 -41
- package/dist/exports/typescript/enums/EnumNodeProp.d.ts.map +1 -1
- package/dist/exports/typescript/helpers/miniAstLayout.d.ts.map +1 -1
- package/dist/index.cjs +7581 -4159
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +5779 -2395
- package/dist/index.mjs.map +1 -1
- package/dist/scripts/exportGen/enums/generateEnums.d.ts.map +1 -1
- package/dist/services/fullAst/BattleScriptFromAST.d.ts +12 -1
- package/dist/services/fullAst/BattleScriptFromAST.d.ts.map +1 -1
- package/dist/services/fullAst/BattleScriptToAST.d.ts +16 -2
- package/dist/services/fullAst/BattleScriptToAST.d.ts.map +1 -1
- package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts +102 -88
- package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts.map +1 -1
- package/dist/services/grammar/ts/language/BattleScriptListener.d.ts +175 -21
- package/dist/services/grammar/ts/language/BattleScriptListener.d.ts.map +1 -1
- package/dist/services/grammar/ts/language/BattleScriptParser.d.ts +439 -201
- package/dist/services/grammar/ts/language/BattleScriptParser.d.ts.map +1 -1
- package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts +111 -13
- package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts.map +1 -1
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/miniAst/BattleScriptToMiniAST.d.ts +8 -0
- package/dist/services/miniAst/BattleScriptToMiniAST.d.ts.map +1 -1
- package/dist/services/miniAst/binaryReader.d.ts.map +1 -1
- package/dist/services/miniAst/binaryTypeToByteSize.d.ts +1 -1
- package/dist/services/miniAst/binaryWriter.d.ts.map +1 -1
- package/dist/services/miniAst/index.d.ts +0 -1
- package/dist/services/miniAst/index.d.ts.map +1 -1
- package/dist/services/miniAst/miniAstLayout.d.ts.map +1 -1
- package/dist/services/moduleResolver.d.ts +151 -0
- package/dist/services/moduleResolver.d.ts.map +1 -0
- package/dist/services/treeShaker/DependencyAnalyzer.d.ts +38 -0
- package/dist/services/treeShaker/DependencyAnalyzer.d.ts.map +1 -0
- package/dist/services/treeShaker/EntryPointCollector.d.ts +17 -0
- package/dist/services/treeShaker/EntryPointCollector.d.ts.map +1 -0
- package/dist/services/treeShaker/TreeShaker.d.ts +17 -0
- package/dist/services/treeShaker/TreeShaker.d.ts.map +1 -0
- package/dist/services/treeShaker/index.d.ts +6 -0
- package/dist/services/treeShaker/index.d.ts.map +1 -0
- package/dist/services/treeShaker/treeShake.d.ts +12 -0
- package/dist/services/treeShaker/treeShake.d.ts.map +1 -0
- package/dist/services/treeShaker/types.d.ts +50 -0
- package/dist/services/treeShaker/types.d.ts.map +1 -0
- package/dist/tests/ast/export.test.d.ts +2 -0
- package/dist/tests/ast/export.test.d.ts.map +1 -0
- package/dist/tests/ast/import.test.d.ts +2 -0
- package/dist/tests/ast/import.test.d.ts.map +1 -0
- package/dist/tests/ast/moduleResolver.test.d.ts +2 -0
- package/dist/tests/ast/moduleResolver.test.d.ts.map +1 -0
- package/dist/tests/ast/tree-shaking.test.d.ts +2 -0
- package/dist/tests/ast/tree-shaking.test.d.ts.map +1 -0
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/BattleScriptTransformerOptions.d.ts +1 -0
- package/dist/types/BattleScriptTransformerOptions.d.ts.map +1 -1
- package/dist/types/MiniAstJson.d.ts +18 -1
- package/dist/types/MiniAstJson.d.ts.map +1 -1
- package/dist/types/TokenMetaData.d.ts +2 -0
- package/dist/types/TokenMetaData.d.ts.map +1 -1
- package/dist/types/ast/nodes/AstNode.d.ts +2 -3
- package/dist/types/ast/nodes/AstNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/AstNodeBase.d.ts +2 -0
- package/dist/types/ast/nodes/AstNodeBase.d.ts.map +1 -1
- package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts +2 -1
- package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/DefineStatementNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/EndStatementNode.d.ts +1 -0
- package/dist/types/ast/nodes/EndStatementNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/EnumDeclarationNode.d.ts +2 -1
- package/dist/types/ast/nodes/EnumDeclarationNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/ExportNamedDeclarationNode.d.ts +32 -0
- package/dist/types/ast/nodes/ExportNamedDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ExportSpecifierNode.d.ts +27 -0
- package/dist/types/ast/nodes/ExportSpecifierNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ForwardStatementNode.d.ts +11 -0
- package/dist/types/ast/nodes/ForwardStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts +2 -1
- package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts +2 -1
- package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/ImportDeclarationNode.d.ts +4 -2
- package/dist/types/ast/nodes/ImportDeclarationNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/ImportSpecifierNode.d.ts +27 -0
- package/dist/types/ast/nodes/ImportSpecifierNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/IncludeStatementNode.d.ts +13 -0
- package/dist/types/ast/nodes/IncludeStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/InterfaceNode.d.ts +2 -1
- package/dist/types/ast/nodes/InterfaceNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/OffsetStatementNode.d.ts +11 -0
- package/dist/types/ast/nodes/OffsetStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ParityDeclarationNode.d.ts +12 -0
- package/dist/types/ast/nodes/ParityDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ProtocolOpStatementNode.d.ts +13 -0
- package/dist/types/ast/nodes/ProtocolOpStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ProtocolReadTypeNode.d.ts +14 -0
- package/dist/types/ast/nodes/ProtocolReadTypeNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/RequireStatementNode.d.ts +1 -0
- package/dist/types/ast/nodes/RequireStatementNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/RewindStatementNode.d.ts +11 -0
- package/dist/types/ast/nodes/RewindStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/RootNode.d.ts +1 -0
- package/dist/types/ast/nodes/RootNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/RuleStatementNode.d.ts +19 -0
- package/dist/types/ast/nodes/RuleStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/StateDeclarationNode.d.ts +2 -1
- package/dist/types/ast/nodes/StateDeclarationNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/StepDeclarationNode.d.ts +2 -2
- package/dist/types/ast/nodes/StepDeclarationNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/VariableDeclarationNode.d.ts +2 -1
- package/dist/types/ast/nodes/VariableDeclarationNode.d.ts.map +1 -1
- package/dist/types/ast/nodes/index.d.ts +11 -0
- package/dist/types/ast/nodes/index.d.ts.map +1 -1
- package/dist/types/ast/unions/index.d.ts +10 -8
- package/dist/types/ast/unions/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +77 -72
- package/dist/exports/typescript/enums/EnumOpCode.d.ts +0 -28
- package/dist/exports/typescript/enums/EnumOpCode.d.ts.map +0 -1
- package/dist/scripts/exportGen/enums/opCodes.d.ts +0 -2
- package/dist/scripts/exportGen/enums/opCodes.d.ts.map +0 -1
- package/dist/services/miniAst/miniAstInterpreter.d.ts +0 -17
- package/dist/services/miniAst/miniAstInterpreter.d.ts.map +0 -1
- package/dist/types/ast/nodes/EventDeclarationNode.d.ts +0 -15
- package/dist/types/ast/nodes/EventDeclarationNode.d.ts.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { AstNodeBase, AstNodeLayout } from "@/types";
|
|
1
|
+
import type { AstNodeBase, AstNodeLayout, StepBodyUnion } from "@/types";
|
|
2
2
|
import type { BattleScriptToAST } from "@/services";
|
|
3
3
|
import type { StepDeclarationContext } from "@/services/grammar/ts/language/BattleScriptParser";
|
|
4
|
-
import type { StepBodyUnion } from "@/types/ast/unions/StepBodyUnion";
|
|
5
4
|
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
|
|
6
5
|
import type { VisitOptions } from "@/types/VisitOptions";
|
|
7
6
|
export interface StepDeclarationNode extends AstNodeBase {
|
|
8
7
|
kind: "STEP_DECLARATION";
|
|
8
|
+
mode: number;
|
|
9
9
|
body: StepBodyUnion[];
|
|
10
10
|
}
|
|
11
11
|
export declare const StepDeclarationNodeLayout: AstNodeLayout<StepDeclarationNode>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepDeclarationNode.d.ts","sourceRoot":"","sources":["../../../../types/ast/nodes/StepDeclarationNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"StepDeclarationNode.d.ts","sourceRoot":"","sources":["../../../../types/ast/nodes/StepDeclarationNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAEvE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,mDAAmD,CAAC;AAC9F,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGvD,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,yBAAyB,EAAE,aAAa,CAAC,mBAAmB,CAAC,EASxE,CAAC;AAEH,eAAO,MAAM,wBAAwB,GAAI,UAAU,iBAAiB,EAAE,KAAK,sBAAsB,KAAG,mBAoBnG,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,UAAU,mBAAmB,EAAE,MAAM,mBAAmB,EAAE,UAAS,YAAiB,WA6B9H,CAAA"}
|
|
@@ -6,8 +6,9 @@ import type { VisitOptions } from "@/types/VisitOptions";
|
|
|
6
6
|
export interface VariableDeclarationNode extends AstNodeBase {
|
|
7
7
|
kind: "VARIABLE_DECLARATION";
|
|
8
8
|
declarations: VariableDeclaratorNode[];
|
|
9
|
+
isExported?: boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare const VariableDeclarationNodeLayout: AstNodeLayout<VariableDeclarationNode>[];
|
|
11
12
|
export declare const variableDeclarationToAstNode: (instance: BattleScriptToAST, ctx: VariableDeclarationContext) => VariableDeclarationNode | ConstantDeclarationNode;
|
|
12
|
-
export declare const variableDeclarationFromAstNode: (instance: BattleScriptFromAST, node: VariableDeclarationNode,
|
|
13
|
+
export declare const variableDeclarationFromAstNode: (instance: BattleScriptFromAST, node: VariableDeclarationNode, _options?: VisitOptions) => string;
|
|
13
14
|
//# sourceMappingURL=VariableDeclarationNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableDeclarationNode.d.ts","sourceRoot":"","sources":["../../../../types/ast/nodes/VariableDeclarationNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,uBAAuB,EAEvB,sBAAsB,EACtB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,mDAAmD,CAAC;AAClG,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC3D,IAAI,EAAE,sBAAsB,CAAC;IAC7B,YAAY,EAAE,sBAAsB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"VariableDeclarationNode.d.ts","sourceRoot":"","sources":["../../../../types/ast/nodes/VariableDeclarationNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,uBAAuB,EAEvB,sBAAsB,EACtB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,mDAAmD,CAAC;AAClG,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC3D,IAAI,EAAE,sBAAsB,CAAC;IAC7B,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;CAErB;AAED,eAAO,MAAM,6BAA6B,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAUhF,CAAC;AAEH,eAAO,MAAM,4BAA4B,GAAI,UAAU,iBAAiB,EAAE,KAAK,0BAA0B,KAAG,uBAAuB,GAAG,uBAkBrI,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,UAAU,mBAAmB,EAAE,MAAM,uBAAuB,EAAE,WAAU,YAAiB,WAQvI,CAAA"}
|
|
@@ -23,6 +23,8 @@ export * from "./EvaluateStatementNode";
|
|
|
23
23
|
export * from "./StateModuleEventDeclarationNode";
|
|
24
24
|
export * from "./EveryDeclarationNode";
|
|
25
25
|
export * from "./EveryExpressionNode";
|
|
26
|
+
export * from "./ExportNamedDeclarationNode";
|
|
27
|
+
export * from "./ExportSpecifierNode";
|
|
26
28
|
export * from "./ExpressionStatementNode";
|
|
27
29
|
export * from "./ForStatementNode";
|
|
28
30
|
export * from "./FunctionDeclarationNode";
|
|
@@ -30,6 +32,8 @@ export * from "./FunctionDefinitionNode";
|
|
|
30
32
|
export * from "./IdentifierNode";
|
|
31
33
|
export * from "./IfStatementNode";
|
|
32
34
|
export * from "./ImportDeclarationNode";
|
|
35
|
+
export * from "./ImportSpecifierNode";
|
|
36
|
+
export * from "./IncludeStatementNode";
|
|
33
37
|
export * from "./InterfaceNode";
|
|
34
38
|
export * from "./InterfacePropertyDeclarationNode";
|
|
35
39
|
export * from "./LiteralBooleanNode";
|
|
@@ -69,4 +73,11 @@ export * from "./EnumDeclarationNode";
|
|
|
69
73
|
export * from "./EnumAssignmentNode";
|
|
70
74
|
export * from "./StateModuleDeclarationNode";
|
|
71
75
|
export * from "./EndStatementNode";
|
|
76
|
+
export * from "./RuleStatementNode";
|
|
77
|
+
export * from "./ParityDeclarationNode";
|
|
78
|
+
export * from "./ForwardStatementNode";
|
|
79
|
+
export * from "./OffsetStatementNode";
|
|
80
|
+
export * from "./RewindStatementNode";
|
|
81
|
+
export * from "./ProtocolOpStatementNode";
|
|
82
|
+
export * from "./ProtocolReadTypeNode";
|
|
72
83
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/ast/nodes/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/ast/nodes/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
export * from "./TokenUnion";
|
|
2
|
-
export * from "./ValueUnion";
|
|
3
|
-
export * from "./LiteralUnion";
|
|
4
1
|
export * from "./ArgumentUnion";
|
|
5
|
-
export * from "./OperatorUnion";
|
|
6
|
-
export * from "./ExpressionUnion";
|
|
7
|
-
export * from "./OptimisedExpressionUnion";
|
|
8
|
-
export * from "./ReturnValueUnion";
|
|
9
2
|
export * from "./BlockStatementUnion";
|
|
10
3
|
export * from "./BooleanExpressionUnion";
|
|
11
|
-
export * from "./FunctionParameterUnion";
|
|
12
4
|
export * from "./EvaluateBranchUnion";
|
|
5
|
+
export * from "./ExpressionUnion";
|
|
6
|
+
export * from "./FunctionParameterUnion";
|
|
7
|
+
export * from "./LiteralUnion";
|
|
8
|
+
export * from "./OperatorUnion";
|
|
9
|
+
export * from "./OptimisedExpressionUnion";
|
|
10
|
+
export * from "./ProtocolBodyUnion";
|
|
11
|
+
export * from "./ReturnValueUnion";
|
|
12
|
+
export * from "./StepBodyUnion";
|
|
13
|
+
export * from "./TokenUnion";
|
|
13
14
|
export * from "./TypeUnion";
|
|
15
|
+
export * from "./ValueUnion";
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/ast/unions/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/ast/unions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,74 +1,79 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
2
|
+
"name": "@irrelon/battlescript",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"binaryVersion": 9,
|
|
5
|
+
"description": "BattleScript Lexer, Parser and Compiler",
|
|
6
|
+
"bin": {
|
|
7
|
+
"battlescript": "bin/index.js"
|
|
8
|
+
},
|
|
9
|
+
"type": "module",
|
|
10
|
+
"main": "dist/index.cjs",
|
|
11
|
+
"module": "dist/index.mjs",
|
|
12
|
+
"types": "dist/index.d.ts",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.mjs",
|
|
17
|
+
"require": "./dist/index.cjs"
|
|
18
|
+
},
|
|
19
|
+
"./node": {
|
|
20
|
+
"types": "./dist/bin/functionality.d.ts",
|
|
21
|
+
"import": "./dist/bin/functionality.js",
|
|
22
|
+
"require": "./dist/bin/functionality.cjs"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"compile-grammar-ts": "antlr4ts -visitor ./language/BattleScript.g4 -o ./services/grammar/ts",
|
|
27
|
+
"build:exports": "npx tsx $(pwd)/scripts/exportGen/index.ts",
|
|
28
|
+
"build:js": "rollup -c",
|
|
29
|
+
"build:types": "tsc -p tsconfig.types.json",
|
|
30
|
+
"build:native-libraries": "tsx ./scripts/compileNativeLibraries.ts",
|
|
31
|
+
"build": "npm run compile-grammar-ts && npm run build:native-libraries && npm run build:exports && npm run build:js && npm run build:types && yalc push && echo \"Don't forget to update the exports and helpers generated by the build! The interpreter will need them!\"",
|
|
32
|
+
"test": "NODE_ENV=test jest --coverage",
|
|
33
|
+
"test-watch": "NODE_ENV=test jest --watch",
|
|
34
|
+
"compile-ast-test-ts": "tsx ./bin/index.ts toAst ./examples/test.bst ./examples/test.json",
|
|
35
|
+
"decompile-ast-test-ts": "tsx ./bin/index.js fromAst ./examples/test.json ./examples/test.fromAst.bst",
|
|
36
|
+
"compile-binary-test-ts": "tsx ./bin/index.js toBinary ./examples/test.bst ./examples/test.bin",
|
|
37
|
+
"decompile-binary-test-ts": "tsx ./bin/index.ts fromBinary ./examples/test.bin ./examples/test.fromBinary.json",
|
|
38
|
+
"compile-mini-ast-test-ts": "tsx ./bin/index.ts toMiniAst ./examples/test.bst ./examples/test.miniAst.json",
|
|
39
|
+
"decompile-mini-ast-test-ts": "tsx ./bin/index.ts fromMiniAst ./examples/test.miniAst.json ./examples/test.fromMiniAst.bst",
|
|
40
|
+
"decompile-ast-simple-ts": "tsx ./bin/index.ts fromAst ./examples/simple.json ./examples/simple.decompiled.bst",
|
|
41
|
+
"format": "prettier --write \"**/*.bst\"",
|
|
42
|
+
"format:check": "prettier --check \"**/*.bst\"",
|
|
43
|
+
"build:plugin": "cd prettier-plugin-battlescript && npm run build",
|
|
44
|
+
"create-node": "tsx ./scripts/createAstNode.ts",
|
|
45
|
+
"regenerate-test-binaries": "tsx ./scripts/regenerateTestBinaries.ts"
|
|
46
|
+
},
|
|
47
|
+
"files": [
|
|
48
|
+
"dist",
|
|
49
|
+
"bin"
|
|
50
|
+
],
|
|
51
|
+
"author": "Irrelon Software Limited",
|
|
52
|
+
"license": "ISC",
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"antlr4ts": "^0.5.0-alpha.4"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@irrelon/path": "^7.0.2",
|
|
58
|
+
"@rollup/plugin-alias": "^6.0.0",
|
|
59
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
60
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
61
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
62
|
+
"@types/express": "^4.17.21",
|
|
63
|
+
"@types/jest": "^29.5.14",
|
|
64
|
+
"@types/node": "^22.13.11",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^8.19.0",
|
|
66
|
+
"@typescript-eslint/parser": "^8.19.0",
|
|
67
|
+
"antlr4ts-cli": "^0.5.0-alpha.4",
|
|
68
|
+
"eslint": "^9.17.0",
|
|
69
|
+
"jest": "^29.7.0",
|
|
70
|
+
"rollup": "^4.30.0",
|
|
71
|
+
"rollup-plugin-dts": "^6.1.1",
|
|
72
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
73
|
+
"rollup-plugin-visualizer": "^5.14.0",
|
|
74
|
+
"ts-jest": "^29.3.0",
|
|
75
|
+
"ts-morph": "^25.0.1",
|
|
76
|
+
"tsx": "^4.19.3",
|
|
77
|
+
"typescript": "^5.8.2"
|
|
78
|
+
}
|
|
74
79
|
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export declare enum EnumOpCode {
|
|
2
|
-
OPCODE_UNKNOWN = 0,
|
|
3
|
-
OPCODE_PUSH_LITERAL = 1,
|
|
4
|
-
OPCODE_GET_VAR = 2,
|
|
5
|
-
OPCODE_SET_VAR = 3,
|
|
6
|
-
OPCODE_GET_PROPERTY = 4,
|
|
7
|
-
OPCODE_SET_PROPERTY = 5,
|
|
8
|
-
OPCODE_CALL_FUNCTION = 6,
|
|
9
|
-
OPCODE_CREATE_OBJECT = 7,
|
|
10
|
-
OPCODE_CREATE_ARRAY = 8,
|
|
11
|
-
OPCODE_EQ = 9,
|
|
12
|
-
OPCODE_NEQ = 10,
|
|
13
|
-
OPCODE_GT = 11,
|
|
14
|
-
OPCODE_GTE = 12,
|
|
15
|
-
OPCODE_LT = 13,
|
|
16
|
-
OPCODE_LTE = 14,
|
|
17
|
-
OPCODE_AND = 15,
|
|
18
|
-
OPCODE_OR = 16,
|
|
19
|
-
OPCODE_NOT = 17,
|
|
20
|
-
OPCODE_ADD = 18,
|
|
21
|
-
OPCODE_SUB = 19,
|
|
22
|
-
OPCODE_MUL = 20,
|
|
23
|
-
OPCODE_DIV = 21,
|
|
24
|
-
OPCODE_MOD = 22
|
|
25
|
-
}
|
|
26
|
-
export declare function EnumOpCodeToString(opCode: EnumOpCode): string;
|
|
27
|
-
export declare function EnumOpCodeFromString(opCode: string): EnumOpCode;
|
|
28
|
-
//# sourceMappingURL=EnumOpCode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EnumOpCode.d.ts","sourceRoot":"","sources":["../../../../exports/typescript/enums/EnumOpCode.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACrB,cAAc,IAAA;IACd,mBAAmB,IAAA;IACnB,cAAc,IAAA;IACd,cAAc,IAAA;IACd,mBAAmB,IAAA;IACnB,mBAAmB,IAAA;IACnB,oBAAoB,IAAA;IACpB,oBAAoB,IAAA;IACpB,mBAAmB,IAAA;IACnB,SAAS,IAAA;IACT,UAAU,KAAA;IACV,SAAS,KAAA;IACT,UAAU,KAAA;IACV,SAAS,KAAA;IACT,UAAU,KAAA;IACV,UAAU,KAAA;IACV,SAAS,KAAA;IACT,UAAU,KAAA;IACV,UAAU,KAAA;IACV,UAAU,KAAA;IACV,UAAU,KAAA;IACV,UAAU,KAAA;IACV,UAAU,KAAA;CACV;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA0B7D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CA0B/D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opCodes.d.ts","sourceRoot":"","sources":["../../../../scripts/exportGen/enums/opCodes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,aAwBlB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
type StackValue = number | string | boolean | object | null | undefined;
|
|
2
|
-
type StringTable = string[];
|
|
3
|
-
export declare class BattleScriptMiniAstInterpreter {
|
|
4
|
-
private ip;
|
|
5
|
-
private stack;
|
|
6
|
-
private variables;
|
|
7
|
-
private stringTable;
|
|
8
|
-
private metaData;
|
|
9
|
-
setStringTable(table: StringTable): void;
|
|
10
|
-
setMetaData(metaData: number[]): void;
|
|
11
|
-
run(bytecode: number[]): void;
|
|
12
|
-
getVariables(): Record<string, StackValue>;
|
|
13
|
-
getStack(): StackValue[];
|
|
14
|
-
private readInt32;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=miniAstInterpreter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"miniAstInterpreter.d.ts","sourceRoot":"","sources":["../../../services/miniAst/miniAstInterpreter.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AACxE,KAAK,WAAW,GAAG,MAAM,EAAE,CAAC;AAE5B,qBAAa,8BAA8B;IAC1C,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,QAAQ,CAAgB;IAEhC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIxC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIrC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAyE7B,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI1C,QAAQ,IAAI,UAAU,EAAE;IAIxB,OAAO,CAAC,SAAS;CAQjB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { AstNodeBase, AstNodeLayout, BlockStatementNode, ExpressionUnion, IdentifierNode, LiteralUnion, MemberExpressionNode } from "@/types";
|
|
2
|
-
import type { BattleScriptToAST } from "@/services";
|
|
3
|
-
import type { StateModuleEventDeclarationContext } from "@/services/grammar/ts/language/BattleScriptParser";
|
|
4
|
-
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
|
|
5
|
-
import type { VisitOptions } from "@/types/VisitOptions";
|
|
6
|
-
export interface EventDeclarationNode extends AstNodeBase {
|
|
7
|
-
kind: "EVENT_DECLARATION";
|
|
8
|
-
event: ExpressionUnion;
|
|
9
|
-
arguments: (IdentifierNode | MemberExpressionNode | LiteralUnion)[];
|
|
10
|
-
body: BlockStatementNode;
|
|
11
|
-
}
|
|
12
|
-
export declare const EventDeclarationNodeLayout: AstNodeLayout<EventDeclarationNode>[];
|
|
13
|
-
export declare const eventDeclarationToAstNode: (instance: BattleScriptToAST, ctx: StateModuleEventDeclarationContext) => EventDeclarationNode;
|
|
14
|
-
export declare const eventDeclarationFromAstNode: (instance: BattleScriptFromAST, node: EventDeclarationNode, options?: VisitOptions) => string;
|
|
15
|
-
//# sourceMappingURL=EventDeclarationNode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EventDeclarationNode.d.ts","sourceRoot":"","sources":["../../../../types/ast/nodes/EventDeclarationNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAC,kCAAkC,EAAC,MAAM,mDAAmD,CAAC;AAC1G,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGvD,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACxD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,CAAC,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,EAAE,CAAC;IACpE,IAAI,EAAE,kBAAkB,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAY1E,CAAC;AAEH,eAAO,MAAM,yBAAyB,GAAI,UAAU,iBAAiB,EAAE,KAAK,kCAAkC,KAAG,oBAUhH,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,UAAU,mBAAmB,EAAE,MAAM,oBAAoB,EAAE,UAAS,YAAiB,WAahI,CAAA"}
|