يتم إعطاؤك مقتطف رمز يحتوي على وظيفة `base_url`. تقوم الدالة بإرجاع سلسلة `"hm://metadata/3/track"`.

تتمثل مهمتك في إنشاء وظيفة جديدة `add_query_param` تأخذ عنوان URL الأساسي وزوج القيمة الرئيسية لمعلمة الاستعلام، وترجع عنوان URL المعدل مع معلمة الاستعلام الملحقة. يجب أن يكون تنسيق معلمة الاستعلام `مفتاح=قيمة`. إذا كان عنوان URL الأساسي يحتوي بالفعل على معلمة استعلام، فيجب إلحاق معلمة الاستعلام الجديدة باستخدام الرمز `&`.

توقيع الوظيفة: `fn add_query_param(base_url: &str, query_param: &str) -> String`

**مدخل**
تأخذ الدالة `add_query_param` معلمتين:
- `base_url` (1 <= |base_url| <= 100): سلسلة تمثل عنوان URL الأساسي بدون أي معلمات استعلام. يحتوي عنوان URL الأساسي فقط على أحرف أبجدية صغيرة وأرقام وأحرف خاصة مثل `:` و`/` و`.`.
- `query_param` (1 <= |query_param| <= 100): سلسلة تمثل زوج المفتاح والقيمة لمعلمة الاستعلام. تحتوي معلمة الاستعلام على حروف أبجدية وأرقام صغيرة فقط. يتم الفصل بين المفتاح والقيمة بعلامة `=`.

**انتاج**
يجب أن تقوم الدالة بإرجاع سلسلة تمثل عنوان URL المعدل مع إضافة معلمة الاستعلام.

**مثال**
```
add_query_param("hm://metadata/3/track", "id=123") => "hm://metadata/3/track?id=123"
add_query_param("hm://metadata/3/track?id=123", "type=audio") => "hm://metadata/3/track?id=123&type=audio"
```

**ملحوظة**
في المثال الأول، لا يحتوي عنوان URL الأساسي على أي معلمة استعلام، لذا يتم إلحاق معلمة الاستعلام `id=123` ببساطة بعنوان URL الأساسي باستخدام `?`. عنوان URL النهائي هو "hm://metadata/3/track?id=123".

في المثال الثاني، يحتوي عنوان URL الأساسي بالفعل على معلمة استعلام `id=123`. لذلك، يتم إلحاق معلمة الاستعلام الجديدة `type=audio` باستخدام الرمز `&`. عنوان URL النهائي هو "hm://metadata/3/track?id=123&type=audio".
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}