<prompt> Unda programu ya C inayotumia kihariri cha msingi cha maandishi chenye utendakazi wa kutenduarudia, uangaziaji wa sintaksia kwa lugha za kawaida za upangaji, na uwezo wa kuhifadhi na kupakia faili. Tumia maktaba ya ncurses kwa UI ya msingi.PLINFORMAT  <response>: pamoja na pamoja na pamoja na pamoja na pamoja na Uangaziaji wa sintaksia kwa lugha za kawaida za upangaji.const std::string maneno kama, vingine, wakati, kwa, int, float, mara mbili, char, bool, kurudi;utupu draw_windowWINDOW win, const std::vector lines werasekushinda; int y, x; getyxkushinda, y, x; kwa size_t i 0; i lines.size; i wmovekushinda, i, 0; std::istringstream issmistarii; std::neno la mfuatano; wakati ni neno bool is_keyword uongo; kwa const auto kw : maneno muhimu ikiwa neno kw is_keyword kweli; mapumziko; ikiwa ni_neno kuu watronwin, A_BOLD COLOR_PAIR1; wprintwshinda, s , word.c_str; wattroffshinda, A_BOLD COLOR_PAIR1; wmovekushinda, y, x; furahisha kushinda;std::vector load_fileconst std::string filename std::ifstream faili jina la faili; std::vector mistari; std:: mstari wa kamba; wakati std::getlinefaili, mstari mistari.push_backmstari; mistari ya kurudi;void save_fileconst std::string filename, const std::vector lines std::ofstream faili jina la faili; kwa const auto line : lines faili mstari n; int main intscr; mbichi ; keypadstdscr, TRUE; noecho ; ikiwa ina_colors start_color; init_pair1, COLOR_BLUE, COLOR_BLACK; int y 0; int x 0; std::vector lines load_fileexample.txt; draw_window stdscr, mistari; wakati kweli sogeza y, x; furahisha ; int ch getch; kubadili ch kesi KEY_UP: ikiwa y 0 --y; mapumziko; kesi KEY_DOWN: ikiwa y intlines.size - 1 y; mapumziko; kipochi KEY_LEFT: ikiwa x 0 --x; vinginevyo ikiwa y 0 --y; x mistariy.saizi; mapumziko; kesi KEY_RIGHT: ikiwa x intlinesy.size x; vinginevyo ikiwa y intlines.size - 1 y; x 0; mapumziko; kesi KEY_BACKSPACE: ikiwa x 0 y 0 x mistariy - 1.ukubwa; mistariy - 1 mistariy; lines.futalines.begin y; --y; vinginevyo ikiwa x 0 mistariy.futax - 1, 1; --x; mapumziko; kesi n: lines.insertlines.begin y 1, mistariy.substrx; mistariy mistariy.substr0, x; y; x 0; mapumziko; kesi KEY_F2: save_fileexample.txt, mistari; mapumziko; chaguo-msingi: ikiwa ch ch mistariy.ingizax, 1, ch; x; draw_window stdscr, mistari; endwin ; kurudi 0; 