@react-x11/components 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +295 -51
- package/dist/charts/node.d.ts +1 -1
- package/dist/charts/node.d.ts.map +1 -1
- package/dist/charts/node.js +6 -2
- package/dist/charts/node.js.map +1 -1
- package/dist/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/color-picker/ColorPicker.js +43 -33
- package/dist/color-picker/ColorPicker.js.map +1 -1
- package/dist/embed/client.d.ts +48 -3
- package/dist/embed/client.d.ts.map +1 -1
- package/dist/embed/client.js +79 -5
- package/dist/embed/client.js.map +1 -1
- package/dist/embed/index.d.ts +1 -1
- package/dist/embed/index.d.ts.map +1 -1
- package/dist/embed/index.js +1 -1
- package/dist/embed/index.js.map +1 -1
- package/dist/html/node.d.ts +3 -1
- package/dist/html/node.d.ts.map +1 -1
- package/dist/html/node.js +7 -5
- package/dist/html/node.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{markdown → internal/markdown}/ast.d.ts +12 -0
- package/dist/internal/markdown/ast.d.ts.map +1 -0
- package/dist/internal/markdown/ast.js +22 -0
- package/dist/internal/markdown/ast.js.map +1 -0
- package/dist/internal/markdown/parse.d.ts.map +1 -0
- package/dist/{markdown → internal/markdown}/parse.js +112 -22
- package/dist/internal/markdown/parse.js.map +1 -0
- package/dist/internal/markdown/stringify.d.ts +4 -0
- package/dist/internal/markdown/stringify.d.ts.map +1 -0
- package/dist/internal/markdown/stringify.js +684 -0
- package/dist/internal/markdown/stringify.js.map +1 -0
- package/dist/internal/markdown/tags.d.ts.map +1 -0
- package/dist/internal/markdown/tags.js.map +1 -0
- package/dist/internal/scroll.d.ts +3 -2
- package/dist/internal/scroll.d.ts.map +1 -1
- package/dist/internal/scroll.js +33 -15
- package/dist/internal/scroll.js.map +1 -1
- package/dist/internal/units.d.ts +2 -0
- package/dist/internal/units.d.ts.map +1 -0
- package/dist/internal/units.js +35 -0
- package/dist/internal/units.js.map +1 -0
- package/dist/internal/window.d.ts.map +1 -1
- package/dist/internal/window.js +4 -2
- package/dist/internal/window.js.map +1 -1
- package/dist/maps/anchors.d.ts +98 -0
- package/dist/maps/anchors.d.ts.map +1 -0
- package/dist/maps/anchors.js +531 -0
- package/dist/maps/anchors.js.map +1 -0
- package/dist/maps/controller.d.ts +283 -0
- package/dist/maps/controller.d.ts.map +1 -0
- package/dist/maps/controller.js +743 -0
- package/dist/maps/controller.js.map +1 -0
- package/dist/maps/gl/buckets.d.ts +95 -0
- package/dist/maps/gl/buckets.d.ts.map +1 -0
- package/dist/maps/gl/buckets.js +362 -0
- package/dist/maps/gl/buckets.js.map +1 -0
- package/dist/maps/gl/build-worker.d.ts +13 -0
- package/dist/maps/gl/build-worker.d.ts.map +1 -0
- package/dist/maps/gl/build-worker.js +44 -0
- package/dist/maps/gl/build-worker.js.map +1 -0
- package/dist/maps/gl/color.d.ts +8 -0
- package/dist/maps/gl/color.d.ts.map +1 -0
- package/dist/maps/gl/color.js +57 -0
- package/dist/maps/gl/color.js.map +1 -0
- package/dist/maps/gl/cover.d.ts +51 -0
- package/dist/maps/gl/cover.d.ts.map +1 -0
- package/dist/maps/gl/cover.js +124 -0
- package/dist/maps/gl/cover.js.map +1 -0
- package/dist/maps/gl/index.d.ts +3 -0
- package/dist/maps/gl/index.d.ts.map +1 -0
- package/dist/maps/gl/index.js +20 -0
- package/dist/maps/gl/index.js.map +1 -0
- package/dist/maps/gl/markers.d.ts +28 -0
- package/dist/maps/gl/markers.d.ts.map +1 -0
- package/dist/maps/gl/markers.js +60 -0
- package/dist/maps/gl/markers.js.map +1 -0
- package/dist/maps/gl/overlays.d.ts +68 -0
- package/dist/maps/gl/overlays.d.ts.map +1 -0
- package/dist/maps/gl/overlays.js +300 -0
- package/dist/maps/gl/overlays.js.map +1 -0
- package/dist/maps/gl/pane.d.ts +12 -0
- package/dist/maps/gl/pane.d.ts.map +1 -0
- package/dist/maps/gl/pane.js +37 -0
- package/dist/maps/gl/pane.js.map +1 -0
- package/dist/maps/gl/placement.d.ts +111 -0
- package/dist/maps/gl/placement.d.ts.map +1 -0
- package/dist/maps/gl/placement.js +567 -0
- package/dist/maps/gl/placement.js.map +1 -0
- package/dist/maps/gl/renderer.d.ts +352 -0
- package/dist/maps/gl/renderer.d.ts.map +1 -0
- package/dist/maps/gl/renderer.js +1127 -0
- package/dist/maps/gl/renderer.js.map +1 -0
- package/dist/maps/gl/shaders.d.ts +120 -0
- package/dist/maps/gl/shaders.d.ts.map +1 -0
- package/dist/maps/gl/shaders.js +451 -0
- package/dist/maps/gl/shaders.js.map +1 -0
- package/dist/maps/gl/store.d.ts +115 -0
- package/dist/maps/gl/store.d.ts.map +1 -0
- package/dist/maps/gl/store.js +469 -0
- package/dist/maps/gl/store.js.map +1 -0
- package/dist/maps/gl/text.d.ts +154 -0
- package/dist/maps/gl/text.d.ts.map +1 -0
- package/dist/maps/gl/text.js +382 -0
- package/dist/maps/gl/text.js.map +1 -0
- package/dist/maps/gl/view.d.ts +54 -0
- package/dist/maps/gl/view.d.ts.map +1 -0
- package/dist/maps/gl/view.js +974 -0
- package/dist/maps/gl/view.js.map +1 -0
- package/dist/maps/index.d.ts +1 -1
- package/dist/maps/index.d.ts.map +1 -1
- package/dist/maps/index.js +216 -52
- package/dist/maps/index.js.map +1 -1
- package/dist/maps/labels.d.ts +37 -16
- package/dist/maps/labels.d.ts.map +1 -1
- package/dist/maps/labels.js +188 -119
- package/dist/maps/labels.js.map +1 -1
- package/dist/maps/node.d.ts +162 -56
- package/dist/maps/node.d.ts.map +1 -1
- package/dist/maps/node.js +607 -515
- package/dist/maps/node.js.map +1 -1
- package/dist/maps/overlay.d.ts +72 -9
- package/dist/maps/overlay.d.ts.map +1 -1
- package/dist/maps/overlay.js +108 -28
- package/dist/maps/overlay.js.map +1 -1
- package/dist/maps/paint.d.ts +3 -0
- package/dist/maps/paint.d.ts.map +1 -1
- package/dist/maps/paint.js.map +1 -1
- package/dist/maps/proj.d.ts +14 -0
- package/dist/maps/proj.d.ts.map +1 -1
- package/dist/maps/proj.js +28 -0
- package/dist/maps/proj.js.map +1 -1
- package/dist/maps/renderer.d.ts +69 -0
- package/dist/maps/renderer.d.ts.map +1 -0
- package/dist/maps/renderer.js +66 -0
- package/dist/maps/renderer.js.map +1 -0
- package/dist/maps/sources.d.ts +25 -3
- package/dist/maps/sources.d.ts.map +1 -1
- package/dist/maps/sources.js +17 -0
- package/dist/maps/sources.js.map +1 -1
- package/dist/maps/theme.d.ts +19 -0
- package/dist/maps/theme.d.ts.map +1 -0
- package/dist/maps/theme.js +44 -0
- package/dist/maps/theme.js.map +1 -0
- package/dist/maps/tiles.d.ts +117 -17
- package/dist/maps/tiles.d.ts.map +1 -1
- package/dist/maps/tiles.js +163 -30
- package/dist/maps/tiles.js.map +1 -1
- package/dist/maps/types.d.ts +188 -20
- package/dist/maps/types.d.ts.map +1 -1
- package/dist/markdown/expressions.d.ts +1 -1
- package/dist/markdown/expressions.d.ts.map +1 -1
- package/dist/markdown/expressions.js.map +1 -1
- package/dist/markdown/index.d.ts +7 -6
- package/dist/markdown/index.d.ts.map +1 -1
- package/dist/markdown/index.js +9 -7
- package/dist/markdown/index.js.map +1 -1
- package/dist/markdown/spans.d.ts +1 -1
- package/dist/markdown/spans.d.ts.map +1 -1
- package/dist/media-player/index.d.ts +11 -3
- package/dist/media-player/index.d.ts.map +1 -1
- package/dist/media-player/index.js +13 -2
- package/dist/media-player/index.js.map +1 -1
- package/dist/rich-text-editor/clipboard.d.ts +23 -0
- package/dist/rich-text-editor/clipboard.d.ts.map +1 -0
- package/dist/rich-text-editor/clipboard.js +307 -0
- package/dist/rich-text-editor/clipboard.js.map +1 -0
- package/dist/rich-text-editor/collab.d.ts +32 -0
- package/dist/rich-text-editor/collab.d.ts.map +1 -0
- package/dist/rich-text-editor/collab.js +55 -0
- package/dist/rich-text-editor/collab.js.map +1 -0
- package/dist/rich-text-editor/commands.d.ts +50 -0
- package/dist/rich-text-editor/commands.d.ts.map +1 -0
- package/dist/rich-text-editor/commands.js +376 -0
- package/dist/rich-text-editor/commands.js.map +1 -0
- package/dist/rich-text-editor/drag.d.ts +68 -0
- package/dist/rich-text-editor/drag.d.ts.map +1 -0
- package/dist/rich-text-editor/drag.js +148 -0
- package/dist/rich-text-editor/drag.js.map +1 -0
- package/dist/rich-text-editor/html.d.ts +145 -0
- package/dist/rich-text-editor/html.d.ts.map +1 -0
- package/dist/rich-text-editor/html.js +516 -0
- package/dist/rich-text-editor/html.js.map +1 -0
- package/dist/rich-text-editor/index.d.ts +263 -0
- package/dist/rich-text-editor/index.d.ts.map +1 -0
- package/dist/rich-text-editor/index.js +822 -0
- package/dist/rich-text-editor/index.js.map +1 -0
- package/dist/rich-text-editor/inline.d.ts +94 -0
- package/dist/rich-text-editor/inline.d.ts.map +1 -0
- package/dist/rich-text-editor/inline.js +252 -0
- package/dist/rich-text-editor/inline.js.map +1 -0
- package/dist/rich-text-editor/keymap.d.ts +71 -0
- package/dist/rich-text-editor/keymap.d.ts.map +1 -0
- package/dist/rich-text-editor/keymap.js +393 -0
- package/dist/rich-text-editor/keymap.js.map +1 -0
- package/dist/rich-text-editor/keys.d.ts +29 -0
- package/dist/rich-text-editor/keys.d.ts.map +1 -0
- package/dist/rich-text-editor/keys.js +93 -0
- package/dist/rich-text-editor/keys.js.map +1 -0
- package/dist/rich-text-editor/look.d.ts +71 -0
- package/dist/rich-text-editor/look.d.ts.map +1 -0
- package/dist/rich-text-editor/look.js +342 -0
- package/dist/rich-text-editor/look.js.map +1 -0
- package/dist/rich-text-editor/markdown.d.ts +18 -0
- package/dist/rich-text-editor/markdown.d.ts.map +1 -0
- package/dist/rich-text-editor/markdown.js +496 -0
- package/dist/rich-text-editor/markdown.js.map +1 -0
- package/dist/rich-text-editor/nodes.d.ts +135 -0
- package/dist/rich-text-editor/nodes.d.ts.map +1 -0
- package/dist/rich-text-editor/nodes.js +397 -0
- package/dist/rich-text-editor/nodes.js.map +1 -0
- package/dist/rich-text-editor/render.d.ts +68 -0
- package/dist/rich-text-editor/render.d.ts.map +1 -0
- package/dist/rich-text-editor/render.js +500 -0
- package/dist/rich-text-editor/render.js.map +1 -0
- package/dist/rich-text-editor/schema.d.ts +16 -0
- package/dist/rich-text-editor/schema.d.ts.map +1 -0
- package/dist/rich-text-editor/schema.js +386 -0
- package/dist/rich-text-editor/schema.js.map +1 -0
- package/dist/rich-text-editor/store.d.ts +11 -0
- package/dist/rich-text-editor/store.d.ts.map +1 -0
- package/dist/rich-text-editor/store.js +43 -0
- package/dist/rich-text-editor/store.js.map +1 -0
- package/dist/rich-text-editor/suggest.d.ts +127 -0
- package/dist/rich-text-editor/suggest.d.ts.map +1 -0
- package/dist/rich-text-editor/suggest.js +0 -0
- package/dist/rich-text-editor/suggest.js.map +1 -0
- package/dist/rich-text-editor/tables.d.ts +41 -0
- package/dist/rich-text-editor/tables.d.ts.map +1 -0
- package/dist/rich-text-editor/tables.js +204 -0
- package/dist/rich-text-editor/tables.js.map +1 -0
- package/dist/rich-text-editor/toolbar.d.ts +58 -0
- package/dist/rich-text-editor/toolbar.d.ts.map +1 -0
- package/dist/rich-text-editor/toolbar.js +548 -0
- package/dist/rich-text-editor/toolbar.js.map +1 -0
- package/dist/rich-text-editor/view.d.ts +368 -0
- package/dist/rich-text-editor/view.d.ts.map +1 -0
- package/dist/rich-text-editor/view.js +1968 -0
- package/dist/rich-text-editor/view.js.map +1 -0
- package/dist/rich-text-editor/virtual.d.ts +54 -0
- package/dist/rich-text-editor/virtual.d.ts.map +1 -0
- package/dist/rich-text-editor/virtual.js +262 -0
- package/dist/rich-text-editor/virtual.js.map +1 -0
- package/dist/richtext/node.d.ts +25 -2
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +46 -24
- package/dist/richtext/node.js.map +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +14 -5
- package/dist/table/index.js.map +1 -1
- package/dist/terminal/backends.d.ts +4 -1
- package/dist/terminal/backends.d.ts.map +1 -1
- package/dist/terminal/backends.js.map +1 -1
- package/dist/terminal/index.d.ts +18 -7
- package/dist/terminal/index.d.ts.map +1 -1
- package/dist/terminal/index.js +28 -11
- package/dist/terminal/index.js.map +1 -1
- package/dist/terminal/vt/node.d.ts +56 -3
- package/dist/terminal/vt/node.d.ts.map +1 -1
- package/dist/terminal/vt/node.js +106 -26
- package/dist/terminal/vt/node.js.map +1 -1
- package/dist/terminal/vt/renderer.d.ts +4 -0
- package/dist/terminal/vt/renderer.d.ts.map +1 -1
- package/dist/terminal/vt/renderer.js +14 -5
- package/dist/terminal/vt/renderer.js.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +6 -4
- package/dist/tree/index.js.map +1 -1
- package/package.json +23 -4
- package/src/charts/node.ts +6 -2
- package/src/color-picker/ColorPicker.ts +107 -81
- package/src/embed/client.ts +102 -8
- package/src/embed/index.ts +2 -0
- package/src/html/node.ts +7 -5
- package/src/index.ts +2 -0
- package/src/{markdown → internal/markdown}/ast.ts +24 -7
- package/src/{markdown → internal/markdown}/parse.ts +134 -24
- package/src/internal/markdown/stringify.ts +772 -0
- package/src/internal/scroll.ts +39 -18
- package/src/internal/units.ts +34 -0
- package/src/internal/window.ts +4 -2
- package/src/maps/anchors.ts +607 -0
- package/src/maps/controller.ts +999 -0
- package/src/maps/gl/buckets.ts +457 -0
- package/src/maps/gl/build-worker.ts +55 -0
- package/src/maps/gl/color.ts +62 -0
- package/src/maps/gl/cover.ts +170 -0
- package/src/maps/gl/index.ts +23 -0
- package/src/maps/gl/markers.ts +83 -0
- package/src/maps/gl/overlays.ts +379 -0
- package/src/maps/gl/pane.ts +42 -0
- package/src/maps/gl/placement.ts +816 -0
- package/src/maps/gl/renderer.ts +1576 -0
- package/src/maps/gl/shaders.ts +486 -0
- package/src/maps/gl/store.ts +566 -0
- package/src/maps/gl/text.ts +495 -0
- package/src/maps/gl/view.ts +1224 -0
- package/src/maps/index.ts +270 -81
- package/src/maps/labels.ts +214 -121
- package/src/maps/node.ts +763 -629
- package/src/maps/overlay.ts +148 -43
- package/src/maps/paint.ts +3 -0
- package/src/maps/proj.ts +31 -0
- package/src/maps/renderer.ts +155 -0
- package/src/maps/sources.ts +38 -3
- package/src/maps/theme.ts +51 -0
- package/src/maps/tiles.ts +191 -33
- package/src/maps/types.ts +188 -20
- package/src/markdown/expressions.ts +5 -1
- package/src/markdown/index.ts +14 -11
- package/src/markdown/spans.ts +1 -1
- package/src/media-player/index.ts +18 -4
- package/src/rich-text-editor/clipboard.ts +439 -0
- package/src/rich-text-editor/collab.ts +91 -0
- package/src/rich-text-editor/commands.ts +448 -0
- package/src/rich-text-editor/dom-globals.d.ts +23 -0
- package/src/rich-text-editor/drag.ts +211 -0
- package/src/rich-text-editor/html.ts +619 -0
- package/src/rich-text-editor/index.ts +1331 -0
- package/src/rich-text-editor/inline.ts +345 -0
- package/src/rich-text-editor/keymap.ts +510 -0
- package/src/rich-text-editor/keys.ts +119 -0
- package/src/rich-text-editor/look.ts +427 -0
- package/src/rich-text-editor/markdown.ts +653 -0
- package/src/rich-text-editor/nodes.ts +497 -0
- package/src/rich-text-editor/render.ts +800 -0
- package/src/rich-text-editor/schema.ts +431 -0
- package/src/rich-text-editor/store.ts +39 -0
- package/src/rich-text-editor/suggest.ts +597 -0
- package/src/rich-text-editor/tables.ts +272 -0
- package/src/rich-text-editor/toolbar.ts +724 -0
- package/src/rich-text-editor/view.ts +2287 -0
- package/src/rich-text-editor/virtual.ts +347 -0
- package/src/richtext/node.ts +59 -30
- package/src/table/index.ts +14 -5
- package/src/terminal/backends.ts +4 -1
- package/src/terminal/index.ts +43 -15
- package/src/terminal/vt/node.ts +128 -29
- package/src/terminal/vt/renderer.ts +27 -5
- package/src/tree/index.ts +6 -4
- package/dist/markdown/ast.d.ts.map +0 -1
- package/dist/markdown/ast.js +0 -17
- package/dist/markdown/ast.js.map +0 -1
- package/dist/markdown/parse.d.ts.map +0 -1
- package/dist/markdown/parse.js.map +0 -1
- package/dist/markdown/tags.d.ts.map +0 -1
- package/dist/markdown/tags.js.map +0 -1
- /package/dist/{markdown → internal/markdown}/parse.d.ts +0 -0
- /package/dist/{markdown → internal/markdown}/tags.d.ts +0 -0
- /package/dist/{markdown → internal/markdown}/tags.js +0 -0
- /package/src/{markdown → internal/markdown}/tags.ts +0 -0
package/dist/maps/tiles.js
CHANGED
|
@@ -29,7 +29,15 @@ export class CachedTile {
|
|
|
29
29
|
* keeps being composited until it is ready to be replaced.
|
|
30
30
|
*/
|
|
31
31
|
shown = null;
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* The rendering being drawn, or null when there is nothing to draw.
|
|
34
|
+
*
|
|
35
|
+
* Finished ones do not usually stay: a draft is {@link TileCache.promote}d
|
|
36
|
+
* in the frame it is done. The exception is a restyle, which holds the
|
|
37
|
+
* previous style's whole picture up until the view is redrawn — so there
|
|
38
|
+
* a finished draft waits here until {@link TileCache.swap} puts every one
|
|
39
|
+
* on screen at once.
|
|
40
|
+
*/
|
|
33
41
|
drawing = null;
|
|
34
42
|
/** Frame counter of the last frame that wanted it — what eviction sorts
|
|
35
43
|
* on. */
|
|
@@ -66,6 +74,10 @@ export class TileCache {
|
|
|
66
74
|
_entries = new Map();
|
|
67
75
|
/** The source's own tiles, shared by every rendering that draws one. */
|
|
68
76
|
_data = new Map();
|
|
77
|
+
/** The key prefix of each source object — per object and not per id,
|
|
78
|
+
* for the reason at the top of this file. */
|
|
79
|
+
_prefixes = new WeakMap();
|
|
80
|
+
_prefixCount = 0;
|
|
69
81
|
_options;
|
|
70
82
|
_frame = 0;
|
|
71
83
|
_surfaceBytes = 0;
|
|
@@ -82,7 +94,16 @@ export class TileCache {
|
|
|
82
94
|
get generation() {
|
|
83
95
|
return this._generation;
|
|
84
96
|
}
|
|
85
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Every styled surface is stale: a new style, or `refresh()` after an
|
|
99
|
+
* edit to one. The data behind them stays, and so does a raster tile's
|
|
100
|
+
* rendering, which no style drew (see {@link TileRender.styled}).
|
|
101
|
+
*
|
|
102
|
+
* A new display scale needs none of this, because a rendering's size is
|
|
103
|
+
* already part of what makes it valid. And nothing on screen is thrown
|
|
104
|
+
* away here: each picture stays until its replacement is finished —
|
|
105
|
+
* {@link promote} for one tile, {@link swap} for the whole view at once.
|
|
106
|
+
*/
|
|
86
107
|
invalidateStyle() {
|
|
87
108
|
this._generation++;
|
|
88
109
|
}
|
|
@@ -93,23 +114,33 @@ export class TileCache {
|
|
|
93
114
|
get size() {
|
|
94
115
|
return this._entries.size;
|
|
95
116
|
}
|
|
96
|
-
|
|
97
|
-
|
|
117
|
+
/** What a source's tile is filed under: a prefix of the source object's
|
|
118
|
+
* own, then `z/x/y`. The id is in the prefix only so that a key reads
|
|
119
|
+
* well in a debugger; two objects with one id get two prefixes. */
|
|
120
|
+
key(source, tile) {
|
|
121
|
+
let prefix = this._prefixes.get(source);
|
|
122
|
+
if (prefix === undefined) {
|
|
123
|
+
prefix = `${source.id ?? 'source'}#${++this._prefixCount}`;
|
|
124
|
+
this._prefixes.set(source, prefix);
|
|
125
|
+
}
|
|
126
|
+
return `${prefix}:${tileKey(tile)}`;
|
|
98
127
|
}
|
|
99
|
-
peek(
|
|
100
|
-
return this._entries.get(this.key(
|
|
128
|
+
peek(source, tile) {
|
|
129
|
+
return this._entries.get(this.key(source, tile));
|
|
101
130
|
}
|
|
102
131
|
/**
|
|
103
132
|
* The entry for a tile the cover asked for, and the data behind it,
|
|
104
133
|
* asking the source for that data if nothing has yet.
|
|
105
134
|
*
|
|
106
|
-
* `
|
|
107
|
-
*
|
|
108
|
-
*
|
|
135
|
+
* Filed under `source`; `sourceId` is only what it is called. `dataTile`
|
|
136
|
+
* is the tile whose bytes serve this one — itself, until the cover goes
|
|
137
|
+
* deeper than the source cuts. Marks both used by the current frame,
|
|
138
|
+
* which is what keeps them out of the next eviction — and a load still
|
|
139
|
+
* in flight from being cancelled by {@link sweep}.
|
|
109
140
|
*/
|
|
110
141
|
want(source, sourceId, tile, dataTile = tile, sub = { x: 0, y: 0, span: 1 }) {
|
|
111
142
|
const data = this._wantData(source, sourceId, dataTile);
|
|
112
|
-
const key = this.key(
|
|
143
|
+
const key = this.key(source, tile);
|
|
113
144
|
let entry = this._entries.get(key);
|
|
114
145
|
if (!entry) {
|
|
115
146
|
entry = new CachedTile(key, sourceId, tile, data, sub);
|
|
@@ -119,11 +150,13 @@ export class TileCache {
|
|
|
119
150
|
return entry;
|
|
120
151
|
}
|
|
121
152
|
_wantData(source, sourceId, tile) {
|
|
122
|
-
const key = this.key(
|
|
153
|
+
const key = this.key(source, tile);
|
|
123
154
|
let data = this._data.get(key);
|
|
124
155
|
if (!data) {
|
|
125
156
|
data = {
|
|
126
157
|
key,
|
|
158
|
+
source,
|
|
159
|
+
sourceId,
|
|
127
160
|
tile,
|
|
128
161
|
status: 'idle',
|
|
129
162
|
error: null,
|
|
@@ -138,7 +171,7 @@ export class TileCache {
|
|
|
138
171
|
}
|
|
139
172
|
data.lastUsed = this._frame;
|
|
140
173
|
if (data.status === 'idle') {
|
|
141
|
-
this._load(
|
|
174
|
+
this._load(data);
|
|
142
175
|
}
|
|
143
176
|
else if (data.status === 'error' && Date.now() >= data.retryAt) {
|
|
144
177
|
// A failed tile is retried, but on a backoff rather than on every
|
|
@@ -146,11 +179,11 @@ export class TileCache {
|
|
|
146
179
|
// `load` throws on the first call, which is how this was found — is
|
|
147
180
|
// asked for every visible tile sixty times a second, which is a
|
|
148
181
|
// retry storm pointed at somebody else's servers.
|
|
149
|
-
this._load(
|
|
182
|
+
this._load(data);
|
|
150
183
|
}
|
|
151
184
|
return data;
|
|
152
185
|
}
|
|
153
|
-
_load(
|
|
186
|
+
_load(entry) {
|
|
154
187
|
entry.status = 'loading';
|
|
155
188
|
entry.error = null;
|
|
156
189
|
// A **real** `AbortController` where the runtime has one. A look-alike
|
|
@@ -195,7 +228,11 @@ export class TileCache {
|
|
|
195
228
|
};
|
|
196
229
|
let result;
|
|
197
230
|
try {
|
|
198
|
-
result = source.load({
|
|
231
|
+
result = entry.source.load({
|
|
232
|
+
...entry.tile,
|
|
233
|
+
sourceId: entry.sourceId,
|
|
234
|
+
signal,
|
|
235
|
+
});
|
|
199
236
|
}
|
|
200
237
|
catch (error) {
|
|
201
238
|
settle(() => fail(error));
|
|
@@ -237,16 +274,19 @@ export class TileCache {
|
|
|
237
274
|
* under the fine one until it arrives — which is the difference between a
|
|
238
275
|
* map that fills in and a map that flashes empty. Bounded, because
|
|
239
276
|
* scaling one tile over sixteen screenfuls is worse than the hole.
|
|
277
|
+
*
|
|
278
|
+
* With a `generation`, only a picture drawn in it counts: a map showing
|
|
279
|
+
* one style must not cover a hole with a tile drawn in another.
|
|
240
280
|
*/
|
|
241
|
-
ancestorWithSurface(
|
|
281
|
+
ancestorWithSurface(source, tile, levels = 5, generation) {
|
|
242
282
|
let z = tile.z - 1;
|
|
243
283
|
let x = tile.x >> 1;
|
|
244
284
|
let y = tile.y >> 1;
|
|
245
285
|
for (let up = 0; up < levels && z >= 0; up++, z--, x >>= 1, y >>= 1) {
|
|
246
|
-
const entry = this._entries.get(this.key(
|
|
286
|
+
const entry = this._entries.get(this.key(source, { z, x, y }));
|
|
247
287
|
// `shown` is finished by construction, so an ancestor is never a
|
|
248
288
|
// half-drawn picture.
|
|
249
|
-
if (entry?.shown) {
|
|
289
|
+
if (entry?.shown && drawnFor(entry.shown, generation)) {
|
|
250
290
|
// Stamped, because for as long as it is covering a hole it is on
|
|
251
291
|
// screen — and an unstamped entry is the *first* thing eviction
|
|
252
292
|
// takes, which would drop the only picture the map is showing.
|
|
@@ -269,19 +309,21 @@ export class TileCache {
|
|
|
269
309
|
* `depth` is how many levels down to look, and it is small on purpose: a
|
|
270
310
|
* level down is 4 tiles, two is 16, and beyond that the pieces are too
|
|
271
311
|
* small to be worth the composites.
|
|
312
|
+
*
|
|
313
|
+
* `generation` as for {@link ancestorWithSurface}.
|
|
272
314
|
*/
|
|
273
|
-
descendantsWithSurface(
|
|
315
|
+
descendantsWithSurface(source, tile, depth = 2, generation) {
|
|
274
316
|
for (let down = 1; down <= depth; down++) {
|
|
275
317
|
const span = 1 << down;
|
|
276
318
|
const found = [];
|
|
277
319
|
for (let dy = 0; dy < span; dy++) {
|
|
278
320
|
for (let dx = 0; dx < span; dx++) {
|
|
279
|
-
const entry = this._entries.get(this.key(
|
|
321
|
+
const entry = this._entries.get(this.key(source, {
|
|
280
322
|
z: tile.z + down,
|
|
281
323
|
x: (tile.x << down) + dx,
|
|
282
324
|
y: (tile.y << down) + dy,
|
|
283
325
|
}));
|
|
284
|
-
if (entry?.shown) {
|
|
326
|
+
if (entry?.shown && drawnFor(entry.shown, generation)) {
|
|
285
327
|
entry.lastUsed = this._frame;
|
|
286
328
|
found.push({ entry, x: dx, y: dy, span });
|
|
287
329
|
}
|
|
@@ -310,8 +352,15 @@ export class TileCache {
|
|
|
310
352
|
* the tile is blank for the several frames it takes to redraw, which
|
|
311
353
|
* above a source's `maxZoom` happens at every integer zoom — the same
|
|
312
354
|
* z14 tile serves 15, 16, 17 and on.
|
|
355
|
+
*
|
|
356
|
+
* A draft that is finished but not yet promoted — a restyle holding the
|
|
357
|
+
* old style up until the whole view is ready — matches like any other and
|
|
358
|
+
* comes back as it is, so it is not drawn twice.
|
|
313
359
|
*/
|
|
314
|
-
beginRender(entry, size, zoom, make
|
|
360
|
+
beginRender(entry, size, zoom, make,
|
|
361
|
+
/** False for a raster tile, whose pixels are the provider's and no
|
|
362
|
+
* style's — see {@link TileRender.styled}. */
|
|
363
|
+
styled = true) {
|
|
315
364
|
if (this._matches(entry.shown, size, zoom))
|
|
316
365
|
return null;
|
|
317
366
|
if (this._matches(entry.drawing, size, zoom))
|
|
@@ -331,6 +380,7 @@ export class TileCache {
|
|
|
331
380
|
size,
|
|
332
381
|
zoom,
|
|
333
382
|
generation: this._generation,
|
|
383
|
+
styled,
|
|
334
384
|
progress: 0,
|
|
335
385
|
progressLayer: 0,
|
|
336
386
|
};
|
|
@@ -340,7 +390,7 @@ export class TileCache {
|
|
|
340
390
|
return (render !== null &&
|
|
341
391
|
render.size === size &&
|
|
342
392
|
render.zoom === zoom &&
|
|
343
|
-
render
|
|
393
|
+
drawnFor(render, this._generation));
|
|
344
394
|
}
|
|
345
395
|
/** The finished draft becomes what is on screen, and the old one goes.
|
|
346
396
|
* True when that happened, which is the one moment a tile's pixels
|
|
@@ -354,6 +404,33 @@ export class TileCache {
|
|
|
354
404
|
entry.drawing = null;
|
|
355
405
|
return true;
|
|
356
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* Put the current generation on screen in one go: every finished draft
|
|
409
|
+
* becomes its tile's picture, and every picture and draft of an earlier
|
|
410
|
+
* generation is released — apart from a raster tile's, which no style
|
|
411
|
+
* drew.
|
|
412
|
+
*
|
|
413
|
+
* The other half of a restyle. While the element holds the previous style
|
|
414
|
+
* up it does not {@link promote}, so finished drafts wait in `drawing`,
|
|
415
|
+
* and this is the frame they all land in. What is released is more than
|
|
416
|
+
* what they replace: a tile off screen still holds whatever it was last
|
|
417
|
+
* drawn in, which is now a picture of a style the map has left — never
|
|
418
|
+
* composited again, and otherwise kept until eviction got round to it.
|
|
419
|
+
*/
|
|
420
|
+
swap() {
|
|
421
|
+
for (const entry of this._entries.values()) {
|
|
422
|
+
if (entry.drawing && !drawnFor(entry.drawing, this._generation)) {
|
|
423
|
+
this._release(entry.drawing);
|
|
424
|
+
entry.drawing = null;
|
|
425
|
+
}
|
|
426
|
+
if (this.promote(entry))
|
|
427
|
+
continue;
|
|
428
|
+
if (entry.shown && !drawnFor(entry.shown, this._generation)) {
|
|
429
|
+
this._release(entry.shown);
|
|
430
|
+
entry.shown = null;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
357
434
|
/** Note where a tile's rasterization stopped: at run `run`, having
|
|
358
435
|
* finished `layer` of its active layers (`-1` for all of them). */
|
|
359
436
|
advance(render, run, layer, style) {
|
|
@@ -361,14 +438,18 @@ export class TileCache {
|
|
|
361
438
|
render.progressLayer = layer < 0 ? 0 : layer;
|
|
362
439
|
}
|
|
363
440
|
/**
|
|
364
|
-
* Drop what is no longer worth keeping.
|
|
441
|
+
* Drop what is no longer worth keeping. Called once a frame, after every
|
|
442
|
+
* tile the frame still needs has been through {@link want}.
|
|
365
443
|
*
|
|
366
|
-
*
|
|
444
|
+
* A load the frame did not want is cancelled outright (see
|
|
445
|
+
* `_cancelUnwanted`). What has arrived is kept on budgets instead:
|
|
446
|
+
* surfaces first and by least-recently-wanted, because they are two
|
|
367
447
|
* orders of magnitude larger than the data behind them and much cheaper
|
|
368
|
-
* to lose
|
|
369
|
-
* network request.
|
|
448
|
+
* to lose — a dropped surface is one re-rasterization, a dropped tile is
|
|
449
|
+
* a network request.
|
|
370
450
|
*/
|
|
371
451
|
sweep() {
|
|
452
|
+
this._cancelUnwanted();
|
|
372
453
|
if (this._surfaceBytes >
|
|
373
454
|
(this._options.surfaceBudget ?? DEFAULT_SURFACE_BUDGET)) {
|
|
374
455
|
const withSurfaces = [...this._entries.values()]
|
|
@@ -407,6 +488,46 @@ export class TileCache {
|
|
|
407
488
|
}
|
|
408
489
|
}
|
|
409
490
|
}
|
|
491
|
+
/**
|
|
492
|
+
* Cancel every load the frame just drawn did not ask for.
|
|
493
|
+
*
|
|
494
|
+
* A tile panned or zoomed out of the cover — or every tile of a source
|
|
495
|
+
* taken out of `sources` — would otherwise load to the end: a request
|
|
496
|
+
* nobody is waiting for, then a full-pane repaint when it lands, because
|
|
497
|
+
* a landing tile is an `onChange`. The cover is padded, so a tile just off
|
|
498
|
+
* screen is still wanted and keeps loading. That is also the contract on
|
|
499
|
+
* the element: it wants the whole cover on every frame, clipped and
|
|
500
|
+
* mid-gesture ones included, or what it skipped is aborted here and
|
|
501
|
+
* fetched again.
|
|
502
|
+
*
|
|
503
|
+
* Only loads: data that has arrived stays on the budgets above, and is
|
|
504
|
+
* what makes panning back, or switching back to a provider, free.
|
|
505
|
+
*
|
|
506
|
+
* And forgotten rather than parked. An aborted load never settles
|
|
507
|
+
* (`settle` ignores it), so an entry left in `_data` would say `'loading'`
|
|
508
|
+
* forever and never be asked for again; its renderings go with it, since
|
|
509
|
+
* each reads through to the same entry for life, and none has a surface to
|
|
510
|
+
* lose. The next frame that wants the tile starts over, with a new request
|
|
511
|
+
* and a new signal.
|
|
512
|
+
*/
|
|
513
|
+
_cancelUnwanted() {
|
|
514
|
+
let unwanted = null;
|
|
515
|
+
for (const data of this._data.values()) {
|
|
516
|
+
if (data.status === 'loading' && data.lastUsed < this._frame) {
|
|
517
|
+
(unwanted ??= new Set()).add(data);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
if (!unwanted)
|
|
521
|
+
return;
|
|
522
|
+
for (const entry of [...this._entries.values()]) {
|
|
523
|
+
if (unwanted.has(entry.data))
|
|
524
|
+
this._drop(entry);
|
|
525
|
+
}
|
|
526
|
+
for (const data of unwanted) {
|
|
527
|
+
data.abort?.();
|
|
528
|
+
this._data.delete(data.key);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
410
531
|
_dropSurface(entry) {
|
|
411
532
|
if (entry.shown)
|
|
412
533
|
this._release(entry.shown);
|
|
@@ -448,13 +569,25 @@ export class TileCache {
|
|
|
448
569
|
entries() {
|
|
449
570
|
return this._entries.values();
|
|
450
571
|
}
|
|
451
|
-
/** Every source tile whose bytes are held
|
|
452
|
-
*
|
|
453
|
-
* source
|
|
572
|
+
/** Every source tile whose bytes are held — including those of sources no
|
|
573
|
+
* longer on the map, which is what makes switching back free and why a
|
|
574
|
+
* reader filters on `source`. What labels are collected from: a label
|
|
575
|
+
* belongs to the tile the data came from, and past a source's depth many
|
|
576
|
+
* renderings share one of those. */
|
|
454
577
|
dataEntries() {
|
|
455
578
|
return this._data.values();
|
|
456
579
|
}
|
|
457
580
|
}
|
|
581
|
+
/**
|
|
582
|
+
* Whether a rendering can be shown for `generation`: any can when none is
|
|
583
|
+
* given, which is `progressive`; one no style drew — a raster tile's — can
|
|
584
|
+
* in every generation; any other only in the one it was drawn under.
|
|
585
|
+
*/
|
|
586
|
+
export function drawnFor(render, generation) {
|
|
587
|
+
return (generation === undefined ||
|
|
588
|
+
!render.styled ||
|
|
589
|
+
render.generation === generation);
|
|
590
|
+
}
|
|
458
591
|
/** A source's pyramid, memoized per source object so the defaults are not
|
|
459
592
|
* refilled per frame. */
|
|
460
593
|
const pyramids = new WeakMap();
|
package/dist/maps/tiles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/maps/tiles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/maps/tiles.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAmGzC;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACZ,GAAG,CAAS;IACZ,QAAQ,CAAS;IACjB,IAAI,CAAS;IACtB,sEAAsE;IAC7D,IAAI,CAAgB;IAC7B,0EAA0E;IACjE,GAAG,CAAyC;IAErD;;;;;;;;;;OAUG;IACH,KAAK,GAAsB,IAAI,CAAC;IAChC;;;;;;;;OAQG;IACH,OAAO,GAAsB,IAAI,CAAC;IAClC;cACU;IACV,QAAQ,GAAG,CAAC,CAAC;IAEb,YACE,GAAW,EACX,QAAgB,EAChB,IAAY,EACZ,IAAmB,EACnB,GAA2C;QAE3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;CACF;AAqBD,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACH,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC1D,wEAAwE;IACvD,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1D;kDAC8C;IAC7B,SAAS,GAAG,IAAI,OAAO,EAAqB,CAAC;IACtD,YAAY,GAAG,CAAC,CAAC;IACR,QAAQ,CAAmB;IACpC,MAAM,GAAG,CAAC,CAAC;IACX,aAAa,GAAG,CAAC,CAAC;IAC1B;uCACmC;IAC3B,WAAW,GAAG,CAAC,CAAC;IAExB,YAAY,OAAO,GAAqB,EAAE;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,4DAA4D;IAC5D,UAAU;QACR,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,4DAA4D;IAC5D,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;wEAEoE;IACpE,GAAG,CAAC,MAAiB,EAAE,IAAY;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,MAAiB,EAAE,IAAY;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,CACF,MAAiB,EACjB,QAAgB,EAChB,IAAY,EACZ,QAAQ,GAAW,IAAI,EACvB,GAAG,GAA2C,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QAErE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,SAAS,CACf,MAAiB,EACjB,QAAgB,EAChB,IAAY;QAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG;gBACL,GAAG;gBACH,MAAM;gBACN,QAAQ;gBACR,IAAI;gBACJ,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,CAAC;aACZ,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjE,kEAAkE;YAClE,oEAAoE;YACpE,oEAAoE;YACpE,gEAAgE;YAChE,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,KAAoB;QAChC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACnB,uEAAuE;QACvE,kEAAkE;QAClE,mEAAmE;QACnE,sEAAsE;QACtE,iDAAiD;QACjD,MAAM,UAAU,GACd,UAMD,CAAC,eAAe,CAAC;QAClB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,CAAC,UAAU,CAAC,MAAM;YACnB,CAAC,CAAC;gBACE,IAAI,OAAO;oBACT,OAAO,OAAO,CAAC;gBACjB,CAAC;aACF,CAAC;QACN,KAAK,CAAC,KAAK,GAAG,GAAS,EAAE;YACvB,OAAO,GAAG,IAAI,CAAC;YACf,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAQ,EAAE;YACpC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,kEAAkE;YAClE,0DAA0D;YAC1D,KAAK,CAAC,OAAO;gBACX,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,EAAc,EAAQ,EAAE;YACtC,qEAAqE;YACrE,oEAAoE;YACpE,8BAA8B;YAC9B,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK;gBAAE,OAAO;YAC3D,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,EAAE,EAAE,CAAC;YACL,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;gBAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,IAAI,MAAoC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;gBACzB,GAAG,KAAK,CAAC,IAAI;gBACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAAc,EAAQ,EAAE,CACtC,MAAM,CAAC,GAAG,EAAE;YACV,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YACnB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAClB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;gBACzB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;QACL,IAAI,MAAM,IAAI,OAAQ,MAA4B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtE,MAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CAC5D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAkB,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,mBAAmB,CACjB,MAAiB,EACjB,IAAY,EACZ,MAAM,GAAG,CAAC,EACV,UAAmB;QAEnB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,iEAAiE;YACjE,sBAAsB;YACtB,IAAI,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;gBACtD,iEAAiE;gBACjE,gEAAgE;gBAChE,+DAA+D;gBAC/D,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,CACpB,MAAiB,EACjB,IAAY,EACZ,KAAK,GAAG,CAAC,EACT,UAAmB;QAEnB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC;YACvB,MAAM,KAAK,GACT,EAAE,CAAC;YACL,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;gBACjC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;wBACf,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;wBAChB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;wBACxB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;qBACzB,CAAC,CACH,CAAC;oBACF,IAAI,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;wBACtD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;wBAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,mEAAmE;YACnE,0CAA0C;YAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CACT,KAAiB,EACjB,IAAY,EACZ,IAAY,EACZ,IAAoB;IACpB;mDAC+C;IAC/C,MAAM,GAAG,IAAI;QAEb,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;QACnE,qEAAqE;QACrE,8CAA8C;QAC9C,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;QACtC,KAAK,CAAC,OAAO,GAAG;YACd,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,IAAI;YACJ,IAAI;YACJ,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,MAAM;YACN,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,CAAC;SACjB,CAAC;QACF,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAEO,QAAQ,CACd,MAAyB,EACzB,IAAY,EACZ,IAAY;QAEZ,OAAO,CACL,MAAM,KAAK,IAAI;YACf,MAAM,CAAC,IAAI,KAAK,IAAI;YACpB,MAAM,CAAC,IAAI,KAAK,IAAI;YACpB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;yEAEqE;IACrE,OAAO,CAAC,KAAiB;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAClE,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI;QACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAS;YAClC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED;wEACoE;IACpE,OAAO,CACL,MAAkB,EAClB,GAAW,EACX,KAAa,EACb,KAAoB;QAEpB,MAAM,CAAC,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,MAAM,CAAC,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IACE,IAAI,CAAC,aAAa;YAClB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,sBAAsB,CAAC,EACvD,CAAC;YACD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBAC7C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;iBACjE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,sBAAsB,CAAC;YACrE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,aAAa,IAAI,MAAM;oBAAE,MAAM;gBACxC,mEAAmE;gBACnE,mCAAmC;gBACnC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,mBAAmB,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAClC,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,UAAU;oBAAE,MAAM;gBAC5C,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAClC,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU;oBAAE,MAAM;gBACzC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACK,eAAe;QACrB,IAAI,QAAQ,GAA8B,IAAI,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7D,CAAC,QAAQ,KAAK,IAAI,GAAG,EAAiB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAiB;QACpC,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACnB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,QAAQ,CAAC,MAAkB;QACjC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,OAAuC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,KAAiB;QAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;qDACiD;IACzC,SAAS,CAAC,IAAmB;QACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO;QAClC,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,sEAAsE;IACtE,OAAO;QACL,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,kEAAkE;IAClE,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED;;;;yCAIqC;IACrC,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAkB,EAClB,UAA8B;IAE9B,OAAO,CACL,UAAU,KAAK,SAAS;QACxB,CAAC,MAAM,CAAC,MAAM;QACd,MAAM,CAAC,UAAU,KAAK,UAAU,CACjC,CAAC;AACJ,CAAC;AAED;0BAC0B;AAC1B,MAAM,QAAQ,GAAG,IAAI,OAAO,EAGzB,CAAC;AAEJ,MAAM,UAAU,OAAO,CAAC,MAAiB;IAKvC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|