@ember-data-mirror/request 5.3.11 → 5.3.13

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.
Binary file
Binary file
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 324 32">
2
+ <path fill="#110819"
3
+ d="M321.58 29.54a41.7 41.7 0 0 1-7.26 1.72c-2.4.36-4.87.53-7.4.53-3.21 0-6.09-.34-8.6-1.03a18.5 18.5 0 0 1-6.34-3.03 13.07 13.07 0 0 1-3.94-4.83c-.9-1.9-1.35-4.06-1.35-6.47a14.32 14.32 0 0 1 5.22-11.19 18.14 18.14 0 0 1 6.06-3.3c2.36-.81 5-1.21 7.9-1.21 2.68 0 5.13.36 7.35 1.1 2.24.71 4.15 1.78 5.74 3.2a14.28 14.28 0 0 1 3.72 5.24 18.12 18.12 0 0 1 1.33 7.17v1.98h-29.1a7.5 7.5 0 0 0 1.28 2.56c.6.77 1.4 1.43 2.42 1.97 1.02.55 2.27.97 3.74 1.27 1.5.3 3.27.45 5.33.45a35.35 35.35 0 0 0 8.23-.96c1.22-.3 2.31-.64 3.29-1 .99-.35 1.78-.7 2.38-1.07v6.9Zm-5.5-15.96a6.73 6.73 0 0 0-.66-2.26 5.82 5.82 0 0 0-1.72-2.13 9.46 9.46 0 0 0-3.1-1.54 15.6 15.6 0 0 0-4.77-.63c-1.79 0-3.33.23-4.64.67-1.3.44-2.4 1-3.29 1.65a8.37 8.37 0 0 0-2.04 2.13c-.48.76-.8 1.46-.94 2.1h21.16ZM271.84 31h-9.28L247.63 1.48h8.9l10.74 22.22 10.72-22.22h8.9L271.83 31ZM234.8 31V1.48h7.97V31h-7.97ZM229.73 8.16l-.94-.28c-.4-.13-.88-.25-1.42-.36a17.88 17.88 0 0 0-3.8-.45c-1.44 0-2.78.18-4.02.53-1.23.35-2.39.81-3.46 1.4a19.48 19.48 0 0 0-3 1.98c-.92.73-1.77 1.48-2.54 2.25V31h-7.97V1.48h7.97v4.8c.96-.72 1.94-1.41 2.94-2.07a25.36 25.36 0 0 1 3.16-1.78 18.9 18.9 0 0 1 3.48-1.23 15.39 15.39 0 0 1 5.44-.39 25 25 0 0 1 4.16.67v6.68ZM197.05 16.22c0 1.89-.2 3.57-.62 5.05a12.7 12.7 0 0 1-1.76 3.82 11.07 11.07 0 0 1-2.7 2.77 13.77 13.77 0 0 1-3.51 1.83c-1.29.46-2.68.8-4.17 1-1.49.21-3.04.31-4.66.31H160.9V1.48h18.69c1.62 0 3.17.1 4.66.32 1.49.2 2.88.53 4.17 1 1.3.45 2.48 1.06 3.54 1.82 1.06.74 1.96 1.67 2.7 2.77a12.7 12.7 0 0 1 1.77 3.82c.42 1.46.62 3.13.62 5Zm-8.03 0c0-1.42-.19-2.65-.56-3.7a5.64 5.64 0 0 0-1.76-2.57 7.66 7.66 0 0 0-3.16-1.53c-1.3-.34-2.9-.52-4.77-.52h-9.9v16.68h9.9c1.88 0 3.47-.17 4.77-.5a7.86 7.86 0 0 0 3.16-1.54c.81-.7 1.4-1.58 1.76-2.63.37-1.04.56-2.27.56-3.7ZM153.98 10.55c0 1.47-.25 2.78-.73 3.9a6.82 6.82 0 0 1-2.26 2.86 10.95 10.95 0 0 1-4 1.77 25.6 25.6 0 0 1-5.86.58h-13.26V31h-2.68V1.48h15.94c2.3 0 4.25.2 5.87.6 1.63.39 2.96.96 4 1.72a6.67 6.67 0 0 1 2.25 2.84c.48 1.13.73 2.43.73 3.9Zm-2.77 0c0-1.4-.24-2.54-.71-3.4a4.53 4.53 0 0 0-2.15-1.97c-.96-.48-2.19-.8-3.68-.95a50.43 50.43 0 0 0-5.26-.24h-11.54v13.15h11.54l2.51.02c.9 0 1.8-.04 2.67-.12.87-.1 1.7-.27 2.5-.5.8-.24 1.5-.6 2.1-1.1a5.05 5.05 0 0 0 1.46-1.9 7 7 0 0 0 .56-3ZM119.76 3.76c-.41-.13-1-.27-1.74-.41-.73-.16-1.67-.24-2.83-.24-1.6 0-3.12.2-4.54.6a17.94 17.94 0 0 0-7.28 3.96 23.73 23.73 0 0 0-2.8 2.83V31H97.9V1.48h2.69V7.5c.96-1 2-1.9 3.11-2.73a21.54 21.54 0 0 1 7.48-3.53 17.47 17.47 0 0 1 5.6-.47c.4.02.77.04 1.1.09a16.6 16.6 0 0 1 1.9.26v2.64ZM85.52 31v-3.27c-1.03.56-2.2 1.08-3.53 1.55a40.4 40.4 0 0 1-13.13 2.3c-1.91 0-3.64-.17-5.17-.52a12.2 12.2 0 0 1-3.87-1.52A7.38 7.38 0 0 1 57.37 27a7.06 7.06 0 0 1-.86-3.52c0-1.32.33-2.48 1-3.48a8.81 8.81 0 0 1 2.85-2.64c1.23-.76 2.71-1.4 4.45-1.91 1.74-.53 3.7-.98 5.84-1.34 2.15-.37 4.47-.67 6.96-.9 2.5-.24 5.14-.44 7.9-.6v-2.26c0-.91-.16-1.72-.5-2.42a5.54 5.54 0 0 0-1.45-1.83 7.97 7.97 0 0 0-2.17-1.31c-.83-.36-1.73-.65-2.7-.86a33.97 33.97 0 0 0-13.54.21c-1.03.25-2.02.53-2.96.86-.95.33-1.9.68-2.86 1.06V2.92c1.99-.53 4.1-.99 6.36-1.38 2.26-.4 4.66-.6 7.2-.6 2.14 0 4.15.19 6.01.56 1.86.36 3.48.94 4.86 1.74A9.16 9.16 0 0 1 87 6.36a8.55 8.55 0 0 1 1.18 4.62V31h-2.66Zm0-16c-4.69.25-8.69.62-12.01 1.09-3.31.47-6.02 1.05-8.12 1.74-2.1.69-3.66 1.49-4.64 2.4a4.18 4.18 0 0 0-1.46 3.12c0 .95.23 1.78.7 2.52a5.86 5.86 0 0 0 2.09 1.84c.9.49 2 .86 3.29 1.12 1.28.24 2.73.37 4.34.37a29.36 29.36 0 0 0 5.95-.6 36.6 36.6 0 0 0 5.71-1.57c.86-.32 1.64-.66 2.34-1.01a11.3 11.3 0 0 0 1.8-1.1v-9.93ZM28.65 1.48l10.53 27.37L50.09 1.48h2.99L41.2 31h-4L26.84 4.34 16.51 31h-4L.63 1.48h2.99l10.91 27.37 10.5-27.37h3.62Z" />
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 324 32">
2
+ <path fill="#FFC474"
3
+ d="M321.58 29.54a41.7 41.7 0 0 1-7.26 1.72c-2.4.36-4.87.53-7.4.53-3.21 0-6.09-.34-8.6-1.03a18.5 18.5 0 0 1-6.34-3.03 13.07 13.07 0 0 1-3.94-4.83c-.9-1.9-1.35-4.06-1.35-6.47a14.32 14.32 0 0 1 5.22-11.19 18.14 18.14 0 0 1 6.06-3.3c2.36-.81 5-1.21 7.9-1.21 2.68 0 5.13.36 7.35 1.1 2.24.71 4.15 1.78 5.74 3.2a14.28 14.28 0 0 1 3.72 5.24 18.12 18.12 0 0 1 1.33 7.17v1.98h-29.1a7.5 7.5 0 0 0 1.28 2.56c.6.77 1.4 1.43 2.42 1.97 1.02.55 2.27.97 3.74 1.27 1.5.3 3.27.45 5.33.45a35.35 35.35 0 0 0 8.23-.96c1.22-.3 2.31-.64 3.29-1 .99-.35 1.78-.7 2.38-1.07v6.9Zm-5.5-15.96a6.73 6.73 0 0 0-.66-2.26 5.82 5.82 0 0 0-1.72-2.13 9.46 9.46 0 0 0-3.1-1.54 15.6 15.6 0 0 0-4.77-.63c-1.79 0-3.33.23-4.64.67-1.3.44-2.4 1-3.29 1.65a8.37 8.37 0 0 0-2.04 2.13c-.48.76-.8 1.46-.94 2.1h21.16ZM271.84 31h-9.28L247.63 1.48h8.9l10.74 22.22 10.72-22.22h8.9L271.83 31ZM234.8 31V1.48h7.97V31h-7.97ZM229.73 8.16l-.94-.28c-.4-.13-.88-.25-1.42-.36a17.88 17.88 0 0 0-3.8-.45c-1.44 0-2.78.18-4.02.53-1.23.35-2.39.81-3.46 1.4a19.48 19.48 0 0 0-3 1.98c-.92.73-1.77 1.48-2.54 2.25V31h-7.97V1.48h7.97v4.8c.96-.72 1.94-1.41 2.94-2.07a25.36 25.36 0 0 1 3.16-1.78 18.9 18.9 0 0 1 3.48-1.23 15.39 15.39 0 0 1 5.44-.39 25 25 0 0 1 4.16.67v6.68ZM197.05 16.22c0 1.89-.2 3.57-.62 5.05a12.7 12.7 0 0 1-1.76 3.82 11.07 11.07 0 0 1-2.7 2.77 13.77 13.77 0 0 1-3.51 1.83c-1.29.46-2.68.8-4.17 1-1.49.21-3.04.31-4.66.31H160.9V1.48h18.69c1.62 0 3.17.1 4.66.32 1.49.2 2.88.53 4.17 1 1.3.45 2.48 1.06 3.54 1.82 1.06.74 1.96 1.67 2.7 2.77a12.7 12.7 0 0 1 1.77 3.82c.42 1.46.62 3.13.62 5Zm-8.03 0c0-1.42-.19-2.65-.56-3.7a5.64 5.64 0 0 0-1.76-2.57 7.66 7.66 0 0 0-3.16-1.53c-1.3-.34-2.9-.52-4.77-.52h-9.9v16.68h9.9c1.88 0 3.47-.17 4.77-.5a7.86 7.86 0 0 0 3.16-1.54c.81-.7 1.4-1.58 1.76-2.63.37-1.04.56-2.27.56-3.7ZM153.98 10.55c0 1.47-.25 2.78-.73 3.9a6.82 6.82 0 0 1-2.26 2.86 10.95 10.95 0 0 1-4 1.77 25.6 25.6 0 0 1-5.86.58h-13.26V31h-2.68V1.48h15.94c2.3 0 4.25.2 5.87.6 1.63.39 2.96.96 4 1.72a6.67 6.67 0 0 1 2.25 2.84c.48 1.13.73 2.43.73 3.9Zm-2.77 0c0-1.4-.24-2.54-.71-3.4a4.53 4.53 0 0 0-2.15-1.97c-.96-.48-2.19-.8-3.68-.95a50.43 50.43 0 0 0-5.26-.24h-11.54v13.15h11.54l2.51.02c.9 0 1.8-.04 2.67-.12.87-.1 1.7-.27 2.5-.5.8-.24 1.5-.6 2.1-1.1a5.05 5.05 0 0 0 1.46-1.9 7 7 0 0 0 .56-3ZM119.76 3.76c-.41-.13-1-.27-1.74-.41-.73-.16-1.67-.24-2.83-.24-1.6 0-3.12.2-4.54.6a17.94 17.94 0 0 0-7.28 3.96 23.73 23.73 0 0 0-2.8 2.83V31H97.9V1.48h2.69V7.5c.96-1 2-1.9 3.11-2.73a21.54 21.54 0 0 1 7.48-3.53 17.47 17.47 0 0 1 5.6-.47c.4.02.77.04 1.1.09a16.6 16.6 0 0 1 1.9.26v2.64ZM85.52 31v-3.27c-1.03.56-2.2 1.08-3.53 1.55a40.4 40.4 0 0 1-13.13 2.3c-1.91 0-3.64-.17-5.17-.52a12.2 12.2 0 0 1-3.87-1.52A7.38 7.38 0 0 1 57.37 27a7.06 7.06 0 0 1-.86-3.52c0-1.32.33-2.48 1-3.48a8.81 8.81 0 0 1 2.85-2.64c1.23-.76 2.71-1.4 4.45-1.91 1.74-.53 3.7-.98 5.84-1.34 2.15-.37 4.47-.67 6.96-.9 2.5-.24 5.14-.44 7.9-.6v-2.26c0-.91-.16-1.72-.5-2.42a5.54 5.54 0 0 0-1.45-1.83 7.97 7.97 0 0 0-2.17-1.31c-.83-.36-1.73-.65-2.7-.86a33.97 33.97 0 0 0-13.54.21c-1.03.25-2.02.53-2.96.86-.95.33-1.9.68-2.86 1.06V2.92c1.99-.53 4.1-.99 6.36-1.38 2.26-.4 4.66-.6 7.2-.6 2.14 0 4.15.19 6.01.56 1.86.36 3.48.94 4.86 1.74A9.16 9.16 0 0 1 87 6.36a8.55 8.55 0 0 1 1.18 4.62V31h-2.66Zm0-16c-4.69.25-8.69.62-12.01 1.09-3.31.47-6.02 1.05-8.12 1.74-2.1.69-3.66 1.49-4.64 2.4a4.18 4.18 0 0 0-1.46 3.12c0 .95.23 1.78.7 2.52a5.86 5.86 0 0 0 2.09 1.84c.9.49 2 .86 3.29 1.12 1.28.24 2.73.37 4.34.37a29.36 29.36 0 0 0 5.95-.6 36.6 36.6 0 0 0 5.71-1.57c.86-.32 1.64-.66 2.34-1.01a11.3 11.3 0 0 0 1.8-1.1v-9.93ZM28.65 1.48l10.53 27.37L50.09 1.48h2.99L41.2 31h-4L26.84 4.34 16.51 31h-4L.63 1.48h2.99l10.91 27.37 10.5-27.37h3.62Z" />
4
+ </svg>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ember-data-mirror/request",
3
3
  "description": "⚡️ A simple, small and fast framework-agnostic library to make `fetch` happen",
