sprint-es 0.0.83 → 0.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +26 -10
- package/dist/esm/index.js +26 -10
- package/dist/types/sprint.d.ts.map +1 -1
- package/dist/types/types.d.ts +10 -10
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -81,6 +81,15 @@ const limiter = new rateLimit.RateLimiter({
|
|
|
81
81
|
});
|
|
82
82
|
const isDevelopment = isDev;
|
|
83
83
|
const isProduction = isProd;
|
|
84
|
+
function isEnabledInEnv(value) {
|
|
85
|
+
if (value === void 0) return false;
|
|
86
|
+
if (typeof value === "boolean") return value;
|
|
87
|
+
if (Array.isArray(value)) {
|
|
88
|
+
const env = nodeEnv || "development";
|
|
89
|
+
return value.includes(env);
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
84
93
|
async function findProjectRoot(startDir) {
|
|
85
94
|
let currentDir = startDir;
|
|
86
95
|
while (currentDir !== path.parse(currentDir).root) {
|
|
@@ -165,15 +174,15 @@ class Sprint {
|
|
|
165
174
|
this.urlEncodedLimit = finalConfig.urlEncodedLimit || "50mb";
|
|
166
175
|
this.prefix = finalConfig.prefix ? "/" + finalConfig.prefix.replace(/^\/+|\/+$/g, "") : "";
|
|
167
176
|
this.openapi = {
|
|
168
|
-
generateOnBuild: finalConfig.openapi?.generateOnBuild
|
|
177
|
+
generateOnBuild: isEnabledInEnv(finalConfig.openapi?.generateOnBuild),
|
|
169
178
|
swaggerUi: {
|
|
170
|
-
enabled: finalConfig.openapi?.swaggerUi?.enabled
|
|
179
|
+
enabled: isEnabledInEnv(finalConfig.openapi?.swaggerUi?.enabled)
|
|
171
180
|
}
|
|
172
181
|
};
|
|
173
182
|
this.graphql = {
|
|
174
|
-
enabled: finalConfig.graphql?.enabled
|
|
183
|
+
enabled: isEnabledInEnv(finalConfig.graphql?.enabled),
|
|
175
184
|
graphiql: {
|
|
176
|
-
enabled: finalConfig.graphql?.graphiql?.enabled
|
|
185
|
+
enabled: isEnabledInEnv(finalConfig.graphql?.graphiql?.enabled)
|
|
177
186
|
}
|
|
178
187
|
};
|
|
179
188
|
this.loadDefaults();
|
|
@@ -212,8 +221,12 @@ class Sprint {
|
|
|
212
221
|
schema: this.graphqlSchema
|
|
213
222
|
}));
|
|
214
223
|
if (this.graphql.graphiql.enabled) {
|
|
215
|
-
const graphiqlPath = "/
|
|
224
|
+
const graphiqlPath = "/graphiql";
|
|
216
225
|
this.app.get(graphiqlPath, (_, res) => {
|
|
226
|
+
res.setHeader(
|
|
227
|
+
"Content-Security-Policy",
|
|
228
|
+
"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://unpkg.com; style-src 'self' 'unsafe-inline' https://unpkg.com; img-src 'self' data: https:; connect-src 'self' https:; font-src 'self' https:;"
|
|
229
|
+
);
|
|
217
230
|
res.type("html");
|
|
218
231
|
res.end(ruruHTML({ endpoint: graphqlPath }));
|
|
219
232
|
});
|
|
@@ -727,11 +740,14 @@ class Sprint {
|
|
|
727
740
|
console.log("");
|
|
728
741
|
console.log(` ${bold}${cyan}Sprint${reset} ready to handle requests`);
|
|
729
742
|
console.log("");
|
|
730
|
-
console.log(` ${dim}Local:${reset}
|
|
731
|
-
console.log(` ${dim}Prefix:${reset}
|
|
732
|
-
console.log(` ${dim}Healthcheck:${reset}
|
|
733
|
-
if (this.openapi.generateOnBuild) console.log(` ${dim}OpenAPI Spec:${reset}
|
|
734
|
-
if (this.openapi.swaggerUi.enabled) console.log(` ${dim}Swagger UI:${reset}
|
|
743
|
+
console.log(` ${dim}Local:${reset} http://localhost:${bold}${port}${reset}`);
|
|
744
|
+
console.log(` ${dim}Prefix:${reset} ${bold}${prefixInfo}${reset}`);
|
|
745
|
+
console.log(` ${dim}Healthcheck:${reset} http://localhost:${port}${this.prefix}/healthcheck`);
|
|
746
|
+
if (this.openapi.generateOnBuild) console.log(` ${dim}OpenAPI Spec:${reset} http://localhost:${port}${this.prefix}/openapi.json`);
|
|
747
|
+
if (this.openapi.swaggerUi.enabled) console.log(` ${dim}Swagger UI:${reset} http://localhost:${port}${this.prefix}/swagger`);
|
|
748
|
+
console.log("");
|
|
749
|
+
console.log(` ${dim}GraphQL API:${reset} http://localhost:${port}${this.prefix}/graphql`);
|
|
750
|
+
console.log(` ${dim}GraphQL Playground:${reset} http://localhost:${port}${this.prefix}/graphiql`);
|
|
735
751
|
console.log("");
|
|
736
752
|
console.log(` ${dim}Tip: Need stronger route protection? Learn more at${reset}`);
|
|
737
753
|
console.log(` ${dim}https://docs.tpeoficial.com/docs/dymo-api/private/request-verifier${reset}`);
|
package/dist/esm/index.js
CHANGED
|
@@ -56,6 +56,15 @@ const limiter = new RateLimiter({
|
|
|
56
56
|
});
|
|
57
57
|
const isDevelopment = isDev;
|
|
58
58
|
const isProduction = isProd;
|
|
59
|
+
function isEnabledInEnv(value) {
|
|
60
|
+
if (value === void 0) return false;
|
|
61
|
+
if (typeof value === "boolean") return value;
|
|
62
|
+
if (Array.isArray(value)) {
|
|
63
|
+
const env = nodeEnv || "development";
|
|
64
|
+
return value.includes(env);
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
59
68
|
async function findProjectRoot(startDir) {
|
|
60
69
|
let currentDir = startDir;
|
|
61
70
|
while (currentDir !== path.parse(currentDir).root) {
|
|
@@ -140,15 +149,15 @@ class Sprint {
|
|
|
140
149
|
this.urlEncodedLimit = finalConfig.urlEncodedLimit || "50mb";
|
|
141
150
|
this.prefix = finalConfig.prefix ? "/" + finalConfig.prefix.replace(/^\/+|\/+$/g, "") : "";
|
|
142
151
|
this.openapi = {
|
|
143
|
-
generateOnBuild: finalConfig.openapi?.generateOnBuild
|
|
152
|
+
generateOnBuild: isEnabledInEnv(finalConfig.openapi?.generateOnBuild),
|
|
144
153
|
swaggerUi: {
|
|
145
|
-
enabled: finalConfig.openapi?.swaggerUi?.enabled
|
|
154
|
+
enabled: isEnabledInEnv(finalConfig.openapi?.swaggerUi?.enabled)
|
|
146
155
|
}
|
|
147
156
|
};
|
|
148
157
|
this.graphql = {
|
|
149
|
-
enabled: finalConfig.graphql?.enabled
|
|
158
|
+
enabled: isEnabledInEnv(finalConfig.graphql?.enabled),
|
|
150
159
|
graphiql: {
|
|
151
|
-
enabled: finalConfig.graphql?.graphiql?.enabled
|
|
160
|
+
enabled: isEnabledInEnv(finalConfig.graphql?.graphiql?.enabled)
|
|
152
161
|
}
|
|
153
162
|
};
|
|
154
163
|
this.loadDefaults();
|
|
@@ -187,8 +196,12 @@ class Sprint {
|
|
|
187
196
|
schema: this.graphqlSchema
|
|
188
197
|
}));
|
|
189
198
|
if (this.graphql.graphiql.enabled) {
|
|
190
|
-
const graphiqlPath = "/
|
|
199
|
+
const graphiqlPath = "/graphiql";
|
|
191
200
|
this.app.get(graphiqlPath, (_, res) => {
|
|
201
|
+
res.setHeader(
|
|
202
|
+
"Content-Security-Policy",
|
|
203
|
+
"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://unpkg.com; style-src 'self' 'unsafe-inline' https://unpkg.com; img-src 'self' data: https:; connect-src 'self' https:; font-src 'self' https:;"
|
|
204
|
+
);
|
|
192
205
|
res.type("html");
|
|
193
206
|
res.end(ruruHTML({ endpoint: graphqlPath }));
|
|
194
207
|
});
|
|
@@ -702,11 +715,14 @@ class Sprint {
|
|
|
702
715
|
console.log("");
|
|
703
716
|
console.log(` ${bold}${cyan}Sprint${reset} ready to handle requests`);
|
|
704
717
|
console.log("");
|
|
705
|
-
console.log(` ${dim}Local:${reset}
|
|
706
|
-
console.log(` ${dim}Prefix:${reset}
|
|
707
|
-
console.log(` ${dim}Healthcheck:${reset}
|
|
708
|
-
if (this.openapi.generateOnBuild) console.log(` ${dim}OpenAPI Spec:${reset}
|
|
709
|
-
if (this.openapi.swaggerUi.enabled) console.log(` ${dim}Swagger UI:${reset}
|
|
718
|
+
console.log(` ${dim}Local:${reset} http://localhost:${bold}${port}${reset}`);
|
|
719
|
+
console.log(` ${dim}Prefix:${reset} ${bold}${prefixInfo}${reset}`);
|
|
720
|
+
console.log(` ${dim}Healthcheck:${reset} http://localhost:${port}${this.prefix}/healthcheck`);
|
|
721
|
+
if (this.openapi.generateOnBuild) console.log(` ${dim}OpenAPI Spec:${reset} http://localhost:${port}${this.prefix}/openapi.json`);
|
|
722
|
+
if (this.openapi.swaggerUi.enabled) console.log(` ${dim}Swagger UI:${reset} http://localhost:${port}${this.prefix}/swagger`);
|
|
723
|
+
console.log("");
|
|
724
|
+
console.log(` ${dim}GraphQL API:${reset} http://localhost:${port}${this.prefix}/graphql`);
|
|
725
|
+
console.log(` ${dim}GraphQL Playground:${reset} http://localhost:${port}${this.prefix}/graphiql`);
|
|
710
726
|
console.log("");
|
|
711
727
|
console.log(` ${dim}Tip: Need stronger route protection? Learn more at${reset}`);
|
|
712
728
|
console.log(` ${dim}https://docs.tpeoficial.com/docs/dymo-api/private/request-verifier${reset}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprint.d.ts","sourceRoot":"","sources":["../../src/sprint.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAA+B,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AACnG,OAAO,OAAO,EAAE,EAAE,WAAW,EAAoD,MAAM,SAAS,CAAC;AAejG,eAAO,MAAM,aAAa,SAAQ,CAAC;AACnC,eAAO,MAAM,YAAY,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"sprint.d.ts","sourceRoot":"","sources":["../../src/sprint.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAA+B,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AACnG,OAAO,OAAO,EAAE,EAAE,WAAW,EAAoD,MAAM,SAAS,CAAC;AAejG,eAAO,MAAM,aAAa,SAAQ,CAAC;AACnC,eAAO,MAAM,YAAY,SAAS,CAAC;AAkDnC,qBAAa,MAAM;IACR,GAAG,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,IAAI,CAAwD;IACpE,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,OAAO,CAUb;IACF,OAAO,CAAC,OAAO,CAUb;IACF,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,gBAAgB,CAIhB;;YA2HM,IAAI;IA8BlB,OAAO,CAAC,YAAY;IAiDpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;YACW,eAAe;IAgC7B,OAAO,CAAC,eAAe;YAcT,UAAU;YAiFV,YAAY;IAmB1B,OAAO,CAAC,YAAY;IAgCpB,+BAA+B;IAC/B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,mBAAmB;IA+K3B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,mBAAmB;IA+BpB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAClC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACrC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACpC,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,gBAAgB,EAAE,YAAY,CAAC,EAAE,OAAO;IAY9E,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAIvC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;CA6DzC"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -84,16 +84,16 @@ export interface SprintOptions {
|
|
|
84
84
|
/** Auto-start the server. Default: true */
|
|
85
85
|
autoListen?: boolean;
|
|
86
86
|
openapi?: {
|
|
87
|
-
enabled?: boolean;
|
|
88
|
-
generateOnBuild?: boolean;
|
|
87
|
+
enabled?: boolean | string[];
|
|
88
|
+
generateOnBuild?: boolean | string[];
|
|
89
89
|
swaggerUi?: {
|
|
90
|
-
enabled?: boolean;
|
|
90
|
+
enabled?: boolean | string[];
|
|
91
91
|
};
|
|
92
92
|
};
|
|
93
93
|
graphql?: {
|
|
94
|
-
enabled?: boolean;
|
|
94
|
+
enabled?: boolean | string[];
|
|
95
95
|
graphiql?: {
|
|
96
|
-
enabled?: boolean;
|
|
96
|
+
enabled?: boolean | string[];
|
|
97
97
|
};
|
|
98
98
|
};
|
|
99
99
|
}
|
|
@@ -107,16 +107,16 @@ export interface SprintConfig {
|
|
|
107
107
|
prefix?: string;
|
|
108
108
|
autoListen?: boolean;
|
|
109
109
|
openapi?: {
|
|
110
|
-
enabled?: boolean;
|
|
111
|
-
generateOnBuild?: boolean;
|
|
110
|
+
enabled?: boolean | string[];
|
|
111
|
+
generateOnBuild?: boolean | string[];
|
|
112
112
|
swaggerUi?: {
|
|
113
|
-
enabled?: boolean;
|
|
113
|
+
enabled?: boolean | string[];
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
116
|
graphql?: {
|
|
117
|
-
enabled?: boolean;
|
|
117
|
+
enabled?: boolean | string[];
|
|
118
118
|
graphiql?: {
|
|
119
|
-
enabled?: boolean;
|
|
119
|
+
enabled?: boolean | string[];
|
|
120
120
|
};
|
|
121
121
|
};
|
|
122
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEpG,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,GAAG,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GACzB,SAAS,MAAM,EAAE,GACjB,WAAW,MAAM,EAAE,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC1B,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,MAAM,EAAE,aAAa,CAAC;YAEtB,MAAM,EAAE,GAAG,CAAC;SACf;KACJ;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE;QACL,aAAa,CAAC,EAAE,SAAS,CAAC;KAC7B,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,oFAAoF;IACpF,OAAO,EAAE,cAAc,GAAG,mBAAmB,GAAG,CAAC,cAAc,GAAG,mBAAmB,CAAC,EAAE,CAAC;IACzF;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEpG,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,GAAG,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GACzB,SAAS,MAAM,EAAE,GACjB,WAAW,MAAM,EAAE,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC1B,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,MAAM,EAAE,aAAa,CAAC;YAEtB,MAAM,EAAE,GAAG,CAAC;SACf;KACJ;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE;QACL,aAAa,CAAC,EAAE,SAAS,CAAC;KAC7B,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,oFAAoF;IACpF,OAAO,EAAE,cAAc,GAAG,mBAAmB,GAAG,CAAC,cAAc,GAAG,mBAAmB,CAAC,EAAE,CAAC;IACzF;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QAC7B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QACrC,SAAS,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;SAChC,CAAC;KACL,CAAC;IAEF,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE;YACP,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;SAChC,CAAC;KACL,CAAC;CACL;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QAC7B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QACrC,SAAS,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;SAChC,CAAC;KACL,CAAC;IACF,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE;YACP,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;SAChC,CAAC;KACL,CAAC;CACL;AAED,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|