@agoric/async-flow 0.2.0 → 0.2.1-upgrade-23-dev-bd79330.0.bd79330

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/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@agoric/async-flow",
3
- "version": "0.2.0",
3
+ "version": "0.2.1-upgrade-23-dev-bd79330.0.bd79330",
4
4
  "description": "Upgrade async functions at await points by replay",
5
5
  "type": "module",
6
6
  "repository": "https://github.com/Agoric/agoric-sdk",
7
7
  "main": "./index.js",
8
8
  "scripts": {
9
9
  "build": "exit 0",
10
- "prepack": "yarn run -T tsc --build tsconfig.build.json",
11
- "postpack": "git clean -f '*.d.*ts*' '*.tsbuildinfo'",
10
+ "prepack": "yarn run -T prepack-package",
11
+ "postpack": "yarn run -T postpack-package",
12
12
  "test": "ava",
13
13
  "test:c8": "c8 --all ${C8_OPTIONS:-} ava",
14
14
  "test:xs": "exit 0",
15
15
  "lint-fix": "yarn lint:eslint --fix",
16
16
  "lint": "yarn run -T run-s --continue-on-error 'lint:*'",
17
- "lint:eslint": "yarn run -T eslint .",
17
+ "lint:eslint": "node ../../scripts/eslint-repo.mjs .",
18
18
  "lint:types": "yarn run -T tsc"
19
19
  },
20
20
  "exports": {
@@ -24,10 +24,10 @@
24
24
  "author": "Agoric",
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@agoric/base-zone": "0.2.0",
28
- "@agoric/internal": "0.4.0",
29
- "@agoric/store": "0.10.0",
30
- "@agoric/vow": "0.2.0",
27
+ "@agoric/base-zone": "0.2.1-upgrade-23-dev-bd79330.0.bd79330",
28
+ "@agoric/internal": "0.4.1-upgrade-23-dev-bd79330.0.bd79330",
29
+ "@agoric/store": "0.10.1-upgrade-23-dev-bd79330.0.bd79330",
30
+ "@agoric/vow": "0.2.1-upgrade-23-dev-bd79330.0.bd79330",
31
31
  "@endo/common": "^1.2.13",
32
32
  "@endo/errors": "^1.2.13",
33
33
  "@endo/eventual-send": "^1.3.4",
@@ -37,10 +37,10 @@
37
37
  "@endo/promise-kit": "^1.1.13"
38
38
  },
39
39
  "devDependencies": {
40
- "@agoric/swingset-vat": "0.33.0",
41
- "@agoric/zone": "0.3.0",
40
+ "@agoric/swingset-vat": "0.33.1-upgrade-23-dev-bd79330.0.bd79330",
41
+ "@agoric/zone": "0.3.1-upgrade-23-dev-bd79330.0.bd79330",
42
42
  "@endo/env-options": "^1.1.11",
43
- "ava": "^5.3.0",
43
+ "ava": "^6.4.1",
44
44
  "tsd": "^0.33.0"
45
45
  },
46
46
  "publishConfig": {
@@ -56,11 +56,10 @@
56
56
  "require": [
57
57
  "@endo/init/debug.js"
58
58
  ],
59
- "timeout": "20m",
60
- "workerThreads": false
59
+ "timeout": "20m"
61
60
  },
62
61
  "typeCoverage": {
63
- "atLeast": 77.17
62
+ "atLeast": 77.35
64
63
  },
65
- "gitHead": "0922d0447ab8fae9d2d87415964403330b5ca313"
64
+ "gitHead": "bd79330f78dae2faf9cc3d8b10063567700da07b"
66
65
  }
@@ -40,48 +40,7 @@ export function prepareAsyncFlowTools(outerZone: Zone, outerOptions?: Preparatio
40
40
  allWokenP: Promise<void>;
41
41
  prepareEndowment: (zone: Zone, tag: string, e: unknown) => any;
42
42
  };
43
- export type AsyncFlowTools = ReturnType<(outerZone: Zone, outerOptions?: PreparationOptions) => {
44
- prepareAsyncFlowKit: (zone: Zone, tag: string, guestAsyncFunc: GuestAsyncFunc, options?: {
45
- startEager?: boolean;
46
- }) => (activationArgs: any) => import("@endo/exo").GuardedKit<{
47
- flow: {
48
- /**
49
- * @returns {FlowState}
50
- */
51
- getFlowState(): FlowState;
52
- /**
53
- * Calls the guest function, either for the initial run or at the
54
- * start of a replay.
55
- *
56
- * @param {boolean} [eager]
57
- */
58
- restart(eager?: boolean): void;
59
- wake(): void;
60
- getOutcome(): import("@agoric/vow").Vow<any>;
61
- dump(): ([op: "doFulfill", vow: import("@agoric/vow").Vow<import("@endo/pass-style").Passable>, fulfillment: import("@endo/pass-style").Passable] | [op: "doReject", vow: import("@agoric/vow").Vow<import("@endo/pass-style").Passable>, reason: import("@endo/pass-style").Passable] | [op: "doReturn", callIndex: number, result: import("@endo/pass-style").Passable] | [op: "doThrow", callIndex: number, problem: import("@endo/pass-style").Passable] | [op: "checkCall", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number] | [op: "checkSendOnly", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number] | [op: "checkSend", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number])[];
62
- getOptFatalProblem(): any;
63
- };
64
- admin: {
65
- reset(): void;
66
- complete(): void;
67
- panic(fatalProblem: any): never;
68
- };
69
- wakeWatcher: {
70
- onFulfilled(_fulfillment: any): void;
71
- onRejected(_fulfillment: any): void;
72
- };
73
- }>;
74
- asyncFlow: <F extends GuestAsyncFunc>(zone: Zone, tag: string, guestFunc: F, options?: {
75
- startEager?: boolean;
76
- }) => HostOf<F>;
77
- adminAsyncFlow: import("@endo/exo").Guarded<{
78
- getFailures(): import("@endo/patterns").CopyMap<any, import("@endo/pass-style").Passable>;
79
- wakeAll(): void;
80
- getFlowForOutcomeVow(outcomeVow: any): any;
81
- }>;
82
- allWokenP: Promise<void>;
83
- prepareEndowment: (zone: Zone, tag: string, e: unknown) => any;
84
- }>;
43
+ export type AsyncFlowTools = ReturnType<typeof prepareAsyncFlowTools>;
85
44
  export type AdminAsyncFlow = AsyncFlowTools["adminAsyncFlow"];
86
45
  export type MakeAsyncFlowKit = ReturnType<AsyncFlowTools["prepareAsyncFlowKit"]>;
87
46
  export type AsyncFlowKit = ReturnType<MakeAsyncFlowKit>;
@@ -1 +1 @@
1
- {"version":3,"file":"async-flow.d.ts","sourceRoot":"","sources":["async-flow.js"],"names":[],"mappings":"AAgDO,iDAHI,IAAI,iBACJ,kBAAkB;gCA+ChB,IAAI,OACJ,MAAM,kBACN,cAAc,YACd;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;YA4B3B;;eAEG;4BADU,SAAS;YAkCtB;;;;;eAKG;4BADQ,OAAO;;;;;;;;;;;;;;;;gBA6TI,CAAC,SAAlB,cAAgB,QAClB,IAAI,OACJ,MAAM,aACN,CAAC,YACD;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KACtB,OAAO,CAAC,CAAC;;;;;;;;EAsDvB;6BAIY,UAAU,aAlfZ,IAAI,iBACJ,kBAAkB;gCA+ChB,IAAI,OACJ,MAAM,kBACN,cAAc,YACd;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;YA4B3B;;eAEG;4BADU,SAAS;YAkCtB;;;;;eAKG;4BADQ,OAAO;;;;;;;;;;;;;;;;gBA6TI,CAAC,SAAlB,cAAgB,QAClB,IAAI,OACJ,MAAM,aACN,CAAC,YACD;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KACtB,OAAO,CAAC,CAAC;;;;;;;;EA0DsB;6BAIjC,cAAc,CAAC,gBAAgB,CAAC;+BAIhC,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;2BAIjD,UAAU,CAAC,gBAAgB,CAAC;wBAI5B,YAAY,CAAC,MAAM,CAAC;0BAjiBV,mBAAmB;wCACoD,iBAAiB;oCAAjB,iBAAiB;+BAAjB,iBAAiB;4BAAjB,iBAAiB"}
1
+ {"version":3,"file":"async-flow.d.ts","sourceRoot":"","sources":["async-flow.js"],"names":[],"mappings":"AAgDO,iDAHI,IAAI,iBACJ,kBAAkB;gCA+ChB,IAAI,OACJ,MAAM,kBACN,cAAc,YACd;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;YA4B3B;;eAEG;4BADU,SAAS;YAkCtB;;;;;eAKG;4BADQ,OAAO;;;;;;;;;;;;;;;;gBA6TI,CAAC,SAAlB,cAAgB,QAClB,IAAI,OACJ,MAAM,aACN,CAAC,YACD;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KACtB,OAAO,CAAC,CAAC;;;;;;;;EAsDvB;6BAIY,UAAU,CAAC,OAAO,qBAAqB,CAAC;6BAIxC,cAAc,CAAC,gBAAgB,CAAC;+BAIhC,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;2BAIjD,UAAU,CAAC,gBAAgB,CAAC;wBAI5B,YAAY,CAAC,MAAM,CAAC;0BAjiBV,mBAAmB;wCACoD,iBAAiB;oCAAjB,iBAAiB;+BAAjB,iBAAiB;4BAAjB,iBAAiB"}
package/src/async-flow.js CHANGED
@@ -541,7 +541,7 @@ export const prepareAsyncFlowTools = (outerZone, outerOptions = {}) => {
541
541
  harden(prepareAsyncFlowTools);
542
542
 
543
543
  /**
544
- * @typedef {ReturnType<prepareAsyncFlowTools>} AsyncFlowTools
544
+ * @typedef {ReturnType<typeof prepareAsyncFlowTools>} AsyncFlowTools
545
545
  */
546
546
 
547
547
  /**
@@ -7,7 +7,19 @@ export function prepareBijection(zone: Zone, unwrap?: (hostWrapper: PassableCap
7
7
  guestToHost(g: any): any;
8
8
  hostToGuest(h: any): any;
9
9
  }>;
10
- export type VowishStore = ReturnType<(name: string) => {
10
+ export type VowishStore = ReturnType<typeof makeVowishStore>;
11
+ export type Bijection = ReturnType<ReturnType<typeof prepareBijection>>;
12
+ import type { Zone } from '@agoric/base-zone';
13
+ import type { PassableCap } from '@endo/pass-style';
14
+ import type { Vow } from '@agoric/vow';
15
+ /**
16
+ * Makes a store like a WeakMapStore except that Promises and Vows can also be
17
+ * used as keys.
18
+ * NOTE: This depends on promise identity being stable!
19
+ *
20
+ * @param {string} name
21
+ */
22
+ declare function makeVowishStore(name: string): {
11
23
  init: (k: any, v: any) => void;
12
24
  has: (k: any) => boolean;
13
25
  get: (k: any) => any;
@@ -15,17 +27,6 @@ export type VowishStore = ReturnType<(name: string) => {
15
27
  init: (k: any, v: any) => void;
16
28
  has: (k: any) => boolean;
17
29
  get: (k: any) => any;
18
- }>>;
19
- export type Bijection = ReturnType<ReturnType<(zone: Zone, unwrap?: (hostWrapper: PassableCap | Vow, guestWrapper: PassableCap) => unknown) => () => import("@endo/exo").Guarded<{
20
- reset(): void;
21
- unwrapInit(g: any, h: any): unknown;
22
- hasGuest(g: any): boolean;
23
- hasHost(h: any): boolean;
24
- has(g: any, h: any): boolean;
25
- guestToHost(g: any): any;
26
- hostToGuest(h: any): any;
27
- }>>>;
28
- import type { Zone } from '@agoric/base-zone';
29
- import type { PassableCap } from '@endo/pass-style';
30
- import type { Vow } from '@agoric/vow';
30
+ }>;
31
+ export {};
31
32
  //# sourceMappingURL=bijection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bijection.d.ts","sourceRoot":"","sources":["bijection.js"],"names":[],"mappings":"AA+GO,uCAJI,IAAI,WACJ,CAAC,WAAW,EAAE,WAAW,GAAG,GAAG,EAAE,YAAY,EAAE,WAAW,KAAK,OAAO;;;;;;;;GA6FhF;0BAtIa,UAAU,QAhCb,MAAM;;;;;;;;GAgCwB;wBA0I5B,UAAU,CAAC,UAAU,QAlGvB,IAAI,WACJ,CAAC,WAAW,EAAE,WAAW,GAAG,GAAG,EAAE,YAAY,EAAE,WAAW,KAAK,OAAO;;;;;;;;GAiG7B,CAAC;0BArM9B,mBAAmB;iCADZ,kBAAkB;yBAE1B,aAAa"}
1
+ {"version":3,"file":"bijection.d.ts","sourceRoot":"","sources":["bijection.js"],"names":[],"mappings":"AA+GO,uCAJI,IAAI,WACJ,CAAC,WAAW,EAAE,WAAW,GAAG,GAAG,EAAE,YAAY,EAAE,WAAW,KAAK,OAAO;;;;;;;;GA6FhF;0BAtIa,UAAU,CAAC,OAAO,eAAe,CAAC;wBA0InC,UAAU,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;0BArMrC,mBAAmB;iCADZ,kBAAkB;yBAE1B,aAAa;AAqBnC;;;;;;GAMG;AACH,uCAFW,MAAM;;;;;;;;GA8BhB"}
package/src/bijection.js CHANGED
@@ -65,7 +65,7 @@ const makeVowishStore = name => {
65
65
  });
