raffel 1.0.14 → 1.0.15-next.239a2ec
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/http/static-s3.d.ts +5 -0
- package/dist/http/static-s3.d.ts.map +1 -1
- package/dist/http/static-s3.js +20 -1
- package/dist/http/static-s3.js.map +1 -1
- package/dist/http/static.d.ts +5 -0
- package/dist/http/static.d.ts.map +1 -1
- package/dist/http/static.js +20 -1
- package/dist/http/static.js.map +1 -1
- package/package.json +1 -1
package/dist/http/static-s3.d.ts
CHANGED
|
@@ -94,6 +94,11 @@ export interface S3StaticOptions {
|
|
|
94
94
|
* Fallback key when object not found (for SPA)
|
|
95
95
|
*/
|
|
96
96
|
fallback?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Path prefixes that should skip fallback and continue the chain.
|
|
99
|
+
* Useful for backend API and websocket paths (e.g. /api, /ws).
|
|
100
|
+
*/
|
|
101
|
+
fallbackIgnore?: string[];
|
|
97
102
|
/**
|
|
98
103
|
* Custom headers to add to responses
|
|
99
104
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-s3.d.ts","sourceRoot":"","sources":["../../src/http/static-s3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAA;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAA;CACtD;AA4BD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,MAAM,CAAC,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAA;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAElC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAElB;;;WAGG;QACH,SAAS,CAAC,EAAE,kBAAkB,CAAA;KAC/B,CAAA;IAED;;;OAGG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IAErC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAA;CACxC;AAwCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvF,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"static-s3.d.ts","sourceRoot":"","sources":["../../src/http/static-s3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAA;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAA;CACtD;AA4BD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,MAAM,CAAC,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAA;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAElC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAElB;;;WAGG;QACH,SAAS,CAAC,EAAE,kBAAkB,CAAA;KAC/B,CAAA;IAED;;;OAGG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IAErC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAA;CACxC;AAwCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvF,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,CAAC,CAAC,CAuNnB;AAMD,eAAe,aAAa,CAAA"}
|
package/dist/http/static-s3.js
CHANGED
|
@@ -100,11 +100,12 @@ function getMimeType(key) {
|
|
|
100
100
|
* }))
|
|
101
101
|
*/
|
|
102
102
|
export function serveStaticS3(options) {
|
|
103
|
-
const { client, bucket, prefix = '', maxAge = 0, immutable = false, index = 'index.html', fallback, headers: customHeaders, rewrite, stripPrefix = '', signedUrls, GetObjectCommand, HeadObjectCommand, } = options;
|
|
103
|
+
const { client, bucket, prefix = '', maxAge = 0, immutable = false, index = 'index.html', fallback, fallbackIgnore = [], headers: customHeaders, rewrite, stripPrefix = '', signedUrls, GetObjectCommand, HeadObjectCommand, } = options;
|
|
104
104
|
// Validate required commands for proxy mode
|
|
105
105
|
if (!signedUrls && !GetObjectCommand) {
|
|
106
106
|
throw new Error('serveStaticS3 requires GetObjectCommand in proxy mode');
|
|
107
107
|
}
|
|
108
|
+
const normalizedFallbackIgnore = normalizeFallbackIgnore(fallbackIgnore);
|
|
108
109
|
return async (c, next) => {
|
|
109
110
|
// Only handle GET and HEAD requests
|
|
110
111
|
if (c.req.method !== 'GET' && c.req.method !== 'HEAD') {
|
|
@@ -121,6 +122,10 @@ export function serveStaticS3(options) {
|
|
|
121
122
|
if (rewrite) {
|
|
122
123
|
requestPath = rewrite(requestPath);
|
|
123
124
|
}
|
|
125
|
+
if (shouldSkipFallback(requestPath, normalizedFallbackIgnore)) {
|
|
126
|
+
await next();
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
124
129
|
// Remove leading slash and build S3 key
|
|
125
130
|
const cleanPath = requestPath.replace(/^\/+/, '');
|
|
126
131
|
let s3Key = prefix + cleanPath;
|
|
@@ -279,4 +284,18 @@ export function serveStaticS3(options) {
|
|
|
279
284
|
// Exports
|
|
280
285
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
281
286
|
export default serveStaticS3;
|
|
287
|
+
/**
|
|
288
|
+
* Normalize fallback ignore prefixes for comparison.
|
|
289
|
+
*/
|
|
290
|
+
function normalizeFallbackIgnore(prefixes) {
|
|
291
|
+
return [...new Set(prefixes)]
|
|
292
|
+
.map((prefix) => `/${prefix.replace(/^\/*|\/+$/g, '')}`)
|
|
293
|
+
.filter((prefix) => prefix.length > 1);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Check whether fallback should be skipped for this request path.
|
|
297
|
+
*/
|
|
298
|
+
function shouldSkipFallback(pathname, ignoredPrefixes) {
|
|
299
|
+
return ignoredPrefixes.some((prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`));
|
|
300
|
+
}
|
|
282
301
|
//# sourceMappingURL=static-s3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-s3.js","sourceRoot":"","sources":["../../src/http/static-s3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"static-s3.js","sourceRoot":"","sources":["../../src/http/static-s3.ts"],"names":[],"mappings":"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"}
|
package/dist/http/static.d.ts
CHANGED
|
@@ -69,6 +69,11 @@ export interface StaticOptions {
|
|
|
69
69
|
* Fallback file to serve when file not found (for SPA)
|
|
70
70
|
*/
|
|
71
71
|
fallback?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Path prefixes that should skip fallback and continue the chain.
|
|
74
|
+
* Useful for backend API and websocket paths (e.g. /api, /ws).
|
|
75
|
+
*/
|
|
76
|
+
fallbackIgnore?: string[];
|
|
72
77
|
/**
|
|
73
78
|
* Custom headers to add to responses
|
|
74
79
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../src/http/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;IAEtC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAElC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAoED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrF,OAAO,EAAE,aAAa,GACrB,cAAc,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../src/http/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;IAEtC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAElC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAoED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrF,OAAO,EAAE,aAAa,GACrB,cAAc,CAAC,CAAC,CAAC,CA4NnB;AAsHD,eAAe,WAAW,CAAA"}
|
package/dist/http/static.js
CHANGED
|
@@ -106,9 +106,10 @@ const MIME_TYPES = {
|
|
|
106
106
|
* }))
|
|
107
107
|
*/
|
|
108
108
|
export function serveStatic(options) {
|
|
109
|
-
const { root, index = 'index.html', maxAge = 0, immutable = false, dotfiles = 'ignore', etag = true, lastModified = true, fallback, headers: customHeaders, rewrite, prefix = '', } = options;
|
|
109
|
+
const { root, index = 'index.html', maxAge = 0, immutable = false, dotfiles = 'ignore', etag = true, lastModified = true, fallback, fallbackIgnore = [], headers: customHeaders, rewrite, prefix = '', } = options;
|
|
110
110
|
// Resolve root to absolute path
|
|
111
111
|
const rootPath = path.resolve(root);
|
|
112
|
+
const normalizedFallbackIgnore = normalizeFallbackIgnore(fallbackIgnore);
|
|
112
113
|
return async (c, next) => {
|
|
113
114
|
// Only handle GET and HEAD requests
|
|
114
115
|
if (c.req.method !== 'GET' && c.req.method !== 'HEAD') {
|
|
@@ -125,6 +126,10 @@ export function serveStatic(options) {
|
|
|
125
126
|
if (rewrite) {
|
|
126
127
|
requestPath = rewrite(requestPath);
|
|
127
128
|
}
|
|
129
|
+
if (shouldSkipFallback(requestPath, normalizedFallbackIgnore)) {
|
|
130
|
+
await next();
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
128
133
|
// Normalize path and prevent directory traversal
|
|
129
134
|
const normalizedPath = path.normalize(requestPath).replace(/^(\.\.[\/\\])+/, '');
|
|
130
135
|
let filePath = path.join(rootPath, normalizedPath);
|
|
@@ -328,6 +333,20 @@ function parseRange(header, fileSize) {
|
|
|
328
333
|
}
|
|
329
334
|
return { start, end };
|
|
330
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Normalize fallback ignore prefixes for comparison.
|
|
338
|
+
*/
|
|
339
|
+
function normalizeFallbackIgnore(prefixes) {
|
|
340
|
+
return [...new Set(prefixes)]
|
|
341
|
+
.map((prefix) => `/${prefix.replace(/^\/*|\/+$/g, '')}`)
|
|
342
|
+
.filter((prefix) => prefix.length > 1);
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Check whether fallback should be skipped for this request path.
|
|
346
|
+
*/
|
|
347
|
+
function shouldSkipFallback(pathname, ignoredPrefixes) {
|
|
348
|
+
return ignoredPrefixes.some((prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`));
|
|
349
|
+
}
|
|
331
350
|
/**
|
|
332
351
|
* Convert Node.js readable stream to Web ReadableStream
|
|
333
352
|
*/
|
package/dist/http/static.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/http/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/http/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAmFnC,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,MAAM,UAAU,GAA2B;IACzC,OAAO;IACP,OAAO,EAAE,0BAA0B;IACnC,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,yBAAyB;IAEjC,kBAAkB;IAClB,KAAK,EAAE,uCAAuC;IAC9C,MAAM,EAAE,uCAAuC;IAC/C,OAAO,EAAE,iCAAiC;IAC1C,MAAM,EAAE,iCAAiC;IAEzC,SAAS;IACT,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,YAAY;IAErB,QAAQ;IACR,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,+BAA+B;IAEvC,cAAc;IACd,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,aAAa;IAErB,YAAY;IACZ,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,yEAAyE;IAClF,MAAM,EAAE,0BAA0B;IAClC,OAAO,EAAE,mEAAmE;IAE5E,WAAW;IACX,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,kBAAkB;IACzB,MAAM,EAAE,mBAAmB;IAE3B,MAAM;IACN,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,2BAA2B;IACxC,cAAc,EAAE,2BAA2B;CAC5C,CAAA;AAED,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CACzB,OAAsB;IAEtB,MAAM,EACJ,IAAI,EACJ,KAAK,GAAG,YAAY,EACpB,MAAM,GAAG,CAAC,EACV,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,QAAQ,EACnB,IAAI,GAAG,IAAI,EACX,YAAY,GAAG,IAAI,EACnB,QAAQ,EACR,cAAc,GAAG,EAAE,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,EACP,MAAM,GAAG,EAAE,GACZ,GAAG,OAAO,CAAA;IAEX,gCAAgC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAA;IAExE,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvB,oCAAoC;QACpC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACtD,MAAM,IAAI,EAAE,CAAA;YACZ,OAAM;QACR,CAAC;QAED,mBAAmB;QACnB,IAAI,WAAW,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;QAEjE,6BAA6B;QAC7B,IAAI,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;QACvD,CAAC;QAED,8BAA8B;QAC5B,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,kBAAkB,CAAC,WAAW,EAAE,wBAAwB,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,EAAE,CAAA;YACZ,OAAM;QACR,CAAC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QAEpD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACjD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;gBAC7C,OAAM;YACR,CAAC;YACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,EAAE,CAAA;gBACZ,OAAM;YACR,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAEpC,qBAAqB;YACrB,IAAI,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;gBACzB,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;oBACrC,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,EAAE,CAAA;oBACZ,OAAM;gBACR,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,eAAe;gBACf,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;oBAClD,KAAK,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAA;oBACpC,IAAI,KAAK,EAAE,CAAC;wBACV,QAAQ,GAAG,YAAY,CAAA;oBACzB,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,EAAE,CAAA;oBACZ,OAAM;gBACR,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,eAAe,GAA2B,EAAE,CAAA;YAElD,eAAe;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;YAChD,eAAe,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAA;YAE/E,iBAAiB;YACjB,eAAe,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;YAEzD,gBAAgB;YAChB,MAAM,eAAe,GAAa,EAAE,CAAA;YACpC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,eAAe,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACnC,CAAC;YACD,eAAe,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAE7D,gBAAgB;YAChB,IAAI,YAAY,EAAE,CAAC;gBACjB,eAAe,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;YAC9D,CAAC;YAED,OAAO;YACP,IAAI,SAA6B,CAAA;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;gBAC/B,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;YACrC,CAAC;YAED,wCAAwC;YACxC,eAAe,CAAC,eAAe,CAAC,GAAG,OAAO,CAAA;YAE1C,iBAAiB;YACjB,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;YAC/C,CAAC;YAED,6BAA6B;YAC7B,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAuB,CAAA;YACvE,IAAI,WAAW,IAAI,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC1D,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACzB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAuB,CAAA;YAC/E,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;gBACpC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAA;gBAChD,IAAI,KAAK,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC;oBAClC,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;wBACzB,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,eAAe;qBACzB,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAuB,CAAA;YAC/D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBACjD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;oBAC5B,eAAe,CAAC,eAAe,CAAC,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;oBACxE,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;oBAEhE,eAAe;oBACf,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC5B,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACzB,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,eAAe;yBACzB,CAAC,CAAA;wBACF,OAAM;oBACR,CAAC;oBAED,uBAAuB;oBACvB,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;oBAC5D,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;wBACnD,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,eAAe;qBACzB,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,gBAAgB;oBAChB,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,uBAAuB,EAAE;wBAC5C,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE;4BACP,eAAe,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE;yBACzC;qBACF,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;YACH,CAAC;YAED,eAAe;YACf,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5B,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACzB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,sBAAsB;YACtB,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YAC5C,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACnD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,eAAe;aACzB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oBAAoB;YACpB,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAe;IACnC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;SAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;SAChD,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACf,OAAO,IAAI,IAAI,GAAG,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CACjB,MAAc,EACd,QAAgB;IAEhB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;IAE1D,yCAAyC;IACzC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACzC,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAA;IACpB,CAAC;IAED,iBAAiB;IACjB,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,QAAkB;IACjD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;SACvD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAgB,EAAE,eAAyB;IACrE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;AACnG,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,UAAyB;IACvD,OAAO,IAAI,cAAc,CAAC;QACxB,KAAK,CAAC,UAAU;YACd,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACtC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3C,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACxB,UAAU,CAAC,KAAK,EAAE,CAAA;YACpB,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC7B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM;YACJ,UAAU,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAc,EAAE,OAAe;IAC1D,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO;YACP,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;SACjD;KACF,CAAC,EACF;QACE,MAAM;QACN,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CACF,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,eAAe,WAAW,CAAA"}
|