{"version":3,"file":"2.2c3ae61b.js","sources":["../../../../../../src/lib/dropdown_old.svelte","../../../../../../src/lib/examples/equations.js","../../../../../../src/lib/main_page_components/instructor.svelte","../../../../../../src/lib/non_graph_panels.svelte","../../../../../../src/lib/dynamic_scroll.svelte","../../../../../../src/lib/scroll_container.svelte","../../../../../../src/lib/main_page_components/student.svelte","../../../../../../node_modules/@iconify/svelte/dist/functions.mjs","../../../../../../node_modules/@iconify/svelte/dist/Icon.svelte","../../../../../../src/lib/main_page_components/banner.svelte","../../../../../../src/lib/main_page_components/banner_left.svelte","../../../../../../src/lib/main_page_components/how_it_works_card.svelte","../../../../../../src/lib/main_page_components/card.svelte","../../../../../../src/lib/main_page_components/demo.svelte","../../../../../../src/lib/main_page_components/demo_teacher.svelte","../../../../../../src/lib/main_page_components/schedule.svelte","../../../../../../src/lib/main_page_components/plan_card.svelte","../../../../../../src/routes/+page.svelte"],"sourcesContent":["\n
\n
\n \n {#if isOpen}\n
\n {#each options as option}\n
select(option)}>{option}
\n {/each}\n
\n {/if}\n
\n
\n\n\n","export let algebra_equation = {\n \"domain_flags\": \"16\", \"message_type\": \"TransmittableMessageType.steps\", \"message_index\": \"0\",\n \"steps\":\n [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"1\",\n \"step\": \"x ^ 2 - 2 = x\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n },\n {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"2\",\n \"step\": \"x ^ 2 + x - 2 = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"3\",\n \"step\": \"(x + 2 ) (x - 1) = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"component_to_final_solution\": {\"x\": [\"-2\", \"1\"]}, \"question_text\": null\n}\nexport let algebra_mistakes = [{\n \"mistake_type\": \"1\", \"message\": \"There is a mistake; these steps are not equivalent.\", \"outer_message_index\": \"0\",\n \"pertinent_indices\": [\"1\", \"2\"], \"expected_results\": {\"2\": \"x^{2} - x - 2 = 0\"},\n \"actual_results\": {\"2\": \"x ^ 2 + x - 2 = 0\"}, \"extra_fields\": null\n}]\nexport let algebra_correction_equation = {\n \"domain_flags\": \"16\", \"message_type\": \"TransmittableMessageType.steps\",\n \"message_index\": \"4\", \"steps\":\n [{\n \"domain_flags\": null, \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"6\", \"step\": \"x ^ 2 - x - 2 = 0\", \"relies_on_named\": null,\n \"points\": \"1\", \"description\": null, \"detailed_step\": null\n },\n {\n \"domain_flags\": null, \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"7\",\n \"step\": \"(x - 2 ) (x + 1) = 0\",\n \"relies_on_named\": null, \"points\": \"1\", \"description\": null, \"detailed_step\": null\n }],\n \"component_to_final_solution\": {\"x\": [\"2\", \"-1\"]}, \"question_text\": null\n}\nexport let algebra_student_equation = {\n \"domain_flags\": \"16\", \"message_type\": \"TransmittableMessageType.steps\",\n \"message_index\": \"8\",\n \"steps\":\n [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"9\",\n \"step\": \"x ^ 2 - 2 = x\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"10\",\n \"step\": \"x ^ 2 + x - 2 = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"11\",\n \"step\": \"(x + 2 ) (x - 1) = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"component_to_final_solution\": {\"x\": [\"2\", \"-1\"]}, \"question_text\": null\n}\nexport let algebra_student_sol_del = {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.delta_linear\",\n \"message_index\": null,\n \"correct_steps\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"1\",\n \"step\": \"x ^ 2 - 2 = x\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"corrected_steps\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"2\",\n \"step\": \"x ^ 2 - x - 2 = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"3\",\n \"step\": \"(x - 2 ) (x + 1) = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"incorrect_steps\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"2\",\n \"step\": \"x ^ 2 + x - 2 = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"3\",\n \"step\": \"(x + 2 ) (x - 1) = 0\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"points\": \"1\",\n \"points_possible\": \"3\",\n \"question_text\": null\n}\n\n//export let algebr\n/*\nexport let calculus_equ = {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.split\",\n \"message_index\": 12,\n \"initial_step\": \"\\\\int \\\\frac {4 x + 3} {2 x^2 + 13 x + 69} dx\",\n \"split_to_solutions\": {\n \"\\\\int \\\\frac {4 x + 13} {2 x^2 + 13 x + 69} dx\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": 13,\n \"step\": \"\\\\log(2 x^2 + 13 x +69)\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"\\\\int \\\\frac {-10} {2 x^2 + 13 x + 69} dx\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": 14,\n \"step\": \"\\\\int \\\\frac {-5} {x^2 + \\\\frac{13}{2} x + \\\\frac{69}{2}} dx\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": 15,\n \"step\": \"\\\\int \\\\frac {-5} {u^2 + \\\\frac{935}{16}} du\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": 16,\n \"step\": \"\\\\int \\\\frac{16}{335} \\\\frac {1} {\\\\frac{16}{335} u^2 + 1} du\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": 17,\n \"step\": \" \\\\frac{-20}{\\\\sqrt{335}} \\\\operatorname{arctan} \\\\left( \\\\sqrt{ \\\\frac{16}{335} } u \\\\right) \",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": 18,\n \"step\": \" \\\\frac{-20}{\\\\sqrt{335}} \\\\operatorname{arctan} \\\\left( \\\\frac{2}{\\\\sqrt{335} } \\\\left( x + \\\\frac{13}{4} \\\\right) \\\\right) \",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }]\n },\n \"variable_equals\": null,\n \"extra_fields\": null,\n \"final_solution\": null,\n \"initial_split\": \"\\\\int \\\\frac {4 x + 13} {2 x^2 + 13 x + 69} + \\\\frac {-10} {2 x^2 + 13 x + 69} dx\",\n \"question_text\": null\n}\nexport let calculus_equ = {\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.split\",\"message_index\": \"21\",\"extra_fields\": {\"key_properties\": {\"9\": {\"functions\": [],\"variables\": [\"x\"]},\"22\": {\"functions\": [],\"variables\": [\"u\"]},\"15\": {\"functions\": [],\"variables\": [\"du\"]},\"17\": {\"functions\": [],\"variables\": [\"u\"]},\"11\": {\"functions\": [],\"variables\": [\"x\"]}},\"key_origins\": {\"17\": {\"pertinent_indices\": [\"9\",\"22\"],\"keys_preceding\": [\"22\"]},\"11\": {\"pertinent_indices\": [\"9\"],\"keys_preceding\": []}},\"key_mappings\": {\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\",\"\\\\text { Let } u\"],\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\"]},\"unfound_keys\": [\"d u\"],\"key_order\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\",\"\\\\text { Let } u\",\"d u\",\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\",\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\"]},\"split_to_solutions\": {\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"9\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"]},\"step\": \"\\\\int \\\\frac{4 x+13}{2 x^{2}+13 x+69}-\\\\frac{10}{2 x^{2}+13 x+69} d x\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"20\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"],\"depends_on\": {\"keys_preceding\": [\"11\"]}},\"step\": \"\\\\ln(2x^2+13x+69)-\\\\frac{10}{\\\\sqrt{107}}\\\\arctan(\\\\frac{2}{\\\\sqrt{107}}\\\\left(x+\\\\frac{13}{4}\\\\right))\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\text { Let } u\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"22\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"],\"depends_on\": {\"indices\": [\"22\"],\"keys_preceding\": [\"22\"]}},\"step\": \"x+\\\\frac{13}{4}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"d u\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"15\",\"extra_fields\": {\"functions\": [],\"variables\": [\"dx\"]},\"step\": \"d x\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"17\",\"extra_fields\": {\"functions\": [],\"variables\": [\"u\"]},\"step\": \"\\\\frac{-20}{107} \\\\int \\\\frac{1}{\\\\frac{4}{107} u^{2}+1}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"18\",\"extra_fields\": {\"functions\": [],\"variables\": [\"u\"]},\"step\": \"\\\\frac{-10}{\\\\sqrt{107}} \\\\arctan(\\\\frac{2}{\\\\sqrt{107}} u)\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"11\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"]},\"step\": \"\\\\ln(2 x^{2}+13 x+69)\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}]},\"initial_step\": null,\"dependents\": null,\"variable_equals\": null,\"final_solution\": null,\"question_text\": \"Please solve the following for y\",\"points\": null}\n*/\n\nexport let calculus_equ = {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.split\",\n \"message_index\": \"21\",\n \"extra_fields\": {\n \"key_properties\": {\n \"9\": {\"functions\": [], \"variables\": [\"x\"]},\n \"22\": {\"functions\": [], \"variables\": [\"u\"]},\n \"15\": {\"functions\": [], \"variables\": [\"du\"]},\n \"17\": {\"functions\": [], \"variables\": [\"u\"]},\n \"11\": {\"functions\": [], \"variables\": [\"x\"]}\n },\n \"key_origins\": {\"11\": {\"pertinent_indices\": [\"9\"], \"keys_preceding\": []}},\n \"key_mappings\": {\n \"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [\"\\\\text { Let } u\", \"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\"],\n \"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\"]\n },\n \"unfound_keys\": [\"d u\"],\n \"key_order\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\", \"\\\\text { Let } u\", \"d u\", \"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\", \"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\"]\n },\n \"split_to_solutions\": {\n \"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"9\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"x\"]},\n \"step\": \"\\\\int \\\\frac{4 x+13}{2 x^{2}+13 x+69}-\\\\frac{10}{2 x^{2}+13 x+69} d x\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"20\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"x\"], \"depends_on\": {\"keys_preceding\": [\"11\"]}},\n \"step\": \"\\\\ln(2x^2+13x+69)-\\\\frac{10}{\\\\sqrt{107}}\\\\arctan(\\\\frac{2}{\\\\sqrt{107}}\\\\left(x+\\\\frac{13}{4}\\\\right))\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"\\\\text { Let } u\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"22\",\n \"extra_fields\": {\n \"functions\": [],\n \"variables\": [\"x\"],\n \"depends_on\": {\"indices\": [\"22\"], \"keys_preceding\": [\"22\"]}\n },\n \"step\": \"x+\\\\frac{13}{4}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"d u\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"15\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"dx\"]},\n \"step\": \"d x\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"17\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"u\"]},\n \"step\": \"\\\\frac{-20}{107} \\\\int \\\\frac{1}{\\\\frac{4}{107} u^{2}+1}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"18\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"u\"]},\n \"step\": \"\\\\frac{-10}{\\\\sqrt{107}} \\\\arctan(\\\\frac{2}{\\\\sqrt{107}} u)\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"11\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"x\"]},\n \"step\": \"\\\\ln(2 x^{2}+13 x+69)\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }]\n },\n \"initial_step\": null,\n \"dependents\": null,\n \"variable_equals\": null,\n \"final_solution\": null,\n \"question_text\": \"Please solve the following for y\",\n \"points\": null\n}\n\n//= {\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.split\",\"message_index\": \"21\",\"extra_fields\": {\"key_properties\": {\"9\": {\"functions\": [],\"variables\": [\"x\"]},\"22\": {\"functions\": [],\"variables\": [\"u\"]},\"15\": {\"functions\": [],\"variables\": [\"du\"]},\"17\": {\"functions\": [],\"variables\": [\"u\"]},\"11\": {\"functions\": [],\"variables\": [\"x\"]}},\"key_origins\": {\"17\": {\"pertinent_indices\": [\"9\",\"22\"],\"keys_preceding\": [\"22\"]},\"11\": {\"pertinent_indices\": [\"9\"],\"keys_preceding\": []}},\"key_mappings\": {\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\",\"\\\\text { Let } u\"],\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\"]},\"unfound_keys\": [\"d u\"],\"key_order\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\",\"\\\\text { Let } u\",\"d u\",\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\",\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\"]},\"split_to_solutions\": {\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"9\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"]},\"step\": \"\\\\int \\\\frac{4 x+13}{2 x^{2}+13 x+69}-\\\\frac{10}{2 x^{2}+13 x+69} d x\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"20\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"],\"depends_on\": {\"keys_preceding\": [\"11\"]}},\"step\": \"\\\\ln(2x^2+13x+69)-\\\\frac{10}{\\\\sqrt{107}}\\\\arctan(\\\\frac{2}{\\\\sqrt{107}}\\\\left(x+\\\\frac{13}{4}\\\\right))\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\text { Let } u\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"22\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"],\"depends_on\": {\"indices\": [\"22\"],\"keys_preceding\": [\"22\"]}},\"step\": \"x+\\\\frac{13}{4}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"d u\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"15\",\"extra_fields\": {\"functions\": [],\"variables\": [\"dx\"]},\"step\": \"d x\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"17\",\"extra_fields\": {\"functions\": [],\"variables\": [\"u\"]},\"step\": \"\\\\frac{-20}{107} \\\\int \\\\frac{1}{\\\\frac{4}{107} u^{2}+1}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"18\",\"extra_fields\": {\"functions\": [],\"variables\": [\"u\"]},\"step\": \"\\\\frac{-10}{\\\\sqrt{107}} \\\\arctan(\\\\frac{2}{\\\\sqrt{107}} u)\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"11\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"]},\"step\": \"\\\\ln(2 x^{2}+13 x+69)\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}]},\"initial_step\": null,\"dependents\": null,\"variable_equals\": null,\"final_solution\": null,\"question_text\": \"Please solve the following for y\",\"points\": null}\nexport let calculus_mistakes = [{\n \"message\": \"Steps are not equivalent\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.substitution\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": [\"0\", \"1\", \"22\", \"20\"],\n \"expected_results\": {\"20\": \"\\\\ln(13 x + 2 x^{2} + 69) + \\\\frac{-160 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{\\\\sqrt{107} (4 x + 13)} {214})} {107}\"},\n \"actual_results\": {\"20\": \"\\\\ln(13 x + 2 x^{2} + 69) + \\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 \\\\sqrt{107} (4 x + 13)} {428})} {107}\"},\n \"extra_fields\": null,\n \"temp_fields\": null\n}, {\n \"message\": \"Expecting answer to include a constant of integration\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.missing_constant_of_integration\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": null,\n \"expected_results\": {\"20\": \"\\\\ln(13 x + 2 x^{2} + 69) + \\\\frac{-160 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{\\\\sqrt{107} (4 x + 13)} {214})} {107}+ C\"},\n \"actual_results\": {\"20\": \"\\\\ln(13 x + 2 x^{2} + 69) + \\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 \\\\sqrt{107} (4 x + 13)} {428})} {107}\"},\n \"extra_fields\": null,\n \"temp_fields\": null\n}, {\n \"message\": \"Expecting answer to include a constant of integration\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.missing_constant_of_integration\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": null,\n \"expected_results\": {\"18\": \"\\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 u \\\\sqrt{107}} {107})} {107} + C\"},\n \"actual_results\": {\"18\": \"\\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 u \\\\sqrt{107}} {107})} {107}\"},\n \"extra_fields\": null,\n \"temp_fields\": null\n}, {\n \"message\": \"Expecting answer to include a constant of integration\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.missing_constant_of_integration\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": null,\n \"expected_results\": {\"11\": \"\\\\ln(13 x + 2 x^{2} + 69) + C\"},\n \"actual_results\": {\"11\": \"\\\\ln(13 x + 2 x^{2} + 69)\"},\n \"extra_fields\": null,\n \"temp_fields\": null\n}, {\n \"message\": \"Arithmetically incorrect substitution\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.substitution\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": [\"9\", \"22\"],\n \"expected_results\": {\"-17\": \"-5 \\\\int \\\\frac{1}{16 u^{2} + 383} d u\"},\n \"actual_results\": {\"-17\": \"\\\\int \\\\frac{-20} {4 u^{2} + 107} d u\"},\n \"extra_fields\": {\"keys_preceding\": [\"22\", \"17\"]},\n \"temp_fields\": null\n}]\n\n\nexport let calculus_mistakes_old = [{\n \"message\": \"Steps are not equal\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.non_equivalence\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": [\"20\", \"9\"],\n \"expected_results\": {\"20\": \"\\\\ln(\\\\frac{13 x} {2} + x^{2} + \\\\frac{69}{2}) + \\\\frac{-20 \\\\sqrt{383} \\\\operatorname{atan}(\\\\frac{4 x \\\\sqrt{383}} {383} + \\\\frac{13 \\\\sqrt{383}} {383})} {383}\"},\n \"actual_results\": {\"20\": \"\\\\ln(13 x + 2 x^{2} + 69) + \\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 \\\\sqrt{107} 4 x + 13} {428})} {107}\"},\n \"extra_fields\": {\"keys_preceding\": []},\n \"temp_fields\": null\n}, {\n \"message\": \"Expecting answer to include a constant of integration\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.missing_constant_of_integration\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": null,\n \"expected_results\": {\"20\": \"\\\\ln(\\\\frac{13 x} {2} + x^{2} + \\\\frac{69}{2}) + \\\\frac{-20 \\\\sqrt{383} \\\\operatorname{atan}(\\\\frac{4 x \\\\sqrt{383}} {383} + \\\\frac{13 \\\\sqrt{383}} {383})} {383} + C\"},\n \"actual_results\": {\"20\": \"\\\\ln(13 x + 2 x^{2} + 69) + \\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 \\\\sqrt{107} 4 x + 13} {428})} {107}\"},\n \"extra_fields\": null,\n \"temp_fields\": null\n}, {\n \"message\": \"Substitution is not correct\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.substitution\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": [\"9\", \"22\"],\n \"expected_results\": {\"-17\": \"16 \\\\int \\\\frac{1}{16 u^{2} + 383} d u=\"},\n \"actual_results\": {\"-17\": \"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\"},\n \"extra_fields\": {\"keys_preceding\": [\"22\", \"17\"]},\n \"temp_fields\": null\n}, {\n \"message\": \"Expecting answer to include a constant of integration\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.missing_constant_of_integration\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": null,\n \"expected_results\": {\"18\": \"\\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 u \\\\sqrt{107}} {107})} {107} + C\"},\n \"actual_results\": {\"18\": \"\\\\frac{-10 \\\\sqrt{107} \\\\operatorname{atan}(\\\\frac{2 u \\\\sqrt{107}} {107})} {107}\"},\n \"extra_fields\": null,\n \"temp_fields\": null\n}, {\n \"message\": \"Expecting answer to include a constant of integration\",\n \"outer_message_index\": \"21\",\n \"mistake_type\": \"MistakeType.missing_constant_of_integration\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": null,\n \"expected_results\": {\"11\": \"\\\\ln(13 x + 2 x^{2} + 69) + C\"},\n \"actual_results\": {\"11\": \"\\\\ln(13 x + 2 x^{2} + 69)\"},\n \"extra_fields\": null,\n \"temp_fields\": null\n}]\nexport let easy_calc_equ = {\n \"domain_flags\": \"16\", \"message_type\": \"TransmittableMessageType.steps\", \"message_index\": \"0\",\n \"steps\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"1\",\n \"step\": \"\\\\int cos( 2 x ) dx\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"2\",\n \"step\": \" \\\\frac {sin ( 2 x ) } { 2 }\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }], \"component_to_final_solution\": {\"\\\\int cos( 2 x ) dx\": [\"\\\\frac{sin(2 x) }{2}\"]}, \"question_text\": null\n}\n\nexport let sol_delta = {\n \"domain_flags\": null, \"message_type\": \"7\", \"message_index\": null,\n \"initial_problem\": \"\\\\int \\\\frac {4 x + 3} {2 x^2 + 13 x + 69} dx\",\n \"correct_steps\": {\n \"\\\\int \\\\frac {-10} {2 x^2 + 13 x + 69} dx\":\n [{\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 19,\n \"step\": \"\\\\int \\\\frac {-5} {x^2 + \\\\frac{13}{2} x + \\\\frac{69}{2}} dx\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 20,\n \"step\": \"\\\\int \\\\frac {-5} {u^2 + \\\\frac{935}{16}} du\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"\\\\int \\\\frac {4 x + 13} {2 x^2 + 13 x + 69} dx\": [{\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 21,\n \"step\": \"\\\\log(2 x^2 + 13 x +69)\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }\n ]\n }, \"incorrect_steps\": {\n \"\\\\int \\\\frac {-10} {2 x^2 + 13 x + 69} dx\": [{\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 22,\n \"step\": \"\\\\int \\\\frac{16}{335} \\\\frac {1} {\\\\frac{16}{335} u^2 + 1} du\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n },\n {\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 23,\n \"step\": \" \\\\frac{-20}{\\\\sqrt{335}} \\\\operatorname{arctan} \\\\left( \\\\sqrt{ \\\\frac{16}{335} } u \\\\right) \",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n },\n {\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 24,\n \"step\": \" \\\\frac{-20}{\\\\sqrt{335}} \\\\operatorname{arctan} \\\\left( \\\\frac{2}{\\\\sqrt{335} } \\\\left( x + \\\\frac{13}{4} \\\\right) \\\\right) \",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }\n ],\n \"\\\\int \\\\frac {4 x + 13} {2 x^2 + 13 x + 69} dx\": []\n }, \"superfluous_steps\": {},\n \"missing_steps\": {\n \"\\\\int \\\\frac {-10} {2 x^2 + 13 x + 69} dx\": [\n {\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 25,\n \"step\": \"\\\\int \\\\frac{16}{935} \\\\frac {1} {\\\\frac{16}{935} u^2 + 1} du\",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 26,\n \"step\": \" \\\\frac{-20}{\\\\sqrt{935}} \\\\operatorname{arctan} \\\\left( \\\\sqrt{ \\\\frac{16}{935} } u \\\\right) \",\n \"relies_on_named\": null,\n \"points\": \"1.5\",\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"2\",\n \"message_index\": 27,\n \"step\": \" \\\\frac{-20}{\\\\sqrt{935}} \\\\operatorname{arctan} \\\\left( \\\\frac{2}{\\\\sqrt{935} } \\\\left( x + \\\\frac{13}{4} \\\\right) \\\\right) \",\n \"relies_on_named\": null,\n \"points\": \"1\",\n \"description\": null,\n \"detailed_step\": null\n }]\n }, \"points\": \"3.0\", \"points_possible\": \"6.5\", \"question_text\": null\n}\n\n//{ \"domain_flags\": null , \"message_type\": \"7\" , \"message_index\": null , \"initial_problem\": \"\\\\int \\\\frac {4 x + 3} {2 x^2 + 13 x + 69} dx\" , \"correct_steps\": { \"\\int \\frac {4 x + 13} {2 x^2 + 13 x + 69} dx\": [ { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \"\\\\log(2 x^2 + 13 x +69)\" , \"relies_on_named\": null , \"points\": 1 , \"description\": null , \"detailed_step\": null } ] , \"\\int \\frac {-10} {2 x^2 + 13 x + 69} dx\": [ { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \"\\\\int \\\\frac {-5} {x^2 + \\\\frac{13}{2} x + \\\\frac{69}{2}} dx\" , \"relies_on_named\": null , \"points\": null , \"description\": null , \"detailed_step\": null }, { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \"\\\\int \\\\frac {-5} {u^2 + \\\\frac{935}{16}} du\" , \"relies_on_named\": null , \"points\": null , \"description\": null , \"detailed_step\": null } ] } , \"incorrect_steps\": { \"\\int \\frac {4 x + 13} {2 x^2 + 13 x + 69} dx\": [ ] , \"\\int \\frac {-10} {2 x^2 + 13 x + 69} dx\": [ { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \"\\\\int \\\\frac{16}{335} \\\\frac {1} {\\\\frac{16}{335} u^2 + 1} du\" , \"relies_on_named\": null , \"points\": null , \"description\": null , \"detailed_step\": null }, { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \" \\\\frac{-20}{\\\\sqrt{335}} \\\\operatorname{arctan} \\\\left( \\\\sqrt{ \\\\frac{16}{335} } u \\\\right) \" , \"relies_on_named\": null , \"points\": null , \"description\": null , \"detailed_step\": null }, { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \" \\\\frac{-20}{\\\\sqrt{335}} \\\\operatorname{arctan} \\\\left( \\\\frac{2}{\\\\sqrt{335} } \\\\left( x + \\\\frac{13}{4} \\\\right) \\\\right) \" , \"relies_on_named\": null , \"points\": null , \"description\": null , \"detailed_step\": null } ] } , \"superfluous_steps\": { } , \"missing_steps\": { \"\\int \\frac {-10} {2 x^2 + 13 x + 69} dx\": [ { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \"\\\\int \\\\frac{16}{935} \\\\frac {1} {\\\\frac{16}{935} u^2 + 1} du\" , \"relies_on_named\": null , \"points\": 1 , \"description\": null , \"detailed_step\": null }, { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \" \\\\frac{-20}{\\\\sqrt{935}} \\\\operatorname{arctan} \\\\left( \\\\sqrt{ \\\\frac{16}{935} } u \\\\right) \" , \"relies_on_named\": null , \"points\": 1.5 , \"description\": null , \"detailed_step\": null }, { \"domain_flags\": null , \"message_type\": \"2\" , \"message_index\": null , \"step\": \" \\\\frac{-20}{\\\\sqrt{935}} \\\\operatorname{arctan} \\\\left( \\\\frac{2}{\\\\sqrt{935} } \\\\left( x + \\\\frac{13}{4} \\\\right) \\\\right) \" , \"relies_on_named\": null , \"points\": 1 , \"description\": null , \"detailed_step\": null } ] } , \"points\": 3.0 , \"points_possible\": 6.5 , \"question_text\": null }\n//export let\nexport let sem_sol = {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.semantic_split\",\n \"message_index\": \"37\",\n \"equation_reductions\": {\n \"d_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"31\",\n \"step\": \"v_{y} t_{y}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"d_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"32\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{t} t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"33\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"34\",\n \"step\": \"t_{t}+2\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{y}(t_{t}+2)\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"35\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"28\",\n \"step\": \"\\\\frac{v_{y}(t_{t}+2)}{t_{t}}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }]\n },\n\n \"question_text\": \"You are driving down the highway at 60 mph when a truck passes you. \" +\n \"Six seconds later, it passes a road sign. Two seconds after that you pass the road sign. \" +\n \"How fast was the truck going?\",\n \"sub_solutions\": {\n \"v_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"22\",\n \"step\": \"60 mph\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"29\",\n \"step\": \"\\\\frac{(60 mph )(8 s )}{6 s }\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"30\",\n \"step\": \"80 mph\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }]\n },\n \"plugin_to_equation_index\": {\n \"d_{y}\": \"31\",\n \"d_{t}\": \"32\",\n \"v_{t} t_{y}\": \"33\",\n \"t_{y}\": \"34\",\n \"v_{y}(t_{t}+2)\": \"35\",\n \"v_{t}\": \"28\"\n },\n \"mistakes\": [],\n \"acceptable_mistake\": null,\n \"extra_fields\": null\n}\nexport let sem_corrections = {}\nexport let sem_delta_correct = {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.delta\",\n \"message_index\": null,\n \"initial_problem\": \"merkah\",\n \"correct_steps\": {\n \"d_{t}\": [],\n \"v_{y}(t_{t}+2)\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"35\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"28\",\n \"step\": \"\\\\frac{v_{y}(t_{t}+2)}{t_{t}}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"d_{y}\": [],\n \"t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"34\",\n \"step\": \"t_{t}+2\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{y} t_{y}\": []\n },\n \"incorrect_steps\": {\n \"d_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"32\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{y}(t_{t}+2)\": [],\n \"v_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"29\",\n \"step\": \"\\\\frac{(60 mph )(8 s )}{6 s }\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"30\",\n \"step\": \"80 mph\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"d_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"31\",\n \"step\": \"v_{y} t_{y}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }],\n \"t_{y}\": [],\n \"v_{y} t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"33\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }]\n },\n \"superfluous_steps\": {\n \"v_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"22\",\n \"step\": \"60 mph\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null\n }]\n },\n \"missing_steps\": {\n \"d_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"32\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": \"1.0\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"d_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"31\",\n \"step\": \"v_{y} t_{y}\",\n \"relies_on_named\": null,\n \"points\": \"1.0\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{y} t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"33\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": \"1.0\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"34\",\n \"step\": \"t_{t}+2\",\n \"relies_on_named\": null,\n \"points\": \"1.0\",\n \"description\": null,\n \"detailed_step\": null\n }],\n \"v_{y}(t_{t}+2)\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"35\",\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": \"1.0\",\n \"description\": null,\n \"detailed_step\": null\n }]\n },\n \"points\": \"3.0\",\n \"points_possible\": \"12.0\",\n \"mistakes\": null,\n \"question_text\": null\n}\n//export let sem_stud_sol = {\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.semantic_split\",\"message_index\": \"37\",\"equation_reductions\": {\"d_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"31\",\"step\": \"v_{y} t_{y}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}],\"d_{t}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"32\",\"step\": \"v_{t} t_{t}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}],\"v_{y} t_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"33\",\"step\": \"v_{t} t_{t}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}],\"t_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"34\",\"step\": \"t_{t}+2\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}],\"v_{y}(t_{t}+2)\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"35\",\"step\": \"v_{t} t_{t}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}],\"v_{t}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"28\",\"step\": \"\\\\frac{v_{y}(t_{t}+2)}{t_{t}}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}]},\"question_text\": \"You are driving down the highway at 60 mph when truck A passes you. Two seconds later, if a car passes you, two seconds after that you pass the radar. How fast was the car going?\",\"sub_solutions\": {\"v_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"22\",\"step\": \"60 mph\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}],\"v_{t}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"29\",\"step\": \"\\\\frac{(60 mph )(8 s )}{6 s }\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"30\",\"step\": \"80 mph\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null}]},\"plugin_to_equation_index\": {},\"mistakes\": [],\"acceptable_mistake\": null,\"extra_fields\": null}\n//export let sem_equ_with_mistake = {\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.split\",\"message_index\": \"21\",\"extra_fields\": {\"key_properties\": {\"9\": {\"functions\": [],\"variables\": [\"x\"]},\"22\": {\"functions\": [],\"variables\": [\"u\"]},\"15\": {\"functions\": [],\"variables\": [\"du\"]},\"17\": {\"functions\": [],\"variables\": [\"u\"]},\"11\": {\"functions\": [],\"variables\": [\"x\"]}},\"key_origins\": {\"17\": {\"pertinent_indices\": [\"9\",\"22\"],\"keys_preceding\": [\"22\"]},\"11\": {\"pertinent_indices\": [\"9\"],\"keys_preceding\": []}},\"key_mappings\": {\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\",\"\\\\text { Let } u\"],\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\"]},\"unfound_keys\": [\"d u\"],\"key_order\": [\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\",\"\\\\text { Let } u\",\"d u\",\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\",\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\"]},\"split_to_solutions\": {\"\\\\int \\\\frac{4 x+3}{2 x^{2}+13 x+69} d x\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"9\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"]},\"step\": \"\\\\int \\\\frac{4 x+13}{2 x^{2}+13 x+69}-\\\\frac{10}{2 x^{2}+13 x+69} d x\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"20\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"],\"depends_on\": {\"keys_preceding\": [\"11\"]}},\"step\": \"\\\\ln(2x^2+13x+69)-\\\\frac{10}{\\\\sqrt{107}}\\\\arctan(\\\\frac{2}{\\\\sqrt{107}}\\\\left(x+\\\\frac{13}{4}\\\\right))\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\text { Let } u\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"22\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"],\"depends_on\": {\"indices\": [\"22\"],\"keys_preceding\": [\"22\"]}},\"step\": \"x+\\\\frac{13}{4}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"d u\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"15\",\"extra_fields\": {\"functions\": [],\"variables\": [\"dx\"]},\"step\": \"d x\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\int\\\\frac{-5 d u}{u^{2}+\\\\frac{107}{4}}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"17\",\"extra_fields\": {\"functions\": [],\"variables\": [\"u\"]},\"step\": \"\\\\frac{-20}{107} \\\\int \\\\frac{1}{\\\\frac{4}{107} u^{2}+1}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"18\",\"extra_fields\": {\"functions\": [],\"variables\": [\"u\"]},\"step\": \"\\\\frac{-10}{\\\\sqrt{107}} \\\\arctan(\\\\frac{2}{\\\\sqrt{107}} u)\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"\\\\int\\\\frac{4 x+13}{2 x^{2}+13 x+69}dx\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"11\",\"extra_fields\": {\"functions\": [],\"variables\": [\"x\"]},\"step\": \"\\\\ln(2 x^{2}+13 x+69)\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}]},\"initial_step\": null,\"dependents\": null,\"variable_equals\": null,\"final_solution\": null,\"question_text\": \"Please solve the following for y\",\"points\": null}\nexport let sem_equ_with_mistake = {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.semantic_split\",\n \"message_index\": \"37\",\n \"extra_fields\": {\n \"key_properties\": {\n \"31\": {\"functions\": [], \"variables\": [\"d_{y}\"]},\n \"32\": {\"functions\": [], \"variables\": [\"d_{t}\"]},\n \"33\": {\"functions\": [], \"variables\": [\"t_{y}\", \"v_{y}\"]},\n \"34\": {\"functions\": [], \"variables\": [\"t_{y}\"]},\n \"35\": {\"functions\": [], \"variables\": [\"t_{t}\", \"v_{y}\"]},\n \"38\": {\"functions\": [], \"variables\": [\"v_{t}\"]}\n },\n \"necessary_new_unit_solutions\": {},\n \"unit_solution_dependencies\": {\"v_{y}\": [\"v_{y}\"], \"v_{t}\": []},\n \"key_mappings\": {\n \"d_{y}\": [\"t_{y}\"],\n \"d_{t}\": [\"v_{t}\"],\n \"v_{y} t_{y}\": [\"v_{t}\"],\n \"v_{y}(t_{t}+2)\": [\"v_{t}\"],\n \"v_{t}\": [\"v_{y} t_{y}\", \"t_{y}\"]\n },\n \"unfound_keys\": [],\n \"key_order\": [\"d_{y}\", \"d_{t}\", \"v_{y} t_{y}\", \"t_{y}\", \"v_{y}(t_{t}+2)\", \"v_{t}\"]\n },\n \"equation_reductions\": {\n \"d_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"31\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"t_{y}\", \"v_{y}\"]},\n \"step\": \"v_{y} t_{y}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"d_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"32\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"t_{t}\", \"v_{t}\"]},\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"v_{y} t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"33\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"t_{t}\", \"v_{t}\"]},\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"t_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"34\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"t_{t}\"]},\n \"step\": \"t_{t}+2\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"v_{y}(t_{t}+2)\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"35\",\n \"extra_fields\": {\"functions\": [], \"variables\": [\"t_{t}\", \"v_{t}\"]},\n \"step\": \"v_{t} t_{t}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"v_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"38\",\n \"extra_fields\": {\n \"functions\": [],\n \"variables\": [\"t_{t}\", \"t_{y}\", \"v_{y}\"],\n \"depends_on\": {\"indices\": [\"38\", \"33\"], \"keys_preceding\": [\"38\", \"33\"]}\n },\n \"step\": \"\\\\frac{t_{y} v_{y}} {t_{t}}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"28\",\n \"extra_fields\": {\n \"functions\": [],\n \"variables\": [\"t_{t}\", \"v_{y}\"],\n \"depends_on\": {\"indices\": [\"28\", \"38\", \"38\"], \"keys_preceding\": [\"38\"]}\n },\n \"step\": \"\\\\frac{v_{y}(t_{t}+2)}{t_{t}}\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }]\n },\n \"question_text\": \"You are driving down the highway at 60 mph when a truck passes you. \" +\n \"Six seconds later, it passes a road sign. Two seconds after that you pass the road sign. \" +\n \"How fast was the truck going?\",\n\n\n\n \"sub_solutions\": {\n \"v_{y}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"22\",\n \"extra_fields\": null,\n \"step\": \"60 mph\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }],\n \"v_{t}\": [{\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"29\",\n \"extra_fields\": null,\n \"step\": \"\\\\frac{(60 mph )(8 s )}{6 s }\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }, {\n \"domain_flags\": null,\n \"message_type\": \"TransmittableMessageType.basic\",\n \"message_index\": \"40\",\n \"extra_fields\": null,\n \"step\": \"90 mph\",\n \"relies_on_named\": null,\n \"points\": null,\n \"description\": null,\n \"detailed_step\": null,\n \"undefined_functions\": null\n }]\n },\n \"plugin_to_equation_index\": {},\n \"mistakes\": [],\n \"acceptable_mistake\": null,\n \"points\": null,\n \"sub_solution_to_exact\": null\n}\n//{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.semantic_split\",\"message_index\": \"37\",\"extra_fields\": {\"key_properties\": {\"31\": {\"functions\": [],\"variables\": [\"d_{y}\"]},\"32\": {\"functions\": [],\"variables\": [\"d_{t}\"]},\"33\": {\"functions\": [],\"variables\": [\"t_{y}\",\"v_{y}\"]},\"34\": {\"functions\": [],\"variables\": [\"t_{y}\"]},\"35\": {\"functions\": [],\"variables\": [\"t_{t}\",\"v_{y}\"]},\"38\": {\"functions\": [],\"variables\": [\"v_{t}\"]}},\"necessary_new_unit_solutions\": {},\"unit_solution_dependencies\": {\"v_{y}\": [\"v_{y}\"],\"v_{t}\": []},\"key_mappings\": {\"d_{y}\": [\"t_{y}\"],\"d_{t}\": [\"v_{t}\"],\"v_{y} t_{y}\": [\"v_{t}\"],\"v_{y}(t_{t}+2)\": [\"v_{t}\"],\"v_{t}\": [\"t_{y}\",\"v_{y} t_{y}\"]},\"unfound_keys\": [],\"key_order\": [\"d_{y}\",\"d_{t}\",\"v_{y} t_{y}\",\"t_{y}\",\"v_{y}(t_{t}+2)\",\"v_{t}\"]},\"equation_reductions\": {\"d_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"31\",\"extra_fields\": {\"functions\": [],\"variables\": [\"t_{y}\",\"v_{y}\"]},\"step\": \"v_{y} t_{y}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"d_{t}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"32\",\"extra_fields\": {\"functions\": [],\"variables\": [\"t_{t}\",\"v_{t}\"]},\"step\": \"v_{t} t_{t}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"v_{y} t_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"33\",\"extra_fields\": {\"functions\": [],\"variables\": [\"t_{t}\",\"v_{t}\"]},\"step\": \"v_{t} t_{t}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"t_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"34\",\"extra_fields\": {\"functions\": [],\"variables\": [\"t_{t}\"]},\"step\": \"t_{t}+2\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"v_{y}(t_{t}+2)\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"35\",\"extra_fields\": {\"functions\": [],\"variables\": [\"t_{t}\",\"v_{t}\"]},\"step\": \"v_{t} t_{t}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"v_{t}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"38\",\"extra_fields\": {\"functions\": [],\"variables\": [\"t_{t}\",\"t_{y}\",\"v_{y}\"],\"depends_on\": {\"indices\": [\"38\",\"33\"],\"keys_preceding\": [\"38\",\"33\"]}},\"step\": \"\\\\frac{t_{y} v_{y}} {t_{t}}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"28\",\"extra_fields\": {\"functions\": [],\"variables\": [\"t_{t}\",\"v_{y}\"],\"depends_on\": {\"indices\": [\"28\",\"38\",\"38\"],\"keys_preceding\": [\"38\"]}},\"step\": \"\\\\frac{v_{y}(t_{t}+2)}{t_{t}}\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}]},\"question_text\": \"You are driving down the highway at 60 mph when truck A passes you. Two seconds later, if a car passes you, two seconds after that you pass the radar. How fast was the car going?\",\"sub_solutions\": {\"v_{y}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"22\",\"extra_fields\": null,\"step\": \"60 mph\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}],\"v_{t}\": [{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"29\",\"extra_fields\": null,\"step\": \"\\\\frac{(60 mph )(8 s )}{6 s }\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null},{\"domain_flags\": null,\"message_type\": \"TransmittableMessageType.basic\",\"message_index\": \"31\",\"extra_fields\": null,\"step\": \"90 mph\",\"relies_on_named\": null,\"points\": null,\"description\": null,\"detailed_step\": null,\"undefined_functions\": null}]},\"plugin_to_equation_index\": {},\"mistakes\": [],\"acceptable_mistake\": null,\"points\": null,\"sub_solution_to_exact\": null}\nexport let mistakes_for_sem = [{\n \"message\": \"Expected 80 mph instead received 90 mph\",\n \"outer_message_index\": \"37\",\n \"mistake_type\": \"MistakeType.unit_conversion_math_incorrect\",\n \"deducted_proportion\": \"1\",\n \"points_for_correct\": null,\n \"pertinent_indices\": [\"29\", \"40\",],\n \"expected_results\": null,\n \"actual_results\": null,\n \"extra_fields\": null,\n \"temp_fields\": null\n}]\n","\n\n

Use any book (including your own).

\n

Devise any problem set.

\n

We conform to you not vice-versa.

\n

You need only rely on the conventions regarded as standard.

\n

\n\n{#if $has_opened_example}\n \n\n \n{/if}\n\n{#each properties_list as props, i}\n
\n {\n properties_list[i].is_expanded=true; console.log(\"Expanded element \", i)\n }\n }\n >\n \n
\n{/each}\n\n\n

Let us solve help solve your biggest pain point

\n\n\n\n\n\n","\n\n\n\n\n
\n {#each _elements as element}\n {#if shouldShowElement(element)}\n
handleIntroStart(element.id)}>\n \n \n {#if element.hasOwnProperty('display_text')}\n

{element.display_text}

\n {/if}\n
\n {/if}\n {/each}\n
\n\n
\n {#if panel_count && panel_count>0}\n {#each Array(panel_count).fill(0) as _, index}\n {highlighted=index}}>\n
\n {_elements[index].display_text}\n {/each}\n {/if}\n\n","\n\n\n
\n
\n\n{#each component_sets as components, outer_index}\n\n
\n {#each components as {component, props, display_text}, inner_index}\n \n
\n {#if display_text}\n

{display_text}

\n {/if}\n \n
\n \n
\n \n
\n
\n
\n
\n
\n\n \n {/each}\n\n
\n \n\n{/each}\n\n","\n\n\n\n
\n {#each elements as { row, col }}\n
\n {/each}\n
","\n\n\n\n

Would you like instant feedback on your work?

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","const matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n const colonSeparated = value.split(\":\");\n if (value.slice(0, 1) === \"@\") {\n if (colonSeparated.length < 2 || colonSeparated.length > 3) {\n return null;\n }\n provider = colonSeparated.shift().slice(1);\n }\n if (colonSeparated.length > 3 || !colonSeparated.length) {\n return null;\n }\n if (colonSeparated.length > 1) {\n const name2 = colonSeparated.pop();\n const prefix = colonSeparated.pop();\n const result = {\n // Allow provider without '@': \"provider:prefix:name\"\n provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n prefix,\n name: name2\n };\n return validate && !validateIconName(result) ? null : result;\n }\n const name = colonSeparated[0];\n const dashSeparated = name.split(\"-\");\n if (dashSeparated.length > 1) {\n const result = {\n provider,\n prefix: dashSeparated.shift(),\n name: dashSeparated.join(\"-\")\n };\n return validate && !validateIconName(result) ? null : result;\n }\n if (allowSimpleName && provider === \"\") {\n const result = {\n provider,\n prefix: \"\",\n name\n };\n return validate && !validateIconName(result, allowSimpleName) ? null : result;\n }\n return null;\n};\nconst validateIconName = (icon, allowSimpleName) => {\n if (!icon) {\n return false;\n }\n return !!((icon.provider === \"\" || icon.provider.match(matchIconName)) && (allowSimpleName && icon.prefix === \"\" || icon.prefix.match(matchIconName)) && icon.name.match(matchIconName));\n};\n\nconst defaultIconDimensions = Object.freeze(\n {\n left: 0,\n top: 0,\n width: 16,\n height: 16\n }\n);\nconst defaultIconTransformations = Object.freeze({\n rotate: 0,\n vFlip: false,\n hFlip: false\n});\nconst defaultIconProps = Object.freeze({\n ...defaultIconDimensions,\n ...defaultIconTransformations\n});\nconst defaultExtendedIconProps = Object.freeze({\n ...defaultIconProps,\n body: \"\",\n hidden: false\n});\n\nfunction mergeIconTransformations(obj1, obj2) {\n const result = {};\n if (!obj1.hFlip !== !obj2.hFlip) {\n result.hFlip = true;\n }\n if (!obj1.vFlip !== !obj2.vFlip) {\n result.vFlip = true;\n }\n const rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n if (rotate) {\n result.rotate = rotate;\n }\n return result;\n}\n\nfunction mergeIconData(parent, child) {\n const result = mergeIconTransformations(parent, child);\n for (const key in defaultExtendedIconProps) {\n if (key in defaultIconTransformations) {\n if (key in parent && !(key in result)) {\n result[key] = defaultIconTransformations[key];\n }\n } else if (key in child) {\n result[key] = child[key];\n } else if (key in parent) {\n result[key] = parent[key];\n }\n }\n return result;\n}\n\nfunction getIconsTree(data, names) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n const resolved = /* @__PURE__ */ Object.create(null);\n function resolve(name) {\n if (icons[name]) {\n return resolved[name] = [];\n }\n if (!(name in resolved)) {\n resolved[name] = null;\n const parent = aliases[name] && aliases[name].parent;\n const value = parent && resolve(parent);\n if (value) {\n resolved[name] = [parent].concat(value);\n }\n }\n return resolved[name];\n }\n (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n return resolved;\n}\n\nfunction internalGetIconData(data, name, tree) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n let currentProps = {};\n function parse(name2) {\n currentProps = mergeIconData(\n icons[name2] || aliases[name2],\n currentProps\n );\n }\n parse(name);\n tree.forEach(parse);\n return mergeIconData(data, currentProps);\n}\n\nfunction parseIconSet(data, callback) {\n const names = [];\n if (typeof data !== \"object\" || typeof data.icons !== \"object\") {\n return names;\n }\n if (data.not_found instanceof Array) {\n data.not_found.forEach((name) => {\n callback(name, null);\n names.push(name);\n });\n }\n const tree = getIconsTree(data);\n for (const name in tree) {\n const item = tree[name];\n if (item) {\n callback(name, internalGetIconData(data, name, item));\n names.push(name);\n }\n }\n return names;\n}\n\nconst optionalPropertyDefaults = {\n provider: \"\",\n aliases: {},\n not_found: {},\n ...defaultIconDimensions\n};\nfunction checkOptionalProps(item, defaults) {\n for (const prop in defaults) {\n if (prop in item && typeof item[prop] !== typeof defaults[prop]) {\n return false;\n }\n }\n return true;\n}\nfunction quicklyValidateIconSet(obj) {\n if (typeof obj !== \"object\" || obj === null) {\n return null;\n }\n const data = obj;\n if (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") {\n return null;\n }\n if (!checkOptionalProps(obj, optionalPropertyDefaults)) {\n return null;\n }\n const icons = data.icons;\n for (const name in icons) {\n const icon = icons[name];\n if (!name.match(matchIconName) || typeof icon.body !== \"string\" || !checkOptionalProps(\n icon,\n defaultExtendedIconProps\n )) {\n return null;\n }\n }\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n for (const name in aliases) {\n const icon = aliases[name];\n const parent = icon.parent;\n if (!name.match(matchIconName) || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(\n icon,\n defaultExtendedIconProps\n )) {\n return null;\n }\n }\n return data;\n}\n\nconst dataStorage = /* @__PURE__ */ Object.create(null);\nfunction newStorage(provider, prefix) {\n return {\n provider,\n prefix,\n icons: /* @__PURE__ */ Object.create(null),\n missing: /* @__PURE__ */ new Set()\n };\n}\nfunction getStorage(provider, prefix) {\n const providerStorage = dataStorage[provider] || (dataStorage[provider] = /* @__PURE__ */ Object.create(null));\n return providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\nfunction addIconSet(storage, data) {\n if (!quicklyValidateIconSet(data)) {\n return [];\n }\n return parseIconSet(data, (name, icon) => {\n if (icon) {\n storage.icons[name] = icon;\n } else {\n storage.missing.add(name);\n }\n });\n}\nfunction addIconToStorage(storage, name, icon) {\n try {\n if (typeof icon.body === \"string\") {\n storage.icons[name] = { ...icon };\n return true;\n }\n } catch (err) {\n }\n return false;\n}\nfunction listIcons(provider, prefix) {\n let allIcons = [];\n const providers = typeof provider === \"string\" ? [provider] : Object.keys(dataStorage);\n providers.forEach((provider2) => {\n const prefixes = typeof provider2 === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider2] || {});\n prefixes.forEach((prefix2) => {\n const storage = getStorage(provider2, prefix2);\n allIcons = allIcons.concat(\n Object.keys(storage.icons).map(\n (name) => (provider2 !== \"\" ? \"@\" + provider2 + \":\" : \"\") + prefix2 + \":\" + name\n )\n );\n });\n });\n return allIcons;\n}\n\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n if (typeof allow === \"boolean\") {\n simpleNames = allow;\n }\n return simpleNames;\n}\nfunction getIconData(name) {\n const icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n if (icon) {\n const storage = getStorage(icon.provider, icon.prefix);\n const iconName = icon.name;\n return storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n }\n}\nfunction addIcon(name, data) {\n const icon = stringToIcon(name, true, simpleNames);\n if (!icon) {\n return false;\n }\n const storage = getStorage(icon.provider, icon.prefix);\n return addIconToStorage(storage, icon.name, data);\n}\nfunction addCollection(data, provider) {\n if (typeof data !== \"object\") {\n return false;\n }\n if (typeof provider !== \"string\") {\n provider = data.provider || \"\";\n }\n if (simpleNames && !provider && !data.prefix) {\n let added = false;\n if (quicklyValidateIconSet(data)) {\n data.prefix = \"\";\n parseIconSet(data, (name, icon) => {\n if (icon && addIcon(name, icon)) {\n added = true;\n }\n });\n }\n return added;\n }\n const prefix = data.prefix;\n if (!validateIconName({\n provider,\n prefix,\n name: \"a\"\n })) {\n return false;\n }\n const storage = getStorage(provider, prefix);\n return !!addIconSet(storage, data);\n}\nfunction iconLoaded(name) {\n return !!getIconData(name);\n}\nfunction getIcon(name) {\n const result = getIconData(name);\n return result ? {\n ...defaultIconProps,\n ...result\n } : null;\n}\n\nconst defaultIconSizeCustomisations = Object.freeze({\n width: null,\n height: null\n});\nconst defaultIconCustomisations = Object.freeze({\n // Dimensions\n ...defaultIconSizeCustomisations,\n // Transformations\n ...defaultIconTransformations\n});\n\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n if (ratio === 1) {\n return size;\n }\n precision = precision || 100;\n if (typeof size === \"number\") {\n return Math.ceil(size * ratio * precision) / precision;\n }\n if (typeof size !== \"string\") {\n return size;\n }\n const oldParts = size.split(unitsSplit);\n if (oldParts === null || !oldParts.length) {\n return size;\n }\n const newParts = [];\n let code = oldParts.shift();\n let isNumber = unitsTest.test(code);\n while (true) {\n if (isNumber) {\n const num = parseFloat(code);\n if (isNaN(num)) {\n newParts.push(code);\n } else {\n newParts.push(Math.ceil(num * ratio * precision) / precision);\n }\n } else {\n newParts.push(code);\n }\n code = oldParts.shift();\n if (code === void 0) {\n return newParts.join(\"\");\n }\n isNumber = !isNumber;\n }\n}\n\nfunction splitSVGDefs(content, tag = \"defs\") {\n let defs = \"\";\n const index = content.indexOf(\"<\" + tag);\n while (index >= 0) {\n const start = content.indexOf(\">\", index);\n const end = content.indexOf(\"\", end);\n if (endEnd === -1) {\n break;\n }\n defs += content.slice(start + 1, end).trim();\n content = content.slice(0, index).trim() + content.slice(endEnd + 1);\n }\n return {\n defs,\n content\n };\n}\nfunction mergeDefsAndContent(defs, content) {\n return defs ? \"\" + defs + \"\" + content : content;\n}\nfunction wrapSVGContent(body, start, end) {\n const split = splitSVGDefs(body);\n return mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\nfunction iconToSVG(icon, customisations) {\n const fullIcon = {\n ...defaultIconProps,\n ...icon\n };\n const fullCustomisations = {\n ...defaultIconCustomisations,\n ...customisations\n };\n const box = {\n left: fullIcon.left,\n top: fullIcon.top,\n width: fullIcon.width,\n height: fullIcon.height\n };\n let body = fullIcon.body;\n [fullIcon, fullCustomisations].forEach((props) => {\n const transformations = [];\n const hFlip = props.hFlip;\n const vFlip = props.vFlip;\n let rotation = props.rotate;\n if (hFlip) {\n if (vFlip) {\n rotation += 2;\n } else {\n transformations.push(\n \"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\"\n );\n transformations.push(\"scale(-1 1)\");\n box.top = box.left = 0;\n }\n } else if (vFlip) {\n transformations.push(\n \"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\"\n );\n transformations.push(\"scale(1 -1)\");\n box.top = box.left = 0;\n }\n let tempValue;\n if (rotation < 0) {\n rotation -= Math.floor(rotation / 4) * 4;\n }\n rotation = rotation % 4;\n switch (rotation) {\n case 1:\n tempValue = box.height / 2 + box.top;\n transformations.unshift(\n \"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n case 2:\n transformations.unshift(\n \"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\"\n );\n break;\n case 3:\n tempValue = box.width / 2 + box.left;\n transformations.unshift(\n \"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n }\n if (rotation % 2 === 1) {\n if (box.left !== box.top) {\n tempValue = box.left;\n box.left = box.top;\n box.top = tempValue;\n }\n if (box.width !== box.height) {\n tempValue = box.width;\n box.width = box.height;\n box.height = tempValue;\n }\n }\n if (transformations.length) {\n body = wrapSVGContent(\n body,\n '',\n \"\"\n );\n }\n });\n const customisationsWidth = fullCustomisations.width;\n const customisationsHeight = fullCustomisations.height;\n const boxWidth = box.width;\n const boxHeight = box.height;\n let width;\n let height;\n if (customisationsWidth === null) {\n height = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n width = calculateSize(height, boxWidth / boxHeight);\n } else {\n width = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n height = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n }\n const attributes = {};\n const setAttr = (prop, value) => {\n if (!isUnsetKeyword(value)) {\n attributes[prop] = value.toString();\n }\n };\n setAttr(\"width\", width);\n setAttr(\"height\", height);\n const viewBox = [box.left, box.top, boxWidth, boxHeight];\n attributes.viewBox = viewBox.join(\" \");\n return {\n attributes,\n viewBox,\n body\n };\n}\n\nconst regex = /\\sid=\"(\\S+)\"/g;\nconst randomPrefix = \"IconifyId\" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);\nlet counter = 0;\nfunction replaceIDs(body, prefix = randomPrefix) {\n const ids = [];\n let match;\n while (match = regex.exec(body)) {\n ids.push(match[1]);\n }\n if (!ids.length) {\n return body;\n }\n const suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n ids.forEach((id) => {\n const newID = typeof prefix === \"function\" ? prefix(id) : prefix + (counter++).toString();\n const escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n body = body.replace(\n // Allowed characters before id: [#;\"]\n // Allowed characters after id: [)\"], .[a-z]\n new RegExp('([#;\"])(' + escapedID + ')([\")]|\\\\.[a-z])', \"g\"),\n \"$1\" + newID + suffix + \"$3\"\n );\n });\n body = body.replace(new RegExp(suffix, \"g\"), \"\");\n return body;\n}\n\nconst storage = /* @__PURE__ */ Object.create(null);\nfunction setAPIModule(provider, item) {\n storage[provider] = item;\n}\nfunction getAPIModule(provider) {\n return storage[provider] || storage[\"\"];\n}\n\nfunction createAPIConfig(source) {\n let resources;\n if (typeof source.resources === \"string\") {\n resources = [source.resources];\n } else {\n resources = source.resources;\n if (!(resources instanceof Array) || !resources.length) {\n return null;\n }\n }\n const result = {\n // API hosts\n resources,\n // Root path\n path: source.path || \"/\",\n // URL length limit\n maxURL: source.maxURL || 500,\n // Timeout before next host is used.\n rotate: source.rotate || 750,\n // Timeout before failing query.\n timeout: source.timeout || 5e3,\n // Randomise default API end point.\n random: source.random === true,\n // Start index\n index: source.index || 0,\n // Receive data after time out (used if time out kicks in first, then API module sends data anyway).\n dataAfterTimeout: source.dataAfterTimeout !== false\n };\n return result;\n}\nconst configStorage = /* @__PURE__ */ Object.create(null);\nconst fallBackAPISources = [\n \"https://api.simplesvg.com\",\n \"https://api.unisvg.com\"\n];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) {\n if (fallBackAPISources.length === 1) {\n fallBackAPI.push(fallBackAPISources.shift());\n } else {\n if (Math.random() > 0.5) {\n fallBackAPI.push(fallBackAPISources.shift());\n } else {\n fallBackAPI.push(fallBackAPISources.pop());\n }\n }\n}\nconfigStorage[\"\"] = createAPIConfig({\n resources: [\"https://api.iconify.design\"].concat(fallBackAPI)\n});\nfunction addAPIProvider(provider, customConfig) {\n const config = createAPIConfig(customConfig);\n if (config === null) {\n return false;\n }\n configStorage[provider] = config;\n return true;\n}\nfunction getAPIConfig(provider) {\n return configStorage[provider];\n}\nfunction listAPIProviders() {\n return Object.keys(configStorage);\n}\n\nconst detectFetch = () => {\n let callback;\n try {\n callback = fetch;\n if (typeof callback === \"function\") {\n return callback;\n }\n } catch (err) {\n }\n};\nlet fetchModule = detectFetch();\nfunction setFetch(fetch2) {\n fetchModule = fetch2;\n}\nfunction getFetch() {\n return fetchModule;\n}\nfunction calculateMaxLength(provider, prefix) {\n const config = getAPIConfig(provider);\n if (!config) {\n return 0;\n }\n let result;\n if (!config.maxURL) {\n result = 0;\n } else {\n let maxHostLength = 0;\n config.resources.forEach((item) => {\n const host = item;\n maxHostLength = Math.max(maxHostLength, host.length);\n });\n const url = prefix + \".json?icons=\";\n result = config.maxURL - maxHostLength - config.path.length - url.length;\n }\n return result;\n}\nfunction shouldAbort(status) {\n return status === 404;\n}\nconst prepare = (provider, prefix, icons) => {\n const results = [];\n const maxLength = calculateMaxLength(provider, prefix);\n const type = \"icons\";\n let item = {\n type,\n provider,\n prefix,\n icons: []\n };\n let length = 0;\n icons.forEach((name, index) => {\n length += name.length + 1;\n if (length >= maxLength && index > 0) {\n results.push(item);\n item = {\n type,\n provider,\n prefix,\n icons: []\n };\n length = name.length;\n }\n item.icons.push(name);\n });\n results.push(item);\n return results;\n};\nfunction getPath(provider) {\n if (typeof provider === \"string\") {\n const config = getAPIConfig(provider);\n if (config) {\n return config.path;\n }\n }\n return \"/\";\n}\nconst send = (host, params, callback) => {\n if (!fetchModule) {\n callback(\"abort\", 424);\n return;\n }\n let path = getPath(params.provider);\n switch (params.type) {\n case \"icons\": {\n const prefix = params.prefix;\n const icons = params.icons;\n const iconsList = icons.join(\",\");\n const urlParams = new URLSearchParams({\n icons: iconsList\n });\n path += prefix + \".json?\" + urlParams.toString();\n break;\n }\n case \"custom\": {\n const uri = params.uri;\n path += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n break;\n }\n default:\n callback(\"abort\", 400);\n return;\n }\n let defaultError = 503;\n fetchModule(host + path).then((response) => {\n const status = response.status;\n if (status !== 200) {\n setTimeout(() => {\n callback(shouldAbort(status) ? \"abort\" : \"next\", status);\n });\n return;\n }\n defaultError = 501;\n return response.json();\n }).then((data) => {\n if (typeof data !== \"object\" || data === null) {\n setTimeout(() => {\n if (data === 404) {\n callback(\"abort\", data);\n } else {\n callback(\"next\", defaultError);\n }\n });\n return;\n }\n setTimeout(() => {\n callback(\"success\", data);\n });\n }).catch(() => {\n callback(\"next\", defaultError);\n });\n};\nconst fetchAPIModule = {\n prepare,\n send\n};\n\nfunction sortIcons(icons) {\n const result = {\n loaded: [],\n missing: [],\n pending: []\n };\n const storage = /* @__PURE__ */ Object.create(null);\n icons.sort((a, b) => {\n if (a.provider !== b.provider) {\n return a.provider.localeCompare(b.provider);\n }\n if (a.prefix !== b.prefix) {\n return a.prefix.localeCompare(b.prefix);\n }\n return a.name.localeCompare(b.name);\n });\n let lastIcon = {\n provider: \"\",\n prefix: \"\",\n name: \"\"\n };\n icons.forEach((icon) => {\n if (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) {\n return;\n }\n lastIcon = icon;\n const provider = icon.provider;\n const prefix = icon.prefix;\n const name = icon.name;\n const providerStorage = storage[provider] || (storage[provider] = /* @__PURE__ */ Object.create(null));\n const localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n let list;\n if (name in localStorage.icons) {\n list = result.loaded;\n } else if (prefix === \"\" || localStorage.missing.has(name)) {\n list = result.missing;\n } else {\n list = result.pending;\n }\n const item = {\n provider,\n prefix,\n name\n };\n list.push(item);\n });\n return result;\n}\n\nfunction removeCallback(storages, id) {\n storages.forEach((storage) => {\n const items = storage.loaderCallbacks;\n if (items) {\n storage.loaderCallbacks = items.filter((row) => row.id !== id);\n }\n });\n}\nfunction updateCallbacks(storage) {\n if (!storage.pendingCallbacksFlag) {\n storage.pendingCallbacksFlag = true;\n setTimeout(() => {\n storage.pendingCallbacksFlag = false;\n const items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n if (!items.length) {\n return;\n }\n let hasPending = false;\n const provider = storage.provider;\n const prefix = storage.prefix;\n items.forEach((item) => {\n const icons = item.icons;\n const oldLength = icons.pending.length;\n icons.pending = icons.pending.filter((icon) => {\n if (icon.prefix !== prefix) {\n return true;\n }\n const name = icon.name;\n if (storage.icons[name]) {\n icons.loaded.push({\n provider,\n prefix,\n name\n });\n } else if (storage.missing.has(name)) {\n icons.missing.push({\n provider,\n prefix,\n name\n });\n } else {\n hasPending = true;\n return true;\n }\n return false;\n });\n if (icons.pending.length !== oldLength) {\n if (!hasPending) {\n removeCallback([storage], item.id);\n }\n item.callback(\n icons.loaded.slice(0),\n icons.missing.slice(0),\n icons.pending.slice(0),\n item.abort\n );\n }\n });\n });\n }\n}\nlet idCounter = 0;\nfunction storeCallback(callback, icons, pendingSources) {\n const id = idCounter++;\n const abort = removeCallback.bind(null, pendingSources, id);\n if (!icons.pending.length) {\n return abort;\n }\n const item = {\n id,\n icons,\n callback,\n abort\n };\n pendingSources.forEach((storage) => {\n (storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n });\n return abort;\n}\n\nfunction listToIcons(list, validate = true, simpleNames = false) {\n const result = [];\n list.forEach((item) => {\n const icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n if (icon) {\n result.push(icon);\n }\n });\n return result;\n}\n\n// src/config.ts\nvar defaultConfig = {\n resources: [],\n index: 0,\n timeout: 2e3,\n rotate: 750,\n random: false,\n dataAfterTimeout: false\n};\n\n// src/query.ts\nfunction sendQuery(config, payload, query, done) {\n const resourcesCount = config.resources.length;\n const startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n let resources;\n if (config.random) {\n let list = config.resources.slice(0);\n resources = [];\n while (list.length > 1) {\n const nextIndex = Math.floor(Math.random() * list.length);\n resources.push(list[nextIndex]);\n list = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n }\n resources = resources.concat(list);\n } else {\n resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n }\n const startTime = Date.now();\n let status = \"pending\";\n let queriesSent = 0;\n let lastError;\n let timer = null;\n let queue = [];\n let doneCallbacks = [];\n if (typeof done === \"function\") {\n doneCallbacks.push(done);\n }\n function resetTimer() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function abort() {\n if (status === \"pending\") {\n status = \"aborted\";\n }\n resetTimer();\n queue.forEach((item) => {\n if (item.status === \"pending\") {\n item.status = \"aborted\";\n }\n });\n queue = [];\n }\n function subscribe(callback, overwrite) {\n if (overwrite) {\n doneCallbacks = [];\n }\n if (typeof callback === \"function\") {\n doneCallbacks.push(callback);\n }\n }\n function getQueryStatus() {\n return {\n startTime,\n payload,\n status,\n queriesSent,\n queriesPending: queue.length,\n subscribe,\n abort\n };\n }\n function failQuery() {\n status = \"failed\";\n doneCallbacks.forEach((callback) => {\n callback(void 0, lastError);\n });\n }\n function clearQueue() {\n queue.forEach((item) => {\n if (item.status === \"pending\") {\n item.status = \"aborted\";\n }\n });\n queue = [];\n }\n function moduleResponse(item, response, data) {\n const isError = response !== \"success\";\n queue = queue.filter((queued) => queued !== item);\n switch (status) {\n case \"pending\":\n break;\n case \"failed\":\n if (isError || !config.dataAfterTimeout) {\n return;\n }\n break;\n default:\n return;\n }\n if (response === \"abort\") {\n lastError = data;\n failQuery();\n return;\n }\n if (isError) {\n lastError = data;\n if (!queue.length) {\n if (!resources.length) {\n failQuery();\n } else {\n execNext();\n }\n }\n return;\n }\n resetTimer();\n clearQueue();\n if (!config.random) {\n const index = config.resources.indexOf(item.resource);\n if (index !== -1 && index !== config.index) {\n config.index = index;\n }\n }\n status = \"completed\";\n doneCallbacks.forEach((callback) => {\n callback(data);\n });\n }\n function execNext() {\n if (status !== \"pending\") {\n return;\n }\n resetTimer();\n const resource = resources.shift();\n if (resource === void 0) {\n if (queue.length) {\n timer = setTimeout(() => {\n resetTimer();\n if (status === \"pending\") {\n clearQueue();\n failQuery();\n }\n }, config.timeout);\n return;\n }\n failQuery();\n return;\n }\n const item = {\n status: \"pending\",\n resource,\n callback: (status2, data) => {\n moduleResponse(item, status2, data);\n }\n };\n queue.push(item);\n queriesSent++;\n timer = setTimeout(execNext, config.rotate);\n query(resource, payload, item.callback);\n }\n setTimeout(execNext);\n return getQueryStatus;\n}\n\n// src/index.ts\nfunction initRedundancy(cfg) {\n const config = {\n ...defaultConfig,\n ...cfg\n };\n let queries = [];\n function cleanup() {\n queries = queries.filter((item) => item().status === \"pending\");\n }\n function query(payload, queryCallback, doneCallback) {\n const query2 = sendQuery(\n config,\n payload,\n queryCallback,\n (data, error) => {\n cleanup();\n if (doneCallback) {\n doneCallback(data, error);\n }\n }\n );\n queries.push(query2);\n return query2;\n }\n function find(callback) {\n return queries.find((value) => {\n return callback(value);\n }) || null;\n }\n const instance = {\n query,\n find,\n setIndex: (index) => {\n config.index = index;\n },\n getIndex: () => config.index,\n cleanup\n };\n return instance;\n}\n\nfunction emptyCallback$1() {\n}\nconst redundancyCache = /* @__PURE__ */ Object.create(null);\nfunction getRedundancyCache(provider) {\n if (!redundancyCache[provider]) {\n const config = getAPIConfig(provider);\n if (!config) {\n return;\n }\n const redundancy = initRedundancy(config);\n const cachedReundancy = {\n config,\n redundancy\n };\n redundancyCache[provider] = cachedReundancy;\n }\n return redundancyCache[provider];\n}\nfunction sendAPIQuery(target, query, callback) {\n let redundancy;\n let send;\n if (typeof target === \"string\") {\n const api = getAPIModule(target);\n if (!api) {\n callback(void 0, 424);\n return emptyCallback$1;\n }\n send = api.send;\n const cached = getRedundancyCache(target);\n if (cached) {\n redundancy = cached.redundancy;\n }\n } else {\n const config = createAPIConfig(target);\n if (config) {\n redundancy = initRedundancy(config);\n const moduleKey = target.resources ? target.resources[0] : \"\";\n const api = getAPIModule(moduleKey);\n if (api) {\n send = api.send;\n }\n }\n }\n if (!redundancy || !send) {\n callback(void 0, 424);\n return emptyCallback$1;\n }\n return redundancy.query(query, send, callback)().abort;\n}\n\nconst browserCacheVersion = \"iconify2\";\nconst browserCachePrefix = \"iconify\";\nconst browserCacheCountKey = browserCachePrefix + \"-count\";\nconst browserCacheVersionKey = browserCachePrefix + \"-version\";\nconst browserStorageHour = 36e5;\nconst browserStorageCacheExpiration = 168;\nconst browserStorageLimit = 50;\n\nfunction getStoredItem(func, key) {\n try {\n return func.getItem(key);\n } catch (err) {\n }\n}\nfunction setStoredItem(func, key, value) {\n try {\n func.setItem(key, value);\n return true;\n } catch (err) {\n }\n}\nfunction removeStoredItem(func, key) {\n try {\n func.removeItem(key);\n } catch (err) {\n }\n}\n\nfunction setBrowserStorageItemsCount(storage, value) {\n return setStoredItem(storage, browserCacheCountKey, value.toString());\n}\nfunction getBrowserStorageItemsCount(storage) {\n return parseInt(getStoredItem(storage, browserCacheCountKey)) || 0;\n}\n\nconst browserStorageConfig = {\n local: true,\n session: true\n};\nconst browserStorageEmptyItems = {\n local: /* @__PURE__ */ new Set(),\n session: /* @__PURE__ */ new Set()\n};\nlet browserStorageStatus = false;\nfunction setBrowserStorageStatus(status) {\n browserStorageStatus = status;\n}\n\nlet _window = typeof window === \"undefined\" ? {} : window;\nfunction getBrowserStorage(key) {\n const attr = key + \"Storage\";\n try {\n if (_window && _window[attr] && typeof _window[attr].length === \"number\") {\n return _window[attr];\n }\n } catch (err) {\n }\n browserStorageConfig[key] = false;\n}\n\nfunction iterateBrowserStorage(key, callback) {\n const func = getBrowserStorage(key);\n if (!func) {\n return;\n }\n const version = getStoredItem(func, browserCacheVersionKey);\n if (version !== browserCacheVersion) {\n if (version) {\n const total2 = getBrowserStorageItemsCount(func);\n for (let i = 0; i < total2; i++) {\n removeStoredItem(func, browserCachePrefix + i.toString());\n }\n }\n setStoredItem(func, browserCacheVersionKey, browserCacheVersion);\n setBrowserStorageItemsCount(func, 0);\n return;\n }\n const minTime = Math.floor(Date.now() / browserStorageHour) - browserStorageCacheExpiration;\n const parseItem = (index) => {\n const name = browserCachePrefix + index.toString();\n const item = getStoredItem(func, name);\n if (typeof item !== \"string\") {\n return;\n }\n try {\n const data = JSON.parse(item);\n if (typeof data === \"object\" && typeof data.cached === \"number\" && data.cached > minTime && typeof data.provider === \"string\" && typeof data.data === \"object\" && typeof data.data.prefix === \"string\" && // Valid item: run callback\n callback(data, index)) {\n return true;\n }\n } catch (err) {\n }\n removeStoredItem(func, name);\n };\n let total = getBrowserStorageItemsCount(func);\n for (let i = total - 1; i >= 0; i--) {\n if (!parseItem(i)) {\n if (i === total - 1) {\n total--;\n setBrowserStorageItemsCount(func, total);\n } else {\n browserStorageEmptyItems[key].add(i);\n }\n }\n }\n}\n\nfunction initBrowserStorage() {\n if (browserStorageStatus) {\n return;\n }\n setBrowserStorageStatus(true);\n for (const key in browserStorageConfig) {\n iterateBrowserStorage(key, (item) => {\n const iconSet = item.data;\n const provider = item.provider;\n const prefix = iconSet.prefix;\n const storage = getStorage(\n provider,\n prefix\n );\n if (!addIconSet(storage, iconSet).length) {\n return false;\n }\n const lastModified = iconSet.lastModified || -1;\n storage.lastModifiedCached = storage.lastModifiedCached ? Math.min(storage.lastModifiedCached, lastModified) : lastModified;\n return true;\n });\n }\n}\n\nfunction updateLastModified(storage, lastModified) {\n const lastValue = storage.lastModifiedCached;\n if (\n // Matches or newer\n lastValue && lastValue >= lastModified\n ) {\n return lastValue === lastModified;\n }\n storage.lastModifiedCached = lastModified;\n if (lastValue) {\n for (const key in browserStorageConfig) {\n iterateBrowserStorage(key, (item) => {\n const iconSet = item.data;\n return item.provider !== storage.provider || iconSet.prefix !== storage.prefix || iconSet.lastModified === lastModified;\n });\n }\n }\n return true;\n}\nfunction storeInBrowserStorage(storage, data) {\n if (!browserStorageStatus) {\n initBrowserStorage();\n }\n function store(key) {\n let func;\n if (!browserStorageConfig[key] || !(func = getBrowserStorage(key))) {\n return;\n }\n const set = browserStorageEmptyItems[key];\n let index;\n if (set.size) {\n set.delete(index = Array.from(set).shift());\n } else {\n index = getBrowserStorageItemsCount(func);\n if (index >= browserStorageLimit || !setBrowserStorageItemsCount(func, index + 1)) {\n return;\n }\n }\n const item = {\n cached: Math.floor(Date.now() / browserStorageHour),\n provider: storage.provider,\n data\n };\n return setStoredItem(\n func,\n browserCachePrefix + index.toString(),\n JSON.stringify(item)\n );\n }\n if (data.lastModified && !updateLastModified(storage, data.lastModified)) {\n return;\n }\n if (!Object.keys(data.icons).length) {\n return;\n }\n if (data.not_found) {\n data = Object.assign({}, data);\n delete data.not_found;\n }\n if (!store(\"local\")) {\n store(\"session\");\n }\n}\n\nfunction emptyCallback() {\n}\nfunction loadedNewIcons(storage) {\n if (!storage.iconsLoaderFlag) {\n storage.iconsLoaderFlag = true;\n setTimeout(() => {\n storage.iconsLoaderFlag = false;\n updateCallbacks(storage);\n });\n }\n}\nfunction loadNewIcons(storage, icons) {\n if (!storage.iconsToLoad) {\n storage.iconsToLoad = icons;\n } else {\n storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n }\n if (!storage.iconsQueueFlag) {\n storage.iconsQueueFlag = true;\n setTimeout(() => {\n storage.iconsQueueFlag = false;\n const { provider, prefix } = storage;\n const icons2 = storage.iconsToLoad;\n delete storage.iconsToLoad;\n let api;\n if (!icons2 || !(api = getAPIModule(provider))) {\n return;\n }\n const params = api.prepare(provider, prefix, icons2);\n params.forEach((item) => {\n sendAPIQuery(provider, item, (data) => {\n if (typeof data !== \"object\") {\n item.icons.forEach((name) => {\n storage.missing.add(name);\n });\n } else {\n try {\n const parsed = addIconSet(\n storage,\n data\n );\n if (!parsed.length) {\n return;\n }\n const pending = storage.pendingIcons;\n if (pending) {\n parsed.forEach((name) => {\n pending.delete(name);\n });\n }\n storeInBrowserStorage(storage, data);\n } catch (err) {\n console.error(err);\n }\n }\n loadedNewIcons(storage);\n });\n });\n });\n }\n}\nconst loadIcons = (icons, callback) => {\n const cleanedIcons = listToIcons(icons, true, allowSimpleNames());\n const sortedIcons = sortIcons(cleanedIcons);\n if (!sortedIcons.pending.length) {\n let callCallback = true;\n if (callback) {\n setTimeout(() => {\n if (callCallback) {\n callback(\n sortedIcons.loaded,\n sortedIcons.missing,\n sortedIcons.pending,\n emptyCallback\n );\n }\n });\n }\n return () => {\n callCallback = false;\n };\n }\n const newIcons = /* @__PURE__ */ Object.create(null);\n const sources = [];\n let lastProvider, lastPrefix;\n sortedIcons.pending.forEach((icon) => {\n const { provider, prefix } = icon;\n if (prefix === lastPrefix && provider === lastProvider) {\n return;\n }\n lastProvider = provider;\n lastPrefix = prefix;\n sources.push(getStorage(provider, prefix));\n const providerNewIcons = newIcons[provider] || (newIcons[provider] = /* @__PURE__ */ Object.create(null));\n if (!providerNewIcons[prefix]) {\n providerNewIcons[prefix] = [];\n }\n });\n sortedIcons.pending.forEach((icon) => {\n const { provider, prefix, name } = icon;\n const storage = getStorage(provider, prefix);\n const pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n if (!pendingQueue.has(name)) {\n pendingQueue.add(name);\n newIcons[provider][prefix].push(name);\n }\n });\n sources.forEach((storage) => {\n const { provider, prefix } = storage;\n if (newIcons[provider][prefix].length) {\n loadNewIcons(storage, newIcons[provider][prefix]);\n }\n });\n return callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\nconst loadIcon = (icon) => {\n return new Promise((fulfill, reject) => {\n const iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n if (!iconObj) {\n reject(icon);\n return;\n }\n loadIcons([iconObj || icon], (loaded) => {\n if (loaded.length && iconObj) {\n const data = getIconData(iconObj);\n if (data) {\n fulfill({\n ...defaultIconProps,\n ...data\n });\n return;\n }\n }\n reject(icon);\n });\n });\n};\n\nfunction toggleBrowserCache(storage, value) {\n switch (storage) {\n case \"local\":\n case \"session\":\n browserStorageConfig[storage] = value;\n break;\n case \"all\":\n for (const key in browserStorageConfig) {\n browserStorageConfig[key] = value;\n }\n break;\n }\n}\n\nfunction mergeCustomisations(defaults, item) {\n const result = {\n ...defaults\n };\n for (const key in item) {\n const value = item[key];\n const valueType = typeof value;\n if (key in defaultIconSizeCustomisations) {\n if (value === null || value && (valueType === \"string\" || valueType === \"number\")) {\n result[key] = value;\n }\n } else if (valueType === typeof result[key]) {\n result[key] = key === \"rotate\" ? value % 4 : value;\n }\n }\n return result;\n}\n\nconst separator = /[\\s,]+/;\nfunction flipFromString(custom, flip) {\n flip.split(separator).forEach((str) => {\n const value = str.trim();\n switch (value) {\n case \"horizontal\":\n custom.hFlip = true;\n break;\n case \"vertical\":\n custom.vFlip = true;\n break;\n }\n });\n}\n\nfunction rotateFromString(value, defaultValue = 0) {\n const units = value.replace(/^-?[0-9.]*/, \"\");\n function cleanup(value2) {\n while (value2 < 0) {\n value2 += 4;\n }\n return value2 % 4;\n }\n if (units === \"\") {\n const num = parseInt(value);\n return isNaN(num) ? 0 : cleanup(num);\n } else if (units !== value) {\n let split = 0;\n switch (units) {\n case \"%\":\n split = 25;\n break;\n case \"deg\":\n split = 90;\n }\n if (split) {\n let num = parseFloat(value.slice(0, value.length - units.length));\n if (isNaN(num)) {\n return 0;\n }\n num = num / split;\n return num % 1 === 0 ? cleanup(num) : 0;\n }\n }\n return defaultValue;\n}\n\nfunction iconToHTML(body, attributes) {\n let renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : ' xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n for (const attr in attributes) {\n renderAttribsHTML += \" \" + attr + '=\"' + attributes[attr] + '\"';\n }\n return '\" + body + \"\";\n}\n\nfunction encodeSVGforURL(svg) {\n return svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(//g, \"%3E\").replace(/\\s+/g, \" \");\n}\nfunction svgToData(svg) {\n return \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\nfunction svgToURL(svg) {\n return 'url(\"' + svgToData(svg) + '\")';\n}\n\nconst defaultExtendedIconCustomisations = {\n ...defaultIconCustomisations,\n inline: false,\n};\n\n/**\n * Default SVG attributes\n */\nconst svgDefaults = {\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\n 'aria-hidden': true,\n 'role': 'img',\n};\n/**\n * Style modes\n */\nconst commonProps = {\n display: 'inline-block',\n};\nconst monotoneProps = {\n 'background-color': 'currentColor',\n};\nconst coloredProps = {\n 'background-color': 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n image: 'var(--svg)',\n repeat: 'no-repeat',\n size: '100% 100%',\n};\nconst propsToAddTo = {\n '-webkit-mask': monotoneProps,\n 'mask': monotoneProps,\n 'background': coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n const list = propsToAddTo[prefix];\n for (const prop in propsToAdd) {\n list[prefix + '-' + prop] = propsToAdd[prop];\n }\n}\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n return value + (value.match(/^[-0-9.]+$/) ? 'px' : '');\n}\n/**\n * Generate icon from properties\n */\nfunction render(\n// Icon must be validated before calling this function\nicon, \n// Properties\nprops) {\n const customisations = mergeCustomisations(defaultExtendedIconCustomisations, props);\n // Check mode\n const mode = props.mode || 'svg';\n const componentProps = (mode === 'svg' ? { ...svgDefaults } : {});\n if (icon.body.indexOf('xlink:') === -1) {\n delete componentProps['xmlns:xlink'];\n }\n // Create style if missing\n let style = typeof props.style === 'string' ? props.style : '';\n // Get element properties\n for (let key in props) {\n const value = props[key];\n if (value === void 0) {\n continue;\n }\n switch (key) {\n // Properties to ignore\n case 'icon':\n case 'style':\n case 'onLoad':\n case 'mode':\n break;\n // Boolean attributes\n case 'inline':\n case 'hFlip':\n case 'vFlip':\n customisations[key] =\n value === true || value === 'true' || value === 1;\n break;\n // Flip as string: 'horizontal,vertical'\n case 'flip':\n if (typeof value === 'string') {\n flipFromString(customisations, value);\n }\n break;\n // Color: copy to style, add extra ';' in case style is missing it\n case 'color':\n style =\n style +\n (style.length > 0 && style.trim().slice(-1) !== ';'\n ? ';'\n : '') +\n 'color: ' +\n value +\n '; ';\n break;\n // Rotation as string\n case 'rotate':\n if (typeof value === 'string') {\n customisations[key] = rotateFromString(value);\n }\n else if (typeof value === 'number') {\n customisations[key] = value;\n }\n break;\n // Remove aria-hidden\n case 'ariaHidden':\n case 'aria-hidden':\n if (value !== true && value !== 'true') {\n delete componentProps['aria-hidden'];\n }\n break;\n default:\n if (key.slice(0, 3) === 'on:') {\n // Svelte event\n break;\n }\n // Copy missing property if it does not exist in customisations\n if (defaultExtendedIconCustomisations[key] === void 0) {\n componentProps[key] = value;\n }\n }\n }\n // Generate icon\n const item = iconToSVG(icon, customisations);\n const renderAttribs = item.attributes;\n // Inline display\n if (customisations.inline) {\n // Style overrides it\n style = 'vertical-align: -0.125em; ' + style;\n }\n if (mode === 'svg') {\n // Add icon stuff\n Object.assign(componentProps, renderAttribs);\n // Style\n if (style !== '') {\n componentProps.style = style;\n }\n // Counter for ids based on \"id\" property to render icons consistently on server and client\n let localCounter = 0;\n let id = props.id;\n if (typeof id === 'string') {\n // Convert '-' to '_' to avoid errors in animations\n id = id.replace(/-/g, '_');\n }\n // Generate HTML\n return {\n svg: true,\n attributes: componentProps,\n body: replaceIDs(item.body, id ? () => id + 'ID' + localCounter++ : 'iconifySvelte'),\n };\n }\n // Render with style\n const { body, width, height } = icon;\n const useMask = mode === 'mask' ||\n (mode === 'bg' ? false : body.indexOf('currentColor') !== -1);\n // Generate SVG\n const html = iconToHTML(body, {\n ...renderAttribs,\n width: width + '',\n height: height + '',\n });\n // Generate style\n const url = svgToURL(html);\n const styles = {\n '--svg': url,\n };\n const size = (prop) => {\n const value = renderAttribs[prop];\n if (value) {\n styles[prop] = fixSize(value);\n }\n };\n size('width');\n size('height');\n Object.assign(styles, commonProps, useMask ? monotoneProps : coloredProps);\n let customStyle = '';\n for (const key in styles) {\n customStyle += key + ': ' + styles[key] + ';';\n }\n componentProps.style = customStyle + style;\n return {\n svg: false,\n attributes: componentProps,\n };\n}\n\n/**\n * Enable cache\n */\nfunction enableCache(storage) {\n toggleBrowserCache(storage, true);\n}\n/**\n * Disable cache\n */\nfunction disableCache(storage) {\n toggleBrowserCache(storage, false);\n}\n/**\n * Initialise stuff\n */\n// Enable short names\nallowSimpleNames(true);\n// Set API module\nsetAPIModule('', fetchAPIModule);\n/**\n * Browser stuff\n */\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n // Set cache and load existing cache\n initBrowserStorage();\n const _window = window;\n // Load icons from global \"IconifyPreload\"\n if (_window.IconifyPreload !== void 0) {\n const preload = _window.IconifyPreload;\n const err = 'Invalid IconifyPreload syntax.';\n if (typeof preload === 'object' && preload !== null) {\n (preload instanceof Array ? preload : [preload]).forEach((item) => {\n try {\n if (\n // Check if item is an object and not null/array\n typeof item !== 'object' ||\n item === null ||\n item instanceof Array ||\n // Check for 'icons' and 'prefix'\n typeof item.icons !== 'object' ||\n typeof item.prefix !== 'string' ||\n // Add icon set\n !addCollection(item)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n });\n }\n }\n // Set API from global \"IconifyProviders\"\n if (_window.IconifyProviders !== void 0) {\n const providers = _window.IconifyProviders;\n if (typeof providers === 'object' && providers !== null) {\n for (let key in providers) {\n const err = 'IconifyProviders[' + key + '] is invalid.';\n try {\n const value = providers[key];\n if (typeof value !== 'object' ||\n !value ||\n value.resources === void 0) {\n continue;\n }\n if (!addAPIProvider(key, value)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n }\n }\n }\n}\n/**\n * Check if component needs to be updated\n */\nfunction checkIconState(icon, state, mounted, callback, onload) {\n // Abort loading icon\n function abortLoading() {\n if (state.loading) {\n state.loading.abort();\n state.loading = null;\n }\n }\n // Icon is an object\n if (typeof icon === 'object' &&\n icon !== null &&\n typeof icon.body === 'string') {\n // Stop loading\n state.name = '';\n abortLoading();\n return { data: { ...defaultIconProps, ...icon } };\n }\n // Invalid icon?\n let iconName;\n if (typeof icon !== 'string' ||\n (iconName = stringToIcon(icon, false, true)) === null) {\n abortLoading();\n return null;\n }\n // Load icon\n const data = getIconData(iconName);\n if (!data) {\n // Icon data is not available\n // Do not load icon until component is mounted\n if (mounted && (!state.loading || state.loading.name !== icon)) {\n // New icon to load\n abortLoading();\n state.name = '';\n state.loading = {\n name: icon,\n abort: loadIcons([iconName], callback),\n };\n }\n return null;\n }\n // Icon data is available\n abortLoading();\n if (state.name !== icon) {\n state.name = icon;\n if (onload && !state.destroyed) {\n onload(icon);\n }\n }\n // Add classes\n const classes = ['iconify'];\n if (iconName.prefix !== '') {\n classes.push('iconify--' + iconName.prefix);\n }\n if (iconName.provider !== '') {\n classes.push('iconify--' + iconName.provider);\n }\n return { data, classes };\n}\n/**\n * Generate icon\n */\nfunction generateIcon(icon, props) {\n return icon\n ? render({\n ...defaultIconProps,\n ...icon,\n }, props)\n : null;\n}\n/**\n * Internal API\n */\nconst _api = {\n getAPIConfig,\n setAPIModule,\n sendAPIQuery,\n setFetch,\n getFetch,\n listAPIProviders,\n};\n\nexport { _api, addAPIProvider, addCollection, addIcon, iconToSVG as buildIcon, calculateSize, checkIconState, disableCache, enableCache, generateIcon, getIcon, iconLoaded as iconExists, iconLoaded, listIcons, loadIcon, loadIcons, replaceIDs };\n","\n\n\n{#if data}\n\t{#if data.svg}\n\t\t\n\t\t\t{@html data.body}\n\t\t\n\t{:else}\n\t\t\n\t{/if}\n{/if}","\n\n
\n
\n

{smallText}

\n

{bigText}.

\n
\n
\n\n description\n\n
\n
\n \n \n\n ","\n\n
\n
\n\n description\n\n
\n
\n

{smallText}

\n

{bigText}

\n
\n\n
\n \n \n","\n\n
\n\n
\n\n \n\n
\n\n
\n

{text}

\n

{detail_text}

\n
\n\n
\n \n \n","\n\n
\n\n
\n\n \"math\"\n\n
\n\n
\n

{text}

\n
    \n {#each items as item}\n
  • {item}
  • \n {/each}\n
\n
\n\n
\n \n \n","\n\n
\n \"picture\n
\n

{h1}

\n

Would you like instant help grading your homework

\n
\n\n
\n

1

\n
\n

You upload your handwriting work

\n
\n
\n
\n \"step\"\n\n
\n
\n
\n
\n
\n\n
\n \"step\"\n\n
\n
\n

2

\n\n
\n

You receive the mistakes you've made.

\n
\n
\n\n
\n
\n
\n
\n\n
\n

3

\n
\n

You correct your work.

\n
\n
\n\n
\n \"step\"\n
\n
\n
\n
\n\n","\n\n \n
\n \"teacher\"\n
\n

Teacher

\n

Would you like help grading your student's assignments?

\n
\n\n
\n

1

\n\n
\n

You upload a rubric.

\n
\n\n
\n
\n \"step\"\n\n
\n
\n\n\n
\n\n
\n \"step\"\n
\n
\n

2

\n\n
\n

Your rubric is checked.

\n
\n\n
\n
\n\n
\n\n
\n

3

\n\n
\n

Your students upload their solution.

\n
\n
\n
\n \"step\"\n\n
\n
\n\n\n
\n\n
\n \"step\"\n
\n
\n

4

\n\n
\n

Student's problem is graded.

\n
\n\n
\n\n
\n\n
\n\n
\n

5

\n\n
\n

After assignment is due student receives corrections.

\n
\n\n
\n
\n \"step\"\n\n
\n
\n\n\n
\n\n
\n \"step\"\n\n
\n
\n

6

\n
\n

Your grades are handled for you.

\n
\n\n
\n\n
\n
\n
\n \n \n\n\n","\n\n\n\n
\n","\n\n
\n\n
\n\n \"math\"\n\n
\n\n
\n

{title}

\n {#if price}\n

{price}

\n {/if}\n
    \n {#each items as item}\n
  • {item}
  • \n {/each}\n
\n {#if followup_link}\n \n \n \n {:else}\n \n \n \n\n {/if}\n
\n\n
\n\n\n","\n\n\n\n\n
\n
\n

Get instant feedback on your most challenging problems

\n

We evaluate and grade math from handwriting.

\n \n \n \n
\n
\n \n \"Unlocking\n
\n
\n\n
\n\n
\n \n\n
\n\n
\n \n \n\n
\n\n
\n \n \n\n\n
\n\n \n\n
\n\n
\n\n

How it works

\n\n
\n\n\n
\n\n
\n \n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n\n

What do we do?

\n \n
\n\n
\n \n \n\n
\n\n
\n\n

For a more detailed preview,
\n please tell us about yourself:

\n
\n\n
\n\n
selected_demo = 'student'}>\n \"teacher\"\n
\n

I'm a Student

\n
\n
\n
selected_demo = 'teacher'}>\n \"teacher\"\n
\n

I'm a Teacher

\n
\n
\n\n
\n
\n{#if selected_demo === 'student'}\n
\n \n
\n{:else if selected_demo === 'teacher'}\n
\n \n
\n{/if}\n \n\n
\n{#if selected_demo }\n
\n\n

Plan

\n \n
\n\n
\n\n{#if selected_demo === 'student'}\n\n \n{:else if selected_demo === 'teacher'}\n display_schedule=!display_schedule}\n items={[\"Algebra\",'Trigonometry', 'Derivatives', 'Integration', 'Substitution', 'By Parts']}\n\n />\n {#if display_schedule}\n \n\n \n {/if}\n{/if}\n\n
\n\n\n\n\n
\n
\n

\n Are you ready to revolutionize your learning experience ? \n

\n

Join us now to transform your math journey!

\n \n
\n
\n \"cta\"\n
\n
\n \n{:else}\n
\n\n
\n{/if}\n\n\n\n\n\n\n\n\n\n\n"],"names":["ctx","create_if_block","element","AtomicEquation","storage","simpleNames","instance","send","_window","create_if_block_1","counter","text","fade_in_on_scroll"],"mappings":"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","x_google_ignoreList":[7,8]}