@kurot/core 2.3.1 → 2.3.3
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 +51 -2
- package/README.md +28 -4
- 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 +35 -5
- package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
- package/dist/kurot/player/canvas/DisplayList.d.ts.map +1 -1
- package/dist/kurot/player/canvas/DisplayList.js +2 -1
- package/dist/kurot/player/canvas/DisplayList.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/pipes/MaskPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/MaskPipe.js +3 -2
- package/dist/kurot/player/pipes/MaskPipe.js.map +1 -1
- package/dist/kurot/player/pipes/TextPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/TextPipe.js +9 -5
- package/dist/kurot/player/pipes/TextPipe.js.map +1 -1
- package/dist/kurot/player/pipes/filter-bounds.d.ts.map +1 -1
- package/dist/kurot/player/pipes/filter-bounds.js +2 -18
- package/dist/kurot/player/pipes/filter-bounds.js.map +1 -1
- package/dist/kurot/player/render-bounds.d.ts +8 -0
- package/dist/kurot/player/render-bounds.d.ts.map +1 -0
- package/dist/kurot/player/render-bounds.js +35 -0
- package/dist/kurot/player/render-bounds.js.map +1 -0
- package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js +2 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
- package/dist/kurot/text/TextRenderBounds.d.ts +7 -0
- package/dist/kurot/text/TextRenderBounds.d.ts.map +1 -0
- package/dist/kurot/text/TextRenderBounds.js +21 -0
- package/dist/kurot/text/TextRenderBounds.js.map +1 -0
- package/docs/ai-context.md +16 -2
- package/docs/bitmap-fill.md +42 -0
- package/docs/text-layout.md +44 -13
- package/package.json +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { textureScaleFactor } from '../../display/texture/Texture.js';
|
|
2
|
+
import { BitmapFillMode } from '../../display/enums/BitmapFillMode.js';
|
|
3
|
+
import { drawUnscaledBitmapFill } from '../bitmap-fill.js';
|
|
2
4
|
/**
|
|
3
5
|
* Renders bitmap instructions through a render buffer.
|
|
4
6
|
*/
|
|
@@ -30,7 +32,12 @@ export class BitmapPipe {
|
|
|
30
32
|
buffer.offsetX = 0;
|
|
31
33
|
buffer.offsetY = 0;
|
|
32
34
|
const grid = bitmap.scale9Grid;
|
|
33
|
-
if (
|
|
35
|
+
if (bitmap.fillMode !== BitmapFillMode.SCALE) {
|
|
36
|
+
drawUnscaledBitmapFill(bitmap, destW, destH, (sx, sy, sw, sh, dx, dy, dw, dh) => {
|
|
37
|
+
buffer.context.drawImage(bd, sx, sy, sw, sh, dx, dy, dw, dh, bitmap.sourceWidth, bitmap.sourceHeight, bitmap.texture?.rotated ?? false, bitmap.smoothing);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else if (grid) {
|
|
34
41
|
this._drawScale9(bitmap, bd, grid, destW, destH, buffer);
|
|
35
42
|
}
|
|
36
43
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitmapPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/BitmapPipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"BitmapPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/BitmapPipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaskPipe.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/MaskPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MaskPipe.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/MaskPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOnD,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEhH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACtD,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,mBAAmB,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,QAAS,YAAW,UAAU,CAAC,aAAa,CAAC;IAEzD,gBAAuB,OAAO,cAAc;IAC5C,gBAAuB,MAAM,aAAa;IAE1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAI5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;gBAI9B,cAAc,EAAE,cAAc;IAM1C,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAE3E,gBAAgB,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI;WAE3C,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB;WAa1F,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,GAAG,kBAAkB;WAUjF,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;WAK5C,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAMxD;;OAEG;IACI,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO;IA8BpF,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAQlF;;OAEG;IACI,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS;IAqC3G;;;;OAIG;IACI,cAAc,CACpB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,iBAAiB,GAAG,SAAS,GAC1C,IAAI;CA6FP"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Matrix } from '../../geom/Matrix.js';
|
|
2
2
|
import { WebGLRenderBuffer as WGLBuf } from '../webgl/WebGLRenderBuffer.js';
|
|
3
3
|
import { fitTextureResolution } from '../webgl/WebGLUtils.js';
|
|
4
|
+
import { getRenderContentBounds } from '../render-bounds.js';
|
|
4
5
|
const INSTRUCTION_POOL_LIMIT = 256;
|
|
5
6
|
/**
|
|
6
7
|
* Renders masks and clipping regions through paired push and pop instructions.
|
|
@@ -102,7 +103,7 @@ export class MaskPipe {
|
|
|
102
103
|
}
|
|
103
104
|
return undefined;
|
|
104
105
|
}
|
|
105
|
-
const bounds = renderable
|
|
106
|
+
const bounds = getRenderContentBounds(renderable);
|
|
106
107
|
if (bounds.width <= 0 || bounds.height <= 0) {
|
|
107
108
|
return undefined;
|
|
108
109
|
}
|
|
@@ -136,7 +137,7 @@ export class MaskPipe {
|
|
|
136
137
|
}
|
|
137
138
|
return;
|
|
138
139
|
}
|
|
139
|
-
const bounds = renderable
|
|
140
|
+
const bounds = getRenderContentBounds(renderable);
|
|
140
141
|
const bx = bounds.x;
|
|
141
142
|
const by = bounds.y;
|
|
142
143
|
const bw = bounds.width;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaskPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/MaskPipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,iBAAiB,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"MaskPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/MaskPipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextPipe.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/TextPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextPipe.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/TextPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAYD;;GAEG;AACH,qBAAa,QAAS,YAAW,UAAU,CAAC,SAAS,CAAC;IAErD,gBAAuB,OAAO,UAAU;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAGtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IAEpE,OAAO,CAAC,QAAQ,CAAC,CAAgB;gBAGd,cAAc,EAAE,cAAc;WAMnC,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAI3C,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAI7D,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAEtC,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAa7C;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAqHjE,OAAO,CAAC,MAAM,CAAC,MAAM;CAYrB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CanvasBuffer } from '../canvas/index.js';
|
|
2
|
+
import { getTextRenderPadding } from '../../text/TextRenderBounds.js';
|
|
2
3
|
/**
|
|
3
4
|
* Rasterizes text fields into cached textures for render-buffer drawing.
|
|
4
5
|
*/
|
|
@@ -43,11 +44,14 @@ export class TextPipe {
|
|
|
43
44
|
tf.getLinesArr();
|
|
44
45
|
if (!this._context)
|
|
45
46
|
this._context = buffer.context;
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
47
|
+
const width = !isNaN(tf.$explicitWidth) ? tf.$explicitWidth : tf.textWidth;
|
|
48
|
+
const height = !isNaN(tf.$explicitHeight) ? tf.$explicitHeight : tf.textHeight;
|
|
49
|
+
if (width <= 0 || height <= 0) {
|
|
49
50
|
return;
|
|
50
51
|
}
|
|
52
|
+
const padding = getTextRenderPadding(tf);
|
|
53
|
+
const logicalW = Math.ceil(width + padding * 2);
|
|
54
|
+
const logicalH = Math.ceil(height + padding * 2);
|
|
51
55
|
buffer.offsetX = 0;
|
|
52
56
|
buffer.offsetY = 0;
|
|
53
57
|
const requestedResolution = tf.resolution ?? buffer.context.resolution;
|
|
@@ -102,7 +106,7 @@ export class TextPipe {
|
|
|
102
106
|
if (canvasScaleX !== 1 || canvasScaleY !== 1) {
|
|
103
107
|
ctx.setTransform(canvasScaleX, 0, 0, canvasScaleY, 0, 0);
|
|
104
108
|
}
|
|
105
|
-
this._canvasRenderer.renderTextFieldToContext(tf, ctx,
|
|
109
|
+
this._canvasRenderer.renderTextFieldToContext(tf, ctx, padding, padding);
|
|
106
110
|
const surface = cache.canvasBuffer.surface;
|
|
107
111
|
if (!cache.texture) {
|
|
108
112
|
cache.texture = buffer.context.createTexture(surface);
|
|
@@ -124,7 +128,7 @@ export class TextPipe {
|
|
|
124
128
|
}
|
|
125
129
|
if (!cache.texture)
|
|
126
130
|
return;
|
|
127
|
-
buffer.context.drawTexture(cache.texture, 0, 0, cache.textureWidth, cache.textureHeight, 0, 0, cache.textureWidth / canvasScaleX, cache.textureHeight / canvasScaleY, cache.textureWidth, cache.textureHeight);
|
|
131
|
+
buffer.context.drawTexture(cache.texture, 0, 0, cache.textureWidth, cache.textureHeight, 0 - padding, 0 - padding, cache.textureWidth / canvasScaleX, cache.textureHeight / canvasScaleY, cache.textureWidth, cache.textureHeight);
|
|
128
132
|
}
|
|
129
133
|
// ── Private methods ───────────────────────────────────────────────────────
|
|
130
134
|
static _alloc(tf, ox, oy) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/TextPipe.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/TextPipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-bounds.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/filter-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"filter-bounds.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/filter-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAEtE"}
|
|
@@ -1,25 +1,9 @@
|
|
|
1
|
+
import { getRenderContentBounds } from '../render-bounds.js';
|
|
1
2
|
/**
|
|
2
3
|
* Render-only bounds include descendant effects without changing layout bounds.
|
|
3
4
|
* The owner's padding is added separately by FilterPipe.
|
|
4
5
|
*/
|
|
5
6
|
export function getFilterContentBounds(owner) {
|
|
6
|
-
|
|
7
|
-
for (const child of owner.$children ?? []) {
|
|
8
|
-
if (!child.visible || child.alpha <= 0 || child.$maskedObject)
|
|
9
|
-
continue;
|
|
10
|
-
const childBounds = getFilterContentBounds(child);
|
|
11
|
-
for (const filter of child.$filters) {
|
|
12
|
-
const padding = filter.getPadding();
|
|
13
|
-
childBounds.x -= padding.left;
|
|
14
|
-
childBounds.y -= padding.top;
|
|
15
|
-
childBounds.width += padding.left + padding.right;
|
|
16
|
-
childBounds.height += padding.top + padding.bottom;
|
|
17
|
-
}
|
|
18
|
-
childBounds.x -= child.$anchorOffsetX + (child.$scrollRect?.x ?? 0);
|
|
19
|
-
childBounds.y -= child.$anchorOffsetY + (child.$scrollRect?.y ?? 0);
|
|
20
|
-
child.$getMatrix().transformBounds(childBounds);
|
|
21
|
-
bounds = bounds.union(childBounds);
|
|
22
|
-
}
|
|
23
|
-
return bounds;
|
|
7
|
+
return getRenderContentBounds(owner, true);
|
|
24
8
|
}
|
|
25
9
|
//# sourceMappingURL=filter-bounds.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-bounds.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/filter-bounds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter-bounds.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/filter-bounds.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAoB;IAC1D,OAAO,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DisplayObject } from '../display/DisplayObject.js';
|
|
2
|
+
import type { Rectangle } from '../geom/Rectangle.js';
|
|
3
|
+
/**
|
|
4
|
+
* Includes descendant text ink without changing layout or hit-test bounds.
|
|
5
|
+
* With filters enabled, includes descendant effects but not the owner's filters.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getRenderContentBounds(owner: DisplayObject, includeFilters?: boolean): Rectangle;
|
|
8
|
+
//# sourceMappingURL=render-bounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-bounds.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/render-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,UAAQ,GAAG,SAAS,CA2B9F"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getTextRenderPadding } from '../text/TextRenderBounds.js';
|
|
2
|
+
/**
|
|
3
|
+
* Includes descendant text ink without changing layout or hit-test bounds.
|
|
4
|
+
* With filters enabled, includes descendant effects but not the owner's filters.
|
|
5
|
+
*/
|
|
6
|
+
export function getRenderContentBounds(owner, includeFilters = false) {
|
|
7
|
+
let bounds = owner.$getOriginalBounds().clone();
|
|
8
|
+
if (owner.$renderObjectType === 5 /* RenderObjectType.TEXT */ && bounds.width > 0 && bounds.height > 0) {
|
|
9
|
+
const padding = getTextRenderPadding(owner);
|
|
10
|
+
bounds.x -= padding;
|
|
11
|
+
bounds.y -= padding;
|
|
12
|
+
bounds.width += padding * 2;
|
|
13
|
+
bounds.height += padding * 2;
|
|
14
|
+
}
|
|
15
|
+
for (const child of owner.$children ?? []) {
|
|
16
|
+
if (!child.visible || child.alpha <= 0 || child.$maskedObject)
|
|
17
|
+
continue;
|
|
18
|
+
const childBounds = getRenderContentBounds(child, includeFilters);
|
|
19
|
+
if (includeFilters) {
|
|
20
|
+
for (const filter of child.$filters) {
|
|
21
|
+
const padding = filter.getPadding();
|
|
22
|
+
childBounds.x -= padding.left;
|
|
23
|
+
childBounds.y -= padding.top;
|
|
24
|
+
childBounds.width += padding.left + padding.right;
|
|
25
|
+
childBounds.height += padding.top + padding.bottom;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
childBounds.x -= child.$anchorOffsetX + (child.$scrollRect?.x ?? 0);
|
|
29
|
+
childBounds.y -= child.$anchorOffsetY + (child.$scrollRect?.y ?? 0);
|
|
30
|
+
child.$getMatrix().transformBounds(childBounds);
|
|
31
|
+
bounds = bounds.union(childBounds);
|
|
32
|
+
}
|
|
33
|
+
return bounds;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=render-bounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-bounds.js","sourceRoot":"","sources":["../../../src/kurot/player/render-bounds.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAoB,EAAE,cAAc,GAAG,KAAK;IAClF,IAAI,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,iBAAiB,kCAA0B,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChG,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAkB,CAAC,CAAC;QACzD,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC;QACpB,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC;QACpB,MAAM,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,aAAa;YAAE,SAAS;QACxE,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,cAAc,EAAE,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpC,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;gBAC9B,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC;gBAC7B,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;gBAClD,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YACpD,CAAC;QACF,CAAC;QACD,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGLRenderer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAKjF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAe9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"WebGLRenderer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAKjF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAe9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAgE3D;;GAEG;AACH,qBAAa,aAAa;IAEzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IAGxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwB;IAC7D,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyD;IAC1F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8C;IAGlF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,UAAU,CAAK;;IAcvB,OAAO,CAAC,oBAAoB;IAoB5B;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAiD9F,OAAO,CAAC,kBAAkB;IA0E1B,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,sBAAsB;IA4D9B,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,4BAA4B;IA2BpC,OAAO,CAAC,4BAA4B;IAsBpC,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IA2H5B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,4BAA4B;IA4BpC,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,iBAAiB;IAuBzB;;;;;;OAMG;IACI,kBAAkB,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAuBxD,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAsBpD,OAAO,CAAC,cAAc;CAWtB"}
|
|
@@ -11,6 +11,7 @@ import { TextPipe } from '../pipes/TextPipe.js';
|
|
|
11
11
|
import { ParticlePipe } from '../pipes/ParticlePipe.js';
|
|
12
12
|
import { BitmapTextPipe } from '../pipes/BitmapTextPipe.js';
|
|
13
13
|
import { WebGLRenderBuffer } from './WebGLRenderBuffer.js';
|
|
14
|
+
import { getRenderContentBounds } from '../render-bounds.js';
|
|
14
15
|
const STAGE_BUILD_OPTIONS = { isStage: true };
|
|
15
16
|
const MASK_BUILD_OPTIONS = { inlineRenderGroups: true };
|
|
16
17
|
// ── WebGLRenderer ─────────────────────────────────────────────────────────────
|
|
@@ -544,7 +545,7 @@ export class WebGLRenderer {
|
|
|
544
545
|
const displayBuffer = this._maskPipe.executeClipPush(push, activeBuffer);
|
|
545
546
|
offscreenStack.push(displayBuffer);
|
|
546
547
|
if (displayBuffer) {
|
|
547
|
-
this._configureOffscreenTransform(displayBuffer, push.renderable
|
|
548
|
+
this._configureOffscreenTransform(displayBuffer, getRenderContentBounds(push.renderable), pushT);
|
|
548
549
|
activeBuffer = displayBuffer;
|
|
549
550
|
}
|
|
550
551
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGLRenderer.js","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAKjF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAA0B,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAA4B,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAyD,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAqD,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,YAAY,EAA4B,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsB3D,MAAM,mBAAmB,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvE,MAAM,kBAAkB,GAA4B,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;AAsCjF,iFAAiF;AAEjF;;GAEG;AACH,MAAM,OAAO,aAAa;IACzB,6EAA6E;IAC5D,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;IACvC,WAAW,CAAa;IACxB,aAAa,CAAe;IAC5B,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;IAC/B,SAAS,CAAW;IACpB,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;IAExD,6EAA6E;IAC5D,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;IACvC,oBAAoB,GAAqB,EAAE,CAAC;IACrD,qBAAqB,GAAG,CAAC,CAAC;IAEjB,gBAAgB,GAAG,IAAI,OAAO,EAA0C,CAAC;IACzE,mBAAmB,GAA2C,EAAE,CAAC;IAElF,0EAA0E;IACzD,cAAc,GAAG,IAAI,MAAM,EAAE,CAAC;IACvC,UAAU,GAAG,CAAC,CAAC;IAEvB;QACC,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YAC/D,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAEpE,oBAAoB,CAAC,GAAmB;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,KAAK,YAAY;oBAChB,UAAU,CAAC,WAAW,CAAC,IAA6B,CAAC,CAAC;oBACtD,MAAM;gBACP,KAAK,WAAW;oBACf,UAAU,CAAC,UAAU,CAAC,IAA4B,CAAC,CAAC;oBACpD,MAAM;gBACP,KAAK,UAAU;oBACd,QAAQ,CAAC,WAAW,CAAC,IAA2B,CAAC,CAAC;oBAClD,MAAM;gBACP,KAAK,SAAS;oBACb,QAAQ,CAAC,UAAU,CAAC,IAA0B,CAAC,CAAC;oBAChD,MAAM;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAA4B,EAAE,MAAyB,EAAE,MAAc;QACpF,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,CAAC;YACJ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAElE,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;YAEjC,yEAAyE;YACzE,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAC/F,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,qEAAqE;gBACrE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAEvC,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;YACnC,OAAO,SAAS,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC;QACb,CAAC;gBAAS,CAAC;YACV,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC3B,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACF,CAAC;IACF,CAAC;IAED,6EAA6E;IAErE,kBAAkB,CACzB,aAA4B,EAC5B,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAChD,IAAI,YAAY,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACjF,IAAI,IAAI;gBAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACR,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAEhH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,WAAW,4BAAoB;gBAAE,SAAS;YAEpD,IAAI,EAAU,EAAE,EAAU,CAAC;YAC3B,IAAI,WAA+B,CAAC;YAEpC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7B,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;gBACxB,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;gBACxB,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC3B,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;gBAC/C,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;YACxC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;YAEzE,IAAI,CAAC,YAAY,EAAE,kBAAkB,IAAI,KAAK,YAAY,sBAAsB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACzG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;oBAC3B;wBACC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;wBAC5D,MAAM;oBACP;wBACC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;wBAC1D,MAAM;oBACP;wBACC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;wBAChE,MAAM;oBACP;wBACC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;gBACpE,CAAC;YACF,CAAC;YACD,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;YAC/B,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;YAElC,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC1C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;IACF,CAAC;IAEO,UAAU,CACjB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAoB,CAAC,CAAC;IAC3E,CAAC;IAEO,sBAAsB,CAC7B,GAAkB,EAClB,OAAe,EACf,OAAe;QAEf,QAAQ,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC/B;gBACC,OAAO;oBACN,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,GAAW;oBACvB,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO;oBACN,YAAY,EAAE,QAAQ;oBACtB,UAAU,EAAE,GAAa;oBACzB,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO;oBACN,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAG,GAAa,CAAC,QAAQ;oBACjC,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,GAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACxF;gBACC,OAAO;oBACN,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,GAAgB;oBAC5B,OAAO;oBACP,OAAO;iBACP,CAAC;YACH,oCAA4B,CAAC,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,GAAa,CAAC;gBAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC5D,OAAO;oBACN,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO;oBACP,OAAO;iBACP,CAAC;YACH,CAAC;YACD;gBACC,OAAO;oBACN,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,GAAG;oBACf,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO,SAAS,CAAC;QACnB,CAAC;IACF,CAAC;IAEO,YAAY,CACnB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,OAAO;QACR,CAAC;QACD,IAAI,IAAqC,CAAC;QAC1C,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACnD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;gBAC9D,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;aAC5D,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YAC/B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC1C,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC7B,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;YAC/E,SAAS;SACT,CAA0B,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAA6B,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEO,UAAU,CACjB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAA0B,CAAC;QAC7G,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,gBAAgB,CACvB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO;QAEpC,IAAI,EAAE,GAAG,OAAO,EACf,EAAE,GAAG,OAAO,CAAC;QACd,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACb,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAA0B,CAAC;QAC5G,IAA4B,CAAC,YAAY,GAAG,IAAI,CAAC;QAClD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,iBAAiB,CACxB,GAA2B,EAC3B,SAAyB,EACzB,MAAyB,EACzB,OAAe,EACf,OAAe;QAEf,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,SAAS,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,GAAG;YACf,GAAG,EAAE,QAAQ;YACb,OAAO;YACP,OAAO;YACP,SAAS;SACiB,CAAC,CAAC;IAC9B,CAAC;IAEO,qBAAqB,CAC5B,GAAkB,EAClB,OAAe,EACf,OAAe,EACf,MAAyB;QAEzB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO;YACN,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,GAAG;YACf,SAAS;SACT,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,kBAAkB,CAAC,MAAyB,EAAE,OAAe,EAAE,OAAe;QACrF,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9B,OAAO;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,IAAI,EAAE,MAAM,CAAC,eAAe;SAC5B,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,uBAAuB,CAAC,GAAmB;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,CAAC;qBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,SAAS;YACV,CAAC;YACD,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAqE,CAAC;gBACvG,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa;oBAAE,qBAAqB,GAAG,IAAI,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC;QACD,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAC7B,CAAC;IAEO,oBAAoB,CAAC,GAAmB,EAAE,MAAyB;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa;gBAAE,SAAS;YAClD,MAAM,KAAK,GAAG,IAA8B,CAAC;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;YAC3B,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;gBACzC,IAAI,CAAC;oBACJ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC9C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACjB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;gBACjC,CAAC;wBAAS,CAAC;oBACV,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC1C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;oBAChC,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC;oBACnC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAEO,4BAA4B,CAAC,GAAkB,EAAE,GAAmB;QAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACnD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;YACjF,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC/D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CACgC,CAAC;oBAClE,IAAI,IAAI;wBAAE,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC;YACF,CAAC;YACD,IAAI,KAAK,YAAY,sBAAsB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc;oBAAE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC9E,SAAS;YACV,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;IACF,CAAC;IAEO,4BAA4B,CACnC,GAAkB,EAClB,IAAsE;QAEtE,MAAM,EAAE,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACzB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjD,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC;QAC1B,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,2BAA2B,CAClC,GAAkB,EAClB,IAAyB,EACzB,SAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,WAAW;YAAE,OAAO;QACnD,+EAA+E;QAC/E,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC;QAC7B,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC5D,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,mBAAmB,CAAC,GAAkB;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,6EAA6E;IAErE,oBAAoB,CAAC,GAAmB,EAAE,MAAyB;QAC1E,MAAM,cAAc,GAAsC,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAc,EAAE,CAAC;QACnC,MAAM,aAAa,GAAwB,EAAE,CAAC;QAC9C,IAAI,YAAY,GAAG,MAAM,CAAC;QAE1B,IAAI,CAAC;YACJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAmB,CAAC;gBAEnD,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC3B,iEAAiE;oBACjE,KAAK,QAAQ,CAAC;oBACd,KAAK,MAAM,CAAC;oBACZ,KAAK,UAAU,CAAC;oBAChB,KAAK,MAAM,CAAC;oBACZ,KAAK,YAAY,CAAC;oBAClB,KAAK,UAAU,CAAC,CAAC,CAAC;wBACjB,MAAM,IAAI,GAAG,IAAuB,CAAC;wBACrC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBACnD,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBACjD,MAAM;oBACP,CAAC;oBAED,iEAAiE;oBACjE,KAAK,kBAAkB,CAAC,CAAC,CAAC;wBACzB,MAAM,SAAS,GAAG,IAAmC,CAAC;wBACtD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;wBACxD,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;wBAClE,MAAM;oBACP,CAAC;oBAED,iEAAiE;oBACjE,KAAK,aAAa,CAAC,CAAC,CAAC;wBACpB,MAAM,MAAM,GAAG,IAA8B,CAAC;wBAC9C,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;wBACrD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;wBACpD,MAAM;oBACP,CAAC;oBAED,iEAAiE;oBACjE,KAAK,YAAY,CAAC,CAAC,CAAC;wBACnB,MAAM,IAAI,GAAG,IAA6B,CAAC;wBAC3C,MAAM,KAAK,GAAI,IAA8B,CAAC,SAAS,CAAC;wBACxD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;wBAE1C,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBACnE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC/B,IAAI,SAAS,EAAE,CAAC;4BACf,IAAI,CAAC,4BAA4B,CAChC,SAAS,EACT,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAC9D,KAAK,CACL,CAAC;4BACF,YAAY,GAAG,SAAS,CAAC;wBAC1B,CAAC;wBACD,MAAM;oBACP,CAAC;oBACD,KAAK,WAAW,CAAC,CAAC,CAAC;wBAClB,MAAM,GAAG,GAAG,IAA4B,CAAC;wBACzC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;wBAEvC,YAAY,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC;wBAC7C,IAAI,CAAC,eAAe,CAAC,YAAY,EAAG,GAAG,CAAC,IAA8B,CAAC,SAAS,CAAC,CAAC;wBAClF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;wBAC1D,MAAM;oBACP,CAAC;oBAED,iEAAiE;oBACjE,KAAK,UAAU,CAAC,CAAC,CAAC;wBACjB,MAAM,IAAI,GAAG,IAA2B,CAAC;wBACzC,MAAM,KAAK,GAAI,IAA8B,CAAC,SAAS,CAAC;wBACxD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;wBAC1C,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;4BACvB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;4BAC7E,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC/B,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACP,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;4BACzE,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BACnC,IAAI,aAAa,EAAE,CAAC;gCACnB,IAAI,CAAC,4BAA4B,CAChC,aAAa,EACb,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EACpC,KAAK,CACL,CAAC;gCACF,YAAY,GAAG,aAAa,CAAC;4BAC9B,CAAC;wBACF,CAAC;wBACD,MAAM;oBACP,CAAC;oBACD,KAAK,SAAS,CAAC,CAAC,CAAC;wBAChB,MAAM,GAAG,GAAG,IAA0B,CAAC;wBACvC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC;wBACnD,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;4BAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;4BAChD,cAAc,CAAC,GAAG,EAAE,CAAC;4BACrB,YAAY,GAAG,YAAY,CAAC;4BAC5B,IAAI,CAAC,eAAe,CAAC,YAAY,EAAG,GAAG,CAAC,IAA8B,CAAC,SAAS,CAAC,CAAC;4BAClF,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;wBAChE,CAAC;6BAAM,CAAC;4BACP,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;4BAC3C,YAAY,GAAG,YAAY,CAAC;4BAC5B,IAAI,CAAC,eAAe,CAAC,YAAY,EAAG,GAAG,CAAC,IAA8B,CAAC,SAAS,CAAC,CAAC;4BAClF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;wBACjE,CAAC;wBACD,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACxC,IAAI,SAAS,EAAE,CAAC;oBACf,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,WAAgC,EAAE,MAAyB;QAC1F,QAAQ,WAAW,CAAC,YAAY,EAAE,CAAC;YAClC,KAAK,QAAQ;gBACZ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC9C,MAAM;YACP,KAAK,MAAM;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM;YACP,KAAK,UAAU;gBACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM;YACP,KAAK,YAAY;gBAChB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM;YACP,KAAK,MAAM;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM;YACP,KAAK,UAAU;gBACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM;QACR,CAAC;IACF,CAAC;IAEO,eAAe,CAAC,MAAyB,EAAE,CAAiB;QACnE,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;YACvD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;YACvD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;YACvD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;YACvD,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;YAC5F,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;YAC5F,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;YAC7B,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;YAChC,OAAO;QACR,CAAC;QACD,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAEO,4BAA4B,CAAC,GAAsB,EAAE,MAAiB,EAAE,CAAiB;QAChG,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,GAAG,CAAC,gBAAgB,GAAG,OAAO,GAAG,IAAI,CAAC;YACtC,GAAG,CAAC,gBAAgB,GAAG,OAAO,GAAG,IAAI,CAAC;YACtC,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAClC,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC;QAC9C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACvB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACvB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzC,GAAG,CAAC,eAAe,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,eAAe,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAClC,CAAC;IAEO,wBAAwB,CAAC,GAAkB,EAAE,MAAyB;QAC7E,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC;QACtD,MAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC;QACxD,MAAM,kBAAkB,GAAG,YAAY,CAAC,gBAAgB,CAAC;QACzD,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5G,MAAM,cAAc,GACnB,aAAa,KAAK,YAAY,CAAC,YAAY,CAAC,KAAK;YACjD,cAAc,KAAK,YAAY,CAAC,YAAY,CAAC,MAAM;YACnD,kBAAkB,KAAK,YAAY,CAAC,gBAAgB,CAAC;QAEtD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;YAC3D,IAAI,UAAU,EAAE,CAAC;gBAChB,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC;gBACjD,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnF,IAAI,CAAC,eAAe,CAAC,eAAe,CACnC,GAAG,EACH,YAAY,CAAC,YAAY,CAAC,OAAO,EACjC,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,OAAO,EACpB,UAAU,CACV,CAAC;gBACF,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;gBAC3C,IAAI,UAAU,EAAE,YAAY,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,MAA2B,CAAC,CAAC;gBAC/F,CAAC;YACF,CAAC;YACD,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACxB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM;YAAE,OAAO;QAE7C,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC;QACnC,MAAM,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC;QAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,SAAS,CACvB,EAAE,EACF,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,YAAY,CAAC,OAAO,EACrB,CAAC,YAAY,CAAC,OAAO,EACrB,CAAC,GAAG,UAAU,EACd,CAAC,GAAG,UAAU,EACd,CAAC,EACD,CAAC,EACD,KAAK,EACL,YAAY,CAAC,SAAS,KAAK,QAAQ,CACnC,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,GAAkB,EAAE,MAAyB,EAAE,OAAe,EAAE,OAAe;QACxG,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACJ,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAChF,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACI,kBAAkB,CAAC,KAA8B;QACvD,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC/B,OAAO;YACR,CAAC;QACF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBACtD,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,SAAS;gBACV,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,QAAQ;oBAAE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9C,CAAC;QACF,CAAC;IACF,CAAC;IAEM,mBAAmB,CAAC,GAAkB;QAC5C,IAAI,GAAG,YAAY,sBAAsB,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,sBAAsB,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,QAAQ,CAAC,cAAc;wBAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBAChE,OAAO;gBACR,CAAC;YACF,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc;YAAE,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IAEO,cAAc,CAAC,MAA0C;QAChE,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,OAAO,OAAO,EAAE,CAAC;YAChB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,QAAQ;oBAAE,OAAO,QAAQ,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"WebGLRenderer.js","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TextField } from './TextField.js';
|
|
2
|
+
/**
|
|
3
|
+
* Render-only margin for outlined dynamic text, including run-level strokes.
|
|
4
|
+
* Layout metrics and input viewports must not include this margin.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getTextRenderPadding(textField: TextField): number;
|
|
7
|
+
//# sourceMappingURL=TextRenderBounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextRenderBounds.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextRenderBounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAejE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TextFieldType } from './enums/TextFieldType.js';
|
|
2
|
+
/**
|
|
3
|
+
* Render-only margin for outlined dynamic text, including run-level strokes.
|
|
4
|
+
* Layout metrics and input viewports must not include this margin.
|
|
5
|
+
*/
|
|
6
|
+
export function getTextRenderPadding(textField) {
|
|
7
|
+
if (textField.type === TextFieldType.INPUT)
|
|
8
|
+
return 0;
|
|
9
|
+
let stroke = 0;
|
|
10
|
+
for (const line of textField.getLinesArr()) {
|
|
11
|
+
for (const element of line.elements) {
|
|
12
|
+
const value = element.style?.stroke ?? textField.stroke;
|
|
13
|
+
if (Number.isFinite(value) && value > stroke) {
|
|
14
|
+
stroke = value;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
// Conservative ink margin covers glyph overhang and stroke antialiasing.
|
|
19
|
+
return stroke > 0 ? Math.ceil(stroke * 2) + 2 : 0;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=TextRenderBounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextRenderBounds.js","sourceRoot":"","sources":["../../../src/kurot/text/TextRenderBounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACxD,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAErD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;YACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;gBAC9C,MAAM,GAAG,KAAK,CAAC;YAChB,CAAC;QACF,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC"}
|
package/docs/ai-context.md
CHANGED
|
@@ -5,8 +5,7 @@ agent unfamiliar with Kurot does not need to re-derive the architecture from
|
|
|
5
5
|
scratch on every session. Treat the package source and its `src/index.ts`
|
|
6
6
|
barrel as the authority for current behavior and exports.
|
|
7
7
|
|
|
8
|
-
Package identity: `@kurot/core@2.3.
|
|
9
|
-
is the latest published version. It provides Kurot's scene graph,
|
|
8
|
+
Package identity: `@kurot/core@2.3.3`, prepared, unpublished (latest published: 2.3.2). It provides Kurot's scene graph,
|
|
10
9
|
events, rendering, text, resource, network and media runtime. Rendering uses a
|
|
11
10
|
flat `InstructionSet + RenderPipe` pipeline. ES2022 / evergreen browsers only
|
|
12
11
|
with `strict: true`. Two
|
|
@@ -83,6 +82,11 @@ colocated under `examples/benchmark/`; none are exported from `index.ts`.
|
|
|
83
82
|
internally to rasterize Graphics/Text to offscreen canvases before texture
|
|
84
83
|
upload, and to snapshot `RenderTexture`. Don't reason about it as dead code
|
|
85
84
|
when WebGL is active.
|
|
85
|
+
- The 2.3.2 TextField outline fix uses render-only margins, including rich
|
|
86
|
+
run strokes. `text/TextRenderBounds.ts` supplies padding; `player/render-bounds.ts`
|
|
87
|
+
includes descendant ink in caches and effect captures. Layout measurements and
|
|
88
|
+
hit areas remain unchanged. Input viewports and external clips remain exact;
|
|
89
|
+
fully hidden lines are skipped. See `docs/text-layout.md` for validation.
|
|
86
90
|
- The engine is **single-Player by design**. `Player`'s constructor wires
|
|
87
91
|
static hook fields directly onto `DisplayObject`/`DisplayObjectContainer`
|
|
88
92
|
(`$onStructureChange`, etc.) — there is no listener registry. A second
|
|
@@ -264,6 +268,16 @@ always clears a previous rich flow, including identical string assignments.
|
|
|
264
268
|
In 2.3.1, an unstyled blank run uses the base size rather than borrowing a
|
|
265
269
|
later styled run's size. See `test/TextMeasurement.test.ts` and `docs/text-layout.md`.
|
|
266
270
|
|
|
271
|
+
## Bitmap fill modes in 2.3.3
|
|
272
|
+
|
|
273
|
+
Both BitmapPipe and CanvasRenderer honor repeat/clip through internal
|
|
274
|
+
`player/bitmap-fill.ts`. Repeat periods use original logical texture dimensions,
|
|
275
|
+
including trim margins; edge regions crop source pixels. Rotated atlas coordinates
|
|
276
|
+
and tinting remain supported. Nine-slice applies only to scale. CanvasRenderer is
|
|
277
|
+
also the nested bitmap-cache rasterizer, so both render paths must stay aligned.
|
|
278
|
+
See docs/bitmap-fill.md. This compatible patch requires application installation
|
|
279
|
+
and rebuild after publication, not another UI/CLI/ui-runtime version bump.
|
|
280
|
+
|
|
267
281
|
## Bitmap fonts in 2.2.0
|
|
268
282
|
|
|
269
283
|
[bitmap-fonts.md](bitmap-fonts.md) documents the headless bitmap-font dependency,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Bitmap fill modes
|
|
2
|
+
|
|
3
|
+
Core 2.3.3 is prepared locally, not yet published. Published 2.3.2 stretches
|
|
4
|
+
all fill modes; adopt the patch and rebuild to receive this correction.
|
|
5
|
+
|
|
6
|
+
`Bitmap.fillMode` also controls UI `Image` rendering:
|
|
7
|
+
|
|
8
|
+
| Mode | Behavior |
|
|
9
|
+
| --- | --- |
|
|
10
|
+
| `scale` | Scale content and trim offsets into the requested original-size box; apply nine-slice when configured. |
|
|
11
|
+
| `repeat` | Tile at the texture's original logical width/height, retaining transparent trim margins; crop incomplete right/bottom tiles. |
|
|
12
|
+
| `clip` | Draw once at natural size; crop when the destination is smaller, leave remaining space empty when larger. |
|
|
13
|
+
|
|
14
|
+
`scale9Grid` applies only to `scale`, as documented by Bitmap. A resource-level
|
|
15
|
+
nine-slice default does not override an Image's explicit repeat or clip mode.
|
|
16
|
+
Neither rendering nor changing fill mode rewrites texture data, resource manifests
|
|
17
|
+
or Skin XML. Layout and selection continue to use the requested component size.
|
|
18
|
+
|
|
19
|
+
Atlas source coordinates remain inside the selected frame. Rotated frames use
|
|
20
|
+
the clockwise atlas convention; destination dimensions remain upright. Sampling,
|
|
21
|
+
tint, alpha and scene transforms retain their existing contracts.
|
|
22
|
+
|
|
23
|
+
Both render paths use `player/bitmap-fill.ts`: WebGL emits tile quads through
|
|
24
|
+
BitmapPipe, while CanvasRenderer draws tile regions. Bitmap caches rasterize
|
|
25
|
+
through CanvasRenderer even when the main Player uses WebGL. Cached ancestors
|
|
26
|
+
refresh after changing the child fill mode through the existing dirty contract.
|
|
27
|
+
|
|
28
|
+
The helper emits visible regions directly without allocating tile arrays. Work
|
|
29
|
+
scales with the number of tiles; WebGL retains normal texture batching, and cached
|
|
30
|
+
containers reuse their rasterized result until invalidated.
|
|
31
|
+
|
|
32
|
+
`test/BitmapFill.test.ts` covers source/destination geometry, trim, edge clipping,
|
|
33
|
+
invalid periods, fractional dimensions and nine-slice precedence. The minified
|
|
34
|
+
`examples/visual-regression/tests/bitmap-fill.spec.ts` compares actual pixels with
|
|
35
|
+
native Canvas patterns on Canvas/WebGL 1/WebGL 2 at 1x/2x, including rotation,
|
|
36
|
+
tint, cache updates and the existing scale path.
|
|
37
|
+
|
|
38
|
+
There are no new APIs or dependencies. Existing UI, Game, DragonBones, Spine and
|
|
39
|
+
ui-runtime Core peers accept this patch. Their SDK versions and minimum ranges
|
|
40
|
+
do not change; optional development lock adoption is separate. Editor's local
|
|
41
|
+
0.23.1 trial binds one built Core through `KUROT_CORE_PATH` without changing its
|
|
42
|
+
published 2.3.2 dependency lock. Formal registry adoption follows publication.
|