diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..5b6262f
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_formdev_flatlaf_3_4_1.xml b/.idea/libraries/Maven__com_formdev_flatlaf_3_4_1.xml
new file mode 100644
index 0000000..e11d11f
--- /dev/null
+++ b/.idea/libraries/Maven__com_formdev_flatlaf_3_4_1.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_activation_jakarta_activation_2_0_1.xml b/.idea/libraries/Maven__com_sun_activation_jakarta_activation_2_0_1.xml
new file mode 100644
index 0000000..b0f788a
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_activation_jakarta_activation_2_0_1.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_mail_jakarta_mail_2_0_1.xml b/.idea/libraries/Maven__com_sun_mail_jakarta_mail_2_0_1.xml
new file mode 100644
index 0000000..0c612e7
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_mail_jakarta_mail_2_0_1.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_objecthunter_exp4j_0_4_8.xml b/.idea/libraries/Maven__net_objecthunter_exp4j_0_4_8.xml
new file mode 100644
index 0000000..9620fef
--- /dev/null
+++ b/.idea/libraries/Maven__net_objecthunter_exp4j_0_4_8.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..5984b48
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..cc1bd0f
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1760015440315
+
+
+ 1760015440315
+
+
+
+
+ 1760015899092
+
+
+
+ 1760015899092
+
+
+
+ 1760015989374
+
+
+
+ 1760015989374
+
+
+
+ 1760022602945
+
+
+
+ 1760022602945
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestSystem.iml b/TestSystem.iml
new file mode 100644
index 0000000..376d00b
--- /dev/null
+++ b/TestSystem.iml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/111/20251009_230103.txt b/data/111/20251009_230103.txt
new file mode 100644
index 0000000..47cea51
--- /dev/null
+++ b/data/111/20251009_230103.txt
@@ -0,0 +1,54 @@
+用户: 111
+时间: 20251009_230103
+得分: 1 / 10
+====================================
+题目 1: 65 * 26 * 74
+选项: 125060 | -125060 | 125061.54 | 125055.85
+你的答案: 125060
+正确答案: 125060
+--------------------
+题目 2: 46 * 27 + (59 - 13)
+选项: 12880 | 1291.39 | 1288 | -1288
+你的答案: 1291.39
+正确答案: 1288
+--------------------
+题目 3: 53 - 10 / 2 + 30
+选项: 80.19 | 81.77 | 78 | -78
+你的答案: -78
+正确答案: 78
+--------------------
+题目 4: 63 * 57 + 68 + (65 + 23)
+选项: 3747 | -3747 | 374.7 | 3748.92
+你的答案: 3748.92
+正确答案: 3747
+--------------------
+题目 5: 86 * 9 / 3
+选项: -258 | 258 | 259.78 | 253.48
+你的答案: 253.48
+正确答案: 258
+--------------------
+题目 6: (29 - 28) / 2
+选项: 0.5 | 0.05 | -1.27 | -0.5
+你的答案: -1.27
+正确答案: 0.5
+--------------------
+题目 7: 76 - (57 + 64)
+选项: 45 | -450 | -48.52 | -45
+你的答案: -48.52
+正确答案: -45
+--------------------
+题目 8: 94 + 49 - 43 * 89
+选项: -3684 | -368.4 | -3683.93 | -3686.38
+你的答案: -3683.93
+正确答案: -3684
+--------------------
+题目 9: 7 + 16 + 45 + 100 / 1
+选项: 168 | -168 | 1680 | 171.5
+你的答案: 1680
+正确答案: 168
+--------------------
+题目 10: 80 * 29 + (89 + 22)
+选项: -2431 | 243.1 | 24310 | 2431
+你的答案: 24310
+正确答案: 2431
+--------------------
diff --git a/data/111/20251009_230130.txt b/data/111/20251009_230130.txt
new file mode 100644
index 0000000..11d26e7
--- /dev/null
+++ b/data/111/20251009_230130.txt
@@ -0,0 +1,54 @@
+用户: 111
+时间: 20251009_230130
+得分: 2 / 10
+====================================
+题目 1: 7 + 58 * 25 + 60
+选项: 1517 | -1517 | 15170 | 1517.09
+你的答案: 15170
+正确答案: 1517
+--------------------
+题目 2: 96 + 45 * 90 * 67
+选项: 271446.92 | 271441.78 | -271446 | 271446
+你的答案: 271446
+正确答案: 271446
+--------------------
+题目 3: 86 - 48 * 22 + 28
+选项: -94.2 | -938.29 | -942 | 942
+你的答案: 942
+正确答案: -942
+--------------------
+题目 4: (92 + 9) / 3
+选项: -33.67 | 3.37 | 33.67 | 36.24
+你的答案: 36.24
+正确答案: 33.67
+--------------------
+题目 5: 78 - 56
+选项: 2.2 | 23.24 | 22 | 19.03
+你的答案: 19.03
+正确答案: 22
+--------------------
+题目 6: 36 * 33 - 2
+选项: 118.6 | -1186 | 11860 | 1186
+你的答案: 11860
+正确答案: 1186
+--------------------
+题目 7: 8 - 4 * 67 * 15
+选项: -4012 | -401.2 | -4012.5 | 4012
+你的答案: -4012.5
+正确答案: -4012
+--------------------
+题目 8: 63 / 1 - 1 - 1 * 89
+选项: -27 | -24.27 | -2.7 | -31.81
+你的答案: -2.7
+正确答案: -27
+--------------------
+题目 9: (61 - 39) + 75 + 59
+选项: 15.6 | 1560 | 156 | 154.47
+你的答案: 156
+正确答案: 156
+--------------------
+题目 10: 48 * 15 * 100 + 64 * 52
+选项: 75328 | 75327.06 | 753280 | -75328
+你的答案: 753280
+正确答案: 75328
+--------------------
diff --git a/data/111/20251009_230514.txt b/data/111/20251009_230514.txt
new file mode 100644
index 0000000..5346a14
--- /dev/null
+++ b/data/111/20251009_230514.txt
@@ -0,0 +1,54 @@
+用户: 111
+时间: 20251009_230514
+得分: 2 / 10
+====================================
+题目 1: 73^2 + 89
+选项: -5418 | 5420.87 | 5418.24 | 5418
+你的答案: 5418.24
+正确答案: 5418
+--------------------
+题目 2: 46 - sqrt(36)
+选项: 400 | -40 | 4 | 40
+你的答案: 40
+正确答案: 40
+--------------------
+题目 3: 9 + 21 / 1^2
+选项: 3 | 33.46 | 30 | 300
+你的答案: 3
+正确答案: 30
+--------------------
+题目 4: 34 * 87^2 + 87
+选项: 25743.3 | 257430.61 | 257433 | 2574330
+你的答案: 257433
+正确答案: 257433
+--------------------
+题目 5: 7 / 1^2
+选项: 7.57 | 7 | 0.7 | -7
+你的答案: 0.7
+正确答案: 7
+--------------------
+题目 6: 92 * (19^2 + 74)
+选项: 40022.97 | 40022.78 | 400200 | 40020
+你的答案: 40022.97
+正确答案: 40020
+--------------------
+题目 7: 99^2 + 59 / 1
+选项: 986 | 9856.24 | -9860 | 9860
+你的答案: 986
+正确答案: 9860
+--------------------
+题目 8: sqrt(25) + 1 + 13
+选项: -19 | 190 | 19 | 1.9
+你的答案: 190
+正确答案: 19
+--------------------
+题目 9: 26 + sqrt(64)
+选项: -34 | 3.4 | 340 | 34
+你的答案: 340
+正确答案: 34
+--------------------
+题目 10: 44 / sqrt(25)
+选项: 0.88 | 8.8 | 8.46 | -8.8
+你的答案: 8.46
+正确答案: 8.8
+--------------------
diff --git a/data/aaa/20251009_224716.txt b/data/aaa/20251009_224716.txt
new file mode 100644
index 0000000..ae5e132
--- /dev/null
+++ b/data/aaa/20251009_224716.txt
@@ -0,0 +1,54 @@
+用户: aaa
+时间: 20251009_224716
+得分: 4 / 10
+====================================
+题目 1: 60 * 11
+选项: 660.85 | 6600 | 660 | 659.63
+你的答案: 660
+正确答案: 660
+--------------------
+题目 2: (20 + 66) + 84
+选项: 173.87 | 17 | 169.57 | 170
+你的答案: 170
+正确答案: 170
+--------------------
+题目 3: 57 - 31 - 30
+选项: 4 | -4 | -8.19 | -40
+你的答案: -40
+正确答案: -4
+--------------------
+题目 4: 68 * 54 / 3 / 3
+选项: -408 | 408 | 4080 | 407.67
+你的答案: 408
+正确答案: 408
+--------------------
+题目 5: 60 / 6 / 1
+选项: 10 | -10 | 6.77 | 100
+你的答案: 6.77
+正确答案: 10
+--------------------
+题目 6: 7 * 97
+选项: 6790 | 679 | -679 | 678.45
+你的答案: -679
+正确答案: 679
+--------------------
+题目 7: 15 / 5 / 5
+选项: 0.06 | 0.6 | 5.48 | -0.6
+你的答案: -0.6
+正确答案: 0.6
+--------------------
+题目 8: 74 + (74 - 26) * 44 / 22
+选项: -170 | 165.28 | 17 | 170
+你的答案: 170
+正确答案: 170
+--------------------
+题目 9: 27 + 92 + (21 - 14) * 91
+选项: 756 | 753.22 | 756.82 | -756
+你的答案: 753.22
+正确答案: 756
+--------------------
+题目 10: 77 * 45 * 69 / 1
+选项: -239085 | 239082.47 | 2390850 | 239085
+你的答案: -239085
+正确答案: 239085
+--------------------
diff --git a/data/users.txt b/data/users.txt
new file mode 100644
index 0000000..e4ae0c2
--- /dev/null
+++ b/data/users.txt
@@ -0,0 +1 @@
+test@example.com::jZae727K08KaOmKSgOaGzww/XVqLqBG7KAbpTTJzaI0=
\ No newline at end of file
diff --git a/target/classes/com/mathapp/MathApp.class b/target/classes/com/mathapp/MathApp.class
new file mode 100644
index 0000000..2706a1b
Binary files /dev/null and b/target/classes/com/mathapp/MathApp.class differ
diff --git a/target/classes/com/mathapp/controllers/QuizController$1.class b/target/classes/com/mathapp/controllers/QuizController$1.class
new file mode 100644
index 0000000..f81d275
Binary files /dev/null and b/target/classes/com/mathapp/controllers/QuizController$1.class differ
diff --git a/target/classes/com/mathapp/controllers/QuizController.class b/target/classes/com/mathapp/controllers/QuizController.class
new file mode 100644
index 0000000..0d6fac9
Binary files /dev/null and b/target/classes/com/mathapp/controllers/QuizController.class differ
diff --git a/target/classes/com/mathapp/models/Equation.class b/target/classes/com/mathapp/models/Equation.class
new file mode 100644
index 0000000..c011c73
Binary files /dev/null and b/target/classes/com/mathapp/models/Equation.class differ
diff --git a/target/classes/com/mathapp/models/Operator.class b/target/classes/com/mathapp/models/Operator.class
new file mode 100644
index 0000000..363e4bd
Binary files /dev/null and b/target/classes/com/mathapp/models/Operator.class differ
diff --git a/target/classes/com/mathapp/models/Question.class b/target/classes/com/mathapp/models/Question.class
new file mode 100644
index 0000000..b71e58c
Binary files /dev/null and b/target/classes/com/mathapp/models/Question.class differ
diff --git a/target/classes/com/mathapp/models/TestPaper.class b/target/classes/com/mathapp/models/TestPaper.class
new file mode 100644
index 0000000..7388d09
Binary files /dev/null and b/target/classes/com/mathapp/models/TestPaper.class differ
diff --git a/target/classes/com/mathapp/models/User.class b/target/classes/com/mathapp/models/User.class
new file mode 100644
index 0000000..d949610
Binary files /dev/null and b/target/classes/com/mathapp/models/User.class differ
diff --git a/target/classes/com/mathapp/panels/ChangePasswordPanel.class b/target/classes/com/mathapp/panels/ChangePasswordPanel.class
new file mode 100644
index 0000000..06c929e
Binary files /dev/null and b/target/classes/com/mathapp/panels/ChangePasswordPanel.class differ
diff --git a/target/classes/com/mathapp/panels/LoginPanel.class b/target/classes/com/mathapp/panels/LoginPanel.class
new file mode 100644
index 0000000..be08574
Binary files /dev/null and b/target/classes/com/mathapp/panels/LoginPanel.class differ
diff --git a/target/classes/com/mathapp/panels/MainMenuPanel.class b/target/classes/com/mathapp/panels/MainMenuPanel.class
new file mode 100644
index 0000000..f6a6d31
Binary files /dev/null and b/target/classes/com/mathapp/panels/MainMenuPanel.class differ
diff --git a/target/classes/com/mathapp/panels/QuizPanel.class b/target/classes/com/mathapp/panels/QuizPanel.class
new file mode 100644
index 0000000..55aab6d
Binary files /dev/null and b/target/classes/com/mathapp/panels/QuizPanel.class differ
diff --git a/target/classes/com/mathapp/panels/RegisterPanel$1.class b/target/classes/com/mathapp/panels/RegisterPanel$1.class
new file mode 100644
index 0000000..242c9b5
Binary files /dev/null and b/target/classes/com/mathapp/panels/RegisterPanel$1.class differ
diff --git a/target/classes/com/mathapp/panels/RegisterPanel.class b/target/classes/com/mathapp/panels/RegisterPanel.class
new file mode 100644
index 0000000..ac464d9
Binary files /dev/null and b/target/classes/com/mathapp/panels/RegisterPanel.class differ
diff --git a/target/classes/com/mathapp/panels/ResultsPanel.class b/target/classes/com/mathapp/panels/ResultsPanel.class
new file mode 100644
index 0000000..1fe5236
Binary files /dev/null and b/target/classes/com/mathapp/panels/ResultsPanel.class differ
diff --git a/target/classes/com/mathapp/panels/SetPasswordPanel.class b/target/classes/com/mathapp/panels/SetPasswordPanel.class
new file mode 100644
index 0000000..0dc7c20
Binary files /dev/null and b/target/classes/com/mathapp/panels/SetPasswordPanel.class differ
diff --git a/target/classes/com/mathapp/problemGenerators/AbstractProblemGenerator.class b/target/classes/com/mathapp/problemGenerators/AbstractProblemGenerator.class
new file mode 100644
index 0000000..3937b90
Binary files /dev/null and b/target/classes/com/mathapp/problemGenerators/AbstractProblemGenerator.class differ
diff --git a/target/classes/com/mathapp/problemGenerators/ElementaryProblemGenerator.class b/target/classes/com/mathapp/problemGenerators/ElementaryProblemGenerator.class
new file mode 100644
index 0000000..7a90b34
Binary files /dev/null and b/target/classes/com/mathapp/problemGenerators/ElementaryProblemGenerator.class differ
diff --git a/target/classes/com/mathapp/problemGenerators/HighSchoolProblemGenerator.class b/target/classes/com/mathapp/problemGenerators/HighSchoolProblemGenerator.class
new file mode 100644
index 0000000..ff0bf7f
Binary files /dev/null and b/target/classes/com/mathapp/problemGenerators/HighSchoolProblemGenerator.class differ
diff --git a/target/classes/com/mathapp/problemGenerators/IProblemGenerator.class b/target/classes/com/mathapp/problemGenerators/IProblemGenerator.class
new file mode 100644
index 0000000..d8ad9b7
Binary files /dev/null and b/target/classes/com/mathapp/problemGenerators/IProblemGenerator.class differ
diff --git a/target/classes/com/mathapp/problemGenerators/MiddleSchoolProblemGenerator.class b/target/classes/com/mathapp/problemGenerators/MiddleSchoolProblemGenerator.class
new file mode 100644
index 0000000..9c4db71
Binary files /dev/null and b/target/classes/com/mathapp/problemGenerators/MiddleSchoolProblemGenerator.class differ
diff --git a/target/classes/com/mathapp/services/DataPersistence.class b/target/classes/com/mathapp/services/DataPersistence.class
new file mode 100644
index 0000000..9f47185
Binary files /dev/null and b/target/classes/com/mathapp/services/DataPersistence.class differ
diff --git a/target/classes/com/mathapp/services/EmailService$1.class b/target/classes/com/mathapp/services/EmailService$1.class
new file mode 100644
index 0000000..f9d0faf
Binary files /dev/null and b/target/classes/com/mathapp/services/EmailService$1.class differ
diff --git a/target/classes/com/mathapp/services/EmailService.class b/target/classes/com/mathapp/services/EmailService.class
new file mode 100644
index 0000000..96ac317
Binary files /dev/null and b/target/classes/com/mathapp/services/EmailService.class differ
diff --git a/target/classes/com/mathapp/services/QuestionGenerator.class b/target/classes/com/mathapp/services/QuestionGenerator.class
new file mode 100644
index 0000000..2449416
Binary files /dev/null and b/target/classes/com/mathapp/services/QuestionGenerator.class differ
diff --git a/target/classes/com/mathapp/utils/ValidationUtils.class b/target/classes/com/mathapp/utils/ValidationUtils.class
new file mode 100644
index 0000000..5e087a3
Binary files /dev/null and b/target/classes/com/mathapp/utils/ValidationUtils.class differ