@infra-blocks/zod-utils 0.3.0 → 0.4.0-alpha.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 (98) hide show
  1. package/README.md +150 -10
  2. package/lib/cjs/geojson/base.d.ts +8 -0
  3. package/lib/cjs/geojson/base.js +9 -0
  4. package/lib/cjs/geojson/base.js.map +1 -0
  5. package/lib/cjs/geojson/bounding-box.d.ts +5 -0
  6. package/lib/cjs/geojson/bounding-box.js +27 -0
  7. package/lib/cjs/geojson/bounding-box.js.map +1 -0
  8. package/lib/cjs/geojson/coordinate.d.ts +5 -0
  9. package/lib/cjs/geojson/coordinate.js +16 -0
  10. package/lib/cjs/geojson/coordinate.js.map +1 -0
  11. package/lib/cjs/geojson/feature-collection.d.ts +657 -0
  12. package/lib/cjs/geojson/feature-collection.js +15 -0
  13. package/lib/cjs/geojson/feature-collection.js.map +1 -0
  14. package/lib/cjs/geojson/feature.d.ts +397 -0
  15. package/lib/cjs/geojson/feature.js +18 -0
  16. package/lib/cjs/geojson/feature.js.map +1 -0
  17. package/lib/cjs/geojson/geojson.d.ts +1193 -0
  18. package/lib/cjs/geojson/geojson.js +13 -0
  19. package/lib/cjs/geojson/geojson.js.map +1 -0
  20. package/lib/cjs/geojson/geometry.d.ts +155 -0
  21. package/lib/cjs/geojson/geometry.js +33 -0
  22. package/lib/cjs/geojson/geometry.js.map +1 -0
  23. package/lib/cjs/geojson/index.d.ts +622 -0
  24. package/lib/cjs/geojson/index.js +34 -0
  25. package/lib/cjs/geojson/index.js.map +1 -0
  26. package/lib/cjs/geojson/line-string.d.ts +29 -0
  27. package/lib/cjs/geojson/line-string.js +15 -0
  28. package/lib/cjs/geojson/line-string.js.map +1 -0
  29. package/lib/cjs/geojson/multi-line-string.d.ts +29 -0
  30. package/lib/cjs/geojson/multi-line-string.js +15 -0
  31. package/lib/cjs/geojson/multi-line-string.js.map +1 -0
  32. package/lib/cjs/geojson/multi-point.d.ts +29 -0
  33. package/lib/cjs/geojson/multi-point.js +15 -0
  34. package/lib/cjs/geojson/multi-point.js.map +1 -0
  35. package/lib/cjs/geojson/multi-polygon.d.ts +29 -0
  36. package/lib/cjs/geojson/multi-polygon.js +15 -0
  37. package/lib/cjs/geojson/multi-polygon.js.map +1 -0
  38. package/lib/cjs/geojson/point.d.ts +29 -0
  39. package/lib/cjs/geojson/point.js +15 -0
  40. package/lib/cjs/geojson/point.js.map +1 -0
  41. package/lib/cjs/geojson/polygon.d.ts +29 -0
  42. package/lib/cjs/geojson/polygon.js +15 -0
  43. package/lib/cjs/geojson/polygon.js.map +1 -0
  44. package/lib/cjs/geojson/types.d.ts +12 -0
  45. package/lib/cjs/geojson/types.js +3 -0
  46. package/lib/cjs/geojson/types.js.map +1 -0
  47. package/lib/cjs/index.d.ts +608 -0
  48. package/lib/cjs/index.js +2 -0
  49. package/lib/cjs/index.js.map +1 -1
  50. package/lib/esm/geojson/base.d.ts +8 -0
  51. package/lib/esm/geojson/base.js +6 -0
  52. package/lib/esm/geojson/base.js.map +1 -0
  53. package/lib/esm/geojson/bounding-box.d.ts +5 -0
  54. package/lib/esm/geojson/bounding-box.js +23 -0
  55. package/lib/esm/geojson/bounding-box.js.map +1 -0
  56. package/lib/esm/geojson/coordinate.d.ts +5 -0
  57. package/lib/esm/geojson/coordinate.js +12 -0
  58. package/lib/esm/geojson/coordinate.js.map +1 -0
  59. package/lib/esm/geojson/feature-collection.d.ts +657 -0
  60. package/lib/esm/geojson/feature-collection.js +11 -0
  61. package/lib/esm/geojson/feature-collection.js.map +1 -0
  62. package/lib/esm/geojson/feature.d.ts +397 -0
  63. package/lib/esm/geojson/feature.js +14 -0
  64. package/lib/esm/geojson/feature.js.map +1 -0
  65. package/lib/esm/geojson/geojson.d.ts +1193 -0
  66. package/lib/esm/geojson/geojson.js +9 -0
  67. package/lib/esm/geojson/geojson.js.map +1 -0
  68. package/lib/esm/geojson/geometry.d.ts +155 -0
  69. package/lib/esm/geojson/geometry.js +28 -0
  70. package/lib/esm/geojson/geometry.js.map +1 -0
  71. package/lib/esm/geojson/index.d.ts +622 -0
  72. package/lib/esm/geojson/index.js +31 -0
  73. package/lib/esm/geojson/index.js.map +1 -0
  74. package/lib/esm/geojson/line-string.d.ts +29 -0
  75. package/lib/esm/geojson/line-string.js +11 -0
  76. package/lib/esm/geojson/line-string.js.map +1 -0
  77. package/lib/esm/geojson/multi-line-string.d.ts +29 -0
  78. package/lib/esm/geojson/multi-line-string.js +11 -0
  79. package/lib/esm/geojson/multi-line-string.js.map +1 -0
  80. package/lib/esm/geojson/multi-point.d.ts +29 -0
  81. package/lib/esm/geojson/multi-point.js +11 -0
  82. package/lib/esm/geojson/multi-point.js.map +1 -0
  83. package/lib/esm/geojson/multi-polygon.d.ts +29 -0
  84. package/lib/esm/geojson/multi-polygon.js +11 -0
  85. package/lib/esm/geojson/multi-polygon.js.map +1 -0
  86. package/lib/esm/geojson/point.d.ts +29 -0
  87. package/lib/esm/geojson/point.js +11 -0
  88. package/lib/esm/geojson/point.js.map +1 -0
  89. package/lib/esm/geojson/polygon.d.ts +29 -0
  90. package/lib/esm/geojson/polygon.js +11 -0
  91. package/lib/esm/geojson/polygon.js.map +1 -0
  92. package/lib/esm/geojson/types.d.ts +12 -0
  93. package/lib/esm/geojson/types.js +2 -0
  94. package/lib/esm/geojson/types.js.map +1 -0
  95. package/lib/esm/index.d.ts +608 -0
  96. package/lib/esm/index.js +2 -0
  97. package/lib/esm/index.js.map +1 -1
  98. package/package.json +8 -1
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ import { featureCollection } from "./feature-collection.js";
3
+ import { feature } from "./feature.js";
4
+ import { geometry } from "./geometry.js";
5
+ const geojsonSchema = z.union([geometry(), feature(), featureCollection()]);
6
+ export function geojson() {
7
+ return geojsonSchema;
8
+ }
9
+ //# sourceMappingURL=geojson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geojson.js","sourceRoot":"","sources":["../../../src/geojson/geojson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAI5E,MAAM,UAAU,OAAO;IACrB,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { z } from "zod";
2
+ import { schemaWithBoundingBox } from "./base.js";
3
+ export type GeoJsonGeometryCollection = z.infer<typeof schemaWithBoundingBox> & {
4
+ type: "GeometryCollection";
5
+ geometries: Array<z.infer<typeof geometrySchema>>;
6
+ };
7
+ export declare function geometryCollection(): z.ZodType<GeoJsonGeometryCollection, z.ZodTypeDef, GeoJsonGeometryCollection>;
8
+ declare const geometrySchema: z.ZodUnion<[z.ZodObject<{
9
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
10
+ type: z.ZodLiteral<"LineString">;
11
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
12
+ }, "strict", z.ZodTypeAny, {
13
+ type: "LineString";
14
+ coordinates: ([number, number] | [number, number, number])[];
15
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
16
+ }, {
17
+ type: "LineString";
18
+ coordinates: ([number, number] | [number, number, number])[];
19
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
20
+ }>, z.ZodObject<{
21
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
22
+ type: z.ZodLiteral<"MultiLineString">;
23
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
24
+ }, "strict", z.ZodTypeAny, {
25
+ type: "MultiLineString";
26
+ coordinates: ([number, number] | [number, number, number])[][];
27
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
28
+ }, {
29
+ type: "MultiLineString";
30
+ coordinates: ([number, number] | [number, number, number])[][];
31
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
32
+ }>, z.ZodObject<{
33
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
34
+ type: z.ZodLiteral<"MultiPoint">;
35
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
36
+ }, "strict", z.ZodTypeAny, {
37
+ type: "MultiPoint";
38
+ coordinates: ([number, number] | [number, number, number])[];
39
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
40
+ }, {
41
+ type: "MultiPoint";
42
+ coordinates: ([number, number] | [number, number, number])[];
43
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
44
+ }>, z.ZodObject<{
45
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
46
+ type: z.ZodLiteral<"MultiPolygon">;
47
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">, "many">;
48
+ }, "strict", z.ZodTypeAny, {
49
+ type: "MultiPolygon";
50
+ coordinates: ([number, number] | [number, number, number])[][][];
51
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
52
+ }, {
53
+ type: "MultiPolygon";
54
+ coordinates: ([number, number] | [number, number, number])[][][];
55
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
56
+ }>, z.ZodObject<{
57
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
58
+ type: z.ZodLiteral<"Point">;
59
+ coordinates: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
60
+ }, "strict", z.ZodTypeAny, {
61
+ type: "Point";
62
+ coordinates: [number, number] | [number, number, number];
63
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
64
+ }, {
65
+ type: "Point";
66
+ coordinates: [number, number] | [number, number, number];
67
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
68
+ }>, z.ZodObject<{
69
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
70
+ type: z.ZodLiteral<"Polygon">;
71
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
72
+ }, "strict", z.ZodTypeAny, {
73
+ type: "Polygon";
74
+ coordinates: ([number, number] | [number, number, number])[][];
75
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
76
+ }, {
77
+ type: "Polygon";
78
+ coordinates: ([number, number] | [number, number, number])[][];
79
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
80
+ }>, z.ZodType<GeoJsonGeometryCollection, z.ZodTypeDef, GeoJsonGeometryCollection>]>;
81
+ export type GeoJsonGeometry = z.infer<typeof geometrySchema>;
82
+ export declare function geometry(): z.ZodUnion<[z.ZodObject<{
83
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
84
+ type: z.ZodLiteral<"LineString">;
85
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
86
+ }, "strict", z.ZodTypeAny, {
87
+ type: "LineString";
88
+ coordinates: ([number, number] | [number, number, number])[];
89
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
90
+ }, {
91
+ type: "LineString";
92
+ coordinates: ([number, number] | [number, number, number])[];
93
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
94
+ }>, z.ZodObject<{
95
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
96
+ type: z.ZodLiteral<"MultiLineString">;
97
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
98
+ }, "strict", z.ZodTypeAny, {
99
+ type: "MultiLineString";
100
+ coordinates: ([number, number] | [number, number, number])[][];
101
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
102
+ }, {
103
+ type: "MultiLineString";
104
+ coordinates: ([number, number] | [number, number, number])[][];
105
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
106
+ }>, z.ZodObject<{
107
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
108
+ type: z.ZodLiteral<"MultiPoint">;
109
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
110
+ }, "strict", z.ZodTypeAny, {
111
+ type: "MultiPoint";
112
+ coordinates: ([number, number] | [number, number, number])[];
113
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
114
+ }, {
115
+ type: "MultiPoint";
116
+ coordinates: ([number, number] | [number, number, number])[];
117
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
118
+ }>, z.ZodObject<{
119
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
120
+ type: z.ZodLiteral<"MultiPolygon">;
121
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">, "many">;
122
+ }, "strict", z.ZodTypeAny, {
123
+ type: "MultiPolygon";
124
+ coordinates: ([number, number] | [number, number, number])[][][];
125
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
126
+ }, {
127
+ type: "MultiPolygon";
128
+ coordinates: ([number, number] | [number, number, number])[][][];
129
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
130
+ }>, z.ZodObject<{
131
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
132
+ type: z.ZodLiteral<"Point">;
133
+ coordinates: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
134
+ }, "strict", z.ZodTypeAny, {
135
+ type: "Point";
136
+ coordinates: [number, number] | [number, number, number];
137
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
138
+ }, {
139
+ type: "Point";
140
+ coordinates: [number, number] | [number, number, number];
141
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
142
+ }>, z.ZodObject<{
143
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
144
+ type: z.ZodLiteral<"Polygon">;
145
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
146
+ }, "strict", z.ZodTypeAny, {
147
+ type: "Polygon";
148
+ coordinates: ([number, number] | [number, number, number])[][];
149
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
150
+ }, {
151
+ type: "Polygon";
152
+ coordinates: ([number, number] | [number, number, number])[][];
153
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
154
+ }>, z.ZodType<GeoJsonGeometryCollection, z.ZodTypeDef, GeoJsonGeometryCollection>]>;
155
+ export {};
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import { schemaWithBoundingBox } from "./base.js";
3
+ import { lineString } from "./line-string.js";
4
+ import { multiLineString } from "./multi-line-string.js";
5
+ import { multiPoint } from "./multi-point.js";
6
+ import { multiPolygon } from "./multi-polygon.js";
7
+ import { point } from "./point.js";
8
+ import { polygon } from "./polygon.js";
9
+ const geometryCollectionSchema = schemaWithBoundingBox.extend({
10
+ type: z.literal("GeometryCollection"),
11
+ geometries: z.lazy(() => z.array(geometry())),
12
+ });
13
+ export function geometryCollection() {
14
+ return geometryCollectionSchema;
15
+ }
16
+ const geometrySchema = z.union([
17
+ lineString(),
18
+ multiLineString(),
19
+ multiPoint(),
20
+ multiPolygon(),
21
+ point(),
22
+ polygon(),
23
+ geometryCollection(),
24
+ ]);
25
+ export function geometry() {
26
+ return geometrySchema;
27
+ }
28
+ //# sourceMappingURL=geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../src/geojson/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,wBAAwB,GAC5B,qBAAqB,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;CAC9C,CAAC,CAAC;AAcL,MAAM,UAAU,kBAAkB;IAChC,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7B,UAAU,EAAE;IACZ,eAAe,EAAE;IACjB,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,KAAK,EAAE;IACP,OAAO,EAAE;IACT,kBAAkB,EAAE;CACrB,CAAC,CAAC;AAIH,MAAM,UAAU,QAAQ;IACtB,OAAO,cAAc,CAAC;AACxB,CAAC"}