4
- "version": "5.3.11",
4
+ "version": "5.3.13",
5
5
  "license": "MIT",
6
6
  "author": "Chris Thoburn <runspired@users.noreply.github.com>",
7
7
  "repository": {
@@ -20,8 +20,7 @@
20
20
  "dist",
21
21
  "README.md",
22
22
  "LICENSE.md",
23
- "ember-data-mirror-logo-dark.svg",
24
- "ember-data-mirror-logo-light.svg"
23
+ "logos"
25
24
  ],
26
25
  "exports": {
27
26
  ".": {
@@ -35,36 +34,27 @@
35
34
  }
36
35
  },
37
36
  "peerDependencies": {
38
- "@warp-drive-mirror/core-types": "0.0.1"
37
+ "@warp-drive-mirror/core-types": "0.0.3",
38
+ "@ember/test-waiters": "^3.1.0 || ^4.0.0"
39
39
  },
40
40
  "dependencies": {
41
- "@ember/test-waiters": "^3.1.0 || ^4.0.0",
42
- "@embroider/macros": "^1.16.10",
43
- "@warp-drive-mirror/build-config": "0.0.1"
41
+ "@embroider/macros": "^1.16.12",
42
+ "@warp-drive-mirror/build-config": "0.0.3"
44
43
  },
45
44
  "devDependencies": {
46
- "@babel/core": "^7.24.5",
47
- "@babel/plugin-transform-typescript": "^7.24.5",
48
- "@babel/preset-env": "^7.24.5",
49
- "@babel/preset-typescript": "^7.24.1",
50
- "@glimmer/component": "^1.1.2",
51
- "@warp-drive-mirror/core-types": "0.0.1",
52
- "@warp-drive/internal-config": "5.3.11",
53
- "ember-source": "~5.12.0",
54
- "pnpm-sync-dependencies-meta-injected": "0.0.14",
55
- "typescript": "^5.7.2",
56
- "vite": "^5.2.11"
57
- },
58
- "dependenciesMeta": {
59
- "@warp-drive-mirror/core-types": {
60
- "injected": true
61
- },
62
- "@warp-drive-mirror/build-config": {
63
- "injected": true
64
- }
45
+ "@babel/core": "^7.26.10",
46
+ "@babel/plugin-transform-typescript": "^7.27.0",
47
+ "@babel/preset-env": "^7.26.9",
48
+ "@babel/preset-typescript": "^7.27.0",
49
+ "@glimmer/component": "^2.0.0",
50
+ "@warp-drive-mirror/core-types": "0.0.3",
51
+ "@warp-drive/internal-config": "5.3.13",
52
+ "@ember/test-waiters": "^4.1.0",
53
+ "ember-source": "~6.3.0",
54
+ "vite": "^5.4.15"
65
55
  },
66
56
  "engines": {
67
- "node": ">= 18.20.4"
57
+ "node": ">= 18.20.8"
68
58
  },
69
59
  "volta": {
70
60
  "extends": "../../../../../../package.json"
@@ -87,6 +77,7 @@
87
77
  "scripts": {
88
78
  "lint": "eslint . --quiet --cache --cache-strategy=content",
89
79
  "build:pkg": "vite build;",
90
- "sync-hardlinks": "bun run sync-dependencies-meta-injected"
80
+ "sync": "echo \"syncing\"",
81
+ "start": "vite"
91
82
  }
92
83
  }
@@ -4,13 +4,13 @@ declare module '@ember-data-mirror/request/-private/utils' {
4
4
  import type { DeferredFuture, Future, GodContext, Handler } from '@ember-data-mirror/request/-private/types';
5
5
  export const IS_CACHE_HANDLER: "___(unique) Symbol(IS_CACHE_HANDLER)";
6
6
  export function curryFuture<T>(owner: ContextOwner, inbound: Future<T>, outbound: DeferredFuture<T>): Future<T>;
7
- export type HttpErrorProps = {
7
+ export interface HttpErrorProps extends DOMException {
8
8
  code: number;
9
9
  name: string;
10
10
  status: number;
11
11
  statusText: string;
12
12
  isRequestError: boolean;
13
- };
13
+ }
14
14
  export function enhanceReason(reason?: string): DOMException;
15
15
  export function handleOutcome<T>(owner: ContextOwner, inbound: Promise<T | StructuredDataDocument<T>>, outbound: DeferredFuture<T>): Future<T>;
16
16
  export function executeNextHandler<T>(wares: Readonly<Handler[]>, request: RequestInfo, i: number, god: GodContext): Future<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/-private/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EAGvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAW,YAAY,EAAE,MAAM,WAAW,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3E,eAAO,MAAM,gBAAgB,wCAAiE,CAAC;AAC/F,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAuC9G;AA4BD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,gBAE5C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC/C,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,MAAM,CAAC,CAAC,CAAC,CA6CX;AAMD,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAC1B,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,UAAU,GACd,MAAM,CAAC,CAAC,CAAC,CAmDX"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/-private/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EAGvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAW,YAAY,EAAE,MAAM,WAAW,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3E,eAAO,MAAM,gBAAgB,wCAAiE,CAAC;AAC/F,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAuC9G;AA4BD,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,gBAE5C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC/C,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,MAAM,CAAC,CAAC,CAAC,CA6CX;AAMD,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAC1B,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,UAAU,GACd,MAAM,CAAC,CAAC,CAAC,CAmDX"}
