@arizeai/phoenix-client 2.3.5 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/esm/__generated__/api/v1.d.ts +159 -5
  2. package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
  3. package/dist/esm/datasets/getDataset.d.ts +5 -2
  4. package/dist/esm/datasets/getDataset.d.ts.map +1 -1
  5. package/dist/esm/datasets/getDataset.js +5 -3
  6. package/dist/esm/datasets/getDataset.js.map +1 -1
  7. package/dist/esm/datasets/getDatasetExamples.d.ts +5 -2
  8. package/dist/esm/datasets/getDatasetExamples.d.ts.map +1 -1
  9. package/dist/esm/datasets/getDatasetExamples.js +9 -2
  10. package/dist/esm/datasets/getDatasetExamples.js.map +1 -1
  11. package/dist/esm/datasets/getDatasetInfo.d.ts +1 -0
  12. package/dist/esm/datasets/getDatasetInfo.d.ts.map +1 -1
  13. package/dist/esm/datasets/getDatasetInfo.js +1 -0
  14. package/dist/esm/datasets/getDatasetInfo.js.map +1 -1
  15. package/dist/esm/datasets/index.d.ts +0 -1
  16. package/dist/esm/datasets/index.d.ts.map +1 -1
  17. package/dist/esm/datasets/index.js +0 -1
  18. package/dist/esm/datasets/index.js.map +1 -1
  19. package/dist/esm/spans/deleteSpan.d.ts +48 -0
  20. package/dist/esm/spans/deleteSpan.d.ts.map +1 -0
  21. package/dist/esm/spans/deleteSpan.js +60 -0
  22. package/dist/esm/spans/deleteSpan.js.map +1 -0
  23. package/dist/esm/spans/index.d.ts +1 -0
  24. package/dist/esm/spans/index.d.ts.map +1 -1
  25. package/dist/esm/spans/index.js +1 -0
  26. package/dist/esm/spans/index.js.map +1 -1
  27. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  28. package/dist/esm/types/datasets.d.ts +22 -2
  29. package/dist/esm/types/datasets.d.ts.map +1 -1
  30. package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
  31. package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
  32. package/dist/src/__generated__/api/v1.d.ts +159 -5
  33. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  34. package/dist/src/datasets/getDataset.d.ts +5 -2
  35. package/dist/src/datasets/getDataset.d.ts.map +1 -1
  36. package/dist/src/datasets/getDataset.js +5 -3
  37. package/dist/src/datasets/getDataset.js.map +1 -1
  38. package/dist/src/datasets/getDatasetExamples.d.ts +5 -2
  39. package/dist/src/datasets/getDatasetExamples.d.ts.map +1 -1
  40. package/dist/src/datasets/getDatasetExamples.js +9 -2
  41. package/dist/src/datasets/getDatasetExamples.js.map +1 -1
  42. package/dist/src/datasets/getDatasetInfo.d.ts +1 -0
  43. package/dist/src/datasets/getDatasetInfo.d.ts.map +1 -1
  44. package/dist/src/datasets/getDatasetInfo.js +1 -0
  45. package/dist/src/datasets/getDatasetInfo.js.map +1 -1
  46. package/dist/src/datasets/index.d.ts +0 -1
  47. package/dist/src/datasets/index.d.ts.map +1 -1
  48. package/dist/src/datasets/index.js +0 -1
  49. package/dist/src/datasets/index.js.map +1 -1
  50. package/dist/src/spans/deleteSpan.d.ts +48 -0
  51. package/dist/src/spans/deleteSpan.d.ts.map +1 -0
  52. package/dist/src/spans/deleteSpan.js +63 -0
  53. package/dist/src/spans/deleteSpan.js.map +1 -0
  54. package/dist/src/spans/index.d.ts +1 -0
  55. package/dist/src/spans/index.d.ts.map +1 -1
  56. package/dist/src/spans/index.js +1 -0
  57. package/dist/src/spans/index.js.map +1 -1
  58. package/dist/src/types/datasets.d.ts +22 -2
  59. package/dist/src/types/datasets.d.ts.map +1 -1
  60. package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
  61. package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +2 -2
  64. package/src/__generated__/api/v1.ts +159 -5
  65. package/src/datasets/getDataset.ts +6 -2
  66. package/src/datasets/getDatasetExamples.ts +14 -1
  67. package/src/datasets/getDatasetInfo.ts +2 -0
  68. package/src/datasets/index.ts +0 -1
  69. package/src/spans/deleteSpan.ts +81 -0
  70. package/src/spans/index.ts +1 -0
  71. package/src/types/datasets.ts +25 -2