66
66
  };
67
67
 
68
- /** @typedef {ReturnType<makeVowishStore>} VowishStore */
68
+ /** @typedef {ReturnType<typeof makeVowishStore>} VowishStore */
69
69
 
70
70
  /**
71
71
  * As suggested by the name, this *mostly* represents a mathematical bijection,
@@ -203,5 +203,5 @@ export const prepareBijection = (
203
203
  harden(prepareBijection);
204
204
 
205
205
  /**
206
- * @typedef {ReturnType<ReturnType<prepareBijection>>} Bijection
206
+ * @typedef {ReturnType<ReturnType<typeof prepareBijection>>} Bijection
207
207
  */
@@ -6,10 +6,7 @@ export function prepareEndowmentTools(outerZone: Zone, outerOptions?: Preparatio
6
6
  unwrap: (wrapped: any, guestWrapped: any) => any;
7
7
  };
8
8
  export type EndowmentKind = "promise" | "storable" | "far" | "function" | "array" | "record" | "state";
9
- export type EndowmentTools = ReturnType<(outerZone: Zone, outerOptions?: PreparationOptions) => {
10
- prepareEndowment: (zone: Zone, tag: string, e: unknown) => any;
11
- unwrap: (wrapped: any, guestWrapped: any) => any;
12
- }>;
9
+ export type EndowmentTools = ReturnType<typeof prepareEndowmentTools>;
13
10
  import type { Zone } from '@agoric/base-zone';
14
11
  import type { PreparationOptions } from '../src/types.js';
15
12
  //# sourceMappingURL=endowments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endowments.d.ts","sourceRoot":"","sources":["endowments.js"],"names":[],"mappings":"AAiDO;;EASN;AAMM,iDAHI,IAAI,iBACJ,kBAAkB;6BA2GhB,IAAI,OACJ,MAAM,KACN,OAAO;;EAyFnB;4BA7OY,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO;6BAiP1E,UAAU,aA3MZ,IAAI,iBACJ,kBAAkB;6BA2GhB,IAAI,OACJ,MAAM,KACN,OAAO;;EA6F0B;0BAvPvB,mBAAmB;wCAEL,iBAAiB"}
