// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`challenge schema > should not be changed without informing the mobile team 1`] = ` { "keys": { "assignments": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 21, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "items": [ { "type": "string", }, ], "type": "array", }, "ref": { "path": [ "challengeType", ], }, "then": { "flags": { "presence": "required", }, "items": [ { "type": "string", }, ], "type": "array", }, }, ], }, "bilibiliIds": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 11, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "keys": { "aid": { "flags": { "presence": "required", }, "type": "number", }, "bvid": { "flags": { "presence": "required", }, "type": "string", }, "cid": { "flags": { "presence": "required", }, "type": "number", }, }, "type": "object", }, }, ], }, "block": { "flags": { "presence": "required", }, "rules": [ { "args": { "regex": "/^[a-z0-9-]+$/", }, "name": "pattern", }, ], "type": "string", }, "blockId": { "rules": [ { "args": { "options": { "name": "valid mongo id", }, "regex": "/^[0-9a-fA-F]{24}$/", }, "name": "pattern", }, ], "type": "string", }, "blockLabel": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, "full-stack-open", "a1-professional-spanish", "responsive-web-design-v9", "javascript-v9", "front-end-development-libraries-v9", "python-v9", "relational-databases-v9", "back-end-development-and-apis-v9", "full-stack-developer-v9", "learn-data-visualization-with-d3", "a1-professional-chinese", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "optional", }, "type": "any", }, "ref": { "path": [ "superBlock", ], }, "then": { "allow": [ "workshop", "lab", "lecture", "review", "quiz", "exam", "warm-up", "learn", "practice", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, }, ], }, "blockLayout": { "allow": [ "challenge-list", "challenge-grid", "dialogue-grid", "link", "project-list", "legacy-challenge-list", "legacy-link", "legacy-challenge-grid", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "certification": { "rules": [ { "args": { "regex": "/^[a-z0-9-/]+$/", }, "name": "pattern", }, ], "type": "string", }, "challengeFiles": { "items": [ { "keys": { "contents": { "allow": [ "", ], "type": "string", }, "editableRegionBoundaries": { "items": [ { "type": "number", }, ], "type": "array", }, "error": { "allow": [ null, ], "flags": { "only": true, }, "type": "any", }, "ext": { "type": "string", }, "fileKey": { "type": "string", }, "history": { "items": [ { "allow": [ "", ], "type": "string", }, ], "type": "array", }, "id": { "allow": [ "", ], "type": "string", }, "name": { "type": "string", }, "path": { "type": "string", }, "seed": { "allow": [ "", ], "type": "string", }, }, "type": "object", }, ], "type": "array", }, "challengeOrder": { "type": "number", }, "challengeType": { "flags": { "presence": "required", }, "rules": [ { "args": { "limit": 0, }, "name": "min", }, { "args": { "limit": 31, }, "name": "max", }, ], "type": "number", }, "chapter": { "type": "string", "whens": [ { "is": { "allow": [ { "override": true, }, "full-stack-open", "a1-professional-spanish", "responsive-web-design-v9", "javascript-v9", "front-end-development-libraries-v9", "python-v9", "relational-databases-v9", "back-end-development-and-apis-v9", "full-stack-developer-v9", "learn-data-visualization-with-d3", "a1-professional-chinese", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "optional", }, "type": "any", }, "ref": { "path": [ "superBlock", ], }, "then": { "flags": { "presence": "required", }, "type": "any", }, }, ], }, "dashedName": { "rules": [ { "args": { "regex": "/^[a-z0-9-]+$/", }, "name": "pattern", }, ], "type": "string", }, "demoType": { "allow": [ "onClick", "onLoad", ], "flags": { "only": true, }, "type": "string", }, "description": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 7, 11, 19, 22, 31, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "required", }, "type": "string", }, "ref": { "path": [ "challengeType", ], }, "then": { "allow": [ "", ], "type": "string", }, }, ], }, "disableLoopProtectPreview": { "flags": { "presence": "required", }, "type": "boolean", }, "disableLoopProtectTests": { "flags": { "presence": "required", }, "type": "boolean", }, "explanation": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 19, 22, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "type": "string", }, }, ], }, "fillInTheBlank": { "keys": { "blanks": { "flags": { "presence": "required", }, "items": [ { "keys": { "answer": { "flags": { "presence": "required", }, "type": "string", }, "feedback": { "allow": [ null, ], "type": "string", }, }, "type": "object", }, ], "type": "array", }, "sentence": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, "forumTopicId": { "type": "number", }, "hasEditableBoundaries": { "type": "boolean", }, "helpCategory": { "allow": [ "JavaScript", "HTML-CSS", "Python", "Backend Development", "C-Sharp", "English", "Odin", "Euler", "Rosetta", "Chinese Curriculum", "Spanish Curriculum", "General", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "hooks": { "keys": { "afterAll": { "allow": [ "", ], "type": "string", }, "afterEach": { "allow": [ "", ], "type": "string", }, "beforeAll": { "allow": [ "", ], "type": "string", }, "beforeEach": { "allow": [ "", ], "type": "string", }, }, "type": "object", }, "id": { "flags": { "presence": "required", }, "rules": [ { "args": { "options": { "name": "valid mongo id", }, "regex": "/^[0-9a-fA-F]{24}$/", }, "name": "pattern", }, ], "type": "string", }, "inputType": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 22, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "forbidden", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "type": "any", "whens": [ { "is": { "allow": [ "a1-professional-chinese", "a2-professional-chinese", ], "flags": { "only": true, }, "type": "any", }, "otherwise": { "flags": { "presence": "forbidden", }, "type": "any", }, "ref": { "path": [ "superBlock", ], }, "then": { "allow": [ "pinyin-tone", "pinyin-to-hanzi", ], "flags": { "only": true, "presence": "required", }, "type": "string", }, }, ], }, }, ], }, "instructions": { "type": "string", "whens": [ { "is": { "allow": [ { "override": true, }, 10, 13, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "allow": [ "", ], "type": "string", }, "ref": { "path": [ "challengeType", ], }, "then": { "flags": { "presence": "required", }, "rules": [ { "args": { "limit": 1, }, "name": "min", }, ], "type": "string", }, }, ], }, "isExam": { "type": "boolean", }, "isLastChallengeInBlock": { "flags": { "presence": "required", }, "type": "boolean", }, "lang": { "type": "string", "whens": [ { "is": { "allow": [ { "override": true, }, "a2-english-for-developers", "b1-english-for-developers", "a1-professional-spanish", "a2-professional-spanish", "a1-professional-chinese", "a2-professional-chinese", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "forbidden", }, "type": "any", }, "ref": { "path": [ "superBlock", ], }, "then": { "allow": [ "en-US", "es", "zh-CN", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, }, ], }, "module": { "type": "string", "whens": [ { "is": { "allow": [ { "override": true, }, "full-stack-open", "a1-professional-spanish", "responsive-web-design-v9", "javascript-v9", "front-end-development-libraries-v9", "python-v9", "relational-databases-v9", "back-end-development-and-apis-v9", "full-stack-developer-v9", "learn-data-visualization-with-d3", "a1-professional-chinese", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "optional", }, "type": "any", }, "ref": { "path": [ "superBlock", ], }, "then": { "flags": { "presence": "required", }, "type": "any", }, }, ], }, "msTrophyId": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 18, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "flags": { "presence": "required", }, "type": "string", }, }, ], }, "nodules": { "items": [ { "keys": { "contents": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, "paragraph", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "forbidden", }, "type": "any", }, "ref": { "path": [ "type", ], }, "then": { "flags": { "presence": "required", }, "type": "string", }, }, ], }, "files": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, "interactiveEditor", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "forbidden", }, "type": "any", }, "ref": { "path": [ "type", ], }, "then": { "items": [ { "keys": { "contents": { "flags": { "presence": "required", }, "type": "string", }, "contentsHtml": { "flags": { "presence": "required", }, "type": "string", }, "ext": { "flags": { "presence": "required", }, "type": "string", }, "name": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, ], "type": "array", }, }, ], }, "type": { "allow": [ "paragraph", "interactiveEditor", ], "flags": { "only": true, "presence": "required", }, "type": "any", }, }, "type": "object", }, ], "type": "array", }, "notes": { "allow": [ "", ], "type": "string", }, "order": { "type": "number", }, "prerequisites": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 17, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "items": [ { "keys": { "id": { "flags": { "presence": "required", }, "rules": [ { "args": { "options": { "name": "valid mongo id", }, "regex": "/^[0-9a-fA-F]{24}$/", }, "name": "pattern", }, ], "type": "string", }, "title": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, ], "type": "array", }, }, ], }, "questions": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 11, 19, 15, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "rules": [ { "args": { "limit": 0, }, "name": "length", }, ], "type": "array", }, "ref": { "path": [ "challengeType", ], }, "then": { "flags": { "presence": "required", }, "items": [ { "keys": { "answers": { "flags": { "presence": "required", }, "items": [ { "keys": { "answer": { "flags": { "presence": "required", }, "type": "string", }, "audioId": { "allow": [ null, ], "type": "string", }, "feedback": { "allow": [ null, ], "type": "string", }, }, "type": "object", }, ], "rules": [ { "args": { "comparator": "answer", }, "name": "unique", }, ], "type": "array", }, "solution": { "flags": { "presence": "required", }, "rules": [ { "args": { "limit": 1, }, "name": "min", }, { "args": { "limit": { "ref": { "path": [ "answers", "length", ], }, }, }, "name": "max", }, ], "type": "number", }, "text": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, ], "rules": [ { "args": { "limit": 1, }, "name": "min", }, ], "type": "array", }, }, ], }, "quizzes": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 8, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "otherwise": { "flags": { "presence": "forbidden", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "flags": { "presence": "required", }, "items": [ { "keys": { "questions": { "flags": { "presence": "required", }, "items": [ { "keys": { "answer": { "flags": { "presence": "required", }, "type": "string", }, "audioData": { "keys": { "audio": { "keys": { "filename": { "flags": { "presence": "required", }, "type": "string", }, "finishTimestamp": { "type": "number", }, "startTimestamp": { "type": "number", }, }, "type": "object", }, "transcript": { "items": [ { "keys": { "character": { "flags": { "presence": "required", }, "type": "string", }, "text": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, ], "type": "array", }, }, "type": "object", }, "distractors": { "flags": { "presence": "required", }, "items": [ { "allow": [ { "ref": { "ancestor": 2, "path": [ "answer", ], }, }, ], "flags": { "only": true, "presence": "forbidden", }, "type": "any", }, { "flags": { "presence": "required", }, "type": "string", }, ], "rules": [ { "args": { "limit": 3, }, "name": "length", }, { "name": "unique", }, ], "type": "array", }, "text": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, ], "preferences": { "messages": { "array.invalidLength": "Quiz must have exactly 10 or 20 questions.", }, }, "rules": [ { "args": { "method": [Function], }, "name": "custom", }, ], "type": "array", }, }, "type": "object", }, ], "rules": [ { "args": { "limit": 1, }, "name": "min", }, ], "type": "array", }, }, ], }, "required": { "items": [ { "keys": { "crossDomain": { "type": "boolean", }, "link": { "type": "string", }, "raw": { "type": "boolean", }, "src": { "type": "string", }, }, "type": "object", }, ], "type": "array", }, "saveSubmissionToDB": { "type": "boolean", }, "scene": { "keys": { "commands": { "items": [ { "keys": { "background": { "allow": [ "cafe.png", "chaos.png", "company1-boardroom.png", "company1-breakroom.png", "company1-center.png", "company1-dining.png", "company1-lydia-cubicle.png", "company1-parking.png", "company1-reception.png", "company1-roof.png", "company2-boardroom.png", "company2-breakroom.png", "company2-center.png", "company2-dining.png", "company2-lydia-cubicle.png", "company2-parking.png", "company2-reception.png", "company2-roof.png", "company3-boardmeeting.png", "company3-breakroom.png", "company3-center.png", "company3-dining.png", "company3-lydia-cubicle.png", "company3-parking.png", "company3-reception.png", "company3-roof.png", "cubicle.png", "desk.png", "hacker-space-cafe.png", "hacker-space.png", "interview-room1.png", "interview-room2.png", "interview-room3.png", "living-room.png", ], "flags": { "only": true, }, "type": "string", }, "character": { "allow": [ "Alice", "Amy", "Anna", "Bob", "Brian", "Candidate", "David", "Delivery Man", "Expert", "Jake", "James", "Jessica", "Jim", "Josh", "Linda", "Lisa", "Maria", "Mark", "Riker", "Sarah", "Second Candidate", "Sophie", "Tom", "Ángela", "Camila", "Carlos", "Elena", "Esteban", "Joaquín", "Julieta", "Luis", "Luna", "Marisol", "Mateo", "Noelia", "René", "Sebastián", "Diego", "Valeria", "Chen Na", "Huang Jingyi", "Li Hong", "Li Ping", "Lin Yating", "Liu Ming", "Wang Hua", "Zhang Wei", "Zhou Jia", "Zhou Yongjie", ], "flags": { "only": true, "presence": "required", }, "type": "string", }, "dialogue": { "keys": { "align": { "allow": [ "left", "center", "right", ], "flags": { "only": true, }, "type": "string", }, "text": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, "finishTime": { "preferences": { "convert": false, }, "type": "number", }, "opacity": { "preferences": { "convert": false, }, "type": "number", }, "position": { "keys": { "x": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, "y": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, "z": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, }, "type": "object", }, "startTime": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, }, "type": "object", }, ], "preferences": { "messages": { "array.unique": "Dialogues must not have overlapping times.", }, }, "rules": [ { "args": { "comparator": [Function], }, "name": "unique", }, ], "type": "array", }, "setup": { "flags": { "presence": "required", }, "keys": { "alwaysShowDialogue": { "type": "boolean", }, "audio": { "flags": { "presence": "required", }, "keys": { "filename": { "allow": [ "1.1-1.mp3", "1.1-2.mp3", "1.1-3.mp3", "1.1-4.mp3", "1.1-5.mp3", "1.2-1.mp3", "1.2-2.mp3", "1.2-3.mp3", "1.2-4.mp3", "1.2-5.mp3", "1.3-1.mp3", "1.3-2.mp3", "1.3-3.mp3", "1.3-4.mp3", "1.3-5.mp3", "2.1-1.mp3", "2.1-2.mp3", "2.1-3.mp3", "2.1-4.mp3", "2.1-5.mp3", "2.2-1.mp3", "2.2-2.mp3", "2.2-3.mp3", "2.2-4.mp3", "2.2-5.mp3", "2.3-1.mp3", "2.3-2.mp3", "2.3-3.mp3", "2.3-4.mp3", "2.3-5.mp3", "3.1-1.mp3", "3.1-2.mp3", "3.1-3.mp3", "3.1-4.mp3", "3.1-5.mp3", "3.2-1.mp3", "3.2-2.mp3", "3.2-3.mp3", "3.2-4.mp3", "3.2-5.mp3", "3.3-1.mp3", "3.3-2.mp3", "3.3-3.mp3", "3.3-4.mp3", "3.3-5.mp3", "4.1-1.mp3", "4.1-2.mp3", "4.1-3.mp3", "4.1-4.mp3", "4.1-5.mp3", "4.2-1.mp3", "4.2-2.mp3", "4.2-3.mp3", "4.2-4.mp3", "4.2-5.mp3", "4.3-1.mp3", "4.3-2.mp3", "4.3-3.mp3", "4.3-4.mp3", "4.3-5.mp3", "5.1-1.mp3", "5.1-2.mp3", "5.1-3.mp3", "5.2-1.mp3", "5.2-2.mp3", "5.2-3.mp3", "5.3-1.mp3", "5.3-2.mp3", "5.3-3.mp3", "6.1-1.mp3", "6.1-2.mp3", "6.1-3.mp3", "6.2-1.mp3", "6.2-2.mp3", "6.2-3.mp3", "6.3-1.mp3", "6.3-2.mp3", "6.3-3.mp3", "7.1-1.mp3", "7.1-2.mp3", "7.1-3.mp3", "7.2-1.mp3", "7.2-2.mp3", "7.2-3.mp3", "7.3-1.mp3", "7.3-2.mp3", "7.3-3.mp3", "8.1-1.mp3", "8.1-2.mp3", "8.1-3.mp3", "8.2-1.mp3", "8.2-2.mp3", "8.2-3.mp3", "8.3-1.mp3", "8.3-2.mp3", "8.3-3.mp3", "9.1-1.mp3", "9.1-2.mp3", "9.1-3.mp3", "9.2-1.mp3", "9.2-2.mp3", "9.2-3.mp3", "9.3-1.mp3", "9.3-2.mp3", "9.3-3.mp3", "B1_1-1.mp3", "B1_1-2.mp3", "B1_1-3.mp3", "B1_2-1.mp3", "B1_2-2.mp3", "B1_2-3.mp3", "B1_3-1.mp3", "B1_3-2.mp3", "B1_3-3.mp3", "B1_4-1.mp3", "B1_4-2.mp3", "B1_4-3.mp3", "B1_4-4.mp3", "B1_5-1.mp3", "B1_5-2.mp3", "B1_5-3.mp3", "B1_6-1.mp3", "B1_6-2.mp3", "B1_6-3.mp3", "B1_7-1.mp3", "B1_7-2.mp3", "B1_7-3.mp3", "B1_8-1.mp3", "B1_8-2.mp3", "B1_8-3.mp3", "B1_9-1.mp3", "B1_9-2.mp3", "B1_9-3.mp3", "B1_10-1.mp3", "B1_10-2.mp3", "B1_10-3.mp3", "B1_11-1.mp3", "B1_11-2.mp3", "B1_11-3.mp3", "B1_12-1.mp3", "B1_12-2.mp3", "B1_12-3.mp3", "B1_13-1.mp3", "B1_13-2.mp3", "B1_13-3.mp3", "B1_14-1.mp3", "B1_14-2.mp3", "B1_14-3.mp3", "B1_15-1.mp3", "B1_15-2.mp3", "B1_15-3.mp3", "B1_16-1.mp3", "B1_16-2.mp3", "B1_16-3.mp3", "B1_17-1.mp3", "B1_17-2.mp3", "B1_17-3.mp3", "B1_18-1.mp3", "B1_18-2.mp3", "B1_18-3.mp3", "B1_19-1.mp3", "B1_19-2.mp3", "B1_19-3.mp3", "B1_20-1.mp3", "B1_20-2.mp3", "B1_20-3.mp3", "B1_21-1.mp3", "B1_21-2.mp3", "B1_21-3.mp3", "B1_22-1.mp3", "B1_22-2.mp3", "B1_22-3.mp3", "B1_23-1.mp3", "B1_23-2.mp3", "B1_23-3.mp3", "B1_24-1.mp3", "B1_24-2.mp3", "B1_24-3.mp3", "ES_A1_spanish_greetings_in_the_morning.mp3", "ES_A1_spanish_greetings_in_the_afternoon.mp3", "ES_A1_spanish_greetings_in_the_evening.mp3", "ES_A1_spanish_greetings_camila_practice.mp3", "ES_A1_spanish_meet_luna.mp3", "ES_A1_spanish_meet_mateo.mp3", "ES_A1_spanish_meet_julieta.mp3", "ES_A1_spanish_meet_mateo_practice.mp3", "ES_A1_spanish_introducing_yourself_vocabulary.mp3", "ES_A1_spanish_meet_angela_and_basti.mp3", "ES_A1_spanish_meet_camila_and_mateo.mp3", "ES_A1_first_questions_numbers.mp3", "ES_A1_first_questions_warmup.mp3", "ES_A1_alphabet.mp3", "ES_A1_alphabet_practice.mp3", "ES_A1_andescommerce_company_profile.mp3", "ES_A1_basic_personal_details_numbers_10_29.mp3", "ES_A1_basic_personal_details_numbers_mixed.mp3", "ES_A1_basti_asks_luna_about_carlos_dialogue.mp3", "ES_A1_basti_personal_details.mp3", "ES_A1_diego_mini_biography.mp3", "ES_A1_esteban_asks_angela_about_luis_dialogue.mp3", "ES_A1_camila_asks_basti_about_marisol_dialogue.mp3", "ES_A1_carlos_workplace_profile.mp3", "ES_A1_company_departments_and_employees.mp3", "ES_A1_company_details_fill_in.mp3", "ES_A1_company_facts_short.mp3", "ES_A1_describing_a_company_basics_vocabulary.mp3", "ES_A1_describing_company_and_people_numbers_practice.mp3", "ES_A1_elena_asks_esteban_about_diego_dialogue.mp3", "ES_A1_elena_talks_about_her_company.mp3", "ES_A1_esteban_personal_records_dialogue_with_angela.mp3", "ES_A1_describing_company_and_people_numbers_21_100.mp3", "ES_A1_joaquin_workplace_profile.mp3", "ES_A1_julieta_personal_details.mp3", "ES_A1_luis_workplace_profile.mp3", "ES_A1_luna_personal_data_form.mp3", "ES_A1_marisol_mini_biography.mp3", "ES_A1_mateo_asks_julieta_about_valeria_dialogue.mp3", "ES_A1_mateo_camila_phone_number_dialogue.mp3", "ES_A1_mateo_email_dialogue_with_camila.mp3", "ES_A1_noelia_mini_biography.mp3", "ES_A1_personal_details_just_questions.mp3", "ES_A1_questions_about_joaquin_workplace_profile.mp3", "ES_A1_questions_about_noelia_mini_biography.mp3", "ES_A1_sebastian_asks_elena_about_her_company.mp3", "ES_A1_spanish_fundamentals_numbers_0_9.mp3", "ES_A1_spanish_fundamentals_numbers_mixed.mp3", "ES_A1_valeria_mini_biography.mp3", "ES_A1_vowels.mp3", "ES_A1_vowels_aiu.mp3", "ES_A1_vowels_oiu.mp3", "ES_A1_vowels_uae.mp3", "ES_A1_warm_up_describing_people_at_work.mp3", "ES_A1_what_each_department_does.mp3", "ES_A1_what_the_company_does.mp3", "ZH_A1_greetings_and_introductions_wanghua.mp3", "ZH_A1_greetings_and_introductions_liuming.mp3", "ZH_A1_greetings_and_introductions_chenna.mp3", "ZH_A1_greetings_and_introductions_dialogue.mp3", "ZH_A1_greetings_and_introductions_warm_up.mp3", "ZH_A1_chinese_fundamentals_hello_world.mp3", "ZH_A1_pinyin_single_finals.mp3", "ZH_A1_pinyin_initials.mp3", "ZH_A1_pinyin_compound_finals.mp3", "ZH_A1_pinyin_nasal_finals.mp3", "ZH_A1_pinyin_special_spelling_rules.mp3", "ZH_A1_pinyin_practice.mp3", "ZH_A1_numbers_and_personal_information_numbers_0_10.mp3", "ZH_A1_numbers_and_personal_information_numbers_11_19.mp3", "ZH_A1_numbers_and_personal_information_numbers_20_99.mp3", ], "flags": { "only": true, "presence": "required", }, "type": "string", }, "finishTimestamp": { "preferences": { "convert": false, }, "type": "number", }, "startTime": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, "startTimestamp": { "preferences": { "convert": false, }, "type": "number", }, }, "type": "object", }, "background": { "allow": [ "cafe.png", "chaos.png", "company1-boardroom.png", "company1-breakroom.png", "company1-center.png", "company1-dining.png", "company1-lydia-cubicle.png", "company1-parking.png", "company1-reception.png", "company1-roof.png", "company2-boardroom.png", "company2-breakroom.png", "company2-center.png", "company2-dining.png", "company2-lydia-cubicle.png", "company2-parking.png", "company2-reception.png", "company2-roof.png", "company3-boardmeeting.png", "company3-breakroom.png", "company3-center.png", "company3-dining.png", "company3-lydia-cubicle.png", "company3-parking.png", "company3-reception.png", "company3-roof.png", "cubicle.png", "desk.png", "hacker-space-cafe.png", "hacker-space.png", "interview-room1.png", "interview-room2.png", "interview-room3.png", "living-room.png", ], "flags": { "only": true, "presence": "required", }, "type": "string", }, "characters": { "flags": { "presence": "required", }, "items": [ { "keys": { "character": { "allow": [ "Alice", "Amy", "Anna", "Bob", "Brian", "Candidate", "David", "Delivery Man", "Expert", "Jake", "James", "Jessica", "Jim", "Josh", "Linda", "Lisa", "Maria", "Mark", "Riker", "Sarah", "Second Candidate", "Sophie", "Tom", "Ángela", "Camila", "Carlos", "Elena", "Esteban", "Joaquín", "Julieta", "Luis", "Luna", "Marisol", "Mateo", "Noelia", "René", "Sebastián", "Diego", "Valeria", "Chen Na", "Huang Jingyi", "Li Hong", "Li Ping", "Lin Yating", "Liu Ming", "Wang Hua", "Zhang Wei", "Zhou Jia", "Zhou Yongjie", ], "flags": { "only": true, "presence": "required", }, "type": "string", }, "opacity": { "preferences": { "convert": false, }, "type": "number", }, "position": { "flags": { "presence": "required", }, "keys": { "x": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, "y": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, "z": { "flags": { "presence": "required", }, "preferences": { "convert": false, }, "type": "number", }, }, "type": "object", }, }, "type": "object", }, ], "rules": [ { "args": { "limit": 1, }, "name": "min", }, ], "type": "array", }, }, "type": "object", }, }, "type": "object", }, "solutions": { "items": [ { "items": [ { "keys": { "contents": { "allow": [ "", ], "type": "string", }, "editableRegionBoundaries": { "items": [ { "type": "number", }, ], "type": "array", }, "error": { "allow": [ null, ], "flags": { "only": true, }, "type": "any", }, "ext": { "type": "string", }, "fileKey": { "type": "string", }, "history": { "items": [ { "allow": [ "", ], "type": "string", }, ], "type": "array", }, "id": { "allow": [ "", ], "type": "string", }, "name": { "type": "string", }, "path": { "type": "string", }, "seed": { "allow": [ "", ], "type": "string", }, }, "type": "object", }, ], "rules": [ { "args": { "limit": 1, }, "name": "min", }, ], "type": "array", }, ], "type": "array", }, "sourceLocation": { "type": "string", }, "suborder": { "type": "number", }, "superBlock": { "rules": [ { "args": { "regex": "/^[a-z0-9-/]+$/", }, "name": "pattern", }, ], "type": "string", }, "superOrder": { "type": "number", }, "template": { "allow": [ "", ], "type": "string", }, "tests": { "flags": { "presence": "required", }, "items": [ { "keys": { "id": { "allow": [ "", ], "type": "string", }, "testString": { "allow": [ "", ], "flags": { "presence": "required", }, "type": "string", }, "text": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, { "keys": { "id": { "flags": { "presence": "required", }, "type": "string", }, "title": { "flags": { "presence": "required", }, "type": "string", }, }, "type": "object", }, ], "type": "array", }, "title": { "flags": { "presence": "required", }, "type": "string", }, "transcript": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 24, 11, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "type": "string", }, }, ], }, "translationPending": { "flags": { "presence": "required", }, "type": "boolean", }, "url": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 12, 13, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "flags": { "presence": "required", }, "type": "string", }, }, ], }, "usesMultifileEditor": { "type": "boolean", }, "videoId": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 11, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "flags": { "presence": "required", }, "type": "string", }, }, ], }, "videoLocaleIds": { "type": "any", "whens": [ { "is": { "allow": [ { "override": true, }, 11, ], "flags": { "only": true, "presence": "required", }, "type": "any", }, "ref": { "path": [ "challengeType", ], }, "then": { "keys": { "espanol": { "type": "string", }, "italian": { "type": "string", }, "portuguese": { "type": "string", }, }, "type": "object", }, }, ], }, "videoUrl": { "allow": [ "", ], "type": "string", }, }, "type": "object", } `;