@multitapio/multitap 0.0.12 → 0.0.14

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 (56) hide show
  1. package/dist/codegen/config.d.ts +5 -2
  2. package/dist/codegen/config.d.ts.map +1 -1
  3. package/dist/codegen/rust.d.ts +3 -6
  4. package/dist/codegen/rust.d.ts.map +1 -1
  5. package/dist/codegen/typescript.d.ts +3 -6
  6. package/dist/codegen/typescript.d.ts.map +1 -1
  7. package/dist/diagnostics.js +404 -8
  8. package/dist/executor.d.ts +27 -0
  9. package/dist/executor.d.ts.map +1 -1
  10. package/dist/init-data.d.ts +25 -0
  11. package/dist/init-data.d.ts.map +1 -0
  12. package/dist/lib.js +670 -9
  13. package/dist/react/views/FirstPersonView.d.ts.map +1 -1
  14. package/dist/react/views/ThirdPersonFixedView.d.ts.map +1 -1
  15. package/dist/react/views/ThirdPersonView.d.ts.map +1 -1
  16. package/dist/react/views/VehicleFixedView.d.ts.map +1 -1
  17. package/dist/react/views/VehicleView.d.ts.map +1 -1
  18. package/dist/schema.d.ts +68 -0
  19. package/dist/schema.d.ts.map +1 -1
  20. package/dist/session.d.ts +5 -0
  21. package/dist/session.d.ts.map +1 -1
  22. package/dist/test-session.d.ts +4 -0
  23. package/dist/test-session.d.ts.map +1 -1
  24. package/dist/types/codegen/config.d.ts +5 -2
  25. package/dist/types/codegen/config.d.ts.map +1 -1
  26. package/dist/types/codegen/rust.d.ts +3 -6
  27. package/dist/types/codegen/rust.d.ts.map +1 -1
  28. package/dist/types/codegen/typescript.d.ts +3 -6
  29. package/dist/types/codegen/typescript.d.ts.map +1 -1
  30. package/dist/types/executor.d.ts +27 -0
  31. package/dist/types/executor.d.ts.map +1 -1
  32. package/dist/types/init-data.d.ts +25 -0
  33. package/dist/types/init-data.d.ts.map +1 -0
  34. package/dist/types/react/views/FirstPersonView.d.ts.map +1 -1
  35. package/dist/types/react/views/ThirdPersonFixedView.d.ts.map +1 -1
  36. package/dist/types/react/views/ThirdPersonView.d.ts.map +1 -1
  37. package/dist/types/react/views/VehicleFixedView.d.ts.map +1 -1
  38. package/dist/types/react/views/VehicleView.d.ts.map +1 -1
  39. package/dist/types/schema.d.ts +68 -0
  40. package/dist/types/schema.d.ts.map +1 -1
  41. package/dist/types/session.d.ts +5 -0
  42. package/dist/types/session.d.ts.map +1 -1
  43. package/dist/types/test-session.d.ts +4 -0
  44. package/dist/types/test-session.d.ts.map +1 -1
  45. package/dist/types/vite/codegen-runner.d.ts +2 -1
  46. package/dist/types/vite/codegen-runner.d.ts.map +1 -1
  47. package/dist/types/vite/module-builder.d.ts +2 -1
  48. package/dist/types/vite/module-builder.d.ts.map +1 -1
  49. package/dist/types/vite/plugin.d.ts.map +1 -1
  50. package/dist/vite/codegen-runner.d.ts +2 -1
  51. package/dist/vite/codegen-runner.d.ts.map +1 -1
  52. package/dist/vite/index.js +1403 -692
  53. package/dist/vite/module-builder.d.ts +2 -1
  54. package/dist/vite/module-builder.d.ts.map +1 -1
  55. package/dist/vite/plugin.d.ts.map +1 -1
  56. package/package.json +2 -2
@@ -14,6 +14,7 @@
14
14
  import { type TickResult } from './rollback';
15
15
  import { type CompiledSchema, type StateSchema, type StateBuffer } from './state';
16
16
  import { type InputSchema } from './input-codec';
17
+ import type { CompiledInitDataSchema } from './schema';
17
18
  import type { Participant, SessionOptions, MultitapPlugin } from './session';
18
19
  /**
19
20
  * Options for creating a TestSession.
@@ -25,7 +26,10 @@ export interface TestSessionOptions {
25
26
  schema: {
26
27
  state: StateSchema | CompiledSchema;
27
28
  input: InputSchema;
29
+ initData?: CompiledInitDataSchema;
28
30
  };
31
+ /** Init data values (required if schema.initData is provided) */
32
+ initData?: Record<string, unknown> | undefined;
29
33
  /** Tick rate in Hz (default: 20) */
30
34
  tickRate?: number;
31
35
  /** Maximum ticks for the session (default: 10000) */
