@oh-just-another/state 0.57.0 → 0.59.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/CHANGELOG.md +90 -0
- package/README.md +76 -27
- package/dist/.tsbuildinfo +1 -1
- package/dist/actions/actionArrange.d.ts +13 -0
- package/dist/actions/actionArrange.d.ts.map +1 -0
- package/dist/actions/actionArrange.js +130 -0
- package/dist/actions/actionArrange.js.map +1 -0
- package/dist/actions/actionClipboard.d.ts +2 -0
- package/dist/actions/actionClipboard.d.ts.map +1 -1
- package/dist/actions/actionClipboard.js +36 -4
- package/dist/actions/actionClipboard.js.map +1 -1
- package/dist/actions/actionGrouping.d.ts.map +1 -1
- package/dist/actions/actionGrouping.js +3 -1
- package/dist/actions/actionGrouping.js.map +1 -1
- package/dist/actions/actionKeyboard.d.ts.map +1 -1
- package/dist/actions/actionKeyboard.js +6 -2
- package/dist/actions/actionKeyboard.js.map +1 -1
- package/dist/actions/actionLayout.d.ts.map +1 -1
- package/dist/actions/actionLayout.js +12 -4
- package/dist/actions/actionLayout.js.map +1 -1
- package/dist/actions/actionMode.d.ts.map +1 -1
- package/dist/actions/actionMode.js +30 -10
- package/dist/actions/actionMode.js.map +1 -1
- package/dist/actions/actionSelection.d.ts.map +1 -1
- package/dist/actions/actionSelection.js +18 -6
- package/dist/actions/actionSelection.js.map +1 -1
- package/dist/actions/actionText.d.ts +5 -0
- package/dist/actions/actionText.d.ts.map +1 -0
- package/dist/actions/actionText.js +37 -0
- package/dist/actions/actionText.js.map +1 -0
- package/dist/actions/actionView.d.ts.map +1 -1
- package/dist/actions/actionView.js +4 -2
- package/dist/actions/actionView.js.map +1 -1
- package/dist/actions/actionZOrder.d.ts.map +1 -1
- package/dist/actions/actionZOrder.js +12 -4
- package/dist/actions/actionZOrder.js.map +1 -1
- package/dist/actions/actionZoom.d.ts.map +1 -1
- package/dist/actions/actionZoom.js +17 -17
- package/dist/actions/actionZoom.js.map +1 -1
- package/dist/actions/index.d.ts +3 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +3 -1
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/registry.d.ts.map +1 -1
- package/dist/actions/registry.js +5 -3
- package/dist/actions/registry.js.map +1 -1
- package/dist/actions/types.d.ts +1 -1
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js.map +1 -1
- package/dist/auto-layout-scheduler.d.ts +1 -3
- package/dist/auto-layout-scheduler.d.ts.map +1 -1
- package/dist/auto-layout-scheduler.js +1 -2
- package/dist/auto-layout-scheduler.js.map +1 -1
- package/dist/built-in-handlers.d.ts.map +1 -1
- package/dist/built-in-handlers.js +30 -7
- package/dist/built-in-handlers.js.map +1 -1
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js +6 -7
- package/dist/clipboard.js.map +1 -1
- package/dist/constants.d.ts +48 -23
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +48 -23
- package/dist/constants.js.map +1 -1
- package/dist/dom-events.d.ts +7 -0
- package/dist/dom-events.d.ts.map +1 -1
- package/dist/dom-events.js +12 -0
- package/dist/dom-events.js.map +1 -1
- package/dist/editor/animation-scene.d.ts +21 -0
- package/dist/editor/animation-scene.d.ts.map +1 -0
- package/dist/editor/animation-scene.js +71 -0
- package/dist/editor/animation-scene.js.map +1 -0
- package/dist/editor/animation.d.ts +43 -0
- package/dist/editor/animation.d.ts.map +1 -0
- package/dist/editor/animation.js +80 -0
- package/dist/editor/animation.js.map +1 -0
- package/dist/editor/applies/arrange.d.ts +46 -0
- package/dist/editor/applies/arrange.d.ts.map +1 -0
- package/dist/editor/applies/arrange.js +162 -0
- package/dist/editor/applies/arrange.js.map +1 -0
- package/dist/editor/applies/create.d.ts.map +1 -1
- package/dist/editor/applies/create.js +1 -1
- package/dist/editor/applies/create.js.map +1 -1
- package/dist/editor/applies/edge.d.ts +8 -1
- package/dist/editor/applies/edge.d.ts.map +1 -1
- package/dist/editor/applies/edge.js +31 -1
- package/dist/editor/applies/edge.js.map +1 -1
- package/dist/editor/applies/link-move.d.ts.map +1 -1
- package/dist/editor/applies/link-move.js +5 -2
- package/dist/editor/applies/link-move.js.map +1 -1
- package/dist/editor/applies/move.d.ts +6 -0
- package/dist/editor/applies/move.d.ts.map +1 -1
- package/dist/editor/applies/move.js +6 -0
- package/dist/editor/applies/move.js.map +1 -1
- package/dist/editor/applies/resize.d.ts +26 -5
- package/dist/editor/applies/resize.d.ts.map +1 -1
- package/dist/editor/applies/resize.js +92 -14
- package/dist/editor/applies/resize.js.map +1 -1
- package/dist/editor/applies/snap-grid.d.ts.map +1 -1
- package/dist/editor/applies/snap-grid.js.map +1 -1
- package/dist/editor/caret-blink.d.ts +18 -0
- package/dist/editor/caret-blink.d.ts.map +1 -0
- package/dist/editor/caret-blink.js +42 -0
- package/dist/editor/caret-blink.js.map +1 -0
- package/dist/editor/container-ops.d.ts.map +1 -1
- package/dist/editor/container-ops.js +2 -2
- package/dist/editor/container-ops.js.map +1 -1
- package/dist/editor/dirty-rect.d.ts +23 -0
- package/dist/editor/dirty-rect.d.ts.map +1 -0
- package/dist/editor/dirty-rect.js +115 -0
- package/dist/editor/dirty-rect.js.map +1 -0
- package/dist/editor/gif-playback.d.ts +45 -0
- package/dist/editor/gif-playback.d.ts.map +1 -0
- package/dist/editor/gif-playback.js +125 -0
- package/dist/editor/gif-playback.js.map +1 -0
- package/dist/editor/hit-test.d.ts +3 -3
- package/dist/editor/hit-test.d.ts.map +1 -1
- package/dist/editor/hit-test.js +40 -15
- package/dist/editor/hit-test.js.map +1 -1
- package/dist/editor/long-press.d.ts.map +1 -1
- package/dist/editor/long-press.js +2 -2
- package/dist/editor/long-press.js.map +1 -1
- package/dist/editor/pinch.d.ts.map +1 -1
- package/dist/editor/pinch.js +6 -7
- package/dist/editor/pinch.js.map +1 -1
- package/dist/editor/pointer-binding.d.ts.map +1 -1
- package/dist/editor/pointer-binding.js +42 -25
- package/dist/editor/pointer-binding.js.map +1 -1
- package/dist/editor/public/annotations.d.ts.map +1 -1
- package/dist/editor/public/annotations.js.map +1 -1
- package/dist/editor/public/arrange-group.d.ts +3 -9
- package/dist/editor/public/arrange-group.d.ts.map +1 -1
- package/dist/editor/public/arrange-group.js +4 -6
- package/dist/editor/public/arrange-group.js.map +1 -1
- package/dist/editor/public/brush.d.ts.map +1 -1
- package/dist/editor/public/brush.js +1 -3
- package/dist/editor/public/brush.js.map +1 -1
- package/dist/editor/public/clipboard.d.ts +2 -4
- package/dist/editor/public/clipboard.d.ts.map +1 -1
- package/dist/editor/public/clipboard.js +2 -4
- package/dist/editor/public/clipboard.js.map +1 -1
- package/dist/editor/public/cursor.d.ts +43 -0
- package/dist/editor/public/cursor.d.ts.map +1 -0
- package/dist/editor/public/cursor.js +135 -0
- package/dist/editor/public/cursor.js.map +1 -0
- package/dist/editor/public/frame-name.d.ts +20 -0
- package/dist/editor/public/frame-name.d.ts.map +1 -0
- package/dist/editor/public/frame-name.js +54 -0
- package/dist/editor/public/frame-name.js.map +1 -0
- package/dist/editor/public/image-insert.d.ts +1 -1
- package/dist/editor/public/image-insert.d.ts.map +1 -1
- package/dist/editor/public/layers.d.ts.map +1 -1
- package/dist/editor/public/layers.js +2 -2
- package/dist/editor/public/layers.js.map +1 -1
- package/dist/editor/public/link.d.ts +11 -2
- package/dist/editor/public/link.d.ts.map +1 -1
- package/dist/editor/public/link.js +71 -5
- package/dist/editor/public/link.js.map +1 -1
- package/dist/editor/public/placement.d.ts +60 -2
- package/dist/editor/public/placement.d.ts.map +1 -1
- package/dist/editor/public/placement.js +185 -2
- package/dist/editor/public/placement.js.map +1 -1
- package/dist/editor/public/selection-ops.d.ts +23 -1
- package/dist/editor/public/selection-ops.d.ts.map +1 -1
- package/dist/editor/public/selection-ops.js +81 -8
- package/dist/editor/public/selection-ops.js.map +1 -1
- package/dist/editor/public/text-edit.d.ts +1 -10
- package/dist/editor/public/text-edit.d.ts.map +1 -1
- package/dist/editor/public/text-edit.js +2 -16
- package/dist/editor/public/text-edit.js.map +1 -1
- package/dist/editor/public/z-order.d.ts.map +1 -1
- package/dist/editor/public/z-order.js +5 -5
- package/dist/editor/public/z-order.js.map +1 -1
- package/dist/editor/public/zoom-pan.d.ts +6 -4
- package/dist/editor/public/zoom-pan.d.ts.map +1 -1
- package/dist/editor/public/zoom-pan.js +8 -7
- package/dist/editor/public/zoom-pan.js.map +1 -1
- package/dist/editor/render-orchestrator.d.ts.map +1 -1
- package/dist/editor/render-orchestrator.js +5 -11
- package/dist/editor/render-orchestrator.js.map +1 -1
- package/dist/editor/resize-helpers.d.ts +21 -5
- package/dist/editor/resize-helpers.d.ts.map +1 -1
- package/dist/editor/resize-helpers.js +59 -19
- package/dist/editor/resize-helpers.js.map +1 -1
- package/dist/editor/viewport-helpers.d.ts.map +1 -1
- package/dist/editor/viewport-helpers.js +3 -3
- package/dist/editor/viewport-helpers.js.map +1 -1
- package/dist/editor-events.d.ts +1 -1
- package/dist/editor-events.d.ts.map +1 -1
- package/dist/editor.d.ts +125 -130
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +352 -985
- package/dist/editor.js.map +1 -1
- package/dist/file-drop.d.ts.map +1 -1
- package/dist/file-drop.js +7 -4
- package/dist/file-drop.js.map +1 -1
- package/dist/frame-helpers.d.ts.map +1 -1
- package/dist/frame-helpers.js +5 -5
- package/dist/frame-helpers.js.map +1 -1
- package/dist/group-helpers.d.ts.map +1 -1
- package/dist/group-helpers.js +4 -4
- package/dist/group-helpers.js.map +1 -1
- package/dist/handle.d.ts +61 -6
- package/dist/handle.d.ts.map +1 -1
- package/dist/handle.js +105 -7
- package/dist/handle.js.map +1 -1
- package/dist/hotkeys-binding.d.ts +26 -0
- package/dist/hotkeys-binding.d.ts.map +1 -0
- package/dist/hotkeys-binding.js +35 -0
- package/dist/hotkeys-binding.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/link-selection.d.ts +3 -5
- package/dist/link-selection.d.ts.map +1 -1
- package/dist/link-selection.js +3 -12
- package/dist/link-selection.js.map +1 -1
- package/dist/machine.d.ts +27 -1
- package/dist/machine.d.ts.map +1 -1
- package/dist/machine.js +38 -0
- package/dist/machine.js.map +1 -1
- package/dist/overlay.d.ts +1 -4
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +142 -38
- package/dist/overlay.js.map +1 -1
- package/dist/selection.d.ts.map +1 -1
- package/dist/selection.js +2 -10
- package/dist/selection.js.map +1 -1
- package/dist/util.d.ts +8 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +17 -0
- package/dist/util.js.map +1 -0
- package/package.json +9 -9
package/dist/link-selection.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { setsEqual } from "./util.js";
|
|
1
2
|
export const EMPTY = Object.freeze(new Set());
|
|
2
3
|
export const single = (id) => new Set([id]);
|
|
3
|
-
export const has = (sel, id) => sel.has(id);
|
|
4
4
|
export const add = (sel, id) => {
|
|
5
5
|
if (sel.has(id))
|
|
6
6
|
return sel;
|
|
@@ -8,7 +8,7 @@ export const add = (sel, id) => {
|
|
|
8
8
|
next.add(id);
|
|
9
9
|
return next;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
const remove = (sel, id) => {
|
|
12
12
|
if (!sel.has(id))
|
|
13
13
|
return sel;
|
|
14
14
|
const next = new Set(sel);
|
|
@@ -16,16 +16,7 @@ export const remove = (sel, id) => {
|
|
|
16
16
|
return next;
|
|
17
17
|
};
|
|
18
18
|
export const toggle = (sel, id) => sel.has(id) ? remove(sel, id) : add(sel, id);
|
|
19
|
-
export const equals = (a, b) =>
|
|
20
|
-
if (a === b)
|
|
21
|
-
return true;
|
|
22
|
-
if (a.size !== b.size)
|
|
23
|
-
return false;
|
|
24
|
-
for (const id of a)
|
|
25
|
-
if (!b.has(id))
|
|
26
|
-
return false;
|
|
27
|
-
return true;
|
|
28
|
-
};
|
|
19
|
+
export const equals = (a, b) => setsEqual(a, b);
|
|
29
20
|
/** The sole selected link, or null unless exactly one is selected. */
|
|
30
21
|
export const sole = (sel) => {
|
|
31
22
|
if (sel.size !== 1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-selection.js","sourceRoot":"","sources":["../src/link-selection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link-selection.js","sourceRoot":"","sources":["../src/link-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAatC,MAAM,CAAC,MAAM,KAAK,GAAkB,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAiB,EAAE;IACnE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAiB,EAAE;IAC/D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAiB,EAAE,CACtE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAgB,EAAE,CAAgB,EAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEvF,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAkB,EAAiB,EAAE;IACxD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,GAAG;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
package/dist/machine.d.ts
CHANGED
|
@@ -26,6 +26,16 @@ export type PressTarget = {
|
|
|
26
26
|
readonly kind: "group-handle";
|
|
27
27
|
readonly handle: HandleId;
|
|
28
28
|
readonly bounds: Bounds;
|
|
29
|
+
} | {
|
|
30
|
+
/**
|
|
31
|
+
* The rotate grip above the selection (single shape or group). The
|
|
32
|
+
* machine emits a per-frame `ROTATE` with the angle swept around
|
|
33
|
+
* `pivot`; the editor reads the press-time snapshot it kept and turns
|
|
34
|
+
* every member rigidly. `pivot` is the selection bbox centre.
|
|
35
|
+
*/
|
|
36
|
+
readonly kind: "rotate-handle";
|
|
37
|
+
readonly pivot: Vec2;
|
|
38
|
+
readonly bounds: Bounds;
|
|
29
39
|
} | {
|
|
30
40
|
readonly kind: "link";
|
|
31
41
|
readonly id: LinkId;
|
|
@@ -165,6 +175,15 @@ export type InteractionEmit = {
|
|
|
165
175
|
readonly handle: HandleId;
|
|
166
176
|
readonly delta: Vec2;
|
|
167
177
|
readonly originalBounds: Bounds;
|
|
178
|
+
} | {
|
|
179
|
+
/**
|
|
180
|
+
* Per-frame rotation of the selection about `pivot`. `deltaAngle` is the
|
|
181
|
+
* total swept angle since press-down (radians); the editor applies it to
|
|
182
|
+
* its press-time snapshot so the cumulative angle never drifts.
|
|
183
|
+
*/
|
|
184
|
+
readonly type: "ROTATE";
|
|
185
|
+
readonly pivot: Vec2;
|
|
186
|
+
readonly deltaAngle: number;
|
|
168
187
|
} | {
|
|
169
188
|
readonly type: "CREATE_SHAPE";
|
|
170
189
|
readonly shapeType: "rect" | "ellipse" | "frame";
|
|
@@ -247,6 +266,9 @@ export declare const interactionMachine: import("xstate").StateMachine<Interacti
|
|
|
247
266
|
} | {
|
|
248
267
|
type: "emitResizeGroup";
|
|
249
268
|
params: import("xstate").NonReducibleUnknown;
|
|
269
|
+
} | {
|
|
270
|
+
type: "emitRotate";
|
|
271
|
+
params: import("xstate").NonReducibleUnknown;
|
|
250
272
|
} | {
|
|
251
273
|
type: "maybeEmitCreate";
|
|
252
274
|
params: import("xstate").NonReducibleUnknown;
|
|
@@ -280,6 +302,9 @@ export declare const interactionMachine: import("xstate").StateMachine<Interacti
|
|
|
280
302
|
} | {
|
|
281
303
|
type: "movedAndOnGroupHandle";
|
|
282
304
|
params: unknown;
|
|
305
|
+
} | {
|
|
306
|
+
type: "movedAndOnRotateHandle";
|
|
307
|
+
params: unknown;
|
|
283
308
|
} | {
|
|
284
309
|
type: "movedAndDrawing";
|
|
285
310
|
params: unknown;
|
|
@@ -295,7 +320,7 @@ export declare const interactionMachine: import("xstate").StateMachine<Interacti
|
|
|
295
320
|
} | {
|
|
296
321
|
type: "movedAndLasso";
|
|
297
322
|
params: unknown;
|
|
298
|
-
}, never, "idle" | "pressing" | "draggingHandle" | "draggingGroupHandle" | "draggingElement" | "drawing" | "drawingLink" | "draggingLinkEndpoint" | "draggingAnnotation" | "lassoing", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, InteractionEmit, import("xstate").MetaObject, {
|
|
323
|
+
}, never, "idle" | "pressing" | "draggingHandle" | "draggingGroupHandle" | "draggingRotateHandle" | "draggingElement" | "drawing" | "drawingLink" | "draggingLinkEndpoint" | "draggingAnnotation" | "lassoing", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, InteractionEmit, import("xstate").MetaObject, {
|
|
299
324
|
id: "interaction";
|
|
300
325
|
states: {
|
|
301
326
|
readonly idle: {};
|
|
@@ -303,6 +328,7 @@ export declare const interactionMachine: import("xstate").StateMachine<Interacti
|
|
|
303
328
|
readonly draggingElement: {};
|
|
304
329
|
readonly draggingHandle: {};
|
|
305
330
|
readonly draggingGroupHandle: {};
|
|
331
|
+
readonly draggingRotateHandle: {};
|
|
306
332
|
readonly drawing: {};
|
|
307
333
|
readonly drawingLink: {};
|
|
308
334
|
readonly draggingLinkEndpoint: {};
|
package/dist/machine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAS,EACT,IAAI,EACL,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GACD;IACE;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;CACvB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1D,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3C;AAWD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;CACtB;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GACjC;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;uCAEmC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAAC;CAClC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAAC;CAClC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,GACtC;IACE,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,GACD;IACE;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,GACD;IACE;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;IACvC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACxB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,GAC5C;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;CACtB,CAAC;AAEN,8DAA8D;AAC9D,eAAO,MAAM,cAAc,IAAI,CAAC;AAQhC,QAAA,MAAM,gBAAgB,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAG,MAI5C,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;eAQJ,IAAI;gBAAU,WAAW;mBAAa,SAAS,GAAG,IAAI;;;;;eAOrC,IAAI;;;;;cACD,MAAM,GAAG,SAAS,GAAG,OAAO;;;;;;;;cAUnC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAof1C,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,KAAK,kBAAkB,EACvB,SAAS,IAAI,KACZ,eAAe,GAAG,IA4BpB,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
package/dist/machine.js
CHANGED
|
@@ -115,6 +115,17 @@ export const interactionMachine = setup({
|
|
|
115
115
|
originalBounds: context.pressTarget.bounds,
|
|
116
116
|
});
|
|
117
117
|
}),
|
|
118
|
+
emitRotate: enqueueActions(({ context, event, enqueue }) => {
|
|
119
|
+
if (event.type !== "POINTER_MOVE" ||
|
|
120
|
+
!context.pressOrigin ||
|
|
121
|
+
context.pressTarget?.kind !== "rotate-handle") {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const { pivot } = context.pressTarget;
|
|
125
|
+
const start = Math.atan2(context.pressOrigin.y - pivot.y, context.pressOrigin.x - pivot.x);
|
|
126
|
+
const now = Math.atan2(event.point.y - pivot.y, event.point.x - pivot.x);
|
|
127
|
+
enqueue.emit({ type: "ROTATE", pivot, deltaAngle: now - start });
|
|
128
|
+
}),
|
|
118
129
|
maybeEmitCreate: enqueueActions(({ context, event, enqueue }) => {
|
|
119
130
|
if (event.type !== "POINTER_UP" || !context.pressOrigin || !context.drawingType) {
|
|
120
131
|
return;
|
|
@@ -239,6 +250,13 @@ export const interactionMachine = setup({
|
|
|
239
250
|
return false;
|
|
240
251
|
return dragExceeded(context.pressOrigin, event.point);
|
|
241
252
|
},
|
|
253
|
+
movedAndOnRotateHandle: ({ context, event }) => {
|
|
254
|
+
if (event.type !== "POINTER_MOVE" || !context.pressOrigin)
|
|
255
|
+
return false;
|
|
256
|
+
if (context.pressTarget?.kind !== "rotate-handle")
|
|
257
|
+
return false;
|
|
258
|
+
return dragExceeded(context.pressOrigin, event.point);
|
|
259
|
+
},
|
|
242
260
|
movedAndDrawing: ({ context, event }) => {
|
|
243
261
|
if (event.type !== "POINTER_MOVE" || !context.pressOrigin)
|
|
244
262
|
return false;
|
|
@@ -335,6 +353,14 @@ export const interactionMachine = setup({
|
|
|
335
353
|
{ type: "emitResizeGroup" },
|
|
336
354
|
],
|
|
337
355
|
},
|
|
356
|
+
{
|
|
357
|
+
guard: "movedAndOnRotateHandle",
|
|
358
|
+
target: "draggingRotateHandle",
|
|
359
|
+
actions: [
|
|
360
|
+
{ type: "updateLast", params: ({ event }) => ({ point: event.point }) },
|
|
361
|
+
{ type: "emitRotate" },
|
|
362
|
+
],
|
|
363
|
+
},
|
|
338
364
|
{
|
|
339
365
|
guard: "movedAndOnElement",
|
|
340
366
|
target: "draggingElement",
|
|
@@ -436,6 +462,18 @@ export const interactionMachine = setup({
|
|
|
436
462
|
POINTER_CANCEL: { target: "idle", actions: [{ type: "resetGesture" }] },
|
|
437
463
|
},
|
|
438
464
|
},
|
|
465
|
+
draggingRotateHandle: {
|
|
466
|
+
on: {
|
|
467
|
+
POINTER_MOVE: {
|
|
468
|
+
actions: [
|
|
469
|
+
{ type: "updateLast", params: ({ event }) => ({ point: event.point }) },
|
|
470
|
+
{ type: "emitRotate" },
|
|
471
|
+
],
|
|
472
|
+
},
|
|
473
|
+
POINTER_UP: { target: "idle", actions: [{ type: "resetGesture" }] },
|
|
474
|
+
POINTER_CANCEL: { target: "idle", actions: [{ type: "resetGesture" }] },
|
|
475
|
+
},
|
|
476
|
+
},
|
|
439
477
|
drawing: {
|
|
440
478
|
on: {
|
|
441
479
|
POINTER_MOVE: {
|
package/dist/machine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine.js","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AA0DrD,MAAM,cAAc,GAAG,GAAuB,EAAE,CAAC,CAAC;IAChD,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AA+JH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,YAAY,GAAG,CAAC,MAAY,EAAE,OAAa,EAAW,EAAE;IAC5D,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,cAAc,GAAG,cAAc,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE;IACpD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACtC,KAAK,EAAE;QACL,OAAO,EAAE,EAAwB;QACjC,MAAM,EAAE,EAAsB;QAC9B,OAAO,EAAE,EAAqB;KAC/B;IACD,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAChB,CAAC,CAAC,EAAE,MAAyE,EAAE,EAAE,CAAC,CAAC;YACjF,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,cAAc,EAAE,MAAM,CAAC,SAAS;SACjC,CAAC,CACH;QACD,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAuB,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAA8C,EAAE,EAAE,CAAC,CAAC;YAC7E,WAAW,EAAE,MAAM,CAAC,IAAI;SACzB,CAAC,CAAC;QACH,YAAY,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,EACvC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY;gBAClB,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC1B,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,kBAAkB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACjE,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY,EAC1C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,iBAAiB;gBACvB,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC1B,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC7C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,wBAAwB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY;gBAAE,OAAO;YACvD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC;QACF,iBAAiB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,EACtC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;gBACjC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,cAAc,EAC5C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAClD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAClE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACpF,SAAS,EAAE,OAAO,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,oBAAoB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACnD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,uBAAuB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAClE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;gBAAE,OAAO;YAC1D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,8BAA8B;gBACpC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,sBAAsB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACrE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;gBAAE,OAAO;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YAC9B,MAAM,SAAS,GAAG,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;gBACpB,SAAS;aACV,CAAC,CAAC;QACL,CAAC,CAAC;QACF,iBAAiB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAClE,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;gBAC1D,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACnC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAClE,kDAAkD;YAClD,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,cAAc,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChE,kEAAkE;YAClE,kEAAkE;YAClE,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YAC9B,MAAM,SAAS,GAAG,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,qEAAqE;YACrE,yCAAyC;YACzC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc,GAAG,cAAc;gBAAE,OAAO;YAChE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,aAAa;gBACnB,WAAW;gBACX,SAAS;gBACT,SAAS,EAAE,OAAO,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;KACH;IACD,MAAM,EAAE;QACN,iBAAiB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC1D,mEAAmE;YACnE,sEAAsE;YACtE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACvC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACzD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YAC/D,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;gBAC5B,OAAO,CAAC,IAAI,KAAK,cAAc;gBAC/B,OAAO,CAAC,IAAI,KAAK,YAAY,EAC7B,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,mBAAmB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC/C,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,sBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;gBAAE,OAAO,KAAK,CAAC;YAChE,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,oBAAoB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY;gBAAE,OAAO,KAAK,CAAC;YAC7D,2DAA2D;YAC3D,6DAA6D;YAC7D,yDAAyD;YACzD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YACxD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;KACF;CACF,CAAC,CAAC,aAAa,CAAC;IACf,EAAE,EAAE,aAAa;IACjB,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,cAAc,EAAE;IACzB,EAAE,EAAE;QACF,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;gBAClE,EAAE,IAAI,EAAE,cAAc,EAAE;aACzB;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,YAAY;4BAClB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gCAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gCACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;6BACnC,CAAC;yBACH;qBACF;iBACF;aACF;SACF;QACD,QAAQ,EAAE;YACR,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ;wBACE,KAAK,EAAE,kBAAkB;wBACzB,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;yBAC9B;qBACF;oBACD;wBACE,KAAK,EAAE,uBAAuB;wBAC9B,MAAM,EAAE,qBAAqB;wBAC7B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;yBAC5B;qBACF;oBACD;wBACE,KAAK,EAAE,mBAAmB;wBAC1B,MAAM,EAAE,iBAAiB;wBACzB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;yBAC5B;qBACF;oBACD;wBACE,KAAK,EAAE,iBAAiB;wBACxB,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,gBAAgB;gCACtB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oCACxB,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,WAAW;wCAC1B,CAAC,CAAC,MAAM;wCACR,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;4CAC7B,CAAC,CAAC,OAAO;4CACT,CAAC,CAAC,SAAS;iCAClB,CAAC;6BACH;4BACD,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;yBACxE;qBACF;oBACD;wBACE,KAAK,EAAE,qBAAqB;wBAC5B,MAAM,EAAE,aAAa;wBACrB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;yBAC5B;qBACF;oBACD;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,MAAM,EAAE,sBAAsB;wBAC9B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,yBAAyB,EAAE;yBACpC;qBACF;oBACD;wBACE,KAAK,EAAE,sBAAsB;wBAC7B,MAAM,EAAE,oBAAoB;wBAC5B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,oBAAoB,EAAE;yBAC/B;qBACF;oBACD;wBACE,KAAK,EAAE,eAAe;wBACtB,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;yBAC9B;qBACF;oBACD;wBACE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;qBACnF;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;qBAC5B;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,cAAc,EAAE;YACd,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;qBAC9B;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,mBAAmB,EAAE;YACnB,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;qBAC5B;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,OAAO,EAAE;YACP,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;iBACnF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACjE;gBACD,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,WAAW,EAAE;YACX,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;qBAC5B;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE;wBAC1B,EAAE,IAAI,EAAE,sBAAsB,EAAE;wBAChC,EAAE,IAAI,EAAE,cAAc,EAAE;qBACzB;iBACF;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACtE;aACF;SACF;QACD,oBAAoB,EAAE;YACpB,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,yBAAyB,EAAE;qBACpC;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACxE;gBACD,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,kBAAkB,EAAE;YAClB,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,oBAAoB,EAAE;qBAC/B;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBAC1E;gBACD,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,QAAQ,EAAE;YACR,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;qBAC9B;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACjE;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,iBAAiB,CAAC,4BAA4B;yBACrD;wBACD,EAAE,IAAI,EAAE,cAAc,EAAE;qBACzB;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAuB,EACvB,OAAa,EACW,EAAE;IAC1B,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,0EAA0E;IAC1E,mDAAmD;IACnD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvC,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,iEAAiE;QACjE,uEAAuE;QACvE,MAAM,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"machine.js","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAUvD,OAAO,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAqErD,MAAM,cAAc,GAAG,GAAuB,EAAE,CAAC,CAAC;IAChD,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AAyKH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,YAAY,GAAG,CAAC,MAAY,EAAE,OAAa,EAAW,EAAE;IAC5D,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,cAAc,GAAG,cAAc,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE;IACpD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACtC,KAAK,EAAE;QACL,OAAO,EAAE,EAAwB;QACjC,MAAM,EAAE,EAAsB;QAC9B,OAAO,EAAE,EAAqB;KAC/B;IACD,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAChB,CAAC,CAAC,EAAE,MAAyE,EAAE,EAAE,CAAC,CAAC;YACjF,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,cAAc,EAAE,MAAM,CAAC,SAAS;SACjC,CAAC,CACH;QACD,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAuB,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAA8C,EAAE,EAAE,CAAC,CAAC;YAC7E,WAAW,EAAE,MAAM,CAAC,IAAI;SACzB,CAAC,CAAC;QACH,YAAY,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,EACvC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY;gBAClB,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC1B,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,kBAAkB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACjE,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY,EAC1C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,iBAAiB;gBACvB,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC1B,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC7C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,wBAAwB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY;gBAAE,OAAO;YACvD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC;QACF,iBAAiB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,EACtC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;gBACjC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,cAAc,EAC5C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,KAAK,EAAE;oBACL,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC;QACF,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACzD,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,WAAW;gBACpB,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe,EAC7C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAClD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAClE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACpF,SAAS,EAAE,OAAO,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,oBAAoB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACnD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,uBAAuB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAClE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;gBAAE,OAAO;YAC1D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,8BAA8B;gBACpC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,sBAAsB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACrE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;gBAAE,OAAO;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YAC9B,MAAM,SAAS,GAAG,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBAClC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;gBACpB,SAAS;aACV,CAAC,CAAC;QACL,CAAC,CAAC;QACF,iBAAiB,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAClE,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;gBAC1D,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACnC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAClE,kDAAkD;YAClD,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,cAAc,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAChE,kEAAkE;YAClE,kEAAkE;YAClE,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YAC9B,MAAM,SAAS,GAAG,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,qEAAqE;YACrE,yCAAyC;YACzC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc,GAAG,cAAc;gBAAE,OAAO;YAChE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,aAAa;gBACnB,WAAW;gBACX,SAAS;gBACT,SAAS,EAAE,OAAO,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;KACH;IACD,MAAM,EAAE;QACN,iBAAiB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC1D,mEAAmE;YACnE,sEAAsE;YACtE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACvC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACzD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YAC/D,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,sBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;gBAAE,OAAO,KAAK,CAAC;YAChE,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;gBAC5B,OAAO,CAAC,IAAI,KAAK,cAAc;gBAC/B,OAAO,CAAC,IAAI,KAAK,YAAY,EAC7B,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,mBAAmB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC/C,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,sBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;gBAAE,OAAO,KAAK,CAAC;YAChE,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,oBAAoB,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY;gBAAE,OAAO,KAAK,CAAC;YAC7D,2DAA2D;YAC3D,6DAA6D;YAC7D,yDAAyD;YACzD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YACxD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;KACF;CACF,CAAC,CAAC,aAAa,CAAC;IACf,EAAE,EAAE,aAAa;IACjB,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,cAAc,EAAE;IACzB,EAAE,EAAE;QACF,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;gBAClE,EAAE,IAAI,EAAE,cAAc,EAAE;aACzB;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,YAAY;4BAClB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gCAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gCACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;6BACnC,CAAC;yBACH;qBACF;iBACF;aACF;SACF;QACD,QAAQ,EAAE;YACR,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ;wBACE,KAAK,EAAE,kBAAkB;wBACzB,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;yBAC9B;qBACF;oBACD;wBACE,KAAK,EAAE,uBAAuB;wBAC9B,MAAM,EAAE,qBAAqB;wBAC7B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;yBAC5B;qBACF;oBACD;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,MAAM,EAAE,sBAAsB;wBAC9B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,YAAY,EAAE;yBACvB;qBACF;oBACD;wBACE,KAAK,EAAE,mBAAmB;wBAC1B,MAAM,EAAE,iBAAiB;wBACzB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;yBAC5B;qBACF;oBACD;wBACE,KAAK,EAAE,iBAAiB;wBACxB,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,gBAAgB;gCACtB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oCACxB,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,WAAW;wCAC1B,CAAC,CAAC,MAAM;wCACR,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;4CAC7B,CAAC,CAAC,OAAO;4CACT,CAAC,CAAC,SAAS;iCAClB,CAAC;6BACH;4BACD,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;yBACxE;qBACF;oBACD;wBACE,KAAK,EAAE,qBAAqB;wBAC5B,MAAM,EAAE,aAAa;wBACrB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;yBAC5B;qBACF;oBACD;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,MAAM,EAAE,sBAAsB;wBAC9B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,yBAAyB,EAAE;yBACpC;qBACF;oBACD;wBACE,KAAK,EAAE,sBAAsB;wBAC7B,MAAM,EAAE,oBAAoB;wBAC5B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,oBAAoB,EAAE;yBAC/B;qBACF;oBACD;wBACE,KAAK,EAAE,eAAe;wBACtB,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;4BACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;yBAC9B;qBACF;oBACD;wBACE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;qBACnF;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;qBAC5B;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,cAAc,EAAE;YACd,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;qBAC9B;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,mBAAmB,EAAE;YACnB,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;qBAC5B;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,oBAAoB,EAAE;YACpB,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,YAAY,EAAE;qBACvB;iBACF;gBACD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;gBACnE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,OAAO,EAAE;YACP,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;iBACnF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACjE;gBACD,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,WAAW,EAAE;YACX,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,iBAAiB,EAAE;qBAC5B;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE;wBAC1B,EAAE,IAAI,EAAE,sBAAsB,EAAE;wBAChC,EAAE,IAAI,EAAE,cAAc,EAAE;qBACzB;iBACF;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACtE;aACF;SACF;QACD,oBAAoB,EAAE;YACpB,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,yBAAyB,EAAE;qBACpC;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACxE;gBACD,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,kBAAkB,EAAE;YAClB,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,oBAAoB,EAAE;qBAC/B;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBAC1E;gBACD,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;aACxE;SACF;QACD,QAAQ,EAAE;YACR,EAAE,EAAE;gBACF,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;wBACvE,EAAE,IAAI,EAAE,mBAAmB,EAAE;qBAC9B;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;iBACjE;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,iBAAiB,CAAC,4BAA4B;yBACrD;wBACD,EAAE,IAAI,EAAE,cAAc,EAAE;qBACzB;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAuB,EACvB,OAAa,EACW,EAAE;IAC1B,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,0EAA0E;IAC1E,mDAAmD;IACnD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvC,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,iEAAiE;QACjE,uEAAuE;QACvE,MAAM,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
package/dist/overlay.d.ts
CHANGED
|
@@ -181,10 +181,7 @@ export declare const renderOverlay: (scene: Scene, selection: Selection, target:
|
|
|
181
181
|
* (matches the BrushElement memory layout).
|
|
182
182
|
*/
|
|
183
183
|
brushPreview?: {
|
|
184
|
-
readonly origin:
|
|
185
|
-
readonly x: number;
|
|
186
|
-
readonly y: number;
|
|
187
|
-
};
|
|
184
|
+
readonly origin: Vec2;
|
|
188
185
|
readonly points: readonly {
|
|
189
186
|
x: number;
|
|
190
187
|
y: number;
|
package/dist/overlay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAa,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,
|
|
1
|
+
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
|
package/dist/overlay.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { getAnnotationWorldPosition, getElementWorldBounds, getWorldToScreen, } from "@oh-just-another/scene";
|
|
1
|
+
import { getAnnotationWorldPosition, getElementWorldBounds, getWorldToScreen, isGroup, } from "@oh-just-another/scene";
|
|
2
2
|
import { bounds as B, matrix } from "@oh-just-another/math";
|
|
3
3
|
import { getElementRenderer, strokeRoundedPolyline, LINK_CORNER_RADIUS, } from "@oh-just-another/renderer-core";
|
|
4
|
-
import { ANCHOR_DOT_ACTIVE_RADIUS, ANCHOR_DOT_RADIUS, ANCHOR_DOT_STROKE_WIDTH, ANNOTATION_PIN_BADGE_FONT_SIZE, ANNOTATION_PIN_FILL, ANNOTATION_PIN_RADIUS, ANNOTATION_PIN_RESOLVED_FILL, ANNOTATION_PIN_STROKE, CURSOR_ARROW_SIZE, CURSOR_NAME_CHIP_OFFSET, CURSOR_NAME_CHIP_PADDING_X, CURSOR_NAME_CHIP_PADDING_Y, CURSOR_NAME_FONT_SIZE, DRAW_PREVIEW_OPACITY, GHOST_PREVIEW_OPACITY, LINK_ATTACH_ANCHOR_FILL, LINK_ATTACH_ANCHOR_STROKE, LINK_ENDPOINT_HANDLE_DRAW_RADIUS, LINK_MIDPOINT_HANDLE_DRAW_RADIUS, SELECTION_HALO_PEEK_PX, LINK_START_ANCHOR_FILL, LINK_START_ANCHOR_STROKE, PEER_SELECTION_DASH, PEER_SELECTION_PADDING, PEER_SELECTION_STROKE_WIDTH, TEXT_CARET_WIDTH_PX, TEXT_SELECTION_FILL, TEXT_SELECTION_OPACITY, } from "./constants.js";
|
|
5
|
-
import { CORNER_HANDLES, HANDLE_SIZE, handlePosition, } from "./handle.js";
|
|
4
|
+
import { ANCHOR_DOT_ACTIVE_RADIUS, ANCHOR_DOT_RADIUS, ANCHOR_DOT_STROKE_WIDTH, ANNOTATION_PIN_BADGE_FONT_SIZE, ANNOTATION_PIN_FILL, ANNOTATION_PIN_RADIUS, ANNOTATION_PIN_RESOLVED_FILL, ANNOTATION_PIN_STROKE, CURSOR_ARROW_SIZE, CURSOR_NAME_CHIP_OFFSET, CURSOR_NAME_CHIP_PADDING_X, CURSOR_NAME_CHIP_PADDING_Y, CURSOR_NAME_FONT_SIZE, DRAW_PREVIEW_OPACITY, GHOST_PREVIEW_OPACITY, LINK_ATTACH_ANCHOR_FILL, LINK_ATTACH_ANCHOR_STROKE, LINK_ENDPOINT_HANDLE_DRAW_RADIUS, LINK_MIDPOINT_HANDLE_DRAW_RADIUS, SELECTION_HALO_PEEK_PX, LINK_START_ANCHOR_FILL, LINK_START_ANCHOR_STROKE, PEER_SELECTION_DASH, PEER_SELECTION_PADDING, PEER_SELECTION_STROKE_WIDTH, TEXT_CARET_WIDTH_PX, TEXT_SELECTION_FILL, TEXT_SELECTION_OPACITY, GIF_BADGE_W, GIF_BADGE_H, GIF_BADGE_PAD, GIF_BADGE_RADIUS, GIF_BADGE_BG_COLOR, LOCK_BADGE_SIZE, LOCK_BADGE_COLOR, LOCK_BADGE_KEYHOLE_COLOR, ROTATE_ICON_RADIUS, } from "./constants.js";
|
|
5
|
+
import { CORNER_HANDLES, HANDLE_SIZE, frameCorners, handlePosition, handleWorldOnFrame, rotateGripForBounds, rotateGripWorld, shapeSelectionFrame, } from "./handle.js";
|
|
6
6
|
import { isResizable } from "./editor/shape-traits.js";
|
|
7
7
|
import { drawHitZones, hitZoneVisibility, } from "./editor/hit-test.js";
|
|
8
|
-
|
|
9
|
-
const req = (v) => {
|
|
10
|
-
if (v === undefined)
|
|
11
|
-
throw new Error("packages/state: index out of range");
|
|
12
|
-
return v;
|
|
13
|
-
};
|
|
8
|
+
import { req } from "./util.js";
|
|
14
9
|
/**
|
|
15
10
|
* Union AABB of every direct child of `groupId` (recursive). Returns
|
|
16
11
|
* `null` for empty groups so callers can skip the outline pass. Used
|
|
@@ -21,7 +16,7 @@ const groupWorldBounds = (scene, groupId) => {
|
|
|
21
16
|
for (const shape of scene.elements.values()) {
|
|
22
17
|
if (shape.parentId !== groupId)
|
|
23
18
|
continue;
|
|
24
|
-
const inner = shape
|
|
19
|
+
const inner = isGroup(shape) ? groupWorldBounds(scene, shape.id) : getElementWorldBounds(shape);
|
|
25
20
|
if (!inner)
|
|
26
21
|
continue;
|
|
27
22
|
acc = acc ? B.union(acc, inner) : inner;
|
|
@@ -123,30 +118,54 @@ export const renderOverlay = (scene, selection, target, options = {}) => {
|
|
|
123
118
|
if (!shape)
|
|
124
119
|
continue;
|
|
125
120
|
// Groups have no intrinsic geometry — outline the union of their
|
|
126
|
-
// descendants
|
|
127
|
-
//
|
|
128
|
-
|
|
129
|
-
if (
|
|
121
|
+
// descendants as an axis-aligned box. A single shape gets an oriented
|
|
122
|
+
// frame that turns with its rotation, so the selection box hugs the body
|
|
123
|
+
// instead of its (larger, axis-aligned) AABB.
|
|
124
|
+
if (isGroup(shape)) {
|
|
125
|
+
const worldBounds = groupWorldBounds(scene, id);
|
|
126
|
+
if (!worldBounds)
|
|
127
|
+
continue;
|
|
128
|
+
const screenBounds = projectBounds(worldBounds, w2s);
|
|
129
|
+
drawOutline(target, screenBounds, style);
|
|
130
|
+
if (shape.locked === true) {
|
|
131
|
+
drawLockBadge(target, screenBounds);
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
if (multiSelect || !isResizable(shape))
|
|
135
|
+
continue;
|
|
136
|
+
for (const handle of CORNER_HANDLES) {
|
|
137
|
+
const worldPoint = handlePosition(handle, worldBounds, zoom);
|
|
138
|
+
drawHandle(target, matrix.applyToPoint(w2s, worldPoint), style);
|
|
139
|
+
}
|
|
140
|
+
drawRotateGripForBounds(target, worldBounds, zoom, w2s, style);
|
|
130
141
|
continue;
|
|
131
|
-
|
|
132
|
-
|
|
142
|
+
}
|
|
143
|
+
const frame = shapeSelectionFrame(shape);
|
|
144
|
+
// Unrotated → the plain AABB rect (unchanged rendering); rotated → a quad
|
|
145
|
+
// through the frame's corners so the box turns with the shape.
|
|
146
|
+
if (frame.rotation === 0) {
|
|
147
|
+
drawOutline(target, projectBounds(frame.bounds, w2s), style);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
drawFrameOutline(target, frame, w2s, style);
|
|
151
|
+
}
|
|
133
152
|
// Locked element: no resize handles; show a small lock badge instead so
|
|
134
153
|
// the user sees why it won't move/resize (click still selects → unlock).
|
|
135
154
|
if (shape.locked === true) {
|
|
136
|
-
drawLockBadge(target,
|
|
155
|
+
drawLockBadge(target, frameScreenBounds(frame, w2s));
|
|
137
156
|
continue;
|
|
138
157
|
}
|
|
139
158
|
if (multiSelect || !isResizable(shape))
|
|
140
159
|
continue;
|
|
141
|
-
// Draw only the four CORNER dots
|
|
142
|
-
//
|
|
143
|
-
//
|
|
144
|
-
// (ALL_HANDLES) still drives hit-test capability.
|
|
160
|
+
// Draw only the four CORNER dots — at the rotated frame corners. Edge
|
|
161
|
+
// resize is done by dragging the selection-box side itself, so no midpoint
|
|
162
|
+
// dot is needed; the edge handles stay hit-testable via `hitHandleOnFrame`.
|
|
145
163
|
for (const handle of CORNER_HANDLES) {
|
|
146
|
-
const worldPoint =
|
|
147
|
-
|
|
148
|
-
drawHandle(target, screenPoint, style);
|
|
164
|
+
const worldPoint = handleWorldOnFrame(handle, frame, zoom);
|
|
165
|
+
drawHandle(target, matrix.applyToPoint(w2s, worldPoint), style);
|
|
149
166
|
}
|
|
167
|
+
// Rotate grip from the shape's template anchor (default bottom-left).
|
|
168
|
+
drawRotateIcon(target, matrix.applyToPoint(w2s, rotateGripWorld(shape, zoom)), style);
|
|
150
169
|
}
|
|
151
170
|
// 2. Rubber-band drawing preview (already in world coords if drawn before transform reset)
|
|
152
171
|
if (options.drawingPreview) {
|
|
@@ -256,7 +275,7 @@ export const renderOverlay = (scene, selection, target, options = {}) => {
|
|
|
256
275
|
if (options.selectedLinkPaths && options.selectedLinkPaths.length > 0) {
|
|
257
276
|
target.setTransform(w2s);
|
|
258
277
|
target.setStroke(style.selectionStroke);
|
|
259
|
-
target.setOpacity(
|
|
278
|
+
target.setOpacity(SELECTION_HALO_OPACITY);
|
|
260
279
|
target.setDashArray(null);
|
|
261
280
|
target.setLineJoin("round");
|
|
262
281
|
target.setLineCap("round");
|
|
@@ -377,6 +396,7 @@ export const renderOverlay = (scene, selection, target, options = {}) => {
|
|
|
377
396
|
const screenPoint = matrix.applyToPoint(w2s, worldPoint);
|
|
378
397
|
drawHandle(target, screenPoint, style);
|
|
379
398
|
}
|
|
399
|
+
drawRotateGripForBounds(target, options.groupBounds, zoom, w2s, style);
|
|
380
400
|
}
|
|
381
401
|
// 7.5. Annotation pins — drawn before peer cursors so cursors stay
|
|
382
402
|
// on top, but on top of selection handles. Each pin shows a comment
|
|
@@ -431,19 +451,11 @@ export const renderOverlay = (scene, selection, target, options = {}) => {
|
|
|
431
451
|
}
|
|
432
452
|
target.restore();
|
|
433
453
|
};
|
|
434
|
-
/** Rounded "gif" chip in a shape's top-left corner — signals a paused
|
|
435
|
-
* GIF the user can click (or hover) to resume. */
|
|
436
|
-
const GIF_BADGE_W = 30;
|
|
437
|
-
const GIF_BADGE_H = 16;
|
|
438
|
-
const GIF_BADGE_PAD = 4;
|
|
439
|
-
const GIF_BADGE_RADIUS = 4;
|
|
440
|
-
/** Small padlock badge at a selected locked element's top-right corner. */
|
|
441
|
-
const LOCK_BADGE_SIZE = 16;
|
|
442
454
|
const drawLockBadge = (target, b) => {
|
|
443
455
|
const s = LOCK_BADGE_SIZE;
|
|
444
456
|
const x = b.x + b.width - s - 2;
|
|
445
457
|
const y = b.y + 2;
|
|
446
|
-
const color =
|
|
458
|
+
const color = LOCK_BADGE_COLOR;
|
|
447
459
|
// Shackle — a ring above the body; its lower half is hidden by the body so
|
|
448
460
|
// the visible top arc reads as the lock's bow.
|
|
449
461
|
target.setStroke(color);
|
|
@@ -461,7 +473,7 @@ const drawLockBadge = (target, b) => {
|
|
|
461
473
|
target.rect(x + s * 0.2, y + s * 0.44, s * 0.6, s * 0.48);
|
|
462
474
|
target.fill();
|
|
463
475
|
// Keyhole.
|
|
464
|
-
target.setFill(
|
|
476
|
+
target.setFill(LOCK_BADGE_KEYHOLE_COLOR);
|
|
465
477
|
target.beginPath();
|
|
466
478
|
target.ellipse(x + s / 2, y + s * 0.64, s * 0.07, s * 0.07);
|
|
467
479
|
target.fill();
|
|
@@ -474,7 +486,7 @@ const drawGifBadge = (target, screen) => {
|
|
|
474
486
|
const r = GIF_BADGE_RADIUS;
|
|
475
487
|
// Rounded-rect background.
|
|
476
488
|
target.setStroke(null);
|
|
477
|
-
target.setFill(
|
|
489
|
+
target.setFill(GIF_BADGE_BG_COLOR);
|
|
478
490
|
target.beginPath();
|
|
479
491
|
target.moveTo(x + r, y);
|
|
480
492
|
target.lineTo(x + w - r, y);
|
|
@@ -509,6 +521,43 @@ const drawOutline = (target, b, style) => {
|
|
|
509
521
|
target.rect(b.x, b.y, b.width, b.height);
|
|
510
522
|
target.stroke();
|
|
511
523
|
};
|
|
524
|
+
/** Selection outline as a (possibly rotated) quad through the frame's corners. */
|
|
525
|
+
const drawFrameOutline = (target, frame, w2s, style) => {
|
|
526
|
+
const [wnw, wne, wse, wsw] = frameCorners(frame);
|
|
527
|
+
const nw = matrix.applyToPoint(w2s, wnw);
|
|
528
|
+
const ne = matrix.applyToPoint(w2s, wne);
|
|
529
|
+
const se = matrix.applyToPoint(w2s, wse);
|
|
530
|
+
const sw = matrix.applyToPoint(w2s, wsw);
|
|
531
|
+
target.setStroke(style.selectionStroke);
|
|
532
|
+
target.setStrokeWidth(style.selectionStrokeWidth);
|
|
533
|
+
target.setDashArray(null);
|
|
534
|
+
target.beginPath();
|
|
535
|
+
target.moveTo(nw.x, nw.y);
|
|
536
|
+
target.lineTo(ne.x, ne.y);
|
|
537
|
+
target.lineTo(se.x, se.y);
|
|
538
|
+
target.lineTo(sw.x, sw.y);
|
|
539
|
+
target.closePath();
|
|
540
|
+
target.stroke();
|
|
541
|
+
};
|
|
542
|
+
/** Screen-space AABB enclosing the frame's (rotated) corners — for badges. */
|
|
543
|
+
const frameScreenBounds = (frame, w2s) => {
|
|
544
|
+
const pts = frameCorners(frame).map((c) => matrix.applyToPoint(w2s, c));
|
|
545
|
+
let minX = Infinity;
|
|
546
|
+
let minY = Infinity;
|
|
547
|
+
let maxX = -Infinity;
|
|
548
|
+
let maxY = -Infinity;
|
|
549
|
+
for (const p of pts) {
|
|
550
|
+
if (p.x < minX)
|
|
551
|
+
minX = p.x;
|
|
552
|
+
if (p.y < minY)
|
|
553
|
+
minY = p.y;
|
|
554
|
+
if (p.x > maxX)
|
|
555
|
+
maxX = p.x;
|
|
556
|
+
if (p.y > maxY)
|
|
557
|
+
maxY = p.y;
|
|
558
|
+
}
|
|
559
|
+
return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };
|
|
560
|
+
};
|
|
512
561
|
const drawHandle = (target, center, style) => {
|
|
513
562
|
// Circle of radius HANDLE_SIZE — visually equivalent to a rounded
|
|
514
563
|
// square with maximum corner radius, but renders via `ellipse`
|
|
@@ -523,6 +572,57 @@ const drawHandle = (target, center, style) => {
|
|
|
523
572
|
target.fill();
|
|
524
573
|
target.stroke();
|
|
525
574
|
};
|
|
575
|
+
/**
|
|
576
|
+
* Rotate grip: a clockwise circular-arrow glyph (the `rotate-cw` icon) centred
|
|
577
|
+
* at `grip` (screen px), with no connector line back to the shape. Authored in
|
|
578
|
+
* lucide's 24×24 space — a near-full circle (radius 9) opening on the right plus
|
|
579
|
+
* an `L`-shaped arrowhead at the opening — scaled so the circle radius is
|
|
580
|
+
* `ROTATE_ICON_RADIUS` screen px.
|
|
581
|
+
*/
|
|
582
|
+
const drawRotateIcon = (target, grip, style) => {
|
|
583
|
+
const s = ROTATE_ICON_RADIUS / 9; // icon radius 9 (in its 24×24 box) → screen px
|
|
584
|
+
// Map a point from the icon's 24×24 space (centre 12,12) to screen.
|
|
585
|
+
const tx = (px, py) => ({
|
|
586
|
+
x: grip.x + (px - 12) * s,
|
|
587
|
+
y: grip.y + (py - 12) * s,
|
|
588
|
+
});
|
|
589
|
+
target.setStroke(style.handleStroke);
|
|
590
|
+
target.setFill(null);
|
|
591
|
+
target.setStrokeWidth(2 * s); // lucide strokeWidth 2
|
|
592
|
+
target.setLineCap("round");
|
|
593
|
+
target.setLineJoin("round");
|
|
594
|
+
target.setDashArray(null);
|
|
595
|
+
// Arc: centre (12,12), radius 9, from 0° (east tail) clockwise to (21,8)
|
|
596
|
+
// (≈ 336° swept) — a polyline is smooth enough at this size.
|
|
597
|
+
const END_DEG = 336;
|
|
598
|
+
const STEPS = 30;
|
|
599
|
+
target.beginPath();
|
|
600
|
+
for (let i = 0; i <= STEPS; i++) {
|
|
601
|
+
const a = ((END_DEG * i) / STEPS) * (Math.PI / 180);
|
|
602
|
+
const p = tx(12 + 9 * Math.cos(a), 12 + 9 * Math.sin(a));
|
|
603
|
+
if (i === 0)
|
|
604
|
+
target.moveTo(p.x, p.y);
|
|
605
|
+
else
|
|
606
|
+
target.lineTo(p.x, p.y);
|
|
607
|
+
}
|
|
608
|
+
target.stroke();
|
|
609
|
+
// Arrowhead at the arc's end (lucide `M21 3 v5 h-5`): a right-angle chevron.
|
|
610
|
+
const a1 = tx(21, 3);
|
|
611
|
+
const a2 = tx(21, 8);
|
|
612
|
+
const a3 = tx(16, 8);
|
|
613
|
+
target.beginPath();
|
|
614
|
+
target.moveTo(a1.x, a1.y);
|
|
615
|
+
target.lineTo(a2.x, a2.y);
|
|
616
|
+
target.lineTo(a3.x, a3.y);
|
|
617
|
+
target.stroke();
|
|
618
|
+
target.setLineCap("butt");
|
|
619
|
+
target.setLineJoin("miter");
|
|
620
|
+
};
|
|
621
|
+
/** Project the rotate grip to screen and draw the icon for AABB `b`. */
|
|
622
|
+
const drawRotateGripForBounds = (target, b, zoom, w2s, style) => {
|
|
623
|
+
const grip = rotateGripForBounds(b, zoom);
|
|
624
|
+
drawRotateIcon(target, matrix.applyToPoint(w2s, grip), style);
|
|
625
|
+
};
|
|
526
626
|
const drawDrawingPreview = (target, b, style) => {
|
|
527
627
|
target.setStroke(style.drawingStroke);
|
|
528
628
|
target.setStrokeWidth(1);
|
|
@@ -560,8 +660,12 @@ const drawPortDot = (target, center, style, active, role = "link-start", activeR
|
|
|
560
660
|
// When active (snapped), use the inverse fill of the resting state
|
|
561
661
|
// to highlight the dot.
|
|
562
662
|
const fill = active
|
|
563
|
-
?
|
|
564
|
-
|
|
663
|
+
? isStart
|
|
664
|
+
? LINK_START_ANCHOR_STROKE
|
|
665
|
+
: LINK_ATTACH_ANCHOR_STROKE
|
|
666
|
+
: isStart
|
|
667
|
+
? LINK_START_ANCHOR_FILL
|
|
668
|
+
: LINK_ATTACH_ANCHOR_FILL;
|
|
565
669
|
const stroke = isStart ? LINK_START_ANCHOR_STROKE : LINK_ATTACH_ANCHOR_STROKE;
|
|
566
670
|
target.setStroke(stroke);
|
|
567
671
|
target.setStrokeWidth(ANCHOR_DOT_STROKE_WIDTH);
|