يتم إعطاؤك مقتطف رمز يحدد دالة `boundaries_` وقائمة `coord_pairs`. تأخذ الدالة `boundaries_` قائمة من أزواج الإحداثيات كمدخلات وترجع قائمة من المجموعات، حيث يحتوي كل صف على تسمية وإحداثيات x وy المقابلة لتلك التسمية.

مهمتك هي إكمال الدالة `boundaries_` لإرجاع الإخراج المطلوب.

توقيع الوظيفة: `def border_(coord_pairs: List[Tuple[str, List[Tuple[float, float]]]]) -> List[Tuple[str, Tuple[List[float], List[float]]]]`

مدخل:
- `coord_pairs`: قائمة من الصف، حيث يحتوي كل صف على تسمية كسلسلة وقائمة من الإحداثيات العائمة. يمكن أن تحتوي القائمة على ما يصل إلى 10^5 صفوف. يمكن أن يختلف طول قائمة الإحداثيات لكل تسمية.

انتاج:
- قائمة من الصف، حيث يحتوي كل صف على تسمية كسلسلة وقائمتين، تحتوي كل منهما على إحداثيات x و y لتلك التسمية على التوالي.

مثال:
```
coord_pairs = [('A', [(1.0, 2.0), (3.0, 4.0)]), ('B', [(5.0, 6.0), (7.0, 8.0)])]
border_(coord_pairs) -> [('A', ([1.0, 3.0], [2.0, 4.0]))), ('B', ([5.0, 7.0], [6.0, 8.0]))]
```

ملحوظة:
في المثال الموضح، تتكون قائمة `coord_pairs` من صفين: ('A', [(1.0, 2.0), (3.0, 4.0)]) و('B', [(5.0, 6.0), (7.0, 8.0)]). يجب أن تعرض الدالة `boundaries_` قائمة من الصف، حيث يحتوي كل صف على تسمية وإحداثيات x وy المقابلة لتلك التسمية.

في هذه الحالة، سيكون الإخراج [('A', ([1.0, 3.0], [2.0, 4.0]))), ('B', ([5.0, 7.0], [6.0, 8.0]))]. الصف الأول ('A'، ([1.0، 3.0]، [2.0، 4.0])) يمثل التسمية 'A' والإحداثيات x [1.0، 3.0] وإحداثيات y [2.0، 4.0]. الصف الثاني ('B'، ([5.0، 7.0]، [6.0، 8.0])) يمثل التسمية 'B' والإحداثيات x [5.0، 7.0] وإحداثيات y [6.0، 8.0].
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}