diff --git a/.gitignore b/.gitignore index c3fc4743..9bdc4ebd 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ **/.awcache **/docs !/docs/ +.nx/ ### https://raw.github.com/github/gitignore/218a941be92679ce67d0484547e3e142b2f5f6f0/Node.gitignore @@ -288,4 +289,4 @@ $RECYCLE.BIN/ -.nx/cache \ No newline at end of file +.nx/cache diff --git a/TestData/SimpleMeshParts/common_1.png b/TestData/SimpleMeshParts/common_1.png new file mode 100644 index 00000000..9099eb25 Binary files /dev/null and b/TestData/SimpleMeshParts/common_1.png differ diff --git a/TestData/SimpleMeshParts/common_1.ssce b/TestData/SimpleMeshParts/common_1.ssce new file mode 100644 index 00000000..2720d338 --- /dev/null +++ b/TestData/SimpleMeshParts/common_1.ssce @@ -0,0 +1,680 @@ + + + common_1 + + SpriteStudio + 0 + common_1.png + 256 256 + 0 + clamp + linear + + + + 4096 4096 + 1 + 0 + 0 + 1 + + + + Ichi + 0 145 + 16 15 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + DELETE_ME + 176 176 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + White + 0 0 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Black + 80 0 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + BlackAndTrans + 80 48 + 32 32 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Red + 0 80 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Green + 128 80 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Blue + 64 80 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Check + 192 80 + 48 48 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Check_grid + 192 80 + 48 48 + 0 0 + 0 + 0 + 0 0 + + 0 + 1 + boxdiv + 3 + 3 + + + 0 0 + 16 0 + 32 0 + 48 0 + 0 16 + 16 16 + 32 16 + 48 16 + 0 32 + 16 32 + 32 32 + 48 32 + 0 48 + 16 48 + 32 48 + 48 48 + + + 0 0 + 16 0 + 32 0 + 48 0 + 0 16 + 16 16 + 32 16 + 48 16 + 0 32 + 16 32 + 32 32 + 48 32 + 0 48 + 16 48 + 32 48 + 48 48 + + + 0 1 4 + 1 4 5 + 1 2 5 + 2 5 6 + 2 3 6 + 3 6 7 + 4 5 8 + 5 8 9 + 5 6 9 + 6 9 10 + 6 7 10 + 7 10 11 + 8 9 12 + 9 12 13 + 9 10 13 + 10 13 14 + 10 11 14 + 11 14 15 + + + + Jigsaw + 160 0 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Arrow + 96 176 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Arrow_mesh + 96 176 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 1 + polyline + + 32 1.78873 + 23.5493 25.7324 + 29.4648 25.5915 + 29.6056 32.2113 + 0.732394 32.3521 + 1.43662 37.4225 + 29.4648 37 + 28.6197 62.493 + 34.3944 62.493 + 34.1127 36.2958 + 38.9014 37.2817 + 39.4648 42.9155 + 62.7042 35.3099 + 39.1831 27 + 39.3239 32.0704 + 33.9718 32.0704 + 33.831 25.0282 + 40.0282 25.8732 + 33.5493 3.05634 + + + -1 -1 + -1 15 + -1 32 + -1 48 + -1 65 + 15 65 + 32 65 + 48 65 + 65 65 + 65 49 + 65 32 + 65 16 + 65 -1 + 49 -1 + 33 -1 + 17 -1 + + + 15 65 + -1 65 + -1 48 + 29.4648 37 + 28.6197 62.493 + 39.4648 42.9155 + 34.3944 62.493 + 32 65 + 48 65 + 65 49 + 65 65 + 62.7042 35.3099 + 38.9014 37.2817 + 34.1127 36.2958 + 29.6056 32.2113 + 33.9718 32.0704 + 39.3239 32.0704 + 40.0282 25.8732 + 65 32 + 65 16 + 49 -1 + 65 -1 + 33.5493 3.05634 + 33 -1 + 32 1.78873 + 17 -1 + 23.5493 25.7324 + 29.4648 25.5915 + 1.43662 37.4225 + 0.732394 32.3521 + -1 32 + -1 15 + -1 -1 + 33.831 25.0282 + 39.1831 27 + + + 0 1 2 + 3 0 2 + 3 4 0 + 5 4 3 + 6 4 5 + 7 4 6 + 0 4 7 + 7 6 8 + 6 5 8 + 8 5 9 + 8 9 10 + 5 11 9 + 5 12 11 + 5 13 12 + 13 5 3 + 13 3 14 + 13 14 15 + 13 15 16 + 12 13 16 + 12 16 11 + 11 16 17 + 18 11 17 + 11 18 9 + 17 19 18 + 19 17 20 + 20 21 19 + 20 17 22 + 22 23 20 + 24 23 22 + 24 25 23 + 24 26 25 + 22 26 24 + 26 22 27 + 26 27 14 + 3 26 14 + 28 26 3 + 28 29 26 + 28 30 29 + 28 2 30 + 3 2 28 + 29 30 31 + 26 29 31 + 26 31 25 + 31 32 25 + 14 27 15 + 27 33 15 + 27 22 33 + 17 33 22 + 34 33 17 + 15 33 34 + 15 34 16 + 16 34 17 + + + + Hole + 0 176 + 80 80 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Hole32 + 8 184 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + BlueBar + 64 80 + 64 16 + -0.5 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + GreenBar + 128 80 + 64 16 + -0.5 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + RBG + 192 160 + 48 16 + -0.5 -0.5 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 0 + 144 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 1 + 0 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 2 + 16 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 3 + 32 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 4 + 48 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 5 + 64 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 6 + 80 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 7 + 96 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 8 + 112 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 9 + 128 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + diff --git a/TestData/SimpleMeshParts/common_2.png b/TestData/SimpleMeshParts/common_2.png new file mode 100644 index 00000000..17227b7e Binary files /dev/null and b/TestData/SimpleMeshParts/common_2.png differ diff --git a/TestData/SimpleMeshParts/common_2.ssce b/TestData/SimpleMeshParts/common_2.ssce new file mode 100644 index 00000000..051cfd4e --- /dev/null +++ b/TestData/SimpleMeshParts/common_2.ssce @@ -0,0 +1,680 @@ + + + common_2 + + SpriteStudio + 0 + common_2.png + 256 256 + 0 + clamp + linear + + + + 4096 4096 + 1 + 0 + 0 + 1 + + + + Ichi + 0 145 + 16 15 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + DELETE_ME + 176 176 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + White + 0 0 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Black + 80 0 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + BlackAndTrans + 80 48 + 32 32 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Red + 0 80 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Green + 128 80 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Blue + 64 80 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Check + 192 80 + 48 48 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Check_grid + 192 80 + 48 48 + 0 0 + 0 + 0 + 0 0 + + 0 + 1 + boxdiv + 3 + 3 + + + 0 0 + 16 0 + 32 0 + 48 0 + 0 16 + 16 16 + 32 16 + 48 16 + 0 32 + 16 32 + 32 32 + 48 32 + 0 48 + 16 48 + 32 48 + 48 48 + + + 0 0 + 16 0 + 32 0 + 48 0 + 0 16 + 16 16 + 32 16 + 48 16 + 0 32 + 16 32 + 32 32 + 48 32 + 0 48 + 16 48 + 32 48 + 48 48 + + + 0 1 4 + 1 4 5 + 1 2 5 + 2 5 6 + 2 3 6 + 3 6 7 + 4 5 8 + 5 8 9 + 5 6 9 + 6 9 10 + 6 7 10 + 7 10 11 + 8 9 12 + 9 12 13 + 9 10 13 + 10 13 14 + 10 11 14 + 11 14 15 + + + + Jigsaw + 160 0 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Arrow + 96 176 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Arrow_mesh + 96 176 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 1 + polyline + + 32 1 + 23 25 + 29 25 + 29 32 + 0 32 + 1 37 + 29 37 + 28 62 + 34 62 + 34 36 + 38 37 + 39 42 + 62 35 + 39 27 + 39 32 + 33 32 + 33 25 + 40 25 + 33 3 + + + -1 -1 + -1 15 + -1 32 + -1 48 + -1 65 + 15 65 + 32 65 + 48 65 + 65 65 + 65 49 + 65 32 + 65 16 + 65 -1 + 49 -1 + 33 -1 + 17 -1 + + + 15 65 + -1 65 + -1 48 + 29.4648 37 + 28.6197 62.493 + 39.4648 42.9155 + 34.3944 62.493 + 32 65 + 48 65 + 65 49 + 65 65 + 62.7042 35.3099 + 38.9014 37.2817 + 34.1127 36.2958 + 29.6056 32.2113 + 33.9718 32.0704 + 39.3239 32.0704 + 40.0282 25.8732 + 65 32 + 65 16 + 49 -1 + 65 -1 + 33.5493 3.05634 + 33 -1 + 32 1.78873 + 17 -1 + 23.5493 25.7324 + 29.4648 25.5915 + 1.43662 37.4225 + 0.732394 32.3521 + -1 32 + -1 15 + -1 -1 + 33.831 25.0282 + 39.1831 27 + + + 0 1 2 + 3 0 2 + 3 4 0 + 5 4 3 + 6 4 5 + 7 4 6 + 0 4 7 + 7 6 8 + 6 5 8 + 8 5 9 + 8 9 10 + 5 11 9 + 5 12 11 + 5 13 12 + 13 5 3 + 13 3 14 + 13 14 15 + 13 15 16 + 12 13 16 + 12 16 11 + 11 16 17 + 18 11 17 + 11 18 9 + 17 19 18 + 19 17 20 + 20 21 19 + 20 17 22 + 22 23 20 + 24 23 22 + 24 25 23 + 24 26 25 + 22 26 24 + 26 22 27 + 26 27 14 + 3 26 14 + 28 26 3 + 28 29 26 + 28 30 29 + 28 2 30 + 3 2 28 + 29 30 31 + 26 29 31 + 26 31 25 + 31 32 25 + 14 27 15 + 27 33 15 + 27 22 33 + 17 33 22 + 34 33 17 + 15 33 34 + 15 34 16 + 16 34 17 + + + + Hole + 0 176 + 80 80 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + Hole32 + 8 184 + 64 64 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + BlueBar + 64 80 + 64 16 + -0.5 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + GreenBar + 128 80 + 64 16 + -0.5 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + RBG + 192 160 + 48 16 + -0.5 -0.5 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 0 + 144 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 1 + 0 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 2 + 16 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 3 + 32 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 4 + 48 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 5 + 64 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 6 + 80 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 7 + 96 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 8 + 112 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + 9 + 128 144 + 16 16 + 0 0 + 0 + 0 + 0 0 + + 0 + 0 + unknown + + + + + + + diff --git a/TestData/SimpleMeshParts/mesh_parts.ssae b/TestData/SimpleMeshParts/mesh_parts.ssae new file mode 100644 index 00000000..ecda04e7 --- /dev/null +++ b/TestData/SimpleMeshParts/mesh_parts.ssae @@ -0,0 +1,519 @@ + + + + 30 + 11 + prio + 320 320 + 0 0 + FF323232 + 32 + FF808080 + 3 + 0 + 10 + + + + 1 + 0 0 + 0 0 + 0 0 + + + + 1 + 0 0 + 0 0 + 0 0 + + + 0 + 0 + 0 + + mesh_parts + + + + + root + 0 + -1 + null + none + self + + 1 + 0 + 0 + 0 + 0 + 0 + + mix + 1 + 0 + 0 + 1 + + 1 + 1 + + + joint_1 + 1 + 0 + joint + none + parent + + 1 + 0 + 0 + 0 + 0 + 0 + + mix + 1 + 0 + 0 + 1 + + 1 + 1 + + + bone_1 + 2 + 1 + armature + none + parent + + 1 + 0 + 0 + 0 + 0 + 0 + + mix + 1 + 0 + 0 + 1 + FFFF0000 + + 64 + -36 33 + 0 + 1 + 1 + + + bone_2 + 3 + 1 + armature + none + parent + + 1 + 0 + 0 + 0 + 0 + 0 + + mix + 1 + 0 + 0 + 1 + Blue + + 64 + -35 -32 + 0 + 1 + 1 + + + mesh_skinned + 4 + 1 + mesh + none + parent + 0 + 3 + + 1 + 0 + 0 + 0 + 0 + 0 + + mix + 1 + 0 + 0 + 1 + + 1 + 1 + + + mesh_deform + 5 + 0 + mesh + none + parent + 0 + 3 + + 1 + 0 + 0 + 0 + 0 + 0 + + mix + 1 + 0 + 0 + 1 + + 1 + 1 + + + + 0 + 1 + + + 1 1 100 18.00 -1.00,2 0 3 3.00 -66.00 1 97 2.00 -1.00,2 0 11 3.00 -49.00 1 89 2.00 16.00,2 0 20 33.46 -38.00 1 80 32.46 27.00,1 1 100 31.62 1.51,2 0 7 43.46 -43.92 1 93 42.46 21.08,1 1 100 37.39 1.51,1 1 100 35.00 -1.00,2 0 1 52.00 -66.00 1 99 51.00 -1.00,2 0 13 69.00 -50.00 1 87 68.00 15.00,2 0 5 69.00 -66.00 1 95 68.00 -1.00,2 0 38 66.70 -36.31 1 62 65.70 28.69,2 0 21 42.90 -38.28 1 79 41.90 26.72,2 0 24 38.11 -37.30 1 76 37.11 27.70,2 0 46 33.61 -33.21 1 54 32.61 31.79,2 0 46 37.97 -33.07 1 54 36.97 31.93,2 0 46 43.32 -33.07 1 54 42.32 31.93,2 0 77 44.03 -26.87 1 23 43.03 38.13,2 0 47 69.00 -33.00 1 53 68.00 32.00,2 0 83 69.00 -17.00 1 17 68.00 48.00,2 0 99 53.00 0.00 1 1 52.00 65.00,2 0 94 69.00 0.00 1 6 68.00 65.00,1 0 100 37.55 -4.06,1 0 100 37.00 0.00,1 0 100 36.00 -2.79,1 0 100 21.00 0.00,2 0 81 27.55 -26.73 1 19 26.55 38.27,2 0 81 33.46 -26.59 1 19 32.46 38.41,2 0 31 5.44 -38.42 1 69 4.44 26.58,2 0 48 4.73 -33.35 1 52 3.73 31.65,2 0 50 3.00 -33.00 1 50 2.00 32.00,2 0 90 3.00 -16.00 1 10 2.00 49.00,2 0 97 3.00 0.00 1 3 2.00 65.00,2 0 82 37.83 -26.03 1 18 36.83 38.97,2 0 72 43.18 -28.00 1 28 42.18 37.00, + + + + + common_1.ssce + + + + Setup + 1 + + 30 + 1 + prio + 320 320 + 0 0 + FF323232 + 32 + FF808080 + 3 + 0 + 0 + + + + 1 + 0 0 + 0 0 + 0 0 + + + + 1 + 0 0 + 0 0 + 0 0 + + + 0 + 0 + 0 + + + + 1 + 0 + + + root + + + + 0 + + + + + + joint_1 + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + bone_1 + + + + 0 + + + + + 0 + + + + + + bone_2 + + + + 0 + + + + + 0 + + + + + + mesh_skinned + + + + + 0 + Arrow_mesh + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + mesh_deform + + + + + 0 + Arrow_mesh + + + + + + 0 + + + + + 96 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + anime_1 + 1 + + 30 + 31 + prio + 320 320 + 0 0 + FF323232 + 32 + FF808080 + 3 + 0 + 30 + + + + 1 + 0 0 + 0 0 + 0 0 + + + + 1 + 0 0 + 0 0 + 0 0 + + + 0 + 0 + 0 + + + + 0 + 0 + + + root + + + + 0 + + + + + + bone_1 + + + + 0 + + + 25.643383 + + + 25.643383 + + + -25.844128 + + + + + + bone_2 + + + + 0 + + + 0 + + + -30.072126 + + + 27.492519 + + + + + + mesh_deform + + + + + 35 + 0 + + + + + 35 + 2 22 -0.50 20.75 24 1.00 20.25 + + + + + 35 + 3 11 29.00 0.00 22 -0.50 20.75 24 1.00 20.25 + + + + + 35 + 3 11 -13.50 2.00 22 0.00 -9.25 24 0.00 -6.25 + + + + + + + + + diff --git a/TestData/SimpleMeshParts/simple_mesh_parts.ssfb b/TestData/SimpleMeshParts/simple_mesh_parts.ssfb new file mode 100644 index 00000000..08d4eccc Binary files /dev/null and b/TestData/SimpleMeshParts/simple_mesh_parts.ssfb differ diff --git a/TestData/SimpleMeshParts/simple_mesh_parts.sspj b/TestData/SimpleMeshParts/simple_mesh_parts.sspj new file mode 100644 index 00000000..84803bf9 --- /dev/null +++ b/TestData/SimpleMeshParts/simple_mesh_parts.sspj @@ -0,0 +1,247 @@ + + + simple_mesh_parts + + + + + + + Export + 1 + 1 + SSAX + invalid + 0 + 1 + + any + + 0 + 0 + 0 + 1 + 1 + 0 + 1 + + none + linear + hermite + bezier + acceleration + deceleration + easeIn + easeOut + easeInOut + easeExponentialIn + easeExponentialOut + easeExponentialInOut + easeSineIn + easeSineOut + easeSineInOut + easeElasticIn + easeElasticOut + easeElasticInOut + easeBounceIn + easeBounceOut + easeBounceInOut + easeBackIn + easeBackOut + easeBackInOut + + + CELL + POSX + POSY + POSZ + ROTX + ROTY + ROTZ + SCLX + SCLY + LSCX + LSCY + ALPH + LALP + PRIO + IFLH + IFLV + HIDE + PCOL + SHDR + VERT + PVTX + PVTY + SIZX + SIZY + UVTX + UVTY + UVRZ + UVSX + UVSY + BNDR + MASK + USER + SIGN + IPRM + EFCT + DEFM + ADIO + TCHG + + + bone + effect + mask + mesh + nines + shape + sound + text + v6mask + + + POSX + POSY + ROTZ + PRIO + HIDE + + clamp + linear + linear + rate + + D:/Downloads/SS_RenderingTest/721 + MP4 + 0 + 1 + 0 + FF00FBFF + 0 + 0 + 0 + 0 + 50 + 25 + 1 + 1 + 0 + 0 + 0 + 0 + + lossless + 75 + 4 + 1 + 0 + + + 1536000 + + + 4096 + 4096 + 0 + 0 + + + + 50 + + + 2 + 1 + 0 + 0 + 0 + 1 + 0 + 8192 + 8192 + 73400320 + 100 + 0 + + + + + + + + + + + + + + + + + + + + + + + 30 + 11 + prio + 320 320 + 0 0 + FF323232 + 32 + FF808080 + 3 + 0 + 10 + + + + 1 + 0 0 + 0 0 + 0 0 + + + + 1 + 0 0 + 0 0 + 0 0 + + + 0 + 0 + 0 + + + 4096 4096 + 1 + 0 + 0 + 1 + + + common_1.ssce + common_2.ssce + + + mesh_parts.ssae + + + + + mesh_parts.ssae + anime_1 + mesh_deform + common_1.ssce + Arrow_mesh + + + 0 + + + diff --git a/docs/Player/index.html b/docs/Player/index.html index 04d206f6..0202fd15 100644 --- a/docs/Player/index.html +++ b/docs/Player/index.html @@ -6,7 +6,7 @@ - + diff --git a/docs/Player/sample.js b/docs/Player/sample.js index 366289f8..6052985d 100644 --- a/docs/Player/sample.js +++ b/docs/Player/sample.js @@ -15,6 +15,7 @@ //const testVersion = "sampleAnimation2"; const testVersion = "sampleAnimation3"; //const testVersion = "sampleReplaceTexture"; +//const testVersion = "sampleReplaceMeshTexture"; (async () => { PIXI.sayHello(); @@ -50,6 +51,11 @@ const testVersion = "sampleAnimation3"; "sampleReplaceTexture": { "ssfbFile": "./MeshBone/Knight.ssfb", "func": Play_sampleReplaceTexture + }, + + "sampleReplaceMeshTexture": { + "ssfbFile": "../../../TestData/SimpleMeshParts/simple_mesh_parts.ssfb", + "func": Play_sampleReplaceMeshTexture } }; @@ -133,4 +139,16 @@ const testVersion = "sampleAnimation3"; // 再生開始 mySS6Player.Play(); } + + function Play_sampleReplaceMeshTexture() { + let mySS6Player = new ss6PlayerPixi.SS6Player(mySS6Project); + mySS6Player.Setup('mesh_parts', 'anime_1'); + mySS6Player.position = new PIXI.Point(320, 480); + mySS6Player.SetPartCell('mesh_skinned', 'common_1', 'Red'); + app.stage.addChild(mySS6Player); + + // 再生開始 + mySS6Player.Play(); + } + })(); diff --git a/docs/Player/ss6player-pixi.min.js b/docs/Player/ss6player-pixi.min.js index 7fa5e186..8aee2955 100644 --- a/docs/Player/ss6player-pixi.min.js +++ b/docs/Player/ss6player-pixi.min.js @@ -1,10 +1,10 @@ /** * ----------------------------------------------------------- - * SS6Player For pixi.js v2.2.0 + * SS6Player For pixi.js v2.3.0 * * Copyright(C) CRI Middleware Co., Ltd. * https://www.webtech.co.jp/ * ----------------------------------------------------------- */ -var ss6PlayerPixi=function(dt,S){"use strict";class vt{}const ht=4,ct=4,C=4,q=new Int32Array(2),mt=new Float32Array(q.buffer),Ft=new Float64Array(q.buffer),ft=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var pt;(function(c){c[c.UTF8_BYTES=1]="UTF8_BYTES",c[c.UTF16_STRING=2]="UTF16_STRING"})(pt||(pt={}));class ut{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new ut(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8}writeInt32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeUint32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeInt64(t,s){this.writeInt32(t,Number(BigInt.asIntN(32,s))),this.writeInt32(t+4,Number(BigInt.asIntN(32,s>>BigInt(32))))}writeUint64(t,s){this.writeUint32(t,Number(BigInt.asUintN(32,s))),this.writeUint32(t+4,Number(BigInt.asUintN(32,s>>BigInt(32))))}writeFloat32(t,s){mt[0]=s,this.writeInt32(t,q[0])}writeFloat64(t,s){Ft[0]=s,this.writeInt32(t,q[ft?0:1]),this.writeInt32(t+4,q[ft?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;e--)t.addInt32(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static endpartState(t){return t.endObject()}static createpartState(t,s,e,i,h){return j.startpartState(t),j.addIndex(t,s),j.addFlag1(t,e),j.addFlag2(t,i),j.addData(t,h),j.endpartState(t)}}class et{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsframeDataIndex(t,s){return(s||new et).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,s){return t.setPosition(t.position()+C),(s||new et).__init(t.readInt32(t.position())+t.position(),t)}states(t,s){const e=this.bb.__offset(this.bb_pos,4);return e?(s||new j).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,s){t.addFieldOffset(0,s,0)}static createStatesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startStatesVector(t,s){t.startVector(4,s,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,s){return et.startframeDataIndex(t),et.addStates(t,s),et.endframeDataIndex(t)}}class Q{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAslabelDataItem(t,s){return(s||new Q).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,s){return t.setPosition(t.position()+C),(s||new Q).__init(t.readInt32(t.position())+t.position(),t)}label(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,s){t.addFieldOffset(0,s,0)}static addFrameIndex(t,s){t.addFieldInt16(1,s,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,s,e){return Q.startlabelDataItem(t),Q.addLabel(t,s),Q.addFrameIndex(t,e),Q.endlabelDataItem(t)}}class it{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataIndices(t,s){return(s||new it).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,s){return t.setPosition(t.position()+C),(s||new it).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,s){t.addFieldOffset(0,s,0)}static createIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startIndicesVector(t,s){t.startVector(4,s,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,s){return it.startmeshDataIndices(t),it.addIndices(t,s),it.endmeshDataIndices(t)}}class at{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataUV(t,s){return(s||new at).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,s){return t.setPosition(t.position()+C),(s||new at).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,s){t.addFieldOffset(0,s,0)}static createUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startUvVector(t,s){t.startVector(4,s,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,s){return at.startmeshDataUV(t),at.addUv(t,s),at.endmeshDataUV(t)}}class R{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataItem(t,s){return(s||new R).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,s){return t.setPosition(t.position()+C),(s||new R).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,s){t.addFieldInt16(0,s,0)}static addArrayIndex(t,s){t.addFieldInt16(1,s,0)}static addDataType(t,s){t.addFieldOffset(2,s,0)}static createDataTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startDataTypeVector(t,s){t.startVector(1,s,1)}static addData(t,s){t.addFieldOffset(3,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,s,e,i,h){return R.startuserDataItem(t),R.addFlags(t,s),R.addArrayIndex(t,e),R.addDataType(t,i),R.addData(t,h),R.enduserDataItem(t)}}class G{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataPerFrame(t,s){return(s||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,s){return t.setPosition(t.position()+C),(s||new G).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new R).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,s){t.addFieldInt16(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,s,e){return G.startuserDataPerFrame(t),G.addFrameIndex(t,s),G.addData(t,e),G.enduserDataPerFrame(t)}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimationData(t,s){return(s||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,s){return t.setPosition(t.position()+C),(s||new y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}defaultData(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new _).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new et).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?(s||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new at).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new it).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,s){t.addFieldOffset(0,s,0)}static addDefaultData(t,s){t.addFieldOffset(1,s,0)}static createDefaultDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDefaultDataVector(t,s){t.startVector(4,s,4)}static addFrameData(t,s){t.addFieldOffset(2,s,0)}static createFrameDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startFrameDataVector(t,s){t.startVector(4,s,4)}static addUserData(t,s){t.addFieldOffset(3,s,0)}static createUserDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startUserDataVector(t,s){t.startVector(4,s,4)}static addLabelData(t,s){t.addFieldOffset(4,s,0)}static createLabelDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startLabelDataVector(t,s){t.startVector(4,s,4)}static addMeshsDataUv(t,s){t.addFieldOffset(5,s,0)}static createMeshsDataUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataUvVector(t,s){t.startVector(4,s,4)}static addMeshsDataIndices(t,s){t.addFieldOffset(6,s,0)}static createMeshsDataIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataIndicesVector(t,s){t.startVector(4,s,4)}static addStartFrames(t,s){t.addFieldInt16(7,s,0)}static addEndFrames(t,s){t.addFieldInt16(8,s,0)}static addTotalFrames(t,s){t.addFieldInt16(9,s,0)}static addFps(t,s){t.addFieldInt16(10,s,0)}static addLabelNum(t,s){t.addFieldInt16(11,s,0)}static addCanvasSizeW(t,s){t.addFieldInt16(12,s,0)}static addCanvasSizeH(t,s){t.addFieldInt16(13,s,0)}static addCanvasPvotX(t,s){t.addFieldFloat32(14,s,0)}static addCanvasPvotY(t,s){t.addFieldFloat32(15,s,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,s,e,i,h,a,o,n,d,r,f,b,u,l,V,m,F){return y.startAnimationData(t),y.addName(t,s),y.addDefaultData(t,e),y.addFrameData(t,i),y.addUserData(t,h),y.addLabelData(t,a),y.addMeshsDataUv(t,o),y.addMeshsDataIndices(t,n),y.addStartFrames(t,d),y.addEndFrames(t,r),y.addTotalFrames(t,f),y.addFps(t,b),y.addLabelNum(t,u),y.addCanvasSizeW(t,l),y.addCanvasSizeH(t,V),y.addCanvasPvotX(t,m),y.addCanvasPvotY(t,F),y.endAnimationData(t)}}var O=(c=>(c[c.Invalid=-1]="Invalid",c[c.Nulltype=0]="Nulltype",c[c.Normal=1]="Normal",c[c.Text=2]="Text",c[c.Instance=3]="Instance",c[c.Armature=4]="Armature",c[c.Effect=5]="Effect",c[c.Mesh=6]="Mesh",c[c.Movenode=7]="Movenode",c[c.Constraint=8]="Constraint",c[c.Mask=9]="Mask",c[c.Joint=10]="Joint",c[c.Bonepoint=11]="Bonepoint",c))(O||{});class x{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsPartData(t,s){return(s||new x).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,s){return t.setPosition(t.position()+C),(s||new x).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):O.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__string(this.bb_pos+s,t):null}effectfilename(t){const s=this.bb.__offset(this.bb_pos,18);return s?this.bb.__string(this.bb_pos+s,t):null}colorLabel(t){const s=this.bb.__offset(this.bb_pos,20);return s?this.bb.__string(this.bb_pos+s,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,s){t.addFieldOffset(0,s,0)}static addIndex(t,s){t.addFieldInt16(1,s,0)}static addParentIndex(t,s){t.addFieldInt16(2,s,0)}static addType(t,s){t.addFieldInt8(3,s,O.Nulltype)}static addBoundsType(t,s){t.addFieldInt16(4,s,0)}static addAlphaBlendType(t,s){t.addFieldInt16(5,s,0)}static addRefname(t,s){t.addFieldOffset(6,s,0)}static addEffectfilename(t,s){t.addFieldOffset(7,s,0)}static addColorLabel(t,s){t.addFieldOffset(8,s,0)}static addMaskInfluence(t,s){t.addFieldInt16(9,s,0)}static endPartData(t){return t.endObject()}static createPartData(t,s,e,i,h,a,o,n,d,r,f){return x.startPartData(t),x.addName(t,s),x.addIndex(t,e),x.addParentIndex(t,i),x.addType(t,h),x.addBoundsType(t,a),x.addAlphaBlendType(t,o),x.addRefname(t,n),x.addEffectfilename(t,d),x.addColorLabel(t,r),x.addMaskInfluence(t,f),x.endPartData(t)}}class K{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimePackData(t,s){return(s||new K).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,s){return t.setPosition(t.position()+C),(s||new K).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}parts(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new x).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,s){t.addFieldOffset(0,s,0)}static addParts(t,s){t.addFieldOffset(1,s,0)}static createPartsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startPartsVector(t,s){t.startVector(4,s,4)}static addAnimations(t,s){t.addFieldOffset(2,s,0)}static createAnimationsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimationsVector(t,s){t.startVector(4,s,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,s,e,i){return K.startAnimePackData(t),K.addName(t,s),K.addParts(t,e),K.addAnimations(t,i),K.endAnimePackData(t)}}class Y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCellMap(t,s){return(s||new Y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,s){return t.setPosition(t.position()+C),(s||new Y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}imagePath(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,s){t.addFieldOffset(0,s,0)}static addImagePath(t,s){t.addFieldOffset(1,s,0)}static addIndex(t,s){t.addFieldInt16(2,s,0)}static addWrapmode(t,s){t.addFieldInt16(3,s,0)}static addFiltermode(t,s){t.addFieldInt16(4,s,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,s,e,i,h,a){return Y.startCellMap(t),Y.addName(t,s),Y.addImagePath(t,e),Y.addIndex(t,i),Y.addWrapmode(t,h),Y.addFiltermode(t,a),Y.endCellMap(t)}}class lt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCell(t,s){return(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,s){return t.setPosition(t.position()+C),(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}cellMap(t){const s=this.bb.__offset(this.bb_pos,6);return s?(t||new Y).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,s){t.addFieldOffset(0,s,0)}static addCellMap(t,s){t.addFieldOffset(1,s,0)}static addIndexInCellMap(t,s){t.addFieldInt16(2,s,0)}static addX(t,s){t.addFieldInt16(3,s,0)}static addY(t,s){t.addFieldInt16(4,s,0)}static addWidth(t,s){t.addFieldInt16(5,s,0)}static addHeight(t,s){t.addFieldInt16(6,s,0)}static addPivotX(t,s){t.addFieldFloat32(7,s,0)}static addPivotY(t,s){t.addFieldFloat32(8,s,0)}static addU1(t,s){t.addFieldFloat32(9,s,0)}static addV1(t,s){t.addFieldFloat32(10,s,0)}static addU2(t,s){t.addFieldFloat32(11,s,0)}static addV2(t,s){t.addFieldFloat32(12,s,0)}static endCell(t){return t.endObject()}}class L{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectNode(t,s){return(s||new L).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,s){return t.setPosition(t.position()+C),(s||new L).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,s){t.addFieldInt16(0,s,0)}static addParentIndex(t,s){t.addFieldInt16(1,s,0)}static addType(t,s){t.addFieldInt16(2,s,0)}static addCellIndex(t,s){t.addFieldInt16(3,s,0)}static addBlendType(t,s){t.addFieldInt16(4,s,0)}static addNumBehavior(t,s){t.addFieldInt16(5,s,0)}static addBehaviorType(t,s){t.addFieldOffset(6,s,0)}static createBehaviorTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startBehaviorTypeVector(t,s){t.startVector(1,s,1)}static addBehavior(t,s){t.addFieldOffset(7,s,0)}static createBehaviorVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startBehaviorVector(t,s){t.startVector(4,s,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,s,e,i,h,a,o,n,d){return L.startEffectNode(t),L.addArrayIndex(t,s),L.addParentIndex(t,e),L.addType(t,i),L.addCellIndex(t,h),L.addBlendType(t,a),L.addNumBehavior(t,o),L.addBehaviorType(t,n),L.addBehavior(t,d),L.endEffectNode(t)}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectFile(t,s){return(s||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,s){return t.setPosition(t.position()+C),(s||new w).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?(s||new L).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,s){t.addFieldOffset(0,s,0)}static addFps(t,s){t.addFieldInt16(1,s,0)}static addIsLockRandSeed(t,s){t.addFieldInt16(2,s,0)}static addLockRandSeed(t,s){t.addFieldInt16(3,s,0)}static addLayoutScaleX(t,s){t.addFieldInt16(4,s,0)}static addLayoutScaleY(t,s){t.addFieldInt16(5,s,0)}static addNumNodeList(t,s){t.addFieldInt16(6,s,0)}static addEffectNode(t,s){t.addFieldOffset(7,s,0)}static createEffectNodeVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectNodeVector(t,s){t.startVector(4,s,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,s,e,i,h,a,o,n,d){return w.startEffectFile(t),w.addName(t,s),w.addFps(t,e),w.addIsLockRandSeed(t,i),w.addLockRandSeed(t,h),w.addLayoutScaleX(t,a),w.addLayoutScaleY(t,o),w.addNumNodeList(t,n),w.addEffectNode(t,d),w.endEffectFile(t)}}var p=(c=>(c[c.INVISIBLE=1]="INVISIBLE",c[c.FLIP_H=2]="FLIP_H",c[c.FLIP_V=4]="FLIP_V",c[c.CELL_INDEX=8]="CELL_INDEX",c[c.POSITION_X=16]="POSITION_X",c[c.POSITION_Y=32]="POSITION_Y",c[c.POSITION_Z=64]="POSITION_Z",c[c.PIVOT_X=128]="PIVOT_X",c[c.PIVOT_Y=256]="PIVOT_Y",c[c.ROTATIONX=512]="ROTATIONX",c[c.ROTATIONY=1024]="ROTATIONY",c[c.ROTATIONZ=2048]="ROTATIONZ",c[c.SCALE_X=4096]="SCALE_X",c[c.SCALE_Y=8192]="SCALE_Y",c[c.LOCALSCALE_X=16384]="LOCALSCALE_X",c[c.LOCALSCALE_Y=32768]="LOCALSCALE_Y",c[c.OPACITY=65536]="OPACITY",c[c.LOCALOPACITY=131072]="LOCALOPACITY",c[c.PARTS_COLOR=262144]="PARTS_COLOR",c[c.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",c[c.SIZE_X=1048576]="SIZE_X",c[c.SIZE_Y=2097152]="SIZE_Y",c[c.U_MOVE=4194304]="U_MOVE",c[c.V_MOVE=8388608]="V_MOVE",c[c.UV_ROTATION=16777216]="UV_ROTATION",c[c.U_SCALE=33554432]="U_SCALE",c[c.V_SCALE=67108864]="V_SCALE",c[c.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",c[c.MASK=268435456]="MASK",c[c.PRIORITY=536870912]="PRIORITY",c[c.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",c[c.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",c))(p||{}),gt=(c=>(c[c.MESHDATA=1]="MESHDATA",c))(gt||{});class D{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsProjectData(t,s){return(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,s){return t.setPosition(t.position()+C),(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__string(this.bb_pos+s,t):null}cells(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new K).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new w).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,s){t.addFieldInt32(0,s,0)}static addVersion(t,s){t.addFieldInt32(1,s,0)}static addFlags(t,s){t.addFieldInt32(2,s,0)}static addImageBaseDir(t,s){t.addFieldOffset(3,s,0)}static addCells(t,s){t.addFieldOffset(4,s,0)}static createCellsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startCellsVector(t,s){t.startVector(4,s,4)}static addAnimePacks(t,s){t.addFieldOffset(5,s,0)}static createAnimePacksVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimePacksVector(t,s){t.startVector(4,s,4)}static addEffectFileList(t,s){t.addFieldOffset(6,s,0)}static createEffectFileListVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectFileListVector(t,s){t.startVector(4,s,4)}static addNumCells(t,s){t.addFieldInt16(7,s,0)}static addNumAnimePacks(t,s){t.addFieldInt16(8,s,0)}static addNumEffectFileList(t,s){t.addFieldInt16(9,s,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,s){t.finish(s,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,s){t.finish(s,"SSFB",!0)}static createProjectData(t,s,e,i,h,a,o,n,d,r,f){return D.startProjectData(t),D.addDataId(t,s),D.addVersion(t,e),D.addFlags(t,i),D.addImageBaseDir(t,h),D.addCells(t,a),D.addAnimePacks(t,o),D.addEffectFileList(t,n),D.addNumCells(t,d),D.addNumAnimePacks(t,r),D.addNumEffectFileList(t,f),D.endProjectData(t)}}class Ot{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,s){return t.prep(4,4),t.writeInt32(s),t.offset()}}class yt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,s,e){return t.prep(4,8),t.writeInt32(e),t.writeInt32(s),t.offset()}}class bt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,s,e,i,h){return t.prep(4,16),t.writeInt32(h),t.writeInt32(i),t.writeInt32(e),t.writeInt32(s),t.offset()}}class Z{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataString(t,s){return(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,s){return t.setPosition(t.position()+C),(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,s){t.addFieldInt32(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,s,e){return Z.startuserDataString(t),Z.addLength(t,s),Z.addData(t,e),Z.enduserDataString(t)}}let Ct=class{static getProjectData(t){const s=new ut(t);return D.getRootAsProjectData(s)}};class It{static getProjectData(t){return Ct.getProjectData(t)}}class nt{constructor(t,s=null,e=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),t.hasOwnProperty("bb")?this._fbObj=t:this._fbObj=It.getProjectData(t),s!==null&&e!==null&&this.Setup(s,e)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,s){this.clearCaches();const e=this._fbObj.animePacksLength();let i=!1;for(let h=0;h>>0,r.colorBlendType===1&&(r.tint=r.colorArgb32&16777215)}}if(d>.MESHDATA){const b=this.curAnimation.meshsDataUv(o);r.meshIsBind=b.uv(0),r.meshNum=b.uv(1);let u=new Float32Array(r.meshNum*3);for(let l=0;l=0&&(t=this.InheritOpacity(t,this._parentIndex[s],e)),t}TransformVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformMeshVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPositionLocal(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h),n=t[0]*i.scaleX*i.localscaleX,d=t[1]*i.scaleY*i.localscaleY;return t[2]*=i.scaleX*i.localscaleX,t[3]*=i.scaleY*i.localscaleY,t[0]=a*n-o*d+i.positionX,t[1]=o*n+a*d-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static CoordinateGetDiagonalIntersection(t,s,e,i,h,a,o,n,d,r,f){const b=(n-a)*(o-e)-(o-h)*(n-i),u=(d-e)*(n-i)-(r-i)*(o-e),l=(d-e)*(n-a)-(r-i)*(o-h);if(l<=0&&l>=0)return f;const V=b/l,m=u/l;return 0<=V&&1>=V&&0<=m&&1>=m&&(t=e+V*(d-e),s=i+V*(r-i)),f[0]=t,f[1]=s,f}TransformVerts(t,s,e){const i=this.GetFrameData(e)[s],h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPosition(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h),n=t[0]*i.scaleX,d=t[1]*i.scaleY;return t[2]*=i.scaleX,t[3]*=i.scaleY,t[0]=a*n-o*d+i.positionX,t[1]=o*n+a*d-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static GetVerts(t,s,e){const i=s.size_X/2,h=s.size_Y/2,a=s.size_X*-(s.pivotX+t.pivotX()),o=s.size_Y*(s.pivotY+t.pivotY());return e.set([a,o,a-i,o-h,a+i,o-h,a-i,o+h,a+i,o+h]),e}static GetMeshVerts(t,s,e){for(let i=0;i{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}unload(t,s,e){S.Assets.unloadBundle(t).then(()=>{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}texture(t){return S.Assets.get(t)}}class Dt{constructor(){this.loader=new xt}load(t,s,e){return this.loader.load(t,s,e)}unload(t,s,e=null){return this.loader.unload(t,s,e)}texture(t){return this.loader.texture(t)}}class St{constructor(t,s,e,i){if(this.sspjMap={},this.resourceLoader=new Dt,typeof t=="string"&&e===void 0){let h=t;this.ssfbPath=h;const a=h.lastIndexOf("/");this.rootPath=h.substring(0,a)+"/",this.ssfbFile=h.substring(a+1),this.onComplete=s===void 0?null:s,this.status=0,this.LoadFlatBuffersProject()}else if(typeof s=="object"&&s.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let h=s,a=e;this.onComplete=i===void 0?null:i,this.load(h,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,s=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(s=>s.ok?Promise.resolve(s.arrayBuffer()):Promise.reject(new Error(s.statusText))).then(s=>{t.fbObj=It.getProjectData(new Uint8Array(s)),t.LoadCellResources()}).catch(s=>{this.onComplete!==null&&this.onComplete(null,s)})}LoadCellResources(){let t=[];this.sspjMap={};for(let e=0;e{e===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,e)})}load(t,s){this.fbObj=It.getProjectData(t);let e={};for(let h in s){const a=s[h];let o="";const n=a.byteLength;for(let d=0;d{h===null?(i.status=1,i.onComplete!==null&&i.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,h)})}}class Vt{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class _t extends S.Container{constructor(t,s=null,e=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new S.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new nt(t.fbObj,s,e),this.parentAlpha=1,s!==null&&e!==null&&this.Setup(s,e),this.on("added",(...i)=>{S.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...i)=>{S.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,s){this.playerLib.Setup(t,s),this.clearCaches();const e=this.playerLib.animePackData,i=e.partsLength();this.prevCellID=new Array(i),this.prevPartObject=new Array(i),this.changeCellID=new Array(i),this.substituteOverWrite=new Array(i),this.substituteKeyParam=new Array(i);for(let h=0;h=this.updateInterval){let h=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let o=this.skipEnabled?a*this.playDirection:this.playDirection,n=this._currentFrame+o,d=Math.floor(n),r=n-d,f=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let b=d-f;b;b--){let u=f+1;if(u>this._endFrame)if(this._loops===-1)u=this._startFrame;else if(this._loops--,h=!0,this._loops===0){this._isPlaying=!1,u=s?this._startFrame:this._endFrame;break}else u=this._startFrame;f=u,this._isPlaying&&this.playerLib.HaveUserData(f)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(f))}if(this.playDirection<=-1)for(let b=f-d;b;b--){let u=f-1;if(u0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=s)}SetAnimationSection(t=-1,s=-1,e=-1){t>=0&&t=0&&s0?this._loops=e:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let s=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(s=t),this._currentFrame=s,this.resetLiveFrame();const e=Math.floor(this._currentFrame);this.SetFrameAnimation(e),this.playerLib.HaveUserData(e)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(e))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),s=this.endFrame;t!==s&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}SetPartCell(t,s,e){if(this.playerLib.animationData){let i=-1;if(s!==""&&e!==""){const o=this.playerLib.fbObj,n=this.playerLib.fbObj.numCells();for(let d=0;d>>24)/255,o=((e&16711680)>>>16)/255,n=((e&65280)>>>8)/255,d=(e&255)/255;if(t===0){const r=1-s;h.matrix=[r,0,0,0,o*s,0,r,0,0,n*s,0,0,r,0,d*s,0,0,0,1,0]}else t===1?h.matrix=[o,0,0,0,0,0,n,0,0,0,0,0,d,0,0,0,0,0,a,0]:t===2?h.matrix=[1,0,0,0,o,0,1,0,0,n,0,0,1,0,d,0,0,0,a,0]:t===3&&(h.matrix=[1,0,0,0,-o,0,1,0,0,-n,0,0,1,0,-d,0,0,0,a,0]);return this.colorMatrixFilterCache[i]=h,h}SetFrameAnimation(t,s=0){const e=this.playerLib.GetFrameData(t);this.removeChildren();const i=e.length;for(let h=0;h=0&&this.prevCellID[a]!==n&&(d?.destroy(),d=this.MakeCellMesh(n),d.label=r.name());break;case O.Mesh:n>=0&&this.prevCellID[a]!==n&&(d?.destroy(),d=this.MakeMeshCellMesh(a,n),d.label=r.name());break;case O.Nulltype:case O.Joint:this.prevCellID[a]!==n&&(d?.destroy(),d=new S.Container,d.label=r.name());break;default:n>=0&&this.prevCellID[a]!==n&&(d?.destroy(),d=this.MakeCellMesh(n),d.label=r.name());break}if(d!=null)switch(this.prevCellID[a]=n,this.prevPartObject[a]=d,f){case O.Instance:{const l=d;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,o.index,t),l.rotation=this._instancePos[4]*Math.PI/180,l.position.set(this._instancePos[0],this._instancePos[1]),l.scale.set(this._instancePos[2],this._instancePos[3]);let V=o.opacity/255;o.localopacity<255&&(V=o.localopacity/255),l.SetAlpha(V*this.parentAlpha),l.visible=!o.f_hide;let m=o.instanceValue_curKeyframe,F=o.instanceValue_startFrame,I=o.instanceValue_endFrame,A=o.instanceValue_speed,H=o.instanceValue_loopNum,tt=!1,U=!1,v=!1,X=!1;const W=1,J=2,M=4,P=8,E=o.instanceValue_loopflag;E&W&&(tt=!0),E&J&&(U=!0),E&M&&(v=!0),E&P&&(X=!0),b&&(F=u.refStartframe,I=u.refEndframe,A=u.refSpeed,H=u.refloopNum,tt=u.infinity,U=u.reverse,v=u.pingpong,X=u.independent),(l._startFrame!==F||l._endFrame!==I)&&l.SetAnimationSection(F,I);let k=t;X===!0&&(this.liveFrame[h]+=s,k=Math.floor(this.liveFrame[h]));const st=m;let g=Math.floor((k-st)*A);if(g<0||st>k)continue;const B=I-F+1;if(B<=0)continue;let N=Math.floor(g/B),T=H;v&&(T=T*2),tt||N>=T&&(g=B-1,N=T-1);const $=Math.floor(g%B);let z=0;v&&N%2===1&&(U?U=!1:U=!0),this.playDirection<=-1&&(U=!U),U?z=I-$:z=$+F,l.SetFrame(Math.floor(z)),this.addChild(l);break}case O.Normal:case O.Mesh:case O.Joint:case O.Mask:{const l=d,V=l.geometry.attributes.aPosition.buffer;let m=V.data;const F=this.playerLib.fbObj.cells(n);let I;if(f===O.Mesh?o.meshIsBind===0?I=this.playerLib.TransformMeshVertsLocal(nt.GetMeshVerts(F,o,m),o.index,t):I=nt.GetMeshVerts(F,o,m):(I=f===O.Joint?new Float32Array(10):m,I=this.playerLib.TransformVertsLocal(nt.GetVerts(F,o,I),o.index,t)),o.flag1&p.VERTEX_TRANSFORM){const v=I[6],X=I[3*2+1],W=I[1*2+0],J=I[1*2+1],M=I[4*2+0],P=I[4*2+1],E=I[2*2+0],k=I[2*2+1],st=(v+M)*.5,g=(X+P)*.5,B=(v+W)*.5,N=(X+J)*.5,T=(W+E)*.5,$=(J+k)*.5,z=(M+E)*.5,ot=(P+k)*.5,rt=nt.CoordinateGetDiagonalIntersection(I[0],I[1],st,g,z,ot,B,N,T,$,this._CoordinateGetDiagonalIntersectionVec2);I[0]=rt[0],I[1]=rt[1]}const A=I[0],H=I[1];for(let v=0;v>>24)/255;l.alpha=l.alpha*v}const U=this.alphaBlendType[a];(U==="multiply"||U==="screen")&&(l.alpha=1),f!==O.Mask&&this.addChild(l);break}case O.Nulltype:{const l=d,V=this.playerLib.InheritOpacity(1,o.index,t);l.alpha=V*o.localopacity/255;const m=this.playerLib.TransformVerts(nt.GetDummyVerts(),o.index,t),F=m[0],I=m[1];l.position.set(F,I);const A=Math.atan2(m[5]-m[3],m[4]-m[2]),H=Math.atan2(m[7]-m[3],m[6]-m[2]);l.rotation=A,l.skew.x=H-A-Math.PI/2;break}}}}ChangeInstanceAnime(t,s,e,i,h=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let o=this.playerLib.animePackData,n=o.partsLength();for(let d=0;d0){const h=new Float32Array(i-2),a=e.uv(1);for(let b=2;b>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8}writeInt32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeUint32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeInt64(t,s){this.writeInt32(t,Number(BigInt.asIntN(32,s))),this.writeInt32(t+4,Number(BigInt.asIntN(32,s>>BigInt(32))))}writeUint64(t,s){this.writeUint32(t,Number(BigInt.asUintN(32,s))),this.writeUint32(t+4,Number(BigInt.asUintN(32,s>>BigInt(32))))}writeFloat32(t,s){Ft[0]=s,this.writeInt32(t,Q[0])}writeFloat64(t,s){gt[0]=s,this.writeInt32(t,Q[ft?0:1]),this.writeInt32(t+4,Q[ft?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;e--)t.addInt32(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static endpartState(t){return t.endObject()}static createpartState(t,s,e,i,r){return R.startpartState(t),R.addIndex(t,s),R.addFlag1(t,e),R.addFlag2(t,i),R.addData(t,r),R.endpartState(t)}}class it{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsframeDataIndex(t,s){return(s||new it).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,s){return t.setPosition(t.position()+C),(s||new it).__init(t.readInt32(t.position())+t.position(),t)}states(t,s){const e=this.bb.__offset(this.bb_pos,4);return e?(s||new R).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,s){t.addFieldOffset(0,s,0)}static createStatesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startStatesVector(t,s){t.startVector(4,s,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,s){return it.startframeDataIndex(t),it.addStates(t,s),it.endframeDataIndex(t)}}class G{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAslabelDataItem(t,s){return(s||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,s){return t.setPosition(t.position()+C),(s||new G).__init(t.readInt32(t.position())+t.position(),t)}label(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,s){t.addFieldOffset(0,s,0)}static addFrameIndex(t,s){t.addFieldInt16(1,s,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,s,e){return G.startlabelDataItem(t),G.addLabel(t,s),G.addFrameIndex(t,e),G.endlabelDataItem(t)}}class at{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataIndices(t,s){return(s||new at).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,s){return t.setPosition(t.position()+C),(s||new at).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,s){t.addFieldOffset(0,s,0)}static createIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startIndicesVector(t,s){t.startVector(4,s,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,s){return at.startmeshDataIndices(t),at.addIndices(t,s),at.endmeshDataIndices(t)}}class nt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataUV(t,s){return(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,s){return t.setPosition(t.position()+C),(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,s){t.addFieldOffset(0,s,0)}static createUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startUvVector(t,s){t.startVector(4,s,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,s){return nt.startmeshDataUV(t),nt.addUv(t,s),nt.endmeshDataUV(t)}}class A{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataItem(t,s){return(s||new A).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,s){return t.setPosition(t.position()+C),(s||new A).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,s){t.addFieldInt16(0,s,0)}static addArrayIndex(t,s){t.addFieldInt16(1,s,0)}static addDataType(t,s){t.addFieldOffset(2,s,0)}static createDataTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startDataTypeVector(t,s){t.startVector(1,s,1)}static addData(t,s){t.addFieldOffset(3,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,s,e,i,r){return A.startuserDataItem(t),A.addFlags(t,s),A.addArrayIndex(t,e),A.addDataType(t,i),A.addData(t,r),A.enduserDataItem(t)}}class tt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataPerFrame(t,s){return(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,s){return t.setPosition(t.position()+C),(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new A).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,s){t.addFieldInt16(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,s,e){return tt.startuserDataPerFrame(t),tt.addFrameIndex(t,s),tt.addData(t,e),tt.enduserDataPerFrame(t)}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimationData(t,s){return(s||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,s){return t.setPosition(t.position()+C),(s||new y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}defaultData(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new l).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new it).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?(s||new tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new at).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,s){t.addFieldOffset(0,s,0)}static addDefaultData(t,s){t.addFieldOffset(1,s,0)}static createDefaultDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDefaultDataVector(t,s){t.startVector(4,s,4)}static addFrameData(t,s){t.addFieldOffset(2,s,0)}static createFrameDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startFrameDataVector(t,s){t.startVector(4,s,4)}static addUserData(t,s){t.addFieldOffset(3,s,0)}static createUserDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startUserDataVector(t,s){t.startVector(4,s,4)}static addLabelData(t,s){t.addFieldOffset(4,s,0)}static createLabelDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startLabelDataVector(t,s){t.startVector(4,s,4)}static addMeshsDataUv(t,s){t.addFieldOffset(5,s,0)}static createMeshsDataUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataUvVector(t,s){t.startVector(4,s,4)}static addMeshsDataIndices(t,s){t.addFieldOffset(6,s,0)}static createMeshsDataIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataIndicesVector(t,s){t.startVector(4,s,4)}static addStartFrames(t,s){t.addFieldInt16(7,s,0)}static addEndFrames(t,s){t.addFieldInt16(8,s,0)}static addTotalFrames(t,s){t.addFieldInt16(9,s,0)}static addFps(t,s){t.addFieldInt16(10,s,0)}static addLabelNum(t,s){t.addFieldInt16(11,s,0)}static addCanvasSizeW(t,s){t.addFieldInt16(12,s,0)}static addCanvasSizeH(t,s){t.addFieldInt16(13,s,0)}static addCanvasPvotX(t,s){t.addFieldFloat32(14,s,0)}static addCanvasPvotY(t,s){t.addFieldFloat32(15,s,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,s,e,i,r,a,o,h,f,n,d,_,m,F,b,v,u){return y.startAnimationData(t),y.addName(t,s),y.addDefaultData(t,e),y.addFrameData(t,i),y.addUserData(t,r),y.addLabelData(t,a),y.addMeshsDataUv(t,o),y.addMeshsDataIndices(t,h),y.addStartFrames(t,f),y.addEndFrames(t,n),y.addTotalFrames(t,d),y.addFps(t,_),y.addLabelNum(t,m),y.addCanvasSizeW(t,F),y.addCanvasSizeH(t,b),y.addCanvasPvotX(t,v),y.addCanvasPvotY(t,u),y.endAnimationData(t)}}var O=(c=>(c[c.Invalid=-1]="Invalid",c[c.Nulltype=0]="Nulltype",c[c.Normal=1]="Normal",c[c.Text=2]="Text",c[c.Instance=3]="Instance",c[c.Armature=4]="Armature",c[c.Effect=5]="Effect",c[c.Mesh=6]="Mesh",c[c.Movenode=7]="Movenode",c[c.Constraint=8]="Constraint",c[c.Mask=9]="Mask",c[c.Joint=10]="Joint",c[c.Bonepoint=11]="Bonepoint",c))(O||{});class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsPartData(t,s){return(s||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,s){return t.setPosition(t.position()+C),(s||new S).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):O.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__string(this.bb_pos+s,t):null}effectfilename(t){const s=this.bb.__offset(this.bb_pos,18);return s?this.bb.__string(this.bb_pos+s,t):null}colorLabel(t){const s=this.bb.__offset(this.bb_pos,20);return s?this.bb.__string(this.bb_pos+s,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,s){t.addFieldOffset(0,s,0)}static addIndex(t,s){t.addFieldInt16(1,s,0)}static addParentIndex(t,s){t.addFieldInt16(2,s,0)}static addType(t,s){t.addFieldInt8(3,s,O.Nulltype)}static addBoundsType(t,s){t.addFieldInt16(4,s,0)}static addAlphaBlendType(t,s){t.addFieldInt16(5,s,0)}static addRefname(t,s){t.addFieldOffset(6,s,0)}static addEffectfilename(t,s){t.addFieldOffset(7,s,0)}static addColorLabel(t,s){t.addFieldOffset(8,s,0)}static addMaskInfluence(t,s){t.addFieldInt16(9,s,0)}static endPartData(t){return t.endObject()}static createPartData(t,s,e,i,r,a,o,h,f,n,d){return S.startPartData(t),S.addName(t,s),S.addIndex(t,e),S.addParentIndex(t,i),S.addType(t,r),S.addBoundsType(t,a),S.addAlphaBlendType(t,o),S.addRefname(t,h),S.addEffectfilename(t,f),S.addColorLabel(t,n),S.addMaskInfluence(t,d),S.endPartData(t)}}class Z{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimePackData(t,s){return(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,s){return t.setPosition(t.position()+C),(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}parts(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new S).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,s){t.addFieldOffset(0,s,0)}static addParts(t,s){t.addFieldOffset(1,s,0)}static createPartsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startPartsVector(t,s){t.startVector(4,s,4)}static addAnimations(t,s){t.addFieldOffset(2,s,0)}static createAnimationsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimationsVector(t,s){t.startVector(4,s,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,s,e,i){return Z.startAnimePackData(t),Z.addName(t,s),Z.addParts(t,e),Z.addAnimations(t,i),Z.endAnimePackData(t)}}class X{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCellMap(t,s){return(s||new X).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,s){return t.setPosition(t.position()+C),(s||new X).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}imagePath(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,s){t.addFieldOffset(0,s,0)}static addImagePath(t,s){t.addFieldOffset(1,s,0)}static addIndex(t,s){t.addFieldInt16(2,s,0)}static addWrapmode(t,s){t.addFieldInt16(3,s,0)}static addFiltermode(t,s){t.addFieldInt16(4,s,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,s,e,i,r,a){return X.startCellMap(t),X.addName(t,s),X.addImagePath(t,e),X.addIndex(t,i),X.addWrapmode(t,r),X.addFiltermode(t,a),X.endCellMap(t)}}class lt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCell(t,s){return(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,s){return t.setPosition(t.position()+C),(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}cellMap(t){const s=this.bb.__offset(this.bb_pos,6);return s?(t||new X).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,s){t.addFieldOffset(0,s,0)}static addCellMap(t,s){t.addFieldOffset(1,s,0)}static addIndexInCellMap(t,s){t.addFieldInt16(2,s,0)}static addX(t,s){t.addFieldInt16(3,s,0)}static addY(t,s){t.addFieldInt16(4,s,0)}static addWidth(t,s){t.addFieldInt16(5,s,0)}static addHeight(t,s){t.addFieldInt16(6,s,0)}static addPivotX(t,s){t.addFieldFloat32(7,s,0)}static addPivotY(t,s){t.addFieldFloat32(8,s,0)}static addU1(t,s){t.addFieldFloat32(9,s,0)}static addV1(t,s){t.addFieldFloat32(10,s,0)}static addU2(t,s){t.addFieldFloat32(11,s,0)}static addV2(t,s){t.addFieldFloat32(12,s,0)}static endCell(t){return t.endObject()}}class P{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectNode(t,s){return(s||new P).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,s){return t.setPosition(t.position()+C),(s||new P).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,s){t.addFieldInt16(0,s,0)}static addParentIndex(t,s){t.addFieldInt16(1,s,0)}static addType(t,s){t.addFieldInt16(2,s,0)}static addCellIndex(t,s){t.addFieldInt16(3,s,0)}static addBlendType(t,s){t.addFieldInt16(4,s,0)}static addNumBehavior(t,s){t.addFieldInt16(5,s,0)}static addBehaviorType(t,s){t.addFieldOffset(6,s,0)}static createBehaviorTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startBehaviorTypeVector(t,s){t.startVector(1,s,1)}static addBehavior(t,s){t.addFieldOffset(7,s,0)}static createBehaviorVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startBehaviorVector(t,s){t.startVector(4,s,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,s,e,i,r,a,o,h,f){return P.startEffectNode(t),P.addArrayIndex(t,s),P.addParentIndex(t,e),P.addType(t,i),P.addCellIndex(t,r),P.addBlendType(t,a),P.addNumBehavior(t,o),P.addBehaviorType(t,h),P.addBehavior(t,f),P.endEffectNode(t)}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectFile(t,s){return(s||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,s){return t.setPosition(t.position()+C),(s||new w).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?(s||new P).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,s){t.addFieldOffset(0,s,0)}static addFps(t,s){t.addFieldInt16(1,s,0)}static addIsLockRandSeed(t,s){t.addFieldInt16(2,s,0)}static addLockRandSeed(t,s){t.addFieldInt16(3,s,0)}static addLayoutScaleX(t,s){t.addFieldInt16(4,s,0)}static addLayoutScaleY(t,s){t.addFieldInt16(5,s,0)}static addNumNodeList(t,s){t.addFieldInt16(6,s,0)}static addEffectNode(t,s){t.addFieldOffset(7,s,0)}static createEffectNodeVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectNodeVector(t,s){t.startVector(4,s,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,s,e,i,r,a,o,h,f){return w.startEffectFile(t),w.addName(t,s),w.addFps(t,e),w.addIsLockRandSeed(t,i),w.addLockRandSeed(t,r),w.addLayoutScaleX(t,a),w.addLayoutScaleY(t,o),w.addNumNodeList(t,h),w.addEffectNode(t,f),w.endEffectFile(t)}}var p=(c=>(c[c.INVISIBLE=1]="INVISIBLE",c[c.FLIP_H=2]="FLIP_H",c[c.FLIP_V=4]="FLIP_V",c[c.CELL_INDEX=8]="CELL_INDEX",c[c.POSITION_X=16]="POSITION_X",c[c.POSITION_Y=32]="POSITION_Y",c[c.POSITION_Z=64]="POSITION_Z",c[c.PIVOT_X=128]="PIVOT_X",c[c.PIVOT_Y=256]="PIVOT_Y",c[c.ROTATIONX=512]="ROTATIONX",c[c.ROTATIONY=1024]="ROTATIONY",c[c.ROTATIONZ=2048]="ROTATIONZ",c[c.SCALE_X=4096]="SCALE_X",c[c.SCALE_Y=8192]="SCALE_Y",c[c.LOCALSCALE_X=16384]="LOCALSCALE_X",c[c.LOCALSCALE_Y=32768]="LOCALSCALE_Y",c[c.OPACITY=65536]="OPACITY",c[c.LOCALOPACITY=131072]="LOCALOPACITY",c[c.PARTS_COLOR=262144]="PARTS_COLOR",c[c.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",c[c.SIZE_X=1048576]="SIZE_X",c[c.SIZE_Y=2097152]="SIZE_Y",c[c.U_MOVE=4194304]="U_MOVE",c[c.V_MOVE=8388608]="V_MOVE",c[c.UV_ROTATION=16777216]="UV_ROTATION",c[c.U_SCALE=33554432]="U_SCALE",c[c.V_SCALE=67108864]="V_SCALE",c[c.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",c[c.MASK=268435456]="MASK",c[c.PRIORITY=536870912]="PRIORITY",c[c.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",c[c.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",c))(p||{}),yt=(c=>(c[c.MESHDATA=1]="MESHDATA",c))(yt||{});class D{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsProjectData(t,s){return(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,s){return t.setPosition(t.position()+C),(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__string(this.bb_pos+s,t):null}cells(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new Z).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new w).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,s){t.addFieldInt32(0,s,0)}static addVersion(t,s){t.addFieldInt32(1,s,0)}static addFlags(t,s){t.addFieldInt32(2,s,0)}static addImageBaseDir(t,s){t.addFieldOffset(3,s,0)}static addCells(t,s){t.addFieldOffset(4,s,0)}static createCellsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startCellsVector(t,s){t.startVector(4,s,4)}static addAnimePacks(t,s){t.addFieldOffset(5,s,0)}static createAnimePacksVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimePacksVector(t,s){t.startVector(4,s,4)}static addEffectFileList(t,s){t.addFieldOffset(6,s,0)}static createEffectFileListVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectFileListVector(t,s){t.startVector(4,s,4)}static addNumCells(t,s){t.addFieldInt16(7,s,0)}static addNumAnimePacks(t,s){t.addFieldInt16(8,s,0)}static addNumEffectFileList(t,s){t.addFieldInt16(9,s,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,s){t.finish(s,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,s){t.finish(s,"SSFB",!0)}static createProjectData(t,s,e,i,r,a,o,h,f,n,d){return D.startProjectData(t),D.addDataId(t,s),D.addVersion(t,e),D.addFlags(t,i),D.addImageBaseDir(t,r),D.addCells(t,a),D.addAnimePacks(t,o),D.addEffectFileList(t,h),D.addNumCells(t,f),D.addNumAnimePacks(t,n),D.addNumEffectFileList(t,d),D.endProjectData(t)}}class Ct{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,s){return t.prep(4,4),t.writeInt32(s),t.offset()}}class vt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,s,e){return t.prep(4,8),t.writeInt32(e),t.writeInt32(s),t.offset()}}class bt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,s,e,i,r){return t.prep(4,16),t.writeInt32(r),t.writeInt32(i),t.writeInt32(e),t.writeInt32(s),t.offset()}}class H{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataString(t,s){return(s||new H).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,s){return t.setPosition(t.position()+C),(s||new H).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,s){t.addFieldInt32(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,s,e){return H.startuserDataString(t),H.addLength(t,s),H.addData(t,e),H.enduserDataString(t)}}let xt=class{static getProjectData(t){const s=new It(t);return D.getRootAsProjectData(s)}};class mt{static getProjectData(t){return xt.getProjectData(t)}}class ot{constructor(t,s=null,e=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),t.hasOwnProperty("bb")?this._fbObj=t:this._fbObj=mt.getProjectData(t),s!==null&&e!==null&&this.Setup(s,e)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,s){this.clearCaches();const e=this._fbObj.animePacksLength();let i=!1;for(let r=0;r>>0,n.colorBlendType===1&&(n.tint=n.colorArgb32&16777215)}}if(f&yt.MESHDATA){const _=this.curAnimation.meshsDataUv(o);n.meshIsBind=_.uv(0),n.meshNum=_.uv(1);let m=new Float32Array(n.meshNum*3);for(let F=0;F=0&&(t=this.InheritOpacity(t,this._parentIndex[s],e)),t}TransformVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformMeshVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPositionLocal(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r),h=t[0]*i.scaleX*i.localscaleX,f=t[1]*i.scaleY*i.localscaleY;return t[2]*=i.scaleX*i.localscaleX,t[3]*=i.scaleY*i.localscaleY,t[0]=a*h-o*f+i.positionX,t[1]=o*h+a*f-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static CoordinateGetDiagonalIntersection(t,s,e,i,r,a,o,h,f,n,d){const _=(h-a)*(o-e)-(o-r)*(h-i),m=(f-e)*(h-i)-(n-i)*(o-e),F=(f-e)*(h-a)-(n-i)*(o-r);if(F<=0&&F>=0)return d;const b=_/F,v=m/F;return 0<=b&&1>=b&&0<=v&&1>=v&&(t=e+b*(f-e),s=i+b*(n-i)),d[0]=t,d[1]=s,d}TransformVerts(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPosition(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r),h=t[0]*i.scaleX,f=t[1]*i.scaleY;return t[2]*=i.scaleX,t[3]*=i.scaleY,t[0]=a*h-o*f+i.positionX,t[1]=o*h+a*f-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static GetVerts(t,s,e){const i=s.size_X/2,r=s.size_Y/2,a=s.size_X*-(s.pivotX+t.pivotX()),o=s.size_Y*(s.pivotY+t.pivotY());return e.set([a,o,a-i,o-r,a+i,o-r,a-i,o+r,a+i,o+r]),e}static GetMeshVerts(t,s,e){for(let i=0;i{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}unload(t,s,e){L.Assets.unloadBundle(t).then(()=>{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}texture(t){return L.Assets.get(t)}}class Dt{constructor(){this.loader=new St}load(t,s,e){return this.loader.load(t,s,e)}unload(t,s,e=null){return this.loader.unload(t,s,e)}texture(t){return this.loader.texture(t)}}class Lt{constructor(t,s,e,i){if(this.sspjMap={},this.resourceLoader=new Dt,typeof t=="string"&&e===void 0){let r=t;this.ssfbPath=r;const a=r.lastIndexOf("/");this.rootPath=r.substring(0,a)+"/",this.ssfbFile=r.substring(a+1),this.onComplete=s===void 0?null:s,this.status=0,this.LoadFlatBuffersProject()}else if(typeof s=="object"&&s.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let r=s,a=e;this.onComplete=i===void 0?null:i,this.load(r,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,s=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(s=>s.ok?Promise.resolve(s.arrayBuffer()):Promise.reject(new Error(s.statusText))).then(s=>{t.fbObj=mt.getProjectData(new Uint8Array(s)),t.LoadCellResources()}).catch(s=>{this.onComplete!==null&&this.onComplete(null,s)})}LoadCellResources(){let t=[];this.sspjMap={};for(let e=0;e{e===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,e)})}load(t,s){this.fbObj=mt.getProjectData(t);let e={};for(let r in s){const a=s[r];let o="";const h=a.byteLength;for(let f=0;f{r===null?(i.status=1,i.onComplete!==null&&i.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,r)})}}class Vt{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class _t extends L.Container{constructor(t,s=null,e=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new L.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new ot(t.fbObj,s,e),this.parentAlpha=1,s!==null&&e!==null&&this.Setup(s,e),this.on("added",(...i)=>{L.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...i)=>{L.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,s){this.playerLib.Setup(t,s),this.clearCaches();const e=this.playerLib.animePackData,i=e.partsLength();this.prevCellID=new Array(i),this.prevPartObject=new Array(i),this.changeCellID=new Array(i),this.substituteOverWrite=new Array(i),this.substituteKeyParam=new Array(i);for(let r=0;r=this.updateInterval){let r=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let o=this.skipEnabled?a*this.playDirection:this.playDirection,h=this._currentFrame+o,f=Math.floor(h),n=h-f,d=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let _=f-d;_;_--){let m=d+1;if(m>this._endFrame)if(this._loops===-1)m=this._startFrame;else if(this._loops--,r=!0,this._loops===0){this._isPlaying=!1,m=s?this._startFrame:this._endFrame;break}else m=this._startFrame;d=m,this._isPlaying&&this.playerLib.HaveUserData(d)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(d))}if(this.playDirection<=-1)for(let _=d-f;_;_--){let m=d-1;if(m0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=s)}SetAnimationSection(t=-1,s=-1,e=-1){t>=0&&t=0&&s0?this._loops=e:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let s=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(s=t),this._currentFrame=s,this.resetLiveFrame();const e=Math.floor(this._currentFrame);this.SetFrameAnimation(e),this.playerLib.HaveUserData(e)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(e))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),s=this.endFrame;t!==s&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}getCellIndex(t,s){let e=-1;if(t!==""&&s!==""){const i=this.playerLib.fbObj,r=this.playerLib.fbObj.numCells();for(let a=0;a>>24)/255,o=((e&16711680)>>>16)/255,h=((e&65280)>>>8)/255,f=(e&255)/255;if(t===0){const n=1-s;r.matrix=[n,0,0,0,o*s,0,n,0,0,h*s,0,0,n,0,f*s,0,0,0,1,0]}else t===1?r.matrix=[o,0,0,0,0,0,h,0,0,0,0,0,f,0,0,0,0,0,a,0]:t===2?r.matrix=[1,0,0,0,o,0,1,0,0,h,0,0,1,0,f,0,0,0,a,0]:t===3&&(r.matrix=[1,0,0,0,-o,0,1,0,0,-h,0,0,1,0,-f,0,0,0,a,0]);return this.colorMatrixFilterCache[i]=r,r}SetFrameAnimation(t,s=0){const e=this.playerLib.GetFrameData(t);this.removeChildren();const i=e.length;for(let r=0;r=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeCellMesh(f),n.label=d.name());break;case O.Mesh:f>=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeMeshCellMesh(a,f,h),n.label=d.name());break;case O.Nulltype:case O.Joint:this.prevCellID[a]!==f&&(n?.destroy(),n=new L.Container,n.label=d.name());break;default:f>=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeCellMesh(f),n.label=d.name());break}if(n!=null)switch(this.prevCellID[a]=f,this.prevPartObject[a]=n,_){case O.Instance:{const b=n;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,o.index,t),b.rotation=this._instancePos[4]*Math.PI/180,b.position.set(this._instancePos[0],this._instancePos[1]),b.scale.set(this._instancePos[2],this._instancePos[3]);let v=o.opacity/255;o.localopacity<255&&(v=o.localopacity/255),b.SetAlpha(v*this.parentAlpha),b.visible=!o.f_hide;let u=o.instanceValue_curKeyframe,x=o.instanceValue_startFrame,I=o.instanceValue_endFrame,z=o.instanceValue_speed,W=o.instanceValue_loopNum,st=!1,k=!1,V=!1,B=!1;const J=1,$=2,M=4,E=8,N=o.instanceValue_loopflag;N&J&&(st=!0),N&$&&(k=!0),N&M&&(V=!0),N&E&&(B=!0),m&&(x=F.refStartframe,I=F.refEndframe,z=F.refSpeed,W=F.refloopNum,st=F.infinity,k=F.reverse,V=F.pingpong,B=F.independent),(b._startFrame!==x||b._endFrame!==I)&&b.SetAnimationSection(x,I);let Y=t;B===!0&&(this.liveFrame[r]+=s,Y=Math.floor(this.liveFrame[r]));const et=u;let g=Math.floor((Y-et)*z);if(g<0||et>Y)continue;const T=I-x+1;if(T<=0)continue;let U=Math.floor(g/T),j=W;V&&(j=j*2),st||U>=j&&(g=T-1,U=j-1);const q=Math.floor(g%T);let K=0;V&&U%2===1&&(k?k=!1:k=!0),this.playDirection<=-1&&(k=!k),k?K=I-q:K=q+x,b.SetFrame(Math.floor(K)),this.addChild(b);break}case O.Normal:case O.Mesh:case O.Joint:case O.Mask:{const b=n,v=b.geometry.attributes.aPosition.buffer;let u=v.data;const x=this.playerLib.fbObj.cells(f);let I;if(_===O.Mesh?o.meshIsBind===0?I=this.playerLib.TransformMeshVertsLocal(ot.GetMeshVerts(x,o,u),o.index,t):I=ot.GetMeshVerts(x,o,u):(I=_===O.Joint?new Float32Array(10):u,I=this.playerLib.TransformVertsLocal(ot.GetVerts(x,o,I),o.index,t)),o.flag1&p.VERTEX_TRANSFORM){const V=I[6],B=I[3*2+1],J=I[1*2+0],$=I[1*2+1],M=I[4*2+0],E=I[4*2+1],N=I[2*2+0],Y=I[2*2+1],et=(V+M)*.5,g=(B+E)*.5,T=(V+J)*.5,U=(B+$)*.5,j=(J+N)*.5,q=($+Y)*.5,K=(M+N)*.5,rt=(E+Y)*.5,pt=ot.CoordinateGetDiagonalIntersection(I[0],I[1],et,g,K,rt,T,U,j,q,this._CoordinateGetDiagonalIntersectionVec2);I[0]=pt[0],I[1]=pt[1]}const z=I[0],W=I[1];for(let V=0;V>>24)/255;b.alpha=b.alpha*V}const k=this.alphaBlendType[a];(k==="multiply"||k==="screen")&&(b.alpha=1),_!==O.Mask&&this.addChild(b);break}case O.Nulltype:{const b=n,v=this.playerLib.InheritOpacity(1,o.index,t);b.alpha=v*o.localopacity/255;const u=this.playerLib.TransformVerts(ot.GetDummyVerts(),o.index,t),x=u[0],I=u[1];b.position.set(x,I);const z=Math.atan2(u[5]-u[3],u[4]-u[2]),W=Math.atan2(u[7]-u[3],u[6]-u[2]);b.rotation=z,b.skew.x=W-z-Math.PI/2;break}}}}ChangeInstanceAnime(t,s,e,i,r=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let o=this.playerLib.animePackData,h=o.partsLength();for(let f=0;f0){const a=this.playerLib.fbObj.cells(s),o=this.playerLib.fbObj.cells(e),h=s===e?0:(a.u1()+a.u2())/2-(o.u1()+o.u2())/2,f=s===e?0:(a.v1()+a.v2())/2-(o.v1()+o.v2())/2,n=new Float32Array(r-2),d=i.uv(1);for(let u=2;u= 0 && this.prevCellID[i] !== cellID) { if (partObject != null) partObject.destroy(); - partObject = this.MakeMeshCellMesh(i, cellID); + partObject = this.MakeMeshCellMesh(i, cellID, origCellID); partObject.label = part.name(); } break; @@ -3951,16 +3961,21 @@ * メッシュセルからメッシュを作成 * @param {number} partID - パーツID * @param {number} cellID - セルID + * @param {number} origCellID - オリジナルのセルID * @return {PIXI.Mesh} - メッシュ */ - MakeMeshCellMesh(partID, cellID) { + MakeMeshCellMesh(partID, cellID, origCellID) { const meshsDataUV = this.playerLib.animationData.meshsDataUv(partID); const uvLength = meshsDataUV.uvLength(); if (uvLength > 0) { + const cell = this.playerLib.fbObj.cells(cellID); + const origCell = this.playerLib.fbObj.cells(origCellID); + const diff_u = cellID === origCellID ? 0 : (cell.u1() + cell.u2()) / 2 - (origCell.u1() + origCell.u2()) / 2; + const diff_v = cellID === origCellID ? 0 : (cell.v1() + cell.v2()) / 2 - (origCell.v1() + origCell.v2()) / 2; const uvs = new Float32Array(uvLength - 2); const meshNum = meshsDataUV.uv(1); for (let idx = 2; idx < uvLength; idx++) { - uvs[idx - 2] = meshsDataUV.uv(idx); + uvs[idx - 2] = meshsDataUV.uv(idx) + (idx % 2 === 0 ? diff_u : diff_v); } const meshsDataIndices = this.playerLib.animationData.meshsDataIndices(partID); const indicesLength = meshsDataIndices.indicesLength(); diff --git a/docs/ViewerPlayer/player.html b/docs/ViewerPlayer/player.html index 6c59c427..b0fc9b17 100644 --- a/docs/ViewerPlayer/player.html +++ b/docs/ViewerPlayer/player.html @@ -10,7 +10,7 @@ SpriteStudio Web Player - + diff --git a/docs/ViewerPlayer/ss6player-viewer.min.js b/docs/ViewerPlayer/ss6player-viewer.min.js index bea9c7d8..23cd74f3 100644 --- a/docs/ViewerPlayer/ss6player-viewer.min.js +++ b/docs/ViewerPlayer/ss6player-viewer.min.js @@ -7,7 +7,7 @@ * ----------------------------------------------------------- */ -var ss6PlayerViewer=function(Ae,wt){"use strict";const be=[5,10,15,20,25,50,75,100,150,200,300,400,800];class Ue extends wt.Container{constructor(){super(),this.rootLineGraphics=null,this.gridGraphics=null,this.defaultScaleRatio=null,this.zoomPercent=null,this.isDisplayGrid=!1;const t=new wt.Graphics,e=new wt.Graphics;this.addChild(t),this.addChild(e),this.rootLineGraphics=t,this.gridGraphics=e}setDefaultScaleRatio(t){this.defaultScaleRatio=t}setPosition(t,e){this.position.set(t,e)}movePosition(t,e){const r=this.position;r.x+=t,r.y+=e,this.position=r}zoom(t){let e=this.defaultScaleRatio;t!==100&&(e=this.defaultScaleRatio*(t*.01)),this.zoomPercent=t,this.scale.set(e,e)}zoomIn(){const e=be.indexOf(this.zoomPercent)+1;if(e>=be.length)return;const r=be[e];this.zoom(r)}zoomOut(){const e=be.indexOf(this.zoomPercent)-1;if(e<0)return;const r=be[e];this.zoom(r)}switchGridDisplay(){const t=this.rootLineGraphics,e=this.gridGraphics;if(!(t==null||e==null)&&(t.clear(),e.clear(),this.isDisplayGrid=!this.isDisplayGrid,this.isDisplayGrid)){t.lineStyle(1,0),t.alpha=.3,t.moveTo(-5e3,0).lineTo(5001,0),t.moveTo(0,-5e3).lineTo(0,5001),e.lineStyle(1,0),e.alpha=.1;let l=100;for(let a=-5e3;a<5001;a+=l)e.moveTo(a,-5e3).lineTo(a,5001);for(let a=-5e3;a<5001;a+=l)e.moveTo(-5e3,-a).lineTo(5001,-a)}}}class Be{}const me=4,ve=4,Ft=4,ee=new Int32Array(2),Pe=new Float32Array(ee.buffer),Te=new Float64Array(ee.buffer),ge=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Ee;(function(L){L[L.UTF8_BYTES=1]="UTF8_BYTES",L[L.UTF16_STRING=2]="UTF16_STRING"})(Ee||(Ee={}));class Oe{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new Oe(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){Pe[0]=e,this.writeInt32(t,ee[0])}writeFloat64(t,e){Te[0]=e,this.writeInt32(t,ee[ge?0:1]),this.writeInt32(t+4,ee[ge?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;r--)t.addInt32(e[r]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static endpartState(t){return t.endObject()}static createpartState(t,e,r,s,l){return Ht.startpartState(t),Ht.addIndex(t,e),Ht.addFlag1(t,r),Ht.addFlag2(t,s),Ht.addData(t,l),Ht.endpartState(t)}}class oe{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsframeDataIndex(t,e){return(e||new oe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,e){return t.setPosition(t.position()+Ft),(e||new oe).__init(t.readInt32(t.position())+t.position(),t)}states(t,e){const r=this.bb.__offset(this.bb_pos,4);return r?(e||new Ht).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,e){t.addFieldOffset(0,e,0)}static createStatesVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startStatesVector(t,e){t.startVector(4,e,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,e){return oe.startframeDataIndex(t),oe.addStates(t,e),oe.endframeDataIndex(t)}}class ie{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAslabelDataItem(t,e){return(e||new ie).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,e){return t.setPosition(t.position()+Ft),(e||new ie).__init(t.readInt32(t.position())+t.position(),t)}label(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,e){t.addFieldOffset(0,e,0)}static addFrameIndex(t,e){t.addFieldInt16(1,e,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,e,r){return ie.startlabelDataItem(t),ie.addLabel(t,e),ie.addFrameIndex(t,r),ie.endlabelDataItem(t)}}class fe{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsmeshDataIndices(t,e){return(e||new fe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,e){return t.setPosition(t.position()+Ft),(e||new fe).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readFloat32(this.bb.__vector(this.bb_pos+e)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addFloat32(e[r]);return t.endVector()}static startIndicesVector(t,e){t.startVector(4,e,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,e){return fe.startmeshDataIndices(t),fe.addIndices(t,e),fe.endmeshDataIndices(t)}}class le{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsmeshDataUV(t,e){return(e||new le).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,e){return t.setPosition(t.position()+Ft),(e||new le).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readFloat32(this.bb.__vector(this.bb_pos+e)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,e){t.addFieldOffset(0,e,0)}static createUvVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addFloat32(e[r]);return t.endVector()}static startUvVector(t,e){t.startVector(4,e,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,e){return le.startmeshDataUV(t),le.addUv(t,e),le.endmeshDataUV(t)}}class Kt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsuserDataItem(t,e){return(e||new Kt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,e){return t.setPosition(t.position()+Ft),(e||new Kt).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,e){const r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__union(e,this.bb.__vector(this.bb_pos+r)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,e){t.addFieldInt16(0,e,0)}static addArrayIndex(t,e){t.addFieldInt16(1,e,0)}static addDataType(t,e){t.addFieldOffset(2,e,0)}static createDataTypeVector(t,e){t.startVector(1,e.length,1);for(let r=e.length-1;r>=0;r--)t.addInt8(e[r]);return t.endVector()}static startDataTypeVector(t,e){t.startVector(1,e,1)}static addData(t,e){t.addFieldOffset(3,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,e,r,s,l){return Kt.startuserDataItem(t),Kt.addFlags(t,e),Kt.addArrayIndex(t,r),Kt.addDataType(t,s),Kt.addData(t,l),Kt.enduserDataItem(t)}}class re{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsuserDataPerFrame(t,e){return(e||new re).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,e){return t.setPosition(t.position()+Ft),(e||new re).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,e){const r=this.bb.__offset(this.bb_pos,6);return r?(e||new Kt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,e){t.addFieldInt16(0,e,0)}static addData(t,e){t.addFieldOffset(1,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,e,r){return re.startuserDataPerFrame(t),re.addFrameIndex(t,e),re.addData(t,r),re.enduserDataPerFrame(t)}}class pt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAnimationData(t,e){return(e||new pt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,e){return t.setPosition(t.position()+Ft),(e||new pt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}defaultData(t,e){const r=this.bb.__offset(this.bb_pos,6);return r?(e||new et).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,e){const r=this.bb.__offset(this.bb_pos,8);return r?(e||new oe).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,e){const r=this.bb.__offset(this.bb_pos,10);return r?(e||new re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,e){const r=this.bb.__offset(this.bb_pos,12);return r?(e||new ie).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,e){const r=this.bb.__offset(this.bb_pos,14);return r?(e||new le).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,e){const r=this.bb.__offset(this.bb_pos,16);return r?(e||new fe).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,e){t.addFieldOffset(0,e,0)}static addDefaultData(t,e){t.addFieldOffset(1,e,0)}static createDefaultDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startDefaultDataVector(t,e){t.startVector(4,e,4)}static addFrameData(t,e){t.addFieldOffset(2,e,0)}static createFrameDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startFrameDataVector(t,e){t.startVector(4,e,4)}static addUserData(t,e){t.addFieldOffset(3,e,0)}static createUserDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startUserDataVector(t,e){t.startVector(4,e,4)}static addLabelData(t,e){t.addFieldOffset(4,e,0)}static createLabelDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startLabelDataVector(t,e){t.startVector(4,e,4)}static addMeshsDataUv(t,e){t.addFieldOffset(5,e,0)}static createMeshsDataUvVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startMeshsDataUvVector(t,e){t.startVector(4,e,4)}static addMeshsDataIndices(t,e){t.addFieldOffset(6,e,0)}static createMeshsDataIndicesVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startMeshsDataIndicesVector(t,e){t.startVector(4,e,4)}static addStartFrames(t,e){t.addFieldInt16(7,e,0)}static addEndFrames(t,e){t.addFieldInt16(8,e,0)}static addTotalFrames(t,e){t.addFieldInt16(9,e,0)}static addFps(t,e){t.addFieldInt16(10,e,0)}static addLabelNum(t,e){t.addFieldInt16(11,e,0)}static addCanvasSizeW(t,e){t.addFieldInt16(12,e,0)}static addCanvasSizeH(t,e){t.addFieldInt16(13,e,0)}static addCanvasPvotX(t,e){t.addFieldFloat32(14,e,0)}static addCanvasPvotY(t,e){t.addFieldFloat32(15,e,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,e,r,s,l,a,h,n,m,c,u,g,v,F,C,o,_){return pt.startAnimationData(t),pt.addName(t,e),pt.addDefaultData(t,r),pt.addFrameData(t,s),pt.addUserData(t,l),pt.addLabelData(t,a),pt.addMeshsDataUv(t,h),pt.addMeshsDataIndices(t,n),pt.addStartFrames(t,m),pt.addEndFrames(t,c),pt.addTotalFrames(t,u),pt.addFps(t,g),pt.addLabelNum(t,v),pt.addCanvasSizeW(t,F),pt.addCanvasSizeH(t,C),pt.addCanvasPvotX(t,o),pt.addCanvasPvotY(t,_),pt.endAnimationData(t)}}var It=(L=>(L[L.Invalid=-1]="Invalid",L[L.Nulltype=0]="Nulltype",L[L.Normal=1]="Normal",L[L.Text=2]="Text",L[L.Instance=3]="Instance",L[L.Armature=4]="Armature",L[L.Effect=5]="Effect",L[L.Mesh=6]="Mesh",L[L.Movenode=7]="Movenode",L[L.Constraint=8]="Constraint",L[L.Mask=9]="Mask",L[L.Joint=10]="Joint",L[L.Bonepoint=11]="Bonepoint",L))(It||{});class Et{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPartData(t,e){return(e||new Et).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,e){return t.setPosition(t.position()+Ft),(e||new Et).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):It.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__string(this.bb_pos+e,t):null}effectfilename(t){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__string(this.bb_pos+e,t):null}colorLabel(t){const e=this.bb.__offset(this.bb_pos,20);return e?this.bb.__string(this.bb_pos+e,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,e){t.addFieldOffset(0,e,0)}static addIndex(t,e){t.addFieldInt16(1,e,0)}static addParentIndex(t,e){t.addFieldInt16(2,e,0)}static addType(t,e){t.addFieldInt8(3,e,It.Nulltype)}static addBoundsType(t,e){t.addFieldInt16(4,e,0)}static addAlphaBlendType(t,e){t.addFieldInt16(5,e,0)}static addRefname(t,e){t.addFieldOffset(6,e,0)}static addEffectfilename(t,e){t.addFieldOffset(7,e,0)}static addColorLabel(t,e){t.addFieldOffset(8,e,0)}static addMaskInfluence(t,e){t.addFieldInt16(9,e,0)}static endPartData(t){return t.endObject()}static createPartData(t,e,r,s,l,a,h,n,m,c,u){return Et.startPartData(t),Et.addName(t,e),Et.addIndex(t,r),Et.addParentIndex(t,s),Et.addType(t,l),Et.addBoundsType(t,a),Et.addAlphaBlendType(t,h),Et.addRefname(t,n),Et.addEffectfilename(t,m),Et.addColorLabel(t,c),Et.addMaskInfluence(t,u),Et.endPartData(t)}}class $t{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAnimePackData(t,e){return(e||new $t).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,e){return t.setPosition(t.position()+Ft),(e||new $t).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}parts(t,e){const r=this.bb.__offset(this.bb_pos,6);return r?(e||new Et).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,e){const r=this.bb.__offset(this.bb_pos,8);return r?(e||new pt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,e){t.addFieldOffset(0,e,0)}static addParts(t,e){t.addFieldOffset(1,e,0)}static createPartsVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startPartsVector(t,e){t.startVector(4,e,4)}static addAnimations(t,e){t.addFieldOffset(2,e,0)}static createAnimationsVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startAnimationsVector(t,e){t.startVector(4,e,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,e,r,s){return $t.startAnimePackData(t),$t.addName(t,e),$t.addParts(t,r),$t.addAnimations(t,s),$t.endAnimePackData(t)}}class Xt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCellMap(t,e){return(e||new Xt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,e){return t.setPosition(t.position()+Ft),(e||new Xt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}imagePath(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,e){t.addFieldOffset(0,e,0)}static addImagePath(t,e){t.addFieldOffset(1,e,0)}static addIndex(t,e){t.addFieldInt16(2,e,0)}static addWrapmode(t,e){t.addFieldInt16(3,e,0)}static addFiltermode(t,e){t.addFieldInt16(4,e,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,e,r,s,l,a){return Xt.startCellMap(t),Xt.addName(t,e),Xt.addImagePath(t,r),Xt.addIndex(t,s),Xt.addWrapmode(t,l),Xt.addFiltermode(t,a),Xt.endCellMap(t)}}class ye{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCell(t,e){return(e||new ye).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,e){return t.setPosition(t.position()+Ft),(e||new ye).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}cellMap(t){const e=this.bb.__offset(this.bb_pos,6);return e?(t||new Xt).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,e){t.addFieldOffset(0,e,0)}static addCellMap(t,e){t.addFieldOffset(1,e,0)}static addIndexInCellMap(t,e){t.addFieldInt16(2,e,0)}static addX(t,e){t.addFieldInt16(3,e,0)}static addY(t,e){t.addFieldInt16(4,e,0)}static addWidth(t,e){t.addFieldInt16(5,e,0)}static addHeight(t,e){t.addFieldInt16(6,e,0)}static addPivotX(t,e){t.addFieldFloat32(7,e,0)}static addPivotY(t,e){t.addFieldFloat32(8,e,0)}static addU1(t,e){t.addFieldFloat32(9,e,0)}static addV1(t,e){t.addFieldFloat32(10,e,0)}static addU2(t,e){t.addFieldFloat32(11,e,0)}static addV2(t,e){t.addFieldFloat32(12,e,0)}static endCell(t){return t.endObject()}}class Lt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsEffectNode(t,e){return(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,e){return t.setPosition(t.position()+Ft),(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,e){const r=this.bb.__offset(this.bb_pos,18);return r?this.bb.__union(e,this.bb.__vector(this.bb_pos+r)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,e){t.addFieldInt16(0,e,0)}static addParentIndex(t,e){t.addFieldInt16(1,e,0)}static addType(t,e){t.addFieldInt16(2,e,0)}static addCellIndex(t,e){t.addFieldInt16(3,e,0)}static addBlendType(t,e){t.addFieldInt16(4,e,0)}static addNumBehavior(t,e){t.addFieldInt16(5,e,0)}static addBehaviorType(t,e){t.addFieldOffset(6,e,0)}static createBehaviorTypeVector(t,e){t.startVector(1,e.length,1);for(let r=e.length-1;r>=0;r--)t.addInt8(e[r]);return t.endVector()}static startBehaviorTypeVector(t,e){t.startVector(1,e,1)}static addBehavior(t,e){t.addFieldOffset(7,e,0)}static createBehaviorVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startBehaviorVector(t,e){t.startVector(4,e,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,e,r,s,l,a,h,n,m){return Lt.startEffectNode(t),Lt.addArrayIndex(t,e),Lt.addParentIndex(t,r),Lt.addType(t,s),Lt.addCellIndex(t,l),Lt.addBlendType(t,a),Lt.addNumBehavior(t,h),Lt.addBehaviorType(t,n),Lt.addBehavior(t,m),Lt.endEffectNode(t)}}class zt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsEffectFile(t,e){return(e||new zt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,e){return t.setPosition(t.position()+Ft),(e||new zt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,e){const r=this.bb.__offset(this.bb_pos,18);return r?(e||new Lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,e){t.addFieldOffset(0,e,0)}static addFps(t,e){t.addFieldInt16(1,e,0)}static addIsLockRandSeed(t,e){t.addFieldInt16(2,e,0)}static addLockRandSeed(t,e){t.addFieldInt16(3,e,0)}static addLayoutScaleX(t,e){t.addFieldInt16(4,e,0)}static addLayoutScaleY(t,e){t.addFieldInt16(5,e,0)}static addNumNodeList(t,e){t.addFieldInt16(6,e,0)}static addEffectNode(t,e){t.addFieldOffset(7,e,0)}static createEffectNodeVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startEffectNodeVector(t,e){t.startVector(4,e,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,e,r,s,l,a,h,n,m){return zt.startEffectFile(t),zt.addName(t,e),zt.addFps(t,r),zt.addIsLockRandSeed(t,s),zt.addLockRandSeed(t,l),zt.addLayoutScaleX(t,a),zt.addLayoutScaleY(t,h),zt.addNumNodeList(t,n),zt.addEffectNode(t,m),zt.endEffectFile(t)}}var it=(L=>(L[L.INVISIBLE=1]="INVISIBLE",L[L.FLIP_H=2]="FLIP_H",L[L.FLIP_V=4]="FLIP_V",L[L.CELL_INDEX=8]="CELL_INDEX",L[L.POSITION_X=16]="POSITION_X",L[L.POSITION_Y=32]="POSITION_Y",L[L.POSITION_Z=64]="POSITION_Z",L[L.PIVOT_X=128]="PIVOT_X",L[L.PIVOT_Y=256]="PIVOT_Y",L[L.ROTATIONX=512]="ROTATIONX",L[L.ROTATIONY=1024]="ROTATIONY",L[L.ROTATIONZ=2048]="ROTATIONZ",L[L.SCALE_X=4096]="SCALE_X",L[L.SCALE_Y=8192]="SCALE_Y",L[L.LOCALSCALE_X=16384]="LOCALSCALE_X",L[L.LOCALSCALE_Y=32768]="LOCALSCALE_Y",L[L.OPACITY=65536]="OPACITY",L[L.LOCALOPACITY=131072]="LOCALOPACITY",L[L.PARTS_COLOR=262144]="PARTS_COLOR",L[L.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",L[L.SIZE_X=1048576]="SIZE_X",L[L.SIZE_Y=2097152]="SIZE_Y",L[L.U_MOVE=4194304]="U_MOVE",L[L.V_MOVE=8388608]="V_MOVE",L[L.UV_ROTATION=16777216]="UV_ROTATION",L[L.U_SCALE=33554432]="U_SCALE",L[L.V_SCALE=67108864]="V_SCALE",L[L.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",L[L.MASK=268435456]="MASK",L[L.PRIORITY=536870912]="PRIORITY",L[L.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",L[L.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",L))(it||{}),Le=(L=>(L[L.MESHDATA=1]="MESHDATA",L))(Le||{});class Ot{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsProjectData(t,e){return(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,e){return t.setPosition(t.position()+Ft),(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}cells(t,e){const r=this.bb.__offset(this.bb_pos,12);return r?(e||new ye).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,e){const r=this.bb.__offset(this.bb_pos,14);return r?(e||new $t).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,e){const r=this.bb.__offset(this.bb_pos,16);return r?(e||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,e){t.addFieldInt32(0,e,0)}static addVersion(t,e){t.addFieldInt32(1,e,0)}static addFlags(t,e){t.addFieldInt32(2,e,0)}static addImageBaseDir(t,e){t.addFieldOffset(3,e,0)}static addCells(t,e){t.addFieldOffset(4,e,0)}static createCellsVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startCellsVector(t,e){t.startVector(4,e,4)}static addAnimePacks(t,e){t.addFieldOffset(5,e,0)}static createAnimePacksVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startAnimePacksVector(t,e){t.startVector(4,e,4)}static addEffectFileList(t,e){t.addFieldOffset(6,e,0)}static createEffectFileListVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startEffectFileListVector(t,e){t.startVector(4,e,4)}static addNumCells(t,e){t.addFieldInt16(7,e,0)}static addNumAnimePacks(t,e){t.addFieldInt16(8,e,0)}static addNumEffectFileList(t,e){t.addFieldInt16(9,e,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,e){t.finish(e,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,e){t.finish(e,"SSFB",!0)}static createProjectData(t,e,r,s,l,a,h,n,m,c,u){return Ot.startProjectData(t),Ot.addDataId(t,e),Ot.addVersion(t,r),Ot.addFlags(t,s),Ot.addImageBaseDir(t,l),Ot.addCells(t,a),Ot.addAnimePacks(t,h),Ot.addEffectFileList(t,n),Ot.addNumCells(t,m),Ot.addNumAnimePacks(t,c),Ot.addNumEffectFileList(t,u),Ot.endProjectData(t)}}class Ve{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,e){return t.prep(4,4),t.writeInt32(e),t.offset()}}class ze{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,e,r){return t.prep(4,8),t.writeInt32(r),t.writeInt32(e),t.offset()}}class xe{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,e,r,s,l){return t.prep(4,16),t.writeInt32(l),t.writeInt32(s),t.writeInt32(r),t.writeInt32(e),t.offset()}}class Qt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsuserDataString(t,e){return(e||new Qt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,e){return t.setPosition(t.position()+Ft),(e||new Qt).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,e){t.addFieldInt32(0,e,0)}static addData(t,e){t.addFieldOffset(1,e,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,e,r){return Qt.startuserDataString(t),Qt.addLength(t,e),Qt.addData(t,r),Qt.enduserDataString(t)}}let je=class{static getProjectData(t){const e=new Oe(t);return Ot.getRootAsProjectData(e)}};class De{static getProjectData(t){return je.getProjectData(t)}}let ce=class{constructor(t,e=null,r=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),t.hasOwnProperty("bb")?this._fbObj=t:this._fbObj=De.getProjectData(t),e!==null&&r!==null&&this.Setup(e,r)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,e){this.clearCaches();const r=this._fbObj.animePacksLength();let s=!1;for(let l=0;l>>0,c.colorBlendType===1&&(c.tint=c.colorArgb32&16777215)}}if(m&Le.MESHDATA){const g=this.curAnimation.meshsDataUv(h);c.meshIsBind=g.uv(0),c.meshNum=g.uv(1);let v=new Float32Array(c.meshNum*3);for(let F=0;F=0&&(t=this.InheritOpacity(t,this._parentIndex[e],r)),t}TransformVertsLocal(t,e,r){const s=this.GetFrameData(r)[e],l=-s.rotationZ*Math.PI/180,a=Math.cos(l),h=Math.sin(l);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[e],r)),t}TransformMeshVertsLocal(t,e,r){const s=this.GetFrameData(r)[e],l=-s.rotationZ*Math.PI/180,a=Math.cos(l),h=Math.sin(l);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[e],r)),t}TransformPositionLocal(t,e,r){const s=this.GetFrameData(r)[e];t[4]+=-s.rotationZ;const l=-s.rotationZ*Math.PI/180,a=Math.cos(l),h=Math.sin(l),n=t[0]*s.scaleX*s.localscaleX,m=t[1]*s.scaleY*s.localscaleY;return t[2]*=s.scaleX*s.localscaleX,t[3]*=s.scaleY*s.localscaleY,t[0]=a*n-h*m+s.positionX,t[1]=h*n+a*m-s.positionY,this._parentIndex[e]>=0&&(t=this.TransformPosition(t,this._parentIndex[e],r)),t}static CoordinateGetDiagonalIntersection(t,e,r,s,l,a,h,n,m,c,u){const g=(n-a)*(h-r)-(h-l)*(n-s),v=(m-r)*(n-s)-(c-s)*(h-r),F=(m-r)*(n-a)-(c-s)*(h-l);if(F<=0&&F>=0)return u;const C=g/F,o=v/F;return 0<=C&&1>=C&&0<=o&&1>=o&&(t=r+C*(m-r),e=s+C*(c-s)),u[0]=t,u[1]=e,u}TransformVerts(t,e,r){const s=this.GetFrameData(r)[e],l=-s.rotationZ*Math.PI/180,a=Math.cos(l),h=Math.sin(l);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[e],r)),t}TransformPosition(t,e,r){const s=this.GetFrameData(r)[e];t[4]+=-s.rotationZ;const l=-s.rotationZ*Math.PI/180,a=Math.cos(l),h=Math.sin(l),n=t[0]*s.scaleX,m=t[1]*s.scaleY;return t[2]*=s.scaleX,t[3]*=s.scaleY,t[0]=a*n-h*m+s.positionX,t[1]=h*n+a*m-s.positionY,this._parentIndex[e]>=0&&(t=this.TransformPosition(t,this._parentIndex[e],r)),t}static GetVerts(t,e,r){const s=e.size_X/2,l=e.size_Y/2,a=e.size_X*-(e.pivotX+t.pivotX()),h=e.size_Y*(e.pivotY+t.pivotY());return r.set([a,h,a-s,h-l,a+s,h-l,a-s,h+l,a+s,h+l]),r}static GetMeshVerts(t,e,r){for(let s=0;s{r!==null&&r(null)}).catch(s=>{r!==null&&r(s)})}unload(t,e,r){wt.Assets.unloadBundle(t).then(()=>{r!==null&&r(null)}).catch(s=>{r!==null&&r(s)})}texture(t){return wt.Assets.get(t)}}class Ye{constructor(){this.loader=new Ze}load(t,e,r){return this.loader.load(t,e,r)}unload(t,e,r=null){return this.loader.unload(t,e,r)}texture(t){return this.loader.texture(t)}}class Ne{constructor(t,e,r,s){if(this.sspjMap={},this.resourceLoader=new Ye,typeof t=="string"&&r===void 0){let l=t;this.ssfbPath=l;const a=l.lastIndexOf("/");this.rootPath=l.substring(0,a)+"/",this.ssfbFile=l.substring(a+1),this.onComplete=e===void 0?null:e,this.status=0,this.LoadFlatBuffersProject()}else if(typeof e=="object"&&e.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let l=e,a=r;this.onComplete=s===void 0?null:s,this.load(l,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,e=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(e=>e.ok?Promise.resolve(e.arrayBuffer()):Promise.reject(new Error(e.statusText))).then(e=>{t.fbObj=De.getProjectData(new Uint8Array(e)),t.LoadCellResources()}).catch(e=>{this.onComplete!==null&&this.onComplete(null,e)})}LoadCellResources(){let t=[];this.sspjMap={};for(let r=0;r{r===null?(e.status=1,e.onComplete!==null&&e.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,r)})}load(t,e){this.fbObj=De.getProjectData(t);let r={};for(let l in e){const a=e[l];let h="";const n=a.byteLength;for(let m=0;m{l===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,l)})}}class Xe{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class we extends wt.Container{constructor(t,e=null,r=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new wt.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new ce(t.fbObj,e,r),this.parentAlpha=1,e!==null&&r!==null&&this.Setup(e,r),this.on("added",(...s)=>{wt.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...s)=>{wt.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,e){this.playerLib.Setup(t,e),this.clearCaches();const r=this.playerLib.animePackData,s=r.partsLength();this.prevCellID=new Array(s),this.prevPartObject=new Array(s),this.changeCellID=new Array(s),this.substituteOverWrite=new Array(s),this.substituteKeyParam=new Array(s);for(let l=0;l=this.updateInterval){let l=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let h=this.skipEnabled?a*this.playDirection:this.playDirection,n=this._currentFrame+h,m=Math.floor(n),c=n-m,u=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let g=m-u;g;g--){let v=u+1;if(v>this._endFrame)if(this._loops===-1)v=this._startFrame;else if(this._loops--,l=!0,this._loops===0){this._isPlaying=!1,v=e?this._startFrame:this._endFrame;break}else v=this._startFrame;u=v,this._isPlaying&&this.playerLib.HaveUserData(u)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(u))}if(this.playDirection<=-1)for(let g=u-m;g;g--){let v=u-1;if(v0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=e)}SetAnimationSection(t=-1,e=-1,r=-1){t>=0&&t=0&&e0?this._loops=r:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let e=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(e=t),this._currentFrame=e,this.resetLiveFrame();const r=Math.floor(this._currentFrame);this.SetFrameAnimation(r),this.playerLib.HaveUserData(r)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(r))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),e=this.endFrame;t!==e&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}SetPartCell(t,e,r){if(this.playerLib.animationData){let s=-1;if(e!==""&&r!==""){const h=this.playerLib.fbObj,n=this.playerLib.fbObj.numCells();for(let m=0;m>>24)/255,h=((r&16711680)>>>16)/255,n=((r&65280)>>>8)/255,m=(r&255)/255;if(t===0){const c=1-e;l.matrix=[c,0,0,0,h*e,0,c,0,0,n*e,0,0,c,0,m*e,0,0,0,1,0]}else t===1?l.matrix=[h,0,0,0,0,0,n,0,0,0,0,0,m,0,0,0,0,0,a,0]:t===2?l.matrix=[1,0,0,0,h,0,1,0,0,n,0,0,1,0,m,0,0,0,a,0]:t===3&&(l.matrix=[1,0,0,0,-h,0,1,0,0,-n,0,0,1,0,-m,0,0,0,a,0]);return this.colorMatrixFilterCache[s]=l,l}SetFrameAnimation(t,e=0){const r=this.playerLib.GetFrameData(t);this.removeChildren();const s=r.length;for(let l=0;l=0&&this.prevCellID[a]!==n&&(m?.destroy(),m=this.MakeCellMesh(n),m.label=c.name());break;case It.Mesh:n>=0&&this.prevCellID[a]!==n&&(m?.destroy(),m=this.MakeMeshCellMesh(a,n),m.label=c.name());break;case It.Nulltype:case It.Joint:this.prevCellID[a]!==n&&(m?.destroy(),m=new wt.Container,m.label=c.name());break;default:n>=0&&this.prevCellID[a]!==n&&(m?.destroy(),m=this.MakeCellMesh(n),m.label=c.name());break}if(m!=null)switch(this.prevCellID[a]=n,this.prevPartObject[a]=m,u){case It.Instance:{const F=m;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,h.index,t),F.rotation=this._instancePos[4]*Math.PI/180,F.position.set(this._instancePos[0],this._instancePos[1]),F.scale.set(this._instancePos[2],this._instancePos[3]);let C=h.opacity/255;h.localopacity<255&&(C=h.localopacity/255),F.SetAlpha(C*this.parentAlpha),F.visible=!h.f_hide;let o=h.instanceValue_curKeyframe,_=h.instanceValue_startFrame,p=h.instanceValue_endFrame,I=h.instanceValue_speed,P=h.instanceValue_loopNum,y=!1,w=!1,S=!1,E=!1;const N=1,D=2,B=4,R=8,Z=h.instanceValue_loopflag;Z&N&&(y=!0),Z&D&&(w=!0),Z&B&&(S=!0),Z&R&&(E=!0),g&&(_=v.refStartframe,p=v.refEndframe,I=v.refSpeed,P=v.refloopNum,y=v.infinity,w=v.reverse,S=v.pingpong,E=v.independent),(F._startFrame!==_||F._endFrame!==p)&&F.SetAnimationSection(_,p);let Q=t;E===!0&&(this.liveFrame[l]+=e,Q=Math.floor(this.liveFrame[l]));const J=o;let G=Math.floor((Q-J)*I);if(G<0||J>Q)continue;const $=p-_+1;if($<=0)continue;let j=Math.floor(G/$),tt=P;S&&(tt=tt*2),y||j>=tt&&(G=$-1,j=tt-1);const nt=Math.floor(G%$);let ht=0;S&&j%2===1&&(w?w=!1:w=!0),this.playDirection<=-1&&(w=!w),w?ht=p-nt:ht=nt+_,F.SetFrame(Math.floor(ht)),this.addChild(F);break}case It.Normal:case It.Mesh:case It.Joint:case It.Mask:{const F=m,C=F.geometry.attributes.aPosition.buffer;let o=C.data;const _=this.playerLib.fbObj.cells(n);let p;if(u===It.Mesh?h.meshIsBind===0?p=this.playerLib.TransformMeshVertsLocal(ce.GetMeshVerts(_,h,o),h.index,t):p=ce.GetMeshVerts(_,h,o):(p=u===It.Joint?new Float32Array(10):o,p=this.playerLib.TransformVertsLocal(ce.GetVerts(_,h,p),h.index,t)),h.flag1&it.VERTEX_TRANSFORM){const S=p[6],E=p[3*2+1],N=p[1*2+0],D=p[1*2+1],B=p[4*2+0],R=p[4*2+1],Z=p[2*2+0],Q=p[2*2+1],J=(S+B)*.5,G=(E+R)*.5,$=(S+N)*.5,j=(E+D)*.5,tt=(N+Z)*.5,nt=(D+Q)*.5,ht=(B+Z)*.5,H=(R+Q)*.5,st=ce.CoordinateGetDiagonalIntersection(p[0],p[1],J,G,ht,H,$,j,tt,nt,this._CoordinateGetDiagonalIntersectionVec2);p[0]=st[0],p[1]=st[1]}const I=p[0],P=p[1];for(let S=0;S>>24)/255;F.alpha=F.alpha*S}const w=this.alphaBlendType[a];(w==="multiply"||w==="screen")&&(F.alpha=1),u!==It.Mask&&this.addChild(F);break}case It.Nulltype:{const F=m,C=this.playerLib.InheritOpacity(1,h.index,t);F.alpha=C*h.localopacity/255;const o=this.playerLib.TransformVerts(ce.GetDummyVerts(),h.index,t),_=o[0],p=o[1];F.position.set(_,p);const I=Math.atan2(o[5]-o[3],o[4]-o[2]),P=Math.atan2(o[7]-o[3],o[6]-o[2]);F.rotation=I,F.skew.x=P-I-Math.PI/2;break}}}}ChangeInstanceAnime(t,e,r,s,l=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let h=this.playerLib.animePackData,n=h.partsLength();for(let m=0;m0){const l=new Float32Array(s-2),a=r.uv(1);for(let g=2;g{r.ssWebPlayer&&r.ssWebPlayer.playEndCallback&&r.ssWebPlayer.playEndCallback(r)},this.onUserDataCallback=s=>{r.ssWebPlayer&&r.ssWebPlayer.onUpdateCallback&&r.ssWebPlayer.onUpdateCallback(r)},this.setupCurrentAnimationFrameDataMap()}getCurrentAnimationFrameDataMap(){return this.currentAnimationFrameDataMap}setupCurrentAnimationFrameDataMap(){const t=this.playerLib.animationData;let e={};const r=t.userDataLength();for(let s=0;s=be.length)return;const r=be[e];this.zoom(r)}zoomOut(){const e=be.indexOf(this.zoomPercent)-1;if(e<0)return;const r=be[e];this.zoom(r)}switchGridDisplay(){const t=this.rootLineGraphics,e=this.gridGraphics;if(!(t==null||e==null)&&(t.clear(),e.clear(),this.isDisplayGrid=!this.isDisplayGrid,this.isDisplayGrid)){t.lineStyle(1,0),t.alpha=.3,t.moveTo(-5e3,0).lineTo(5001,0),t.moveTo(0,-5e3).lineTo(0,5001),e.lineStyle(1,0),e.alpha=.1;let f=100;for(let a=-5e3;a<5001;a+=f)e.moveTo(a,-5e3).lineTo(a,5001);for(let a=-5e3;a<5001;a+=f)e.moveTo(-5e3,-a).lineTo(5001,-a)}}}class Be{}const me=4,ve=4,St=4,ee=new Int32Array(2),Pe=new Float32Array(ee.buffer),Te=new Float64Array(ee.buffer),ge=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Ee;(function(L){L[L.UTF8_BYTES=1]="UTF8_BYTES",L[L.UTF16_STRING=2]="UTF16_STRING"})(Ee||(Ee={}));class Oe{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new Oe(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){Pe[0]=e,this.writeInt32(t,ee[0])}writeFloat64(t,e){Te[0]=e,this.writeInt32(t,ee[ge?0:1]),this.writeInt32(t+4,ee[ge?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;r--)t.addInt32(e[r]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static endpartState(t){return t.endObject()}static createpartState(t,e,r,s,f){return Ht.startpartState(t),Ht.addIndex(t,e),Ht.addFlag1(t,r),Ht.addFlag2(t,s),Ht.addData(t,f),Ht.endpartState(t)}}class oe{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsframeDataIndex(t,e){return(e||new oe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,e){return t.setPosition(t.position()+St),(e||new oe).__init(t.readInt32(t.position())+t.position(),t)}states(t,e){const r=this.bb.__offset(this.bb_pos,4);return r?(e||new Ht).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,e){t.addFieldOffset(0,e,0)}static createStatesVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startStatesVector(t,e){t.startVector(4,e,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,e){return oe.startframeDataIndex(t),oe.addStates(t,e),oe.endframeDataIndex(t)}}class ie{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAslabelDataItem(t,e){return(e||new ie).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,e){return t.setPosition(t.position()+St),(e||new ie).__init(t.readInt32(t.position())+t.position(),t)}label(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,e){t.addFieldOffset(0,e,0)}static addFrameIndex(t,e){t.addFieldInt16(1,e,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,e,r){return ie.startlabelDataItem(t),ie.addLabel(t,e),ie.addFrameIndex(t,r),ie.endlabelDataItem(t)}}class fe{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsmeshDataIndices(t,e){return(e||new fe).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,e){return t.setPosition(t.position()+St),(e||new fe).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readFloat32(this.bb.__vector(this.bb_pos+e)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addFloat32(e[r]);return t.endVector()}static startIndicesVector(t,e){t.startVector(4,e,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,e){return fe.startmeshDataIndices(t),fe.addIndices(t,e),fe.endmeshDataIndices(t)}}class le{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsmeshDataUV(t,e){return(e||new le).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,e){return t.setPosition(t.position()+St),(e||new le).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readFloat32(this.bb.__vector(this.bb_pos+e)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,e){t.addFieldOffset(0,e,0)}static createUvVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addFloat32(e[r]);return t.endVector()}static startUvVector(t,e){t.startVector(4,e,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,e){return le.startmeshDataUV(t),le.addUv(t,e),le.endmeshDataUV(t)}}class Kt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsuserDataItem(t,e){return(e||new Kt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,e){return t.setPosition(t.position()+St),(e||new Kt).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,e){const r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__union(e,this.bb.__vector(this.bb_pos+r)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,e){t.addFieldInt16(0,e,0)}static addArrayIndex(t,e){t.addFieldInt16(1,e,0)}static addDataType(t,e){t.addFieldOffset(2,e,0)}static createDataTypeVector(t,e){t.startVector(1,e.length,1);for(let r=e.length-1;r>=0;r--)t.addInt8(e[r]);return t.endVector()}static startDataTypeVector(t,e){t.startVector(1,e,1)}static addData(t,e){t.addFieldOffset(3,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,e,r,s,f){return Kt.startuserDataItem(t),Kt.addFlags(t,e),Kt.addArrayIndex(t,r),Kt.addDataType(t,s),Kt.addData(t,f),Kt.enduserDataItem(t)}}class re{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsuserDataPerFrame(t,e){return(e||new re).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,e){return t.setPosition(t.position()+St),(e||new re).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,e){const r=this.bb.__offset(this.bb_pos,6);return r?(e||new Kt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,e){t.addFieldInt16(0,e,0)}static addData(t,e){t.addFieldOffset(1,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,e,r){return re.startuserDataPerFrame(t),re.addFrameIndex(t,e),re.addData(t,r),re.enduserDataPerFrame(t)}}class pt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAnimationData(t,e){return(e||new pt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,e){return t.setPosition(t.position()+St),(e||new pt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}defaultData(t,e){const r=this.bb.__offset(this.bb_pos,6);return r?(e||new tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,e){const r=this.bb.__offset(this.bb_pos,8);return r?(e||new oe).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,e){const r=this.bb.__offset(this.bb_pos,10);return r?(e||new re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,e){const r=this.bb.__offset(this.bb_pos,12);return r?(e||new ie).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,e){const r=this.bb.__offset(this.bb_pos,14);return r?(e||new le).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,e){const r=this.bb.__offset(this.bb_pos,16);return r?(e||new fe).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,e){t.addFieldOffset(0,e,0)}static addDefaultData(t,e){t.addFieldOffset(1,e,0)}static createDefaultDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startDefaultDataVector(t,e){t.startVector(4,e,4)}static addFrameData(t,e){t.addFieldOffset(2,e,0)}static createFrameDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startFrameDataVector(t,e){t.startVector(4,e,4)}static addUserData(t,e){t.addFieldOffset(3,e,0)}static createUserDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startUserDataVector(t,e){t.startVector(4,e,4)}static addLabelData(t,e){t.addFieldOffset(4,e,0)}static createLabelDataVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startLabelDataVector(t,e){t.startVector(4,e,4)}static addMeshsDataUv(t,e){t.addFieldOffset(5,e,0)}static createMeshsDataUvVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startMeshsDataUvVector(t,e){t.startVector(4,e,4)}static addMeshsDataIndices(t,e){t.addFieldOffset(6,e,0)}static createMeshsDataIndicesVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startMeshsDataIndicesVector(t,e){t.startVector(4,e,4)}static addStartFrames(t,e){t.addFieldInt16(7,e,0)}static addEndFrames(t,e){t.addFieldInt16(8,e,0)}static addTotalFrames(t,e){t.addFieldInt16(9,e,0)}static addFps(t,e){t.addFieldInt16(10,e,0)}static addLabelNum(t,e){t.addFieldInt16(11,e,0)}static addCanvasSizeW(t,e){t.addFieldInt16(12,e,0)}static addCanvasSizeH(t,e){t.addFieldInt16(13,e,0)}static addCanvasPvotX(t,e){t.addFieldFloat32(14,e,0)}static addCanvasPvotY(t,e){t.addFieldFloat32(15,e,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,e,r,s,f,a,c,n,m,o,_,y,v,E,F,l,d){return pt.startAnimationData(t),pt.addName(t,e),pt.addDefaultData(t,r),pt.addFrameData(t,s),pt.addUserData(t,f),pt.addLabelData(t,a),pt.addMeshsDataUv(t,c),pt.addMeshsDataIndices(t,n),pt.addStartFrames(t,m),pt.addEndFrames(t,o),pt.addTotalFrames(t,_),pt.addFps(t,y),pt.addLabelNum(t,v),pt.addCanvasSizeW(t,E),pt.addCanvasSizeH(t,F),pt.addCanvasPvotX(t,l),pt.addCanvasPvotY(t,d),pt.endAnimationData(t)}}var It=(L=>(L[L.Invalid=-1]="Invalid",L[L.Nulltype=0]="Nulltype",L[L.Normal=1]="Normal",L[L.Text=2]="Text",L[L.Instance=3]="Instance",L[L.Armature=4]="Armature",L[L.Effect=5]="Effect",L[L.Mesh=6]="Mesh",L[L.Movenode=7]="Movenode",L[L.Constraint=8]="Constraint",L[L.Mask=9]="Mask",L[L.Joint=10]="Joint",L[L.Bonepoint=11]="Bonepoint",L))(It||{});class Ot{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPartData(t,e){return(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,e){return t.setPosition(t.position()+St),(e||new Ot).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):It.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__string(this.bb_pos+e,t):null}effectfilename(t){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__string(this.bb_pos+e,t):null}colorLabel(t){const e=this.bb.__offset(this.bb_pos,20);return e?this.bb.__string(this.bb_pos+e,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,e){t.addFieldOffset(0,e,0)}static addIndex(t,e){t.addFieldInt16(1,e,0)}static addParentIndex(t,e){t.addFieldInt16(2,e,0)}static addType(t,e){t.addFieldInt8(3,e,It.Nulltype)}static addBoundsType(t,e){t.addFieldInt16(4,e,0)}static addAlphaBlendType(t,e){t.addFieldInt16(5,e,0)}static addRefname(t,e){t.addFieldOffset(6,e,0)}static addEffectfilename(t,e){t.addFieldOffset(7,e,0)}static addColorLabel(t,e){t.addFieldOffset(8,e,0)}static addMaskInfluence(t,e){t.addFieldInt16(9,e,0)}static endPartData(t){return t.endObject()}static createPartData(t,e,r,s,f,a,c,n,m,o,_){return Ot.startPartData(t),Ot.addName(t,e),Ot.addIndex(t,r),Ot.addParentIndex(t,s),Ot.addType(t,f),Ot.addBoundsType(t,a),Ot.addAlphaBlendType(t,c),Ot.addRefname(t,n),Ot.addEffectfilename(t,m),Ot.addColorLabel(t,o),Ot.addMaskInfluence(t,_),Ot.endPartData(t)}}class $t{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAnimePackData(t,e){return(e||new $t).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,e){return t.setPosition(t.position()+St),(e||new $t).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}parts(t,e){const r=this.bb.__offset(this.bb_pos,6);return r?(e||new Ot).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,e){const r=this.bb.__offset(this.bb_pos,8);return r?(e||new pt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,e){t.addFieldOffset(0,e,0)}static addParts(t,e){t.addFieldOffset(1,e,0)}static createPartsVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startPartsVector(t,e){t.startVector(4,e,4)}static addAnimations(t,e){t.addFieldOffset(2,e,0)}static createAnimationsVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startAnimationsVector(t,e){t.startVector(4,e,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,e,r,s){return $t.startAnimePackData(t),$t.addName(t,e),$t.addParts(t,r),$t.addAnimations(t,s),$t.endAnimePackData(t)}}class Xt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCellMap(t,e){return(e||new Xt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,e){return t.setPosition(t.position()+St),(e||new Xt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}imagePath(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,e){t.addFieldOffset(0,e,0)}static addImagePath(t,e){t.addFieldOffset(1,e,0)}static addIndex(t,e){t.addFieldInt16(2,e,0)}static addWrapmode(t,e){t.addFieldInt16(3,e,0)}static addFiltermode(t,e){t.addFieldInt16(4,e,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,e,r,s,f,a){return Xt.startCellMap(t),Xt.addName(t,e),Xt.addImagePath(t,r),Xt.addIndex(t,s),Xt.addWrapmode(t,f),Xt.addFiltermode(t,a),Xt.endCellMap(t)}}class ye{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCell(t,e){return(e||new ye).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,e){return t.setPosition(t.position()+St),(e||new ye).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}cellMap(t){const e=this.bb.__offset(this.bb_pos,6);return e?(t||new Xt).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,e){t.addFieldOffset(0,e,0)}static addCellMap(t,e){t.addFieldOffset(1,e,0)}static addIndexInCellMap(t,e){t.addFieldInt16(2,e,0)}static addX(t,e){t.addFieldInt16(3,e,0)}static addY(t,e){t.addFieldInt16(4,e,0)}static addWidth(t,e){t.addFieldInt16(5,e,0)}static addHeight(t,e){t.addFieldInt16(6,e,0)}static addPivotX(t,e){t.addFieldFloat32(7,e,0)}static addPivotY(t,e){t.addFieldFloat32(8,e,0)}static addU1(t,e){t.addFieldFloat32(9,e,0)}static addV1(t,e){t.addFieldFloat32(10,e,0)}static addU2(t,e){t.addFieldFloat32(11,e,0)}static addV2(t,e){t.addFieldFloat32(12,e,0)}static endCell(t){return t.endObject()}}class Lt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsEffectNode(t,e){return(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,e){return t.setPosition(t.position()+St),(e||new Lt).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,e){const r=this.bb.__offset(this.bb_pos,18);return r?this.bb.__union(e,this.bb.__vector(this.bb_pos+r)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,e){t.addFieldInt16(0,e,0)}static addParentIndex(t,e){t.addFieldInt16(1,e,0)}static addType(t,e){t.addFieldInt16(2,e,0)}static addCellIndex(t,e){t.addFieldInt16(3,e,0)}static addBlendType(t,e){t.addFieldInt16(4,e,0)}static addNumBehavior(t,e){t.addFieldInt16(5,e,0)}static addBehaviorType(t,e){t.addFieldOffset(6,e,0)}static createBehaviorTypeVector(t,e){t.startVector(1,e.length,1);for(let r=e.length-1;r>=0;r--)t.addInt8(e[r]);return t.endVector()}static startBehaviorTypeVector(t,e){t.startVector(1,e,1)}static addBehavior(t,e){t.addFieldOffset(7,e,0)}static createBehaviorVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startBehaviorVector(t,e){t.startVector(4,e,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,e,r,s,f,a,c,n,m){return Lt.startEffectNode(t),Lt.addArrayIndex(t,e),Lt.addParentIndex(t,r),Lt.addType(t,s),Lt.addCellIndex(t,f),Lt.addBlendType(t,a),Lt.addNumBehavior(t,c),Lt.addBehaviorType(t,n),Lt.addBehavior(t,m),Lt.endEffectNode(t)}}class zt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsEffectFile(t,e){return(e||new zt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,e){return t.setPosition(t.position()+St),(e||new zt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,e){const r=this.bb.__offset(this.bb_pos,18);return r?(e||new Lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,e){t.addFieldOffset(0,e,0)}static addFps(t,e){t.addFieldInt16(1,e,0)}static addIsLockRandSeed(t,e){t.addFieldInt16(2,e,0)}static addLockRandSeed(t,e){t.addFieldInt16(3,e,0)}static addLayoutScaleX(t,e){t.addFieldInt16(4,e,0)}static addLayoutScaleY(t,e){t.addFieldInt16(5,e,0)}static addNumNodeList(t,e){t.addFieldInt16(6,e,0)}static addEffectNode(t,e){t.addFieldOffset(7,e,0)}static createEffectNodeVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startEffectNodeVector(t,e){t.startVector(4,e,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,e,r,s,f,a,c,n,m){return zt.startEffectFile(t),zt.addName(t,e),zt.addFps(t,r),zt.addIsLockRandSeed(t,s),zt.addLockRandSeed(t,f),zt.addLayoutScaleX(t,a),zt.addLayoutScaleY(t,c),zt.addNumNodeList(t,n),zt.addEffectNode(t,m),zt.endEffectFile(t)}}var it=(L=>(L[L.INVISIBLE=1]="INVISIBLE",L[L.FLIP_H=2]="FLIP_H",L[L.FLIP_V=4]="FLIP_V",L[L.CELL_INDEX=8]="CELL_INDEX",L[L.POSITION_X=16]="POSITION_X",L[L.POSITION_Y=32]="POSITION_Y",L[L.POSITION_Z=64]="POSITION_Z",L[L.PIVOT_X=128]="PIVOT_X",L[L.PIVOT_Y=256]="PIVOT_Y",L[L.ROTATIONX=512]="ROTATIONX",L[L.ROTATIONY=1024]="ROTATIONY",L[L.ROTATIONZ=2048]="ROTATIONZ",L[L.SCALE_X=4096]="SCALE_X",L[L.SCALE_Y=8192]="SCALE_Y",L[L.LOCALSCALE_X=16384]="LOCALSCALE_X",L[L.LOCALSCALE_Y=32768]="LOCALSCALE_Y",L[L.OPACITY=65536]="OPACITY",L[L.LOCALOPACITY=131072]="LOCALOPACITY",L[L.PARTS_COLOR=262144]="PARTS_COLOR",L[L.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",L[L.SIZE_X=1048576]="SIZE_X",L[L.SIZE_Y=2097152]="SIZE_Y",L[L.U_MOVE=4194304]="U_MOVE",L[L.V_MOVE=8388608]="V_MOVE",L[L.UV_ROTATION=16777216]="UV_ROTATION",L[L.U_SCALE=33554432]="U_SCALE",L[L.V_SCALE=67108864]="V_SCALE",L[L.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",L[L.MASK=268435456]="MASK",L[L.PRIORITY=536870912]="PRIORITY",L[L.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",L[L.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",L))(it||{}),Le=(L=>(L[L.MESHDATA=1]="MESHDATA",L))(Le||{});class Dt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsProjectData(t,e){return(e||new Dt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,e){return t.setPosition(t.position()+St),(e||new Dt).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}cells(t,e){const r=this.bb.__offset(this.bb_pos,12);return r?(e||new ye).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,e){const r=this.bb.__offset(this.bb_pos,14);return r?(e||new $t).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,e){const r=this.bb.__offset(this.bb_pos,16);return r?(e||new zt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,e){t.addFieldInt32(0,e,0)}static addVersion(t,e){t.addFieldInt32(1,e,0)}static addFlags(t,e){t.addFieldInt32(2,e,0)}static addImageBaseDir(t,e){t.addFieldOffset(3,e,0)}static addCells(t,e){t.addFieldOffset(4,e,0)}static createCellsVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startCellsVector(t,e){t.startVector(4,e,4)}static addAnimePacks(t,e){t.addFieldOffset(5,e,0)}static createAnimePacksVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startAnimePacksVector(t,e){t.startVector(4,e,4)}static addEffectFileList(t,e){t.addFieldOffset(6,e,0)}static createEffectFileListVector(t,e){t.startVector(4,e.length,4);for(let r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startEffectFileListVector(t,e){t.startVector(4,e,4)}static addNumCells(t,e){t.addFieldInt16(7,e,0)}static addNumAnimePacks(t,e){t.addFieldInt16(8,e,0)}static addNumEffectFileList(t,e){t.addFieldInt16(9,e,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,e){t.finish(e,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,e){t.finish(e,"SSFB",!0)}static createProjectData(t,e,r,s,f,a,c,n,m,o,_){return Dt.startProjectData(t),Dt.addDataId(t,e),Dt.addVersion(t,r),Dt.addFlags(t,s),Dt.addImageBaseDir(t,f),Dt.addCells(t,a),Dt.addAnimePacks(t,c),Dt.addEffectFileList(t,n),Dt.addNumCells(t,m),Dt.addNumAnimePacks(t,o),Dt.addNumEffectFileList(t,_),Dt.endProjectData(t)}}class Ve{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,e){return t.prep(4,4),t.writeInt32(e),t.offset()}}class ze{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,e,r){return t.prep(4,8),t.writeInt32(r),t.writeInt32(e),t.offset()}}class xe{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,e,r,s,f){return t.prep(4,16),t.writeInt32(f),t.writeInt32(s),t.writeInt32(r),t.writeInt32(e),t.offset()}}class Qt{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsuserDataString(t,e){return(e||new Qt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,e){return t.setPosition(t.position()+St),(e||new Qt).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,e){t.addFieldInt32(0,e,0)}static addData(t,e){t.addFieldOffset(1,e,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,e,r){return Qt.startuserDataString(t),Qt.addLength(t,e),Qt.addData(t,r),Qt.enduserDataString(t)}}let je=class{static getProjectData(t){const e=new Oe(t);return Dt.getRootAsProjectData(e)}};class De{static getProjectData(t){return je.getProjectData(t)}}let ce=class{constructor(t,e=null,r=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),t.hasOwnProperty("bb")?this._fbObj=t:this._fbObj=De.getProjectData(t),e!==null&&r!==null&&this.Setup(e,r)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,e){this.clearCaches();const r=this._fbObj.animePacksLength();let s=!1;for(let f=0;f>>0,o.colorBlendType===1&&(o.tint=o.colorArgb32&16777215)}}if(m&Le.MESHDATA){const y=this.curAnimation.meshsDataUv(c);o.meshIsBind=y.uv(0),o.meshNum=y.uv(1);let v=new Float32Array(o.meshNum*3);for(let E=0;E=0&&(t=this.InheritOpacity(t,this._parentIndex[e],r)),t}TransformVertsLocal(t,e,r){const s=this.GetFrameData(r)[e],f=-s.rotationZ*Math.PI/180,a=Math.cos(f),c=Math.sin(f);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[e],r)),t}TransformMeshVertsLocal(t,e,r){const s=this.GetFrameData(r)[e],f=-s.rotationZ*Math.PI/180,a=Math.cos(f),c=Math.sin(f);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[e],r)),t}TransformPositionLocal(t,e,r){const s=this.GetFrameData(r)[e];t[4]+=-s.rotationZ;const f=-s.rotationZ*Math.PI/180,a=Math.cos(f),c=Math.sin(f),n=t[0]*s.scaleX*s.localscaleX,m=t[1]*s.scaleY*s.localscaleY;return t[2]*=s.scaleX*s.localscaleX,t[3]*=s.scaleY*s.localscaleY,t[0]=a*n-c*m+s.positionX,t[1]=c*n+a*m-s.positionY,this._parentIndex[e]>=0&&(t=this.TransformPosition(t,this._parentIndex[e],r)),t}static CoordinateGetDiagonalIntersection(t,e,r,s,f,a,c,n,m,o,_){const y=(n-a)*(c-r)-(c-f)*(n-s),v=(m-r)*(n-s)-(o-s)*(c-r),E=(m-r)*(n-a)-(o-s)*(c-f);if(E<=0&&E>=0)return _;const F=y/E,l=v/E;return 0<=F&&1>=F&&0<=l&&1>=l&&(t=r+F*(m-r),e=s+F*(o-s)),_[0]=t,_[1]=e,_}TransformVerts(t,e,r){const s=this.GetFrameData(r)[e],f=-s.rotationZ*Math.PI/180,a=Math.cos(f),c=Math.sin(f);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[e],r)),t}TransformPosition(t,e,r){const s=this.GetFrameData(r)[e];t[4]+=-s.rotationZ;const f=-s.rotationZ*Math.PI/180,a=Math.cos(f),c=Math.sin(f),n=t[0]*s.scaleX,m=t[1]*s.scaleY;return t[2]*=s.scaleX,t[3]*=s.scaleY,t[0]=a*n-c*m+s.positionX,t[1]=c*n+a*m-s.positionY,this._parentIndex[e]>=0&&(t=this.TransformPosition(t,this._parentIndex[e],r)),t}static GetVerts(t,e,r){const s=e.size_X/2,f=e.size_Y/2,a=e.size_X*-(e.pivotX+t.pivotX()),c=e.size_Y*(e.pivotY+t.pivotY());return r.set([a,c,a-s,c-f,a+s,c-f,a-s,c+f,a+s,c+f]),r}static GetMeshVerts(t,e,r){for(let s=0;s{r!==null&&r(null)}).catch(s=>{r!==null&&r(s)})}unload(t,e,r){wt.Assets.unloadBundle(t).then(()=>{r!==null&&r(null)}).catch(s=>{r!==null&&r(s)})}texture(t){return wt.Assets.get(t)}}class Ye{constructor(){this.loader=new Ze}load(t,e,r){return this.loader.load(t,e,r)}unload(t,e,r=null){return this.loader.unload(t,e,r)}texture(t){return this.loader.texture(t)}}class Ne{constructor(t,e,r,s){if(this.sspjMap={},this.resourceLoader=new Ye,typeof t=="string"&&r===void 0){let f=t;this.ssfbPath=f;const a=f.lastIndexOf("/");this.rootPath=f.substring(0,a)+"/",this.ssfbFile=f.substring(a+1),this.onComplete=e===void 0?null:e,this.status=0,this.LoadFlatBuffersProject()}else if(typeof e=="object"&&e.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let f=e,a=r;this.onComplete=s===void 0?null:s,this.load(f,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,e=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(e=>e.ok?Promise.resolve(e.arrayBuffer()):Promise.reject(new Error(e.statusText))).then(e=>{t.fbObj=De.getProjectData(new Uint8Array(e)),t.LoadCellResources()}).catch(e=>{this.onComplete!==null&&this.onComplete(null,e)})}LoadCellResources(){let t=[];this.sspjMap={};for(let r=0;r{r===null?(e.status=1,e.onComplete!==null&&e.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,r)})}load(t,e){this.fbObj=De.getProjectData(t);let r={};for(let f in e){const a=e[f];let c="";const n=a.byteLength;for(let m=0;m{f===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,f)})}}class Xe{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class we extends wt.Container{constructor(t,e=null,r=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new wt.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new ce(t.fbObj,e,r),this.parentAlpha=1,e!==null&&r!==null&&this.Setup(e,r),this.on("added",(...s)=>{wt.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...s)=>{wt.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,e){this.playerLib.Setup(t,e),this.clearCaches();const r=this.playerLib.animePackData,s=r.partsLength();this.prevCellID=new Array(s),this.prevPartObject=new Array(s),this.changeCellID=new Array(s),this.substituteOverWrite=new Array(s),this.substituteKeyParam=new Array(s);for(let f=0;f=this.updateInterval){let f=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let c=this.skipEnabled?a*this.playDirection:this.playDirection,n=this._currentFrame+c,m=Math.floor(n),o=n-m,_=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let y=m-_;y;y--){let v=_+1;if(v>this._endFrame)if(this._loops===-1)v=this._startFrame;else if(this._loops--,f=!0,this._loops===0){this._isPlaying=!1,v=e?this._startFrame:this._endFrame;break}else v=this._startFrame;_=v,this._isPlaying&&this.playerLib.HaveUserData(_)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(_))}if(this.playDirection<=-1)for(let y=_-m;y;y--){let v=_-1;if(v0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=e)}SetAnimationSection(t=-1,e=-1,r=-1){t>=0&&t=0&&e0?this._loops=r:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let e=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(e=t),this._currentFrame=e,this.resetLiveFrame();const r=Math.floor(this._currentFrame);this.SetFrameAnimation(r),this.playerLib.HaveUserData(r)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(r))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),e=this.endFrame;t!==e&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}getCellIndex(t,e){let r=-1;if(t!==""&&e!==""){const s=this.playerLib.fbObj,f=this.playerLib.fbObj.numCells();for(let a=0;a>>24)/255,c=((r&16711680)>>>16)/255,n=((r&65280)>>>8)/255,m=(r&255)/255;if(t===0){const o=1-e;f.matrix=[o,0,0,0,c*e,0,o,0,0,n*e,0,0,o,0,m*e,0,0,0,1,0]}else t===1?f.matrix=[c,0,0,0,0,0,n,0,0,0,0,0,m,0,0,0,0,0,a,0]:t===2?f.matrix=[1,0,0,0,c,0,1,0,0,n,0,0,1,0,m,0,0,0,a,0]:t===3&&(f.matrix=[1,0,0,0,-c,0,1,0,0,-n,0,0,1,0,-m,0,0,0,a,0]);return this.colorMatrixFilterCache[s]=f,f}SetFrameAnimation(t,e=0){const r=this.playerLib.GetFrameData(t);this.removeChildren();const s=r.length;for(let f=0;f=0&&this.prevCellID[a]!==m&&(o?.destroy(),o=this.MakeCellMesh(m),o.label=_.name());break;case It.Mesh:m>=0&&this.prevCellID[a]!==m&&(o?.destroy(),o=this.MakeMeshCellMesh(a,m,n),o.label=_.name());break;case It.Nulltype:case It.Joint:this.prevCellID[a]!==m&&(o?.destroy(),o=new wt.Container,o.label=_.name());break;default:m>=0&&this.prevCellID[a]!==m&&(o?.destroy(),o=this.MakeCellMesh(m),o.label=_.name());break}if(o!=null)switch(this.prevCellID[a]=m,this.prevPartObject[a]=o,y){case It.Instance:{const F=o;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,c.index,t),F.rotation=this._instancePos[4]*Math.PI/180,F.position.set(this._instancePos[0],this._instancePos[1]),F.scale.set(this._instancePos[2],this._instancePos[3]);let l=c.opacity/255;c.localopacity<255&&(l=c.localopacity/255),F.SetAlpha(l*this.parentAlpha),F.visible=!c.f_hide;let d=c.instanceValue_curKeyframe,b=c.instanceValue_startFrame,x=c.instanceValue_endFrame,P=c.instanceValue_speed,g=c.instanceValue_loopNum,I=!1,C=!1,S=!1,N=!1;const D=1,V=2,R=4,j=8,$=c.instanceValue_loopflag;$&D&&(I=!0),$&V&&(C=!0),$&R&&(S=!0),$&j&&(N=!0),v&&(b=E.refStartframe,x=E.refEndframe,P=E.refSpeed,g=E.refloopNum,I=E.infinity,C=E.reverse,S=E.pingpong,N=E.independent),(F._startFrame!==b||F._endFrame!==x)&&F.SetAnimationSection(b,x);let G=t;N===!0&&(this.liveFrame[f]+=e,G=Math.floor(this.liveFrame[f]));const et=d;let W=Math.floor((G-et)*P);if(W<0||et>G)continue;const Z=x-b+1;if(Z<=0)continue;let Q=Math.floor(W/Z),at=g;S&&(at=at*2),I||Q>=at&&(W=Z-1,Q=at-1);const ht=Math.floor(W%Z);let K=0;S&&Q%2===1&&(C?C=!1:C=!0),this.playDirection<=-1&&(C=!C),C?K=x-ht:K=ht+b,F.SetFrame(Math.floor(K)),this.addChild(F);break}case It.Normal:case It.Mesh:case It.Joint:case It.Mask:{const F=o,l=F.geometry.attributes.aPosition.buffer;let d=l.data;const b=this.playerLib.fbObj.cells(m);let x;if(y===It.Mesh?c.meshIsBind===0?x=this.playerLib.TransformMeshVertsLocal(ce.GetMeshVerts(b,c,d),c.index,t):x=ce.GetMeshVerts(b,c,d):(x=y===It.Joint?new Float32Array(10):d,x=this.playerLib.TransformVertsLocal(ce.GetVerts(b,c,x),c.index,t)),c.flag1&it.VERTEX_TRANSFORM){const S=x[6],N=x[3*2+1],D=x[1*2+0],V=x[1*2+1],R=x[4*2+0],j=x[4*2+1],$=x[2*2+0],G=x[2*2+1],et=(S+R)*.5,W=(N+j)*.5,Z=(S+D)*.5,Q=(N+V)*.5,at=(D+$)*.5,ht=(V+G)*.5,K=(R+$)*.5,ot=(j+G)*.5,nt=ce.CoordinateGetDiagonalIntersection(x[0],x[1],et,W,K,ot,Z,Q,at,ht,this._CoordinateGetDiagonalIntersectionVec2);x[0]=nt[0],x[1]=nt[1]}const P=x[0],g=x[1];for(let S=0;S>>24)/255;F.alpha=F.alpha*S}const C=this.alphaBlendType[a];(C==="multiply"||C==="screen")&&(F.alpha=1),y!==It.Mask&&this.addChild(F);break}case It.Nulltype:{const F=o,l=this.playerLib.InheritOpacity(1,c.index,t);F.alpha=l*c.localopacity/255;const d=this.playerLib.TransformVerts(ce.GetDummyVerts(),c.index,t),b=d[0],x=d[1];F.position.set(b,x);const P=Math.atan2(d[5]-d[3],d[4]-d[2]),g=Math.atan2(d[7]-d[3],d[6]-d[2]);F.rotation=P,F.skew.x=g-P-Math.PI/2;break}}}}ChangeInstanceAnime(t,e,r,s,f=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let c=this.playerLib.animePackData,n=c.partsLength();for(let m=0;m0){const a=this.playerLib.fbObj.cells(e),c=this.playerLib.fbObj.cells(r),n=e===r?0:(a.u1()+a.u2())/2-(c.u1()+c.u2())/2,m=e===r?0:(a.v1()+a.v2())/2-(c.v1()+c.v2())/2,o=new Float32Array(f-2),_=s.uv(1);for(let d=2;d{r.ssWebPlayer&&r.ssWebPlayer.playEndCallback&&r.ssWebPlayer.playEndCallback(r)},this.onUserDataCallback=s=>{r.ssWebPlayer&&r.ssWebPlayer.onUpdateCallback&&r.ssWebPlayer.onUpdateCallback(r)},this.setupCurrentAnimationFrameDataMap()}getCurrentAnimationFrameDataMap(){return this.currentAnimationFrameDataMap}setupCurrentAnimationFrameDataMap(){const t=this.playerLib.animationData;let e={};const r=t.userDataLength();for(let s=0;s @@ -17,5 +17,5 @@ var ss6PlayerViewer=function(Ae,wt){"use strict";const be=[5,10,15,20,25,50,75,1 JSZip uses the library pako released under the MIT license : https://github.com/nodeca/pako/blob/main/LICENSE - */(function(L,t){(function(e){L.exports=e()})(function(){return function e(r,s,l){function a(m,c){if(!s[m]){if(!r[m]){var u=typeof ke=="function"&&ke;if(!c&&u)return u(m,!0);if(h)return h(m,!0);var g=new Error("Cannot find module '"+m+"'");throw g.code="MODULE_NOT_FOUND",g}var v=s[m]={exports:{}};r[m][0].call(v.exports,function(F){var C=r[m][1][F];return a(C||F)},v,v.exports,e,r,s,l)}return s[m].exports}for(var h=typeof ke=="function"&&ke,n=0;n>2,F=(c&3)<<4|u>>4,C=I>1?(u&15)<<2|g>>6:64,o=I>2?g&63:64,m.push(h.charAt(v)+h.charAt(F)+h.charAt(C)+h.charAt(o));return m.join("")},s.decode=function(n){var m,c,u,g,v,F,C,o=0,_=0,p="data:";if(n.substr(0,p.length)===p)throw new Error("Invalid base64 input, it looks like a data url.");n=n.replace(/[^A-Za-z0-9+/=]/g,"");var I=n.length*3/4;if(n.charAt(n.length-1)===h.charAt(64)&&I--,n.charAt(n.length-2)===h.charAt(64)&&I--,I%1!==0)throw new Error("Invalid base64 input, bad content length.");var P;for(a.uint8array?P=new Uint8Array(I|0):P=new Array(I|0);o>4,c=(v&15)<<4|F>>2,u=(F&3)<<6|C,P[_++]=m,F!==64&&(P[_++]=c),C!==64&&(P[_++]=u);return P}},{"./support":30,"./utils":32}],2:[function(e,r,s){var l=e("./external"),a=e("./stream/DataWorker"),h=e("./stream/Crc32Probe"),n=e("./stream/DataLengthProbe");function m(c,u,g,v,F){this.compressedSize=c,this.uncompressedSize=u,this.crc32=g,this.compression=v,this.compressedContent=F}m.prototype={getContentWorker:function(){var c=new a(l.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new n("data_length")),u=this;return c.on("end",function(){if(this.streamInfo.data_length!==u.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),c},getCompressedWorker:function(){return new a(l.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},m.createWorkerFrom=function(c,u,g){return c.pipe(new h).pipe(new n("uncompressedSize")).pipe(u.compressWorker(g)).pipe(new n("compressedSize")).withStreamInfo("compression",u)},r.exports=m},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,r,s){var l=e("./stream/GenericWorker");s.STORE={magic:"\0\0",compressWorker:function(){return new l("STORE compression")},uncompressWorker:function(){return new l("STORE decompression")}},s.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,r,s){var l=e("./utils");function a(){for(var c,u=[],g=0;g<256;g++){c=g;for(var v=0;v<8;v++)c=c&1?3988292384^c>>>1:c>>>1;u[g]=c}return u}var h=a();function n(c,u,g,v){var F=h,C=v+g;c=c^-1;for(var o=v;o>>8^F[(c^u[o])&255];return c^-1}function m(c,u,g,v){var F=h,C=v+g;c=c^-1;for(var o=v;o>>8^F[(c^u.charCodeAt(o))&255];return c^-1}r.exports=function(u,g){if(typeof u>"u"||!u.length)return 0;var v=l.getTypeOf(u)!=="string";return v?n(g|0,u,u.length,0):m(g|0,u,u.length,0)}},{"./utils":32}],5:[function(e,r,s){s.base64=!1,s.binary=!1,s.dir=!1,s.createFolders=!0,s.date=null,s.compression=null,s.compressionOptions=null,s.comment=null,s.unixPermissions=null,s.dosPermissions=null},{}],6:[function(e,r,s){var l=null;typeof Promise<"u"?l=Promise:l=e("lie"),r.exports={Promise:l}},{lie:37}],7:[function(e,r,s){var l=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",a=e("pako"),h=e("./utils"),n=e("./stream/GenericWorker"),m=l?"uint8array":"array";s.magic="\b\0";function c(u,g){n.call(this,"FlateWorker/"+u),this._pako=null,this._pakoAction=u,this._pakoOptions=g,this.meta={}}h.inherits(c,n),c.prototype.processChunk=function(u){this.meta=u.meta,this._pako===null&&this._createPako(),this._pako.push(h.transformTo(m,u.data),!1)},c.prototype.flush=function(){n.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new a[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var u=this;this._pako.onData=function(g){u.push({data:g,meta:u.meta})}},s.compressWorker=function(u){return new c("Deflate",u)},s.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,r,s){var l=e("../utils"),a=e("../stream/GenericWorker"),h=e("../utf8"),n=e("../crc32"),m=e("../signature"),c=function(_,p){var I="",P;for(P=0;P>>8;return I},u=function(_,p){var I=_;return _||(I=p?16893:33204),(I&65535)<<16},g=function(_){return(_||0)&63},v=function(_,p,I,P,y,w){var S=_.file,E=_.compression,N=w!==h.utf8encode,D=l.transformTo("string",w(S.name)),B=l.transformTo("string",h.utf8encode(S.name)),R=S.comment,Z=l.transformTo("string",w(R)),Q=l.transformTo("string",h.utf8encode(R)),J=B.length!==S.name.length,G=Q.length!==R.length,$,j,tt="",nt="",ht="",H=S.dir,st=S.date,ft={crc32:0,compressedSize:0,uncompressedSize:0};(!p||I)&&(ft.crc32=_.crc32,ft.compressedSize=_.compressedSize,ft.uncompressedSize=_.uncompressedSize);var Dt=0;p&&(Dt|=8),!N&&(J||G)&&(Dt|=2048);var kt=0,vt=0;H&&(kt|=16),y==="UNIX"?(vt=798,kt|=u(S.unixPermissions,H)):(vt=20,kt|=g(S.dosPermissions)),$=st.getUTCHours(),$=$<<6,$=$|st.getUTCMinutes(),$=$<<5,$=$|st.getUTCSeconds()/2,j=st.getUTCFullYear()-1980,j=j<<4,j=j|st.getUTCMonth()+1,j=j<<5,j=j|st.getUTCDate(),J&&(nt=c(1,1)+c(n(D),4)+B,tt+="up"+c(nt.length,2)+nt),G&&(ht=c(1,1)+c(n(Z),4)+Q,tt+="uc"+c(ht.length,2)+ht);var at="";at+=` -\0`,at+=c(Dt,2),at+=E.magic,at+=c($,2),at+=c(j,2),at+=c(ft.crc32,4),at+=c(ft.compressedSize,4),at+=c(ft.uncompressedSize,4),at+=c(D.length,2),at+=c(tt.length,2);var St=m.LOCAL_FILE_HEADER+at+D+tt,gt=m.CENTRAL_FILE_HEADER+c(vt,2)+at+c(Z.length,2)+"\0\0\0\0"+c(kt,4)+c(P,4)+D+tt+Z;return{fileRecord:St,dirRecord:gt}},F=function(_,p,I,P,y){var w="",S=l.transformTo("string",y(P));return w=m.CENTRAL_DIRECTORY_END+"\0\0\0\0"+c(_,2)+c(_,2)+c(p,4)+c(I,4)+c(S.length,2)+S,w},C=function(_){var p="";return p=m.DATA_DESCRIPTOR+c(_.crc32,4)+c(_.compressedSize,4)+c(_.uncompressedSize,4),p};function o(_,p,I,P){a.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=p,this.zipPlatform=I,this.encodeFileName=P,this.streamFiles=_,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(o,a),o.prototype.push=function(_){var p=_.meta.percent||0,I=this.entriesCount,P=this._sources.length;this.accumulate?this.contentBuffer.push(_):(this.bytesWritten+=_.data.length,a.prototype.push.call(this,{data:_.data,meta:{currentFile:this.currentFile,percent:I?(p+100*(I-P-1))/I:100}}))},o.prototype.openedSource=function(_){this.currentSourceOffset=this.bytesWritten,this.currentFile=_.file.name;var p=this.streamFiles&&!_.file.dir;if(p){var I=v(_,p,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:I.fileRecord,meta:{percent:0}})}else this.accumulate=!0},o.prototype.closedSource=function(_){this.accumulate=!1;var p=this.streamFiles&&!_.file.dir,I=v(_,p,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(I.dirRecord),p)this.push({data:C(_),meta:{percent:100}});else for(this.push({data:I.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},o.prototype.flush=function(){for(var _=this.bytesWritten,p=0;p"u")&&(D.binary=!B);var R=w instanceof c&&w.uncompressedSize===0;(R||D.dir||!w||w.length===0)&&(D.base64=!1,D.binary=!0,w="",D.compression="STORE",E="string");var Z=null;w instanceof c||w instanceof h?Z=w:v.isNode&&v.isStream(w)?Z=new F(y,w):Z=a.prepareContent(y,w,D.binary,D.optimizedBinaryString,D.base64);var Q=new u(y,Z,D);this.files[y]=Q},o=function(y){y.slice(-1)==="/"&&(y=y.substring(0,y.length-1));var w=y.lastIndexOf("/");return w>0?y.substring(0,w):""},_=function(y){return y.slice(-1)!=="/"&&(y+="/"),y},p=function(y,w){return w=typeof w<"u"?w:m.createFolders,y=_(y),this.files[y]||C.call(this,y,null,{dir:!0,createFolders:w}),this.files[y]};function I(y){return Object.prototype.toString.call(y)==="[object RegExp]"}var P={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(y){var w,S,E;for(w in this.files)E=this.files[w],S=w.slice(this.root.length,w.length),S&&w.slice(0,this.root.length)===this.root&&y(S,E)},filter:function(y){var w=[];return this.forEach(function(S,E){y(S,E)&&w.push(E)}),w},file:function(y,w,S){if(arguments.length===1)if(I(y)){var E=y;return this.filter(function(D,B){return!B.dir&&E.test(D)})}else{var N=this.files[this.root+y];return N&&!N.dir?N:null}else y=this.root+y,C.call(this,y,w,S);return this},folder:function(y){if(!y)return this;if(I(y))return this.filter(function(N,D){return D.dir&&y.test(N)});var w=this.root+y,S=p.call(this,w),E=this.clone();return E.root=S.name,E},remove:function(y){y=this.root+y;var w=this.files[y];if(w||(y.slice(-1)!=="/"&&(y+="/"),w=this.files[y]),w&&!w.dir)delete this.files[y];else for(var S=this.filter(function(N,D){return D.name.slice(0,y.length)===y}),E=0;E=0;--v)if(this.data[v]===m&&this.data[v+1]===c&&this.data[v+2]===u&&this.data[v+3]===g)return v-this.zero;return-1},h.prototype.readAndCheckSignature=function(n){var m=n.charCodeAt(0),c=n.charCodeAt(1),u=n.charCodeAt(2),g=n.charCodeAt(3),v=this.readData(4);return m===v[0]&&c===v[1]&&u===v[2]&&g===v[3]},h.prototype.readData=function(n){if(this.checkOffset(n),n===0)return[];var m=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=h},{"../utils":32,"./DataReader":18}],18:[function(e,r,s){var l=e("../utils");function a(h){this.data=h,this.length=h.length,this.index=0,this.zero=0}a.prototype={checkOffset:function(h){this.checkIndex(this.index+h)},checkIndex:function(h){if(this.length=this.index;m--)n=(n<<8)+this.byteAt(m);return this.index+=h,n},readString:function(h){return l.transformTo("string",this.readData(h))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var h=this.readInt(4);return new Date(Date.UTC((h>>25&127)+1980,(h>>21&15)-1,h>>16&31,h>>11&31,h>>5&63,(h&31)<<1))}},r.exports=a},{"../utils":32}],19:[function(e,r,s){var l=e("./Uint8ArrayReader"),a=e("../utils");function h(n){l.call(this,n)}a.inherits(h,l),h.prototype.readData=function(n){this.checkOffset(n);var m=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=h},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,r,s){var l=e("./DataReader"),a=e("../utils");function h(n){l.call(this,n)}a.inherits(h,l),h.prototype.byteAt=function(n){return this.data.charCodeAt(this.zero+n)},h.prototype.lastIndexOfSignature=function(n){return this.data.lastIndexOf(n)-this.zero},h.prototype.readAndCheckSignature=function(n){var m=this.readData(4);return n===m},h.prototype.readData=function(n){this.checkOffset(n);var m=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=h},{"../utils":32,"./DataReader":18}],21:[function(e,r,s){var l=e("./ArrayReader"),a=e("../utils");function h(n){l.call(this,n)}a.inherits(h,l),h.prototype.readData=function(n){if(this.checkOffset(n),n===0)return new Uint8Array(0);var m=this.data.subarray(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=h},{"../utils":32,"./ArrayReader":17}],22:[function(e,r,s){var l=e("../utils"),a=e("../support"),h=e("./ArrayReader"),n=e("./StringReader"),m=e("./NodeBufferReader"),c=e("./Uint8ArrayReader");r.exports=function(u){var g=l.getTypeOf(u);return l.checkSupport(g),g==="string"&&!a.uint8array?new n(u):g==="nodebuffer"?new m(u):a.uint8array?new c(l.transformTo("uint8array",u)):new h(l.transformTo("array",u))}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,r,s){s.LOCAL_FILE_HEADER="PK",s.CENTRAL_FILE_HEADER="PK",s.CENTRAL_DIRECTORY_END="PK",s.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",s.ZIP64_CENTRAL_DIRECTORY_END="PK",s.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,r,s){var l=e("./GenericWorker"),a=e("../utils");function h(n){l.call(this,"ConvertWorker to "+n),this.destType=n}a.inherits(h,l),h.prototype.processChunk=function(n){this.push({data:a.transformTo(this.destType,n.data),meta:n.meta})},r.exports=h},{"../utils":32,"./GenericWorker":28}],25:[function(e,r,s){var l=e("./GenericWorker"),a=e("../crc32"),h=e("../utils");function n(){l.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}h.inherits(n,l),n.prototype.processChunk=function(m){this.streamInfo.crc32=a(m.data,this.streamInfo.crc32||0),this.push(m)},r.exports=n},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,r,s){var l=e("../utils"),a=e("./GenericWorker");function h(n){a.call(this,"DataLengthProbe for "+n),this.propName=n,this.withStreamInfo(n,0)}l.inherits(h,a),h.prototype.processChunk=function(n){if(n){var m=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=m+n.data.length}a.prototype.processChunk.call(this,n)},r.exports=h},{"../utils":32,"./GenericWorker":28}],27:[function(e,r,s){var l=e("../utils"),a=e("./GenericWorker"),h=16*1024;function n(m){a.call(this,"DataWorker");var c=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,m.then(function(u){c.dataIsReady=!0,c.data=u,c.max=u&&u.length||0,c.type=l.getTypeOf(u),c.isPaused||c._tickAndRepeat()},function(u){c.error(u)})}l.inherits(n,a),n.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this.data=null},n.prototype.resume=function(){return a.prototype.resume.call(this)?(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,l.delay(this._tickAndRepeat,[],this)),!0):!1},n.prototype._tickAndRepeat=function(){this._tickScheduled=!1,!(this.isPaused||this.isFinished)&&(this._tick(),this.isFinished||(l.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},n.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var m=h,c=null,u=Math.min(this.max,this.index+m);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,u);break;case"uint8array":c=this.data.subarray(this.index,u);break;case"array":case"nodebuffer":c=this.data.slice(this.index,u);break}return this.index=u,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},r.exports=n},{"../utils":32,"./GenericWorker":28}],28:[function(e,r,s){function l(a){this.name=a||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}l.prototype={push:function(a){this.emit("data",a)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(a){this.emit("error",a)}return!0},error:function(a){return this.isFinished?!1:(this.isPaused?this.generatedError=a:(this.isFinished=!0,this.emit("error",a),this.previous&&this.previous.error(a),this.cleanUp()),!0)},on:function(a,h){return this._listeners[a].push(h),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(a,h){if(this._listeners[a])for(var n=0;n "+a:a}},r.exports=l},{}],29:[function(e,r,s){var l=e("../utils"),a=e("./ConvertWorker"),h=e("./GenericWorker"),n=e("../base64"),m=e("../support"),c=e("../external"),u=null;if(m.nodestream)try{u=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function g(o,_,p){switch(o){case"blob":return l.newBlob(l.transformTo("arraybuffer",_),p);case"base64":return n.encode(_);default:return l.transformTo(o,_)}}function v(o,_){var p,I=0,P=null,y=0;for(p=0;p<_.length;p++)y+=_[p].length;switch(o){case"string":return _.join("");case"array":return Array.prototype.concat.apply([],_);case"uint8array":for(P=new Uint8Array(y),p=0;p<_.length;p++)P.set(_[p],I),I+=_[p].length;return P;case"nodebuffer":return Buffer.concat(_);default:throw new Error("concat : unsupported type '"+o+"'")}}function F(o,_){return new c.Promise(function(p,I){var P=[],y=o._internalType,w=o._outputType,S=o._mimeType;o.on("data",function(E,N){P.push(E),_&&_(N)}).on("error",function(E){P=[],I(E)}).on("end",function(){try{var E=g(w,v(y,P),S);p(E)}catch(N){I(N)}P=[]}).resume()})}function C(o,_,p){var I=_;switch(_){case"blob":case"arraybuffer":I="uint8array";break;case"base64":I="string";break}try{this._internalType=I,this._outputType=_,this._mimeType=p,l.checkSupport(I),this._worker=o.pipe(new a(I)),o.lock()}catch(P){this._worker=new h("error"),this._worker.error(P)}}C.prototype={accumulate:function(o){return F(this,o)},on:function(o,_){var p=this;return o==="data"?this._worker.on(o,function(I){_.call(p,I.data,I.meta)}):this._worker.on(o,function(){l.delay(_,arguments,p)}),this},resume:function(){return l.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(o){if(l.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:this._outputType!=="nodebuffer"},o)}},r.exports=C},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,r,s){if(s.base64=!0,s.array=!0,s.string=!0,s.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",s.nodebuffer=typeof Buffer<"u",s.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")s.blob=!1;else{var l=new ArrayBuffer(0);try{s.blob=new Blob([l],{type:"application/zip"}).size===0}catch{try{var a=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,h=new a;h.append(l),s.blob=h.getBlob("application/zip").size===0}catch{s.blob=!1}}}try{s.nodestream=!!e("readable-stream").Readable}catch{s.nodestream=!1}},{"readable-stream":16}],31:[function(e,r,s){for(var l=e("./utils"),a=e("./support"),h=e("./nodejsUtils"),n=e("./stream/GenericWorker"),m=new Array(256),c=0;c<256;c++)m[c]=c>=252?6:c>=248?5:c>=240?4:c>=224?3:c>=192?2:1;m[254]=m[254]=1;var u=function(o){var _,p,I,P,y,w=o.length,S=0;for(P=0;P>>6,_[y++]=128|p&63):p<65536?(_[y++]=224|p>>>12,_[y++]=128|p>>>6&63,_[y++]=128|p&63):(_[y++]=240|p>>>18,_[y++]=128|p>>>12&63,_[y++]=128|p>>>6&63,_[y++]=128|p&63);return _},g=function(o,_){var p;for(_=_||o.length,_>o.length&&(_=o.length),p=_-1;p>=0&&(o[p]&192)===128;)p--;return p<0||p===0?_:p+m[o[p]]>_?p:_},v=function(o){var _,p,I,P,y=o.length,w=new Array(y*2);for(p=0,_=0;_4){w[p++]=65533,_+=P-1;continue}for(I&=P===2?31:P===3?15:7;P>1&&_1){w[p++]=65533;continue}I<65536?w[p++]=I:(I-=65536,w[p++]=55296|I>>10&1023,w[p++]=56320|I&1023)}return w.length!==p&&(w.subarray?w=w.subarray(0,p):w.length=p),l.applyFromCharCode(w)};s.utf8encode=function(_){return a.nodebuffer?h.newBufferFrom(_,"utf-8"):u(_)},s.utf8decode=function(_){return a.nodebuffer?l.transformTo("nodebuffer",_).toString("utf-8"):(_=l.transformTo(a.uint8array?"uint8array":"array",_),v(_))};function F(){n.call(this,"utf-8 decode"),this.leftOver=null}l.inherits(F,n),F.prototype.processChunk=function(o){var _=l.transformTo(a.uint8array?"uint8array":"array",o.data);if(this.leftOver&&this.leftOver.length){if(a.uint8array){var p=_;_=new Uint8Array(p.length+this.leftOver.length),_.set(this.leftOver,0),_.set(p,this.leftOver.length)}else _=this.leftOver.concat(_);this.leftOver=null}var I=g(_),P=_;I!==_.length&&(a.uint8array?(P=_.subarray(0,I),this.leftOver=_.subarray(I,_.length)):(P=_.slice(0,I),this.leftOver=_.slice(I,_.length))),this.push({data:s.utf8decode(P),meta:o.meta})},F.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=F;function C(){n.call(this,"utf-8 encode")}l.inherits(C,n),C.prototype.processChunk=function(o){this.push({data:s.utf8encode(o.data),meta:o.meta})},s.Utf8EncodeWorker=C},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,r,s){var l=e("./support"),a=e("./base64"),h=e("./nodejsUtils"),n=e("./external");e("setimmediate");function m(o){var _=null;return l.uint8array?_=new Uint8Array(o.length):_=new Array(o.length),u(o,_)}s.newBlob=function(o,_){s.checkSupport("blob");try{return new Blob([o],{type:_})}catch{try{var p=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,I=new p;return I.append(o),I.getBlob(_)}catch{throw new Error("Bug : can't construct the Blob.")}}};function c(o){return o}function u(o,_){for(var p=0;p1;)try{return g.stringifyByChunk(o,p,_)}catch{_=Math.floor(_/2)}return g.stringifyByChar(o)}s.applyFromCharCode=v;function F(o,_){for(var p=0;p"u"&&(o[p]=arguments[_][p]);return o},s.prepareContent=function(o,_,p,I,P){var y=n.Promise.resolve(_).then(function(w){var S=l.blob&&(w instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(w))!==-1);return S&&typeof FileReader<"u"?new n.Promise(function(E,N){var D=new FileReader;D.onload=function(B){E(B.target.result)},D.onerror=function(B){N(B.target.error)},D.readAsArrayBuffer(w)}):w});return y.then(function(w){var S=s.getTypeOf(w);return S?(S==="arraybuffer"?w=s.transformTo("uint8array",w):S==="string"&&(P?w=a.decode(w):p&&I!==!0&&(w=m(w))),w):n.Promise.reject(new Error("Can't read the data of '"+o+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,r,s){var l=e("./reader/readerFor"),a=e("./utils"),h=e("./signature"),n=e("./zipEntry"),m=e("./support");function c(u){this.files=[],this.loadOptions=u}c.prototype={checkSignature:function(u){if(!this.reader.readAndCheckSignature(u)){this.reader.index-=4;var g=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+a.pretty(g)+", expected "+a.pretty(u)+")")}},isSignature:function(u,g){var v=this.reader.index;this.reader.setIndex(u);var F=this.reader.readString(4),C=F===g;return this.reader.setIndex(v),C},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var u=this.reader.readData(this.zipCommentLength),g=m.uint8array?"uint8array":"array",v=a.transformTo(g,u);this.zipComment=this.loadOptions.decodeFileName(v)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var u=this.zip64EndOfCentralSize-44,g=0,v,F,C;g1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var u,g;for(u=0;u0)this.isSignature(v,h.CENTRAL_FILE_HEADER)||(this.reader.zero=C);else if(C<0)throw new Error("Corrupted zip: missing "+Math.abs(C)+" bytes.")},prepareReader:function(u){this.reader=l(u)},load:function(u){this.prepareReader(u),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},r.exports=c},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,r,s){var l=e("./reader/readerFor"),a=e("./utils"),h=e("./compressedObject"),n=e("./crc32"),m=e("./utf8"),c=e("./compressions"),u=e("./support"),g=0,v=3,F=function(o){for(var _ in c)if(Object.prototype.hasOwnProperty.call(c,_)&&c[_].magic===o)return c[_];return null};function C(o,_){this.options=o,this.loadOptions=_}C.prototype={isEncrypted:function(){return(this.bitFlag&1)===1},useUTF8:function(){return(this.bitFlag&2048)===2048},readLocalPart:function(o){var _,p;if(o.skip(22),this.fileNameLength=o.readInt(2),p=o.readInt(2),this.fileName=o.readData(this.fileNameLength),o.skip(p),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(_=F(this.compressionMethod),_===null)throw new Error("Corrupted zip : compression "+a.pretty(this.compressionMethod)+" unknown (inner file : "+a.transformTo("string",this.fileName)+")");this.decompressed=new h(this.compressedSize,this.uncompressedSize,this.crc32,_,o.readData(this.compressedSize))},readCentralPart:function(o){this.versionMadeBy=o.readInt(2),o.skip(2),this.bitFlag=o.readInt(2),this.compressionMethod=o.readString(2),this.date=o.readDate(),this.crc32=o.readInt(4),this.compressedSize=o.readInt(4),this.uncompressedSize=o.readInt(4);var _=o.readInt(2);if(this.extraFieldsLength=o.readInt(2),this.fileCommentLength=o.readInt(2),this.diskNumberStart=o.readInt(2),this.internalFileAttributes=o.readInt(2),this.externalFileAttributes=o.readInt(4),this.localHeaderOffset=o.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");o.skip(_),this.readExtraFields(o),this.parseZIP64ExtraField(o),this.fileComment=o.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var o=this.versionMadeBy>>8;this.dir=!!(this.externalFileAttributes&16),o===g&&(this.dosPermissions=this.externalFileAttributes&63),o===v&&(this.unixPermissions=this.externalFileAttributes>>16&65535),!this.dir&&this.fileNameStr.slice(-1)==="/"&&(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var o=l(this.extraFields[1].value);this.uncompressedSize===a.MAX_VALUE_32BITS&&(this.uncompressedSize=o.readInt(8)),this.compressedSize===a.MAX_VALUE_32BITS&&(this.compressedSize=o.readInt(8)),this.localHeaderOffset===a.MAX_VALUE_32BITS&&(this.localHeaderOffset=o.readInt(8)),this.diskNumberStart===a.MAX_VALUE_32BITS&&(this.diskNumberStart=o.readInt(4))}},readExtraFields:function(o){var _=o.index+this.extraFieldsLength,p,I,P;for(this.extraFields||(this.extraFields={});o.index+4<_;)p=o.readInt(2),I=o.readInt(2),P=o.readData(I),this.extraFields[p]={id:p,length:I,value:P};o.setIndex(_)},handleUTF8:function(){var o=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=m.utf8decode(this.fileName),this.fileCommentStr=m.utf8decode(this.fileComment);else{var _=this.findExtraFieldUnicodePath();if(_!==null)this.fileNameStr=_;else{var p=a.transformTo(o,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(p)}var I=this.findExtraFieldUnicodeComment();if(I!==null)this.fileCommentStr=I;else{var P=a.transformTo(o,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(P)}}},findExtraFieldUnicodePath:function(){var o=this.extraFields[28789];if(o){var _=l(o.value);return _.readInt(1)!==1||n(this.fileName)!==_.readInt(4)?null:m.utf8decode(_.readData(o.length-5))}return null},findExtraFieldUnicodeComment:function(){var o=this.extraFields[25461];if(o){var _=l(o.value);return _.readInt(1)!==1||n(this.fileComment)!==_.readInt(4)?null:m.utf8decode(_.readData(o.length-5))}return null}},r.exports=C},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,r,s){var l=e("./stream/StreamHelper"),a=e("./stream/DataWorker"),h=e("./utf8"),n=e("./compressedObject"),m=e("./stream/GenericWorker"),c=function(F,C,o){this.name=F,this.dir=o.dir,this.date=o.date,this.comment=o.comment,this.unixPermissions=o.unixPermissions,this.dosPermissions=o.dosPermissions,this._data=C,this._dataBinary=o.binary,this.options={compression:o.compression,compressionOptions:o.compressionOptions}};c.prototype={internalStream:function(F){var C=null,o="string";try{if(!F)throw new Error("No output type specified.");o=F.toLowerCase();var _=o==="string"||o==="text";(o==="binarystring"||o==="text")&&(o="string"),C=this._decompressWorker();var p=!this._dataBinary;p&&!_&&(C=C.pipe(new h.Utf8EncodeWorker)),!p&&_&&(C=C.pipe(new h.Utf8DecodeWorker))}catch(I){C=new m("error"),C.error(I)}return new l(C,o,"")},async:function(F,C){return this.internalStream(F).accumulate(C)},nodeStream:function(F,C){return this.internalStream(F||"nodebuffer").toNodejsStream(C)},_compressWorker:function(F,C){if(this._data instanceof n&&this._data.compression.magic===F.magic)return this._data.getCompressedWorker();var o=this._decompressWorker();return this._dataBinary||(o=o.pipe(new h.Utf8EncodeWorker)),n.createWorkerFrom(o,F,C)},_decompressWorker:function(){return this._data instanceof n?this._data.getContentWorker():this._data instanceof m?this._data:new a(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],g=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},v=0;v0?E.windowBits=-E.windowBits:E.gzip&&E.windowBits>0&&E.windowBits<16&&(E.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m,this.strm.avail_out=0;var N=l.deflateInit2(this.strm,E.level,E.method,E.windowBits,E.memLevel,E.strategy);if(N!==v)throw new Error(n[N]);if(E.header&&l.deflateSetHeader(this.strm,E.header),E.dictionary){var D;if(typeof E.dictionary=="string"?D=h.string2buf(E.dictionary):c.call(E.dictionary)==="[object ArrayBuffer]"?D=new Uint8Array(E.dictionary):D=E.dictionary,N=l.deflateSetDictionary(this.strm,D),N!==v)throw new Error(n[N]);this._dict_set=!0}}I.prototype.push=function(S,E){var N=this.strm,D=this.options.chunkSize,B,R;if(this.ended)return!1;R=E===~~E?E:E===!0?g:u,typeof S=="string"?N.input=h.string2buf(S):c.call(S)==="[object ArrayBuffer]"?N.input=new Uint8Array(S):N.input=S,N.next_in=0,N.avail_in=N.input.length;do{if(N.avail_out===0&&(N.output=new a.Buf8(D),N.next_out=0,N.avail_out=D),B=l.deflate(N,R),B!==F&&B!==v)return this.onEnd(B),this.ended=!0,!1;(N.avail_out===0||N.avail_in===0&&(R===g||R===C))&&(this.options.to==="string"?this.onData(h.buf2binstring(a.shrinkBuf(N.output,N.next_out))):this.onData(a.shrinkBuf(N.output,N.next_out)))}while((N.avail_in>0||N.avail_out===0)&&B!==F);return R===g?(B=l.deflateEnd(this.strm),this.onEnd(B),this.ended=!0,B===v):(R===C&&(this.onEnd(v),N.avail_out=0),!0)},I.prototype.onData=function(S){this.chunks.push(S)},I.prototype.onEnd=function(S){S===v&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=S,this.msg=this.strm.msg};function P(S,E){var N=new I(E);if(N.push(S,!0),N.err)throw N.msg||n[N.err];return N.result}function y(S,E){return E=E||{},E.raw=!0,P(S,E)}function w(S,E){return E=E||{},E.gzip=!0,P(S,E)}s.Deflate=I,s.deflate=P,s.deflateRaw=y,s.gzip=w},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,r,s){var l=e("./zlib/inflate"),a=e("./utils/common"),h=e("./utils/strings"),n=e("./zlib/constants"),m=e("./zlib/messages"),c=e("./zlib/zstream"),u=e("./zlib/gzheader"),g=Object.prototype.toString;function v(o){if(!(this instanceof v))return new v(o);this.options=a.assign({chunkSize:16384,windowBits:0,to:""},o||{});var _=this.options;_.raw&&_.windowBits>=0&&_.windowBits<16&&(_.windowBits=-_.windowBits,_.windowBits===0&&(_.windowBits=-15)),_.windowBits>=0&&_.windowBits<16&&!(o&&o.windowBits)&&(_.windowBits+=32),_.windowBits>15&&_.windowBits<48&&(_.windowBits&15||(_.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var p=l.inflateInit2(this.strm,_.windowBits);if(p!==n.Z_OK)throw new Error(m[p]);this.header=new u,l.inflateGetHeader(this.strm,this.header)}v.prototype.push=function(o,_){var p=this.strm,I=this.options.chunkSize,P=this.options.dictionary,y,w,S,E,N,D,B=!1;if(this.ended)return!1;w=_===~~_?_:_===!0?n.Z_FINISH:n.Z_NO_FLUSH,typeof o=="string"?p.input=h.binstring2buf(o):g.call(o)==="[object ArrayBuffer]"?p.input=new Uint8Array(o):p.input=o,p.next_in=0,p.avail_in=p.input.length;do{if(p.avail_out===0&&(p.output=new a.Buf8(I),p.next_out=0,p.avail_out=I),y=l.inflate(p,n.Z_NO_FLUSH),y===n.Z_NEED_DICT&&P&&(typeof P=="string"?D=h.string2buf(P):g.call(P)==="[object ArrayBuffer]"?D=new Uint8Array(P):D=P,y=l.inflateSetDictionary(this.strm,D)),y===n.Z_BUF_ERROR&&B===!0&&(y=n.Z_OK,B=!1),y!==n.Z_STREAM_END&&y!==n.Z_OK)return this.onEnd(y),this.ended=!0,!1;p.next_out&&(p.avail_out===0||y===n.Z_STREAM_END||p.avail_in===0&&(w===n.Z_FINISH||w===n.Z_SYNC_FLUSH))&&(this.options.to==="string"?(S=h.utf8border(p.output,p.next_out),E=p.next_out-S,N=h.buf2string(p.output,S),p.next_out=E,p.avail_out=I-E,E&&a.arraySet(p.output,p.output,S,E,0),this.onData(N)):this.onData(a.shrinkBuf(p.output,p.next_out))),p.avail_in===0&&p.avail_out===0&&(B=!0)}while((p.avail_in>0||p.avail_out===0)&&y!==n.Z_STREAM_END);return y===n.Z_STREAM_END&&(w=n.Z_FINISH),w===n.Z_FINISH?(y=l.inflateEnd(this.strm),this.onEnd(y),this.ended=!0,y===n.Z_OK):(w===n.Z_SYNC_FLUSH&&(this.onEnd(n.Z_OK),p.avail_out=0),!0)},v.prototype.onData=function(o){this.chunks.push(o)},v.prototype.onEnd=function(o){o===n.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=o,this.msg=this.strm.msg};function F(o,_){var p=new v(_);if(p.push(o,!0),p.err)throw p.msg||m[p.err];return p.result}function C(o,_){return _=_||{},_.raw=!0,F(o,_)}s.Inflate=v,s.inflate=F,s.inflateRaw=C,s.ungzip=F},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,r,s){var l=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";s.assign=function(n){for(var m=Array.prototype.slice.call(arguments,1);m.length;){var c=m.shift();if(c){if(typeof c!="object")throw new TypeError(c+"must be non-object");for(var u in c)c.hasOwnProperty(u)&&(n[u]=c[u])}}return n},s.shrinkBuf=function(n,m){return n.length===m?n:n.subarray?n.subarray(0,m):(n.length=m,n)};var a={arraySet:function(n,m,c,u,g){if(m.subarray&&n.subarray){n.set(m.subarray(c,c+u),g);return}for(var v=0;v=252?6:m>=248?5:m>=240?4:m>=224?3:m>=192?2:1;n[254]=n[254]=1,s.string2buf=function(u){var g,v,F,C,o,_=u.length,p=0;for(C=0;C<_;C++)v=u.charCodeAt(C),(v&64512)===55296&&C+1<_&&(F=u.charCodeAt(C+1),(F&64512)===56320&&(v=65536+(v-55296<<10)+(F-56320),C++)),p+=v<128?1:v<2048?2:v<65536?3:4;for(g=new l.Buf8(p),o=0,C=0;o>>6,g[o++]=128|v&63):v<65536?(g[o++]=224|v>>>12,g[o++]=128|v>>>6&63,g[o++]=128|v&63):(g[o++]=240|v>>>18,g[o++]=128|v>>>12&63,g[o++]=128|v>>>6&63,g[o++]=128|v&63);return g};function c(u,g){if(g<65537&&(u.subarray&&h||!u.subarray&&a))return String.fromCharCode.apply(null,l.shrinkBuf(u,g));for(var v="",F=0;F4){p[F++]=65533,v+=o-1;continue}for(C&=o===2?31:o===3?15:7;o>1&&v<_;)C=C<<6|u[v++]&63,o--;if(o>1){p[F++]=65533;continue}C<65536?p[F++]=C:(C-=65536,p[F++]=55296|C>>10&1023,p[F++]=56320|C&1023)}return c(p,F)},s.utf8border=function(u,g){var v;for(g=g||u.length,g>u.length&&(g=u.length),v=g-1;v>=0&&(u[v]&192)===128;)v--;return v<0||v===0?g:v+n[u[v]]>g?v:g}},{"./common":41}],43:[function(e,r,s){function l(a,h,n,m){for(var c=a&65535|0,u=a>>>16&65535|0,g=0;n!==0;){g=n>2e3?2e3:n,n-=g;do c=c+h[m++]|0,u=u+c|0;while(--g);c%=65521,u%=65521}return c|u<<16|0}r.exports=l},{}],44:[function(e,r,s){r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,r,s){function l(){for(var n,m=[],c=0;c<256;c++){n=c;for(var u=0;u<8;u++)n=n&1?3988292384^n>>>1:n>>>1;m[c]=n}return m}var a=l();function h(n,m,c,u){var g=a,v=u+c;n^=-1;for(var F=u;F>>8^g[(n^m[F])&255];return n^-1}r.exports=h},{}],46:[function(e,r,s){var l=e("../utils/common"),a=e("./trees"),h=e("./adler32"),n=e("./crc32"),m=e("./messages"),c=0,u=1,g=3,v=4,F=5,C=0,o=1,_=-2,p=-3,I=-5,P=-1,y=1,w=2,S=3,E=4,N=0,D=2,B=8,R=9,Z=15,Q=8,J=29,G=256,$=G+1+J,j=30,tt=19,nt=2*$+1,ht=15,H=3,st=258,ft=st+H+1,Dt=32,kt=42,vt=69,at=73,St=91,gt=103,dt=113,bt=666,ct=1,At=2,Ut=3,Bt=4,ut=3;function Nt(i,A){return i.msg=m[A],A}function he(i){return(i<<1)-(i>4?9:0)}function Vt(i){for(var A=i.length;--A>=0;)i[A]=0}function Mt(i){var A=i.state,T=A.pending;T>i.avail_out&&(T=i.avail_out),T!==0&&(l.arraySet(i.output,A.pending_buf,A.pending_out,T,i.next_out),i.next_out+=T,A.pending_out+=T,i.total_out+=T,i.avail_out-=T,A.pending-=T,A.pending===0&&(A.pending_out=0))}function _t(i,A){a._tr_flush_block(i,i.block_start>=0?i.block_start:-1,i.strstart-i.block_start,A),i.block_start=i.strstart,Mt(i.strm)}function rt(i,A){i.pending_buf[i.pending++]=A}function jt(i,A){i.pending_buf[i.pending++]=A>>>8&255,i.pending_buf[i.pending++]=A&255}function de(i,A,T,d){var x=i.avail_in;return x>d&&(x=d),x===0?0:(i.avail_in-=x,l.arraySet(A,i.input,i.next_in,x,T),i.state.wrap===1?i.adler=h(i.adler,A,x,T):i.state.wrap===2&&(i.adler=n(i.adler,A,x,T)),i.next_in+=x,i.total_in+=x,x)}function ae(i,A){var T=i.max_chain_length,d=i.strstart,x,O,K=i.prev_length,Y=i.nice_match,X=i.strstart>i.w_size-ft?i.strstart-(i.w_size-ft):0,ot=i.window,qt=i.w_mask,mt=i.prev,lt=i.strstart+st,xt=ot[d+K-1],Tt=ot[d+K];i.prev_length>=i.good_match&&(T>>=2),Y>i.lookahead&&(Y=i.lookahead);do if(x=A,!(ot[x+K]!==Tt||ot[x+K-1]!==xt||ot[x]!==ot[d]||ot[++x]!==ot[d+1])){d+=2,x++;do;while(ot[++d]===ot[++x]&&ot[++d]===ot[++x]&&ot[++d]===ot[++x]&&ot[++d]===ot[++x]&&ot[++d]===ot[++x]&&ot[++d]===ot[++x]&&ot[++d]===ot[++x]&&ot[++d]===ot[++x]&&dK){if(i.match_start=A,K=O,O>=Y)break;xt=ot[d+K-1],Tt=ot[d+K]}}while((A=mt[A&qt])>X&&--T!==0);return K<=i.lookahead?K:i.lookahead}function Zt(i){var A=i.w_size,T,d,x,O,K;do{if(O=i.window_size-i.lookahead-i.strstart,i.strstart>=A+(A-ft)){l.arraySet(i.window,i.window,A,A,0),i.match_start-=A,i.strstart-=A,i.block_start-=A,d=i.hash_size,T=d;do x=i.head[--T],i.head[T]=x>=A?x-A:0;while(--d);d=A,T=d;do x=i.prev[--T],i.prev[T]=x>=A?x-A:0;while(--d);O+=A}if(i.strm.avail_in===0)break;if(d=de(i.strm,i.window,i.strstart+i.lookahead,O),i.lookahead+=d,i.lookahead+i.insert>=H)for(K=i.strstart-i.insert,i.ins_h=i.window[K],i.ins_h=(i.ins_h<i.pending_buf_size-5&&(T=i.pending_buf_size-5);;){if(i.lookahead<=1){if(Zt(i),i.lookahead===0&&A===c)return ct;if(i.lookahead===0)break}i.strstart+=i.lookahead,i.lookahead=0;var d=i.block_start+T;if((i.strstart===0||i.strstart>=d)&&(i.lookahead=i.strstart-d,i.strstart=d,_t(i,!1),i.strm.avail_out===0)||i.strstart-i.block_start>=i.w_size-ft&&(_t(i,!1),i.strm.avail_out===0))return ct}return i.insert=0,A===v?(_t(i,!0),i.strm.avail_out===0?Ut:Bt):(i.strstart>i.block_start&&(_t(i,!1),i.strm.avail_out===0),ct)}function ne(i,A){for(var T,d;;){if(i.lookahead=H&&(i.ins_h=(i.ins_h<=H)if(d=a._tr_tally(i,i.strstart-i.match_start,i.match_length-H),i.lookahead-=i.match_length,i.match_length<=i.max_lazy_match&&i.lookahead>=H){i.match_length--;do i.strstart++,i.ins_h=(i.ins_h<=H&&(i.ins_h=(i.ins_h<4096)&&(i.match_length=H-1)),i.prev_length>=H&&i.match_length<=i.prev_length){x=i.strstart+i.lookahead-H,d=a._tr_tally(i,i.strstart-1-i.prev_match,i.prev_length-H),i.lookahead-=i.prev_length-1,i.prev_length-=2;do++i.strstart<=x&&(i.ins_h=(i.ins_h<=H&&i.strstart>0&&(x=i.strstart-1,d=K[x],d===K[++x]&&d===K[++x]&&d===K[++x])){O=i.strstart+st;do;while(d===K[++x]&&d===K[++x]&&d===K[++x]&&d===K[++x]&&d===K[++x]&&d===K[++x]&&d===K[++x]&&d===K[++x]&&xi.lookahead&&(i.match_length=i.lookahead)}if(i.match_length>=H?(T=a._tr_tally(i,1,i.match_length-H),i.lookahead-=i.match_length,i.strstart+=i.match_length,i.match_length=0):(T=a._tr_tally(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++),T&&(_t(i,!1),i.strm.avail_out===0))return ct}return i.insert=0,A===v?(_t(i,!0),i.strm.avail_out===0?Ut:Bt):i.last_lit&&(_t(i,!1),i.strm.avail_out===0)?ct:At}function se(i,A){for(var T;;){if(i.lookahead===0&&(Zt(i),i.lookahead===0)){if(A===c)return ct;break}if(i.match_length=0,T=a._tr_tally(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++,T&&(_t(i,!1),i.strm.avail_out===0))return ct}return i.insert=0,A===v?(_t(i,!0),i.strm.avail_out===0?Ut:Bt):i.last_lit&&(_t(i,!1),i.strm.avail_out===0)?ct:At}function Pt(i,A,T,d,x){this.good_length=i,this.max_lazy=A,this.nice_length=T,this.max_chain=d,this.func=x}var Gt;Gt=[new Pt(0,0,0,0,ue),new Pt(4,4,8,4,ne),new Pt(4,5,16,8,ne),new Pt(4,6,32,32,ne),new Pt(4,4,16,16,Wt),new Pt(8,16,32,32,Wt),new Pt(8,16,128,128,Wt),new Pt(8,32,128,256,Wt),new Pt(32,128,258,1024,Wt),new Pt(32,258,258,4096,Wt)];function pe(i){i.window_size=2*i.w_size,Vt(i.head),i.max_lazy_match=Gt[i.level].max_lazy,i.good_match=Gt[i.level].good_length,i.nice_match=Gt[i.level].nice_length,i.max_chain_length=Gt[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=H-1,i.match_available=0,i.ins_h=0}function b(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=B,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new l.Buf16(nt*2),this.dyn_dtree=new l.Buf16((2*j+1)*2),this.bl_tree=new l.Buf16((2*tt+1)*2),Vt(this.dyn_ltree),Vt(this.dyn_dtree),Vt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new l.Buf16(ht+1),this.heap=new l.Buf16(2*$+1),Vt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new l.Buf16(2*$+1),Vt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function M(i){var A;return!i||!i.state?Nt(i,_):(i.total_in=i.total_out=0,i.data_type=D,A=i.state,A.pending=0,A.pending_out=0,A.wrap<0&&(A.wrap=-A.wrap),A.status=A.wrap?kt:dt,i.adler=A.wrap===2?0:1,A.last_flush=c,a._tr_init(A),C)}function V(i){var A=M(i);return A===C&&pe(i.state),A}function W(i,A){return!i||!i.state||i.state.wrap!==2?_:(i.state.gzhead=A,C)}function k(i,A,T,d,x,O){if(!i)return _;var K=1;if(A===P&&(A=6),d<0?(K=0,d=-d):d>15&&(K=2,d-=16),x<1||x>R||T!==B||d<8||d>15||A<0||A>9||O<0||O>E)return Nt(i,_);d===8&&(d=9);var Y=new b;return i.state=Y,Y.strm=i,Y.wrap=K,Y.gzhead=null,Y.w_bits=d,Y.w_size=1<F||A<0)return i?Nt(i,_):_;if(d=i.state,!i.output||!i.input&&i.avail_in!==0||d.status===bt&&A!==v)return Nt(i,i.avail_out===0?I:_);if(d.strm=i,T=d.last_flush,d.last_flush=A,d.status===kt)if(d.wrap===2)i.adler=0,rt(d,31),rt(d,139),rt(d,8),d.gzhead?(rt(d,(d.gzhead.text?1:0)+(d.gzhead.hcrc?2:0)+(d.gzhead.extra?4:0)+(d.gzhead.name?8:0)+(d.gzhead.comment?16:0)),rt(d,d.gzhead.time&255),rt(d,d.gzhead.time>>8&255),rt(d,d.gzhead.time>>16&255),rt(d,d.gzhead.time>>24&255),rt(d,d.level===9?2:d.strategy>=w||d.level<2?4:0),rt(d,d.gzhead.os&255),d.gzhead.extra&&d.gzhead.extra.length&&(rt(d,d.gzhead.extra.length&255),rt(d,d.gzhead.extra.length>>8&255)),d.gzhead.hcrc&&(i.adler=n(i.adler,d.pending_buf,d.pending,0)),d.gzindex=0,d.status=vt):(rt(d,0),rt(d,0),rt(d,0),rt(d,0),rt(d,0),rt(d,d.level===9?2:d.strategy>=w||d.level<2?4:0),rt(d,ut),d.status=dt);else{var K=B+(d.w_bits-8<<4)<<8,Y=-1;d.strategy>=w||d.level<2?Y=0:d.level<6?Y=1:d.level===6?Y=2:Y=3,K|=Y<<6,d.strstart!==0&&(K|=Dt),K+=31-K%31,d.status=dt,jt(d,K),d.strstart!==0&&(jt(d,i.adler>>>16),jt(d,i.adler&65535)),i.adler=1}if(d.status===vt)if(d.gzhead.extra){for(x=d.pending;d.gzindex<(d.gzhead.extra.length&65535)&&!(d.pending===d.pending_buf_size&&(d.gzhead.hcrc&&d.pending>x&&(i.adler=n(i.adler,d.pending_buf,d.pending-x,x)),Mt(i),x=d.pending,d.pending===d.pending_buf_size));)rt(d,d.gzhead.extra[d.gzindex]&255),d.gzindex++;d.gzhead.hcrc&&d.pending>x&&(i.adler=n(i.adler,d.pending_buf,d.pending-x,x)),d.gzindex===d.gzhead.extra.length&&(d.gzindex=0,d.status=at)}else d.status=at;if(d.status===at)if(d.gzhead.name){x=d.pending;do{if(d.pending===d.pending_buf_size&&(d.gzhead.hcrc&&d.pending>x&&(i.adler=n(i.adler,d.pending_buf,d.pending-x,x)),Mt(i),x=d.pending,d.pending===d.pending_buf_size)){O=1;break}d.gzindexx&&(i.adler=n(i.adler,d.pending_buf,d.pending-x,x)),O===0&&(d.gzindex=0,d.status=St)}else d.status=St;if(d.status===St)if(d.gzhead.comment){x=d.pending;do{if(d.pending===d.pending_buf_size&&(d.gzhead.hcrc&&d.pending>x&&(i.adler=n(i.adler,d.pending_buf,d.pending-x,x)),Mt(i),x=d.pending,d.pending===d.pending_buf_size)){O=1;break}d.gzindexx&&(i.adler=n(i.adler,d.pending_buf,d.pending-x,x)),O===0&&(d.status=gt)}else d.status=gt;if(d.status===gt&&(d.gzhead.hcrc?(d.pending+2>d.pending_buf_size&&Mt(i),d.pending+2<=d.pending_buf_size&&(rt(d,i.adler&255),rt(d,i.adler>>8&255),i.adler=0,d.status=dt)):d.status=dt),d.pending!==0){if(Mt(i),i.avail_out===0)return d.last_flush=-1,C}else if(i.avail_in===0&&he(A)<=he(T)&&A!==v)return Nt(i,I);if(d.status===bt&&i.avail_in!==0)return Nt(i,I);if(i.avail_in!==0||d.lookahead!==0||A!==c&&d.status!==bt){var X=d.strategy===w?se(d,A):d.strategy===S?_e(d,A):Gt[d.level].func(d,A);if((X===Ut||X===Bt)&&(d.status=bt),X===ct||X===Ut)return i.avail_out===0&&(d.last_flush=-1),C;if(X===At&&(A===u?a._tr_align(d):A!==F&&(a._tr_stored_block(d,0,0,!1),A===g&&(Vt(d.head),d.lookahead===0&&(d.strstart=0,d.block_start=0,d.insert=0))),Mt(i),i.avail_out===0))return d.last_flush=-1,C}return A!==v?C:d.wrap<=0?o:(d.wrap===2?(rt(d,i.adler&255),rt(d,i.adler>>8&255),rt(d,i.adler>>16&255),rt(d,i.adler>>24&255),rt(d,i.total_in&255),rt(d,i.total_in>>8&255),rt(d,i.total_in>>16&255),rt(d,i.total_in>>24&255)):(jt(d,i.adler>>>16),jt(d,i.adler&65535)),Mt(i),d.wrap>0&&(d.wrap=-d.wrap),d.pending!==0?C:o)}function U(i){var A;return!i||!i.state?_:(A=i.state.status,A!==kt&&A!==vt&&A!==at&&A!==St&&A!==gt&&A!==dt&&A!==bt?Nt(i,_):(i.state=null,A===dt?Nt(i,p):C))}function q(i,A){var T=A.length,d,x,O,K,Y,X,ot,qt;if(!i||!i.state||(d=i.state,K=d.wrap,K===2||K===1&&d.status!==kt||d.lookahead))return _;for(K===1&&(i.adler=h(i.adler,A,T,0)),d.wrap=0,T>=d.w_size&&(K===0&&(Vt(d.head),d.strstart=0,d.block_start=0,d.insert=0),qt=new l.Buf8(d.w_size),l.arraySet(qt,A,T-d.w_size,d.w_size,0),A=qt,T=d.w_size),Y=i.avail_in,X=i.next_in,ot=i.input,i.avail_in=T,i.next_in=0,i.input=A,Zt(d);d.lookahead>=H;){x=d.strstart,O=d.lookahead-(H-1);do d.ins_h=(d.ins_h<>>24,y>>>=R,w-=R,R=B>>>16&255,R===0)j[v++]=B&65535;else if(R&16){Z=B&65535,R&=15,R&&(w>>=R,w-=R),w<15&&(y+=$[u++]<>>24,y>>>=R,w-=R,R=B>>>16&255,R&16){if(Q=B&65535,R&=15,wo){n.msg="invalid distance too far back",c.mode=l;break t}if(y>>>=R,w-=R,R=v-F,Q>R){if(R=Q-R,R>p&&c.sane){n.msg="invalid distance too far back",c.mode=l;break t}if(J=0,G=P,I===0){if(J+=_-R,R2;)j[v++]=G[J++],j[v++]=G[J++],j[v++]=G[J++],Z-=3;Z&&(j[v++]=G[J++],Z>1&&(j[v++]=G[J++]))}else{J=v-Q;do j[v++]=j[J++],j[v++]=j[J++],j[v++]=j[J++],Z-=3;while(Z>2);Z&&(j[v++]=j[J++],Z>1&&(j[v++]=j[J++]))}}else if(R&64){n.msg="invalid distance code",c.mode=l;break t}else{B=E[(B&65535)+(y&(1<>3,u-=Z,w-=Z<<3,y&=(1<>>24&255)+(k>>>8&65280)+((k&65280)<<8)+((k&255)<<24)}function de(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new l.Buf16(320),this.work=new l.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ae(k){var z;return!k||!k.state?I:(z=k.state,k.total_in=k.total_out=z.total=0,k.msg="",z.wrap&&(k.adler=z.wrap&1),z.mode=E,z.last=0,z.havedict=0,z.dmax=32768,z.head=null,z.hold=0,z.bits=0,z.lencode=z.lendyn=new l.Buf32(Vt),z.distcode=z.distdyn=new l.Buf32(Mt),z.sane=1,z.back=-1,o)}function Zt(k){var z;return!k||!k.state?I:(z=k.state,z.wsize=0,z.whave=0,z.wnext=0,ae(k))}function ue(k,z){var f,U;return!k||!k.state||(U=k.state,z<0?(f=0,z=-z):(f=(z>>4)+1,z<48&&(z&=15)),z&&(z<8||z>15))?I:(U.window!==null&&U.wbits!==z&&(U.window=null),U.wrap=f,U.wbits=z,Zt(k))}function ne(k,z){var f,U;return k?(U=new de,k.state=U,U.window=null,f=ue(k,z),f!==o&&(k.state=null),f):I}function Wt(k){return ne(k,rt)}var _e=!0,se,Pt;function Gt(k){if(_e){var z;for(se=new l.Buf32(512),Pt=new l.Buf32(32),z=0;z<144;)k.lens[z++]=8;for(;z<256;)k.lens[z++]=9;for(;z<280;)k.lens[z++]=7;for(;z<288;)k.lens[z++]=8;for(m(u,k.lens,0,288,se,0,k.work,{bits:9}),z=0;z<32;)k.lens[z++]=5;m(g,k.lens,0,32,Pt,0,k.work,{bits:5}),_e=!1}k.lencode=se,k.lenbits=9,k.distcode=Pt,k.distbits=5}function pe(k,z,f,U){var q,i=k.state;return i.window===null&&(i.wsize=1<=i.wsize?(l.arraySet(i.window,z,f-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(q=i.wsize-i.wnext,q>U&&(q=U),l.arraySet(i.window,z,f-U,q,i.wnext),U-=q,U?(l.arraySet(i.window,z,f-U,U,0),i.wnext=U,i.whave=i.wsize):(i.wnext+=q,i.wnext===i.wsize&&(i.wnext=0),i.whave>>8&255,f.check=h(f.check,Ct,2,0),x=0,O=0,f.mode=N;break}if(f.flags=0,f.head&&(f.head.done=!1),!(f.wrap&1)||(((x&255)<<8)+(x>>8))%31){k.msg="incorrect header check",f.mode=ut;break}if((x&15)!==S){k.msg="unknown compression method",f.mode=ut;break}if(x>>>=4,O-=4,yt=(x&15)+8,f.wbits===0)f.wbits=yt;else if(yt>f.wbits){k.msg="invalid window size",f.mode=ut;break}f.dmax=1<>8&1),f.flags&512&&(Ct[0]=x&255,Ct[1]=x>>>8&255,f.check=h(f.check,Ct,2,0)),x=0,O=0,f.mode=D;case D:for(;O<32;){if(T===0)break t;T--,x+=U[i++]<>>8&255,Ct[2]=x>>>16&255,Ct[3]=x>>>24&255,f.check=h(f.check,Ct,4,0)),x=0,O=0,f.mode=B;case B:for(;O<16;){if(T===0)break t;T--,x+=U[i++]<>8),f.flags&512&&(Ct[0]=x&255,Ct[1]=x>>>8&255,f.check=h(f.check,Ct,2,0)),x=0,O=0,f.mode=R;case R:if(f.flags&1024){for(;O<16;){if(T===0)break t;T--,x+=U[i++]<>>8&255,f.check=h(f.check,Ct,2,0)),x=0,O=0}else f.head&&(f.head.extra=null);f.mode=Z;case Z:if(f.flags&1024&&(X=f.length,X>T&&(X=T),X&&(f.head&&(yt=f.head.extra_len-f.length,f.head.extra||(f.head.extra=new Array(f.head.extra_len)),l.arraySet(f.head.extra,U,i,X,yt)),f.flags&512&&(f.check=h(f.check,U,X,i)),T-=X,i+=X,f.length-=X),f.length))break t;f.length=0,f.mode=Q;case Q:if(f.flags&2048){if(T===0)break t;X=0;do yt=U[i+X++],f.head&&yt&&f.length<65536&&(f.head.name+=String.fromCharCode(yt));while(yt&&X>9&1,f.head.done=!0),k.adler=f.check=0,f.mode=tt;break;case $:for(;O<32;){if(T===0)break t;T--,x+=U[i++]<>>=O&7,O-=O&7,f.mode=At;break}for(;O<3;){if(T===0)break t;T--,x+=U[i++]<>>=1,O-=1,x&3){case 0:f.mode=ht;break;case 1:if(Gt(f),f.mode=vt,z===C){x>>>=2,O-=2;break t}break;case 2:f.mode=ft;break;case 3:k.msg="invalid block type",f.mode=ut}x>>>=2,O-=2;break;case ht:for(x>>>=O&7,O-=O&7;O<32;){if(T===0)break t;T--,x+=U[i++]<>>16^65535)){k.msg="invalid stored block lengths",f.mode=ut;break}if(f.length=x&65535,x=0,O=0,f.mode=H,z===C)break t;case H:f.mode=st;case st:if(X=f.length,X){if(X>T&&(X=T),X>d&&(X=d),X===0)break t;l.arraySet(q,U,i,X,A),T-=X,i+=X,d-=X,A+=X,f.length-=X;break}f.mode=tt;break;case ft:for(;O<14;){if(T===0)break t;T--,x+=U[i++]<>>=5,O-=5,f.ndist=(x&31)+1,x>>>=5,O-=5,f.ncode=(x&15)+4,x>>>=4,O-=4,f.nlen>286||f.ndist>30){k.msg="too many length or distance symbols",f.mode=ut;break}f.have=0,f.mode=Dt;case Dt:for(;f.have>>=3,O-=3}for(;f.have<19;)f.lens[Me[f.have++]]=0;if(f.lencode=f.lendyn,f.lenbits=7,te={bits:f.lenbits},Yt=m(c,f.lens,0,19,f.lencode,0,f.work,te),f.lenbits=te.bits,Yt){k.msg="invalid code lengths set",f.mode=ut;break}f.have=0,f.mode=kt;case kt:for(;f.have>>24,xt=mt>>>16&255,Tt=mt&65535,!(lt<=O);){if(T===0)break t;T--,x+=U[i++]<>>=lt,O-=lt,f.lens[f.have++]=Tt;else{if(Tt===16){for(Jt=lt+2;O>>=lt,O-=lt,f.have===0){k.msg="invalid bit length repeat",f.mode=ut;break}yt=f.lens[f.have-1],X=3+(x&3),x>>>=2,O-=2}else if(Tt===17){for(Jt=lt+3;O>>=lt,O-=lt,yt=0,X=3+(x&7),x>>>=3,O-=3}else{for(Jt=lt+7;O>>=lt,O-=lt,yt=0,X=11+(x&127),x>>>=7,O-=7}if(f.have+X>f.nlen+f.ndist){k.msg="invalid bit length repeat",f.mode=ut;break}for(;X--;)f.lens[f.have++]=yt}}if(f.mode===ut)break;if(f.lens[256]===0){k.msg="invalid code -- missing end-of-block",f.mode=ut;break}if(f.lenbits=9,te={bits:f.lenbits},Yt=m(u,f.lens,0,f.nlen,f.lencode,0,f.work,te),f.lenbits=te.bits,Yt){k.msg="invalid literal/lengths set",f.mode=ut;break}if(f.distbits=6,f.distcode=f.distdyn,te={bits:f.distbits},Yt=m(g,f.lens,f.nlen,f.ndist,f.distcode,0,f.work,te),f.distbits=te.bits,Yt){k.msg="invalid distances set",f.mode=ut;break}if(f.mode=vt,z===C)break t;case vt:f.mode=at;case at:if(T>=6&&d>=258){k.next_out=A,k.avail_out=d,k.next_in=i,k.avail_in=T,f.hold=x,f.bits=O,n(k,Y),A=k.next_out,q=k.output,d=k.avail_out,i=k.next_in,U=k.input,T=k.avail_in,x=f.hold,O=f.bits,f.mode===tt&&(f.back=-1);break}for(f.back=0;mt=f.lencode[x&(1<>>24,xt=mt>>>16&255,Tt=mt&65535,!(lt<=O);){if(T===0)break t;T--,x+=U[i++]<>Rt)],lt=mt>>>24,xt=mt>>>16&255,Tt=mt&65535,!(Rt+lt<=O);){if(T===0)break t;T--,x+=U[i++]<>>=Rt,O-=Rt,f.back+=Rt}if(x>>>=lt,O-=lt,f.back+=lt,f.length=Tt,xt===0){f.mode=ct;break}if(xt&32){f.back=-1,f.mode=tt;break}if(xt&64){k.msg="invalid literal/length code",f.mode=ut;break}f.extra=xt&15,f.mode=St;case St:if(f.extra){for(Jt=f.extra;O>>=f.extra,O-=f.extra,f.back+=f.extra}f.was=f.length,f.mode=gt;case gt:for(;mt=f.distcode[x&(1<>>24,xt=mt>>>16&255,Tt=mt&65535,!(lt<=O);){if(T===0)break t;T--,x+=U[i++]<>Rt)],lt=mt>>>24,xt=mt>>>16&255,Tt=mt&65535,!(Rt+lt<=O);){if(T===0)break t;T--,x+=U[i++]<>>=Rt,O-=Rt,f.back+=Rt}if(x>>>=lt,O-=lt,f.back+=lt,xt&64){k.msg="invalid distance code",f.mode=ut;break}f.offset=Tt,f.extra=xt&15,f.mode=dt;case dt:if(f.extra){for(Jt=f.extra;O>>=f.extra,O-=f.extra,f.back+=f.extra}if(f.offset>f.dmax){k.msg="invalid distance too far back",f.mode=ut;break}f.mode=bt;case bt:if(d===0)break t;if(X=Y-d,f.offset>X){if(X=f.offset-X,X>f.whave&&f.sane){k.msg="invalid distance too far back",f.mode=ut;break}X>f.wnext?(X-=f.wnext,ot=f.wsize-X):ot=f.wnext-X,X>f.length&&(X=f.length),qt=f.window}else qt=q,ot=A-f.offset,X=f.length;X>d&&(X=d),d-=X,f.length-=X;do q[A++]=qt[ot++];while(--X);f.length===0&&(f.mode=at);break;case ct:if(d===0)break t;q[A++]=f.length,d--,f.mode=at;break;case At:if(f.wrap){for(;O<32;){if(T===0)break t;T--,x|=U[i++]<=1&&at[Z]===0;Z--);if(Q>Z&&(Q=Z),Z===0)return y[w++]=20971520,y[w++]=20971520,E.bits=1,0;for(R=1;R0&&(_===m||Z!==1))return-1;for(St[1]=0,D=1;Dh||_===u&&j>n)return 1;for(;;){bt=D-G,S[B]vt?(ct=gt[dt+S[B]],At=Dt[kt+S[B]]):(ct=96,At=0),nt=1<>G)+ht]=bt<<24|ct<<16|At|0;while(ht!==0);for(nt=1<>=1;if(nt!==0?(tt&=nt-1,tt+=nt):tt=0,B++,--at[D]===0){if(D===Z)break;D=p[I+S[B]]}if(D>Q&&(tt&st)!==H){for(G===0&&(G=Q),ft+=R,J=D-G,$=1<h||_===u&&j>n)return 1;H=tt&st,y[H]=Q<<24|J<<16|ft-w|0}}return tt!==0&&(y[ft+tt]=D-G<<24|4194304|0),E.bits=Q,0}},{"../utils/common":41}],51:[function(e,r,s){r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,r,s){var l=e("../utils/common"),a=4,h=0,n=1,m=2;function c(b){for(var M=b.length;--M>=0;)b[M]=0}var u=0,g=1,v=2,F=3,C=258,o=29,_=256,p=_+1+o,I=30,P=19,y=2*p+1,w=15,S=16,E=7,N=256,D=16,B=17,R=18,Z=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Q=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],J=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],G=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],$=512,j=new Array((p+2)*2);c(j);var tt=new Array(I*2);c(tt);var nt=new Array($);c(nt);var ht=new Array(C-F+1);c(ht);var H=new Array(o);c(H);var st=new Array(I);c(st);function ft(b,M,V,W,k){this.static_tree=b,this.extra_bits=M,this.extra_base=V,this.elems=W,this.max_length=k,this.has_stree=b&&b.length}var Dt,kt,vt;function at(b,M){this.dyn_tree=b,this.max_code=0,this.stat_desc=M}function St(b){return b<256?nt[b]:nt[256+(b>>>7)]}function gt(b,M){b.pending_buf[b.pending++]=M&255,b.pending_buf[b.pending++]=M>>>8&255}function dt(b,M,V){b.bi_valid>S-V?(b.bi_buf|=M<>S-b.bi_valid,b.bi_valid+=V-S):(b.bi_buf|=M<>>=1,V<<=1;while(--M>0);return V>>>1}function At(b){b.bi_valid===16?(gt(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):b.bi_valid>=8&&(b.pending_buf[b.pending++]=b.bi_buf&255,b.bi_buf>>=8,b.bi_valid-=8)}function Ut(b,M){var V=M.dyn_tree,W=M.max_code,k=M.stat_desc.static_tree,z=M.stat_desc.has_stree,f=M.stat_desc.extra_bits,U=M.stat_desc.extra_base,q=M.stat_desc.max_length,i,A,T,d,x,O,K=0;for(d=0;d<=w;d++)b.bl_count[d]=0;for(V[b.heap[b.heap_max]*2+1]=0,i=b.heap_max+1;iq&&(d=q,K++),V[A*2+1]=d,!(A>W)&&(b.bl_count[d]++,x=0,A>=U&&(x=f[A-U]),O=V[A*2],b.opt_len+=O*(d+x),z&&(b.static_len+=O*(k[A*2+1]+x)));if(K!==0){do{for(d=q-1;b.bl_count[d]===0;)d--;b.bl_count[d]--,b.bl_count[d+1]+=2,b.bl_count[q]--,K-=2}while(K>0);for(d=q;d!==0;d--)for(A=b.bl_count[d];A!==0;)T=b.heap[--i],!(T>W)&&(V[T*2+1]!==d&&(b.opt_len+=(d-V[T*2+1])*V[T*2],V[T*2+1]=d),A--)}}function Bt(b,M,V){var W=new Array(w+1),k=0,z,f;for(z=1;z<=w;z++)W[z]=k=k+V[z-1]<<1;for(f=0;f<=M;f++){var U=b[f*2+1];U!==0&&(b[f*2]=ct(W[U]++,U))}}function ut(){var b,M,V,W,k,z=new Array(w+1);for(V=0,W=0;W>=7;W8?gt(b,b.bi_buf):b.bi_valid>0&&(b.pending_buf[b.pending++]=b.bi_buf),b.bi_buf=0,b.bi_valid=0}function Vt(b,M,V,W){he(b),gt(b,V),gt(b,~V),l.arraySet(b.pending_buf,b.window,M,V,b.pending),b.pending+=V}function Mt(b,M,V,W){var k=M*2,z=V*2;return b[k]>1;f>=1;f--)_t(b,V,f);i=z;do f=b.heap[1],b.heap[1]=b.heap[b.heap_len--],_t(b,V,1),U=b.heap[1],b.heap[--b.heap_max]=f,b.heap[--b.heap_max]=U,V[i*2]=V[f*2]+V[U*2],b.depth[i]=(b.depth[f]>=b.depth[U]?b.depth[f]:b.depth[U])+1,V[f*2+1]=V[U*2+1]=i,b.heap[1]=i++,_t(b,V,1);while(b.heap_len>=2);b.heap[--b.heap_max]=b.heap[1],Ut(b,M),Bt(V,q,b.bl_count)}function de(b,M,V){var W,k=-1,z,f=M[0*2+1],U=0,q=7,i=4;for(f===0&&(q=138,i=3),M[(V+1)*2+1]=65535,W=0;W<=V;W++)z=f,f=M[(W+1)*2+1],!(++U=3&&b.bl_tree[G[M]*2+1]===0;M--);return b.opt_len+=3*(M+1)+5+5+4,M}function ue(b,M,V,W){var k;for(dt(b,M-257,5),dt(b,V-1,5),dt(b,W-4,4),k=0;k>>=1)if(M&1&&b.dyn_ltree[V*2]!==0)return h;if(b.dyn_ltree[18]!==0||b.dyn_ltree[20]!==0||b.dyn_ltree[26]!==0)return n;for(V=32;V<_;V++)if(b.dyn_ltree[V*2]!==0)return n;return h}var Wt=!1;function _e(b){Wt||(ut(),Wt=!0),b.l_desc=new at(b.dyn_ltree,Dt),b.d_desc=new at(b.dyn_dtree,kt),b.bl_desc=new at(b.bl_tree,vt),b.bi_buf=0,b.bi_valid=0,Nt(b)}function se(b,M,V,W){dt(b,(u<<1)+(W?1:0),3),Vt(b,M,V)}function Pt(b){dt(b,g<<1,3),bt(b,N,j),At(b)}function Gt(b,M,V,W){var k,z,f=0;b.level>0?(b.strm.data_type===m&&(b.strm.data_type=ne(b)),jt(b,b.l_desc),jt(b,b.d_desc),f=Zt(b),k=b.opt_len+3+7>>>3,z=b.static_len+3+7>>>3,z<=k&&(k=z)):k=z=V+5,V+4<=k&&M!==-1?se(b,M,V,W):b.strategy===a||z===k?(dt(b,(g<<1)+(W?1:0),3),rt(b,j,tt)):(dt(b,(v<<1)+(W?1:0),3),ue(b,b.l_desc.max_code+1,b.d_desc.max_code+1,f+1),rt(b,b.dyn_ltree,b.dyn_dtree)),Nt(b),W&&he(b)}function pe(b,M,V){return b.pending_buf[b.d_buf+b.last_lit*2]=M>>>8&255,b.pending_buf[b.d_buf+b.last_lit*2+1]=M&255,b.pending_buf[b.l_buf+b.last_lit]=V&255,b.last_lit++,M===0?b.dyn_ltree[V*2]++:(b.matches++,M--,b.dyn_ltree[(ht[V]+_+1)*2]++,b.dyn_dtree[St(M)*2]++),b.last_lit===b.lit_bufsize-1}s._tr_init=_e,s._tr_stored_block=se,s._tr_flush_block=Gt,s._tr_tally=pe,s._tr_align=Pt},{"../utils/common":41}],53:[function(e,r,s){function l(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}r.exports=l},{}],54:[function(e,r,s){(function(l){(function(a,h){if(a.setImmediate)return;var n=1,m={},c=!1,u=a.document,g;function v(E){typeof E!="function"&&(E=new Function(""+E));for(var N=new Array(arguments.length-1),D=0;D"u"?typeof l>"u"?this:l:self)}).call(this,typeof Ie<"u"?Ie:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Re);var Ke=Re.exports,Ge=He(Ke);class Je{load(t,e){fetch(t).then(function(r){return r.status===200||r.status===0?Promise.resolve(r.blob()):Promise.reject(new Error(r.statusText))}).then(Ge.loadAsync).then(async function(r){let s=null;const l={};for(let h in r.files){r.files[h];const n=h.split(".").pop();if(n==="ssfb"){if(s!==null){e(null,null,null,new Error("already exist ssfb file"));return}s=h}else if(n==="png"){const m=h.split(".").slice(0,-1).join(".");l[m]=await r.file(h).async("uint8array")}}let a=await r.file(s).async("uint8array");e(s,a,l,null)},function(s){e(null,null,null,s)})}}class $e{static createAnimePackMap(t){const e=t.fbObj.animePacksLength(),r={};for(let s=0;s{e.setupForLoadComplete(r)})}loadSspkg(t){const e=this;new Je().load(t,(s,l,a,h)=>{if(h!==null)return;let n=new Ne(s,l,a,()=>{e.setupForLoadComplete(n)})})}setupForLoadComplete(t){this.projectData=t,this.animePackMap=$e.createAnimePackMap(this.projectData),this.onComplete!==null&&this.onComplete()}loadAnimation(t,e){let r=!1;this.textureContainer==null&&(r=!0,this.textureContainer=new We(this));const s=this.animePackMap[t],l=s.animePack,h=s.animationMap[e];this.currentAnimation=h,this.currentAnimePack=l,this.textureContainer.Setup(t,e);const n=h.labelDataLength();for(let m=0;m>2,E=(o&3)<<4|_>>4,F=x>1?(_&15)<<2|y>>6:64,l=x>2?y&63:64,m.push(c.charAt(v)+c.charAt(E)+c.charAt(F)+c.charAt(l));return m.join("")},s.decode=function(n){var m,o,_,y,v,E,F,l=0,d=0,b="data:";if(n.substr(0,b.length)===b)throw new Error("Invalid base64 input, it looks like a data url.");n=n.replace(/[^A-Za-z0-9+/=]/g,"");var x=n.length*3/4;if(n.charAt(n.length-1)===c.charAt(64)&&x--,n.charAt(n.length-2)===c.charAt(64)&&x--,x%1!==0)throw new Error("Invalid base64 input, bad content length.");var P;for(a.uint8array?P=new Uint8Array(x|0):P=new Array(x|0);l>4,o=(v&15)<<4|E>>2,_=(E&3)<<6|F,P[d++]=m,E!==64&&(P[d++]=o),F!==64&&(P[d++]=_);return P}},{"./support":30,"./utils":32}],2:[function(e,r,s){var f=e("./external"),a=e("./stream/DataWorker"),c=e("./stream/Crc32Probe"),n=e("./stream/DataLengthProbe");function m(o,_,y,v,E){this.compressedSize=o,this.uncompressedSize=_,this.crc32=y,this.compression=v,this.compressedContent=E}m.prototype={getContentWorker:function(){var o=new a(f.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new n("data_length")),_=this;return o.on("end",function(){if(this.streamInfo.data_length!==_.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),o},getCompressedWorker:function(){return new a(f.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},m.createWorkerFrom=function(o,_,y){return o.pipe(new c).pipe(new n("uncompressedSize")).pipe(_.compressWorker(y)).pipe(new n("compressedSize")).withStreamInfo("compression",_)},r.exports=m},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,r,s){var f=e("./stream/GenericWorker");s.STORE={magic:"\0\0",compressWorker:function(){return new f("STORE compression")},uncompressWorker:function(){return new f("STORE decompression")}},s.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,r,s){var f=e("./utils");function a(){for(var o,_=[],y=0;y<256;y++){o=y;for(var v=0;v<8;v++)o=o&1?3988292384^o>>>1:o>>>1;_[y]=o}return _}var c=a();function n(o,_,y,v){var E=c,F=v+y;o=o^-1;for(var l=v;l>>8^E[(o^_[l])&255];return o^-1}function m(o,_,y,v){var E=c,F=v+y;o=o^-1;for(var l=v;l>>8^E[(o^_.charCodeAt(l))&255];return o^-1}r.exports=function(_,y){if(typeof _>"u"||!_.length)return 0;var v=f.getTypeOf(_)!=="string";return v?n(y|0,_,_.length,0):m(y|0,_,_.length,0)}},{"./utils":32}],5:[function(e,r,s){s.base64=!1,s.binary=!1,s.dir=!1,s.createFolders=!0,s.date=null,s.compression=null,s.compressionOptions=null,s.comment=null,s.unixPermissions=null,s.dosPermissions=null},{}],6:[function(e,r,s){var f=null;typeof Promise<"u"?f=Promise:f=e("lie"),r.exports={Promise:f}},{lie:37}],7:[function(e,r,s){var f=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",a=e("pako"),c=e("./utils"),n=e("./stream/GenericWorker"),m=f?"uint8array":"array";s.magic="\b\0";function o(_,y){n.call(this,"FlateWorker/"+_),this._pako=null,this._pakoAction=_,this._pakoOptions=y,this.meta={}}c.inherits(o,n),o.prototype.processChunk=function(_){this.meta=_.meta,this._pako===null&&this._createPako(),this._pako.push(c.transformTo(m,_.data),!1)},o.prototype.flush=function(){n.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},o.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this._pako=null},o.prototype._createPako=function(){this._pako=new a[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var _=this;this._pako.onData=function(y){_.push({data:y,meta:_.meta})}},s.compressWorker=function(_){return new o("Deflate",_)},s.uncompressWorker=function(){return new o("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,r,s){var f=e("../utils"),a=e("../stream/GenericWorker"),c=e("../utf8"),n=e("../crc32"),m=e("../signature"),o=function(d,b){var x="",P;for(P=0;P>>8;return x},_=function(d,b){var x=d;return d||(x=b?16893:33204),(x&65535)<<16},y=function(d){return(d||0)&63},v=function(d,b,x,P,g,I){var C=d.file,S=d.compression,N=I!==c.utf8encode,D=f.transformTo("string",I(C.name)),V=f.transformTo("string",c.utf8encode(C.name)),R=C.comment,j=f.transformTo("string",I(R)),$=f.transformTo("string",c.utf8encode(R)),G=V.length!==C.name.length,et=$.length!==R.length,W,Z,Q="",at="",ht="",K=C.dir,ot=C.date,nt={crc32:0,compressedSize:0,uncompressedSize:0};(!b||x)&&(nt.crc32=d.crc32,nt.compressedSize=d.compressedSize,nt.uncompressedSize=d.uncompressedSize);var kt=0;b&&(kt|=8),!N&&(G||et)&&(kt|=2048);var Ft=0,vt=0;K&&(Ft|=16),g==="UNIX"?(vt=798,Ft|=_(C.unixPermissions,K)):(vt=20,Ft|=y(C.dosPermissions)),W=ot.getUTCHours(),W=W<<6,W=W|ot.getUTCMinutes(),W=W<<5,W=W|ot.getUTCSeconds()/2,Z=ot.getUTCFullYear()-1980,Z=Z<<4,Z=Z|ot.getUTCMonth()+1,Z=Z<<5,Z=Z|ot.getUTCDate(),G&&(at=o(1,1)+o(n(D),4)+V,Q+="up"+o(at.length,2)+at),et&&(ht=o(1,1)+o(n(j),4)+$,Q+="uc"+o(ht.length,2)+ht);var st="";st+=` +\0`,st+=o(kt,2),st+=S.magic,st+=o(W,2),st+=o(Z,2),st+=o(nt.crc32,4),st+=o(nt.compressedSize,4),st+=o(nt.uncompressedSize,4),st+=o(D.length,2),st+=o(Q.length,2);var Ct=m.LOCAL_FILE_HEADER+st+D+Q,gt=m.CENTRAL_FILE_HEADER+o(vt,2)+st+o(j.length,2)+"\0\0\0\0"+o(Ft,4)+o(P,4)+D+Q+j;return{fileRecord:Ct,dirRecord:gt}},E=function(d,b,x,P,g){var I="",C=f.transformTo("string",g(P));return I=m.CENTRAL_DIRECTORY_END+"\0\0\0\0"+o(d,2)+o(d,2)+o(b,4)+o(x,4)+o(C.length,2)+C,I},F=function(d){var b="";return b=m.DATA_DESCRIPTOR+o(d.crc32,4)+o(d.compressedSize,4)+o(d.uncompressedSize,4),b};function l(d,b,x,P){a.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=b,this.zipPlatform=x,this.encodeFileName=P,this.streamFiles=d,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}f.inherits(l,a),l.prototype.push=function(d){var b=d.meta.percent||0,x=this.entriesCount,P=this._sources.length;this.accumulate?this.contentBuffer.push(d):(this.bytesWritten+=d.data.length,a.prototype.push.call(this,{data:d.data,meta:{currentFile:this.currentFile,percent:x?(b+100*(x-P-1))/x:100}}))},l.prototype.openedSource=function(d){this.currentSourceOffset=this.bytesWritten,this.currentFile=d.file.name;var b=this.streamFiles&&!d.file.dir;if(b){var x=v(d,b,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:x.fileRecord,meta:{percent:0}})}else this.accumulate=!0},l.prototype.closedSource=function(d){this.accumulate=!1;var b=this.streamFiles&&!d.file.dir,x=v(d,b,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(x.dirRecord),b)this.push({data:F(d),meta:{percent:100}});else for(this.push({data:x.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},l.prototype.flush=function(){for(var d=this.bytesWritten,b=0;b"u")&&(D.binary=!V);var R=I instanceof o&&I.uncompressedSize===0;(R||D.dir||!I||I.length===0)&&(D.base64=!1,D.binary=!0,I="",D.compression="STORE",S="string");var j=null;I instanceof o||I instanceof c?j=I:v.isNode&&v.isStream(I)?j=new E(g,I):j=a.prepareContent(g,I,D.binary,D.optimizedBinaryString,D.base64);var $=new _(g,j,D);this.files[g]=$},l=function(g){g.slice(-1)==="/"&&(g=g.substring(0,g.length-1));var I=g.lastIndexOf("/");return I>0?g.substring(0,I):""},d=function(g){return g.slice(-1)!=="/"&&(g+="/"),g},b=function(g,I){return I=typeof I<"u"?I:m.createFolders,g=d(g),this.files[g]||F.call(this,g,null,{dir:!0,createFolders:I}),this.files[g]};function x(g){return Object.prototype.toString.call(g)==="[object RegExp]"}var P={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(g){var I,C,S;for(I in this.files)S=this.files[I],C=I.slice(this.root.length,I.length),C&&I.slice(0,this.root.length)===this.root&&g(C,S)},filter:function(g){var I=[];return this.forEach(function(C,S){g(C,S)&&I.push(S)}),I},file:function(g,I,C){if(arguments.length===1)if(x(g)){var S=g;return this.filter(function(D,V){return!V.dir&&S.test(D)})}else{var N=this.files[this.root+g];return N&&!N.dir?N:null}else g=this.root+g,F.call(this,g,I,C);return this},folder:function(g){if(!g)return this;if(x(g))return this.filter(function(N,D){return D.dir&&g.test(N)});var I=this.root+g,C=b.call(this,I),S=this.clone();return S.root=C.name,S},remove:function(g){g=this.root+g;var I=this.files[g];if(I||(g.slice(-1)!=="/"&&(g+="/"),I=this.files[g]),I&&!I.dir)delete this.files[g];else for(var C=this.filter(function(N,D){return D.name.slice(0,g.length)===g}),S=0;S=0;--v)if(this.data[v]===m&&this.data[v+1]===o&&this.data[v+2]===_&&this.data[v+3]===y)return v-this.zero;return-1},c.prototype.readAndCheckSignature=function(n){var m=n.charCodeAt(0),o=n.charCodeAt(1),_=n.charCodeAt(2),y=n.charCodeAt(3),v=this.readData(4);return m===v[0]&&o===v[1]&&_===v[2]&&y===v[3]},c.prototype.readData=function(n){if(this.checkOffset(n),n===0)return[];var m=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=c},{"../utils":32,"./DataReader":18}],18:[function(e,r,s){var f=e("../utils");function a(c){this.data=c,this.length=c.length,this.index=0,this.zero=0}a.prototype={checkOffset:function(c){this.checkIndex(this.index+c)},checkIndex:function(c){if(this.length=this.index;m--)n=(n<<8)+this.byteAt(m);return this.index+=c,n},readString:function(c){return f.transformTo("string",this.readData(c))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var c=this.readInt(4);return new Date(Date.UTC((c>>25&127)+1980,(c>>21&15)-1,c>>16&31,c>>11&31,c>>5&63,(c&31)<<1))}},r.exports=a},{"../utils":32}],19:[function(e,r,s){var f=e("./Uint8ArrayReader"),a=e("../utils");function c(n){f.call(this,n)}a.inherits(c,f),c.prototype.readData=function(n){this.checkOffset(n);var m=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=c},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,r,s){var f=e("./DataReader"),a=e("../utils");function c(n){f.call(this,n)}a.inherits(c,f),c.prototype.byteAt=function(n){return this.data.charCodeAt(this.zero+n)},c.prototype.lastIndexOfSignature=function(n){return this.data.lastIndexOf(n)-this.zero},c.prototype.readAndCheckSignature=function(n){var m=this.readData(4);return n===m},c.prototype.readData=function(n){this.checkOffset(n);var m=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=c},{"../utils":32,"./DataReader":18}],21:[function(e,r,s){var f=e("./ArrayReader"),a=e("../utils");function c(n){f.call(this,n)}a.inherits(c,f),c.prototype.readData=function(n){if(this.checkOffset(n),n===0)return new Uint8Array(0);var m=this.data.subarray(this.zero+this.index,this.zero+this.index+n);return this.index+=n,m},r.exports=c},{"../utils":32,"./ArrayReader":17}],22:[function(e,r,s){var f=e("../utils"),a=e("../support"),c=e("./ArrayReader"),n=e("./StringReader"),m=e("./NodeBufferReader"),o=e("./Uint8ArrayReader");r.exports=function(_){var y=f.getTypeOf(_);return f.checkSupport(y),y==="string"&&!a.uint8array?new n(_):y==="nodebuffer"?new m(_):a.uint8array?new o(f.transformTo("uint8array",_)):new c(f.transformTo("array",_))}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,r,s){s.LOCAL_FILE_HEADER="PK",s.CENTRAL_FILE_HEADER="PK",s.CENTRAL_DIRECTORY_END="PK",s.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",s.ZIP64_CENTRAL_DIRECTORY_END="PK",s.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,r,s){var f=e("./GenericWorker"),a=e("../utils");function c(n){f.call(this,"ConvertWorker to "+n),this.destType=n}a.inherits(c,f),c.prototype.processChunk=function(n){this.push({data:a.transformTo(this.destType,n.data),meta:n.meta})},r.exports=c},{"../utils":32,"./GenericWorker":28}],25:[function(e,r,s){var f=e("./GenericWorker"),a=e("../crc32"),c=e("../utils");function n(){f.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}c.inherits(n,f),n.prototype.processChunk=function(m){this.streamInfo.crc32=a(m.data,this.streamInfo.crc32||0),this.push(m)},r.exports=n},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,r,s){var f=e("../utils"),a=e("./GenericWorker");function c(n){a.call(this,"DataLengthProbe for "+n),this.propName=n,this.withStreamInfo(n,0)}f.inherits(c,a),c.prototype.processChunk=function(n){if(n){var m=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=m+n.data.length}a.prototype.processChunk.call(this,n)},r.exports=c},{"../utils":32,"./GenericWorker":28}],27:[function(e,r,s){var f=e("../utils"),a=e("./GenericWorker"),c=16*1024;function n(m){a.call(this,"DataWorker");var o=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,m.then(function(_){o.dataIsReady=!0,o.data=_,o.max=_&&_.length||0,o.type=f.getTypeOf(_),o.isPaused||o._tickAndRepeat()},function(_){o.error(_)})}f.inherits(n,a),n.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this.data=null},n.prototype.resume=function(){return a.prototype.resume.call(this)?(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,f.delay(this._tickAndRepeat,[],this)),!0):!1},n.prototype._tickAndRepeat=function(){this._tickScheduled=!1,!(this.isPaused||this.isFinished)&&(this._tick(),this.isFinished||(f.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},n.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var m=c,o=null,_=Math.min(this.max,this.index+m);if(this.index>=this.max)return this.end();switch(this.type){case"string":o=this.data.substring(this.index,_);break;case"uint8array":o=this.data.subarray(this.index,_);break;case"array":case"nodebuffer":o=this.data.slice(this.index,_);break}return this.index=_,this.push({data:o,meta:{percent:this.max?this.index/this.max*100:0}})},r.exports=n},{"../utils":32,"./GenericWorker":28}],28:[function(e,r,s){function f(a){this.name=a||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}f.prototype={push:function(a){this.emit("data",a)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(a){this.emit("error",a)}return!0},error:function(a){return this.isFinished?!1:(this.isPaused?this.generatedError=a:(this.isFinished=!0,this.emit("error",a),this.previous&&this.previous.error(a),this.cleanUp()),!0)},on:function(a,c){return this._listeners[a].push(c),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(a,c){if(this._listeners[a])for(var n=0;n "+a:a}},r.exports=f},{}],29:[function(e,r,s){var f=e("../utils"),a=e("./ConvertWorker"),c=e("./GenericWorker"),n=e("../base64"),m=e("../support"),o=e("../external"),_=null;if(m.nodestream)try{_=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function y(l,d,b){switch(l){case"blob":return f.newBlob(f.transformTo("arraybuffer",d),b);case"base64":return n.encode(d);default:return f.transformTo(l,d)}}function v(l,d){var b,x=0,P=null,g=0;for(b=0;b"u")s.blob=!1;else{var f=new ArrayBuffer(0);try{s.blob=new Blob([f],{type:"application/zip"}).size===0}catch{try{var a=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,c=new a;c.append(f),s.blob=c.getBlob("application/zip").size===0}catch{s.blob=!1}}}try{s.nodestream=!!e("readable-stream").Readable}catch{s.nodestream=!1}},{"readable-stream":16}],31:[function(e,r,s){for(var f=e("./utils"),a=e("./support"),c=e("./nodejsUtils"),n=e("./stream/GenericWorker"),m=new Array(256),o=0;o<256;o++)m[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;m[254]=m[254]=1;var _=function(l){var d,b,x,P,g,I=l.length,C=0;for(P=0;P>>6,d[g++]=128|b&63):b<65536?(d[g++]=224|b>>>12,d[g++]=128|b>>>6&63,d[g++]=128|b&63):(d[g++]=240|b>>>18,d[g++]=128|b>>>12&63,d[g++]=128|b>>>6&63,d[g++]=128|b&63);return d},y=function(l,d){var b;for(d=d||l.length,d>l.length&&(d=l.length),b=d-1;b>=0&&(l[b]&192)===128;)b--;return b<0||b===0?d:b+m[l[b]]>d?b:d},v=function(l){var d,b,x,P,g=l.length,I=new Array(g*2);for(b=0,d=0;d4){I[b++]=65533,d+=P-1;continue}for(x&=P===2?31:P===3?15:7;P>1&&d1){I[b++]=65533;continue}x<65536?I[b++]=x:(x-=65536,I[b++]=55296|x>>10&1023,I[b++]=56320|x&1023)}return I.length!==b&&(I.subarray?I=I.subarray(0,b):I.length=b),f.applyFromCharCode(I)};s.utf8encode=function(d){return a.nodebuffer?c.newBufferFrom(d,"utf-8"):_(d)},s.utf8decode=function(d){return a.nodebuffer?f.transformTo("nodebuffer",d).toString("utf-8"):(d=f.transformTo(a.uint8array?"uint8array":"array",d),v(d))};function E(){n.call(this,"utf-8 decode"),this.leftOver=null}f.inherits(E,n),E.prototype.processChunk=function(l){var d=f.transformTo(a.uint8array?"uint8array":"array",l.data);if(this.leftOver&&this.leftOver.length){if(a.uint8array){var b=d;d=new Uint8Array(b.length+this.leftOver.length),d.set(this.leftOver,0),d.set(b,this.leftOver.length)}else d=this.leftOver.concat(d);this.leftOver=null}var x=y(d),P=d;x!==d.length&&(a.uint8array?(P=d.subarray(0,x),this.leftOver=d.subarray(x,d.length)):(P=d.slice(0,x),this.leftOver=d.slice(x,d.length))),this.push({data:s.utf8decode(P),meta:l.meta})},E.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=E;function F(){n.call(this,"utf-8 encode")}f.inherits(F,n),F.prototype.processChunk=function(l){this.push({data:s.utf8encode(l.data),meta:l.meta})},s.Utf8EncodeWorker=F},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,r,s){var f=e("./support"),a=e("./base64"),c=e("./nodejsUtils"),n=e("./external");e("setimmediate");function m(l){var d=null;return f.uint8array?d=new Uint8Array(l.length):d=new Array(l.length),_(l,d)}s.newBlob=function(l,d){s.checkSupport("blob");try{return new Blob([l],{type:d})}catch{try{var b=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,x=new b;return x.append(l),x.getBlob(d)}catch{throw new Error("Bug : can't construct the Blob.")}}};function o(l){return l}function _(l,d){for(var b=0;b1;)try{return y.stringifyByChunk(l,b,d)}catch{d=Math.floor(d/2)}return y.stringifyByChar(l)}s.applyFromCharCode=v;function E(l,d){for(var b=0;b"u"&&(l[b]=arguments[d][b]);return l},s.prepareContent=function(l,d,b,x,P){var g=n.Promise.resolve(d).then(function(I){var C=f.blob&&(I instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(I))!==-1);return C&&typeof FileReader<"u"?new n.Promise(function(S,N){var D=new FileReader;D.onload=function(V){S(V.target.result)},D.onerror=function(V){N(V.target.error)},D.readAsArrayBuffer(I)}):I});return g.then(function(I){var C=s.getTypeOf(I);return C?(C==="arraybuffer"?I=s.transformTo("uint8array",I):C==="string"&&(P?I=a.decode(I):b&&x!==!0&&(I=m(I))),I):n.Promise.reject(new Error("Can't read the data of '"+l+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,r,s){var f=e("./reader/readerFor"),a=e("./utils"),c=e("./signature"),n=e("./zipEntry"),m=e("./support");function o(_){this.files=[],this.loadOptions=_}o.prototype={checkSignature:function(_){if(!this.reader.readAndCheckSignature(_)){this.reader.index-=4;var y=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+a.pretty(y)+", expected "+a.pretty(_)+")")}},isSignature:function(_,y){var v=this.reader.index;this.reader.setIndex(_);var E=this.reader.readString(4),F=E===y;return this.reader.setIndex(v),F},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var _=this.reader.readData(this.zipCommentLength),y=m.uint8array?"uint8array":"array",v=a.transformTo(y,_);this.zipComment=this.loadOptions.decodeFileName(v)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var _=this.zip64EndOfCentralSize-44,y=0,v,E,F;y<_;)v=this.reader.readInt(2),E=this.reader.readInt(4),F=this.reader.readData(E),this.zip64ExtensibleData[v]={id:v,length:E,value:F}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var _,y;for(_=0;_0)this.isSignature(v,c.CENTRAL_FILE_HEADER)||(this.reader.zero=F);else if(F<0)throw new Error("Corrupted zip: missing "+Math.abs(F)+" bytes.")},prepareReader:function(_){this.reader=f(_)},load:function(_){this.prepareReader(_),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},r.exports=o},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,r,s){var f=e("./reader/readerFor"),a=e("./utils"),c=e("./compressedObject"),n=e("./crc32"),m=e("./utf8"),o=e("./compressions"),_=e("./support"),y=0,v=3,E=function(l){for(var d in o)if(Object.prototype.hasOwnProperty.call(o,d)&&o[d].magic===l)return o[d];return null};function F(l,d){this.options=l,this.loadOptions=d}F.prototype={isEncrypted:function(){return(this.bitFlag&1)===1},useUTF8:function(){return(this.bitFlag&2048)===2048},readLocalPart:function(l){var d,b;if(l.skip(22),this.fileNameLength=l.readInt(2),b=l.readInt(2),this.fileName=l.readData(this.fileNameLength),l.skip(b),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(d=E(this.compressionMethod),d===null)throw new Error("Corrupted zip : compression "+a.pretty(this.compressionMethod)+" unknown (inner file : "+a.transformTo("string",this.fileName)+")");this.decompressed=new c(this.compressedSize,this.uncompressedSize,this.crc32,d,l.readData(this.compressedSize))},readCentralPart:function(l){this.versionMadeBy=l.readInt(2),l.skip(2),this.bitFlag=l.readInt(2),this.compressionMethod=l.readString(2),this.date=l.readDate(),this.crc32=l.readInt(4),this.compressedSize=l.readInt(4),this.uncompressedSize=l.readInt(4);var d=l.readInt(2);if(this.extraFieldsLength=l.readInt(2),this.fileCommentLength=l.readInt(2),this.diskNumberStart=l.readInt(2),this.internalFileAttributes=l.readInt(2),this.externalFileAttributes=l.readInt(4),this.localHeaderOffset=l.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");l.skip(d),this.readExtraFields(l),this.parseZIP64ExtraField(l),this.fileComment=l.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var l=this.versionMadeBy>>8;this.dir=!!(this.externalFileAttributes&16),l===y&&(this.dosPermissions=this.externalFileAttributes&63),l===v&&(this.unixPermissions=this.externalFileAttributes>>16&65535),!this.dir&&this.fileNameStr.slice(-1)==="/"&&(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var l=f(this.extraFields[1].value);this.uncompressedSize===a.MAX_VALUE_32BITS&&(this.uncompressedSize=l.readInt(8)),this.compressedSize===a.MAX_VALUE_32BITS&&(this.compressedSize=l.readInt(8)),this.localHeaderOffset===a.MAX_VALUE_32BITS&&(this.localHeaderOffset=l.readInt(8)),this.diskNumberStart===a.MAX_VALUE_32BITS&&(this.diskNumberStart=l.readInt(4))}},readExtraFields:function(l){var d=l.index+this.extraFieldsLength,b,x,P;for(this.extraFields||(this.extraFields={});l.index+40?S.windowBits=-S.windowBits:S.gzip&&S.windowBits>0&&S.windowBits<16&&(S.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m,this.strm.avail_out=0;var N=f.deflateInit2(this.strm,S.level,S.method,S.windowBits,S.memLevel,S.strategy);if(N!==v)throw new Error(n[N]);if(S.header&&f.deflateSetHeader(this.strm,S.header),S.dictionary){var D;if(typeof S.dictionary=="string"?D=c.string2buf(S.dictionary):o.call(S.dictionary)==="[object ArrayBuffer]"?D=new Uint8Array(S.dictionary):D=S.dictionary,N=f.deflateSetDictionary(this.strm,D),N!==v)throw new Error(n[N]);this._dict_set=!0}}x.prototype.push=function(C,S){var N=this.strm,D=this.options.chunkSize,V,R;if(this.ended)return!1;R=S===~~S?S:S===!0?y:_,typeof C=="string"?N.input=c.string2buf(C):o.call(C)==="[object ArrayBuffer]"?N.input=new Uint8Array(C):N.input=C,N.next_in=0,N.avail_in=N.input.length;do{if(N.avail_out===0&&(N.output=new a.Buf8(D),N.next_out=0,N.avail_out=D),V=f.deflate(N,R),V!==E&&V!==v)return this.onEnd(V),this.ended=!0,!1;(N.avail_out===0||N.avail_in===0&&(R===y||R===F))&&(this.options.to==="string"?this.onData(c.buf2binstring(a.shrinkBuf(N.output,N.next_out))):this.onData(a.shrinkBuf(N.output,N.next_out)))}while((N.avail_in>0||N.avail_out===0)&&V!==E);return R===y?(V=f.deflateEnd(this.strm),this.onEnd(V),this.ended=!0,V===v):(R===F&&(this.onEnd(v),N.avail_out=0),!0)},x.prototype.onData=function(C){this.chunks.push(C)},x.prototype.onEnd=function(C){C===v&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=C,this.msg=this.strm.msg};function P(C,S){var N=new x(S);if(N.push(C,!0),N.err)throw N.msg||n[N.err];return N.result}function g(C,S){return S=S||{},S.raw=!0,P(C,S)}function I(C,S){return S=S||{},S.gzip=!0,P(C,S)}s.Deflate=x,s.deflate=P,s.deflateRaw=g,s.gzip=I},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,r,s){var f=e("./zlib/inflate"),a=e("./utils/common"),c=e("./utils/strings"),n=e("./zlib/constants"),m=e("./zlib/messages"),o=e("./zlib/zstream"),_=e("./zlib/gzheader"),y=Object.prototype.toString;function v(l){if(!(this instanceof v))return new v(l);this.options=a.assign({chunkSize:16384,windowBits:0,to:""},l||{});var d=this.options;d.raw&&d.windowBits>=0&&d.windowBits<16&&(d.windowBits=-d.windowBits,d.windowBits===0&&(d.windowBits=-15)),d.windowBits>=0&&d.windowBits<16&&!(l&&l.windowBits)&&(d.windowBits+=32),d.windowBits>15&&d.windowBits<48&&(d.windowBits&15||(d.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var b=f.inflateInit2(this.strm,d.windowBits);if(b!==n.Z_OK)throw new Error(m[b]);this.header=new _,f.inflateGetHeader(this.strm,this.header)}v.prototype.push=function(l,d){var b=this.strm,x=this.options.chunkSize,P=this.options.dictionary,g,I,C,S,N,D,V=!1;if(this.ended)return!1;I=d===~~d?d:d===!0?n.Z_FINISH:n.Z_NO_FLUSH,typeof l=="string"?b.input=c.binstring2buf(l):y.call(l)==="[object ArrayBuffer]"?b.input=new Uint8Array(l):b.input=l,b.next_in=0,b.avail_in=b.input.length;do{if(b.avail_out===0&&(b.output=new a.Buf8(x),b.next_out=0,b.avail_out=x),g=f.inflate(b,n.Z_NO_FLUSH),g===n.Z_NEED_DICT&&P&&(typeof P=="string"?D=c.string2buf(P):y.call(P)==="[object ArrayBuffer]"?D=new Uint8Array(P):D=P,g=f.inflateSetDictionary(this.strm,D)),g===n.Z_BUF_ERROR&&V===!0&&(g=n.Z_OK,V=!1),g!==n.Z_STREAM_END&&g!==n.Z_OK)return this.onEnd(g),this.ended=!0,!1;b.next_out&&(b.avail_out===0||g===n.Z_STREAM_END||b.avail_in===0&&(I===n.Z_FINISH||I===n.Z_SYNC_FLUSH))&&(this.options.to==="string"?(C=c.utf8border(b.output,b.next_out),S=b.next_out-C,N=c.buf2string(b.output,C),b.next_out=S,b.avail_out=x-S,S&&a.arraySet(b.output,b.output,C,S,0),this.onData(N)):this.onData(a.shrinkBuf(b.output,b.next_out))),b.avail_in===0&&b.avail_out===0&&(V=!0)}while((b.avail_in>0||b.avail_out===0)&&g!==n.Z_STREAM_END);return g===n.Z_STREAM_END&&(I=n.Z_FINISH),I===n.Z_FINISH?(g=f.inflateEnd(this.strm),this.onEnd(g),this.ended=!0,g===n.Z_OK):(I===n.Z_SYNC_FLUSH&&(this.onEnd(n.Z_OK),b.avail_out=0),!0)},v.prototype.onData=function(l){this.chunks.push(l)},v.prototype.onEnd=function(l){l===n.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=l,this.msg=this.strm.msg};function E(l,d){var b=new v(d);if(b.push(l,!0),b.err)throw b.msg||m[b.err];return b.result}function F(l,d){return d=d||{},d.raw=!0,E(l,d)}s.Inflate=v,s.inflate=E,s.inflateRaw=F,s.ungzip=E},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,r,s){var f=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";s.assign=function(n){for(var m=Array.prototype.slice.call(arguments,1);m.length;){var o=m.shift();if(o){if(typeof o!="object")throw new TypeError(o+"must be non-object");for(var _ in o)o.hasOwnProperty(_)&&(n[_]=o[_])}}return n},s.shrinkBuf=function(n,m){return n.length===m?n:n.subarray?n.subarray(0,m):(n.length=m,n)};var a={arraySet:function(n,m,o,_,y){if(m.subarray&&n.subarray){n.set(m.subarray(o,o+_),y);return}for(var v=0;v<_;v++)n[y+v]=m[o+v]},flattenChunks:function(n){var m,o,_,y,v,E;for(_=0,m=0,o=n.length;m=252?6:m>=248?5:m>=240?4:m>=224?3:m>=192?2:1;n[254]=n[254]=1,s.string2buf=function(_){var y,v,E,F,l,d=_.length,b=0;for(F=0;F>>6,y[l++]=128|v&63):v<65536?(y[l++]=224|v>>>12,y[l++]=128|v>>>6&63,y[l++]=128|v&63):(y[l++]=240|v>>>18,y[l++]=128|v>>>12&63,y[l++]=128|v>>>6&63,y[l++]=128|v&63);return y};function o(_,y){if(y<65537&&(_.subarray&&c||!_.subarray&&a))return String.fromCharCode.apply(null,f.shrinkBuf(_,y));for(var v="",E=0;E4){b[E++]=65533,v+=l-1;continue}for(F&=l===2?31:l===3?15:7;l>1&&v1){b[E++]=65533;continue}F<65536?b[E++]=F:(F-=65536,b[E++]=55296|F>>10&1023,b[E++]=56320|F&1023)}return o(b,E)},s.utf8border=function(_,y){var v;for(y=y||_.length,y>_.length&&(y=_.length),v=y-1;v>=0&&(_[v]&192)===128;)v--;return v<0||v===0?y:v+n[_[v]]>y?v:y}},{"./common":41}],43:[function(e,r,s){function f(a,c,n,m){for(var o=a&65535|0,_=a>>>16&65535|0,y=0;n!==0;){y=n>2e3?2e3:n,n-=y;do o=o+c[m++]|0,_=_+o|0;while(--y);o%=65521,_%=65521}return o|_<<16|0}r.exports=f},{}],44:[function(e,r,s){r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,r,s){function f(){for(var n,m=[],o=0;o<256;o++){n=o;for(var _=0;_<8;_++)n=n&1?3988292384^n>>>1:n>>>1;m[o]=n}return m}var a=f();function c(n,m,o,_){var y=a,v=_+o;n^=-1;for(var E=_;E>>8^y[(n^m[E])&255];return n^-1}r.exports=c},{}],46:[function(e,r,s){var f=e("../utils/common"),a=e("./trees"),c=e("./adler32"),n=e("./crc32"),m=e("./messages"),o=0,_=1,y=3,v=4,E=5,F=0,l=1,d=-2,b=-3,x=-5,P=-1,g=1,I=2,C=3,S=4,N=0,D=2,V=8,R=9,j=15,$=8,G=29,et=256,W=et+1+G,Z=30,Q=19,at=2*W+1,ht=15,K=3,ot=258,nt=ot+K+1,kt=32,Ft=42,vt=69,st=73,Ct=91,gt=103,dt=113,bt=666,ct=1,At=2,Ut=3,Bt=4,ut=3;function Nt(i,A){return i.msg=m[A],A}function he(i){return(i<<1)-(i>4?9:0)}function Vt(i){for(var A=i.length;--A>=0;)i[A]=0}function Mt(i){var A=i.state,T=A.pending;T>i.avail_out&&(T=i.avail_out),T!==0&&(f.arraySet(i.output,A.pending_buf,A.pending_out,T,i.next_out),i.next_out+=T,A.pending_out+=T,i.total_out+=T,i.avail_out-=T,A.pending-=T,A.pending===0&&(A.pending_out=0))}function _t(i,A){a._tr_flush_block(i,i.block_start>=0?i.block_start:-1,i.strstart-i.block_start,A),i.block_start=i.strstart,Mt(i.strm)}function rt(i,A){i.pending_buf[i.pending++]=A}function jt(i,A){i.pending_buf[i.pending++]=A>>>8&255,i.pending_buf[i.pending++]=A&255}function de(i,A,T,u){var w=i.avail_in;return w>u&&(w=u),w===0?0:(i.avail_in-=w,f.arraySet(A,i.input,i.next_in,w,T),i.state.wrap===1?i.adler=c(i.adler,A,w,T):i.state.wrap===2&&(i.adler=n(i.adler,A,w,T)),i.next_in+=w,i.total_in+=w,w)}function ae(i,A){var T=i.max_chain_length,u=i.strstart,w,O,J=i.prev_length,Y=i.nice_match,X=i.strstart>i.w_size-nt?i.strstart-(i.w_size-nt):0,ft=i.window,qt=i.w_mask,mt=i.prev,lt=i.strstart+ot,xt=ft[u+J-1],Tt=ft[u+J];i.prev_length>=i.good_match&&(T>>=2),Y>i.lookahead&&(Y=i.lookahead);do if(w=A,!(ft[w+J]!==Tt||ft[w+J-1]!==xt||ft[w]!==ft[u]||ft[++w]!==ft[u+1])){u+=2,w++;do;while(ft[++u]===ft[++w]&&ft[++u]===ft[++w]&&ft[++u]===ft[++w]&&ft[++u]===ft[++w]&&ft[++u]===ft[++w]&&ft[++u]===ft[++w]&&ft[++u]===ft[++w]&&ft[++u]===ft[++w]&&uJ){if(i.match_start=A,J=O,O>=Y)break;xt=ft[u+J-1],Tt=ft[u+J]}}while((A=mt[A&qt])>X&&--T!==0);return J<=i.lookahead?J:i.lookahead}function Zt(i){var A=i.w_size,T,u,w,O,J;do{if(O=i.window_size-i.lookahead-i.strstart,i.strstart>=A+(A-nt)){f.arraySet(i.window,i.window,A,A,0),i.match_start-=A,i.strstart-=A,i.block_start-=A,u=i.hash_size,T=u;do w=i.head[--T],i.head[T]=w>=A?w-A:0;while(--u);u=A,T=u;do w=i.prev[--T],i.prev[T]=w>=A?w-A:0;while(--u);O+=A}if(i.strm.avail_in===0)break;if(u=de(i.strm,i.window,i.strstart+i.lookahead,O),i.lookahead+=u,i.lookahead+i.insert>=K)for(J=i.strstart-i.insert,i.ins_h=i.window[J],i.ins_h=(i.ins_h<i.pending_buf_size-5&&(T=i.pending_buf_size-5);;){if(i.lookahead<=1){if(Zt(i),i.lookahead===0&&A===o)return ct;if(i.lookahead===0)break}i.strstart+=i.lookahead,i.lookahead=0;var u=i.block_start+T;if((i.strstart===0||i.strstart>=u)&&(i.lookahead=i.strstart-u,i.strstart=u,_t(i,!1),i.strm.avail_out===0)||i.strstart-i.block_start>=i.w_size-nt&&(_t(i,!1),i.strm.avail_out===0))return ct}return i.insert=0,A===v?(_t(i,!0),i.strm.avail_out===0?Ut:Bt):(i.strstart>i.block_start&&(_t(i,!1),i.strm.avail_out===0),ct)}function ne(i,A){for(var T,u;;){if(i.lookahead=K&&(i.ins_h=(i.ins_h<=K)if(u=a._tr_tally(i,i.strstart-i.match_start,i.match_length-K),i.lookahead-=i.match_length,i.match_length<=i.max_lazy_match&&i.lookahead>=K){i.match_length--;do i.strstart++,i.ins_h=(i.ins_h<=K&&(i.ins_h=(i.ins_h<4096)&&(i.match_length=K-1)),i.prev_length>=K&&i.match_length<=i.prev_length){w=i.strstart+i.lookahead-K,u=a._tr_tally(i,i.strstart-1-i.prev_match,i.prev_length-K),i.lookahead-=i.prev_length-1,i.prev_length-=2;do++i.strstart<=w&&(i.ins_h=(i.ins_h<=K&&i.strstart>0&&(w=i.strstart-1,u=J[w],u===J[++w]&&u===J[++w]&&u===J[++w])){O=i.strstart+ot;do;while(u===J[++w]&&u===J[++w]&&u===J[++w]&&u===J[++w]&&u===J[++w]&&u===J[++w]&&u===J[++w]&&u===J[++w]&&wi.lookahead&&(i.match_length=i.lookahead)}if(i.match_length>=K?(T=a._tr_tally(i,1,i.match_length-K),i.lookahead-=i.match_length,i.strstart+=i.match_length,i.match_length=0):(T=a._tr_tally(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++),T&&(_t(i,!1),i.strm.avail_out===0))return ct}return i.insert=0,A===v?(_t(i,!0),i.strm.avail_out===0?Ut:Bt):i.last_lit&&(_t(i,!1),i.strm.avail_out===0)?ct:At}function se(i,A){for(var T;;){if(i.lookahead===0&&(Zt(i),i.lookahead===0)){if(A===o)return ct;break}if(i.match_length=0,T=a._tr_tally(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++,T&&(_t(i,!1),i.strm.avail_out===0))return ct}return i.insert=0,A===v?(_t(i,!0),i.strm.avail_out===0?Ut:Bt):i.last_lit&&(_t(i,!1),i.strm.avail_out===0)?ct:At}function Pt(i,A,T,u,w){this.good_length=i,this.max_lazy=A,this.nice_length=T,this.max_chain=u,this.func=w}var Gt;Gt=[new Pt(0,0,0,0,ue),new Pt(4,4,8,4,ne),new Pt(4,5,16,8,ne),new Pt(4,6,32,32,ne),new Pt(4,4,16,16,Wt),new Pt(8,16,32,32,Wt),new Pt(8,16,128,128,Wt),new Pt(8,32,128,256,Wt),new Pt(32,128,258,1024,Wt),new Pt(32,258,258,4096,Wt)];function pe(i){i.window_size=2*i.w_size,Vt(i.head),i.max_lazy_match=Gt[i.level].max_lazy,i.good_match=Gt[i.level].good_length,i.nice_match=Gt[i.level].nice_length,i.max_chain_length=Gt[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=K-1,i.match_available=0,i.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=V,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new f.Buf16(at*2),this.dyn_dtree=new f.Buf16((2*Z+1)*2),this.bl_tree=new f.Buf16((2*Q+1)*2),Vt(this.dyn_ltree),Vt(this.dyn_dtree),Vt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new f.Buf16(ht+1),this.heap=new f.Buf16(2*W+1),Vt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new f.Buf16(2*W+1),Vt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function M(i){var A;return!i||!i.state?Nt(i,d):(i.total_in=i.total_out=0,i.data_type=D,A=i.state,A.pending=0,A.pending_out=0,A.wrap<0&&(A.wrap=-A.wrap),A.status=A.wrap?Ft:dt,i.adler=A.wrap===2?0:1,A.last_flush=o,a._tr_init(A),F)}function B(i){var A=M(i);return A===F&&pe(i.state),A}function H(i,A){return!i||!i.state||i.state.wrap!==2?d:(i.state.gzhead=A,F)}function k(i,A,T,u,w,O){if(!i)return d;var J=1;if(A===P&&(A=6),u<0?(J=0,u=-u):u>15&&(J=2,u-=16),w<1||w>R||T!==V||u<8||u>15||A<0||A>9||O<0||O>S)return Nt(i,d);u===8&&(u=9);var Y=new p;return i.state=Y,Y.strm=i,Y.wrap=J,Y.gzhead=null,Y.w_bits=u,Y.w_size=1<E||A<0)return i?Nt(i,d):d;if(u=i.state,!i.output||!i.input&&i.avail_in!==0||u.status===bt&&A!==v)return Nt(i,i.avail_out===0?x:d);if(u.strm=i,T=u.last_flush,u.last_flush=A,u.status===Ft)if(u.wrap===2)i.adler=0,rt(u,31),rt(u,139),rt(u,8),u.gzhead?(rt(u,(u.gzhead.text?1:0)+(u.gzhead.hcrc?2:0)+(u.gzhead.extra?4:0)+(u.gzhead.name?8:0)+(u.gzhead.comment?16:0)),rt(u,u.gzhead.time&255),rt(u,u.gzhead.time>>8&255),rt(u,u.gzhead.time>>16&255),rt(u,u.gzhead.time>>24&255),rt(u,u.level===9?2:u.strategy>=I||u.level<2?4:0),rt(u,u.gzhead.os&255),u.gzhead.extra&&u.gzhead.extra.length&&(rt(u,u.gzhead.extra.length&255),rt(u,u.gzhead.extra.length>>8&255)),u.gzhead.hcrc&&(i.adler=n(i.adler,u.pending_buf,u.pending,0)),u.gzindex=0,u.status=vt):(rt(u,0),rt(u,0),rt(u,0),rt(u,0),rt(u,0),rt(u,u.level===9?2:u.strategy>=I||u.level<2?4:0),rt(u,ut),u.status=dt);else{var J=V+(u.w_bits-8<<4)<<8,Y=-1;u.strategy>=I||u.level<2?Y=0:u.level<6?Y=1:u.level===6?Y=2:Y=3,J|=Y<<6,u.strstart!==0&&(J|=kt),J+=31-J%31,u.status=dt,jt(u,J),u.strstart!==0&&(jt(u,i.adler>>>16),jt(u,i.adler&65535)),i.adler=1}if(u.status===vt)if(u.gzhead.extra){for(w=u.pending;u.gzindex<(u.gzhead.extra.length&65535)&&!(u.pending===u.pending_buf_size&&(u.gzhead.hcrc&&u.pending>w&&(i.adler=n(i.adler,u.pending_buf,u.pending-w,w)),Mt(i),w=u.pending,u.pending===u.pending_buf_size));)rt(u,u.gzhead.extra[u.gzindex]&255),u.gzindex++;u.gzhead.hcrc&&u.pending>w&&(i.adler=n(i.adler,u.pending_buf,u.pending-w,w)),u.gzindex===u.gzhead.extra.length&&(u.gzindex=0,u.status=st)}else u.status=st;if(u.status===st)if(u.gzhead.name){w=u.pending;do{if(u.pending===u.pending_buf_size&&(u.gzhead.hcrc&&u.pending>w&&(i.adler=n(i.adler,u.pending_buf,u.pending-w,w)),Mt(i),w=u.pending,u.pending===u.pending_buf_size)){O=1;break}u.gzindexw&&(i.adler=n(i.adler,u.pending_buf,u.pending-w,w)),O===0&&(u.gzindex=0,u.status=Ct)}else u.status=Ct;if(u.status===Ct)if(u.gzhead.comment){w=u.pending;do{if(u.pending===u.pending_buf_size&&(u.gzhead.hcrc&&u.pending>w&&(i.adler=n(i.adler,u.pending_buf,u.pending-w,w)),Mt(i),w=u.pending,u.pending===u.pending_buf_size)){O=1;break}u.gzindexw&&(i.adler=n(i.adler,u.pending_buf,u.pending-w,w)),O===0&&(u.status=gt)}else u.status=gt;if(u.status===gt&&(u.gzhead.hcrc?(u.pending+2>u.pending_buf_size&&Mt(i),u.pending+2<=u.pending_buf_size&&(rt(u,i.adler&255),rt(u,i.adler>>8&255),i.adler=0,u.status=dt)):u.status=dt),u.pending!==0){if(Mt(i),i.avail_out===0)return u.last_flush=-1,F}else if(i.avail_in===0&&he(A)<=he(T)&&A!==v)return Nt(i,x);if(u.status===bt&&i.avail_in!==0)return Nt(i,x);if(i.avail_in!==0||u.lookahead!==0||A!==o&&u.status!==bt){var X=u.strategy===I?se(u,A):u.strategy===C?_e(u,A):Gt[u.level].func(u,A);if((X===Ut||X===Bt)&&(u.status=bt),X===ct||X===Ut)return i.avail_out===0&&(u.last_flush=-1),F;if(X===At&&(A===_?a._tr_align(u):A!==E&&(a._tr_stored_block(u,0,0,!1),A===y&&(Vt(u.head),u.lookahead===0&&(u.strstart=0,u.block_start=0,u.insert=0))),Mt(i),i.avail_out===0))return u.last_flush=-1,F}return A!==v?F:u.wrap<=0?l:(u.wrap===2?(rt(u,i.adler&255),rt(u,i.adler>>8&255),rt(u,i.adler>>16&255),rt(u,i.adler>>24&255),rt(u,i.total_in&255),rt(u,i.total_in>>8&255),rt(u,i.total_in>>16&255),rt(u,i.total_in>>24&255)):(jt(u,i.adler>>>16),jt(u,i.adler&65535)),Mt(i),u.wrap>0&&(u.wrap=-u.wrap),u.pending!==0?F:l)}function U(i){var A;return!i||!i.state?d:(A=i.state.status,A!==Ft&&A!==vt&&A!==st&&A!==Ct&&A!==gt&&A!==dt&&A!==bt?Nt(i,d):(i.state=null,A===dt?Nt(i,b):F))}function q(i,A){var T=A.length,u,w,O,J,Y,X,ft,qt;if(!i||!i.state||(u=i.state,J=u.wrap,J===2||J===1&&u.status!==Ft||u.lookahead))return d;for(J===1&&(i.adler=c(i.adler,A,T,0)),u.wrap=0,T>=u.w_size&&(J===0&&(Vt(u.head),u.strstart=0,u.block_start=0,u.insert=0),qt=new f.Buf8(u.w_size),f.arraySet(qt,A,T-u.w_size,u.w_size,0),A=qt,T=u.w_size),Y=i.avail_in,X=i.next_in,ft=i.input,i.avail_in=T,i.next_in=0,i.input=A,Zt(u);u.lookahead>=K;){w=u.strstart,O=u.lookahead-(K-1);do u.ins_h=(u.ins_h<>>24,g>>>=R,I-=R,R=V>>>16&255,R===0)Z[v++]=V&65535;else if(R&16){j=V&65535,R&=15,R&&(I>>=R,I-=R),I<15&&(g+=W[_++]<>>24,g>>>=R,I-=R,R=V>>>16&255,R&16){if($=V&65535,R&=15,Il){n.msg="invalid distance too far back",o.mode=f;break t}if(g>>>=R,I-=R,R=v-E,$>R){if(R=$-R,R>b&&o.sane){n.msg="invalid distance too far back",o.mode=f;break t}if(G=0,et=P,x===0){if(G+=d-R,R2;)Z[v++]=et[G++],Z[v++]=et[G++],Z[v++]=et[G++],j-=3;j&&(Z[v++]=et[G++],j>1&&(Z[v++]=et[G++]))}else{G=v-$;do Z[v++]=Z[G++],Z[v++]=Z[G++],Z[v++]=Z[G++],j-=3;while(j>2);j&&(Z[v++]=Z[G++],j>1&&(Z[v++]=Z[G++]))}}else if(R&64){n.msg="invalid distance code",o.mode=f;break t}else{V=S[(V&65535)+(g&(1<>3,_-=j,I-=j<<3,g&=(1<>>24&255)+(k>>>8&65280)+((k&65280)<<8)+((k&255)<<24)}function de(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new f.Buf16(320),this.work=new f.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ae(k){var z;return!k||!k.state?x:(z=k.state,k.total_in=k.total_out=z.total=0,k.msg="",z.wrap&&(k.adler=z.wrap&1),z.mode=S,z.last=0,z.havedict=0,z.dmax=32768,z.head=null,z.hold=0,z.bits=0,z.lencode=z.lendyn=new f.Buf32(Vt),z.distcode=z.distdyn=new f.Buf32(Mt),z.sane=1,z.back=-1,l)}function Zt(k){var z;return!k||!k.state?x:(z=k.state,z.wsize=0,z.whave=0,z.wnext=0,ae(k))}function ue(k,z){var h,U;return!k||!k.state||(U=k.state,z<0?(h=0,z=-z):(h=(z>>4)+1,z<48&&(z&=15)),z&&(z<8||z>15))?x:(U.window!==null&&U.wbits!==z&&(U.window=null),U.wrap=h,U.wbits=z,Zt(k))}function ne(k,z){var h,U;return k?(U=new de,k.state=U,U.window=null,h=ue(k,z),h!==l&&(k.state=null),h):x}function Wt(k){return ne(k,rt)}var _e=!0,se,Pt;function Gt(k){if(_e){var z;for(se=new f.Buf32(512),Pt=new f.Buf32(32),z=0;z<144;)k.lens[z++]=8;for(;z<256;)k.lens[z++]=9;for(;z<280;)k.lens[z++]=7;for(;z<288;)k.lens[z++]=8;for(m(_,k.lens,0,288,se,0,k.work,{bits:9}),z=0;z<32;)k.lens[z++]=5;m(y,k.lens,0,32,Pt,0,k.work,{bits:5}),_e=!1}k.lencode=se,k.lenbits=9,k.distcode=Pt,k.distbits=5}function pe(k,z,h,U){var q,i=k.state;return i.window===null&&(i.wsize=1<=i.wsize?(f.arraySet(i.window,z,h-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(q=i.wsize-i.wnext,q>U&&(q=U),f.arraySet(i.window,z,h-U,q,i.wnext),U-=q,U?(f.arraySet(i.window,z,h-U,U,0),i.wnext=U,i.whave=i.wsize):(i.wnext+=q,i.wnext===i.wsize&&(i.wnext=0),i.whave>>8&255,h.check=c(h.check,Et,2,0),w=0,O=0,h.mode=N;break}if(h.flags=0,h.head&&(h.head.done=!1),!(h.wrap&1)||(((w&255)<<8)+(w>>8))%31){k.msg="incorrect header check",h.mode=ut;break}if((w&15)!==C){k.msg="unknown compression method",h.mode=ut;break}if(w>>>=4,O-=4,yt=(w&15)+8,h.wbits===0)h.wbits=yt;else if(yt>h.wbits){k.msg="invalid window size",h.mode=ut;break}h.dmax=1<>8&1),h.flags&512&&(Et[0]=w&255,Et[1]=w>>>8&255,h.check=c(h.check,Et,2,0)),w=0,O=0,h.mode=D;case D:for(;O<32;){if(T===0)break t;T--,w+=U[i++]<>>8&255,Et[2]=w>>>16&255,Et[3]=w>>>24&255,h.check=c(h.check,Et,4,0)),w=0,O=0,h.mode=V;case V:for(;O<16;){if(T===0)break t;T--,w+=U[i++]<>8),h.flags&512&&(Et[0]=w&255,Et[1]=w>>>8&255,h.check=c(h.check,Et,2,0)),w=0,O=0,h.mode=R;case R:if(h.flags&1024){for(;O<16;){if(T===0)break t;T--,w+=U[i++]<>>8&255,h.check=c(h.check,Et,2,0)),w=0,O=0}else h.head&&(h.head.extra=null);h.mode=j;case j:if(h.flags&1024&&(X=h.length,X>T&&(X=T),X&&(h.head&&(yt=h.head.extra_len-h.length,h.head.extra||(h.head.extra=new Array(h.head.extra_len)),f.arraySet(h.head.extra,U,i,X,yt)),h.flags&512&&(h.check=c(h.check,U,X,i)),T-=X,i+=X,h.length-=X),h.length))break t;h.length=0,h.mode=$;case $:if(h.flags&2048){if(T===0)break t;X=0;do yt=U[i+X++],h.head&&yt&&h.length<65536&&(h.head.name+=String.fromCharCode(yt));while(yt&&X>9&1,h.head.done=!0),k.adler=h.check=0,h.mode=Q;break;case W:for(;O<32;){if(T===0)break t;T--,w+=U[i++]<>>=O&7,O-=O&7,h.mode=At;break}for(;O<3;){if(T===0)break t;T--,w+=U[i++]<>>=1,O-=1,w&3){case 0:h.mode=ht;break;case 1:if(Gt(h),h.mode=vt,z===F){w>>>=2,O-=2;break t}break;case 2:h.mode=nt;break;case 3:k.msg="invalid block type",h.mode=ut}w>>>=2,O-=2;break;case ht:for(w>>>=O&7,O-=O&7;O<32;){if(T===0)break t;T--,w+=U[i++]<>>16^65535)){k.msg="invalid stored block lengths",h.mode=ut;break}if(h.length=w&65535,w=0,O=0,h.mode=K,z===F)break t;case K:h.mode=ot;case ot:if(X=h.length,X){if(X>T&&(X=T),X>u&&(X=u),X===0)break t;f.arraySet(q,U,i,X,A),T-=X,i+=X,u-=X,A+=X,h.length-=X;break}h.mode=Q;break;case nt:for(;O<14;){if(T===0)break t;T--,w+=U[i++]<>>=5,O-=5,h.ndist=(w&31)+1,w>>>=5,O-=5,h.ncode=(w&15)+4,w>>>=4,O-=4,h.nlen>286||h.ndist>30){k.msg="too many length or distance symbols",h.mode=ut;break}h.have=0,h.mode=kt;case kt:for(;h.have>>=3,O-=3}for(;h.have<19;)h.lens[Me[h.have++]]=0;if(h.lencode=h.lendyn,h.lenbits=7,te={bits:h.lenbits},Yt=m(o,h.lens,0,19,h.lencode,0,h.work,te),h.lenbits=te.bits,Yt){k.msg="invalid code lengths set",h.mode=ut;break}h.have=0,h.mode=Ft;case Ft:for(;h.have>>24,xt=mt>>>16&255,Tt=mt&65535,!(lt<=O);){if(T===0)break t;T--,w+=U[i++]<>>=lt,O-=lt,h.lens[h.have++]=Tt;else{if(Tt===16){for(Jt=lt+2;O>>=lt,O-=lt,h.have===0){k.msg="invalid bit length repeat",h.mode=ut;break}yt=h.lens[h.have-1],X=3+(w&3),w>>>=2,O-=2}else if(Tt===17){for(Jt=lt+3;O>>=lt,O-=lt,yt=0,X=3+(w&7),w>>>=3,O-=3}else{for(Jt=lt+7;O>>=lt,O-=lt,yt=0,X=11+(w&127),w>>>=7,O-=7}if(h.have+X>h.nlen+h.ndist){k.msg="invalid bit length repeat",h.mode=ut;break}for(;X--;)h.lens[h.have++]=yt}}if(h.mode===ut)break;if(h.lens[256]===0){k.msg="invalid code -- missing end-of-block",h.mode=ut;break}if(h.lenbits=9,te={bits:h.lenbits},Yt=m(_,h.lens,0,h.nlen,h.lencode,0,h.work,te),h.lenbits=te.bits,Yt){k.msg="invalid literal/lengths set",h.mode=ut;break}if(h.distbits=6,h.distcode=h.distdyn,te={bits:h.distbits},Yt=m(y,h.lens,h.nlen,h.ndist,h.distcode,0,h.work,te),h.distbits=te.bits,Yt){k.msg="invalid distances set",h.mode=ut;break}if(h.mode=vt,z===F)break t;case vt:h.mode=st;case st:if(T>=6&&u>=258){k.next_out=A,k.avail_out=u,k.next_in=i,k.avail_in=T,h.hold=w,h.bits=O,n(k,Y),A=k.next_out,q=k.output,u=k.avail_out,i=k.next_in,U=k.input,T=k.avail_in,w=h.hold,O=h.bits,h.mode===Q&&(h.back=-1);break}for(h.back=0;mt=h.lencode[w&(1<>>24,xt=mt>>>16&255,Tt=mt&65535,!(lt<=O);){if(T===0)break t;T--,w+=U[i++]<>Rt)],lt=mt>>>24,xt=mt>>>16&255,Tt=mt&65535,!(Rt+lt<=O);){if(T===0)break t;T--,w+=U[i++]<>>=Rt,O-=Rt,h.back+=Rt}if(w>>>=lt,O-=lt,h.back+=lt,h.length=Tt,xt===0){h.mode=ct;break}if(xt&32){h.back=-1,h.mode=Q;break}if(xt&64){k.msg="invalid literal/length code",h.mode=ut;break}h.extra=xt&15,h.mode=Ct;case Ct:if(h.extra){for(Jt=h.extra;O>>=h.extra,O-=h.extra,h.back+=h.extra}h.was=h.length,h.mode=gt;case gt:for(;mt=h.distcode[w&(1<>>24,xt=mt>>>16&255,Tt=mt&65535,!(lt<=O);){if(T===0)break t;T--,w+=U[i++]<>Rt)],lt=mt>>>24,xt=mt>>>16&255,Tt=mt&65535,!(Rt+lt<=O);){if(T===0)break t;T--,w+=U[i++]<>>=Rt,O-=Rt,h.back+=Rt}if(w>>>=lt,O-=lt,h.back+=lt,xt&64){k.msg="invalid distance code",h.mode=ut;break}h.offset=Tt,h.extra=xt&15,h.mode=dt;case dt:if(h.extra){for(Jt=h.extra;O>>=h.extra,O-=h.extra,h.back+=h.extra}if(h.offset>h.dmax){k.msg="invalid distance too far back",h.mode=ut;break}h.mode=bt;case bt:if(u===0)break t;if(X=Y-u,h.offset>X){if(X=h.offset-X,X>h.whave&&h.sane){k.msg="invalid distance too far back",h.mode=ut;break}X>h.wnext?(X-=h.wnext,ft=h.wsize-X):ft=h.wnext-X,X>h.length&&(X=h.length),qt=h.window}else qt=q,ft=A-h.offset,X=h.length;X>u&&(X=u),u-=X,h.length-=X;do q[A++]=qt[ft++];while(--X);h.length===0&&(h.mode=st);break;case ct:if(u===0)break t;q[A++]=h.length,u--,h.mode=st;break;case At:if(h.wrap){for(;O<32;){if(T===0)break t;T--,w|=U[i++]<=1&&st[j]===0;j--);if($>j&&($=j),j===0)return g[I++]=20971520,g[I++]=20971520,S.bits=1,0;for(R=1;R0&&(d===m||j!==1))return-1;for(Ct[1]=0,D=1;Dc||d===_&&Z>n)return 1;for(;;){bt=D-et,C[V]vt?(ct=gt[dt+C[V]],At=kt[Ft+C[V]]):(ct=96,At=0),at=1<>et)+ht]=bt<<24|ct<<16|At|0;while(ht!==0);for(at=1<>=1;if(at!==0?(Q&=at-1,Q+=at):Q=0,V++,--st[D]===0){if(D===j)break;D=b[x+C[V]]}if(D>$&&(Q&ot)!==K){for(et===0&&(et=$),nt+=R,G=D-et,W=1<c||d===_&&Z>n)return 1;K=Q&ot,g[K]=$<<24|G<<16|nt-I|0}}return Q!==0&&(g[nt+Q]=D-et<<24|4194304|0),S.bits=$,0}},{"../utils/common":41}],51:[function(e,r,s){r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,r,s){var f=e("../utils/common"),a=4,c=0,n=1,m=2;function o(p){for(var M=p.length;--M>=0;)p[M]=0}var _=0,y=1,v=2,E=3,F=258,l=29,d=256,b=d+1+l,x=30,P=19,g=2*b+1,I=15,C=16,S=7,N=256,D=16,V=17,R=18,j=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],G=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],et=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],W=512,Z=new Array((b+2)*2);o(Z);var Q=new Array(x*2);o(Q);var at=new Array(W);o(at);var ht=new Array(F-E+1);o(ht);var K=new Array(l);o(K);var ot=new Array(x);o(ot);function nt(p,M,B,H,k){this.static_tree=p,this.extra_bits=M,this.extra_base=B,this.elems=H,this.max_length=k,this.has_stree=p&&p.length}var kt,Ft,vt;function st(p,M){this.dyn_tree=p,this.max_code=0,this.stat_desc=M}function Ct(p){return p<256?at[p]:at[256+(p>>>7)]}function gt(p,M){p.pending_buf[p.pending++]=M&255,p.pending_buf[p.pending++]=M>>>8&255}function dt(p,M,B){p.bi_valid>C-B?(p.bi_buf|=M<>C-p.bi_valid,p.bi_valid+=B-C):(p.bi_buf|=M<>>=1,B<<=1;while(--M>0);return B>>>1}function At(p){p.bi_valid===16?(gt(p,p.bi_buf),p.bi_buf=0,p.bi_valid=0):p.bi_valid>=8&&(p.pending_buf[p.pending++]=p.bi_buf&255,p.bi_buf>>=8,p.bi_valid-=8)}function Ut(p,M){var B=M.dyn_tree,H=M.max_code,k=M.stat_desc.static_tree,z=M.stat_desc.has_stree,h=M.stat_desc.extra_bits,U=M.stat_desc.extra_base,q=M.stat_desc.max_length,i,A,T,u,w,O,J=0;for(u=0;u<=I;u++)p.bl_count[u]=0;for(B[p.heap[p.heap_max]*2+1]=0,i=p.heap_max+1;iq&&(u=q,J++),B[A*2+1]=u,!(A>H)&&(p.bl_count[u]++,w=0,A>=U&&(w=h[A-U]),O=B[A*2],p.opt_len+=O*(u+w),z&&(p.static_len+=O*(k[A*2+1]+w)));if(J!==0){do{for(u=q-1;p.bl_count[u]===0;)u--;p.bl_count[u]--,p.bl_count[u+1]+=2,p.bl_count[q]--,J-=2}while(J>0);for(u=q;u!==0;u--)for(A=p.bl_count[u];A!==0;)T=p.heap[--i],!(T>H)&&(B[T*2+1]!==u&&(p.opt_len+=(u-B[T*2+1])*B[T*2],B[T*2+1]=u),A--)}}function Bt(p,M,B){var H=new Array(I+1),k=0,z,h;for(z=1;z<=I;z++)H[z]=k=k+B[z-1]<<1;for(h=0;h<=M;h++){var U=p[h*2+1];U!==0&&(p[h*2]=ct(H[U]++,U))}}function ut(){var p,M,B,H,k,z=new Array(I+1);for(B=0,H=0;H>=7;H8?gt(p,p.bi_buf):p.bi_valid>0&&(p.pending_buf[p.pending++]=p.bi_buf),p.bi_buf=0,p.bi_valid=0}function Vt(p,M,B,H){he(p),gt(p,B),gt(p,~B),f.arraySet(p.pending_buf,p.window,M,B,p.pending),p.pending+=B}function Mt(p,M,B,H){var k=M*2,z=B*2;return p[k]>1;h>=1;h--)_t(p,B,h);i=z;do h=p.heap[1],p.heap[1]=p.heap[p.heap_len--],_t(p,B,1),U=p.heap[1],p.heap[--p.heap_max]=h,p.heap[--p.heap_max]=U,B[i*2]=B[h*2]+B[U*2],p.depth[i]=(p.depth[h]>=p.depth[U]?p.depth[h]:p.depth[U])+1,B[h*2+1]=B[U*2+1]=i,p.heap[1]=i++,_t(p,B,1);while(p.heap_len>=2);p.heap[--p.heap_max]=p.heap[1],Ut(p,M),Bt(B,q,p.bl_count)}function de(p,M,B){var H,k=-1,z,h=M[0*2+1],U=0,q=7,i=4;for(h===0&&(q=138,i=3),M[(B+1)*2+1]=65535,H=0;H<=B;H++)z=h,h=M[(H+1)*2+1],!(++U=3&&p.bl_tree[et[M]*2+1]===0;M--);return p.opt_len+=3*(M+1)+5+5+4,M}function ue(p,M,B,H){var k;for(dt(p,M-257,5),dt(p,B-1,5),dt(p,H-4,4),k=0;k>>=1)if(M&1&&p.dyn_ltree[B*2]!==0)return c;if(p.dyn_ltree[18]!==0||p.dyn_ltree[20]!==0||p.dyn_ltree[26]!==0)return n;for(B=32;B0?(p.strm.data_type===m&&(p.strm.data_type=ne(p)),jt(p,p.l_desc),jt(p,p.d_desc),h=Zt(p),k=p.opt_len+3+7>>>3,z=p.static_len+3+7>>>3,z<=k&&(k=z)):k=z=B+5,B+4<=k&&M!==-1?se(p,M,B,H):p.strategy===a||z===k?(dt(p,(y<<1)+(H?1:0),3),rt(p,Z,Q)):(dt(p,(v<<1)+(H?1:0),3),ue(p,p.l_desc.max_code+1,p.d_desc.max_code+1,h+1),rt(p,p.dyn_ltree,p.dyn_dtree)),Nt(p),H&&he(p)}function pe(p,M,B){return p.pending_buf[p.d_buf+p.last_lit*2]=M>>>8&255,p.pending_buf[p.d_buf+p.last_lit*2+1]=M&255,p.pending_buf[p.l_buf+p.last_lit]=B&255,p.last_lit++,M===0?p.dyn_ltree[B*2]++:(p.matches++,M--,p.dyn_ltree[(ht[B]+d+1)*2]++,p.dyn_dtree[Ct(M)*2]++),p.last_lit===p.lit_bufsize-1}s._tr_init=_e,s._tr_stored_block=se,s._tr_flush_block=Gt,s._tr_tally=pe,s._tr_align=Pt},{"../utils/common":41}],53:[function(e,r,s){function f(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}r.exports=f},{}],54:[function(e,r,s){(function(f){(function(a,c){if(a.setImmediate)return;var n=1,m={},o=!1,_=a.document,y;function v(S){typeof S!="function"&&(S=new Function(""+S));for(var N=new Array(arguments.length-1),D=0;D"u"?typeof f>"u"?this:f:self)}).call(this,typeof Ie<"u"?Ie:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Re);var Ke=Re.exports,Ge=He(Ke);class Je{load(t,e){fetch(t).then(function(r){return r.status===200||r.status===0?Promise.resolve(r.blob()):Promise.reject(new Error(r.statusText))}).then(Ge.loadAsync).then(async function(r){let s=null;const f={};for(let c in r.files){r.files[c];const n=c.split(".").pop();if(n==="ssfb"){if(s!==null){e(null,null,null,new Error("already exist ssfb file"));return}s=c}else if(n==="png"){const m=c.split(".").slice(0,-1).join(".");f[m]=await r.file(c).async("uint8array")}}let a=await r.file(s).async("uint8array");e(s,a,f,null)},function(s){e(null,null,null,s)})}}class $e{static createAnimePackMap(t){const e=t.fbObj.animePacksLength(),r={};for(let s=0;s{e.setupForLoadComplete(r)})}loadSspkg(t){const e=this;new Je().load(t,(s,f,a,c)=>{if(c!==null)return;let n=new Ne(s,f,a,()=>{e.setupForLoadComplete(n)})})}setupForLoadComplete(t){this.projectData=t,this.animePackMap=$e.createAnimePackMap(this.projectData),this.onComplete!==null&&this.onComplete()}loadAnimation(t,e){let r=!1;this.textureContainer==null&&(r=!0,this.textureContainer=new We(this));const s=this.animePackMap[t],f=s.animePack,c=s.animationMap[e];this.currentAnimation=c,this.currentAnimePack=f,this.textureContainer.Setup(t,e);const n=c.labelDataLength();for(let m=0;m= 0 && this.prevCellID[i] !== cellID) { if (partObject != null) partObject.destroy(); - partObject = this.MakeMeshCellMesh(i, cellID); + partObject = this.MakeMeshCellMesh(i, cellID, origCellID); partObject.label = part.name(); } break; @@ -4022,16 +4032,21 @@ var ss6PlayerViewer = (function (exports, pixi_js) { * メッシュセルからメッシュを作成 * @param {number} partID - パーツID * @param {number} cellID - セルID + * @param {number} origCellID - オリジナルのセルID * @return {PIXI.Mesh} - メッシュ */ - MakeMeshCellMesh(partID, cellID) { + MakeMeshCellMesh(partID, cellID, origCellID) { const meshsDataUV = this.playerLib.animationData.meshsDataUv(partID); const uvLength = meshsDataUV.uvLength(); if (uvLength > 0) { + const cell = this.playerLib.fbObj.cells(cellID); + const origCell = this.playerLib.fbObj.cells(origCellID); + const diff_u = cellID === origCellID ? 0 : (cell.u1() + cell.u2()) / 2 - (origCell.u1() + origCell.u2()) / 2; + const diff_v = cellID === origCellID ? 0 : (cell.v1() + cell.v2()) / 2 - (origCell.v1() + origCell.v2()) / 2; const uvs = new Float32Array(uvLength - 2); const meshNum = meshsDataUV.uv(1); for (let idx = 2; idx < uvLength; idx++) { - uvs[idx - 2] = meshsDataUV.uv(idx); + uvs[idx - 2] = meshsDataUV.uv(idx) + (idx % 2 === 0 ? diff_u : diff_v); } const meshsDataIndices = this.playerLib.animationData.meshsDataIndices(partID); const indicesLength = meshsDataIndices.indicesLength(); diff --git a/docs/ss6player_lib_api/classes/FrameData.html b/docs/ss6player_lib_api/classes/FrameData.html index 7e02495b..bddcdf19 100644 --- a/docs/ss6player_lib_api/classes/FrameData.html +++ b/docs/ss6player_lib_api/classes/FrameData.html @@ -1,5 +1,5 @@ FrameData | ss6player-lib

Class FrameData

FrameData

-

Constructors

Constructors

Properties

Constructors

Properties

boundingRadius: number
cellIndex: number
colorArgb32: number
colorBlendType: number
colorRate: number
effectValue_curKeyframe: number
effectValue_loopflag: number
effectValue_speed: number
effectValue_startTime: number
f_flipH: boolean
f_flipV: boolean
f_hide: boolean
f_mesh: boolean
flag1: number
flag2: number
highflag: number
i_transformVerts: number
index: number
instanceValue_curKeyframe: number
instanceValue_endFrame: number
instanceValue_loopNum: number
instanceValue_loopflag: number
instanceValue_speed: number
instanceValue_startFrame: number
localopacity: number
localscaleX: number
localscaleY: number
lowflag: number
masklimen: number
meshDataPoint: Float32Array
meshIsBind: number
meshNum: number
opacity: number
partsColorARGB: number
pivotX: number
pivotY: number
positionX: number
positionY: number
priority: number
rotationX: number
rotationY: number
rotationZ: number
scaleX: number
scaleY: number
size_X: number
size_Y: number
tint: number
u00: number
u01: number
u10: number
u11: number
useColorMatrix: boolean
uv_move_X: number
uv_move_Y: number
uv_rotation: number
uv_scale_X: number
uv_scale_Y: number
v00: number
v01: number
v10: number
v11: number
+

Constructors

Properties

boundingRadius: number
cellIndex: number
colorArgb32: number
colorBlendType: number
colorRate: number
effectValue_curKeyframe: number
effectValue_loopflag: number
effectValue_speed: number
effectValue_startTime: number
f_flipH: boolean
f_flipV: boolean
f_hide: boolean
f_mesh: boolean
flag1: number
flag2: number
highflag: number
i_transformVerts: number
index: number
instanceValue_curKeyframe: number
instanceValue_endFrame: number
instanceValue_loopNum: number
instanceValue_loopflag: number
instanceValue_speed: number
instanceValue_startFrame: number
localopacity: number
localscaleX: number
localscaleY: number
lowflag: number
masklimen: number
meshDataPoint: Float32Array
meshIsBind: number
meshNum: number
opacity: number
partsColorARGB: number
pivotX: number
pivotY: number
positionX: number
positionY: number
priority: number
rotationX: number
rotationY: number
rotationZ: number
scaleX: number
scaleY: number
size_X: number
size_Y: number
tint: number
u00: number
u01: number
u10: number
u11: number
useColorMatrix: boolean
uv_move_X: number
uv_move_Y: number
uv_rotation: number
uv_scale_X: number
uv_scale_Y: number
v00: number
v01: number
v10: number
v11: number
diff --git a/docs/ss6player_lib_api/classes/Player.html b/docs/ss6player_lib_api/classes/Player.html index 17d2c82d..1600e169 100644 --- a/docs/ss6player_lib_api/classes/Player.html +++ b/docs/ss6player_lib_api/classes/Player.html @@ -1,4 +1,4 @@ -Player | ss6player-lib

Constructors

constructor +Player | ss6player-lib

Constructors

Properties

Accessors

Constructors

Properties

curAnimation: AnimationData = null
curAnimePackData: AnimePackData = null

Accessors

Methods

  • 1フレーム分のデータを取得する(未設定項目はデフォルト) +

Constructors

Properties

curAnimation: AnimationData = null
curAnimePackData: AnimePackData = null

Accessors

Methods

  • 1フレーム分のデータを取得する(未設定項目はデフォルト) [注意]現verでは未対応項目があると正常動作しない可能性があります

    Parameters

    • frameNumber: number

      フレーム番号

      -

    Returns FrameData[]

  • ユーザーデータの取得

    +

Returns FrameData[]

  • ユーザーデータの存在チェック

    Parameters

    • frameNumber: number

      フレーム番号

    Returns boolean

    • 存在するかどうか
    -
  • 親を遡って不透明度を継承する

    Parameters

    • opacity: number

      透明度

    • partId: number

      パーツ(レイヤー)ID

    • frameNumber: number

      フレーム番号

    Returns number

    • 透明度
    -
  • 親を遡って座標変換する(ローカルアトリビュート適用)

    +

Returns void

  • 親を遡って座標変換する(ローカルアトリビュート適用)

    Parameters

    • verts: Float32Array

      頂点情報配列

    • partId: number

      パーツ(レイヤー)ID

    • frameNumber: number

      フレーム番号

    Returns Float32Array

    • 変換された頂点座標配列
    -
  • 親を遡って座標変換する

    Parameters

    • pos: Float32Array

      頂点情報配列

    • id: number

      パーツ(レイヤー)ID

    • frameNumber: number

      フレーム番号

    Returns Float32Array

    • 変換された頂点座標配列
    -
  • 親を遡って座標変換する(ローカルアトリビュート適用)

    Parameters

    • pos: Float32Array

      頂点情報配列

    • partId: number

      パーツ(レイヤー)ID

    • frameNumber: number

      フレーム番号

    Returns Float32Array

    • 変換された頂点座標配列
    -
  • 親を遡って座標変換する

    Parameters

    • verts: Float32Array

      頂点情報配列

    • id: number

      パーツ(レイヤー)ID

    • frameNumber: number

      フレーム番号

    Returns Float32Array

    • 変換された頂点座標配列
    -
  • 親を遡って座標変換する(ローカルアトリビュート適用)

    Parameters

    • verts: Float32Array

      頂点情報配列

    • partId: number

      パーツ(レイヤー)ID

    • frameNumber: number

      フレーム番号

    Returns Float32Array

    • 変換された頂点座標配列
    -
  • 5頂点の中間点を求める

    Parameters

    • cx: number

      元の中心点

    • cy: number

      元の中心点

    • LUx: number

      左上座標

      @@ -93,16 +93,16 @@
    • RDx: number

      右下座標

    • RDy: number

      右下座標

    • vec2: Float32Array

    Returns Float32Array

    vec2 - 4頂点から算出した中心点の座標

    -
  • 矩形セルメッシュの頂点情報のみ取得

    Parameters

    • cell: Cell

      セル

    • data: FrameData

      アニメーションフレームデータ

    • verts: Float32Array

    Returns Float32Array

    • 頂点情報配列
    -
  • 矩形セルメッシュの頂点情報のみ取得

    Parameters

    • cell: Cell

      セル

    • data: FrameData

      アニメーションフレームデータ

    • verts: Float32Array

    Returns Float32Array

    • 頂点情報配列
    -
+
diff --git a/docs/ss6player_lib_api/classes/Utils.html b/docs/ss6player_lib_api/classes/Utils.html index 4c234cd5..8d8f12d1 100644 --- a/docs/ss6player_lib_api/classes/Utils.html +++ b/docs/ss6player_lib_api/classes/Utils.html @@ -1,3 +1,3 @@ -Utils | ss6player-lib

Constructors

constructor +Utils | ss6player-lib

Constructors

Methods

Constructors

Methods

+

Constructors

Methods

diff --git a/docs/ss6player_pixi6_api/classes/SS6Player.html b/docs/ss6player_pixi6_api/classes/SS6Player.html index bb6c9d1d..12726dae 100644 --- a/docs/ss6player_pixi6_api/classes/SS6Player.html +++ b/docs/ss6player_pixi6_api/classes/SS6Player.html @@ -1,4 +1,4 @@ -SS6Player | ss6player-pixi6

Hierarchy

  • Container
    • SS6Player

Constructors

constructor +SS6Player | ss6player-pixi6

Hierarchy

  • Container
    • SS6Player

Constructors

Properties

_bounds _boundsID _boundsRect @@ -124,7 +124,7 @@

Parameters

  • ss6project: SS6Project

    SS6Project that contains animations.

  • animePackName: string = null

    The name of animePack(SSAE).

  • animeName: string = null

    The name of animation.

    -

Returns SS6Player

Properties

_bounds: Bounds

The bounds object, this is used to calculate and store the bounds of the displayObject.

+

Returns SS6Player

Properties

_bounds: Bounds

The bounds object, this is used to calculate and store the bounds of the displayObject.

_boundsID: number

Flags the cached bounds as dirty.

_boundsRect: Rectangle

Cache of this display-object's bounds-rectangle.

_destroyed: boolean

If the object has been destroyed via destroy(). If true, it should not be used.

@@ -151,11 +151,11 @@ To remove filters simply set this property to 'null'.

isMask: boolean

Does any other displayObject use this object as a mask?

isSprite: boolean

Used to fast check if a sprite is.. a sprite!

-
name: string
onUserDataCallback: ((data: any) => void)
parent: Container<DisplayObject>

The display object container that contains this display object.

-
playEndCallback: ((player: SS6Player) => void)
playerLib: Player
renderable: boolean

Can this object be rendered, if false the object will not be drawn but the updateTransform +

name: string
onUserDataCallback: ((data: any) => void)
parent: Container<DisplayObject>

The display object container that contains this display object.

+
playEndCallback: ((player: SS6Player) => void)
playerLib: Player
renderable: boolean

Can this object be rendered, if false the object will not be drawn but the updateTransform methods will still be called.

Only affects recursive calls from parent. You can ask for bounds manually.

-
skipEnabled: boolean
sortDirty: boolean

Should children be sorted by zIndex at the next updateTransform call.

+
skipEnabled: boolean
sortDirty: boolean

Should children be sorted by zIndex at the next updateTransform call.

Will get automatically set to true if a new child is added, or if a child's zIndex changes.

sortableChildren: boolean

If set to true, the container will sort its children by zIndex value when updateTransform() is called, or manually if sortChildren() is called.

@@ -174,10 +174,10 @@
worldAlpha: number

The multiplied alpha of the displayObject.

prefixed: string | boolean

Accessors

  • get _tempDisplayObjectParent(): TemporaryDisplayObject
  • Protected

    Returns TemporaryDisplayObject

  • get angle(): number
  • The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

    -

    Returns number

  • set angle(value): void
  • Parameters

    • value: number

    Returns void

  • get destroyed(): boolean
  • Readonly flag for destroyed display objects.

    -

    Returns boolean

  • get height(): number
  • The height of the Container, setting this will actually modify the scale to achieve the value set.

    -

    Returns number

  • set height(value): void
  • Parameters

    • value: number

    Returns void

  • get localTransform(): Matrix
  • Current transform of the object based on local factors: position, scale, other stuff.

    -

    Returns Matrix

  • get mask(): Container<DisplayObject> | MaskData
  • Sets a mask for the displayObject. A mask is an object that limits the visibility of an +

    Returns number

  • set angle(value): void
  • Parameters

    • value: number

    Returns void

  • get destroyed(): boolean
  • Readonly flag for destroyed display objects.

    +

    Returns boolean

  • get height(): number
  • The height of the Container, setting this will actually modify the scale to achieve the value set.

    +

    Returns number

  • set height(value): void
  • Parameters

    • value: number

    Returns void

  • get localTransform(): Matrix
  • Current transform of the object based on local factors: position, scale, other stuff.

    +

    Returns Matrix

  • get mask(): Container<DisplayObject> | MaskData
  • Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. In PixiJS a regular mask must be a PIXI.Graphics or a PIXI.Sprite object. This allows for much faster masking in canvas as it utilities shape clipping. Furthermore, a mask of an object must be in the subtree of its parent. @@ -201,7 +201,7 @@

    4.0.0

  • set scale(value): void
  • Parameters

    • value: IPointData

    Returns void

  • get skew(): ObservablePoint<any>
  • The skew factor for the object in radians.

    Returns ObservablePoint<any>

    4.0.0

    -
  • set skew(value): void
  • Parameters

    • value: IPointData

    Returns void

  • get width(): number
  • The width of the Container, setting this will actually modify the scale to achieve the value set.

    +
  • set skew(value): void
  • Parameters

    • value: IPointData

    Returns void

  • get width(): number
  • The width of the Container, setting this will actually modify the scale to achieve the value set.

    Returns number

  • set width(value): void
  • Parameters

    • value: number

    Returns void

  • get worldTransform(): Matrix
  • Current transform of the object based on world (parent) factors.

    Returns Matrix

  • get worldVisible(): boolean
  • Indicates if the object is globally visible.

    Returns boolean

Returns boolean

  • アニメーションの速度を設定する (deprecated この関数は削除される可能性があります)

    +

Returns boolean

  • アニメーションの速度を設定する (deprecated この関数は削除される可能性があります)

    Parameters

    • fps: number

      アニメーション速度(frame per sec.)

    • _skipEnabled: boolean = true

      描画更新が間に合わないときにフレームをスキップするかどうか

      -

    Returns void

  • アニメーション再生設定

    +

Returns void

  • アニメーション再生設定

    Parameters

    • _startframe: number = -1

      開始フレーム番号(マイナス設定でデフォルト値を変更しない)

    • _endframe: number = -1

      終了フレーム番号(マイナス設定でデフォルト値を変更しない)

    • _loops: number = -1

      ループ回数(ゼロもしくはマイナス設定で無限ループ)

      -

    Returns void

  • アニメーションの速度を設定する

    +

Returns void

  • アニメーションの速度を設定する

    Parameters

    • fpsRate: number

      アニメーション速度(設定値に対する乗率)負数設定で逆再生

    • _skipEnabled: boolean = true

      描画更新が間に合わないときにフレームをスキップするかどうか

      -

    Returns void

  • 1フレーム分のアニメーション描画

    +

Returns void

  • 1フレーム分のアニメーション描画

    Parameters

    • frameNumber: number

      フレーム番号

    • ds: number = 0.0

      delta step

      -

    Returns void

  • Setup

    +

Returns void

  • エラー処理

    +

Returns void

  • Update is called PIXI.ticker

    +

Returns void

  • Update is called PIXI.ticker

    Parameters

    • delta: number

      expected 1

      -
    • rewindAfterReachingEndFrame: boolean = true

    Returns void

  • Protected

    Recalculates the content bounds of this object. This should be overriden to +

  • rewindAfterReachingEndFrame: boolean = true

Returns void

  • Protected

    Recalculates the content bounds of this object. This should be overriden to calculate the bounds of this specific object (not including children).

    Returns void

  • Recursively updates transform of all objects from the root to this one internal function for toLocal()

    Returns void

Constructors

Properties

independent: boolean = false
infinity: boolean = false
pingpong: boolean = false
refEndframe: number = 0
refSpeed: number = 1.0
refStartframe: number = 0
refloopNum: number = 0
reverse: boolean = false
diff --git a/docs/ss6player_pixi6_api/classes/SS6Project.html b/docs/ss6player_pixi6_api/classes/SS6Project.html index a4b1c237..a70c6c1e 100644 --- a/docs/ss6player_pixi6_api/classes/SS6Project.html +++ b/docs/ss6player_pixi6_api/classes/SS6Project.html @@ -1,4 +1,4 @@ -SS6Project | ss6player-pixi6

Constructors

constructor +SS6Project | ss6player-pixi6

Constructors

Properties

fbObj onComplete rootPath @@ -11,9 +11,9 @@

Constructors

  • SS6Project (used for several SS6Player(s))

    Parameters

    • ssfbPath: string

      ssfb file path

    • OptionalonComplete: onCompleteCallback

      result callback

      -

    Returns SS6Project

  • SS6Project (used for several SS6Player(s))

    +

Returns SS6Project

  • SS6Project (used for several SS6Player(s))

    Parameters

    • ssfbName: string

      ssfb file name

    • bytes: Uint8Array

      ssfb file data

    • imageBinaryMap: {
          [key: string]: Uint8Array;
      }

      Image file data

      • [key: string]: Uint8Array
    • OptionalonComplete: onCompleteCallback

      result callback

      -

    Returns SS6Project

  • Properties

    fbObj: ProjectData
    onComplete: onCompleteCallback
    rootPath: string
    ssfbFile: string
    ssfbPath: string
    status: RESOURCE_PROGRESS

    Methods

    +

    Returns SS6Project

    Properties

    fbObj: ProjectData
    onComplete: onCompleteCallback
    rootPath: string
    ssfbFile: string
    ssfbPath: string
    status: RESOURCE_PROGRESS

    Methods

    diff --git a/docs/ss6player_pixi_api/classes/SS6Player.html b/docs/ss6player_pixi_api/classes/SS6Player.html index 55b977d1..a81a5859 100644 --- a/docs/ss6player_pixi_api/classes/SS6Player.html +++ b/docs/ss6player_pixi_api/classes/SS6Player.html @@ -1,4 +1,4 @@ -SS6Player | ss6player-pixi

    Hierarchy

    • Container
      • SS6Player

    Constructors

    constructor +SS6Player | ss6player-pixi

    Hierarchy

    • Container
      • SS6Player

    Constructors

    Properties

    Accessors

    alpha @@ -187,7 +188,7 @@

    Parameters

    • ss6project: SS6Project

      SS6Project that contains animations.

    • animePackName: string = null

      The name of animePack(SSAE).

    • animeName: string = null

      The name of animation.

      -

    Returns SS6Player

    Properties

    _accessibleActive?: boolean
    _accessibleDiv?: AccessibleHTMLElement
    _filterEffect?: FilterEffect
    _internalEventMode: EventMode
    _localBoundsCacheData: LocalBoundsCacheData
    _localBoundsCacheId: number
    _maskEffect?: MaskEffect
    _onRender: (() => void)
    _renderId?: number
    _zIndex: number
    accessible?: boolean

    Flag for if the object is accessible. If true AccessibilityManager will overlay a +

    Returns SS6Player

    Properties

    _accessibleActive?: boolean
    _accessibleDiv?: AccessibleHTMLElement
    _filterEffect?: FilterEffect
    _internalEventMode: EventMode
    _localBoundsCacheData: LocalBoundsCacheData
    _localBoundsCacheId: number
    _maskEffect?: MaskEffect
    _onRender: (() => void)
    _renderId?: number
    _zIndex: number
    accessible?: boolean

    Flag for if the object is accessible. If true AccessibilityManager will overlay a shadow div with attributes set

    false
     
    @@ -215,8 +216,8 @@ This is great for optimisation! If for example you have a 1000 spinning particles and you know they all sit within a specific bounds, then setting it will mean the renderer will not need to measure the 1000 children to find the bounds. Instead it will just use the bounds you set.

    -
    children: ContainerChild[]

    The array of children of this container.

    -
    cullArea?: Rectangle

    If set, this shape is used for culling instead of the bounds of this object. +

    children: ContainerChild[]

    The array of children of this container.

    +
    cullArea?: Rectangle

    If set, this shape is used for culling instead of the bounds of this object. It can improve the culling performance of objects with many children. The culling area is defined in local space.

    scene.Container#

    @@ -235,19 +236,19 @@

    scene.Container#

    cursor?: string

    The cursor preferred when the mouse pointer is hovering over.

    depthOfChildModified: (() => void)
    destroyed: boolean

    If the object has been destroyed via destroy(). If true, it should not be used.

    -
    effects?: Effect[]
    eventMode?: EventMode

    The mode of interaction for this object

    -
    filterArea?: Rectangle
    filters: Filter | Filter[]
    groupAlpha: number
    groupColor: number
    groupColorAlpha: number
    groupTransform: Matrix

    The group transform is a transform relative to the render group it belongs too. +

    effects?: Effect[]
    eventMode?: EventMode

    The mode of interaction for this object

    +
    filterArea?: Rectangle
    filters: Filter | Filter[]
    groupAlpha: number
    groupColor: number
    groupColorAlpha: number
    groupTransform: Matrix

    The group transform is a transform relative to the render group it belongs too. If this container is render group then this will be an identity matrix. other wise it will be the same as the relativeGroupTransform. Use this value when actually rendering things to the screen

    -
    hitArea?: IHitArea

    The hit-area specifies the area for which pointer events should be captured by this event target.

    +
    hitArea?: IHitArea

    The hit-area specifies the area for which pointer events should be captured by this event target.

    interactive?: boolean

    Whether this event target should fire UI events.

    interactiveChildren?: boolean

    Whether this event target has any children that need UI events. This can be used optimize event propagation.

    isInteractive: (() => boolean)

    Returns true if the Container has interactive 'static' or 'dynamic'

    -
    label: string
    localAlpha: number
    localColor: number
    localTransform: Matrix

    Current transform of the object based on local factors: position, scale, other stuff.

    -
    mask: number | Container<ContainerChild>
    name: string

    since 8.0.0

    +
    label: string
    localAlpha: number
    localColor: number
    localTransform: Matrix

    Current transform of the object based on local factors: position, scale, other stuff.

    +
    mask: number | Container<ContainerChild>
    name: string

    since 8.0.0

    Container#label

    -
    onRender: (() => void)
    onUserDataCallback: ((data: any) => void)
    onclick?: FederatedEventHandler<FederatedPointerEvent>

    Handler for 'click' event

    +
    onRender: (() => void)
    onUserDataCallback: ((data: any) => void)
    onclick?: FederatedEventHandler<FederatedPointerEvent>

    Handler for 'click' event

    onglobalmousemove?: FederatedEventHandler<FederatedPointerEvent>

    Handler for 'globalmousemove' event

    onglobalpointermove?: FederatedEventHandler<FederatedPointerEvent>

    Handler for 'globalpointermove' event

    onglobaltouchmove?: FederatedEventHandler<FederatedPointerEvent>
    ontouchstart?: FederatedEventHandler<FederatedPointerEvent>

    Handler for 'touchstart' event

    onwheel?: FederatedEventHandler<FederatedWheelEvent>

    Handler for 'wheel' event

    parent: Container<ContainerChild>

    The display object container that contains this display object.

    -
    playEndCallback: ((player: SS6Player) => void)
    playerLib: Player
    relativeGroupTransform: Matrix

    The relative group transform is a transform relative to the render group it belongs too. It will include all parent +

    playEndCallback: ((player: SS6Player) => void)
    playerLib: Player
    relativeGroupTransform: Matrix

    The relative group transform is a transform relative to the render group it belongs too. It will include all parent transforms and up to the render group (think of it as kind of like a stage - but the stage can be nested). If this container is is self a render group matrix will be relative to its parent render group

    -
    renderPipeId: string
    skipEnabled: boolean
    sortChildren: (() => void)
    sortDirty: boolean
    sortableChildren: boolean
    tabIndex?: number
    0
    +
    renderPipeId: string
    skipEnabled: boolean
    sortChildren: (() => void)
    sortDirty: boolean
    sortableChildren: boolean
    tabIndex?: number
    0
     
    -
    zIndex: number
    prefixed: string | boolean

    Accessors

    • get alpha(): number
    • The opacity of the object.

      -

      Returns number

    • set alpha(value): void
    • Parameters

      • value: number

      Returns void

    • get angle(): number
    • The angle of the object in degrees. +

    uid: number

    unique id for this container

    +
    zIndex: number
    prefixed: string | boolean

    Accessors

    • get alpha(): number
    • The opacity of the object.

      +

      Returns number

    • set alpha(value): void
    • Parameters

      • value: number

      Returns void

    • get angle(): number
    • The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

      -

      Returns number

    • set angle(value): void
    • Parameters

      • value: number

      Returns void

    • get blendMode(): BLEND_MODES
    • The blend mode to be applied to the sprite. Apply a value of 'normal' to reset the blend mode.

      +

      Returns number

    • set angle(value): void
    • Parameters

      • value: number

      Returns void

    • get blendMode(): BLEND_MODES
    • The blend mode to be applied to the sprite. Apply a value of 'normal' to reset the blend mode.

      Returns BLEND_MODES

      'normal'
       
      -
    • set blendMode(value): void
    • Parameters

      • value: BLEND_MODES

      Returns void

    • get height(): number
    • The height of the Container, setting this will actually modify the scale to achieve the value set.

      +
    • set blendMode(value): void
    • Parameters

      • value: BLEND_MODES

      Returns void

    • get height(): number
    • The height of the Container, setting this will actually modify the scale to achieve the value set.

      Returns number

      scene.Container#

      -
    • set height(value): void
    • Parameters

      • value: number

      Returns void

    • get isRenderGroup(): boolean
    • Returns true if this container is a render group. +

    • set height(value): void
    • Parameters

      • value: number

      Returns void

    • get isRenderGroup(): boolean
    • Returns true if this container is a render group. This means that it will be rendered as a separate pass, with its own set of instructions

      -

      Returns boolean

    • set isRenderGroup(value): void
    • Parameters

      • value: boolean

      Returns void

    • get isRenderable(): boolean
    • Whether or not the object should be rendered.

      -

      Returns boolean

    • get pivot(): ObservablePoint
    • The center of rotation, scaling, and skewing for this display object in its local space. The position +

      Returns boolean

    • set isRenderGroup(value): void
    • Parameters

      • value: boolean

      Returns void

    • get isRenderable(): boolean
    • Whether or not the object should be rendered.

      +

      Returns boolean

    • get pivot(): ObservablePoint
    • The center of rotation, scaling, and skewing for this display object in its local space. The position is the projection of pivot in the parent's local space.

      By default, the pivot is the origin (0, 0).

      Returns ObservablePoint

      4.0.0

      -
    • set pivot(value): void
    • Parameters

      • value: number | PointData

      Returns void

    • get position(): ObservablePoint
    • The coordinate of the object relative to the local coordinates of the parent.

      +
    • set pivot(value): void
    • Parameters

      • value: number | PointData

      Returns void

    • get position(): ObservablePoint
    • The coordinate of the object relative to the local coordinates of the parent.

      Returns ObservablePoint

      4.0.0

      -
    • set position(value): void
    • Parameters

      • value: PointData

      Returns void

    • get renderable(): boolean
    • Can this object be rendered, if false the object will not be drawn but the transform will still be updated.

      -

      Returns boolean

    • set renderable(value): void
    • Parameters

      • value: boolean

      Returns void

    • get rotation(): number
    • The rotation of the object in radians. +

    • set position(value): void
    • Parameters

      • value: PointData

      Returns void

    • get renderable(): boolean
    • Can this object be rendered, if false the object will not be drawn but the transform will still be updated.

      +

      Returns boolean

    • set renderable(value): void
    • Parameters

      • value: boolean

      Returns void

    • get rotation(): number
    • The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

      -

      Returns number

    • set rotation(value): void
    • Parameters

      • value: number

      Returns void

    • get scale(): ObservablePoint
    • The scale factors of this object along the local coordinate axes.

      +

      Returns number

    • set rotation(value): void
    • Parameters

      • value: number

      Returns void

    • get scale(): ObservablePoint
    • The scale factors of this object along the local coordinate axes.

      The default scale is (1, 1).

      Returns ObservablePoint

      4.0.0

      -
    • set scale(value): void
    • Parameters

      • value: number | PointData

      Returns void

    • get skew(): ObservablePoint
    • The skew factor for the object in radians.

      +
    • set scale(value): void
    • Parameters

      • value: number | PointData

      Returns void

    • get skew(): ObservablePoint
    • The skew factor for the object in radians.

      Returns ObservablePoint

      4.0.0

      -
    • set skew(value): void
    • Parameters

      • value: PointData

      Returns void

    • get tint(): number
    • The tint applied to the sprite. This is a hex value.

      +
    • set skew(value): void
    • Parameters

      • value: PointData

      Returns void

    • get tint(): number
    • The tint applied to the sprite. This is a hex value.

      A value of 0xFFFFFF will remove any tint effect.

      Returns number

      0xFFFFFF
       
      -
    • set tint(value): void
    • Parameters

      • value: ColorSource

      Returns void

    • get visible(): boolean
    • The visibility of the object. If false the object will not be drawn, and the transform will not be updated.

      -

      Returns boolean

    • set visible(value): void
    • Parameters

      • value: boolean

      Returns void

    • get width(): number
    • The width of the Container, setting this will actually modify the scale to achieve the value set.

      +
    • set tint(value): void
    • Parameters

      • value: ColorSource

      Returns void

    • get visible(): boolean
    • The visibility of the object. If false the object will not be drawn, and the transform will not be updated.

      +

      Returns boolean

    • set visible(value): void
    • Parameters

      • value: boolean

      Returns void

    • get width(): number
    • The width of the Container, setting this will actually modify the scale to achieve the value set.

      Returns number

      scene.Container#

      -
    • set width(value): void
    • Parameters

      • value: number

      Returns void

    • get worldTransform(): Matrix
    • Current transform of the object based on world (parent) factors.

      -

      Returns Matrix

    • get x(): number
    • The position of the container on the x axis relative to the local coordinates of the parent. +

    • set width(value): void
    • Parameters

      • value: number

      Returns void

    • get worldTransform(): Matrix
    • Current transform of the object based on world (parent) factors.

      +

      Returns Matrix

    • get x(): number
    • The position of the container on the x axis relative to the local coordinates of the parent. An alias to position.x

      -

      Returns number

    • set x(value): void
    • Parameters

      • value: number

      Returns void

    • get y(): number
    • The position of the container on the y axis relative to the local coordinates of the parent. +

      Returns number

    • set x(value): void
    • Parameters

      • value: number

      Returns void

    • get y(): number
    • The position of the container on the y axis relative to the local coordinates of the parent. An alias to position.y

      -

      Returns number

    • set y(value): void
    • Parameters

      • value: number

      Returns void

    Methods

    • 名前を指定してパーツの再生するインスタンスアニメを変更します。 +

      Returns number

    • set y(value): void
    • Parameters

      • value: number

      Returns void

    Methods

    Returns boolean

    • アニメーションの速度を設定する (deprecated この関数は削除される可能性があります)

      +

    Returns boolean

    • アニメーションの速度を設定する (deprecated この関数は削除される可能性があります)

      Parameters

      • fps: number

        アニメーション速度(frame per sec.)

      • _skipEnabled: boolean = true

        描画更新が間に合わないときにフレームをスキップするかどうか

        -

      Returns void

    • アニメーション再生設定

      +

    Returns void

    • アニメーション再生設定

      Parameters

      • _startframe: number = -1

        開始フレーム番号(マイナス設定でデフォルト値を変更しない)

      • _endframe: number = -1

        終了フレーム番号(マイナス設定でデフォルト値を変更しない)

      • _loops: number = -1

        ループ回数(ゼロもしくはマイナス設定で無限ループ)

        -

      Returns void

    • アニメーションの速度を設定する

      +

    Returns void

    • アニメーションの速度を設定する

      Parameters

      • fpsRate: number

        アニメーション速度(設定値に対する乗率)負数設定で逆再生

      • _skipEnabled: boolean = true

        描画更新が間に合わないときにフレームをスキップするかどうか

        -

      Returns void

    • 1フレーム分のアニメーション描画

      +

    Returns void

    • 1フレーム分のアニメーション描画

      Parameters

      • frameNumber: number

        フレーム番号

      • ds: number = 0.0

        delta step

        -

      Returns void

    • パーツに割り当たるセルを変更します.

      +

    Returns void

    • パーツに割り当たるセルを変更します.

      Parameters

      • partsname: string

        パーツ名

      • sscename: string

        セルマップ名

      • cellname: string

        表示させたいセル名

        -

      Returns void

    • ユーザーデータコールバックの設定

      -

      Parameters

      • fn: ((data: any) => void)
          • (data): void
          • Parameters

            • data: any

            Returns void

      Returns void

    • Setup

      +

    Returns void

    • ユーザーデータコールバックの設定

      +

      Parameters

      • fn: ((data: any) => void)
          • (data): void
          • Parameters

            • data: any

            Returns void

      Returns void

    • エラー処理

      +

    Returns void

    • Update is called PIXI.ticker

      +

    Returns void

    • Update is called PIXI.ticker

      Parameters

      • delta: number

        expected 1

        -
      • rewindAfterReachingEndFrame: boolean = true

      Returns void

    • Parameters

      • height: number
      • localHeight: number

      Returns void

    • Parameters

      • width: number
      • localWidth: number

      Returns void

    • Adds one or more children to the container.

      +
    • rewindAfterReachingEndFrame: boolean = true

    Returns void

    • Parameters

      • height: number
      • localHeight: number

      Returns void

    • Parameters

      • width: number
      • localWidth: number

      Returns void

    • Adds one or more children to the container.

      Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)

      Type Parameters

      • U extends ContainerChild[]

      Parameters

      • Rest...children: U

        The Container(s) to add to the container

      Returns U[0]

      • The first child that was added.
      -
    • Type Parameters

      • U extends ContainerChild

      Parameters

      • child: U
      • index: number

      Returns U

    • Parameters

      • effect: Effect

      Returns void

    • Type Parameters

      • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

      Parameters

      • type: K
      • listener: ((e: AllFederatedEventMap[K]) => any)
          • (e): any
          • Parameters

            • e: AllFederatedEventMap[K]

            Returns any

      • Optionaloptions: AddListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optionaloptions: AddListenerOptions

      Returns void

    • Type Parameters

      • T extends (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Parameters

      • event: T
      • fn: ((...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]

            Returns void

      • Optionalcontext: any

      Returns this

    • Removes all internal references and listeners as well as removes children from the display list. +

    • Type Parameters

      • U extends ContainerChild

      Parameters

      • child: U
      • index: number

      Returns U

    • Parameters

      • effect: Effect

      Returns void

    • Type Parameters

      • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

      Parameters

      • type: K
      • listener: ((e: AllFederatedEventMap[K]) => any)
          • (e): any
          • Parameters

            • e: AllFederatedEventMap[K]

            Returns any

      • Optionaloptions: AddListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optionaloptions: AddListenerOptions

      Returns void

    • Type Parameters

      • T extends (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Parameters

      • event: T
      • fn: ((...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]

            Returns void

      • Optionalcontext: any

      Returns this

    • Removes all internal references and listeners as well as removes children from the display list. Do not use a Container after calling destroy.

      Parameters

      • Optionaloptions: DestroyOptions

        Options parameter. A boolean will act as if all options have been set to that value

        -

      Returns void

    • This will disable the render group for this container.

      -

      Returns void

    • Parameters

      • e: FederatedEvent<UIEvent | PixiTouch>

      Returns boolean

    • Calls each of the listeners registered for a given event.

      +

    Returns void

    • This will disable the render group for this container.

      +

      Returns void

    • Parameters

      • e: FederatedEvent<UIEvent | PixiTouch>

      Returns boolean

    • Calls each of the listeners registered for a given event.

      Type Parameters

      • T extends (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Parameters

      • event: T
      • Rest...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]

      Returns boolean

    • Calling this enables a render group for this container. This means it will be rendered as a separate set of instructions. The transform of the container will also be handled on the GPU rather than the CPU.

      -

      Returns void

    • Return an array listing the events for which the emitter has registered +

      Returns void

    • Return an array listing the events for which the emitter has registered listeners.

      Returns ((keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent))[]

    • Parameters

      • OptionalskipUpdate: boolean
      • Optionalbounds: Bounds

      Returns Bounds

    • Type Parameters

      • U extends ContainerChild

      Parameters

      • index: number

      Returns U

    • Parameters

      • label: string | RegExp
      • Optionaldeep: boolean

      Returns Container<ContainerChild>

    • Parameters

      • label: string | RegExp
      • Optionaldeep: boolean

      Returns Container<ContainerChild>

    • Parameters

      • child: ContainerChild

      Returns number

    • Parameters

      • label: string | RegExp
      • Optionaldeep: boolean
      • Optionalout: Container<ContainerChild>[]

      Returns Container<ContainerChild>[]

    • Parameters

      • Optionalpoint: Point
      • OptionalskipUpdate: boolean

      Returns Point

    • Parameters

      • Optionalbounds: Bounds

      Returns Bounds

    • Retrieves the size of the container as a [Size]Size object. This is faster than get the width and height separately.

      @@ -395,7 +397,7 @@

    scene.Container#

    -
    • Return the number of listeners listening to a given event.

      +
    • Return the number of listeners listening to a given event.

      Parameters

      • event: (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Returns number

    • Return the listeners registered for a given event.

      Type Parameters

      • T extends (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Parameters

      • event: T

      Returns ((...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]) => void)[]

    • Type Parameters

      • T extends (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Parameters

      • event: T
      • Optionalfn: ((...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]

            Returns void

      • Optionalcontext: any
      • Optionalonce: boolean

      Returns this

    • Add a listener for a given event.

      Type Parameters

      • T extends (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Parameters

      • event: T
      • fn: ((...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]

            Returns void

      • Optionalcontext: any

      Returns this

    • Removes one or more children from the container.

      Type Parameters

      • U extends ContainerChild[]

      Parameters

      • Rest...children: U

        The Container(s) to remove

      Returns U[0]

      The first child that was removed.

      -
    • Type Parameters

      • U extends ContainerChild

      Parameters

      • index: number

      Returns U

    • Parameters

      • OptionalbeginIndex: number
      • OptionalendIndex: number

      Returns ContainerChild[]

    • Parameters

      • effect: Effect

      Returns void

    • Type Parameters

      • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

      Parameters

      • type: K
      • listener: ((e: AllFederatedEventMap[K]) => any)
          • (e): any
          • Parameters

            • e: AllFederatedEventMap[K]

            Returns any

      • Optionaloptions: RemoveListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optionaloptions: RemoveListenerOptions

      Returns void

    • Returns void

    • Remove the listeners of a given event.

      +
    • Type Parameters

      • U extends ContainerChild

      Parameters

      • index: number

      Returns U

    • Parameters

      • OptionalbeginIndex: number
      • OptionalendIndex: number

      Returns ContainerChild[]

    • Parameters

      • effect: Effect

      Returns void

    • Type Parameters

      • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

      Parameters

      • type: K
      • listener: ((e: AllFederatedEventMap[K]) => any)
          • (e): any
          • Parameters

            • e: AllFederatedEventMap[K]

            Returns any

      • Optionaloptions: RemoveListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optionaloptions: RemoveListenerOptions

      Returns void

    • Returns void

    • Remove the listeners of a given event.

      Type Parameters

      • T extends (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)

      Parameters

      • event: T
      • Optionalfn: ((...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ArgumentMap<ContainerEvents<ContainerChild> & AnyEvent>[Extract<T, (keyof ContainerEvents<ContainerChild>) | (keyof AnyEvent)>]

            Returns void

      • Optionalcontext: any
      • Optionalonce: boolean

      Returns this

    • Type Parameters

      • U extends ContainerChild[]

      Parameters

      • Rest...child: U

      Returns U[0]

    • Type Parameters

      • U extends ContainerChild

      Parameters

      • child: U
      • index: number

      Returns U

    • Parameters

      • child: ContainerChild
      • index: number

      Returns void

    • Updates the local transform using the given matrix.

      Parameters

      • matrix: Matrix

        The matrix to use for updating the transform.

        -

      Returns void

    • Sets the size of the container to the specified width and height. +

    Returns void

    • Sets the size of the container to the specified width and height. This is faster than setting the width and height separately.

      Parameters

      • value: number | Optional<Size, "height">

        This can be either a number or a [Size]Size object.

      • Optionalheight: number

        The height to set. Defaults to the value of width if not provided.

      Returns void

      scene.Container#

      -
    • Type Parameters

      • U extends ContainerChild

      Parameters

      • child: U
      • child2: U

      Returns void

    • Type Parameters

      • P extends PointData = Point

      Parameters

      • position: PointData
      • Optionalpoint: P
      • OptionalskipUpdate: boolean

      Returns P

    • Type Parameters

      • P extends PointData = Point

      Parameters

      • position: PointData
      • Optionalfrom: Container<ContainerChild>
      • Optionalpoint: P
      • OptionalskipUpdate: boolean

      Returns P

    • Updates the local transform.

      -

      Returns void

    • Updates the transform properties of the container (accepts partial values).

      +
    • Type Parameters

      • U extends ContainerChild

      Parameters

      • child: U
      • child2: U

      Returns void

    • Type Parameters

      • P extends PointData = Point

      Parameters

      • position: PointData
      • Optionalpoint: P
      • OptionalskipUpdate: boolean

      Returns P

    • Type Parameters

      • P extends PointData = Point

      Parameters

      • position: PointData
      • Optionalfrom: Container<ContainerChild>
      • Optionalpoint: P
      • OptionalskipUpdate: boolean

      Returns P

    • Updates the local transform.

      +

      Returns void

    • Updates the transform properties of the container (accepts partial values).

      Parameters

      • opts: Partial<UpdateTransformOptions>

        The options for updating the transform.

        -

      Returns this

    • Mixes all enumerable properties and methods from a source object to Container.

      +

    Returns this

    • Mixes all enumerable properties and methods from a source object to Container.

      Parameters

      • source: Dict<any>

        The source of properties and methods to mix in.

        -

      Returns void

    +

    Returns void

    diff --git a/docs/ss6player_pixi_api/classes/SS6PlayerInstanceKeyParam.html b/docs/ss6player_pixi_api/classes/SS6PlayerInstanceKeyParam.html index f9ad5c1c..392f11fb 100644 --- a/docs/ss6player_pixi_api/classes/SS6PlayerInstanceKeyParam.html +++ b/docs/ss6player_pixi_api/classes/SS6PlayerInstanceKeyParam.html @@ -1,5 +1,5 @@ SS6PlayerInstanceKeyParam | ss6player-pixi

    Class SS6PlayerInstanceKeyParam

    インスタンス差し替え用のキーパラメーター

    -

    Constructors

    Constructors

    Properties

    Constructors

    Properties

    independent: boolean = false
    infinity: boolean = false
    pingpong: boolean = false
    refEndframe: number = 0
    refSpeed: number = 1.0
    refStartframe: number = 0
    refloopNum: number = 0
    reverse: boolean = false
    +

    Constructors

    Properties

    independent: boolean = false
    infinity: boolean = false
    pingpong: boolean = false
    refEndframe: number = 0
    refSpeed: number = 1.0
    refStartframe: number = 0
    refloopNum: number = 0
    reverse: boolean = false
    diff --git a/docs/ss6player_pixi_api/classes/SS6Project.html b/docs/ss6player_pixi_api/classes/SS6Project.html index 49825a01..82f5af06 100644 --- a/docs/ss6player_pixi_api/classes/SS6Project.html +++ b/docs/ss6player_pixi_api/classes/SS6Project.html @@ -1,4 +1,4 @@ -SS6Project | ss6player-pixi

    Class SS6Project

    Constructors

    constructor +SS6Project | ss6player-pixi

    Class SS6Project

    Constructors

    Properties

    fbObj onComplete rootPath @@ -11,9 +11,9 @@

    Constructors

    • SS6Project (used for several SS6Player(s))

      Parameters

      • ssfbPath: string

        ssfb file path

      • OptionalonComplete: onCompleteCallback

        result callback

        -

      Returns SS6Project

    • SS6Project (used for several SS6Player(s))

      +

    Returns SS6Project

  • SS6Project (used for several SS6Player(s))

    Parameters

    • ssfbName: string

      ssfb file name

    • bytes: Uint8Array

      ssfb file data

    • imageBinaryMap: {
          [key: string]: Uint8Array;
      }

      Image file data

      • [key: string]: Uint8Array
    • OptionalonComplete: onCompleteCallback

      result callback

      -

    Returns SS6Project

  • Properties

    fbObj: ProjectData
    onComplete: onCompleteCallback
    rootPath: string
    ssfbFile: string
    ssfbPath: string
    status: RESOURCE_PROGRESS

    Methods

    +

    Returns SS6Project

    Properties

    fbObj: ProjectData
    onComplete: onCompleteCallback
    rootPath: string
    ssfbFile: string
    ssfbPath: string
    status: RESOURCE_PROGRESS

    Methods

    diff --git a/docs/ss6player_pixi_api/media/sample.js b/docs/ss6player_pixi_api/media/sample.js index 86b05582..da596cb0 100644 --- a/docs/ss6player_pixi_api/media/sample.js +++ b/docs/ss6player_pixi_api/media/sample.js @@ -15,6 +15,7 @@ //const testVersion = "sampleAnimation2"; const testVersion = "sampleAnimation3"; //const testVersion = "sampleReplaceTexture"; +//const testVersion = "sampleReplaceMeshTexture"; (async () => { PIXI.sayHello(); @@ -50,6 +51,11 @@ const testVersion = "sampleAnimation3"; "sampleReplaceTexture": { "ssfbFile": "../../../TestData/MeshBone/Knight.ssfb", "func": Play_sampleReplaceTexture + }, + + "sampleReplaceMeshTexture": { + "ssfbFile": "../../../TestData/SimpleMeshParts/simple_mesh_parts.ssfb", + "func": Play_sampleReplaceMeshTexture } }; @@ -133,4 +139,16 @@ const testVersion = "sampleAnimation3"; // 再生開始 mySS6Player.Play(); } + + function Play_sampleReplaceMeshTexture() { + let mySS6Player = new ss6PlayerPixi.SS6Player(mySS6Project); + mySS6Player.Setup('mesh_parts', 'anime_1'); + mySS6Player.position = new PIXI.Point(320, 480); + mySS6Player.SetPartCell('mesh_skinned', 'common_1', 'Red'); + app.stage.addChild(mySS6Player); + + // 再生開始 + mySS6Player.Play(); + } + })(); diff --git a/docs/ss6player_viewer_api/classes/Player.html b/docs/ss6player_viewer_api/classes/Player.html index ed998d38..252a6570 100644 --- a/docs/ss6player_viewer_api/classes/Player.html +++ b/docs/ss6player_viewer_api/classes/Player.html @@ -1,4 +1,4 @@ -Player | ss6player-viewer

    Constructors

    constructor +Player | ss6player-viewer

    Constructors

    Properties

    Constructors

    Properties

    canvasHeight: number = null
    canvasWidth: number = null
    infinityFlag: boolean = true
    mainContainer: MainContainer = null
    onComplete: (() => void)
    onPlayStateChangeCallback: ((isPlaying: boolean, isPausing: boolean) => void) = null
    onUpdateCallback: ((player: AnimationContainer) => void) = null
    onUserDataCallback: ((data: any) => void) = null
    pixiApplication: Application<Renderer> = null
    playEndCallback: ((player: AnimationContainer) => void) = null
    projectData: SS6Project
    textureContainer: AnimationContainer = null

    Accessors

    Methods

    • Returns {
          [key: string]: any;
      }

      • [key: string]: any
    • Returns any

    • Returns any

    • Returns any

    • Returns AnimationContainer

    • Parameters

      • canvasWrapperElement: any
      • Optionaloptions: Partial<ApplicationOptions>

      Returns Promise<void>

    • アニメーションを再生する

      +

    Constructors

    Properties

    canvasHeight: number = null
    canvasWidth: number = null
    infinityFlag: boolean = true
    mainContainer: MainContainer = null
    onComplete: (() => void)
    onPlayStateChangeCallback: ((isPlaying: boolean, isPausing: boolean) => void) = null
    onUpdateCallback: ((player: AnimationContainer) => void) = null
    onUserDataCallback: ((data: any) => void) = null
    pixiApplication: Application<Renderer> = null
    playEndCallback: ((player: AnimationContainer) => void) = null
    projectData: SS6Project
    textureContainer: AnimationContainer = null

    Accessors

    Methods

    • Returns {
          [key: string]: any;
      }

      • [key: string]: any
    • Returns any

    • Returns any

    • Returns any

    • Returns AnimationContainer

    • Parameters

      • canvasWrapperElement: any
      • Optionaloptions: Partial<ApplicationOptions>

      Returns Promise<void>

    • アニメーションを再生する

      Parameters

      • animePackName: string

        アニメパック名

      • animeName: string

        アニメーション名

        -

      Returns void

    • Download ssfb file and dependencies image files, and load.

      -

      Parameters

      • url: string

      Returns void

    • Download sspkg file, decompress sspkg and load.

      -

      Parameters

      • url: string

      Returns void

    • Parameters

      • movementX: number
      • movementY: number

      Returns void

    • Parameters

      • _startframe: number = -1
      • _endframe: number = -1
      • _loops: number = -1

      Returns void

    • Parameters

      • value: number

      Returns void

    • Parameters

      • frameNumber: any

      Returns void

    • デフォルトのポジションを設定する

      -

      Returns void

    • デフォルトのスケール率を設定

      -

      Returns void

    • Parameters

      • isInfinity: boolean

      Returns void

    • Parameters

      • zoomPercent: number

      Returns void

    +

    Returns void

    • Download ssfb file and dependencies image files, and load.

      +

      Parameters

      • url: string

      Returns void

    • Download sspkg file, decompress sspkg and load.

      +

      Parameters

      • url: string

      Returns void

    • Parameters

      • movementX: number
      • movementY: number

      Returns void

    • Parameters

      • _startframe: number = -1
      • _endframe: number = -1
      • _loops: number = -1

      Returns void

    • Parameters

      • value: number

      Returns void

    • Parameters

      • frameNumber: any

      Returns void

    • デフォルトのポジションを設定する

      +

      Returns void

    • デフォルトのスケール率を設定

      +

      Returns void

    • Parameters

      • isInfinity: boolean

      Returns void

    • Parameters

      • zoomPercent: number

      Returns void

    diff --git a/docs/ssfblib_api/classes/AnimationData.html b/docs/ssfblib_api/classes/AnimationData.html index 7753ceef..8ad90d84 100644 --- a/docs/ssfblib_api/classes/AnimationData.html +++ b/docs/ssfblib_api/classes/AnimationData.html @@ -1,4 +1,4 @@ -AnimationData | ssfblib

    Class AnimationData

    Constructors

    constructor +AnimationData | ssfblib

    Class AnimationData

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • defaultDataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • frameDataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • labelDataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • meshsDataIndicesOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • meshsDataUvOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • defaultDataOffset: number
      • frameDataOffset: number
      • userDataOffset: number
      • labelDataOffset: number
      • meshsDataUvOffset: number
      • meshsDataIndicesOffset: number
      • startFrames: number
      • endFrames: number
      • totalFrames: number
      • fps: number
      • labelNum: number
      • canvasSizeW: number
      • canvasSizeH: number
      • canvasPvotX: number
      • canvasPvotY: number

      Returns number

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • defaultDataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • frameDataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • labelDataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • meshsDataIndicesOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • meshsDataUvOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • defaultDataOffset: number
      • frameDataOffset: number
      • userDataOffset: number
      • labelDataOffset: number
      • meshsDataUvOffset: number
      • meshsDataIndicesOffset: number
      • startFrames: number
      • endFrames: number
      • totalFrames: number
      • fps: number
      • labelNum: number
      • canvasSizeW: number
      • canvasSizeH: number
      • canvasPvotX: number
      • canvasPvotY: number

      Returns number

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    diff --git a/docs/ssfblib_api/classes/AnimationInitialData.html b/docs/ssfblib_api/classes/AnimationInitialData.html index 5894810e..f3fcbe45 100644 --- a/docs/ssfblib_api/classes/AnimationInitialData.html +++ b/docs/ssfblib_api/classes/AnimationInitialData.html @@ -1,4 +1,4 @@ -AnimationInitialData | ssfblib

    Class AnimationInitialData

    Constructors

    constructor +AnimationInitialData | ssfblib

    Class AnimationInitialData

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • instanceValueCurKeyframe: number

      Returns void

    • Parameters

      • builder: Builder
      • index: number
      • lowflag: number
      • highflag: number
      • priority: number
      • cellIndex: number
      • opacity: number
      • localopacity: number
      • masklimen: number
      • positionX: number
      • positionY: number
      • positionZ: number
      • pivotX: number
      • pivotY: number
      • rotationX: number
      • rotationY: number
      • rotationZ: number
      • scaleX: number
      • scaleY: number
      • localscaleX: number
      • localscaleY: number
      • sizeX: number
      • sizeY: number
      • uvMoveX: number
      • uvMoveY: number
      • uvRotation: number
      • uvScaleX: number
      • uvScaleY: number
      • boundingRadius: number
      • instanceValueCurKeyframe: number
      • instanceValueStartFrame: number
      • instanceValueEndFrame: number
      • instanceValueLoopNum: number
      • instanceValueSpeed: number
      • instanceValueLoopflag: number
      • effectValueCurKeyframe: number
      • effectValueStartTime: number
      • effectValueSpeed: number
      • effectValueLoopflag: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • instanceValueCurKeyframe: number

      Returns void

    • Parameters

      • builder: Builder
      • index: number
      • lowflag: number
      • highflag: number
      • priority: number
      • cellIndex: number
      • opacity: number
      • localopacity: number
      • masklimen: number
      • positionX: number
      • positionY: number
      • positionZ: number
      • pivotX: number
      • pivotY: number
      • rotationX: number
      • rotationY: number
      • rotationZ: number
      • scaleX: number
      • scaleY: number
      • localscaleX: number
      • localscaleY: number
      • sizeX: number
      • sizeY: number
      • uvMoveX: number
      • uvMoveY: number
      • uvRotation: number
      • uvScaleX: number
      • uvScaleY: number
      • boundingRadius: number
      • instanceValueCurKeyframe: number
      • instanceValueStartFrame: number
      • instanceValueEndFrame: number
      • instanceValueLoopNum: number
      • instanceValueSpeed: number
      • instanceValueLoopflag: number
      • effectValueCurKeyframe: number
      • effectValueStartTime: number
      • effectValueSpeed: number
      • effectValueLoopflag: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/AnimePackData.html b/docs/ssfblib_api/classes/AnimePackData.html index 4549f237..add54695 100644 --- a/docs/ssfblib_api/classes/AnimePackData.html +++ b/docs/ssfblib_api/classes/AnimePackData.html @@ -1,4 +1,4 @@ -AnimePackData | ssfblib

    Class AnimePackData

    Constructors

    constructor +AnimePackData | ssfblib

    Class AnimePackData

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • animationsOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • partsOffset: number
      • animationsOffset: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • animationsOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • partsOffset: number
      • animationsOffset: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/Cell.html b/docs/ssfblib_api/classes/Cell.html index 775b7ef0..dcf0f96d 100644 --- a/docs/ssfblib_api/classes/Cell.html +++ b/docs/ssfblib_api/classes/Cell.html @@ -1,4 +1,4 @@ -Cell | ssfblib

    Class Cell

    Constructors

    constructor +Cell | ssfblib

    Class Cell

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Returns string

    • Parameters

      • optionalEncoding: Encoding

      Returns string | Uint8Array

    • Parameters

      • builder: Builder
      • cellMapOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • height: number

      Returns void

    • Parameters

      • builder: Builder
      • indexInCellMap: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • pivotX: number

      Returns void

    • Parameters

      • builder: Builder
      • pivotY: number

      Returns void

    • Parameters

      • builder: Builder
      • u1: number

      Returns void

    • Parameters

      • builder: Builder
      • u2: number

      Returns void

    • Parameters

      • builder: Builder
      • v1: number

      Returns void

    • Parameters

      • builder: Builder
      • v2: number

      Returns void

    • Parameters

      • builder: Builder
      • width: number

      Returns void

    • Parameters

      • builder: Builder
      • x: number

      Returns void

    • Parameters

      • builder: Builder
      • y: number

      Returns void

    • Parameters

      • builder: Builder

      Returns void

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Returns string

    • Parameters

      • optionalEncoding: Encoding

      Returns string | Uint8Array

    • Parameters

      • builder: Builder
      • cellMapOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • height: number

      Returns void

    • Parameters

      • builder: Builder
      • indexInCellMap: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • pivotX: number

      Returns void

    • Parameters

      • builder: Builder
      • pivotY: number

      Returns void

    • Parameters

      • builder: Builder
      • u1: number

      Returns void

    • Parameters

      • builder: Builder
      • u2: number

      Returns void

    • Parameters

      • builder: Builder
      • v1: number

      Returns void

    • Parameters

      • builder: Builder
      • v2: number

      Returns void

    • Parameters

      • builder: Builder
      • width: number

      Returns void

    • Parameters

      • builder: Builder
      • x: number

      Returns void

    • Parameters

      • builder: Builder
      • y: number

      Returns void

    • Parameters

      • builder: Builder

      Returns void

    diff --git a/docs/ssfblib_api/classes/CellMap.html b/docs/ssfblib_api/classes/CellMap.html index 85fab36b..c283d13a 100644 --- a/docs/ssfblib_api/classes/CellMap.html +++ b/docs/ssfblib_api/classes/CellMap.html @@ -1,4 +1,4 @@ -CellMap | ssfblib

    Class CellMap

    Constructors

    constructor +CellMap | ssfblib

    Class CellMap

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • filtermode: number

      Returns void

    • Parameters

      • builder: Builder
      • imagePathOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • index: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • wrapmode: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • imagePathOffset: number
      • index: number
      • wrapmode: number
      • filtermode: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • filtermode: number

      Returns void

    • Parameters

      • builder: Builder
      • imagePathOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • index: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • wrapmode: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • imagePathOffset: number
      • index: number
      • wrapmode: number
      • filtermode: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectFile.html b/docs/ssfblib_api/classes/EffectFile.html index 6e2e47a7..a4b167ed 100644 --- a/docs/ssfblib_api/classes/EffectFile.html +++ b/docs/ssfblib_api/classes/EffectFile.html @@ -1,4 +1,4 @@ -EffectFile | ssfblib

    Class EffectFile

    Constructors

    constructor +EffectFile | ssfblib

    Class EffectFile

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • effectNodeOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • isLockRandSeed: number

      Returns void

    • Parameters

      • builder: Builder
      • layoutScaleX: number

      Returns void

    • Parameters

      • builder: Builder
      • layoutScaleY: number

      Returns void

    • Parameters

      • builder: Builder
      • lockRandSeed: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • numNodeList: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • fps: number
      • isLockRandSeed: number
      • lockRandSeed: number
      • layoutScaleX: number
      • layoutScaleY: number
      • numNodeList: number
      • effectNodeOffset: number

      Returns number

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • effectNodeOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • isLockRandSeed: number

      Returns void

    • Parameters

      • builder: Builder
      • layoutScaleX: number

      Returns void

    • Parameters

      • builder: Builder
      • layoutScaleY: number

      Returns void

    • Parameters

      • builder: Builder
      • lockRandSeed: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • numNodeList: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • fps: number
      • isLockRandSeed: number
      • lockRandSeed: number
      • layoutScaleX: number
      • layoutScaleY: number
      • numNodeList: number
      • effectNodeOffset: number

      Returns number

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    diff --git a/docs/ssfblib_api/classes/EffectNode.html b/docs/ssfblib_api/classes/EffectNode.html index b4c43567..00b7cb8d 100644 --- a/docs/ssfblib_api/classes/EffectNode.html +++ b/docs/ssfblib_api/classes/EffectNode.html @@ -1,4 +1,4 @@ -EffectNode | ssfblib

    Class EffectNode

    Constructors

    constructor +EffectNode | ssfblib

    Class EffectNode

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • arrayIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • behaviorOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • behaviorTypeOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • blendType: number

      Returns void

    • Parameters

      • builder: Builder
      • cellIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • numBehavior: number

      Returns void

    • Parameters

      • builder: Builder
      • parentIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • arrayIndex: number
      • parentIndex: number
      • type: number
      • cellIndex: number
      • blendType: number
      • numBehavior: number
      • behaviorTypeOffset: number
      • behaviorOffset: number

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • arrayIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • behaviorOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • behaviorTypeOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • blendType: number

      Returns void

    • Parameters

      • builder: Builder
      • cellIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • numBehavior: number

      Returns void

    • Parameters

      • builder: Builder
      • parentIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • arrayIndex: number
      • parentIndex: number
      • type: number
      • cellIndex: number
      • blendType: number
      • numBehavior: number
      • behaviorTypeOffset: number
      • behaviorOffset: number

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementAlphaFade.html b/docs/ssfblib_api/classes/EffectParticleElementAlphaFade.html index 47d16448..38ececc1 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementAlphaFade.html +++ b/docs/ssfblib_api/classes/EffectParticleElementAlphaFade.html @@ -1,4 +1,4 @@ -EffectParticleElementAlphaFade | ssfblib

    Class EffectParticleElementAlphaFade

    Constructors

    constructor +EffectParticleElementAlphaFade | ssfblib

    Class EffectParticleElementAlphaFade

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • disprangeMinValue: number
      • disprangeMaxValue: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • disprangeMinValue: number
      • disprangeMaxValue: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementBasic.html b/docs/ssfblib_api/classes/EffectParticleElementBasic.html index a24f9098..2721c25f 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementBasic.html +++ b/docs/ssfblib_api/classes/EffectParticleElementBasic.html @@ -1,4 +1,4 @@ -EffectParticleElementBasic | ssfblib

    Class EffectParticleElementBasic

    Constructors

    constructor +EffectParticleElementBasic | ssfblib

    Class EffectParticleElementBasic

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • SsEffectFunctionType: number
      • priority: number
      • maximumParticle: number
      • attimeCreate: number
      • interval: number
      • lifetime: number
      • speedMinValue: number
      • speedMaxValue: number
      • lifespanMinValue: number
      • lifespanMaxValue: number
      • angle: number
      • angleVariance: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • SsEffectFunctionType: number
      • priority: number
      • maximumParticle: number
      • attimeCreate: number
      • interval: number
      • lifetime: number
      • speedMinValue: number
      • speedMaxValue: number
      • lifespanMinValue: number
      • lifespanMaxValue: number
      • angle: number
      • angleVariance: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementDelay.html b/docs/ssfblib_api/classes/EffectParticleElementDelay.html index e4a6bedc..9285f4e9 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementDelay.html +++ b/docs/ssfblib_api/classes/EffectParticleElementDelay.html @@ -1,8 +1,8 @@ -EffectParticleElementDelay | ssfblib

    Class EffectParticleElementDelay

    Constructors

    constructor +EffectParticleElementDelay | ssfblib

    Class EffectParticleElementDelay

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementGravity.html b/docs/ssfblib_api/classes/EffectParticleElementGravity.html index 7b15e919..be6053f2 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementGravity.html +++ b/docs/ssfblib_api/classes/EffectParticleElementGravity.html @@ -1,4 +1,4 @@ -EffectParticleElementGravity | ssfblib

    Class EffectParticleElementGravity

    Constructors

    constructor +EffectParticleElementGravity | ssfblib

    Class EffectParticleElementGravity

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementInitColor.html b/docs/ssfblib_api/classes/EffectParticleElementInitColor.html index cd0c5d91..15be7cdd 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementInitColor.html +++ b/docs/ssfblib_api/classes/EffectParticleElementInitColor.html @@ -1,4 +1,4 @@ -EffectParticleElementInitColor | ssfblib

    Class EffectParticleElementInitColor

    Constructors

    constructor +EffectParticleElementInitColor | ssfblib

    Class EffectParticleElementInitColor

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementPosition.html b/docs/ssfblib_api/classes/EffectParticleElementPosition.html index d74fdea6..6bb0e56b 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementPosition.html +++ b/docs/ssfblib_api/classes/EffectParticleElementPosition.html @@ -1,4 +1,4 @@ -EffectParticleElementPosition | ssfblib

    Class EffectParticleElementPosition

    Constructors

    constructor +EffectParticleElementPosition | ssfblib

    Class EffectParticleElementPosition

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • OffsetXMinValue: number
      • OffsetXMaxValue: number
      • OffsetYMinValue: number
      • OffsetYMaxValue: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • OffsetXMinValue: number
      • OffsetXMaxValue: number
      • OffsetYMinValue: number
      • OffsetYMaxValue: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementRndSeedChange.html b/docs/ssfblib_api/classes/EffectParticleElementRndSeedChange.html index 2591b063..244b4809 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementRndSeedChange.html +++ b/docs/ssfblib_api/classes/EffectParticleElementRndSeedChange.html @@ -1,8 +1,8 @@ -EffectParticleElementRndSeedChange | ssfblib

    Class EffectParticleElementRndSeedChange

    Constructors

    constructor +EffectParticleElementRndSeedChange | ssfblib

    Class EffectParticleElementRndSeedChange

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementRotation.html b/docs/ssfblib_api/classes/EffectParticleElementRotation.html index 2572e1c7..4b4159ed 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementRotation.html +++ b/docs/ssfblib_api/classes/EffectParticleElementRotation.html @@ -1,4 +1,4 @@ -EffectParticleElementRotation | ssfblib

    Class EffectParticleElementRotation

    Constructors

    constructor +EffectParticleElementRotation | ssfblib

    Class EffectParticleElementRotation

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • RotationMinValue: number
      • RotationMaxValue: number
      • RotationAddMinValue: number
      • RotationAddMaxValue: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • RotationMinValue: number
      • RotationMaxValue: number
      • RotationAddMinValue: number
      • RotationAddMaxValue: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementRotationTrans.html b/docs/ssfblib_api/classes/EffectParticleElementRotationTrans.html index d2080078..f0960e19 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementRotationTrans.html +++ b/docs/ssfblib_api/classes/EffectParticleElementRotationTrans.html @@ -1,4 +1,4 @@ -EffectParticleElementRotationTrans | ssfblib

    Class EffectParticleElementRotationTrans

    Constructors

    constructor +EffectParticleElementRotationTrans | ssfblib

    Class EffectParticleElementRotationTrans

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementSize.html b/docs/ssfblib_api/classes/EffectParticleElementSize.html index c69cfe99..e54326c4 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementSize.html +++ b/docs/ssfblib_api/classes/EffectParticleElementSize.html @@ -1,4 +1,4 @@ -EffectParticleElementSize | ssfblib

    Class EffectParticleElementSize

    Constructors

    constructor +EffectParticleElementSize | ssfblib

    Class EffectParticleElementSize

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • SizeXMinValue: number
      • SizeXMaxValue: number
      • SizeYMinValue: number
      • SizeYMaxValue: number
      • ScaleFactorMinValue: number
      • ScaleFactorMaxValue: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • SizeXMinValue: number
      • SizeXMaxValue: number
      • SizeYMinValue: number
      • SizeYMaxValue: number
      • ScaleFactorMinValue: number
      • ScaleFactorMaxValue: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementTangentialAcceleration.html b/docs/ssfblib_api/classes/EffectParticleElementTangentialAcceleration.html index 19b83f8e..d3ca336b 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementTangentialAcceleration.html +++ b/docs/ssfblib_api/classes/EffectParticleElementTangentialAcceleration.html @@ -1,4 +1,4 @@ -EffectParticleElementTangentialAcceleration | ssfblib

    Class EffectParticleElementTangentialAcceleration

    Constructors

    constructor +EffectParticleElementTangentialAcceleration | ssfblib

    Class EffectParticleElementTangentialAcceleration

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementTransColor.html b/docs/ssfblib_api/classes/EffectParticleElementTransColor.html index abf5825b..01c4567e 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementTransColor.html +++ b/docs/ssfblib_api/classes/EffectParticleElementTransColor.html @@ -1,4 +1,4 @@ -EffectParticleElementTransColor | ssfblib

    Class EffectParticleElementTransColor

    Constructors

    constructor +EffectParticleElementTransColor | ssfblib

    Class EffectParticleElementTransColor

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementTransSize.html b/docs/ssfblib_api/classes/EffectParticleElementTransSize.html index af454dc5..e6d16fac 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementTransSize.html +++ b/docs/ssfblib_api/classes/EffectParticleElementTransSize.html @@ -1,4 +1,4 @@ -EffectParticleElementTransSize | ssfblib

    Class EffectParticleElementTransSize

    Constructors

    constructor +EffectParticleElementTransSize | ssfblib

    Class EffectParticleElementTransSize

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • SizeXMinValue: number
      • SizeXMaxValue: number
      • SizeYMinValue: number
      • SizeYMaxValue: number
      • ScaleFactorMinValue: number
      • ScaleFactorMaxValue: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • SizeXMinValue: number
      • SizeXMaxValue: number
      • SizeYMinValue: number
      • SizeYMaxValue: number
      • ScaleFactorMinValue: number
      • ScaleFactorMaxValue: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectParticleElementTransSpeed.html b/docs/ssfblib_api/classes/EffectParticleElementTransSpeed.html index 6393906a..d19adcb0 100644 --- a/docs/ssfblib_api/classes/EffectParticleElementTransSpeed.html +++ b/docs/ssfblib_api/classes/EffectParticleElementTransSpeed.html @@ -1,4 +1,4 @@ -EffectParticleElementTransSpeed | ssfblib

    Class EffectParticleElementTransSpeed

    Constructors

    constructor +EffectParticleElementTransSpeed | ssfblib

    Class EffectParticleElementTransSpeed

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticleInfiniteEmitEnabled.html b/docs/ssfblib_api/classes/EffectParticleInfiniteEmitEnabled.html index 672149e0..6d93dc8e 100644 --- a/docs/ssfblib_api/classes/EffectParticleInfiniteEmitEnabled.html +++ b/docs/ssfblib_api/classes/EffectParticleInfiniteEmitEnabled.html @@ -1,8 +1,8 @@ -EffectParticleInfiniteEmitEnabled | ssfblib

    Class EffectParticleInfiniteEmitEnabled

    Constructors

    constructor +EffectParticleInfiniteEmitEnabled | ssfblib

    Class EffectParticleInfiniteEmitEnabled

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/EffectParticlePointGravity.html b/docs/ssfblib_api/classes/EffectParticlePointGravity.html index 034ca679..fb6a9b09 100644 --- a/docs/ssfblib_api/classes/EffectParticlePointGravity.html +++ b/docs/ssfblib_api/classes/EffectParticlePointGravity.html @@ -1,4 +1,4 @@ -EffectParticlePointGravity | ssfblib

    Class EffectParticlePointGravity

    Constructors

    constructor +EffectParticlePointGravity | ssfblib

    Class EffectParticlePointGravity

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • Position_x: number
      • Position_y: number
      • Power: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • Position_x: number
      • Position_y: number
      • Power: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/EffectParticleTurnToDirectionEnabled.html b/docs/ssfblib_api/classes/EffectParticleTurnToDirectionEnabled.html index 1645fd74..afd6cedd 100644 --- a/docs/ssfblib_api/classes/EffectParticleTurnToDirectionEnabled.html +++ b/docs/ssfblib_api/classes/EffectParticleTurnToDirectionEnabled.html @@ -1,8 +1,8 @@ -EffectParticleTurnToDirectionEnabled | ssfblib

    Class EffectParticleTurnToDirectionEnabled

    Constructors

    constructor +EffectParticleTurnToDirectionEnabled | ssfblib

    Class EffectParticleTurnToDirectionEnabled

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/PartData.html b/docs/ssfblib_api/classes/PartData.html index aaaf1c4e..21a130ac 100644 --- a/docs/ssfblib_api/classes/PartData.html +++ b/docs/ssfblib_api/classes/PartData.html @@ -1,4 +1,4 @@ -PartData | ssfblib

    Class PartData

    Constructors

    constructor +PartData | ssfblib

    Class PartData

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • alphaBlendType: number

      Returns void

    • Parameters

      • builder: Builder
      • boundsType: number

      Returns void

    • Parameters

      • builder: Builder
      • colorLabelOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • effectfilenameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • index: number

      Returns void

    • Parameters

      • builder: Builder
      • maskInfluence: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • parentIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • refnameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • index: number
      • parentIndex: number
      • type: SsPartType
      • boundsType: number
      • alphaBlendType: number
      • refnameOffset: number
      • effectfilenameOffset: number
      • colorLabelOffset: number
      • maskInfluence: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • alphaBlendType: number

      Returns void

    • Parameters

      • builder: Builder
      • boundsType: number

      Returns void

    • Parameters

      • builder: Builder
      • colorLabelOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • effectfilenameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • index: number

      Returns void

    • Parameters

      • builder: Builder
      • maskInfluence: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • parentIndex: number

      Returns void

    • Parameters

      • builder: Builder
      • refnameOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • nameOffset: number
      • index: number
      • parentIndex: number
      • type: SsPartType
      • boundsType: number
      • alphaBlendType: number
      • refnameOffset: number
      • effectfilenameOffset: number
      • colorLabelOffset: number
      • maskInfluence: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/ProjectData.html b/docs/ssfblib_api/classes/ProjectData.html index e8083689..9ba6e6dc 100644 --- a/docs/ssfblib_api/classes/ProjectData.html +++ b/docs/ssfblib_api/classes/ProjectData.html @@ -1,4 +1,4 @@ -ProjectData | ssfblib

    Class ProjectData

    Constructors

    constructor +ProjectData | ssfblib

    Class ProjectData

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • animePacksOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • effectFileListOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • imageBaseDirOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • numAnimePacks: number

      Returns void

    • Parameters

      • builder: Builder
      • numEffectFileList: number

      Returns void

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • dataId: number
      • version: number
      • flags: number
      • imageBaseDirOffset: number
      • cellsOffset: number
      • animePacksOffset: number
      • effectFileListOffset: number
      • numCells: number
      • numAnimePacks: number
      • numEffectFileList: number

      Returns number

    • Parameters

      • builder: Builder
      • offset: number

      Returns void

    • Parameters

      • builder: Builder
      • offset: number

      Returns void

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • animePacksOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • effectFileListOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • imageBaseDirOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • numAnimePacks: number

      Returns void

    • Parameters

      • builder: Builder
      • numEffectFileList: number

      Returns void

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • data: number[]

      Returns number

    • Parameters

      • builder: Builder
      • dataId: number
      • version: number
      • flags: number
      • imageBaseDirOffset: number
      • cellsOffset: number
      • animePacksOffset: number
      • effectFileListOffset: number
      • numCells: number
      • numAnimePacks: number
      • numEffectFileList: number

      Returns number

    • Parameters

      • builder: Builder
      • offset: number

      Returns void

    • Parameters

      • builder: Builder
      • offset: number

      Returns void

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    diff --git a/docs/ssfblib_api/classes/Utils.html b/docs/ssfblib_api/classes/Utils.html index 4d62833b..8028cc5d 100644 --- a/docs/ssfblib_api/classes/Utils.html +++ b/docs/ssfblib_api/classes/Utils.html @@ -1,3 +1,3 @@ -Utils | ssfblib

    Class Utils

    Constructors

    constructor +Utils | ssfblib

    Class Utils

    Constructors

    Methods

    Constructors

    Methods

    +

    Constructors

    Methods

    diff --git a/docs/ssfblib_api/classes/frameDataIndex.html b/docs/ssfblib_api/classes/frameDataIndex.html index 579a13f8..bd88481b 100644 --- a/docs/ssfblib_api/classes/frameDataIndex.html +++ b/docs/ssfblib_api/classes/frameDataIndex.html @@ -1,4 +1,4 @@ -frameDataIndex | ssfblib

    Class frameDataIndex

    Constructors

    constructor +frameDataIndex | ssfblib

    Class frameDataIndex

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • statesOffset: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • statesOffset: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/labelDataItem.html b/docs/ssfblib_api/classes/labelDataItem.html index 6debe5c5..d958bef2 100644 --- a/docs/ssfblib_api/classes/labelDataItem.html +++ b/docs/ssfblib_api/classes/labelDataItem.html @@ -1,4 +1,4 @@ -labelDataItem | ssfblib

    Class labelDataItem

    Constructors

    constructor +labelDataItem | ssfblib

    Class labelDataItem

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • labelOffset: number
      • frameIndex: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • labelOffset: number
      • frameIndex: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/meshDataIndices.html b/docs/ssfblib_api/classes/meshDataIndices.html index aacadca7..18c5afde 100644 --- a/docs/ssfblib_api/classes/meshDataIndices.html +++ b/docs/ssfblib_api/classes/meshDataIndices.html @@ -1,4 +1,4 @@ -meshDataIndices | ssfblib

    Class meshDataIndices

    Constructors

    constructor +meshDataIndices | ssfblib

    Class meshDataIndices

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • data: number[] | Float32Array

      Returns number

    • Parameters

      • builder: Builder
      • data: Uint8Array | number[]

      Returns number

      This Uint8Array overload will be removed in the future.

      -
    • Parameters

      • builder: Builder
      • indicesOffset: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • data: number[] | Float32Array

      Returns number

    • Parameters

      • builder: Builder
      • data: Uint8Array | number[]

      Returns number

      This Uint8Array overload will be removed in the future.

      +
    • Parameters

      • builder: Builder
      • indicesOffset: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/meshDataUV.html b/docs/ssfblib_api/classes/meshDataUV.html index 6dfa9858..85878f59 100644 --- a/docs/ssfblib_api/classes/meshDataUV.html +++ b/docs/ssfblib_api/classes/meshDataUV.html @@ -1,4 +1,4 @@ -meshDataUV | ssfblib

    Class meshDataUV

    Constructors

    constructor +meshDataUV | ssfblib

    Class meshDataUV

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • data: number[] | Float32Array

      Returns number

    • Parameters

      • builder: Builder
      • data: Uint8Array | number[]

      Returns number

      This Uint8Array overload will be removed in the future.

      -
    • Parameters

      • builder: Builder
      • uvOffset: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • data: number[] | Float32Array

      Returns number

    • Parameters

      • builder: Builder
      • data: Uint8Array | number[]

      Returns number

      This Uint8Array overload will be removed in the future.

      +
    • Parameters

      • builder: Builder
      • uvOffset: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/partState.html b/docs/ssfblib_api/classes/partState.html index bd6608b1..ccd15a12 100644 --- a/docs/ssfblib_api/classes/partState.html +++ b/docs/ssfblib_api/classes/partState.html @@ -1,4 +1,4 @@ -partState | ssfblib

    Class partState

    Constructors

    constructor +partState | ssfblib

    Class partState

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • dataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • data: Uint32Array | number[]

      Returns number

    • Parameters

      • builder: Builder
      • data: Uint8Array | number[]

      Returns number

      This Uint8Array overload will be removed in the future.

      -
    • Parameters

      • builder: Builder
      • index: number
      • flag1: number
      • flag2: number
      • dataOffset: number

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • dataOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • data: Uint32Array | number[]

      Returns number

    • Parameters

      • builder: Builder
      • data: Uint8Array | number[]

      Returns number

      This Uint8Array overload will be removed in the future.

      +
    • Parameters

      • builder: Builder
      • index: number
      • flag1: number
      • flag2: number
      • dataOffset: number

      Returns number

    • Parameters

      • builder: Builder
      • numElems: number

      Returns void

    diff --git a/docs/ssfblib_api/classes/userDataInteger.html b/docs/ssfblib_api/classes/userDataInteger.html index c314f3c3..43f983c4 100644 --- a/docs/ssfblib_api/classes/userDataInteger.html +++ b/docs/ssfblib_api/classes/userDataInteger.html @@ -1,8 +1,8 @@ -userDataInteger | ssfblib

    Class userDataInteger

    Constructors

    constructor +userDataInteger | ssfblib

    Class userDataInteger

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/userDataItem.html b/docs/ssfblib_api/classes/userDataItem.html index 904a5d3a..238afda0 100644 --- a/docs/ssfblib_api/classes/userDataItem.html +++ b/docs/ssfblib_api/classes/userDataItem.html @@ -1,4 +1,4 @@ -userDataItem | ssfblib

    Class userDataItem

    Constructors

    constructor +userDataItem | ssfblib

    Class userDataItem

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • dataTypeOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • flags: number
      • arrayIndex: number
      • dataTypeOffset: number
      • dataOffset: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • dataTypeOffset: number

      Returns void

    • Parameters

      • builder: Builder
      • flags: number
      • arrayIndex: number
      • dataTypeOffset: number
      • dataOffset: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/userDataPerFrame.html b/docs/ssfblib_api/classes/userDataPerFrame.html index 3fe35bb8..cc5fe5a0 100644 --- a/docs/ssfblib_api/classes/userDataPerFrame.html +++ b/docs/ssfblib_api/classes/userDataPerFrame.html @@ -1,4 +1,4 @@ -userDataPerFrame | ssfblib

    Class userDataPerFrame

    Constructors

    constructor +userDataPerFrame | ssfblib

    Class userDataPerFrame

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • frameIndex: number
      • dataOffset: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • frameIndex: number
      • dataOffset: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/userDataPoint.html b/docs/ssfblib_api/classes/userDataPoint.html index e657beea..6616f511 100644 --- a/docs/ssfblib_api/classes/userDataPoint.html +++ b/docs/ssfblib_api/classes/userDataPoint.html @@ -1,4 +1,4 @@ -userDataPoint | ssfblib

    Class userDataPoint

    Constructors

    constructor +userDataPoint | ssfblib

    Class userDataPoint

    Constructors

    Properties

    Methods

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    diff --git a/docs/ssfblib_api/classes/userDataRect.html b/docs/ssfblib_api/classes/userDataRect.html index ce1aeca0..9fd78aa4 100644 --- a/docs/ssfblib_api/classes/userDataRect.html +++ b/docs/ssfblib_api/classes/userDataRect.html @@ -1,4 +1,4 @@ -userDataRect | ssfblib

    Class userDataRect

    Constructors

    constructor +userDataRect | ssfblib

    Class userDataRect

    Constructors

    Properties

    Methods

    __init @@ -8,4 +8,4 @@ y createuserDataRect sizeOf -

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • x: number
      • y: number
      • w: number
      • h: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • x: number
      • y: number
      • w: number
      • h: number

      Returns number

    diff --git a/docs/ssfblib_api/classes/userDataString.html b/docs/ssfblib_api/classes/userDataString.html index 0c19071b..0e3f66ee 100644 --- a/docs/ssfblib_api/classes/userDataString.html +++ b/docs/ssfblib_api/classes/userDataString.html @@ -1,4 +1,4 @@ -userDataString | ssfblib

    Class userDataString

    Constructors

    constructor +userDataString | ssfblib

    Class userDataString

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • length: number
      • dataOffset: number

      Returns number

    +

    Constructors

    Properties

    bb: ByteBuffer = null
    bb_pos: number = 0

    Methods

    • Parameters

      • builder: Builder
      • length: number
      • dataOffset: number

      Returns number

    diff --git a/docs/ssfblib_api/enums/EffectNodeBehavior.html b/docs/ssfblib_api/enums/EffectNodeBehavior.html index adc93167..2b09675c 100644 --- a/docs/ssfblib_api/enums/EffectNodeBehavior.html +++ b/docs/ssfblib_api/enums/EffectNodeBehavior.html @@ -1,4 +1,4 @@ -EffectNodeBehavior | ssfblib

    Enumeration EffectNodeBehavior

    Enumeration Members

    EffectParticleElementAlphaFade +EffectNodeBehavior | ssfblib

    Enumeration EffectNodeBehavior

    Enumeration Members

    EffectParticleElementAlphaFade: 12
    EffectParticleElementBasic: 1
    EffectParticleElementDelay: 3
    EffectParticleElementGravity: 4
    EffectParticleElementInitColor: 10
    EffectParticleElementPosition: 5
    EffectParticleElementRndSeedChange: 2
    EffectParticleElementRotation: 6
    EffectParticleElementRotationTrans: 7
    EffectParticleElementSize: 13
    EffectParticleElementTangentialAcceleration: 9
    EffectParticleElementTransColor: 11
    EffectParticleElementTransSize: 14
    EffectParticleElementTransSpeed: 8
    EffectParticleInfiniteEmitEnabled: 17
    EffectParticlePointGravity: 15
    EffectParticleTurnToDirectionEnabled: 16
    NONE: 0
    +

    Enumeration Members

    EffectParticleElementAlphaFade: 12
    EffectParticleElementBasic: 1
    EffectParticleElementDelay: 3
    EffectParticleElementGravity: 4
    EffectParticleElementInitColor: 10
    EffectParticleElementPosition: 5
    EffectParticleElementRndSeedChange: 2
    EffectParticleElementRotation: 6
    EffectParticleElementRotationTrans: 7
    EffectParticleElementSize: 13
    EffectParticleElementTangentialAcceleration: 9
    EffectParticleElementTransColor: 11
    EffectParticleElementTransSize: 14
    EffectParticleElementTransSpeed: 8
    EffectParticleInfiniteEmitEnabled: 17
    EffectParticlePointGravity: 15
    EffectParticleTurnToDirectionEnabled: 16
    NONE: 0
    diff --git a/docs/ssfblib_api/enums/PART_FLAG.html b/docs/ssfblib_api/enums/PART_FLAG.html index 10b1d841..bf2b967b 100644 --- a/docs/ssfblib_api/enums/PART_FLAG.html +++ b/docs/ssfblib_api/enums/PART_FLAG.html @@ -1,4 +1,4 @@ -PART_FLAG | ssfblib

    Enumeration PART_FLAG

    Enumeration Members

    BOUNDINGRADIUS +PART_FLAG | ssfblib

    Enumeration PART_FLAG

    Enumeration Members

    BOUNDINGRADIUS: 134217728
    CELL_INDEX: 8
    EFFECT_KEYFRAME: 2147483648
    FLIP_H: 2
    FLIP_V: 4
    INSTANCE_KEYFRAME: 1073741824
    INVISIBLE: 1
    LOCALOPACITY: 131072
    LOCALSCALE_X: 16384
    LOCALSCALE_Y: 32768
    MASK: 268435456
    OPACITY: 65536
    PARTS_COLOR: 262144
    PIVOT_X: 128
    PIVOT_Y: 256
    POSITION_X: 16
    POSITION_Y: 32
    POSITION_Z: 64
    PRIORITY: 536870912
    ROTATIONX: 512
    ROTATIONY: 1024
    ROTATIONZ: 2048
    SCALE_X: 4096
    SCALE_Y: 8192
    SIZE_X: 1048576
    SIZE_Y: 2097152
    UV_ROTATION: 16777216
    U_MOVE: 4194304
    U_SCALE: 33554432
    VERTEX_TRANSFORM: 524288
    V_MOVE: 8388608
    V_SCALE: 67108864
    +

    Enumeration Members

    BOUNDINGRADIUS: 134217728
    CELL_INDEX: 8
    EFFECT_KEYFRAME: 2147483648
    FLIP_H: 2
    FLIP_V: 4
    INSTANCE_KEYFRAME: 1073741824
    INVISIBLE: 1
    LOCALOPACITY: 131072
    LOCALSCALE_X: 16384
    LOCALSCALE_Y: 32768
    MASK: 268435456
    OPACITY: 65536
    PARTS_COLOR: 262144
    PIVOT_X: 128
    PIVOT_Y: 256
    POSITION_X: 16
    POSITION_Y: 32
    POSITION_Z: 64
    PRIORITY: 536870912
    ROTATIONX: 512
    ROTATIONY: 1024
    ROTATIONZ: 2048
    SCALE_X: 4096
    SCALE_Y: 8192
    SIZE_X: 1048576
    SIZE_Y: 2097152
    UV_ROTATION: 16777216
    U_MOVE: 4194304
    U_SCALE: 33554432
    VERTEX_TRANSFORM: 524288
    V_MOVE: 8388608
    V_SCALE: 67108864
    diff --git a/docs/ssfblib_api/enums/PART_FLAG2.html b/docs/ssfblib_api/enums/PART_FLAG2.html index 2c3f8ec0..c7dcc387 100644 --- a/docs/ssfblib_api/enums/PART_FLAG2.html +++ b/docs/ssfblib_api/enums/PART_FLAG2.html @@ -1,2 +1,2 @@ -PART_FLAG2 | ssfblib

    Enumeration PART_FLAG2

    Enumeration Members

    Enumeration Members

    MESHDATA: 1
    +PART_FLAG2 | ssfblib

    Enumeration PART_FLAG2

    Enumeration Members

    Enumeration Members

    MESHDATA: 1
    diff --git a/docs/ssfblib_api/enums/SsPartType.html b/docs/ssfblib_api/enums/SsPartType.html index ba1263b7..cc3c44a8 100644 --- a/docs/ssfblib_api/enums/SsPartType.html +++ b/docs/ssfblib_api/enums/SsPartType.html @@ -1,4 +1,4 @@ -SsPartType | ssfblib

    Enumeration SsPartType

    Enumeration Members

    Armature +SsPartType | ssfblib

    Enumeration SsPartType

    Enumeration Members

    Enumeration Members

    Armature: 4
    Bonepoint: 11
    Constraint: 8
    Effect: 5
    Instance: 3
    Invalid: -1
    Joint: 10
    Mask: 9
    Mesh: 6
    Movenode: 7
    Normal: 1
    Nulltype: 0
    Text: 2
    +

    Enumeration Members

    Armature: 4
    Bonepoint: 11
    Constraint: 8
    Effect: 5
    Instance: 3
    Invalid: -1
    Joint: 10
    Mask: 9
    Mesh: 6
    Movenode: 7
    Normal: 1
    Nulltype: 0
    Text: 2
    diff --git a/docs/ssfblib_api/enums/VERTEX_FLAG.html b/docs/ssfblib_api/enums/VERTEX_FLAG.html index c5eaf87f..efc06005 100644 --- a/docs/ssfblib_api/enums/VERTEX_FLAG.html +++ b/docs/ssfblib_api/enums/VERTEX_FLAG.html @@ -1,6 +1,6 @@ -VERTEX_FLAG | ssfblib

    Enumeration VERTEX_FLAG

    Enumeration Members

    LB +VERTEX_FLAG | ssfblib

    Enumeration VERTEX_FLAG

    Enumeration Members

    Enumeration Members

    LB: 4
    LT: 1
    ONE: 16
    RB: 8
    RT: 2
    +

    Enumeration Members

    LB: 4
    LT: 1
    ONE: 16
    RB: 8
    RT: 2
    diff --git a/docs/ssfblib_api/enums/userDataValue.html b/docs/ssfblib_api/enums/userDataValue.html index 29dca64c..bad72a13 100644 --- a/docs/ssfblib_api/enums/userDataValue.html +++ b/docs/ssfblib_api/enums/userDataValue.html @@ -1,6 +1,6 @@ -userDataValue | ssfblib

    Enumeration userDataValue

    Enumeration Members

    NONE +userDataValue | ssfblib

    Enumeration userDataValue

    Enumeration Members

    NONE: 0
    userDataInteger: 1
    userDataPoint: 3
    userDataRect: 2
    userDataString: 4
    +

    Enumeration Members

    NONE: 0
    userDataInteger: 1
    userDataPoint: 3
    userDataRect: 2
    userDataString: 4
    diff --git a/docs/ui-examples/index.html b/docs/ui-examples/index.html index 64a3fb20..76596674 100644 --- a/docs/ui-examples/index.html +++ b/docs/ui-examples/index.html @@ -6,7 +6,7 @@ - + diff --git a/docs/ui-examples/ss6player-pixi.min.js b/docs/ui-examples/ss6player-pixi.min.js index 7fa5e186..8aee2955 100644 --- a/docs/ui-examples/ss6player-pixi.min.js +++ b/docs/ui-examples/ss6player-pixi.min.js @@ -1,10 +1,10 @@ /** * ----------------------------------------------------------- - * SS6Player For pixi.js v2.2.0 + * SS6Player For pixi.js v2.3.0 * * Copyright(C) CRI Middleware Co., Ltd. * https://www.webtech.co.jp/ * ----------------------------------------------------------- */ -var ss6PlayerPixi=function(dt,S){"use strict";class vt{}const ht=4,ct=4,C=4,q=new Int32Array(2),mt=new Float32Array(q.buffer),Ft=new Float64Array(q.buffer),ft=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var pt;(function(c){c[c.UTF8_BYTES=1]="UTF8_BYTES",c[c.UTF16_STRING=2]="UTF16_STRING"})(pt||(pt={}));class ut{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new ut(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8}writeInt32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeUint32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeInt64(t,s){this.writeInt32(t,Number(BigInt.asIntN(32,s))),this.writeInt32(t+4,Number(BigInt.asIntN(32,s>>BigInt(32))))}writeUint64(t,s){this.writeUint32(t,Number(BigInt.asUintN(32,s))),this.writeUint32(t+4,Number(BigInt.asUintN(32,s>>BigInt(32))))}writeFloat32(t,s){mt[0]=s,this.writeInt32(t,q[0])}writeFloat64(t,s){Ft[0]=s,this.writeInt32(t,q[ft?0:1]),this.writeInt32(t+4,q[ft?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;e--)t.addInt32(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static endpartState(t){return t.endObject()}static createpartState(t,s,e,i,h){return j.startpartState(t),j.addIndex(t,s),j.addFlag1(t,e),j.addFlag2(t,i),j.addData(t,h),j.endpartState(t)}}class et{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsframeDataIndex(t,s){return(s||new et).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,s){return t.setPosition(t.position()+C),(s||new et).__init(t.readInt32(t.position())+t.position(),t)}states(t,s){const e=this.bb.__offset(this.bb_pos,4);return e?(s||new j).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,s){t.addFieldOffset(0,s,0)}static createStatesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startStatesVector(t,s){t.startVector(4,s,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,s){return et.startframeDataIndex(t),et.addStates(t,s),et.endframeDataIndex(t)}}class Q{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAslabelDataItem(t,s){return(s||new Q).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,s){return t.setPosition(t.position()+C),(s||new Q).__init(t.readInt32(t.position())+t.position(),t)}label(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,s){t.addFieldOffset(0,s,0)}static addFrameIndex(t,s){t.addFieldInt16(1,s,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,s,e){return Q.startlabelDataItem(t),Q.addLabel(t,s),Q.addFrameIndex(t,e),Q.endlabelDataItem(t)}}class it{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataIndices(t,s){return(s||new it).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,s){return t.setPosition(t.position()+C),(s||new it).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,s){t.addFieldOffset(0,s,0)}static createIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startIndicesVector(t,s){t.startVector(4,s,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,s){return it.startmeshDataIndices(t),it.addIndices(t,s),it.endmeshDataIndices(t)}}class at{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataUV(t,s){return(s||new at).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,s){return t.setPosition(t.position()+C),(s||new at).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,s){t.addFieldOffset(0,s,0)}static createUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startUvVector(t,s){t.startVector(4,s,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,s){return at.startmeshDataUV(t),at.addUv(t,s),at.endmeshDataUV(t)}}class R{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataItem(t,s){return(s||new R).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,s){return t.setPosition(t.position()+C),(s||new R).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,s){t.addFieldInt16(0,s,0)}static addArrayIndex(t,s){t.addFieldInt16(1,s,0)}static addDataType(t,s){t.addFieldOffset(2,s,0)}static createDataTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startDataTypeVector(t,s){t.startVector(1,s,1)}static addData(t,s){t.addFieldOffset(3,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,s,e,i,h){return R.startuserDataItem(t),R.addFlags(t,s),R.addArrayIndex(t,e),R.addDataType(t,i),R.addData(t,h),R.enduserDataItem(t)}}class G{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataPerFrame(t,s){return(s||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,s){return t.setPosition(t.position()+C),(s||new G).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new R).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,s){t.addFieldInt16(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,s,e){return G.startuserDataPerFrame(t),G.addFrameIndex(t,s),G.addData(t,e),G.enduserDataPerFrame(t)}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimationData(t,s){return(s||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,s){return t.setPosition(t.position()+C),(s||new y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}defaultData(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new _).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new et).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?(s||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new at).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new it).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,s){t.addFieldOffset(0,s,0)}static addDefaultData(t,s){t.addFieldOffset(1,s,0)}static createDefaultDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDefaultDataVector(t,s){t.startVector(4,s,4)}static addFrameData(t,s){t.addFieldOffset(2,s,0)}static createFrameDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startFrameDataVector(t,s){t.startVector(4,s,4)}static addUserData(t,s){t.addFieldOffset(3,s,0)}static createUserDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startUserDataVector(t,s){t.startVector(4,s,4)}static addLabelData(t,s){t.addFieldOffset(4,s,0)}static createLabelDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startLabelDataVector(t,s){t.startVector(4,s,4)}static addMeshsDataUv(t,s){t.addFieldOffset(5,s,0)}static createMeshsDataUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataUvVector(t,s){t.startVector(4,s,4)}static addMeshsDataIndices(t,s){t.addFieldOffset(6,s,0)}static createMeshsDataIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataIndicesVector(t,s){t.startVector(4,s,4)}static addStartFrames(t,s){t.addFieldInt16(7,s,0)}static addEndFrames(t,s){t.addFieldInt16(8,s,0)}static addTotalFrames(t,s){t.addFieldInt16(9,s,0)}static addFps(t,s){t.addFieldInt16(10,s,0)}static addLabelNum(t,s){t.addFieldInt16(11,s,0)}static addCanvasSizeW(t,s){t.addFieldInt16(12,s,0)}static addCanvasSizeH(t,s){t.addFieldInt16(13,s,0)}static addCanvasPvotX(t,s){t.addFieldFloat32(14,s,0)}static addCanvasPvotY(t,s){t.addFieldFloat32(15,s,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,s,e,i,h,a,o,n,d,r,f,b,u,l,V,m,F){return y.startAnimationData(t),y.addName(t,s),y.addDefaultData(t,e),y.addFrameData(t,i),y.addUserData(t,h),y.addLabelData(t,a),y.addMeshsDataUv(t,o),y.addMeshsDataIndices(t,n),y.addStartFrames(t,d),y.addEndFrames(t,r),y.addTotalFrames(t,f),y.addFps(t,b),y.addLabelNum(t,u),y.addCanvasSizeW(t,l),y.addCanvasSizeH(t,V),y.addCanvasPvotX(t,m),y.addCanvasPvotY(t,F),y.endAnimationData(t)}}var O=(c=>(c[c.Invalid=-1]="Invalid",c[c.Nulltype=0]="Nulltype",c[c.Normal=1]="Normal",c[c.Text=2]="Text",c[c.Instance=3]="Instance",c[c.Armature=4]="Armature",c[c.Effect=5]="Effect",c[c.Mesh=6]="Mesh",c[c.Movenode=7]="Movenode",c[c.Constraint=8]="Constraint",c[c.Mask=9]="Mask",c[c.Joint=10]="Joint",c[c.Bonepoint=11]="Bonepoint",c))(O||{});class x{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsPartData(t,s){return(s||new x).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,s){return t.setPosition(t.position()+C),(s||new x).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):O.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__string(this.bb_pos+s,t):null}effectfilename(t){const s=this.bb.__offset(this.bb_pos,18);return s?this.bb.__string(this.bb_pos+s,t):null}colorLabel(t){const s=this.bb.__offset(this.bb_pos,20);return s?this.bb.__string(this.bb_pos+s,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,s){t.addFieldOffset(0,s,0)}static addIndex(t,s){t.addFieldInt16(1,s,0)}static addParentIndex(t,s){t.addFieldInt16(2,s,0)}static addType(t,s){t.addFieldInt8(3,s,O.Nulltype)}static addBoundsType(t,s){t.addFieldInt16(4,s,0)}static addAlphaBlendType(t,s){t.addFieldInt16(5,s,0)}static addRefname(t,s){t.addFieldOffset(6,s,0)}static addEffectfilename(t,s){t.addFieldOffset(7,s,0)}static addColorLabel(t,s){t.addFieldOffset(8,s,0)}static addMaskInfluence(t,s){t.addFieldInt16(9,s,0)}static endPartData(t){return t.endObject()}static createPartData(t,s,e,i,h,a,o,n,d,r,f){return x.startPartData(t),x.addName(t,s),x.addIndex(t,e),x.addParentIndex(t,i),x.addType(t,h),x.addBoundsType(t,a),x.addAlphaBlendType(t,o),x.addRefname(t,n),x.addEffectfilename(t,d),x.addColorLabel(t,r),x.addMaskInfluence(t,f),x.endPartData(t)}}class K{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimePackData(t,s){return(s||new K).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,s){return t.setPosition(t.position()+C),(s||new K).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}parts(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new x).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,s){t.addFieldOffset(0,s,0)}static addParts(t,s){t.addFieldOffset(1,s,0)}static createPartsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startPartsVector(t,s){t.startVector(4,s,4)}static addAnimations(t,s){t.addFieldOffset(2,s,0)}static createAnimationsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimationsVector(t,s){t.startVector(4,s,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,s,e,i){return K.startAnimePackData(t),K.addName(t,s),K.addParts(t,e),K.addAnimations(t,i),K.endAnimePackData(t)}}class Y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCellMap(t,s){return(s||new Y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,s){return t.setPosition(t.position()+C),(s||new Y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}imagePath(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,s){t.addFieldOffset(0,s,0)}static addImagePath(t,s){t.addFieldOffset(1,s,0)}static addIndex(t,s){t.addFieldInt16(2,s,0)}static addWrapmode(t,s){t.addFieldInt16(3,s,0)}static addFiltermode(t,s){t.addFieldInt16(4,s,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,s,e,i,h,a){return Y.startCellMap(t),Y.addName(t,s),Y.addImagePath(t,e),Y.addIndex(t,i),Y.addWrapmode(t,h),Y.addFiltermode(t,a),Y.endCellMap(t)}}class lt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCell(t,s){return(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,s){return t.setPosition(t.position()+C),(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}cellMap(t){const s=this.bb.__offset(this.bb_pos,6);return s?(t||new Y).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,s){t.addFieldOffset(0,s,0)}static addCellMap(t,s){t.addFieldOffset(1,s,0)}static addIndexInCellMap(t,s){t.addFieldInt16(2,s,0)}static addX(t,s){t.addFieldInt16(3,s,0)}static addY(t,s){t.addFieldInt16(4,s,0)}static addWidth(t,s){t.addFieldInt16(5,s,0)}static addHeight(t,s){t.addFieldInt16(6,s,0)}static addPivotX(t,s){t.addFieldFloat32(7,s,0)}static addPivotY(t,s){t.addFieldFloat32(8,s,0)}static addU1(t,s){t.addFieldFloat32(9,s,0)}static addV1(t,s){t.addFieldFloat32(10,s,0)}static addU2(t,s){t.addFieldFloat32(11,s,0)}static addV2(t,s){t.addFieldFloat32(12,s,0)}static endCell(t){return t.endObject()}}class L{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectNode(t,s){return(s||new L).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,s){return t.setPosition(t.position()+C),(s||new L).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,s){t.addFieldInt16(0,s,0)}static addParentIndex(t,s){t.addFieldInt16(1,s,0)}static addType(t,s){t.addFieldInt16(2,s,0)}static addCellIndex(t,s){t.addFieldInt16(3,s,0)}static addBlendType(t,s){t.addFieldInt16(4,s,0)}static addNumBehavior(t,s){t.addFieldInt16(5,s,0)}static addBehaviorType(t,s){t.addFieldOffset(6,s,0)}static createBehaviorTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startBehaviorTypeVector(t,s){t.startVector(1,s,1)}static addBehavior(t,s){t.addFieldOffset(7,s,0)}static createBehaviorVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startBehaviorVector(t,s){t.startVector(4,s,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,s,e,i,h,a,o,n,d){return L.startEffectNode(t),L.addArrayIndex(t,s),L.addParentIndex(t,e),L.addType(t,i),L.addCellIndex(t,h),L.addBlendType(t,a),L.addNumBehavior(t,o),L.addBehaviorType(t,n),L.addBehavior(t,d),L.endEffectNode(t)}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectFile(t,s){return(s||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,s){return t.setPosition(t.position()+C),(s||new w).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?(s||new L).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,s){t.addFieldOffset(0,s,0)}static addFps(t,s){t.addFieldInt16(1,s,0)}static addIsLockRandSeed(t,s){t.addFieldInt16(2,s,0)}static addLockRandSeed(t,s){t.addFieldInt16(3,s,0)}static addLayoutScaleX(t,s){t.addFieldInt16(4,s,0)}static addLayoutScaleY(t,s){t.addFieldInt16(5,s,0)}static addNumNodeList(t,s){t.addFieldInt16(6,s,0)}static addEffectNode(t,s){t.addFieldOffset(7,s,0)}static createEffectNodeVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectNodeVector(t,s){t.startVector(4,s,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,s,e,i,h,a,o,n,d){return w.startEffectFile(t),w.addName(t,s),w.addFps(t,e),w.addIsLockRandSeed(t,i),w.addLockRandSeed(t,h),w.addLayoutScaleX(t,a),w.addLayoutScaleY(t,o),w.addNumNodeList(t,n),w.addEffectNode(t,d),w.endEffectFile(t)}}var p=(c=>(c[c.INVISIBLE=1]="INVISIBLE",c[c.FLIP_H=2]="FLIP_H",c[c.FLIP_V=4]="FLIP_V",c[c.CELL_INDEX=8]="CELL_INDEX",c[c.POSITION_X=16]="POSITION_X",c[c.POSITION_Y=32]="POSITION_Y",c[c.POSITION_Z=64]="POSITION_Z",c[c.PIVOT_X=128]="PIVOT_X",c[c.PIVOT_Y=256]="PIVOT_Y",c[c.ROTATIONX=512]="ROTATIONX",c[c.ROTATIONY=1024]="ROTATIONY",c[c.ROTATIONZ=2048]="ROTATIONZ",c[c.SCALE_X=4096]="SCALE_X",c[c.SCALE_Y=8192]="SCALE_Y",c[c.LOCALSCALE_X=16384]="LOCALSCALE_X",c[c.LOCALSCALE_Y=32768]="LOCALSCALE_Y",c[c.OPACITY=65536]="OPACITY",c[c.LOCALOPACITY=131072]="LOCALOPACITY",c[c.PARTS_COLOR=262144]="PARTS_COLOR",c[c.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",c[c.SIZE_X=1048576]="SIZE_X",c[c.SIZE_Y=2097152]="SIZE_Y",c[c.U_MOVE=4194304]="U_MOVE",c[c.V_MOVE=8388608]="V_MOVE",c[c.UV_ROTATION=16777216]="UV_ROTATION",c[c.U_SCALE=33554432]="U_SCALE",c[c.V_SCALE=67108864]="V_SCALE",c[c.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",c[c.MASK=268435456]="MASK",c[c.PRIORITY=536870912]="PRIORITY",c[c.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",c[c.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",c))(p||{}),gt=(c=>(c[c.MESHDATA=1]="MESHDATA",c))(gt||{});class D{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsProjectData(t,s){return(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,s){return t.setPosition(t.position()+C),(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__string(this.bb_pos+s,t):null}cells(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new K).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new w).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,s){t.addFieldInt32(0,s,0)}static addVersion(t,s){t.addFieldInt32(1,s,0)}static addFlags(t,s){t.addFieldInt32(2,s,0)}static addImageBaseDir(t,s){t.addFieldOffset(3,s,0)}static addCells(t,s){t.addFieldOffset(4,s,0)}static createCellsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startCellsVector(t,s){t.startVector(4,s,4)}static addAnimePacks(t,s){t.addFieldOffset(5,s,0)}static createAnimePacksVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimePacksVector(t,s){t.startVector(4,s,4)}static addEffectFileList(t,s){t.addFieldOffset(6,s,0)}static createEffectFileListVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectFileListVector(t,s){t.startVector(4,s,4)}static addNumCells(t,s){t.addFieldInt16(7,s,0)}static addNumAnimePacks(t,s){t.addFieldInt16(8,s,0)}static addNumEffectFileList(t,s){t.addFieldInt16(9,s,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,s){t.finish(s,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,s){t.finish(s,"SSFB",!0)}static createProjectData(t,s,e,i,h,a,o,n,d,r,f){return D.startProjectData(t),D.addDataId(t,s),D.addVersion(t,e),D.addFlags(t,i),D.addImageBaseDir(t,h),D.addCells(t,a),D.addAnimePacks(t,o),D.addEffectFileList(t,n),D.addNumCells(t,d),D.addNumAnimePacks(t,r),D.addNumEffectFileList(t,f),D.endProjectData(t)}}class Ot{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,s){return t.prep(4,4),t.writeInt32(s),t.offset()}}class yt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,s,e){return t.prep(4,8),t.writeInt32(e),t.writeInt32(s),t.offset()}}class bt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,s,e,i,h){return t.prep(4,16),t.writeInt32(h),t.writeInt32(i),t.writeInt32(e),t.writeInt32(s),t.offset()}}class Z{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataString(t,s){return(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,s){return t.setPosition(t.position()+C),(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,s){t.addFieldInt32(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,s,e){return Z.startuserDataString(t),Z.addLength(t,s),Z.addData(t,e),Z.enduserDataString(t)}}let Ct=class{static getProjectData(t){const s=new ut(t);return D.getRootAsProjectData(s)}};class It{static getProjectData(t){return Ct.getProjectData(t)}}class nt{constructor(t,s=null,e=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),t.hasOwnProperty("bb")?this._fbObj=t:this._fbObj=It.getProjectData(t),s!==null&&e!==null&&this.Setup(s,e)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,s){this.clearCaches();const e=this._fbObj.animePacksLength();let i=!1;for(let h=0;h>>0,r.colorBlendType===1&&(r.tint=r.colorArgb32&16777215)}}if(d>.MESHDATA){const b=this.curAnimation.meshsDataUv(o);r.meshIsBind=b.uv(0),r.meshNum=b.uv(1);let u=new Float32Array(r.meshNum*3);for(let l=0;l=0&&(t=this.InheritOpacity(t,this._parentIndex[s],e)),t}TransformVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformMeshVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPositionLocal(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h),n=t[0]*i.scaleX*i.localscaleX,d=t[1]*i.scaleY*i.localscaleY;return t[2]*=i.scaleX*i.localscaleX,t[3]*=i.scaleY*i.localscaleY,t[0]=a*n-o*d+i.positionX,t[1]=o*n+a*d-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static CoordinateGetDiagonalIntersection(t,s,e,i,h,a,o,n,d,r,f){const b=(n-a)*(o-e)-(o-h)*(n-i),u=(d-e)*(n-i)-(r-i)*(o-e),l=(d-e)*(n-a)-(r-i)*(o-h);if(l<=0&&l>=0)return f;const V=b/l,m=u/l;return 0<=V&&1>=V&&0<=m&&1>=m&&(t=e+V*(d-e),s=i+V*(r-i)),f[0]=t,f[1]=s,f}TransformVerts(t,s,e){const i=this.GetFrameData(e)[s],h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h);for(let n=0;n=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPosition(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const h=-i.rotationZ*Math.PI/180,a=Math.cos(h),o=Math.sin(h),n=t[0]*i.scaleX,d=t[1]*i.scaleY;return t[2]*=i.scaleX,t[3]*=i.scaleY,t[0]=a*n-o*d+i.positionX,t[1]=o*n+a*d-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static GetVerts(t,s,e){const i=s.size_X/2,h=s.size_Y/2,a=s.size_X*-(s.pivotX+t.pivotX()),o=s.size_Y*(s.pivotY+t.pivotY());return e.set([a,o,a-i,o-h,a+i,o-h,a-i,o+h,a+i,o+h]),e}static GetMeshVerts(t,s,e){for(let i=0;i{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}unload(t,s,e){S.Assets.unloadBundle(t).then(()=>{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}texture(t){return S.Assets.get(t)}}class Dt{constructor(){this.loader=new xt}load(t,s,e){return this.loader.load(t,s,e)}unload(t,s,e=null){return this.loader.unload(t,s,e)}texture(t){return this.loader.texture(t)}}class St{constructor(t,s,e,i){if(this.sspjMap={},this.resourceLoader=new Dt,typeof t=="string"&&e===void 0){let h=t;this.ssfbPath=h;const a=h.lastIndexOf("/");this.rootPath=h.substring(0,a)+"/",this.ssfbFile=h.substring(a+1),this.onComplete=s===void 0?null:s,this.status=0,this.LoadFlatBuffersProject()}else if(typeof s=="object"&&s.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let h=s,a=e;this.onComplete=i===void 0?null:i,this.load(h,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,s=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(s=>s.ok?Promise.resolve(s.arrayBuffer()):Promise.reject(new Error(s.statusText))).then(s=>{t.fbObj=It.getProjectData(new Uint8Array(s)),t.LoadCellResources()}).catch(s=>{this.onComplete!==null&&this.onComplete(null,s)})}LoadCellResources(){let t=[];this.sspjMap={};for(let e=0;e{e===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,e)})}load(t,s){this.fbObj=It.getProjectData(t);let e={};for(let h in s){const a=s[h];let o="";const n=a.byteLength;for(let d=0;d{h===null?(i.status=1,i.onComplete!==null&&i.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,h)})}}class Vt{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class _t extends S.Container{constructor(t,s=null,e=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new S.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new nt(t.fbObj,s,e),this.parentAlpha=1,s!==null&&e!==null&&this.Setup(s,e),this.on("added",(...i)=>{S.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...i)=>{S.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,s){this.playerLib.Setup(t,s),this.clearCaches();const e=this.playerLib.animePackData,i=e.partsLength();this.prevCellID=new Array(i),this.prevPartObject=new Array(i),this.changeCellID=new Array(i),this.substituteOverWrite=new Array(i),this.substituteKeyParam=new Array(i);for(let h=0;h=this.updateInterval){let h=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let o=this.skipEnabled?a*this.playDirection:this.playDirection,n=this._currentFrame+o,d=Math.floor(n),r=n-d,f=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let b=d-f;b;b--){let u=f+1;if(u>this._endFrame)if(this._loops===-1)u=this._startFrame;else if(this._loops--,h=!0,this._loops===0){this._isPlaying=!1,u=s?this._startFrame:this._endFrame;break}else u=this._startFrame;f=u,this._isPlaying&&this.playerLib.HaveUserData(f)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(f))}if(this.playDirection<=-1)for(let b=f-d;b;b--){let u=f-1;if(u0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=s)}SetAnimationSection(t=-1,s=-1,e=-1){t>=0&&t=0&&s0?this._loops=e:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let s=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(s=t),this._currentFrame=s,this.resetLiveFrame();const e=Math.floor(this._currentFrame);this.SetFrameAnimation(e),this.playerLib.HaveUserData(e)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(e))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),s=this.endFrame;t!==s&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}SetPartCell(t,s,e){if(this.playerLib.animationData){let i=-1;if(s!==""&&e!==""){const o=this.playerLib.fbObj,n=this.playerLib.fbObj.numCells();for(let d=0;d>>24)/255,o=((e&16711680)>>>16)/255,n=((e&65280)>>>8)/255,d=(e&255)/255;if(t===0){const r=1-s;h.matrix=[r,0,0,0,o*s,0,r,0,0,n*s,0,0,r,0,d*s,0,0,0,1,0]}else t===1?h.matrix=[o,0,0,0,0,0,n,0,0,0,0,0,d,0,0,0,0,0,a,0]:t===2?h.matrix=[1,0,0,0,o,0,1,0,0,n,0,0,1,0,d,0,0,0,a,0]:t===3&&(h.matrix=[1,0,0,0,-o,0,1,0,0,-n,0,0,1,0,-d,0,0,0,a,0]);return this.colorMatrixFilterCache[i]=h,h}SetFrameAnimation(t,s=0){const e=this.playerLib.GetFrameData(t);this.removeChildren();const i=e.length;for(let h=0;h=0&&this.prevCellID[a]!==n&&(d?.destroy(),d=this.MakeCellMesh(n),d.label=r.name());break;case O.Mesh:n>=0&&this.prevCellID[a]!==n&&(d?.destroy(),d=this.MakeMeshCellMesh(a,n),d.label=r.name());break;case O.Nulltype:case O.Joint:this.prevCellID[a]!==n&&(d?.destroy(),d=new S.Container,d.label=r.name());break;default:n>=0&&this.prevCellID[a]!==n&&(d?.destroy(),d=this.MakeCellMesh(n),d.label=r.name());break}if(d!=null)switch(this.prevCellID[a]=n,this.prevPartObject[a]=d,f){case O.Instance:{const l=d;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,o.index,t),l.rotation=this._instancePos[4]*Math.PI/180,l.position.set(this._instancePos[0],this._instancePos[1]),l.scale.set(this._instancePos[2],this._instancePos[3]);let V=o.opacity/255;o.localopacity<255&&(V=o.localopacity/255),l.SetAlpha(V*this.parentAlpha),l.visible=!o.f_hide;let m=o.instanceValue_curKeyframe,F=o.instanceValue_startFrame,I=o.instanceValue_endFrame,A=o.instanceValue_speed,H=o.instanceValue_loopNum,tt=!1,U=!1,v=!1,X=!1;const W=1,J=2,M=4,P=8,E=o.instanceValue_loopflag;E&W&&(tt=!0),E&J&&(U=!0),E&M&&(v=!0),E&P&&(X=!0),b&&(F=u.refStartframe,I=u.refEndframe,A=u.refSpeed,H=u.refloopNum,tt=u.infinity,U=u.reverse,v=u.pingpong,X=u.independent),(l._startFrame!==F||l._endFrame!==I)&&l.SetAnimationSection(F,I);let k=t;X===!0&&(this.liveFrame[h]+=s,k=Math.floor(this.liveFrame[h]));const st=m;let g=Math.floor((k-st)*A);if(g<0||st>k)continue;const B=I-F+1;if(B<=0)continue;let N=Math.floor(g/B),T=H;v&&(T=T*2),tt||N>=T&&(g=B-1,N=T-1);const $=Math.floor(g%B);let z=0;v&&N%2===1&&(U?U=!1:U=!0),this.playDirection<=-1&&(U=!U),U?z=I-$:z=$+F,l.SetFrame(Math.floor(z)),this.addChild(l);break}case O.Normal:case O.Mesh:case O.Joint:case O.Mask:{const l=d,V=l.geometry.attributes.aPosition.buffer;let m=V.data;const F=this.playerLib.fbObj.cells(n);let I;if(f===O.Mesh?o.meshIsBind===0?I=this.playerLib.TransformMeshVertsLocal(nt.GetMeshVerts(F,o,m),o.index,t):I=nt.GetMeshVerts(F,o,m):(I=f===O.Joint?new Float32Array(10):m,I=this.playerLib.TransformVertsLocal(nt.GetVerts(F,o,I),o.index,t)),o.flag1&p.VERTEX_TRANSFORM){const v=I[6],X=I[3*2+1],W=I[1*2+0],J=I[1*2+1],M=I[4*2+0],P=I[4*2+1],E=I[2*2+0],k=I[2*2+1],st=(v+M)*.5,g=(X+P)*.5,B=(v+W)*.5,N=(X+J)*.5,T=(W+E)*.5,$=(J+k)*.5,z=(M+E)*.5,ot=(P+k)*.5,rt=nt.CoordinateGetDiagonalIntersection(I[0],I[1],st,g,z,ot,B,N,T,$,this._CoordinateGetDiagonalIntersectionVec2);I[0]=rt[0],I[1]=rt[1]}const A=I[0],H=I[1];for(let v=0;v>>24)/255;l.alpha=l.alpha*v}const U=this.alphaBlendType[a];(U==="multiply"||U==="screen")&&(l.alpha=1),f!==O.Mask&&this.addChild(l);break}case O.Nulltype:{const l=d,V=this.playerLib.InheritOpacity(1,o.index,t);l.alpha=V*o.localopacity/255;const m=this.playerLib.TransformVerts(nt.GetDummyVerts(),o.index,t),F=m[0],I=m[1];l.position.set(F,I);const A=Math.atan2(m[5]-m[3],m[4]-m[2]),H=Math.atan2(m[7]-m[3],m[6]-m[2]);l.rotation=A,l.skew.x=H-A-Math.PI/2;break}}}}ChangeInstanceAnime(t,s,e,i,h=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let o=this.playerLib.animePackData,n=o.partsLength();for(let d=0;d0){const h=new Float32Array(i-2),a=e.uv(1);for(let b=2;b>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8}writeInt32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeUint32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeInt64(t,s){this.writeInt32(t,Number(BigInt.asIntN(32,s))),this.writeInt32(t+4,Number(BigInt.asIntN(32,s>>BigInt(32))))}writeUint64(t,s){this.writeUint32(t,Number(BigInt.asUintN(32,s))),this.writeUint32(t+4,Number(BigInt.asUintN(32,s>>BigInt(32))))}writeFloat32(t,s){Ft[0]=s,this.writeInt32(t,Q[0])}writeFloat64(t,s){gt[0]=s,this.writeInt32(t,Q[ft?0:1]),this.writeInt32(t+4,Q[ft?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;e--)t.addInt32(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static endpartState(t){return t.endObject()}static createpartState(t,s,e,i,r){return R.startpartState(t),R.addIndex(t,s),R.addFlag1(t,e),R.addFlag2(t,i),R.addData(t,r),R.endpartState(t)}}class it{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsframeDataIndex(t,s){return(s||new it).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,s){return t.setPosition(t.position()+C),(s||new it).__init(t.readInt32(t.position())+t.position(),t)}states(t,s){const e=this.bb.__offset(this.bb_pos,4);return e?(s||new R).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,s){t.addFieldOffset(0,s,0)}static createStatesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startStatesVector(t,s){t.startVector(4,s,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,s){return it.startframeDataIndex(t),it.addStates(t,s),it.endframeDataIndex(t)}}class G{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAslabelDataItem(t,s){return(s||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,s){return t.setPosition(t.position()+C),(s||new G).__init(t.readInt32(t.position())+t.position(),t)}label(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,s){t.addFieldOffset(0,s,0)}static addFrameIndex(t,s){t.addFieldInt16(1,s,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,s,e){return G.startlabelDataItem(t),G.addLabel(t,s),G.addFrameIndex(t,e),G.endlabelDataItem(t)}}class at{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataIndices(t,s){return(s||new at).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,s){return t.setPosition(t.position()+C),(s||new at).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,s){t.addFieldOffset(0,s,0)}static createIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startIndicesVector(t,s){t.startVector(4,s,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,s){return at.startmeshDataIndices(t),at.addIndices(t,s),at.endmeshDataIndices(t)}}class nt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataUV(t,s){return(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,s){return t.setPosition(t.position()+C),(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,s){t.addFieldOffset(0,s,0)}static createUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startUvVector(t,s){t.startVector(4,s,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,s){return nt.startmeshDataUV(t),nt.addUv(t,s),nt.endmeshDataUV(t)}}class A{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataItem(t,s){return(s||new A).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,s){return t.setPosition(t.position()+C),(s||new A).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,s){t.addFieldInt16(0,s,0)}static addArrayIndex(t,s){t.addFieldInt16(1,s,0)}static addDataType(t,s){t.addFieldOffset(2,s,0)}static createDataTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startDataTypeVector(t,s){t.startVector(1,s,1)}static addData(t,s){t.addFieldOffset(3,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,s,e,i,r){return A.startuserDataItem(t),A.addFlags(t,s),A.addArrayIndex(t,e),A.addDataType(t,i),A.addData(t,r),A.enduserDataItem(t)}}class tt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataPerFrame(t,s){return(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,s){return t.setPosition(t.position()+C),(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new A).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,s){t.addFieldInt16(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,s,e){return tt.startuserDataPerFrame(t),tt.addFrameIndex(t,s),tt.addData(t,e),tt.enduserDataPerFrame(t)}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimationData(t,s){return(s||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,s){return t.setPosition(t.position()+C),(s||new y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}defaultData(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new l).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new it).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?(s||new tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new at).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,s){t.addFieldOffset(0,s,0)}static addDefaultData(t,s){t.addFieldOffset(1,s,0)}static createDefaultDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDefaultDataVector(t,s){t.startVector(4,s,4)}static addFrameData(t,s){t.addFieldOffset(2,s,0)}static createFrameDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startFrameDataVector(t,s){t.startVector(4,s,4)}static addUserData(t,s){t.addFieldOffset(3,s,0)}static createUserDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startUserDataVector(t,s){t.startVector(4,s,4)}static addLabelData(t,s){t.addFieldOffset(4,s,0)}static createLabelDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startLabelDataVector(t,s){t.startVector(4,s,4)}static addMeshsDataUv(t,s){t.addFieldOffset(5,s,0)}static createMeshsDataUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataUvVector(t,s){t.startVector(4,s,4)}static addMeshsDataIndices(t,s){t.addFieldOffset(6,s,0)}static createMeshsDataIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataIndicesVector(t,s){t.startVector(4,s,4)}static addStartFrames(t,s){t.addFieldInt16(7,s,0)}static addEndFrames(t,s){t.addFieldInt16(8,s,0)}static addTotalFrames(t,s){t.addFieldInt16(9,s,0)}static addFps(t,s){t.addFieldInt16(10,s,0)}static addLabelNum(t,s){t.addFieldInt16(11,s,0)}static addCanvasSizeW(t,s){t.addFieldInt16(12,s,0)}static addCanvasSizeH(t,s){t.addFieldInt16(13,s,0)}static addCanvasPvotX(t,s){t.addFieldFloat32(14,s,0)}static addCanvasPvotY(t,s){t.addFieldFloat32(15,s,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,s,e,i,r,a,o,h,f,n,d,_,m,F,b,v,u){return y.startAnimationData(t),y.addName(t,s),y.addDefaultData(t,e),y.addFrameData(t,i),y.addUserData(t,r),y.addLabelData(t,a),y.addMeshsDataUv(t,o),y.addMeshsDataIndices(t,h),y.addStartFrames(t,f),y.addEndFrames(t,n),y.addTotalFrames(t,d),y.addFps(t,_),y.addLabelNum(t,m),y.addCanvasSizeW(t,F),y.addCanvasSizeH(t,b),y.addCanvasPvotX(t,v),y.addCanvasPvotY(t,u),y.endAnimationData(t)}}var O=(c=>(c[c.Invalid=-1]="Invalid",c[c.Nulltype=0]="Nulltype",c[c.Normal=1]="Normal",c[c.Text=2]="Text",c[c.Instance=3]="Instance",c[c.Armature=4]="Armature",c[c.Effect=5]="Effect",c[c.Mesh=6]="Mesh",c[c.Movenode=7]="Movenode",c[c.Constraint=8]="Constraint",c[c.Mask=9]="Mask",c[c.Joint=10]="Joint",c[c.Bonepoint=11]="Bonepoint",c))(O||{});class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsPartData(t,s){return(s||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,s){return t.setPosition(t.position()+C),(s||new S).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):O.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__string(this.bb_pos+s,t):null}effectfilename(t){const s=this.bb.__offset(this.bb_pos,18);return s?this.bb.__string(this.bb_pos+s,t):null}colorLabel(t){const s=this.bb.__offset(this.bb_pos,20);return s?this.bb.__string(this.bb_pos+s,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,s){t.addFieldOffset(0,s,0)}static addIndex(t,s){t.addFieldInt16(1,s,0)}static addParentIndex(t,s){t.addFieldInt16(2,s,0)}static addType(t,s){t.addFieldInt8(3,s,O.Nulltype)}static addBoundsType(t,s){t.addFieldInt16(4,s,0)}static addAlphaBlendType(t,s){t.addFieldInt16(5,s,0)}static addRefname(t,s){t.addFieldOffset(6,s,0)}static addEffectfilename(t,s){t.addFieldOffset(7,s,0)}static addColorLabel(t,s){t.addFieldOffset(8,s,0)}static addMaskInfluence(t,s){t.addFieldInt16(9,s,0)}static endPartData(t){return t.endObject()}static createPartData(t,s,e,i,r,a,o,h,f,n,d){return S.startPartData(t),S.addName(t,s),S.addIndex(t,e),S.addParentIndex(t,i),S.addType(t,r),S.addBoundsType(t,a),S.addAlphaBlendType(t,o),S.addRefname(t,h),S.addEffectfilename(t,f),S.addColorLabel(t,n),S.addMaskInfluence(t,d),S.endPartData(t)}}class Z{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimePackData(t,s){return(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,s){return t.setPosition(t.position()+C),(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}parts(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new S).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,s){t.addFieldOffset(0,s,0)}static addParts(t,s){t.addFieldOffset(1,s,0)}static createPartsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startPartsVector(t,s){t.startVector(4,s,4)}static addAnimations(t,s){t.addFieldOffset(2,s,0)}static createAnimationsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimationsVector(t,s){t.startVector(4,s,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,s,e,i){return Z.startAnimePackData(t),Z.addName(t,s),Z.addParts(t,e),Z.addAnimations(t,i),Z.endAnimePackData(t)}}class X{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCellMap(t,s){return(s||new X).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,s){return t.setPosition(t.position()+C),(s||new X).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}imagePath(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,s){t.addFieldOffset(0,s,0)}static addImagePath(t,s){t.addFieldOffset(1,s,0)}static addIndex(t,s){t.addFieldInt16(2,s,0)}static addWrapmode(t,s){t.addFieldInt16(3,s,0)}static addFiltermode(t,s){t.addFieldInt16(4,s,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,s,e,i,r,a){return X.startCellMap(t),X.addName(t,s),X.addImagePath(t,e),X.addIndex(t,i),X.addWrapmode(t,r),X.addFiltermode(t,a),X.endCellMap(t)}}class lt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCell(t,s){return(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,s){return t.setPosition(t.position()+C),(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}cellMap(t){const s=this.bb.__offset(this.bb_pos,6);return s?(t||new X).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,s){t.addFieldOffset(0,s,0)}static addCellMap(t,s){t.addFieldOffset(1,s,0)}static addIndexInCellMap(t,s){t.addFieldInt16(2,s,0)}static addX(t,s){t.addFieldInt16(3,s,0)}static addY(t,s){t.addFieldInt16(4,s,0)}static addWidth(t,s){t.addFieldInt16(5,s,0)}static addHeight(t,s){t.addFieldInt16(6,s,0)}static addPivotX(t,s){t.addFieldFloat32(7,s,0)}static addPivotY(t,s){t.addFieldFloat32(8,s,0)}static addU1(t,s){t.addFieldFloat32(9,s,0)}static addV1(t,s){t.addFieldFloat32(10,s,0)}static addU2(t,s){t.addFieldFloat32(11,s,0)}static addV2(t,s){t.addFieldFloat32(12,s,0)}static endCell(t){return t.endObject()}}class P{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectNode(t,s){return(s||new P).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,s){return t.setPosition(t.position()+C),(s||new P).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,s){t.addFieldInt16(0,s,0)}static addParentIndex(t,s){t.addFieldInt16(1,s,0)}static addType(t,s){t.addFieldInt16(2,s,0)}static addCellIndex(t,s){t.addFieldInt16(3,s,0)}static addBlendType(t,s){t.addFieldInt16(4,s,0)}static addNumBehavior(t,s){t.addFieldInt16(5,s,0)}static addBehaviorType(t,s){t.addFieldOffset(6,s,0)}static createBehaviorTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startBehaviorTypeVector(t,s){t.startVector(1,s,1)}static addBehavior(t,s){t.addFieldOffset(7,s,0)}static createBehaviorVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startBehaviorVector(t,s){t.startVector(4,s,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,s,e,i,r,a,o,h,f){return P.startEffectNode(t),P.addArrayIndex(t,s),P.addParentIndex(t,e),P.addType(t,i),P.addCellIndex(t,r),P.addBlendType(t,a),P.addNumBehavior(t,o),P.addBehaviorType(t,h),P.addBehavior(t,f),P.endEffectNode(t)}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectFile(t,s){return(s||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,s){return t.setPosition(t.position()+C),(s||new w).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?(s||new P).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,s){t.addFieldOffset(0,s,0)}static addFps(t,s){t.addFieldInt16(1,s,0)}static addIsLockRandSeed(t,s){t.addFieldInt16(2,s,0)}static addLockRandSeed(t,s){t.addFieldInt16(3,s,0)}static addLayoutScaleX(t,s){t.addFieldInt16(4,s,0)}static addLayoutScaleY(t,s){t.addFieldInt16(5,s,0)}static addNumNodeList(t,s){t.addFieldInt16(6,s,0)}static addEffectNode(t,s){t.addFieldOffset(7,s,0)}static createEffectNodeVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectNodeVector(t,s){t.startVector(4,s,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,s,e,i,r,a,o,h,f){return w.startEffectFile(t),w.addName(t,s),w.addFps(t,e),w.addIsLockRandSeed(t,i),w.addLockRandSeed(t,r),w.addLayoutScaleX(t,a),w.addLayoutScaleY(t,o),w.addNumNodeList(t,h),w.addEffectNode(t,f),w.endEffectFile(t)}}var p=(c=>(c[c.INVISIBLE=1]="INVISIBLE",c[c.FLIP_H=2]="FLIP_H",c[c.FLIP_V=4]="FLIP_V",c[c.CELL_INDEX=8]="CELL_INDEX",c[c.POSITION_X=16]="POSITION_X",c[c.POSITION_Y=32]="POSITION_Y",c[c.POSITION_Z=64]="POSITION_Z",c[c.PIVOT_X=128]="PIVOT_X",c[c.PIVOT_Y=256]="PIVOT_Y",c[c.ROTATIONX=512]="ROTATIONX",c[c.ROTATIONY=1024]="ROTATIONY",c[c.ROTATIONZ=2048]="ROTATIONZ",c[c.SCALE_X=4096]="SCALE_X",c[c.SCALE_Y=8192]="SCALE_Y",c[c.LOCALSCALE_X=16384]="LOCALSCALE_X",c[c.LOCALSCALE_Y=32768]="LOCALSCALE_Y",c[c.OPACITY=65536]="OPACITY",c[c.LOCALOPACITY=131072]="LOCALOPACITY",c[c.PARTS_COLOR=262144]="PARTS_COLOR",c[c.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",c[c.SIZE_X=1048576]="SIZE_X",c[c.SIZE_Y=2097152]="SIZE_Y",c[c.U_MOVE=4194304]="U_MOVE",c[c.V_MOVE=8388608]="V_MOVE",c[c.UV_ROTATION=16777216]="UV_ROTATION",c[c.U_SCALE=33554432]="U_SCALE",c[c.V_SCALE=67108864]="V_SCALE",c[c.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",c[c.MASK=268435456]="MASK",c[c.PRIORITY=536870912]="PRIORITY",c[c.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",c[c.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",c))(p||{}),yt=(c=>(c[c.MESHDATA=1]="MESHDATA",c))(yt||{});class D{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsProjectData(t,s){return(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,s){return t.setPosition(t.position()+C),(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__string(this.bb_pos+s,t):null}cells(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new Z).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new w).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,s){t.addFieldInt32(0,s,0)}static addVersion(t,s){t.addFieldInt32(1,s,0)}static addFlags(t,s){t.addFieldInt32(2,s,0)}static addImageBaseDir(t,s){t.addFieldOffset(3,s,0)}static addCells(t,s){t.addFieldOffset(4,s,0)}static createCellsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startCellsVector(t,s){t.startVector(4,s,4)}static addAnimePacks(t,s){t.addFieldOffset(5,s,0)}static createAnimePacksVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimePacksVector(t,s){t.startVector(4,s,4)}static addEffectFileList(t,s){t.addFieldOffset(6,s,0)}static createEffectFileListVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectFileListVector(t,s){t.startVector(4,s,4)}static addNumCells(t,s){t.addFieldInt16(7,s,0)}static addNumAnimePacks(t,s){t.addFieldInt16(8,s,0)}static addNumEffectFileList(t,s){t.addFieldInt16(9,s,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,s){t.finish(s,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,s){t.finish(s,"SSFB",!0)}static createProjectData(t,s,e,i,r,a,o,h,f,n,d){return D.startProjectData(t),D.addDataId(t,s),D.addVersion(t,e),D.addFlags(t,i),D.addImageBaseDir(t,r),D.addCells(t,a),D.addAnimePacks(t,o),D.addEffectFileList(t,h),D.addNumCells(t,f),D.addNumAnimePacks(t,n),D.addNumEffectFileList(t,d),D.endProjectData(t)}}class Ct{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,s){return t.prep(4,4),t.writeInt32(s),t.offset()}}class vt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,s,e){return t.prep(4,8),t.writeInt32(e),t.writeInt32(s),t.offset()}}class bt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,s,e,i,r){return t.prep(4,16),t.writeInt32(r),t.writeInt32(i),t.writeInt32(e),t.writeInt32(s),t.offset()}}class H{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataString(t,s){return(s||new H).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,s){return t.setPosition(t.position()+C),(s||new H).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,s){t.addFieldInt32(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,s,e){return H.startuserDataString(t),H.addLength(t,s),H.addData(t,e),H.enduserDataString(t)}}let xt=class{static getProjectData(t){const s=new It(t);return D.getRootAsProjectData(s)}};class mt{static getProjectData(t){return xt.getProjectData(t)}}class ot{constructor(t,s=null,e=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),t.hasOwnProperty("bb")?this._fbObj=t:this._fbObj=mt.getProjectData(t),s!==null&&e!==null&&this.Setup(s,e)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,s){this.clearCaches();const e=this._fbObj.animePacksLength();let i=!1;for(let r=0;r>>0,n.colorBlendType===1&&(n.tint=n.colorArgb32&16777215)}}if(f&yt.MESHDATA){const _=this.curAnimation.meshsDataUv(o);n.meshIsBind=_.uv(0),n.meshNum=_.uv(1);let m=new Float32Array(n.meshNum*3);for(let F=0;F=0&&(t=this.InheritOpacity(t,this._parentIndex[s],e)),t}TransformVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformMeshVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPositionLocal(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r),h=t[0]*i.scaleX*i.localscaleX,f=t[1]*i.scaleY*i.localscaleY;return t[2]*=i.scaleX*i.localscaleX,t[3]*=i.scaleY*i.localscaleY,t[0]=a*h-o*f+i.positionX,t[1]=o*h+a*f-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static CoordinateGetDiagonalIntersection(t,s,e,i,r,a,o,h,f,n,d){const _=(h-a)*(o-e)-(o-r)*(h-i),m=(f-e)*(h-i)-(n-i)*(o-e),F=(f-e)*(h-a)-(n-i)*(o-r);if(F<=0&&F>=0)return d;const b=_/F,v=m/F;return 0<=b&&1>=b&&0<=v&&1>=v&&(t=e+b*(f-e),s=i+b*(n-i)),d[0]=t,d[1]=s,d}TransformVerts(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPosition(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r),h=t[0]*i.scaleX,f=t[1]*i.scaleY;return t[2]*=i.scaleX,t[3]*=i.scaleY,t[0]=a*h-o*f+i.positionX,t[1]=o*h+a*f-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static GetVerts(t,s,e){const i=s.size_X/2,r=s.size_Y/2,a=s.size_X*-(s.pivotX+t.pivotX()),o=s.size_Y*(s.pivotY+t.pivotY());return e.set([a,o,a-i,o-r,a+i,o-r,a-i,o+r,a+i,o+r]),e}static GetMeshVerts(t,s,e){for(let i=0;i{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}unload(t,s,e){L.Assets.unloadBundle(t).then(()=>{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}texture(t){return L.Assets.get(t)}}class Dt{constructor(){this.loader=new St}load(t,s,e){return this.loader.load(t,s,e)}unload(t,s,e=null){return this.loader.unload(t,s,e)}texture(t){return this.loader.texture(t)}}class Lt{constructor(t,s,e,i){if(this.sspjMap={},this.resourceLoader=new Dt,typeof t=="string"&&e===void 0){let r=t;this.ssfbPath=r;const a=r.lastIndexOf("/");this.rootPath=r.substring(0,a)+"/",this.ssfbFile=r.substring(a+1),this.onComplete=s===void 0?null:s,this.status=0,this.LoadFlatBuffersProject()}else if(typeof s=="object"&&s.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let r=s,a=e;this.onComplete=i===void 0?null:i,this.load(r,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,s=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(s=>s.ok?Promise.resolve(s.arrayBuffer()):Promise.reject(new Error(s.statusText))).then(s=>{t.fbObj=mt.getProjectData(new Uint8Array(s)),t.LoadCellResources()}).catch(s=>{this.onComplete!==null&&this.onComplete(null,s)})}LoadCellResources(){let t=[];this.sspjMap={};for(let e=0;e{e===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,e)})}load(t,s){this.fbObj=mt.getProjectData(t);let e={};for(let r in s){const a=s[r];let o="";const h=a.byteLength;for(let f=0;f{r===null?(i.status=1,i.onComplete!==null&&i.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,r)})}}class Vt{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class _t extends L.Container{constructor(t,s=null,e=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new L.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new ot(t.fbObj,s,e),this.parentAlpha=1,s!==null&&e!==null&&this.Setup(s,e),this.on("added",(...i)=>{L.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...i)=>{L.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,s){this.playerLib.Setup(t,s),this.clearCaches();const e=this.playerLib.animePackData,i=e.partsLength();this.prevCellID=new Array(i),this.prevPartObject=new Array(i),this.changeCellID=new Array(i),this.substituteOverWrite=new Array(i),this.substituteKeyParam=new Array(i);for(let r=0;r=this.updateInterval){let r=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let o=this.skipEnabled?a*this.playDirection:this.playDirection,h=this._currentFrame+o,f=Math.floor(h),n=h-f,d=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let _=f-d;_;_--){let m=d+1;if(m>this._endFrame)if(this._loops===-1)m=this._startFrame;else if(this._loops--,r=!0,this._loops===0){this._isPlaying=!1,m=s?this._startFrame:this._endFrame;break}else m=this._startFrame;d=m,this._isPlaying&&this.playerLib.HaveUserData(d)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(d))}if(this.playDirection<=-1)for(let _=d-f;_;_--){let m=d-1;if(m0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=s)}SetAnimationSection(t=-1,s=-1,e=-1){t>=0&&t=0&&s0?this._loops=e:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let s=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(s=t),this._currentFrame=s,this.resetLiveFrame();const e=Math.floor(this._currentFrame);this.SetFrameAnimation(e),this.playerLib.HaveUserData(e)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(e))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),s=this.endFrame;t!==s&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}getCellIndex(t,s){let e=-1;if(t!==""&&s!==""){const i=this.playerLib.fbObj,r=this.playerLib.fbObj.numCells();for(let a=0;a>>24)/255,o=((e&16711680)>>>16)/255,h=((e&65280)>>>8)/255,f=(e&255)/255;if(t===0){const n=1-s;r.matrix=[n,0,0,0,o*s,0,n,0,0,h*s,0,0,n,0,f*s,0,0,0,1,0]}else t===1?r.matrix=[o,0,0,0,0,0,h,0,0,0,0,0,f,0,0,0,0,0,a,0]:t===2?r.matrix=[1,0,0,0,o,0,1,0,0,h,0,0,1,0,f,0,0,0,a,0]:t===3&&(r.matrix=[1,0,0,0,-o,0,1,0,0,-h,0,0,1,0,-f,0,0,0,a,0]);return this.colorMatrixFilterCache[i]=r,r}SetFrameAnimation(t,s=0){const e=this.playerLib.GetFrameData(t);this.removeChildren();const i=e.length;for(let r=0;r=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeCellMesh(f),n.label=d.name());break;case O.Mesh:f>=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeMeshCellMesh(a,f,h),n.label=d.name());break;case O.Nulltype:case O.Joint:this.prevCellID[a]!==f&&(n?.destroy(),n=new L.Container,n.label=d.name());break;default:f>=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeCellMesh(f),n.label=d.name());break}if(n!=null)switch(this.prevCellID[a]=f,this.prevPartObject[a]=n,_){case O.Instance:{const b=n;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,o.index,t),b.rotation=this._instancePos[4]*Math.PI/180,b.position.set(this._instancePos[0],this._instancePos[1]),b.scale.set(this._instancePos[2],this._instancePos[3]);let v=o.opacity/255;o.localopacity<255&&(v=o.localopacity/255),b.SetAlpha(v*this.parentAlpha),b.visible=!o.f_hide;let u=o.instanceValue_curKeyframe,x=o.instanceValue_startFrame,I=o.instanceValue_endFrame,z=o.instanceValue_speed,W=o.instanceValue_loopNum,st=!1,k=!1,V=!1,B=!1;const J=1,$=2,M=4,E=8,N=o.instanceValue_loopflag;N&J&&(st=!0),N&$&&(k=!0),N&M&&(V=!0),N&E&&(B=!0),m&&(x=F.refStartframe,I=F.refEndframe,z=F.refSpeed,W=F.refloopNum,st=F.infinity,k=F.reverse,V=F.pingpong,B=F.independent),(b._startFrame!==x||b._endFrame!==I)&&b.SetAnimationSection(x,I);let Y=t;B===!0&&(this.liveFrame[r]+=s,Y=Math.floor(this.liveFrame[r]));const et=u;let g=Math.floor((Y-et)*z);if(g<0||et>Y)continue;const T=I-x+1;if(T<=0)continue;let U=Math.floor(g/T),j=W;V&&(j=j*2),st||U>=j&&(g=T-1,U=j-1);const q=Math.floor(g%T);let K=0;V&&U%2===1&&(k?k=!1:k=!0),this.playDirection<=-1&&(k=!k),k?K=I-q:K=q+x,b.SetFrame(Math.floor(K)),this.addChild(b);break}case O.Normal:case O.Mesh:case O.Joint:case O.Mask:{const b=n,v=b.geometry.attributes.aPosition.buffer;let u=v.data;const x=this.playerLib.fbObj.cells(f);let I;if(_===O.Mesh?o.meshIsBind===0?I=this.playerLib.TransformMeshVertsLocal(ot.GetMeshVerts(x,o,u),o.index,t):I=ot.GetMeshVerts(x,o,u):(I=_===O.Joint?new Float32Array(10):u,I=this.playerLib.TransformVertsLocal(ot.GetVerts(x,o,I),o.index,t)),o.flag1&p.VERTEX_TRANSFORM){const V=I[6],B=I[3*2+1],J=I[1*2+0],$=I[1*2+1],M=I[4*2+0],E=I[4*2+1],N=I[2*2+0],Y=I[2*2+1],et=(V+M)*.5,g=(B+E)*.5,T=(V+J)*.5,U=(B+$)*.5,j=(J+N)*.5,q=($+Y)*.5,K=(M+N)*.5,rt=(E+Y)*.5,pt=ot.CoordinateGetDiagonalIntersection(I[0],I[1],et,g,K,rt,T,U,j,q,this._CoordinateGetDiagonalIntersectionVec2);I[0]=pt[0],I[1]=pt[1]}const z=I[0],W=I[1];for(let V=0;V>>24)/255;b.alpha=b.alpha*V}const k=this.alphaBlendType[a];(k==="multiply"||k==="screen")&&(b.alpha=1),_!==O.Mask&&this.addChild(b);break}case O.Nulltype:{const b=n,v=this.playerLib.InheritOpacity(1,o.index,t);b.alpha=v*o.localopacity/255;const u=this.playerLib.TransformVerts(ot.GetDummyVerts(),o.index,t),x=u[0],I=u[1];b.position.set(x,I);const z=Math.atan2(u[5]-u[3],u[4]-u[2]),W=Math.atan2(u[7]-u[3],u[6]-u[2]);b.rotation=z,b.skew.x=W-z-Math.PI/2;break}}}}ChangeInstanceAnime(t,s,e,i,r=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let o=this.playerLib.animePackData,h=o.partsLength();for(let f=0;f0){const a=this.playerLib.fbObj.cells(s),o=this.playerLib.fbObj.cells(e),h=s===e?0:(a.u1()+a.u2())/2-(o.u1()+o.u2())/2,f=s===e?0:(a.v1()+a.v2())/2-(o.v1()+o.v2())/2,n=new Float32Array(r-2),d=i.uv(1);for(let u=2;u= 0 && this.prevCellID[i] !== cellID) { if (partObject != null) partObject.destroy(); - partObject = this.MakeMeshCellMesh(i, cellID); + partObject = this.MakeMeshCellMesh(i, cellID, origCellID); partObject.label = part.name(); } break; @@ -3951,16 +3961,21 @@ * メッシュセルからメッシュを作成 * @param {number} partID - パーツID * @param {number} cellID - セルID + * @param {number} origCellID - オリジナルのセルID * @return {PIXI.Mesh} - メッシュ */ - MakeMeshCellMesh(partID, cellID) { + MakeMeshCellMesh(partID, cellID, origCellID) { const meshsDataUV = this.playerLib.animationData.meshsDataUv(partID); const uvLength = meshsDataUV.uvLength(); if (uvLength > 0) { + const cell = this.playerLib.fbObj.cells(cellID); + const origCell = this.playerLib.fbObj.cells(origCellID); + const diff_u = cellID === origCellID ? 0 : (cell.u1() + cell.u2()) / 2 - (origCell.u1() + origCell.u2()) / 2; + const diff_v = cellID === origCellID ? 0 : (cell.v1() + cell.v2()) / 2 - (origCell.v1() + origCell.v2()) / 2; const uvs = new Float32Array(uvLength - 2); const meshNum = meshsDataUV.uv(1); for (let idx = 2; idx < uvLength; idx++) { - uvs[idx - 2] = meshsDataUV.uv(idx); + uvs[idx - 2] = meshsDataUV.uv(idx) + (idx % 2 === 0 ? diff_u : diff_v); } const meshsDataIndices = this.playerLib.animationData.meshsDataIndices(partID); const indicesLength = meshsDataIndices.indicesLength(); diff --git a/package-lock.json b/package-lock.json index b42e2001..95a5a278 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,11 +21,11 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^48.5.2", - "lerna": "^8.1.6", + "lerna": "^8.1.7", "ncp": "^2.0.0", - "rimraf": "^6.0.0", - "typedoc": "^0.26.4", - "typescript": "^5.5.3" + "rimraf": "^6.0.1", + "typedoc": "^0.26.5", + "typescript": "^5.5.4" }, "optionalDependencies": { "fsevents": "^2.3.3" @@ -162,6 +162,37 @@ "node": ">=6.9.0" } }, + "node_modules/@emnapi/core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.2.0.tgz", + "integrity": "sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz", + "integrity": "sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@es-joy/jsdoccomment": { "version": "0.43.1", "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz", @@ -875,9 +906,9 @@ "license": "MIT" }, "node_modules/@lerna/create": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.1.6.tgz", - "integrity": "sha512-z7CjDSWFKS6cqydxP2XDrnmp1MYavSk2sU70ku1uo/38SZvFeUlEAkV6evxc2QJOqWQFsGKOO26zX2DBnQ45YQ==", + "version": "8.1.7", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.1.7.tgz", + "integrity": "sha512-ch81CgU5pBNOiUCQx44F/ZtN4DxxJjUQtuytYRBFWJSHAJ+XPJtiC/yQ9zjr1I1yaUlmNYYblkopoOyziOdJ1w==", "dev": true, "license": "MIT", "dependencies": { @@ -939,6 +970,7 @@ "slash": "^3.0.0", "ssri": "^10.0.6", "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", "strong-log-transformer": "2.1.0", "tar": "6.2.1", "temp-dir": "1.0.0", @@ -1081,6 +1113,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1200,13 +1244,14 @@ } }, "node_modules/@npmcli/git": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.7.tgz", - "integrity": "sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", + "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", "dev": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", "proc-log": "^4.0.0", @@ -1219,6 +1264,16 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@npmcli/git/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@npmcli/git/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -1441,23 +1496,23 @@ } }, "node_modules/@nrwl/devkit": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.4.1.tgz", - "integrity": "sha512-BVo735k+HgCQ78fHi/yDFN7n0kUbCujyASm+iu6BKLi0b2aPi9Dw+Igztiv38g/Gyjjapos0O39XLpbcoGnw3Q==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.5.6.tgz", + "integrity": "sha512-H7LGlwAktfL2GR4scwCfehuppmzcHJJt4C2PpiGEsfA74MKBw2/VGX15b29Mf36XbGS+Bx9vjvooZEt5HPCusw==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "19.4.1" + "@nx/devkit": "19.5.6" } }, "node_modules/@nrwl/tao": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.4.1.tgz", - "integrity": "sha512-4PHs6Ja8PkWkIrg8ViB47j+dR2fDn51vtQTWL33n4q5hqZ65rvsMHNch4UsC52XUSv55IZnJwcYlxhAx/vXk3g==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.5.6.tgz", + "integrity": "sha512-p1bxEjW32bIHAiTp+PVdJpa2V9En2s9FigepHXyvmT2Aipisz96CKiDjexhPTjOZHUKtqA9FgmOIuVl3sBME3g==", "dev": true, "license": "MIT", "dependencies": { - "nx": "19.4.1", + "nx": "19.5.6", "tslib": "^2.3.0" }, "bin": { @@ -1465,13 +1520,13 @@ } }, "node_modules/@nx/devkit": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.4.1.tgz", - "integrity": "sha512-vOUes8e8guFmbcpUcppUlx120Y52ovY46ZnKogOjnw5q7LN12Fvn68A2wBF8SYmyiYmPd56YtUV7A6LuS8Wd3w==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.6.tgz", + "integrity": "sha512-zSToXLkhbAOQmqVTgUNHdLO0uOZz/iGwqEK4tuAhU5hhqTcpN1TZUI9BlINvtFJBLvbNroGrnIh0gTq9CPzVHw==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/devkit": "19.4.1", + "@nrwl/devkit": "19.5.6", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -1502,9 +1557,9 @@ } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.4.1.tgz", - "integrity": "sha512-WfNRFpMoBB5Ayzvwqfy+anEUgqOZLnLctGG1qwMhCOqczcPUtuTrAjRilMYZ7RrT0cvw0da8dTkpkAsAURS7Ig==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.5.6.tgz", + "integrity": "sha512-evEpUq571PQkhaLBR7ul5iqE2l97QS7Q37/rxoBuwJzyQ/QKHfNu5t032bR3KLyEOrv7golT10jMeoQlNeF7eQ==", "cpu": [ "arm64" ], @@ -1519,9 +1574,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.4.1.tgz", - "integrity": "sha512-p8/lJZLeqAFjCyINrQUvlUvG2GkWN0IlqRm7NknNFXisFDwzcT6u12GR96hPbl+6eVBOtldYhwlufF4tZQDJiw==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.5.6.tgz", + "integrity": "sha512-o1tu0dOW7TZ80VN9N11FQL/3gHd1+t6NqtEmRClN0/sAh2MZyiBdbXv7UeN5HoKE7HAusiVFIxK3c1lxOvFtsQ==", "cpu": [ "x64" ], @@ -1536,9 +1591,9 @@ } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.4.1.tgz", - "integrity": "sha512-qi/tRWKuFS6wpYbAD/s0SBqh/2pNXNg+ytxmon3czYPuUrIiMfmXGxtz922P6YUSOWtL2N6Q9UI6vqZwS+g9/A==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.5.6.tgz", + "integrity": "sha512-IUL0ROGpLUol9cuVJ7VeUvaB/ptxg7DOjMef1+LJeOgxl/SFNa0bj0kKpA/AQwujz6cLI7Ei7xLTVQOboNh1DA==", "cpu": [ "x64" ], @@ -1553,9 +1608,9 @@ } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.4.1.tgz", - "integrity": "sha512-AIowQrN14ucZnBr4Syo2oDGYLqjuJHSGgY/ur6mPoxH02ghGAd68Mc1swX8elGRgBcGc251s05H8MjyPQVsT3A==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.5.6.tgz", + "integrity": "sha512-TGf1+cpWg5QiPEGW5kgxa1fVNyASMuqu+LvQ9CKhNYNz5EPD15yr/k6C0tOjgSXro3wi8TikTeG0Ln2hpmn6pw==", "cpu": [ "arm" ], @@ -1570,9 +1625,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.4.1.tgz", - "integrity": "sha512-TG/GfX7olq8bINKLOfamikHJWchYapcJheHj7aUZo951X96s6jYpbeZjwGrVesTJ2fO6EYlS7T1sJIqMoSMxaw==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.5.6.tgz", + "integrity": "sha512-4hZI5NmnBEAzr3NV/BtlPjbSVffLWGGCJ5tB/JB/NpW/vMtzOPCZ4RvsHuJMPprqHcXOdUnBgZFEcLbEMUXz0A==", "cpu": [ "arm64" ], @@ -1587,9 +1642,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.4.1.tgz", - "integrity": "sha512-GBBKbERw0baa4JKTbQi8LAERI6C5n3Scrk76pmzCn0HW5GxaQygr61kg6H6C7Duy+w+3D7vwMxCk2wPbUOTuOA==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.5.6.tgz", + "integrity": "sha512-n0oIBblMN+nlcBUbrFUkRSyzKZVR+G1lzdZ3PuHVwLC664hkbijEBAdF2E321yRfv5ohQVY0UIYDZVFN2XhFUg==", "cpu": [ "arm64" ], @@ -1604,9 +1659,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.4.1.tgz", - "integrity": "sha512-zaHHFM75hLVfMEBR8U7X8xiND1HNQJxybItuoBpnXHVRfKJwp1quByqArnaKKCzsvLvO5HdoXIA80ToJNmDkBQ==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.5.6.tgz", + "integrity": "sha512-IuoNo1bDHyJEeHom/n2m4+AA+UQ+Rlryvt9+bTdADclSFjmBLYCgbJwQRy7q9+vQk2mpQm0pQJv4d3XKCpDH+g==", "cpu": [ "x64" ], @@ -1621,9 +1676,9 @@ } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.4.1.tgz", - "integrity": "sha512-ygfqznUMoXnrI23U12VwkxOqG4C7sV85YaF7fWDIMuszxYU7KtrVAQ5YG0LNW5KNa1JCgKkjL9YszEiNJxK47Q==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.5.6.tgz", + "integrity": "sha512-FXtB8m/CSRkXLtDOAGfImO9OCUDIwYBssnvCVqX6PyPTBaVWo/GvX1O9WRbXSqSVIaJJTPn1aY/p6vptlGbDFw==", "cpu": [ "x64" ], @@ -1638,9 +1693,9 @@ } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.4.1.tgz", - "integrity": "sha512-tOpjieJ7XqbhvgQX9xcKTu/nWvj+w9tL0j6NlpP5Gkq1LiGUuXG2EWvOEGS5CsyAtT/tncLo2OJUx//Ah+dEtw==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.5.6.tgz", + "integrity": "sha512-aIDU84rjvxoqyUDIdN4VwS91Yec8bAtXOxjOFlF2acY2tXh0RjzmM+mkEP44nVAzFy0V1/cjzBKb6643FsEqdA==", "cpu": [ "arm64" ], @@ -1655,9 +1710,9 @@ } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.4.1.tgz", - "integrity": "sha512-u9h7nrIplf79A6Yhzk1ZlNNlHrhuKrDaGMyhpTx3QaLEiRp0Kl3haMrnYmPlpRFNDwWXWDKzwiTWZtQoo2JoaA==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.5.6.tgz", + "integrity": "sha512-zWB/2TjhNYKHbuPh++5hYitno3EpSFXrPND0I0VLec27WW7voRY9XQFFznA3omForU4FfmVhITcKCqzIb3EtpA==", "cpu": [ "x64" ], @@ -2585,9 +2640,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz", - "integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", "cpu": [ "arm" ], @@ -2599,9 +2654,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz", - "integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", "cpu": [ "arm64" ], @@ -2613,9 +2668,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz", - "integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", "cpu": [ "arm64" ], @@ -2627,9 +2682,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz", - "integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", "cpu": [ "x64" ], @@ -2641,9 +2696,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz", - "integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", "cpu": [ "arm" ], @@ -2655,9 +2710,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz", - "integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", "cpu": [ "arm" ], @@ -2669,9 +2724,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz", - "integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", "cpu": [ "arm64" ], @@ -2683,9 +2738,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz", - "integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", "cpu": [ "arm64" ], @@ -2697,9 +2752,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz", - "integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", "cpu": [ "ppc64" ], @@ -2711,9 +2766,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz", - "integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", "cpu": [ "riscv64" ], @@ -2725,9 +2780,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz", - "integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", "cpu": [ "s390x" ], @@ -2739,9 +2794,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz", - "integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", "cpu": [ "x64" ], @@ -2753,9 +2808,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz", - "integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", "cpu": [ "x64" ], @@ -2767,9 +2822,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz", - "integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", "cpu": [ "arm64" ], @@ -2781,9 +2836,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz", - "integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", "cpu": [ "ia32" ], @@ -2795,9 +2850,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz", - "integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", "cpu": [ "x64" ], @@ -2926,6 +2981,16 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/css-font-loading-module": { "version": "0.0.12", "resolved": "https://registry.npmjs.org/@types/css-font-loading-module/-/css-font-loading-module-0.0.12.tgz", @@ -3810,9 +3875,9 @@ } }, "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.3.tgz", + "integrity": "sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw==", "dev": true, "license": "MIT", "dependencies": { @@ -7668,9 +7733,9 @@ } }, "node_modules/jake": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", - "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7971,13 +8036,13 @@ } }, "node_modules/lerna": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-8.1.6.tgz", - "integrity": "sha512-O3zSX/dmchMVy9m37DD1BCx7X68nS5lZFECjqG7Siiv3+KgqKXHnF4JQPJUDD/vG2qBQv5StpXCyqGxR0XJVAQ==", + "version": "8.1.7", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-8.1.7.tgz", + "integrity": "sha512-v2kkBn8Vqtroo30Pr5/JQ9MygRhnCsoI1jSOf3DxWmcTbkpC5U7c6rGr+7NPK6QrxKbC0/Cj4kuIBMb/7f79sQ==", "dev": true, "license": "MIT", "dependencies": { - "@lerna/create": "8.1.6", + "@lerna/create": "8.1.7", "@npmcli/arborist": "7.5.3", "@npmcli/package-json": "5.2.0", "@npmcli/run-script": "8.1.0", @@ -8044,6 +8109,7 @@ "slash": "3.0.0", "ssri": "^10.0.6", "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", "strong-log-transformer": "2.1.0", "tar": "6.2.1", "temp-dir": "1.0.0", @@ -9144,9 +9210,9 @@ } }, "node_modules/node-gyp": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", - "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", "dev": true, "license": "MIT", "dependencies": { @@ -9156,9 +9222,9 @@ "graceful-fs": "^4.2.6", "make-fetch-happen": "^13.0.0", "nopt": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5", - "tar": "^6.1.2", + "tar": "^6.2.1", "which": "^4.0.0" }, "bin": { @@ -9178,16 +9244,6 @@ "node": ">=16" } }, - "node_modules/node-gyp/node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -9308,9 +9364,9 @@ } }, "node_modules/npm-pick-manifest": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.1.tgz", - "integrity": "sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", + "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", "dev": true, "license": "ISC", "dependencies": { @@ -9357,18 +9413,19 @@ } }, "node_modules/nx": { - "version": "19.4.1", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.4.1.tgz", - "integrity": "sha512-II+Ix/z6i1E2/3DinwnYKWlM0g3bO/1bcQkwhpaPee5GwHejBYdxlQ2B9uxwqRMYgpF5tFJr/0Q8WsBQybuSJw==", + "version": "19.5.6", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.6.tgz", + "integrity": "sha512-qjP17aa5ViXSpo0bDgJ7O3b8EY/0+PbX7ZIKvG1g6qasohtfM1y4Sx2bbSow0zCKU0+r1LnR53Q0lyX4OOgtUg==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "@nrwl/tao": "19.4.1", + "@napi-rs/wasm-runtime": "0.2.4", + "@nrwl/tao": "19.5.6", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.7", - "axios": "^1.6.0", + "axios": "^1.7.2", "chalk": "^4.1.0", "cli-cursor": "3.1.0", "cli-spinners": "2.6.1", @@ -9404,16 +9461,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.4.1", - "@nx/nx-darwin-x64": "19.4.1", - "@nx/nx-freebsd-x64": "19.4.1", - "@nx/nx-linux-arm-gnueabihf": "19.4.1", - "@nx/nx-linux-arm64-gnu": "19.4.1", - "@nx/nx-linux-arm64-musl": "19.4.1", - "@nx/nx-linux-x64-gnu": "19.4.1", - "@nx/nx-linux-x64-musl": "19.4.1", - "@nx/nx-win32-arm64-msvc": "19.4.1", - "@nx/nx-win32-x64-msvc": "19.4.1" + "@nx/nx-darwin-arm64": "19.5.6", + "@nx/nx-darwin-x64": "19.5.6", + "@nx/nx-freebsd-x64": "19.5.6", + "@nx/nx-linux-arm-gnueabihf": "19.5.6", + "@nx/nx-linux-arm64-gnu": "19.5.6", + "@nx/nx-linux-arm64-musl": "19.5.6", + "@nx/nx-linux-x64-gnu": "19.5.6", + "@nx/nx-linux-x64-musl": "19.5.6", + "@nx/nx-win32-arm64-msvc": "19.5.6", + "@nx/nx-win32-x64-msvc": "19.5.6" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -10130,10 +10187,11 @@ } }, "node_modules/pixi.js": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-8.2.2.tgz", - "integrity": "sha512-L/EmsJ74bYyFIZoF4RdaU0yOuWGR179/QMLnptCVjRhhhg4tgW7ABs7uvp2Z0psOKvpNanaRF/kIliD8Rm5dVw==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-8.2.6.tgz", + "integrity": "sha512-CNfr7CmjIEWJ06e3TBrXBKFpcTPMGUaFdtP4RlMOgNOTkDD6+Bhm728I/EkGAo2vsOVO1YwNFsuORQyD3MngZg==", "dev": true, + "license": "MIT", "dependencies": { "@pixi/colord": "^2.9.6", "@types/css-font-loading-module": "^0.0.12", @@ -10281,9 +10339,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, "license": "MIT", "dependencies": { @@ -11169,13 +11227,14 @@ } }, "node_modules/rimraf": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.0.tgz", - "integrity": "sha512-u+yqhM92LW+89cxUQK0SRyvXYQmyuKHx0jkx4W7KfwLGLqJnQM5031Uv1trE4gB9XEXBM/s6MxKlfW95IidqaA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, "license": "ISC", "dependencies": { - "glob": "^11.0.0" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { "rimraf": "dist/esm/bin.mjs" @@ -11274,9 +11333,9 @@ } }, "node_modules/rollup": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.1.tgz", - "integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", "dev": true, "license": "MIT", "dependencies": { @@ -11290,22 +11349,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.1", - "@rollup/rollup-android-arm64": "4.18.1", - "@rollup/rollup-darwin-arm64": "4.18.1", - "@rollup/rollup-darwin-x64": "4.18.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.1", - "@rollup/rollup-linux-arm-musleabihf": "4.18.1", - "@rollup/rollup-linux-arm64-gnu": "4.18.1", - "@rollup/rollup-linux-arm64-musl": "4.18.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.1", - "@rollup/rollup-linux-riscv64-gnu": "4.18.1", - "@rollup/rollup-linux-s390x-gnu": "4.18.1", - "@rollup/rollup-linux-x64-gnu": "4.18.1", - "@rollup/rollup-linux-x64-musl": "4.18.1", - "@rollup/rollup-win32-arm64-msvc": "4.18.1", - "@rollup/rollup-win32-ia32-msvc": "4.18.1", - "@rollup/rollup-win32-x64-msvc": "4.18.1", + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", "fsevents": "~2.3.2" } }, @@ -12821,9 +12880,9 @@ "license": "MIT" }, "node_modules/typedoc": { - "version": "0.26.4", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.4.tgz", - "integrity": "sha512-FlW6HpvULDKgc3rK04V+nbFyXogPV88hurarDPOjuuB5HAwuAlrCMQ5NeH7Zt68a/ikOKu6Z/0hFXAeC9xPccQ==", + "version": "0.26.5", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.5.tgz", + "integrity": "sha512-Vn9YKdjKtDZqSk+by7beZ+xzkkr8T8CYoiasqyt4TTRFy5+UHzL/mF/o4wGBjRF+rlWQHDb0t6xCpA3JNL5phg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -12844,9 +12903,9 @@ } }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "license": "Apache-2.0", "bin": { @@ -12875,9 +12934,9 @@ "license": "MIT" }, "node_modules/uglify-js": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz", - "integrity": "sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==", + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.1.tgz", + "integrity": "sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==", "dev": true, "license": "BSD-2-Clause", "optional": true, @@ -13465,20 +13524,20 @@ "eslint-plugin-jsdoc": "^48.5.2", "flatbuffers": "^24.3.25", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-includepaths": "^0.2.4", "rollup-plugin-license": "^3.5.2", - "typedoc": "^0.26.4", - "typescript": "^5.5.3" + "typedoc": "^0.26.5", + "typescript": "^5.5.4" }, "optionalDependencies": { "fsevents": "^2.3.3" } }, "packages/ss6player-pixi": { - "version": "2.2.0", + "version": "2.3.0", "license": "SEE LICENSE", "dependencies": { "ss6player-lib": "1.0.3" @@ -13501,15 +13560,15 @@ "http-server": "^14.1.1", "lodash.camelcase": "^4.3.0", "opener": "^1.5.2", - "pixi.js": "^8.2.2", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "pixi.js": "^8.2.6", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-includepaths": "^0.2.4", "rollup-plugin-license": "^3.5.2", "rollup-plugin-tsconfig-paths": "^1.5.2", - "typedoc": "^0.26.4", - "typescript": "^5.5.3" + "typedoc": "^0.26.5", + "typescript": "^5.5.4" }, "optionalDependencies": { "fsevents": "^2.3.3" @@ -13546,14 +13605,14 @@ "lodash.camelcase": "^4.3.0", "opener": "^1.5.2", "pixi.js": "^6.5.10", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-includepaths": "^0.2.4", "rollup-plugin-license": "^3.5.2", "rollup-plugin-tsconfig-paths": "^1.5.2", - "typedoc": "^0.26.4", - "typescript": "^5.5.3" + "typedoc": "^0.26.5", + "typescript": "^5.5.4" }, "optionalDependencies": { "fsevents": "^2.3.3" @@ -13634,13 +13693,13 @@ "opener": "^1.5.2", "pixi.js": "^5.3.12", "replace": "^1.2.2", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-includepaths": "^0.2.4", "rollup-plugin-license": "^3.5.2", - "typedoc": "^0.26.4", - "typescript": "^5.5.3" + "typedoc": "^0.26.5", + "typescript": "^5.5.4" }, "optionalDependencies": { "fsevents": "^2.3.3" @@ -14106,7 +14165,7 @@ "license": "SEE LICENSE", "dependencies": { "jszip": "^3.10.1", - "ss6player-pixi": "2.2.0" + "ss6player-pixi": "2.3.0" }, "devDependencies": { "@rollup/plugin-commonjs": "^26.0.1", @@ -14125,15 +14184,15 @@ "http-server": "^14.1.1", "lodash.camelcase": "^4.3.0", "opener": "^1.5.2", - "pixi.js": "^8.2.2", + "pixi.js": "^8.2.6", "replace": "^1.2.2", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-includepaths": "^0.2.4", "rollup-plugin-license": "^3.5.2", - "typedoc": "^0.26.4", - "typescript": "^5.5.3" + "typedoc": "^0.26.5", + "typescript": "^5.5.4" }, "optionalDependencies": { "fsevents": "^2.3.3" @@ -14152,13 +14211,13 @@ "@rollup/plugin-typescript": "^11.1.6", "esbuild": "^0.23.0", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-includepaths": "^0.2.4", "rollup-plugin-license": "^3.5.2", - "typedoc": "^0.26.4", - "typescript": "^5.5.3" + "typedoc": "^0.26.5", + "typescript": "^5.5.4" }, "optionalDependencies": { "fsevents": "^2.3.3" diff --git a/package.json b/package.json index 55d3bb8c..59849528 100644 --- a/package.json +++ b/package.json @@ -38,11 +38,11 @@ "mzview": "npx lerna run view --scope=ss6player-rpgmakermz" }, "devDependencies": { - "typescript": "^5.5.3", - "typedoc": "^0.26.4", - "lerna": "^8.1.6", + "typescript": "^5.5.4", + "typedoc": "^0.26.5", + "lerna": "^8.1.7", "ncp": "^2.0.0", - "rimraf": "^6.0.0", + "rimraf": "^6.0.1", "@typescript-eslint/eslint-plugin": "^7.15.0", "@typescript-eslint/parser": "^7.15.0", "eslint": "^8.57.0", diff --git a/packages/ss6player-lib/package.json b/packages/ss6player-lib/package.json index 2fcf2473..72d3a062 100644 --- a/packages/ss6player-lib/package.json +++ b/packages/ss6player-lib/package.json @@ -39,12 +39,12 @@ "ssfblib": "1.2.3" }, "devDependencies": { - "typescript": "^5.5.3", - "typedoc": "^0.26.4", + "typescript": "^5.5.4", + "typedoc": "^0.26.5", "flatbuffers": "^24.3.25", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "@rollup/plugin-typescript": "^11.1.6", "@rollup/plugin-commonjs": "^26.0.1", "rollup-plugin-includepaths": "^0.2.4", diff --git a/packages/ss6player-pixi/Player/sample.js b/packages/ss6player-pixi/Player/sample.js index 86b05582..da596cb0 100644 --- a/packages/ss6player-pixi/Player/sample.js +++ b/packages/ss6player-pixi/Player/sample.js @@ -15,6 +15,7 @@ //const testVersion = "sampleAnimation2"; const testVersion = "sampleAnimation3"; //const testVersion = "sampleReplaceTexture"; +//const testVersion = "sampleReplaceMeshTexture"; (async () => { PIXI.sayHello(); @@ -50,6 +51,11 @@ const testVersion = "sampleAnimation3"; "sampleReplaceTexture": { "ssfbFile": "../../../TestData/MeshBone/Knight.ssfb", "func": Play_sampleReplaceTexture + }, + + "sampleReplaceMeshTexture": { + "ssfbFile": "../../../TestData/SimpleMeshParts/simple_mesh_parts.ssfb", + "func": Play_sampleReplaceMeshTexture } }; @@ -133,4 +139,16 @@ const testVersion = "sampleAnimation3"; // 再生開始 mySS6Player.Play(); } + + function Play_sampleReplaceMeshTexture() { + let mySS6Player = new ss6PlayerPixi.SS6Player(mySS6Project); + mySS6Player.Setup('mesh_parts', 'anime_1'); + mySS6Player.position = new PIXI.Point(320, 480); + mySS6Player.SetPartCell('mesh_skinned', 'common_1', 'Red'); + app.stage.addChild(mySS6Player); + + // 再生開始 + mySS6Player.Play(); + } + })(); diff --git a/packages/ss6player-pixi/package.json b/packages/ss6player-pixi/package.json index bfb94981..eca2c30f 100644 --- a/packages/ss6player-pixi/package.json +++ b/packages/ss6player-pixi/package.json @@ -1,7 +1,7 @@ { "name": "ss6player-pixi", "private": true, - "version": "2.2.0", + "version": "2.3.0", "description": "SS6Player for pixi", "keywords": [ "SpriteStudio", @@ -47,12 +47,12 @@ "ss6player-lib": "1.0.3" }, "devDependencies": { - "typescript": "^5.5.3", - "typedoc": "^0.26.4", + "typescript": "^5.5.4", + "typedoc": "^0.26.5", "flatbuffers": "^24.3.25", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "@rollup/plugin-typescript": "^11.1.6", "@rollup/plugin-commonjs": "^26.0.1", "rollup-plugin-includepaths": "^0.2.4", @@ -62,7 +62,7 @@ "rollup-plugin-tsconfig-paths": "^1.5.2", "rollup-plugin-esbuild": "^6.1.1", "esbuild": "^0.23.0", - "pixi.js": "^8.2.2", + "pixi.js": "^8.2.6", "concurrently": "^8.2.2", "http-server": "^14.1.1", "opener": "^1.5.2", diff --git a/packages/ss6player-pixi/src/SS6Player.ts b/packages/ss6player-pixi/src/SS6Player.ts index 6550e578..9b938779 100644 --- a/packages/ss6player-pixi/src/SS6Player.ts +++ b/packages/ss6player-pixi/src/SS6Player.ts @@ -436,6 +436,44 @@ export class SS6Player extends Container { this.playEndCallback = fn; } + private getCellIndex(sscename: string, cellname: string): number { + let changeCellIndex = -1; + if ((sscename !== '') && (cellname !== '')) { + const fbObj = this.playerLib.fbObj + const numCells = this.playerLib.fbObj.numCells() + + for (let i = 0; i < numCells; i++) { + const cell = fbObj.cells(i); + const name1 = cell.name(); + const cellMap = cell.cellMap(); + const name2 = cellMap.name(); + + if (cellname === name1 && sscename === name2) { + changeCellIndex = i; + break; + } + } + } + return changeCellIndex; + } + + private getPartIndexFromName(partsname: string): number { + const animePackData: AnimePackData = this.playerLib.animePackData; + const partsLength = animePackData.partsLength(); + + let partIndex: number = -1; + for (let i = 0; i < partsLength; i++) { + const part = animePackData.parts(i); + const index = part.index(); + const partName = part.name(); + + if (partName === partsname) { + partIndex = index; + break; + } + } + return partIndex; + } /** * パーツに割り当たるセルを変更します. @@ -448,37 +486,10 @@ export class SS6Player extends Container { */ public SetPartCell(partsname: string, sscename: string, cellname: string): void { if (this.playerLib.animationData) { - - let changeCellIndex = -1; - if ((sscename !== '') && (cellname !== '')) { - const fbObj = this.playerLib.fbObj - const numCells = this.playerLib.fbObj.numCells() - - for (let i = 0; i < numCells; i++) { - const cell = fbObj.cells(i); - const name1 = cell.name(); - const cellMap = cell.cellMap(); - const name2 = cellMap.name(); - - if (cellname === name1 && sscename === name2) { - changeCellIndex = i; - break; - } - } - } - - const animePackData: AnimePackData = this.playerLib.animePackData; - const partsLength = animePackData.partsLength(); - - for (let i = 0; i < partsLength; i++) { - const part = animePackData.parts(i); - const index = part.index(); - const partName = part.name(); - - if (partName === partsname) { - this.changeCellID[index] = changeCellIndex; - break; - } + const changeCellIndex: number = this.getCellIndex(sscename, cellname); + const partIndex = this.getPartIndexFromName(partsname); + if (partIndex !== -1) { + this.changeCellID[partIndex] = changeCellIndex; } } } @@ -604,10 +615,8 @@ export class SS6Player extends Container { const i = this.playerLib.prio2index[ii]; const data = fd[i]; - let cellID = data.cellIndex; - if (this.changeCellID[i] !== -1) { - cellID = this.changeCellID[i]; - } + const origCellID = data.cellIndex; + const cellID = (this.changeCellID[i] !== -1) ? this.changeCellID[i] : origCellID; // cell再利用 let partObject: (SS6Player | Mesh | Container) = this.prevPartObject[i]; @@ -635,7 +644,7 @@ export class SS6Player extends Container { case SsPartType.Mesh: if (cellID >= 0 && this.prevCellID[i] !== cellID) { if (partObject != null) partObject.destroy(); - partObject = this.MakeMeshCellMesh(i, cellID); // (cellID, i)? + partObject = this.MakeMeshCellMesh(i, cellID, origCellID); partObject.label = part.name(); } break; @@ -1060,19 +1069,26 @@ export class SS6Player extends Container { * メッシュセルからメッシュを作成 * @param {number} partID - パーツID * @param {number} cellID - セルID + * @param {number} origCellID - オリジナルのセルID * @return {PIXI.Mesh} - メッシュ */ - private MakeMeshCellMesh(partID: number, cellID: number): Mesh { + private MakeMeshCellMesh(partID: number, cellID: number, origCellID: number): Mesh { const meshsDataUV = this.playerLib.animationData.meshsDataUv(partID); const uvLength = meshsDataUV.uvLength(); if (uvLength > 0) { + const cell = this.playerLib.fbObj.cells(cellID); + const origCell = this.playerLib.fbObj.cells(origCellID); + + const diff_u: number = (cellID === origCellID) ? 0.0 : ((cell.u1() + cell.u2()) / 2) - ((origCell.u1() + origCell.u2()) / 2); + const diff_v: number = (cellID === origCellID) ? 0.0 : ((cell.v1() + cell.v2()) / 2) - ((origCell.v1() + origCell.v2()) / 2); + // 先頭の2データはヘッダになる const uvs = new Float32Array(uvLength - 2); const meshNum = meshsDataUV.uv(1); for (let idx = 2; idx < uvLength; idx++) { - uvs[idx - 2] = meshsDataUV.uv(idx); + uvs[idx - 2] = meshsDataUV.uv(idx) + (idx % 2 === 0 ? diff_u : diff_v); } const meshsDataIndices = this.playerLib.animationData.meshsDataIndices(partID); diff --git a/packages/ss6player-pixi6/package.json b/packages/ss6player-pixi6/package.json index 775de2d6..b827fe95 100644 --- a/packages/ss6player-pixi6/package.json +++ b/packages/ss6player-pixi6/package.json @@ -46,11 +46,11 @@ "ss6player-lib": "1.0.3" }, "devDependencies": { - "typescript": "^5.5.3", - "typedoc": "^0.26.4", + "typescript": "^5.5.4", + "typedoc": "^0.26.5", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "@rollup/plugin-typescript": "^11.1.6", "@rollup/plugin-commonjs": "^26.0.1", "rollup-plugin-includepaths": "^0.2.4", diff --git a/packages/ss6player-rpgmakermz/package.json b/packages/ss6player-rpgmakermz/package.json index b0be3de3..200ec4e1 100644 --- a/packages/ss6player-rpgmakermz/package.json +++ b/packages/ss6player-rpgmakermz/package.json @@ -46,11 +46,11 @@ "ss6player-pixi6": "^1.0.3" }, "devDependencies": { - "typescript": "^5.5.3", - "typedoc": "^0.26.4", + "typescript": "^5.5.4", + "typedoc": "^0.26.5", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "@rollup/plugin-typescript": "^11.1.6", "@rollup/plugin-commonjs": "^26.0.1", "rollup-plugin-includepaths": "^0.2.4", diff --git a/packages/ss6player-viewer/package.json b/packages/ss6player-viewer/package.json index 329d7897..33b453ba 100644 --- a/packages/ss6player-viewer/package.json +++ b/packages/ss6player-viewer/package.json @@ -43,15 +43,15 @@ "clean": "rimraf dist" }, "dependencies": { - "ss6player-pixi": "2.2.0", + "ss6player-pixi": "2.3.0", "jszip": "^3.10.1" }, "devDependencies": { - "typescript": "^5.5.3", - "typedoc": "^0.26.4", + "typescript": "^5.5.4", + "typedoc": "^0.26.5", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "@rollup/plugin-typescript": "^11.1.6", "@rollup/plugin-commonjs": "^26.0.1", "rollup-plugin-includepaths": "^0.2.4", @@ -60,7 +60,7 @@ "@rollup/plugin-node-resolve": "^15.2.3", "rollup-plugin-esbuild": "^6.1.1", "esbuild": "^0.23.0", - "pixi.js": "^8.2.2", + "pixi.js": "^8.2.6", "concurrently": "^8.2.2", "http-server": "^14.1.1", "opener": "^1.5.2", diff --git a/packages/ssfblib/package.json b/packages/ssfblib/package.json index 8260d1c0..21f772ca 100644 --- a/packages/ssfblib/package.json +++ b/packages/ssfblib/package.json @@ -35,11 +35,11 @@ "flatbuffers": "^24.3.25" }, "devDependencies": { - "typescript": "^5.5.3", - "typedoc": "^0.26.4", + "typescript": "^5.5.4", + "typedoc": "^0.26.5", "lodash.camelcase": "^4.3.0", - "rimraf": "^6.0.0", - "rollup": "^4.18.1", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "@rollup/plugin-typescript": "^11.1.6", "@rollup/plugin-commonjs": "^26.0.1", "rollup-plugin-includepaths": "^0.2.4",