--- tags: - sentence-transformers - sentence-similarity - feature-extraction - dense - generated_from_trainer - dataset_size:1492298 - loss:TripletLoss base_model: Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-V2 widget: - source_sentence: لكن حيث أن القرار المطعون فيه يحمل دليل شرعيته وقانونيته وأنه من المؤكد أنه قد صدر بعد أن أعطيت الكلمة الأخيرة للمتهم وفق ما تنص عليه أحكام المادة 04/431 من قانون الإجراءات الجزائية وعليه كان على الطاعن إن لم يتم هذا الإجراء الجوهري أن يقدم ما يثبت ذلك واعتبارا أنه لم يفعل يتعين رفض هذا الوجه ورفض الطعن معه. sentences: - دليل كتابي - تبديد - اغفال - source_sentence: 'حيث ولكن فإن المادة 355 من قانون الإجراءات الجزائية تنص " يجب أن يصدر الحكم في جلسة علنية التي سمعت فيها المرافعات وإما بتاريخ لاحق ، وفي الحالة الأخيرة يخبر الرئيس أطرف الدعوى الحاضرين باليوم الذي سينطق فيه بالحكم وعند النطق بالحكم يتحقق الرئيس من جديد من حضور الأطراف أو غيابهم ". وحيث أنه يتضح من مفهوم هذه المادة أنها خاصة بأطراف الدعوى وصدور الحكم غيابي أو إعتباري أو حضوري غير وجاهي للبدء في حساب آجال الطعن وأما وأن النيابة حاضرة في جميع الجلسات فإن إثارة مثل هذا الوجه يكون غير جدى ومع ذلك فإنه بالإطلاع على القرار المطعون فيه يتضح بأن قضاة المجلس قد تقيدوا بما تقتضيه المادة 355 من قانون الإجراءات الجزائية و لا مخالفة للقانون مما يتعين إعتبار الوجه المثار غير سديد وبالتالي رفضه ومنه رفض الطعن موضوعا.' sentences: - اغفال - علانية و ضبط الجلسة - حساب - source_sentence: لكن حيث أن عدم إشارة القرار المطعون فيه إلى أن الكلمة الأخيرة أعطيت للمتهمين فإن ذلك لا يعني أن قضاة المجلس لم يمكنوهم منها، وكان على الطاعنين إن لم يتم استيفاء هذا الإجراء حقيقة تقديم إشهادا بهذا الخرق, ولكونهم لم يفعلوا ذلك فإن ما يثيرونه غير سديد ويتعين رفضه. sentences: - ضرر - اشهاد - تصريحات شهود - source_sentence: لكن حيث الثابت من القرار المطعون فيه أنه أشار إلى تصريحات المتهم الذي اعترف بما نسب إليه وأن قضاة المجلس مكنوا المتهم من الكلمة الأخيرة ولا يوجد في الملف ما يفيد وانه تقدم بطلبات و تم الإغفال عنها إضافة إلى ذلك فإن الوجه المثار وجه غامض لم يحدد فيه الطاعن ماهية هذه الطلبات مما ينبغي رفض هذا الوجه لعدم تأسيسه. sentences: - اشهاد - شهادة الشهود - ملف الموضوع - source_sentence: 'الفرعان الاول والثاني، لارتباطهما وتداخلهما: لكن حيث ثابت من القرار المطعون فيه تاسيس القضاة قرارهم على المحضر المؤرخ في 06/06/2011 المتضمن تعيين الطاعن كحارس قضائي على العتاد المرهون من طرف القائم بالتنفيذ بعد جرد العتاد بذلك المحضر, ولئن تم ذلك خلال سريان عقد الايجار الذي ابرمه لفائدة المطعون ضده (ح.ع), على اعتبار مدة نهاية الايجار محددة ليوم 30/06/2011, فمن الثابت بذلك المحضر تواجد الطاعن بالمحل بذلك التاريخ وقع على المحضر وتم تعيينه كحارس قضائي على العتاد المرهون دون اي اعتراض يذكر, جاء بالمحضر: ” عرفناه بصفتنا والغرض من مهمتنا وقمنا فورا بجرد العتاد المرهون, وعينا حارسا عليه السيد (ح.ا)”. وحيث الى جانب ذلك اعتمد القضاة على المحضر المؤرخ في 10/08/2011 المتضمن عدم وجود المعدات المرهونة بعد تواجدها من قبل تحت حراسة الطاعن, وبعد حسم القضاء الجزائي في الشكوى الجزائية المقدمة من طرف القرض الشعبي الجزائري ضد المقترض المدين (ح.ع), بتبرئته من تهمة تبديد اموال مرهونة بصفة نهائية, بعد رفض الطعن بالنقض بقرار المحكمة العليا الغرفة الجزائية الصادر بتاريخ 19/01/2017, بسبب عدم تواجدها بحوزته وانما تحت حراسة الطاعن, وتاسيس القضاة قرارهم قانوني, على خلاف مزاعم الطاعن, ومنه الوجه كسابقه غير سديد يرفض, والطعن معا.' sentences: - املاك مرهونة - مسؤولية - حبس مؤقت غير مبرر pipeline_tag: sentence-similarity library_name: sentence-transformers --- # SentenceTransformer based on Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-V2 This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-V2](https://huggingface.co/Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-V2). It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more. ## Model Details ### Model Description - **Model Type:** Sentence Transformer - **Base model:** [Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-V2](https://huggingface.co/Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-V2) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 768 dimensions - **Similarity Function:** Cosine Similarity ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers) - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) ### Full Model Architecture ``` SentenceTransformer( (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'BertModel'}) (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) ) ``` ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-keywords") # Run inference sentences = [ 'الفرعان الاول والثاني، لارتباطهما وتداخلهما:\nلكن حيث ثابت من القرار المطعون فيه تاسيس القضاة قرارهم على المحضر المؤرخ في 06/06/2011 المتضمن تعيين الطاعن كحارس قضائي على العتاد المرهون من طرف القائم بالتنفيذ بعد جرد العتاد بذلك المحضر, ولئن تم ذلك خلال سريان عقد الايجار الذي ابرمه لفائدة المطعون ضده (ح.ع), على اعتبار مدة نهاية الايجار محددة ليوم 30/06/2011, فمن الثابت بذلك المحضر تواجد الطاعن بالمحل بذلك التاريخ وقع على المحضر وتم تعيينه كحارس قضائي على العتاد المرهون دون اي اعتراض يذكر, جاء بالمحضر: ” عرفناه بصفتنا والغرض من مهمتنا وقمنا فورا بجرد العتاد المرهون, وعينا حارسا عليه السيد (ح.ا)”.\nوحيث الى جانب ذلك اعتمد القضاة على المحضر المؤرخ في 10/08/2011 المتضمن عدم وجود المعدات المرهونة بعد تواجدها من قبل تحت حراسة الطاعن, وبعد حسم القضاء الجزائي في الشكوى الجزائية المقدمة من طرف القرض الشعبي الجزائري ضد المقترض المدين (ح.ع), بتبرئته من تهمة تبديد اموال مرهونة بصفة نهائية, بعد رفض الطعن بالنقض بقرار المحكمة العليا الغرفة الجزائية الصادر بتاريخ 19/01/2017, بسبب عدم تواجدها بحوزته وانما تحت حراسة الطاعن, وتاسيس القضاة قرارهم قانوني, على خلاف مزاعم الطاعن, ومنه الوجه كسابقه غير سديد يرفض, والطعن معا.', 'مسؤولية', 'املاك مرهونة', ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 768] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities) # tensor([[ 1.0000, 0.2289, 0.4968], # [ 0.2289, 1.0000, -0.0607], # [ 0.4968, -0.0607, 1.0000]]) ``` ## Training Details ### Training Dataset #### Unnamed Dataset * Size: 1,492,298 training samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:-------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------|:---------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------|:-------------------| | حيث انه من المقرر قانون طبقا للمادة 207 من قانون الاجراءات المدنية و الادارية اذا وﺟـــد ارﺗــــﺒـــﺎط ﺑــــين خصومتين او اكثر معروضة اﻣـﺎم ﻧـﻔس اﻟﻘـﺎﺿي ﺟـﺎز ﻟﻪ ولحسن ﺳـﻴﺮ العدالة ضمها من تلقاء نفسه او بطلب من الخصوم و الفصل فيهما بحكم واحد.
حيث ثبت للجنة ان القضية رقم 9536/19 مرتبطة بالقضية رقم 9484/19 لاتحاد الاطراف و الطلب و لحسن العدالة يتعين ضمهما للحكم فيهما بقرار واحد.
| لجنة التعويض | تعويض | | حيث انه من المقرر قانون طبقا للمادة 207 من قانون الاجراءات المدنية و الادارية اذا وﺟـــد ارﺗــــﺒـــﺎط ﺑــــين خصومتين او اكثر معروضة اﻣـﺎم ﻧـﻔس اﻟﻘـﺎﺿي ﺟـﺎز ﻟﻪ ولحسن ﺳـﻴﺮ العدالة ضمها من تلقاء نفسه او بطلب من الخصوم و الفصل فيهما بحكم واحد.
حيث ثبت للجنة ان القضية رقم 9536/19 مرتبطة بالقضية رقم 9484/19 لاتحاد الاطراف و الطلب و لحسن العدالة يتعين ضمهما للحكم فيهما بقرار واحد.
| لجنة التعويض | ضم | | حيث انه من المقرر قانون طبقا للمادة 207 من قانون الاجراءات المدنية و الادارية اذا وﺟـــد ارﺗــــﺒـــﺎط ﺑــــين خصومتين او اكثر معروضة اﻣـﺎم ﻧـﻔس اﻟﻘـﺎﺿي ﺟـﺎز ﻟﻪ ولحسن ﺳـﻴﺮ العدالة ضمها من تلقاء نفسه او بطلب من الخصوم و الفصل فيهما بحكم واحد.
حيث ثبت للجنة ان القضية رقم 9536/19 مرتبطة بالقضية رقم 9484/19 لاتحاد الاطراف و الطلب و لحسن العدالة يتعين ضمهما للحكم فيهما بقرار واحد.
| لجنة التعويض | رقم | * Loss: [TripletLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#tripletloss) with these parameters: ```json { "distance_metric": "TripletDistanceMetric.COSINE", "triplet_margin": 0.4 } ``` ### Evaluation Dataset #### Unnamed Dataset * Size: 761,183 evaluation samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:-------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------|:---------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------|:------------------------| | و بناءا على طعن النائب العام رفضته المحكمة العليا موضوعا بقرارها المؤرخ في 20/03/2019. و اضاف بانه كان يقيم بفرنسا و له راتبا شهريا يقدر بـ 1200 يورو و بسبب ايداعه الحبس من 17/01/2017 الى 10/11/2017 فانه فقد عمله و توقف راتبه لمدة تعادل 33 شهر بما يعادل 42900 يورو. كما تعرض اثناء تواجده بالمؤسسة العقابية لانهيار عصبي و اغمي عليه مرتين . و ان من نتائج متابعته حجز سيارته من تاريخ 08/01/2017 الى غاية 04/06/2019 و قد دفع لادارة الجمارك مبلغ 25000 دج تكاليف المحشر كما دفع مبلغ 112000 دج ثمن تغيير عجلاتها الاربعة و مبلغ 60000 دج اتعاب المحامي الاول الاستاذ مرسلي و مبلغ 20000 دج اتعاب المحامية قرماط حياة.و عليه فانه يلتمس تعويضه مبلغ 6.000.000 دج تعويضا ماديا عن مدة وضعه تحت النظر و الحبس الاحتياطي و مبلغ 8.000.000 دج تعويض عن حرمانه من اجرته و الاضرار اللاحقة باسرته من جراء معانتها بسبب حبس معيلها الوحيد. | حبس مؤقت غير مبرر | تعويض مادي | | و بناءا على طعن النائب العام رفضته المحكمة العليا موضوعا بقرارها المؤرخ في 20/03/2019. و اضاف بانه كان يقيم بفرنسا و له راتبا شهريا يقدر بـ 1200 يورو و بسبب ايداعه الحبس من 17/01/2017 الى 10/11/2017 فانه فقد عمله و توقف راتبه لمدة تعادل 33 شهر بما يعادل 42900 يورو. كما تعرض اثناء تواجده بالمؤسسة العقابية لانهيار عصبي و اغمي عليه مرتين . و ان من نتائج متابعته حجز سيارته من تاريخ 08/01/2017 الى غاية 04/06/2019 و قد دفع لادارة الجمارك مبلغ 25000 دج تكاليف المحشر كما دفع مبلغ 112000 دج ثمن تغيير عجلاتها الاربعة و مبلغ 60000 دج اتعاب المحامي الاول الاستاذ مرسلي و مبلغ 20000 دج اتعاب المحامية قرماط حياة.و عليه فانه يلتمس تعويضه مبلغ 6.000.000 دج تعويضا ماديا عن مدة وضعه تحت النظر و الحبس الاحتياطي و مبلغ 8.000.000 دج تعويض عن حرمانه من اجرته و الاضرار اللاحقة باسرته من جراء معانتها بسبب حبس معيلها الوحيد. | حبس مؤقت غير مبرر | حبس | | و بناءا على طعن النائب العام رفضته المحكمة العليا موضوعا بقرارها المؤرخ في 20/03/2019. و اضاف بانه كان يقيم بفرنسا و له راتبا شهريا يقدر بـ 1200 يورو و بسبب ايداعه الحبس من 17/01/2017 الى 10/11/2017 فانه فقد عمله و توقف راتبه لمدة تعادل 33 شهر بما يعادل 42900 يورو. كما تعرض اثناء تواجده بالمؤسسة العقابية لانهيار عصبي و اغمي عليه مرتين . و ان من نتائج متابعته حجز سيارته من تاريخ 08/01/2017 الى غاية 04/06/2019 و قد دفع لادارة الجمارك مبلغ 25000 دج تكاليف المحشر كما دفع مبلغ 112000 دج ثمن تغيير عجلاتها الاربعة و مبلغ 60000 دج اتعاب المحامي الاول الاستاذ مرسلي و مبلغ 20000 دج اتعاب المحامية قرماط حياة.و عليه فانه يلتمس تعويضه مبلغ 6.000.000 دج تعويضا ماديا عن مدة وضعه تحت النظر و الحبس الاحتياطي و مبلغ 8.000.000 دج تعويض عن حرمانه من اجرته و الاضرار اللاحقة باسرته من جراء معانتها بسبب حبس معيلها الوحيد. | حبس مؤقت غير مبرر | حبس مؤقت | * Loss: [TripletLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#tripletloss) with these parameters: ```json { "distance_metric": "TripletDistanceMetric.COSINE", "triplet_margin": 0.4 } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: steps - `per_device_train_batch_size`: 640 - `per_device_eval_batch_size`: 256 - `learning_rate`: 2e-05 - `num_train_epochs`: 13 - `warmup_ratio`: 0.1 - `bf16`: True - `load_best_model_at_end`: True - `push_to_hub`: True - `hub_model_id`: Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-keywords #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `eval_strategy`: steps - `prediction_loss_only`: True - `per_device_train_batch_size`: 640 - `per_device_eval_batch_size`: 256 - `per_gpu_train_batch_size`: None - `per_gpu_eval_batch_size`: None - `gradient_accumulation_steps`: 1 - `eval_accumulation_steps`: None - `torch_empty_cache_steps`: None - `learning_rate`: 2e-05 - `weight_decay`: 0.0 - `adam_beta1`: 0.9 - `adam_beta2`: 0.999 - `adam_epsilon`: 1e-08 - `max_grad_norm`: 1.0 - `num_train_epochs`: 13 - `max_steps`: -1 - `lr_scheduler_type`: linear - `lr_scheduler_kwargs`: {} - `warmup_ratio`: 0.1 - `warmup_steps`: 0 - `log_level`: passive - `log_level_replica`: warning - `log_on_each_node`: True - `logging_nan_inf_filter`: True - `save_safetensors`: True - `save_on_each_node`: False - `save_only_model`: False - `restore_callback_states_from_checkpoint`: False - `no_cuda`: False - `use_cpu`: False - `use_mps_device`: False - `seed`: 42 - `data_seed`: None - `jit_mode_eval`: False - `bf16`: True - `fp16`: False - `fp16_opt_level`: O1 - `half_precision_backend`: auto - `bf16_full_eval`: False - `fp16_full_eval`: False - `tf32`: None - `local_rank`: 0 - `ddp_backend`: None - `tpu_num_cores`: None - `tpu_metrics_debug`: False - `debug`: [] - `dataloader_drop_last`: False - `dataloader_num_workers`: 0 - `dataloader_prefetch_factor`: None - `past_index`: -1 - `disable_tqdm`: False - `remove_unused_columns`: True - `label_names`: None - `load_best_model_at_end`: True - `ignore_data_skip`: False - `fsdp`: [] - `fsdp_min_num_params`: 0 - `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False} - `fsdp_transformer_layer_cls_to_wrap`: None - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None} - `parallelism_config`: None - `deepspeed`: None - `label_smoothing_factor`: 0.0 - `optim`: adamw_torch_fused - `optim_args`: None - `adafactor`: False - `group_by_length`: False - `length_column_name`: length - `project`: huggingface - `trackio_space_id`: trackio - `ddp_find_unused_parameters`: None - `ddp_bucket_cap_mb`: None - `ddp_broadcast_buffers`: False - `dataloader_pin_memory`: True - `dataloader_persistent_workers`: False - `skip_memory_metrics`: True - `use_legacy_prediction_loop`: False - `push_to_hub`: True - `resume_from_checkpoint`: None - `hub_model_id`: Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-keywords - `hub_strategy`: every_save - `hub_private_repo`: None - `hub_always_push`: False - `hub_revision`: None - `gradient_checkpointing`: False - `gradient_checkpointing_kwargs`: None - `include_inputs_for_metrics`: False - `include_for_metrics`: [] - `eval_do_concat_batches`: True - `fp16_backend`: auto - `push_to_hub_model_id`: None - `push_to_hub_organization`: None - `mp_parameters`: - `auto_find_batch_size`: False - `full_determinism`: False - `torchdynamo`: None - `ray_scope`: last - `ddp_timeout`: 1800 - `torch_compile`: False - `torch_compile_backend`: None - `torch_compile_mode`: None - `include_tokens_per_second`: False - `include_num_input_tokens_seen`: no - `neftune_noise_alpha`: None - `optim_target_modules`: None - `batch_eval_metrics`: False - `eval_on_start`: False - `use_liger_kernel`: False - `liger_kernel_config`: None - `eval_use_gather_object`: False - `average_tokens_across_devices`: True - `prompts`: None - `batch_sampler`: batch_sampler - `multi_dataset_batch_sampler`: proportional - `router_mapping`: {} - `learning_rate_mapping`: {}
### Training Logs | Epoch | Step | Training Loss | Validation Loss | |:------:|:----:|:-------------:|:---------------:| | 0.0858 | 200 | 0.366 | 0.3163 | | 0.1715 | 400 | 0.2585 | 0.1926 | | 0.2573 | 600 | 0.1777 | 0.1495 | | 0.3431 | 800 | 0.1472 | 0.1334 | | 0.4288 | 1000 | 0.1318 | 0.1234 | | 0.5146 | 1200 | 0.1221 | 0.1177 | | 0.6003 | 1400 | 0.1135 | 0.1124 | | 0.6861 | 1600 | 0.1064 | 0.1088 | | 0.7719 | 1800 | 0.1011 | 0.1055 | | 0.8576 | 2000 | 0.0952 | 0.1036 | | 0.9434 | 2200 | 0.0906 | 0.1005 | | 1.0292 | 2400 | 0.0842 | 0.0998 | | 1.1149 | 2600 | 0.0789 | 0.0978 | | 1.2007 | 2800 | 0.0741 | 0.0959 | | 1.2864 | 3000 | 0.0709 | 0.0966 | | 1.3722 | 3200 | 0.0661 | 0.0959 | | 1.4580 | 3400 | 0.0632 | 0.0952 | | 1.5437 | 3600 | 0.06 | 0.0943 | | 1.6295 | 3800 | 0.0572 | 0.0929 | ### Framework Versions - Python: 3.12.3 - Sentence Transformers: 5.2.0 - Transformers: 4.57.3 - PyTorch: 2.9.1+cu128 - Accelerate: 1.12.0 - Datasets: 4.4.1 - Tokenizers: 0.22.1 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @inproceedings{reimers-2019-sentence-bert, title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", author = "Reimers, Nils and Gurevych, Iryna", booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", month = "11", year = "2019", publisher = "Association for Computational Linguistics", url = "https://arxiv.org/abs/1908.10084", } ``` #### TripletLoss ```bibtex @misc{hermans2017defense, title={In Defense of the Triplet Loss for Person Re-Identification}, author={Alexander Hermans and Lucas Beyer and Bastian Leibe}, year={2017}, eprint={1703.07737}, archivePrefix={arXiv}, primaryClass={cs.CV} } ```