An active saved examination trace was recovered. Do you wish to resume your progress or clear memory logs to restart fresh?
TIME IS UP! / समय समाप्त!
Your allocated session duration has elapsed. The secure system engine is now auto-saving your answers and redirecting to the scorecard overview.
Loading Scorecard...
// =========================================================================
// QUESTION DATA CONFIGURATION (ADD YOUR NEW QUESTIONS INSIDE THE ARRAY BELOW)
// =========================================================================
const activeTestData = {
title: "Philosophy",
duration: 60, // Duration in minutes
questions: [
// Question 1: Match List Type
{
"en": {
"text": "Match List-I with List-II according to Contemporary Indian Philosophy:nnList-I (Thinker)nA. Sri AurobindonB. K.C. BhattacharyyanC. J. KrishnamurtinD. Swami VivekanandannList-II (Core Concept / Treatise)n1. Evolution of Mind to Supermindn2. Subject as Freedom and Swaraj in Ideasn3. Choiceless Awareness and Freedom from the Knownn4. Practical Vedanta and Universal ReligionnnChoose the correct option:",
"options": [
"A-1, B-2, C-3, D-4",
"A-2, B-1, C-4, D-3",
"A-3, B-4, C-1, D-2",
"A-4, B-3, C-2, D-1"
],
"explanation": "Sri Aurobindo formulates the evolutionary ascent from Mind to Supermind within Integral Yoga. K.C. Bhattacharyya develops Subject as Freedom. J. Krishnamurti emphasizes Choiceless Awareness. Swami Vivekananda propagates Practical Vedanta."
},
"hi": {
"text": "समकालीन भारतीय दर्शन के अनुसार सूची-I को सूची-II से सुमेलित कीजिए:nnसूची-I (विचारक)nA. श्री अरविन्दnB. के.सी. भट्टाचार्यnC. जे. कृष्णमूर्तिnD. स्वामी विवेकानंदnnसूची-II (मूल अवधारणा / ग्रंथ)n1. मन से अतिमन में विकासn2. विषय रूप में स्वतंत्रता एवं विचारों में स्वराजn3. चॉइसलेस अवेयरनेस और ज्ञात से मुक्तिn4. व्यावहारिक वेदांत और सार्वभौमिक धर्मnnसही विकल्प चुनें:",
"options": [
"A-1, B-2, C-3, D-4",
"A-2, B-1, C-4, D-3",
"A-3, B-4, C-1, D-2",
"A-4, B-3, C-2, D-1"
],
"explanation": "श्री अरविन्द पूर्णयोग के अंतर्गत मन से अतिमन की ओर आध्यात्मीकृत विकास का प्रतिपादन करते हैं। के.सी. भट्टाचार्य 'विषय रूप में स्वतंत्रता' का विकास करते हैं। जे. कृष्णमूर्ति चॉइसलेस अवेयरनेस पर बल देते हैं। स्वामी विवेकानंद व्यावहारिक वेदांत प्रस्तुत करते हैं।"
},
"correct": 0
},
// Question 2: Statement Type
{
"en": {
"text": "Consider the following statements regarding Ludwig Wittgenstein's Philosophical Transition:nnStatement-I: In Tractatus Logico-Philosophicus, Wittgenstein holds that the essence of language is to depict reality through an isomorphic logical structure.nStatement-II: In Philosophical Investigations, Wittgenstein retains the picture theory of meaning while adding language games as stylistic rhetorical variations.nnChoose the correct option:",
"options": [
"Both Statement-I and Statement-II are true",
"Both Statement-I and Statement-II are false",
"Statement-I is true, but Statement-II is false",
"Statement-I is false, but Statement-II is true"
],
"explanation": "Statement-I is true because early Wittgenstein asserted picture theory. Statement-II is false because late Wittgenstein explicitly rejected picture theory in favor of the use-theory of meaning in language games."
},
"hi": {
"text": "लुडविग विटगेंसटाइन के दार्शनिक रूपांतरण के संदर्भ में निम्नलिखित कथनों पर विचार कीजिए:nnकथन-I: 'ट्रैक्टेटस लॉजिको-फिलोसोफिकस' में विटगेंसटाइन का मानना है कि भाषा का सार एक समरूपी तार्किक संरचना के माध्यम से यथार्थ को चित्रित करना है।nकथन-II: 'फिलोसोफिकल इन्वेस्टिगेशन्स' में विटगेंसटाइन चित्र सिद्धांत को बरकरार रखते हुए भाषा-खेलों को शैलीगत भिन्नताओं के रूप में जोड़ते हैं।nnसही विकल्प चुनें:",
"options": [
"कथन-I और कथन-II दोनों सत्य हैं",
"कथन-I और कथन-II दोनों असत्य हैं",
"कथन-I सत्य है, किन्तु कथन-II असत्य है",
"कथन-I असत्य है, किन्तु कथन-II सत्य है"
],
"explanation": "कथन-I सत्य है क्योंकि प्रारंभिक विटगेंसटाइन वाक्य को तार्किक चित्र मानते हैं। कथन-II असत्य है क्योंकि उत्तरवर्ती विटगेंसटाइन ने चित्र सिद्धांत को खारिज कर दिया।"
},
"correct": 2
},
// Question 3: Assertion & Reason Type
{
"en": {
"text": "Assertion (A): J. Krishnamurti rejects all organized religious traditions, gurus, and spiritual authority.nReason (R): Krishnamurti holds that Truth is a pathless land that cannot be reached through any mediated dogma or conditioned method.nnChoose the correct option:",
"options": [
"Both A and R true, R explains A",
"Both true, R does not explain A",
"A true, R false",
"A false, R true"
],
"explanation": "Both Assertion (A) and Reason (R) are true, and R correctly explains A. In 1929, Krishnamurti declared that 'Truth is a pathless land' and cannot be reached via external authority."
},
"hi": {
"text": "कथन (A): जे. कृष्णमूर्ति सभी संगठित धार्मिक परंपराओं, गुरुओं और आध्यात्मिक सत्ताओं को खारिज करते हैं।nकारण (R): कृष्णमूर्ति का मानना है कि सत्य एक मार्गहीन भूमि है जिसे किसी मध्यस्थ हठधर्मिता या अनुबंधित पद्धति से प्राप्त नहीं किया जा सकता।nnसही विकल्प चुनें:",
"options": [
"A और R दोनों सत्य, R A की व्याख्या करता है",
"दोनों सत्य, R व्याख्या नहीं करता",
"A सत्य, R असत्य",
"A असत्य, R सत्य"
],
"explanation": "कथन (A) और कारण (R) दोनों सत्य हैं, तथा R, A की सही व्याख्या करता है।"
},
"correct": 0
},
// Question 4: Multi-Select Code Type
{
"en": {
"text": "Which of the following statements regarding Radical and Eco-Feminism are correct?nn(i) Radical feminism asserts that the personal is political, rejecting the traditional public-private split.n(ii) Radical feminism analyzes compulsory heterosexuality and gender roles as tools of male supremacy.n(iii) Ecofeminism links the historical exploitation of nature with the patriarchal subjugation of women.n(iv) Ecofeminism accepts industrial capitalist exploitation provided women share corporate board seats equally.nnSelect the correct code:",
"options": [
"(i), (ii), and (iv)",
"(ii), (iii), and (iv)",
"(i), (iii), and (iv)",
"(i), (ii), and (iii)"
],
"explanation": "Statements (i), (ii), and (iii) are correct. Statement (iv) is false because ecofeminism opposes corporate capitalist exploitation of nature."
},
"hi": {
"text": "आमूल-परिवर्तनवादी और पारिस्थितिक नारीवाद के संदर्भ में निम्नलिखित में से कौन से कथन सही हैं?nn(i) आमूल-परिवर्तनवादी नारीवाद दावा करता है कि 'व्यक्तिगत ही राजनीतिक है' और सार्वजनिक-निजी विभाजन को नकारता है।n(ii) आमूल-परिवर्तनवादी नारीवाद अनिवार्य विषमलैंगिकता और सामाजिक लैंगिक भूमिकाओं को पुरुष वर्चस्व का साधन मानता है।n(iii) पारिस्थितिक नारीवाद प्रकृति के दोहन को महिलाओं के पितृसत्तात्मक उत्पीड़न से जोड़ता है।n(iv) पारिस्थितिक नारीवाद औद्योगिक पूंजीवादी दोहन को स्वीकार करता है यदि महिलाओं को कॉर्पोरेट बोर्ड में समान सीटें मिलें।nnसही कोड का चयन करें:",
"options": [
"(i), (ii), और (iv)",
"(ii), (iii), और (iv)",
"(i), (iii), और (iv)",
"(i), (ii), और (iii)"
],
"explanation": "कथन (i), (ii) और (iii) सही हैं। कथन (iv) असत्य है क्योंकि पारिस्थितिक नारीवाद प्रकृति के औद्योगिक दोहन का विरोध करता है।"
},
"correct": 3
},
// Question 5: Direct Concept Type
{
"en": {
"text": "In Bertrand Russell's Theory of Definite Descriptions, how is the denoting proposition 'The present King of France is bald' logically analyzed to resolve its truth-value puzzle?",
"options": [
"As a complex existential conjunction asserting existence, uniqueness, and predication",
"As a subjective private psychological impression devoid of logical syntax",
"As an unconditioned synthetic apriori judgment in Kantian terms",
"As a non-cognitive emotional utterance expressing speaker disapproval"
],
"explanation": "Russell analyzes the sentence into three logical assertions: existence, uniqueness, and predication. Since existence fails, the statement evaluates logically as false."
},
"hi": {
"text": "बर्ट्रेंड रसेल के निश्चित विवरण के सिद्धांत में, 'फ्रांस का वर्तमान राजा गंजा है' वाक्य के सत्य-मूल्य की पहेली को सुलझाने के लिए इसका तार्किक विश्लेषण कैसे किया जाता है?",
"options": [
"अस्तित्व, अनन्यता और विधेयन की पुष्टि करने वाले एक जटिल तार्किक संयोजन के रूप में",
"तार्किक वाक्य-विन्यास से रहित एक व्यक्तिगत मनोवैज्ञानिक धारणा के रूप में",
"कांटीय संदर्भ में एक अनपेक्षित संश्लेषणात्मक प्रागनुभविक निर्णय के रूप में",
"वक्ता की नापसंदगी को व्यक्त करने वाले एक गैर-ज्ञानात्मक भावनात्मक कथन के रूप में"
],
"explanation": "रसेल इस वाक्य को तीन तार्किक वाक्यों में विभाजित करते हैं: अस्तित्व, अनन्यता और विधेयन। पहला घटक असत्य होने से पूरा वाक्य असत्य सिद्ध होता है।"
},
"correct": 0
}
]
};
// Localizer configuration for dynamic UI buttons
const langButtonLocalizer = {
en: {
prev: ` Prev`,
clear: `Clear`,
mark: `Review`,
saveNext: `Save & Next `,
submit: `Submit Examination Key Console `
},
hi: {
prev: ` पिछला`,
clear: `हटाएँ`,
mark: `चिन्हित`,
saveNext: `उत्तर सहेजें और अगला `,
submit: `परीक्षा जमा करें `
}
};
// Dynamic storage key based on current URL path
const dynamicCacheStorageKey = `cbt_state_live_store_${window.location.pathname}`;
let currentQuestionIndex = 0;
let userAnswers = {};
let questionStatus = [];
let currentLanguage = 'en';
let totalSecondsRemaining = 3600;
let countdownTimerInterval = null;
let autoSaveInterval = null;
let bookmarkedQuestions = new Set();
let bootstrapRecoveryModalInstance = null;
let bootstrapTimeOutModalInstance = null;
const NEGATIVE_MARKING_VAL = 0.0;
const screenInstructions = document.getElementById('screen-instructions');
const customStickyHeaderBar = document.getElementById('customStickyHeaderBar');
const examWorkspaceLayout = document.getElementById('examWorkspaceLayout');
const screenSubmission = document.getElementById('screen-submission');
const screenProcessing = document.getElementById('screen-processing');
const screenResult = document.getElementById('screen-result');
document.getElementById('declarationCheckbox').addEventListener('change', (e) => {
const btn = document.getElementById('btnReadyToBegin');
e.target.checked ? btn.classList.remove('disabled') : btn.classList.add('disabled');
});
document.getElementById('btnReadyToBegin').addEventListener('click', () => {
currentLanguage = document.getElementById('defaultLanguageSelect').value;
document.getElementById('examLangToggle').value = currentLanguage;
const cachedState = localStorage.getItem(dynamicCacheStorageKey);
if (cachedState) {
bootstrapRecoveryModalInstance = new bootstrap.Modal(document.getElementById('sessionRecoveryModal'));
bootstrapRecoveryModalInstance.show();
document.getElementById('btnModalAcceptRecovery').onclick = function() {
const parsing = JSON.parse(cachedState);
userAnswers = parsing.answers;
questionStatus = parsing.status;
totalSecondsRemaining = parsing.time;
currentQuestionIndex = parsing.index;
if(parsing.bookmarks) bookmarkedQuestions = new Set(parsing.bookmarks);
bootstrapRecoveryModalInstance.hide();
initializeActiveWorkspaceConsole();
};
document.getElementById('btnModalRejectRecovery').onclick = function() {
localStorage.removeItem(dynamicCacheStorageKey);
setupFreshCbtStateObject();
bootstrapRecoveryModalInstance.hide();
initializeActiveWorkspaceConsole();
};
} else {
setupFreshCbtStateObject();
initializeActiveWorkspaceConsole();
}
});
function setupFreshCbtStateObject() {
userAnswers = {};
questionStatus = new Array(activeTestData.questions.length).fill('unvisited');
questionStatus[0] = 'not-answered';
totalSecondsRemaining = activeTestData.duration * 60;
currentQuestionIndex = 0;
bookmarkedQuestions.clear();
}
function initializeActiveWorkspaceConsole() {
screenInstructions.classList.add('hidden-screen');
customStickyHeaderBar.classList.remove('hidden-screen');
examWorkspaceLayout.classList.remove('hidden-screen');
window.scrollTo({ top: 0, behavior: 'instant' });
countdownTimerInterval = setInterval(() => {
if(totalSecondsRemaining {
const statePackage = {
answers: userAnswers,
status: questionStatus,
time: totalSecondsRemaining,
index: currentQuestionIndex,
bookmarks: Array.from(bookmarkedQuestions)
};
localStorage.setItem(dynamicCacheStorageKey, JSON.stringify(statePackage));
}, 5000);
}
function triggerTimeOutPopUpSequence() {
clearInterval(autoSaveInterval);
examWorkspaceLayout.classList.add('hidden-screen');
customStickyHeaderBar.classList.add('hidden-screen');
screenSubmission.classList.add('hidden-screen');
bootstrapTimeOutModalInstance = new bootstrap.Modal(document.getElementById('timeOutAutoSubmitModal'));
bootstrapTimeOutModalInstance.show();
setTimeout(() => {
bootstrapTimeOutModalInstance.hide();
autoSubmitExamProcedure();
}, 3500);
}
function formatQuestionText(text) {
if (!text) return "";
return text.replace(/n/g, ' ');
}
function renderQuestionStateEngine() {
const rawQuestion = activeTestData.questions[currentQuestionIndex];
const qData = rawQuestion[currentLanguage];
const imgContainer = document.getElementById('targetQuestionImageContainer');
const imgTag = document.getElementById('targetQuestionImg');
if (rawQuestion.image && rawQuestion.image.trim() !== "") {
imgTag.src = rawQuestion.image;
imgContainer.classList.remove('d-none');
} else {
imgTag.src = "";
imgContainer.classList.add('d-none');
}
document.getElementById('currentQNum').innerText = currentQuestionIndex + 1;
document.getElementById('targetQuestionText').innerHTML = formatQuestionText(qData.text);
const container = document.getElementById('targetOptionsArea');
container.innerHTML = '';
qData.options.forEach((opt, idx) => {
const optionCard = document.createElement('div');
optionCard.className = `option-container ${userAnswers[currentQuestionIndex] === idx ? 'selected' : ''}`;
optionCard.innerHTML = `
`;
optionCard.addEventListener('click', () => {
optionCard.querySelector('input').checked = true;
document.querySelectorAll('.option-container').forEach(c => c.classList.remove('selected'));
optionCard.classList.add('selected');
userAnswers[currentQuestionIndex] = idx;
renderPaletteMatrix();
});
container.appendChild(optionCard);
});
const currentLabels = langButtonLocalizer[currentLanguage];
document.getElementById('btnPrev').innerHTML = currentLabels.prev;
document.getElementById('btnClear').innerHTML = currentLabels.clear;
document.getElementById('btnMarkReview').innerHTML = currentLabels.mark;
document.getElementById('btnSaveNext').innerHTML = currentLabels.saveNext;
document.getElementById('btnSubmitTestTriggerMobile').innerHTML = currentLabels.submit;
document.getElementById('btnSubmitTestTriggerDesktop').innerHTML = currentLabels.submit;
const bkmk = document.getElementById('btnBookmark');
bkmk.innerHTML = bookmarkedQuestions.has(currentQuestionIndex) ?
` Bookmarked` : ` Bookmark`;
document.getElementById('btnPrev').disabled = (currentQuestionIndex === 0);
}
function renderPaletteMatrix() {
const grid = document.getElementById('paletteGrid');
grid.innerHTML = '';
let counts = { unvisited: 0, 'not-answered': 0, answered: 0, marked: 0, 'ans-marked': 0 };
activeTestData.questions.forEach((q, idx) => {
const state = questionStatus[idx];
counts[state]++;
const btn = document.createElement('div');
btn.className = `palette-btn p-${state}`;
btn.innerText = idx + 1;
if(currentQuestionIndex === idx) btn.style.boxShadow = "0 0 0 3px var(--primary-accent)";
btn.addEventListener('click', () => {
if(questionStatus[idx] === 'unvisited') questionStatus[idx] = 'not-answered';
currentQuestionIndex = idx;
renderQuestionStateEngine();
renderPaletteMatrix();
window.scrollTo({ top: 0, behavior: 'instant' });
});
grid.appendChild(btn);
});
document.querySelector('.id-count-unvisited').innerText = counts['unvisited'];
document.querySelector('.id-count-not-answered').innerText = counts['not-answered'];
document.querySelector('.id-count-answered').innerText = counts['answered'];
document.querySelector('.id-count-marked').innerText = counts['marked'];
document.querySelector('.id-count-ansmarked').innerText = counts['ans-marked'];
}
document.getElementById('examLangToggle').addEventListener('change', (e) => {
currentLanguage = e.target.value;
renderQuestionStateEngine();
});
document.getElementById('btnSaveNext').addEventListener('click', () => {
if(userAnswers[currentQuestionIndex] !== undefined) {
questionStatus[currentQuestionIndex] = (questionStatus[currentQuestionIndex] === 'marked' || questionStatus[currentQuestionIndex] === 'ans-marked') ? 'ans-marked' : 'answered';
} else {
if(questionStatus[currentQuestionIndex] !== 'marked') questionStatus[currentQuestionIndex] = 'not-answered';
}
if(currentQuestionIndex {
if(currentQuestionIndex > 0) {
currentQuestionIndex--;
renderQuestionStateEngine();
renderPaletteMatrix();
}
});
document.getElementById('btnClear').addEventListener('click', () => {
delete userAnswers[currentQuestionIndex];
questionStatus[currentQuestionIndex] = (questionStatus[currentQuestionIndex] === 'ans-marked') ? 'marked' : 'not-answered';
renderQuestionStateEngine();
renderPaletteMatrix();
});
document.getElementById('btnMarkReview').addEventListener('click', () => {
questionStatus[currentQuestionIndex] = (userAnswers[currentQuestionIndex] !== undefined) ? 'ans-marked' : 'marked';
if(currentQuestionIndex {
bookmarkedQuestions.has(currentQuestionIndex) ? bookmarkedQuestions.delete(currentQuestionIndex) : bookmarkedQuestions.add(currentQuestionIndex);
renderQuestionStateEngine();
});
const triggerSubmissionSummaryModal = () => {
document.getElementById('sm-total').innerText = activeTestData.questions.length;
document.getElementById('sm-answered').innerText = questionStatus.filter(s => s === 'answered' || s === 'ans-marked').length;
document.getElementById('sm-marked').innerText = questionStatus.filter(s => s === 'marked' || s === 'ans-marked').length;
document.getElementById('sm-unattempted').innerText = questionStatus.filter(s => s === 'unvisited' || s === 'not-answered').length;
examWorkspaceLayout.classList.add('hidden-screen');
screenSubmission.classList.remove('hidden-screen');
window.scrollTo({ top: 0, behavior: 'instant' });
};
document.getElementById('btnSubmitTestTriggerMobile').addEventListener('click', triggerSubmissionSummaryModal);
document.getElementById('btnSubmitTestTriggerDesktop').addEventListener('click', triggerSubmissionSummaryModal);
document.getElementById('btnCancelSubmit').addEventListener('click', () => {
screenSubmission.classList.add('hidden-screen');
examWorkspaceLayout.classList.remove('hidden-screen');
});
document.getElementById('btnFinalSubmitAction').addEventListener('click', () => {
screenSubmission.classList.add('hidden-screen');
customStickyHeaderBar.classList.add('hidden-screen');
screenProcessing.classList.remove('hidden-screen');
setTimeout(() => {
screenProcessing.classList.add('hidden-screen');
autoSubmitExamProcedure();
}, 2500);
});
function autoSubmitExamProcedure() {
clearInterval(countdownTimerInterval);
clearInterval(autoSaveInterval);
localStorage.removeItem(dynamicCacheStorageKey);
examWorkspaceLayout.classList.add('hidden-screen');
customStickyHeaderBar.classList.add('hidden-screen');
screenSubmission.classList.add('hidden-screen');
screenProcessing.classList.add('hidden-screen');
const MARKS_PER_QUESTION = 2.0;
let correctHits = 0, wrongHits = 0, unattemptedCount = 0;
activeTestData.questions.forEach((q, idx) => {
if(userAnswers[idx] !== undefined) {
parseInt(userAnswers[idx]) === q.correct ? correctHits++ : wrongHits++;
} else {
unattemptedCount++;
}
});
let scoreValue = (correctHits * MARKS_PER_QUESTION) - (wrongHits * NEGATIVE_MARKING_VAL);
let totalQuestionsCount = activeTestData.questions.length;
let maxPossibleScore = totalQuestionsCount * MARKS_PER_QUESTION;
let accuracyRate = (correctHits + wrongHits) > 0 ? Math.round((correctHits / (correctHits + wrongHits)) * 100) : 0;
let obtainedPercentage = maxPossibleScore > 0 ? ((scoreValue / maxPossibleScore) * 100).toFixed(2) : "0.00";
let totalTimeAllocatedSecs = activeTestData.duration * 60;
let computedTakenTimeSecs = totalTimeAllocatedSecs - totalSecondsRemaining;
if(computedTakenTimeSecs 0 ? (computedTakenTimeSecs / totalQuestionsCount).toFixed(1) : 0;
document.getElementById('res-score').innerText = scoreValue.toFixed(2);
document.getElementById('res-accuracy').innerText = `${accuracyRate}%`;
document.getElementById('res-correct').innerText = correctHits;
document.getElementById('res-wrong').innerText = wrongHits;
document.getElementById('res-obtained-percentage-val').innerText = `${obtainedPercentage}%`;
document.getElementById('res-unattempted-count-val').innerText = unattemptedCount;
document.getElementById('res-meta-total').innerText = totalQuestionsCount;
document.getElementById('res-meta-time').innerText = formattedTakenTime;
document.getElementById('res-meta-negative').innerText = NEGATIVE_MARKING_VAL > 0 ? NEGATIVE_MARKING_VAL.toFixed(2) : '0';
document.getElementById('res-meta-avgtime').innerText = `${averageSpeedPerQuestion}s`;
const fb = document.getElementById('weaknessDetectionText');
fb.innerHTML = wrongHits > correctHits ? "Needs Improvement: High error count noted. Review step-by-step solutions key panels closely." : "Excellent Track: Concept validation accuracy indices sustained inside target parameters.";
const revContainer = document.getElementById('reviewQuestionsContainer');
revContainer.innerHTML = '';
activeTestData.questions.forEach((q, idx) => {
const isAttempted = userAnswers[idx] !== undefined;
const selectedIdx = isAttempted ? parseInt(userAnswers[idx]) : null;
const isCorrect = isAttempted && selectedIdx === q.correct;
const isBookmarked = bookmarkedQuestions.has(idx);
const div = document.createElement('div');
div.className = "card p-4 border rounded-3 shadow-sm bg-white mb-3";
let reviewImgMarkup = (q.image && q.image.trim() !== "") ?
`