يتم منحك فئة تسمى `GedcomCodeName`، والتي تحتوي على وظائف ومنطق لمعالجة رموز GEDCOM "NAME". GEDCOM (اتصالات بيانات الأنساب) هو تنسيق ملف قياسي يستخدم في أبحاث علم الأنساب لتخزين وتبادل بيانات الأنساب.

مهمتك هي تنفيذ ثلاث وظائف في فئة `GedcomCodeName`:

1.`extractGivenName(surname, fullname)`: تأخذ هذه الوظيفة معلمتين - `surname` (سلسلة) و``fullname`` (سلسلة). تمثل المعلمة `الاسم الأخير' اسم العائلة/الاسم الأخير، وتمثل المعلمة `الاسم الكامل` الاسم الكامل بالتنسيق "الاسم/الاسم العائلي". يجب أن تقوم الدالة بإرجاع الاسم المحدد من المعلمة "الاسم الكامل".

2. `formatSurname(surname)`: تأخذ هذه الوظيفة معلمة `اللقب` (سلسلة) وتقوم بتنسيقها وفقًا لقواعد GEDCOM. رموز GEDCOM "SURN" (اللقب) تقيد تنسيق اللقب بالأحرف الكبيرة فقط. يجب أن تقوم الدالة بإرجاع اللقب المنسق.

3. `capitalizeFullName(fullname)`: تأخذ هذه الوظيفة معلمة `الاسم الكامل` (سلسلة) وتكتب الحرف الأول من كل كلمة في الاسم بأحرف كبيرة. يجب أن تقوم الدالة بإرجاع الاسم الكامل الكبير.

تحتاج إلى تنفيذ الوظائف المذكورة أعلاه في فئة `GedcomCodeName`.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}