@@ -0,0 +1,48 @@
1
+ import { ClientFn } from "../types/core";
2
+ /**
3
+ * Parameters to delete a span
4
+ */
5
+ export interface DeleteSpanParams extends ClientFn {
6
+ /**
7
+ * The span identifier. Can be either:
8
+ * - OpenTelemetry span_id (string)
9
+ * - Phoenix Global ID (string)
10
+ */
11
+ spanIdentifier: string;
12
+ }
13
+ /**
14
+ * Delete a single span by identifier.
15
+ *
16
+ * **Important**: This operation deletes ONLY the specified span itself and does NOT
17
+ * delete its descendants/children. All child spans will remain in the trace and
18
+ * become orphaned (their parent_id will point to a non-existent span).
19
+ *
20
+ * Behavior:
21
+ * - Deletes only the target span (preserves all descendant spans)
22
+ * - Child spans become orphaned but remain in the database
23
+ * - Returns successfully if span is found and deleted
24
+ * - Throws error if span is not found (404) or other errors occur
25
+ *
26
+ * @experimental this function is experimental and may change in the future
27
+ *
28
+ * @param params - The parameters to delete a span
29
+ * @returns Promise that resolves when the span is successfully deleted
30
+ * @throws Error if the span is not found or deletion fails
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * // Delete by OpenTelemetry span_id
35
+ * await deleteSpan({
36
+ * client,
37
+ * spanIdentifier: "abc123def456"
38
+ * });
39
+ *
40
+ * // Delete by Phoenix Global ID
41
+ * await deleteSpan({
42
+ * client,
43
+ * spanIdentifier: "U3BhbjoyMzQ1Njc4OQ=="
44
+ * });
45
+ * ```
46
+ */
47
+ export declare function deleteSpan({ client: _client, spanIdentifier, }: DeleteSpanParams): Promise<void>;
48
+ //# sourceMappingURL=deleteSpan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteSpan.d.ts","sourceRoot":"","sources":["../../../src/spans/deleteSpan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,cAAc,GACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BlC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteSpan = deleteSpan;
4
+ const client_1 = require("../client");
5
+ /**
6
+ * Delete a single span by identifier.
7
+ *
8
+ * **Important**: This operation deletes ONLY the specified span itself and does NOT
9
+ * delete its descendants/children. All child spans will remain in the trace and
10
+ * become orphaned (their parent_id will point to a non-existent span).
11
+ *
12
+ * Behavior:
13
+ * - Deletes only the target span (preserves all descendant spans)
14
+ * - Child spans become orphaned but remain in the database
15
+ * - Returns successfully if span is found and deleted
16
+ * - Throws error if span is not found (404) or other errors occur
17
+ *
18
+ * @experimental this function is experimental and may change in the future
19
+ *
20
+ * @param params - The parameters to delete a span
21
+ * @returns Promise that resolves when the span is successfully deleted
22
+ * @throws Error if the span is not found or deletion fails
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * // Delete by OpenTelemetry span_id
27
+ * await deleteSpan({
28
+ * client,
29
+ * spanIdentifier: "abc123def456"
30
+ * });
31
+ *
32
+ * // Delete by Phoenix Global ID
33
+ * await deleteSpan({
34
+ * client,
35
+ * spanIdentifier: "U3BhbjoyMzQ1Njc4OQ=="
36
+ * });
37
+ * ```
38
+ */
39
+ async function deleteSpan({ client: _client, spanIdentifier, }) {
40
+ const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
41
+ const { error } = await client.DELETE("/v1/spans/{span_identifier}", {
42
+ params: {
43
+ path: {
44
+ span_identifier: spanIdentifier,
45
+ },
46
+ },
47
+ });
48
+ if (error) {
49
+ const isNotFound = typeof error === "object" &&
50
+ error !== null &&
51
+ "status" in error &&
52
+ error.status === 404;
53
+ if (isNotFound) {
54
+ throw new Error(`Span not found: ${spanIdentifier}`);
55
+ }
56
+ // Extract meaningful error information
57
+ const errorMessage = typeof error === "object" && error !== null
58
+ ? JSON.stringify(error, null, 2)
59
+ : String(error);
60
+ throw new Error(`Failed to delete span: ${errorMessage}`);
61
+ }
62
+ }
63
+ //# sourceMappingURL=deleteSpan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteSpan.js","sourceRoot":"","sources":["../../../src/spans/deleteSpan.ts"],"names":[],"mappings":";;AAiDA,gCA+BC;AAhFD,sCAAyC;AAezC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACI,KAAK,UAAU,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,cAAc,GACG;IACjB,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAA,qBAAY,GAAE,CAAC;IAEzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE;QACnE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,eAAe,EAAE,cAAc;aAChC;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GACd,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,uCAAuC;QACvC,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -2,4 +2,5 @@ export * from "./addSpanAnnotation";
2
2
  export * from "./logSpanAnnotations";
3
3
  export * from "./getSpans";
4
4
  export * from "./getSpanAnnotations";
