@kurot/core 2.3.2 → 2.4.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 +46 -0
- package/README.md +18 -2
- package/dist/kurot/display/DisplayObject.d.ts +26 -0
- package/dist/kurot/display/DisplayObject.d.ts.map +1 -1
- package/dist/kurot/display/DisplayObject.js +81 -9
- package/dist/kurot/display/DisplayObject.js.map +1 -1
- package/dist/kurot/player/bitmap-fill.d.ts +10 -0
- package/dist/kurot/player/bitmap-fill.d.ts.map +1 -0
- package/dist/kurot/player/bitmap-fill.js +41 -0
- package/dist/kurot/player/bitmap-fill.js.map +1 -0
- package/dist/kurot/player/canvas/CanvasRenderer.d.ts +1 -0
- package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.js +29 -2
- package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
- package/dist/kurot/player/pipes/BitmapPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/BitmapPipe.js +8 -1
- package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js +2 -2
- package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
- package/docs/ai-context.md +21 -4
- package/docs/bitmap-fill.md +43 -0
- package/docs/centered-flips.md +34 -0
- package/docs/text-layout.md +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,52 @@ All notable changes to `@kurot/core` are documented here.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [2.4.0] — 2026-10-09
|
|
8
|
+
|
|
9
|
+
Prepared in source; not published.
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
Added independent false-default flipX/flipY on DisplayObject, reflecting around the local content or scroll viewport center while preserving authored scale, position and anchors. Both backends and coordinate/hit-test paths share the effective transform; reflected ancestor bounds changes refresh descendant transforms.
|
|
14
|
+
|
|
15
|
+
See [centered flips](../../docs/centered-flips.md) for semantics, adoption and
|
|
16
|
+
temporary verification bindings. Registry lock refresh follows upstream publication.
|
|
17
|
+
|
|
18
|
+
### Verification
|
|
19
|
+
|
|
20
|
+
Core build and all 842 unit tests pass. Three minified pixel regressions
|
|
21
|
+
pass through the UI consumer in Canvas 2D, WebGL 1 and WebGL 2, covering
|
|
22
|
+
centered transforms, scrolling clips, caches, percent resizing and render groups.
|
|
23
|
+
|
|
24
|
+
## [2.3.3] — 2026-10-09
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- Honor Bitmap/Image `fillMode="repeat"` in WebGL and Canvas, including nested
|
|
29
|
+
bitmap caches. Tile the original texture size instead of stretching it.
|
|
30
|
+
- Preserve transparent atlas trim margins and crop incomplete edge tiles without
|
|
31
|
+
sampling adjacent frames. Support rotated atlas regions and tinted images.
|
|
32
|
+
- Honor `fillMode="clip"` at natural size. Nine-slice applies only to `scale`,
|
|
33
|
+
matching the existing documented fill-mode contract.
|
|
34
|
+
|
|
35
|
+
### Compatibility
|
|
36
|
+
|
|
37
|
+
- Compatible rendering fix with no API, resource, KUI or dependency changes.
|
|
38
|
+
Existing UI/Game/DragonBones/Spine/ui-runtime peers accept it; no dependent
|
|
39
|
+
SDK bump is required. Applications must adopt the installed Core and rebuild.
|
|
40
|
+
- Core 2.3.3 is published. Editor 0.23.2 adopts the exact registry package
|
|
41
|
+
and Bun lock, replacing 0.23.1's explicit local trial binding.
|
|
42
|
+
|
|
43
|
+
### Verification
|
|
44
|
+
|
|
45
|
+
- Core build and all 836 unit tests pass. Twelve minified pixel regressions
|
|
46
|
+
pass across Canvas 2D, WebGL 1 and WebGL 2 at 1x/2x, covering fill modes,
|
|
47
|
+
rotation, trim, tint, cached updates, scale and text-outline preservation.
|
|
48
|
+
- Packaged Editor regression uses TutorialPanelSkin's actual 17px atlas frame
|
|
49
|
+
and authored Image under two cached ancestors in Design and Preview. The
|
|
50
|
+
published 2.3.2 baseline fails; the locally built patch passes. A second
|
|
51
|
+
packaged regression preserves native Label/RichLabel outlines.
|
|
52
|
+
|
|
7
53
|
## [2.3.2] — 2026-10-08
|
|
8
54
|
|
|
9
55
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
# @kurot/core
|
|
2
2
|
|
|
3
|
+
Source prepares **2.4.0**, not published. See [centered flips](docs/centered-flips.md)
|
|
4
|
+
for the new APIs, exact requirements and publication/lockfile order.
|
|
5
|
+
|
|
3
6
|
A modern rewrite of the Egret game engine. Maintains Egret-compatible display object and event APIs while upgrading the rendering architecture, type safety, and tooling.
|
|
4
7
|
|
|
5
|
-
> **Package version: 2.
|
|
8
|
+
> **Package version: 2.4.0 (unpublished).** Targets ES2022 and evergreen browsers (Chrome / Edge / Firefox / Safari). No IE / old-Android / pre-2022 Safari support shims.
|
|
9
|
+
|
|
10
|
+
## Bitmap fill correction in 2.3.3
|
|
11
|
+
|
|
12
|
+
`Bitmap.fillMode` / UI `Image.fillMode` now honor `repeat` and `clip` in both
|
|
13
|
+
backends and bitmap caches. Repeat uses the original texture dimensions, including
|
|
14
|
+
transparent trim margins; partial edge tiles are cropped rather than stretched.
|
|
15
|
+
Nine-slice remains active only for `scale`. No XML or resource migration is needed.
|
|
16
|
+
Core 2.3.3 is published; Core 2.3.2 does not include this fix. Existing
|
|
17
|
+
Core 2.x peers accept the patch without another SDK release. Applications adopt
|
|
18
|
+
its installation/lock and rebuild; templates are not rewritten.
|
|
19
|
+
See [bitmap fill modes](docs/bitmap-fill.md).
|
|
6
20
|
|
|
7
21
|
## Text outline fix in 2.3.2
|
|
8
22
|
|
|
@@ -85,7 +99,7 @@ matching UI release; Core does not expose `textFit` or `minFontSize`.
|
|
|
85
99
|
## Installation
|
|
86
100
|
|
|
87
101
|
```bash
|
|
88
|
-
pnpm add @kurot/core@^2.3.
|
|
102
|
+
pnpm add @kurot/core@^2.3.3
|
|
89
103
|
```
|
|
90
104
|
|
|
91
105
|
Core depends on `@kurot/bitmap-font ^0.1.0` for bitmap-font data and shared
|
|
@@ -111,6 +125,8 @@ UI 3.1.0 does not contain this component.
|
|
|
111
125
|
**Display Objects**
|
|
112
126
|
|
|
113
127
|
- Full scene graph: DisplayObject → Container → Sprite → Stage
|
|
128
|
+
- Independent centered `flipX`/`flipY`, preserving authored position, scale and
|
|
129
|
+
anchors; shared rendering/input transforms and subclass reflection-frame hook.
|
|
114
130
|
- Bitmap (with scale9Grid), Shape, Mesh, TextField, BitmapText, Video
|
|
115
131
|
- Graphics vector drawing (rect, circle, ellipse, arc, bezier, gradients, dashed lines)
|
|
116
132
|
- cacheAsBitmap / cacheAsTexture, tint, skew, zIndex sorting
|
|
@@ -111,6 +111,10 @@ export declare class DisplayObject extends EventDispatcher<DisplayObjectEvents>
|
|
|
111
111
|
private _invertedConcatenatedMatrix?;
|
|
112
112
|
private _scaleX;
|
|
113
113
|
private _scaleY;
|
|
114
|
+
private _flipX;
|
|
115
|
+
private _flipY;
|
|
116
|
+
private _flipMatrix?;
|
|
117
|
+
private _flipBounds?;
|
|
114
118
|
private _rotation;
|
|
115
119
|
private _skewX;
|
|
116
120
|
private _skewXdeg;
|
|
@@ -126,6 +130,10 @@ export declare class DisplayObject extends EventDispatcher<DisplayObjectEvents>
|
|
|
126
130
|
set name(value: string);
|
|
127
131
|
get parent(): DisplayObjectContainer | undefined;
|
|
128
132
|
get stage(): Stage | undefined;
|
|
133
|
+
/**
|
|
134
|
+
* Authored transform, excluding centered flips and anchor/scroll offsets.
|
|
135
|
+
* Assigning it preserves flipX/flipY. The getter returns a copy.
|
|
136
|
+
*/
|
|
129
137
|
get matrix(): Matrix;
|
|
130
138
|
set matrix(value: Matrix);
|
|
131
139
|
get x(): number;
|
|
@@ -136,6 +144,18 @@ export declare class DisplayObject extends EventDispatcher<DisplayObjectEvents>
|
|
|
136
144
|
set scaleX(value: number);
|
|
137
145
|
get scaleY(): number;
|
|
138
146
|
set scaleY(value: number);
|
|
147
|
+
/**
|
|
148
|
+
* Mirrors content horizontally around its local bounds center without
|
|
149
|
+
* changing position, scale or anchor. UI components use their layout frame.
|
|
150
|
+
*/
|
|
151
|
+
get flipX(): boolean;
|
|
152
|
+
set flipX(value: boolean);
|
|
153
|
+
/**
|
|
154
|
+
* Mirrors content vertically around its local bounds center without
|
|
155
|
+
* changing position, scale or anchor. UI components use their layout frame.
|
|
156
|
+
*/
|
|
157
|
+
get flipY(): boolean;
|
|
158
|
+
set flipY(value: boolean);
|
|
139
159
|
get rotation(): number;
|
|
140
160
|
set rotation(value: number);
|
|
141
161
|
get skewX(): number;
|
|
@@ -199,6 +219,11 @@ export declare class DisplayObject extends EventDispatcher<DisplayObjectEvents>
|
|
|
199
219
|
$onAddToStage(stage: Stage, $nestLevel: number): void;
|
|
200
220
|
$onRemoveFromStage(): void;
|
|
201
221
|
$getMatrix(): Matrix;
|
|
222
|
+
/**
|
|
223
|
+
* Local reflection frame. Layout owners override this with their actual
|
|
224
|
+
* unscaled frame; ordinary display objects use their content bounds.
|
|
225
|
+
*/
|
|
226
|
+
$getFlipBounds(bounds: Rectangle): void;
|
|
202
227
|
$setMatrix(matrix: Matrix, needUpdateProperties?: boolean): void;
|
|
203
228
|
$getConcatenatedMatrix(): Matrix;
|
|
204
229
|
$getInvertedConcatenatedMatrix(): Matrix;
|
|
@@ -232,5 +257,6 @@ export declare class DisplayObject extends EventDispatcher<DisplayObjectEvents>
|
|
|
232
257
|
$setMask(value: DisplayObject | Rectangle | undefined): void;
|
|
233
258
|
$markDirty(): void;
|
|
234
259
|
$markTransformDirty(): void;
|
|
260
|
+
private _getBaseMatrix;
|
|
235
261
|
}
|
|
236
262
|
//# sourceMappingURL=DisplayObject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayObject.d.ts","sourceRoot":"","sources":["../../../src/kurot/display/DisplayObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAgB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACpD,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACrB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACvB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAC9B,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAClC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC3B,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACtB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACtB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACtB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAExB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACrC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACpC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IACnC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;IACtC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IACnC,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC;IAE/C,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAClC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC;AAYD,0BAAkB,UAAU;IAC3B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,IAAI,IAAI;IACR,UAAU,IAAI;CACd;AAED,0BAAkB,gBAAgB;IACjC,IAAI,IAAI;IACR,MAAM,IAAI;IACV,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;IACV,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,WAAW,IAAI;CACf;AAED,qBAAa,aAAc,SAAQ,eAAe,CAAC,mBAAmB,CAAC;IAGtE,MAAM,CAAC,mBAAmB,UAAS;IACnC,MAAM,CAAC,uBAAuB,EAAE,aAAa,EAAE,CAAM;IACrD,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,CAAM;IACjD,MAAM,CAAC,oBAAoB,EAAE,aAAa,EAAE,CAAM;IAClD,MAAM,CAAC,yBAAyB,EAAE,aAAa,EAAE,CAAM;IAEvD,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAIzD,cAAc,UAAS;IACvB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,UAAU,SAAK;IAEf,EAAE,SAAK;IACP,EAAE,SAAK;IACP,cAAc,SAAK;IACnB,cAAc,SAAK;IACnB,cAAc,EAAE,MAAM,CAAO;IAC7B,eAAe,EAAE,MAAM,CAAO;IAC9B,aAAa,UAAS;IAEtB,QAAQ,UAAQ;IAChB,MAAM,SAAK;IACX,UAAU,SAAK;IACf,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,cAAc,UAAS;IACvB,aAAa,EAAE,OAAO,CAAqC;IAE3D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,iBAAiB,EAAE,gBAAgB,CAAyB;IAC5D,YAAY,UAAS;IACrB,WAAW,UAAS;IACpB,YAAY,CAAC,EAAE,WAAW,CAAC;IAE3B,WAAW,SAAK;IAChB,UAAU,SAAY;IACtB,QAAQ,SAAK;IAEb,UAAU,UAAS;IACnB,gBAAgB,SAAK;IAErB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IAEjD,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,2BAA2B,CAAC,CAAS;IAC7C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,iBAAiB,CAAS;IAElC,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;;IAW/B,IAAW,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAE1C;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,IAAW,MAAM,IAAI,sBAAsB,GAAG,SAAS,CAEtD;IACD,IAAW,KAAK,IAAI,KAAK,GAAG,SAAS,CAEpC;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IACD,IAAW,CAAC,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IACD,IAAW,CAAC,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEhC;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IACD,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED,IAAW,aAAa,IAAI,OAAO,CAElC;IACD,IAAW,aAAa,CAAC,KAAK,EAAE,OAAO,EAEtC;IAED;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI;IAYnE;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAMjC,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED,IAAW,OAAO,IAAI,MAAM,EAAE,CAE7B;IACD,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAUjC;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,YAAY,IAAI,OAAO,CAEjC;IACD,IAAW,YAAY,CAAC,KAAK,EAAE,OAAO,EAErC;IAED,IAAW,UAAU,IAAI,SAAS,GAAG,SAAS,CAE7C;IACD,IAAW,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAEjD;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAQjC;IAED,IAAW,IAAI,IAAI,aAAa,GAAG,SAAS,GAAG,SAAS,CAEvD;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,EAE3D;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAI5B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAK9B;IAED,IAAW,gBAAgB,IAAI,OAAO,CAErC;IACD,IAAW,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAEzC;IAIM,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,eAAe,UAAO,GAAG,SAAS;IAapE,oBAAoB,CAAC,qBAAqB,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS;IAI7F,aAAa,CAAC,MAAM,SAAI,EAAE,MAAM,SAAI,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK;IAIjE,aAAa,CAAC,MAAM,SAAI,EAAE,MAAM,SAAI,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK;IAIjE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO;IAqBhE,YAAY,IAAI,IAAI;IAIX,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAWpC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAWlC,gBAAgB,CAAC,CAAC,SAAS,MAAM,mBAAmB,GAAG,MAAM,EAC5E,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,EACjD,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI;IACS,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI;IAkBS,mBAAmB,CAAC,CAAC,SAAS,MAAM,mBAAmB,GAAG,MAAM,EAC/E,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,EACjD,UAAU,CAAC,EAAE,OAAO,GAClB,IAAI;IACS,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI;IAoB/G,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,GAAG,IAAI;IAI5D,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAOrD,kBAAkB,IAAI,IAAI;IAM1B,UAAU,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"DisplayObject.d.ts","sourceRoot":"","sources":["../../../src/kurot/display/DisplayObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,10 @@ export class DisplayObject extends EventDispatcher {
|
|
|
67
67
|
_invertedConcatenatedMatrix;
|
|
68
68
|
_scaleX = 1;
|
|
69
69
|
_scaleY = 1;
|
|
70
|
+
_flipX = false;
|
|
71
|
+
_flipY = false;
|
|
72
|
+
_flipMatrix;
|
|
73
|
+
_flipBounds;
|
|
70
74
|
_rotation = 0;
|
|
71
75
|
_skewX = 0;
|
|
72
76
|
_skewXdeg = 0;
|
|
@@ -97,8 +101,12 @@ export class DisplayObject extends EventDispatcher {
|
|
|
97
101
|
get stage() {
|
|
98
102
|
return this.$stage;
|
|
99
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Authored transform, excluding centered flips and anchor/scroll offsets.
|
|
106
|
+
* Assigning it preserves flipX/flipY. The getter returns a copy.
|
|
107
|
+
*/
|
|
100
108
|
get matrix() {
|
|
101
|
-
return this
|
|
109
|
+
return this._getBaseMatrix().clone();
|
|
102
110
|
}
|
|
103
111
|
set matrix(value) {
|
|
104
112
|
this.$setMatrix(value);
|
|
@@ -127,6 +135,36 @@ export class DisplayObject extends EventDispatcher {
|
|
|
127
135
|
set scaleY(value) {
|
|
128
136
|
this.$setScaleY(value);
|
|
129
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Mirrors content horizontally around its local bounds center without
|
|
140
|
+
* changing position, scale or anchor. UI components use their layout frame.
|
|
141
|
+
*/
|
|
142
|
+
get flipX() {
|
|
143
|
+
return this._flipX;
|
|
144
|
+
}
|
|
145
|
+
set flipX(value) {
|
|
146
|
+
value = !!value;
|
|
147
|
+
if (this._flipX === value)
|
|
148
|
+
return;
|
|
149
|
+
this._flipX = value;
|
|
150
|
+
this.$updateUseTransform();
|
|
151
|
+
this.$markTransformDirty();
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Mirrors content vertically around its local bounds center without
|
|
155
|
+
* changing position, scale or anchor. UI components use their layout frame.
|
|
156
|
+
*/
|
|
157
|
+
get flipY() {
|
|
158
|
+
return this._flipY;
|
|
159
|
+
}
|
|
160
|
+
set flipY(value) {
|
|
161
|
+
value = !!value;
|
|
162
|
+
if (this._flipY === value)
|
|
163
|
+
return;
|
|
164
|
+
this._flipY = value;
|
|
165
|
+
this.$updateUseTransform();
|
|
166
|
+
this.$markTransformDirty();
|
|
167
|
+
}
|
|
130
168
|
get rotation() {
|
|
131
169
|
return this._rotation;
|
|
132
170
|
}
|
|
@@ -390,13 +428,30 @@ export class DisplayObject extends EventDispatcher {
|
|
|
390
428
|
DisplayObject.$eventRemoveFromStageList.push(this);
|
|
391
429
|
}
|
|
392
430
|
$getMatrix() {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
431
|
+
const base = this._getBaseMatrix();
|
|
432
|
+
if (!this._flipX && !this._flipY)
|
|
433
|
+
return base;
|
|
434
|
+
const matrix = (this._flipMatrix ??= new Matrix());
|
|
435
|
+
const bounds = (this._flipBounds ??= new Rectangle());
|
|
436
|
+
if (this.$scrollRect) {
|
|
437
|
+
bounds.setTo(0, 0, this.$scrollRect.width, this.$scrollRect.height);
|
|
396
438
|
}
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
439
|
+
else {
|
|
440
|
+
this.$getFlipBounds(bounds);
|
|
441
|
+
}
|
|
442
|
+
// Anchor subtraction follows this matrix in both renderers. Conjugate
|
|
443
|
+
// the reflection so it changes content, never the existing outer frame.
|
|
444
|
+
const dx = this._flipX ? 2 * bounds.x + bounds.width - 2 * this.$anchorOffsetX : 0;
|
|
445
|
+
const dy = this._flipY ? 2 * bounds.y + bounds.height - 2 * this.$anchorOffsetY : 0;
|
|
446
|
+
matrix.setTo(this._flipX ? -base.a : base.a, this._flipX ? -base.b : base.b, this._flipY ? -base.c : base.c, this._flipY ? -base.d : base.d, base.tx + base.a * dx + base.c * dy, base.ty + base.b * dx + base.d * dy);
|
|
447
|
+
return matrix;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Local reflection frame. Layout owners override this with their actual
|
|
451
|
+
* unscaled frame; ordinary display objects use their content bounds.
|
|
452
|
+
*/
|
|
453
|
+
$getFlipBounds(bounds) {
|
|
454
|
+
bounds.copyFrom(this.$getOriginalBounds());
|
|
400
455
|
}
|
|
401
456
|
$setMatrix(matrix, needUpdateProperties = true) {
|
|
402
457
|
const m = this._matrix;
|
|
@@ -407,7 +462,7 @@ export class DisplayObject extends EventDispatcher {
|
|
|
407
462
|
this.$x = matrix.tx;
|
|
408
463
|
this.$y = matrix.ty;
|
|
409
464
|
this._matrixDirty = false;
|
|
410
|
-
this.$useTranslate = !(m.a === 1 && m.b === 0 && m.c === 0 && m.d === 1);
|
|
465
|
+
this.$useTranslate = this._flipX || this._flipY || !(m.a === 1 && m.b === 0 && m.c === 0 && m.d === 1);
|
|
411
466
|
if (needUpdateProperties) {
|
|
412
467
|
this._scaleX = m.getScaleX();
|
|
413
468
|
this._scaleY = m.getScaleY();
|
|
@@ -598,7 +653,10 @@ export class DisplayObject extends EventDispatcher {
|
|
|
598
653
|
}
|
|
599
654
|
}
|
|
600
655
|
$updateUseTransform() {
|
|
601
|
-
this.$useTranslate =
|
|
656
|
+
this.$useTranslate =
|
|
657
|
+
this._flipX ||
|
|
658
|
+
this._flipY ||
|
|
659
|
+
!(this._scaleX === 1 && this._scaleY === 1 && this._skewX === 0 && this._skewY === 0);
|
|
602
660
|
}
|
|
603
661
|
$updateRenderMode() {
|
|
604
662
|
if (!this.$visible || this.$alpha <= 0 || this.$maskedObject) {
|
|
@@ -775,6 +833,10 @@ export class DisplayObject extends EventDispatcher {
|
|
|
775
833
|
let tint = this.$tintRGB;
|
|
776
834
|
let p = this.$parent;
|
|
777
835
|
while (p) {
|
|
836
|
+
if (p._flipX || p._flipY) {
|
|
837
|
+
p._boundsDirty = true;
|
|
838
|
+
DisplayObject.$onRenderableDirty?.(p);
|
|
839
|
+
}
|
|
778
840
|
alpha *= p.$alpha;
|
|
779
841
|
if (tint === 0xffffff && p.$tintRGB !== 0xffffff) {
|
|
780
842
|
tint = p.$tintRGB;
|
|
@@ -800,5 +862,15 @@ export class DisplayObject extends EventDispatcher {
|
|
|
800
862
|
masked.$cacheDirtyUp();
|
|
801
863
|
}
|
|
802
864
|
}
|
|
865
|
+
// ── Private methods ──────────────────────────────────────────────────────
|
|
866
|
+
_getBaseMatrix() {
|
|
867
|
+
if (this._matrixDirty) {
|
|
868
|
+
this._matrixDirty = false;
|
|
869
|
+
this._matrix.updateScaleAndRotation(this._scaleX, this._scaleY, this._skewX, this._skewY);
|
|
870
|
+
}
|
|
871
|
+
this._matrix.tx = this.$x;
|
|
872
|
+
this._matrix.ty = this.$y;
|
|
873
|
+
return this._matrix;
|
|
874
|
+
}
|
|
803
875
|
}
|
|
804
876
|
//# sourceMappingURL=DisplayObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayObject.js","sourceRoot":"","sources":["../../../src/kurot/display/DisplayObject.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DisplayObject.js","sourceRoot":"","sources":["../../../src/kurot/display/DisplayObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAiB,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA6C5E,SAAS,aAAa,CAAC,KAAa;IACnC,KAAK,IAAI,GAAG,CAAC;IACb,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,GAAG,CAAC;IACd,CAAC;SAAM,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;QACzB,KAAK,IAAI,GAAG,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAoBD,MAAM,OAAO,aAAc,SAAQ,eAAoC;IACtE,6EAA6E;IAE7E,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,uBAAuB,GAAoB,EAAE,CAAC;IACrD,MAAM,CAAC,mBAAmB,GAAoB,EAAE,CAAC;IACjD,MAAM,CAAC,oBAAoB,GAAoB,EAAE,CAAC;IAClD,MAAM,CAAC,yBAAyB,GAAoB,EAAE,CAAC;IAEvD,MAAM,CAAC,kBAAkB,CAAc;IAEvC,MAAM,CAAC,kBAAkB,CAAgC;IAEzD,6EAA6E;IAE7E,cAAc,GAAG,KAAK,CAAC;IACvB,SAAS,CAAmB;IAC5B,OAAO,CAA0B;IACjC,MAAM,CAAS;IACf,UAAU,GAAG,CAAC,CAAC;IAEf,EAAE,GAAG,CAAC,CAAC;IACP,EAAE,GAAG,CAAC,CAAC;IACP,cAAc,GAAG,CAAC,CAAC;IACnB,cAAc,GAAG,CAAC,CAAC;IACnB,cAAc,GAAW,GAAG,CAAC;IAC7B,eAAe,GAAW,GAAG,CAAC;IAC9B,aAAa,GAAG,KAAK,CAAC;IAEtB,QAAQ,GAAG,IAAI,CAAC;IAChB,MAAM,GAAG,CAAC,CAAC;IACX,UAAU,GAAG,CAAC,CAAC;IACf,QAAQ,GAAa,EAAE,CAAC;IACxB,cAAc,GAAG,KAAK,CAAC;IACvB,aAAa,GAAY,aAAa,CAAC,mBAAmB,CAAC;IAE3D,KAAK,CAAiB;IACtB,SAAS,CAAa;IACtB,WAAW,CAAa;IACxB,aAAa,CAAiB;IAE9B,WAAW,CAAc;IACzB,iBAAiB,iCAA2C;IAC5D,YAAY,GAAG,KAAK,CAAC;IACrB,WAAW,GAAG,KAAK,CAAC;IACpB,YAAY,CAAe;IAE3B,WAAW,GAAG,CAAC,CAAC;IAChB,UAAU,GAAG,QAAQ,CAAC;IACtB,QAAQ,GAAG,CAAC,CAAC;IAEb,UAAU,GAAG,KAAK,CAAC;IACnB,gBAAgB,GAAG,CAAC,CAAC;IAEb,YAAY,GAAG,IAAI,CAAC;IACX,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC;IAEzC,KAAK,GAAG,EAAE,CAAC;IACX,OAAO,GAAW,IAAI,MAAM,EAAE,CAAC;IAC/B,YAAY,GAAG,KAAK,CAAC;IACrB,mBAAmB,CAAU;IAC7B,2BAA2B,CAAU;IACrC,OAAO,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,KAAK,CAAC;IACf,MAAM,GAAG,KAAK,CAAC;IACf,WAAW,CAAU;IACrB,WAAW,CAAa;IACxB,SAAS,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,CAAC,CAAC;IACX,SAAS,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,CAAC,CAAC;IACX,SAAS,GAAG,CAAC,CAAC;IACd,KAAK,GAAG,QAAQ,CAAC;IACjB,OAAO,GAAG,CAAC,CAAC;IACZ,iBAAiB,GAAG,KAAK,CAAC;IAExB,SAAS,CAAY;IAE/B,6EAA6E;IAE7E;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,CAAC;IAED,6EAA6E;IAE7E,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,IAAW,IAAI,CAAC,KAAa;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IACD,IAAW,MAAM,CAAC,KAAa;QAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,IAAW,CAAC;QACX,OAAO,IAAI,CAAC,EAAE,CAAC;IAChB,CAAC;IACD,IAAW,CAAC,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,IAAW,CAAC;QACX,OAAO,IAAI,CAAC,EAAE,CAAC;IAChB,CAAC;IACD,IAAW,CAAC,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAW,MAAM,CAAC,KAAa;QAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAW,MAAM,CAAC,KAAa;QAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAW,KAAK,CAAC,KAAc;QAC9B,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAChB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAW,KAAK,CAAC,KAAc;QAC9B,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAChB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,QAAQ,CAAC,KAAa;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAW,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3F,CAAC;IACD,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAC9F,CAAC;IACD,IAAW,MAAM,CAAC,KAAa;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACnD,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;IACxC,CAAC;IACD,IAAW,cAAc;QACxB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC;IACzC,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IACD,IAAW,aAAa,CAAC,KAAa;QACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IACD,IAAW,aAAa,CAAC,KAAa;QACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,IAAW,OAAO,CAAC,KAAc;QAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IACD,IAAW,aAAa,CAAC,KAAc;QACtC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,KAAsC;QAC3D,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,IAAW,iBAAiB;QAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,IAAW,OAAO,CAAC,KAAe;QACjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IACD,IAAW,YAAY,CAAC,KAAc;QACrC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IACD,IAAW,UAAU,CAAC,KAA4B;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IACD,IAAW,SAAS,CAAC,KAAa;QACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,IAAW,IAAI,CAAC,KAA4C;QAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,IAAW,IAAI,CAAC,KAAa;QAC5B,IAAI,CAAC,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7F,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAW,MAAM,CAAC,KAAa;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,IAAW,gBAAgB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IACD,IAAW,gBAAgB,CAAC,KAAc;QACzC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,6EAA6E;IAEtE,SAAS,CAAC,UAAsB,EAAE,eAAe,GAAG,IAAI;QAC9D,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC;YACrC,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC;YACrC,CAAC;QACF,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAEM,oBAAoB,CAAC,qBAAoC,EAAE,UAAsB;QACvF,OAAO,IAAI,CAAC,6BAA6B,CAAC,qBAAqB,IAAI,IAAI,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IAEM,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,WAAmB;QAC/D,OAAO,IAAI,CAAC,8BAA8B,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1F,CAAC;IAEM,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,WAAmB;QAC/D,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClF,CAAC;IAEM,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,SAAmB;QAC5D,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;QAChD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;IAC1C,CAAC;IAEM,YAAY;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IAEe,aAAa,CAAC,KAAY;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACtC,KAAK,CAAC,kBAAkB,CAAC,IAAI,+BAAuB,CAAC;QACrD,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACpC,CAAC;IAEe,WAAW,CAAC,IAAY;QACvC,IAAI,IAAI,GAA8B,IAAI,CAAC;QAC3C,OAAO,IAAI,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAce,gBAAgB,CAC/B,IAAY;IACZ,8DAA8D;IAC9D,QAA8B,EAC9B,UAAoB,EACpB,QAAiB;QAEjB,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,KAAK,CAAC,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,GACT,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACxG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACF,CAAC;IACF,CAAC;IAQe,mBAAmB,CAClC,IAAY;IACZ,8DAA8D;IAC9D,QAA8B,EAC9B,UAAoB;QAEpB,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,GACT,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACxG,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC;QACF,CAAC;IACF,CAAC;IAED,6EAA6E;IAE7E,UAAU,CAAC,MAA0C;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,KAAY,EAAE,UAAkB;QAC7C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,KAAK,CACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAC9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,EACnC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CACnC,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,MAAiB;QACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,oBAAoB,GAAG,IAAI;QACrD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvG,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,MAAM,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5F,CAAC;aAAM,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,8BAA8B;QAC7B,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACvC,IAAI,CAAC,2BAA2B,GAAG,IAAI,MAAM,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,sBAAsB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,2BAA2B,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,UAAU,CAAC,KAAa;QACvB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,KAAa;QACvB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,KAAa;QACzB,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,KAAc;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,KAA4B;QAC1C,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO;QACR,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,EAAE,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,KAAc;QAChC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3C,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,EAAE,EAAE,CAAC;gBACR,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACzB,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,CAAC;QACF,CAAC;QACD,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,aAAa;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACzB,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,aAAa,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,cAAc;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,aAAa;YACjB,IAAI,CAAC,MAAM;gBACX,IAAI,CAAC,MAAM;gBACX,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,0BAAkB,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,4BAAoB,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,WAAW,0BAAkB,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,WAAW,gCAAwB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,mBAAmB,CAAC,OAAkB,IAAS,CAAC;IAEhD,iBAAiB;QAChB,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,qBAAqB,CAAC,OAAkB,IAAS,CAAC;IAElD,6BAA6B,CAAC,qBAAoC,EAAE,UAAsB;QACzF,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,UAAU,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,CAAC;QACD,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,GAAG,YAAY,CAAC;QACvB,qBAAqB,CAAC,8BAA8B,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,wBAAwB,CAAC,IAAmB,EAAE,MAAc;QAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtG,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;gBAChC,IAAI,IAAI;oBAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACnC,MAAM,GAAG,MAAM,CAAC,OAAQ,CAAC;YAC1B,CAAC;QACF,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,MAAc;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAChD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;gBAChD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC5C,OAAO,SAAS,CAAC;gBAClB,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBACxD,OAAO,SAAS,CAAC;gBAClB,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,iBAAiB,KAAU,CAAC;IAE5B,mBAAmB,CAAC,MAAqB;QACxC,MAAM,IAAI,GAAoB,EAAE,CAAC;QACjC,IAAI,OAAO,GAA8B,MAAM,CAAC;QAChD,OAAO,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,yBAAyB,CAAC,KAAY,EAAE,IAAqB,EAAE,WAAmB;QACjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,KAAa,CAAC;YAClB,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,qCAA6B,CAAC;YACpC,CAAC;iBAAM,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC;gBAC5B,KAAK,oCAA4B,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACP,KAAK,+BAAuB,CAAC;YAC9B,CAAC;YAED,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACtC,KAAK,CAAC,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAE/C,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;YAErD,IAAI,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,6BAA6B,EAAE,CAAC;gBACvE,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED,6EAA6E;IAE7E,QAAQ,CAAC,KAA4C;QACpD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACpC,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC5B,OAAO;YACR,CAAC;YACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACzB,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;YACtC,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;gBACvC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAClC,CAAC;YACD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YAC3B,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,CAAC;aAAM,CAAC;YACP,IAAI,YAAY,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;gBACvC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1B,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;gBACtB,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClD,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;YACnB,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACf,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,aAAa,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,aAAa,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,aAAa,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAED,4EAA4E;IAEpE,cAAc;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Bitmap } from '../display/Bitmap.js';
|
|
2
|
+
type BitmapRegionDrawer = (sourceX: number, sourceY: number, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number) => void;
|
|
3
|
+
/**
|
|
4
|
+
* Emits natural-size clip/repeat regions without stretching atlas content.
|
|
5
|
+
* Tile periods include trim margins. Source origins are atlas coordinates;
|
|
6
|
+
* source dimensions remain upright, matching RenderContext's rotated contract.
|
|
7
|
+
*/
|
|
8
|
+
export declare function drawUnscaledBitmapFill(bitmap: Bitmap, width: number, height: number, draw: BitmapRegionDrawer): void;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=bitmap-fill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmap-fill.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/bitmap-fill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,KAAK,kBAAkB,GAAG,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,KACd,IAAI,CAAC;AAEV;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CA+BpH"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BitmapFillMode } from '../display/enums/BitmapFillMode.js';
|
|
2
|
+
import { textureScaleFactor } from '../display/texture/Texture.js';
|
|
3
|
+
/**
|
|
4
|
+
* Emits natural-size clip/repeat regions without stretching atlas content.
|
|
5
|
+
* Tile periods include trim margins. Source origins are atlas coordinates;
|
|
6
|
+
* source dimensions remain upright, matching RenderContext's rotated contract.
|
|
7
|
+
*/
|
|
8
|
+
export function drawUnscaledBitmapFill(bitmap, width, height, draw) {
|
|
9
|
+
const tileWidth = bitmap.textureWidth;
|
|
10
|
+
const tileHeight = bitmap.textureHeight;
|
|
11
|
+
const scale = textureScaleFactor;
|
|
12
|
+
if (![width, height, tileWidth, tileHeight, scale].every(value => Number.isFinite(value) && value > 0)) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const repeat = bitmap.fillMode === BitmapFillMode.REPEAT;
|
|
16
|
+
const limitX = repeat ? width : Math.min(width, tileWidth);
|
|
17
|
+
const limitY = repeat ? height : Math.min(height, tileHeight);
|
|
18
|
+
const left = Math.max(0, bitmap.bitmapOffsetX);
|
|
19
|
+
const top = Math.max(0, bitmap.bitmapOffsetY);
|
|
20
|
+
const right = Math.min(tileWidth, bitmap.bitmapOffsetX + bitmap.bitmapWidth * scale);
|
|
21
|
+
const bottom = Math.min(tileHeight, bitmap.bitmapOffsetY + bitmap.bitmapHeight * scale);
|
|
22
|
+
const rotated = bitmap.texture?.rotated ?? false;
|
|
23
|
+
for (let y = 0; y < limitY; y += tileHeight) {
|
|
24
|
+
const drawHeight = Math.min(bottom, limitY - y) - top;
|
|
25
|
+
if (drawHeight <= 0)
|
|
26
|
+
continue;
|
|
27
|
+
for (let x = 0; x < limitX; x += tileWidth) {
|
|
28
|
+
const drawWidth = Math.min(right, limitX - x) - left;
|
|
29
|
+
if (drawWidth <= 0)
|
|
30
|
+
continue;
|
|
31
|
+
const cropX = (left - bitmap.bitmapOffsetX) / scale;
|
|
32
|
+
const cropY = (top - bitmap.bitmapOffsetY) / scale;
|
|
33
|
+
const sourceWidth = drawWidth / scale;
|
|
34
|
+
const sourceHeight = drawHeight / scale;
|
|
35
|
+
const sourceX = bitmap.bitmapX + (rotated ? bitmap.bitmapHeight - cropY - sourceHeight : cropX);
|
|
36
|
+
const sourceY = bitmap.bitmapY + (rotated ? cropX : cropY);
|
|
37
|
+
draw(sourceX, sourceY, sourceWidth, sourceHeight, x + left, y + top, drawWidth, drawHeight);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=bitmap-fill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmap-fill.js","sourceRoot":"","sources":["../../../src/kurot/player/bitmap-fill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/CanvasRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAyB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/CanvasRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAyB,MAAM,yBAAyB,CAAC;AAKxE,OAAO,EAAE,QAAQ,EAAsB,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMpD,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAwBhE;;GAEG;AACH,qBAAa,cAAc;IAE1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4C;IAC7E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8C;IACjF,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,WAAW,CAAK;IAIxB;;OAEG;IACI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAiBnF,eAAe,CACrB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,GACZ,IAAI;IAUA,uBAAuB,CAC7B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,UAAQ,EAClB,SAAS,UAAQ,GACf,IAAI;IAIA,wBAAwB,CAC9B,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,IAAI;IAIA,qBAAqB,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,IAAI;IAKP,OAAO,CAAC,iBAAiB;IAkHzB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,cAAc;IAuGtB,OAAO,CAAC,YAAY;IAuFpB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,YAAY;IAoDpB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,gBAAgB;IAqDxB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,oBAAoB;IA2E5B,OAAO,CAAC,cAAc;IAoEtB,OAAO,CAAC,eAAe;IAiLvB,OAAO,CAAC,oBAAoB;IAoD5B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,sBAAsB;CAmI9B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Bitmap, setBitmapPixelHitTest } from '../../display/Bitmap.js';
|
|
2
|
+
import { BitmapFillMode } from '../../display/enums/BitmapFillMode.js';
|
|
2
3
|
import { setGraphicsHitTest } from '../../display/Graphics.js';
|
|
3
4
|
import { textureScaleFactor } from '../../display/texture/Texture.js';
|
|
4
5
|
import { Rectangle } from '../../geom/Rectangle.js';
|
|
@@ -13,6 +14,7 @@ import { getFontString } from '../../text/TextMeasurer.js';
|
|
|
13
14
|
import { getTextRenderPadding } from '../../text/TextRenderBounds.js';
|
|
14
15
|
import { CanvasBuffer, hitTestBuffer } from './CanvasBuffer.js';
|
|
15
16
|
import { getRenderContentBounds } from '../render-bounds.js';
|
|
17
|
+
import { drawUnscaledBitmapFill } from '../bitmap-fill.js';
|
|
16
18
|
const CAPS_MAP = { none: 'butt', square: 'square', round: 'round' };
|
|
17
19
|
const CANVAS_BLUR_RADIUS_SCALE = 0.25;
|
|
18
20
|
function colorToString(color) {
|
|
@@ -127,8 +129,8 @@ export class CanvasRenderer {
|
|
|
127
129
|
let childOffsetY;
|
|
128
130
|
if (child.$useTranslate) {
|
|
129
131
|
const m = child.$getMatrix();
|
|
130
|
-
childOffsetX = offsetX +
|
|
131
|
-
childOffsetY = offsetY +
|
|
132
|
+
childOffsetX = offsetX + m.tx;
|
|
133
|
+
childOffsetY = offsetY + m.ty;
|
|
132
134
|
ctx.save();
|
|
133
135
|
ctx.transform(m.a, m.b, m.c, m.d, childOffsetX, childOffsetY);
|
|
134
136
|
childOffsetX = -child.$anchorOffsetX;
|
|
@@ -438,6 +440,10 @@ export class CanvasRenderer {
|
|
|
438
440
|
if (destW <= 0 || destH <= 0 || bitmap.textureWidth <= 0 || bitmap.textureHeight <= 0)
|
|
439
441
|
return 0;
|
|
440
442
|
ctx.imageSmoothingEnabled = bitmap.smoothing;
|
|
443
|
+
if (bitmap.fillMode !== BitmapFillMode.SCALE) {
|
|
444
|
+
this._drawUnscaledBitmap(bitmap, ctx, offsetX, offsetY, destW, destH);
|
|
445
|
+
return 1;
|
|
446
|
+
}
|
|
441
447
|
const grid = bitmap.scale9Grid;
|
|
442
448
|
if (grid) {
|
|
443
449
|
const tinted = this._globalTint !== 0xffffff;
|
|
@@ -462,6 +468,27 @@ export class CanvasRenderer {
|
|
|
462
468
|
}
|
|
463
469
|
return 1;
|
|
464
470
|
}
|
|
471
|
+
_drawUnscaledBitmap(bitmap, ctx, offsetX, offsetY, width, height) {
|
|
472
|
+
const rotated = bitmap.texture?.rotated ?? false;
|
|
473
|
+
const tinted = this._globalTint !== 0xffffff;
|
|
474
|
+
const source = tinted
|
|
475
|
+
? this.getTintedBitmapSource(bitmap, this._globalTint, rotated)
|
|
476
|
+
: bitmap.bitmapData.source;
|
|
477
|
+
drawUnscaledBitmapFill(bitmap, width, height, (sx, sy, sw, sh, dx, dy, dw, dh) => {
|
|
478
|
+
const sourceX = sx - (tinted ? bitmap.bitmapX : 0);
|
|
479
|
+
const sourceY = sy - (tinted ? bitmap.bitmapY : 0);
|
|
480
|
+
if (rotated) {
|
|
481
|
+
ctx.save();
|
|
482
|
+
ctx.translate(offsetX + dx, offsetY + dy + dh);
|
|
483
|
+
ctx.rotate(-Math.PI / 2);
|
|
484
|
+
ctx.drawImage(source, sourceX, sourceY, sh, sw, 0, 0, dh, dw);
|
|
485
|
+
ctx.restore();
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
ctx.drawImage(source, sourceX, sourceY, sw, sh, offsetX + dx, offsetY + dy, dw, dh);
|
|
489
|
+
}
|
|
490
|
+
});
|
|
491
|
+
}
|
|
465
492
|
drawScale9Bitmap(bitmap, grid, ctx, source, sourceX, sourceY, offsetX, offsetY, destW, destH) {
|
|
466
493
|
const scale = textureScaleFactor;
|
|
467
494
|
const bw = bitmap.bitmapWidth;
|