@temporalio/common 0.22.0 → 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +3 -3
  2. package/lib/converter/data-converter.d.ts +10 -6
  3. package/lib/converter/data-converter.js +3 -4
  4. package/lib/converter/data-converter.js.map +1 -1
  5. package/lib/converter/json-payload-converter.d.ts +10 -0
  6. package/lib/converter/json-payload-converter.js +39 -0
  7. package/lib/converter/json-payload-converter.js.map +1 -0
  8. package/lib/converter/payload-codec.d.ts +0 -7
  9. package/lib/converter/payload-codec.js +0 -8
  10. package/lib/converter/payload-codec.js.map +1 -1
  11. package/lib/converter/payload-converter.d.ts +13 -44
  12. package/lib/converter/payload-converter.js +8 -85
  13. package/lib/converter/payload-converter.js.map +1 -1
  14. package/lib/converter/payload-converters.d.ts +47 -11
  15. package/lib/converter/payload-converters.js +75 -36
  16. package/lib/converter/payload-converters.js.map +1 -1
  17. package/lib/converter/protobuf-payload-converters.d.ts +1 -2
  18. package/lib/converter/protobuf-payload-converters.js +7 -5
  19. package/lib/converter/protobuf-payload-converters.js.map +1 -1
  20. package/lib/converter/search-attribute-payload-converter.d.ts +12 -0
  21. package/lib/converter/search-attribute-payload-converter.js +64 -0
  22. package/lib/converter/search-attribute-payload-converter.js.map +1 -0
  23. package/lib/converter/types.d.ts +1 -2
  24. package/lib/converter/types.js.map +1 -1
  25. package/lib/failure.d.ts +52 -40
  26. package/lib/failure.js +85 -56
  27. package/lib/failure.js.map +1 -1
  28. package/lib/index.d.ts +1 -0
  29. package/lib/index.js +1 -0
  30. package/lib/index.js.map +1 -1
  31. package/lib/otel.d.ts +26 -0
  32. package/lib/otel.js +87 -0
  33. package/lib/otel.js.map +1 -0
  34. package/lib/proto-utils.d.ts +28 -0
  35. package/lib/proto-utils.js +85 -0
  36. package/lib/proto-utils.js.map +1 -0
  37. package/lib/protobufs.d.ts +2 -2
  38. package/lib/protobufs.js +4 -2
  39. package/lib/protobufs.js.map +1 -1
  40. package/package.json +11 -8
  41. package/src/converter/data-converter.ts +14 -9
  42. package/src/converter/json-payload-converter.ts +37 -0
  43. package/src/converter/payload-codec.ts +0 -8
  44. package/src/converter/payload-converter.ts +17 -99
  45. package/src/converter/payload-converters.ts +99 -40
  46. package/src/converter/protobuf-payload-converters.ts +8 -4
  47. package/src/converter/search-attribute-payload-converter.ts +71 -0
  48. package/src/converter/types.ts +1 -2
  49. package/src/failure.ts +87 -56
  50. package/src/index.ts +1 -0
  51. package/src/otel.ts +63 -0
  52. package/src/proto-utils.ts +103 -0
  53. package/src/protobufs.ts +2 -2
  54. package/lib/converter/patch-protobuf-root.d.ts +0 -1
  55. package/lib/converter/patch-protobuf-root.js +0 -6
  56. package/lib/converter/patch-protobuf-root.js.map +0 -1
  57. package/src/converter/patch-protobuf-root.ts +0 -1
  58. package/tsconfig.json +0 -9
  59. package/tsconfig.tsbuildinfo +0 -1
package/src/failure.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { checkExtends, hasOwnProperties, isRecord } from '@temporalio/internal-workflow-common';
2
2
  import type { temporal } from '@temporalio/proto';
3
- import { arrayFromPayloads, fromPayloadsAtIndex, PayloadConverter, toPayloads } from './converter/payload-converter';
3
+ import { PayloadConverter, arrayFromPayloads, fromPayloadsAtIndex, toPayloads } from './converter/payload-converter';
4
4
 
5
5
  export const FAILURE_SOURCE = 'TypeScriptSDK';
6
6
  export type ProtoFailure = temporal.api.failure.v1.IFailure;
@@ -70,27 +70,28 @@ export class ServerFailure extends TemporalFailure {
70
70
  }
71
71
 
72
72
  /**
73
- * Application failure is used to communicate application specific failures between Workflows and
74
- * Activities.
73
+ * `ApplicationFailure`s are used to communicate application-specific failures in Workflows and Activities.
75
74
  *
76
- * Throw this exception to have full control over type and details if the exception delivered to
77
- * the caller workflow or client.
75
+ * The {@link type} property is matched against {@link RetryPolicy.nonRetryableErrorTypes} to determine if an instance
76
+ * of this error is retryable. Another way to avoid retrying is by setting the {@link nonRetryable} flag to `true`.
78
77
  *
79
- * Any unhandled exception which doesn't extend {@link TemporalFailure} is converted to an
80
- * instance of this class before being returned to a caller.
78
+ * In Workflows, if you throw a non-`ApplicationFailure`, the Workflow Task will fail and be retried. If you throw an
79
+ * `ApplicationFailure`, the Workflow Execution will fail.
81
80
  *
82
- * The {@link type} property is used by {@link temporal.common.RetryOptions} to determine if
83
- * an instance of this exception is non retryable. Another way to avoid retrying an exception of
84
- * this type is by setting {@link nonRetryable} flag to `true`.
81
+ * In Activities, you can either throw an `ApplicationFailure` or another `Error` to fail the Activity Task. In the
82
+ * latter case, the `Error` will be converted to an `ApplicationFailure`. If the
83
+ * {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
84
+ * `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
85
+ * Workflow.
85
86
  *
86
- * The conversion of an exception that doesn't extend {@link TemporalFailure} to an
87
- * ApplicationFailure is done as following:
87
+ * The conversion of an error that doesn't extend {@link TemporalFailure} to an `ApplicationFailure` is done as
88
+ * following:
88
89
  *
89
- * - type is set to the exception full type name.
90
- * - message is set to the exception message
91
- * - nonRetryable is set to false
92
- * - details are set to null
93
- * - stack trace is copied from the original exception
90
+ * - `type` is set to `error.constructor?.name ?? error.name`
91
+ * - `message` is set to `error.message`
92
+ * - `nonRetryable` is set to false
93
+ * - `details` are set to null
94
+ * - stack trace is copied from the original error
94
95
  */
