commit 60bc5568077617ff906e949f3ed7ac353c13098f
Author: Rzy <465386466@qq.com>
Date: Thu Jul 24 18:47:04 2025 +0800
111
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..adade78
--- /dev/null
+++ b/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Vite App
+
+
+
+
+
+
+
diff --git a/models/UG/1desk.exp3.json b/models/UG/1desk.exp3.json
new file mode 100644
index 0000000..85a3fe4
--- /dev/null
+++ b/models/UG/1desk.exp3.json
@@ -0,0 +1,10 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param4",
+ "Value": 1,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/2mic.exp3.json b/models/UG/2mic.exp3.json
new file mode 100644
index 0000000..22847bc
--- /dev/null
+++ b/models/UG/2mic.exp3.json
@@ -0,0 +1,10 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param",
+ "Value": 1,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/3clever.exp3.json b/models/UG/3clever.exp3.json
new file mode 100644
index 0000000..cae3448
--- /dev/null
+++ b/models/UG/3clever.exp3.json
@@ -0,0 +1,20 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param10",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param11",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param25",
+ "Value": 0.6,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/4OAO.exp3.json b/models/UG/4OAO.exp3.json
new file mode 100644
index 0000000..f13d491
--- /dev/null
+++ b/models/UG/4OAO.exp3.json
@@ -0,0 +1,45 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param26",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param10",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param34",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param13",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param28",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param53",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param25",
+ "Value": 0.6,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param32",
+ "Value": 1,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/5QAQ.exp3.json b/models/UG/5QAQ.exp3.json
new file mode 100644
index 0000000..114fc56
--- /dev/null
+++ b/models/UG/5QAQ.exp3.json
@@ -0,0 +1,30 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param23",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param10",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param13",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param34",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param25",
+ "Value": 0.8,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/6i gi a ri.exp3.json b/models/UG/6i gi a ri.exp3.json
new file mode 100644
index 0000000..7bba0c2
--- /dev/null
+++ b/models/UG/6i gi a ri.exp3.json
@@ -0,0 +1,40 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param24",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param10",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param28",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param13",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param25",
+ "Value": 0.8,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param33",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param34",
+ "Value": 1,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/7keyboard.exp3.json b/models/UG/7keyboard.exp3.json
new file mode 100644
index 0000000..6f8aacc
--- /dev/null
+++ b/models/UG/7keyboard.exp3.json
@@ -0,0 +1,45 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param22",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param10",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param28",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param13",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param14",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param25",
+ "Value": 0.6,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param33",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param53",
+ "Value": 1,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/8punch.exp3.json b/models/UG/8punch.exp3.json
new file mode 100644
index 0000000..e6eec4d
--- /dev/null
+++ b/models/UG/8punch.exp3.json
@@ -0,0 +1,35 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param27",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param28",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param10",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param13",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param53",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param25",
+ "Value": 1,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/9.exp3.json b/models/UG/9.exp3.json
new file mode 100644
index 0000000..094b2c8
--- /dev/null
+++ b/models/UG/9.exp3.json
@@ -0,0 +1,15 @@
+{
+ "Type": "Live2D Expression",
+ "Parameters": [
+ {
+ "Id": "Param48",
+ "Value": 1,
+ "Blend": "Add"
+ },
+ {
+ "Id": "Param28",
+ "Value": 1,
+ "Blend": "Add"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/UGOfficial.2048/texture_00.png b/models/UG/UGOfficial.2048/texture_00.png
new file mode 100644
index 0000000..c949c73
Binary files /dev/null and b/models/UG/UGOfficial.2048/texture_00.png differ
diff --git a/models/UG/UGOfficial.2048/texture_01.png b/models/UG/UGOfficial.2048/texture_01.png
new file mode 100644
index 0000000..ffcfa3f
Binary files /dev/null and b/models/UG/UGOfficial.2048/texture_01.png differ
diff --git a/models/UG/UGOfficial.cdi3.json b/models/UG/UGOfficial.cdi3.json
new file mode 100644
index 0000000..0ff1f59
--- /dev/null
+++ b/models/UG/UGOfficial.cdi3.json
@@ -0,0 +1,565 @@
+{
+ "Version": 3,
+ "Parameters": [
+ {
+ "Id": "Param",
+ "GroupId": "ParamGroup",
+ "Name": "mic"
+ },
+ {
+ "Id": "Param4",
+ "GroupId": "ParamGroup",
+ "Name": "desk"
+ },
+ {
+ "Id": "Param25",
+ "GroupId": "ParamGroup",
+ "Name": "emoji"
+ },
+ {
+ "Id": "Param32",
+ "GroupId": "ParamGroup",
+ "Name": "sweat1"
+ },
+ {
+ "Id": "Param33",
+ "GroupId": "ParamGroup",
+ "Name": "sweat2"
+ },
+ {
+ "Id": "Param28",
+ "GroupId": "ParamGroup",
+ "Name": "mouth off"
+ },
+ {
+ "Id": "Param10",
+ "GroupId": "ParamGroup",
+ "Name": "1face-all"
+ },
+ {
+ "Id": "Param11",
+ "GroupId": "ParamGroup",
+ "Name": "2face-clever"
+ },
+ {
+ "Id": "Param26",
+ "GroupId": "ParamGroup",
+ "Name": "3face-OAO"
+ },
+ {
+ "Id": "Param31",
+ "GroupId": "ParamGroup",
+ "Name": "leaf"
+ },
+ {
+ "Id": "Param55",
+ "GroupId": "ParamGroup",
+ "Name": "leaf off"
+ },
+ {
+ "Id": "Param23",
+ "GroupId": "ParamGroup",
+ "Name": "4face-QAQ"
+ },
+ {
+ "Id": "Param24",
+ "GroupId": "ParamGroup",
+ "Name": "5face-i gi a ri"
+ },
+ {
+ "Id": "Param22",
+ "GroupId": "ParamGroup",
+ "Name": "6face-kb"
+ },
+ {
+ "Id": "Param27",
+ "GroupId": "ParamGroup",
+ "Name": "7face-punch"
+ },
+ {
+ "Id": "Param48",
+ "GroupId": "ParamGroup",
+ "Name": "+1"
+ },
+ {
+ "Id": "Param13",
+ "GroupId": "ParamGroup",
+ "Name": "cup"
+ },
+ {
+ "Id": "Param34",
+ "GroupId": "ParamGroup",
+ "Name": "hand"
+ },
+ {
+ "Id": "Param44",
+ "GroupId": "ParamGroup",
+ "Name": "hand2"
+ },
+ {
+ "Id": "Param53",
+ "GroupId": "ParamGroup",
+ "Name": "hand3"
+ },
+ {
+ "Id": "Param30",
+ "GroupId": "ParamGroup",
+ "Name": "+1"
+ },
+ {
+ "Id": "Param54",
+ "GroupId": "ParamGroup",
+ "Name": "+1off"
+ },
+ {
+ "Id": "Param14",
+ "GroupId": "ParamGroup",
+ "Name": "keyboard"
+ },
+ {
+ "Id": "Param21",
+ "GroupId": "ParamGroup",
+ "Name": "keyboard3"
+ },
+ {
+ "Id": "Param20",
+ "GroupId": "ParamGroup",
+ "Name": "keyboard2"
+ },
+ {
+ "Id": "Param17",
+ "GroupId": "ParamGroup",
+ "Name": "keyboard1"
+ },
+ {
+ "Id": "Param15",
+ "GroupId": "ParamGroup",
+ "Name": "keyboard-hand"
+ },
+ {
+ "Id": "Param35",
+ "GroupId": "ParamGroup2",
+ "Name": "punch1"
+ },
+ {
+ "Id": "Param36",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff1"
+ },
+ {
+ "Id": "Param49",
+ "GroupId": "ParamGroup2",
+ "Name": "punch2"
+ },
+ {
+ "Id": "Param37",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff2"
+ },
+ {
+ "Id": "Param45",
+ "GroupId": "ParamGroup2",
+ "Name": "punch3"
+ },
+ {
+ "Id": "Param38",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff3"
+ },
+ {
+ "Id": "Param46",
+ "GroupId": "ParamGroup2",
+ "Name": "punch4"
+ },
+ {
+ "Id": "Param39",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff4"
+ },
+ {
+ "Id": "Param50",
+ "GroupId": "ParamGroup2",
+ "Name": "punch5"
+ },
+ {
+ "Id": "Param40",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff5"
+ },
+ {
+ "Id": "Param51",
+ "GroupId": "ParamGroup2",
+ "Name": "punch6"
+ },
+ {
+ "Id": "Param41",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff6"
+ },
+ {
+ "Id": "Param52",
+ "GroupId": "ParamGroup2",
+ "Name": "punch7"
+ },
+ {
+ "Id": "Param42",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff7"
+ },
+ {
+ "Id": "Param47",
+ "GroupId": "ParamGroup2",
+ "Name": "punch8"
+ },
+ {
+ "Id": "Param43",
+ "GroupId": "ParamGroup2",
+ "Name": "punchoff8"
+ },
+ {
+ "Id": "Param16",
+ "GroupId": "",
+ "Name": "keyboard1"
+ },
+ {
+ "Id": "Param18",
+ "GroupId": "",
+ "Name": "keyboard2"
+ },
+ {
+ "Id": "Param19",
+ "GroupId": "",
+ "Name": "keyboard3"
+ },
+ {
+ "Id": "Param2",
+ "GroupId": "",
+ "Name": "惯性"
+ },
+ {
+ "Id": "Param3",
+ "GroupId": "",
+ "Name": "惯性"
+ },
+ {
+ "Id": "ParamLowerBodyX2",
+ "GroupId": "",
+ "Name": "眼整体"
+ },
+ {
+ "Id": "ParamLowerBodyX12",
+ "GroupId": "",
+ "Name": "眼smile"
+ },
+ {
+ "Id": "ParamLowerBodyX13",
+ "GroupId": "",
+ "Name": "hl"
+ },
+ {
+ "Id": "ParamLowerBodyX14",
+ "GroupId": "",
+ "Name": "hl"
+ },
+ {
+ "Id": "Param6",
+ "GroupId": "",
+ "Name": "hair1"
+ },
+ {
+ "Id": "Param8",
+ "GroupId": "",
+ "Name": "hair2"
+ },
+ {
+ "Id": "Param9",
+ "GroupId": "",
+ "Name": "hair3"
+ },
+ {
+ "Id": "Param5",
+ "GroupId": "",
+ "Name": "ear1"
+ },
+ {
+ "Id": "Param7",
+ "GroupId": "",
+ "Name": "ear2"
+ },
+ {
+ "Id": "Param12",
+ "GroupId": "",
+ "Name": "ear3"
+ },
+ {
+ "Id": "ParamAngleX",
+ "GroupId": "",
+ "Name": "角度 X"
+ },
+ {
+ "Id": "ParamAngleY",
+ "GroupId": "",
+ "Name": "角度 Y"
+ },
+ {
+ "Id": "ParamAngleZ",
+ "GroupId": "",
+ "Name": "角度 Z"
+ },
+ {
+ "Id": "ParamEyeLOpen",
+ "GroupId": "",
+ "Name": "左眼 开闭"
+ },
+ {
+ "Id": "ParamEyeLSmile",
+ "GroupId": "",
+ "Name": "左眼 微笑"
+ },
+ {
+ "Id": "ParamEyeROpen",
+ "GroupId": "",
+ "Name": "右眼"
+ },
+ {
+ "Id": "ParamEyeRSmile",
+ "GroupId": "",
+ "Name": "右眼 微笑"
+ },
+ {
+ "Id": "ParamEyeBallX",
+ "GroupId": "",
+ "Name": "眼珠 X"
+ },
+ {
+ "Id": "ParamEyeBallY",
+ "GroupId": "",
+ "Name": "眼珠 Y"
+ },
+ {
+ "Id": "ParamBrowLY",
+ "GroupId": "",
+ "Name": "左眉上下"
+ },
+ {
+ "Id": "ParamBrowRY",
+ "GroupId": "",
+ "Name": "右眉 上下"
+ },
+ {
+ "Id": "ParamBrowLX",
+ "GroupId": "",
+ "Name": "左眉 左右"
+ },
+ {
+ "Id": "ParamBrowRX",
+ "GroupId": "",
+ "Name": "右眉 左右"
+ },
+ {
+ "Id": "ParamBrowLAngle",
+ "GroupId": "",
+ "Name": "左眉 角度"
+ },
+ {
+ "Id": "ParamBrowRAngle",
+ "GroupId": "",
+ "Name": "右眉 角度"
+ },
+ {
+ "Id": "ParamBrowLForm",
+ "GroupId": "",
+ "Name": "左眉 変形"
+ },
+ {
+ "Id": "ParamBrowRForm",
+ "GroupId": "",
+ "Name": "右眉 変形"
+ },
+ {
+ "Id": "ParamMouthForm",
+ "GroupId": "",
+ "Name": "嘴 变形"
+ },
+ {
+ "Id": "ParamMouthOpenY",
+ "GroupId": "",
+ "Name": "嘴 张开和闭合"
+ },
+ {
+ "Id": "ParamCheek",
+ "GroupId": "",
+ "Name": "脸颊泛红"
+ },
+ {
+ "Id": "ParamBodyAngleX",
+ "GroupId": "",
+ "Name": "身体旋转 X"
+ },
+ {
+ "Id": "ParamBodyAngleY",
+ "GroupId": "",
+ "Name": "身体旋转 Y"
+ },
+ {
+ "Id": "ParamBodyAngleX2",
+ "GroupId": "",
+ "Name": "身体旋转 X"
+ },
+ {
+ "Id": "ParamBodyAngleY2",
+ "GroupId": "",
+ "Name": "身体旋转 Y"
+ },
+ {
+ "Id": "ParamBodyAngleZ",
+ "GroupId": "",
+ "Name": "身体旋转 Z"
+ },
+ {
+ "Id": "ParamBodyAngleZ2",
+ "GroupId": "",
+ "Name": "身体旋转 Z"
+ },
+ {
+ "Id": "ParamBreath",
+ "GroupId": "",
+ "Name": "呼吸"
+ },
+ {
+ "Id": "ParamHairFront",
+ "GroupId": "",
+ "Name": "摇动 前发"
+ },
+ {
+ "Id": "ParamHairSide",
+ "GroupId": "",
+ "Name": "摇动 侧发"
+ },
+ {
+ "Id": "ParamHairBack",
+ "GroupId": "",
+ "Name": "摇动 后发"
+ }
+ ],
+ "ParameterGroups": [
+ {
+ "Id": "ParamGroup",
+ "GroupId": "",
+ "Name": "Folder 1"
+ },
+ {
+ "Id": "ParamGroup2",
+ "GroupId": "",
+ "Name": "punch"
+ }
+ ],
+ "Parts": [
+ {
+ "Id": "desk",
+ "Name": "desk"
+ },
+ {
+ "Id": "mic",
+ "Name": "mic"
+ },
+ {
+ "Id": "Part30",
+ "Name": "ulk.psd(未找到对应图层)"
+ },
+ {
+ "Id": "Part20",
+ "Name": "ulk.psd(未找到对应图层)"
+ },
+ {
+ "Id": "Part",
+ "Name": "文件夹1"
+ },
+ {
+ "Id": "Part2",
+ "Name": "文件夹2"
+ },
+ {
+ "Id": "Part3",
+ "Name": "文件夹3"
+ },
+ {
+ "Id": "Part4",
+ "Name": "文件夹4"
+ },
+ {
+ "Id": "Part5",
+ "Name": "文件夹5"
+ },
+ {
+ "Id": "Part6",
+ "Name": "文件夹6"
+ },
+ {
+ "Id": "Part7",
+ "Name": "文件夹7"
+ },
+ {
+ "Id": "keyboard2",
+ "Name": "keyboard"
+ },
+ {
+ "Id": "Part17",
+ "Name": "yiyi!"
+ },
+ {
+ "Id": "keyboard",
+ "Name": "keyboard"
+ },
+ {
+ "Id": "Part10",
+ "Name": "yiyi!"
+ },
+ {
+ "Id": "shock",
+ "Name": "shock"
+ },
+ {
+ "Id": "Part11",
+ "Name": "给你一拳"
+ },
+ {
+ "Id": "Part12",
+ "Name": "+1"
+ },
+ {
+ "Id": "Part14",
+ "Name": "文件夹2"
+ },
+ {
+ "Id": "Part15",
+ "Name": "文件夹3"
+ },
+ {
+ "Id": "Part18",
+ "Name": "文件夹6"
+ },
+ {
+ "Id": "eye",
+ "Name": "eye"
+ },
+ {
+ "Id": "Part19",
+ "Name": "文件夹7"
+ },
+ {
+ "Id": "Part8",
+ "Name": "文件夹16"
+ },
+ {
+ "Id": "Part9",
+ "Name": "文件夹10"
+ }
+ ],
+ "CombinedParameters": [
+ [
+ "ParamAngleX",
+ "ParamAngleY"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/UGOfficial.moc3 b/models/UG/UGOfficial.moc3
new file mode 100644
index 0000000..1ac343d
Binary files /dev/null and b/models/UG/UGOfficial.moc3 differ
diff --git a/models/UG/UGOfficial.physics3.json b/models/UG/UGOfficial.physics3.json
new file mode 100644
index 0000000..88c07bc
--- /dev/null
+++ b/models/UG/UGOfficial.physics3.json
@@ -0,0 +1,1898 @@
+{
+ "Version": 3,
+ "Meta": {
+ "PhysicsSettingCount": 21,
+ "TotalInputCount": 43,
+ "TotalOutputCount": 21,
+ "VertexCount": 74,
+ "Fps": 60,
+ "EffectiveForces": {
+ "Gravity": {
+ "X": 0,
+ "Y": -1
+ },
+ "Wind": {
+ "X": 0,
+ "Y": 0
+ }
+ },
+ "PhysicsDictionary": [
+ {
+ "Id": "PhysicsSetting1",
+ "Name": "眨眼"
+ },
+ {
+ "Id": "PhysicsSetting2",
+ "Name": "眼球x"
+ },
+ {
+ "Id": "PhysicsSetting3",
+ "Name": "睫毛"
+ },
+ {
+ "Id": "PhysicsSetting4",
+ "Name": "皱眉"
+ },
+ {
+ "Id": "PhysicsSetting5",
+ "Name": "高光"
+ },
+ {
+ "Id": "PhysicsSetting6",
+ "Name": "bot"
+ },
+ {
+ "Id": "PhysicsSetting7",
+ "Name": "hair"
+ },
+ {
+ "Id": "PhysicsSetting8",
+ "Name": "botZ"
+ },
+ {
+ "Id": "PhysicsSetting9",
+ "Name": "ear"
+ },
+ {
+ "Id": "PhysicsSetting10",
+ "Name": "arm"
+ },
+ {
+ "Id": "PhysicsSetting11",
+ "Name": "long"
+ },
+ {
+ "Id": "PhysicsSetting12",
+ "Name": "x"
+ },
+ {
+ "Id": "PhysicsSetting13",
+ "Name": "y"
+ },
+ {
+ "Id": "PhysicsSetting14",
+ "Name": "z"
+ },
+ {
+ "Id": "PhysicsSetting15",
+ "Name": "chest x"
+ },
+ {
+ "Id": "PhysicsSetting16",
+ "Name": "chest y"
+ },
+ {
+ "Id": "PhysicsSetting17",
+ "Name": "guanxing"
+ },
+ {
+ "Id": "PhysicsSetting18",
+ "Name": "keyboard1"
+ },
+ {
+ "Id": "PhysicsSetting19",
+ "Name": "keyboard2"
+ },
+ {
+ "Id": "PhysicsSetting20",
+ "Name": "keyboard3"
+ },
+ {
+ "Id": "PhysicsSetting21",
+ "Name": "hl"
+ }
+ ]
+ },
+ "PhysicsSettings": [
+ {
+ "Id": "PhysicsSetting1",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamLowerBodyX2"
+ },
+ "VertexIndex": 1,
+ "Scale": 20,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": true
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 21
+ },
+ "Mobility": 0.77,
+ "Delay": 0.52,
+ "Acceleration": 3.78,
+ "Radius": 21
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting2",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 24
+ },
+ "Mobility": 0.85,
+ "Delay": 1,
+ "Acceleration": 0.48,
+ "Radius": 24
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting3",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 9.3
+ },
+ "Mobility": 0.76,
+ "Delay": 0.73,
+ "Acceleration": 1.59,
+ "Radius": 9.3
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 26.3
+ },
+ "Mobility": 0.72,
+ "Delay": 1,
+ "Acceleration": 3.27,
+ "Radius": 17
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting4",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamLowerBodyX12"
+ },
+ "VertexIndex": 1,
+ "Scale": 70,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 15
+ },
+ "Mobility": 0.63,
+ "Delay": 0.51,
+ "Acceleration": 1.66,
+ "Radius": 15
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 36
+ },
+ "Mobility": 0.56,
+ "Delay": 1,
+ "Acceleration": 1.79,
+ "Radius": 21
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting5",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 12
+ },
+ "Mobility": 0.99,
+ "Delay": 0.51,
+ "Acceleration": 2.17,
+ "Radius": 12
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 44.4
+ },
+ "Mobility": 0.71,
+ "Delay": 0.66,
+ "Acceleration": 2.18,
+ "Radius": 32.4
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting6",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": true
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 70,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleY"
+ },
+ "Weight": 30,
+ "Type": "X",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 9.8
+ },
+ "Mobility": 0.95,
+ "Delay": 0.81,
+ "Acceleration": 1,
+ "Radius": 9.8
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 24.5
+ },
+ "Mobility": 0.95,
+ "Delay": 0.54,
+ "Acceleration": 3,
+ "Radius": 14.7
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 34.5
+ },
+ "Mobility": 0.95,
+ "Delay": 0.81,
+ "Acceleration": 2.35,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 44.5
+ },
+ "Mobility": 0.95,
+ "Delay": 0.56,
+ "Acceleration": 2.84,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 54.5
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting7",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 60,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 70,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleY"
+ },
+ "Weight": 30,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param23"
+ },
+ "Weight": 4,
+ "Type": "Angle",
+ "Reflect": true
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param24"
+ },
+ "Weight": 15,
+ "Type": "Angle",
+ "Reflect": true
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param14"
+ },
+ "Weight": 8,
+ "Type": "Angle",
+ "Reflect": true
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param27"
+ },
+ "Weight": 13,
+ "Type": "Angle",
+ "Reflect": true
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param6"
+ },
+ "VertexIndex": 1,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param8"
+ },
+ "VertexIndex": 2,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param9"
+ },
+ "VertexIndex": 3,
+ "Scale": 50,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 12.7
+ },
+ "Mobility": 0.95,
+ "Delay": 1.47,
+ "Acceleration": 5,
+ "Radius": 12.7
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 31
+ },
+ "Mobility": 0.95,
+ "Delay": 0.54,
+ "Acceleration": 3,
+ "Radius": 18.3
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 50.1
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 19.1
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 60.1
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 0.9,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting8",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 1,
+ "Delay": 9.9,
+ "Acceleration": 6,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting9",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param5"
+ },
+ "VertexIndex": 1,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param7"
+ },
+ "VertexIndex": 2,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": true
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param12"
+ },
+ "VertexIndex": 3,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": true
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1.28,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 29.1
+ },
+ "Mobility": 0.95,
+ "Delay": 0.84,
+ "Acceleration": 1.63,
+ "Radius": 19.1
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 59.8
+ },
+ "Mobility": 0.97,
+ "Delay": 1.21,
+ "Acceleration": 4.74,
+ "Radius": 30.7
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting10",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 60,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleY"
+ },
+ "Weight": 40,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 70,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.8,
+ "Delay": 1,
+ "Acceleration": 0.8,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.8,
+ "Delay": 1,
+ "Acceleration": 0.8,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 30
+ },
+ "Mobility": 0.8,
+ "Delay": 1,
+ "Acceleration": 1.13,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 40
+ },
+ "Mobility": 0.88,
+ "Delay": 1,
+ "Acceleration": 0.43,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting11",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 65,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleY"
+ },
+ "Weight": 35,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10.5
+ },
+ "Mobility": 0.95,
+ "Delay": 0.84,
+ "Acceleration": 2.29,
+ "Radius": 10.5
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 23.2
+ },
+ "Mobility": 0.77,
+ "Delay": 0.86,
+ "Acceleration": 2,
+ "Radius": 12.7
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 46.3
+ },
+ "Mobility": 0.98,
+ "Delay": 0.8,
+ "Acceleration": 2,
+ "Radius": 23.1
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 64
+ },
+ "Mobility": 0.92,
+ "Delay": 0.81,
+ "Acceleration": 2,
+ "Radius": 17.7
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 79.6
+ },
+ "Mobility": 1,
+ "Delay": 4.29,
+ "Acceleration": 2,
+ "Radius": 15.6
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 114.4
+ },
+ "Mobility": 0.65,
+ "Delay": 0.81,
+ "Acceleration": 4.75,
+ "Radius": 34.8
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 147.3
+ },
+ "Mobility": 1,
+ "Delay": 0.74,
+ "Acceleration": 5.74,
+ "Radius": 32.9
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting12",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "VertexIndex": 1,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX2"
+ },
+ "VertexIndex": 2,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.8,
+ "Delay": 0.9,
+ "Acceleration": 0.01,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.8,
+ "Delay": 0.9,
+ "Acceleration": 0.1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting13",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleY"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY"
+ },
+ "VertexIndex": 1,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY2"
+ },
+ "VertexIndex": 2,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.8,
+ "Delay": 0.9,
+ "Acceleration": 0.01,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.8,
+ "Delay": 0.9,
+ "Acceleration": 0.1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting14",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "VertexIndex": 1,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ2"
+ },
+ "VertexIndex": 2,
+ "Scale": 60,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.8,
+ "Delay": 0.9,
+ "Acceleration": 0.01,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.8,
+ "Delay": 0.9,
+ "Acceleration": 0.1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting15",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.85,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.85,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting16",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleY"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ }
+ ],
+ "Output": [],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.85,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.85,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting17",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param"
+ },
+ "Weight": 30,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param4"
+ },
+ "Weight": 30,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 3,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleY"
+ },
+ "Weight": 3,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 3,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param2"
+ },
+ "VertexIndex": 1,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param3"
+ },
+ "VertexIndex": 2,
+ "Scale": 40,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting18",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param17"
+ },
+ "Weight": 80,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param15"
+ },
+ "Weight": 20,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param16"
+ },
+ "VertexIndex": 1,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting19",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param20"
+ },
+ "Weight": 80,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param15"
+ },
+ "Weight": 20,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param18"
+ },
+ "VertexIndex": 1,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting20",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param21"
+ },
+ "Weight": 80,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "Param15"
+ },
+ "Weight": 20,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "Param19"
+ },
+ "VertexIndex": 1,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.95,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting21",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamLowerBodyX13"
+ },
+ "VertexIndex": 1,
+ "Scale": 30,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamLowerBodyX14"
+ },
+ "VertexIndex": 2,
+ "Scale": 3,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.95,
+ "Delay": 0.45,
+ "Acceleration": 3.15,
+ "Radius": 10
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 20
+ },
+ "Mobility": 0.99,
+ "Delay": 0.59,
+ "Acceleration": 2.79,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/icon.png b/models/UG/icon.png
new file mode 100644
index 0000000..b1116b6
Binary files /dev/null and b/models/UG/icon.png differ
diff --git a/models/UG/items_pinned_to_model.json b/models/UG/items_pinned_to_model.json
new file mode 100644
index 0000000..1ee009e
--- /dev/null
+++ b/models/UG/items_pinned_to_model.json
@@ -0,0 +1,14 @@
+{
+ "FileMetadata": {
+ "LastSavedVTubeStudioVersion": "1.24.12",
+ "LastSavedPlatform": "Steam",
+ "LastSavedDateUTC": "Wednesday, 05 April 2023, 08:45:09",
+ "LastSavedDateLocalTime": "Wednesday, 05 April 2023, 16:45:09",
+ "LastSavedDateUnixMillisecondTimestamp": "1680684309305"
+ },
+ "SceneName": "",
+ "SceneGroupName": "",
+ "SceneModel": "",
+ "SceneID": "",
+ "Items": []
+}
\ No newline at end of file
diff --git a/models/UG/loop.motion3.json b/models/UG/loop.motion3.json
new file mode 100644
index 0000000..9cf8726
--- /dev/null
+++ b/models/UG/loop.motion3.json
@@ -0,0 +1,3085 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 1.767,
+ "Fps": 60.0,
+ "Loop": true,
+ "AreBeziersRestricted": true,
+ "CurveCount": 24,
+ "TotalSegmentCount": 491,
+ "TotalPointCount": 1217,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "Param31",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.578,
+ 0,
+ 1.156,
+ 1,
+ 1.733,
+ 1,
+ 1,
+ 1.744,
+ 1,
+ 1.756,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param55",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.011,
+ 1,
+ 0.022,
+ 0,
+ 0.033,
+ 0,
+ 1,
+ 0.561,
+ 0,
+ 1.089,
+ 0,
+ 1.617,
+ 0,
+ 1,
+ 1.656,
+ 0,
+ 1.694,
+ 1,
+ 1.733,
+ 1,
+ 0,
+ 1.767,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param30",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.028,
+ 0,
+ 0.056,
+ 0.734,
+ 0.083,
+ 1,
+ 1,
+ 0.167,
+ 1.798,
+ 0.25,
+ 2,
+ 0.333,
+ 2,
+ 1,
+ 0.339,
+ 2,
+ 0.344,
+ 2,
+ 0.35,
+ 2,
+ 1,
+ 0.378,
+ 2,
+ 0.406,
+ 0.021,
+ 0.433,
+ 0.014,
+ 1,
+ 0.489,
+ 0,
+ 0.544,
+ 0,
+ 0.6,
+ 0,
+ 1,
+ 0.628,
+ 0,
+ 0.656,
+ 0.734,
+ 0.683,
+ 1,
+ 1,
+ 0.767,
+ 1.798,
+ 0.85,
+ 2,
+ 0.933,
+ 2,
+ 1,
+ 0.939,
+ 2,
+ 0.944,
+ 2,
+ 0.95,
+ 2,
+ 1,
+ 0.978,
+ 2,
+ 1.006,
+ 0.022,
+ 1.033,
+ 0.014,
+ 1,
+ 1.083,
+ 0,
+ 1.133,
+ 0,
+ 1.183,
+ 0,
+ 1,
+ 1.211,
+ 0,
+ 1.239,
+ 0.734,
+ 1.267,
+ 1,
+ 1,
+ 1.35,
+ 1.798,
+ 1.433,
+ 2,
+ 1.517,
+ 2,
+ 1,
+ 1.522,
+ 2,
+ 1.528,
+ 2,
+ 1.533,
+ 2,
+ 1,
+ 1.561,
+ 2,
+ 1.589,
+ 0.014,
+ 1.617,
+ 0.014,
+ 0,
+ 1.767,
+ 0.014
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param54",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.339,
+ 0,
+ 0.344,
+ 2,
+ 0.35,
+ 2,
+ 1,
+ 0.378,
+ 2,
+ 0.406,
+ 2,
+ 0.433,
+ 2,
+ 1,
+ 0.439,
+ 2,
+ 0.444,
+ 0,
+ 0.45,
+ 0,
+ 1,
+ 0.611,
+ 0,
+ 0.772,
+ 0,
+ 0.933,
+ 0,
+ 1,
+ 0.939,
+ 0,
+ 0.944,
+ 2,
+ 0.95,
+ 2,
+ 1,
+ 0.978,
+ 2,
+ 1.006,
+ 2,
+ 1.033,
+ 2,
+ 1,
+ 1.039,
+ 2,
+ 1.044,
+ 0,
+ 1.05,
+ 0,
+ 1,
+ 1.206,
+ 0,
+ 1.361,
+ 0,
+ 1.517,
+ 0,
+ 1,
+ 1.522,
+ 0,
+ 1.528,
+ 2,
+ 1.533,
+ 2,
+ 1,
+ 1.561,
+ 2,
+ 1.589,
+ 2,
+ 1.617,
+ 2,
+ 1,
+ 1.622,
+ 2,
+ 1.628,
+ 0,
+ 1.633,
+ 0,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param21",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 0.15,
+ 1,
+ 1,
+ 0.2,
+ 1,
+ 0.25,
+ 0,
+ 0.3,
+ 0,
+ 1,
+ 0.378,
+ 0,
+ 0.456,
+ 0.684,
+ 0.533,
+ 0.684,
+ 1,
+ 0.678,
+ 0.684,
+ 0.822,
+ 0.684,
+ 0.967,
+ 0.684,
+ 1,
+ 1.011,
+ 0.684,
+ 1.056,
+ 0,
+ 1.1,
+ 0,
+ 1,
+ 1.139,
+ 0,
+ 1.178,
+ 1,
+ 1.217,
+ 1,
+ 0,
+ 1.767,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param20",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.05,
+ 0,
+ 1,
+ 0.167,
+ 0,
+ 0.283,
+ 0.7,
+ 0.4,
+ 0.7,
+ 1,
+ 0.556,
+ 0.7,
+ 0.711,
+ 0.7,
+ 0.867,
+ 0.7,
+ 1,
+ 0.922,
+ 0.7,
+ 0.978,
+ 0,
+ 1.033,
+ 0,
+ 1,
+ 1.056,
+ 0,
+ 1.078,
+ 1,
+ 1.1,
+ 1,
+ 1,
+ 1.244,
+ 1,
+ 1.389,
+ 1,
+ 1.533,
+ 1,
+ 1,
+ 1.611,
+ 1,
+ 1.689,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param17",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.072,
+ 0,
+ 0.144,
+ 1,
+ 0.217,
+ 1,
+ 1,
+ 0.361,
+ 1,
+ 0.506,
+ 1,
+ 0.65,
+ 1,
+ 1,
+ 0.678,
+ 1,
+ 0.706,
+ 0,
+ 0.733,
+ 0,
+ 1,
+ 0.756,
+ 0,
+ 0.778,
+ 0.6,
+ 0.8,
+ 0.6,
+ 1,
+ 1.017,
+ 0.6,
+ 1.233,
+ 0.6,
+ 1.45,
+ 0.6,
+ 1,
+ 1.517,
+ 0.6,
+ 1.583,
+ 0,
+ 1.65,
+ 0,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param15",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.022,
+ 0,
+ 0.044,
+ 0.998,
+ 0.067,
+ 0.998,
+ 1,
+ 0.089,
+ 0.998,
+ 0.111,
+ 0,
+ 0.133,
+ 0,
+ 1,
+ 0.156,
+ 0,
+ 0.178,
+ 0.998,
+ 0.2,
+ 0.998,
+ 1,
+ 0.217,
+ 0.998,
+ 0.233,
+ 0,
+ 0.25,
+ 0,
+ 1,
+ 0.272,
+ 0,
+ 0.294,
+ 0.998,
+ 0.317,
+ 0.998,
+ 1,
+ 0.339,
+ 0.998,
+ 0.361,
+ 0,
+ 0.383,
+ 0,
+ 1,
+ 0.4,
+ 0,
+ 0.417,
+ 0.998,
+ 0.433,
+ 0.998,
+ 1,
+ 0.456,
+ 0.998,
+ 0.478,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0.522,
+ 0,
+ 0.544,
+ 0.998,
+ 0.567,
+ 0.998,
+ 1,
+ 0.589,
+ 0.998,
+ 0.611,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.65,
+ 0,
+ 0.667,
+ 0.998,
+ 0.683,
+ 0.998,
+ 1,
+ 0.706,
+ 0.998,
+ 0.728,
+ 0,
+ 0.75,
+ 0,
+ 1,
+ 0.772,
+ 0,
+ 0.794,
+ 0.998,
+ 0.817,
+ 0.998,
+ 1,
+ 0.839,
+ 0.998,
+ 0.861,
+ 0,
+ 0.883,
+ 0,
+ 1,
+ 0.906,
+ 0,
+ 0.928,
+ 0.998,
+ 0.95,
+ 0.998,
+ 1,
+ 0.972,
+ 0.998,
+ 0.994,
+ 0,
+ 1.017,
+ 0,
+ 1,
+ 1.039,
+ 0,
+ 1.061,
+ 0.998,
+ 1.083,
+ 0.998,
+ 1,
+ 1.1,
+ 0.998,
+ 1.117,
+ 0,
+ 1.133,
+ 0,
+ 1,
+ 1.156,
+ 0,
+ 1.178,
+ 0.998,
+ 1.2,
+ 0.998,
+ 1,
+ 1.222,
+ 0.998,
+ 1.244,
+ 0,
+ 1.267,
+ 0,
+ 1,
+ 1.283,
+ 0,
+ 1.3,
+ 0.998,
+ 1.317,
+ 0.998,
+ 1,
+ 1.339,
+ 0.998,
+ 1.361,
+ 0,
+ 1.383,
+ 0,
+ 1,
+ 1.406,
+ 0,
+ 1.428,
+ 0.998,
+ 1.45,
+ 0.998,
+ 1,
+ 1.472,
+ 0.998,
+ 1.494,
+ 0,
+ 1.517,
+ 0,
+ 1,
+ 1.539,
+ 0,
+ 1.561,
+ 0.998,
+ 1.583,
+ 0.998,
+ 1,
+ 1.606,
+ 0.998,
+ 1.628,
+ 0,
+ 1.65,
+ 0,
+ 1,
+ 1.672,
+ 0,
+ 1.694,
+ 0.998,
+ 1.717,
+ 0.998,
+ 1,
+ 1.733,
+ 0.998,
+ 1.75,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param35",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.017,
+ 0.052,
+ 0.033,
+ 0.998,
+ 0.05,
+ 0.998,
+ 0,
+ 0.3,
+ 0.998,
+ 1,
+ 0.322,
+ 0.998,
+ 0.344,
+ 0.272,
+ 0.367,
+ 0,
+ 0,
+ 0.417,
+ 0,
+ 1,
+ 0.428,
+ 0.052,
+ 0.439,
+ 0.867,
+ 0.45,
+ 0.867,
+ 0,
+ 0.467,
+ 0.867,
+ 1,
+ 0.517,
+ 0.867,
+ 0.567,
+ 0.885,
+ 0.617,
+ 0,
+ 0,
+ 0.65,
+ 0,
+ 1,
+ 0.672,
+ 0.052,
+ 0.694,
+ 0.957,
+ 0.717,
+ 0.957,
+ 0,
+ 0.783,
+ 0.957,
+ 1,
+ 0.8,
+ 0.957,
+ 0.817,
+ 0.272,
+ 0.833,
+ 0,
+ 0,
+ 0.867,
+ 0,
+ 1,
+ 0.906,
+ 0.006,
+ 0.944,
+ 0.779,
+ 0.983,
+ 0.955,
+ 0,
+ 1.05,
+ 0.955,
+ 1,
+ 1.083,
+ 0.955,
+ 1.117,
+ 0.272,
+ 1.15,
+ 0,
+ 0,
+ 1.183,
+ 0,
+ 1,
+ 1.211,
+ 0.024,
+ 1.239,
+ 0.998,
+ 1.267,
+ 0.998,
+ 0,
+ 1.367,
+ 0.998,
+ 1,
+ 1.4,
+ 0.998,
+ 1.433,
+ 0.272,
+ 1.467,
+ 0,
+ 0,
+ 1.517,
+ 0.811,
+ 0,
+ 1.667,
+ 0.811,
+ 1,
+ 1.694,
+ 0.811,
+ 1.722,
+ 0.227,
+ 1.75,
+ 0,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param36",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.1,
+ 0,
+ 0,
+ 0.3,
+ 0.998,
+ 0,
+ 0.367,
+ 0.997,
+ 1,
+ 0.372,
+ 0,
+ 0.378,
+ 0,
+ 0.383,
+ 0,
+ 0,
+ 0.45,
+ 0,
+ 0,
+ 0.467,
+ 0.998,
+ 0,
+ 0.617,
+ 0.996,
+ 1,
+ 0.622,
+ 0,
+ 0.628,
+ 0,
+ 0.633,
+ 0,
+ 0,
+ 0.767,
+ 0,
+ 0,
+ 0.783,
+ 0.998,
+ 0,
+ 0.833,
+ 0.996,
+ 1,
+ 0.839,
+ 0,
+ 0.844,
+ 0,
+ 0.85,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 1.05,
+ 0.998,
+ 0,
+ 1.15,
+ 0.996,
+ 1,
+ 1.156,
+ 0,
+ 1.161,
+ 0,
+ 1.167,
+ 0,
+ 0,
+ 1.317,
+ 0,
+ 0,
+ 1.367,
+ 0.998,
+ 0,
+ 1.467,
+ 0.996,
+ 1,
+ 1.472,
+ 0,
+ 1.478,
+ 0,
+ 1.483,
+ 0,
+ 0,
+ 1.583,
+ 0,
+ 0,
+ 1.65,
+ 0.998,
+ 0,
+ 1.75,
+ 0.996,
+ 1,
+ 1.756,
+ 0,
+ 1.761,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param49",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.017,
+ 0,
+ 1,
+ 0.028,
+ 0,
+ 0.039,
+ 0.986,
+ 0.05,
+ 1,
+ 0,
+ 0.183,
+ 1,
+ 1,
+ 0.2,
+ 1,
+ 0.217,
+ 0.103,
+ 0.233,
+ 0,
+ 0,
+ 0.267,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.289,
+ 0.943,
+ 0.3,
+ 0.957,
+ 0,
+ 0.433,
+ 0.957,
+ 1,
+ 0.45,
+ 0.957,
+ 0.467,
+ 0.103,
+ 0.483,
+ 0,
+ 0,
+ 0.517,
+ 0,
+ 1,
+ 0.528,
+ 0,
+ 0.539,
+ 0.866,
+ 0.55,
+ 0.88,
+ 0,
+ 0.683,
+ 0.88,
+ 1,
+ 0.7,
+ 0.88,
+ 0.717,
+ 0.103,
+ 0.733,
+ 0,
+ 0,
+ 0.85,
+ 0,
+ 1,
+ 0.861,
+ 0,
+ 0.872,
+ 0.866,
+ 0.883,
+ 0.88,
+ 0,
+ 1.017,
+ 0.88,
+ 1,
+ 1.033,
+ 0.88,
+ 1.05,
+ 0.103,
+ 1.067,
+ 0,
+ 0,
+ 1.1,
+ 0,
+ 1,
+ 1.111,
+ 0,
+ 1.122,
+ 0.91,
+ 1.133,
+ 0.924,
+ 0,
+ 1.267,
+ 0.924,
+ 1,
+ 1.283,
+ 0.924,
+ 1.3,
+ 0.103,
+ 1.317,
+ 0,
+ 0,
+ 1.517,
+ 0,
+ 1,
+ 1.528,
+ 0,
+ 1.539,
+ 0.986,
+ 1.55,
+ 1,
+ 0,
+ 1.683,
+ 1,
+ 1,
+ 1.7,
+ 1,
+ 1.717,
+ 0.103,
+ 1.733,
+ 0,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param37",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.172,
+ 0,
+ 0.178,
+ 1,
+ 0.183,
+ 1,
+ 1,
+ 0.2,
+ 1,
+ 0.217,
+ 1,
+ 0.233,
+ 1,
+ 1,
+ 0.239,
+ 1,
+ 0.244,
+ 0,
+ 0.25,
+ 0,
+ 1,
+ 0.306,
+ 0,
+ 0.361,
+ 0,
+ 0.417,
+ 0,
+ 1,
+ 0.422,
+ 0,
+ 0.428,
+ 1,
+ 0.433,
+ 1,
+ 1,
+ 0.45,
+ 1,
+ 0.467,
+ 1,
+ 0.483,
+ 1,
+ 1,
+ 0.489,
+ 1,
+ 0.494,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0.556,
+ 0,
+ 0.611,
+ 0,
+ 0.667,
+ 0,
+ 1,
+ 0.672,
+ 0,
+ 0.678,
+ 1,
+ 0.683,
+ 1,
+ 1,
+ 0.7,
+ 1,
+ 0.717,
+ 1,
+ 0.733,
+ 1,
+ 1,
+ 0.739,
+ 1,
+ 0.744,
+ 0,
+ 0.75,
+ 0,
+ 1,
+ 0.833,
+ 0,
+ 0.917,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1.006,
+ 0,
+ 1.011,
+ 1,
+ 1.017,
+ 1,
+ 1,
+ 1.033,
+ 1,
+ 1.05,
+ 1,
+ 1.067,
+ 1,
+ 1,
+ 1.072,
+ 1,
+ 1.078,
+ 0,
+ 1.083,
+ 0,
+ 1,
+ 1.139,
+ 0,
+ 1.194,
+ 0,
+ 1.25,
+ 0,
+ 1,
+ 1.256,
+ 0,
+ 1.261,
+ 1,
+ 1.267,
+ 1,
+ 1,
+ 1.283,
+ 1,
+ 1.3,
+ 1,
+ 1.317,
+ 1,
+ 1,
+ 1.322,
+ 1,
+ 1.328,
+ 0,
+ 1.333,
+ 0,
+ 1,
+ 1.444,
+ 0,
+ 1.556,
+ 0,
+ 1.667,
+ 0,
+ 1,
+ 1.672,
+ 0,
+ 1.678,
+ 1,
+ 1.683,
+ 1,
+ 1,
+ 1.7,
+ 1,
+ 1.717,
+ 1,
+ 1.733,
+ 1,
+ 1,
+ 1.739,
+ 1,
+ 1.744,
+ 0,
+ 1.75,
+ 0,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param45",
+ "Segments": [
+ 0,
+ 0.002,
+ 1,
+ 0.011,
+ 0.002,
+ 0.022,
+ 1,
+ 0.033,
+ 1,
+ 0,
+ 0.1,
+ 1,
+ 1,
+ 0.106,
+ 1,
+ 0.111,
+ 0.23,
+ 0.117,
+ 0.002,
+ 0,
+ 0.167,
+ 0.002,
+ 1,
+ 0.183,
+ 0.002,
+ 0.2,
+ 0.931,
+ 0.217,
+ 0.931,
+ 0,
+ 0.3,
+ 0.931,
+ 1,
+ 0.306,
+ 0.931,
+ 0.311,
+ 0.23,
+ 0.317,
+ 0.002,
+ 0,
+ 0.467,
+ 0.002,
+ 1,
+ 0.478,
+ 0.002,
+ 0.489,
+ 0.814,
+ 0.5,
+ 0.814,
+ 0,
+ 0.583,
+ 0.814,
+ 1,
+ 0.589,
+ 0.814,
+ 0.594,
+ 0.23,
+ 0.6,
+ 0.002,
+ 0,
+ 0.683,
+ 0.002,
+ 1,
+ 0.7,
+ 0.002,
+ 0.717,
+ 0.884,
+ 0.733,
+ 0.884,
+ 0,
+ 0.817,
+ 0.884,
+ 1,
+ 0.822,
+ 0.884,
+ 0.828,
+ 0.23,
+ 0.833,
+ 0.002,
+ 0,
+ 0.9,
+ 0.002,
+ 1,
+ 0.911,
+ 0.002,
+ 0.922,
+ 1,
+ 0.933,
+ 1,
+ 0,
+ 1.017,
+ 1,
+ 1,
+ 1.028,
+ 1,
+ 1.039,
+ 0.23,
+ 1.05,
+ 0.002,
+ 0,
+ 1.267,
+ 0,
+ 1,
+ 1.289,
+ 0,
+ 1.311,
+ 0.946,
+ 1.333,
+ 0.946,
+ 0,
+ 1.467,
+ 0.946,
+ 1,
+ 1.472,
+ 0.946,
+ 1.478,
+ 0.228,
+ 1.483,
+ 0,
+ 0,
+ 1.567,
+ 0,
+ 1,
+ 1.578,
+ 0,
+ 1.589,
+ 0.846,
+ 1.6,
+ 0.846,
+ 0,
+ 1.7,
+ 0.846,
+ 1,
+ 1.711,
+ 0.846,
+ 1.722,
+ 0.228,
+ 1.733,
+ 0,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param38",
+ "Segments": [
+ 0,
+ 0.002,
+ 0,
+ 0.1,
+ 0.002,
+ 1,
+ 0.106,
+ 0.002,
+ 0.111,
+ 1,
+ 0.117,
+ 1,
+ 1,
+ 0.122,
+ 1,
+ 0.128,
+ 1,
+ 0.133,
+ 1,
+ 1,
+ 0.139,
+ 1,
+ 0.144,
+ 0.002,
+ 0.15,
+ 0.002,
+ 1,
+ 0.2,
+ 0.002,
+ 0.25,
+ 0.002,
+ 0.3,
+ 0.002,
+ 1,
+ 0.306,
+ 0.002,
+ 0.311,
+ 1,
+ 0.317,
+ 1,
+ 1,
+ 0.322,
+ 1,
+ 0.328,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.339,
+ 1,
+ 0.344,
+ 0.002,
+ 0.35,
+ 0.002,
+ 1,
+ 0.428,
+ 0.002,
+ 0.506,
+ 0.002,
+ 0.583,
+ 0.002,
+ 1,
+ 0.589,
+ 0.002,
+ 0.594,
+ 1,
+ 0.6,
+ 1,
+ 1,
+ 0.611,
+ 1,
+ 0.622,
+ 1,
+ 0.633,
+ 1,
+ 1,
+ 0.639,
+ 1,
+ 0.644,
+ 0.002,
+ 0.65,
+ 0.002,
+ 1,
+ 0.706,
+ 0.002,
+ 0.761,
+ 0.002,
+ 0.817,
+ 0.002,
+ 1,
+ 0.822,
+ 0.002,
+ 0.828,
+ 1,
+ 0.833,
+ 1,
+ 1,
+ 0.839,
+ 1,
+ 0.844,
+ 1,
+ 0.85,
+ 1,
+ 1,
+ 0.861,
+ 1,
+ 0.872,
+ 0.002,
+ 0.883,
+ 0.002,
+ 1,
+ 0.928,
+ 0.002,
+ 0.972,
+ 0.002,
+ 1.017,
+ 0.002,
+ 1,
+ 1.028,
+ 0.002,
+ 1.039,
+ 1,
+ 1.05,
+ 1,
+ 1,
+ 1.056,
+ 1,
+ 1.061,
+ 1,
+ 1.067,
+ 1,
+ 1,
+ 1.072,
+ 1,
+ 1.078,
+ 0.002,
+ 1.083,
+ 0.002,
+ 1,
+ 1.211,
+ 0.001,
+ 1.339,
+ 0,
+ 1.467,
+ 0,
+ 1,
+ 1.472,
+ 0,
+ 1.478,
+ 0.997,
+ 1.483,
+ 0.997,
+ 1,
+ 1.489,
+ 0.997,
+ 1.494,
+ 0.997,
+ 1.5,
+ 0.997,
+ 1,
+ 1.517,
+ 0.997,
+ 1.533,
+ 0,
+ 1.55,
+ 0,
+ 1,
+ 1.6,
+ 0,
+ 1.65,
+ 0,
+ 1.7,
+ 0,
+ 1,
+ 1.711,
+ 0,
+ 1.722,
+ 0.997,
+ 1.733,
+ 0.997,
+ 1,
+ 1.739,
+ 0.997,
+ 1.744,
+ 0.997,
+ 1.75,
+ 0.997,
+ 1,
+ 1.756,
+ 0.997,
+ 1.761,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param46",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.006,
+ 0.083,
+ 0.011,
+ 0,
+ 0.017,
+ 1,
+ 0,
+ 0.1,
+ 1,
+ 1,
+ 0.106,
+ 1,
+ 0.111,
+ 0.6,
+ 0.117,
+ 0,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.178,
+ 0.069,
+ 0.189,
+ 0,
+ 0.2,
+ 0.832,
+ 0,
+ 0.317,
+ 0.832,
+ 1,
+ 0.322,
+ 0.832,
+ 0.328,
+ 0.6,
+ 0.333,
+ 0,
+ 0,
+ 0.45,
+ 0,
+ 1,
+ 0.467,
+ 0.125,
+ 0.483,
+ 0,
+ 0.5,
+ 0.932,
+ 0,
+ 0.567,
+ 0.932,
+ 1,
+ 0.578,
+ 0.932,
+ 0.589,
+ 0.481,
+ 0.6,
+ 0,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.656,
+ 0.159,
+ 0.678,
+ 0,
+ 0.7,
+ 0.884,
+ 0,
+ 0.85,
+ 0.884,
+ 1,
+ 0.861,
+ 0.884,
+ 0.872,
+ 0,
+ 0.883,
+ 0,
+ 1,
+ 0.911,
+ 0.064,
+ 0.939,
+ 0,
+ 0.967,
+ 0.625,
+ 0,
+ 1.067,
+ 0.625,
+ 1,
+ 1.078,
+ 0.625,
+ 1.089,
+ 0.451,
+ 1.1,
+ 0,
+ 0,
+ 1.2,
+ 0,
+ 1,
+ 1.217,
+ 0.064,
+ 1.233,
+ 0,
+ 1.25,
+ 0.772,
+ 0,
+ 1.417,
+ 0.772,
+ 1,
+ 1.433,
+ 0.772,
+ 1.45,
+ 0.558,
+ 1.467,
+ 0,
+ 0,
+ 1.533,
+ 0,
+ 1,
+ 1.556,
+ 0.25,
+ 1.578,
+ 0,
+ 1.6,
+ 0.998,
+ 0,
+ 1.7,
+ 0.998,
+ 1,
+ 1.706,
+ 0.998,
+ 1.711,
+ 0.721,
+ 1.717,
+ 0,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param39",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.083,
+ 0,
+ 1,
+ 0.089,
+ 0,
+ 0.094,
+ 1,
+ 0.1,
+ 1,
+ 1,
+ 0.106,
+ 1,
+ 0.111,
+ 1,
+ 0.117,
+ 1,
+ 1,
+ 0.122,
+ 1,
+ 0.128,
+ 0,
+ 0.133,
+ 0,
+ 1,
+ 0.183,
+ 0,
+ 0.233,
+ 0,
+ 0.283,
+ 0,
+ 1,
+ 0.294,
+ 0,
+ 0.306,
+ 1,
+ 0.317,
+ 1,
+ 1,
+ 0.322,
+ 1,
+ 0.328,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.35,
+ 1,
+ 0.367,
+ 0,
+ 0.383,
+ 0,
+ 1,
+ 0.433,
+ 0,
+ 0.483,
+ 0,
+ 0.533,
+ 0,
+ 1,
+ 0.539,
+ 0,
+ 0.544,
+ 1,
+ 0.55,
+ 1,
+ 1,
+ 0.567,
+ 1,
+ 0.583,
+ 1,
+ 0.6,
+ 1,
+ 1,
+ 0.606,
+ 1,
+ 0.611,
+ 0,
+ 0.617,
+ 0,
+ 1,
+ 0.678,
+ 0,
+ 0.739,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 0.806,
+ 0,
+ 0.811,
+ 1,
+ 0.817,
+ 1,
+ 1,
+ 0.828,
+ 1,
+ 0.839,
+ 1,
+ 0.85,
+ 1,
+ 1,
+ 0.856,
+ 1,
+ 0.861,
+ 0,
+ 0.867,
+ 0,
+ 1,
+ 0.922,
+ 0,
+ 0.978,
+ 0,
+ 1.033,
+ 0,
+ 1,
+ 1.044,
+ 0,
+ 1.056,
+ 1,
+ 1.067,
+ 1,
+ 1,
+ 1.078,
+ 1,
+ 1.089,
+ 1,
+ 1.1,
+ 1,
+ 1,
+ 1.111,
+ 1,
+ 1.122,
+ 0,
+ 1.133,
+ 0,
+ 1,
+ 1.217,
+ 0,
+ 1.3,
+ 0,
+ 1.383,
+ 0,
+ 1,
+ 1.394,
+ 0,
+ 1.406,
+ 1,
+ 1.417,
+ 1,
+ 1,
+ 1.433,
+ 1,
+ 1.45,
+ 1,
+ 1.467,
+ 1,
+ 1,
+ 1.483,
+ 1,
+ 1.5,
+ 0,
+ 1.517,
+ 0,
+ 1,
+ 1.567,
+ 0,
+ 1.617,
+ 0,
+ 1.667,
+ 0,
+ 1,
+ 1.678,
+ 0,
+ 1.689,
+ 1,
+ 1.7,
+ 1,
+ 1,
+ 1.706,
+ 1,
+ 1.711,
+ 1,
+ 1.717,
+ 1,
+ 1,
+ 1.733,
+ 1,
+ 1.75,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param50",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.067,
+ 0.79,
+ 0,
+ 0.167,
+ 0.79,
+ 1,
+ 0.178,
+ 0.79,
+ 0.189,
+ 0.092,
+ 0.2,
+ 0,
+ 0,
+ 0.217,
+ 0,
+ 0,
+ 0.283,
+ 0.649,
+ 0,
+ 0.4,
+ 0.649,
+ 1,
+ 0.411,
+ 0.649,
+ 0.422,
+ 0.06,
+ 0.433,
+ 0,
+ 0,
+ 0.467,
+ 0,
+ 0,
+ 0.583,
+ 1,
+ 0,
+ 0.8,
+ 1,
+ 1,
+ 0.822,
+ 1,
+ 0.844,
+ 0.073,
+ 0.867,
+ 0,
+ 0,
+ 0.9,
+ 0,
+ 0,
+ 0.95,
+ 0.793,
+ 0,
+ 1.033,
+ 0.793,
+ 1,
+ 1.044,
+ 0.793,
+ 1.056,
+ 0.073,
+ 1.067,
+ 0,
+ 0,
+ 1.117,
+ 0,
+ 0,
+ 1.25,
+ 0.877,
+ 0,
+ 1.483,
+ 0.877,
+ 1,
+ 1.506,
+ 0.877,
+ 1.528,
+ 0.092,
+ 1.55,
+ 0,
+ 0,
+ 1.583,
+ 0,
+ 0,
+ 1.633,
+ 1,
+ 0,
+ 1.733,
+ 1,
+ 1,
+ 1.744,
+ 1,
+ 1.756,
+ 0.092,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param40",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.172,
+ 0,
+ 0.178,
+ 1,
+ 0.183,
+ 1,
+ 1,
+ 0.189,
+ 1,
+ 0.194,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.206,
+ 1,
+ 0.211,
+ 0,
+ 0.217,
+ 0,
+ 1,
+ 0.272,
+ 0,
+ 0.328,
+ 0,
+ 0.383,
+ 0,
+ 1,
+ 0.389,
+ 0,
+ 0.394,
+ 1,
+ 0.4,
+ 1,
+ 1,
+ 0.411,
+ 1,
+ 0.422,
+ 1,
+ 0.433,
+ 1,
+ 1,
+ 0.439,
+ 1,
+ 0.444,
+ 0,
+ 0.45,
+ 0,
+ 1,
+ 0.561,
+ 0,
+ 0.672,
+ 0,
+ 0.783,
+ 0,
+ 1,
+ 0.789,
+ 0,
+ 0.794,
+ 1,
+ 0.8,
+ 1,
+ 1,
+ 0.822,
+ 1,
+ 0.844,
+ 1,
+ 0.867,
+ 1,
+ 1,
+ 0.872,
+ 1,
+ 0.878,
+ 0,
+ 0.883,
+ 0,
+ 1,
+ 0.933,
+ 0,
+ 0.983,
+ 0,
+ 1.033,
+ 0,
+ 1,
+ 1.039,
+ 0,
+ 1.044,
+ 1,
+ 1.05,
+ 1,
+ 1,
+ 1.056,
+ 1,
+ 1.061,
+ 1,
+ 1.067,
+ 1,
+ 1,
+ 1.072,
+ 1,
+ 1.078,
+ 0,
+ 1.083,
+ 0,
+ 1,
+ 1.089,
+ 0,
+ 1.094,
+ 0,
+ 1.1,
+ 0,
+ 1,
+ 1.217,
+ 0,
+ 1.333,
+ 0,
+ 1.45,
+ 0,
+ 1,
+ 1.461,
+ 0,
+ 1.472,
+ 1,
+ 1.483,
+ 1,
+ 1,
+ 1.506,
+ 1,
+ 1.528,
+ 1,
+ 1.55,
+ 1,
+ 1,
+ 1.556,
+ 1,
+ 1.561,
+ 0,
+ 1.567,
+ 0,
+ 1,
+ 1.622,
+ 0,
+ 1.678,
+ 0,
+ 1.733,
+ 0,
+ 1,
+ 1.739,
+ 0,
+ 1.744,
+ 1,
+ 1.75,
+ 1,
+ 1,
+ 1.756,
+ 1,
+ 1.761,
+ 1,
+ 1.767,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param51",
+ "Segments": [
+ 0,
+ 0.005,
+ 1,
+ 0.022,
+ 0.005,
+ 0.044,
+ 0.855,
+ 0.067,
+ 1,
+ 0,
+ 0.183,
+ 1,
+ 1,
+ 0.189,
+ 1,
+ 0.194,
+ 0.005,
+ 0.2,
+ 0.005,
+ 0,
+ 0.25,
+ 0.005,
+ 1,
+ 0.283,
+ 0.005,
+ 0.317,
+ 0.855,
+ 0.35,
+ 1,
+ 0,
+ 0.533,
+ 1,
+ 1,
+ 0.539,
+ 1,
+ 0.544,
+ 0.005,
+ 0.55,
+ 0.005,
+ 0,
+ 0.617,
+ 0.005,
+ 1,
+ 0.639,
+ 0.005,
+ 0.661,
+ 0.855,
+ 0.683,
+ 1,
+ 0,
+ 0.817,
+ 1,
+ 1,
+ 0.822,
+ 1,
+ 0.828,
+ 0.005,
+ 0.833,
+ 0.005,
+ 0,
+ 0.883,
+ 0.005,
+ 1,
+ 0.894,
+ 0.005,
+ 0.906,
+ 0.855,
+ 0.917,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1.006,
+ 1,
+ 1.011,
+ 0.005,
+ 1.017,
+ 0.005,
+ 0,
+ 1.083,
+ 0.005,
+ 1,
+ 1.106,
+ 0.005,
+ 1.128,
+ 0.855,
+ 1.15,
+ 1,
+ 0,
+ 1.283,
+ 1,
+ 1,
+ 1.289,
+ 1,
+ 1.294,
+ 0.005,
+ 1.3,
+ 0.005,
+ 0,
+ 1.367,
+ 0.005,
+ 1,
+ 1.389,
+ 0.005,
+ 1.411,
+ 0.855,
+ 1.433,
+ 1,
+ 0,
+ 1.567,
+ 1,
+ 1,
+ 1.572,
+ 1,
+ 1.578,
+ 0.005,
+ 1.583,
+ 0.005,
+ 0,
+ 1.617,
+ 0.005,
+ 1,
+ 1.633,
+ 0.005,
+ 1.65,
+ 0.855,
+ 1.667,
+ 1,
+ 0,
+ 1.75,
+ 1,
+ 1,
+ 1.756,
+ 1,
+ 1.761,
+ 0.005,
+ 1.767,
+ 0.005
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param41",
+ "Segments": [
+ 0,
+ 0.005,
+ 0,
+ 0.183,
+ 0.005,
+ 1,
+ 0.189,
+ 0.005,
+ 0.194,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.206,
+ 1,
+ 0.211,
+ 1,
+ 0.217,
+ 1,
+ 1,
+ 0.222,
+ 1,
+ 0.228,
+ 0.005,
+ 0.233,
+ 0.005,
+ 1,
+ 0.333,
+ 0.005,
+ 0.433,
+ 0.005,
+ 0.533,
+ 0.005,
+ 1,
+ 0.539,
+ 0.005,
+ 0.544,
+ 1,
+ 0.55,
+ 1,
+ 1,
+ 0.561,
+ 1,
+ 0.572,
+ 1,
+ 0.583,
+ 1,
+ 1,
+ 0.589,
+ 1,
+ 0.594,
+ 0.005,
+ 0.6,
+ 0.005,
+ 1,
+ 0.672,
+ 0.005,
+ 0.744,
+ 0.005,
+ 0.817,
+ 0.005,
+ 1,
+ 0.822,
+ 0.005,
+ 0.828,
+ 1,
+ 0.833,
+ 1,
+ 1,
+ 0.839,
+ 1,
+ 0.844,
+ 1,
+ 0.85,
+ 1,
+ 1,
+ 0.856,
+ 1,
+ 0.861,
+ 0.005,
+ 0.867,
+ 0.005,
+ 1,
+ 0.911,
+ 0.005,
+ 0.956,
+ 0.005,
+ 1,
+ 0.005,
+ 1,
+ 1.006,
+ 0.005,
+ 1.011,
+ 1,
+ 1.017,
+ 1,
+ 1,
+ 1.022,
+ 1,
+ 1.028,
+ 1,
+ 1.033,
+ 1,
+ 1,
+ 1.039,
+ 1,
+ 1.044,
+ 0.005,
+ 1.05,
+ 0.005,
+ 1,
+ 1.128,
+ 0.005,
+ 1.206,
+ 0.005,
+ 1.283,
+ 0.005,
+ 1,
+ 1.289,
+ 0.005,
+ 1.294,
+ 1,
+ 1.3,
+ 1,
+ 1,
+ 1.311,
+ 1,
+ 1.322,
+ 1,
+ 1.333,
+ 1,
+ 1,
+ 1.339,
+ 1,
+ 1.344,
+ 0.005,
+ 1.35,
+ 0.005,
+ 1,
+ 1.422,
+ 0.005,
+ 1.494,
+ 0.005,
+ 1.567,
+ 0.005,
+ 1,
+ 1.572,
+ 0.005,
+ 1.578,
+ 1,
+ 1.583,
+ 1,
+ 1,
+ 1.589,
+ 1,
+ 1.594,
+ 1,
+ 1.6,
+ 1,
+ 1,
+ 1.606,
+ 1,
+ 1.611,
+ 0.005,
+ 1.617,
+ 0.005,
+ 1,
+ 1.661,
+ 0.005,
+ 1.706,
+ 0.005,
+ 1.75,
+ 0.005,
+ 1,
+ 1.756,
+ 0.005,
+ 1.761,
+ 1,
+ 1.767,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param52",
+ "Segments": [
+ 0,
+ 0.004,
+ 1,
+ 0.028,
+ 0.003,
+ 0.056,
+ 0.868,
+ 0.083,
+ 0.868,
+ 0,
+ 0.267,
+ 0.868,
+ 1,
+ 0.289,
+ 0.868,
+ 0.311,
+ 0.062,
+ 0.333,
+ 0.004,
+ 0,
+ 0.367,
+ 0.004,
+ 1,
+ 0.394,
+ 0.004,
+ 0.422,
+ 1,
+ 0.45,
+ 1,
+ 0,
+ 0.617,
+ 1,
+ 1,
+ 0.628,
+ 1,
+ 0.639,
+ 0.072,
+ 0.65,
+ 0.004,
+ 0,
+ 0.667,
+ 0.004,
+ 1,
+ 0.683,
+ 0.004,
+ 0.7,
+ 0.943,
+ 0.717,
+ 0.943,
+ 0,
+ 0.8,
+ 0.943,
+ 1,
+ 0.811,
+ 0.943,
+ 0.822,
+ 0.068,
+ 0.833,
+ 0.004,
+ 0,
+ 0.867,
+ 0.004,
+ 1,
+ 0.889,
+ 0.004,
+ 0.911,
+ 1,
+ 0.933,
+ 1,
+ 0,
+ 1.05,
+ 1,
+ 1,
+ 1.072,
+ 1,
+ 1.094,
+ 0.072,
+ 1.117,
+ 0.004,
+ 0,
+ 1.15,
+ 0.004,
+ 1,
+ 1.167,
+ 0.004,
+ 1.183,
+ 1,
+ 1.2,
+ 1,
+ 0,
+ 1.333,
+ 1,
+ 1,
+ 1.35,
+ 1,
+ 1.367,
+ 0.072,
+ 1.383,
+ 0.004,
+ 0,
+ 1.433,
+ 0.004,
+ 1,
+ 1.461,
+ 0.004,
+ 1.489,
+ 0.913,
+ 1.517,
+ 0.913,
+ 0,
+ 1.683,
+ 0.913,
+ 1,
+ 1.711,
+ 0.913,
+ 1.739,
+ 0.066,
+ 1.767,
+ 0.004
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param42",
+ "Segments": [
+ 0,
+ 0.004,
+ 0,
+ 0.233,
+ 0.004,
+ 1,
+ 0.244,
+ 0.004,
+ 0.256,
+ 1,
+ 0.267,
+ 1,
+ 1,
+ 0.289,
+ 1,
+ 0.311,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.339,
+ 1,
+ 0.344,
+ 0.004,
+ 0.35,
+ 0.004,
+ 1,
+ 0.433,
+ 0.004,
+ 0.517,
+ 0.004,
+ 0.6,
+ 0.004,
+ 1,
+ 0.606,
+ 0.004,
+ 0.611,
+ 1,
+ 0.617,
+ 1,
+ 1,
+ 0.628,
+ 1,
+ 0.639,
+ 1,
+ 0.65,
+ 1,
+ 1,
+ 0.656,
+ 1,
+ 0.661,
+ 0.004,
+ 0.667,
+ 0.004,
+ 1,
+ 0.7,
+ 0.004,
+ 0.733,
+ 0.004,
+ 0.767,
+ 0.004,
+ 1,
+ 0.778,
+ 0.004,
+ 0.789,
+ 1,
+ 0.8,
+ 1,
+ 1,
+ 0.811,
+ 1,
+ 0.822,
+ 1,
+ 0.833,
+ 1,
+ 1,
+ 0.839,
+ 1,
+ 0.844,
+ 0.004,
+ 0.85,
+ 0.004,
+ 1,
+ 0.911,
+ 0.004,
+ 0.972,
+ 0.004,
+ 1.033,
+ 0.004,
+ 1,
+ 1.039,
+ 0.004,
+ 1.044,
+ 1,
+ 1.05,
+ 1,
+ 1,
+ 1.072,
+ 1,
+ 1.094,
+ 1,
+ 1.117,
+ 1,
+ 1,
+ 1.122,
+ 1,
+ 1.128,
+ 0.004,
+ 1.133,
+ 0.004,
+ 1,
+ 1.189,
+ 0.004,
+ 1.244,
+ 0.004,
+ 1.3,
+ 0.004,
+ 1,
+ 1.311,
+ 0.004,
+ 1.322,
+ 1,
+ 1.333,
+ 1,
+ 1,
+ 1.35,
+ 1,
+ 1.367,
+ 1,
+ 1.383,
+ 1,
+ 1,
+ 1.389,
+ 1,
+ 1.394,
+ 0.004,
+ 1.4,
+ 0.004,
+ 1,
+ 1.483,
+ 0.004,
+ 1.567,
+ 0.004,
+ 1.65,
+ 0.004,
+ 1,
+ 1.661,
+ 0.004,
+ 1.672,
+ 1,
+ 1.683,
+ 1,
+ 1,
+ 1.711,
+ 1,
+ 1.739,
+ 1,
+ 1.767,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param47",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.022,
+ 0,
+ 0.044,
+ 0.821,
+ 0.067,
+ 0.821,
+ 0,
+ 0.25,
+ 0.821,
+ 1,
+ 0.256,
+ 0.821,
+ 0.261,
+ 0,
+ 0.267,
+ 0,
+ 0,
+ 0.283,
+ 0,
+ 1,
+ 0.3,
+ 0,
+ 0.317,
+ 0.91,
+ 0.333,
+ 0.91,
+ 0,
+ 0.467,
+ 0.91,
+ 1,
+ 0.472,
+ 0.91,
+ 0.478,
+ 0,
+ 0.483,
+ 0,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0.517,
+ 0,
+ 0.533,
+ 0.821,
+ 0.55,
+ 0.821,
+ 0,
+ 0.667,
+ 0.821,
+ 1,
+ 0.672,
+ 0.821,
+ 0.678,
+ 0,
+ 0.683,
+ 0,
+ 0,
+ 0.717,
+ 0,
+ 1,
+ 0.739,
+ 0,
+ 0.761,
+ 1,
+ 0.783,
+ 1,
+ 0,
+ 0.967,
+ 1,
+ 1,
+ 0.972,
+ 1,
+ 0.978,
+ 0,
+ 0.983,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1.011,
+ 0,
+ 1.022,
+ 1,
+ 1.033,
+ 1,
+ 0,
+ 1.15,
+ 1,
+ 1,
+ 1.156,
+ 1,
+ 1.161,
+ 0,
+ 1.167,
+ 0,
+ 0,
+ 1.183,
+ 0,
+ 1,
+ 1.194,
+ 0,
+ 1.206,
+ 0.845,
+ 1.217,
+ 0.846,
+ 0,
+ 1.333,
+ 0.846,
+ 1,
+ 1.344,
+ 0.845,
+ 1.356,
+ 0,
+ 1.367,
+ 0,
+ 0,
+ 1.4,
+ 0,
+ 1,
+ 1.428,
+ 0,
+ 1.456,
+ 0.939,
+ 1.483,
+ 0.939,
+ 0,
+ 1.75,
+ 0.939,
+ 1,
+ 1.756,
+ 0.939,
+ 1.761,
+ 0,
+ 1.767,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "Param43",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 0.233,
+ 0,
+ 1,
+ 0.239,
+ 0,
+ 0.244,
+ 1,
+ 0.25,
+ 1,
+ 1,
+ 0.256,
+ 1,
+ 0.261,
+ 1,
+ 0.267,
+ 1,
+ 1,
+ 0.272,
+ 1,
+ 0.278,
+ 0,
+ 0.283,
+ 0,
+ 1,
+ 0.339,
+ 0,
+ 0.394,
+ 0,
+ 0.45,
+ 0,
+ 1,
+ 0.456,
+ 0,
+ 0.461,
+ 1,
+ 0.467,
+ 1,
+ 1,
+ 0.472,
+ 1,
+ 0.478,
+ 1,
+ 0.483,
+ 1,
+ 1,
+ 0.489,
+ 1,
+ 0.494,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0.55,
+ 0,
+ 0.6,
+ 0,
+ 0.65,
+ 0,
+ 1,
+ 0.656,
+ 0,
+ 0.661,
+ 1,
+ 0.667,
+ 1,
+ 1,
+ 0.672,
+ 1,
+ 0.678,
+ 1,
+ 0.683,
+ 1,
+ 1,
+ 0.689,
+ 1,
+ 0.694,
+ 0,
+ 0.7,
+ 0,
+ 1,
+ 0.783,
+ 0,
+ 0.867,
+ 0,
+ 0.95,
+ 0,
+ 1,
+ 0.956,
+ 0,
+ 0.961,
+ 1,
+ 0.967,
+ 1,
+ 1,
+ 0.972,
+ 1,
+ 0.978,
+ 1,
+ 0.983,
+ 1,
+ 1,
+ 0.989,
+ 1,
+ 0.994,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1.044,
+ 0,
+ 1.089,
+ 0,
+ 1.133,
+ 0,
+ 1,
+ 1.139,
+ 0,
+ 1.144,
+ 1,
+ 1.15,
+ 1,
+ 1,
+ 1.156,
+ 1,
+ 1.161,
+ 1,
+ 1.167,
+ 1,
+ 1,
+ 1.172,
+ 1,
+ 1.178,
+ 0,
+ 1.183,
+ 0,
+ 1,
+ 1.228,
+ 0,
+ 1.272,
+ 0,
+ 1.317,
+ 0,
+ 1,
+ 1.322,
+ 0,
+ 1.328,
+ 1,
+ 1.333,
+ 1,
+ 1,
+ 1.344,
+ 1,
+ 1.356,
+ 1,
+ 1.367,
+ 1,
+ 1,
+ 1.372,
+ 1,
+ 1.378,
+ 0,
+ 1.383,
+ 0,
+ 1,
+ 1.489,
+ 0,
+ 1.594,
+ 0,
+ 1.7,
+ 0,
+ 1,
+ 1.717,
+ 0,
+ 1.733,
+ 1,
+ 1.75,
+ 1,
+ 1,
+ 1.756,
+ 1,
+ 1.761,
+ 1,
+ 1.767,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/UG/ugofficial.model3.json b/models/UG/ugofficial.model3.json
new file mode 100644
index 0000000..8879114
--- /dev/null
+++ b/models/UG/ugofficial.model3.json
@@ -0,0 +1,110 @@
+{
+ "Version": 3,
+ "FileReferences": {
+ "Moc": "UGOfficial.moc3",
+ "Textures": [
+ "UGOfficial.2048/texture_00.png",
+ "UGOfficial.2048/texture_01.png"
+ ],
+ "Physics": "UGOfficial.physics3.json",
+ "DisplayInfo": "UGOfficial.cdi3.json",
+ "Expressions": [
+ {
+ "Name": "1desk",
+ "File": "1desk.exp3.json"
+ },
+ {
+ "Name": "2mic",
+ "File": "2mic.exp3.json"
+ },
+ {
+ "Name": "3clever",
+ "File": "3clever.exp3.json"
+ },
+ {
+ "Name": "4OAO",
+ "File": "4OAO.exp3.json"
+ },
+ {
+ "Name": "5QAQ",
+ "File": "5QAQ.exp3.json"
+ },
+ {
+ "Name": "6i gi a ri",
+ "File": "6i gi a ri.exp3.json"
+ },
+ {
+ "Name": "7keyboard",
+ "File": "7keyboard.exp3.json"
+ },
+ {
+ "Name": "8punch",
+ "File": "8punch.exp3.json"
+ },
+ {
+ "Name": "1desk",
+ "File": "1desk.exp3.json"
+ },
+ {
+ "Name": "2mic",
+ "File": "2mic.exp3.json"
+ },
+ {
+ "Name": "3clever",
+ "File": "3clever.exp3.json"
+ },
+ {
+ "Name": "4OAO",
+ "File": "4OAO.exp3.json"
+ },
+ {
+ "Name": "5QAQ",
+ "File": "5QAQ.exp3.json"
+ },
+ {
+ "Name": "6i gi a ri",
+ "File": "6i gi a ri.exp3.json"
+ },
+ {
+ "Name": "7keyboard",
+ "File": "7keyboard.exp3.json"
+ },
+ {
+ "Name": "8punch",
+ "File": "8punch.exp3.json"
+ },
+ {
+ "Name": "9",
+ "File": "9.exp3.json"
+ }
+ ],
+ "Motions": {
+ "": [
+ {
+ "File": "loop.motion3.json"
+ },
+ {
+ "File": "loop.motion3.json"
+ }
+ ]
+ }
+ },
+ "Groups": [
+ {
+ "Target": "Parameter",
+ "Name": "LipSync",
+ "Ids": [
+ "ParamMouthOpenY"
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Name": "EyeBlink",
+ "Ids": [
+ "ParamEyeLOpen",
+ "ParamEyeROpen"
+ ]
+ }
+ ],
+ "HitAreas": []
+}
\ No newline at end of file
diff --git a/models/UG/ugofficial.vtube.json b/models/UG/ugofficial.vtube.json
new file mode 100644
index 0000000..e91ff5a
--- /dev/null
+++ b/models/UG/ugofficial.vtube.json
@@ -0,0 +1,1109 @@
+{
+ "Version": 1,
+ "Name": "ugofficial",
+ "ModelID": "e86a0ff2131748f093829330c989b5f7",
+ "FileReferences": {
+ "Icon": "icon.png",
+ "Model": "ugofficial.model3.json",
+ "IdleAnimation": "loop.motion3.json",
+ "IdleAnimationWhenTrackingLost": ""
+ },
+ "ModelSaveMetadata": {
+ "LastSavedVTubeStudioVersion": "1.24.12",
+ "LastSavedPlatform": "Steam",
+ "LastSavedDateUTC": "Wednesday, 05 April 2023, 08:45:09",
+ "LastSavedDateLocalTime": "Wednesday, 05 April 2023, 16:45:09",
+ "LastSavedDateUnixMillisecondTimestamp": "1680684309256"
+ },
+ "SavedModelPosition": {
+ "Position": {
+ "x": -63.13252639770508,
+ "y": -2.81124210357666,
+ "z": 0.0
+ },
+ "Rotation": {
+ "x": 0.0,
+ "y": 0.0,
+ "z": 0.0,
+ "w": 1.0
+ },
+ "Scale": {
+ "x": 1.1330121755599976,
+ "y": 1.1330121755599976,
+ "z": 1.0
+ }
+ },
+ "ModelPositionMovement": {
+ "Use": true,
+ "X": 6,
+ "Y": 20,
+ "Z": 11,
+ "SmoothingX": 10,
+ "SmoothingY": 10,
+ "SmoothingZ": 10
+ },
+ "ItemSettings": {
+ "OnlyMoveWhenPinned": false,
+ "AllowNormalHotkeyTriggers": true,
+ "Multiplier_HeadAngleX": 1.0,
+ "Multiplier_HeadAngleY": 1.0,
+ "Multiplier_HeadAngleZ": 1.0,
+ "Shift_HeadAngleX": 0.0,
+ "Shift_HeadAngleY": 0.0,
+ "Smoothing_HeadAngleX": 15.0,
+ "Smoothing_HeadAngleY": 15.0,
+ "Smoothing_HeadAngleZ": 15.0
+ },
+ "PhysicsSettings": {
+ "Use": true,
+ "UseLegacyPhysics": false,
+ "Live2DPhysicsFPS": 3,
+ "PhysicsStrength": 50,
+ "WindStrength": 0,
+ "DraggingPhysicsStrength": 0
+ },
+ "GeneralSettings": {
+ "TimeUntilTrackingLostIdleAnimation": 0.0,
+ "WorkshopSharingForbidden": true,
+ "EnableExpressionSaving": false
+ },
+ "ParameterSettings": [
+ {
+ "Folder": "",
+ "Name": "Face Left/Right Rotation",
+ "Input": "FaceAngleX",
+ "InputRangeLower": -30.0,
+ "InputRangeUpper": 30.0,
+ "OutputRangeLower": -30.0,
+ "OutputRangeUpper": 30.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamAngleX",
+ "Smoothing": 15,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Face Up/Down Rotation",
+ "Input": "FaceAngleY",
+ "InputRangeLower": -20.0,
+ "InputRangeUpper": 20.0,
+ "OutputRangeLower": -30.0,
+ "OutputRangeUpper": 30.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamAngleY",
+ "Smoothing": 15,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Face Lean Rotation",
+ "Input": "FaceAngleZ",
+ "InputRangeLower": -30.0,
+ "InputRangeUpper": 30.0,
+ "OutputRangeLower": -30.0,
+ "OutputRangeUpper": 30.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamAngleZ",
+ "Smoothing": 30,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Eye Open Left",
+ "Input": "EyeOpenLeft",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 0.0,
+ "OutputRangeUpper": 1.899999976158142,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamEyeLOpen",
+ "Smoothing": 10,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Eye Smile Left",
+ "Input": "MouthSmile",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 0.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamEyeLSmile",
+ "Smoothing": 10,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Eye Open Right",
+ "Input": "EyeOpenRight",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 0.0,
+ "OutputRangeUpper": 1.899999976158142,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamEyeROpen",
+ "Smoothing": 10,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Eye Smile Right",
+ "Input": "MouthSmile",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 0.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamEyeRSmile",
+ "Smoothing": 10,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Eye X",
+ "Input": "EyeRightX",
+ "InputRangeLower": -1.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 1.0,
+ "OutputRangeUpper": -1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamEyeBallX",
+ "Smoothing": 8,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Eye Y",
+ "Input": "EyeRightY",
+ "InputRangeLower": -1.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": -1.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamEyeBallY",
+ "Smoothing": 8,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Brow Height Left",
+ "Input": "Brows",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": -1.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamBrowLY",
+ "Smoothing": 10,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Brow Height Right",
+ "Input": "Brows",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": -1.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamBrowRY",
+ "Smoothing": 10,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Brow Form Left",
+ "Input": "Brows",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": -1.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamBrowLForm",
+ "Smoothing": 15,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Brow Form Right",
+ "Input": "Brows",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": -1.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamBrowRForm",
+ "Smoothing": 15,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Mouth Smile",
+ "Input": "MouthSmile",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": -1.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamMouthForm",
+ "Smoothing": 0,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Mouth Open",
+ "Input": "MouthOpen",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 0.0,
+ "OutputRangeUpper": 2.0999999046325685,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamMouthOpenY",
+ "Smoothing": 0,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Blush when smiling",
+ "Input": "MouthSmile",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 0.5,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamCheek",
+ "Smoothing": 45,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Body Rotation X",
+ "Input": "FaceAngleX",
+ "InputRangeLower": -30.0,
+ "InputRangeUpper": 30.0,
+ "OutputRangeLower": -10.0,
+ "OutputRangeUpper": 10.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamBodyAngleX",
+ "Smoothing": 20,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Body Rotation Y",
+ "Input": "FaceAngleY",
+ "InputRangeLower": -30.0,
+ "InputRangeUpper": 30.0,
+ "OutputRangeLower": -10.0,
+ "OutputRangeUpper": 10.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamBodyAngleY",
+ "Smoothing": 20,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Body Rotation Z",
+ "Input": "FaceAngleZ",
+ "InputRangeLower": -30.0,
+ "InputRangeUpper": 30.0,
+ "OutputRangeLower": -10.0,
+ "OutputRangeUpper": 10.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": false,
+ "OutputLive2D": "ParamBodyAngleZ",
+ "Smoothing": 20,
+ "Minimized": false
+ },
+ {
+ "Folder": "",
+ "Name": "Auto Breath",
+ "Input": "",
+ "InputRangeLower": 0.0,
+ "InputRangeUpper": 1.0,
+ "OutputRangeLower": 0.0,
+ "OutputRangeUpper": 1.0,
+ "ClampInput": false,
+ "ClampOutput": false,
+ "UseBlinking": false,
+ "UseBreathing": true,
+ "OutputLive2D": "ParamBreath",
+ "Smoothing": 0,
+ "Minimized": false
+ }
+ ],
+ "Hotkeys": [
+ {
+ "HotkeyID": "1250df7e5d1c4727b56b9e0f41e83489",
+ "Name": "3clever",
+ "Action": "ToggleExpression",
+ "File": "3clever.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N3",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 3
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 0.4424874782562256,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "0acd9caf78194f24bcbda620aa91e4bf",
+ "Name": "7keyboard",
+ "Action": "ToggleExpression",
+ "File": "7keyboard.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N7",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 7
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 0.6303577423095703,
+ "g": 0.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "31d2870cecb044d5b9bce360e8929726",
+ "Name": "9+1",
+ "Action": "ToggleExpression",
+ "File": "9.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N9",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 2
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "7218c98650cc4029a7d616af3a2c3262",
+ "Name": "4OAO",
+ "Action": "ToggleExpression",
+ "File": "4OAO.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N4",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 4
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "e2dfbf62822e4bfaa046da8ca50d2bc4",
+ "Name": "8punch",
+ "Action": "ToggleExpression",
+ "File": "8punch.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N8",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 1
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "9e0e50b9ddcc47eb91b731f6a537df69",
+ "Name": "6i gi a ri",
+ "Action": "ToggleExpression",
+ "File": "6i gi a ri.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N6",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 6
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 0.0,
+ "g": 1.0,
+ "b": 0.8449044227600098,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "a8d1f04dedea4e8a813e53f2ac626b08",
+ "Name": "1desk",
+ "Action": "ToggleExpression",
+ "File": "1desk.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N1",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": -1
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "65caea5cca92441f811ea3072c90820f",
+ "Name": "5QAQ",
+ "Action": "ToggleExpression",
+ "File": "5QAQ.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N5",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 5
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "a33139c99e7a49799d521381d2628339",
+ "Name": "2mic",
+ "Action": "ToggleExpression",
+ "File": "2mic.exp3.json",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "N2",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": -1
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ },
+ {
+ "HotkeyID": "ddf1ffbcaf284e0d874a84707401ac70",
+ "Name": "",
+ "Action": "RemoveAllExpressions",
+ "File": "",
+ "Folder": "",
+ "Position": {
+ "X": 0.0,
+ "Y": 0.0,
+ "Z": 0.0,
+ "Rotation": 0.0
+ },
+ "ColorOverlay": {
+ "On": false,
+ "IsStaticColor": false,
+ "Display": -1,
+ "WindowName": "",
+ "IncludeLeft": false,
+ "IncludeMid": false,
+ "IncludeRight": false,
+ "BaseValue": 0,
+ "OverlayValue": 0,
+ "Smoothing": 0,
+ "IncludeItems": false,
+ "StaticColor": {
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 1.0
+ }
+ },
+ "ColorScreenMultiplyPreset": {
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "HandGestureSettings": {
+ "GestureLeft": "",
+ "GestureRight": "",
+ "GestureCombinator": "AND",
+ "AllowMirroredGesture": false,
+ "DeactivateExpWhenGestureNotDetected": false,
+ "SecondsUntilDetection": 0.5,
+ "SecondsDetected": 0.0,
+ "PercentDetected": 0.0
+ },
+ "LoadModelSettings": {
+ "LoadAtCurrentPosition": true
+ },
+ "Triggers": {
+ "Trigger1": "Space",
+ "Trigger2": "",
+ "Trigger3": "",
+ "ScreenButton": 8
+ },
+ "IsGlobal": true,
+ "IsActive": true,
+ "Minimized": false,
+ "StopsOnLastFrame": false,
+ "DeactivateAfterKeyUp": false,
+ "OnlyLoadOneRandomItem": false,
+ "DeactivateAfterSeconds": false,
+ "DeactivateAfterSecondsAmount": 10.0,
+ "FadeSecondsAmount": 0.5,
+ "OnScreenHotkeyColor": {
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ }
+ }
+ ],
+ "HotkeySettings": {
+ "UseOnScreenHotkeys": true,
+ "UseKeyboardHotkeys": true,
+ "SendOnScreenHotkeysToPC": true,
+ "OnScreenHotkeyAlpha": 75
+ },
+ "ArtMeshDetails": {
+ "ArtMeshesExcludedFromPinning": [],
+ "ArtMeshesThatDeleteItemsOnDrop": [],
+ "ArtMeshSceneLightingMultipliers": [],
+ "ArtMeshMultiplyAndScreenColors": []
+ },
+ "ParameterCustomization": {
+ "ParametersExcludedFromVNetSmoothing": []
+ },
+ "PhysicsCustomizationSettings": {
+ "PhysicsMultipliersPerPhysicsGroup": [],
+ "WindMultipliersPerPhysicsGroup": [],
+ "DraggingPhysicsMultipliersPerPhysicsGroup": []
+ },
+ "FolderInfo": {
+ "HotkeyFolders": [],
+ "ConfigItemFolders": []
+ },
+ "SavedActiveExpressions": []
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/ReadMe.txt b/models/hiyori_free_t08/ReadMe.txt
new file mode 100644
index 0000000..c8c4da5
--- /dev/null
+++ b/models/hiyori_free_t08/ReadMe.txt
@@ -0,0 +1,64 @@
+
+============================================================
+
+示例模型
+桃濑日和 - FREE
+
+============================================================
+
+ 该示例是基于Cubism3.0制作的标准模型素材。
+
+ 可用于学习变形器的构造以及参数的使用方法。
+ 模型的肩部应用了新功能【胶水】。
+
+
+------------------------------
+素材使用许可
+------------------------------
+
+ 普通用户以及小规模企业在同意授权协议的情况下可用于商业用途。
+ 中/大规模的企业只能用于非公开的内部试用。
+ 在使用该素材时,请确认以下的【无偿提供素材使用授权协议】中的“授权类型”、“Live2D原创角色”等的相关内容,
+ 并必须接受【Live2D Cubism 示例模型的使用授权要求】中的利用条件。
+
+ 有关许可证的更多信息,请参阅以下页面。
+ https://www.live2d.com/zh-CHS/download/sample-data/
+
+
+------------------------------
+创作者
+------------------------------
+
+ 插画:Kani Biimu
+ 模型:Live2D
+
+
+------------------------------
+素材内容
+------------------------------
+
+ 模型文件(cmo3) ※包含物理模拟的设定
+ 基本动画文件(can3)
+ 嵌入文件组(runtime文件夹)
+ ・模型数据(moc3)
+ ・动作数据(motion3.json)
+ ・模型设定文件(model3.json)
+ ・物理模拟设定文件(physics3.json)
+ ・辅助显示的文件(cdi3.json)
+
+
+------------------------------
+更新记录
+------------------------------
+
+【cmo3】
+
+ hiyori_free_t08
+ 2021年6月10日 公开
+
+
+【can3】
+
+ hiyori_free_t03
+ 2021年6月10日 公开
+
diff --git a/models/hiyori_free_t08/hiyori_free_t08.2048/texture_00.png b/models/hiyori_free_t08/hiyori_free_t08.2048/texture_00.png
new file mode 100644
index 0000000..069111e
Binary files /dev/null and b/models/hiyori_free_t08/hiyori_free_t08.2048/texture_00.png differ
diff --git a/models/hiyori_free_t08/hiyori_free_t08.cdi3.json b/models/hiyori_free_t08/hiyori_free_t08.cdi3.json
new file mode 100644
index 0000000..77e5042
--- /dev/null
+++ b/models/hiyori_free_t08/hiyori_free_t08.cdi3.json
@@ -0,0 +1,276 @@
+{
+ "Version": 3,
+ "Parameters": [
+ {
+ "Id": "ParamAngleX",
+ "GroupId": "ParamGroupFace",
+ "Name": "角度 X"
+ },
+ {
+ "Id": "ParamAngleY",
+ "GroupId": "ParamGroupFace",
+ "Name": "角度 Y"
+ },
+ {
+ "Id": "ParamAngleZ",
+ "GroupId": "ParamGroupFace",
+ "Name": "角度 Z"
+ },
+ {
+ "Id": "ParamCheek",
+ "GroupId": "ParamGroupFace",
+ "Name": "脸颊泛红"
+ },
+ {
+ "Id": "ParamEyeLOpen",
+ "GroupId": "ParamGroupEyes",
+ "Name": "左眼 开闭"
+ },
+ {
+ "Id": "ParamEyeLSmile",
+ "GroupId": "ParamGroupEyes",
+ "Name": "左眼 微笑"
+ },
+ {
+ "Id": "ParamEyeROpen",
+ "GroupId": "ParamGroupEyes",
+ "Name": "右眼 开闭"
+ },
+ {
+ "Id": "ParamEyeRSmile",
+ "GroupId": "ParamGroupEyes",
+ "Name": "右眼 微笑"
+ },
+ {
+ "Id": "ParamEyeBallX",
+ "GroupId": "ParamGroupEyeballs",
+ "Name": "眼珠 X"
+ },
+ {
+ "Id": "ParamEyeBallY",
+ "GroupId": "ParamGroupEyeballs",
+ "Name": "眼珠 Y"
+ },
+ {
+ "Id": "ParamBrowLForm",
+ "GroupId": "ParamGroupBrows",
+ "Name": "左眉 变形"
+ },
+ {
+ "Id": "ParamBrowRForm",
+ "GroupId": "ParamGroupBrows",
+ "Name": "右眉 变形"
+ },
+ {
+ "Id": "ParamMouthForm",
+ "GroupId": "ParamGroupMouth",
+ "Name": "嘴 变形"
+ },
+ {
+ "Id": "ParamMouthOpenY",
+ "GroupId": "ParamGroupMouth",
+ "Name": "嘴 开闭"
+ },
+ {
+ "Id": "ParamBodyAngleX",
+ "GroupId": "ParamGroupBody",
+ "Name": "身体的旋转 X"
+ },
+ {
+ "Id": "ParamBodyAngleY",
+ "GroupId": "ParamGroupBody",
+ "Name": "身体的旋转 Y"
+ },
+ {
+ "Id": "ParamBodyAngleZ",
+ "GroupId": "ParamGroupBody",
+ "Name": "身体的旋转 Z"
+ },
+ {
+ "Id": "ParamBreath",
+ "GroupId": "ParamGroupBody",
+ "Name": "呼吸"
+ },
+ {
+ "Id": "ParamArmLA",
+ "GroupId": "ParamGroupArms",
+ "Name": "左臂 A"
+ },
+ {
+ "Id": "ParamArmRA",
+ "GroupId": "ParamGroupArms",
+ "Name": "右臂 A"
+ },
+ {
+ "Id": "ParamBustY",
+ "GroupId": "ParamGroupSway",
+ "Name": "胸部 摇动"
+ },
+ {
+ "Id": "ParamHairAhoge",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 呆毛"
+ },
+ {
+ "Id": "ParamHairFront",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 前"
+ },
+ {
+ "Id": "ParamHairSide",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 侧"
+ },
+ {
+ "Id": "ParamHairBack",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 后"
+ },
+ {
+ "Id": "ParamHairSideUp",
+ "GroupId": "ParamGroupSway",
+ "Name": "辫子的摇动"
+ },
+ {
+ "Id": "ParamRibbon",
+ "GroupId": "ParamGroupSway",
+ "Name": "蝴蝶结的摇动"
+ },
+ {
+ "Id": "ParamSkirt",
+ "GroupId": "ParamGroupSway",
+ "Name": "短裙的摇动"
+ },
+ {
+ "Id": "ParamSideUpRibbon",
+ "GroupId": "ParamGroupSway",
+ "Name": "发饰的摇动"
+ }
+ ],
+ "ParameterGroups": [
+ {
+ "Id": "ParamGroupFace",
+ "GroupId": "",
+ "Name": "脸"
+ },
+ {
+ "Id": "ParamGroupEyes",
+ "GroupId": "",
+ "Name": "眼睛"
+ },
+ {
+ "Id": "ParamGroupEyeballs",
+ "GroupId": "",
+ "Name": "眼珠"
+ },
+ {
+ "Id": "ParamGroupBrows",
+ "GroupId": "",
+ "Name": "眉毛"
+ },
+ {
+ "Id": "ParamGroupMouth",
+ "GroupId": "",
+ "Name": "嘴"
+ },
+ {
+ "Id": "ParamGroupBody",
+ "GroupId": "",
+ "Name": "身体"
+ },
+ {
+ "Id": "ParamGroupArms",
+ "GroupId": "",
+ "Name": "手臂"
+ },
+ {
+ "Id": "ParamGroupSway",
+ "GroupId": "",
+ "Name": "摇动"
+ }
+ ],
+ "Parts": [
+ {
+ "Id": "PartCore",
+ "Name": "Core"
+ },
+ {
+ "Id": "PartCheek",
+ "Name": "脸颊"
+ },
+ {
+ "Id": "PartBrow",
+ "Name": "眉毛"
+ },
+ {
+ "Id": "PartEye",
+ "Name": "眼睛"
+ },
+ {
+ "Id": "PartNose",
+ "Name": "鼻子"
+ },
+ {
+ "Id": "PartMouth",
+ "Name": "口"
+ },
+ {
+ "Id": "PartFace",
+ "Name": "脸"
+ },
+ {
+ "Id": "PartEar",
+ "Name": "耳朵"
+ },
+ {
+ "Id": "PartHairSide",
+ "Name": "侧发"
+ },
+ {
+ "Id": "PartHairFront",
+ "Name": "前发"
+ },
+ {
+ "Id": "PartHairBack",
+ "Name": "后发"
+ },
+ {
+ "Id": "PartNeck",
+ "Name": "脖子"
+ },
+ {
+ "Id": "PartBody",
+ "Name": "身体"
+ },
+ {
+ "Id": "PartArmA",
+ "Name": "手臂A"
+ },
+ {
+ "Id": "PartBackground",
+ "Name": "背景"
+ },
+ {
+ "Id": "PartSketch",
+ "Name": "[参考图]"
+ },
+ {
+ "Id": "PartEyeBall",
+ "Name": "眼珠"
+ }
+ ],
+ "CombinedParameters": [
+ [
+ "ParamAngleX",
+ "ParamAngleY"
+ ],
+ [
+ "ParamEyeBallX",
+ "ParamEyeBallY"
+ ],
+ [
+ "ParamMouthForm",
+ "ParamMouthOpenY"
+ ]
+ ]
+}
diff --git a/models/hiyori_free_t08/hiyori_free_t08.moc3 b/models/hiyori_free_t08/hiyori_free_t08.moc3
new file mode 100644
index 0000000..f785003
Binary files /dev/null and b/models/hiyori_free_t08/hiyori_free_t08.moc3 differ
diff --git a/models/hiyori_free_t08/hiyori_free_t08.model3.json b/models/hiyori_free_t08/hiyori_free_t08.model3.json
new file mode 100644
index 0000000..3846845
--- /dev/null
+++ b/models/hiyori_free_t08/hiyori_free_t08.model3.json
@@ -0,0 +1,35 @@
+{
+ "Version": 3,
+ "FileReferences": {
+ "Moc": "hiyori_free_t08.moc3",
+ "Textures": [
+ "hiyori_free_t08.2048/texture_00.png"
+ ],
+ "Physics": "hiyori_free_t08.physics3.json",
+ "DisplayInfo": "hiyori_free_t08.cdi3.json",
+ "Motions": {}
+ },
+ "Groups": [
+ {
+ "Target": "Parameter",
+ "Name": "EyeBlink",
+ "Ids": [
+ "ParamEyeLOpen",
+ "ParamEyeROpen"
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Name": "LipSync",
+ "Ids": [
+ "ParamMouthOpenY"
+ ]
+ }
+ ],
+ "HitAreas": [
+ {
+ "Id": "HitArea",
+ "Name": "Body"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/hiyori_free_t08.physics3.json b/models/hiyori_free_t08/hiyori_free_t08.physics3.json
new file mode 100644
index 0000000..30d9b6e
--- /dev/null
+++ b/models/hiyori_free_t08/hiyori_free_t08.physics3.json
@@ -0,0 +1,631 @@
+{
+ "Version": 3,
+ "Meta": {
+ "PhysicsSettingCount": 7,
+ "TotalInputCount": 24,
+ "TotalOutputCount": 7,
+ "VertexCount": 14,
+ "EffectiveForces": {
+ "Gravity": {
+ "X": 0,
+ "Y": -1
+ },
+ "Wind": {
+ "X": 0,
+ "Y": 0
+ }
+ },
+ "PhysicsDictionary": [
+ {
+ "Id": "PhysicsSetting1",
+ "Name": "前髪"
+ },
+ {
+ "Id": "PhysicsSetting2",
+ "Name": "横髪"
+ },
+ {
+ "Id": "PhysicsSetting3",
+ "Name": "後ろ髪"
+ },
+ {
+ "Id": "PhysicsSetting4",
+ "Name": "サイドアップ"
+ },
+ {
+ "Id": "PhysicsSetting5",
+ "Name": "スカート"
+ },
+ {
+ "Id": "PhysicsSetting6",
+ "Name": "リボン 体"
+ },
+ {
+ "Id": "PhysicsSetting7",
+ "Name": "リボン 頭"
+ }
+ ]
+ },
+ "PhysicsSettings": [
+ {
+ "Id": "PhysicsSetting1",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 60,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 60,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "Weight": 40,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "Weight": 40,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamHairFront"
+ },
+ "VertexIndex": 1,
+ "Scale": 1.5,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 3
+ },
+ "Mobility": 0.95,
+ "Delay": 0.9,
+ "Acceleration": 1.5,
+ "Radius": 3
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting2",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 60,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 60,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "Weight": 40,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "Weight": 40,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamHairSide"
+ },
+ "VertexIndex": 1,
+ "Scale": 3,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 15
+ },
+ "Mobility": 0.95,
+ "Delay": 0.8,
+ "Acceleration": 1.5,
+ "Radius": 15
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting3",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 60,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 60,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "Weight": 40,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "Weight": 40,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamHairBack"
+ },
+ "VertexIndex": 1,
+ "Scale": 2.132,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 15
+ },
+ "Mobility": 0.95,
+ "Delay": 0.8,
+ "Acceleration": 1.5,
+ "Radius": 15
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting4",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 60,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 60,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "Weight": 40,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "Weight": 40,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamHairSideUp"
+ },
+ "VertexIndex": 1,
+ "Scale": 2.161,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 15
+ },
+ "Mobility": 0.95,
+ "Delay": 0.8,
+ "Acceleration": 1.5,
+ "Radius": 15
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting5",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamSkirt"
+ },
+ "VertexIndex": 1,
+ "Scale": 1,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.9,
+ "Delay": 0.6,
+ "Acceleration": 1.5,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting6",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "Weight": 100,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamRibbon"
+ },
+ "VertexIndex": 1,
+ "Scale": 1.559,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.9,
+ "Delay": 0.6,
+ "Acceleration": 1.5,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ },
+ {
+ "Id": "PhysicsSetting7",
+ "Input": [
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleX"
+ },
+ "Weight": 60,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ"
+ },
+ "Weight": 60,
+ "Type": "Angle",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX"
+ },
+ "Weight": 40,
+ "Type": "X",
+ "Reflect": false
+ },
+ {
+ "Source": {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ"
+ },
+ "Weight": 40,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Output": [
+ {
+ "Destination": {
+ "Target": "Parameter",
+ "Id": "ParamSideUpRibbon"
+ },
+ "VertexIndex": 1,
+ "Scale": 1.441,
+ "Weight": 100,
+ "Type": "Angle",
+ "Reflect": false
+ }
+ ],
+ "Vertices": [
+ {
+ "Position": {
+ "X": 0,
+ "Y": 0
+ },
+ "Mobility": 1,
+ "Delay": 1,
+ "Acceleration": 1,
+ "Radius": 0
+ },
+ {
+ "Position": {
+ "X": 0,
+ "Y": 10
+ },
+ "Mobility": 0.9,
+ "Delay": 0.6,
+ "Acceleration": 1.5,
+ "Radius": 10
+ }
+ ],
+ "Normalization": {
+ "Position": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ },
+ "Angle": {
+ "Minimum": -10,
+ "Default": 0,
+ "Maximum": 10
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/hiyori_free_t08_old.cdi3.json b/models/hiyori_free_t08/hiyori_free_t08_old.cdi3.json
new file mode 100644
index 0000000..7a6edc7
--- /dev/null
+++ b/models/hiyori_free_t08/hiyori_free_t08_old.cdi3.json
@@ -0,0 +1,276 @@
+{
+ "Version": 3,
+ "Parameters": [
+ {
+ "Id": "ParamAngleX",
+ "GroupId": "ParamGroupFace",
+ "Name": "角度 X"
+ },
+ {
+ "Id": "ParamAngleY",
+ "GroupId": "ParamGroupFace",
+ "Name": "角度 Y"
+ },
+ {
+ "Id": "ParamAngleZ",
+ "GroupId": "ParamGroupFace",
+ "Name": "角度 Z"
+ },
+ {
+ "Id": "ParamCheek",
+ "GroupId": "ParamGroupFace",
+ "Name": "脸颊泛红"
+ },
+ {
+ "Id": "ParamEyeLOpen",
+ "GroupId": "ParamGroupEyes",
+ "Name": "左眼 开闭"
+ },
+ {
+ "Id": "ParamEyeLSmile",
+ "GroupId": "ParamGroupEyes",
+ "Name": "左眼 微笑"
+ },
+ {
+ "Id": "ParamEyeROpen",
+ "GroupId": "ParamGroupEyes",
+ "Name": "右眼 开闭"
+ },
+ {
+ "Id": "ParamEyeRSmile",
+ "GroupId": "ParamGroupEyes",
+ "Name": "右眼 微笑"
+ },
+ {
+ "Id": "ParamEyeBallX",
+ "GroupId": "ParamGroupEyeballs",
+ "Name": "眼珠 X"
+ },
+ {
+ "Id": "ParamEyeBallY",
+ "GroupId": "ParamGroupEyeballs",
+ "Name": "眼珠 Y"
+ },
+ {
+ "Id": "ParamBrowLForm",
+ "GroupId": "ParamGroupBrows",
+ "Name": "左眉 变形"
+ },
+ {
+ "Id": "ParamBrowRForm",
+ "GroupId": "ParamGroupBrows",
+ "Name": "右眉 变形"
+ },
+ {
+ "Id": "ParamMouthForm",
+ "GroupId": "ParamGroupMouth",
+ "Name": "嘴 变形"
+ },
+ {
+ "Id": "ParamMouthOpenY",
+ "GroupId": "ParamGroupMouth",
+ "Name": "嘴 开闭"
+ },
+ {
+ "Id": "ParamBodyAngleX",
+ "GroupId": "ParamGroupBody",
+ "Name": "身体的旋转 X"
+ },
+ {
+ "Id": "ParamBodyAngleY",
+ "GroupId": "ParamGroupBody",
+ "Name": "身体的旋转 Y"
+ },
+ {
+ "Id": "ParamBodyAngleZ",
+ "GroupId": "ParamGroupBody",
+ "Name": "身体的旋转 Z"
+ },
+ {
+ "Id": "ParamBreath",
+ "GroupId": "ParamGroupBody",
+ "Name": "呼吸"
+ },
+ {
+ "Id": "ParamArmLA",
+ "GroupId": "ParamGroupArms",
+ "Name": "左臂 A"
+ },
+ {
+ "Id": "ParamArmRA",
+ "GroupId": "ParamGroupArms",
+ "Name": "右臂 A"
+ },
+ {
+ "Id": "ParamBustY",
+ "GroupId": "ParamGroupSway",
+ "Name": "胸部 摇动"
+ },
+ {
+ "Id": "ParamHairAhoge",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 呆毛"
+ },
+ {
+ "Id": "ParamHairFront",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 前"
+ },
+ {
+ "Id": "ParamHairSide",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 侧"
+ },
+ {
+ "Id": "ParamHairBack",
+ "GroupId": "ParamGroupSway",
+ "Name": "头发摇动 后"
+ },
+ {
+ "Id": "ParamHairSideUp",
+ "GroupId": "ParamGroupSway",
+ "Name": "辫子的摇动"
+ },
+ {
+ "Id": "ParamRibbon",
+ "GroupId": "ParamGroupSway",
+ "Name": "蝴蝶结的摇动"
+ },
+ {
+ "Id": "ParamSkirt",
+ "GroupId": "ParamGroupSway",
+ "Name": "短裙的摇动"
+ },
+ {
+ "Id": "ParamSideUpRibbon",
+ "GroupId": "ParamGroupSway",
+ "Name": "发饰的摇动"
+ }
+ ],
+ "ParameterGroups": [
+ {
+ "Id": "ParamGroupFace",
+ "GroupId": "",
+ "Name": "脸"
+ },
+ {
+ "Id": "ParamGroupEyes",
+ "GroupId": "",
+ "Name": "眼睛"
+ },
+ {
+ "Id": "ParamGroupEyeballs",
+ "GroupId": "",
+ "Name": "眼珠"
+ },
+ {
+ "Id": "ParamGroupBrows",
+ "GroupId": "",
+ "Name": "眉毛"
+ },
+ {
+ "Id": "ParamGroupMouth",
+ "GroupId": "",
+ "Name": "嘴"
+ },
+ {
+ "Id": "ParamGroupBody",
+ "GroupId": "",
+ "Name": "身体"
+ },
+ {
+ "Id": "ParamGroupArms",
+ "GroupId": "",
+ "Name": "手臂"
+ },
+ {
+ "Id": "ParamGroupSway",
+ "GroupId": "",
+ "Name": "摇动"
+ }
+ ],
+ "Parts": [
+ {
+ "Id": "PartCore",
+ "Name": "Core"
+ },
+ {
+ "Id": "PartCheek",
+ "Name": "脸颊"
+ },
+ {
+ "Id": "PartBrow",
+ "Name": "眉毛"
+ },
+ {
+ "Id": "PartEye",
+ "Name": "眼睛"
+ },
+ {
+ "Id": "PartNose",
+ "Name": "鼻子"
+ },
+ {
+ "Id": "PartMouth",
+ "Name": "口"
+ },
+ {
+ "Id": "PartFace",
+ "Name": "脸"
+ },
+ {
+ "Id": "PartEar",
+ "Name": "耳朵"
+ },
+ {
+ "Id": "PartHairSide",
+ "Name": "侧发"
+ },
+ {
+ "Id": "PartHairFront",
+ "Name": "前发"
+ },
+ {
+ "Id": "PartHairBack",
+ "Name": "后发"
+ },
+ {
+ "Id": "PartNeck",
+ "Name": "脖子"
+ },
+ {
+ "Id": "PartBody",
+ "Name": "身体"
+ },
+ {
+ "Id": "PartArmA",
+ "Name": "手臂A"
+ },
+ {
+ "Id": "PartBackground",
+ "Name": "背景"
+ },
+ {
+ "Id": "PartSketch",
+ "Name": "[参考图]"
+ },
+ {
+ "Id": "PartEyeBall",
+ "Name": "眼珠"
+ }
+ ],
+ "CombinedParameters": [
+ [
+ "ParamAngleX",
+ "ParamAngleY"
+ ],
+ [
+ "ParamEyeBallX",
+ "ParamEyeBallY"
+ ],
+ [
+ "ParamMouthForm",
+ "ParamMouthOpenY"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/icon.jpg b/models/hiyori_free_t08/icon.jpg
new file mode 100644
index 0000000..2f48310
Binary files /dev/null and b/models/hiyori_free_t08/icon.jpg differ
diff --git a/models/hiyori_free_t08/motion/hiyori_m01.motion3.json b/models/hiyori_free_t08/motion/hiyori_m01.motion3.json
new file mode 100644
index 0000000..a7cbae1
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m01.motion3.json
@@ -0,0 +1,951 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 4.7,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 121,
+ "TotalPointCount": 341,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ -8,
+ 1,
+ 0.067,
+ -8,
+ 0.133,
+ -8,
+ 0.2,
+ -8,
+ 1,
+ 0.278,
+ -8,
+ 0.356,
+ -8,
+ 0.433,
+ -8,
+ 1,
+ 0.556,
+ -8,
+ 0.678,
+ -8,
+ 0.8,
+ -8,
+ 1,
+ 0.956,
+ -8,
+ 1.111,
+ -8,
+ 1.267,
+ -8,
+ 1,
+ 1.522,
+ -8,
+ 1.778,
+ 0,
+ 2.033,
+ 0,
+ 1,
+ 2.122,
+ 0,
+ 2.211,
+ 0,
+ 2.3,
+ 0,
+ 1,
+ 2.556,
+ 0,
+ 2.811,
+ 9,
+ 3.067,
+ 9,
+ 1,
+ 3.356,
+ 9,
+ 3.644,
+ 0,
+ 3.933,
+ 0,
+ 1,
+ 4.067,
+ 0,
+ 4.2,
+ 1,
+ 4.333,
+ 1,
+ 0,
+ 4.7,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ -5,
+ 1,
+ 0.067,
+ -5,
+ 0.133,
+ -5,
+ 0.2,
+ -5,
+ 1,
+ 0.322,
+ -5,
+ 0.444,
+ 16,
+ 0.567,
+ 16,
+ 1,
+ 0.711,
+ 16,
+ 0.856,
+ -12,
+ 1,
+ -12,
+ 1,
+ 1.089,
+ -12,
+ 1.178,
+ 11,
+ 1.267,
+ 11,
+ 1,
+ 1.356,
+ 11,
+ 1.444,
+ 9.376,
+ 1.533,
+ 3,
+ 1,
+ 1.611,
+ -2.579,
+ 1.689,
+ -8,
+ 1.767,
+ -8,
+ 1,
+ 1.856,
+ -8,
+ 1.944,
+ 0,
+ 2.033,
+ 0,
+ 1,
+ 2.122,
+ 0,
+ 2.211,
+ 0,
+ 2.3,
+ 0,
+ 1,
+ 2.578,
+ 0,
+ 2.856,
+ -30,
+ 3.133,
+ -30,
+ 1,
+ 3.278,
+ -30,
+ 3.422,
+ 15,
+ 3.567,
+ 15,
+ 1,
+ 3.689,
+ 15,
+ 3.811,
+ -9,
+ 3.933,
+ -9,
+ 0,
+ 4.7,
+ -9
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ 0,
+ 0.433,
+ 0,
+ 1,
+ 0.711,
+ 0,
+ 0.989,
+ 0,
+ 1.267,
+ 0,
+ 1,
+ 1.522,
+ 0,
+ 1.778,
+ 14,
+ 2.033,
+ 14,
+ 1,
+ 2.178,
+ 14,
+ 2.322,
+ 14,
+ 2.467,
+ 14,
+ 1,
+ 2.8,
+ 14,
+ 3.133,
+ 16,
+ 3.467,
+ 16,
+ 1,
+ 3.633,
+ 16,
+ 3.8,
+ -13,
+ 3.967,
+ -13,
+ 1,
+ 4.111,
+ -13,
+ 4.256,
+ -11.207,
+ 4.4,
+ -11.207,
+ 0,
+ 4.7,
+ -11.207
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.556,
+ 1,
+ 1.111,
+ 1,
+ 1.667,
+ 1,
+ 1,
+ 1.711,
+ 1,
+ 1.756,
+ 0,
+ 1.8,
+ 0,
+ 1,
+ 1.822,
+ 0,
+ 1.844,
+ 0,
+ 1.867,
+ 0,
+ 1,
+ 1.911,
+ 0,
+ 1.956,
+ 1,
+ 2,
+ 1,
+ 1,
+ 2.489,
+ 1,
+ 2.978,
+ 1,
+ 3.467,
+ 1,
+ 1,
+ 3.511,
+ 1,
+ 3.556,
+ 0,
+ 3.6,
+ 0,
+ 1,
+ 3.622,
+ 0,
+ 3.644,
+ 0,
+ 3.667,
+ 0,
+ 1,
+ 3.733,
+ 0,
+ 3.8,
+ 1,
+ 3.867,
+ 1,
+ 0,
+ 4.7,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.556,
+ 1,
+ 1.111,
+ 1,
+ 1.667,
+ 1,
+ 1,
+ 1.711,
+ 1,
+ 1.756,
+ 0,
+ 1.8,
+ 0,
+ 1,
+ 1.822,
+ 0,
+ 1.844,
+ 0,
+ 1.867,
+ 0,
+ 1,
+ 1.911,
+ 0,
+ 1.956,
+ 1,
+ 2,
+ 1,
+ 1,
+ 2.489,
+ 1,
+ 2.978,
+ 1,
+ 3.467,
+ 1,
+ 1,
+ 3.511,
+ 1,
+ 3.556,
+ 0,
+ 3.6,
+ 0,
+ 1,
+ 3.622,
+ 0,
+ 3.644,
+ 0,
+ 3.667,
+ 0,
+ 1,
+ 3.733,
+ 0,
+ 3.8,
+ 1,
+ 3.867,
+ 1,
+ 0,
+ 4.7,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.156,
+ 0,
+ 0.311,
+ -0.02,
+ 0.467,
+ -0.02,
+ 1,
+ 0.578,
+ -0.02,
+ 0.689,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 1.056,
+ 0,
+ 1.311,
+ 0,
+ 1.567,
+ 0,
+ 1,
+ 1.767,
+ 0,
+ 1.967,
+ -0.131,
+ 2.167,
+ -0.15,
+ 1,
+ 2.644,
+ -0.195,
+ 3.122,
+ -0.2,
+ 3.6,
+ -0.2,
+ 1,
+ 3.622,
+ -0.2,
+ 3.644,
+ 0.803,
+ 3.667,
+ 0.803,
+ 0,
+ 4.7,
+ 0.803
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.156,
+ 0,
+ 0.311,
+ 0.01,
+ 0.467,
+ 0.08,
+ 1,
+ 0.578,
+ 0.13,
+ 0.689,
+ 0.21,
+ 0.8,
+ 0.21,
+ 1,
+ 1.056,
+ 0.21,
+ 1.311,
+ 0.21,
+ 1.567,
+ 0.21,
+ 1,
+ 1.767,
+ 0.21,
+ 1.967,
+ 0.08,
+ 2.167,
+ 0.08,
+ 1,
+ 2.644,
+ 0.08,
+ 3.122,
+ 0.086,
+ 3.6,
+ 0.1,
+ 1,
+ 3.622,
+ 0.101,
+ 3.644,
+ 0.794,
+ 3.667,
+ 0.794,
+ 0,
+ 4.7,
+ 0.794
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 4.7,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ -6,
+ 1,
+ 0.856,
+ -6,
+ 1.711,
+ 1,
+ 2.567,
+ 1,
+ 1,
+ 2.789,
+ 1,
+ 3.011,
+ 1.145,
+ 3.233,
+ 0,
+ 1,
+ 3.467,
+ -1.202,
+ 3.7,
+ -6,
+ 3.933,
+ -6,
+ 0,
+ 4.7,
+ -6
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ 7,
+ 0.433,
+ 7,
+ 1,
+ 0.611,
+ 7,
+ 0.789,
+ -4,
+ 0.967,
+ -4,
+ 1,
+ 1.078,
+ -4,
+ 1.189,
+ 6,
+ 1.3,
+ 6,
+ 1,
+ 1.433,
+ 6,
+ 1.567,
+ -3,
+ 1.7,
+ -3,
+ 1,
+ 1.789,
+ -3,
+ 1.878,
+ -1.459,
+ 1.967,
+ 0,
+ 1,
+ 2.067,
+ 1.642,
+ 2.167,
+ 3.47,
+ 2.267,
+ 4,
+ 1,
+ 2.367,
+ 4.53,
+ 2.467,
+ 4.312,
+ 2.567,
+ 5,
+ 1,
+ 2.889,
+ 7.215,
+ 3.211,
+ 10,
+ 3.533,
+ 10,
+ 1,
+ 3.667,
+ 10,
+ 3.8,
+ 0,
+ 3.933,
+ 0,
+ 1,
+ 4.067,
+ 0,
+ 4.2,
+ 0,
+ 4.333,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.822,
+ 0,
+ 1.644,
+ 0,
+ 2.467,
+ 0,
+ 1,
+ 2.722,
+ 0,
+ 2.978,
+ 5,
+ 3.233,
+ 5,
+ 1,
+ 3.489,
+ 5,
+ 3.744,
+ -5,
+ 4,
+ -5,
+ 1,
+ 4.156,
+ -5,
+ 4.311,
+ -3.976,
+ 4.467,
+ -3.976,
+ 0,
+ 4.7,
+ -3.976
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ -10,
+ 1,
+ 0.178,
+ -10,
+ 0.356,
+ -7,
+ 0.533,
+ -7,
+ 1,
+ 0.7,
+ -7,
+ 0.867,
+ -10,
+ 1.033,
+ -10,
+ 1,
+ 1.2,
+ -10,
+ 1.367,
+ -8,
+ 1.533,
+ -8,
+ 1,
+ 1.611,
+ -8,
+ 1.689,
+ -8.746,
+ 1.767,
+ -9,
+ 1,
+ 2.011,
+ -9.797,
+ 2.256,
+ -10,
+ 2.5,
+ -10,
+ 1,
+ 2.556,
+ -10,
+ 2.611,
+ -10,
+ 2.667,
+ -10,
+ 1,
+ 2.789,
+ -10,
+ 2.911,
+ -10,
+ 3.033,
+ -10,
+ 0,
+ 4.7,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ -10,
+ 1,
+ 0.178,
+ -10,
+ 0.356,
+ -7,
+ 0.533,
+ -7,
+ 1,
+ 0.7,
+ -7,
+ 0.867,
+ -10,
+ 1.033,
+ -10,
+ 1,
+ 1.2,
+ -10,
+ 1.367,
+ -6,
+ 1.533,
+ -6,
+ 1,
+ 1.611,
+ -6,
+ 1.689,
+ -6.903,
+ 1.767,
+ -7.5,
+ 1,
+ 2.011,
+ -9.377,
+ 2.256,
+ -10,
+ 2.5,
+ -10,
+ 1,
+ 2.567,
+ -10,
+ 2.633,
+ -8.958,
+ 2.7,
+ -8.958,
+ 1,
+ 2.811,
+ -8.958,
+ 2.922,
+ -10,
+ 3.033,
+ -10,
+ 0,
+ 4.7,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.144,
+ 0,
+ 0.289,
+ 10,
+ 0.433,
+ 10,
+ 1,
+ 0.578,
+ 10,
+ 0.722,
+ -10,
+ 0.867,
+ -10,
+ 1,
+ 0.989,
+ -10,
+ 1.111,
+ 4,
+ 1.233,
+ 4,
+ 1,
+ 1.322,
+ 4,
+ 1.411,
+ 2.767,
+ 1.5,
+ 0,
+ 1,
+ 1.611,
+ -3.459,
+ 1.722,
+ -5.351,
+ 1.833,
+ -5.351,
+ 1,
+ 1.922,
+ -5.351,
+ 2.011,
+ 1.661,
+ 2.1,
+ 1.661,
+ 1,
+ 2.233,
+ 1.661,
+ 2.367,
+ 0,
+ 2.5,
+ 0,
+ 1,
+ 2.867,
+ 0,
+ 3.233,
+ 10,
+ 3.6,
+ 10,
+ 1,
+ 3.722,
+ 10,
+ 3.844,
+ -10,
+ 3.967,
+ -10,
+ 1,
+ 4.078,
+ -10,
+ 4.189,
+ 6,
+ 4.3,
+ 6,
+ 1,
+ 4.356,
+ 6,
+ 4.411,
+ 0,
+ 4.467,
+ 0,
+ 0,
+ 4.7,
+ 0
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 4.7,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/motion/hiyori_m02.motion3.json b/models/hiyori_free_t08/motion/hiyori_m02.motion3.json
new file mode 100644
index 0000000..f1311ee
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m02.motion3.json
@@ -0,0 +1,1238 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 5.93,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 162,
+ "TotalPointCount": 464,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ 18,
+ 1,
+ 0.211,
+ 18,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.889,
+ 0,
+ 1.144,
+ 22,
+ 1.4,
+ 22,
+ 1,
+ 1.578,
+ 22,
+ 1.756,
+ 22,
+ 1.933,
+ 22,
+ 1,
+ 2.1,
+ 22,
+ 2.267,
+ 14.992,
+ 2.433,
+ 0,
+ 1,
+ 2.6,
+ -14.992,
+ 2.767,
+ -23,
+ 2.933,
+ -23,
+ 1,
+ 3.244,
+ -23,
+ 3.556,
+ -23,
+ 3.867,
+ -23,
+ 1,
+ 4.078,
+ -23,
+ 4.289,
+ 0,
+ 4.5,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ -24,
+ 1,
+ 0.211,
+ -24,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.889,
+ 0,
+ 1.144,
+ -18,
+ 1.4,
+ -18,
+ 1,
+ 1.522,
+ -18,
+ 1.644,
+ -11,
+ 1.767,
+ -11,
+ 1,
+ 1.822,
+ -11,
+ 1.878,
+ -11,
+ 1.933,
+ -11,
+ 1,
+ 2.1,
+ -11,
+ 2.267,
+ -3,
+ 2.433,
+ -3,
+ 1,
+ 2.6,
+ -3,
+ 2.767,
+ -30,
+ 2.933,
+ -30,
+ 1,
+ 3.133,
+ -30,
+ 3.333,
+ -23,
+ 3.533,
+ -23,
+ 1,
+ 3.644,
+ -23,
+ 3.756,
+ -23,
+ 3.867,
+ -23,
+ 1,
+ 3.911,
+ -23,
+ 3.956,
+ -23,
+ 4,
+ -23,
+ 1,
+ 4.167,
+ -23,
+ 4.333,
+ 0,
+ 4.5,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.222,
+ 0,
+ 0.444,
+ 0,
+ 0.667,
+ 0,
+ 1,
+ 0.756,
+ 0,
+ 0.844,
+ 1.707,
+ 0.933,
+ 8,
+ 1,
+ 1.122,
+ 21.373,
+ 1.311,
+ 30,
+ 1.5,
+ 30,
+ 1,
+ 1.656,
+ 30,
+ 1.811,
+ 30,
+ 1.967,
+ 30,
+ 1,
+ 2.289,
+ 30,
+ 2.611,
+ -30,
+ 2.933,
+ -30,
+ 1,
+ 3.244,
+ -30,
+ 3.556,
+ -30,
+ 3.867,
+ -30,
+ 1,
+ 4.078,
+ -30,
+ 4.289,
+ -21.337,
+ 4.5,
+ 1,
+ 1,
+ 4.578,
+ 9.23,
+ 4.656,
+ 17,
+ 4.733,
+ 17,
+ 0,
+ 5.933,
+ 17
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 5.933,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.333,
+ 1,
+ 0.667,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1.044,
+ 1,
+ 1.089,
+ 0,
+ 1.133,
+ 0,
+ 1,
+ 1.156,
+ 0,
+ 1.178,
+ 0,
+ 1.2,
+ 0,
+ 1,
+ 1.256,
+ 0,
+ 1.311,
+ 1,
+ 1.367,
+ 1,
+ 1,
+ 1.833,
+ 1,
+ 2.3,
+ 1,
+ 2.767,
+ 1,
+ 1,
+ 2.867,
+ 1,
+ 2.967,
+ 1.2,
+ 3.067,
+ 1.2,
+ 1,
+ 3.233,
+ 1.2,
+ 3.4,
+ 1,
+ 3.567,
+ 1,
+ 1,
+ 3.689,
+ 1,
+ 3.811,
+ 1,
+ 3.933,
+ 1,
+ 1,
+ 3.978,
+ 1,
+ 4.022,
+ 0,
+ 4.067,
+ 0,
+ 1,
+ 4.089,
+ 0,
+ 4.111,
+ 0,
+ 4.133,
+ 0,
+ 1,
+ 4.189,
+ 0,
+ 4.244,
+ 1,
+ 4.3,
+ 1,
+ 1,
+ 4.4,
+ 1,
+ 4.5,
+ 1,
+ 4.6,
+ 1,
+ 1,
+ 4.633,
+ 1,
+ 4.667,
+ 0,
+ 4.7,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0.63,
+ 1,
+ 1.433,
+ 0.63,
+ 2.867,
+ 0.6,
+ 4.3,
+ 0.6,
+ 1,
+ 4.4,
+ 0.6,
+ 4.5,
+ 0.771,
+ 4.6,
+ 0.771,
+ 0,
+ 5.933,
+ 0.771
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.333,
+ 1,
+ 0.667,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1.044,
+ 1,
+ 1.089,
+ 0,
+ 1.133,
+ 0,
+ 1,
+ 1.156,
+ 0,
+ 1.178,
+ 0,
+ 1.2,
+ 0,
+ 1,
+ 1.256,
+ 0,
+ 1.311,
+ 1,
+ 1.367,
+ 1,
+ 1,
+ 1.833,
+ 1,
+ 2.3,
+ 1,
+ 2.767,
+ 1,
+ 1,
+ 2.867,
+ 1,
+ 2.967,
+ 1.2,
+ 3.067,
+ 1.2,
+ 1,
+ 3.233,
+ 1.2,
+ 3.4,
+ 1,
+ 3.567,
+ 1,
+ 1,
+ 3.689,
+ 1,
+ 3.811,
+ 1,
+ 3.933,
+ 1,
+ 1,
+ 3.978,
+ 1,
+ 4.022,
+ 0,
+ 4.067,
+ 0,
+ 1,
+ 4.089,
+ 0,
+ 4.111,
+ 0,
+ 4.133,
+ 0,
+ 1,
+ 4.189,
+ 0,
+ 4.244,
+ 1,
+ 4.3,
+ 1,
+ 1,
+ 4.4,
+ 1,
+ 4.5,
+ 1,
+ 4.6,
+ 1,
+ 1,
+ 4.633,
+ 1,
+ 4.667,
+ 0,
+ 4.7,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0.63,
+ 1,
+ 1.433,
+ 0.63,
+ 2.867,
+ 0.6,
+ 4.3,
+ 0.6,
+ 1,
+ 4.4,
+ 0.6,
+ 4.5,
+ 0.76,
+ 4.6,
+ 0.76,
+ 0,
+ 5.933,
+ 0.76
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ -0.002,
+ 1,
+ 0.211,
+ -0.002,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.889,
+ 0,
+ 1.144,
+ -0.31,
+ 1.4,
+ -0.31,
+ 1,
+ 1.578,
+ -0.31,
+ 1.756,
+ -0.31,
+ 1.933,
+ -0.31,
+ 1,
+ 2.233,
+ -0.31,
+ 2.533,
+ 0.67,
+ 2.833,
+ 0.67,
+ 1,
+ 3.144,
+ 0.67,
+ 3.456,
+ 0.67,
+ 3.767,
+ 0.67,
+ 1,
+ 4.011,
+ 0.67,
+ 4.256,
+ 0,
+ 4.5,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.211,
+ 0,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.889,
+ 0,
+ 1.144,
+ 0.38,
+ 1.4,
+ 0.38,
+ 1,
+ 1.578,
+ 0.38,
+ 1.756,
+ 0.38,
+ 1.933,
+ 0.38,
+ 1,
+ 2.233,
+ 0.38,
+ 2.533,
+ 0.46,
+ 2.833,
+ 0.46,
+ 1,
+ 3.144,
+ 0.46,
+ 3.456,
+ 0.46,
+ 3.767,
+ 0.46,
+ 1,
+ 4.011,
+ 0.46,
+ 4.256,
+ 0,
+ 4.5,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 1.5,
+ 0,
+ 3,
+ 0.006,
+ 4.5,
+ 0.021,
+ 1,
+ 4.589,
+ 0.022,
+ 4.678,
+ 0.667,
+ 4.767,
+ 0.667,
+ 0,
+ 5.933,
+ 0.667
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 1.5,
+ 0,
+ 3,
+ 0,
+ 4.5,
+ 0,
+ 1,
+ 4.589,
+ 0,
+ 4.678,
+ 0.646,
+ 4.767,
+ 0.646,
+ 0,
+ 5.933,
+ 0.646
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ -1,
+ 1,
+ 1.433,
+ -1,
+ 2.867,
+ -1,
+ 4.3,
+ -1,
+ 1,
+ 4.367,
+ -1,
+ 4.433,
+ 1,
+ 4.5,
+ 1,
+ 0,
+ 5.933,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 1.433,
+ 1,
+ 2.867,
+ 1,
+ 4.3,
+ 1,
+ 1,
+ 4.367,
+ 1,
+ 4.433,
+ 0,
+ 4.5,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ 7,
+ 1,
+ 0.244,
+ 7,
+ 0.489,
+ 0,
+ 0.733,
+ 0,
+ 1,
+ 0.778,
+ 0,
+ 0.822,
+ 0.667,
+ 0.867,
+ 2,
+ 1,
+ 1.044,
+ 7.333,
+ 1.222,
+ 10,
+ 1.4,
+ 10,
+ 1,
+ 1.533,
+ 10,
+ 1.667,
+ 10,
+ 1.8,
+ 10,
+ 1,
+ 2.178,
+ 10,
+ 2.556,
+ 6,
+ 2.933,
+ 6,
+ 1,
+ 3.244,
+ 6,
+ 3.556,
+ 6,
+ 3.867,
+ 6,
+ 1,
+ 4.189,
+ 6,
+ 4.511,
+ 0,
+ 4.833,
+ 0,
+ 1,
+ 4.956,
+ 0,
+ 5.078,
+ 1.192,
+ 5.2,
+ 1.192,
+ 1,
+ 5.322,
+ 1.192,
+ 5.444,
+ 0.013,
+ 5.567,
+ 0.013,
+ 0,
+ 5.933,
+ 0.013
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.211,
+ 0,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.667,
+ 0,
+ 0.7,
+ 0,
+ 0.733,
+ 0,
+ 1,
+ 1.133,
+ 0,
+ 1.533,
+ 0,
+ 1.933,
+ 0,
+ 1,
+ 2.078,
+ 0,
+ 2.222,
+ 4,
+ 2.367,
+ 4,
+ 1,
+ 2.556,
+ 4,
+ 2.744,
+ -2.18,
+ 2.933,
+ -2.18,
+ 1,
+ 3.022,
+ -2.18,
+ 3.111,
+ 0,
+ 3.2,
+ 0,
+ 1,
+ 3.456,
+ 0,
+ 3.711,
+ -1,
+ 3.967,
+ -1,
+ 1,
+ 4.067,
+ -1,
+ 4.167,
+ -1.018,
+ 4.267,
+ 0,
+ 1,
+ 4.333,
+ 0.679,
+ 4.4,
+ 10,
+ 4.467,
+ 10,
+ 1,
+ 4.567,
+ 10,
+ 4.667,
+ -5,
+ 4.767,
+ -5,
+ 1,
+ 4.889,
+ -5,
+ 5.011,
+ 0,
+ 5.133,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.233,
+ 0,
+ 0.467,
+ 0,
+ 0.7,
+ 0,
+ 1,
+ 0.733,
+ 0,
+ 0.767,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 1.278,
+ 0,
+ 1.756,
+ -4,
+ 2.233,
+ -4,
+ 1,
+ 2.544,
+ -4,
+ 2.856,
+ 8,
+ 3.167,
+ 8,
+ 1,
+ 3.4,
+ 8,
+ 3.633,
+ 8.008,
+ 3.867,
+ 7.985,
+ 1,
+ 4.178,
+ 7.954,
+ 4.489,
+ -3,
+ 4.8,
+ -3,
+ 0,
+ 5.933,
+ -3
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.122,
+ 0,
+ 0.244,
+ 1,
+ 0.367,
+ 1,
+ 1,
+ 0.511,
+ 1,
+ 0.656,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 1.022,
+ 0,
+ 1.244,
+ 1,
+ 1.467,
+ 1,
+ 1,
+ 1.689,
+ 1,
+ 1.911,
+ 0,
+ 2.133,
+ 0,
+ 1,
+ 2.344,
+ 0,
+ 2.556,
+ 1,
+ 2.767,
+ 1,
+ 1,
+ 2.967,
+ 1,
+ 3.167,
+ 0,
+ 3.367,
+ 0,
+ 1,
+ 3.578,
+ 0,
+ 3.789,
+ 1,
+ 4,
+ 1,
+ 1,
+ 4.233,
+ 1,
+ 4.467,
+ 0,
+ 4.7,
+ 0,
+ 1,
+ 4.9,
+ 0,
+ 5.1,
+ 0,
+ 5.3,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ -8.7,
+ 1,
+ 0.289,
+ -8.7,
+ 0.578,
+ -8.7,
+ 0.867,
+ -8.7,
+ 1,
+ 1,
+ -8.7,
+ 1.133,
+ -10,
+ 1.267,
+ -10,
+ 1,
+ 1.578,
+ -10,
+ 1.889,
+ -10,
+ 2.2,
+ -10,
+ 1,
+ 2.444,
+ -10,
+ 2.689,
+ -6.9,
+ 2.933,
+ -6.9,
+ 1,
+ 3.244,
+ -6.9,
+ 3.556,
+ -6.9,
+ 3.867,
+ -6.9,
+ 1,
+ 3.989,
+ -6.9,
+ 4.111,
+ -8.3,
+ 4.233,
+ -8.3,
+ 1,
+ 4.344,
+ -8.3,
+ 4.456,
+ -3,
+ 4.567,
+ -3,
+ 1,
+ 4.689,
+ -3,
+ 4.811,
+ -4,
+ 4.933,
+ -4,
+ 1,
+ 5.1,
+ -4,
+ 5.267,
+ -3,
+ 5.433,
+ -3,
+ 0,
+ 5.933,
+ -3
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ -8.7,
+ 1,
+ 0.289,
+ -8.7,
+ 0.578,
+ -8.7,
+ 0.867,
+ -8.7,
+ 1,
+ 1,
+ -8.7,
+ 1.133,
+ -10,
+ 1.267,
+ -10,
+ 1,
+ 1.578,
+ -10,
+ 1.889,
+ -10,
+ 2.2,
+ -10,
+ 1,
+ 2.444,
+ -10,
+ 2.689,
+ -10,
+ 2.933,
+ -10,
+ 1,
+ 3.244,
+ -10,
+ 3.556,
+ -10,
+ 3.867,
+ -10,
+ 1,
+ 3.989,
+ -10,
+ 4.111,
+ -9.998,
+ 4.233,
+ -7.8,
+ 1,
+ 4.344,
+ -5.802,
+ 4.456,
+ 0.03,
+ 4.567,
+ 0.03,
+ 1,
+ 4.689,
+ 0.03,
+ 4.811,
+ -1,
+ 4.933,
+ -1,
+ 1,
+ 5.122,
+ -1,
+ 5.311,
+ -0.002,
+ 5.5,
+ -0.002,
+ 0,
+ 5.933,
+ -0.002
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.333,
+ 0,
+ 0.667,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1.133,
+ 0,
+ 1.267,
+ 10,
+ 1.4,
+ 10,
+ 1,
+ 1.489,
+ 10,
+ 1.578,
+ 2.177,
+ 1.667,
+ 2.177,
+ 1,
+ 1.789,
+ 2.177,
+ 1.911,
+ 10,
+ 2.033,
+ 10,
+ 1,
+ 2.289,
+ 10,
+ 2.544,
+ -10,
+ 2.8,
+ -10,
+ 1,
+ 2.933,
+ -10,
+ 3.067,
+ 7.54,
+ 3.2,
+ 7.54,
+ 1,
+ 3.344,
+ 7.54,
+ 3.489,
+ 0,
+ 3.633,
+ 0,
+ 1,
+ 3.911,
+ 0,
+ 4.189,
+ 0,
+ 4.467,
+ 0,
+ 1,
+ 4.6,
+ 0,
+ 4.733,
+ 10,
+ 4.867,
+ 10,
+ 1,
+ 4.989,
+ 10,
+ 5.111,
+ -10,
+ 5.233,
+ -10,
+ 1,
+ 5.322,
+ -10,
+ 5.411,
+ 3.456,
+ 5.5,
+ 3.456,
+ 1,
+ 5.556,
+ 3.456,
+ 5.611,
+ 0,
+ 5.667,
+ 0,
+ 0,
+ 5.933,
+ 0
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 5.93,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/motion/hiyori_m03.motion3.json b/models/hiyori_free_t08/motion/hiyori_m03.motion3.json
new file mode 100644
index 0000000..3dff136
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m03.motion3.json
@@ -0,0 +1,1035 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 4.2,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 133,
+ "TotalPointCount": 377,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.389,
+ 0,
+ 0.611,
+ 0,
+ 0.833,
+ 0,
+ 1,
+ 0.933,
+ 0,
+ 1.033,
+ 0,
+ 1.133,
+ 0,
+ 1,
+ 1.311,
+ 0,
+ 1.489,
+ 0,
+ 1.667,
+ 0,
+ 1,
+ 1.778,
+ 0,
+ 1.889,
+ -0.268,
+ 2,
+ -1,
+ 1,
+ 2.089,
+ -1.585,
+ 2.178,
+ -2,
+ 2.267,
+ -2,
+ 0,
+ 4.2,
+ -2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.3,
+ 0,
+ 0.433,
+ -18,
+ 0.567,
+ -18,
+ 1,
+ 0.656,
+ -18,
+ 0.744,
+ 8,
+ 0.833,
+ 8,
+ 1,
+ 0.933,
+ 8,
+ 1.033,
+ -8,
+ 1.133,
+ -8,
+ 1,
+ 1.311,
+ -8,
+ 1.489,
+ 10,
+ 1.667,
+ 10,
+ 1,
+ 1.778,
+ 10,
+ 1.889,
+ -21,
+ 2,
+ -21,
+ 1,
+ 2.089,
+ -21,
+ 2.178,
+ -3,
+ 2.267,
+ -3,
+ 0,
+ 4.2,
+ -3
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.289,
+ 0,
+ 0.411,
+ -1,
+ 0.533,
+ -1,
+ 1,
+ 0.722,
+ -1,
+ 0.911,
+ 17,
+ 1.1,
+ 17,
+ 1,
+ 1.411,
+ 17,
+ 1.722,
+ -22,
+ 2.033,
+ -22,
+ 1,
+ 2.244,
+ -22,
+ 2.456,
+ 11,
+ 2.667,
+ 11,
+ 0,
+ 4.2,
+ 11
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.056,
+ 1,
+ 0.111,
+ 1,
+ 0.167,
+ 1,
+ 1,
+ 0.2,
+ 1,
+ 0.233,
+ 1,
+ 0.267,
+ 1,
+ 1,
+ 0.322,
+ 1,
+ 0.378,
+ 0,
+ 0.433,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.522,
+ 0,
+ 0.567,
+ 0,
+ 1,
+ 0.644,
+ 0,
+ 0.722,
+ 1,
+ 0.8,
+ 1,
+ 1,
+ 1.056,
+ 1,
+ 1.311,
+ 0.988,
+ 1.567,
+ 0.988,
+ 1,
+ 1.789,
+ 0.988,
+ 2.011,
+ 1,
+ 2.233,
+ 1,
+ 1,
+ 2.267,
+ 1,
+ 2.3,
+ 1,
+ 2.333,
+ 1,
+ 1,
+ 2.367,
+ 1,
+ 2.4,
+ 0,
+ 2.433,
+ 0,
+ 1,
+ 2.478,
+ 0,
+ 2.522,
+ 0,
+ 2.567,
+ 0,
+ 1,
+ 2.622,
+ 0,
+ 2.678,
+ 1,
+ 2.733,
+ 1,
+ 0,
+ 4.2,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.056,
+ 1,
+ 0.111,
+ 1,
+ 0.167,
+ 1,
+ 1,
+ 0.2,
+ 1,
+ 0.233,
+ 1,
+ 0.267,
+ 1,
+ 1,
+ 0.322,
+ 1,
+ 0.378,
+ 0,
+ 0.433,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.522,
+ 0,
+ 0.567,
+ 0,
+ 1,
+ 0.644,
+ 0,
+ 0.722,
+ 1,
+ 0.8,
+ 1,
+ 1,
+ 1.056,
+ 1,
+ 1.311,
+ 1,
+ 1.567,
+ 1,
+ 1,
+ 1.789,
+ 1,
+ 2.011,
+ 1,
+ 2.233,
+ 1,
+ 1,
+ 2.267,
+ 1,
+ 2.3,
+ 1,
+ 2.333,
+ 1,
+ 1,
+ 2.367,
+ 1,
+ 2.4,
+ 0,
+ 2.433,
+ 0,
+ 1,
+ 2.478,
+ 0,
+ 2.522,
+ 0,
+ 2.567,
+ 0,
+ 1,
+ 2.622,
+ 0,
+ 2.678,
+ 1,
+ 2.733,
+ 1,
+ 0,
+ 4.2,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.256,
+ 0,
+ 0.344,
+ 0,
+ 0.433,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.522,
+ -1,
+ 0.567,
+ -1,
+ 1,
+ 0.8,
+ -1,
+ 1.033,
+ -1,
+ 1.267,
+ -1,
+ 1,
+ 1.422,
+ -1,
+ 1.578,
+ 0.583,
+ 1.733,
+ 0.583,
+ 1,
+ 1.967,
+ 0.583,
+ 2.2,
+ 0.583,
+ 2.433,
+ 0.583,
+ 1,
+ 2.478,
+ 0.583,
+ 2.522,
+ 0,
+ 2.567,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.256,
+ 0,
+ 0.344,
+ 0,
+ 0.433,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.522,
+ 1,
+ 0.567,
+ 1,
+ 1,
+ 0.8,
+ 1,
+ 1.033,
+ 1,
+ 1.267,
+ 1,
+ 1,
+ 1.422,
+ 1,
+ 1.578,
+ 0.75,
+ 1.733,
+ 0.75,
+ 1,
+ 1.967,
+ 0.75,
+ 2.2,
+ 0.75,
+ 2.433,
+ 0.75,
+ 1,
+ 2.478,
+ 0.75,
+ 2.522,
+ 0,
+ 2.567,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.056,
+ 1,
+ 0.111,
+ 1,
+ 0.167,
+ 1,
+ 0,
+ 4.2,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.244,
+ 0,
+ 0.322,
+ -4,
+ 0.4,
+ -4,
+ 1,
+ 0.478,
+ -4,
+ 0.556,
+ 10,
+ 0.633,
+ 10,
+ 1,
+ 0.8,
+ 10,
+ 0.967,
+ -0.386,
+ 1.133,
+ -0.386,
+ 1,
+ 1.244,
+ -0.386,
+ 1.356,
+ 10,
+ 1.467,
+ 10,
+ 1,
+ 1.6,
+ 10,
+ 1.733,
+ 0,
+ 1.867,
+ 0,
+ 1,
+ 2.044,
+ 0,
+ 2.222,
+ 10,
+ 2.4,
+ 10,
+ 1,
+ 2.444,
+ 10,
+ 2.489,
+ 10.395,
+ 2.533,
+ 9.649,
+ 1,
+ 2.7,
+ 6.854,
+ 2.867,
+ -3.526,
+ 3.033,
+ -3.526,
+ 1,
+ 3.267,
+ -3.526,
+ 3.5,
+ 6.807,
+ 3.733,
+ 6.807,
+ 1,
+ 3.811,
+ 6.807,
+ 3.889,
+ 6,
+ 3.967,
+ 6,
+ 0,
+ 4.2,
+ 6
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.056,
+ 0,
+ 0.111,
+ 0,
+ 0.167,
+ 0,
+ 1,
+ 0.256,
+ 0,
+ 0.344,
+ -1,
+ 0.433,
+ -1,
+ 1,
+ 0.656,
+ -1,
+ 0.878,
+ 6,
+ 1.1,
+ 6,
+ 1,
+ 1.333,
+ 6,
+ 1.567,
+ -3,
+ 1.8,
+ -3,
+ 1,
+ 2.256,
+ -3,
+ 2.711,
+ 8,
+ 3.167,
+ 8,
+ 0,
+ 4.2,
+ 8
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.189,
+ 0,
+ 0.378,
+ 1,
+ 0.567,
+ 1,
+ 1,
+ 0.733,
+ 1,
+ 0.9,
+ 0,
+ 1.067,
+ 0,
+ 1,
+ 1.3,
+ 0,
+ 1.533,
+ 1,
+ 1.767,
+ 1,
+ 1,
+ 2.033,
+ 1,
+ 2.3,
+ 0,
+ 2.567,
+ 0,
+ 1,
+ 2.778,
+ 0,
+ 2.989,
+ 1,
+ 3.2,
+ 1,
+ 1,
+ 3.4,
+ 1,
+ 3.6,
+ 0,
+ 3.8,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ -10,
+ 1,
+ 0.256,
+ -10,
+ 0.511,
+ 0,
+ 0.767,
+ 0,
+ 1,
+ 0.889,
+ 0,
+ 1.011,
+ -6.5,
+ 1.133,
+ -6.5,
+ 1,
+ 1.289,
+ -6.5,
+ 1.444,
+ 0,
+ 1.6,
+ 0,
+ 1,
+ 1.756,
+ 0,
+ 1.911,
+ -8,
+ 2.067,
+ -8,
+ 1,
+ 2.344,
+ -8,
+ 2.622,
+ -1.4,
+ 2.9,
+ -1.4,
+ 1,
+ 2.978,
+ -1.4,
+ 3.056,
+ -1.775,
+ 3.133,
+ -2.3,
+ 1,
+ 3.211,
+ -2.825,
+ 3.289,
+ -3,
+ 3.367,
+ -3,
+ 1,
+ 3.433,
+ -3,
+ 3.5,
+ -2.5,
+ 3.567,
+ -2.5,
+ 1,
+ 3.733,
+ -2.5,
+ 3.9,
+ -3,
+ 4.067,
+ -3,
+ 0,
+ 4.2,
+ -3
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ -10,
+ 1,
+ 0.256,
+ -10,
+ 0.511,
+ 0,
+ 0.767,
+ 0,
+ 1,
+ 0.867,
+ 0,
+ 0.967,
+ -5.2,
+ 1.067,
+ -5.2,
+ 1,
+ 1.244,
+ -5.2,
+ 1.422,
+ 0,
+ 1.6,
+ 0,
+ 1,
+ 1.778,
+ 0,
+ 1.956,
+ -6.3,
+ 2.133,
+ -6.3,
+ 1,
+ 2.422,
+ -6.3,
+ 2.711,
+ 0.029,
+ 3,
+ 0.029,
+ 1,
+ 3.144,
+ 0.029,
+ 3.289,
+ 0,
+ 3.433,
+ 0,
+ 1,
+ 3.5,
+ 0,
+ 3.567,
+ 0,
+ 3.633,
+ 0,
+ 1,
+ 3.722,
+ 0,
+ 3.811,
+ -0.029,
+ 3.9,
+ -0.029,
+ 0,
+ 4.2,
+ -0.029
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.122,
+ 0,
+ 0.244,
+ -3.127,
+ 0.367,
+ -4,
+ 1,
+ 0.511,
+ -5.032,
+ 0.656,
+ -5,
+ 0.8,
+ -5,
+ 1,
+ 0.9,
+ -5,
+ 1,
+ 10,
+ 1.1,
+ 10,
+ 1,
+ 1.267,
+ 10,
+ 1.433,
+ 10.072,
+ 1.6,
+ 8,
+ 1,
+ 1.722,
+ 6.481,
+ 1.844,
+ -10,
+ 1.967,
+ -10,
+ 1,
+ 2.122,
+ -10,
+ 2.278,
+ -10.146,
+ 2.433,
+ -9.434,
+ 1,
+ 2.589,
+ -8.722,
+ 2.744,
+ 10,
+ 2.9,
+ 10,
+ 1,
+ 3.011,
+ 10,
+ 3.122,
+ -5.646,
+ 3.233,
+ -5.646,
+ 1,
+ 3.367,
+ -5.646,
+ 3.5,
+ 3.825,
+ 3.633,
+ 3.825,
+ 1,
+ 3.767,
+ 3.825,
+ 3.9,
+ 0,
+ 4.033,
+ 0,
+ 0,
+ 4.2,
+ 0
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 4.2,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/motion/hiyori_m04.motion3.json b/models/hiyori_free_t08/motion/hiyori_m04.motion3.json
new file mode 100644
index 0000000..808643b
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m04.motion3.json
@@ -0,0 +1,776 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 4.37,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 96,
+ "TotalPointCount": 266,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.211,
+ 1,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.911,
+ 0,
+ 1.189,
+ 5,
+ 1.467,
+ 5,
+ 1,
+ 1.689,
+ 5,
+ 1.911,
+ -16,
+ 2.133,
+ -16,
+ 1,
+ 2.356,
+ -16,
+ 2.578,
+ 7,
+ 2.8,
+ 7,
+ 1,
+ 2.956,
+ 7,
+ 3.111,
+ 0,
+ 3.267,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.211,
+ 0,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.911,
+ 0,
+ 1.189,
+ -25,
+ 1.467,
+ -25,
+ 1,
+ 1.689,
+ -25,
+ 1.911,
+ -11,
+ 2.133,
+ -11,
+ 1,
+ 2.356,
+ -11,
+ 2.578,
+ -13,
+ 2.8,
+ -13,
+ 1,
+ 2.956,
+ -13,
+ 3.111,
+ 0,
+ 3.267,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.222,
+ 0,
+ 0.444,
+ 0,
+ 0.667,
+ 0,
+ 1,
+ 0.756,
+ 0,
+ 0.844,
+ -4,
+ 0.933,
+ -4,
+ 1,
+ 1.122,
+ -4,
+ 1.311,
+ 18,
+ 1.5,
+ 18,
+ 1,
+ 1.722,
+ 18,
+ 1.944,
+ -14,
+ 2.167,
+ -14,
+ 1,
+ 2.567,
+ -14,
+ 2.967,
+ -14,
+ 3.367,
+ -14,
+ 1,
+ 3.511,
+ -14,
+ 3.656,
+ -12,
+ 3.8,
+ -12,
+ 0,
+ 4.367,
+ -12
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 4.367,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1.2,
+ 1,
+ 0.389,
+ 1.2,
+ 0.778,
+ 1.148,
+ 1.167,
+ 1,
+ 1,
+ 1.211,
+ 0.983,
+ 1.256,
+ 0,
+ 1.3,
+ 0,
+ 1,
+ 1.322,
+ 0,
+ 1.344,
+ 0,
+ 1.367,
+ 0,
+ 1,
+ 1.422,
+ 0,
+ 1.478,
+ 1,
+ 1.533,
+ 1,
+ 1,
+ 1.944,
+ 1,
+ 2.356,
+ 1,
+ 2.767,
+ 1,
+ 1,
+ 2.811,
+ 1,
+ 2.856,
+ 0,
+ 2.9,
+ 0,
+ 1,
+ 2.922,
+ 0,
+ 2.944,
+ 0,
+ 2.967,
+ 0,
+ 1,
+ 3.022,
+ 0,
+ 3.078,
+ 1,
+ 3.133,
+ 1,
+ 0,
+ 4.367,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1.2,
+ 1,
+ 0.389,
+ 1.2,
+ 0.778,
+ 1.148,
+ 1.167,
+ 1,
+ 1,
+ 1.211,
+ 0.983,
+ 1.256,
+ 0,
+ 1.3,
+ 0,
+ 1,
+ 1.322,
+ 0,
+ 1.344,
+ 0,
+ 1.367,
+ 0,
+ 1,
+ 1.422,
+ 0,
+ 1.478,
+ 1,
+ 1.533,
+ 1,
+ 1,
+ 1.944,
+ 1,
+ 2.356,
+ 1,
+ 2.767,
+ 1,
+ 1,
+ 2.811,
+ 1,
+ 2.856,
+ 0,
+ 2.9,
+ 0,
+ 1,
+ 2.922,
+ 0,
+ 2.944,
+ 0,
+ 2.967,
+ 0,
+ 1,
+ 3.022,
+ 0,
+ 3.078,
+ 1,
+ 3.133,
+ 1,
+ 0,
+ 4.367,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.211,
+ 0,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.911,
+ 0,
+ 1.189,
+ -0.44,
+ 1.467,
+ -0.44,
+ 1,
+ 1.689,
+ -0.44,
+ 1.911,
+ 0.79,
+ 2.133,
+ 0.79,
+ 1,
+ 2.511,
+ 0.79,
+ 2.889,
+ 0,
+ 3.267,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.211,
+ 0,
+ 0.422,
+ 0,
+ 0.633,
+ 0,
+ 1,
+ 0.911,
+ 0,
+ 1.189,
+ -1,
+ 1.467,
+ -1,
+ 1,
+ 1.689,
+ -1,
+ 1.911,
+ -1,
+ 2.133,
+ -1,
+ 1,
+ 2.511,
+ -1,
+ 2.889,
+ 0,
+ 3.267,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ -0.729,
+ 1,
+ 0.544,
+ -0.729,
+ 1.089,
+ -0.7,
+ 1.633,
+ -0.7,
+ 1,
+ 1.722,
+ -0.7,
+ 1.811,
+ -1,
+ 1.9,
+ -1,
+ 1,
+ 2.122,
+ -1,
+ 2.344,
+ -0.812,
+ 2.567,
+ -0.812,
+ 1,
+ 2.867,
+ -0.812,
+ 3.167,
+ -1,
+ 3.467,
+ -1,
+ 0,
+ 4.367,
+ -1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ -0.75,
+ 1,
+ 0.544,
+ -0.75,
+ 1.089,
+ -0.761,
+ 1.633,
+ -0.8,
+ 1,
+ 1.722,
+ -0.806,
+ 1.811,
+ -1,
+ 1.9,
+ -1,
+ 1,
+ 2.122,
+ -1,
+ 2.344,
+ -0.792,
+ 2.567,
+ -0.792,
+ 1,
+ 2.867,
+ -0.792,
+ 3.167,
+ -1,
+ 3.467,
+ -1,
+ 0,
+ 4.367,
+ -1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ -2,
+ 0,
+ 4.367,
+ -2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.244,
+ 0,
+ 0.489,
+ 0,
+ 0.733,
+ 0,
+ 1,
+ 0.933,
+ 0,
+ 1.133,
+ -7,
+ 1.333,
+ -7,
+ 1,
+ 1.644,
+ -7,
+ 1.956,
+ 0,
+ 2.267,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.244,
+ 0,
+ 0.489,
+ 0,
+ 0.733,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 2,
+ 1,
+ 0.233,
+ 2,
+ 0.467,
+ 0,
+ 0.7,
+ 0,
+ 1,
+ 0.733,
+ 0,
+ 0.767,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1.2,
+ -4,
+ 1.4,
+ -4,
+ 1,
+ 1.711,
+ -4,
+ 2.022,
+ 5,
+ 2.333,
+ 5,
+ 1,
+ 2.567,
+ 5,
+ 2.8,
+ 3.64,
+ 3.033,
+ 0,
+ 1,
+ 3.133,
+ -1.56,
+ 3.233,
+ -3,
+ 3.333,
+ -3,
+ 1,
+ 3.467,
+ -3,
+ 3.6,
+ -2,
+ 3.733,
+ -2,
+ 0,
+ 4.367,
+ -2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.189,
+ 0,
+ 0.378,
+ 1,
+ 0.567,
+ 1,
+ 1,
+ 0.711,
+ 1,
+ 0.856,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1.222,
+ 0,
+ 1.444,
+ 1,
+ 1.667,
+ 1,
+ 1,
+ 1.889,
+ 1,
+ 2.111,
+ 0,
+ 2.333,
+ 0,
+ 1,
+ 2.544,
+ 0,
+ 2.756,
+ 1,
+ 2.967,
+ 1,
+ 1,
+ 3.167,
+ 1,
+ 3.367,
+ 0,
+ 3.567,
+ 0,
+ 0,
+ 4.367,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ -10,
+ 0,
+ 4.367,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ -10,
+ 0,
+ 4.367,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.3,
+ 0,
+ 0.6,
+ 0,
+ 0.9,
+ -0.012,
+ 1,
+ 1.067,
+ -0.019,
+ 1.233,
+ -6.827,
+ 1.4,
+ -6.827,
+ 1,
+ 1.511,
+ -6.827,
+ 1.622,
+ 7.958,
+ 1.733,
+ 7.958,
+ 1,
+ 1.944,
+ 7.958,
+ 2.156,
+ -7.565,
+ 2.367,
+ -7.565,
+ 1,
+ 2.5,
+ -7.565,
+ 2.633,
+ 9.434,
+ 2.767,
+ 9.434,
+ 1,
+ 2.978,
+ 9.434,
+ 3.189,
+ -8.871,
+ 3.4,
+ -8.871,
+ 1,
+ 3.5,
+ -8.871,
+ 3.6,
+ 7.588,
+ 3.7,
+ 7.588,
+ 1,
+ 3.789,
+ 7.588,
+ 3.878,
+ -3.904,
+ 3.967,
+ -3.904,
+ 1,
+ 4.011,
+ -3.904,
+ 4.056,
+ -0.032,
+ 4.1,
+ -0.032,
+ 0,
+ 4.367,
+ -0.032
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 4.37,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/motion/hiyori_m05.motion3.json b/models/hiyori_free_t08/motion/hiyori_m05.motion3.json
new file mode 100644
index 0000000..dabd179
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m05.motion3.json
@@ -0,0 +1,1462 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 8.57,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 194,
+ "TotalPointCount": 560,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.189,
+ 0,
+ 0.378,
+ 1,
+ 0.567,
+ 1,
+ 1,
+ 1.122,
+ 1,
+ 1.678,
+ 1,
+ 2.233,
+ 1,
+ 1,
+ 2.533,
+ 1,
+ 2.833,
+ -30,
+ 3.133,
+ -30,
+ 1,
+ 4.067,
+ -30,
+ 5,
+ -30,
+ 5.933,
+ -30,
+ 1,
+ 6.322,
+ -30,
+ 6.711,
+ 0,
+ 7.1,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.189,
+ 0,
+ 0.378,
+ 18,
+ 0.567,
+ 18,
+ 1,
+ 0.856,
+ 18,
+ 1.144,
+ -9.95,
+ 1.433,
+ -9.95,
+ 1,
+ 1.522,
+ -9.95,
+ 1.611,
+ -1.589,
+ 1.7,
+ -1.589,
+ 1,
+ 1.911,
+ -1.589,
+ 2.122,
+ -8.047,
+ 2.333,
+ -8.047,
+ 1,
+ 2.6,
+ -8.047,
+ 2.867,
+ 30,
+ 3.133,
+ 30,
+ 1,
+ 3.478,
+ 30,
+ 3.822,
+ 29.529,
+ 4.167,
+ 27.847,
+ 1,
+ 4.311,
+ 27.142,
+ 4.456,
+ 25.42,
+ 4.6,
+ 24.243,
+ 1,
+ 4.922,
+ 21.616,
+ 5.244,
+ 20.338,
+ 5.567,
+ 20.338,
+ 1,
+ 5.789,
+ 20.338,
+ 6.011,
+ 27.397,
+ 6.233,
+ 27.397,
+ 1,
+ 6.522,
+ 27.397,
+ 6.811,
+ 0,
+ 7.1,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.189,
+ 0,
+ 0.378,
+ 0,
+ 0.567,
+ 0,
+ 1,
+ 0.8,
+ 0,
+ 1.033,
+ 25,
+ 1.267,
+ 25,
+ 1,
+ 1.4,
+ 25,
+ 1.533,
+ 25,
+ 1.667,
+ 25,
+ 1,
+ 1.878,
+ 25,
+ 2.089,
+ 25,
+ 2.3,
+ 25,
+ 1,
+ 2.578,
+ 25,
+ 2.856,
+ -30,
+ 3.133,
+ -30,
+ 1,
+ 4,
+ -30,
+ 4.867,
+ -30,
+ 5.733,
+ -30,
+ 1,
+ 5.8,
+ -30,
+ 5.867,
+ -30,
+ 5.933,
+ -30,
+ 1,
+ 6.322,
+ -30,
+ 6.711,
+ 0,
+ 7.1,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ 0,
+ 0.6,
+ 0,
+ 1,
+ 2.844,
+ 0,
+ 5.089,
+ 0,
+ 7.333,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.278,
+ 1,
+ 0.556,
+ 1,
+ 0.833,
+ 1,
+ 1,
+ 0.867,
+ 1,
+ 0.9,
+ 0,
+ 0.933,
+ 0,
+ 1,
+ 1.222,
+ 0,
+ 1.511,
+ 0,
+ 1.8,
+ 0,
+ 1,
+ 1.889,
+ 0,
+ 1.978,
+ 1,
+ 2.067,
+ 1,
+ 1,
+ 2.322,
+ 1,
+ 2.578,
+ 1,
+ 2.833,
+ 1,
+ 1,
+ 2.889,
+ 1,
+ 2.944,
+ 0,
+ 3,
+ 0,
+ 1,
+ 3.022,
+ 0,
+ 3.044,
+ 0,
+ 3.067,
+ 0,
+ 1,
+ 3.122,
+ 0,
+ 3.178,
+ 1,
+ 3.233,
+ 1,
+ 1,
+ 3.5,
+ 1,
+ 3.767,
+ 1,
+ 4.033,
+ 1,
+ 1,
+ 4.089,
+ 1,
+ 4.144,
+ 0,
+ 4.2,
+ 0,
+ 1,
+ 4.222,
+ 0,
+ 4.244,
+ 0,
+ 4.267,
+ 0,
+ 1,
+ 4.322,
+ 0,
+ 4.378,
+ 1,
+ 4.433,
+ 1,
+ 1,
+ 5.133,
+ 1,
+ 5.833,
+ 1,
+ 6.533,
+ 1,
+ 1,
+ 6.589,
+ 1,
+ 6.644,
+ 0,
+ 6.7,
+ 0,
+ 1,
+ 6.722,
+ 0,
+ 6.744,
+ 0,
+ 6.767,
+ 0,
+ 1,
+ 6.822,
+ 0,
+ 6.878,
+ 1,
+ 6.933,
+ 1,
+ 1,
+ 7.067,
+ 1,
+ 7.2,
+ 1,
+ 7.333,
+ 1,
+ 0,
+ 8.567,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.556,
+ 0.812,
+ 0.833,
+ 0.812,
+ 0,
+ 8.567,
+ 0.812
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.278,
+ 1,
+ 0.556,
+ 1,
+ 0.833,
+ 1,
+ 1,
+ 0.867,
+ 1,
+ 0.9,
+ 0,
+ 0.933,
+ 0,
+ 1,
+ 1.222,
+ 0,
+ 1.511,
+ 0,
+ 1.8,
+ 0,
+ 1,
+ 1.889,
+ 0,
+ 1.978,
+ 1,
+ 2.067,
+ 1,
+ 1,
+ 2.322,
+ 1,
+ 2.578,
+ 1,
+ 2.833,
+ 1,
+ 1,
+ 2.889,
+ 1,
+ 2.944,
+ 0,
+ 3,
+ 0,
+ 1,
+ 3.022,
+ 0,
+ 3.044,
+ 0,
+ 3.067,
+ 0,
+ 1,
+ 3.122,
+ 0,
+ 3.178,
+ 1,
+ 3.233,
+ 1,
+ 1,
+ 3.5,
+ 1,
+ 3.767,
+ 1,
+ 4.033,
+ 1,
+ 1,
+ 4.089,
+ 1,
+ 4.144,
+ 0,
+ 4.2,
+ 0,
+ 1,
+ 4.222,
+ 0,
+ 4.244,
+ 0,
+ 4.267,
+ 0,
+ 1,
+ 4.322,
+ 0,
+ 4.378,
+ 1,
+ 4.433,
+ 1,
+ 1,
+ 5.133,
+ 1,
+ 5.833,
+ 1,
+ 6.533,
+ 1,
+ 1,
+ 6.589,
+ 1,
+ 6.644,
+ 0,
+ 6.7,
+ 0,
+ 1,
+ 6.722,
+ 0,
+ 6.744,
+ 0,
+ 6.767,
+ 0,
+ 1,
+ 6.822,
+ 0,
+ 6.878,
+ 1,
+ 6.933,
+ 1,
+ 1,
+ 7.067,
+ 1,
+ 7.2,
+ 1,
+ 7.333,
+ 1,
+ 0,
+ 8.567,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.556,
+ 0.812,
+ 0.833,
+ 0.812,
+ 1,
+ 1.967,
+ 0.812,
+ 3.1,
+ 0.8,
+ 4.233,
+ 0.8,
+ 0,
+ 8.567,
+ 0.8
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ -0.065,
+ 0.6,
+ -0.14,
+ 1,
+ 0.811,
+ -0.219,
+ 1.022,
+ -0.24,
+ 1.233,
+ -0.24,
+ 1,
+ 1.367,
+ -0.24,
+ 1.5,
+ -0.24,
+ 1.633,
+ -0.24,
+ 1,
+ 1.844,
+ -0.24,
+ 2.056,
+ -0.24,
+ 2.267,
+ -0.24,
+ 1,
+ 2.556,
+ -0.24,
+ 2.844,
+ 0.661,
+ 3.133,
+ 0.68,
+ 1,
+ 3.5,
+ 0.704,
+ 3.867,
+ 0.7,
+ 4.233,
+ 0.7,
+ 1,
+ 4.5,
+ 0.7,
+ 4.767,
+ -0.75,
+ 5.033,
+ -0.75,
+ 1,
+ 5.589,
+ -0.75,
+ 6.144,
+ 0.68,
+ 6.7,
+ 0.68,
+ 1,
+ 6.789,
+ 0.68,
+ 6.878,
+ 0,
+ 6.967,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ -0.38,
+ 0.6,
+ -0.38,
+ 1,
+ 0.811,
+ -0.38,
+ 1.022,
+ 0.21,
+ 1.233,
+ 0.21,
+ 1,
+ 1.367,
+ 0.21,
+ 1.5,
+ 0.21,
+ 1.633,
+ 0.21,
+ 1,
+ 1.844,
+ 0.21,
+ 2.056,
+ 0.21,
+ 2.267,
+ 0.21,
+ 1,
+ 2.556,
+ 0.21,
+ 2.844,
+ -0.33,
+ 3.133,
+ -0.33,
+ 1,
+ 3.767,
+ -0.33,
+ 4.4,
+ 0.625,
+ 5.033,
+ 0.625,
+ 1,
+ 5.589,
+ 0.625,
+ 6.144,
+ -0.33,
+ 6.7,
+ -0.33,
+ 1,
+ 6.789,
+ -0.33,
+ 6.878,
+ 0,
+ 6.967,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ 0,
+ 0.6,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ 0,
+ 0.6,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.2,
+ 1,
+ 0.4,
+ 1,
+ 0.6,
+ 1,
+ 1,
+ 0.889,
+ 1,
+ 1.178,
+ 1,
+ 1.467,
+ 1,
+ 1,
+ 1.611,
+ 1,
+ 1.756,
+ 1,
+ 1.9,
+ 1,
+ 1,
+ 2.189,
+ 1,
+ 2.478,
+ 0,
+ 2.767,
+ 0,
+ 1,
+ 3.989,
+ 0,
+ 5.211,
+ 0,
+ 6.433,
+ 0,
+ 1,
+ 6.533,
+ 0,
+ 6.633,
+ 1,
+ 6.733,
+ 1,
+ 0,
+ 8.567,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ 0,
+ 0.6,
+ 0,
+ 1,
+ 0.667,
+ 0,
+ 0.733,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 0.844,
+ 0,
+ 0.889,
+ 1,
+ 0.933,
+ 1,
+ 1,
+ 1.111,
+ 1,
+ 1.289,
+ 1,
+ 1.467,
+ 1,
+ 1,
+ 1.611,
+ 1,
+ 1.756,
+ 0,
+ 1.9,
+ 0,
+ 1,
+ 2.056,
+ 0,
+ 2.211,
+ 0,
+ 2.367,
+ 0,
+ 1,
+ 2.5,
+ 0,
+ 2.633,
+ 1,
+ 2.767,
+ 1,
+ 1,
+ 3.989,
+ 1,
+ 5.211,
+ 1,
+ 6.433,
+ 1,
+ 1,
+ 6.533,
+ 1,
+ 6.633,
+ 0,
+ 6.733,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.133,
+ 0,
+ 0.267,
+ 0,
+ 0.4,
+ 0,
+ 1,
+ 0.5,
+ 0,
+ 0.6,
+ -1.353,
+ 0.7,
+ -1.353,
+ 1,
+ 0.933,
+ -1.353,
+ 1.167,
+ 10,
+ 1.4,
+ 10,
+ 1,
+ 1.544,
+ 10,
+ 1.689,
+ 9.799,
+ 1.833,
+ 9.799,
+ 1,
+ 2.089,
+ 9.799,
+ 2.344,
+ 9.875,
+ 2.6,
+ 9.875,
+ 1,
+ 2.944,
+ 9.875,
+ 3.289,
+ -9.599,
+ 3.633,
+ -9.599,
+ 1,
+ 3.844,
+ -9.599,
+ 4.056,
+ -2.657,
+ 4.267,
+ -2.657,
+ 1,
+ 4.467,
+ -2.657,
+ 4.667,
+ -9.098,
+ 4.867,
+ -9.098,
+ 1,
+ 5.144,
+ -9.098,
+ 5.422,
+ -4.812,
+ 5.7,
+ -4.812,
+ 1,
+ 5.967,
+ -4.812,
+ 6.233,
+ -10,
+ 6.5,
+ -10,
+ 1,
+ 6.778,
+ -10,
+ 7.056,
+ -1.43,
+ 7.333,
+ 0,
+ 1,
+ 7.533,
+ 1.03,
+ 7.733,
+ 0.752,
+ 7.933,
+ 0.752,
+ 1,
+ 8.011,
+ 0.752,
+ 8.089,
+ -0.326,
+ 8.167,
+ -0.326,
+ 0,
+ 8.567,
+ -0.326
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ 5.421,
+ 0.6,
+ 5.421,
+ 1,
+ 0.867,
+ 5.421,
+ 1.133,
+ -3.737,
+ 1.4,
+ -3.737,
+ 1,
+ 1.511,
+ -3.737,
+ 1.622,
+ 0.246,
+ 1.733,
+ 0.246,
+ 1,
+ 1.933,
+ 0.246,
+ 2.133,
+ 0,
+ 2.333,
+ 0,
+ 1,
+ 2.389,
+ 0,
+ 2.444,
+ 2.993,
+ 2.5,
+ 4,
+ 1,
+ 2.711,
+ 7.827,
+ 2.922,
+ 9,
+ 3.133,
+ 9,
+ 1,
+ 4.256,
+ 9,
+ 5.378,
+ 9,
+ 6.5,
+ 9,
+ 1,
+ 6.778,
+ 9,
+ 7.056,
+ -5,
+ 7.333,
+ -5,
+ 1,
+ 7.5,
+ -5,
+ 7.667,
+ 2,
+ 7.833,
+ 2,
+ 1,
+ 7.9,
+ 2,
+ 7.967,
+ 0,
+ 8.033,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.2,
+ 0,
+ 0.4,
+ 2,
+ 0.6,
+ 2,
+ 1,
+ 0.867,
+ 2,
+ 1.133,
+ -10,
+ 1.4,
+ -10,
+ 1,
+ 1.533,
+ -10,
+ 1.667,
+ -10,
+ 1.8,
+ -10,
+ 1,
+ 2,
+ -10,
+ 2.2,
+ -10.197,
+ 2.4,
+ -6.566,
+ 1,
+ 2.6,
+ -2.936,
+ 2.8,
+ 10,
+ 3,
+ 10,
+ 1,
+ 3.433,
+ 10,
+ 3.867,
+ -4.436,
+ 4.3,
+ -4.436,
+ 1,
+ 4.578,
+ -4.436,
+ 4.856,
+ 10,
+ 5.133,
+ 10,
+ 1,
+ 5.433,
+ 10,
+ 5.733,
+ 0.695,
+ 6.033,
+ -4.261,
+ 1,
+ 6.211,
+ -7.197,
+ 6.389,
+ -6.792,
+ 6.567,
+ -6.792,
+ 1,
+ 6.644,
+ -6.792,
+ 6.722,
+ -6.224,
+ 6.8,
+ -4.11,
+ 1,
+ 6.989,
+ 1.023,
+ 7.178,
+ 4.236,
+ 7.367,
+ 4.236,
+ 1,
+ 7.689,
+ 4.236,
+ 8.011,
+ 0.025,
+ 8.333,
+ 0.025,
+ 0,
+ 8.567,
+ 0.025
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.122,
+ 0,
+ 0.244,
+ 1,
+ 0.367,
+ 1,
+ 1,
+ 0.511,
+ 1,
+ 0.656,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 1.022,
+ 0,
+ 1.244,
+ 1,
+ 1.467,
+ 1,
+ 1,
+ 1.689,
+ 1,
+ 1.911,
+ 0,
+ 2.133,
+ 0,
+ 1,
+ 2.344,
+ 0,
+ 2.556,
+ 1,
+ 2.767,
+ 1,
+ 1,
+ 2.967,
+ 1,
+ 3.167,
+ 0,
+ 3.367,
+ 0,
+ 1,
+ 3.578,
+ 0,
+ 3.789,
+ 1,
+ 4,
+ 1,
+ 1,
+ 4.233,
+ 1,
+ 4.467,
+ 0,
+ 4.7,
+ 0,
+ 1,
+ 4.9,
+ 0,
+ 5.1,
+ 0,
+ 5.3,
+ 0,
+ 1,
+ 5.522,
+ 0,
+ 5.744,
+ 1,
+ 5.967,
+ 1,
+ 1,
+ 6.244,
+ 1,
+ 6.522,
+ 0,
+ 6.8,
+ 0,
+ 1,
+ 7.022,
+ 0,
+ 7.244,
+ 1,
+ 7.467,
+ 1,
+ 1,
+ 7.689,
+ 1,
+ 7.911,
+ 0,
+ 8.133,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ -10,
+ 1,
+ 0.2,
+ -10,
+ 0.4,
+ -10,
+ 0.6,
+ -10,
+ 1,
+ 0.833,
+ -10,
+ 1.067,
+ -7.083,
+ 1.3,
+ -7.083,
+ 1,
+ 1.433,
+ -7.083,
+ 1.567,
+ -7.083,
+ 1.7,
+ -7.083,
+ 1,
+ 1.911,
+ -7.083,
+ 2.122,
+ -10,
+ 2.333,
+ -10,
+ 1,
+ 3.467,
+ -10,
+ 4.6,
+ -10,
+ 5.733,
+ -10,
+ 1,
+ 5.8,
+ -10,
+ 5.867,
+ -10,
+ 5.933,
+ -10,
+ 1,
+ 6.4,
+ -10,
+ 6.867,
+ -10,
+ 7.333,
+ -10,
+ 0,
+ 8.567,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ -10,
+ 1,
+ 0.2,
+ -10,
+ 0.4,
+ -10,
+ 0.6,
+ -10,
+ 1,
+ 0.833,
+ -10,
+ 1.067,
+ 2.917,
+ 1.3,
+ 2.917,
+ 1,
+ 1.478,
+ 2.917,
+ 1.656,
+ 3.029,
+ 1.833,
+ 2.6,
+ 1,
+ 2.033,
+ 2.117,
+ 2.233,
+ -10,
+ 2.433,
+ -10,
+ 1,
+ 3.533,
+ -10,
+ 4.633,
+ -10,
+ 5.733,
+ -10,
+ 1,
+ 5.8,
+ -10,
+ 5.867,
+ -10,
+ 5.933,
+ -10,
+ 1,
+ 6.133,
+ -10,
+ 6.333,
+ -10,
+ 6.533,
+ -10,
+ 1,
+ 6.8,
+ -10,
+ 7.067,
+ -10,
+ 7.333,
+ -10,
+ 0,
+ 8.567,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.178,
+ 0,
+ 0.356,
+ -10,
+ 0.533,
+ -10,
+ 1,
+ 0.833,
+ -10,
+ 1.133,
+ 10,
+ 1.433,
+ 10,
+ 1,
+ 1.567,
+ 10,
+ 1.7,
+ 0,
+ 1.833,
+ 0,
+ 1,
+ 2.311,
+ 0,
+ 2.789,
+ 10,
+ 3.267,
+ 10,
+ 1,
+ 3.344,
+ 10,
+ 3.422,
+ 10,
+ 3.5,
+ 10,
+ 1,
+ 3.633,
+ 10,
+ 3.767,
+ -10,
+ 3.9,
+ -10,
+ 1,
+ 4.267,
+ -10,
+ 4.633,
+ 7.69,
+ 5,
+ 9.705,
+ 1,
+ 5.122,
+ 10.376,
+ 5.244,
+ 10,
+ 5.367,
+ 10,
+ 1,
+ 5.756,
+ 10,
+ 6.144,
+ -9.975,
+ 6.533,
+ -9.975,
+ 1,
+ 6.622,
+ -9.975,
+ 6.711,
+ -10.207,
+ 6.8,
+ -9.779,
+ 1,
+ 7.033,
+ -8.654,
+ 7.267,
+ 10,
+ 7.5,
+ 10,
+ 1,
+ 7.7,
+ 10,
+ 7.9,
+ -6.753,
+ 8.1,
+ -6.753,
+ 1,
+ 8.2,
+ -6.753,
+ 8.3,
+ 0,
+ 8.4,
+ 0,
+ 0,
+ 8.567,
+ 0
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 8.57,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/motion/hiyori_m06.motion3.json b/models/hiyori_free_t08/motion/hiyori_m06.motion3.json
new file mode 100644
index 0000000..d794067
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m06.motion3.json
@@ -0,0 +1,727 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 1.9,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 89,
+ "TotalPointCount": 245,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.444,
+ 0,
+ 0.556,
+ 8,
+ 0.667,
+ 8,
+ 0,
+ 1.9,
+ 8
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.111,
+ 1,
+ 0.222,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.378,
+ 1,
+ 0.422,
+ 0,
+ 0.467,
+ 0,
+ 1,
+ 0.522,
+ 0,
+ 0.578,
+ 1.2,
+ 0.633,
+ 1.2,
+ 1,
+ 0.744,
+ 1.2,
+ 0.856,
+ 1.2,
+ 0.967,
+ 1.2,
+ 1,
+ 0.989,
+ 1.2,
+ 1.011,
+ 0,
+ 1.033,
+ 0,
+ 1,
+ 1.067,
+ 0,
+ 1.1,
+ 1.2,
+ 1.133,
+ 1.2,
+ 1,
+ 1.167,
+ 1.2,
+ 1.2,
+ 1.2,
+ 1.233,
+ 1.2,
+ 1,
+ 1.267,
+ 1.2,
+ 1.3,
+ 0,
+ 1.333,
+ 0,
+ 1,
+ 1.356,
+ 0,
+ 1.378,
+ 1.2,
+ 1.4,
+ 1.2,
+ 0,
+ 1.9,
+ 1.2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.111,
+ 1,
+ 0.222,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.378,
+ 1,
+ 0.422,
+ 0,
+ 0.467,
+ 0,
+ 1,
+ 0.522,
+ 0,
+ 0.578,
+ 1.2,
+ 0.633,
+ 1.2,
+ 1,
+ 0.744,
+ 1.2,
+ 0.856,
+ 1.2,
+ 0.967,
+ 1.2,
+ 1,
+ 0.989,
+ 1.2,
+ 1.011,
+ 0,
+ 1.033,
+ 0,
+ 1,
+ 1.067,
+ 0,
+ 1.1,
+ 1.2,
+ 1.133,
+ 1.2,
+ 1,
+ 1.167,
+ 1.2,
+ 1.2,
+ 1.2,
+ 1.233,
+ 1.2,
+ 1,
+ 1.267,
+ 1.2,
+ 1.3,
+ 0,
+ 1.333,
+ 0,
+ 1,
+ 1.356,
+ 0,
+ 1.378,
+ 1.2,
+ 1.4,
+ 1.2,
+ 0,
+ 1.9,
+ 1.2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.356,
+ 0,
+ 0.378,
+ 0,
+ 0.4,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.578,
+ 0,
+ 0.667,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.356,
+ 0,
+ 0.378,
+ 0,
+ 0.4,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.578,
+ 0,
+ 0.667,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.356,
+ 0,
+ 0.378,
+ 0,
+ 0.4,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.578,
+ 0,
+ 0.667,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.356,
+ 0,
+ 0.378,
+ 0,
+ 0.4,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.578,
+ 0.33,
+ 0.667,
+ 0.33,
+ 0,
+ 1.9,
+ 0.33
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.356,
+ 0,
+ 0.378,
+ 0,
+ 0.4,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.578,
+ 0.21,
+ 0.667,
+ 0.21,
+ 0,
+ 1.9,
+ 0.21
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.111,
+ 1,
+ 0.222,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.356,
+ 1,
+ 0.378,
+ 1,
+ 0.4,
+ 1,
+ 1,
+ 0.489,
+ 1,
+ 0.578,
+ -2,
+ 0.667,
+ -2,
+ 0,
+ 1.9,
+ -2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.356,
+ 0,
+ 0.378,
+ 0,
+ 0.4,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.578,
+ 0.75,
+ 0.667,
+ 0.75,
+ 0,
+ 1.9,
+ 0.75
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.444,
+ 0,
+ 0.556,
+ -6,
+ 0.667,
+ -6,
+ 0,
+ 1.9,
+ -6
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.422,
+ 0,
+ 0.511,
+ 10,
+ 0.6,
+ 10,
+ 1,
+ 0.667,
+ 10,
+ 0.733,
+ -6,
+ 0.8,
+ -6,
+ 1,
+ 0.833,
+ -6,
+ 0.867,
+ 5,
+ 0.9,
+ 5,
+ 1,
+ 1.011,
+ 5,
+ 1.122,
+ 0,
+ 1.233,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.444,
+ 0,
+ 0.556,
+ -3,
+ 0.667,
+ -3,
+ 0,
+ 1.9,
+ -3
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.622,
+ -10,
+ 0.767,
+ -10,
+ 1,
+ 0.811,
+ -10,
+ 0.856,
+ -8.2,
+ 0.9,
+ -8.2,
+ 0,
+ 1.9,
+ -8.2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 0,
+ 0.333,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.622,
+ -10,
+ 0.767,
+ -10,
+ 1,
+ 0.811,
+ -10,
+ 0.856,
+ -7.2,
+ 0.9,
+ -7.2,
+ 0,
+ 1.9,
+ -7.2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.111,
+ 0,
+ 0.222,
+ 1.9,
+ 0.333,
+ 5.2,
+ 1,
+ 0.444,
+ 8.5,
+ 0.556,
+ 9.926,
+ 0.667,
+ 9.926,
+ 1,
+ 0.744,
+ 9.926,
+ 0.822,
+ -10,
+ 0.9,
+ -10,
+ 1,
+ 0.956,
+ -10,
+ 1.011,
+ 6,
+ 1.067,
+ 6,
+ 1,
+ 1.144,
+ 6,
+ 1.222,
+ -4,
+ 1.3,
+ -4,
+ 1,
+ 1.367,
+ -4,
+ 1.433,
+ 0,
+ 1.5,
+ 0,
+ 0,
+ 1.9,
+ 0
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 1.9,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/motion/hiyori_m07.motion3.json b/models/hiyori_free_t08/motion/hiyori_m07.motion3.json
new file mode 100644
index 0000000..4719958
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m07.motion3.json
@@ -0,0 +1,874 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 1.6,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 110,
+ "TotalPointCount": 308,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.333,
+ 0,
+ 0.467,
+ -4,
+ 0.6,
+ -4,
+ 0,
+ 1.6,
+ -4
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.289,
+ 0,
+ 0.378,
+ -20,
+ 0.467,
+ -20,
+ 1,
+ 0.522,
+ -20,
+ 0.578,
+ 2,
+ 0.633,
+ 2,
+ 1,
+ 0.667,
+ 2,
+ 0.7,
+ 0,
+ 0.733,
+ 0,
+ 1,
+ 0.8,
+ 0,
+ 0.867,
+ 0,
+ 0.933,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1.067,
+ -21,
+ 1.133,
+ -21,
+ 1,
+ 1.167,
+ -21,
+ 1.2,
+ -17,
+ 1.233,
+ -17,
+ 0,
+ 1.6,
+ -17
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.356,
+ 0,
+ 0.511,
+ 0,
+ 0.667,
+ 0,
+ 1,
+ 0.778,
+ 0,
+ 0.889,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1.6,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.067,
+ 1,
+ 0.133,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.244,
+ 1,
+ 0.289,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.378,
+ 1,
+ 0.422,
+ 0,
+ 0.467,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.511,
+ 0,
+ 0.533,
+ 0,
+ 1,
+ 0.578,
+ 0,
+ 0.622,
+ 1,
+ 0.667,
+ 1,
+ 1,
+ 0.8,
+ 1,
+ 0.933,
+ 1,
+ 1.067,
+ 1,
+ 1,
+ 1.122,
+ 1,
+ 1.178,
+ 0.825,
+ 1.233,
+ 0.825,
+ 0,
+ 1.6,
+ 0.825
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.544,
+ 0,
+ 0.889,
+ 0,
+ 1.233,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.067,
+ 1,
+ 0.133,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.244,
+ 1,
+ 0.289,
+ 1,
+ 0.333,
+ 1,
+ 1,
+ 0.378,
+ 1,
+ 0.422,
+ 0,
+ 0.467,
+ 0,
+ 1,
+ 0.489,
+ 0,
+ 0.511,
+ 0,
+ 0.533,
+ 0,
+ 1,
+ 0.578,
+ 0,
+ 0.622,
+ 0.996,
+ 0.667,
+ 1,
+ 1,
+ 0.8,
+ 1.011,
+ 0.933,
+ 1.013,
+ 1.067,
+ 1.013,
+ 1,
+ 1.122,
+ 1.013,
+ 1.178,
+ 0.8,
+ 1.233,
+ 0.8,
+ 0,
+ 1.6,
+ 0.8
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.322,
+ 0,
+ 0.444,
+ 0,
+ 0.567,
+ 0,
+ 1,
+ 0.789,
+ 0,
+ 1.011,
+ 0,
+ 1.233,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.322,
+ 0,
+ 0.444,
+ 0,
+ 0.567,
+ 0,
+ 1,
+ 0.789,
+ 0,
+ 1.011,
+ 0,
+ 1.233,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.322,
+ 0,
+ 0.444,
+ 0,
+ 0.567,
+ 0,
+ 1,
+ 0.789,
+ 0,
+ 1.011,
+ 0,
+ 1.233,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.322,
+ 0,
+ 0.444,
+ -1,
+ 0.567,
+ -1,
+ 1,
+ 0.789,
+ -1,
+ 1.011,
+ -1,
+ 1.233,
+ -1,
+ 0,
+ 1.6,
+ -1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.322,
+ 0,
+ 0.444,
+ -1,
+ 0.567,
+ -1,
+ 1,
+ 0.789,
+ -1,
+ 1.011,
+ -1,
+ 1.233,
+ -1,
+ 0,
+ 1.6,
+ -1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.067,
+ 1,
+ 0.133,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.322,
+ 1,
+ 0.444,
+ -2,
+ 0.567,
+ -2,
+ 1,
+ 0.789,
+ -2,
+ 1.011,
+ -2,
+ 1.233,
+ -2,
+ 0,
+ 1.6,
+ -2
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.322,
+ 0,
+ 0.444,
+ 1,
+ 0.567,
+ 1,
+ 1,
+ 0.656,
+ 1,
+ 0.744,
+ 1,
+ 0.833,
+ 1,
+ 1,
+ 0.889,
+ 1,
+ 0.944,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1.044,
+ 1,
+ 1.089,
+ 0,
+ 1.133,
+ 0,
+ 1,
+ 1.244,
+ 0,
+ 1.356,
+ 0,
+ 1.467,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.156,
+ 0,
+ 0.311,
+ 0,
+ 0.467,
+ 0,
+ 1,
+ 0.556,
+ 0,
+ 0.644,
+ -10,
+ 0.733,
+ -10,
+ 1,
+ 0.833,
+ -10,
+ 0.933,
+ -9,
+ 1.033,
+ -9,
+ 0,
+ 1.6,
+ -9
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ -4,
+ 0.433,
+ -4,
+ 1,
+ 0.522,
+ -4,
+ 0.611,
+ 5,
+ 0.7,
+ 5,
+ 1,
+ 0.789,
+ 5,
+ 0.878,
+ 5,
+ 0.967,
+ 5,
+ 1,
+ 1.044,
+ 5,
+ 1.122,
+ -7,
+ 1.2,
+ -7,
+ 1,
+ 1.267,
+ -7,
+ 1.333,
+ 0,
+ 1.4,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 1.6,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.233,
+ 0,
+ 0.267,
+ 0,
+ 0.3,
+ 0,
+ 1,
+ 0.367,
+ 0,
+ 0.433,
+ -4.5,
+ 0.5,
+ -4.5,
+ 1,
+ 0.578,
+ -4.5,
+ 0.656,
+ 0.8,
+ 0.733,
+ 0.8,
+ 1,
+ 0.811,
+ 0.8,
+ 0.889,
+ -0.156,
+ 0.967,
+ -0.6,
+ 1,
+ 1.011,
+ -0.854,
+ 1.056,
+ -0.72,
+ 1.1,
+ -1,
+ 1,
+ 1.167,
+ -1.42,
+ 1.233,
+ -3.7,
+ 1.3,
+ -3.7,
+ 1,
+ 1.356,
+ -3.7,
+ 1.411,
+ -2.4,
+ 1.467,
+ -2.4,
+ 0,
+ 1.6,
+ -2.4
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.233,
+ 0,
+ 0.267,
+ 0,
+ 0.3,
+ 0,
+ 1,
+ 0.367,
+ 0,
+ 0.433,
+ -4.5,
+ 0.5,
+ -4.5,
+ 1,
+ 0.578,
+ -4.5,
+ 0.656,
+ 2.2,
+ 0.733,
+ 2.2,
+ 1,
+ 0.811,
+ 2.2,
+ 0.889,
+ -0.749,
+ 0.967,
+ -0.9,
+ 1,
+ 1.011,
+ -0.987,
+ 1.056,
+ -0.921,
+ 1.1,
+ -1,
+ 1,
+ 1.167,
+ -1.119,
+ 1.233,
+ -3.6,
+ 1.3,
+ -3.6,
+ 1,
+ 1.356,
+ -3.6,
+ 1.411,
+ -1.8,
+ 1.467,
+ -1.8,
+ 0,
+ 1.6,
+ -1.8
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.289,
+ 0,
+ 0.378,
+ 6,
+ 0.467,
+ 6,
+ 1,
+ 0.5,
+ 6,
+ 0.533,
+ 4,
+ 0.567,
+ 0,
+ 1,
+ 0.622,
+ -6.667,
+ 0.678,
+ -10,
+ 0.733,
+ -10,
+ 1,
+ 0.767,
+ -10,
+ 0.8,
+ -6,
+ 0.833,
+ -6,
+ 1,
+ 0.933,
+ -6,
+ 1.033,
+ -10,
+ 1.133,
+ -10,
+ 1,
+ 1.178,
+ -10,
+ 1.222,
+ -2,
+ 1.267,
+ -2,
+ 1,
+ 1.311,
+ -2,
+ 1.356,
+ -9,
+ 1.4,
+ -9,
+ 0,
+ 1.6,
+ -9
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 1.6,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/hiyori_free_t08/motion/hiyori_m08.motion3.json b/models/hiyori_free_t08/motion/hiyori_m08.motion3.json
new file mode 100644
index 0000000..b742e8c
--- /dev/null
+++ b/models/hiyori_free_t08/motion/hiyori_m08.motion3.json
@@ -0,0 +1,755 @@
+{
+ "Version": 3,
+ "Meta": {
+ "Duration": 4.17,
+ "Fps": 30.0,
+ "Loop": true,
+ "AreBeziersRestricted": false,
+ "CurveCount": 22,
+ "TotalSegmentCount": 93,
+ "TotalPointCount": 257,
+ "UserDataCount": 0,
+ "TotalUserDataSize": 0
+ },
+ "Curves": [
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.4,
+ 0,
+ 0.6,
+ 0,
+ 0.8,
+ 0,
+ 1,
+ 1.067,
+ 0,
+ 1.333,
+ 1.041,
+ 1.6,
+ 1.041,
+ 1,
+ 1.844,
+ 1.041,
+ 2.089,
+ -8,
+ 2.333,
+ -8,
+ 1,
+ 2.656,
+ -8,
+ 2.978,
+ 6,
+ 3.3,
+ 6,
+ 0,
+ 4.167,
+ 6
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.344,
+ 0,
+ 0.489,
+ -30,
+ 0.633,
+ -30,
+ 0,
+ 4.167,
+ -30
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 4.167,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamCheek",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 4.167,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLOpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.067,
+ 1,
+ 0.133,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.311,
+ 1,
+ 0.422,
+ 0.988,
+ 0.533,
+ 0.8,
+ 1,
+ 0.589,
+ 0.706,
+ 0.644,
+ 0,
+ 0.7,
+ 0,
+ 1,
+ 0.722,
+ 0,
+ 0.744,
+ 0,
+ 0.767,
+ 0,
+ 1,
+ 0.822,
+ 0,
+ 0.878,
+ 0.8,
+ 0.933,
+ 0.8,
+ 1,
+ 1.422,
+ 0.8,
+ 1.911,
+ 0.8,
+ 2.4,
+ 0.8,
+ 1,
+ 2.456,
+ 0.8,
+ 2.511,
+ 0,
+ 2.567,
+ 0,
+ 1,
+ 2.589,
+ 0,
+ 2.611,
+ 0,
+ 2.633,
+ 0,
+ 1,
+ 2.689,
+ 0,
+ 2.744,
+ 0.8,
+ 2.8,
+ 0.8,
+ 0,
+ 4.167,
+ 0.8
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeLSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 4.167,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeROpen",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.067,
+ 1,
+ 0.133,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.311,
+ 1,
+ 0.422,
+ 0.988,
+ 0.533,
+ 0.8,
+ 1,
+ 0.589,
+ 0.706,
+ 0.644,
+ 0,
+ 0.7,
+ 0,
+ 1,
+ 0.722,
+ 0,
+ 0.744,
+ 0,
+ 0.767,
+ 0,
+ 1,
+ 0.822,
+ 0,
+ 0.878,
+ 0.8,
+ 0.933,
+ 0.8,
+ 1,
+ 1.422,
+ 0.8,
+ 1.911,
+ 0.8,
+ 2.4,
+ 0.8,
+ 1,
+ 2.456,
+ 0.8,
+ 2.511,
+ 0,
+ 2.567,
+ 0,
+ 1,
+ 2.589,
+ 0,
+ 2.611,
+ 0,
+ 2.633,
+ 0,
+ 1,
+ 2.689,
+ 0,
+ 2.744,
+ 0.8,
+ 2.8,
+ 0.8,
+ 0,
+ 4.167,
+ 0.8
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeRSmile",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ 0,
+ 0.433,
+ 0,
+ 0,
+ 4.167,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ 0,
+ 0.433,
+ 0,
+ 1,
+ 0.667,
+ 0,
+ 0.9,
+ 0.004,
+ 1.133,
+ -0.01,
+ 1,
+ 1.4,
+ -0.025,
+ 1.667,
+ -0.43,
+ 1.933,
+ -0.43,
+ 1,
+ 2.211,
+ -0.43,
+ 2.489,
+ 0.283,
+ 2.767,
+ 0.283,
+ 0,
+ 4.167,
+ 0.283
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamEyeBallY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ -1,
+ 0.433,
+ -1,
+ 0,
+ 4.167,
+ -1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowLForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ -0.75,
+ 0.433,
+ -0.75,
+ 0,
+ 4.167,
+ -0.75
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBrowRForm",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ -0.87,
+ 0.433,
+ -0.87,
+ 0,
+ 4.167,
+ -0.87
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthForm",
+ "Segments": [
+ 0,
+ 1,
+ 1,
+ 0.067,
+ 1,
+ 0.133,
+ 1,
+ 0.2,
+ 1,
+ 1,
+ 0.278,
+ 1,
+ 0.356,
+ -1,
+ 0.433,
+ -1,
+ 0,
+ 4.167,
+ -1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamMouthOpenY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.278,
+ 0,
+ 0.356,
+ 1,
+ 0.433,
+ 1,
+ 0,
+ 4.167,
+ 1
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleX",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.444,
+ 0,
+ 0.689,
+ 0,
+ 0.933,
+ 0,
+ 1,
+ 1.211,
+ 0,
+ 1.489,
+ 0,
+ 1.767,
+ 0,
+ 1,
+ 2.056,
+ 0,
+ 2.344,
+ -6,
+ 2.633,
+ -6,
+ 1,
+ 3.033,
+ -6,
+ 3.433,
+ 10,
+ 3.833,
+ 10,
+ 0,
+ 4.167,
+ 10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleY",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 4.167,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBodyAngleZ",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.8,
+ 0,
+ 1.4,
+ -2,
+ 2,
+ -2,
+ 1,
+ 2.456,
+ -2,
+ 2.911,
+ 8.125,
+ 3.367,
+ 8.125,
+ 0,
+ 4.167,
+ 8.125
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamBreath",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 0,
+ 4.167,
+ 0
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmLA",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.233,
+ 0,
+ 0.267,
+ 0,
+ 0.3,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.656,
+ -10,
+ 0.833,
+ -10,
+ 1,
+ 0.922,
+ -10,
+ 1.011,
+ -8.846,
+ 1.1,
+ -8.846,
+ 1,
+ 1.467,
+ -8.846,
+ 1.833,
+ -8.835,
+ 2.2,
+ -9.1,
+ 1,
+ 2.622,
+ -9.405,
+ 3.044,
+ -10,
+ 3.467,
+ -10,
+ 0,
+ 4.167,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamArmRA",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.233,
+ 0,
+ 0.267,
+ 0,
+ 0.3,
+ 0,
+ 1,
+ 0.478,
+ 0,
+ 0.656,
+ -10,
+ 0.833,
+ -10,
+ 1,
+ 0.922,
+ -10,
+ 1.011,
+ -8.972,
+ 1.1,
+ -8.846,
+ 1,
+ 1.467,
+ -8.328,
+ 1.833,
+ -8.2,
+ 2.2,
+ -8.2,
+ 1,
+ 2.622,
+ -8.2,
+ 3.044,
+ -10,
+ 3.467,
+ -10,
+ 0,
+ 4.167,
+ -10
+ ]
+ },
+ {
+ "Target": "Parameter",
+ "Id": "ParamHairAhoge",
+ "Segments": [
+ 0,
+ 0,
+ 1,
+ 0.067,
+ 0,
+ 0.133,
+ 0,
+ 0.2,
+ 0,
+ 1,
+ 0.233,
+ 0,
+ 0.267,
+ -5,
+ 0.3,
+ -5,
+ 1,
+ 0.378,
+ -5,
+ 0.456,
+ 10,
+ 0.533,
+ 10,
+ 1,
+ 0.633,
+ 10,
+ 0.733,
+ 4,
+ 0.833,
+ 4,
+ 0,
+ 4.167,
+ 4
+ ]
+ },
+ {
+ "Target": "PartOpacity",
+ "Id": "PartArmA",
+ "Segments": [
+ 0,
+ 1,
+ 0,
+ 4.17,
+ 1
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..951260e
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1339 @@
+{
+ "name": "vue3_cli_default",
+ "version": "0.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "vue3_cli_default",
+ "version": "0.0.0",
+ "dependencies": {
+ "easy-live2d": "^0.4.0-1",
+ "vue": "^3.2.8"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^1.6.0",
+ "@vue/compiler-sfc": "^3.2.6",
+ "vite": "^2.5.2"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.4.tgz",
+ "integrity": "sha512-xmzz+7fRpjrvDUj+GV7zfz/R3gSK2cOxGlazaXooxspCr539cbTXJKvBJzSVI2pPhcRGquoOtaIkKCsHQUiO3w==",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz",
+ "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@pixi/colord": {
+ "version": "2.9.6",
+ "resolved": "https://registry.npmmirror.com/@pixi/colord/-/colord-2.9.6.tgz",
+ "integrity": "sha512-nezytU2pw587fQstUu1AsJZDVEynjskwOL+kibwcdxsMBFqPsFFNA7xl0ii/gXuDi6M0xj3mfRJj8pBSc2jCfA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@pixi/sound": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmmirror.com/@pixi/sound/-/sound-6.0.1.tgz",
+ "integrity": "sha512-hpFlQSScAR2L/CsEoIvDi7s1oGsu8y9Zd742Vd3982N+q3IF2vFuIfV9HN4ryjlGnhCT8yBlEgs1gp4G9Rt9TA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "pixi.js": "^8.0.0"
+ }
+ },
+ "node_modules/@types/css-font-loading-module": {
+ "version": "0.0.12",
+ "resolved": "https://registry.npmmirror.com/@types/css-font-loading-module/-/css-font-loading-module-0.0.12.tgz",
+ "integrity": "sha512-x2tZZYkSxXqWvTDgveSynfjq/T2HyiZHXb00j/+gy19yp70PHCizM48XFdjBCWH7eHBD0R5i/pw9yMBP/BH5uA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@types/earcut": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/@types/earcut/-/earcut-3.0.0.tgz",
+ "integrity": "sha512-k/9fOUGO39yd2sCjrbAJvGDEQvRwRnQIZlBz43roGwUZo5SHAmyVvSFyaVVZkicRVCaDXPKlbxrUcBuJoSWunQ==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@types/estree": {
+ "version": "0.0.48",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
+ "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==",
+ "dev": true
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.6.0.tgz",
+ "integrity": "sha512-n3i8htn8pTg9M+kM3cnEfsPZx/6ngInlTroth6fA1LQTJq5aTVQ8ggaE5pPoAy9vCgHPtcaXMzwpldhqRAkebQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "@vue/compiler-sfc": "^3.2.6"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.8.tgz",
+ "integrity": "sha512-Sx8qJ030+QM/NakUrkQuUGCeDEb+0d0AgFOl5W4qRvR6e+YgLnW2ew0jREf4T1hak9Fdk8Edl67StECHrhEuew==",
+ "dependencies": {
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "@vue/shared": "3.2.8",
+ "estree-walker": "^2.0.2",
+ "source-map": "^0.6.1"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.8.tgz",
+ "integrity": "sha512-nxBW6k8FMWQ74294CRbqR+iEJRO5vIjx85I3YCOyZFD6FsDHyFL60g76TcJzucp+F2XXIDaYz+A+F4gQlDatjw==",
+ "dependencies": {
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.8.tgz",
+ "integrity": "sha512-XClueQAXoWtN2EToKgfYH9FCL70Ac4bxx6OZFZzxYSg1bei8IB9srJP1UOfnJb2IpnM1heikAz1dp1HI1wHcyQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "@types/estree": "^0.0.48",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/compiler-ssr": "3.2.8",
+ "@vue/ref-transform": "3.2.8",
+ "@vue/shared": "3.2.8",
+ "consolidate": "^0.16.0",
+ "estree-walker": "^2.0.2",
+ "hash-sum": "^2.0.0",
+ "lru-cache": "^5.1.1",
+ "magic-string": "^0.25.7",
+ "merge-source-map": "^1.1.0",
+ "postcss": "^8.1.10",
+ "postcss-modules": "^4.0.0",
+ "postcss-selector-parser": "^6.0.4",
+ "source-map": "^0.6.1"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.8.tgz",
+ "integrity": "sha512-QqyiFRiIl55W0abDNQ6cNG/7iIfBHmbXVtssUAjX3IlI87ELeT0xackmrCyTSnfIX12ixljg9AN0COIZwlvt5A==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.8.tgz",
+ "integrity": "sha512-/Hj3Uz28SG+xB5SDWPOXUs0emvHkq82EmTgk44/plTVFeswCZ3i3Hd7WmsrPT4rGajlDKd5uqMmW0ith1ED0FA==",
+ "dependencies": {
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "node_modules/@vue/ref-transform": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.8.tgz",
+ "integrity": "sha512-9LdADd4JM3klt+b2qNT8a7b7JvBETNBy2Btv5rDzyPrAVS4Vrw+1WWay6gZBgnxfJ9TPSvG8f/9zu6gNGHmJLA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.15.0",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.8.tgz",
+ "integrity": "sha512-hwzXLGw1njBEY5JSyRXIIdCtzMFFF6F38WcKMmoIE3p7da30jEbWt8EwwrBomjT8ZbqzElOGlewBcnXNOiiIUg==",
+ "dependencies": {
+ "@vue/reactivity": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.8.tgz",
+ "integrity": "sha512-A/aRrlGLJ5y4Z7eNbnO/xHwx2RiPijQo7D3OIwESroG3HNP+dpuoqamajo5TXS9ZGjbMOih82COoe7xb9P4BZw==",
+ "dependencies": {
+ "@vue/runtime-core": "3.2.8",
+ "@vue/shared": "3.2.8",
+ "csstype": "^2.6.8"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.8.tgz",
+ "integrity": "sha512-E2DQQnG7Qr4GwTs3GlfPPlHliGVADoufTnhpwfoViw7JlyLMmYtjfnTwM6nXAwvSJWiF7D+7AxpnWBBT3VWo6Q=="
+ },
+ "node_modules/@webgpu/types": {
+ "version": "0.1.64",
+ "resolved": "https://registry.npmmirror.com/@webgpu/types/-/types-0.1.64.tgz",
+ "integrity": "sha512-84kRIAGV46LJTlJZWxShiOrNL30A+9KokD7RB3dRCIqODFjodS5tCD5yyiZ8kIReGVZSDfA3XkkwyyOIF6K62A==",
+ "license": "BSD-3-Clause",
+ "peer": true
+ },
+ "node_modules/@xmldom/xmldom": {
+ "version": "0.8.10",
+ "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
+ "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
+ },
+ "node_modules/colorette": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
+ "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==",
+ "dev": true
+ },
+ "node_modules/consolidate": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz",
+ "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==",
+ "dev": true,
+ "dependencies": {
+ "bluebird": "^3.7.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "2.6.17",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
+ "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
+ },
+ "node_modules/earcut": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/earcut/-/earcut-3.0.2.tgz",
+ "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==",
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/easy-live2d": {
+ "version": "0.4.0-1",
+ "resolved": "https://registry.npmmirror.com/easy-live2d/-/easy-live2d-0.4.0-1.tgz",
+ "integrity": "sha512-ZKSJVK1fNxDN9scgcLAtNg8a+oaTstUVTtx55NBG3Aqn8TY6sX+exnpGG7jUwHn3f9+ryyPwdFRdYPpUwQqoJg==",
+ "license": "MPL-2.0",
+ "dependencies": {
+ "@pixi/sound": "^6.0.1"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ }
+ },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.12.25",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.25.tgz",
+ "integrity": "sha512-woie0PosbRSoN8gQytrdCzUbS2ByKgO8nD1xCZkEup3D9q92miCze4PqEI9TZDYAuwn6CruEnQpJxgTRWdooAg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "node_modules/eventemitter3": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz",
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "node_modules/generic-names": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz",
+ "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==",
+ "dev": true,
+ "dependencies": {
+ "loader-utils": "^1.1.0"
+ }
+ },
+ "node_modules/gifuct-js": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/gifuct-js/-/gifuct-js-2.1.2.tgz",
+ "integrity": "sha512-rI2asw77u0mGgwhV3qA+OEgYqaDn5UNqgs+Bx0FGwSpuqfYn+Ir6RQY5ENNQ8SbIiG/m5gVa7CD5RriO4f4Lsg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "js-binary-schema-parser": "^2.0.3"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/hash-sum": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
+ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
+ "dev": true
+ },
+ "node_modules/icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+ "dev": true
+ },
+ "node_modules/icss-utils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+ "dev": true,
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz",
+ "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/ismobilejs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/ismobilejs/-/ismobilejs-1.1.1.tgz",
+ "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/js-binary-schema-parser": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmmirror.com/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz",
+ "integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+ "dev": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "node_modules/merge-source-map": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+ "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+ "dev": true,
+ "dependencies": {
+ "source-map": "^0.6.1"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "node_modules/nanoid": {
+ "version": "3.1.25",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
+ "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+ "dev": true,
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/parse-svg-path": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmmirror.com/parse-svg-path/-/parse-svg-path-0.1.2.tgz",
+ "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/pixi.js": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmmirror.com/pixi.js/-/pixi.js-8.11.0.tgz",
+ "integrity": "sha512-dyuThzncsgEgJZnvd/A/5x6IkUERbK+phXqUQrI+0C6WE+8xqGH5VChRTLecemhgZF0kQ+gZOM3tJTX9937xpg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@pixi/colord": "^2.9.6",
+ "@types/css-font-loading-module": "^0.0.12",
+ "@types/earcut": "^3.0.0",
+ "@webgpu/types": "^0.1.40",
+ "@xmldom/xmldom": "^0.8.10",
+ "earcut": "^3.0.1",
+ "eventemitter3": "^5.0.1",
+ "gifuct-js": "^2.1.2",
+ "ismobilejs": "^1.1.1",
+ "parse-svg-path": "^0.1.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/pixijs"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
+ "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
+ "dev": true,
+ "dependencies": {
+ "colorette": "^1.2.2",
+ "nanoid": "^3.1.23",
+ "source-map-js": "^0.6.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/postcss-modules": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.2.2.tgz",
+ "integrity": "sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==",
+ "dev": true,
+ "dependencies": {
+ "generic-names": "^2.0.1",
+ "icss-replace-symbols": "^1.1.0",
+ "lodash.camelcase": "^4.3.0",
+ "postcss-modules-extract-imports": "^3.0.0",
+ "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-scope": "^3.0.0",
+ "postcss-modules-values": "^4.0.0",
+ "string-hash": "^1.1.1"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-modules-extract-imports": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "dev": true,
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-local-by-default": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+ "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+ "dev": true,
+ "dependencies": {
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-scope": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+ "dev": true,
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+ "dev": true,
+ "dependencies": {
+ "icss-utils": "^5.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
+ "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
+ "dev": true,
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
+ "dev": true
+ },
+ "node_modules/resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.56.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.56.3.tgz",
+ "integrity": "sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
+ "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
+ },
+ "node_modules/string-hash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
+ "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
+ "dev": true
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "node_modules/vite": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.3.tgz",
+ "integrity": "sha512-1wMDnjflvtTTkMov8O/Xb5+w1/VW/Gw8oCf8f6dqgHn8lMOEqq0SaPtFEQeikFcOKCfSbiU0nEi0LDIx6DNsaQ==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.12.17",
+ "postcss": "^8.3.6",
+ "resolve": "^1.20.0",
+ "rollup": "^2.38.5"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": ">=12.2.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.8.tgz",
+ "integrity": "sha512-x7lwdnOSkceHQUXRVVHBaZzcp6v7M2CYtSZH75zZaT1mTjB4plC4KZHKP/5jAvdqOLBHZGwDSMkWXm3YbAufrA==",
+ "dependencies": {
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/runtime-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ }
+ },
+ "dependencies": {
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g=="
+ },
+ "@babel/parser": {
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.4.tgz",
+ "integrity": "sha512-xmzz+7fRpjrvDUj+GV7zfz/R3gSK2cOxGlazaXooxspCr539cbTXJKvBJzSVI2pPhcRGquoOtaIkKCsHQUiO3w=="
+ },
+ "@babel/types": {
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz",
+ "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@pixi/colord": {
+ "version": "2.9.6",
+ "resolved": "https://registry.npmmirror.com/@pixi/colord/-/colord-2.9.6.tgz",
+ "integrity": "sha512-nezytU2pw587fQstUu1AsJZDVEynjskwOL+kibwcdxsMBFqPsFFNA7xl0ii/gXuDi6M0xj3mfRJj8pBSc2jCfA==",
+ "peer": true
+ },
+ "@pixi/sound": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmmirror.com/@pixi/sound/-/sound-6.0.1.tgz",
+ "integrity": "sha512-hpFlQSScAR2L/CsEoIvDi7s1oGsu8y9Zd742Vd3982N+q3IF2vFuIfV9HN4ryjlGnhCT8yBlEgs1gp4G9Rt9TA==",
+ "requires": {}
+ },
+ "@types/css-font-loading-module": {
+ "version": "0.0.12",
+ "resolved": "https://registry.npmmirror.com/@types/css-font-loading-module/-/css-font-loading-module-0.0.12.tgz",
+ "integrity": "sha512-x2tZZYkSxXqWvTDgveSynfjq/T2HyiZHXb00j/+gy19yp70PHCizM48XFdjBCWH7eHBD0R5i/pw9yMBP/BH5uA==",
+ "peer": true
+ },
+ "@types/earcut": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/@types/earcut/-/earcut-3.0.0.tgz",
+ "integrity": "sha512-k/9fOUGO39yd2sCjrbAJvGDEQvRwRnQIZlBz43roGwUZo5SHAmyVvSFyaVVZkicRVCaDXPKlbxrUcBuJoSWunQ==",
+ "peer": true
+ },
+ "@types/estree": {
+ "version": "0.0.48",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
+ "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==",
+ "dev": true
+ },
+ "@vitejs/plugin-vue": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.6.0.tgz",
+ "integrity": "sha512-n3i8htn8pTg9M+kM3cnEfsPZx/6ngInlTroth6fA1LQTJq5aTVQ8ggaE5pPoAy9vCgHPtcaXMzwpldhqRAkebQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "@vue/compiler-core": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.8.tgz",
+ "integrity": "sha512-Sx8qJ030+QM/NakUrkQuUGCeDEb+0d0AgFOl5W4qRvR6e+YgLnW2ew0jREf4T1hak9Fdk8Edl67StECHrhEuew==",
+ "requires": {
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "@vue/shared": "3.2.8",
+ "estree-walker": "^2.0.2",
+ "source-map": "^0.6.1"
+ }
+ },
+ "@vue/compiler-dom": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.8.tgz",
+ "integrity": "sha512-nxBW6k8FMWQ74294CRbqR+iEJRO5vIjx85I3YCOyZFD6FsDHyFL60g76TcJzucp+F2XXIDaYz+A+F4gQlDatjw==",
+ "requires": {
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "@vue/compiler-sfc": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.8.tgz",
+ "integrity": "sha512-XClueQAXoWtN2EToKgfYH9FCL70Ac4bxx6OZFZzxYSg1bei8IB9srJP1UOfnJb2IpnM1heikAz1dp1HI1wHcyQ==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "@types/estree": "^0.0.48",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/compiler-ssr": "3.2.8",
+ "@vue/ref-transform": "3.2.8",
+ "@vue/shared": "3.2.8",
+ "consolidate": "^0.16.0",
+ "estree-walker": "^2.0.2",
+ "hash-sum": "^2.0.0",
+ "lru-cache": "^5.1.1",
+ "magic-string": "^0.25.7",
+ "merge-source-map": "^1.1.0",
+ "postcss": "^8.1.10",
+ "postcss-modules": "^4.0.0",
+ "postcss-selector-parser": "^6.0.4",
+ "source-map": "^0.6.1"
+ }
+ },
+ "@vue/compiler-ssr": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.8.tgz",
+ "integrity": "sha512-QqyiFRiIl55W0abDNQ6cNG/7iIfBHmbXVtssUAjX3IlI87ELeT0xackmrCyTSnfIX12ixljg9AN0COIZwlvt5A==",
+ "dev": true,
+ "requires": {
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "@vue/reactivity": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.8.tgz",
+ "integrity": "sha512-/Hj3Uz28SG+xB5SDWPOXUs0emvHkq82EmTgk44/plTVFeswCZ3i3Hd7WmsrPT4rGajlDKd5uqMmW0ith1ED0FA==",
+ "requires": {
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "@vue/ref-transform": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.8.tgz",
+ "integrity": "sha512-9LdADd4JM3klt+b2qNT8a7b7JvBETNBy2Btv5rDzyPrAVS4Vrw+1WWay6gZBgnxfJ9TPSvG8f/9zu6gNGHmJLA==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.15.0",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7"
+ }
+ },
+ "@vue/runtime-core": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.8.tgz",
+ "integrity": "sha512-hwzXLGw1njBEY5JSyRXIIdCtzMFFF6F38WcKMmoIE3p7da30jEbWt8EwwrBomjT8ZbqzElOGlewBcnXNOiiIUg==",
+ "requires": {
+ "@vue/reactivity": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "@vue/runtime-dom": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.8.tgz",
+ "integrity": "sha512-A/aRrlGLJ5y4Z7eNbnO/xHwx2RiPijQo7D3OIwESroG3HNP+dpuoqamajo5TXS9ZGjbMOih82COoe7xb9P4BZw==",
+ "requires": {
+ "@vue/runtime-core": "3.2.8",
+ "@vue/shared": "3.2.8",
+ "csstype": "^2.6.8"
+ }
+ },
+ "@vue/shared": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.8.tgz",
+ "integrity": "sha512-E2DQQnG7Qr4GwTs3GlfPPlHliGVADoufTnhpwfoViw7JlyLMmYtjfnTwM6nXAwvSJWiF7D+7AxpnWBBT3VWo6Q=="
+ },
+ "@webgpu/types": {
+ "version": "0.1.64",
+ "resolved": "https://registry.npmmirror.com/@webgpu/types/-/types-0.1.64.tgz",
+ "integrity": "sha512-84kRIAGV46LJTlJZWxShiOrNL30A+9KokD7RB3dRCIqODFjodS5tCD5yyiZ8kIReGVZSDfA3XkkwyyOIF6K62A==",
+ "peer": true
+ },
+ "@xmldom/xmldom": {
+ "version": "0.8.10",
+ "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
+ "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
+ "peer": true
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
+ },
+ "colorette": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
+ "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==",
+ "dev": true
+ },
+ "consolidate": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz",
+ "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.7.2"
+ }
+ },
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true
+ },
+ "csstype": {
+ "version": "2.6.17",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
+ "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
+ },
+ "earcut": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/earcut/-/earcut-3.0.2.tgz",
+ "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==",
+ "peer": true
+ },
+ "easy-live2d": {
+ "version": "0.4.0-1",
+ "resolved": "https://registry.npmmirror.com/easy-live2d/-/easy-live2d-0.4.0-1.tgz",
+ "integrity": "sha512-ZKSJVK1fNxDN9scgcLAtNg8a+oaTstUVTtx55NBG3Aqn8TY6sX+exnpGG7jUwHn3f9+ryyPwdFRdYPpUwQqoJg==",
+ "requires": {
+ "@pixi/sound": "^6.0.1"
+ }
+ },
+ "emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true
+ },
+ "esbuild": {
+ "version": "0.12.25",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.25.tgz",
+ "integrity": "sha512-woie0PosbRSoN8gQytrdCzUbS2ByKgO8nD1xCZkEup3D9q92miCze4PqEI9TZDYAuwn6CruEnQpJxgTRWdooAg==",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "eventemitter3": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz",
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
+ "peer": true
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "generic-names": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz",
+ "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0"
+ }
+ },
+ "gifuct-js": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/gifuct-js/-/gifuct-js-2.1.2.tgz",
+ "integrity": "sha512-rI2asw77u0mGgwhV3qA+OEgYqaDn5UNqgs+Bx0FGwSpuqfYn+Ir6RQY5ENNQ8SbIiG/m5gVa7CD5RriO4f4Lsg==",
+ "peer": true,
+ "requires": {
+ "js-binary-schema-parser": "^2.0.3"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "hash-sum": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
+ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
+ "dev": true
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+ "dev": true
+ },
+ "icss-utils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+ "dev": true,
+ "requires": {}
+ },
+ "is-core-module": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz",
+ "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "ismobilejs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/ismobilejs/-/ismobilejs-1.1.1.tgz",
+ "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==",
+ "peer": true
+ },
+ "js-binary-schema-parser": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmmirror.com/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz",
+ "integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==",
+ "peer": true
+ },
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "magic-string": {
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "merge-source-map": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+ "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.6.1"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "nanoid": {
+ "version": "3.1.25",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
+ "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+ "dev": true
+ },
+ "parse-svg-path": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmmirror.com/parse-svg-path/-/parse-svg-path-0.1.2.tgz",
+ "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==",
+ "peer": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "pixi.js": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmmirror.com/pixi.js/-/pixi.js-8.11.0.tgz",
+ "integrity": "sha512-dyuThzncsgEgJZnvd/A/5x6IkUERbK+phXqUQrI+0C6WE+8xqGH5VChRTLecemhgZF0kQ+gZOM3tJTX9937xpg==",
+ "peer": true,
+ "requires": {
+ "@pixi/colord": "^2.9.6",
+ "@types/css-font-loading-module": "^0.0.12",
+ "@types/earcut": "^3.0.0",
+ "@webgpu/types": "^0.1.40",
+ "@xmldom/xmldom": "^0.8.10",
+ "earcut": "^3.0.1",
+ "eventemitter3": "^5.0.1",
+ "gifuct-js": "^2.1.2",
+ "ismobilejs": "^1.1.1",
+ "parse-svg-path": "^0.1.2"
+ }
+ },
+ "postcss": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
+ "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
+ "dev": true,
+ "requires": {
+ "colorette": "^1.2.2",
+ "nanoid": "^3.1.23",
+ "source-map-js": "^0.6.2"
+ }
+ },
+ "postcss-modules": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.2.2.tgz",
+ "integrity": "sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==",
+ "dev": true,
+ "requires": {
+ "generic-names": "^2.0.1",
+ "icss-replace-symbols": "^1.1.0",
+ "lodash.camelcase": "^4.3.0",
+ "postcss-modules-extract-imports": "^3.0.0",
+ "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-scope": "^3.0.0",
+ "postcss-modules-values": "^4.0.0",
+ "string-hash": "^1.1.1"
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "dev": true,
+ "requires": {}
+ },
+ "postcss-modules-local-by-default": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+ "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+ "dev": true,
+ "requires": {
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+ "dev": true,
+ "requires": {
+ "postcss-selector-parser": "^6.0.4"
+ }
+ },
+ "postcss-modules-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+ "dev": true,
+ "requires": {
+ "icss-utils": "^5.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
+ "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "rollup": {
+ "version": "2.56.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.56.3.tgz",
+ "integrity": "sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "source-map-js": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
+ "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
+ "dev": true
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
+ },
+ "string-hash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
+ "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "vite": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.3.tgz",
+ "integrity": "sha512-1wMDnjflvtTTkMov8O/Xb5+w1/VW/Gw8oCf8f6dqgHn8lMOEqq0SaPtFEQeikFcOKCfSbiU0nEi0LDIx6DNsaQ==",
+ "dev": true,
+ "requires": {
+ "esbuild": "^0.12.17",
+ "fsevents": "~2.3.2",
+ "postcss": "^8.3.6",
+ "resolve": "^1.20.0",
+ "rollup": "^2.38.5"
+ }
+ },
+ "vue": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.8.tgz",
+ "integrity": "sha512-x7lwdnOSkceHQUXRVVHBaZzcp6v7M2CYtSZH75zZaT1mTjB4plC4KZHKP/5jAvdqOLBHZGwDSMkWXm3YbAufrA==",
+ "requires": {
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/runtime-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
+ }
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..c819de9
--- /dev/null
+++ b/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "vue3_cli_default",
+ "version": "0.0.0",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "serve": "vite preview"
+ },
+ "dependencies": {
+ "easy-live2d": "^0.4.0-1",
+ "vue": "^3.2.8"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^1.6.0",
+ "@vue/compiler-sfc": "^3.2.6",
+ "vite": "^2.5.2"
+ }
+}
diff --git a/packages/cubism/core/CHANGELOG.md b/packages/cubism/core/CHANGELOG.md
new file mode 100644
index 0000000..5e4010c
--- /dev/null
+++ b/packages/cubism/core/CHANGELOG.md
@@ -0,0 +1,364 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+
+
+## 2025-04-24
+
+### Added
+
+* Add the function `csmGetParameterRepeats`.
+ * This function retrieves whether the parameters are set to repeat.
+
+### Changed
+
+* Upgrade Core version to 05.01.0000.
+
+### Fixed
+
+* Fix `csmGetParameterKeyCounts()` and `csmGetParameterKeyValues()` symbols in the DLL.
+
+
+## 2024-12-19
+
+### Removed
+
+* [Native] Remove Visual Studio 2013 (MSVC 120) static library.
+
+
+## 2024-11-07
+
+### Added
+
+* [Native] Add experimental support `arm64` library for linux.
+
+### Removed
+
+* [Unity,Native,Java] Remove Android ARM v7 library.
+
+
+## 2024-04-04
+
+### Added
+
+* [Unity] Add library(.so) for HarmonyOS build.
+
+
+## 2024-03-26
+
+### Remove
+
+* [Unity] Remove built with Emscripten 1.38.48.
+ * Unity 2021.2 or later uses only Core under `Assets/Live2D/Cubism/Plugins/Experimental/Emscripten/latest`.
+
+
+## 2023-09-28
+
+### Remove
+
+* Remove bitcode from IOS build.
+
+
+## 2023-08-17
+
+### Added
+
+* Enhance Blend Shape features.
+ * Please see [here](https://docs.live2d.com/en/cubism-editor-manual/blend-shape/).
+
+### Changed
+
+* Upgrade Core version to 05.00.0000.
+
+
+## 2023-05-09
+
+### Changed
+
+* Change the GCC version of the library for Linux from 6.5.0 to 8.3.0.
+
+
+## 2023-03-16
+
+### Fixed
+
+* Fix a case in which the index of the mask's drawable object was negative value for `csmGetDrawableMasks()`.
+* Fix a problem in which `csmHasMocConsistency()` was returned as 0 even though the MOC3 file was in the correct format.
+ * This problem was occurring in some models using the blendshape weight limit settings.
+* Fix a problem that could cause a crash if a MOC3 file that is not in the correct format is loaded with `csmHasMocConsistency()`.
+
+### Changed
+
+* Upgrade Core version to 04.02.0004.
+
+
+## 2023-03-10
+
+### Added
+
+* Add the function `csmHasMocConsistency`.
+ * This function verifies that the `MOC3` file is valid.
+
+### Changed
+
+* Upgrade Core version to 04.02.0003.
+
+
+## 2023-02-21
+
+### Added
+
+* [Web] Added classes related to `Memory`.
+ * Add the funciton `initializeAmountOfMemory()` to adjust the amount of memory at initialization.
+
+
+## 2022-10-28
+
+### Fixed
+
+* [Java] Remove unnecessary methods.
+
+
+## 2022-10-06
+
+### Added
+
+* [Java] Add AAR file for Android.
+
+
+## 2022-09-08
+
+### Added
+
+* Add the multilingual supported documents.
+* Support Visual Studio 2022.
+
+
+## 2022-08-04
+
+### Fixed
+
+* [Web] Fix `csmGetMocVersion` function argument.
+
+
+## 2022-07-07
+
+### Added
+
+* Add functions
+ * `csmGetParameterTypes`
+ * `csmGetDrawableParentPartIndices`
+
+* Add type `csmMocVersion` and enum. This type is the return value of `csmGetMocVersion`, `csmGetLatestMocVersion`.
+
+### Changed
+
+* Upgrade Core version to 04.02.0002.
+
+
+## 2022-06-02
+
+### Changed
+
+* Upgrade Core version to 04.02.0001.
+
+### Fixed
+
+* Fixed a bug that caused Multiply Color / Screen Color of different objects to be applied.
+
+
+## 2022-05-19
+
+### Added
+
+* Support new Multiply Color / Screen Color features.
+* Support new Blend Shape features.
+
+### Changed
+
+* Upgrade Core version to 04.02.0000. This upgrade is following Cubism Editor 4.2 features.
+
+
+## 2022-02-10
+
+### Added
+
+* [Unity] Add bitcode library(.bc) for Emscripten latest version build.
+
+### Changed
+
+* [Unity] Change the bitcode file directory location.
+ * emsdk latest version build bitcode file in `latest` directory.
+ * emsdk 1.38.48 build bitcode file in `1_38_48` directory.
+
+
+## 2021-12-09
+
+### Added
+
+* Add static library(.a) for Mac Catalyst.
+
+
+## 2021-10-07
+
+### Added
+
+* Add `x86_64` library for Android.
+* Add `arm64` library for macOS.
+
+
+## 2021-03-09
+
+### Added
+
+* Add funtcions for Viewer.
+ * `csmGetParameterKeyCounts`
+ * `csmGetParameterKeyValues`
+
+
+### Changed
+
+* Update Core version to `04.01.0000`.
+
+
+## 2020-01-30
+
+### Added
+
+* Add static library(.lib) for statically linking DLL.
+* Add symbol file for Windows dynamic library (dll).
+
+
+## 2019-11-19
+
+### Fixed
+
+* Fix linking static libraries for Windows (.lib).
+
+
+## 2019-11-14
+
+### Added
+
+* Support Visual Studio 2019.
+* Support macOS dynamic library (dylib).
+
+### Changed
+
+* Update Windows dynamic library: Use Visual Studio 2019 for building.
+
+### Security
+
+* Bundle certificate and notary ticket to macOS shared library.
+
+
+## 2019-09-04
+
+### Added
+
+* Support new Inverted Masking features.
+* Support ARM64 architecture for Universal Windows Platform.
+
+### Changed
+
+* Upgrade Core version to 04.00.0000 (67108864). This upgrade is following Cubism Editor 4.0 features.
+* Add calling convention for *Windows/x86 DLL* only.
+
+### Removed
+
+* Remove bitcode binary due to suspension of *Cubism Bindings.*
+
+
+## 2019-04-09
+
+### Added
+
+* Support Universal Windows Platform for Windows Store Application.
+
+
+## 2019-01-31
+
+### Added
+
+* Add API to get the parent part of the specified part.
+* Add API to get moc3 version.
+
+
+## 2018-12-20
+
+### Added
+
+* [Native] Add new function: `csmGetPartParentPartIndices`.
+* [Native, 3.3 Support] Support new Warp Deformer features.
+
+### Changed
+
+* Upgrade Core version to 03.03.0000 (50528256). This upgrade is following Cubism Editor 3.3 features.
+
+
+## 2018-08-22
+
+### Added
+
+* [Native] Add support for Neon.
+
+
+## 2018-05-14
+
+### Added
+
+* [Native] Add Windows **Visual C++ 2013** library.
+* [Windows] Add runtime library choice `MT`, `MD`, `MTd`, `MDd`.
+* [iOS] Add support for iPhone Simulator SDK.
+
+### Fixed
+
+* Fix an error occurred when linking libraries for Android `arm64-v8a`.
+
+
+## 2017-11-17
+
+### Fixed
+
+* Fix processing of vertex index.
+
+
+## 2017-10-05
+
+### Added
+
+* Provide bitcode for iOS.
+
+
+## 2017-08-09
+
+### Added
+
+* [Native] Add Android *arm64-v8a* ABI library.
+
+### Fixed
+
+* Fix drawing order in certain scenarios.
+
+
+## 2017-07-12
+
+### Added
+
+* Add experimental support for Emscripten.
+* Add `CHANGELOG.md`.
+
+### Fixed
+
+* Fix access violation in certain scenarios.
+* Fix update result in certain scenarios.
+
+
+## 2017-05-02
+
+### Added
+
+* [Native] Add experimental support for Raspberry PI.
+* Add `README.md`.
diff --git a/packages/cubism/core/LICENSE.md b/packages/cubism/core/LICENSE.md
new file mode 100644
index 0000000..4139d4f
--- /dev/null
+++ b/packages/cubism/core/LICENSE.md
@@ -0,0 +1,7 @@
+## Live2D Proprietary Software License
+
+Live2D Cubism Core is available under Live2D Proprietary Software License.
+
+* [Live2D Proprietary Software License Agreement](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html)
+* [Live2D Proprietary Software 使用許諾契約書](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_jp.html)
+* [Live2D Proprietary Software 使用授权协议](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_cn.html)
diff --git a/packages/cubism/core/README.ja.md b/packages/cubism/core/README.ja.md
new file mode 100644
index 0000000..359c71a
--- /dev/null
+++ b/packages/cubism/core/README.ja.md
@@ -0,0 +1,30 @@
+[English](README.md) / [日本語](README.ja.md)
+
+---
+
+# Live2D Cubism Core
+
+このフォルダーには、JavaScriptまたはTypeScriptアプリケーションを開発するためのコアライブラリファイルが含まれています。
+
+
+## ファイルリスト
+
+### live2dcubismcore.d.ts
+
+このファイルには、`live2dcubismcore.js`に関するTypeScriptの型情報が含まれています。
+TypeScriptで開発する場合は、このファイルを`live2dcubismcore.js`とともに使用してください。
+
+### live2dcubismcore.js
+
+このファイルには、CubismCoreの機能といくつかのラッパーが含まれています。
+JavaScriptで開発する場合は、このファイルを使用してください。
+
+### live2dcubismcore.js.map
+
+このファイルは、`live2dcubismcore.d.ts`と`live2dcubismcore.js`の間のソースマップです。
+デバッグ時にこのファイルを使用します。
+
+### live2dcubismcore.min.js
+
+このファイルは、`live2dcubismcore.js`のminify版です。
+このファイルを本番環境で使用します。
diff --git a/packages/cubism/core/README.md b/packages/cubism/core/README.md
new file mode 100644
index 0000000..c8764e9
--- /dev/null
+++ b/packages/cubism/core/README.md
@@ -0,0 +1,30 @@
+[English](README.md) / [日本語](README.ja.md)
+
+---
+
+# Live2D Cubism Core
+
+This folder contains core library files for developing JavaScript or TypeScript applications.
+
+
+## File List
+
+### live2dcubismcore.d.ts
+
+This file contains typescript type information about `live2dcubismcore.js`.
+Use this file with `live2dcubismcore.js` when developing with TypeScript.
+
+### live2dcubismcore.js
+
+This file contains Cubism Core features and some wrapper features.
+Use this file when developing with JavaScript.
+
+### live2dcubismcore.js.map
+
+This file is the source map between `live2dcubismcore.d.ts` and `live2dcubismcore.js`.
+Use this file when debugging.
+
+### live2dcubismcore.min.js
+
+This file is the minified version of `live2dcubismcore.js`.
+Use this file in production.
diff --git a/packages/cubism/core/RedistributableFiles.txt b/packages/cubism/core/RedistributableFiles.txt
new file mode 100644
index 0000000..daf7a73
--- /dev/null
+++ b/packages/cubism/core/RedistributableFiles.txt
@@ -0,0 +1,6 @@
+The following is a list of files available for redistribution
+under the terms of the Live2D Proprietary Software License Agreement:
+
+- live2dcubismcore.d.ts
+- live2dcubismcore.js
+- live2dcubismcore.min.js
diff --git a/packages/cubism/core/live2dcubismcore.d.ts b/packages/cubism/core/live2dcubismcore.d.ts
new file mode 100644
index 0000000..2fe007d
--- /dev/null
+++ b/packages/cubism/core/live2dcubismcore.d.ts
@@ -0,0 +1,369 @@
+/**
+ * Copyright(c) Live2D Inc. All rights reserved.
+ *
+ * Use of this source code is governed by the Live2D Proprietary Software license
+ * that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html.
+ */
+declare namespace Live2DCubismCore {
+ /** Cubism version identifier. */
+ type csmVersion = number;
+ /** moc3 version identifier. */
+ type csmMocVersion = number;
+ /** Parameter type identifier. */
+ type csmParameterType = number;
+ /** Necessary alignment for mocs (in bytes). */
+ const AlignofMoc: number;
+ /** Necessary alignment for models (in bytes). */
+ const AlignofModel: number;
+ /** .moc3 file version Unknown */
+ const MocVersion_Unknown: number;
+ /** .moc3 file version 3.0.00 - 3.2.07 */
+ const MocVersion_30: number;
+ /** .moc3 file version 3.3.00 - 3.3.03 */
+ const MocVersion_33: number;
+ /** .moc3 file version 4.0.00 - 4.1.05 */
+ const MocVersion_40: number;
+ /** .moc3 file version 4.2.00 - 4.2.04 */
+ const MocVersion_42: number;
+ /** .moc3 file version 5.0.00 - */
+ const MocVersion_50: number;
+ /** Normal Parameter. */
+ const ParameterType_Normal: number;
+ /** Parameter for blend shape. */
+ const ParameterType_BlendShape: number;
+ /** Log handler.
+ *
+ * @param message Null-terminated string message to log.
+ */
+ interface csmLogFunction {
+ (message: string): void;
+ }
+ /** Cubism version. */
+ class Version {
+ /**
+ * Queries Core version.
+ *
+ * @return Core version.
+ */
+ static csmGetVersion(): csmVersion;
+ /**
+ * Gets Moc file supported latest version.
+ *
+ * @return Moc file latest format version.
+ */
+ static csmGetLatestMocVersion(): csmMocVersion;
+ /**
+ * Gets Moc file format version.
+ *
+ * @param moc Moc
+ *
+ * @return csmMocVersion
+ */
+ static csmGetMocVersion(moc: Moc, mocBytes: ArrayBuffer): csmMocVersion;
+ private constructor();
+ }
+ /** Cubism logging. */
+ class Logging {
+ private static logFunction;
+ /**
+ * Sets log handler.
+ *
+ * @param handler Handler to use.
+ */
+ static csmSetLogFunction(handler: csmLogFunction): void;
+ /**
+ * Queries log handler.
+ *
+ * @return Log handler.
+ */
+ static csmGetLogFunction(): csmLogFunction;
+ /**
+ * Wrap log function.
+ *
+ * @param messagePtr number
+ *
+ * @return string
+ */
+ private static wrapLogFunction;
+ private constructor();
+ }
+ /** Cubism moc. */
+ class Moc {
+ /**
+ * Checks consistency of a moc.
+ *
+ * @param mocBytes Moc bytes.
+ *
+ * @returns '1' if Moc is valid; '0' otherwise.
+ */
+ hasMocConsistency(mocBytes: ArrayBuffer): number;
+ /** Creates [[Moc]] from [[ArrayBuffer]].
+ *
+ * @param buffer Array buffer
+ *
+ * @return [[Moc]] on success; [[null]] otherwise.
+ */
+ static fromArrayBuffer(buffer: ArrayBuffer): Moc;
+ /** Releases instance. */
+ _release(): void;
+ /** Native moc. */
+ _ptr: number;
+ /**
+ * Initializes instance.
+ *
+ * @param mocBytes Moc bytes.
+ */
+ private constructor();
+ }
+ /** Cubism model. */
+ class Model {
+ /** Parameters. */
+ parameters: Parameters;
+ /** Parts. */
+ parts: Parts;
+ /** Drawables. */
+ drawables: Drawables;
+ /** Canvas information. */
+ canvasinfo: CanvasInfo;
+ /**
+ * Creates [[Model]] from [[Moc]].
+ *
+ * @param moc Moc
+ *
+ * @return [[Model]] on success; [[null]] otherwise.
+ */
+ static fromMoc(moc: Moc): Model;
+ /** Updates instance. */
+ update(): void;
+ /** Releases instance. */
+ release(): void;
+ /** Native model. */
+ _ptr: number;
+ /**
+ * Initializes instance.
+ *
+ * @param moc Moc
+ */
+ private constructor();
+ }
+ /** Canvas information interface. */
+ class CanvasInfo {
+ /** Width of native model canvas. */
+ CanvasWidth: number;
+ /** Height of native model canvas. */
+ CanvasHeight: number;
+ /** Coordinate origin of X axis. */
+ CanvasOriginX: number;
+ /** Coordinate origin of Y axis. */
+ CanvasOriginY: number;
+ /** Pixels per unit of native model. */
+ PixelsPerUnit: number;
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model pointer.
+ */
+ constructor(modelPtr: number);
+ }
+ /** Cubism model parameters */
+ class Parameters {
+ /** Parameter count. */
+ count: number;
+ /** Parameter IDs. */
+ ids: Array;
+ /** Minimum parameter values. */
+ minimumValues: Float32Array;
+ /** Parameter types. */
+ types: Int32Array;
+ /** Maximum parameter values. */
+ maximumValues: Float32Array;
+ /** Default parameter values. */
+ defaultValues: Float32Array;
+ /** Parameter values. */
+ values: Float32Array;
+ /** Parameter Repeat informations. */
+ repeats: Int32Array;
+ /** Number of key values of each parameter. */
+ keyCounts: Int32Array;
+ /** Key values of each parameter. */
+ keyValues: Array;
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model.
+ */
+ constructor(modelPtr: number);
+ }
+ /** Cubism model parts */
+ class Parts {
+ /** Part count. */
+ count: number;
+ /** Part IDs. */
+ ids: Array;
+ /** Opacity values. */
+ opacities: Float32Array;
+ /** Part's parent part indices. */
+ parentIndices: Int32Array;
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model.
+ */
+ constructor(modelPtr: number);
+ }
+ /** Cubism model drawables */
+ class Drawables {
+ /** Drawable count. */
+ count: number;
+ /** Drawable IDs. */
+ ids: Array;
+ /** Constant drawable flags. */
+ constantFlags: Uint8Array;
+ /** Dynamic drawable flags. */
+ dynamicFlags: Uint8Array;
+ /** Drawable texture indices. */
+ textureIndices: Int32Array;
+ /** Drawable draw orders. */
+ drawOrders: Int32Array;
+ /** Drawable render orders. */
+ renderOrders: Int32Array;
+ /** Drawable opacities. */
+ opacities: Float32Array;
+ /** Mask count for each drawable. */
+ maskCounts: Int32Array;
+ /** Masks for each drawable. */
+ masks: Array;
+ /** Number of vertices of each drawable. */
+ vertexCounts: Int32Array;
+ /** 2D vertex position data of each drawable. */
+ vertexPositions: Array;
+ /** 2D texture coordinate data of each drawables. */
+ vertexUvs: Array;
+ /** Number of triangle indices for each drawable. */
+ indexCounts: Int32Array;
+ /** Triangle index data for each drawable. */
+ indices: Array;
+ /** Information multiply color. */
+ multiplyColors: Float32Array;
+ /** Information Screen color. */
+ screenColors: Float32Array;
+ /** Indices of drawables parent part. */
+ parentPartIndices: Int32Array;
+ /** Resets all dynamic drawable flags.. */
+ resetDynamicFlags(): void;
+ /** Native model. */
+ private _modelPtr;
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model.
+ */
+ constructor(modelPtr: number);
+ }
+ /** Utility functions. */
+ class Utils {
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasBlendAdditiveBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasBlendMultiplicativeBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasIsDoubleSidedBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasIsInvertedMaskBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasIsVisibleBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasVisibilityDidChangeBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasOpacityDidChangeBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasDrawOrderDidChangeBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasRenderOrderDidChangeBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasVertexPositionsDidChangeBit(bitfield: number): boolean;
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ static hasBlendColorDidChangeBit(bitfield: number): boolean;
+ }
+ /** Memory functions. */
+ class Memory {
+ /**
+ * HACK:
+ * Extend memory size allocated during module initialization.
+ * If the specified size is less than or equal to 16777216(byte), the default of 16 MB is allocated.
+ *
+ * @see https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L161
+ *
+ * @param size allocated memory size [byte(s)]
+ */
+ static initializeAmountOfMemory(size: number): void;
+ private constructor();
+ }
+ /** Emscripten Cubism Core module. */
+}
diff --git a/packages/cubism/core/live2dcubismcore.js b/packages/cubism/core/live2dcubismcore.js
new file mode 100644
index 0000000..49a1bc8
--- /dev/null
+++ b/packages/cubism/core/live2dcubismcore.js
@@ -0,0 +1,694 @@
+/**
+ * Copyright(c) Live2D Inc. All rights reserved.
+ *
+ * Use of this source code is governed by the Live2D Proprietary Software license
+ * that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html.
+ */
+var Live2DCubismCore;
+(function (Live2DCubismCore) {
+ /** C calls. */
+ var _csm = /** @class */ (function () {
+ function _csm() {
+ }
+ _csm.getVersion = function () {
+ return _em.ccall("csmGetVersion", "number", [], []);
+ };
+ _csm.getLatestMocVersion = function () {
+ return _em.ccall("csmGetLatestMocVersion", "number", [], []);
+ };
+ _csm.getMocVersion = function (moc, mocSize) {
+ return _em.ccall("csmGetMocVersion", "number", ["number", "number"], [moc, mocSize]);
+ };
+ _csm.getLogFunction = function () {
+ return _em.ccall("csmGetLogFunction", "number", [], []);
+ };
+ _csm.getSizeofModel = function (moc) {
+ return _em.ccall("csmGetSizeofModel", "number", ["number"], [moc]);
+ };
+ _csm.reviveMocInPlace = function (memory, mocSize) {
+ return _em.ccall("csmReviveMocInPlace", "number", ["number", "number"], [memory, mocSize]);
+ };
+ _csm.initializeModelInPlace = function (moc, memory, modelSize) {
+ return _em.ccall("csmInitializeModelInPlace", "number", ["number", "number", "number"], [moc, memory, modelSize]);
+ };
+ _csm.hasMocConsistency = function (memory, mocSize) {
+ return _em.ccall("csmHasMocConsistency", "number", ["number", "number"], [memory, mocSize]);
+ };
+ _csm.getParameterCount = function (model) {
+ return _em.ccall("csmGetParameterCount", "number", ["number"], [model]);
+ };
+ _csm.getParameterIds = function (model) {
+ return _em.ccall("csmGetParameterIds", "number", ["number"], [model]);
+ };
+ _csm.getParameterMinimumValues = function (model) {
+ return _em.ccall("csmGetParameterMinimumValues", "number", ["number"], [model]);
+ };
+ _csm.getParameterTypes = function (model) {
+ return _em.ccall("csmGetParameterTypes", "number", ["number"], [model]);
+ };
+ _csm.getParameterMaximumValues = function (model) {
+ return _em.ccall("csmGetParameterMaximumValues", "number", ["number"], [model]);
+ };
+ _csm.getParameterDefaultValues = function (model) {
+ return _em.ccall("csmGetParameterDefaultValues", "number", ["number"], [model]);
+ };
+ _csm.getParameterValues = function (model) {
+ return _em.ccall("csmGetParameterValues", "number", ["number"], [model]);
+ };
+ _csm.getParameterRepeats = function (model) {
+ return _em.ccall("csmGetParameterRepeats", "number", ["number"], [model]);
+ };
+ _csm.getParameterKeyCounts = function (model) {
+ return _em.ccall("csmGetParameterKeyCounts", "number", ["number"], [model]);
+ };
+ _csm.getParameterKeyValues = function (model) {
+ return _em.ccall("csmGetParameterKeyValues", "number", ["number"], [model]);
+ };
+ _csm.getPartCount = function (model) {
+ return _em.ccall("csmGetPartCount", "number", ["number"], [model]);
+ };
+ _csm.getPartIds = function (model) {
+ return _em.ccall("csmGetPartIds", "number", ["number"], [model]);
+ };
+ _csm.getPartOpacities = function (model) {
+ return _em.ccall("csmGetPartOpacities", "number", ["number"], [model]);
+ };
+ _csm.getPartParentPartIndices = function (model) {
+ return _em.ccall("csmGetPartParentPartIndices", "number", ["number"], [model]);
+ };
+ _csm.getDrawableCount = function (model) {
+ return _em.ccall("csmGetDrawableCount", "number", ["number"], [model]);
+ };
+ _csm.getDrawableIds = function (model) {
+ return _em.ccall("csmGetDrawableIds", "number", ["number"], [model]);
+ };
+ _csm.getDrawableConstantFlags = function (model) {
+ return _em.ccall("csmGetDrawableConstantFlags", "number", ["number"], [model]);
+ };
+ _csm.getDrawableDynamicFlags = function (model) {
+ return _em.ccall("csmGetDrawableDynamicFlags", "number", ["number"], [model]);
+ };
+ _csm.getDrawableTextureIndices = function (model) {
+ return _em.ccall("csmGetDrawableTextureIndices", "number", ["number"], [model]);
+ };
+ _csm.getDrawableDrawOrders = function (model) {
+ return _em.ccall("csmGetDrawableDrawOrders", "number", ["number"], [model]);
+ };
+ _csm.getDrawableRenderOrders = function (model) {
+ return _em.ccall("csmGetDrawableRenderOrders", "number", ["number"], [model]);
+ };
+ _csm.getDrawableOpacities = function (model) {
+ return _em.ccall("csmGetDrawableOpacities", "number", ["number"], [model]);
+ };
+ _csm.getDrawableMaskCounts = function (model) {
+ return _em.ccall("csmGetDrawableMaskCounts", "number", ["number"], [model]);
+ };
+ _csm.getDrawableMasks = function (model) {
+ return _em.ccall("csmGetDrawableMasks", "number", ["number"], [model]);
+ };
+ _csm.getDrawableVertexCounts = function (model) {
+ return _em.ccall("csmGetDrawableVertexCounts", "number", ["number"], [model]);
+ };
+ _csm.getDrawableVertexPositions = function (model) {
+ return _em.ccall("csmGetDrawableVertexPositions", "number", ["number"], [model]);
+ };
+ _csm.getDrawableVertexUvs = function (model) {
+ return _em.ccall("csmGetDrawableVertexUvs", "number", ["number"], [model]);
+ };
+ _csm.getDrawableIndexCounts = function (model) {
+ return _em.ccall("csmGetDrawableIndexCounts", "number", ["number"], [model]);
+ };
+ _csm.getDrawableIndices = function (model) {
+ return _em.ccall("csmGetDrawableIndices", "number", ["number"], [model]);
+ };
+ _csm.getDrawableMultiplyColors = function (model) {
+ return _em.ccall("csmGetDrawableMultiplyColors", "number", ["number"], [model]);
+ };
+ _csm.getDrawableScreenColors = function (model) {
+ return _em.ccall("csmGetDrawableScreenColors", "number", ["number"], [model]);
+ };
+ _csm.getDrawableParentPartIndices = function (model) {
+ return _em.ccall("csmGetDrawableParentPartIndices", "number", ["number"], [model]);
+ };
+ _csm.mallocMoc = function (mocSize) {
+ return _em.ccall("csmMallocMoc", "number", ["number"], [mocSize]);
+ };
+ _csm.mallocModelAndInitialize = function (moc) {
+ return _em.ccall("csmMallocModelAndInitialize", "number", ["number"], [moc]);
+ };
+ _csm.malloc = function (size) {
+ return _em.ccall("csmMalloc", "number", ["number"], [size]);
+ };
+ _csm.setLogFunction = function (handler) {
+ _em.ccall("csmSetLogFunction", null, ["number"], [handler]);
+ };
+ _csm.updateModel = function (model) {
+ _em.ccall("csmUpdateModel", null, ["number"], [model]);
+ };
+ _csm.readCanvasInfo = function (model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit) {
+ _em.ccall("csmReadCanvasInfo", null, ["number", "number", "number", "number"], [model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit]);
+ };
+ _csm.resetDrawableDynamicFlags = function (model) {
+ _em.ccall("csmResetDrawableDynamicFlags", null, ["number"], [model]);
+ };
+ _csm.free = function (memory) {
+ _em.ccall("csmFree", null, ["number"], [memory]);
+ };
+ _csm.initializeAmountOfMemory = function (size) {
+ _em.ccall("csmInitializeAmountOfMemory", null, ["number"], [size]);
+ };
+ return _csm;
+ }());
+ /** Necessary alignment for mocs (in bytes). */
+ Live2DCubismCore.AlignofMoc = 64;
+ /** Necessary alignment for models (in bytes). */
+ Live2DCubismCore.AlignofModel = 16;
+ /** .moc3 file version Unknown */
+ Live2DCubismCore.MocVersion_Unknown = 0;
+ /** .moc3 file version 3.0.00 - 3.2.07 */
+ Live2DCubismCore.MocVersion_30 = 1;
+ /** .moc3 file version 3.3.00 - 3.3.03 */
+ Live2DCubismCore.MocVersion_33 = 2;
+ /** .moc3 file version 4.0.00 - 4.1.05 */
+ Live2DCubismCore.MocVersion_40 = 3;
+ /** .moc3 file version 4.2.00 - 4.2.04 */
+ Live2DCubismCore.MocVersion_42 = 4;
+ /** .moc3 file version 5.0.00 - */
+ Live2DCubismCore.MocVersion_50 = 5;
+ /** Normal Parameter. */
+ Live2DCubismCore.ParameterType_Normal = 0;
+ /** Parameter for blend shape. */
+ Live2DCubismCore.ParameterType_BlendShape = 1;
+ ;
+ /** Cubism version. */
+ var Version = /** @class */ (function () {
+ function Version() {
+ }
+ /**
+ * Queries Core version.
+ *
+ * @return Core version.
+ */
+ Version.csmGetVersion = function () {
+ return _csm.getVersion();
+ };
+ /**
+ * Gets Moc file supported latest version.
+ *
+ * @return Moc file latest format version.
+ */
+ Version.csmGetLatestMocVersion = function () {
+ return _csm.getLatestMocVersion();
+ };
+ /**
+ * Gets Moc file format version.
+ *
+ * @param moc Moc
+ *
+ * @return csmMocVersion
+ */
+ Version.csmGetMocVersion = function (moc, mocBytes) {
+ return _csm.getMocVersion(moc._ptr, mocBytes.byteLength);
+ };
+ return Version;
+ }());
+ Live2DCubismCore.Version = Version;
+ /** Cubism logging. */
+ var Logging = /** @class */ (function () {
+ function Logging() {
+ }
+ /**
+ * Sets log handler.
+ *
+ * @param handler Handler to use.
+ */
+ Logging.csmSetLogFunction = function (handler) {
+ // Cache log handler.
+ Logging.logFunction = handler;
+ // Wrap function to pointer.
+ var pointer = _em.addFunction(Logging.wrapLogFunction, 'vi');
+ // Sets log handler.
+ _csm.setLogFunction(pointer);
+ };
+ /**
+ * Queries log handler.
+ *
+ * @return Log handler.
+ */
+ Logging.csmGetLogFunction = function () {
+ return Logging.logFunction;
+ };
+ /**
+ * Wrap log function.
+ *
+ * @param messagePtr number
+ *
+ * @return string
+ */
+ Logging.wrapLogFunction = function (messagePtr) {
+ // Pointer to string.
+ var messageStr = _em.UTF8ToString(messagePtr);
+ // Run log function.
+ Logging.logFunction(messageStr);
+ };
+ return Logging;
+ }());
+ Live2DCubismCore.Logging = Logging;
+ /** Cubism moc. */
+ var Moc = /** @class */ (function () {
+ /**
+ * Initializes instance.
+ *
+ * @param mocBytes Moc bytes.
+ */
+ function Moc(mocBytes) {
+ // Allocate memory.
+ var memory = _csm.mallocMoc(mocBytes.byteLength);
+ if (!memory) {
+ return;
+ }
+ // Initialize memory.
+ var destination = new Uint8Array(_em.HEAPU8.buffer, memory, mocBytes.byteLength);
+ destination.set(new Uint8Array(mocBytes));
+ // Revive moc.
+ this._ptr = _csm.reviveMocInPlace(memory, mocBytes.byteLength);
+ if (!this._ptr) {
+ _csm.free(memory);
+ }
+ }
+ /**
+ * Checks consistency of a moc.
+ *
+ * @param mocBytes Moc bytes.
+ *
+ * @returns '1' if Moc is valid; '0' otherwise.
+ */
+ Moc.prototype.hasMocConsistency = function (mocBytes) {
+ // Allocate memory.
+ var memory = _csm.mallocMoc(mocBytes.byteLength);
+ if (!memory) {
+ return;
+ }
+ // Initialize memory.
+ var destination = new Uint8Array(_em.HEAPU8.buffer, memory, mocBytes.byteLength);
+ destination.set(new Uint8Array(mocBytes));
+ var hasConsistency = _csm.hasMocConsistency(memory, mocBytes.byteLength);
+ _csm.free(memory);
+ return hasConsistency;
+ };
+ /** Creates [[Moc]] from [[ArrayBuffer]].
+ *
+ * @param buffer Array buffer
+ *
+ * @return [[Moc]] on success; [[null]] otherwise.
+ */
+ Moc.fromArrayBuffer = function (buffer) {
+ if (!buffer) {
+ return null;
+ }
+ var moc = new Moc(buffer);
+ return (moc._ptr)
+ ? moc
+ : null;
+ };
+ /** Releases instance. */
+ Moc.prototype._release = function () {
+ _csm.free(this._ptr);
+ this._ptr = 0;
+ };
+ return Moc;
+ }());
+ Live2DCubismCore.Moc = Moc;
+ /** Cubism model. */
+ var Model = /** @class */ (function () {
+ /**
+ * Initializes instance.
+ *
+ * @param moc Moc
+ */
+ function Model(moc) {
+ this._ptr = _csm.mallocModelAndInitialize(moc._ptr);
+ if (!this._ptr) {
+ return;
+ }
+ this.parameters = new Parameters(this._ptr);
+ this.parts = new Parts(this._ptr);
+ this.drawables = new Drawables(this._ptr);
+ this.canvasinfo = new CanvasInfo(this._ptr);
+ }
+ /**
+ * Creates [[Model]] from [[Moc]].
+ *
+ * @param moc Moc
+ *
+ * @return [[Model]] on success; [[null]] otherwise.
+ */
+ Model.fromMoc = function (moc) {
+ var model = new Model(moc);
+ return (model._ptr)
+ ? model
+ : null;
+ };
+ /** Updates instance. */
+ Model.prototype.update = function () {
+ _csm.updateModel(this._ptr);
+ };
+ /** Releases instance. */
+ Model.prototype.release = function () {
+ _csm.free(this._ptr);
+ this._ptr = 0;
+ };
+ return Model;
+ }());
+ Live2DCubismCore.Model = Model;
+ /** Canvas information interface. */
+ var CanvasInfo = /** @class */ (function () {
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model pointer.
+ */
+ function CanvasInfo(modelPtr) {
+ if (!modelPtr) {
+ return;
+ }
+ // Preserve the pointer ant heap for get data throw args.
+ var _canvasSize_data = new Float32Array(2);
+ var _canvasSize_nDataBytes = _canvasSize_data.length * _canvasSize_data.BYTES_PER_ELEMENT;
+ var _canvasSize_dataPtr = _csm.malloc(_canvasSize_nDataBytes);
+ var _canvasSize_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasSize_dataPtr, _canvasSize_nDataBytes);
+ _canvasSize_dataHeap.set(new Uint8Array(_canvasSize_data.buffer));
+ var _canvasOrigin_data = new Float32Array(2);
+ var _canvasOrigin_nDataBytes = _canvasOrigin_data.length * _canvasOrigin_data.BYTES_PER_ELEMENT;
+ var _canvasOrigin_dataPtr = _csm.malloc(_canvasOrigin_nDataBytes);
+ var _canvasOrigin_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasOrigin_dataPtr, _canvasOrigin_nDataBytes);
+ _canvasOrigin_dataHeap.set(new Uint8Array(_canvasOrigin_data.buffer));
+ var _canvasPPU_data = new Float32Array(1);
+ var _canvasPPU_nDataBytes = _canvasPPU_data.length * _canvasPPU_data.BYTES_PER_ELEMENT;
+ var _canvasPPU_dataPtr = _csm.malloc(_canvasPPU_nDataBytes);
+ var _canvasPPU_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasPPU_dataPtr, _canvasPPU_nDataBytes);
+ _canvasPPU_dataHeap.set(new Uint8Array(_canvasPPU_data.buffer));
+ // Call function and get result
+ _csm.readCanvasInfo(modelPtr, _canvasSize_dataHeap.byteOffset, _canvasOrigin_dataHeap.byteOffset, _canvasPPU_dataHeap.byteOffset);
+ _canvasSize_data = new Float32Array(_canvasSize_dataHeap.buffer, _canvasSize_dataHeap.byteOffset, _canvasSize_dataHeap.length);
+ _canvasOrigin_data = new Float32Array(_canvasOrigin_dataHeap.buffer, _canvasOrigin_dataHeap.byteOffset, _canvasOrigin_dataHeap.length);
+ _canvasPPU_data = new Float32Array(_canvasPPU_dataHeap.buffer, _canvasPPU_dataHeap.byteOffset, _canvasPPU_dataHeap.length);
+ this.CanvasWidth = _canvasSize_data[0];
+ this.CanvasHeight = _canvasSize_data[1];
+ this.CanvasOriginX = _canvasOrigin_data[0];
+ this.CanvasOriginY = _canvasOrigin_data[1];
+ this.PixelsPerUnit = _canvasPPU_data[0];
+ // Free heap memory
+ _csm.free(_canvasSize_dataHeap.byteOffset);
+ _csm.free(_canvasOrigin_dataHeap.byteOffset);
+ _csm.free(_canvasPPU_dataHeap.byteOffset);
+ }
+ return CanvasInfo;
+ }());
+ Live2DCubismCore.CanvasInfo = CanvasInfo;
+ /** Cubism model parameters */
+ var Parameters = /** @class */ (function () {
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model.
+ */
+ function Parameters(modelPtr) {
+ var length = 0;
+ var length2 = null;
+ this.count = _csm.getParameterCount(modelPtr);
+ length = _csm.getParameterCount(modelPtr);
+ this.ids = new Array(length);
+ var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getParameterIds(modelPtr), length);
+ for (var i = 0; i < _ids.length; i++) {
+ this.ids[i] = _em.UTF8ToString(_ids[i]);
+ }
+ length = _csm.getParameterCount(modelPtr);
+ this.minimumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMinimumValues(modelPtr), length);
+ length = _csm.getParameterCount(modelPtr);
+ this.types = new Int32Array(_em.HEAP32.buffer, _csm.getParameterTypes(modelPtr), length);
+ length = _csm.getParameterCount(modelPtr);
+ this.maximumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMaximumValues(modelPtr), length);
+ length = _csm.getParameterCount(modelPtr);
+ this.defaultValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterDefaultValues(modelPtr), length);
+ length = _csm.getParameterCount(modelPtr);
+ this.values = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterValues(modelPtr), length);
+ length = _csm.getParameterCount(modelPtr);
+ this.repeats = new Int32Array(_em.HEAP32.buffer, _csm.getParameterRepeats(modelPtr), length);
+ length = _csm.getParameterCount(modelPtr);
+ this.keyCounts = new Int32Array(_em.HEAP32.buffer, _csm.getParameterKeyCounts(modelPtr), length);
+ length = _csm.getParameterCount(modelPtr);
+ length2 = new Int32Array(_em.HEAP32.buffer, _csm.getParameterKeyCounts(modelPtr), length);
+ this.keyValues = new Array(length);
+ var _keyValues = new Uint32Array(_em.HEAPU32.buffer, _csm.getParameterKeyValues(modelPtr), length);
+ for (var i = 0; i < _keyValues.length; i++) {
+ this.keyValues[i] = new Float32Array(_em.HEAPF32.buffer, _keyValues[i], length2[i]);
+ }
+ }
+ return Parameters;
+ }());
+ Live2DCubismCore.Parameters = Parameters;
+ /** Cubism model parts */
+ var Parts = /** @class */ (function () {
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model.
+ */
+ function Parts(modelPtr) {
+ var length = 0;
+ this.count = _csm.getPartCount(modelPtr);
+ length = _csm.getPartCount(modelPtr);
+ this.ids = new Array(length);
+ var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getPartIds(modelPtr), length);
+ for (var i = 0; i < _ids.length; i++) {
+ this.ids[i] = _em.UTF8ToString(_ids[i]);
+ }
+ length = _csm.getPartCount(modelPtr);
+ this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getPartOpacities(modelPtr), length);
+ length = _csm.getPartCount(modelPtr);
+ this.parentIndices = new Int32Array(_em.HEAP32.buffer, _csm.getPartParentPartIndices(modelPtr), length);
+ }
+ return Parts;
+ }());
+ Live2DCubismCore.Parts = Parts;
+ /** Cubism model drawables */
+ var Drawables = /** @class */ (function () {
+ /**
+ * Initializes instance.
+ *
+ * @param modelPtr Native model.
+ */
+ function Drawables(modelPtr) {
+ this._modelPtr = modelPtr;
+ var length = 0;
+ var length2 = null;
+ this.count = _csm.getDrawableCount(modelPtr);
+ length = _csm.getDrawableCount(modelPtr);
+ this.ids = new Array(length);
+ var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIds(modelPtr), length);
+ for (var i = 0; i < _ids.length; i++) {
+ this.ids[i] = _em.UTF8ToString(_ids[i]);
+ }
+ length = _csm.getDrawableCount(modelPtr);
+ this.constantFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableConstantFlags(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.dynamicFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableDynamicFlags(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.textureIndices = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableTextureIndices(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.drawOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableDrawOrders(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.renderOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableRenderOrders(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableOpacities(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.maskCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.vertexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.indexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ this.multiplyColors = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableMultiplyColors(modelPtr), length * 4);
+ length = _csm.getDrawableCount(modelPtr);
+ this.screenColors = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableScreenColors(modelPtr), length * 4);
+ length = _csm.getDrawableCount(modelPtr);
+ this.parentPartIndices = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableParentPartIndices(modelPtr), length);
+ length = _csm.getDrawableCount(modelPtr);
+ length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length);
+ this.masks = new Array(length);
+ var _masks = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableMasks(modelPtr), length);
+ for (var i = 0; i < _masks.length; i++) {
+ this.masks[i] = new Int32Array(_em.HEAP32.buffer, _masks[i], length2[i]);
+ }
+ length = _csm.getDrawableCount(modelPtr);
+ length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length);
+ this.vertexPositions = new Array(length);
+ var _vertexPositions = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexPositions(modelPtr), length);
+ for (var i = 0; i < _vertexPositions.length; i++) {
+ this.vertexPositions[i] = new Float32Array(_em.HEAPF32.buffer, _vertexPositions[i], length2[i] * 2);
+ }
+ length = _csm.getDrawableCount(modelPtr);
+ length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length);
+ this.vertexUvs = new Array(length);
+ var _vertexUvs = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexUvs(modelPtr), length);
+ for (var i = 0; i < _vertexUvs.length; i++) {
+ this.vertexUvs[i] = new Float32Array(_em.HEAPF32.buffer, _vertexUvs[i], length2[i] * 2);
+ }
+ length = _csm.getDrawableCount(modelPtr);
+ length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length);
+ this.indices = new Array(length);
+ var _indices = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIndices(modelPtr), length);
+ for (var i = 0; i < _indices.length; i++) {
+ this.indices[i] = new Uint16Array(_em.HEAPU16.buffer, _indices[i], length2[i]);
+ }
+ }
+ /** Resets all dynamic drawable flags.. */
+ Drawables.prototype.resetDynamicFlags = function () {
+ _csm.resetDrawableDynamicFlags(this._modelPtr);
+ };
+ return Drawables;
+ }());
+ Live2DCubismCore.Drawables = Drawables;
+ /** Utility functions. */
+ var Utils = /** @class */ (function () {
+ function Utils() {
+ }
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasBlendAdditiveBit = function (bitfield) {
+ return (bitfield & (1 << 0)) == (1 << 0);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasBlendMultiplicativeBit = function (bitfield) {
+ return (bitfield & (1 << 1)) == (1 << 1);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasIsDoubleSidedBit = function (bitfield) {
+ return (bitfield & (1 << 2)) == (1 << 2);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasIsInvertedMaskBit = function (bitfield) {
+ return (bitfield & (1 << 3)) == (1 << 3);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasIsVisibleBit = function (bitfield) {
+ return (bitfield & (1 << 0)) == (1 << 0);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasVisibilityDidChangeBit = function (bitfield) {
+ return (bitfield & (1 << 1)) == (1 << 1);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasOpacityDidChangeBit = function (bitfield) {
+ return (bitfield & (1 << 2)) == (1 << 2);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasDrawOrderDidChangeBit = function (bitfield) {
+ return (bitfield & (1 << 3)) == (1 << 3);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasRenderOrderDidChangeBit = function (bitfield) {
+ return (bitfield & (1 << 4)) == (1 << 4);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasVertexPositionsDidChangeBit = function (bitfield) {
+ return (bitfield & (1 << 5)) == (1 << 5);
+ };
+ /**
+ * Checks whether flag is set in bitfield.
+ *
+ * @param bitfield Bitfield to query against.
+ *
+ * @return [[true]] if bit set; [[false]] otherwise
+ */
+ Utils.hasBlendColorDidChangeBit = function (bitfield) {
+ return (bitfield & (1 << 6)) == (1 << 6);
+ };
+ return Utils;
+ }());
+ Live2DCubismCore.Utils = Utils;
+ /** Memory functions. */
+ var Memory = /** @class */ (function () {
+ function Memory() {
+ }
+ /**
+ * HACK:
+ * Extend memory size allocated during module initialization.
+ * If the specified size is less than or equal to 16777216(byte), the default of 16 MB is allocated.
+ *
+ * @see https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L161
+ *
+ * @param size allocated memory size [byte(s)]
+ */
+ Memory.initializeAmountOfMemory = function (size) {
+ if (size > 16777216) {
+ _csm.initializeAmountOfMemory(size);
+ }
+ };
+ return Memory;
+ }());
+ Live2DCubismCore.Memory = Memory;
+ /** Emscripten Cubism Core module. */
+ var _em_module=function(){var _scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(_em_module){_em_module=_em_module||{};var b,n,l={};for(n in b=b||(void 0!==_em_module?_em_module:{}))b.hasOwnProperty(n)&&(l[n]=b[n]);var x,y,v,w,p=!1,q=!1,r=!1,p="object"==typeof window,q="function"==typeof importScripts,r="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!p&&!q,t=!p&&!r&&!q,u="",D=(r?(u=__dirname+"/",v=function(a,c){var d=z(a);return d||(x=x||require("fs"),a=(y=y||require("path")).normalize(a),d=x.readFileSync(a)),c?d:d.toString()},w=function(a){return assert((a=(a=v(a,!0)).buffer?a:new Uint8Array(a)).buffer),a},1>2]+(Mn<<5)|0)>>2],Qn=q[a+60>>2]+w(Xn,24)|0,Mn=(lo=q[Qn+8>>2])+-1|0,yo=(ro=q[Qn+4>>2])+-1|0,zo=vo=(Xn=q[q[a+152>>2]+(Xn<<2)>>2])+(lo<<3)|0,Ao=wo=Xn+((uo=w(ro,mo=lo+1|0))<<3)|0,Bo=xo=Xn+(lo+uo<<3)|0,Jo=q[Qn+12>>2],so=x(0|ro),to=x(0|lo),a=0;;)if(Wn=u[(Qn=(po=a<<3)+Nn|0)+4>>2],Sn=x(Wn*so),Yn=u[Qn>>2],Rn=x(Yn*to),Qn=Wn>=x(1),Sn=!(Wn=x(1)|Yn>2],Co=u[Xn+4>>2],Zn=x(bo-Co),Do=u[4+zo>>2],Eo=u[4+Ao>>2],_n=x(Do-Eo),co=x(x(Zn-_n)*x(.5)),Fo=u[xo>>2],Go=u[Xn>>2],$n=x(Fo-Go),Ho=u[vo>>2],Io=u[wo>>2],ao=x(Ho-Io),eo=x(x($n-ao)*x(.5)),_n=x(x(_n+Zn)*x(.5)),ao=x(x(ao+$n)*x(.5)),Ko=1,Zn=x(x(x(x(x(Co+Do)+Eo)+bo)*x(.25))-x(Zn*x(.5))),$n=x(x(x(x(x(Go+Ho)+Io)+Fo)*x(.25))-x($n*x(.5)))),Wnx(-2)^1|(Ynx(-2)^1)?(u[On+po>>2]=x(Wn*eo)+x(x(Yn*ao)+$n),Rn=x(Wn*co),x(x(Yn*_n)+Zn)):(Yn<=x(0)?Wn<=x(0)?(Vn=x(x(Wn+x(2))*x(.5)),Un=x(x(Yn+x(2))*x(.5)),Rn=x(co+co),no=x(Zn-Rn),Sn=x(eo+eo),oo=x($n-Sn),jo=x(Zn-x(_n+_n)),fo=x(jo-Rn),ko=x($n-x(ao+ao)),go=x(ko-Sn),ho=u[Xn+4>>2],io=u[Xn>>2]):Qn?(Rn=x(co*x(3)),Sn=x(Zn-x(_n+_n)),jo=x(Rn+Sn),fo=x(eo*x(3)),go=x($n-x(ao+ao)),ko=x(fo+go),Vn=x(x(Wn+x(-1))*x(.5)),Un=x(x(Yn+x(2))*x(.5)),ho=x(Rn+Zn),io=x(fo+$n),fo=x(co+Sn),go=x(eo+go),no=u[4+Ao>>2],oo=u[wo>>2]):(Rn=x(Zn-x(_n+_n)),Qn=yo,Tn=x(y(Sn))>2],oo=u[Qn>>2],Qn=Xn+(w(Tn,mo)<<3)|0,ho=u[Qn+4>>2],io=u[Qn>>2]):Yn>=x(1)?Wn<=x(0)?(Vn=x(x(Wn+x(2))*x(.5)),Un=x(x(Yn+x(-1))*x(.5)),Rn=x(co+co),fo=x(x(_n+Zn)-Rn),Sn=x(eo+eo),go=x(x(ao+$n)-Sn),ho=x(x(_n*x(3))+Zn),no=x(ho-Rn),io=x(x(ao*x(3))+$n),oo=x(io-Sn),jo=u[4+zo>>2],ko=u[vo>>2]):Qn?(Rn=x(co*x(3)),jo=x(Rn+x(_n+Zn)),Sn=x(eo*x(3)),ko=x(Sn+x(ao+$n)),bo=Rn,Rn=x(x(_n*x(3))+Zn),ho=x(bo+Rn),bo=Sn,Sn=x(x(ao*x(3))+$n),io=x(bo+Sn),Vn=x(x(Wn+x(-1))*x(.5)),Un=x(x(Yn+x(-1))*x(.5)),no=x(co+Rn),oo=x(eo+Sn),fo=u[4+Bo>>2],go=u[xo>>2]):(Rn=x(x(_n*x(3))+Zn),Qn=yo,Tn=x(y(Sn))>2],go=u[Qn>>2],Qn=Xn+(w(Tn,mo)+lo<<3)|0,jo=u[Qn+4>>2],ko=u[Qn>>2]):Wn<=x(0)?(Vn=x(x(Wn+x(2))*x(.5)),Qn=Mn,Tn=x(y(Sn=Rn))>2],ko=u[Qn>>2],ho=u[(Qn=Xn+(Tn<<3)|0)+4>>2],io=u[Qn>>2]):Qn?(bo=Sn=x(co*x(3)),Qn=Mn,Tn=x(y(Rn))>2],go=u[Qn>>2],no=u[(Qn=Xn+(Tn+uo<<3)|0)+4>>2],oo=u[Qn>>2]):(v[16+qo>>3]=Wn,q[qo>>2]=a,v[8+qo>>3]=Yn,Y(4,1107,qo)),x(Un+Vn)<=x(1)?(u[On+po>>2]=x(go+x(x(oo-go)*Un))+x(x(ko-go)*Vn),Rn=x(fo+x(x(no-fo)*Un)),x(x(jo-fo)*Vn)):(Rn=x(x(1)-Un),Sn=x(x(1)-Vn),u[On+po>>2]=x(io+x(x(ko-io)*Rn))+x(x(oo-io)*Sn),Rn=x(ho+x(x(jo-ho)*Rn)),x(x(no-ho)*Sn)))):(Qn=x(y(bo=Sn))>2]=x(x(x(Rn*x(Sn*u[Tn>>2]))+x(Rn*x(Un*u[Tn+8>>2])))+x(Vn*x(Sn*u[Qn>>2])))+x(Vn*x(Un*u[Qn+8>>2])),Rn=x(x(x(Rn*x(Sn*u[Tn+4>>2]))+x(Rn*x(Un*u[Tn+12>>2])))+x(Vn*x(Sn*u[Qn+4>>2]))),x(Vn*x(Un*u[Qn+12>>2]))):x(Un+Vn)<=x(1)?(Rn=x(x(x(1)-Un)-Vn),Tn=Xn+(Qn<<3)|0,Qn=Xn+(Qn+mo<<3)|0,u[On+po>>2]=x(x(Rn*u[Tn>>2])+x(Un*u[Tn+8>>2]))+x(Vn*u[Qn>>2]),Rn=x(x(Rn*u[Tn+4>>2])+x(Un*u[Tn+12>>2])),x(Vn*u[Qn+4>>2])):(Rn=x(x(Un+x(-1))+Vn),Tn=Xn+(Qn+mo<<3)|0,Sn=x(x(1)-Un),Wn=x(x(1)-Vn),Qn=Xn+(Qn<<3)|0,u[On+po>>2]=x(x(Rn*u[Tn+8>>2])+x(Sn*u[Tn>>2]))+x(Wn*u[Qn+8>>2]),Rn=x(x(Rn*u[Tn+12>>2])+x(Sn*u[Tn+4>>2])),x(Wn*u[Qn+12>>2]))),u[4+(On+po|0)>>2]=Rn+Sn,(0|Pn)==(0|(a=a+1|0)))break;L=32+qo|0},n[2]=function(a,jh){a|=0,jh|=0;var Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=x(0),Gh=0,Hh=0,Jh=(x(0),0),Kh=0,Dh=q[a+320>>2],Ah=q[a+316>>2],Eh=q[a+308>>2];-1==(0|(Bh=q[(Ch=Eh+(jh<<5)|0)+8>>2]))?(q[(Kh=Ah)+(Ah=jh<<2)>>2]=q[q[a+148>>2]+(q[Ch+16>>2]<<2)>>2],q[Ah+Dh>>2]=1065353216):(Gh=q[Ch+16>>2],Hh=q[q[a+152>>2]+(Gh<<2)>>2],n[q[24+(Eh+(Bh<<5)|0)>>2]](a,Bh,Hh,Hh,q[16+(q[a+60>>2]+w(Gh,24)|0)>>2]),Fh=u[q[a+148>>2]+(q[Ch+16>>2]<<2)>>2],Ch=q[Ch+8>>2]<<2,u[(Bh=jh<<2)+Ah>>2]=Fh*u[Ch+Ah>>2],q[Bh+Dh>>2]=q[Ch+Dh>>2]),4<=r[q[a>>2]+4|0]&&(Dh=jh<<2,Ah=q[a+308>>2]+(jh<<5)|0,Bh=q[Ah+16>>2]<<2,Ch=q[a+328>>2],jh=q[a+324>>2],-1==(0|(Eh=q[Ah+8>>2]))?(Eh=q[a+156>>2],q[(Ah=Dh<<2)+jh>>2]=q[Eh+(Bh<<=2)>>2],q[(Gh=4|Ah)+jh>>2]=q[(Hh=4|Bh)+Eh>>2],q[(Jh=8|Ah)+jh>>2]=q[Eh+(Kh=8|Bh)>>2],q[jh+((Dh|=3)<<2)>>2]=1065353216,a=q[a+160>>2],q[Ah+Ch>>2]=q[a+Bh>>2],q[Ch+Gh>>2]=q[a+Hh>>2],q[Ch+Jh>>2]=q[a+Kh>>2]):(Bh=(Hh=Bh<<2)+q[a+156>>2]|0,u[(Ah=(Gh=Dh<<2)+jh|0)>>2]=u[Bh>>2]*u[(Eh=(Jh=Eh<<4)+jh|0)>>2],u[Ah+4>>2]=u[Bh+4>>2]*u[Eh+4>>2],u[Ah+8>>2]=u[Bh+8>>2]*u[Eh+8>>2],q[jh+((Dh|=3)<<2)>>2]=1065353216,a=Hh+q[a+160>>2]|0,Kh=u[a>>2],Fh=u[(Ah=Ch+Jh|0)>>2],u[(jh=Ch+Gh|0)>>2]=x(Kh+Fh)-x(Kh*Fh),Kh=u[a+4>>2],Fh=u[Ah+4>>2],u[jh+4>>2]=x(Kh+Fh)-x(Kh*Fh),Kh=u[a+8>>2],Fh=u[Ah+8>>2],u[jh+8>>2]=x(Kh+Fh)-x(Kh*Fh)),q[Ch+(Dh<<2)>>2]=1065353216)},n[3]=function(a,rn,sn,vn,wn){a|=0,rn|=0,sn|=0,vn|=0,wn|=0;var Bn,Cn,Dn,Fn,Gn,xn=0,xn=(x(0),x(0),x(0),x(0),x(0),x(0),x(0),x(0),(rn=q[16+(q[a+308>>2]+(rn<<5)|0)>>2])<<2),zn=function(a){var Cl,Fl,Dl,Bl=x(0),El=0;L=Dl=L-16|0,j(a);a:if((Cl=2147483647&(El=b[0]))>>>0<=1061752794)Bl=x(1),Cl>>>0<964689920||(Bl=ba(+a));else if(Cl>>>0<=1081824209)Fl=+a,Bl=1075235812<=Cl>>>0?x(-ba(((0|El)<0?3.141592653589793:-3.141592653589793)+Fl)):aa((0|El)<=-1?1.5707963267948966+Fl:1.5707963267948966-Fl);else if(Cl>>>0<=1088565717)Bl=1085271520<=Cl>>>0?ba(+a+((0|El)<0?6.283185307179586:-6.283185307179586)):aa((0|El)<=-1?-4.71238898038469-+a:+a-4.71238898038469);else if(Bl=x(a-a),!(2139095040<=Cl>>>0))if((Cl=3&Da(a,8+Dl|0))>>>0<=2){b:switch(Cl-1|0){default:Bl=ba(v[8+Dl>>3]);break a;case 0:Bl=aa(-v[8+Dl>>3]);break a;case 1:break b}Bl=x(-ba(v[8+Dl>>3]))}else Bl=aa(v[8+Dl>>3]);return L=16+Dl|0,a=Bl}(yn=x(x(x(u[4+(q[a+168>>2]+w(rn,12)|0)>>2]+u[xn+q[a+284>>2]>>2])*x(3.1415927410125732))/x(180))),An=u[xn+q[a+272>>2]>>2],En=q[xn+q[a+292>>2]>>2],yn=function(a){var Tk,yl,zl=0,Al=0;L=yl=L-16|0,j(a);a:if((Tk=2147483647&(Al=b[0]))>>>0<=1061752794)Tk>>>0<964689920||(a=aa(+a));else if(Tk>>>0<=1081824209)zl=+a,a=Tk>>>0<=1075235811?(0|Al)<=-1?x(-ba(zl+1.5707963267948966)):ba(zl+-1.5707963267948966):aa(-(((0|Al)<0?3.141592653589793:-3.141592653589793)+zl));else if(Tk>>>0<=1088565717)zl=+a,a=Tk>>>0<=1085271519?(0|Al)<=-1?ba(zl+4.71238898038469):x(-ba(zl+-4.71238898038469)):aa(((0|Al)<0?6.283185307179586:-6.283185307179586)+zl);else if(2139095040<=Tk>>>0)a=x(a-a);else if((Tk=3&Da(a,8+yl|0))>>>0<=2){b:switch(Tk-1|0){default:a=aa(v[8+yl>>3]);break a;case 0:a=ba(v[8+yl>>3]);break a;case 1:break b}a=aa(-v[8+yl>>3])}else a=x(-ba(v[8+yl>>3]));return L=16+yl|0,a}(yn);if((rn=0)<(0|wn))for(zn=x(An*zn),Cn=x(En?-1:1),Fn=x(zn*Cn),Bn=q[xn+q[a+288>>2]>>2]?x(-1):x(1),Gn=x(x(An*yn)*Bn),zn=x(zn*Bn),An=x(x(An*x(-yn))*Cn),yn=u[xn+q[a+280>>2]>>2],Cn=u[xn+q[a+276>>2]>>2];;)if(xn=(a=rn<<3)+vn|0,Bn=u[(a=a+sn|0)>>2],Dn=u[a+4>>2],u[xn+4>>2]=yn+x(x(Gn*Bn)+x(Fn*Dn)),u[xn>>2]=Cn+x(x(zn*Bn)+x(An*Dn)),(0|wn)==(0|(rn=rn+1|0)))break},n[4]=function(a,jh){a|=0,jh|=0;var vh,wh,xh,yh,zh,kh,lh=0,mh=0,nh=0,oh=x(0),ph=0,qh=0,rh=x(0),sh=0,th=0,uh=0;if(x(0),x(0),x(0),x(0),L=kh=L+-64|0,sh=q[a+320>>2],th=q[a+316>>2],mh=q[a+308>>2],-1==(0|(ph=q[(nh=mh+(jh<<5)|0)+8>>2])))lh=q[nh+16>>2]<<2,q[(mh=jh<<2)+th>>2]=q[lh+q[a+268>>2]>>2],q[mh+sh>>2]=q[lh+q[a+272>>2]>>2];else{lh=q[nh+16>>2]<<2,uh=q[lh+q[a+276>>2]>>2],q[24+kh>>2]=uh,lh=q[lh+q[a+280>>2]>>2],q[28+kh>>2]=lh,q[16+kh>>2]=0,wh=1==q[(qh=mh+(ph<<5)|0)+12>>2]?x(-10):x(-.10000000149011612),u[20+kh>>2]=wh,q[60+kh>>2]=lh,q[56+kh>>2]=uh,n[q[qh+24>>2]](a,ph,56+kh|0,48+kh|0,1),oh=x(1),mh=9;b:{for(;;){if(lh=mh,rh=x(oh*x(0)),u[32+kh>>2]=rh+u[56+kh>>2],vh=x(wh*oh),u[36+kh>>2]=vh+u[60+kh>>2],n[q[qh+24>>2]](a,ph,32+kh|0,40+kh|0,1),xh=x(u[44+kh>>2]-u[52+kh>>2]),u[44+kh>>2]=xh,yh=x(u[40+kh>>2]-u[48+kh>>2]),u[40+kh>>2]=yh,xh!=x(0)||yh!=x(0)){mh=q[44+kh>>2],q[8+kh>>2]=q[40+kh>>2],q[12+kh>>2]=mh;break b}if(u[32+kh>>2]=u[56+kh>>2]-rh,u[36+kh>>2]=u[60+kh>>2]-vh,n[q[qh+24>>2]](a,ph,32+kh|0,40+kh|0,1),rh=x(u[40+kh>>2]-u[48+kh>>2]),u[40+kh>>2]=rh,vh=x(u[44+kh>>2]-u[52+kh>>2]),(u[44+kh>>2]=vh)!=x(0)||rh!=x(0)){u[12+kh>>2]=-vh,u[8+kh>>2]=-rh;break b}if(mh=lh+-1|0,oh=x(oh*x(.10000000149011612)),!lh)break}Y(3,1311,0)}oh=function(a,Sh){var Th=x(0);if((Th=x(Ba(u[a+4>>2],u[a>>2])-Ba(u[Sh+4>>2],u[Sh>>2])))x(3.1415927410125732))for(;;)if(!((Th=x(Th+x(-6.2831854820251465)))>x(3.1415927410125732)))break;return Th}(16+kh|0,8+kh|0),n[q[qh+24>>2]](a,q[nh+8>>2],24+kh|0,24+kh|0,1),mh=q[nh+16>>2]<<2,q[mh+q[a+276>>2]>>2]=q[24+kh>>2],q[mh+q[a+280>>2]>>2]=q[28+kh>>2],lh=mh+q[a+284>>2]|0,u[lh>>2]=u[lh>>2]+x(x(oh*x(-180))/x(3.1415927410125732)),nh=q[nh+8>>2]<<2,u[(lh=jh<<2)+th>>2]=u[mh+q[a+268>>2]>>2]*u[nh+th>>2],mh=mh+q[a+272>>2]|0,oh=x(u[mh>>2]*u[nh+sh>>2]),u[lh+sh>>2]=oh,u[mh>>2]=oh}4<=r[q[a>>2]+4|0]&&(lh=jh<<2,nh=q[a+308>>2]+(jh<<5)|0,ph=q[nh+16>>2]<<2,mh=q[a+328>>2],jh=q[a+324>>2],-1==(0|(qh=q[nh+8>>2]))?(qh=q[a+296>>2],q[(nh=lh<<2)+jh>>2]=q[qh+(ph<<=2)>>2],q[(sh=4|nh)+jh>>2]=q[(th=4|ph)+qh>>2],q[(uh=8|nh)+jh>>2]=q[qh+(zh=8|ph)>>2],q[jh+((lh|=3)<<2)>>2]=1065353216,a=q[a+300>>2],q[mh+nh>>2]=q[a+ph>>2],q[mh+sh>>2]=q[a+th>>2],q[mh+uh>>2]=q[a+zh>>2]):(ph=(th=ph<<2)+q[a+296>>2]|0,u[(nh=(sh=lh<<2)+jh|0)>>2]=u[ph>>2]*u[(qh=(uh=qh<<4)+jh|0)>>2],u[nh+4>>2]=u[ph+4>>2]*u[qh+4>>2],u[nh+8>>2]=u[ph+8>>2]*u[qh+8>>2],q[jh+((lh|=3)<<2)>>2]=1065353216,a=th+q[a+300>>2]|0,oh=u[a>>2],rh=u[(nh=mh+uh|0)>>2],u[(jh=mh+sh|0)>>2]=x(oh+rh)-x(oh*rh),oh=u[a+4>>2],rh=u[nh+4>>2],u[jh+4>>2]=x(oh+rh)-x(oh*rh),oh=u[a+8>>2],rh=u[nh+8>>2],u[jh+8>>2]=x(oh+rh)-x(oh*rh)),q[mh+(lh<<2)>>2]=1065353216),L=kh+64|0},n[5]=function(a,Tk){return a|=0,Tk|=0,x(0),x(0),0|((a=u[a>>2])<(Tk=u[Tk>>2])?-1:Tk>2])))for(Yj=q[a+12>>2],Xj=q[a+20>>2];;)if(u[(Uj=Tj<<2)+Yj>>2]=u[tj+Uj>>2]*u[Uj+Xj>>2],!((0|(Tj=Tj+1|0))<(0|Wj)))break;if(!((0|(Wj=q[a>>2]))<1))if(Yj=q[a+4>>2],wj)for(Uj=tj=0;;){if(q[wj>>2]){if((0|(Tj=q[(Xj=tj<<2)+q[a+16>>2]>>2]))<1)Vj=x(0);else for(Zj=Tj+Uj|0,_j=q[a+12>>2],Vj=x(0),Tj=Uj;;)if(Vj=x(Vj+u[_j+(Tj<<2)>>2]),!((0|(Tj=Tj+1|0))<(0|Zj)))break;u[vj+Xj>>2]=Vj}if(wj=wj+4|0,Uj=q[Yj+(tj<<2)>>2]+Uj|0,!((0|(tj=tj+1|0))<(0|Wj)))break}else for(Xj=q[a+16>>2],tj=wj=0;;){if((0|(Tj=q[(Uj=wj<<2)+Xj>>2]))<=0)Vj=x(0);else for(Zj=tj+Tj|0,_j=q[a+12>>2],Vj=x(0),Tj=tj;;)if(Vj=x(Vj+u[_j+(Tj<<2)>>2]),!((0|(Tj=Tj+1|0))<(0|Zj)))break;if(u[vj+Uj>>2]=Vj,tj=q[Uj+Yj>>2]+tj|0,!((0|(wj=wj+1|0))<(0|Wj)))break}},n[7]=function(a,tj,vj,wj){a|=0,tj|=0,vj|=0,wj|=0;var xj=0,yj=x(0),Oj=0,Pj=0,Qj=0,Rj=0,Sj=0;if(1<=(0|(Rj=q[a+8>>2])))for(Pj=q[a+12>>2],Qj=q[a+20>>2];;)if(u[(Oj=xj<<2)+Pj>>2]=u[tj+Oj>>2]*u[Oj+Qj>>2],!((0|(xj=xj+1|0))<(0|Rj)))break;if(!((0|(xj=q[a>>2]))<1))if(Rj=q[a+4>>2],wj)for(Oj=tj=0;;){if(q[wj>>2]){if((0|(xj=q[(Pj=tj<<2)+q[a+16>>2]>>2]))<1)yj=x(0);else for(Qj=xj+Oj|0,Sj=q[a+12>>2],yj=x(0),xj=Oj;;)if(yj=x(yj+u[Sj+(xj<<2)>>2]),!((0|(xj=xj+1|0))<(0|Qj)))break;xj=vj+Pj|0,yj=x(yj+x(.0010000000474974513)),Pj=x(y(yj))>2]=Pj,xj=q[a>>2]}if(wj=wj+4|0,Oj=q[Rj+(tj<<2)>>2]+Oj|0,!((0|(tj=tj+1|0))<(0|xj)))break}else for(Pj=q[a+16>>2],tj=wj=0;;){if((0|(xj=q[(Oj=wj<<2)+Pj>>2]))<=0)yj=x(0);else for(Qj=tj+xj|0,Sj=q[a+12>>2],yj=x(0),xj=tj;;)if(yj=x(yj+u[Sj+(xj<<2)>>2]),!((0|(xj=xj+1|0))<(0|Qj)))break;if(xj=vj+Oj|0,yj=x(yj+x(.0010000000474974513)),Qj=x(y(yj))>2]=Qj,tj=q[Oj+Rj>>2]+tj|0,!((0|(wj=wj+1|0))>2]))break}},n[8]=function(a,tj,vj,wj,xj,yj){a|=0,tj|=0,vj|=0,wj|=0,xj|=0,yj|=0;var Mj,Nj,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Ij=0,Jj=0,Kj=x(0),Lj=0,Hj=q[a>>2];if(!((0|Hj)<1))if(Mj=xj<<2,Nj=q[a+4>>2],yj)for(;;){if(q[yj>>2]&&(Bj=q[(zj=Cj<<2)+q[a+16>>2]>>2],Fj=q[vj+zj>>2],Aj=q[wj+zj>>2],(zj=(0|(Gj=w(Aj,xj)))<1)||ca(Fj,0,w(Aj,Mj)),!(zj|(0|Bj)<1)))for(Ij=Bj+Ej|0,Jj=q[a+20>>2],zj=Ej;;){for(Kj=u[(Aj=zj<<2)+Jj>>2],Lj=q[tj+Aj>>2],Dj=0;;)if(u[(Aj=(Bj=Dj<<2)+Fj|0)>>2]=u[Aj>>2]+x(Kj*u[Bj+Lj>>2]),(0|Gj)==(0|(Dj=Dj+1|0)))break;if(!((0|(zj=zj+1|0))<(0|Ij)))break}if(yj=yj+4|0,Ej=q[(Cj<<2)+Nj>>2]+Ej|0,!((0|(Cj=Cj+1|0))<(0|Hj)))break}else for(yj=0;;){if(Bj=q[(Cj=yj<<2)+q[a+16>>2]>>2],Fj=q[vj+Cj>>2],Aj=q[wj+Cj>>2],(zj=(0|(Gj=w(Aj,xj)))<1)||ca(Fj,0,w(Aj,Mj)),!(zj|(0|Bj)<=0))for(Ij=Bj+Ej|0,Jj=q[a+20>>2],zj=Ej;;){for(Kj=u[(Aj=zj<<2)+Jj>>2],Lj=q[tj+Aj>>2],Dj=0;;)if(u[(Aj=(Bj=Dj<<2)+Fj|0)>>2]=u[Aj>>2]+x(Kj*u[Bj+Lj>>2]),(0|Gj)==(0|(Dj=Dj+1|0)))break;if(!((0|(zj=zj+1|0))<(0|Ij)))break}if(Ej=q[Cj+Nj>>2]+Ej|0,!((0|(yj=yj+1|0))<(0|Hj)))break}},n[9]=function(a){a|=0;var Je,Ke,Le,Fe=0,Ge=0,He=0,Ie=0;if(!(q[a+648>>2]||(0|(Fe=q[a+332>>2]))<1))for(Ke=(Ge=q[a+336>>2])+w(Fe,20)|0,Fe=q[a+424>>2],Ie=q[a+444>>2];;){if(q[Fe>>2]&&!((0|(He=q[Ge+16>>2]))<(a=1)))for(He<<=1,Le=q[Ie>>2];;)if(u[(Je=(a<<2)+Le|0)>>2]=-u[Je>>2],!((0|(a=a+2|0))<(0|He)))break;if(Ie=Ie+4|0,Fe=Fe+4|0,!((Ge=Ge+20|0)>>>0>>0))break}},n[10]=function(a,rn,sn){var un;return $(un=q[(a|=0)+20>>2],rn|=0,rn=(sn|=0)>>>0<(rn=q[a+16>>2]-un|0)>>>0?sn:rn),q[a+20>>2]=rn+q[a+20>>2],0|sn},n[11]=function(a,Gl,Pm,Qm,Rm,Sm){a|=0,Gl=+Gl,Pm|=0,Qm|=0,Rm|=0,Sm|=0;var dn,on,Xm,Tm=0,Um=0,Vm=0,Wm=0,Ym=0,Zm=0,_m=0,$m=0,an=0,bn=0,cn=0,en=0,fn=0,gn=0,hn=0,kn=0;if(q[44+(L=Xm=L-560|0)>>2]=0,h(+Gl),Tm=0|b[1],on=4294967295>>0?0:1,hn=(0|Tm)<-1||((0|Tm)<=-1?on:0)?(h(+(Gl=-Gl)),Tm=0|b[1],b[0],gn=1,3872):2048&Rm?(gn=1,3875):(gn=1&Rm)?3878:3873,2146435072==(2146435072&Tm))_(a,32,Pm,Zm=gn+3|0,-65537&Rm),Z(a,hn,gn),Qm=Sm>>>5&1,Z(a,Gl!=Gl?Qm?3899:3903:Qm?3891:3895,3);else if(Gl=function Ja(a,ic){var kc,lc,jc=0;if(h(+a),jc=0|b[1],kc=0|b[0],2047!=(0|(jc=(lc=jc)>>>20&2047))){if(!jc)return jc=ic,ic=0==a?0:(a=Ja(0x10000000000000000*a,ic),q[ic>>2]+-64|0),q[jc>>2]=ic,a;q[ic>>2]=jc+-1022,f(0,0|kc),f(1,-2146435073&lc|1071644672),a=+g()}return a}(Gl,44+Xm|0),0!=(Gl+=Gl)&&(q[44+Xm>>2]=q[44+Xm>>2]+-1),dn=16+Xm|0,97==(0|(on=32|Sm))){if(cn=(bn=32&Sm)?hn+9|0:hn,!(11>>0)&&(Tm=12-Qm|0)){for(en=8;;)if(en*=16,!(Tm=Tm+-1|0))break;Gl=45==r[0|cn]?-(en+(-Gl-en)):Gl+en-en}for((0|dn)==(0|(Tm=ga((Vm=(Tm=q[44+Xm>>2])>>31)^Tm+Vm,0,dn)))&&(o[15+Xm|0]=48,Tm=15+Xm|0),Ym=2|gn,Vm=q[44+Xm>>2],o[0|(an=Tm+-2|0)]=Sm+15,o[Tm+-1|0]=(0|Vm)<0?45:43,Tm=8&Rm,Um=16+Xm|0;;)if(Sm=Um,$m=bn,Vm=y(Gl)<2147483648?~~Gl:-2147483648,o[0|Um]=$m|r[Vm+3856|0],1!=((Um=Sm+1|0)-(16+Xm|0)|0)|(0==(Gl=16*(Gl-(0|Vm)))?!(Tm|0<(0|Qm)):0)||(o[Sm+1|0]=46,Um=Sm+2|0),0==Gl)break;_(a,32,Pm,Zm=(Sm=!Qm|(0|Qm)<=((Um-Xm|0)-18|0)?((dn-(16+Xm|0)|0)-an|0)+Um|0:2+((Qm+dn|0)-an|0)|0)+Ym|0,Rm),Z(a,cn,Ym),_(a,48,Pm,Zm,65536^Rm),Z(a,16+Xm|0,Qm=Um-(16+Xm|0)|0),_(a,48,Sm-((Tm=Qm)+(Qm=dn-an|0)|0)|0,0,0),Z(a,an,Qm)}else{for(Tm=(0|Qm)<0,0==Gl?Wm=q[44+Xm>>2]:(Wm=q[44+Xm>>2]+-28|0,q[44+Xm>>2]=Wm,Gl*=268435456),_m=Tm?6:Qm,Vm=bn=(0|Wm)<0?48+Xm|0:336+Xm|0;;)if(Vm=(Qm=Vm)+4|0,0==(Gl=1e9*(Gl-((q[Qm>>2]=Tm=Gl<4294967296&0<=Gl?~~Gl>>>0:0)>>>0))))break;if((0|Wm)<1)Tm=Vm,Um=bn;else for(Um=bn;;){if(an=(0|Wm)<29?Wm:29,!((Tm=Vm+-4|0)>>>0>>0)){for(Qm=an,$m=0;;)if(kn=$m,$m=q[(cn=Tm)>>2],Ym=31&Qm,Ym=32<=(63&Qm)>>>(Zm=0)?(Wm=$m<>>32-Ym,$m<>>0>>0?Zm+1|0:Zm,kn=cn,cn=cd($m=dd(Ym=$m,Zm,1e9),M,1e9),q[kn>>2]=Ym-cn,!(Um>>>0<=(Tm=Tm+-4|0)>>>0))break;(Qm=$m)&&(q[(Um=Um+-4|0)>>2]=Qm)}for(;;)if(!(Um>>>0<(Tm=Vm)>>>0)||q[(Vm=Tm+-4|0)>>2])break;if(Wm=q[44+Xm>>2]-an|0,Vm=Tm,!(0<(0|(q[44+Xm>>2]=Wm))))break}if((0|Wm)<=-1)for(fn=1+((_m+25|0)/9|0)|0,an=102==(0|on);;){if($m=(0|Wm)<-9?9:0-Wm|0,Tm>>>0<=Um>>>0)Um=q[Um>>2]?Um:Um+4|0;else{for(cn=1e9>>>$m,Ym=-1<<$m^-1,Wm=0,Vm=Um;;)if(Qm=q[Vm>>2],q[Vm>>2]=(Qm>>>$m)+Wm,Wm=w(cn,Qm&Ym),!((Vm=Vm+4|0)>>>0>>0))break;Um=q[Um>>2]?Um:Um+4|0,Wm&&(q[Tm>>2]=Wm,Tm=Tm+4|0)}if(Wm=$m+q[44+Xm>>2]|0,Tm=(0|fn)>2?Qm+(fn<<2)|0:Tm,!((0|(q[44+Xm>>2]=Wm))<0))break}if(!(Tm>>>(Vm=0)<=Um>>>0||(Vm=w(bn-Um>>2,9),(Qm=q[Um>>2])>>>0<(Wm=10))))for(;;)if(Vm=Vm+1|0,!((Wm=w(Wm,10))>>>0<=Qm>>>0))break;if((0|(Qm=(_m-(102==(0|on)?0:Vm)|0)-(103==(0|on)&0!=(0|_m))|0))<(w(Tm-bn>>2,9)+-9|0)){if(Zm=(bn+((Qm=(0|(Ym=Qm+9216|0))/9|0)<<2)|0)-4092|0,Wm=10,(0|(Qm=1+(Ym-w(Qm,9)|0)|0))<=8)for(;;)if(Wm=w(Wm,10),9==(0|(Qm=Qm+1|0)))break;if(fn=Zm+4|0,((an=(cn=q[Zm>>2])-w(Wm,Ym=(cn>>>0)/(Wm>>>0)|0)|0)||(0|fn)!=(0|Tm))&&(en=an>>>0<(Qm=Wm>>>1)>>>0?.5:(0|Tm)==(0|fn)&&(0|Qm)==(0|an)?1:1.5,Gl=1&Ym?9007199254740994:9007199254740992,!gn|45!=r[0|hn]||(en=-en,Gl=-Gl),q[Zm>>2]=Qm=cn-an|0,Gl+en!=Gl)){if(1e9<=(q[Zm>>2]=Qm=Qm+Wm|0)>>>0)for(;;)if((Zm=Zm+-4|(q[Zm>>2]=0))>>>0>>0&&(q[(Um=Um+-4|0)>>2]=0),Qm=q[Zm>>2]+1|0,!(999999999<(q[Zm>>2]=Qm)>>>0))break;if(Vm=w(bn-Um>>2,9),!((Qm=q[Um>>2])>>>0<(Wm=10)))for(;;)if(Vm=Vm+1|0,!((Wm=w(Wm,10))>>>0<=Qm>>>0))break}Tm=(Qm=Zm+4|0)>>>0>>0?Qm:Tm}j:{for(;;){if((an=Tm)>>>(cn=0)<=Um>>>0)break j;if(q[(Tm=an+-4|0)>>2])break}cn=1}if(103!=(0|on))Ym=8&Rm;else if(_m=((Qm=(0|Vm)<(0|(Tm=_m||1))&-5<(0|Vm))?-1^Vm:-1)+Tm|0,Sm=(Qm?-1:-2)+Sm|0,!(Ym=8&Rm)){if(Tm=9,cn&&(Ym=q[an+-4>>2])&&!((Ym>>>(Tm=0))%(Qm=10)))for(;;)if(Tm=Tm+1|0,(Ym>>>0)%((Qm=w(Qm,10))>>>0))break;Qm=w(an-bn>>2,9)+-9|0,_m=102==(32|Sm)?((Ym=0)|_m)<(0|(Qm=0<(0|(Qm=Qm-Tm|0))?Qm:0))?_m:Qm:((Ym=0)|_m)<(0|(Qm=0<(0|(Qm=(Qm+Vm|0)-Tm|0))?Qm:0))?_m:Qm}if(Zm=0!=(0|(Wm=_m|Ym)),Qm=a,kn=Pm,Tm=0<(0|Vm)?Vm:0,102!=(0|($m=32|Sm))){if((dn-(Tm=ga((Tm=Vm>>31)+Vm^Tm,0,dn))|0)<=1)for(;;)if(o[0|(Tm=Tm+-1|0)]=48,!((dn-Tm|0)<2))break;o[0|(fn=Tm+-2|0)]=Sm,o[Tm+-1|0]=(0|Vm)<0?45:43,Tm=dn-fn|0}if(_(Qm,32,kn,Zm=1+(Tm+(Zm+(_m+gn|0)|0)|0)|0,Rm),Z(a,hn,gn),_(a,48,Pm,Zm,65536^Rm),102==(0|$m)){for(Qm=16+Xm|8,Vm=16+Xm|9,Um=Sm=bn>>>0>>0?bn:Um;;){if(Tm=ga(q[Um>>2],0,Vm),(0|Sm)!=(0|Um)){if(!(Tm>>>0<=16+Xm>>>0))for(;;)if(o[0|(Tm=Tm+-1|0)]=48,!(16+Xm>>>0>>0))break}else(0|Tm)==(0|Vm)&&(o[24+Xm|0]=48,Tm=Qm);if(Z(a,Tm,Vm-Tm|0),!((Um=Um+4|0)>>>0<=bn>>>0))break}Wm&&Z(a,3907,1);p:if(!((0|_m)<1|an>>>0<=Um>>>0))for(;;){if(16+Xm>>>0<(Tm=ga(q[Um>>2],0,Vm))>>>0)for(;;)if(o[0|(Tm=Tm+-1|0)]=48,!(16+Xm>>>0>>0))break;if(Z(a,Tm,(0|_m)<9?_m:9),_m=_m+-9|0,an>>>0<=(Um=Um+4|0)>>>0)break p;if(!(0<(0|_m)))break}_(a,48,_m+9|0,9,0)}else{q:if(!((0|_m)<0))for(Sm=cn?an:Um+4|0,Qm=16+Xm|8,bn=16+Xm|9,Vm=Um;;){if((0|bn)==(0|(Tm=ga(q[Vm>>2],0,bn)))&&(o[24+Xm|0]=48,Tm=Qm),(0|Um)!=(0|Vm)){if(!(Tm>>>0<=16+Xm>>>0))for(;;)if(o[0|(Tm=Tm+-1|0)]=48,!(16+Xm>>>0>>0))break}else Z(a,Tm,1),Tm=Tm+1|0,(0|_m)<1&&!Ym||Z(a,3907,1);if(Z(a,$m=Tm,(0|(Tm=bn-Tm|0))<(0|_m)?Tm:_m),_m=_m-Tm|0,Sm>>>0<=(Vm=Vm+4|0)>>>0)break q;if(!(-1<(0|_m)))break}_(a,48,_m+18|0,18,0),Z(a,fn,dn-fn|0)}}return _(a,32,Pm,Zm,8192^Rm),L=560+Xm|0,0|((0|Zm)<(0|Pm)?Pm:Zm)},n[12]=function(a,Gl){a|=0;var Cm=0,Cm=Gl|=0;Gl=q[Gl>>2]+15&-16,q[Cm>>2]=Gl+16,Cm=a,a=Bc(q[Gl>>2],q[Gl+4>>2],q[Gl+8>>2],q[Gl+12>>2]),v[Cm>>3]=a},n[13]=function(a){return 0},n[14]=function(a,Gl,Cm){Gl|=0,Cm|=0;var Mm,Em,Dm=0,Jm=0,Km=0,Lm=0;for(L=Em=L-32|0,Dm=q[(a|=0)+28>>2],q[16+Em>>2]=Dm,Km=q[a+20>>2],q[28+Em>>2]=Cm,q[24+Em>>2]=Gl,Km=(q[20+Em>>2]=Gl=Km-Dm|0)+Cm|0,Lm=2,Gl=16+Em|0;;){a:{if((Jm=(Dm=0)|K(q[a+60>>2],0|Gl,0|Lm,12+Em|0))&&(q[2094]=Jm,Dm=-1),(0|(Dm=Dm?q[12+Em>>2]=-1:q[12+Em>>2]))==(0|Km))Gl=q[a+44>>2],q[a+28>>2]=Gl,q[a+20>>2]=Gl,q[a+16>>2]=Gl+q[a+48>>2],a=Cm;else{if(-1<(0|Dm))break a;q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0,q[a>>2]=32|q[a>>2],2!=((a=0)|Lm)&&(a=Cm-q[Gl+4>>2]|0)}return L=32+Em|0,0|a}Jm=q[Gl+4>>2],q[(Gl=(Mm=Jm>>>0>>0)?Gl+8|0:Gl)>>2]=(Jm=Dm-(Mm?Jm:0)|0)+q[Gl>>2],q[Gl+4>>2]=q[Gl+4>>2]-Jm,Km=Km-Dm|0,Lm=Lm-Mm|0}},n[15]=function(a,Gl,Cm,Dm){return M=0},{d:function(){},e:function(){return q[1813]},f:function(){return 83951616},g:function(){return 5},h:function(a,tj){return tj|=0,L=tj=L-16|0,a=(a|=0)?sa(a)?(Y(4,2150,0),0):r[a+4|0]:(q[tj+4>>2]=1444,q[tj>>2]=2267,Y(4,1294,tj),0),L=tj+16|0,0|a},i:function(a,tj){var uj;return tj|=0,L=uj=L-48|0,a=(a|=0)?(a+63&-64)!=(0|a)?(q[36+uj>>2]=1522,q[32+uj>>2]=2284,Y(4,1294,32+uj|0),0):(tj+63&-64)==(0|tj)&&tj?function(a,Tk){var Uk=0,Vk=0,Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0,bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0,jl=0,kl=0,ll=0,ml=0,nl=0;L=Yk=(nl=Vk=L)-704&-64;a:if(Tk>>>0<=1343)Y(4,1235,0);else if(sa(a))Y(4,1469,0);else if(Vk=r[0|(ll=a+4|0)]){if(!(6<=Vk>>>0)){(hl=1==(0|!r[a+5|0]))||(da(ll,1),X(a- -64|0,4,160)),ca(Yk- -64|0,0,640),na(a,Yk- -64|0),Vk=a+Tk|0,Tk=q[Yk+64>>2];b:{c:{d:{if(5<=(gl=r[a+4|0])>>>0){if(Tk>>>0>>0|Vk>>>0>>0)break c;if((Xk=Tk+256|0)>>>0>>0)break c;if(Xk>>>0<=Vk>>>0)break d;break c}if(Tk>>>0>>0|Vk>>>0>>0)break c;if((Xk=Tk+128|0)>>>0>>0|Vk>>>0>>0)break c}if(!((Wk=q[Yk+68>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0)&&!((Wk=Wk- -64|0)>>>0>>0|Vk>>>0>>0||(0|(bl=q[Tk>>2]))<0||(Xk=q[Yk+72>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=(Uk=Xk)+(Xk=bl<<2)|0)>>>0>>0|Vk>>>0>>0||(_k=q[Yk+76>>2])>>>0>>0|Vk>>>0<_k>>>0|_k>>>0>>0||(Uk=(bl<<6)+_k|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+80>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+84>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+88>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+92>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+96>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+100>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Wk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(0|(Uk=q[Tk+4>>2]))<0||(Xk=q[Yk+104>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Zk=(Wk=Xk)+(Xk=Uk<<2)|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+108>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+(Uk<<6)|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+112>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+116>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+120>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+124>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+128>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+132>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Uk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(Wk=q[Yk+136>>2])>>>0>>0|Vk>>>0>>0|Wk>>>0>>0||(Wk=Wk+Xk|0)>>>0>>0|Vk>>>0>>0||(0|(Uk=q[Tk+8>>2]))<0||(Xk=q[Yk+140>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=(cl=Uk<<2)+Xk|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+144>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=Xk+cl|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+148>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=Xk+cl|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+156>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=Xk+cl|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+160>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=Xk+cl|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+164>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=Xk+cl|0)>>>0>>0|Vk>>>0>>0||(0|(Uk=q[Tk+12>>2]))<0||(Xk=q[Yk+172>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=(dl=Uk<<2)+Xk|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+176>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=Xk+dl|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+180>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Wk=Xk+dl|0)>>>0>>0|Vk>>>0>>0||(Xk=q[Yk+188>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Uk=Xk+dl|0)>>>0>>0|Vk>>>0>>0||(0|(Wk=q[Tk+16>>2]))<0||(Xk=q[Yk+192>>2])>>>0>>0|Vk>>>0>>0|Xk>>>0>>0||(Zk=(Uk=Xk)+(Xk=Wk<<2)|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+196>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+200>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+204>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+208>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+(Wk<<6)|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+212>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+216>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+220>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+228>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+232>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+236>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+240>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+244>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Zk=Uk+Xk|0)>>>0>>0|Vk>>>0>>0||(Uk=q[Yk+248>>2])>>>0>>0|Vk>>>0>>0|Uk>>>0>>0||(Uk=Uk+Wk|0)>>>0>>0|Vk>>>0