@@ -13,6 +13,18 @@ declare module '@ember-data-mirror/request/fetch' {
13
13
  * @main @ember-data-mirror/request/fetch
14
14
  */
15
15
  import { type Context } from '@ember-data-mirror/request/-private/context';
16
+ interface FastbootRequest {
17
+ protocol: string;
18
+ host: string;
19
+ }
20
+ interface FastBoot {
21
+ require(moduleName: string): unknown;
22
+ isFastBoot: boolean;
23
+ request: FastbootRequest;
24
+ }
25
+ global {
26
+ const FastBoot: undefined | FastBoot;
27
+ }
16
28
  /**
17
29
  * A basic handler which converts a request into a
18
30
  * `fetch` call presuming the response to be `json`.
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA8E3E;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,KAAK;YACK,CAAC,WAAW,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAgJ/C,CAAC;AAMF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG3E,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,UAAU,QAAQ;IAChB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;CAC1B;AACD,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;CACtC;AA6ED;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,KAAK;YACK,CAAC,WAAW,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAgJ/C,CAAC;AAMF,eAAe,KAAK,CAAC"}
@@ -1,11 +1,11 @@
1
1
  /// <reference path="./fetch.d.ts" />
2
- /// <reference path="./-private/future.d.ts" />
3
- /// <reference path="./-private/utils.d.ts" />
4
- /// <reference path="./-private/types.d.ts" />
5
- /// <reference path="./-private/debug.d.ts" />
6
2
  /// <reference path="./-private/promise-cache.d.ts" />
7
- /// <reference path="./-private/manager.d.ts" />
8
3
  /// <reference path="./-private/context.d.ts" />
4
+ /// <reference path="./-private/manager.d.ts" />
5
+ /// <reference path="./-private/types.d.ts" />
6
+ /// <reference path="./-private/utils.d.ts" />
7
+ /// <reference path="./-private/debug.d.ts" />
8
+ /// <reference path="./-private/future.d.ts" />
9
9
  declare module '@ember-data-mirror/request' {
10
10
  export { RequestManager as default } from '@ember-data-mirror/request/-private/manager';
11
11
  export { createDeferred } from '@ember-data-mirror/request/-private/future';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-D0st-bv4.js","sources":["../src/-private/promise-cache.ts","../src/-private/utils.ts","../src/-private/future.ts","../src/-private/context.ts","../src/-private/debug.ts"],"sourcesContent":["import { getOrSetUniversal } from '@warp-drive-mirror/core-types/-private';\n\nexport type CacheResult<T = unknown, E = unknown> = { isError: true; result: E } | { isError: false; result: T };\n\nexport type Awaitable<T = unknown, E = unknown> = {\n then: (onFulfilled: (value: T) => unknown, onRejected: (reason: E) => unknown) => unknown;\n catch: (onRejected: (reason: E) => unknown) => unknown;\n finally: (onFinally: () => unknown) => unknown;\n};\n\nexport const PromiseCache = getOrSetUniversal('PromiseCache', new WeakMap<Awaitable, CacheResult>());\nexport const RequestMap = getOrSetUniversal('RequestMap', new Map<number, CacheResult>());\n\nexport function setRequestResult(requestId: number, result: CacheResult) {\n RequestMap.set(requestId, result);\n}\nexport function clearRequestResult(requestId: number) {\n RequestMap.delete(requestId);\n}\nexport function getRequestResult(requestId: number): CacheResult | undefined {\n return RequestMap.get(requestId);\n}\n\nexport function setPromiseResult(promise: Promise<unknown> | Awaitable, result: CacheResult) {\n PromiseCache.set(promise, result);\n}\n\nexport function getPromiseResult<T, E>(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined {\n return PromiseCache.get(promise) as CacheResult<T, E> | undefined;\n}\n","import { DEBUG } from '@warp-drive-mirror/build-config/env';\nimport { getOrSetGlobal } from '@warp-drive-mirror/core-types/-private';\nimport type {\n RequestInfo,\n StructuredDataDocument,\n StructuredDocument,\n StructuredErrorDocument,\n} from '@warp-drive-mirror/core-types/request';\nimport { STRUCTURED } from '@warp-drive-mirror/core-types/request';\n\nimport { Context, ContextOwner } from './context';\nimport { assertValidRequest } from './debug';\nimport { createFuture, isFuture } from './future';\nimport { setRequestResult } from './promise-cache';\nimport type { DeferredFuture, Future, GodContext, Handler } from './types';\n\nexport const IS_CACHE_HANDLER = getOrSetGlobal('IS_CACHE_HANDLER', Symbol('IS_CACHE_HANDLER'));\nexport function curryFuture<T>(owner: ContextOwner, inbound: Future<T>, outbound: DeferredFuture<T>): Future<T> {\n owner.setStream(inbound.getStream());\n\n inbound.then(\n (doc: StructuredDataDocument<T>) => {\n const document = {\n [STRUCTURED]: true as const,\n request: owner.request,\n response: doc.response,\n content: doc.content,\n };\n outbound.resolve(document);\n },\n (error: Error & StructuredErrorDocument) => {\n if (isDoc(error)) {\n owner.setStream(owner.god.stream);\n }\n if (!error || !(error instanceof Error)) {\n try {\n throw new Error(error ? error : `Request Rejected with an Unknown Error`);\n } catch (e: unknown) {\n if (error && typeof error === 'object') {\n Object.assign(e as Error, error);\n (e as Error & StructuredErrorDocument).message =\n (error as Error).message || `Request Rejected with an Unknown Error`;\n }\n error = e as Error & StructuredErrorDocument;\n }\n }\n\n error[STRUCTURED] = true;\n error.request = owner.request;\n error.response = owner.getResponse();\n error.error = error.error || error.message;\n\n outbound.reject(error);\n }\n );\n return outbound.promise;\n}\n\nfunction isDoc<T>(doc: T | StructuredDataDocument<T>): doc is StructuredDataDocument<T> {\n return doc && (doc as StructuredDataDocument<T>)[STRUCTURED] === true;\n}\n\nfunction ensureDoc<T>(owner: ContextOwner, content: T | Error, isError: boolean): StructuredDocument<T> {\n if (isDoc(content)) {\n return content as StructuredDocument<T>;\n }\n\n if (isError) {\n return {\n [STRUCTURED]: true,\n request: owner.request,\n response: owner.getResponse(),\n error: content as Error,\n } as StructuredErrorDocument<T>;\n }\n\n return {\n [STRUCTURED]: true,\n request: owner.request,\n response: owner.getResponse(),\n content: content as T,\n };\n}\n\nexport type HttpErrorProps = {\n code: number;\n name: string;\n status: number;\n statusText: string;\n isRequestError: boolean;\n};\n\nexport function enhanceReason(reason?: string) {\n return new DOMException(reason || 'The user aborted a request.', 'AbortError');\n}\n\nexport function handleOutcome<T>(\n owner: ContextOwner,\n inbound: Promise<T | StructuredDataDocument<T>>,\n outbound: DeferredFuture<T>\n): Future<T> {\n inbound.then(\n (content: T | StructuredDataDocument<T>) => {\n if (owner.controller.signal.aborted) {\n // the next function did not respect the signal, we handle it here\n outbound.reject(enhanceReason(owner.controller.signal.reason as string));\n return;\n }\n if (isDoc(content)) {\n owner.setStream(owner.god.stream);\n content = content.content;\n }\n const document = {\n [STRUCTURED]: true as const,\n request: owner.request,\n response: owner.getResponse(),\n content,\n };\n outbound.resolve(document);\n },\n (error: Error & StructuredErrorDocument) => {\n if (isDoc(error)) {\n owner.setStream(owner.god.stream);\n }\n if (!error || !(error instanceof Error)) {\n try {\n throw new Error(error ? error : `Request Rejected with an Unknown Error`);\n } catch (e: unknown) {\n if (error && typeof error === 'object') {\n Object.assign(e as Error, error);\n (e as Error & StructuredErrorDocument).message =\n (error as Error).message || `Request Rejected with an Unknown Error`;\n }\n error = e as Error & StructuredErrorDocument;\n }\n }\n\n error[STRUCTURED] = true;\n error.request = owner.request;\n error.response = owner.getResponse();\n error.error = error.error || error.message;\n outbound.reject(error);\n }\n );\n return outbound.promise;\n}\n\nfunction isCacheHandler(handler: Handler & { [IS_CACHE_HANDLER]?: boolean }, index: number): boolean {\n return index === 0 && Boolean(handler[IS_CACHE_HANDLER]);\n}\n\nexport function executeNextHandler<T>(\n wares: Readonly<Handler[]>,\n request: RequestInfo,\n i: number,\n god: GodContext\n): Future<T> {\n if (DEBUG) {\n if (i === wares.length) {\n throw new Error(`No handler was able to handle this request.`);\n }\n assertValidRequest(request, false);\n }\n const owner = new ContextOwner(request, god, i === 0);\n\n function next(r: RequestInfo): Future<T> {\n owner.nextCalled++;\n return executeNextHandler(wares, r, i + 1, god);\n }\n\n const _isCacheHandler = isCacheHandler(wares[i], i);\n const context = new Context(owner, _isCacheHandler);\n let outcome: Promise<T | StructuredDataDocument<T>> | Future<T>;\n try {\n outcome = wares[i].request<T>(context, next);\n if (_isCacheHandler) {\n context._finalize();\n }\n if (!!outcome && _isCacheHandler) {\n if (!(outcome instanceof Promise)) {\n setRequestResult(owner.requestId, { isError: false, result: ensureDoc(owner, outcome, false) });\n outcome = Promise.resolve(outcome);\n }\n } else if (DEBUG) {\n if (!outcome || (!(outcome instanceof Promise) && !(typeof outcome === 'object' && 'then' in outcome))) {\n // eslint-disable-next-line no-console\n console.log({ request, handler: wares[i], outcome });\n if (outcome === undefined) {\n throw new Error(`Expected handler.request to return a promise, instead received undefined.`);\n }\n throw new Error(`Expected handler.request to return a promise, instead received a synchronous value.`);\n }\n }\n } catch (e) {\n if (_isCacheHandler) {\n setRequestResult(owner.requestId, { isError: true, result: ensureDoc(owner, e, true) });\n }\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n outcome = Promise.reject<StructuredDataDocument<T>>(e);\n }\n const future = createFuture<T>(owner);\n\n if (isFuture<T>(outcome)) {\n return curryFuture(owner, outcome, future);\n }\n\n return handleOutcome(owner, outcome, future);\n}\n","import { IS_FUTURE, type StructuredDocument } from '@warp-drive-mirror/core-types/request';\n\nimport type { ContextOwner } from './context';\nimport type { Deferred, DeferredFuture, Future } from './types';\nimport { enhanceReason } from './utils';\n\nexport function isFuture<T>(maybe: unknown): maybe is Future<T> {\n return Boolean(maybe && maybe instanceof Promise && (maybe as Future<T>)[IS_FUTURE] === true);\n}\n\nexport function createDeferred<T>(): Deferred<T> {\n let resolve!: (v: T) => void;\n let reject!: (v: unknown) => void;\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { resolve, reject, promise };\n}\n\nexport function upgradePromise<T>(promise: Promise<StructuredDocument<T>>, future: Future<T>): Future<T> {\n (promise as Future<T>)[IS_FUTURE] = true;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n (promise as Future<T>).getStream = future.getStream;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n (promise as Future<T>).abort = future.abort;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n (promise as Future<T>).onFinalize = future.onFinalize;\n (promise as Future<T>).id = future.id;\n (promise as Future<T>).lid = future.lid;\n\n return promise as Future<T>;\n}\n\nexport function createFuture<T>(owner: ContextOwner): DeferredFuture<T> {\n const deferred = createDeferred<T>() as unknown as DeferredFuture<T>;\n let { promise } = deferred;\n let cbs: Array<() => void> | undefined;\n promise = promise.finally(() => {\n owner.resolveStream();\n if (cbs) {\n cbs.forEach((cb) => cb());\n }\n }) as Future<T>;\n promise.onFinalize = (fn: () => void) => {\n cbs = cbs || [];\n cbs.push(fn);\n };\n promise[IS_FUTURE] = true;\n promise.getStream = () => {\n return owner.getStream();\n };\n promise.abort = (reason?: string) => {\n owner.abort(enhanceReason(reason));\n };\n promise.id = owner.requestId;\n promise.lid = owner.god.identifier;\n\n deferred.promise = promise;\n return deferred;\n}\n","import { DEBUG } from '@warp-drive-mirror/build-config/env';\nimport { assert } from '@warp-drive-mirror/build-config/macros';\nimport type { StableDocumentIdentifier } from '@warp-drive-mirror/core-types/identifier';\nimport type { ImmutableHeaders, ImmutableRequestInfo, RequestInfo, ResponseInfo } from '@warp-drive-mirror/core-types/request';\nimport { SkipCache } from '@warp-drive-mirror/core-types/request';\n\nimport { deepFreeze } from './debug';\nimport { createDeferred } from './future';\nimport type { DeferredStream, GodContext } from './types';\n\nexport function upgradeHeaders(headers: Headers | ImmutableHeaders): ImmutableHeaders {\n (headers as ImmutableHeaders).clone = () => {\n return new Headers(headers);\n };\n (headers as ImmutableHeaders).toJSON = () => {\n return Array.from(headers);\n };\n return headers as ImmutableHeaders;\n}\n\nexport function cloneResponseProperties(response: Response): ResponseInfo {\n const { headers, ok, redirected, status, statusText, type, url } = response;\n upgradeHeaders(headers);\n return {\n headers: headers as ImmutableHeaders,\n ok,\n redirected,\n status,\n statusText,\n type,\n url,\n };\n}\n\nexport class ContextOwner {\n hasSetStream = false;\n hasSetResponse = false;\n hasSubscribers = false;\n stream: DeferredStream = createDeferred<ReadableStream | null>();\n response: ResponseInfo | null = null;\n declare request: ImmutableRequestInfo;\n declare enhancedRequest: ImmutableRequestInfo;\n nextCalled = 0;\n declare god: GodContext;\n declare controller: AbortController;\n declare requestId: number;\n declare isRoot: boolean;\n\n constructor(request: RequestInfo, god: GodContext, isRoot = false) {\n this.isRoot = isRoot;\n this.requestId = god.id;\n this.controller = request.controller || god.controller;\n this.stream.promise.sizeHint = 0;\n\n if (request.controller) {\n if (request.controller !== god.controller) {\n god.controller.signal.addEventListener('abort', () => {\n this.controller.abort(god.controller.signal.reason);\n });\n }\n delete request.controller;\n }\n let enhancedRequest: ImmutableRequestInfo = Object.assign(\n { signal: this.controller.signal },\n request\n ) as ImmutableRequestInfo;\n if (DEBUG) {\n if (!request?.cacheOptions?.[SkipCache]) {\n request = deepFreeze(request) as ImmutableRequestInfo;\n enhancedRequest = deepFreeze(enhancedRequest);\n }\n } else {\n if (request.headers) {\n upgradeHeaders(request.headers);\n }\n }\n this.enhancedRequest = enhancedRequest;\n this.request = request as ImmutableRequestInfo;\n this.god = god;\n this.stream.promise = this.stream.promise.then((stream: ReadableStream | null) => {\n if (this.god.stream === stream && this.hasSubscribers) {\n this.god.stream = null;\n }\n return stream;\n });\n }\n\n get hasRequestedStream(): boolean {\n return this.god.hasRequestedStream;\n }\n\n getResponse(): ResponseInfo | null {\n if (this.hasSetResponse) {\n return this.response;\n }\n if (this.nextCalled === 1) {\n return this.god.response;\n }\n return null;\n }\n getStream(): Promise<ReadableStream | null> {\n if (this.isRoot) {\n this.god.hasRequestedStream = true;\n }\n if (!this.hasSetResponse) {\n const hint = this.god.response?.headers?.get('content-length');\n this.stream.promise.sizeHint = hint ? parseInt(hint, 10) : 0;\n }\n this.hasSubscribers = true;\n return this.stream.promise;\n }\n abort(reason: DOMException) {\n this.controller.abort(reason);\n }\n\n setStream(stream: ReadableStream | Promise<ReadableStream | null> | null) {\n if (!this.hasSetStream) {\n this.hasSetStream = true;\n\n if (!(stream instanceof Promise)) {\n this.god.stream = stream;\n }\n // @ts-expect-error\n this.stream.resolve(stream);\n }\n }\n\n resolveStream() {\n this.setStream(this.nextCalled === 1 ? this.god.stream : null);\n }\n\n setResponse(response: ResponseInfo | Response | null) {\n if (this.hasSetResponse) {\n if (DEBUG) {\n throw new Error(`Cannot setResponse when a response has already been set`);\n }\n return;\n }\n this.hasSetResponse = true;\n if (response instanceof Response) {\n // TODO potentially avoid cloning in prod\n let responseData = cloneResponseProperties(response);\n\n if (DEBUG) {\n responseData = deepFreeze(responseData);\n }\n this.response = responseData;\n this.god.response = responseData;\n const sizeHint = response.headers?.get('content-length');\n this.stream.promise.sizeHint = sizeHint ? parseInt(sizeHint, 10) : 0;\n } else {\n this.response = response;\n this.god.response = response;\n }\n }\n}\n\nexport class Context {\n #owner: ContextOwner;\n declare request: ImmutableRequestInfo;\n declare id: number;\n private declare _isCacheHandler: boolean;\n private declare _finalized: boolean;\n\n constructor(owner: ContextOwner, isCacheHandler: boolean) {\n this.id = owner.requestId;\n this.#owner = owner;\n this.request = owner.enhancedRequest;\n this._isCacheHandler = isCacheHandler;\n this._finalized = false;\n }\n setStream(stream: ReadableStream | Promise<ReadableStream | null>) {\n this.#owner.setStream(stream);\n }\n setResponse(response: ResponseInfo | Response | null) {\n this.#owner.setResponse(response);\n }\n\n setIdentifier(identifier: StableDocumentIdentifier) {\n assert(\n `setIdentifier may only be used synchronously from a CacheHandler`,\n identifier && this._isCacheHandler && !this._finalized\n );\n this.#owner.god.identifier = identifier;\n }\n\n get hasRequestedStream() {\n return this.#owner.hasRequestedStream;\n }\n\n _finalize() {\n this._finalized = true;\n }\n}\nexport type HandlerRequestContext = Context;\n","import { DEBUG } from '@warp-drive-mirror/build-config/env';\nimport { getOrSetGlobal } from '@warp-drive-mirror/core-types/-private';\nimport type { ImmutableHeaders, RequestInfo } from '@warp-drive-mirror/core-types/request';\n\nimport { Context, upgradeHeaders } from './context';\n\nconst BODY_TYPES = {\n type: 'string',\n klass: ['Blob', 'ArrayBuffer', 'TypedArray', 'DataView', 'FormData', 'URLSearchParams', 'ReadableStream'],\n};\nconst ValidKeys = new Map<string, string | string[] | typeof BODY_TYPES>([\n ['records', 'array'],\n ['data', 'json'],\n ['body', BODY_TYPES],\n ['disableTestWaiter', 'boolean'],\n ['options', 'object'],\n ['cacheOptions', 'object'],\n ['op', 'string'],\n ['store', 'object'],\n ['url', 'string'],\n ['cache', ['default', 'force-cache', 'no-cache', 'no-store', 'only-if-cached', 'reload']],\n ['credentials', ['include', 'omit', 'same-origin']],\n [\n 'destination',\n [\n '',\n 'object',\n 'audio',\n 'audioworklet',\n 'document',\n 'embed',\n 'font',\n 'frame',\n 'iframe',\n 'image',\n 'manifest',\n 'paintworklet',\n 'report',\n 'script',\n 'sharedworker',\n 'style',\n 'track',\n 'video',\n 'worker',\n 'xslt',\n ],\n ],\n ['headers', 'headers'],\n ['integrity', 'string'],\n ['keepalive', 'boolean'],\n ['method', ['GET', 'PUT', 'PATCH', 'DELETE', 'POST', 'OPTIONS']],\n ['mode', ['same-origin', 'cors', 'navigate', 'no-cors']],\n ['redirect', ['error', 'follow', 'manual']],\n ['referrer', 'string'],\n ['signal', 'AbortSignal'],\n ['controller', 'AbortController'],\n [\n 'referrerPolicy',\n [\n '',\n 'same-origin',\n 'no-referrer',\n 'no-referrer-when-downgrade',\n 'origin',\n 'origin-when-cross-origin',\n 'strict-origin',\n 'strict-origin-when-cross-origin',\n 'unsafe-url',\n ],\n ],\n]);\n\nconst IS_FROZEN = getOrSetGlobal('IS_FROZEN', Symbol('FROZEN'));\nconst IS_COLLECTION = getOrSetGlobal('IS_COLLECTION', Symbol.for('Collection'));\n\nfunction freezeHeaders(headers: Headers | ImmutableHeaders): ImmutableHeaders {\n headers.delete =\n headers.set =\n headers.append =\n () => {\n throw new Error(`Cannot Mutate Immutatable Headers, use headers.clone to get a copy`);\n };\n upgradeHeaders(headers);\n return headers as ImmutableHeaders;\n}\n\nexport function deepFreeze<T = unknown>(value: T): T {\n if (value && (value as { [IS_FROZEN]?: true })[IS_FROZEN]) {\n return value;\n }\n const _type = typeof value;\n switch (_type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'undefined':\n case 'bigint':\n return value;\n case 'function':\n throw new Error(`Cannot deep-freeze a function`);\n case 'object': {\n const _niceType = niceTypeOf(value);\n switch (_niceType) {\n case 'array': {\n if ((value as unknown[] & { [IS_COLLECTION]?: true })[IS_COLLECTION]) {\n return value;\n }\n const arr = (value as unknown[]).map(deepFreeze);\n arr[IS_FROZEN as unknown as number] = true;\n return Object.freeze(arr) as T;\n }\n case 'null':\n return value;\n case 'object':\n Object.keys(value as Record<string, unknown>).forEach((key) => {\n try {\n (value as Record<string, unknown>)[key] = deepFreeze((value as Record<string, unknown>)[key]) as object;\n } catch {\n // continue\n }\n });\n (value as Record<string | symbol, unknown>)[IS_FROZEN] = true;\n return Object.freeze(value);\n case 'headers':\n return freezeHeaders(value as Headers) as T;\n case 'Collection':\n case 'Store':\n case 'AbortSignal':\n return value;\n case 'date':\n case 'map':\n case 'set':\n case 'error':\n case 'stream':\n default:\n // console.log(`Cannot deep-freeze ${_niceType}`);\n return value;\n }\n }\n }\n}\n\nfunction isMaybeContext(request: unknown) {\n if (request && typeof request === 'object') {\n const keys = Object.keys(request);\n if (keys.length === 1 && keys[0] === 'request') {\n return true;\n }\n }\n return false;\n}\n\nfunction niceTypeOf(v: unknown) {\n if (v === null) {\n return 'null';\n }\n if (typeof v === 'string') {\n return v ? 'non-empty-string' : 'empty-string';\n }\n if (!v) {\n return typeof v;\n }\n if (Array.isArray(v)) {\n return 'array';\n }\n if (v instanceof Date) {\n return 'date';\n }\n if (v instanceof Map) {\n return 'map';\n }\n if (v instanceof Set) {\n return 'set';\n }\n if (v instanceof Error) {\n return 'error';\n }\n if (v instanceof ReadableStream || v instanceof WritableStream || v instanceof TransformStream) {\n return 'stream';\n }\n if (v instanceof Headers) {\n return 'headers';\n }\n if (typeof v === 'object' && v.constructor && v.constructor.name !== 'Object') {\n return v.constructor.name;\n }\n return typeof v;\n}\n\nfunction validateKey(key: string, value: unknown, errors: string[]) {\n const schema = ValidKeys.get(key);\n if (!schema && !IgnoredKeys.has(key)) {\n errors.push(`InvalidKey: '${key}'`);\n return;\n }\n if (schema) {\n if (schema === BODY_TYPES) {\n if (typeof value === 'string' || value instanceof ReadableStream) {\n return;\n }\n const type = niceTypeOf(value);\n if (schema.klass.includes(type)) {\n return;\n }\n errors.push(\n `InvalidValue: key 'body' should be a string or one of '${schema.klass.join(\"', '\")}', received ${\n '<a value of type ' + niceTypeOf(value) + '>'\n }`\n );\n return;\n }\n if (Array.isArray(schema)) {\n if (!schema.includes(value as string)) {\n errors.push(\n `InvalidValue: key ${key} should be a one of '${schema.join(\"', '\")}', received ${\n typeof value === 'string' ? value : '<a value of type ' + niceTypeOf(value) + '>'\n }`\n );\n }\n return;\n } else if (schema === 'json') {\n try {\n JSON.stringify(value);\n } catch (e) {\n errors.push(\n `InvalidValue: key ${key} should be a JSON serializable value, but failed to serialize with Error - ${\n (e as Error).message\n }`\n );\n }\n return;\n } else if (schema === 'headers') {\n if (!(value instanceof Headers)) {\n errors.push(`InvalidValue: key ${key} should be an instance of Headers, received ${niceTypeOf(value)}`);\n }\n return;\n } else if (schema === 'record') {\n const _type = typeof value;\n // record must extend plain object or Object.create(null)\n if (!value || _type !== 'object' || (value.constructor && value.constructor !== Object)) {\n errors.push(\n `InvalidValue: key ${key} should be a dictionary of string keys to string values, received ${niceTypeOf(\n value\n )}`\n );\n return;\n }\n const keys = Object.keys(value);\n keys.forEach((k) => {\n const v: unknown = (value as Record<string, unknown>)[k];\n if (typeof k !== 'string') {\n errors.push(`\\tThe key ${String(k)} on ${key} should be a string key`);\n } else if (typeof v !== 'string') {\n errors.push(`\\tThe value of ${key}.${k} should be a string not ${niceTypeOf(v)}`);\n }\n });\n return;\n } else if (schema === 'string') {\n if (typeof value !== 'string' || value.length === 0) {\n errors.push(\n `InvalidValue: key ${key} should be a non-empty string, received ${\n typeof value === 'string' ? \"''\" : typeof value\n }`\n );\n }\n return;\n } else if (schema === 'object') {\n if (!value || Array.isArray(value) || typeof value !== 'object') {\n errors.push(`InvalidValue: key ${key} should be an object`);\n }\n return;\n } else if (schema === 'boolean') {\n if (typeof value !== 'boolean') {\n errors.push(`InvalidValue: key ${key} should be a boolean, received ${typeof value}`);\n }\n return;\n } else if (schema === 'array') {\n if (!Array.isArray(value)) {\n errors.push(`InvalidValue: key ${key} should be an array, received ${typeof value}`);\n }\n return;\n }\n }\n}\n\nconst IgnoredKeys = new Set<string>([]);\n\nexport function assertValidRequest(\n request: RequestInfo | Context,\n isTopLevel: boolean\n): asserts request is RequestInfo {\n if (DEBUG) {\n // handle basic shape\n if (!request) {\n throw new Error(\n `Expected ${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>) to be called with a request, but none was provided.`\n );\n }\n if (Array.isArray(request) || typeof request !== 'object') {\n throw new Error(\n `The \\`request\\` passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` should be an object, received \\`${niceTypeOf(request)}\\``\n );\n }\n if (Object.keys(request).length === 0) {\n throw new Error(\n `The \\`request\\` passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` was empty (\\`{}\\`). Requests need at least one valid key.`\n );\n }\n\n // handle accidentally passing context entirely\n if (request instanceof Context) {\n throw new Error(\n `Expected a request passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` but received the previous handler's context instead`\n );\n }\n // handle Object.assign({}, context);\n if (isMaybeContext(request)) {\n throw new Error(\n `Expected a request passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` but received an object with a request key instead.`\n );\n }\n\n // handle schema\n const keys = Object.keys(request) as Array<keyof RequestInfo>;\n const validationErrors: string[] = [];\n const isLegacyRequest = Boolean('op' in request && !request.url);\n keys.forEach((key) => {\n if (isLegacyRequest && key === 'data') {\n return;\n }\n validateKey(key, request[key], validationErrors);\n });\n if (validationErrors.length) {\n const error: Error & { errors: string[] } = new Error(\n `Invalid Request passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\`.\\n\\nThe following issues were found:\\n\\n\\t${validationErrors.join('\\n\\t')}`\n ) as Error & { errors: string[] };\n error.errors = validationErrors;\n throw error;\n }\n }\n}\n"],"names":["PromiseCache","getOrSetUniversal","WeakMap","RequestMap","Map","setRequestResult","requestId","result","set","clearRequestResult","delete","getRequestResult","get","setPromiseResult","promise","getPromiseResult","IS_CACHE_HANDLER","getOrSetGlobal","Symbol","curryFuture","owner","inbound","outbound","setStream","getStream","then","doc","document","STRUCTURED","request","response","content","resolve","error","isDoc","god","stream","Error","e","Object","assign","message","getResponse","reject","ensureDoc","isError","enhanceReason","reason","DOMException","handleOutcome","controller","signal","aborted","isCacheHandler","handler","index","Boolean","executeNextHandler","wares","i","macroCondition","getGlobalConfig","WarpDrive","env","DEBUG","length","assertValidRequest","ContextOwner","next","r","nextCalled","_isCacheHandler","context","Context","outcome","_finalize","Promise","console","log","undefined","future","createFuture","isFuture","maybe","IS_FUTURE","createDeferred","res","rej","upgradePromise","abort","onFinalize","id","lid","deferred","cbs","finally","resolveStream","forEach","cb","fn","push","identifier","upgradeHeaders","headers","clone","Headers","toJSON","Array","from","cloneResponseProperties","ok","redirected","status","statusText","type","url","hasSetStream","hasSetResponse","hasSubscribers","constructor","isRoot","sizeHint","addEventListener","enhancedRequest","cacheOptions","SkipCache","deepFreeze","hasRequestedStream","hint","parseInt","setResponse","Response","responseData","_finalized","setIdentifier","test","BODY_TYPES","klass","ValidKeys","IS_FROZEN","IS_COLLECTION","for","freezeHeaders","append","value","_type","_niceType","niceTypeOf","arr","map","freeze","keys","key","isMaybeContext","v","isArray","Date","Set","ReadableStream","WritableStream","TransformStream","name","validateKey","errors","schema","IgnoredKeys","has","includes","join","JSON","stringify","k","String","isTopLevel","validationErrors","isLegacyRequest"],"mappings":";;;;AAUO,MAAMA,YAAY,GAAGC,iBAAiB,CAAC,cAAc,EAAE,IAAIC,OAAO,EAA0B,CAAC,CAAA;AAC7F,MAAMC,UAAU,GAAGF,iBAAiB,CAAC,YAAY,EAAE,IAAIG,GAAG,EAAuB,CAAC,CAAA;AAElF,SAASC,gBAAgBA,CAACC,SAAiB,EAAEC,MAAmB,EAAE;AACvEJ,EAAAA,UAAU,CAACK,GAAG,CAACF,SAAS,EAAEC,MAAM,CAAC,CAAA;AACnC,CAAA;AACO,SAASE,kBAAkBA,CAACH,SAAiB,EAAE;AACpDH,EAAAA,UAAU,CAACO,MAAM,CAACJ,SAAS,CAAC,CAAA;AAC9B,CAAA;AACO,SAASK,gBAAgBA,CAACL,SAAiB,EAA2B;AAC3E,EAAA,OAAOH,UAAU,CAACS,GAAG,CAACN,SAAS,CAAC,CAAA;AAClC,CAAA;AAEO,SAASO,gBAAgBA,CAACC,OAAqC,EAAEP,MAAmB,EAAE;AAC3FP,EAAAA,YAAY,CAACQ,GAAG,CAACM,OAAO,EAAEP,MAAM,CAAC,CAAA;AACnC,CAAA;AAEO,SAASQ,gBAAgBA,CAAOD,OAAqC,EAAiC;AAC3G,EAAA,OAAOd,YAAY,CAACY,GAAG,CAACE,OAAO,CAAC,CAAA;AAClC;;ACbO,MAAME,gBAAgB,GAAGC,cAAc,CAAC,kBAAkB,EAAEC,MAAM,CAAC,kBAAkB,CAAC,EAAC;AACvF,SAASC,WAAWA,CAAIC,KAAmB,EAAEC,OAAkB,EAAEC,QAA2B,EAAa;EAC9GF,KAAK,CAACG,SAAS,CAACF,OAAO,CAACG,SAAS,EAAE,CAAC,CAAA;AAEpCH,EAAAA,OAAO,CAACI,IAAI,CACTC,GAA8B,IAAK;AAClC,IAAA,MAAMC,QAAQ,GAAG;MACf,CAACC,UAAU,GAAG,IAAa;MAC3BC,OAAO,EAAET,KAAK,CAACS,OAAO;MACtBC,QAAQ,EAAEJ,GAAG,CAACI,QAAQ;MACtBC,OAAO,EAAEL,GAAG,CAACK,OAAAA;KACd,CAAA;AACDT,IAAAA,QAAQ,CAACU,OAAO,CAACL,QAAQ,CAAC,CAAA;GAC3B,EACAM,KAAsC,IAAK;AAC1C,IAAA,IAAIC,KAAK,CAACD,KAAK,CAAC,EAAE;MAChBb,KAAK,CAACG,SAAS,CAACH,KAAK,CAACe,GAAG,CAACC,MAAM,CAAC,CAAA;AACnC,KAAA;IACA,IAAI,CAACH,KAAK,IAAI,EAAEA,KAAK,YAAYI,KAAK,CAAC,EAAE;MACvC,IAAI;QACF,MAAM,IAAIA,KAAK,CAACJ,KAAK,GAAGA,KAAK,GAAG,wCAAwC,CAAC,CAAA;OAC1E,CAAC,OAAOK,CAAU,EAAE;AACnB,QAAA,IAAIL,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AACtCM,UAAAA,MAAM,CAACC,MAAM,CAACF,CAAC,EAAWL,KAAK,CAAC,CAAA;AAC/BK,UAAAA,CAAC,CAAqCG,OAAO,GAC3CR,KAAK,CAAWQ,OAAO,IAAI,CAAwC,sCAAA,CAAA,CAAA;AACxE,SAAA;AACAR,QAAAA,KAAK,GAAGK,CAAoC,CAAA;AAC9C,OAAA;AACF,KAAA;AAEAL,IAAAA,KAAK,CAACL,UAAU,CAAC,GAAG,IAAI,CAAA;AACxBK,IAAAA,KAAK,CAACJ,OAAO,GAAGT,KAAK,CAACS,OAAO,CAAA;AAC7BI,IAAAA,KAAK,CAACH,QAAQ,GAAGV,KAAK,CAACsB,WAAW,EAAE,CAAA;IACpCT,KAAK,CAACA,KAAK,GAAGA,KAAK,CAACA,KAAK,IAAIA,KAAK,CAACQ,OAAO,CAAA;AAE1CnB,IAAAA,QAAQ,CAACqB,MAAM,CAACV,KAAK,CAAC,CAAA;AACxB,GACF,CAAC,CAAA;EACD,OAAOX,QAAQ,CAACR,OAAO,CAAA;AACzB,CAAA;AAEA,SAASoB,KAAKA,CAAIR,GAAkC,EAAoC;AACtF,EAAA,OAAOA,GAAG,IAAKA,GAAG,CAA+BE,UAAU,CAAC,KAAK,IAAI,CAAA;AACvE,CAAA;AAEA,SAASgB,SAASA,CAAIxB,KAAmB,EAAEW,OAAkB,EAAEc,OAAgB,EAAyB;AACtG,EAAA,IAAIX,KAAK,CAACH,OAAO,CAAC,EAAE;AAClB,IAAA,OAAOA,OAAO,CAAA;AAChB,GAAA;AAEA,EAAA,IAAIc,OAAO,EAAE;IACX,OAAO;MACL,CAACjB,UAAU,GAAG,IAAI;MAClBC,OAAO,EAAET,KAAK,CAACS,OAAO;AACtBC,MAAAA,QAAQ,EAAEV,KAAK,CAACsB,WAAW,EAAE;AAC7BT,MAAAA,KAAK,EAAEF,OAAAA;KACR,CAAA;AACH,GAAA;EAEA,OAAO;IACL,CAACH,UAAU,GAAG,IAAI;IAClBC,OAAO,EAAET,KAAK,CAACS,OAAO;AACtBC,IAAAA,QAAQ,EAAEV,KAAK,CAACsB,WAAW,EAAE;AAC7BX,IAAAA,OAAO,EAAEA,OAAAA;GACV,CAAA;AACH,CAAA;AAUO,SAASe,aAAaA,CAACC,MAAe,EAAE;EAC7C,OAAO,IAAIC,YAAY,CAACD,MAAM,IAAI,6BAA6B,EAAE,YAAY,CAAC,CAAA;AAChF,CAAA;AAEO,SAASE,aAAaA,CAC3B7B,KAAmB,EACnBC,OAA+C,EAC/CC,QAA2B,EAChB;AACXD,EAAAA,OAAO,CAACI,IAAI,CACTM,OAAsC,IAAK;AAC1C,IAAA,IAAIX,KAAK,CAAC8B,UAAU,CAACC,MAAM,CAACC,OAAO,EAAE;AACnC;AACA9B,MAAAA,QAAQ,CAACqB,MAAM,CAACG,aAAa,CAAC1B,KAAK,CAAC8B,UAAU,CAACC,MAAM,CAACJ,MAAgB,CAAC,CAAC,CAAA;AACxE,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAIb,KAAK,CAACH,OAAO,CAAC,EAAE;MAClBX,KAAK,CAACG,SAAS,CAACH,KAAK,CAACe,GAAG,CAACC,MAAM,CAAC,CAAA;MACjCL,OAAO,GAAGA,OAAO,CAACA,OAAO,CAAA;AAC3B,KAAA;AACA,IAAA,MAAMJ,QAAQ,GAAG;MACf,CAACC,UAAU,GAAG,IAAa;MAC3BC,OAAO,EAAET,KAAK,CAACS,OAAO;AACtBC,MAAAA,QAAQ,EAAEV,KAAK,CAACsB,WAAW,EAAE;AAC7BX,MAAAA,OAAAA;KACD,CAAA;AACDT,IAAAA,QAAQ,CAACU,OAAO,CAACL,QAAQ,CAAC,CAAA;GAC3B,EACAM,KAAsC,IAAK;AAC1C,IAAA,IAAIC,KAAK,CAACD,KAAK,CAAC,EAAE;MAChBb,KAAK,CAACG,SAAS,CAACH,KAAK,CAACe,GAAG,CAACC,MAAM,CAAC,CAAA;AACnC,KAAA;IACA,IAAI,CAACH,KAAK,IAAI,EAAEA,KAAK,YAAYI,KAAK,CAAC,EAAE;MACvC,IAAI;QACF,MAAM,IAAIA,KAAK,CAACJ,KAAK,GAAGA,KAAK,GAAG,wCAAwC,CAAC,CAAA;OAC1E,CAAC,OAAOK,CAAU,EAAE;AACnB,QAAA,IAAIL,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AACtCM,UAAAA,MAAM,CAACC,MAAM,CAACF,CAAC,EAAWL,KAAK,CAAC,CAAA;AAC/BK,UAAAA,CAAC,CAAqCG,OAAO,GAC3CR,KAAK,CAAWQ,OAAO,IAAI,CAAwC,sCAAA,CAAA,CAAA;AACxE,SAAA;AACAR,QAAAA,KAAK,GAAGK,CAAoC,CAAA;AAC9C,OAAA;AACF,KAAA;AAEAL,IAAAA,KAAK,CAACL,UAAU,CAAC,GAAG,IAAI,CAAA;AACxBK,IAAAA,KAAK,CAACJ,OAAO,GAAGT,KAAK,CAACS,OAAO,CAAA;AAC7BI,IAAAA,KAAK,CAACH,QAAQ,GAAGV,KAAK,CAACsB,WAAW,EAAE,CAAA;IACpCT,KAAK,CAACA,KAAK,GAAGA,KAAK,CAACA,KAAK,IAAIA,KAAK,CAACQ,OAAO,CAAA;AAC1CnB,IAAAA,QAAQ,CAACqB,MAAM,CAACV,KAAK,CAAC,CAAA;AACxB,GACF,CAAC,CAAA;EACD,OAAOX,QAAQ,CAACR,OAAO,CAAA;AACzB,CAAA;AAEA,SAASuC,cAAcA,CAACC,OAAmD,EAAEC,KAAa,EAAW;EACnG,OAAOA,KAAK,KAAK,CAAC,IAAIC,OAAO,CAACF,OAAO,CAACtC,gBAAgB,CAAC,CAAC,CAAA;AAC1D,CAAA;AAEO,SAASyC,kBAAkBA,CAChCC,KAA0B,EAC1B7B,OAAoB,EACpB8B,CAAS,EACTxB,GAAe,EACJ;EACX,IAAAyB,cAAA,CAAAC,eAAA,EAAA,CAAAC,SAAA,CAAAC,GAAA,CAAAC,KAAA,CAAW,EAAA;AACT,IAAA,IAAIL,CAAC,KAAKD,KAAK,CAACO,MAAM,EAAE;AACtB,MAAA,MAAM,IAAI5B,KAAK,CAAC,CAAA,2CAAA,CAA6C,CAAC,CAAA;AAChE,KAAA;AACA6B,IAAAA,kBAAkB,CAACrC,OAAO,EAAE,KAAK,CAAC,CAAA;AACpC,GAAA;AACA,EAAA,MAAMT,KAAK,GAAG,IAAI+C,YAAY,CAACtC,OAAO,EAAEM,GAAG,EAAEwB,CAAC,KAAK,CAAC,CAAC,CAAA;EAErD,SAASS,IAAIA,CAACC,CAAc,EAAa;IACvCjD,KAAK,CAACkD,UAAU,EAAE,CAAA;IAClB,OAAOb,kBAAkB,CAACC,KAAK,EAAEW,CAAC,EAAEV,CAAC,GAAG,CAAC,EAAExB,GAAG,CAAC,CAAA;AACjD,GAAA;EAEA,MAAMoC,eAAe,GAAGlB,cAAc,CAACK,KAAK,CAACC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAA;EACnD,MAAMa,OAAO,GAAG,IAAIC,OAAO,CAACrD,KAAK,EAAEmD,eAAe,CAAC,CAAA;AACnD,EAAA,IAAIG,OAA2D,CAAA;EAC/D,IAAI;IACFA,OAAO,GAAGhB,KAAK,CAACC,CAAC,CAAC,CAAC9B,OAAO,CAAI2C,OAAO,EAAEJ,IAAI,CAAC,CAAA;AAC5C,IAAA,IAAIG,eAAe,EAAE;MACnBC,OAAO,CAACG,SAAS,EAAE,CAAA;AACrB,KAAA;AACA,IAAA,IAAI,CAAC,CAACD,OAAO,IAAIH,eAAe,EAAE;AAChC,MAAA,IAAI,EAAEG,OAAO,YAAYE,OAAO,CAAC,EAAE;AACjCvE,QAAAA,gBAAgB,CAACe,KAAK,CAACd,SAAS,EAAE;AAAEuC,UAAAA,OAAO,EAAE,KAAK;AAAEtC,UAAAA,MAAM,EAAEqC,SAAS,CAACxB,KAAK,EAAEsD,OAAO,EAAE,KAAK,CAAA;AAAE,SAAC,CAAC,CAAA;AAC/FA,QAAAA,OAAO,GAAGE,OAAO,CAAC5C,OAAO,CAAC0C,OAAO,CAAC,CAAA;AACpC,OAAA;KACD,MAAM,IAAAd,cAAA,CAAAC,eAAA,EAAAC,CAAAA,SAAA,CAAAC,GAAA,CAAAC,KAAA,CAAW,EAAA;AAChB,MAAA,IAAI,CAACU,OAAO,IAAK,EAAEA,OAAO,YAAYE,OAAO,CAAC,IAAI,EAAE,OAAOF,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAIA,OAAO,CAAE,EAAE;AACtG;QACAG,OAAO,CAACC,GAAG,CAAC;UAAEjD,OAAO;AAAEyB,UAAAA,OAAO,EAAEI,KAAK,CAACC,CAAC,CAAC;AAAEe,UAAAA,OAAAA;AAAQ,SAAC,CAAC,CAAA;QACpD,IAAIA,OAAO,KAAKK,SAAS,EAAE;AACzB,UAAA,MAAM,IAAI1C,KAAK,CAAC,CAAA,yEAAA,CAA2E,CAAC,CAAA;AAC9F,SAAA;AACA,QAAA,MAAM,IAAIA,KAAK,CAAC,CAAA,mFAAA,CAAqF,CAAC,CAAA;AACxG,OAAA;AACF,KAAA;GACD,CAAC,OAAOC,CAAC,EAAE;AACV,IAAA,IAAIiC,eAAe,EAAE;AACnBlE,MAAAA,gBAAgB,CAACe,KAAK,CAACd,SAAS,EAAE;AAAEuC,QAAAA,OAAO,EAAE,IAAI;AAAEtC,QAAAA,MAAM,EAAEqC,SAAS,CAACxB,KAAK,EAAEkB,CAAC,EAAE,IAAI,CAAA;AAAE,OAAC,CAAC,CAAA;AACzF,KAAA;AACA;AACAoC,IAAAA,OAAO,GAAGE,OAAO,CAACjC,MAAM,CAA4BL,CAAC,CAAC,CAAA;AACxD,GAAA;AACA,EAAA,MAAM0C,MAAM,GAAGC,YAAY,CAAI7D,KAAK,CAAC,CAAA;AAErC,EAAA,IAAI8D,QAAQ,CAAIR,OAAO,CAAC,EAAE;AACxB,IAAA,OAAOvD,WAAW,CAACC,KAAK,EAAEsD,OAAO,EAAEM,MAAM,CAAC,CAAA;AAC5C,GAAA;AAEA,EAAA,OAAO/B,aAAa,CAAC7B,KAAK,EAAEsD,OAAO,EAAEM,MAAM,CAAC,CAAA;AAC9C;;ACzMO,SAASE,QAAQA,CAAIC,KAAc,EAAsB;AAC9D,EAAA,OAAO3B,OAAO,CAAC2B,KAAK,IAAIA,KAAK,YAAYP,OAAO,IAAKO,KAAK,CAAeC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAA;AAC/F,CAAA;AAEO,SAASC,cAAcA,GAAmB;AAC/C,EAAA,IAAIrD,OAAwB,CAAA;AAC5B,EAAA,IAAIW,MAA6B,CAAA;EACjC,MAAM7B,OAAO,GAAG,IAAI8D,OAAO,CAAI,CAACU,GAAG,EAAEC,GAAG,KAAK;AAC3CvD,IAAAA,OAAO,GAAGsD,GAAG,CAAA;AACb3C,IAAAA,MAAM,GAAG4C,GAAG,CAAA;AACd,GAAC,CAAC,CAAA;EACF,OAAO;IAAEvD,OAAO;IAAEW,MAAM;AAAE7B,IAAAA,OAAAA;GAAS,CAAA;AACrC,CAAA;AAEO,SAAS0E,cAAcA,CAAI1E,OAAuC,EAAEkE,MAAiB,EAAa;AACtGlE,EAAAA,OAAO,CAAesE,SAAS,CAAC,GAAG,IAAI,CAAA;AACxC;AACCtE,EAAAA,OAAO,CAAeU,SAAS,GAAGwD,MAAM,CAACxD,SAAS,CAAA;AACnD;AACCV,EAAAA,OAAO,CAAe2E,KAAK,GAAGT,MAAM,CAACS,KAAK,CAAA;AAC3C;AACC3E,EAAAA,OAAO,CAAe4E,UAAU,GAAGV,MAAM,CAACU,UAAU,CAAA;AACpD5E,EAAAA,OAAO,CAAe6E,EAAE,GAAGX,MAAM,CAACW,EAAE,CAAA;AACpC7E,EAAAA,OAAO,CAAe8E,GAAG,GAAGZ,MAAM,CAACY,GAAG,CAAA;AAEvC,EAAA,OAAO9E,OAAO,CAAA;AAChB,CAAA;AAEO,SAASmE,YAAYA,CAAI7D,KAAmB,EAAqB;AACtE,EAAA,MAAMyE,QAAQ,GAAGR,cAAc,EAAqC,CAAA;EACpE,IAAI;AAAEvE,IAAAA,OAAAA;AAAQ,GAAC,GAAG+E,QAAQ,CAAA;AAC1B,EAAA,IAAIC,GAAkC,CAAA;AACtChF,EAAAA,OAAO,GAAGA,OAAO,CAACiF,OAAO,CAAC,MAAM;IAC9B3E,KAAK,CAAC4E,aAAa,EAAE,CAAA;AACrB,IAAA,IAAIF,GAAG,EAAE;MACPA,GAAG,CAACG,OAAO,CAAEC,EAAE,IAAKA,EAAE,EAAE,CAAC,CAAA;AAC3B,KAAA;AACF,GAAC,CAAc,CAAA;AACfpF,EAAAA,OAAO,CAAC4E,UAAU,GAAIS,EAAc,IAAK;IACvCL,GAAG,GAAGA,GAAG,IAAI,EAAE,CAAA;AACfA,IAAAA,GAAG,CAACM,IAAI,CAACD,EAAE,CAAC,CAAA;GACb,CAAA;AACDrF,EAAAA,OAAO,CAACsE,SAAS,CAAC,GAAG,IAAI,CAAA;EACzBtE,OAAO,CAACU,SAAS,GAAG,MAAM;AACxB,IAAA,OAAOJ,KAAK,CAACI,SAAS,EAAE,CAAA;GACzB,CAAA;AACDV,EAAAA,OAAO,CAAC2E,KAAK,GAAI1C,MAAe,IAAK;AACnC3B,IAAAA,KAAK,CAACqE,KAAK,CAAC3C,aAAa,CAACC,MAAM,CAAC,CAAC,CAAA;GACnC,CAAA;AACDjC,EAAAA,OAAO,CAAC6E,EAAE,GAAGvE,KAAK,CAACd,SAAS,CAAA;AAC5BQ,EAAAA,OAAO,CAAC8E,GAAG,GAAGxE,KAAK,CAACe,GAAG,CAACkE,UAAU,CAAA;EAElCR,QAAQ,CAAC/E,OAAO,GAAGA,OAAO,CAAA;AAC1B,EAAA,OAAO+E,QAAQ,CAAA;AACjB;;AClDO,SAASS,cAAcA,CAACC,OAAmC,EAAoB;EACnFA,OAAO,CAAsBC,KAAK,GAAG,MAAM;AAC1C,IAAA,OAAO,IAAIC,OAAO,CAACF,OAAO,CAAC,CAAA;GAC5B,CAAA;EACAA,OAAO,CAAsBG,MAAM,GAAG,MAAM;AAC3C,IAAA,OAAOC,KAAK,CAACC,IAAI,CAACL,OAAO,CAAC,CAAA;GAC3B,CAAA;AACD,EAAA,OAAOA,OAAO,CAAA;AAChB,CAAA;AAEO,SAASM,uBAAuBA,CAAC/E,QAAkB,EAAgB;EACxE,MAAM;IAAEyE,OAAO;IAAEO,EAAE;IAAEC,UAAU;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;AAAEC,IAAAA,GAAAA;AAAI,GAAC,GAAGrF,QAAQ,CAAA;EAC3EwE,cAAc,CAACC,OAAO,CAAC,CAAA;EACvB,OAAO;AACLA,IAAAA,OAAO,EAAEA,OAA2B;IACpCO,EAAE;IACFC,UAAU;IACVC,MAAM;IACNC,UAAU;IACVC,IAAI;AACJC,IAAAA,GAAAA;GACD,CAAA;AACH,CAAA;AAEO,MAAMhD,YAAY,CAAC;AACxBiD,EAAAA,YAAY,GAAG,KAAK,CAAA;AACpBC,EAAAA,cAAc,GAAG,KAAK,CAAA;AACtBC,EAAAA,cAAc,GAAG,KAAK,CAAA;EACtBlF,MAAM,GAAmBiD,cAAc,EAAyB,CAAA;AAChEvD,EAAAA,QAAQ,GAAwB,IAAI,CAAA;AAGpCwC,EAAAA,UAAU,GAAG,CAAC,CAAA;EAMdiD,WAAWA,CAAC1F,OAAoB,EAAEM,GAAe,EAAEqF,MAAM,GAAG,KAAK,EAAE;IACjE,IAAI,CAACA,MAAM,GAAGA,MAAM,CAAA;AACpB,IAAA,IAAI,CAAClH,SAAS,GAAG6B,GAAG,CAACwD,EAAE,CAAA;IACvB,IAAI,CAACzC,UAAU,GAAGrB,OAAO,CAACqB,UAAU,IAAIf,GAAG,CAACe,UAAU,CAAA;AACtD,IAAA,IAAI,CAACd,MAAM,CAACtB,OAAO,CAAC2G,QAAQ,GAAG,CAAC,CAAA;IAEhC,IAAI5F,OAAO,CAACqB,UAAU,EAAE;AACtB,MAAA,IAAIrB,OAAO,CAACqB,UAAU,KAAKf,GAAG,CAACe,UAAU,EAAE;QACzCf,GAAG,CAACe,UAAU,CAACC,MAAM,CAACuE,gBAAgB,CAAC,OAAO,EAAE,MAAM;AACpD,UAAA,IAAI,CAACxE,UAAU,CAACuC,KAAK,CAACtD,GAAG,CAACe,UAAU,CAACC,MAAM,CAACJ,MAAM,CAAC,CAAA;AACrD,SAAC,CAAC,CAAA;AACJ,OAAA;MACA,OAAOlB,OAAO,CAACqB,UAAU,CAAA;AAC3B,KAAA;AACA,IAAA,IAAIyE,eAAqC,GAAGpF,MAAM,CAACC,MAAM,CACvD;AAAEW,MAAAA,MAAM,EAAE,IAAI,CAACD,UAAU,CAACC,MAAAA;KAAQ,EAClCtB,OACF,CAAyB,CAAA;IACzB,IAAA+B,cAAA,CAAAC,eAAA,EAAA,CAAAC,SAAA,CAAAC,GAAA,CAAAC,KAAA,CAAW,EAAA;AACT,MAAA,IAAI,CAACnC,OAAO,EAAE+F,YAAY,GAAGC,SAAS,CAAC,EAAE;AACvChG,QAAAA,OAAO,GAAGiG,UAAU,CAACjG,OAAO,CAAyB,CAAA;AACrD8F,QAAAA,eAAe,GAAGG,UAAU,CAACH,eAAe,CAAC,CAAA;AAC/C,OAAA;AACF,KAAC,MAAM;MACL,IAAI9F,OAAO,CAAC0E,OAAO,EAAE;AACnBD,QAAAA,cAAc,CAACzE,OAAO,CAAC0E,OAAO,CAAC,CAAA;AACjC,OAAA;AACF,KAAA;IACA,IAAI,CAACoB,eAAe,GAAGA,eAAe,CAAA;IACtC,IAAI,CAAC9F,OAAO,GAAGA,OAA+B,CAAA;IAC9C,IAAI,CAACM,GAAG,GAAGA,GAAG,CAAA;AACd,IAAA,IAAI,CAACC,MAAM,CAACtB,OAAO,GAAG,IAAI,CAACsB,MAAM,CAACtB,OAAO,CAACW,IAAI,CAAEW,MAA6B,IAAK;MAChF,IAAI,IAAI,CAACD,GAAG,CAACC,MAAM,KAAKA,MAAM,IAAI,IAAI,CAACkF,cAAc,EAAE;AACrD,QAAA,IAAI,CAACnF,GAAG,CAACC,MAAM,GAAG,IAAI,CAAA;AACxB,OAAA;AACA,MAAA,OAAOA,MAAM,CAAA;AACf,KAAC,CAAC,CAAA;AACJ,GAAA;EAEA,IAAI2F,kBAAkBA,GAAY;AAChC,IAAA,OAAO,IAAI,CAAC5F,GAAG,CAAC4F,kBAAkB,CAAA;AACpC,GAAA;AAEArF,EAAAA,WAAWA,GAAwB;IACjC,IAAI,IAAI,CAAC2E,cAAc,EAAE;MACvB,OAAO,IAAI,CAACvF,QAAQ,CAAA;AACtB,KAAA;AACA,IAAA,IAAI,IAAI,CAACwC,UAAU,KAAK,CAAC,EAAE;AACzB,MAAA,OAAO,IAAI,CAACnC,GAAG,CAACL,QAAQ,CAAA;AAC1B,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACAN,EAAAA,SAASA,GAAmC;IAC1C,IAAI,IAAI,CAACgG,MAAM,EAAE;AACf,MAAA,IAAI,CAACrF,GAAG,CAAC4F,kBAAkB,GAAG,IAAI,CAAA;AACpC,KAAA;AACA,IAAA,IAAI,CAAC,IAAI,CAACV,cAAc,EAAE;AACxB,MAAA,MAAMW,IAAI,GAAG,IAAI,CAAC7F,GAAG,CAACL,QAAQ,EAAEyE,OAAO,EAAE3F,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAC9D,MAAA,IAAI,CAACwB,MAAM,CAACtB,OAAO,CAAC2G,QAAQ,GAAGO,IAAI,GAAGC,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;AAC9D,KAAA;IACA,IAAI,CAACV,cAAc,GAAG,IAAI,CAAA;AAC1B,IAAA,OAAO,IAAI,CAAClF,MAAM,CAACtB,OAAO,CAAA;AAC5B,GAAA;EACA2E,KAAKA,CAAC1C,MAAoB,EAAE;AAC1B,IAAA,IAAI,CAACG,UAAU,CAACuC,KAAK,CAAC1C,MAAM,CAAC,CAAA;AAC/B,GAAA;EAEAxB,SAASA,CAACa,MAA8D,EAAE;AACxE,IAAA,IAAI,CAAC,IAAI,CAACgF,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,IAAI,CAAA;AAExB,MAAA,IAAI,EAAEhF,MAAM,YAAYwC,OAAO,CAAC,EAAE;AAChC,QAAA,IAAI,CAACzC,GAAG,CAACC,MAAM,GAAGA,MAAM,CAAA;AAC1B,OAAA;AACA;AACA,MAAA,IAAI,CAACA,MAAM,CAACJ,OAAO,CAACI,MAAM,CAAC,CAAA;AAC7B,KAAA;AACF,GAAA;AAEA4D,EAAAA,aAAaA,GAAG;AACd,IAAA,IAAI,CAACzE,SAAS,CAAC,IAAI,CAAC+C,UAAU,KAAK,CAAC,GAAG,IAAI,CAACnC,GAAG,CAACC,MAAM,GAAG,IAAI,CAAC,CAAA;AAChE,GAAA;EAEA8F,WAAWA,CAACpG,QAAwC,EAAE;IACpD,IAAI,IAAI,CAACuF,cAAc,EAAE;MACvB,IAAAzD,cAAA,CAAAC,eAAA,EAAA,CAAAC,SAAA,CAAAC,GAAA,CAAAC,KAAA,CAAW,EAAA;AACT,QAAA,MAAM,IAAI3B,KAAK,CAAC,CAAA,uDAAA,CAAyD,CAAC,CAAA;AAC5E,OAAA;AACA,MAAA,OAAA;AACF,KAAA;IACA,IAAI,CAACgF,cAAc,GAAG,IAAI,CAAA;IAC1B,IAAIvF,QAAQ,YAAYqG,QAAQ,EAAE;AAChC;AACA,MAAA,IAAIC,YAAY,GAAGvB,uBAAuB,CAAC/E,QAAQ,CAAC,CAAA;MAEpD,IAAA8B,cAAA,CAAAC,eAAA,EAAA,CAAAC,SAAA,CAAAC,GAAA,CAAAC,KAAA,CAAW,EAAA;AACToE,QAAAA,YAAY,GAAGN,UAAU,CAACM,YAAY,CAAC,CAAA;AACzC,OAAA;MACA,IAAI,CAACtG,QAAQ,GAAGsG,YAAY,CAAA;AAC5B,MAAA,IAAI,CAACjG,GAAG,CAACL,QAAQ,GAAGsG,YAAY,CAAA;MAChC,MAAMX,QAAQ,GAAG3F,QAAQ,CAACyE,OAAO,EAAE3F,GAAG,CAAC,gBAAgB,CAAC,CAAA;AACxD,MAAA,IAAI,CAACwB,MAAM,CAACtB,OAAO,CAAC2G,QAAQ,GAAGA,QAAQ,GAAGQ,QAAQ,CAACR,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;AACtE,KAAC,MAAM;MACL,IAAI,CAAC3F,QAAQ,GAAGA,QAAQ,CAAA;AACxB,MAAA,IAAI,CAACK,GAAG,CAACL,QAAQ,GAAGA,QAAQ,CAAA;AAC9B,KAAA;AACF,GAAA;AACF,CAAA;AAEO,MAAM2C,OAAO,CAAC;AACnB,EAAA,MAAM,CAAA;AAMN8C,EAAAA,WAAWA,CAACnG,KAAmB,EAAEiC,cAAuB,EAAE;AACxD,IAAA,IAAI,CAACsC,EAAE,GAAGvE,KAAK,CAACd,SAAS,CAAA;AACzB,IAAA,IAAI,CAAC,MAAM,GAAGc,KAAK,CAAA;AACnB,IAAA,IAAI,CAACS,OAAO,GAAGT,KAAK,CAACuG,eAAe,CAAA;IACpC,IAAI,CAACpD,eAAe,GAAGlB,cAAc,CAAA;IACrC,IAAI,CAACgF,UAAU,GAAG,KAAK,CAAA;AACzB,GAAA;EACA9G,SAASA,CAACa,MAAuD,EAAE;AACjE,IAAA,IAAI,CAAC,MAAM,CAACb,SAAS,CAACa,MAAM,CAAC,CAAA;AAC/B,GAAA;EACA8F,WAAWA,CAACpG,QAAwC,EAAE;AACpD,IAAA,IAAI,CAAC,MAAM,CAACoG,WAAW,CAACpG,QAAQ,CAAC,CAAA;AACnC,GAAA;EAEAwG,aAAaA,CAACjC,UAAoC,EAAE;IAClDzC,cAAA,CAAAC,eAAA,EAAAC,CAAAA,SAAA,CAAAC,GAAA,CAAAC,KAAA,CAAA,GAAA,CAAAuE,IAAA,IAAA;AAAA,MAAA,IAAA,CAAAA,IAAA,EAAA;QAAA,MAAAlG,IAAAA,KAAA,CACE,CAAkE,gEAAA,CAAA,CAAA,CAAA;AAAA,OAAA;KAClEgE,EAAAA,UAAU,IAAI,IAAI,CAAC9B,eAAe,IAAI,CAAC,IAAI,CAAC8D,UAAU,CAAA,GAAA,EAAA,CAAA;IAExD,IAAI,CAAC,MAAM,CAAClG,GAAG,CAACkE,UAAU,GAAGA,UAAU,CAAA;AACzC,GAAA;EAEA,IAAI0B,kBAAkBA,GAAG;AACvB,IAAA,OAAO,IAAI,CAAC,MAAM,CAACA,kBAAkB,CAAA;AACvC,GAAA;AAEApD,EAAAA,SAASA,GAAG;IACV,IAAI,CAAC0D,UAAU,GAAG,IAAI,CAAA;AACxB,GAAA;AACF;;AC3LA,MAAMG,UAAU,GAAG;AACjBtB,EAAAA,IAAI,EAAE,QAAQ;AACduB,EAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,CAAA;AAC1G,CAAC,CAAA;AACD,MAAMC,SAAS,GAAG,IAAItI,GAAG,CAAgD,CACvE,CAAC,SAAS,EAAE,OAAO,CAAC,EACpB,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,MAAM,EAAEoI,UAAU,CAAC,EACpB,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAChC,CAAC,SAAS,EAAE,QAAQ,CAAC,EACrB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAC1B,CAAC,IAAI,EAAE,QAAQ,CAAC,EAChB,CAAC,OAAO,EAAE,QAAQ,CAAC,EACnB,CAAC,KAAK,EAAE,QAAQ,CAAC,EACjB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC,EACzF,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,EACnD,CACE,aAAa,EACb,CACE,EAAE,EACF,QAAQ,EACR,OAAO,EACP,cAAc,EACd,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,CACP,CACF,EACD,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,WAAW,EAAE,SAAS,CAAC,EACxB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAChE,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,EACxD,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAC3C,CAAC,UAAU,EAAE,QAAQ,CAAC,EACtB,CAAC,QAAQ,EAAE,aAAa,CAAC,EACzB,CAAC,YAAY,EAAE,iBAAiB,CAAC,EACjC,CACE,gBAAgB,EAChB,CACE,EAAE,EACF,aAAa,EACb,aAAa,EACb,4BAA4B,EAC5B,QAAQ,EACR,0BAA0B,EAC1B,eAAe,EACf,iCAAiC,EACjC,YAAY,CACb,CACF,CACF,CAAC,CAAA;AAEF,MAAMG,SAAS,GAAG1H,cAAc,CAAC,WAAW,EAAEC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC/D,MAAM0H,aAAa,GAAG3H,cAAc,CAAC,eAAe,EAAEC,MAAM,CAAC2H,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;AAE/E,SAASC,aAAaA,CAACvC,OAAmC,EAAoB;EAC5EA,OAAO,CAAC7F,MAAM,GACZ6F,OAAO,CAAC/F,GAAG,GACX+F,OAAO,CAACwC,MAAM,GACZ,MAAM;AACJ,IAAA,MAAM,IAAI1G,KAAK,CAAC,CAAA,kEAAA,CAAoE,CAAC,CAAA;GACtF,CAAA;EACLiE,cAAc,CAACC,OAAO,CAAC,CAAA;AACvB,EAAA,OAAOA,OAAO,CAAA;AAChB,CAAA;AAEO,SAASuB,UAAUA,CAAckB,KAAQ,EAAK;AACnD,EAAA,IAAIA,KAAK,IAAKA,KAAK,CAA4BL,SAAS,CAAC,EAAE;AACzD,IAAA,OAAOK,KAAK,CAAA;AACd,GAAA;EACA,MAAMC,KAAK,GAAG,OAAOD,KAAK,CAAA;AAC1B,EAAA,QAAQC,KAAK;AACX,IAAA,KAAK,SAAS,CAAA;AACd,IAAA,KAAK,QAAQ,CAAA;AACb,IAAA,KAAK,QAAQ,CAAA;AACb,IAAA,KAAK,QAAQ,CAAA;AACb,IAAA,KAAK,WAAW,CAAA;AAChB,IAAA,KAAK,QAAQ;AACX,MAAA,OAAOD,KAAK,CAAA;AACd,IAAA,KAAK,UAAU;AACb,MAAA,MAAM,IAAI3G,KAAK,CAAC,CAAA,6BAAA,CAA+B,CAAC,CAAA;AAClD,IAAA,KAAK,QAAQ;AAAE,MAAA;AACb,QAAA,MAAM6G,SAAS,GAAGC,UAAU,CAACH,KAAK,CAAC,CAAA;AACnC,QAAA,QAAQE,SAAS;AACf,UAAA,KAAK,OAAO;AAAE,YAAA;AACZ,cAAA,IAAKF,KAAK,CAA4CJ,aAAa,CAAC,EAAE;AACpE,gBAAA,OAAOI,KAAK,CAAA;AACd,eAAA;AACA,cAAA,MAAMI,GAAG,GAAIJ,KAAK,CAAeK,GAAG,CAACvB,UAAU,CAAC,CAAA;AAChDsB,cAAAA,GAAG,CAACT,SAAS,CAAsB,GAAG,IAAI,CAAA;AAC1C,cAAA,OAAOpG,MAAM,CAAC+G,MAAM,CAACF,GAAG,CAAC,CAAA;AAC3B,aAAA;AACA,UAAA,KAAK,MAAM;AACT,YAAA,OAAOJ,KAAK,CAAA;AACd,UAAA,KAAK,QAAQ;YACXzG,MAAM,CAACgH,IAAI,CAACP,KAAgC,CAAC,CAAC/C,OAAO,CAAEuD,GAAG,IAAK;cAC7D,IAAI;gBACDR,KAAK,CAA6BQ,GAAG,CAAC,GAAG1B,UAAU,CAAEkB,KAAK,CAA6BQ,GAAG,CAAC,CAAW,CAAA;AACzG,eAAC,CAAC,MAAM;AACN;AAAA,eAAA;AAEJ,aAAC,CAAC,CAAA;AACDR,YAAAA,KAAK,CAAsCL,SAAS,CAAC,GAAG,IAAI,CAAA;AAC7D,YAAA,OAAOpG,MAAM,CAAC+G,MAAM,CAACN,KAAK,CAAC,CAAA;AAC7B,UAAA,KAAK,SAAS;YACZ,OAAOF,aAAa,CAACE,KAAgB,CAAC,CAAA;AACxC,UAAA,KAAK,YAAY,CAAA;AACjB,UAAA,KAAK,OAAO,CAAA;AACZ,UAAA,KAAK,aAAa;AAChB,YAAA,OAAOA,KAAK,CAAA;AACd,UAAA,KAAK,MAAM,CAAA;AACX,UAAA,KAAK,KAAK,CAAA;AACV,UAAA,KAAK,KAAK,CAAA;AACV,UAAA,KAAK,OAAO,CAAA;AACZ,UAAA,KAAK,QAAQ,CAAA;AACb,UAAA;AACE;AACA,YAAA,OAAOA,KAAK,CAAA;AAChB,SAAA;AACF,OAAA;AACF,GAAA;AACF,CAAA;AAEA,SAASS,cAAcA,CAAC5H,OAAgB,EAAE;AACxC,EAAA,IAAIA,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;AAC1C,IAAA,MAAM0H,IAAI,GAAGhH,MAAM,CAACgH,IAAI,CAAC1H,OAAO,CAAC,CAAA;AACjC,IAAA,IAAI0H,IAAI,CAACtF,MAAM,KAAK,CAAC,IAAIsF,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;AAC9C,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACF,GAAA;AACA,EAAA,OAAO,KAAK,CAAA;AACd,CAAA;AAEA,SAASJ,UAAUA,CAACO,CAAU,EAAE;EAC9B,IAAIA,CAAC,KAAK,IAAI,EAAE;AACd,IAAA,OAAO,MAAM,CAAA;AACf,GAAA;AACA,EAAA,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;AACzB,IAAA,OAAOA,CAAC,GAAG,kBAAkB,GAAG,cAAc,CAAA;AAChD,GAAA;EACA,IAAI,CAACA,CAAC,EAAE;AACN,IAAA,OAAO,OAAOA,CAAC,CAAA;AACjB,GAAA;AACA,EAAA,IAAI/C,KAAK,CAACgD,OAAO,CAACD,CAAC,CAAC,EAAE;AACpB,IAAA,OAAO,OAAO,CAAA;AAChB,GAAA;EACA,IAAIA,CAAC,YAAYE,IAAI,EAAE;AACrB,IAAA,OAAO,MAAM,CAAA;AACf,GAAA;EACA,IAAIF,CAAC,YAAYtJ,GAAG,EAAE;AACpB,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;EACA,IAAIsJ,CAAC,YAAYG,GAAG,EAAE;AACpB,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;EACA,IAAIH,CAAC,YAAYrH,KAAK,EAAE;AACtB,IAAA,OAAO,OAAO,CAAA;AAChB,GAAA;EACA,IAAIqH,CAAC,YAAYI,cAAc,IAAIJ,CAAC,YAAYK,cAAc,IAAIL,CAAC,YAAYM,eAAe,EAAE;AAC9F,IAAA,OAAO,QAAQ,CAAA;AACjB,GAAA;EACA,IAAIN,CAAC,YAAYjD,OAAO,EAAE;AACxB,IAAA,OAAO,SAAS,CAAA;AAClB,GAAA;AACA,EAAA,IAAI,OAAOiD,CAAC,KAAK,QAAQ,IAAIA,CAAC,CAACnC,WAAW,IAAImC,CAAC,CAACnC,WAAW,CAAC0C,IAAI,KAAK,QAAQ,EAAE;AAC7E,IAAA,OAAOP,CAAC,CAACnC,WAAW,CAAC0C,IAAI,CAAA;AAC3B,GAAA;AACA,EAAA,OAAO,OAAOP,CAAC,CAAA;AACjB,CAAA;AAEA,SAASQ,WAAWA,CAACV,GAAW,EAAER,KAAc,EAAEmB,MAAgB,EAAE;AAClE,EAAA,MAAMC,MAAM,GAAG1B,SAAS,CAAC9H,GAAG,CAAC4I,GAAG,CAAC,CAAA;EACjC,IAAI,CAACY,MAAM,IAAI,CAACC,WAAW,CAACC,GAAG,CAACd,GAAG,CAAC,EAAE;AACpCW,IAAAA,MAAM,CAAC/D,IAAI,CAAC,CAAgBoD,aAAAA,EAAAA,GAAG,GAAG,CAAC,CAAA;AACnC,IAAA,OAAA;AACF,GAAA;AACA,EAAA,IAAIY,MAAM,EAAE;IACV,IAAIA,MAAM,KAAK5B,UAAU,EAAE;MACzB,IAAI,OAAOQ,KAAK,KAAK,QAAQ,IAAIA,KAAK,YAAYc,cAAc,EAAE;AAChE,QAAA,OAAA;AACF,OAAA;AACA,MAAA,MAAM5C,IAAI,GAAGiC,UAAU,CAACH,KAAK,CAAC,CAAA;MAC9B,IAAIoB,MAAM,CAAC3B,KAAK,CAAC8B,QAAQ,CAACrD,IAAI,CAAC,EAAE;AAC/B,QAAA,OAAA;AACF,OAAA;MACAiD,MAAM,CAAC/D,IAAI,CACT,CAAA,uDAAA,EAA0DgE,MAAM,CAAC3B,KAAK,CAAC+B,IAAI,CAAC,MAAM,CAAC,CACjF,YAAA,EAAA,mBAAmB,GAAGrB,UAAU,CAACH,KAAK,CAAC,GAAG,GAAG,CAAA,CAEjD,CAAC,CAAA;AACD,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAIrC,KAAK,CAACgD,OAAO,CAACS,MAAM,CAAC,EAAE;AACzB,MAAA,IAAI,CAACA,MAAM,CAACG,QAAQ,CAACvB,KAAe,CAAC,EAAE;AACrCmB,QAAAA,MAAM,CAAC/D,IAAI,CACT,CAAA,kBAAA,EAAqBoD,GAAG,CAAA,qBAAA,EAAwBY,MAAM,CAACI,IAAI,CAAC,MAAM,CAAC,CACjE,YAAA,EAAA,OAAOxB,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,mBAAmB,GAAGG,UAAU,CAACH,KAAK,CAAC,GAAG,GAAG,EAErF,CAAC,CAAA;AACH,OAAA;AACA,MAAA,OAAA;AACF,KAAC,MAAM,IAAIoB,MAAM,KAAK,MAAM,EAAE;MAC5B,IAAI;AACFK,QAAAA,IAAI,CAACC,SAAS,CAAC1B,KAAK,CAAC,CAAA;OACtB,CAAC,OAAO1G,CAAC,EAAE;QACV6H,MAAM,CAAC/D,IAAI,CACT,CAAqBoD,kBAAAA,EAAAA,GAAG,8EACrBlH,CAAC,CAAWG,OAAO,CAAA,CAExB,CAAC,CAAA;AACH,OAAA;AACA,MAAA,OAAA;AACF,KAAC,MAAM,IAAI2H,MAAM,KAAK,SAAS,EAAE;AAC/B,MAAA,IAAI,EAAEpB,KAAK,YAAYvC,OAAO,CAAC,EAAE;QAC/B0D,MAAM,CAAC/D,IAAI,CAAC,CAAqBoD,kBAAAA,EAAAA,GAAG,CAA+CL,4CAAAA,EAAAA,UAAU,CAACH,KAAK,CAAC,CAAA,CAAE,CAAC,CAAA;AACzG,OAAA;AACA,MAAA,OAAA;AACF,KAAC,MAAM,IAAIoB,MAAM,KAAK,QAAQ,EAAE;MAC9B,MAAMnB,KAAK,GAAG,OAAOD,KAAK,CAAA;AAC1B;AACA,MAAA,IAAI,CAACA,KAAK,IAAIC,KAAK,KAAK,QAAQ,IAAKD,KAAK,CAACzB,WAAW,IAAIyB,KAAK,CAACzB,WAAW,KAAKhF,MAAO,EAAE;QACvF4H,MAAM,CAAC/D,IAAI,CACT,CAAqBoD,kBAAAA,EAAAA,GAAG,CAAqEL,kEAAAA,EAAAA,UAAU,CACrGH,KACF,CAAC,CAAA,CACH,CAAC,CAAA;AACD,QAAA,OAAA;AACF,OAAA;AACA,MAAA,MAAMO,IAAI,GAAGhH,MAAM,CAACgH,IAAI,CAACP,KAAK,CAAC,CAAA;AAC/BO,MAAAA,IAAI,CAACtD,OAAO,CAAE0E,CAAC,IAAK;AAClB,QAAA,MAAMjB,CAAU,GAAIV,KAAK,CAA6B2B,CAAC,CAAC,CAAA;AACxD,QAAA,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;UACzBR,MAAM,CAAC/D,IAAI,CAAC,CAAawE,UAAAA,EAAAA,MAAM,CAACD,CAAC,CAAC,CAAA,IAAA,EAAOnB,GAAG,CAAA,uBAAA,CAAyB,CAAC,CAAA;AACxE,SAAC,MAAM,IAAI,OAAOE,CAAC,KAAK,QAAQ,EAAE;AAChCS,UAAAA,MAAM,CAAC/D,IAAI,CAAC,CAAA,eAAA,EAAkBoD,GAAG,CAAA,CAAA,EAAImB,CAAC,CAAA,wBAAA,EAA2BxB,UAAU,CAACO,CAAC,CAAC,EAAE,CAAC,CAAA;AACnF,SAAA;AACF,OAAC,CAAC,CAAA;AACF,MAAA,OAAA;AACF,KAAC,MAAM,IAAIU,MAAM,KAAK,QAAQ,EAAE;MAC9B,IAAI,OAAOpB,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAAC/E,MAAM,KAAK,CAAC,EAAE;AACnDkG,QAAAA,MAAM,CAAC/D,IAAI,CACT,CAAqBoD,kBAAAA,EAAAA,GAAG,2CACtB,OAAOR,KAAK,KAAK,QAAQ,GAAG,IAAI,GAAG,OAAOA,KAAK,EAEnD,CAAC,CAAA;AACH,OAAA;AACA,MAAA,OAAA;AACF,KAAC,MAAM,IAAIoB,MAAM,KAAK,QAAQ,EAAE;AAC9B,MAAA,IAAI,CAACpB,KAAK,IAAIrC,KAAK,CAACgD,OAAO,CAACX,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC/DmB,QAAAA,MAAM,CAAC/D,IAAI,CAAC,CAAqBoD,kBAAAA,EAAAA,GAAG,sBAAsB,CAAC,CAAA;AAC7D,OAAA;AACA,MAAA,OAAA;AACF,KAAC,MAAM,IAAIY,MAAM,KAAK,SAAS,EAAE;AAC/B,MAAA,IAAI,OAAOpB,KAAK,KAAK,SAAS,EAAE;QAC9BmB,MAAM,CAAC/D,IAAI,CAAC,CAAA,kBAAA,EAAqBoD,GAAG,CAAkC,+BAAA,EAAA,OAAOR,KAAK,CAAA,CAAE,CAAC,CAAA;AACvF,OAAA;AACA,MAAA,OAAA;AACF,KAAC,MAAM,IAAIoB,MAAM,KAAK,OAAO,EAAE;AAC7B,MAAA,IAAI,CAACzD,KAAK,CAACgD,OAAO,CAACX,KAAK,CAAC,EAAE;QACzBmB,MAAM,CAAC/D,IAAI,CAAC,CAAA,kBAAA,EAAqBoD,GAAG,CAAiC,8BAAA,EAAA,OAAOR,KAAK,CAAA,CAAE,CAAC,CAAA;AACtF,OAAA;AACA,MAAA,OAAA;AACF,KAAA;AACF,GAAA;AACF,CAAA;AAEA,MAAMqB,WAAW,GAAG,IAAIR,GAAG,CAAS,EAAE,CAAC,CAAA;AAEhC,SAAS3F,kBAAkBA,CAChCrC,OAA8B,EAC9BgJ,UAAmB,EACa;EAChC,IAAAjH,cAAA,CAAAC,eAAA,EAAA,CAAAC,SAAA,CAAAC,GAAA,CAAAC,KAAA,CAAW,EAAA;AACT;IACA,IAAI,CAACnC,OAAO,EAAE;MACZ,MAAM,IAAIQ,KAAK,CACb,CACEwI,SAAAA,EAAAA,UAAU,GAAG,wBAAwB,GAAG,MAAM,CAAA,+DAAA,CAElD,CAAC,CAAA;AACH,KAAA;IACA,IAAIlE,KAAK,CAACgD,OAAO,CAAC9H,OAAO,CAAC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;AACzD,MAAA,MAAM,IAAIQ,KAAK,CACb,CAAA,4BAAA,EACEwI,UAAU,GAAG,wBAAwB,GAAG,MAAM,iDACC1B,UAAU,CAACtH,OAAO,CAAC,IACtE,CAAC,CAAA;AACH,KAAA;IACA,IAAIU,MAAM,CAACgH,IAAI,CAAC1H,OAAO,CAAC,CAACoC,MAAM,KAAK,CAAC,EAAE;MACrC,MAAM,IAAI5B,KAAK,CACb,CACEwI,4BAAAA,EAAAA,UAAU,GAAG,wBAAwB,GAAG,MAAM,CAAA,uEAAA,CAElD,CAAC,CAAA;AACH,KAAA;;AAEA;IACA,IAAIhJ,OAAO,YAAY4C,OAAO,EAAE;MAC9B,MAAM,IAAIpC,KAAK,CACb,CACEwI,+BAAAA,EAAAA,UAAU,GAAG,wBAAwB,GAAG,MAAM,CAAA,iEAAA,CAElD,CAAC,CAAA;AACH,KAAA;AACA;AACA,IAAA,IAAIpB,cAAc,CAAC5H,OAAO,CAAC,EAAE;MAC3B,MAAM,IAAIQ,KAAK,CACb,CACEwI,+BAAAA,EAAAA,UAAU,GAAG,wBAAwB,GAAG,MAAM,CAAA,gEAAA,CAElD,CAAC,CAAA;AACH,KAAA;;AAEA;AACA,IAAA,MAAMtB,IAAI,GAAGhH,MAAM,CAACgH,IAAI,CAAC1H,OAAO,CAA6B,CAAA;IAC7D,MAAMiJ,gBAA0B,GAAG,EAAE,CAAA;AACrC,IAAA,MAAMC,eAAe,GAAGvH,OAAO,CAAC,IAAI,IAAI3B,OAAO,IAAI,CAACA,OAAO,CAACsF,GAAG,CAAC,CAAA;AAChEoC,IAAAA,IAAI,CAACtD,OAAO,CAAEuD,GAAG,IAAK;AACpB,MAAA,IAAIuB,eAAe,IAAIvB,GAAG,KAAK,MAAM,EAAE;AACrC,QAAA,OAAA;AACF,OAAA;MACAU,WAAW,CAACV,GAAG,EAAE3H,OAAO,CAAC2H,GAAG,CAAC,EAAEsB,gBAAgB,CAAC,CAAA;AAClD,KAAC,CAAC,CAAA;IACF,IAAIA,gBAAgB,CAAC7G,MAAM,EAAE;AAC3B,MAAA,MAAMhC,KAAmC,GAAG,IAAII,KAAK,CACnD,CAAA,4BAAA,EACEwI,UAAU,GAAG,wBAAwB,GAAG,MAAM,CAAA,wDAAA,EACWC,gBAAgB,CAACN,IAAI,CAAC,MAAM,CAAC,EAC1F,CAAiC,CAAA;MACjCvI,KAAK,CAACkI,MAAM,GAAGW,gBAAgB,CAAA;AAC/B,MAAA,MAAM7I,KAAK,CAAA;AACb,KAAA;AACF,GAAA;AACF;;;;"}