{"id":1093,"date":"2025-10-04T22:51:33","date_gmt":"2025-10-04T19:21:33","guid":{"rendered":"https:\/\/ccpri.ir\/?page_id=1093"},"modified":"2025-10-05T03:00:56","modified_gmt":"2025-10-04T23:30:56","slug":"%da%a9%d8%a7%d8%b1%d8%a8%d8%b1-%d8%b1%d8%a7%db%8c%d8%a7%d9%86%d9%87","status":"publish","type":"page","link":"https:\/\/ccpri.ir\/?page_id=1093","title":{"rendered":"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"fa\" dir=\"rtl\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc<\/title>\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf-autotable\/3.5.28\/jspdf.plugin.autotable.min.js\"><\/script>\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n            font-family: 'Tahoma', 'Arial', sans-serif;\n        }\n        \n        body {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            min-height: 100vh;\n            padding: 20px;\n        }\n        \n        .quiz-container {\n            max-width: 1000px;\n            margin: 0 auto;\n            background: white;\n            border-radius: 15px;\n            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);\n            overflow: hidden;\n        }\n        \n        \/* \u0627\u0633\u062a\u0627\u06cc\u0644 \u0647\u062f\u0631 *\/\n        .quiz-header {\n            background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);\n            color: white;\n            padding: 25px;\n            text-align: center;\n            position: relative;\n        }\n        \n        .quiz-header h1 {\n            font-size: 2.2em;\n            margin-bottom: 10px;\n        }\n        \n        .quiz-info {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            margin-top: 20px;\n            background: rgba(255, 255, 255, 0.1);\n            padding: 15px;\n            border-radius: 10px;\n        }\n        \n        .timer {\n            font-size: 1.4em;\n            font-weight: bold;\n            background: #e74c3c;\n            padding: 8px 15px;\n            border-radius: 25px;\n        }\n        \n        .progress-bar {\n            flex-grow: 1;\n            height: 12px;\n            background: rgba(255, 255, 255, 0.3);\n            border-radius: 6px;\n            margin: 0 20px;\n            overflow: hidden;\n        }\n        \n        .progress {\n            height: 100%;\n            background: #2ecc71;\n            transition: width 0.3s ease;\n            width: 0%;\n        }\n        \n        \/* \u0627\u0633\u062a\u0627\u06cc\u0644 \u0633\u0648\u0627\u0644\u0627\u062a *\/\n        .question-container {\n            padding: 30px;\n            display: none;\n        }\n        \n        .question-container.active {\n            display: block;\n            animation: fadeIn 0.5s ease;\n        }\n        \n        @keyframes fadeIn {\n            from { opacity: 0; transform: translateY(20px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n        \n        .question-number {\n            background: #3498db;\n            color: white;\n            display: inline-block;\n            padding: 5px 15px;\n            border-radius: 20px;\n            margin-bottom: 15px;\n            font-size: 0.9em;\n        }\n        \n        .question-text {\n            font-size: 1.3em;\n            line-height: 1.6;\n            margin-bottom: 25px;\n            color: #2c3e50;\n            font-weight: 500;\n        }\n        \n        .options-container {\n            display: grid;\n            gap: 12px;\n        }\n        \n        .option {\n            padding: 18px 20px;\n            border: 2px solid #e0e0e0;\n            border-radius: 12px;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            display: flex;\n            align-items: center;\n            font-size: 1.1em;\n        }\n        \n        .option:hover {\n            border-color: #3498db;\n            background: #f8f9fa;\n        }\n        \n        .option.selected {\n            border-color: #3498db;\n            background: #ebf5fb;\n        }\n        \n        .option-label {\n            background: #3498db;\n            color: white;\n            width: 35px;\n            height: 35px;\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            margin-left: 15px;\n            font-weight: bold;\n        }\n        \n        \/* \u0627\u0633\u062a\u0627\u06cc\u0644 \u0646\u0627\u0648\u0628\u0631\u06cc *\/\n        .navigation {\n            padding: 20px 30px;\n            background: #f8f9fa;\n            border-top: 1px solid #e0e0e0;\n            display: flex;\n            justify-content: space-between;\n        }\n        \n        .nav-btn {\n            padding: 12px 25px;\n            border: none;\n            border-radius: 8px;\n            cursor: pointer;\n            font-size: 1em;\n            font-weight: bold;\n            transition: all 0.3s ease;\n        }\n        \n        .prev-btn {\n            background: #95a5a6;\n            color: white;\n        }\n        \n        .prev-btn:hover {\n            background: #7f8c8d;\n        }\n        \n        .next-btn {\n            background: #3498db;\n            color: white;\n        }\n        \n        .next-btn:hover {\n            background: #2980b9;\n        }\n        \n        .submit-btn {\n            background: #27ae60;\n            color: white;\n        }\n        \n        .submit-btn:hover {\n            background: #219a52;\n        }\n        \n        \/* \u0627\u0633\u062a\u0627\u06cc\u0644 \u0646\u062a\u0627\u06cc\u062c *\/\n        .results-container {\n            padding: 40px;\n            text-align: center;\n            display: none;\n        }\n        \n        .results-header {\n            background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);\n            color: white;\n            padding: 30px;\n            border-radius: 10px;\n            margin-bottom: 30px;\n        }\n        \n        .score-circle {\n            width: 150px;\n            height: 150px;\n            border-radius: 50%;\n            background: white;\n            margin: 0 auto 20px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 2.5em;\n            font-weight: bold;\n            color: #27ae60;\n            border: 8px solid #2ecc71;\n        }\n        \n        .stats {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n            gap: 20px;\n            margin: 30px 0;\n        }\n        \n        .stat-card {\n            background: white;\n            padding: 20px;\n            border-radius: 10px;\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\n            border-left: 4px solid #3498db;\n        }\n        \n        .stat-card h3 {\n            color: #7f8c8d;\n            margin-bottom: 10px;\n            font-size: 0.9em;\n        }\n        \n        .stat-card .value {\n            font-size: 1.8em;\n            font-weight: bold;\n            color: #2c3e50;\n        }\n        \n        \/* \u0627\u0633\u062a\u0627\u06cc\u0644 \u06a9\u0627\u0631\u0646\u0627\u0645\u0647 *\/\n        .report-card {\n            background: white;\n            border-radius: 10px;\n            padding: 30px;\n            margin-top: 30px;\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\n        }\n        \n        .question-review {\n            border: 1px solid #e0e0e0;\n            border-radius: 8px;\n            padding: 20px;\n            margin-bottom: 15px;\n        }\n        \n        .correct {\n            border-right: 4px solid #27ae60;\n        }\n        \n        .incorrect {\n            border-right: 4px solid #e74c3c;\n        }\n        \n        .user-answer {\n            color: #e74c3c;\n            font-weight: bold;\n        }\n        \n        .correct-answer {\n            color: #27ae60;\n            font-weight: bold;\n        }\n        \n        .actions {\n            margin-top: 30px;\n        }\n        \n        .action-btn {\n            padding: 12px 25px;\n            margin: 0 10px;\n            border: none;\n            border-radius: 8px;\n            cursor: pointer;\n            font-size: 1em;\n            font-weight: bold;\n            transition: all 0.3s ease;\n        }\n        \n        .retry-btn {\n            background: #3498db;\n            color: white;\n        }\n        \n        .retry-btn:hover {\n            background: #2980b9;\n        }\n        \n        .print-btn {\n            background: #95a5a6;\n            color: white;\n        }\n        \n        .print-btn:hover {\n            background: #7f8c8d;\n        }\n        \n        .pdf-btn {\n            background: #e74c3c;\n            color: white;\n        }\n        \n        .pdf-btn:hover {\n            background: #c0392b;\n        }\n        \n        \/* \u0635\u0641\u062d\u0647 \u0634\u0631\u0648\u0639 *\/\n        .start-container {\n            padding: 50px;\n            text-align: center;\n        }\n        \n        .start-btn {\n            background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);\n            color: white;\n            padding: 15px 40px;\n            border: none;\n            border-radius: 50px;\n            font-size: 1.2em;\n            font-weight: bold;\n            cursor: pointer;\n            margin-top: 30px;\n            transition: all 0.3s ease;\n        }\n        \n        .start-btn:hover {\n            transform: translateY(-3px);\n            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);\n        }\n        \n        \/* \u0631\u0633\u067e\u0627\u0646\u0633\u06cc\u0648 *\/\n        @media (max-width: 768px) {\n            .quiz-info {\n                flex-direction: column;\n                gap: 15px;\n            }\n            \n            .progress-bar {\n                margin: 10px 0;\n                width: 100%;\n            }\n            \n            .navigation {\n                flex-direction: column;\n                gap: 10px;\n            }\n            \n            .nav-btn {\n                width: 100%;\n            }\n            \n            .stats {\n                grid-template-columns: 1fr;\n            }\n        }\n\n        \/* \u0627\u0633\u062a\u0627\u06cc\u0644 \u0628\u0631\u0627\u06cc \u0686\u0627\u067e *\/\n        @media print {\n            body * {\n                visibility: hidden;\n            }\n            .results-container, .results-container * {\n                visibility: visible;\n            }\n            .results-container {\n                position: absolute;\n                left: 0;\n                top: 0;\n                width: 100%;\n            }\n            .actions {\n                display: none;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"quiz-container\">\n        <!-- \u0635\u0641\u062d\u0647 \u0634\u0631\u0648\u0639 -->\n        <div class=\"start-container\" id=\"startScreen\">\n            <div class=\"quiz-header\">\n                <h1>\ud83c\udf93 \u0634\u0631\u06a9\u062a \u062a\u0639\u0627\u0648\u0646\u06cc \u067e\u0627\u0633\u0627\u0631\u06af\u0627\u062f \u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646<\/h1>\n                <p>\u0633\u0627\u0645\u0627\u0646\u0647 \u062c\u0627\u0645\u0639 \u0628\u0631\u06af\u0632\u0627\u0631\u06cc \u0622\u0632\u0645\u0648\u0646 \u0648 \u0635\u062f\u0648\u0631 \u06a9\u0627\u0631\u0646\u0627\u0645\u0647<\/p>\n            <\/div>\n            \n            <div style=\"padding: 40px;\">\n                <h2 style=\"color: #2c3e50; margin-bottom: 20px;\">\u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f<\/h2>\n                <p style=\"color: #7f8c8d; line-height: 1.8; margin-bottom: 30px;\">\n                    \u0627\u06cc\u0646 \u0622\u0632\u0645\u0648\u0646 \u0634\u0627\u0645\u0644 20 \u0633\u0648\u0627\u0644 \u062a\u0633\u062a\u06cc \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0645\u06cc\u200c\u0628\u0627\u0634\u062f. \u0634\u0645\u0627 30 \u062f\u0642\u06cc\u0642\u0647 \u0632\u0645\u0627\u0646 \u062f\u0627\u0631\u06cc\u062f \n                    \u062a\u0627 \u0628\u0647 \u062a\u0645\u0627\u0645 \u0633\u0648\u0627\u0644\u0627\u062a \u067e\u0627\u0633\u062e \u062f\u0647\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0622\u0632\u0645\u0648\u0646\u060c \u06a9\u0627\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0645\u0644 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0635\u0627\u062f\u0631 \u062e\u0648\u0627\u0647\u062f \u0634\u062f.\n                <\/p>\n                \n                <div class=\"stats\">\n                    <div class=\"stat-card\">\n                        <h3>\u062a\u0639\u062f\u0627\u062f \u0633\u0648\u0627\u0644\u0627\u062a<\/h3>\n                        <div class=\"value\">20 \u0633\u0648\u0627\u0644<\/div>\n                    <\/div>\n                    <div class=\"stat-card\">\n                        <h3>\u0632\u0645\u0627\u0646 \u0622\u0632\u0645\u0648\u0646<\/h3>\n                        <div class=\"value\">30 \u062f\u0642\u06cc\u0642\u0647<\/div>\n                    <\/div>\n                    <div class=\"stat-card\">\n                        <h3>\u0646\u0648\u0639 \u0622\u0632\u0645\u0648\u0646<\/h3>\n                        <div class=\"value\">\u062a\u0633\u062a\u06cc \u0686\u0647\u0627\u0631\u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc<\/div>\n                    <\/div>\n                <\/div>\n                \n                <button class=\"start-btn\" onclick=\"startQuiz()\">\n                    \u0634\u0631\u0648\u0639 \u0622\u0632\u0645\u0648\u0646\n                <\/button>\n            <\/div>\n        <\/div>\n\n        <!-- \u0628\u062e\u0634 \u0622\u0632\u0645\u0648\u0646 -->\n        <div id=\"quizScreen\" style=\"display: none;\">\n            <div class=\"quiz-header\">\n                <h1>\u0622\u0632\u0645\u0648\u0646 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc<\/h1>\n                <div class=\"quiz-info\">\n                    <div class=\"timer\" id=\"timer\">\u06f3\u06f0:\u06f0\u06f0<\/div>\n                    <div class=\"progress-bar\">\n                        <div class=\"progress\" id=\"progress\"><\/div>\n                    <\/div>\n                    <div id=\"questionCounter\">\u0633\u0648\u0627\u0644 \u06f1 \u0627\u0632 \u06f2\u06f0<\/div>\n                <\/div>\n            <\/div>\n\n            <!-- \u0633\u0648\u0627\u0644\u0627\u062a \u0627\u06cc\u0646\u062c\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f -->\n            <div id=\"questionsContainer\"><\/div>\n\n            <div class=\"navigation\">\n                <button class=\"nav-btn prev-btn\" onclick=\"previousQuestion()\" id=\"prevBtn\">\n                    \u0633\u0648\u0627\u0644 \u0642\u0628\u0644\u06cc\n                <\/button>\n                <button class=\"nav-btn next-btn\" onclick=\"nextQuestion()\" id=\"nextBtn\">\n                    \u0633\u0648\u0627\u0644 \u0628\u0639\u062f\u06cc\n                <\/button>\n                <button class=\"nav-btn submit-btn\" onclick=\"submitQuiz()\" id=\"submitBtn\" style=\"display: none;\">\n                    \u067e\u0627\u06cc\u0627\u0646 \u0622\u0632\u0645\u0648\u0646\n                <\/button>\n            <\/div>\n        <\/div>\n\n        <!-- \u0628\u062e\u0634 \u0646\u062a\u0627\u06cc\u062c \u0648 \u06a9\u0627\u0631\u0646\u0627\u0645\u0647 -->\n        <div class=\"results-container\" id=\"resultsScreen\">\n            <div class=\"results-header\">\n                <div class=\"score-circle\" id=\"finalScore\">\u06f0%<\/div>\n                <h2>\u0622\u0632\u0645\u0648\u0646 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0631\u0633\u06cc\u062f<\/h2>\n                <p>\u06a9\u0627\u0631\u0646\u0627\u0645\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0639\u0645\u0644\u06a9\u0631\u062f \u0634\u0645\u0627<\/p>\n            <\/div>\n\n            <div class=\"stats\">\n                <div class=\"stat-card\">\n                    <h3>\u0646\u0645\u0631\u0647 \u0646\u0647\u0627\u06cc\u06cc<\/h3>\n                    <div class=\"value\" id=\"scoreValue\">\u06f0 \u0627\u0632 \u06f2\u06f0<\/div>\n                <\/div>\n                <div class=\"stat-card\">\n                    <h3>\u062f\u0631\u0635\u062f \u0645\u0648\u0641\u0642\u06cc\u062a<\/h3>\n                    <div class=\"value\" id=\"percentage\">\u06f0%<\/div>\n                <\/div>\n                <div class=\"stat-card\">\n                    <h3>\u0632\u0645\u0627\u0646 \u0635\u0631\u0641 \u0634\u062f\u0647<\/h3>\n                    <div class=\"value\" id=\"timeSpent\">\u06f0:\u06f0\u06f0<\/div>\n                <\/div>\n                <div class=\"stat-card\">\n                    <h3>\u0648\u0636\u0639\u06cc\u062a<\/h3>\n                    <div class=\"value\" id=\"status\">\u0646\u0627\u0645\u0634\u062e\u0635<\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"report-card\">\n                <h3 style=\"color: #2c3e50; margin-bottom: 20px; text-align: right;\">\ud83d\udcca \u062a\u062d\u0644\u06cc\u0644 \u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc \u0634\u0645\u0627<\/h3>\n                <div id=\"questionsReview\"><\/div>\n            <\/div>\n\n            <div class=\"actions\">\n                <button class=\"action-btn retry-btn\" onclick=\"retryQuiz()\">\n                    \ud83d\udd04 \u0622\u0632\u0645\u0648\u0646 \u0645\u062c\u062f\u062f\n                <\/button>\n                <button class=\"action-btn print-btn\" onclick=\"window.print()\">\n                    \ud83d\udda8\ufe0f \u0686\u0627\u067e \u06a9\u0627\u0631\u0646\u0627\u0645\u0647\n                <\/button>\n                <button class=\"action-btn pdf-btn\" onclick=\"generatePDF()\">\n                    \ud83d\udcc4 \u0630\u062e\u06cc\u0631\u0647 PDF\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u0627\u06cc \u0633\u0648\u0627\u0644\u0627\u062a (20 \u0633\u0648\u0627\u0644)\n        const quizData = [\n            {\n                id: 1,\n                question: \"\u06a9\u062f\u0627\u0645 \u06cc\u06a9 \u0627\u0632 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0646\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u0634\u0648\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Shift\", \"\u0628 : Insert\", \"\u062c : F2\", \"\u062f : Esc\"],\n                correct: 2\n            },\n            {\n                id: 2,\n                question: \"\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0646\u062c\u0631\u0647 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u0628\u0627\u0634\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062f\u0627\u0645 \u0646\u0648\u0627\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631\u0648\u0646 \u067e\u0646\u062c\u0631\u0647 \u0631\u0627 \u062f\u06cc\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Title Bar\", \"\u0628 : Menu Bar\", \"\u062c : Address Bar\", \"\u062f : Scroll Bar\"],\n                correct: 3\n            },\n            {\n                id: 3,\n                question: \"\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062f\u0627\u0645 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u062a\u0631\u06a9\u06cc\u0628\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646 \u0645\u0646\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc \u06cc\u0627 \u0645\u0646\u0648\u06cc \u06a9\u0646\u062a\u0631\u0644\u06cc \u0631\u0627 \u0628\u0627\u0632 \u0646\u0645\u0648\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Alt+F4\", \"\u0628 : Ctrl+F10\", \"\u062c : Alt+Space\", \"\u062f : Shift+Space\"],\n                correct: 2\n            },\n            {\n                id: 4,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u062c\u0647\u062a \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u0626\u0645\u06cc \u062a\u0630\u06a9\u0631\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u06cc \u0641\u0639\u0627\u0644 \u062f\u0631 \u0633\u06cc\u0646\u06cc \u0646\u0648\u0627\u0631 \u0648\u0638\u06cc\u0641\u0647 \u0645\u06cc\u0628\u0627\u0634\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Only show notification\",\"\u0628 : Hide icon and notification\",\"\u062c : Show icon and notification\", \"\u062f : Notification Area\"],\n                correct: 2\n            },\n            {\n                id: 5,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u062f\u0631 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u062f\u0631\u0627\u06cc\u0648\u060c \u0641\u0636\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u06cc \u062f\u0631\u0627\u06cc\u0648 \u0631\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Free Space\", \"\u0628 : Boolean\", \"\u062c : Volume Label\", \"\u062f : Used Space\"],\n                correct: 3\n            },\n            {\n                id: 6,\n                question: \"\u06a9\u0644\u06cc\u062f \u0645\u06cc\u0627\u0646 \u0628\u0631 \u062c\u0647\u062a \u062a\u063a\u06cc\u06cc\u0631 \u0646\u0627\u0645 \u0622\u06cc\u06a9\u0646 \u0647\u0627 \u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0645\u06cc \u0628\u0627\u0634\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Ctrl + N\", \"\u0628 : Alt+F2\", \"\u062c : F2\", \"\u062f : Shift + R\"],\n                correct: 2\n            },\n            {\n                id: 7,\n                question: \"\u062c\u0647\u062a \u062e\u0627\u0644\u06cc \u0646\u0645\u0648\u062f\u0646 \u0635\u0646\u062f\u0648\u0642 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u0628\u0647 \u0635\u0648\u0631\u062a \u06cc\u06a9\u062c\u0627 \u0627\u0632 \u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0645\u0648\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Empty Recycle Bin\", \"\u0628 : Restore this item\", \"\u062c : Do not move files to the Recycle Bin\", \"\u062f : Display delete confirmation dialog\"],\n                correct: 0\n            },\n            {\n                id: 8,\n                question: \"\u062c\u0647\u062a \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0635\u0641\u062d\u0647 \u06cc Desktop \u0627\u0632 \u06a9\u062f\u0627\u0645 \u067e\u0646\u062c\u0631\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0645\u0648\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Properties\", \"\u0628 : Personalize\", \"\u062c : Desktop Background\", \"\u062f : Control Panel\"],\n                correct: 1\n            },\n            {\n                id: 9,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0627\u0646\u062f\u0627\u0632\u0647 \u06cc \u0635\u0641\u062d\u0647 \u0646\u0645\u0627\u06cc\u0634 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0648\u0646\u0633\u0628\u062a \u0627\u0628\u0639\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627\u062d\u0641\u0638 \u0645\u06cc \u06a9\u0646\u062f \u061f\",\n                options: [\"\u0627\u0644\u0641 : Tile\", \"\u0628 : Stretch\", \"\u062c : Fill\", \"\u062f : Fit\"],\n                correct: 3\n            },\n            {\n                id: 10,\n                question: \"\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062c\u0647\u062a \u0635\u0641\u062d\u0647 \u0646\u0645\u0627\u06cc\u0634 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0646\u0645\u0648\u062f \u061f\",\n                options: [\"Display\", \"Resolution\", \"Orientation\", \"Portrait\"],\n                correct: 2\n            },\n            {\n                id: 11,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u062e\u0641\u06cc \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : Show hidden files\", \"\u0628 : Show system files\", \"\u062c : View hidden items\", \"\u062f : Display all files\"],\n                correct: 0\n            },\n            {\n                id: 12,\n                question: \"\u06a9\u062f\u0627\u0645 \u06a9\u0644\u06cc\u062f \u062a\u0631\u06a9\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0645\u062a\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : Ctrl+X\", \"\u0628 : Ctrl+C\", \"\u062c : Ctrl+V\", \"\u062f : Ctrl+Z\"],\n                correct: 1\n            },\n            {\n                id: 13,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u067e\u0648\u0634\u0647 \u062c\u062f\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : New File\", \"\u0628 : Create Folder\", \"\u062c : New Folder\", \"\u062f : Make Directory\"],\n                correct: 2\n            },\n            {\n                id: 14,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u062c\u0633\u062a\u062c\u0648\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : Search Box\", \"\u0628 : Find Files\", \"\u062c : File Explorer\", \"\u062f : Windows Search\"],\n                correct: 0\n            },\n            {\n                id: 15,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0627\u0646\u062f\u0627\u0632\u0647 \u0622\u06cc\u06a9\u0646\u200c\u0647\u0627 \u062f\u0631 \u062f\u0633\u06a9\u062a\u0627\u067e \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : View\", \"\u0628 : Size\", \"\u062c : Arrange\", \"\u062f : Display\"],\n                correct: 0\n            },\n            {\n                id: 16,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u0634\u062e\u0635\u0627\u062a \u0633\u06cc\u0633\u062a\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : System Properties\", \"\u0628 : Device Manager\", \"\u062c : System Information\", \"\u062f : Control Panel\"],\n                correct: 0\n            },\n            {\n                id: 17,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0645\u0631\u0648\u0631\u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : Clear History\", \"\u0628 : Delete Browsing Data\", \"\u062c : Remove Cache\", \"\u062f : Clean Browser\"],\n                correct: 1\n            },\n            {\n                id: 18,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : Change Password\", \"\u0628 : Security Settings\", \"\u062c : User Accounts\", \"\u062f : Password Manager\"],\n                correct: 0\n            },\n            {\n                id: 19,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0648\u0627\u06cc\u200c\u0641\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : Network Connections\", \"\u0628 : Wi-Fi Settings\", \"\u062c : Internet Options\", \"\u062f : Network and Sharing Center\"],\n                correct: 1\n            },\n            {\n                id: 20,\n                question: \"\u06a9\u062f\u0627\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0648\u06cc\u0646\u062f\u0648\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u061f\",\n                options: [\"\u0627\u0644\u0641 : Windows Update\", \"\u0628 : System Update\", \"\u062c : OS Update\", \"\u062f : Microsoft Update\"],\n                correct: 0\n            }\n        ];\n\n        let currentQuestion = 0;\n        let userAnswers = new Array(quizData.length).fill(null);\n        let timeLeft = 30 * 60; \/\/ 30 \u062f\u0642\u06cc\u0642\u0647 \u0628\u0647 \u062b\u0627\u0646\u06cc\u0647\n        let timerInterval;\n        let startTime;\n        let quizResults = {};\n\n        \/\/ \u0634\u0631\u0648\u0639 \u0622\u0632\u0645\u0648\u0646\n        function startQuiz() {\n            document.getElementById('startScreen').style.display = 'none';\n            document.getElementById('quizScreen').style.display = 'block';\n            startTime = new Date();\n            startTimer();\n            showQuestion(0);\n        }\n\n        \/\/ \u062a\u0627\u06cc\u0645\u0631\n        function startTimer() {\n            timerInterval = setInterval(() => {\n                timeLeft--;\n                updateTimerDisplay();\n                \n                if (timeLeft <= 0) {\n                    clearInterval(timerInterval);\n                    submitQuiz();\n                }\n            }, 1000);\n        }\n\n        function updateTimerDisplay() {\n            const minutes = Math.floor(timeLeft \/ 60);\n            const seconds = timeLeft % 60;\n            document.getElementById('timer').textContent = \n                `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\n            \n            \/\/ \u0622\u067e\u062f\u06cc\u062a progress bar\n            const totalTime = 30 * 60;\n            const progress = ((totalTime - timeLeft) \/ totalTime) * 100;\n            document.getElementById('progress').style.width = `${progress}%`;\n        }\n\n        \/\/ \u0646\u0645\u0627\u06cc\u0634 \u0633\u0648\u0627\u0644\n        function showQuestion(index) {\n            currentQuestion = index;\n            const question = quizData[index];\n            \n            document.getElementById('questionCounter').textContent = \n                `\u0633\u0648\u0627\u0644 ${index + 1} \u0627\u0632 ${quizData.length}`;\n            \n            const questionsContainer = document.getElementById('questionsContainer');\n            questionsContainer.innerHTML = `\n                <div class=\"question-container active\">\n                    <div class=\"question-number\">\u0633\u0648\u0627\u0644 ${index + 1}<\/div>\n                    <div class=\"question-text\">${question.question}<\/div>\n                    <div class=\"options-container\">\n                        ${question.options.map((option, optIndex) => `\n                            <div class=\"option ${userAnswers[index] === optIndex ? 'selected' : ''}\" \n                                 onclick=\"selectOption(${optIndex})\">\n                                <div class=\"option-label\">${String.fromCharCode(1570 + optIndex)}<\/div>\n                                ${option}\n                            <\/div>\n                        `).join('')}\n                    <\/div>\n                <\/div>\n            `;\n            \n            \/\/ \u0645\u062f\u06cc\u0631\u06cc\u062a \u0646\u0645\u0627\u06cc\u0634 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\n            document.getElementById('prevBtn').style.display = index === 0 ? 'none' : 'block';\n            document.getElementById('nextBtn').style.display = index === quizData.length - 1 ? 'none' : 'block';\n            document.getElementById('submitBtn').style.display = index === quizData.length - 1 ? 'block' : 'none';\n        }\n\n        \/\/ \u0627\u0646\u062a\u062e\u0627\u0628 \u06af\u0632\u06cc\u0646\u0647\n        function selectOption(optionIndex) {\n            userAnswers[currentQuestion] = optionIndex;\n            showQuestion(currentQuestion);\n        }\n\n        \/\/ \u0633\u0648\u0627\u0644 \u0628\u0639\u062f\u06cc\n        function nextQuestion() {\n            if (currentQuestion < quizData.length - 1) {\n                showQuestion(currentQuestion + 1);\n            }\n        }\n\n        \/\/ \u0633\u0648\u0627\u0644 \u0642\u0628\u0644\u06cc\n        function previousQuestion() {\n            if (currentQuestion > 0) {\n                showQuestion(currentQuestion - 1);\n            }\n        }\n\n        \/\/ \u0627\u0631\u0633\u0627\u0644 \u0622\u0632\u0645\u0648\u0646\n        function submitQuiz() {\n            clearInterval(timerInterval);\n            \n            const endTime = new Date();\n            const timeSpent = Math.floor((endTime - startTime) \/ 1000);\n            \n            \/\/ \u0645\u062d\u0627\u0633\u0628\u0647 \u0646\u062a\u0627\u06cc\u062c\n            let score = 0;\n            let correctAnswers = 0;\n            let wrongAnswers = 0;\n            \n            quizData.forEach((question, index) => {\n                if (userAnswers[index] === question.correct) {\n                    score++;\n                    correctAnswers++;\n                } else if (userAnswers[index] !== null) {\n                    wrongAnswers++;\n                }\n            });\n            \n            const percentage = Math.round((score \/ quizData.length) * 100);\n            \n            \/\/ \u0630\u062e\u06cc\u0631\u0647 \u0646\u062a\u0627\u06cc\u062c\n            quizResults = {\n                score: score,\n                totalQuestions: quizData.length,\n                percentage: percentage,\n                correctAnswers: correctAnswers,\n                wrongAnswers: wrongAnswers,\n                unanswered: quizData.length - correctAnswers - wrongAnswers,\n                timeSpent: timeSpent,\n                date: new Date().toLocaleString('fa-IR'),\n                status: getStatusText(percentage)\n            };\n            \n            \/\/ \u0646\u0645\u0627\u06cc\u0634 \u0646\u062a\u0627\u06cc\u062c\n            showResults(score, percentage, timeSpent);\n            \n            \/\/ \u0630\u062e\u06cc\u0631\u0647 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\n            saveToDatabase();\n        }\n\n        \/\/ \u0646\u0645\u0627\u06cc\u0634 \u0646\u062a\u0627\u06cc\u062c \u0648 \u06a9\u0627\u0631\u0646\u0627\u0645\u0647\n        function showResults(score, percentage, timeSpent) {\n            document.getElementById('quizScreen').style.display = 'none';\n            document.getElementById('resultsScreen').style.display = 'block';\n            \n            \/\/ \u0622\u067e\u062f\u06cc\u062a \u0622\u0645\u0627\u0631\n            document.getElementById('finalScore').textContent = `${percentage}%`;\n            document.getElementById('scoreValue').textContent = `${score} \u0627\u0632 ${quizData.length}`;\n            document.getElementById('percentage').textContent = `${percentage}%`;\n            \n            const minutes = Math.floor(timeSpent \/ 60);\n            const seconds = timeSpent % 60;\n            document.getElementById('timeSpent').textContent = \n                `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\n            \n            \/\/ \u0648\u0636\u0639\u06cc\u062a\n            document.getElementById('status').textContent = getStatusText(percentage);\n            \n            \/\/ \u0646\u0645\u0627\u06cc\u0634 \u062a\u062d\u0644\u06cc\u0644 \u0633\u0648\u0627\u0644\u0627\u062a\n            const questionsReview = document.getElementById('questionsReview');\n            questionsReview.innerHTML = quizData.map((question, index) => {\n                const userAnswer = userAnswers[index];\n                const isCorrect = userAnswer === question.correct;\n                const userAnswerText = userAnswer !== null ? \n                    question.options[userAnswer] : '\u067e\u0627\u0633\u062e \u0646\u062f\u0627\u062f\u0647\u200c\u0627\u06cc\u062f';\n                const correctAnswerText = question.options[question.correct];\n                \n                return `\n                    <div class=\"question-review ${isCorrect ? 'correct' : 'incorrect'}\">\n                        <div style=\"margin-bottom: 10px;\">\n                            <strong>\u0633\u0648\u0627\u0644 ${index + 1}:<\/strong> ${question.question}\n                        <\/div>\n                        <div style=\"color: #7f8c8d; font-size: 0.9em;\">\n                            <div>\u067e\u0627\u0633\u062e \u0634\u0645\u0627: <span class=\"user-answer\">${userAnswerText}<\/span><\/div>\n                            <div>\u067e\u0627\u0633\u062e \u0635\u062d\u06cc\u062d: <span class=\"correct-answer\">${correctAnswerText}<\/span><\/div>\n                            ${isCorrect ? \n                                '<div style=\"color: #27ae60; margin-top: 5px;\">\u2705 \u067e\u0627\u0633\u062e \u0635\u062d\u06cc\u062d<\/div>' : \n                                '<div style=\"color: #e74c3c; margin-top: 5px;\">\u274c \u067e\u0627\u0633\u062e \u0646\u0627\u062f\u0631\u0633\u062a<\/div>'\n                            }\n                        <\/div>\n                    <\/div>\n                `;\n            }).join('');\n        }\n\n        \/\/ \u062a\u0648\u0644\u06cc\u062f PDF \u0628\u0627 \u0641\u0648\u0646\u062a \u0641\u0627\u0631\u0633\u06cc\n        async function generatePDF() {\n            const { jsPDF } = window.jspdf;\n            const doc = new jsPDF();\n            \n            try {\n                \/\/ \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0641\u0648\u0646\u062a \u0641\u0627\u0631\u0633\u06cc \u0627\u0632 \u0622\u062f\u0631\u0633 \u0634\u0645\u0627\n                const fontResponse = await fetch('https:\/\/ccpri.ir\/wp-content\/uploads\/2025\/09\/BTitrBold.woff2');\n                const fontArrayBuffer = await fontResponse.arrayBuffer();\n                \n                \/\/ \u062a\u0628\u062f\u06cc\u0644 \u0628\u0647 Base64\n                const fontBase64 = arrayBufferToBase64(fontArrayBuffer);\n                \n                \/\/ \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0641\u0648\u0646\u062a \u0628\u0647 PDF\n                doc.addFileToVFS('BTitrBold.ttf', fontBase64);\n                doc.addFont('BTitrBold.ttf', 'BTitr', 'normal');\n                doc.setFont('BTitr');\n                \n                \/\/ \u0647\u062f\u0631\n                doc.setFontSize(20);\n                doc.setTextColor(40, 40, 40);\n                doc.text('\u0634\u0631\u06a9\u062a \u062a\u0639\u0627\u0648\u0646\u06cc \u067e\u0627\u0633\u0627\u0631\u06af\u0627\u062f \u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646', 105, 20, { align: 'center' });\n                \n                doc.setFontSize(16);\n                doc.text('\u06a9\u0627\u0631\u0646\u0627\u0645\u0647 \u0622\u0632\u0645\u0648\u0646 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc', 105, 35, { align: 'center' });\n                \n                \/\/ \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0622\u0632\u0645\u0648\u0646\n                doc.setFontSize(12);\n                doc.text(`\u062a\u0627\u0631\u06cc\u062e \u0622\u0632\u0645\u0648\u0646: ${quizResults.date}`, 20, 55);\n                doc.text(`\u0645\u062f\u062a \u0632\u0645\u0627\u0646 \u0635\u0631\u0641 \u0634\u062f\u0647: ${formatTime(quizResults.timeSpent)}`, 20, 65);\n                \n                \/\/ \u062c\u062f\u0648\u0644 \u0646\u062a\u0627\u06cc\u062c\n                const tableData = [\n                    ['\u0634\u0627\u062e\u0635', '\u0645\u0642\u062f\u0627\u0631'],\n                    ['\u0646\u0645\u0631\u0647 \u0646\u0647\u0627\u06cc\u06cc', `${quizResults.score} \u0627\u0632 ${quizResults.totalQuestions}`],\n                    ['\u062f\u0631\u0635\u062f \u0645\u0648\u0641\u0642\u06cc\u062a', `${quizResults.percentage}%`],\n                    ['\u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc \u0635\u062d\u06cc\u062d', quizResults.correctAnswers.toString()],\n                    ['\u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc \u0646\u0627\u062f\u0631\u0633\u062a', quizResults.wrongAnswers.toString()],\n                    ['\u067e\u0627\u0633\u062e \u0646\u062f\u0627\u062f\u0647', quizResults.unanswered.toString()],\n                    ['\u0648\u0636\u0639\u06cc\u062a', quizResults.status]\n                ];\n                \n                \/\/ \u0627\u06cc\u062c\u0627\u062f \u062c\u062f\u0648\u0644\n                doc.autoTable({\n                    startY: 80,\n                    head: [tableData[0]],\n                    body: tableData.slice(1),\n                    theme: 'grid',\n                    styles: {\n                        font: 'BTitr',\n                        fontSize: 12,\n                        cellPadding: 5,\n                        halign: 'center'\n                    },\n                    headStyles: {\n                        fillColor: [52, 152, 219],\n                        textColor: 255,\n                        fontStyle: 'bold'\n                    },\n                    alternateRowStyles: {\n                        fillColor: [245, 245, 245]\n                    }\n                });\n                \n                \/\/ \u0630\u062e\u06cc\u0631\u0647 PDF\n                doc.save(`\u06a9\u0627\u0631\u0646\u0627\u0645\u0647_\u0622\u0632\u0645\u0648\u0646_${new Date().toISOString().slice(0, 10)}.pdf`);\n                \n            } catch (error) {\n                console.error('\u062e\u0637\u0627 \u062f\u0631 \u062a\u0648\u0644\u06cc\u062f PDF:', error);\n                \/\/ \u0646\u0633\u062e\u0647 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u062f\u0631 \u0635\u0648\u0631\u062a \u062e\u0637\u0627\n                generateSimplePDF();\n            }\n        }\n\n        \/\/ \u062a\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc \u0628\u0631\u0627\u06cc \u062a\u0628\u062f\u06cc\u0644 ArrayBuffer \u0628\u0647 Base64\n        function arrayBufferToBase64(buffer) {\n            let binary = '';\n            const bytes = new Uint8Array(buffer);\n            const len = bytes.byteLength;\n            for (let i = 0; i < len; i++) {\n                binary += String.fromCharCode(bytes[i]);\n            }\n            return window.btoa(binary);\n        }\n\n        \/\/ \u0646\u0633\u062e\u0647 \u0633\u0627\u062f\u0647 PDF \u062f\u0631 \u0635\u0648\u0631\u062a \u062e\u0637\u0627\n        function generateSimplePDF() {\n            const { jsPDF } = window.jspdf;\n            const doc = new jsPDF();\n            \n            \/\/ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0648\u0646\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc \u0627\u0646\u06af\u0644\u06cc\u0633\u06cc\n            doc.setFontSize(16);\n            doc.text('Pasargad Rayaneh Iranian CO.', 105, 20, { align: 'center' });\n            doc.text('Exam Results', 105, 30, { align: 'center' });\n            \n            \/\/ \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u0647 \u0627\u0646\u06af\u0644\u06cc\u0633\u06cc\n            doc.setFontSize(12);\n            doc.text(`Score: ${quizResults.score}\/${quizResults.totalQuestions}`, 20, 50);\n            doc.text(`Percentage: ${quizResults.percentage}%`, 20, 60);\n            doc.text(`Correct: ${quizResults.correctAnswers}`, 20, 70);\n            doc.text(`Wrong: ${quizResults.wrongAnswers}`, 20, 80);\n            doc.text(`Unanswered: ${quizResults.unanswered}`, 20, 90);\n            doc.text(`Time: ${formatTime(quizResults.timeSpent)}`, 20, 100);\n            doc.text(`Status: ${quizResults.status}`, 20, 110);\n            \n            doc.save(`exam_results_${new Date().toISOString().slice(0, 10)}.pdf`);\n        }\n\n        \/\/ \u0630\u062e\u06cc\u0631\u0647 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\n        function saveToDatabase() {\n            \/\/ \u0627\u06cc\u0646\u062c\u0627 \u06a9\u062f \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0648 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f\n            \/\/ \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0627\u0632 localStorage \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\n            \n            const results = {\n                id: Date.now(),\n                date: quizResults.date,\n                score: quizResults.score,\n                totalQuestions: quizResults.totalQuestions,\n                percentage: quizResults.percentage,\n                correctAnswers: quizResults.correctAnswers,\n                wrongAnswers: quizResults.wrongAnswers,\n                unanswered: quizResults.unanswered,\n                timeSpent: quizResults.timeSpent,\n                status: quizResults.status\n            };\n            \n            \/\/ \u0630\u062e\u06cc\u0631\u0647 \u062f\u0631 localStorage (\u062f\u0631 \u062d\u0627\u0644\u062a \u0648\u0627\u0642\u0639\u06cc \u0627\u06cc\u0646\u062c\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f)\n            let storedResults = JSON.parse(localStorage.getItem('quizResults') || '[]');\n            storedResults.push(results);\n            localStorage.setItem('quizResults', JSON.stringify(storedResults));\n            \n            console.log('\u0646\u062a\u0627\u06cc\u062c \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f:', results);\n        }\n\n        \/\/ \u062a\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc \u0628\u0631\u0627\u06cc \u0641\u0631\u0645\u062a \u0632\u0645\u0627\u0646\n        function formatTime(seconds) {\n            const minutes = Math.floor(seconds \/ 60);\n            const secs = seconds % 60;\n            return `${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;\n        }\n\n        \/\/ \u062a\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc \u0628\u0631\u0627\u06cc \u0648\u0636\u0639\u06cc\u062a\n        function getStatusText(percentage) {\n            if (percentage >= 80) return '\u0639\u0627\u0644\u06cc \ud83c\udf89';\n            if (percentage >= 60) return '\u062e\u0648\u0628 \ud83d\udc4d';\n            if (percentage >= 40) return '\u0645\u062a\u0648\u0633\u0637 \ud83d\ude0a';\n            return '\u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0644\u0627\u0634 \u0628\u06cc\u0634\u062a\u0631 \ud83d\udcaa';\n        }\n\n        \/\/ \u0622\u0632\u0645\u0648\u0646 \u0645\u062c\u062f\u062f\n        function retryQuiz() {\n            currentQuestion = 0;\n            userAnswers = new Array(quizData.length).fill(null);\n            timeLeft = 30 * 60;\n            \n            document.getElementById('resultsScreen').style.display = 'none';\n            document.getElementById('startScreen').style.display = 'block';\n        }\n\n        \/\/ \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647\n        document.addEventListener('DOMContentLoaded', function() {\n            updateTimerDisplay();\n        });\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc \ud83c\udf93 \u0634\u0631\u06a9\u062a \u062a\u0639\u0627\u0648\u0646\u06cc \u067e\u0627\u0633\u0627\u0631\u06af\u0627\u062f \u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646 \u0633\u0627\u0645\u0627\u0646\u0647 \u062c\u0627\u0645\u0639 \u0628\u0631\u06af\u0632\u0627\u0631\u06cc \u0622\u0632\u0645\u0648\u0646 \u0648 \u0635\u062f\u0648\u0631 \u06a9\u0627\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u062e\u0648\u0634 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1093","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ccpri.ir\/?page_id=1093\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 -\" \/>\n<meta property=\"og:description\" content=\"\u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc \ud83c\udf93 \u0634\u0631\u06a9\u062a \u062a\u0639\u0627\u0648\u0646\u06cc \u067e\u0627\u0633\u0627\u0631\u06af\u0627\u062f \u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646 \u0633\u0627\u0645\u0627\u0646\u0647 \u062c\u0627\u0645\u0639 \u0628\u0631\u06af\u0632\u0627\u0631\u06cc \u0622\u0632\u0645\u0648\u0646 \u0648 \u0635\u062f\u0648\u0631 \u06a9\u0627\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u062e\u0648\u0634 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ccpri.ir\/?page_id=1093\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-04T23:30:56+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ccpri.ir\/?page_id=1093\",\"url\":\"https:\/\/ccpri.ir\/?page_id=1093\",\"name\":\"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 -\",\"isPartOf\":{\"@id\":\"https:\/\/ccpri.ir\/#website\"},\"datePublished\":\"2025-10-04T19:21:33+00:00\",\"dateModified\":\"2025-10-04T23:30:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ccpri.ir\/?page_id=1093#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ccpri.ir\/?page_id=1093\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ccpri.ir\/?page_id=1093#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u062e\u0627\u0646\u0647\",\"item\":\"https:\/\/ccpri.ir\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ccpri.ir\/#website\",\"url\":\"https:\/\/ccpri.ir\/\",\"name\":\"www.ccpri.ir\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ccpri.ir\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ccpri.ir\/?page_id=1093","og_locale":"fa_IR","og_type":"article","og_title":"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 -","og_description":"\u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc \ud83c\udf93 \u0634\u0631\u06a9\u062a \u062a\u0639\u0627\u0648\u0646\u06cc \u067e\u0627\u0633\u0627\u0631\u06af\u0627\u062f \u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646 \u0633\u0627\u0645\u0627\u0646\u0647 \u062c\u0627\u0645\u0639 \u0628\u0631\u06af\u0632\u0627\u0631\u06cc \u0622\u0632\u0645\u0648\u0646 \u0648 \u0635\u062f\u0648\u0631 \u06a9\u0627\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0622\u0632\u0645\u0648\u0646 \u062e\u0648\u0634 [&hellip;]","og_url":"https:\/\/ccpri.ir\/?page_id=1093","article_modified_time":"2025-10-04T23:30:56+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ccpri.ir\/?page_id=1093","url":"https:\/\/ccpri.ir\/?page_id=1093","name":"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 -","isPartOf":{"@id":"https:\/\/ccpri.ir\/#website"},"datePublished":"2025-10-04T19:21:33+00:00","dateModified":"2025-10-04T23:30:56+00:00","breadcrumb":{"@id":"https:\/\/ccpri.ir\/?page_id=1093#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ccpri.ir\/?page_id=1093"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ccpri.ir\/?page_id=1093#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u062e\u0627\u0646\u0647","item":"https:\/\/ccpri.ir\/"},{"@type":"ListItem","position":2,"name":"\u06a9\u0627\u0631\u0628\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647"}]},{"@type":"WebSite","@id":"https:\/\/ccpri.ir\/#website","url":"https:\/\/ccpri.ir\/","name":"www.ccpri.ir","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ccpri.ir\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"}]}},"_links":{"self":[{"href":"https:\/\/ccpri.ir\/index.php?rest_route=\/wp\/v2\/pages\/1093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ccpri.ir\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ccpri.ir\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ccpri.ir\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ccpri.ir\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1093"}],"version-history":[{"count":3,"href":"https:\/\/ccpri.ir\/index.php?rest_route=\/wp\/v2\/pages\/1093\/revisions"}],"predecessor-version":[{"id":1154,"href":"https:\/\/ccpri.ir\/index.php?rest_route=\/wp\/v2\/pages\/1093\/revisions\/1154"}],"wp:attachment":[{"href":"https:\/\/ccpri.ir\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}