1
+ {"version":3,"file":"endowments.d.ts","sourceRoot":"","sources":["endowments.js"],"names":[],"mappings":"AAiDO;;EASN;AAMM,iDAHI,IAAI,iBACJ,kBAAkB;6BA2GhB,IAAI,OACJ,MAAM,KACN,OAAO;;EAyFnB;4BA7OY,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO;6BAiP1E,UAAU,CAAC,OAAO,qBAAqB,CAAC;0BAvP9B,mBAAmB;wCAEL,iBAAiB"}
package/src/endowments.js CHANGED
@@ -262,5 +262,5 @@ export const prepareEndowmentTools = (outerZone, outerOptions = {}) => {
262
262
  harden(prepareEndowmentTools);
263
263
 
264
264
  /**
265
- * @typedef {ReturnType<prepareEndowmentTools>} EndowmentTools
265
+ * @typedef {ReturnType<typeof prepareEndowmentTools>} EndowmentTools
266
266
  */
@@ -1 +1 @@
1
- {"version":3,"file":"equate.d.ts","sourceRoot":"","sources":["equate.js"],"names":[],"mappings":"AAQO,iFAuHN"}
1
+ {"version":3,"file":"equate.d.ts","sourceRoot":"","sources":["equate.js"],"names":[],"mappings":"AAQO,iFAsHN"}
package/src/equate.js CHANGED
@@ -61,7 +61,6 @@ export const makeEquate = bijection => {
61
61
  switch (gPassStyle) {
62
62
  case 'copyArray': {
63
63
  equate(g.length, h.length, 'length');
64
- // eslint-disable-next-line github/array-foreach
65
64
  g.forEach((gEl, i) => equate(gEl, h[i], i));
66
65
  return;
67
66
  }
@@ -29,36 +29,7 @@ export function prepareLogStore(zone: Zone): () => import("@endo/exo").Guarded<{
29
29
  dump(): ([op: "doFulfill", vow: import("@agoric/vow").Vow<import("@endo/pass-style").Passable>, fulfillment: import("@endo/pass-style").Passable] | [op: "doReject", vow: import("@agoric/vow").Vow<import("@endo/pass-style").Passable>, reason: import("@endo/pass-style").Passable] | [op: "doReturn", callIndex: number, result: import("@endo/pass-style").Passable] | [op: "doThrow", callIndex: number, problem: import("@endo/pass-style").Passable] | [op: "checkCall", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number] | [op: "checkSendOnly", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number] | [op: "checkSend", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number])[];
30
30
  promiseReplayDone(): Promise<undefined>;
31
31
  }>;
32
- export type LogStore = ReturnType<ReturnType<(zone: Zone) => () => import("@endo/exo").Guarded<{
33
- reset(): void;
34
- dispose(): void;
35
- getUnfilteredIndex(): number;
36
- getIndex(): number;
37
- getLength(): number;
38
- isReplaying(): boolean;
39
- /**
40
- * @returns {LogEntry}
41
- */
42
- peekEntry(): LogEntry;
43
- /**
44
- * @returns {LogEntry}
45
- */
46
- nextUnfilteredEntry(): LogEntry;
47
- /**
48
- * @returns {LogEntry}
49
- */
50
- nextEntry(): LogEntry;
51
- /**
52
- * @param {LogEntry} latestEntry
53
- */
54
- pushEntry(latestEntry: LogEntry): number;
55
- /**
56
- * @returns {LogEntry[]}
57
- */
58
- dumpUnfiltered(): LogEntry[];
59
- dump(): ([op: "doFulfill", vow: import("@agoric/vow").Vow<import("@endo/pass-style").Passable>, fulfillment: import("@endo/pass-style").Passable] | [op: "doReject", vow: import("@agoric/vow").Vow<import("@endo/pass-style").Passable>, reason: import("@endo/pass-style").Passable] | [op: "doReturn", callIndex: number, result: import("@endo/pass-style").Passable] | [op: "doThrow", callIndex: number, problem: import("@endo/pass-style").Passable] | [op: "checkCall", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number] | [op: "checkSendOnly", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number] | [op: "checkSend", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number])[];
60
- promiseReplayDone(): Promise<undefined>;
61
- }>>>;
32
+ export type LogStore = ReturnType<ReturnType<typeof prepareLogStore>>;
62
33
  import type { Zone } from '@agoric/base-zone';
63
34
  import type { LogEntry } from './types.js';
64
35
  //# sourceMappingURL=log-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-store.d.ts","sourceRoot":"","sources":["log-store.js"],"names":[],"mappings":"AAmCO,qCAHI,IAAI,GACF,MAAM,CAgBlB;AAOM,sCAFI,IAAI;;;;;;;IAoGT;;OAEG;iBADU,QAAQ;IAcrB;;OAEG;2BADU,QAAQ;IAgBrB;;OAEG;iBADU,QAAQ;IAWrB;;OAEG;2BADQ,QAAQ;IAuCnB;;OAEG;sBADU,QAAQ,EAAE;;;GAwB5B;uBAGY,UAAU,CAAC,UAAU,QApNvB,IAAI;;;;;;;IAoGT;;OAEG;iBADU,QAAQ;IAcrB;;OAEG;2BADU,QAAQ;IAgBrB;;OAEG;iBADU,QAAQ;IAWrB;;OAEG;2BADQ,QAAQ;IAuCnB;;OAEG;sBADU,QAAQ,EAAE;;;GA2BsB,CAAC;0BAlQ7B,mBAAmB;8BAEL,YAAY"}
1
+ {"version":3,"file":"log-store.d.ts","sourceRoot":"","sources":["log-store.js"],"names":[],"mappings":"AAmCO,qCAHI,IAAI,GACF,MAAM,CAgBlB;AAOM,sCAFI,IAAI;;;;;;;IAoGT;;OAEG;iBADU,QAAQ;IAcrB;;OAEG;2BADU,QAAQ;IAgBrB;;OAEG;iBADU,QAAQ;IAWrB;;OAEG;2BADQ,QAAQ;IAuCnB;;OAEG;sBADU,QAAQ,EAAE;;;GAwB5B;uBAGY,UAAU,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;0BAlQpC,mBAAmB;8BAEL,YAAY"}
package/src/log-store.js CHANGED
@@ -264,5 +264,5 @@ export const prepareLogStore = zone => {
264
264
  };
265
265
 
266
266
  /**
267
- * @typedef {ReturnType<ReturnType<prepareLogStore>>} LogStore
267
+ * @typedef {ReturnType<ReturnType<typeof prepareLogStore>>} LogStore
268
268
  */
@@ -33,23 +33,7 @@ export function makeReplayMembraneForTesting({ log, bijection, vowTools, watchWa
33
33
  wake: () => void;
34
34
  stop: () => void;
35
35
  }>;
36
- export type ReplayMembrane = ReturnType<(arg: {
37
- log: LogStore;
38
- bijection: Bijection;
39
- vowTools: VowTools;
40
- watchWake: (vowish: Promise<any> | Vow) => void;
41
- panic: (problem: Error) => never;
42
- }) => {
43
- hostToGuest: (specimen: Passable, label?: string) => any;
44
- guestToHost: (specimen: Passable, label?: string) => any;
45
- wake: () => void;
46
- stop: () => void;
47
- } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
48
- hostToGuest: (specimen: Passable, label?: string) => any;
49
- guestToHost: (specimen: Passable, label?: string) => any;
50
- wake: () => void;
51
- stop: () => void;
52
- }>>;
36
+ export type ReplayMembrane = ReturnType<typeof makeReplayMembrane>;
53
37
  import type { LogStore } from '../src/log-store.js';
54
38
  import type { Bijection } from '../src/bijection.js';
55
39
  import type { VowTools } from '@agoric/vow';
@@ -1 +1 @@
1
- {"version":3,"file":"replay-membrane.d.ts","sourceRoot":"","sources":["replay-membrane.js"],"names":[],"mappings":"AA8BO,wCANJ;IAAsB,GAAG,EAAjB,QAAQ;IACO,SAAS,EAAxB,SAAS;IACK,QAAQ,EAAtB,QAAQ;IAC6B,SAAS,EAA9C,CAAC,MAAM,EAAE,eAAU,GAAG,KAAK,IAAI;IACA,KAAK,EAApC,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;CACnC;;;;;;;;;;GAMA;AAWM,wHAPJ;IAAsB,GAAG,EAAjB,QAAQ;IACO,SAAS,EAAxB,SAAS;IACK,QAAQ,EAAtB,QAAQ;IAC6B,SAAS,EAA9C,CAAC,MAAM,EAAE,eAAU,GAAG,KAAK,IAAI;IACA,KAAK,EAApC,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;IACX,wBAAwB;CAChD;;;;;;;;;;GA4pBA;6BAGa,UAAU,OAprBrB;IAAsB,GAAG,EAAjB,QAAQ;IACO,SAAS,EAAxB,SAAS;IACK,QAAQ,EAAtB,QAAQ;IAC6B,SAAS,EAA9C,CAAC,MAAM,EAAE,eAAU,GAAG,KAAK,IAAI;IACA,KAAK,EAApC,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;CACnC;;;;;;;;;;GA+qB2C;8BA7rBjB,qBAAqB;+BACpB,qBAAqB;8BAFT,aAAa;yBAAb,aAAa;8BADH,kBAAkB;oCADnC,qBAAqB"}
1
+ {"version":3,"file":"replay-membrane.d.ts","sourceRoot":"","sources":["replay-membrane.js"],"names":[],"mappings":"AA8BO,wCANJ;IAAsB,GAAG,EAAjB,QAAQ;IACO,SAAS,EAAxB,SAAS;IACK,QAAQ,EAAtB,QAAQ;IAC6B,SAAS,EAA9C,CAAC,MAAM,EAAE,eAAU,GAAG,KAAK,IAAI;IACA,KAAK,EAApC,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;CACnC;;;;;;;;;;GAMA;AAWM,wHAPJ;IAAsB,GAAG,EAAjB,QAAQ;IACO,SAAS,EAAxB,SAAS;IACK,QAAQ,EAAtB,QAAQ;IAC6B,SAAS,EAA9C,CAAC,MAAM,EAAE,eAAU,GAAG,KAAK,IAAI;IACA,KAAK,EAApC,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;IACX,wBAAwB;CAChD;;;;;;;;;;GA6pBA;6BAGa,UAAU,CAAC,OAAO,kBAAkB,CAAC;8BA9rBxB,qBAAqB;+BACpB,qBAAqB;8BAFT,aAAa;yBAAb,aAAa;8BADH,kBAAkB;oCADnC,qBAAqB"}
@@ -665,6 +665,7 @@ export const makeReplayMembraneForTesting = ({
665
665
  }
666
666
  }
667
667
  unnestFlag = false;
668
+ return undefined;
668
669
  };
669
670
 
670
671
  /**
@@ -714,4 +715,4 @@ export const makeReplayMembraneForTesting = ({
714
715
  };
715
716
  harden(makeReplayMembrane);
716
717
 
717
- /** @typedef {ReturnType<makeReplayMembrane>} ReplayMembrane */
718
+ /** @typedef {ReturnType<typeof makeReplayMembrane>} ReplayMembrane */
package/src/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { Passable } from '@endo/pass-style';
2
- import type { Vow, VowTools } from '@agoric/vow';
2
+ import type { Fulfilled, VowLike, Vow, VowTools } from '@agoric/vow';
3
+ import type { IsPrimitive, IsRemotable } from '@agoric/internal';
3
4
  import type { LogStore } from './log-store.js';
4
5
  import type { Bijection } from './bijection.js';
5
6
  import type { EndowmentTools } from './endowments.js';
@@ -29,11 +30,27 @@ export type GuestOf<F extends HostAsyncFuncWrapper> = F extends (...args: infer
29
30
  type Simplify<T> = {
30
31
  [KeyType in keyof T]: T[KeyType];
31
32
  } & {};
33
+ type EmptyRecord = {
34
+ [K in never]: never;
35
+ };
36
+ /**
37
+ * Returns a boolean indicating whether the parameter is exactly the `any` type.
38
+ */
39
+ type IsStrictAny<T> = 0 extends 1 & T ? false : true;
40
+ /**
41
+ * Returns a boolean indicating whether the parameter is the `unknown` type.
42
+ */
43
+ type IsUnknown<T> = unknown extends T ? IsStrictAny<T> : false;
44
+ /**
45
+ * Returns a boolean for whether Host or Guest type recursion should stop for
46
+ * the given parameter.
47
+ */
48
+ type StopRecursion<T> = IsRemotable<T> extends true ? true : IsUnknown<T> extends true ? true : IsPrimitive<T> extends true ? true : false;
32
49
  /**
33
50
  * Convert an entire Guest interface into what the host will implement.
34
51
  */
35
- export type HostInterface<T> = {
36
- [K in keyof T]: T[K] extends CallableFunction ? HostOf<T[K]> : T[K] extends Record<string, any> ? Simplify<HostInterface<T[K]>> : T[K];
52
+ export type HostInterface<T, Overrides = EmptyRecord> = StopRecursion<NonNullable<T>> extends true ? T : T extends VowLike<infer P> ? Vow<HostInterface<Fulfilled<P>>> : {
53
+ [K in keyof T]: K extends keyof Overrides ? Overrides[K] : T[K] extends CallableFunction ? HostOf<T[K]> : T[K] extends Record<string, any> ? Simplify<HostInterface<T[K]>> : HostInterface<T[K]>;
37
54
  };
38
55
  /**
39
56
  * Convert an entire Host interface into what the Guest will receive.
@@ -46,7 +63,7 @@ export type GuestInterface<T> = {
46
63
  *
47
64
  * Specifically, Promise return values are converted to Vows.
48
65
  */
49
- export type HostOf<F extends CallableFunction> = F extends (...args: infer A) => infer R ? R extends Promise<infer T> ? (...args: A) => Vow<T extends Passable ? T : HostInterface<T>> : (...args: A) => HostInterface<R> : F;
66
+ export type HostOf<F> = StopRecursion<F> extends true ? F : F extends (...args: infer A) => infer R ? (...args: A) => HostInterface<R> : F;
50
67
  export type HostArgs<GA extends any[]> = {
51
68
  [K in keyof GA]: HostOf<GA[K]>;
52
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
package/src/types.js ADDED
@@ -0,0 +1,244 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ /**
16
+ * `T` defaults to `any`, not `Passable`, because unwrapped guests include
17
+ * non-passables, like unwrapped functions and unwrapped state records.
18
+ * (Unwrapped functions could be made into Remotables,
19
+ * but since they still could not be made durable, in this context
20
+ * it'd be pointless.)
21
+ */
22
+
23
+
24
+
25
+ /**
26
+ * A HostVow must be durably storable. It corresponds to an
27
+ * ephemeral guest promise.
28
+ */
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+ /**
40
+ * The function from the host as it will be available in the guest.
41
+ *
42
+ * Specifically, Vow return values are converted to Promises.
43
+ */
44
+
45
+
46
+
47
+
48
+
49
+
50
+ // from https://github.com/sindresorhus/type-fest/blob/main/source/simplify.d.ts
51
+
52
+
53
+
54
+
55
+ /**
56
+ * Returns a boolean indicating whether the parameter is exactly the `any` type.
57
+ */
58
+
59
+
60
+ /**
61
+ * Returns a boolean indicating whether the parameter is the `unknown` type.
62
+ */
63
+
64
+
65
+ /**
66
+ * Returns a boolean for whether Host or Guest type recursion should stop for
67
+ * the given parameter.
68
+ */
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ /**
79
+ * Convert an entire Guest interface into what the host will implement.
80
+ */
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ /**
97
+ * Convert an entire Host interface into what the Guest will receive.
98
+ */
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ /**
112
+ * The function the host must provide to match an interface the guest expects.
113
+ *
114
+ * Specifically, Promise return values are converted to Vows.
115
+ */
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+ /**
150
+ * This is the type alias for the membrane log entries we currently implement.
151
+ *
152
+ * @see {FutureLogEntry} below for the full membrane log entry, which we do not
153
+ * yet support.
154
+ */
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+ /**
186
+ * This would be the type alias for the full membrane log, if we supported:
187
+ * - the guest sending guest-promises and guest-remotables to the host
188
+ * - the guest using `E` to eventual-send to guest wrappers of the host
189
+ * vows and remotables.
190
+ */
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
@@ -91,7 +91,8 @@ test.serial('test durable first-crank hazard 2', async t => {
91
91
  await eventLoopIteration();
92
92
  });
93
93
 
94
- test.serial.failing('test durable first-crank hazard 3', async t => {
94
+ test.serial.skip('test durable first-crank hazard 3', async t => {
95
+ // TODO(#9377): This test demonstrates a crank bug. Re-enable when bug is fixed.
95
96
  nextLife();
96
97
  const zone3 = makeDurableZone(getBaggage(), 'durableRoot');
97
98
  await testPlay3(t, zone3);
@@ -48,7 +48,7 @@ const prepareOrchestra = (zone, k = 1) =>
48
48
  },
49
49
  );
50
50
 
51
- /** @typedef {ReturnType<ReturnType<prepareOrchestra>>} Orchestra */
51
+ /** @typedef {ReturnType<ReturnType<typeof prepareOrchestra>>} Orchestra */
52
52
 
53
53
  const firstLogLen = 7;
54
54
 
@@ -51,7 +51,7 @@ const prepareOrchestra = (zone, k = 1) =>
51
51
  },
52
52
  );
53
53
 
54
- /** @typedef {ReturnType<ReturnType<prepareOrchestra>>} Orchestra */
54
+ /** @typedef {ReturnType<ReturnType<typeof prepareOrchestra>>} Orchestra */
55
55
 
56
56
  const firstLogLen = 7;
57
57
 
@@ -42,7 +42,7 @@ const prepareBadHost = zone =>
42
42
  },
43
43
  );
44
44
 
45
- /** @typedef {ReturnType<ReturnType<prepareBadHost>>} BadHost */
45
+ /** @typedef {ReturnType<ReturnType<typeof prepareBadHost>>} BadHost */
46
46
 
47
47
  /**
48
48
  * @param {any} t
@@ -37,7 +37,7 @@ const preparePingee = zone =>
37
37
  });
38
38
 
39
39
  /**
40
- * @typedef {ReturnType<ReturnType<preparePingee>>} Pingee
40
+ * @typedef {ReturnType<ReturnType<typeof preparePingee>>} Pingee
41
41
  */
42
42
 
43
43
  const testMode = /** @type {const} */ ({
@@ -1,5 +1,6 @@
1
- import { expectType } from 'tsd';
1
+ import { expectAssignable, expectType } from 'tsd';
2
2
  import type { Vow, VowTools } from '@agoric/vow';
3
+ import type { RemotableObject } from '@endo/pass-style';
3
4
  import type {
4
5
  HostOf,
5
6
  GuestOf,
@@ -71,3 +72,16 @@ expectType<{
71
72
  facet: ExoHostAPI;
72
73
  }>,
73
74
  );
75
+
76
+ type AssetKind = 'nat' | 'set' | 'copySet';
77
+ type Brand<K extends AssetKind = AssetKind> = RemotableObject & {
78
+ isMyIssuer: (issuer: Promise<K> | K) => Promise<boolean>;
79
+ };
80
+ expectAssignable<{ brand?: Brand<'nat'>; other: { getN: () => Vow<number> } }>(
81
+ castable as HostInterface<{
82
+ brand?: Brand;
83
+ other: {
84
+ getN: () => Promise<number>;
85
+ };
86
+ }>,
87
+ );
@@ -1 +1 @@
1
- {"root":["./index.js","./src/async-flow.js","./src/bijection.js","./src/convert.js","./src/endowments.js","./src/ephemera.js","./src/equate.js","./src/log-store.js","./src/replay-membrane.js","./src/type-guards.js","./src/types-index.d.ts","./src/types.ts"],"version":"5.9.2"}
1
+ {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.es2025.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../node_modules/ses/types.d.ts","../../node_modules/@endo/errors/index.d.ts","../../node_modules/@endo/eventual-send/src/E.d.ts","../../node_modules/@endo/eventual-send/src/handled-promise.d.ts","../../node_modules/@endo/eventual-send/src/track-turns.d.ts","../../node_modules/@endo/eventual-send/src/types.d.ts","../../node_modules/@endo/eventual-send/src/exports.d.ts","../../node_modules/@endo/eventual-send/src/no-shim.d.ts","../../node_modules/@endo/pass-style/src/passStyle-helpers.d.ts","../../node_modules/@endo/common/ident-checker.d.ts","../../node_modules/@endo/pass-style/src/types.d.ts","../../node_modules/@endo/pass-style/src/makeTagged.d.ts","../../node_modules/@endo/pass-style/src/deeplyFulfilled.d.ts","../../node_modules/@endo/pass-style/src/iter-helpers.d.ts","../../node_modules/@endo/pass-style/src/internal-types.d.ts","../../node_modules/@endo/pass-style/src/error.d.ts","../../node_modules/@endo/pass-style/src/remotable.d.ts","../../node_modules/@endo/pass-style/src/symbol.d.ts","../../node_modules/@endo/pass-style/src/string.d.ts","../../node_modules/@endo/pass-style/src/passStyleOf.d.ts","../../node_modules/@endo/pass-style/src/make-far.d.ts","../../node_modules/@endo/pass-style/src/typeGuards.d.ts","../../node_modules/@endo/pass-style/index.d.ts","../../node_modules/@endo/marshal/src/types.d.ts","../../node_modules/@endo/marshal/src/encodeToCapData.d.ts","../../node_modules/@endo/marshal/src/marshal.d.ts","../../node_modules/@endo/marshal/src/marshal-stringify.d.ts","../../node_modules/@endo/marshal/src/marshal-justin.d.ts","../../node_modules/@endo/marshal/src/encodePassable.d.ts","../../node_modules/@endo/marshal/src/rankOrder.d.ts","../../node_modules/@endo/marshal/index.d.ts","../../node_modules/@endo/patterns/src/types.d.ts","../../node_modules/@endo/patterns/src/keys/copySet.d.ts","../../node_modules/@endo/patterns/src/keys/copyBag.d.ts","../../node_modules/@endo/common/list-difference.d.ts","../../node_modules/@endo/common/object-map.d.ts","../../node_modules/@endo/patterns/src/keys/checkKey.d.ts","../../node_modules/@endo/patterns/src/keys/compareKeys.d.ts","../../node_modules/@endo/patterns/src/keys/merge-set-operators.d.ts","../../node_modules/@endo/patterns/src/keys/merge-bag-operators.d.ts","../../node_modules/@endo/patterns/src/patterns/patternMatchers.d.ts","../../node_modules/@endo/patterns/src/patterns/getGuardPayloads.d.ts","../../node_modules/@endo/patterns/index.d.ts","../store/src/stores/scalarWeakSetStore.js","../store/src/types.js","../store/src/stores/store-utils.js","../store/src/stores/scalarSetStore.js","../store/src/stores/scalarWeakMapStore.js","../store/src/stores/scalarMapStore.js","../../node_modules/@endo/exo/src/get-interface.d.ts","../../node_modules/@endo/exo/src/types.d.ts","../../node_modules/@endo/exo/src/exo-makers.d.ts","../../node_modules/@endo/exo/index.d.ts","../store/src/legacy/legacyMap.js","../store/src/legacy/legacyWeakMap.js","../store/src/types-index.d.ts","../internal/src/cli-utils.js","../internal/src/keyMirror.js","../internal/src/config.js","../internal/src/debug.js","../internal/src/errors.js","../internal/src/js-utils.js","../internal/src/marshal/pure-data.js","../../node_modules/@endo/eventual-send/src/local.d.ts","../../node_modules/@endo/eventual-send/src/message-breakpoints.d.ts","../../node_modules/@endo/eventual-send/utils.d.ts","../internal/src/method-tools.js","../../node_modules/@endo/nat/src/index.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/@opentelemetry/api/build/src/common/Exception.d.ts","../../node_modules/@opentelemetry/api/build/src/common/Time.d.ts","../../node_modules/@opentelemetry/api/build/src/common/Attributes.d.ts","../../node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/consoleLogger.d.ts","../../node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.d.ts","../../node_modules/@opentelemetry/api/build/src/metrics/Metric.d.ts","../../node_modules/@opentelemetry/api/build/src/metrics/Meter.d.ts","../../node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.d.ts","../../node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.d.ts","../../node_modules/@opentelemetry/api/build/src/api/metrics.d.ts","../../node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/SpanOptions.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/SamplingResult.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/Sampler.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/@opentelemetry/api/build/src/context-api.d.ts","../../node_modules/@opentelemetry/api/build/src/diag-api.d.ts","../../node_modules/@opentelemetry/api/build/src/metrics-api.d.ts","../../node_modules/@opentelemetry/api/build/src/propagation-api.d.ts","../../node_modules/@opentelemetry/api/build/src/trace-api.d.ts","../../node_modules/@opentelemetry/api/build/src/index.d.ts","../internal/src/metrics.js","../internal/src/natural-sort.js","../../node_modules/@endo/common/object-meta-map.d.ts","../../node_modules/@endo/common/from-unique-entries.d.ts","../../node_modules/@endo/promise-kit/src/is-promise.d.ts","../../node_modules/@endo/promise-kit/src/types.d.ts","../../node_modules/@endo/promise-kit/index.d.ts","../../node_modules/@endo/stream/types.d.ts","../../node_modules/@endo/far/src/exports.d.ts","../../node_modules/@endo/far/src/index.d.ts","../../node_modules/jessie.js/types/ring0/E.d.ts","../../node_modules/jessie.js/types/ring0/makers.d.ts","../../node_modules/jessie.js/types/ring0/async-generate.d.ts","../../node_modules/jessie.js/types/ring0/main.d.ts","../../node_modules/jessie.js/types/ring1/async-tools.d.ts","../../node_modules/jessie.js/types/ring1/main.d.ts","../../node_modules/jessie.js/types/main.d.ts","../internal/src/types.ts","../internal/src/ses-utils.js","../../node_modules/@types/tmp/index.d.ts","../internal/src/tmpDir.js","../internal/src/typeCheck.js","../internal/src/typeGuards.js","../internal/src/build-cache-types.ts","../internal/src/types-index.d.ts","../internal/src/index.js","../store/src/index.js","../base-zone/src/watch-promise.js","../base-zone/src/types.js","../base-zone/src/exports.d.ts","../../node_modules/@endo/pass-style/endow.d.ts","../swingset-liveslots/src/parseVatSlots.js","../internal/src/marshal/cap-data.js","../swingset-liveslots/src/types.js","../swingset-liveslots/src/capdata.js","../swingset-liveslots/src/kdebug.js","../swingset-liveslots/src/message.js","../swingset-liveslots/src/vatstore-iterators.js","../swingset-liveslots/src/virtualReferences.js","../../node_modules/@endo/env-options/src/env-options.d.ts","../../node_modules/@endo/env-options/index.d.ts","../../node_modules/@endo/exo/src/exo-tools.d.ts","../../node_modules/@endo/exo/tools.d.ts","../swingset-liveslots/src/cache.js","../swingset-liveslots/src/facetiousness.js","../swingset-liveslots/src/watchedPromises.js","../swingset-liveslots/src/vatDataTypes.ts","../swingset-liveslots/src/virtualObjectManager.js","../swingset-liveslots/src/collectionManager.js","../swingset-liveslots/src/boyd-gc.js","../swingset-liveslots/src/liveslots.js","../swingset-liveslots/src/types-index.d.ts","../swingset-liveslots/src/index.js","../base-zone/src/make-once.js","../base-zone/src/keys.js","../base-zone/src/is-passable.js","../base-zone/src/index.js","../internal/src/upgrade-api.js","../base-zone/src/heap.js","../base-zone/heap.js","../zone/src/exports.d.ts","../zone/src/index.js","../vow/src/types.ts","../vow/src/rejection-tracker.js","../vow/src/vow.js","../vow/src/vow-utils.js","../vow/src/watch.js","../vow/src/when.js","../vow/src/watch-utils.js","../vow/src/retryable.js","../vow/src/tools.js","../vow/src/track-turns.js","../vow/src/message-breakpoints.js","../vow/src/E.js","../vow/vat.js","../vow/src/types-index.d.ts","../vow/src/index.js","../../node_modules/@endo/common/throw-labeled.d.ts","./src/convert.js","./src/equate.js","./src/type-guards.js","./src/bijection.js","./src/endowments.js","./src/types.ts","./src/ephemera.js","./src/log-store.js","./src/replay-membrane.js","./src/async-flow.js","./src/types-index.d.ts","./index.js","../../node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[305,348],[94,305,348],[249,305,348],[99,305,348],[96,97,100,305,348],[96,97,98,305,348],[157,158,305,348],[143,144,145,305,348],[136,144,305,348],[101,116,136,143,144,305,348],[116,136,305,348],[101,116,136,143,305,348],[251,305,348],[101,305,348],[101,116,218,305,348],[116,117,118,119,120,121,122,123,305,348],[116,305,348],[116,117,305,348],[94,116,117,305,348],[117,305,348],[113,305,348],[102,104,105,106,107,109,110,111,112,113,114,115,305,348],[101,116,305,348],[94,104,108,305,348],[104,305,348],[101,104,305,348],[104,108,305,348],[101,102,103,305,348],[125,126,127,128,129,130,131,132,133,134,135,305,348],[116,125,305,348],[125,305,348],[116,124,125,305,348],[101,116,124,305,348],[214,215,305,348],[168,305,348],[171,305,348],[176,178,305,348],[164,168,180,181,305,348],[191,194,200,202,305,348],[163,168,305,348],[162,305,348],[163,305,348],[170,305,348],[173,305,348],[163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,204,205,206,207,208,305,348],[179,305,348],[175,305,348],[176,305,348],[167,168,174,305,348],[175,176,305,348],[182,305,348],[203,305,348],[168,188,190,191,192,305,348],[191,192,194,305,348],[168,183,186,189,196,305,348],[183,184,305,348],[166,183,186,189,305,348],[167,305,348],[168,185,188,305,348],[184,305,348],[185,305,348],[183,185,305,348],[165,166,183,185,186,187,305,348],[185,188,305,348],[168,188,190,305,348],[191,192,305,348],[305,345,348],[305,347,348],[348],[305,348,353,383],[305,348,349,354,360,361,368,380,391],[305,348,349,350,360,368],[300,301,302,305,348],[305,348,351,392],[305,348,352,353,361,369],[305,348,353,380,388],[305,348,354,356,360,368],[305,347,348,355],[305,348,356,357],[305,348,360],[305,348,358,360],[305,347,348,360],[305,348,360,361,362,380,391],[305,348,360,361,362,375,380,383],[305,343,348,396],[305,343,348,356,360,363,368,380,391],[305,348,360,361,363,364,368,380,388,391],[305,348,363,365,380,388,391],[303,304,305,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397],[305,348,360,366],[305,348,367,391,396],[305,348,356,360,368,380],[305,348,369],[305,348,370],[305,347,348,371],[305,345,346,347,348,349,350,351,352,353,354,355,356,357,358,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397],[305,348,373],[305,348,374],[305,348,360,375,376],[305,348,375,377,392,394],[305,348,360,380,381,382,383],[305,348,380,382],[305,348,380,381],[305,348,383],[305,348,384],[305,345,348,380],[305,348,360,386,387],[305,348,386,387],[305,348,353,368,380,388],[305,348,389],[305,348,368,390],[305,348,363,374,391],[305,348,353,392],[305,348,380,393],[305,348,367,394],[305,348,395],[305,348,353,360,362,371,380,391,394,396],[305,348,380,397],[223,225,305,348],[219,305,348],[220,221,222,305,348],[224,305,348],[305,315,319,348,391],[305,315,348,380,391],[305,310,348],[305,312,315,348,388,391],[305,348,368,388],[305,348,398],[305,310,348,398],[305,312,315,348,368,391],[305,307,308,311,314,348,360,380,391],[305,315,322,348],[305,307,313,348],[305,315,336,337,348],[305,311,315,348,383,391,398],[305,336,348,398],[305,309,310,348,398],[305,315,348],[305,309,310,311,312,313,314,315,316,317,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,337,338,339,340,341,342,348],[305,315,330,348],[305,315,322,323,348],[305,313,315,323,324,348],[305,314,348],[305,307,310,315,348],[305,315,319,323,324,348],[305,319,348],[305,313,315,318,348,391],[305,307,312,315,322,348],[305,348,380],[305,310,315,336,348,396,398],[297,298,305,348],[95,101,136,236,266,286,290,291,292,293,295,296,305,348],[95,116,136,266,286,293,294,305,348],[95,116,129,275,287,305,348],[95,101,116,136,216,235,266,267,275,286,290,293,305,348],[293,305,348],[95,116,124,275,287,305,348],[95,136,216,236,266,290,293,294,305,348],[95,101,116,159,216,275,284,286,287,288,289,291,293,295,305,348],[136,286,305,348],[116,235,286,291,292,295,305,348],[268,305,348],[238,305,348],[116,146,236,237,238,263,264,305,348],[237,239,263,264,265,305,348],[95,238,262,305,348],[116,136,146,236,237,305,348],[95,136,219,305,348],[305,348,362],[151,305,348],[95,305,348],[94,150,151,152,153,154,155,156,160,210,211,228,230,231,232,234,305,348],[95,124,305,348],[159,305,348],[95,161,209,235,305,348],[155,305,348],[95,101,116,129,155,212,213,216,217,219,226,227,305,348],[229,305,348],[136,227,305,348],[227,233,305,348],[101,116,136,153,228,305,348],[136,305,348],[136,137,139,140,141,142,146,147,148,149,235,305,348],[95,138,305,348],[95,116,124,136,138,139,141,305,348],[95,116,124,136,137,138,139,305,348],[95,116,136,138,305,348],[95,116,136,236,305,348],[95,116,124,136,138,305,348],[138,305,348],[94,116,136,305,348],[241,305,348],[95,242,243,305,348],[95,124,136,219,236,241,247,248,253,305,348],[246,260,261,305,348],[95,101,116,124,155,216,240,241,243,244,245,246,248,255,257,258,259,305,348],[95,243,244,305,348],[95,161,305,348],[243,256,305,348],[124,305,348],[101,116,136,146,236,255,305,348],[95,124,136,146,161,236,241,243,247,248,250,252,253,254,256,262,305,348],[95,161,241,247,305,348],[95,101,124,236,241,243,248,256,257,305,348],[95,101,219,272,281,282,305,348],[275,283,284,285,305,348],[95,250,305,348],[95,116,136,216,266,275,305,348],[95,116,136,236,266,272,275,305,348],[116,266,272,273,274,275,276,277,278,279,305,348],[227,272,305,348],[116,219,235,271,305,348],[101,116,136,272,274,305,348],[116,136,216,266,272,273,305,348],[136,138,155,266,272,276,277,305,348],[266,272,275,305,348],[272,275,305,348],[219,267,269,272,280,283,305,348],[266,305,348],[269,270,305,348]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"ef4a897cd2a3f91000c10264e400b3667c7e51e1b7365f03b62e8081dc53bde6","impliedFormat":1},{"version":"ea5d08724831aab137fab28195dadf65667aec35acc0f2a5e517271d8c3082d3","affectsGlobalScope":true,"impliedFormat":99},{"version":"1a3be3e7d19e2009f73bff40254add2061d8103f05132f2e6bad36d60410e524","impliedFormat":99},{"version":"0edc338ff5b91f1ff869925d51a0b3d86e23afb34fe63b16d9a46c253a24b6c9","impliedFormat":99},{"version":"64a95727716d7a159ff916085eb5df4dd67f1ff9c6f7e35ce2aff8a4ed4e6d31","impliedFormat":99},{"version":"93340c70128cbf56acb9eba0146f9cae83b5ef8f4b02f380fff0b77a6b7cf113","impliedFormat":99},{"version":"c3ad802a376c5c27225f6ebc20339ff19164e89e80173b5cf9e3bd22f20d385b","impliedFormat":99},{"version":"7790415b146c623fac741547c3345c2a946827c7bcfff459d253beff0f27b2ae","affectsGlobalScope":true,"impliedFormat":99},{"version":"614fa8a4693c632333c354af80562633c8aaf0d552e7ed90f191a6ace24abe9d","impliedFormat":99},{"version":"d394304f2278ad14213c1c60f060ee14f646804234664078b189c0eabf728648","impliedFormat":99},{"version":"552982fb6bdbbd5ccaeca5a9028fcac0ba6812af33d741b99a71f0219482b342","impliedFormat":99},{"version":"ea078b1ef89b09c477b67eec6ed5a7390c7800dd7b9ac448d63fe8e89e0aacb3","impliedFormat":99},{"version":"d86a646352434aa51e337e64e234eab2d28af156bb5931d25c789d0c5dfbcd08","impliedFormat":99},{"version":"ec91781a198f4533e6f414405f1c18dc545fa798ea1dabe4fcb26a36d8339f68","impliedFormat":99},{"version":"d5dc3c765037bfc7bd118be91ad280801f8c01fe41e8b7c8c1d8b96f6a0dc489","impliedFormat":99},{"version":"c6af1103d816d17451bc1a18cb9889fc9a282966383b695927d3ead99d958da0","impliedFormat":99},{"version":"d34287eb61f4689723448d33f50a047769dadee66ec8cb8609b41b17a5b3df40","impliedFormat":99},{"version":"22f52ade1934d26b5db4d5558be99097a82417c0247958527336535930d5a288","impliedFormat":99},{"version":"717d656e46e34696d072f2cee99ca045e69350f3c5ede3193337f884ccbc2a3b","impliedFormat":99},{"version":"b5a53985100fa348fcfb06bad4ee86367168e018998cbf95394a01b2dac92bb7","impliedFormat":99},{"version":"cadea2f7c33f255e142da3b0fefee54fa3985a12471cf9c5c51a221b3844f976","impliedFormat":99},{"version":"46f09e6b30f4301674d1c685934bd4ad2b594085d2545d6f063c175b1dcfd5af","impliedFormat":99},{"version":"25cd3d5fecfed6af5903170b67e8b3531591633e14c5b6735aac0d49e93d7cf0","impliedFormat":99},{"version":"f9fdd230ece877f4bcd8d35240426bcb1482f44faf813e6a336c2cc1b034e58d","impliedFormat":99},{"version":"428ef8df7e77bd4731faa19ef7430823f42bc95abd99368351411541ee08d2f7","impliedFormat":99},{"version":"a8a953cb8cf0b05c91086bd15a383afdfbddbf0cda5ed67d2c55542a5064b69d","impliedFormat":99},{"version":"f5a00483d6aa997ffedb1e802df7c7dcd048e43deab8f75c2c754f4ee3f97b41","impliedFormat":99},{"version":"14da43cd38f32c3b6349d1667937579820f1a3ddb40f3187caa727d4d451dcd4","impliedFormat":99},{"version":"2b77e2bc5350c160c53c767c8e6325ee61da47eda437c1d3156e16df94a64257","impliedFormat":99},{"version":"28e8a28f0608e5619d9a0e060d0ce51c5372d1c0a8c6f3939582a5907af3a2f7","impliedFormat":99},{"version":"a2d30f97dcc401dad445fb4f0667a167d1b9c0fdb1132001cc37d379e8946e3c","impliedFormat":99},{"version":"81c859cff06ee38d6f6b8015faa04722b535bb644ea386919d570e0e1f052430","impliedFormat":99},{"version":"1e7dababf0c93e6330541691668a4598564f88ed3b39fc799202d015338ed357","impliedFormat":99},{"version":"061020cd9bc920fc08a8817160c5cb97b8c852c5961509ed15aab0c5a4faddb3","impliedFormat":99},{"version":"e33bbc0d740e4db63b20fa80933eb78cd305258ebb02b2c21b7932c8df118d3b","impliedFormat":99},{"version":"6795c049a6aaaaeb25ae95e0b9a4c75c8a325bd2b3b40aee7e8f5225533334d4","impliedFormat":99},{"version":"e6081f90b9dc3ff16bcc3fdab32aa361800dc749acc78097870228d8f8fd9920","impliedFormat":99},{"version":"6274539c679f0c9bcd2dbf9e85c5116db6acf91b3b9e1084ce8a17db56a0259a","impliedFormat":99},{"version":"f472753504df7760ad34eafa357007e90c59040e6f6882aae751de7b134b8713","impliedFormat":99},{"version":"dba70304db331da707d5c771e492b9c1db7545eb29a949050a65d0d4fa4a000d","impliedFormat":99},{"version":"a520f33e8a5a92d3847223b2ae2d8244cdb7a6d3d8dfdcc756c5650a38fc30f4","impliedFormat":99},{"version":"76aec992df433e1e56b9899183b4cf8f8216e00e098659dbfbc4d0cbf9054725","impliedFormat":99},{"version":"28fbf5d3fdff7c1dad9e3fd71d4e60077f14134b06253cb62e0eb3ba46f628e3","impliedFormat":99},{"version":"c5340ac3565038735dbf82f6f151a75e8b95b9b1d5664b4fddf0168e4dd9c2f3","impliedFormat":99},{"version":"147f30ec269e6d82b235e8cf1d52b70e7ef825d8c9d868d688c3264cb2fa5901","impliedFormat":99},{"version":"3aaa6093eed6cb86ba46b6fdd1ddfea2bcd1df99b431ce6c9a3cf458308d9d0c","impliedFormat":99},{"version":"df72b350d75317b3a4fae5192513a913c6d8dac10e19a79d1795e699e57a637f","impliedFormat":99},{"version":"3f978e54e9127234b643fd0e688d87f946466e6011dce4a11eab7f315ab73a48","impliedFormat":99},{"version":"e00fb63cd0a51bceaed8594f02dcea91392dda54cf0baba18bf144049b4e4d4c","impliedFormat":99},{"version":"707a359fe6381e9adb4d2e5ef9602ad3ea27ebb2278ada0a79220f15f83159c1","impliedFormat":99},{"version":"6a437bd627ddcb418741f1a279a9db2828cc63c24b4f8586b0473e04f314bee5","impliedFormat":99},{"version":"bb1a27e42875da4a6ff036a9bbe8fca33f88225d9ee5f3c18619bfeabc37c4f4","impliedFormat":99},{"version":"56e07c29328f54e68cf4f6a81bc657ae6b2bbd31c2f53a00f4f0a902fa095ea1","impliedFormat":99},{"version":"ce29026a1ee122328dc9f1b40bff4cf424643fddf8dc6c046f4c71bf97ecf5b5","impliedFormat":99},{"version":"9d227c57f50abdc4142930403ea70a1aa3494d24b4ecff6a724381d4748ff0a4","impliedFormat":99},{"version":"6b97d3286c8c100416685f529f45e161dfc092c29e828d261946157eaadcd025","impliedFormat":99},{"version":"1386b303fae068fbe9b70ef1fd25dc1c1654d9c75400565f0da54457585a14b0","impliedFormat":99},{"version":"a323fdfb75869628b8358000cc9559581b1fcf53b2dca86f22f10a2421cde51f","impliedFormat":99},{"version":"60c46a648354f1767eded05fa33305d7c2d938b1e25155ca439cfd65abb16feb","impliedFormat":99},{"version":"bc1f8d5f45a544b4876d16dfd58eb4ec41f8f5b707ab82eb43369f6d492be1a7","impliedFormat":99},{"version":"c322072c52da21d7b2a40e3caa40c415154f1cd7635f3a776316db7d3c2360cf","impliedFormat":99},{"version":"bded486eac8345b4d6a433d031b510c2b4866cb61016f21a09ca9242edb0db57","impliedFormat":99},{"version":"e07da01153588eec366d1041ad5f2d61240b5e3a1a5e78a12e5c144588837db6","impliedFormat":99},{"version":"70449aacde442c6dae548be1196b864b8dcbe88f4eeb635e787fb2de34507cf3","impliedFormat":99},{"version":"cc1e2cd78268d5aed2e98fc1c670e4b62eaf0b132ac12f6c039ab4b04f8d8859","impliedFormat":99},{"version":"cad9f3c6d892a328cca37c70d9a9b4a55131a9eac2759f1426b9f6c3ff2fb847","impliedFormat":99},{"version":"ac9f35c27c94dd0ee4a45e0bf4796afa1712c98719c85e60cdf0359bf091c796","impliedFormat":99},{"version":"fddf7fe5974ea97c2e2ffc75ec461fa80121bfa95330621296bc5e69b94d4873","impliedFormat":99},{"version":"5350bdd4f83c980a1bf4b3c2c082ed72f81915b74e9a17097dd2d851e916567e","impliedFormat":99},{"version":"a4e9e0d92dcad2cb387a5f1bdffe621569052f2d80186e11973aa7080260d296","impliedFormat":1},{"version":"f6380cc36fc3efc70084d288d0a05d0a2e09da012ee3853f9d62431e7216f129","impliedFormat":1},{"version":"497c3e541b4acf6c5d5ba75b03569cfe5fe25c8a87e6c87f1af98da6a3e7b918","impliedFormat":1},{"version":"d9429b81edf2fb2abf1e81e9c2e92615f596ed3166673d9b69b84c369b15fdc0","impliedFormat":1},{"version":"7e22943ae4e474854ca0695ab750a8026f55bb94278331fda02a4fb42efce063","impliedFormat":1},{"version":"7da9ff3d9a7e62ddca6393a23e67296ab88f2fcb94ee5f7fb977fa8e478852ac","impliedFormat":1},{"version":"e1b45cc21ea200308cbc8abae2fb0cfd014cb5b0e1d1643bcc50afa5959b6d83","impliedFormat":1},{"version":"c9740b0ce7533ce6ba21a7d424e38d2736acdddeab2b1a814c00396e62cc2f10","impliedFormat":1},{"version":"b3c1f6a3fdbb04c6b244de6d5772ffdd9e962a2faea1440e410049c13e874b87","impliedFormat":1},{"version":"dcaa872d9b52b9409979170734bdfd38f846c32114d05b70640fd05140b171bb","impliedFormat":1},{"version":"6c434d20da381fcd2e8b924a3ec9b8653cf8bed8e0da648e91f4c984bd2a5a91","impliedFormat":1},{"version":"992419d044caf6b14946fa7b9463819ab2eeb7af7c04919cc2087ce354c92266","impliedFormat":1},{"version":"fa9815e9ce1330289a5c0192e2e91eb6178c0caa83c19fe0c6a9f67013fe795c","impliedFormat":1},{"version":"06384a1a73fcf4524952ecd0d6b63171c5d41dd23573907a91ef0a687ddb4a8c","impliedFormat":1},{"version":"34b1594ecf1c84bcc7a04d9f583afa6345a6fea27a52cf2685f802629219de45","impliedFormat":1},{"version":"d82c9ca830d7b94b7530a2c5819064d8255b93dfeddc5b2ebb8a09316f002c89","impliedFormat":1},{"version":"7e046b9634add57e512412a7881efbc14d44d1c65eadd35432412aa564537975","impliedFormat":1},{"version":"aac9079b9e2b5180036f27ab37cb3cf4fd19955be48ccc82eab3f092ee3d4026","impliedFormat":1},{"version":"3d9c38933bc69e0a885da20f019de441a3b5433ce041ba5b9d3a541db4b568cb","impliedFormat":1},{"version":"606aa2b74372221b0f79ca8ae3568629f444cc454aa59b032e4cb602308dec94","impliedFormat":1},{"version":"50474eaea72bfda85cc37ae6cd29f0556965c0849495d96c8c04c940ef3d2f44","impliedFormat":1},{"version":"b4874382f863cf7dc82b3d15aed1e1372ac3fede462065d5bfc8510c0d8f7b19","impliedFormat":1},{"version":"df10b4f781871afb72b2d648d497671190b16b679bf7533b744cc10b3c6bf7ea","impliedFormat":1},{"version":"1fdc28754c77e852c92087c789a1461aa6eed19c335dc92ce6b16a188e7ba305","impliedFormat":1},{"version":"a656dab1d502d4ddc845b66d8735c484bfebbf0b1eda5fb29729222675759884","impliedFormat":1},{"version":"465a79505258d251068dc0047a67a3605dd26e6b15e9ad2cec297442cbb58820","impliedFormat":1},{"version":"ddae22d9329db28ce3d80a2a53f99eaed66959c1c9cd719c9b744e5470579d2f","impliedFormat":1},{"version":"d0e25feadef054c6fc6a7f55ccc3b27b7216142106b9ff50f5e7b19d85c62ca7","impliedFormat":1},{"version":"111214009193320cacbae104e8281f6cb37788b52a6a84d259f9822c8c71f6ca","impliedFormat":1},{"version":"01c8e2c8984c96b9b48be20ee396bd3689a3a3e6add8d50fe8229a7d4e62ff45","impliedFormat":1},{"version":"a4a0800b592e533897b4967b00fb00f7cd48af9714d300767cc231271aa100af","impliedFormat":1},{"version":"20aa818c3e16e40586f2fa26327ea17242c8873fe3412a69ec68846017219314","impliedFormat":1},{"version":"f498532f53d54f831851990cb4bcd96063d73e302906fa07e2df24aa5935c7d1","impliedFormat":1},{"version":"5fd19dfde8de7a0b91df6a9bbdc44b648fd1f245cae9e8b8cf210d83ee06f106","impliedFormat":1},{"version":"3b8d6638c32e63ea0679eb26d1eb78534f4cc02c27b80f1c0a19f348774f5571","impliedFormat":1},{"version":"ce0da52e69bc3d82a7b5bc40da6baad08d3790de13ad35e89148a88055b46809","impliedFormat":1},{"version":"9e01233da81bfed887f8d9a70d1a26bf11b8ddff165806cc586c84980bf8fc24","impliedFormat":1},{"version":"214a6afbab8b285fc97eb3cece36cae65ea2fca3cbd0c017a96159b14050d202","impliedFormat":1},{"version":"14beeca2944b75b229c0549e0996dc4b7863e07257e0d359d63a7be49a6b86a4","impliedFormat":1},{"version":"f7bb9adb1daa749208b47d1313a46837e4d27687f85a3af7777fc1c9b3dc06b1","impliedFormat":1},{"version":"c549fe2f52101ffe47f58107c702af7cdcd42da8c80afd79f707d1c5d77d4b6e","impliedFormat":1},{"version":"3966ea9e1c1a5f6e636606785999734988e135541b79adc6b5d00abdc0f4bf05","impliedFormat":1},{"version":"0b60b69c957adb27f990fbc27ea4ac1064249400262d7c4c1b0a1687506b3406","impliedFormat":1},{"version":"12c26e5d1befc0ded725cee4c2316f276013e6f2eb545966562ae9a0c1931357","impliedFormat":1},{"version":"27b247363f1376c12310f73ebac6debcde009c0b95b65a8207e4fa90e132b30a","impliedFormat":1},{"version":"05bd302e2249da923048c09dc684d1d74cb205551a87f22fb8badc09ec532a08","impliedFormat":1},{"version":"fe930ec064571ab3b698b13bddf60a29abf9d2f36d51ab1ca0083b087b061f3a","impliedFormat":1},{"version":"6b85c4198e4b62b0056d55135ad95909adf1b95c9a86cdbed2c0f4cc1a902d53","impliedFormat":1},{"version":"fcf68ae539d848767561d66531d38f1a76be5ed8fd699736c2d9b1eebbab0c38","impliedFormat":99},{"version":"ff19e06a901175b2afe6ab855a7496fe803f25c65d35d922fc46c5c585441b2f","impliedFormat":99},{"version":"9481179c799a61aa282d5d48b22421d4d9f592c892f2c6ae2cda7b78595a173e","impliedFormat":99},{"version":"00de25621f1acd5ed68e04bb717a418150779459c0df27843e5a3145ab6aa13d","impliedFormat":99},{"version":"7dbf3030157f913854a03bff1203e04c053e639d572959eb9840085c31263a8c","impliedFormat":99},{"version":"dc9f3ad15f33ba1dec542f0251fb5b6fae88300754b23a062c5642c0ce2a39f8","impliedFormat":99},{"version":"1ce4e99fdb7654a013e1f99176361aa555c0a263eec18659d664dd22f23b0e34","impliedFormat":99},{"version":"87dfb579c733bbb0f80db4e75cd2e1b121b0220989f2c4965bc0dd0bbfb2a107","impliedFormat":99},{"version":"ae9dc7321a6bb376a9168a101c66787a80d0f1ff0a126c446399889a8ea07b7c","impliedFormat":99},{"version":"bcbe66e540446c7fb8b34afe764dae60b28ef929cafe26402594f41a377fac41","impliedFormat":99},{"version":"910a9e2ac53c257b423efa2f5824340fc7b1f993fb38be3d0353671515f8b29b","impliedFormat":99},{"version":"9830a3ec2841337f57d04aee6deadac39e2255a31f29c91282475c2c6afc59d3","impliedFormat":99},{"version":"82a250d766ed42c2acae52935b96eb7604b4e2ee2bf4729c353b2971cfcdb9fa","impliedFormat":99},{"version":"70cf3c5c233893b63c88dd43074fb1cf20d425e7444d23c9b71c35be2ca7179d","impliedFormat":99},{"version":"d83889b9b16d13175bf8607171d979a87c7b069108441e60b005ca556685c713","impliedFormat":99},{"version":"02f297b03b285c0db1e4526f1d765b2d68de7b8400dd279bec0a99bde7eab2b9","impliedFormat":99},{"version":"658c5d93909be964bcf4e4f3854b987e91c9795a7dd4181649cc9d6a6e572029","impliedFormat":99},{"version":"a52bec903916e9fcd5d0c3c2948740572a1cd71ab6ed71251d788efbd510ae5a","impliedFormat":99},{"version":"2352e9f24281e0caa42aaf16a4e920a413eb6d85162c292671da076f1746ebf3","impliedFormat":99},{"version":"4eb2548d412c794edbe7213ecf9c370cabc154e4086f6d65693be9ad23510902","impliedFormat":1},{"version":"3fa2bed11ccd865a20d4465f719045e171dea54fad30fbd6db35b6781728baa9","impliedFormat":99},{"version":"da3f88a33c329d94c2764e13daa22c8545898d46a4f9b0a30a3f3c6c4e8b6a1f","impliedFormat":99},{"version":"6298b94f7f2ac3460d77deea2a019c6ac7e537e4bfbedaffbb67d178d433332f","impliedFormat":99},{"version":"f2af04b802d47cc0d786acf21be1ea311156981df949b54c89fc437ea54eb740","impliedFormat":99},{"version":"b8bf0fa266e9612ce94cc569e92e77b37194cadb6d887494cc12bb833100363b","impliedFormat":99},{"version":"4a44176a2375d7a43c6d63ff96a67083f0d34e274f434d27dc032dfc651ab711","impliedFormat":99},{"version":"5b8a482236e1a1186d8511f086384fe7ca9dd2cb14c6ba1f2a6a227e14462fd5","impliedFormat":99},{"version":"a62c953d50268ad2a10d44fb7176123ac7aefefc996d811b33a553946650dee2","impliedFormat":99},{"version":"486ee137942c1b55e8f9aee1420b0772b133b3d92e5c6da1751b6ad6897197ce","impliedFormat":99},{"version":"d1cacc1ae76a3698129f4289657a18de22057bb6c00e7bf36aa2e9c5365eec66","impliedFormat":99},{"version":"916d17ebed74c7c04484742c60dad57e2a32f7ac69f5cc87bdcf73e334048518","impliedFormat":99},{"version":"420a3b7c94970969b0101403dd00a294b0623d4f43edfd8ba7af153c7fca60e9","impliedFormat":99},{"version":"be0bc85d6bb38e10a673edd9dc348748e7df7f52a1d2beca4a0147a2a31c1760","impliedFormat":99},{"version":"29cb9249c802189701728e82eee8683792a8df32248188007c413b4e9d0e2ad8","impliedFormat":99},{"version":"d22a2167a7f8cdd508cbe4b0367ad307df999d3b87330bbcbbe8debff5c5ae03","impliedFormat":99},{"version":"3b57135f9fd61b93a35ff10f16fa65bd6e3fe702569fb2163147cb68662be98c","impliedFormat":99},{"version":"ea59823c33041075c3f10d2b2c254345b06043af743dc16111fbc087fd7c29cf","impliedFormat":99},{"version":"98cfd1e94699a564493a2e8c9044c1c956856a2e15786e98c41681021d271f04","impliedFormat":99},{"version":"d175d38fabddcfcd185a92f63af1fe40fb286907e266717bb4160b4c1732cbdd","impliedFormat":99},{"version":"07828653fad12466b73e3875ec779dc2fa09aedf4cc1213d98499cff0566eb85","impliedFormat":99},{"version":"e3742b799f45e6b289e340c7853fdc6d2811bd2e8ccbbd2368e896c6ac737dcb","impliedFormat":99},{"version":"961c3f242076d3001add17357a34fdcb10ac3af8ee5e132f52a506ceb6463fa2","impliedFormat":99},{"version":"d219668be1c9094dd8318f326bc07763f6fc6e9a917c9c4a7130c6124cdad33f","impliedFormat":99},{"version":"e91b19b979e79cec5493b04f7eaacbf91835cef58894b67863d4627b5e67c4d7","impliedFormat":99},{"version":"da7aa93751279b5e439be7390fd67fd8cc2810cc71b85f272d86cc40b60c7501","impliedFormat":99},{"version":"47cce581e1ec70caba6ee1df8880d3a3dd11fb2392895d45f8e756ad11f3309c","impliedFormat":99},{"version":"f95e4d1e6d3c5cbbbf6e216ea4742138e52402337eb3416170eabb2fdbe5c762","impliedFormat":99},{"version":"52c0515cf86bb47ece16f38b528eecadd34be513fad6c7c18bed2de390b6dd91","impliedFormat":99},{"version":"231e0fa44d480d918634fb031a591fd692969ad49d8f1d4e60bd7a8c9b560dc6","impliedFormat":99},{"version":"01af3ff3e7eaf893f52d6b588e4778c631bfd7171a23367e7ce80be18bd95a9b","impliedFormat":99},{"version":"80bc026f204ba106658c90f138ec554bc5f266e2aa10a4fd8adc77f65bddff51","impliedFormat":99},{"version":"22b43e7fd932e3aa63e5bee8247d408ad1e5a29fe8008123dc6a4bd35ea49ded","impliedFormat":99},{"version":"dba5928a816411a3772602293ad44f0cc0608d1d73519f331d172298be34939b","impliedFormat":99},{"version":"3dfa582995bee6d1b2736c10d99218bd14dc5a30a40fd4f84842100e8cf0fcef","impliedFormat":99},{"version":"6e86dd073f871f3f5fcc0d1253a20c895dc30bc37a736a91619df75c2cbd7591","impliedFormat":99},{"version":"b86e294ccf6b4811b7b53edad3af5064103e3aecae1b5cd488dd57ee9c92927f","impliedFormat":99},{"version":"25c626e909cd8b439ca7c707d014519d1a5d3fdea890ccb581039b69364e47e6","impliedFormat":99},{"version":"bab3bd66ddb9554e3a21644a021cd7bd527190822bdd70e6d3e930a6d6832551","impliedFormat":99},{"version":"d4a1f2e47c6ca2b25cafe5722646e86562a852e60a7e5ecffdb1e42e1d70ab84","impliedFormat":99},{"version":"166952d3d0c78a5895e7cdef530ce9ba7a1c99cc4176ad6fd846e0ff3eef8e61","impliedFormat":99},{"version":"d358fad4e320dffa340ee8907f35e6f190d7a2ca60f1bf5b3de298e7aa58628b","impliedFormat":99},{"version":"32054d9f5ac3cd79d48347ffc0060faedd6ed353f004ccd8a7bc927f9aa6ec12","impliedFormat":99},{"version":"489fd2ccb4185a1014dda4c8142f01d5d32861e4561f9e6395d78b5d17140b16","impliedFormat":99},{"version":"0ef353139f9c26634877a4624fb5f070c691e817f085754d5849fa14b2e70a3b","impliedFormat":99},{"version":"aa325d417767a33add3cf5825ea876fd4501027b02329765bdc6b873d4586e2b","impliedFormat":99},{"version":"72156adbe0f9a72b14060c9dde722539a3532079df5de5b10c2f03a295b59111","impliedFormat":99},{"version":"e9c4f8d5497ad14aff54722c7b98e06ef4553c1c8f2061d4159ddce0213faedd","impliedFormat":99},{"version":"5955a296f90ebb90e77db552dc255dd8de11e001a14d3ebf5ca889dc0f6a0ae2","impliedFormat":99},{"version":"aa83d65295f2910f5c98851e3a824eb814ea306cc6f410c0d506108fb60994db","impliedFormat":99},{"version":"12eede9e77c3620f60e0323e8af023071ca2ecd20182730715eaed42e1c1e061","impliedFormat":99},{"version":"35d36c95ad330e907bc704f461c794b129932adcd18fdf3e1a112b4283b70015","impliedFormat":99},{"version":"145e7da70b394fa19d4a2223c5e5f3bcf13db4cd02ea58eef8630df139237cc8","impliedFormat":99},{"version":"4b24c4f19b413e1d29df807a1dd50e2af06b4075c802da9c95ea3210540da392","impliedFormat":99},{"version":"74b60f6af2b8bb9e50a0f5cb12b863d3b10c1fb831c3210862b08cf595cb23a1","impliedFormat":99},{"version":"951177d811433dc6e9710a0d305d9f1bae508d746b094176210357a7e3e0987f","impliedFormat":99},{"version":"9fac1116d2cc4ec55fd895d4afc5ce609dc0cf093d16276c13c3c67884493638","impliedFormat":99},{"version":"8b5c7d382414641b0b03e88b7a77f635ac090fc281a3e0a4e81401da902449fd","impliedFormat":99},{"version":"aa1bb0e4d9f68bede49fcf1a889cf589521d11f1bf8e568bc9c015e25ab060a0","impliedFormat":99},{"version":"80a047e9e46294783d1a2f814eba7ba663ca5949eb8ce411f3b7318cf6c60cac","signature":"19f54c108318a72e349970691a458055e042e1640ff59ff3d317b27a9edbf2ec","impliedFormat":99},{"version":"e9453b7c1828e1d775ac9d06b1e2ecdbe754c8e95d6342dc3df777a9925ecf79","signature":"651070c9ba1a7fc55b46e92a95940f638d9e1c6db91e59c2785ffdfe53a8f2e0","impliedFormat":99},{"version":"8f842d699fc84d4108ca7684c18cfc34f90fa6eb0d9526f14a9c479a1dea9def","signature":"5af229e7742674d502b5a03912c96cdb2f7984f236d72b84052aa6d2d0776034","impliedFormat":99},{"version":"e4bc10cdedd49972af3144bd2957b48059effc909a570a29dce9b48b944b38a3","signature":"045c0276d0d86e4fcd228e6155200268c7c0b209e0374a4f0411300c2583d372","impliedFormat":99},{"version":"744a45ca9379d0e34ce16d00c90b6803b440a3b1a058139b97c4443e5f8fe78e","signature":"01d4a876c1365f8a4c9e43e06f015613e2b907fae2875e98dc189c440a7c3c9e","impliedFormat":99},{"version":"9c471baa27d72638a47cea81cdee32bc6afe34f50822407ec1cc1ae5e2d31606","signature":"ddf775cabd7d6d21da7363a16affb99bca5b44e8ebab7ef614b7d4c34043ef76","impliedFormat":99},{"version":"3f69e1e5773a3fb4f5e015cd420c5a133ad20ab3cc3deb9887bb17d09bd37a0f","signature":"a8643b224cc66e254d3a62e65f4bd2a16d213f054e75fc04eac999162070340f","impliedFormat":99},{"version":"2c6c835f7aad8b259d30bb3100036b9f19a047a2175d468c58423bd9170dc8ec","signature":"02b86a874dfe38a2ce702baa8e662860b14cfe336236a6c3824cb81b221a1f41","impliedFormat":99},{"version":"d76bff21b12659e72d02709a81236d825e9c4a6f242f4472c919eb663a4417bc","signature":"5cb6efb5cfae994a4a479548729a91a7ee27dc890f0bde5049d19a42c38ec296","impliedFormat":99},{"version":"0223cfd8096a5a65feaf4ba0e6b20abf180e6492f36015a5baf6c8ab4c32eb51","signature":"6f8754608ac84c032a0ee4aa02e51da6f440e743d8c4b3b5dd97b71f85427569","impliedFormat":99},{"version":"9beca01b257cda65699baadb0de2e32c6847f5326bb876213a0bcf3fd86510c6","impliedFormat":99},{"version":"a2d5343dc39993a150248ab05e210692288a2c4ad34f2e40c84072fe220ef558","signature":"9aea9bf389af592b812365ba91bd31df9a452bffcf2d7fa443eace35d7024e26","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fd06258805d26c72f5997e07a23155d322d5f05387adb3744a791fe6a0b042d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"a76037255d4e7af8b20d191a4d3ad13236fba352239d3d9d54868a98dbb222f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true,"impliedFormat":1},{"version":"e9ad08a376ac84948fcca0013d6f1d4ae4f9522e26b91f87945b97c99d7cc30b","impliedFormat":1},{"version":"f65eecc63138013d13fefea9092e83c3043cb52a5e351d22ea194e81021c1cd5","impliedFormat":1},{"version":"c15c4427ae7fd1dcd7f312a8a447ac93581b0d4664ddf151ecd07de4bf2bb9d7","impliedFormat":1},{"version":"fa56be9b96f747e93b895d8dc2aa4fb9f0816743e6e2abb9d60705e88d4743a2","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"04296378d9636f6f9450a6e2b9889ea1d3b72a05b9270cb529ace09f04cda1f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3eb62baae4df08c9173e6903d3ca45942ccec8c3659b0565684a75f3292cffbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"918d3b03a75858dcd5dbb275f19448b6b9a222aa8fc8471aca38c28a32ecb40f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bd91a2a356600dee28eb0438082d0799a18a974a6537c4410a796bab749813c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5c09990a37469b0311a92ce8feeb8682e83918723aedbd445bd7a0f510eaaa3","impliedFormat":1},{"version":"ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"89332fc3cc945c8df2bc0aead55230430a0dabd3277c39a43315e00330de97a6","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1}],"root":[[288,299]],"options":{"allowImportingTsExtensions":true,"allowJs":true,"alwaysStrict":true,"checkJs":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"erasableSyntaxOnly":true,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedSideEffectImports":true,"noUnusedParameters":true,"rewriteRelativeImportExtensions":true,"skipLibCheck":true,"strict":false,"strictBindCallApply":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"verbatimModuleSyntax":true},"referencedMap":[[213,1],[103,2],[128,1],[129,1],[212,1],[287,2],[250,3],[249,1],[95,2],[96,4],[100,4],[97,1],[157,1],[158,1],[101,5],[98,1],[99,6],[159,7],[146,8],[145,9],[251,10],[143,11],[144,12],[252,13],[218,14],[219,15],[124,16],[122,17],[118,18],[121,19],[120,17],[119,20],[123,18],[117,17],[161,1],[240,21],[116,22],[106,23],[109,24],[108,25],[107,1],[114,26],[105,25],[102,25],[113,25],[110,27],[112,1],[111,1],[115,25],[104,28],[136,29],[130,30],[131,31],[127,32],[126,32],[133,31],[132,31],[135,30],[134,30],[125,33],[216,34],[214,1],[215,1],[217,1],[170,35],[173,36],[179,37],[182,38],[203,39],[181,40],[162,1],[163,41],[164,42],[167,1],[165,1],[166,1],[204,43],[169,35],[168,1],[205,44],[172,36],[171,1],[209,45],[206,46],[176,47],[178,48],[175,49],[177,50],[174,47],[207,51],[180,35],[208,52],[193,53],[195,54],[197,55],[196,56],[190,57],[183,58],[202,59],[199,60],[201,61],[186,62],[188,63],[185,60],[189,1],[200,64],[187,1],[198,1],[184,1],[191,65],[192,1],[194,66],[345,67],[346,67],[347,68],[305,69],[348,70],[349,71],[350,72],[300,1],[303,73],[301,1],[302,1],[351,74],[352,75],[353,76],[354,77],[355,78],[356,79],[357,79],[359,80],[358,81],[360,82],[361,83],[362,84],[344,85],[304,1],[363,86],[364,87],[365,88],[398,89],[366,90],[367,91],[368,92],[369,93],[370,94],[371,95],[372,96],[373,97],[374,98],[375,99],[376,99],[377,100],[378,1],[379,1],[380,101],[382,102],[381,103],[383,104],[384,105],[385,106],[386,107],[387,108],[388,109],[389,110],[390,111],[391,112],[392,113],[393,114],[394,115],[395,116],[396,117],[397,118],[229,1],[306,1],[226,119],[220,120],[222,1],[223,121],[221,1],[224,1],[225,122],[94,1],[91,1],[92,1],[16,1],[14,1],[15,1],[20,1],[19,1],[2,1],[21,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[28,1],[3,1],[29,1],[30,1],[4,1],[31,1],[35,1],[32,1],[33,1],[34,1],[36,1],[37,1],[38,1],[5,1],[39,1],[40,1],[41,1],[42,1],[6,1],[46,1],[43,1],[44,1],[45,1],[47,1],[7,1],[48,1],[53,1],[54,1],[49,1],[50,1],[51,1],[52,1],[8,1],[58,1],[55,1],[56,1],[57,1],[59,1],[9,1],[60,1],[61,1],[62,1],[64,1],[63,1],[65,1],[66,1],[10,1],[67,1],[68,1],[69,1],[11,1],[70,1],[71,1],[72,1],[73,1],[74,1],[75,1],[12,1],[76,1],[77,1],[78,1],[79,1],[80,1],[1,1],[81,1],[82,1],[13,1],[83,1],[84,1],[85,1],[86,1],[93,1],[87,1],[88,1],[89,1],[90,1],[18,1],[17,1],[322,123],[332,124],[321,123],[342,125],[313,126],[312,127],[341,128],[335,129],[340,130],[315,131],[329,132],[314,133],[338,134],[310,135],[309,128],[339,136],[311,137],[316,138],[317,1],[320,138],[307,1],[343,139],[333,140],[324,141],[325,142],[327,143],[323,144],[326,145],[336,128],[318,146],[319,147],[328,148],[308,149],[331,140],[330,138],[334,1],[337,150],[299,151],[297,152],[291,153],[288,154],[292,155],[294,156],[289,157],[295,158],[296,159],[290,160],[298,156],[293,161],[269,162],[239,163],[268,164],[266,165],[265,17],[264,163],[263,166],[238,167],[237,168],[233,169],[150,1],[152,170],[153,1],[154,171],[235,172],[155,1],[151,1],[242,173],[156,173],[160,174],[210,175],[211,176],[228,177],[230,178],[231,179],[232,179],[234,180],[227,181],[267,182],[236,183],[147,184],[148,184],[142,185],[140,186],[141,187],[137,188],[139,189],[149,190],[138,191],[259,192],[253,171],[244,193],[258,194],[254,171],[262,195],[245,1],[260,196],[246,197],[241,198],[261,199],[243,200],[256,201],[247,1],[257,202],[248,203],[255,204],[283,205],[286,206],[282,207],[273,208],[279,209],[280,210],[281,207],[285,211],[272,212],[275,213],[274,214],[278,215],[276,216],[277,217],[284,218],[270,219],[271,220]],"version":"6.0.1-rc"}
package/tsconfig.json CHANGED
@@ -1,6 +1,8 @@
1
1
  // This file can contain .js-specific Typescript compiler config.
2
2
  {
3
3
  "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ },
4
6
  "include": [
5
7
  "*.js",
6
8
  "scripts",
package/src/types.ts DELETED
@@ -1,212 +0,0 @@
1
- import type { Passable } from '@endo/pass-style';
2
- import type { Vow, VowTools } from '@agoric/vow';
3
- import type { LogStore } from './log-store.js';
4
- import type { Bijection } from './bijection.js';
5
- import type { EndowmentTools } from './endowments.js';
6
-
7
- export type FlowState =
8
- | 'Running'
9
- | 'Sleeping'
10
- | 'Replaying'
11
- | 'Failed'
12
- | 'Done';
13
-
14
- /**
15
- * `T` defaults to `any`, not `Passable`, because unwrapped guests include
16
- * non-passables, like unwrapped functions and unwrapped state records.
17
- * (Unwrapped functions could be made into Remotables,
18
- * but since they still could not be made durable, in this context
19
- * it'd be pointless.)
20
- */
21
- export type Guest<T = any> = T;
22
- export type Host<T extends Passable = Passable> = T;
23
-
24
- /**
25
- * A HostVow must be durably storable. It corresponds to an
26
- * ephemeral guest promise.
27
- */
28
- export type HostVow<T extends Passable = Passable> = Host<Vow<T>>;
29
-
30
- export type GuestAsyncFunc = (
31
- ...activationArgs: Guest[]
32
- ) => Guest<Promise<any>>;
33
-
34
- export type HostAsyncFuncWrapper = (
35
- ...activationArgs: Host<any>[]
36
- ) => HostVow<any>;
37
-
38
- /**
39
- * The function from the host as it will be available in the guest.
40
- *
41
- * Specifically, Vow return values are converted to Promises.
42
- */
43
- export type GuestOf<F extends HostAsyncFuncWrapper> = F extends (
44
- ...args: infer A
45
- ) => Vow<infer R>
46
- ? (...args: A) => Promise<R>
47
- : F;
48
-
49
- // from https://github.com/sindresorhus/type-fest/blob/main/source/simplify.d.ts
50
- type Simplify<T> = { [KeyType in keyof T]: T[KeyType] } & {};
51
-
52
- /**
53
- * Convert an entire Guest interface into what the host will implement.
54
- */
55
- export type HostInterface<T> = {
56
- [K in keyof T]: T[K] extends CallableFunction
57
- ? HostOf<T[K]>
58
- : T[K] extends Record<string, any>
59
- ? Simplify<HostInterface<T[K]>>
60
- : T[K];
61
- };
62
-
63
- /**
64
- * Convert an entire Host interface into what the Guest will receive.
65
- */
66
- export type GuestInterface<T> = {
67
- [K in keyof T]: T[K] extends (...args: any[]) => Vow<infer R>
68
- ? (...args: Parameters<T[K]>) => Promise<R>
69
- : T[K] extends HostAsyncFuncWrapper
70
- ? GuestOf<T[K]>
71
- : T[K] extends (...args: any[]) => any
72
- ? T[K]
73
- : T[K] extends object
74
- ? GuestInterface<T[K]>
75
- : T[K];
76
- };
77
-
78
- /**
79
- * The function the host must provide to match an interface the guest expects.
80
- *
81
- * Specifically, Promise return values are converted to Vows.
82
- */
83
- export type HostOf<F extends CallableFunction> = F extends (
84
- ...args: infer A
85
- ) => infer R
86
- ? R extends Promise<infer T>
87
- ? (...args: A) => Vow<T extends Passable ? T : HostInterface<T>>
88
- : (...args: A) => HostInterface<R>
89
- : F;
90
-
91
- export type HostArgs<GA extends any[]> = { [K in keyof GA]: HostOf<GA[K]> };
92
-
93
- export type PreparationOptions = {
94
- vowTools?: VowTools;
95
- makeLogStore?: (() => LogStore) | undefined;
96
- makeBijection?: (() => Bijection) | undefined;
97
- endowmentTools?: EndowmentTools;
98
- panicHandler?: (e: any) => void;
99
- };
100
- export type OutcomeKind = 'return' | 'throw';
101
-
102
- export type Outcome =
103
- | {
104
- kind: 'return';
105
- result: any;
106
- }
107
- | {
108
- kind: 'throw';
109
- problem: any;
110
- };
111
-
112
- export type Ephemera<S extends WeakKey = WeakKey, V = any> = {
113
- for: (self: S) => V;
114
- resetFor: (self: S) => void;
115
- };
116
-
117
- /**
118
- * This is the type alias for the membrane log entries we currently implement.
119
- *
120
- * @see {FutureLogEntry} below for the full membrane log entry, which we do not
121
- * yet support.
122
- */
123
- export type LogEntry =
124
- | [op: 'startGeneration', generation: number]
125
- // ///////////////// From Host to Guest /////////////////////////
126
- | [op: 'doFulfill', vow: HostVow, fulfillment: Host]
127
- | [op: 'doReject', vow: HostVow, reason: Host]
128
- | [op: 'doReturn', callIndex: number, result: Host]
129
- | [op: 'doThrow', callIndex: number, problem: Host]
130
- // ///////////////////// From Guest to Host /////////////////////////
131
- | [
132
- op: 'checkCall',
133
- target: Host,
134
- optVerb: PropertyKey | undefined,
135
- args: Host[],
136
- callIndex: number,
137
- ]
138
- | [
139
- op: 'checkSendOnly',
140
- target: Host,
141
- optVerb: PropertyKey | undefined,
142
- args: Host[],
143
- callIndex: number,
144
- ]
145
- | [
146
- op: 'checkSend',
147
- target: Host,
148
- optVerb: PropertyKey | undefined,
149
- args: Host[],
150
- callIndex: number,
151
- ];
152
-
153
- /**
154
- * This would be the type alias for the full membrane log, if we supported:
155
- * - the guest sending guest-promises and guest-remotables to the host
156
- * - the guest using `E` to eventual-send to guest wrappers of the host
157
- * vows and remotables.
158
- */
159
- export type FutureLogEntry =
160
- | [op: 'startGeneration', generation: number]
161
- // ///////////////// From Host to Guest ///////////////////////
162
- | [op: 'doFulfill', vow: HostVow, fulfillment: Host]
163
- | [op: 'doReject', vow: HostVow, reason: Host]
164
- | [
165
- op: 'doCall',
166
- target: Host,
167
- optVerb: PropertyKey | undefined,
168
- args: Host[],
169
- callIndex: number,
170
- ]
171
- | [
172
- op: 'doSendOnly',
173
- target: Host,
174
- optVerb: PropertyKey | undefined,
175
- args: Host[],
176
- callIndex: number,
177
- ]
178
- | [
179
- op: 'doSend',
180
- target: Host,
181
- optVerb: PropertyKey | undefined,
182
- args: Host[],
183
- callIndex: number,
184
- ]
185
- | [op: 'doReturn', callIndex: number, result: Host]
186
- | [op: 'doThrow', callIndex: number, problem: Host]
187
- // ///////////////////// From Guest to Host /////////////////////////
188
- | [op: 'checkFulfill', vow: HostVow, fulfillment: Host]
189
- | [op: 'checkReject', vow: HostVow, reason: Host]
190
- | [
191
- op: 'checkCall',
192
- target: Host,
193
- optVerb: PropertyKey | undefined,
194
- args: Host[],
195
- callIndex: number,
196
- ]
197
- | [
198
- op: 'checkSendOnly',
199
- target: Host,
200
- optVerb: PropertyKey | undefined,
201
- args: Host[],
202
- callIndex: number,
203
- ]
204
- | [
205
- op: 'checkSend',
206
- target: Host,
207
- optVerb: PropertyKey | undefined,
208
- args: Host[],
209
- callIndex: number,
210
- ]
211
- | [op: 'checkReturn', callIndex: number, result: Host]
212
- | [op: 'checkThrow', callIndex: number, problem: Host];