5
+ export * from "./deleteSpan";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spans/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spans/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./addSpanAnnotation"), exports);
18
18
  __exportStar(require("./logSpanAnnotations"), exports);
19
19
  __exportStar(require("./getSpans"), exports);
20
20
  __exportStar(require("./getSpanAnnotations"), exports);
21
+ __exportStar(require("./deleteSpan"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spans/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,uDAAqC;AACrC,6CAA2B;AAC3B,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spans/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,uDAAqC;AACrC,6CAA2B;AAC3B,uDAAqC;AACrC,+CAA6B"}
@@ -1,13 +1,19 @@
1
1
  import { Node } from "./core";
2
2
  /**
3
- * A dataset can be identified by its datasetId
4
- * TODO: add support for datasetVersionId via discriminated union
3
+ * A dataset can be identified by its datasetId, datasetName, or datasetVersionId
5
4
  */
6
5
  export type DatasetSelector = {
7
6
  datasetId: string;
8
7
  } | {
9
8
  datasetName: string;
10
9
  };
10
+ /**
11
+ * Parameters for selecting a specific version of a dataset
12
+ */
13
+ export interface DatasetVersionSelector {
14
+ dataset: DatasetSelector;
15
+ versionId?: string;
16
+ }
11
17
  /**
12
18
  * Overview information about a dataset
13
19
  */
@@ -16,6 +22,14 @@ export interface DatasetInfo extends Node {
16
22
  description?: string | null;
17
23
  metadata?: Record<string, unknown>;
18
24
  }
25
+ /**
26
+ * Information about a dataset version
27
+ */
28
+ export interface DatasetVersionInfo extends Node {
29
+ description?: string | null;
30
+ metadata?: Record<string, unknown>;
31
+ createdAt: Date;
32
+ }
19
33
  /**
20
34
  * A dataset's examples
21
35
  */
@@ -45,4 +59,10 @@ export interface ExampleWithId extends Example, Node {
45
59
  */
46
60
  export interface Dataset extends DatasetInfo, DatasetExamples, Node {
47
61
  }
62
+ /**
63
+ * A dataset with its version information
64
+ */
65
+ export interface DatasetWithVersion extends Dataset {
66
+ versionInfo: DatasetVersionInfo;
67
+ }
48
68
  //# sourceMappingURL=datasets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datasets.d.ts","sourceRoot":"","sources":["../../../src/types/datasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO,EAAE,IAAI;IAClD,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,WAAW,EAAE,eAAe,EAAE,IAAI;CAAG"}
1
+ {"version":3,"file":"datasets.d.ts","sourceRoot":"","sources":["../../../src/types/datasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI;IAC9C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO,EAAE,IAAI;IAClD,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,WAAW,EAAE,eAAe,EAAE,IAAI;CAAG;AAEtE;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD,WAAW,EAAE,kBAAkB,CAAC;CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatPromptMessages.d.ts","sourceRoot":"","sources":["../../../src/utils/formatPromptMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAO3E;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,iBAAiB,EAAE,EACnC,SAAS,GAAE,SAAc;;;;;;;mBA4DsiyE,uDAAsB;;;;;;;;;IAlBtlyE"}
1
+ {"version":3,"file":"formatPromptMessages.d.ts","sourceRoot":"","sources":["../../../src/utils/formatPromptMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAO3E;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,iBAAiB,EAAE,EACnC,SAAS,GAAE,SAAc;;;;;;;mBA4D+t2E,uDAAsB;;;;;;;;;IAlB/w2E"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPromptBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getPromptBySelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,MAAM,GACP,EAAE,yBAAyB;;oBAkD6/7D,uDAAsB;;cAAkI,uDAAsB,yBAAwB,uDAAsB;mBAAoD,uDAAsB;qBAAoD,uDAAsB;2BAAqG,uDAAsB,uCAAsC,uDAAsB,4CAA2C,uDAAsB,0CAAyC,uDAAsB,uCAAsC,uDAAsB,yCAAwC,uDAAsB,oCAAmC,uDAAsB,uCAAsC,uDAAsB;YAAsD,uDAAsB;sBAAwF,uDAAsB;;UADxm+D"}
1
+ {"version":3,"file":"getPromptBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getPromptBySelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,MAAM,GACP,EAAE,yBAAyB;;oBAkD0qgE,uDAAsB;;cAAkI,uDAAsB,yBAAwB,uDAAsB;mBAAoD,uDAAsB;qBAAoD,uDAAsB;2BAAqG,uDAAsB,uCAAsC,uDAAsB,4CAA2C,uDAAsB,0CAAyC,uDAAsB,uCAAsC,uDAAsB,yCAAwC,uDAAsB,oCAAmC,uDAAsB,uCAAsC,uDAAsB;YAAsD,uDAAsB;sBAAwF,uDAAsB;;UADrxiE"}