95
96
  export class ApplicationFailure extends TemporalFailure {
96
97
  public readonly name: string = 'ApplicationFailure';
@@ -106,29 +107,26 @@ export class ApplicationFailure extends TemporalFailure {
106
107
  }
107
108
 
108
109
  /**
109
- * New ApplicationFailure with {@link nonRetryable} flag set to false. Note that this
110
- * exception still can be not retried by the service if its type is included into doNotRetry
111
- * property of the correspondent retry policy.
110
+ * Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to false. Note that this error will still
111
+ * not be retried if its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}.
112
112
  *
113
- * @param message optional error message
114
- * @param type optional error type that is used by {@link RetryOptions.nonRetryableErrorTypes}.
115
- * @param details optional details about the failure. They are serialized using the same approach
116
- * as arguments and results.
113
+ * @param message Optional error message
114
+ * @param type Optional error type (used by {@link RetryPolicy.nonRetryableErrorTypes})
115
+ * @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
117
116
  */
118
117
  public static retryable(message: string | undefined, type?: string, ...details: unknown[]): ApplicationFailure {
119
118
  return new this(message, type ?? 'Error', false, details);
120
119
  }
121
120
 
122
121
  /**
123
- * New ApplicationFailure with {@link nonRetryable} flag set to true.
122
+ * Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to true.
124
123
  *
125
- * It means that this exception is not going to be retried even if it is not included into
126
- * retry policy doNotRetry list.
124
+ * When thrown from an Activity or Workflow, the Activity or Workflow will not be retried (even if `type` is not
125
+ * listed in {@link RetryPolicy.nonRetryableErrorTypes}).
127
126
  *
128
- * @param message optional error message
129
- * @param type optional error type
130
- * @param details optional details about the failure. They are serialized using the same approach
131
- * as arguments and results.
127
+ * @param message Optional error message
128
+ * @param type Optional error type
129
+ * @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
132
130
  */
133
131
  public static nonRetryable(message: string | undefined, type?: string, ...details: unknown[]): ApplicationFailure {
134
132
  return new this(message, type ?? 'Error', true, details);
@@ -136,7 +134,11 @@ export class ApplicationFailure extends TemporalFailure {
136
134
  }
137
135
 
138
136
  /**
139
- * Used as the cause for when a Workflow or Activity has been cancelled
137
+ * This error is thrown when Cancellation has been requested. To allow Cancellation to happen, let it propagate. To
138
+ * ignore Cancellation, catch it and continue executing. Note that Cancellation can only be requested a single time, so
139
+ * your Workflow/Activity Execution will not receive further Cancellation requests.
140
+ *
141
+ * When a Workflow or Activity has been successfully cancelled, a `CancelledFailure` will be the `cause`.
140
142
  */
141
143
  export class CancelledFailure extends TemporalFailure {
142
144
  public readonly name: string = 'CancelledFailure';
@@ -147,7 +149,7 @@ export class CancelledFailure extends TemporalFailure {
147
149
  }
148
150
 
149
151
  /**
150
- * Used as the cause for when a Workflow has been terminated
152
+ * Used as the `cause` when a Workflow has been terminated
151
153
  */
152
154
  export class TerminatedFailure extends TemporalFailure {
153
155
  public readonly name: string = 'TerminatedFailure';
@@ -173,12 +175,14 @@ export class TimeoutFailure extends TemporalFailure {
173
175
  }
174
176
 
175
177
  /**
176
- * Contains information about an activity failure. Always contains the original reason for the
177
- * failure as its cause. For example if an activity timed out the cause is {@link TimeoutFailure}.
178
+ * Contains information about an Activity failure. Always contains the original reason for the failure as its `cause`.
179
+ * For example, if an Activity timed out, the cause will be a {@link TimeoutFailure}.
178
180
  *
179
181
  * This exception is expected to be thrown only by the framework code.
180
182
  */
181
183
  export class ActivityFailure extends TemporalFailure {
184
+ public readonly name: string = 'ActivityFailure';
185
+
182
186
  public constructor(
183
187
  public readonly activityType: string,
184
188
  public readonly activityId: string | undefined,
@@ -191,12 +195,14 @@ export class ActivityFailure extends TemporalFailure {
191
195
  }
192
196
 
193
197
  /**
194
- * Contains information about an child workflow failure. Always contains the original reason for the
195
- * failure as its cause. For example if a child workflow was terminated the cause is {@link TerminatedFailure}.
198
+ * Contains information about a Child Workflow failure. Always contains the reason for the failure as its {@link cause}.
199
+ * For example, if the Child was Terminated, the `cause` is a {@link TerminatedFailure}.
196
200
  *
197
201
  * This exception is expected to be thrown only by the framework code.
198
202
  */
199
203
  export class ChildWorkflowFailure extends TemporalFailure {
204
+ public readonly name: string = 'ChildWorkflowFailure';
205
+
200
206
  public constructor(
201
207
  public readonly namespace: string | undefined,
202
208
  public readonly execution: WorkflowExecution,
@@ -225,9 +231,9 @@ const CUTOFF_STACK_PATTERNS = [
225
231
  /** Activity execution */
226
232
  /\s+at Activity\.execute \(.*[\\/]worker[\\/](?:src|lib)[\\/]activity\.[jt]s:\d+:\d+\)/,
227
233
  /** Workflow activation */
228
- /\s+at Activator\.\S+NextHandler \(webpack-internal:\/\/\/.*\/internals\.[jt]s:\d+:\d+\)/,
234
+ /\s+at Activator\.\S+NextHandler \(.*[\\/]workflow[\\/](?:src|lib)[\\/]internals\.[jt]s:\d+:\d+\)/,
229
235
  /** Workflow run anything in context */
230
- /\s+at Script\.runInContext/,
236
+ /\s+at Script\.runInContext \((?:node:vm|vm\.js):\d+:\d+\)/,
231
237
  ];
232
238
 
233
239
  /**
@@ -337,27 +343,38 @@ export function errorToFailure(err: unknown, payloadConverter: PayloadConverter)
337
343
  };
338
344
  }
339
345
 
340
- const recommendation = ` [A non-Error value was thrown from your code. We recommend throwing Error objects so that we can provide a stack trace.]`;
346
+ const recommendation = ` [A non-Error value was thrown from your code. We recommend throwing Error objects so that we can provide a stack trace]`;
341
347
 
342
348
  if (typeof err === 'string') {
343
349
  return { ...base, message: err + recommendation };
344
350
  }
351
+ if (typeof err === 'object') {
352
+ let message = '';
353
+ try {
354
+ message = JSON.stringify(err);
355
+ } catch (_err) {
356
+ message = String(err);
357
+ }
358
+ return { ...base, message: message + recommendation };
359
+ }
345
360
 
346
- return { ...base, message: JSON.stringify(err) + recommendation };
361
+ return { ...base, message: String(err) + recommendation };
347
362
  }
348
363
 
349
364
  /**
350
365
  * If `err` is an Error it is turned into an `ApplicationFailure`.
351
366
  *
352
- * If `err` was already a `TemporalFailure`, returns the original error.
367
+ * If `err` was already a `ApplicationFailure`, returns the original error.
353
368
  *
354
369
  * Otherwise returns an `ApplicationFailure` with `String(err)` as the message.
355
370
  */
356
- export function ensureTemporalFailure(err: unknown): TemporalFailure {
357
- if (err instanceof TemporalFailure) {
371
+ export function ensureApplicationFailure(err: unknown): ApplicationFailure {
372
+ if (err instanceof ApplicationFailure) {
358
373
  return err;
359
- } else if (err instanceof Error) {
360
- const failure = new ApplicationFailure(err.message, err.name, false);
374
+ }
375
+ if (err instanceof Error) {
376
+ const name = err.constructor?.name ?? err.name;
377
+ const failure = new ApplicationFailure(err.message, name, false);
361
378
  failure.stack = err.stack;
362
379
  return failure;
363
380
  } else {
@@ -367,6 +384,20 @@ export function ensureTemporalFailure(err: unknown): TemporalFailure {
367
384
  }
368
385
  }
369
386
 
387
+ /**
388
+ * If `err` is an Error it is turned into an `ApplicationFailure`.
389
+ *
390
+ * If `err` was already a `TemporalFailure`, returns the original error.
391
+ *
392
+ * Otherwise returns an `ApplicationFailure` with `String(err)` as the message.
393
+ */
394
+ export function ensureTemporalFailure(err: unknown): TemporalFailure {
395
+ if (err instanceof TemporalFailure) {
396
+ return err;
397
+ }
398
+ return ensureApplicationFailure(err);
399
+ }
400
+
370
401
  /**
371
402
  * Converts a Failure proto message to a JS Error object if defined or returns undefined.
372
403
  */
@@ -470,20 +501,20 @@ export function failureToError(failure: ProtoFailure, payloadConverter: PayloadC
470
501
  }
471
502
 
472
503
  /**
473
- * Get the root cause (string) of given error `err`.
504
+ * Get the root cause message of given `error`.
474
505
  *
475
- * In case `err` is a {@link TemporalFailure}, recurse the cause chain and return the root's message.
476
- * Otherwise, return `err.message`.
506
+ * In case `error` is a {@link TemporalFailure}, recurse the `cause` chain and return the root `cause.message`.
507
+ * Otherwise, return `error.message`.
477
508
  */
478
- export function rootCause(err: unknown): string | undefined {
479
- if (err instanceof TemporalFailure) {
480
- return err.cause ? rootCause(err.cause) : err.message;
509
+ export function rootCause(error: unknown): string | undefined {
510
+ if (error instanceof TemporalFailure) {
511
+ return error.cause ? rootCause(error.cause) : error.message;
481
512
  }
482
- if (err instanceof Error) {
483
- return err.message;
513
+ if (error instanceof Error) {
514
+ return error.message;
484
515
  }
485
- if (typeof err === 'string') {
486
- return err;
516
+ if (typeof error === 'string') {
517
+ return error;
487
518
  }
488
519
  return undefined;
489
520
  }
package/src/index.ts CHANGED
@@ -13,5 +13,6 @@ export * from './converter/data-converter';
13
13
  export * from './converter/payload-codec';
14
14
  export * from './converter/payload-converter';
15
15
  export * from './converter/payload-converters';
16
+ export * from './converter/json-payload-converter';
16
17
  export * from './converter/types';
17
18
  export * from './failure';
package/src/otel.ts ADDED
@@ -0,0 +1,63 @@
1
+ import * as otel from '@opentelemetry/api';
2
+ import { Headers } from '@temporalio/internal-workflow-common';
3
+ import { defaultPayloadConverter } from './converter/payload-converters';
4
+
5
+ /** Default trace header for opentelemetry interceptors */
6
+ export const TRACE_HEADER = '_tracer-data';
7
+ /** As in workflow run id */
8
+ export const RUN_ID_ATTR_KEY = 'run_id';
9
+ /** For a workflow or activity task */
10
+ export const TASK_TOKEN_ATTR_KEY = 'task_token';
11
+ /** Number of jobs in a workflow activation */
12
+ export const NUM_JOBS_ATTR_KEY = 'num_jobs';
13
+
14
+ const payloadConverter = defaultPayloadConverter;
15
+
16
+ /**
17
+ * If found, return an otel Context deserialized from the provided headers
18
+ */
19
+ export async function extractContextFromHeaders(headers: Headers): Promise<otel.Context | undefined> {
20
+ const encodedSpanContext = headers[TRACE_HEADER];
21
+ if (encodedSpanContext === undefined) {
22
+ return undefined;
23
+ }
24
+ const textMap: Record<string, string> = payloadConverter.fromPayload(encodedSpanContext);
25
+ return otel.propagation.extract(otel.context.active(), textMap, otel.defaultTextMapGetter);
26
+ }
27
+
28
+ /**
29
+ * If found, return an otel SpanContext deserialized from the provided headers
30
+ */
31
+ export async function extractSpanContextFromHeaders(headers: Headers): Promise<otel.SpanContext | undefined> {
32
+ const context = await extractContextFromHeaders(headers);
33
+ if (context === undefined) {
34
+ return undefined;
35
+ }
36
+
37
+ return otel.trace.getSpanContext(context);
38
+ }
39
+
40
+ /**
41
+ * Given headers, return new headers with the current otel context inserted
42
+ */
43
+ export async function headersWithContext(headers: Headers): Promise<Headers> {
44
+ const carrier = {};
45
+ otel.propagation.inject(otel.context.active(), carrier, otel.defaultTextMapSetter);
46
+ return { ...headers, [TRACE_HEADER]: payloadConverter.toPayload(carrier) };
47
+ }
48
+
49
+ /**
50
+ * Link a span to an maybe-existing span context
51
+ */
52
+ export function linkSpans(fromSpan: otel.Span, toContext?: otel.SpanContext): void {
53
+ if (toContext !== undefined) {
54
+ // TODO: I have to go around typescript because otel api 😢
55
+ // See https://github.com/open-telemetry/opentelemetry-js-api/issues/124
56
+ const links = (fromSpan as any).links;
57
+ if (links === undefined) {
58
+ (fromSpan as any).links = [{ context: toContext }];
59
+ } else {
60
+ links.push({ context: toContext });
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,103 @@
1
+ import proto from '@temporalio/proto';
2
+ import { fromProto3JSON, toProto3JSON } from 'proto3-json-serializer';
3
+ import { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
4
+
5
+ export type History = proto.temporal.api.history.v1.IHistory;
6
+ export type Payload = proto.temporal.api.common.v1.IPayload;
7
+
8
+ // Cast to any because the generated proto module types are missing the lookupType method
9
+ const patched = patchProtobufRoot(proto) as any;
10
+ const historyType = patched.lookupType('temporal.api.history.v1.History');
11
+ const payloadType = patched.lookupType('temporal.api.common.v1.Payload');
12
+
13
+ function pascalCaseToConstantCase(s: string) {
14
+ return s.replace(/[^\b][A-Z]/g, (m) => `${m[0]}_${m[1]}`).toUpperCase();
15
+ }
16
+
17
+ function fixEnumValue<O extends Record<string, any>>(obj: O, attr: keyof O, prefix: string) {
18
+ return (
19
+ obj[attr] && {
20
+ [attr]: `${prefix}_${pascalCaseToConstantCase(obj[attr])}`,
21
+ }
22
+ );
23
+ }
24
+
25
+ function fixHistoryEvent(e: Record<string, any>) {
26
+ const type = Object.keys(e).find((k) => k.endsWith('EventAttributes'));
27
+ if (!type) {
28
+ throw new TypeError(`Missing attributes in history event: ${JSON.stringify(e)}`);
29
+ }
30
+
31
+ return {
32
+ ...e,
33
+ ...fixEnumValue(e, 'eventType', 'EVENT_TYPE'),
34
+ [type]: {
35
+ ...e[type],
36
+ ...(e[type].taskQueue && {
37
+ taskQueue: { ...e[type].taskQueue, ...fixEnumValue(e[type].taskQueue, 'kind', 'TASK_QUEUE_KIND') },
38
+ }),
39
+ ...fixEnumValue(e[type], 'parentClosePolicy', 'PARENT_CLOSE_POLICY'),
40
+ ...fixEnumValue(e[type], 'workflowIdReusePolicy', 'WORKFLOW_ID_REUSE_POLICY'),
41
+ ...fixEnumValue(e[type], 'initiator', 'CONTINUE_AS_NEW_INITIATOR'),
42
+ ...fixEnumValue(e[type], 'retryState', 'RETRY_STATE'),
43
+ ...(e[type].childWorkflowExecutionFailureInfo && {
44
+ childWorkflowExecutionFailureInfo: {
45
+ ...e[type].childWorkflowExecutionFailureInfo,
46
+ ...fixEnumValue(e[type].childWorkflowExecutionFailureInfo, 'retryState', 'RETRY_STATE'),
47
+ },
48
+ }),
49
+ },
50
+ };
51
+ }
52
+
53
+ function fixHistory(h: Record<string, any>) {
54
+ return {
55
+ events: h.events.map(fixHistoryEvent),
56
+ };
57
+ }
58
+
59
+ /**
60
+ * Convert a proto JSON representation of History to a valid History object
61
+ */
62
+ export function historyFromJSON(history: unknown): History {
63
+ if (typeof history !== 'object' || history == null || !Array.isArray((history as any).events)) {
64
+ throw new TypeError('Invalid history, expected an object with an array of events');
65
+ }
66
+ const loaded = fromProto3JSON(historyType, fixHistory(history));
67
+ if (loaded === null) {
68
+ throw new TypeError('Invalid history');
69
+ }
70
+ return loaded as any;
71
+ }
72
+
73
+ /**
74
+ * JSON representation of Temporal's {@link Payload} protobuf object
75
+ */
76
+ export interface JSONPayload {
77
+ /**
78
+ * Mapping of key to base64 encoded value
79
+ */
80
+ metadata?: Record<string, string> | null;
81
+ /**
82
+ * base64 encoded value
83
+ */
84
+ data?: string | null;
85
+ }
86
+
87
+ /**
88
+ * Convert from protobuf payload to JSON
89
+ */
90
+ export function payloadToJSON(payload: Payload): JSONPayload {
91
+ return toProto3JSON(patched.temporal.api.common.v1.Payload.create(payload)) as any;
92
+ }
93
+
94
+ /**
95
+ * Convert from JSON to protobuf payload
96
+ */
97
+ export function JSONToPayload(json: JSONPayload): Payload {
98
+ const loaded = fromProto3JSON(payloadType, json as any);
99
+ if (loaded === null) {
100
+ throw new TypeError('Invalid payload');
101
+ }
102
+ return loaded as any;
103
+ }
package/src/protobufs.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Entry point for classes and utilities related to using
3
- * [Protobufs](https://docs.temporal.io/docs/typescript/data-converters#protobufs) for serialization.
3
+ * {@link https://docs.temporal.io/typescript/data-converters#protobufs | Protobufs} for serialization.
4
4
  *
5
5
  * Import from `@temporalio/common/lib/protobufs`, for example:
6
6
  *
@@ -12,4 +12,4 @@
12
12
 
13
13
  // Don't export from index, so we save space in Workflow bundles of users who don't use Protobufs
14
14
  export * from './converter/protobuf-payload-converters';
15
- export * from './converter/patch-protobuf-root';
15
+ export { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
@@ -1 +0,0 @@
1
- export { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.patchProtobufRoot = void 0;
4
- var patch_protobuf_root_1 = require("@temporalio/proto/lib/patch-protobuf-root");
5
- Object.defineProperty(exports, "patchProtobufRoot", { enumerable: true, get: function () { return patch_protobuf_root_1.patchProtobufRoot; } });
6
- //# sourceMappingURL=patch-protobuf-root.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patch-protobuf-root.js","sourceRoot":"","sources":["../../src/converter/patch-protobuf-root.ts"],"names":[],"mappings":";;;AAAA,iFAA8E;AAArE,wHAAA,iBAAiB,OAAA"}
@@ -1 +0,0 @@
1
- export { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
package/tsconfig.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "./lib",
5
- "rootDir": "./src"
6
- },
7
- "references": [{ "path": "../internal-workflow-common" }],
8
- "include": ["./src/**/*.ts"]
9
- }
@@ -1 +0,0 @@
1
- {"program":{"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.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.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.es2020.bigint.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.esnext.intl.d.ts","../../node_modules/@types/long/index.d.ts","../../node_modules/protobufjs/index.d.ts","../proto/protos/root.d.ts","../proto/protos/index.d.ts","../internal-workflow-common/lib/retry-policy.d.ts","../internal-workflow-common/lib/activity-options.d.ts","../internal-workflow-common/lib/errors.d.ts","../internal-workflow-common/lib/type-helpers.d.ts","../internal-workflow-common/lib/interceptors.d.ts","../internal-workflow-common/lib/interfaces.d.ts","../internal-workflow-common/lib/time.d.ts","../internal-workflow-common/lib/workflow-handle.d.ts","../internal-workflow-common/lib/workflow-options.d.ts","../internal-workflow-common/lib/index.d.ts","./src/converter/encoding.ts","./src/converter/types.ts","./src/converter/payload-converters.ts","./src/converter/payload-converter.ts","./src/failure.ts","./src/converter/payload-codec.ts","./src/converter/data-converter.ts","./src/index.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.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/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/repl.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/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/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/proto3-json-serializer/build/src/types.d.ts","../../node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","../../node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","../../node_modules/proto3-json-serializer/build/src/index.d.ts","./src/converter/protobuf-payload-converters.ts","../proto/lib/patch-protobuf-root.d.ts","./src/converter/patch-protobuf-root.ts","./src/protobufs.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/async-retry/index.d.ts","../../node_modules/keyv/src/index.d.ts","../../node_modules/@types/http-cache-semantics/index.d.ts","../../node_modules/@types/responselike/index.d.ts","../../node_modules/@types/cacheable-request/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/dedent/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/got/index.d.ts","../../node_modules/@types/json-buffer/index.d.ts","../../node_modules/@types/keyv/index.d.ts","../../node_modules/@types/linkify-it/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/mdurl/encode.d.ts","../../node_modules/@types/mdurl/decode.d.ts","../../node_modules/@types/mdurl/parse.d.ts","../../node_modules/@types/mdurl/format.d.ts","../../node_modules/@types/mdurl/index.d.ts","../../node_modules/@types/markdown-it/lib/common/utils.d.ts","../../node_modules/@types/markdown-it/lib/token.d.ts","../../node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.ts","../../node_modules/@types/markdown-it/lib/helpers/index.d.ts","../../node_modules/@types/markdown-it/lib/ruler.d.ts","../../node_modules/@types/markdown-it/lib/rules_block/state_block.d.ts","../../node_modules/@types/markdown-it/lib/parser_block.d.ts","../../node_modules/@types/markdown-it/lib/rules_core/state_core.d.ts","../../node_modules/@types/markdown-it/lib/parser_core.d.ts","../../node_modules/@types/markdown-it/lib/parser_inline.d.ts","../../node_modules/@types/markdown-it/lib/renderer.d.ts","../../node_modules/@types/markdown-it/lib/index.d.ts","../../node_modules/@types/markdown-it/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/minipass/index.d.ts","../../node_modules/@types/ms/index.d.ts","../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/pidusage/index.d.ts","../../node_modules/@types/prompts/index.d.ts","../../node_modules/ts-toolbelt/out/index.d.ts","../../node_modules/@types/ramda/tools.d.ts","../../node_modules/@types/ramda/index.d.ts","../../node_modules/@types/rimraf/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/tar/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/@types/validate-npm-package-name/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","1483036bc7965f2b68e63475c4ac7bae6b398b60262be25725c0542779afcdd2","e784aa955e0c457fac13e62cf5ae21238000032b0c60fe4c138891912ac4ceed","82a29801c5e4e2a6cf192da6a810b79e7be27a3a3e846d38fc6f1a67750a940f","1f86b92d8d772ebeeb5b4a6fc4bb4fb13ae7275d69fbb2ed0128fb589a6fc057","e6a153915ebf3d92d5cfa88c1169dbbf6cc425db01dde390c1c126bcfdbb238b","8c1c7f187912d5dadec77f8bd1fdf1f4099bf86ddf33525525beaf290f5d1789","c53ea76f31dbe2c5f5b76d2a07268b7e969a30fbcccca4d7271dccac54259311","bafd8944f9cbefccff23b2af47517925f3fa0be29251308fdc4485cf2e99afb4","97fdf5a317f77456a8d2d20c9eaf61f64611dbf6baa2b6ca36bbbeb6b456aae7","1a7689daffa54e39ebac4d793b9a38605e6c1354ba4f82a2777599d2e316d118","02cac870dfa641086d52c0a1dde60c3bcd070228d64637f4016230c41ca36791","9863b273003f68928bab5740056d3de2f3344749b4a24cf3dedc6d3cbda79d81","5df28c24c67ee8717517dc0909d9be34eac9433c328d3448260db9c507f5643b","da8a81475d63b1809bc0ea979245f66aa6d634d793e12eebffb753f39a991612","7adb7d7d64bb0cb299e7d9ad4480adda50869788efc727eaa3ec1c0823ad8307","636458341136c89298861b54055b5f7db38a00e039b633046b25f2c554430ec1","6e97fc991b0108b668546686aa10542a30dce23449022ad62109d61146434ce1","0e0830bf3fdf7a5c22178395e0db35de4757bccaea8bbc9f14371edaacff5f2e","4d87db0eea777011b7748a9e1364f9f5aa2c210146bc88ca4bb7011b443404f1","92551832d2af47e8871e238ac42299ec1a005864cba26307a61df8e50cfcb9f6","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"aeeee3998c5a730f8689f04038d41cf4245c9edbf6ef29a698e45b36e399b8ed","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","e3b886bacdd1fbf1f72e654596c80a55c7bc1d10bdf464aaf52f45ecd243862f","c665d5c50c2573aefd98f0ffb12c5583e333ed94294ce6f144a4163a8c84f09b","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"8a215750db3e2073511e07c9e293c8c40d6109e5c7368845e060bcc12adbae6f","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","3fa48484c65913004d5abb5c0f917b61ea4684f32d05bb28c1ecfa5f05a9ed12","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"dd9ea469d1bfaf589c6a196275d35cb1aa14014707c2c46d920c7b921e8f5bca","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","8d5ad6a07dc84c0fba4041cba09bfc9c75bc06b04e8843405e3fb2456c721438","e680ff882bccd2bb6574128a17e1a32d7a49b8eb161a9a739dd60f8362e3d4d9","a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","aa7d0095b9763a3b47c1851036d87152872a3d7f1733732b0a0e14655b0ee34b","f15772b5bc8d544ffcca3aeeb66e2d6f3892aededf706bd2be41192bff366c52","317fb02258f4be48abc25edbfe9944e95fe68cb71d7dfc70e76ab47ceadca816","7c3c4c2d03f974aaf540e85b0275ed5e179d3d4994e0921ec0dbeb9d7444b803","c0b119add21c1647a84c7403e45611c89e404536ca145b30334ad1c66becdb99","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","79d2fdaa1e0bf1a62b59de50e185374b74d22dc43144a78eab1bbcca0a4a2550","cd71905370ede696577acc23c695181e618a7d08616b1d06b43d3e6a12880fab","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","5e3a55837aa1f42af2d2334c9b750f59f5f50a2205471875f5dd6aadc3e49ddb","70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","8566fa84085caa46340393b1704ecd368491918fb45bd688d6e89736aec73a2f","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","19bf3ca55fd356755cda33e6e8c753d3d13d4aaa54ad9c5c032927f362188066","75bdc1b420f0ffc6cc6fd0b6694d89f5072bf755b4e6c7e65a2fda797ca0bb8a","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","6503fb6addf62f9b10f8564d9869ad824565a914ec1ac3dd7d13da14a3f57036","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"f313731860257325f13351575f381fef333d4dfe30daf5a2e72f894208feea08","951b37f7d86f6012f09e6b35f1de57c69d75f16908cb0adaa56b93675ea0b853","3816fc03ffd9cbd1a7a3362a264756a4a1d547caabea50ca68303046be40e376","0c417b4ec46b88fb62a43ec00204700b560d01eb5677c7faa8ecd34610f096a8","13d29cdeb64e8496424edf42749bbb47de5e42d201cf958911a4638cbcffbd3f","0f9e381eecc5860f693c31fe463b3ca20a64ca9b8db0cf6208cd4a053f064809","95902d5561c6aac5dfc40568a12b0aca324037749dcd32a81f23423bfde69bab","5dfb2aca4136abdc5a2740f14be8134a6e6b66fd53470bb2e954e40f8abfaf3e","577463167dd69bd81f76697dfc3f7b22b77a6152f60a602a9218e52e3183ad67","b8396e9024d554b611cbe31a024b176ba7116063d19354b5a02dccd8f0118989","4b28e1c5bf88d891e07a1403358b81a51b3ba2eae1ffada51cca7476b5ac6407","7150ad575d28bf98fae321a1c0f10ad17b127927811f488ded6ff1d88d4244e5","8b155c4757d197969553de3762c8d23d5866710301de41e1b66b97c9ed867003","93733466609dd8bf72eace502a24ca7574bd073d934216e628f1b615c8d3cb3c","45e9228761aabcadb79c82fb3008523db334491525bdb8e74e0f26eaf7a4f7f4","aeacac2778c9821512b6b889da79ac31606a863610c8f28da1e483579627bf90","569fdb354062fc098a6a3ba93a029edf22d6fe480cf72b231b3c07832b2e7c97","bf9876e62fb7f4237deafab8c7444770ef6e82b4cad2d5dc768664ff340feeb2","6cf60e76d37faf0fbc2f80a873eab0fd545f6b1bf300e7f0823f956ddb3083e9","6adaa6103086f931e3eee20f0987e86e8879e9d13aa6bd6075ccfc58b9c5681c","ee0af0f2b8d3b4d0baf669f2ff6fcef4a8816a473c894cc7c905029f7505fed0","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","bef99c239e4fb2f51b7cc4952d019cb30bacd8c2e9fa07884886dbe3624cbcfb","4c8239bedbe72ce9405efb578f03f56219dba4ceb5a57ca3d2dc10334612f210","9df147746b0cbd11d022b564e6fdd43ac79b643dc579d2123317ee01cc4f0d70","fcd714a42a6b383a6240c056da9326afcea41a0d289a23206990f2550e5c1988","19392d5faf0ddca7ecdf300ace20ff6a5a120a11b6536a767fb1d9feb592cec5","f4cf5f0ad1cfb0ceebbe4fbe8aaf0aa728e899c99cc36ec6c0c4b8f6e8a84c83","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","bae219fc966077e88ec22d2dc2eb24617d3244d3593afdc5f2457fabd27d7462"],"options":{"composite":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[104,120],[76,79,103,104,111,122,123,124],[66,104,111],[104],[104,130,131],[104,128,129,130],[77,104,111],[76,77,104,111,134],[79,81,93,103,104,111,136],[76,104,111],[104,141,143,144,145,146,147,148,149,150,151,152,153],[104,141,142,144,145,146,147,148,149,150,151,152,153],[104,142,143,144,145,146,147,148,149,150,151,152,153],[104,141,142,143,145,146,147,148,149,150,151,152,153],[104,141,142,143,144,146,147,148,149,150,151,152,153],[104,141,142,143,144,145,147,148,149,150,151,152,153],[104,141,142,143,144,145,146,148,149,150,151,152,153],[104,141,142,143,144,145,146,147,149,150,151,152,153],[104,141,142,143,144,145,146,147,148,150,151,152,153],[104,141,142,143,144,145,146,147,148,149,151,152,153],[104,141,142,143,144,145,146,147,148,149,150,152,153],[104,141,142,143,144,145,146,147,148,149,150,151,153],[104,141,142,143,144,145,146,147,148,149,150,151,152],[104,173],[104,158],[104,162,163,164],[104,161],[104,163],[104,140,159,160,165,168,170,171,172],[104,160,166,167,173],[104,166,169],[104,160,161,166,173],[104,160,173],[104,154,155,156,157],[79,103,104,111,178,179],[79,93,104,111],[61,104],[64,104],[65,70,104],[66,76,77,84,93,103,104],[66,67,76,84,104],[68,104],[69,70,77,85,104],[70,93,100,104],[71,73,76,84,104],[72,104],[73,74,104],[75,76,104],[76,104],[76,77,78,93,103,104],[76,77,78,93,104],[79,84,93,103,104],[76,77,79,80,84,93,100,103,104],[79,81,93,100,103,104],[61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],[76,82,104],[83,103,104],[73,76,84,93,104],[85,104],[86,104],[64,87,104],[88,102,104,108],[89,104],[90,104],[76,91,104],[91,92,104,106],[76,93,94,95,104],[93,95,104],[93,94,104],[96,104],[97,104],[76,98,99,104],[98,99,104],[70,84,100,104],[101,104],[84,102,104],[65,79,90,103,104],[70,104],[93,104,105],[104,106],[104,107],[65,70,76,78,87,93,103,104,106,108],[93,104,109],[104,185,186],[104,185],[77,104,111,135],[104,189,228],[104,189,213,228],[104,228],[104,189],[104,189,214,228],[104,189,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],[104,214,228],[76,93,104,109,111,176],[40,104,112],[104,112,113,114],[104,111],[56,58,104],[104,117],[54,104],[52,54,55,104],[52,54,56,104],[40,52,54,55,56,104,115],[42,53,104],[42,52,56,104],[44,45,48,49,51,52,54,55,56,57,58,59,104],[104,116,118],[42,43,104],[43,44,45,46,47,48,49,50,51,104],[42,46,104],[42,104],[48,104],[42,43,46,48,104],[41,104],[39,40,104]],"referencedMap":[[121,1],[125,2],[126,3],[127,4],[132,5],[128,4],[131,6],[130,4],[133,7],[135,8],[137,9],[123,4],[138,4],[129,4],[139,10],[140,4],[142,11],[143,12],[141,13],[144,14],[145,15],[146,16],[147,17],[148,18],[149,19],[150,20],[151,21],[152,22],[153,23],[39,4],[174,24],[159,25],[165,26],[163,4],[162,27],[164,28],[173,29],[168,30],[170,31],[171,32],[172,33],[166,4],[167,33],[169,33],[161,33],[160,4],[155,4],[154,4],[157,25],[158,34],[156,25],[134,4],[175,4],[176,10],[177,4],[179,4],[180,35],[178,36],[61,37],[62,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,47],[75,48],[76,49],[77,50],[78,51],[63,4],[110,4],[79,52],[80,53],[81,54],[111,55],[82,56],[83,57],[84,58],[85,59],[86,60],[87,61],[88,62],[89,63],[90,64],[91,65],[92,66],[93,67],[95,68],[94,69],[96,70],[97,71],[98,72],[99,73],[100,74],[101,75],[102,76],[103,77],[104,78],[105,79],[106,80],[107,81],[108,82],[109,83],[181,4],[182,4],[183,4],[184,4],[187,84],[186,85],[124,36],[120,4],[188,86],[213,87],[214,88],[189,89],[192,89],[211,87],[212,87],[202,90],[201,90],[199,87],[194,87],[207,87],[205,87],[209,87],[193,87],[206,87],[210,87],[195,87],[196,87],[208,87],[190,87],[197,87],[198,87],[200,87],[204,87],[215,91],[203,87],[191,87],[228,92],[227,4],[222,91],[224,93],[223,91],[216,91],[217,91],[219,91],[221,91],[225,93],[226,93],[218,93],[220,93],[229,94],[136,4],[230,4],[231,4],[122,49],[114,95],[115,96],[113,95],[112,97],[40,4],[185,85],[9,4],[8,4],[2,4],[10,4],[11,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[3,4],[4,4],[21,4],[18,4],[19,4],[20,4],[22,4],[23,4],[24,4],[5,4],[25,4],[26,4],[27,4],[28,4],[6,4],[29,4],[30,4],[31,4],[32,4],[7,4],[37,4],[33,4],[34,4],[35,4],[36,4],[1,4],[38,4],[59,98],[53,4],[118,99],[58,100],[56,101],[55,102],[116,103],[54,104],[57,105],[60,106],[119,107],[44,108],[45,4],[52,109],[47,110],[48,4],[43,111],[49,111],[46,4],[50,112],[51,113],[117,4],[42,114],[41,115]],"exportedModulesMap":[[121,1],[125,2],[126,3],[127,4],[132,5],[128,4],[131,6],[130,4],[133,7],[135,8],[137,9],[123,4],[138,4],[129,4],[139,10],[140,4],[142,11],[143,12],[141,13],[144,14],[145,15],[146,16],[147,17],[148,18],[149,19],[150,20],[151,21],[152,22],[153,23],[39,4],[174,24],[159,25],[165,26],[163,4],[162,27],[164,28],[173,29],[168,30],[170,31],[171,32],[172,33],[166,4],[167,33],[169,33],[161,33],[160,4],[155,4],[154,4],[157,25],[158,34],[156,25],[134,4],[175,4],[176,10],[177,4],[179,4],[180,35],[178,36],[61,37],[62,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,47],[75,48],[76,49],[77,50],[78,51],[63,4],[110,4],[79,52],[80,53],[81,54],[111,55],[82,56],[83,57],[84,58],[85,59],[86,60],[87,61],[88,62],[89,63],[90,64],[91,65],[92,66],[93,67],[95,68],[94,69],[96,70],[97,71],[98,72],[99,73],[100,74],[101,75],[102,76],[103,77],[104,78],[105,79],[106,80],[107,81],[108,82],[109,83],[181,4],[182,4],[183,4],[184,4],[187,84],[186,85],[124,36],[120,4],[188,86],[213,87],[214,88],[189,89],[192,89],[211,87],[212,87],[202,90],[201,90],[199,87],[194,87],[207,87],[205,87],[209,87],[193,87],[206,87],[210,87],[195,87],[196,87],[208,87],[190,87],[197,87],[198,87],[200,87],[204,87],[215,91],[203,87],[191,87],[228,92],[227,4],[222,91],[224,93],[223,91],[216,91],[217,91],[219,91],[221,91],[225,93],[226,93],[218,93],[220,93],[229,94],[136,4],[230,4],[231,4],[122,49],[114,95],[115,96],[113,95],[112,97],[40,4],[185,85],[9,4],[8,4],[2,4],[10,4],[11,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[3,4],[4,4],[21,4],[18,4],[19,4],[20,4],[22,4],[23,4],[24,4],[5,4],[25,4],[26,4],[27,4],[28,4],[6,4],[29,4],[30,4],[31,4],[32,4],[7,4],[37,4],[33,4],[34,4],[35,4],[36,4],[1,4],[38,4],[59,98],[53,4],[118,99],[58,100],[56,101],[55,102],[116,103],[54,104],[57,105],[60,106],[119,107],[44,108],[45,4],[52,109],[47,110],[48,4],[43,111],[49,111],[46,4],[50,112],[51,113],[117,4],[42,114],[41,115]],"semanticDiagnosticsPerFile":[121,125,126,127,132,128,131,130,133,135,137,123,138,129,139,140,142,143,141,144,145,146,147,148,149,150,151,152,153,39,174,159,165,163,162,164,173,168,170,171,172,166,167,169,161,160,155,154,157,158,156,134,175,176,177,179,180,178,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,63,110,79,80,81,111,82,83,84,85,86,87,88,89,90,91,92,93,95,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,181,182,183,184,187,186,124,120,188,213,214,189,192,211,212,202,201,199,194,207,205,209,193,206,210,195,196,208,190,197,198,200,204,215,203,191,228,227,222,224,223,216,217,219,221,225,226,218,220,229,136,230,231,122,114,115,113,112,40,185,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,59,53,118,58,56,55,116,54,57,60,119,44,45,52,47,48,43,49,46,50,51,117,42,41]},"version":"4.6.3"}