@forthic/interp 0.2.0 → 0.4.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 (35) hide show
  1. package/dist/cjs/forthic/errors.d.ts +70 -0
  2. package/dist/cjs/forthic/errors.js +174 -0
  3. package/dist/cjs/forthic/errors.js.map +1 -0
  4. package/dist/cjs/forthic/global_module.d.ts +2 -1
  5. package/dist/cjs/forthic/global_module.js +11 -4
  6. package/dist/cjs/forthic/global_module.js.map +1 -1
  7. package/dist/cjs/forthic/interpreter.d.ts +12 -1
  8. package/dist/cjs/forthic/interpreter.js +75 -44
  9. package/dist/cjs/forthic/interpreter.js.map +1 -1
  10. package/dist/cjs/forthic/module.js +2 -4
  11. package/dist/cjs/forthic/module.js.map +1 -1
  12. package/dist/cjs/forthic/tokenizer.d.ts +21 -2
  13. package/dist/cjs/forthic/tokenizer.js +57 -21
  14. package/dist/cjs/forthic/tokenizer.js.map +1 -1
  15. package/dist/cjs/index.d.ts +1 -0
  16. package/dist/cjs/index.js +1 -0
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/esm/forthic/errors.d.ts +70 -0
  19. package/dist/esm/forthic/errors.js +174 -0
  20. package/dist/esm/forthic/errors.js.map +1 -0
  21. package/dist/esm/forthic/global_module.d.ts +2 -1
  22. package/dist/esm/forthic/global_module.js +11 -4
  23. package/dist/esm/forthic/global_module.js.map +1 -1
  24. package/dist/esm/forthic/interpreter.d.ts +12 -1
  25. package/dist/esm/forthic/interpreter.js +75 -44
  26. package/dist/esm/forthic/interpreter.js.map +1 -1
  27. package/dist/esm/forthic/module.js +2 -4
  28. package/dist/esm/forthic/module.js.map +1 -1
  29. package/dist/esm/forthic/tokenizer.d.ts +21 -2
  30. package/dist/esm/forthic/tokenizer.js +57 -21
  31. package/dist/esm/forthic/tokenizer.js.map +1 -1
  32. package/dist/esm/index.d.ts +1 -0
  33. package/dist/esm/index.js +1 -0
  34. package/dist/esm/index.js.map +1 -1
  35. package/package.json +1 -4
@@ -5,8 +5,8 @@ exports.dup_interpreter = dup_interpreter;
5
5
  const tokenizer_1 = require("./tokenizer");
6
6
  const module_1 = require("./module");
7
7
  const global_module_1 = require("./global_module");
8
- const ForthicError_1 = require("./ForthicError");
9
8
  const tokenizer_2 = require("./tokenizer");