@@ -1 +1 @@
1
- {"version":3,"file":"test-session.d.ts","sourceRoot":"","sources":["../../src/test-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM7E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,8BAA8B;IAC9B,MAAM,EAAE;QACN,KAAK,EAAE,WAAW,GAAG,cAAc,CAAC;QACpC,KAAK,EAAE,WAAW,CAAC;KACpB,CAAC;IAEF,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,WAAW;IAEtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,QAAQ,CAA0B;IAG1C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,UAAU,CAAa;IAG/B,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,aAAa,CAA2E;IAGhG,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO;IAuBP;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAgEtE,eAAe,IAAI,WAAW,EAAE;IAIhC;;;;;;OAMG;WACU,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAStE;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU;IAQ9C;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAInF;;;;;OAKG;IACG,IAAI,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBlD;;;;;;;;;;;;;;OAcG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAW5F;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO9B;;;OAGG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;YACW,eAAe;CA+C9B"}
1
+ {"version":3,"file":"test-session.d.ts","sourceRoot":"","sources":["../../src/test-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAErF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIvD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM7E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,8BAA8B;IAC9B,MAAM,EAAE;QACN,KAAK,EAAE,WAAW,GAAG,cAAc,CAAC;QACpC,KAAK,EAAE,WAAW,CAAC;QACnB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;KACnC,CAAC;IAEF,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAE/C,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,WAAW;IAEtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,QAAQ,CAA0B;IAG1C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,UAAU,CAAa;IAG/B,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,aAAa,CAA2E;IAGhG,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO;IAuBP;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IA8EtE,eAAe,IAAI,WAAW,EAAE;IAIhC;;;;;;OAMG;WACU,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAUtE;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU;IAQ9C;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAInF;;;;;OAKG;IACG,IAAI,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBlD;;;;;;;;;;;;;;OAcG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAW5F;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO9B;;;OAGG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;YACW,eAAe;CA+C9B"}
@@ -6,10 +6,11 @@
6
6
  * @module vite/codegen-runner
7
7
  */
8
8
  import { type ConfigGraph, type MergedConfig } from '../codegen';
9
- import { type CompiledStateSchema, type CompiledInputSchema } from '../schema';
9
+ import { type CompiledStateSchema, type CompiledInputSchema, type CompiledInitDataSchema } from '../schema';
10
10
  export interface CodegenResult {
11
11
  compiledState: CompiledStateSchema;
12
12
  compiledInput: CompiledInputSchema;
13
+ compiledInitData: CompiledInitDataSchema | undefined;
13
14
  mergedConfig: MergedConfig;
14
15
  graph: ConfigGraph;
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-runner.d.ts","sourceRoot":"","sources":["../../../src/vite/codegen-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA0C,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEvH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,mBAAmB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAuDpG"}
1
+ {"version":3,"file":"codegen-runner.d.ts","sourceRoot":"","sources":["../../../src/vite/codegen-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAiE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE3K,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACrD,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAgEpG"}
@@ -9,12 +9,13 @@
9
9
  * @module vite/module-builder
10
10
  */
11
11
  import type { Config } from '../codegen/config';
12
- import type { CompiledStateSchema } from '../schema';
12
+ import type { CompiledStateSchema, CompiledInitDataSchema } from '../schema';
13
13
  import type { WasmCompileResult } from './types';
14
14
  export interface BuildModuleOptions {
15
15
  config: Config;
16
16
  plugins: WasmCompileResult[];
17
17
  compiledState: CompiledStateSchema;
18
+ compiledInitData?: CompiledInitDataSchema | undefined;
18
19
  }
19
20
  /**
20
21
  * Build the virtual module JavaScript source code.
@@ -1 +1 @@
1
- {"version":3,"file":"module-builder.d.ts","sourceRoot":"","sources":["../../../src/vite/module-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA8CjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA2CtE"}
1
+ {"version":3,"file":"module-builder.d.ts","sourceRoot":"","sources":["../../../src/vite/module-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAgEjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA6CtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAEnD,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAQxE;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAyF1E"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAEnD,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAQxE;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CA0F1E"}
@@ -6,10 +6,11 @@
6
6
  * @module vite/codegen-runner
7
7
  */
8
8
  import { type ConfigGraph, type MergedConfig } from '../codegen';
9
- import { type CompiledStateSchema, type CompiledInputSchema } from '../schema';
9
+ import { type CompiledStateSchema, type CompiledInputSchema, type CompiledInitDataSchema } from '../schema';
10
10
  export interface CodegenResult {
11
11
  compiledState: CompiledStateSchema;
12
12
  compiledInput: CompiledInputSchema;
13
+ compiledInitData: CompiledInitDataSchema | undefined;
13
14
  mergedConfig: MergedConfig;
14
15
  graph: ConfigGraph;
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-runner.d.ts","sourceRoot":"","sources":["../../../src/vite/codegen-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA0C,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEvH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,mBAAmB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAuDpG"}
1
+ {"version":3,"file":"codegen-runner.d.ts","sourceRoot":"","sources":["../../../src/vite/codegen-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAiE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE3K,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACrD,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAgEpG"}