9
+ const errors_1 = require("./errors");
10
10
  class StartModuleWord extends module_1.Word {
11
11
  async execute(interp) {
12
12
  const self = this;
@@ -60,6 +60,9 @@ class Interpreter {
60
60
  constructor() {
61
61
  this.timestamp_id = Math.random();
62
62
  this.stack = [];
63
+ this.tokenizer_stack = [];
64
+ this.maxAttempts = 3;
65
+ this.handleError = undefined;
63
66
  // We've split the global module functionality into a "pure" global module and a React global module
64
67
  this.global_module = new global_module_1.GlobalModule(this);
65
68
  this.app_module = new module_1.Module("", this);
@@ -81,6 +84,9 @@ class Interpreter {
81
84
  this.start_profile_time = null;
82
85
  this.timestamps = [];
83
86
  }
87
+ get_stack() {
88
+ return this.stack;
89
+ }
84
90
  halt() {
85
91
  this.should_stop = true;
86
92
  }
@@ -91,6 +97,18 @@ class Interpreter {
91
97
  get_string_location() {
92
98
  return this.string_location;
93
99
  }
100
+ set_max_attempts(maxAttempts) {
101
+ this.maxAttempts = maxAttempts;
102
+ }
103
+ set_error_handler(handleError) {
104
+ this.handleError = handleError;
105
+ }
106
+ get_max_attempts() {
107
+ return this.maxAttempts;
108
+ }
109
+ get_error_handler() {
110
+ return this.handleError;
111
+ }
94
112
  // Module flag support
95
113
  set_flags(module_id, flags) {
96
114
  if (!this.default_module_flags) {
@@ -127,41 +145,61 @@ class Interpreter {
127
145
  }
128
146
  get_screen_forthic(screen_name) {
129
147
  const screen = this.screens[screen_name];
130
- if (!screen)
131
- throw new ForthicError_1.ForthicError("interpreter-199", `Unable to find screen "${screen_name}"`, "Hmmm...something went wrong. Please file a ticket if this continues to happen");
148
+ if (!screen) {
149
+ throw new errors_1.UnknownScreenError(screen_name, this.string_location);
150
+ }
132
151
  const result = screen;
133
152
  return result;
134
153
  }
135
154
  async run(string, reference_location = null) {
136
- const tokenizer = new tokenizer_1.Tokenizer(string, reference_location);
137
- return await this.run_with_tokenizer(tokenizer);
155
+ this.tokenizer_stack.push(new tokenizer_1.Tokenizer(string, reference_location));
156
+ if (this.handleError) {
157
+ await this.execute_with_recovery();
158
+ }
159
+ else {
160
+ await this.run_with_tokenizer(this.tokenizer_stack[this.tokenizer_stack.length - 1]);
161
+ }
162
+ this.tokenizer_stack.pop();
163
+ return true;
164
+ }
165
+ async execute_with_recovery(numAttempts = 0) {
166
+ try {
167
+ numAttempts++;
168
+ if (numAttempts > this.maxAttempts) {
169
+ throw new errors_1.TooManyAttemptsError(numAttempts, this.maxAttempts);
170
+ }
171
+ await this.continue();
172
+ return numAttempts;
173
+ }
174
+ catch (e) {
175
+ if (!this.handleError)
176
+ throw e;
177
+ await this.handleError(e);
178
+ return await this.execute_with_recovery(numAttempts);
179
+ }
180
+ }
181
+ async continue() {
182
+ await this.run_with_tokenizer(this.tokenizer_stack[this.tokenizer_stack.length - 1]);
183
+ return;
138
184
  }
139
185
  async run_with_tokenizer(tokenizer) {
140
186
  let token;
141
187
  do {
142
188
  token = tokenizer.next_token();
143
- try {
144
- await this.handle_token(token);
145
- if (token.type === tokenizer_1.TokenType.EOS) {
146
- break;
147
- }
148
- if (this.should_stop) {
149
- this.should_stop = false;
150
- break;
151
- }
152
- // Regardless of debug mode, we don't want to stop when compiling definitions or going through comments
153
- if (token.type === tokenizer_1.TokenType.START_DEF ||
154
- token.type === tokenizer_1.TokenType.END_DEF ||
155
- token.type == tokenizer_1.TokenType.COMMENT ||
156
- this.is_compiling) {
157
- continue;
158
- }
189
+ await this.handle_token(token);
190
+ if (token.type === tokenizer_1.TokenType.EOS) {
191
+ break;
159
192
  }
160
- catch (e) {
161
- console.error("run_with_tokenizer", token, this.string_location, tokenizer.reference_location);
162
- const error = new ForthicError_1.ForthicError("interpreter-213", `Ran into an error executing this '${token.string}'`, "If there is an unknown error in the stack details, please file a ticket so we can resolve it.", token.location);
163
- error.set_caught_error(e);
164
- throw error;
193
+ if (this.should_stop) {
194
+ this.should_stop = false;
195
+ break;
196
+ }
197
+ // Regardless of debug mode, we don't want to stop when compiling definitions or going through comments
198
+ if (token.type === tokenizer_1.TokenType.START_DEF ||
199
+ token.type === tokenizer_1.TokenType.END_DEF ||
200
+ token.type == tokenizer_1.TokenType.COMMENT ||
201
+ this.is_compiling) {
202
+ continue;
165
203
  }
166
204
  // eslint-disable-next-line no-constant-condition
167
205
  } while (true);
@@ -173,9 +211,8 @@ class Interpreter {
173
211
  }
174
212
  find_module(name) {
175
213
  const result = this.registered_modules[name];
176
- if (result === undefined) {
177
- throw new ForthicError_1.ForthicError("interpreter-236", `Couldn't find '${name}' module`, `This is most likely a typo in your Forthic code. Please check to see if '${name}' is properly spelled and that you have permission to access it`);
178
- }
214
+ if (result === undefined)
215
+ throw new errors_1.UnknownModuleError(name, this.string_location);
179
216
  return result;
180
217
  }
181
218
  stack_push(val) {
@@ -183,7 +220,7 @@ class Interpreter {
183
220
  }
184
221
  stack_pop() {
185
222
  if (this.stack.length == 0) {
186
- throw new ForthicError_1.ForthicError("interpreter-251", "Stack underflow", "This happens when we expect something to be on the stack, but it's empty. This is caused by a logical error in the Forthic and can be resolved through debugging.");
223
+ throw new errors_1.StackUnderflowError(this.string_location);
187
224
  }
188
225
  let result = this.stack.pop();
189
226
  // If we have a PositionedString, we need to record the location
@@ -210,9 +247,7 @@ class Interpreter {
210
247
  await this.run(module.forthic_code);
211
248
  }
212
249
  catch (e) {
213
- const error = new ForthicError_1.ForthicError("interpreter-278", `Something went wrong when running the module ${module.name}`, "TODO: File a ticket");
214
- error.set_caught_error(e);
215
- throw error;
250
+ throw new errors_1.ModuleError(module.name, e, this.string_location);
216
251
  }
217
252
  this.module_stack_pop();
218
253
  }
@@ -297,7 +332,7 @@ class Interpreter {
297
332
  return;
298
333
  }
299
334
  else {
300
- throw new ForthicError_1.ForthicError("interpreter-362", `Hmmm...the interpreter doesn't know what to make of '${token.string}'`, "This is most likely caused by a typo in the Forthic code and can be resolved by debugging.", token.location);
335
+ throw new errors_1.UnknownTokenError(token.string, this.string_location);
301
336
  }
302
337
  }
303
338
  handle_string_token(token) {
@@ -332,7 +367,7 @@ class Interpreter {
332
367
  }
333
368
  handle_start_definition_token(token) {
334
369
  if (this.is_compiling) {
335
- throw new ForthicError_1.ForthicError("interpreter-407", "A definition was started while an existing definition was not ended", "This is probably caused by a missing semicolon. To resolve, ensure that all word definitions end with semicolons.", token.location);
370
+ throw new errors_1.MissingSemicolonError(token.location);
336
371
  }
337
372
  this.cur_definition = new module_1.DefinitionWord(token.string);
338
373
  this.is_compiling = true;
@@ -340,18 +375,15 @@ class Interpreter {
340
375
  }
341
376
  handle_start_memo_token(token) {
342
377
  if (this.is_compiling) {
343
- throw new ForthicError_1.ForthicError("interpreter-420", "A memo definition was started while an existing definition was not ended", "This is probably caused by a missing semicolon. To resolve, ensure that all word definitions end with semicolons.", token.location);
378
+ throw new errors_1.MissingSemicolonError(token.location);
344
379
  }
345
380
  this.cur_definition = new module_1.DefinitionWord(token.string);
346
381
  this.is_compiling = true;
347
382
  this.is_memo_definition = true;
348
383
  }
349
384
  handle_end_definition_token(token) {
350
- if (!this.is_compiling) {
351
- throw new ForthicError_1.ForthicError("interpreter-433", "A definition was ended when one hadn't been started yet", "This is probably caused by an extra semicolon. To resolve, ensure that there are no spurious semicolons in the Forthic code.", token.location);
352
- }
353
- if (!this.cur_definition) {
354
- throw new ForthicError_1.ForthicError("interpreter-440", "Cannot finish definition because there is no current definition", "Please file a ticket", token.location);
385
+ if (!this.is_compiling || !this.cur_definition) {
386
+ throw new errors_1.ExtraSemicolonError(token.location);
355
387
  }
356
388
  if (this.is_memo_definition) {
357
389
  this.cur_module().add_memo_words(this.cur_definition);
@@ -363,9 +395,8 @@ class Interpreter {
363
395
  }
364
396
  async handle_word_token(token) {
365
397
  const word = this.find_word(token.string);
366
- if (!word) {
367
- throw new ForthicError_1.ForthicError("interpreter-458", `Could not find word: ${token.string}`, "Check to see if you have a typo in your word or the definition of that word", token.location);
368
- }
398
+ if (!word)
399
+ throw new errors_1.UnknownWordError(token.string, token.location);
369
400
  await this.handle_word(word, token.location);
370
401
  return;
371
402
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/forthic/interpreter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/forthic/interpreter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Module = exports.ModuleMemoBangAtWord = exports.ModuleMemoBangWord = exports.ModuleMemoWord = exports.ImportedWord = exports.ModuleWord = exports.DefinitionWord = exports.PushValueWord = exports.Word = exports.Variable = void 0;
4
- const ForthicError_1 = require("./ForthicError");
4
+ const errors_1 = require("./errors");
5
5
  // -------------------------------------
6
6
  // Variable
7
7
  class Variable {
@@ -69,9 +69,7 @@ class DefinitionWord extends Word {
69
69
  await word.execute(interp);
70
70
  }
71
71
  catch (e) {
72
- const error = new ForthicError_1.ForthicError("module-65", `Error executing word ${word.name}`, `Error in ${this.name} definition`, interp.get_string_location());
73
- error.set_caught_error(e);
74
- throw error;
72
+ throw new errors_1.WordExecutionError(word.name, e, interp.get_string_location());
75
73
  }
76
74
  }
77
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/forthic/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/forthic/module.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { ICodeLocation } from "./ForthicError";
2
1
  export declare enum TokenType {
3
2
  STRING = 1,
4
3
  COMMENT = 2,
@@ -55,7 +54,7 @@ export declare class Tokenizer {
55
54
  transition_from_GATHER_STRING(delim: string): Token;
56
55
  transition_from_GATHER_WORD(): Token;
57
56
  }
58
- export declare class CodeLocation implements ICodeLocation {
57
+ export declare class CodeLocation {
59
58
  screen_name: string;
60
59
  line: number;
61
60
  column: number;
@@ -75,3 +74,23 @@ export declare class PositionedString {
75
74
  constructor(string: string, location: CodeLocation);
76
75
  valueOf(): string;
77
76
  }
77
+ declare class TokenizerError extends Error {
78
+ private note;
79
+ private input;
80
+ private location;
81
+ constructor(note: string, input: string, location: CodeLocation);
82
+ getNote(): string;
83
+ getInput(): string;
84
+ getLocation(): CodeLocation;
85
+ getMessage(): string;
86
+ }
87
+ export declare class InvalidInputPositionError extends TokenizerError {
88
+ constructor(input: string, location: CodeLocation);
89
+ }
90
+ export declare class InvalidWordNameError extends TokenizerError {
91
+ constructor(input: string, location: CodeLocation, note: string);
92
+ }
93
+ export declare class UnterminatedStringError extends TokenizerError {
94
+ constructor(input: string, location: CodeLocation);
95
+ }
96
+ export {};
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PositionedString = exports.CodeLocation = exports.Tokenizer = exports.DLE = exports.Token = exports.TokenType = void 0;
4
- const ForthicError_1 = require("./ForthicError");
3
+ exports.UnterminatedStringError = exports.InvalidWordNameError = exports.InvalidInputPositionError = exports.PositionedString = exports.CodeLocation = exports.Tokenizer = exports.DLE = exports.Token = exports.TokenType = void 0;
5
4
  // -------------------------------------
6
5
  // Tokenizer
7
6
  var TokenType;
@@ -31,7 +30,7 @@ exports.DLE = String.fromCharCode(16);
31
30
  class Tokenizer {
32
31
  constructor(string, reference_location = null) {
33
32
  if (!reference_location) {
34
- reference_location = new CodeLocation({ screen_name: "<ad-hoc>" });
33
+ reference_location = new CodeLocation({ screen_name: "<string>" });
35
34
  }
36
35
  this.reference_location = reference_location;
37
36
  this.line = reference_location.line;
@@ -103,7 +102,7 @@ class Tokenizer {
103
102
  for (i = 0; i < -num_chars; i++) {
104
103
  this.input_pos -= 1;
105
104
  if (this.input_pos < 0 || this.column < 0) {
106
- throw new ForthicError_1.ForthicError("tokenizer-107", `Tried advancing position backwards by ${-num_chars} but position is now invalid (${this.input_pos})`, "Check to see if you're trying to advance past the beginning of the input");
105
+ throw new InvalidInputPositionError(this.input_string, this.get_token_location());
107
106
  }
108
107
  if (this.input_string[this.input_pos] === "\n") {
109
108
  this.line -= 1;
@@ -192,18 +191,14 @@ class Tokenizer {
192
191
  if (this.is_whitespace(char))
193
192
  continue;
194
193
  else if (this.is_quote(char)) {
195
- // throw new ForthixError(
196
- // TokenType.NO_QUOTES_IN_NAME,
197
- // 120,
198
- // `Definition names can't have quotes in them: ${this.input_string.substr(start_pos, this.input_pos)}`,
199
- // );
194
+ throw new InvalidWordNameError(this.input_string, this.get_token_location(), "Definition names can't have quotes in them");
200
195
  }
201
196
  else {
202
197
  this.advance_position(-1);
203
198
  return this.transition_from_GATHER_DEFINITION_NAME();
204
199
  }
205
200
  }
206
- throw new ForthicError_1.ForthicError("tokenizer-120", "Got EOS in START_DEFINITION", "Check to see if you're missing a closing character");
201
+ throw new InvalidWordNameError(this.input_string, this.get_token_location(), "Got EOS in START_DEFINITION");
207
202
  }
208
203
  transition_from_START_MEMO() {
209
204
  while (this.input_pos < this.input_string.length) {
@@ -212,13 +207,13 @@ class Tokenizer {
212
207
  if (this.is_whitespace(char))
213
208
  continue;
214
209
  else if (this.is_quote(char))
215
- throw new ForthicError_1.ForthicError("tokenizer-130", "Definitions shouldn't have quotes in them", "Check to see if you're missing a closing character");
210
+ throw new InvalidWordNameError(this.input_string, this.get_token_location(), "Memo names can't have quotes in them");
216
211
  else {
217
212
  this.advance_position(-1);
218
213
  return this.transition_from_GATHER_MEMO_NAME();
219
214
  }
220
215
  }
221
- throw new ForthicError_1.ForthicError("tokenizer-130", "Got EOS in START_MEMO", "Check to see if you're missing a closing character");
216
+ throw new InvalidWordNameError(this.input_string, this.get_token_location(), "Got EOS in START_MEMO");
222
217
  }
223
218
  gather_definition_name() {
224
219
  while (this.input_pos < this.input_string.length) {
@@ -227,14 +222,11 @@ class Tokenizer {
227
222
  if (this.is_whitespace(char))
228
223
  break;
229
224
  if (this.is_quote(char)) {
230
- // throw new ForthixError(
231
- // TokenType.NO_QUOTES_IN_NAME,
232
- // 153,
233
- // `Definition names can't have quotes in them: ${this.input_string.substr(start_pos, this.input_pos)}`,
234
- // );
225
+ throw new InvalidWordNameError(this.input_string, this.get_token_location(), "Definition names can't have quotes in them");
226
+ }
227
+ if (["[", "]", "{", "}"].indexOf(char) >= 0) {
228
+ throw new InvalidWordNameError(this.input_string, this.get_token_location(), `Definition names can't have '${char}' in them`);
235
229
  }
236
- if (["[", "]", "{", "}"].indexOf(char) >= 0)
237
- throw new ForthicError_1.ForthicError("tokenizer-153", `Definitions can't have '${char}' in them`, "Check to see if you're missing a closing character");
238
230
  this.token_string += char;
239
231
  }
240
232
  }
@@ -279,7 +271,7 @@ class Tokenizer {
279
271
  this.token_string += char;
280
272
  }
281
273
  }
282
- throw new ForthicError_1.ForthicError("tokenizer-295", `Unterminated string: ${delim}${delim}${delim}${this.token_string}`, "Check to see if you're missing a closing quote");
274
+ throw new UnterminatedStringError(this.input_string, this.get_token_location());
283
275
  }
284
276
  transition_from_GATHER_STRING(delim) {
285
277
  this.note_start_token();
@@ -292,7 +284,7 @@ class Tokenizer {
292
284
  else
293
285
  this.token_string += char;
294
286
  }
295
- throw new ForthicError_1.ForthicError("tokenizer-295", `Unterminated string: ${delim}${this.token_string}`, "Check to see if you're missing a closing quote");
287
+ throw new UnterminatedStringError(this.input_string, this.get_token_location());
296
288
  }
297
289
  transition_from_GATHER_WORD() {
298
290
  this.note_start_token();
@@ -332,4 +324,48 @@ class PositionedString {
332
324
  }
333
325
  }
334
326
  exports.PositionedString = PositionedString;
327
+ class TokenizerError extends Error {
328
+ constructor(note, input, location) {
329
+ const message = `${note} from ${location.start_pos} to ${location.end_pos} in '${input}'`;
330
+ super(message);
331
+ this.note = note;
332
+ this.input = input;
333
+ this.location = location;
334
+ this.name = "TokenizerError";
335
+ }
336
+ getNote() {
337
+ return this.note;
338
+ }
339
+ getInput() {
340
+ return this.input;
341
+ }
342
+ getLocation() {
343
+ return this.location;
344
+ }
345
+ getMessage() {
346
+ return this.message;
347
+ }
348
+ }
349
+ class InvalidInputPositionError extends TokenizerError {
350
+ constructor(input, location) {
351
+ super("Invalid input position", input, location);
352
+ this.name = "InvalidInputPositionError";
353
+ }
354
+ }
355
+ exports.InvalidInputPositionError = InvalidInputPositionError;
356
+ class InvalidWordNameError extends TokenizerError {
357
+ constructor(input, location, note) {
358
+ const message = `Invalid word name: ${note}`;
359
+ super(message, input, location);
360
+ this.name = "InvalidWordNameError";
361
+ }
362
+ }
363
+ exports.InvalidWordNameError = InvalidWordNameError;
364
+ class UnterminatedStringError extends TokenizerError {
365
+ constructor(input, location) {
366
+ super("Unterminated string", input, location);
367
+ this.name = "UnterminatedStringError";
368
+ }
369
+ }
370
+ exports.UnterminatedStringError = UnterminatedStringError;
335
371
  //# sourceMappingURL=tokenizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/forthic/tokenizer.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAE7D,wCAAwC;AACxC,YAAY;AACZ,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,6CAAU,CAAA;IACV,+CAAO,CAAA;IACP,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,yDAAY,CAAA;IACZ,qDAAU,CAAA;IACV,mDAAS,CAAA;IACT,+CAAO,CAAA;IACP,qDAAU,CAAA;IACV,0CAAI,CAAA;IACJ,wCAAG,CAAA;AACL,CAAC,EAZW,SAAS,yBAAT,SAAS,QAYpB;AAED,MAAa,KAAK;IAKhB,YAAY,IAAe,EAAE,MAAc,EAAE,QAAsB;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAVD,sBAUC;AAED,qBAAqB;AACR,QAAA,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAa,SAAS;IAcpB,YAAY,MAAc,EAAE,qBAA0C,IAAI;QACxE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,IAAI,YAAY,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAC9D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,mCAAmC;QAEjF,aAAa;QACb,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,mBAAmB;IAEnB,eAAe,CAAC,MAAc;QAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,IAAY;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;YACrC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CACtC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CACzE,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,SAAiB;QAChC,IAAI,CAAC,CAAC;QACN,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;gBACpB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,2BAAY,CACpB,eAAe,EACf,yCAAyC,CAAC,SAAS,iCACjD,IAAI,CAAC,SACP,GAAG,EACH,0EAA0E,CAC3E,CAAC;gBACJ,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,CAAC;QACT,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,YAAY,CAAC;YACtB,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW;YAChD,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;SACzD,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBACxD,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,gCAAgC,EAAE,CAAC;iBACjE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;gBAClD,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,WAAW,EACrB,IAAI,EACJ,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,6BAA6B,EAAE,CAAC;iBAChE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;gBAC9D,OAAO,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5B,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;iBAC7C,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;gBAC1D,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,gCAAgC;QAC9B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,0BAA0B;gBAC1B,mCAAmC;gBACnC,WAAW;gBACX,4GAA4G;gBAC5G,KAAK;YACP,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,sCAAsC,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,2BAAY,CACpB,eAAe,EACf,6BAA6B,EAC7B,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1B,MAAM,IAAI,2BAAY,CACpB,eAAe,EACf,2CAA2C,EAC3C,oDAAoD,CACrD,CAAC;iBACC,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,gCAAgC,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,2BAAY,CACpB,eAAe,EACf,uBAAuB,EACvB,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,0BAA0B;gBAC1B,mCAAmC;gBACnC,WAAW;gBACX,4GAA4G;gBAC5G,KAAK;YACP,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzC,MAAM,IAAI,2BAAY,CACpB,eAAe,EACf,2BAA2B,IAAI,WAAW,EAC1C,oDAAoD,CACrD,CAAC;YACJ,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,sCAAsC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,SAAS,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,gCAAgC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;iBAC/B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;;gBAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,YAAY,EACtB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,0CAA0C,CAAC,KAAa;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,KAAK,CAAC;QAE/B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IACE,IAAI,KAAK,gBAAgB;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAC1C,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,MAAM,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,MAAM,IAAI,2BAAY,CACpB,eAAe,EACf,wBAAwB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,EACnE,gDAAgD,CACjD,CAAC;IACJ,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,KAAK,CAAC;QAE/B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,gBAAgB;gBAC3B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,MAAM,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;;gBACC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,2BAAY,CACpB,eAAe,EACf,wBAAwB,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,EACnD,gDAAgD,CACjD,CAAC;IACJ,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;YACpC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;;gBAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,IAAI,EACd,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AA7WD,8BA6WC;AAED,MAAa,YAAY;IAOvB,YAAY,EACV,WAAW,GAAG,UAAU,EACxB,IAAI,GAAG,CAAC,EACR,MAAM,GAAG,CAAC,EACV,SAAS,GAAG,CAAC,EACb,OAAO,GAAG,CAAC,GACZ;QACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AApBD,oCAoBC;AAED,MAAa,gBAAgB;IAI3B,YAAY,MAAc,EAAE,QAAsB;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAZD,4CAYC"}
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/forthic/tokenizer.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AACxC,YAAY;AACZ,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,6CAAU,CAAA;IACV,+CAAO,CAAA;IACP,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,yDAAY,CAAA;IACZ,qDAAU,CAAA;IACV,mDAAS,CAAA;IACT,+CAAO,CAAA;IACP,qDAAU,CAAA;IACV,0CAAI,CAAA;IACJ,wCAAG,CAAA;AACL,CAAC,EAZW,SAAS,yBAAT,SAAS,QAYpB;AAED,MAAa,KAAK;IAKhB,YAAY,IAAe,EAAE,MAAc,EAAE,QAAsB;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAVD,sBAUC;AAED,qBAAqB;AACR,QAAA,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAa,SAAS;IAcpB,YAAY,MAAc,EAAE,qBAA0C,IAAI;QACxE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,IAAI,YAAY,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAC9D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,mCAAmC;QAEjF,aAAa;QACb,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,mBAAmB;IAEnB,eAAe,CAAC,MAAc;QAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,IAAY;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;YACrC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CACtC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CACzE,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,SAAiB;QAChC,IAAI,CAAC,CAAC;QACN,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;gBACpB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,CAAC;QACT,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,YAAY,CAAC;YACtB,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW;YAChD,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;SACzD,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBACxD,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,gCAAgC,EAAE,CAAC;iBACjE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;gBAClD,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,WAAW,EACrB,IAAI,EACJ,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,6BAA6B,EAAE,CAAC;iBAChE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;gBAC9D,OAAO,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5B,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;iBAC7C,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;gBAC1D,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,gCAAgC;QAC9B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,4CAA4C,CAAC,CAAC;YAC7H,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,sCAAsC,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAC9G,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1B,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,sCAAsC,CAAC,CAAC;iBAClH,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,gCAAgC,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACxG,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,4CAA4C,CAAC,CAAC;YAC7H,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,gCAAgC,IAAI,WAAW,CAAC,CAAC;YAChI,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,sCAAsC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,SAAS,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,gCAAgC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;iBAC/B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;;gBAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,YAAY,EACtB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,0CAA0C,CAAC,KAAa;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,KAAK,CAAC;QAE/B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IACE,IAAI,KAAK,gBAAgB;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAC1C,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,MAAM,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,KAAK,CAAC;QAE/B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,gBAAgB;gBAC3B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,MAAM,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;;gBACC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;YACpC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;;gBAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,IAAI,EACd,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AAzUD,8BAyUC;AAED,MAAa,YAAY;IAOvB,YAAY,EACV,WAAW,GAAG,UAAU,EACxB,IAAI,GAAG,CAAC,EACR,MAAM,GAAG,CAAC,EACV,SAAS,GAAG,CAAC,EACb,OAAO,GAAG,CAAC,GACZ;QACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AApBD,oCAoBC;AAED,MAAa,gBAAgB;IAI3B,YAAY,MAAc,EAAE,QAAsB;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAZD,4CAYC;AAGD,MAAM,cAAe,SAAQ,KAAK;IAChC,YAAoB,IAAY,EAAU,KAAa,EAAU,QAAsB;QAErF,MAAM,OAAO,GAAG,GAAG,IAAI,SAAS,QAAQ,CAAC,SAAS,OAAO,QAAQ,CAAC,OAAO,QAAQ,KAAK,GAAG,CAAC;QAC1F,KAAK,CAAC,OAAO,CAAC,CAAC;QAHG,SAAI,GAAJ,IAAI,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAc;QAIrF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CAEF;AAED,MAAa,yBAA0B,SAAQ,cAAc;IAC3D,YAAY,KAAa,EAAE,QAAsB;QAC/C,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAED,MAAa,oBAAqB,SAAQ,cAAc;IACtD,YAAY,KAAa,EAAE,QAAsB,EAAE,IAAY;QAC7D,MAAM,OAAO,GAAG,sBAAsB,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAND,oDAMC;AAED,MAAa,uBAAwB,SAAQ,cAAc;IACzD,YAAY,KAAa,EAAE,QAAsB;QAC/C,KAAK,CAAC,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AALD,0DAKC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./forthic/interpreter.js";
2
2
  export * from "./forthic/tokenizer";
3
3
  export * from "./forthic/module.js";
4
+ export * from "./forthic/errors.js";
package/dist/esm/index.js CHANGED
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./forthic/interpreter.js"), exports);
18
18
  __exportStar(require("./forthic/tokenizer"), exports);
19
19
  __exportStar(require("./forthic/module.js"), exports);
20
+ __exportStar(require("./forthic/errors.js"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAmC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forthic/interp",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Forthic interpreter",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -14,7 +14,6 @@
14
14
  "build": "npm run build:cjs && npm run build:esm",
15
15
  "test": "jest",
16
16
  "test:watch": "jest --watch"
17
-
18
17
  },
19
18
  "repository": {
20
19
  "type": "git",
@@ -26,8 +25,6 @@
26
25
  "url": "https://github.com/linkedin/forthic/issues"
27
26
  },
28
27
  "homepage": "https://github.com/linkedin/forthic#readme",
29
- "dependencies": {
30
- },
31
28
  "devDependencies": {
32
29
  "@babel/cli": "^7.25.9",
33
30
  "@babel/core": "^7.26.0",