import { Injectable, signal } from '@angular/core';

type Lang = 'ar' | 'en';

const DICT: Record<string, { ar: string; en: string }> = {
  brand:        { ar: 'عمليات القاعات', en: 'Banquet Ops' },
  ops_subtitle: { ar: 'مساحة عمل الفريق', en: 'Team workspace' },

  login_title:  { ar: 'تسجيل الدخول', en: 'Sign in' },
  login_sub:    { ar: 'مساحة عمل فريق القاعات', en: 'Banquet operations workspace' },
  username:     { ar: 'اسم المستخدم', en: 'Username' },
  password:     { ar: 'كلمة المرور', en: 'Password' },
  sign_in:      { ar: 'دخول', en: 'Sign in' },
  sign_in_error:{ ar: 'بيانات الدخول غير صحيحة', en: 'Invalid credentials' },
  test_signin:  { ar: 'دخول تجريبي حسب الدور', en: 'Test sign-in by role' },

  nav_dashboard:{ ar: 'لوحة التحكم', en: 'Dashboard' },
  nav_leads:    { ar: 'العملاء المحتملون', en: 'Leads' },
  nav_match:    { ar: 'مطابقة سريعة', en: 'Quick match' },
  nav_maintenance: { ar: 'الصيانة', en: 'Maintenance' },
  nav_assistant:   { ar: 'المساعد الذكي', en: 'Assistant' },
  nav_change_requests: { ar: 'طلبات التعديل', en: 'Change requests' },
  crf_pending:     { ar: 'قيد المراجعة', en: 'Pending' },
  crf_approved:    { ar: 'مقبولة', en: 'Approved' },
  crf_rejected:    { ar: 'مرفوضة', en: 'Rejected' },
  crf_all:         { ar: 'الكل', en: 'All' },
  cr_pending:      { ar: 'قيد المراجعة', en: 'Pending' },
  cr_approved:     { ar: 'مقبول', en: 'Approved' },
  cr_rejected:     { ar: 'مرفوض', en: 'Rejected' },
  approve:         { ar: 'موافقة', en: 'Approve' },
  reject:          { ar: 'رفض', en: 'Reject' },
  note_optional:   { ar: 'ملاحظة (اختياري)', en: 'Note (optional)' },
  // Task acknowledgment
  task_received:   { ar: 'وصلت', en: 'Received' },
  task_read:       { ar: 'تمت القراءة', en: 'Read' },
  task_accepted:   { ar: 'مقبولة', en: 'Accepted' },
  tev_assigned:    { ar: 'تم الإسناد', en: 'Assigned' },
  tev_received:    { ar: 'وصلت', en: 'Received' },
  tev_read:        { ar: 'تمت القراءة', en: 'Read' },
  tev_accepted:    { ar: 'تم القبول', en: 'Accepted' },
  tev_completed:   { ar: 'اكتملت', en: 'Completed' },
  tev_note:        { ar: 'ملاحظة', en: 'Note' },
  assistant_intro: { ar: 'اسألني عن الحجوزات القادمة، الإيرادات، أو المهام المتأخرة.', en: 'Ask me about upcoming bookings, revenue, or overdue tasks.' },
  assistant_placeholder: { ar: 'اكتب سؤالك…', en: 'Type your question…' },
  send:            { ar: 'إرسال', en: 'Send' },
  sugg_today:      { ar: 'ما المناسبات هذا الأسبوع؟', en: "What events are coming up this week?" },
  sugg_revenue:    { ar: 'ما حالة الإيرادات؟', en: 'How is revenue looking?' },
  sugg_overdue:    { ar: 'هل توجد مهام متأخرة؟', en: 'Any overdue tasks?' },
  enable_notifications: { ar: 'تفعيل الإشعارات', en: 'Enable notifications' },
  sign_out:     { ar: 'خروج', en: 'Sign out' },

  // Maintenance
  raise_request:   { ar: 'طلب صيانة', en: 'Raise request' },
  no_requests:     { ar: 'لا توجد طلبات.', en: 'No requests.' },
  col_request:     { ar: 'الطلب', en: 'Request' },
  col_priority:    { ar: 'الأولوية', en: 'Priority' },
  col_due:         { ar: 'الاستحقاق', en: 'Due' },
  category:        { ar: 'الفئة', en: 'Category' },
  description:      { ar: 'الوصف', en: 'Description' },
  details:         { ar: 'التفاصيل', en: 'Details' },
  move_to:         { ar: 'نقل إلى', en: 'Move to' },
  add_comment:     { ar: 'إضافة تعليق…', en: 'Add a comment…' },
  update_trail:    { ar: 'سجل التحديثات', en: 'Update trail' },
  mf_open:         { ar: 'مفتوحة', en: 'Open' },
  mf_submitted:    { ar: 'مُقدَّمة', en: 'Submitted' },
  mf_in_progress:  { ar: 'قيد التنفيذ', en: 'In progress' },
  mf_resolved:     { ar: 'تم الحل', en: 'Resolved' },
  mf_all:          { ar: 'الكل', en: 'All' },
  prio_low:        { ar: 'منخفضة', en: 'Low' },
  prio_medium:     { ar: 'متوسطة', en: 'Medium' },
  prio_high:       { ar: 'عالية', en: 'High' },
  prio_urgent:     { ar: 'عاجلة', en: 'Urgent' },
  mcat_electrical: { ar: 'كهرباء', en: 'Electrical' },
  mcat_plumbing:   { ar: 'سباكة', en: 'Plumbing' },
  mcat_hvac:       { ar: 'تكييف', en: 'HVAC' },
  mcat_furniture:  { ar: 'أثاث', en: 'Furniture' },
  mcat_av:         { ar: 'صوتيات', en: 'Audio/Visual' },
  mcat_structural: { ar: 'إنشائي', en: 'Structural' },
  mcat_cleaning:   { ar: 'نظافة', en: 'Cleaning' },
  mcat_other:      { ar: 'أخرى', en: 'Other' },
  mst_submitted:   { ar: 'مُقدَّم', en: 'Submitted' },
  mst_reviewed:    { ar: 'تمت المراجعة', en: 'Reviewed' },
  mst_assigned:    { ar: 'مُسنَد', en: 'Assigned' },
  mst_in_progress: { ar: 'قيد التنفيذ', en: 'In progress' },
  mst_resolved:    { ar: 'تم الحل', en: 'Resolved' },
  mst_verified:    { ar: 'تم التحقق', en: 'Verified' },
  mst_cancelled:   { ar: 'ملغي', en: 'Cancelled' },

  dash_title:   { ar: 'نظرة عامة', en: 'Overview' },
  kpi_leads:    { ar: 'العملاء المحتملون', en: 'Leads' },
  kpi_bookings: { ar: 'الحجوزات', en: 'Bookings' },
  kpi_visits:   { ar: 'زيارات قادمة', en: 'Upcoming visits' },
  kpi_halls:    { ar: 'القاعات', en: 'Active halls' },
  kpi_venues:   { ar: 'الفروع', en: 'Venues' },
  kpi_open_tasks:  { ar: 'مهام مفتوحة', en: 'Open tasks' },
  kpi_overdue:     { ar: 'مهام متأخرة', en: 'Overdue tasks' },
  kpi_assets:      { ar: 'الأصول', en: 'Assets' },
  kpi_maintenance: { ar: 'في الصيانة', en: 'In maintenance' },
  pipeline:     { ar: 'مسار العملاء حسب المرحلة', en: 'Pipeline by stage' },
  rev_invoiced:    { ar: 'إجمالي الفواتير', en: 'Invoiced' },
  rev_collected:   { ar: 'المحصّل', en: 'Collected' },
  rev_due:         { ar: 'المستحق', en: 'Outstanding' },
  rev_collected_pct: { ar: 'تم تحصيله', en: 'collected' },
  grand_total:     { ar: 'الإجمالي الكلي', en: 'Grand total' },
  swaps:           { ar: 'الاستبدالات', en: 'Swaps' },
  extras:          { ar: 'إضافات الباقة', en: 'Package extras' },
  addons_label:    { ar: 'الإضافات', en: 'Add-ons' },
  upcoming_events: { ar: 'المناسبات القادمة', en: 'Upcoming events' },
  no_upcoming:     { ar: 'لا توجد مناسبات قادمة.', en: 'No upcoming events.' },
  guests:          { ar: 'ضيف', en: 'guests' },

  leads_title:  { ar: 'العملاء المحتملون', en: 'Leads' },
  all_stages:   { ar: 'كل المراحل', en: 'All stages' },
  col_contact:  { ar: 'العميل', en: 'Contact' },
  col_event:    { ar: 'المناسبة', en: 'Event' },
  col_guests:   { ar: 'الضيوف', en: 'Guests' },
  col_budget:   { ar: 'الميزانية', en: 'Budget' },
  col_stage:    { ar: 'المرحلة', en: 'Stage' },
  col_created:  { ar: 'التاريخ', en: 'Created' },
  no_leads:     { ar: 'لا يوجد عملاء محتملون بعد.', en: 'No leads yet.' },

  lead_title:   { ar: 'تفاصيل العميل', en: 'Lead detail' },
  back_to_leads:{ ar: 'العودة للقائمة', en: 'Back to leads' },
  contact:      { ar: 'بيانات التواصل', en: 'Contact' },
  selected_halls:{ ar: 'القاعات المختارة', en: 'Selected halls' },
  visits:       { ar: 'الزيارات', en: 'Visits' },
  no_halls:     { ar: 'لم يتم اختيار قاعات.', en: 'No halls selected.' },
  no_visits:    { ar: 'لا توجد زيارات.', en: 'No visits.' },
  dates:        { ar: 'التواريخ المقترحة', en: 'Candidate dates' },
  flexible:     { ar: 'مرن', en: 'Flexible' },

  match_title:  { ar: 'مطابقة القاعات', en: 'Hall matching' },
  match_sub:    { ar: 'أدخل متطلبات العميل لعرض القاعات المناسبة (للاستفسارات الهاتفية والزيارات).', en: 'Enter the client requirements to suggest halls (for walk-ins & phone inquiries).' },
  attendees:    { ar: 'عدد الضيوف', en: 'Attendees' },
  fnb_level:    { ar: 'الضيافة', en: 'F&B level' },
  venue_type:   { ar: 'نوع القاعة', en: 'Venue type' },
  area:         { ar: 'المنطقة', en: 'Area' },
  budget:       { ar: 'الميزانية', en: 'Budget' },
  run_match:    { ar: 'ابحث عن القاعات', en: 'Find halls' },
  matched_of:   { ar: 'مطابقة من', en: 'matches of' },
  halls:        { ar: 'قاعات', en: 'halls' },
  at_threshold: { ar: 'عند حد', en: 'at threshold' },
  match_badge:  { ar: 'مطابقة', en: 'Match' },
  below:        { ar: 'أقل من الحد', en: 'Below threshold' },
  why_not:      { ar: 'ملاحظات', en: 'Notes' },
  capacity:     { ar: 'السعة', en: 'Capacity' },
  from:         { ar: 'من', en: 'from' },
  please_select:{ ar: 'اختر', en: 'Select' },

  loading:      { ar: 'جارٍ التحميل…', en: 'Loading…' },
  currency:     { ar: 'ج.م', en: 'EGP' },
  processing:   { ar: 'جارٍ المعالجة…', en: 'Processing…' },

  // Booking / money path
  convert_to_booking: { ar: 'تحويل إلى حجز', en: 'Convert to booking' },
  event_date:    { ar: 'تاريخ المناسبة', en: 'Event date' },
  booking:       { ar: 'الحجز', en: 'Booking' },
  back_to_lead:  { ar: 'العودة للعميل', en: 'Back to lead' },
  confirm_booking:{ ar: 'تأكيد الحجز وإصدار الفاتورة', en: 'Confirm booking & invoice' },
  confirmed:     { ar: 'مؤكد', en: 'Confirmed' },
  tentative:     { ar: 'مبدئي', en: 'Tentative' },
  confirm_to_invoice: { ar: 'أكّد الحجز لإصدار الفاتورة.', en: 'Confirm the booking to raise the invoice.' },
  // Lifecycle statuses
  st_tentative:  { ar: 'مبدئي', en: 'Tentative' },
  st_confirmed:  { ar: 'مؤكد', en: 'Confirmed' },
  st_contracted: { ar: 'متعاقد', en: 'Contracted' },
  st_completed:  { ar: 'مكتمل', en: 'Completed' },
  st_cancelled:  { ar: 'ملغي', en: 'Cancelled' },
  st_inquiry:    { ar: 'استفسار', en: 'Inquiry' },
  st_hold:       { ar: 'محجوز مؤقتاً', en: 'Hold' },
  // Lifecycle actions
  contract_booking: { ar: 'تحويل إلى متعاقد', en: 'Mark contracted' },
  complete_booking: { ar: 'إنهاء الحجز', en: 'Mark completed' },
  reschedule_booking: { ar: 'إعادة جدولة', en: 'Reschedule' },
  cancel_booking:   { ar: 'إلغاء الحجز', en: 'Cancel booking' },
  // Payment schedule
  payment_schedule: { ar: 'جدول الدفعات', en: 'Payment schedule' },
  deposit:       { ar: 'العربون', en: 'Deposit' },
  ps_pending:    { ar: 'مستحقة', en: 'Pending' },
  ps_partial:    { ar: 'جزئية', en: 'Partial' },
  ps_paid:       { ar: 'مدفوعة', en: 'Paid' },
  ps_overdue:    { ar: 'متأخرة', en: 'Overdue' },
  ps_cancelled:  { ar: 'ملغاة', en: 'Cancelled' },
  // Cancel / reschedule
  days_to_event: { ar: 'الأيام حتى الحدث', en: 'Days to event' },
  penalty_percent: { ar: 'نسبة الغرامة', en: 'Penalty %' },
  penalty_amount:  { ar: 'الغرامة المحتجزة', en: 'Penalty (retained)' },
  refund_amount:   { ar: 'المبلغ المسترد', en: 'Refund' },
  cancellation_reason: { ar: 'السبب', en: 'Reason' },
  override_penalty: { ar: 'تجاوز نسبة الغرامة %', en: 'Override penalty %' },
  rebooking_fee:   { ar: 'رسوم إعادة الحجز', en: 'Rebooking fee' },
  new_event_date:  { ar: 'تاريخ الحدث الجديد', en: 'New event date' },
  close:           { ar: 'إغلاق', en: 'Close' },
  // Documents
  documents:       { ar: 'المستندات', en: 'Documents' },
  no_documents:    { ar: 'لا توجد مستندات بعد.', en: 'No documents yet.' },
  doc_contract:    { ar: 'العقد', en: 'Contract' },
  doc_beo:         { ar: 'أمر التشغيل', en: 'Event Order (BEO)' },
  doc_run_sheet:   { ar: 'جدول التشغيل', en: 'Run sheet' },
  doc_proposal:    { ar: 'العرض', en: 'Proposal' },
  doc_visit_summary: { ar: 'ملخص الزيارة', en: 'Visit summary' },
  view:            { ar: 'عرض', en: 'View' },
  accepted:        { ar: 'مقبول', en: 'Accepted' },
  // Quality control
  qc:              { ar: 'ضبط الجودة', en: 'Quality control' },
  qc_pass:         { ar: 'مطابق', en: 'Pass' },
  qc_fail:         { ar: 'غير مطابق', en: 'Fail' },
  qc_na:           { ar: 'لا ينطبق', en: 'N/A' },
  qc_passed:       { ar: 'ناجح', en: 'Passed' },
  qc_failed:       { ar: 'راسب', en: 'Failed' },
  start_inspection:{ ar: 'بدء الفحص', en: 'Start inspection' },
  save_inspection: { ar: 'حفظ الفحص', en: 'Save inspection' },
  qc_reason:       { ar: 'السبب', en: 'Reason' },
  record_voice:    { ar: 'تسجيل صوتي', en: 'Record voice' },
  stop:            { ar: 'إيقاف', en: 'Stop' },
  mic_denied:      { ar: 'تعذّر الوصول للميكروفون', en: 'Microphone access denied' },
  qcev_started:    { ar: 'بدأ الفحص', en: 'Started' },
  qcev_submitted:  { ar: 'تم الإرسال', en: 'Submitted' },
  qcev_voice:      { ar: 'ملاحظة صوتية', en: 'Voice note' },
  qcev_note:       { ar: 'ملاحظة', en: 'Note' },
  invoice:       { ar: 'الفاتورة', en: 'Invoice' },
  invoice_no:    { ar: 'رقم الفاتورة', en: 'Invoice no.' },
  total:         { ar: 'الإجمالي', en: 'Total' },
  paid:          { ar: 'المدفوع', en: 'Paid' },
  due:           { ar: 'المتبقي', en: 'Due' },
  payment_status:{ ar: 'حالة الدفع', en: 'Payment status' },
  record_payment:{ ar: 'تسجيل دفعة', en: 'Record payment' },
  amount:        { ar: 'المبلغ', en: 'Amount' },
  method:        { ar: 'طريقة الدفع', en: 'Method' },
  m_cash:        { ar: 'نقدًا', en: 'Cash' },
  m_bank:        { ar: 'تحويل بنكي', en: 'Bank transfer' },
  m_card:        { ar: 'بطاقة', en: 'Card' },
  add_payment:   { ar: 'إضافة دفعة', en: 'Add payment' },
  tasks:         { ar: 'المهام', en: 'Tasks' },
  no_tasks:      { ar: 'لا توجد مهام بعد. أكّد الحجز لإنشائها تلقائياً.', en: 'No tasks yet. Confirm the booking to auto-generate them.' },
  mark_done:     { ar: 'إنهاء', en: 'Mark done' },
  due_label:     { ar: 'الاستحقاق', en: 'Due' },

  // Operations / tasks board
  nav_tasks:        { ar: 'المهام', en: 'Tasks' },
  ops_title:        { ar: 'لوحة العمليات', en: 'Operations board' },
  task_open:        { ar: 'مفتوحة', en: 'Open' },
  task_done:        { ar: 'منجزة', en: 'Done' },
  task_all:         { ar: 'الكل', en: 'All' },
  all_departments:  { ar: 'كل الأقسام', en: 'All departments' },
  dept_finance:     { ar: 'المالية', en: 'Finance' },
  dept_sales:       { ar: 'المبيعات', en: 'Sales' },
  dept_kitchen:     { ar: 'المطبخ', en: 'Kitchen' },
  dept_logistics:   { ar: 'اللوجستيات', en: 'Logistics' },
  dept_operations:  { ar: 'العمليات', en: 'Operations' },
  overdue:          { ar: 'متأخرة', en: 'Overdue' },

  // Asset register
  nav_assets:       { ar: 'الأصول', en: 'Assets' },
  search_assets:    { ar: 'بحث بالكود أو الاسم…', en: 'Search code or name…' },
  all_statuses:     { ar: 'كل الحالات', en: 'All statuses' },
  all_categories:   { ar: 'كل الفئات', en: 'All categories' },
  no_assets:        { ar: 'لا توجد أصول.', en: 'No assets found.' },
  col_code:         { ar: 'الكود', en: 'Code' },
  col_asset:        { ar: 'الأصل', en: 'Asset' },
  col_category:     { ar: 'الفئة', en: 'Category' },
  col_qty:          { ar: 'الكمية', en: 'Qty' },
  col_location:     { ar: 'الموقع', en: 'Location' },
  col_condition:    { ar: 'الحالة الفنية', en: 'Condition' },
  col_status:       { ar: 'الحالة', en: 'Status' },
  ast_available:    { ar: 'متاح', en: 'Available' },
  ast_in_use:       { ar: 'قيد الاستخدام', en: 'In use' },
  ast_maintenance:  { ar: 'صيانة', en: 'Maintenance' },
  ast_retired:      { ar: 'مسحوب', en: 'Retired' },
  cond_good:        { ar: 'جيدة', en: 'Good' },
  cond_fair:        { ar: 'مقبولة', en: 'Fair' },
  cond_worn:        { ar: 'مهترئة', en: 'Worn' },
  cond_damaged:     { ar: 'تالفة', en: 'Damaged' },
  cond_retired:     { ar: 'مسحوبة', en: 'Retired' },
  relocate:         { ar: 'نقل', en: 'Relocate' },
  history:          { ar: 'السجل', en: 'History' },
  no_history:       { ar: 'لا يوجد سجل حركة.', en: 'No movement history.' },
  reason:           { ar: 'السبب', en: 'Reason' },
  current:          { ar: 'الحالي', en: 'Current' },
  cancel:           { ar: 'إلغاء', en: 'Cancel' },
  confirm:          { ar: 'تأكيد', en: 'Confirm' },
  notes:            { ar: 'ملاحظات', en: 'Notes' },

  // Office visits
  nav_visits:       { ar: 'الزيارات', en: 'Visits' },
  col_when:         { ar: 'الموعد', en: 'When' },
  col_client:       { ar: 'العميل', en: 'Client' },
  vis_upcoming:     { ar: 'القادمة', en: 'Upcoming' },
  vis_all:          { ar: 'الكل', en: 'All' },
  vis_requested:    { ar: 'مطلوبة', en: 'Requested' },
  vis_scheduled:    { ar: 'مجدولة', en: 'Scheduled' },
  vis_confirmed:    { ar: 'مؤكدة', en: 'Confirmed' },
  vis_done:         { ar: 'تمت', en: 'Done' },
  vis_cancelled:    { ar: 'ملغاة', en: 'Cancelled' },

  // Transfers
  nav_transfers: { ar: 'التحويلات', en: 'Transfers' },
  new_transfer:  { ar: 'تحويل جديد', en: 'New transfer' },
  to_hall:       { ar: 'إلى قاعة', en: 'To hall' },
  item_name:     { ar: 'الصنف', en: 'Item' },
  kind:          { ar: 'النوع', en: 'Kind' },
  consumable:    { ar: 'مستهلك', en: 'Consumable' },
  asset:         { ar: 'أصل', en: 'Asset' },
  select_asset:  { ar: 'اختر أصلاً مسجلاً…', en: 'Select a registered asset…' },
  quantity:      { ar: 'الكمية', en: 'Qty' },
  add_item:      { ar: '+ صنف', en: '+ Item' },
  submit_request:{ ar: 'إرسال الطلب', en: 'Submit request' },
  accept_transfer:{ ar: 'استلام التحويل', en: 'Accept transfer' },
  accept:        { ar: 'استلام', en: 'Accept' },
  accepted_qty:  { ar: 'الكمية المستلمة', en: 'Accepted qty' },
  condition:     { ar: 'الحالة', en: 'Condition' },
  c_good:        { ar: 'سليم', en: 'Good' },
  c_short:       { ar: 'ناقص', en: 'Short' },
  c_damaged:     { ar: 'تالف', en: 'Damaged' },
  no_transfers:  { ar: 'لا توجد تحويلات.', en: 'No transfers.' },
  confirm_accept:{ ar: 'تأكيد الاستلام', en: 'Confirm acceptance' },
  items_word:    { ar: 'أصناف', en: 'items' },
  requested_word:{ ar: 'مطلوب', en: 'requested' },
  back_to_transfers: { ar: 'العودة للتحويلات', en: 'Back to transfers' },
  tr_requested:  { ar: 'مطلوب', en: 'Requested' },
  tr_accepted:   { ar: 'تم الاستلام', en: 'Accepted' },
  tr_rejected:   { ar: 'مرفوض', en: 'Rejected' },
  tr_cancelled:  { ar: 'ملغي', en: 'Cancelled' },

  st_wizard_incomplete:          { ar: 'المعالج — غير مكتمل', en: 'Wizard — incomplete' },
  st_wizard_complete:            { ar: 'المعالج — مكتمل', en: 'Wizard — complete' },
  st_qualified_awaiting_contact: { ar: 'مؤهل — بانتظار التواصل', en: 'Qualified — awaiting contact' },
  st_contacted:                  { ar: 'تم التواصل', en: 'Contacted' },
  st_proposal_sent:              { ar: 'تم إرسال العرض', en: 'Proposal sent' },
  st_negotiation:                { ar: 'تفاوض', en: 'Negotiation' },
  st_won:                        { ar: 'تم الكسب', en: 'Won' },
  st_lost:                       { ar: 'خسارة', en: 'Lost' },
};

@Injectable({ providedIn: 'root' })
export class LangService {
  readonly lang = signal<Lang>('ar');

  constructor() { this.apply(this.lang()); }

  t(key: string): string { const e = DICT[key]; return e ? e[this.lang()] : key; }
  stage(code: string): string { return this.t('st_' + code); }
  money(n: number): string {
    return new Intl.NumberFormat(this.lang() === 'ar' ? 'ar-EG' : 'en-EG').format(n || 0) + ' ' + this.t('currency');
  }
  toggle(): void { this.set(this.lang() === 'ar' ? 'en' : 'ar'); }
  set(l: Lang): void { this.lang.set(l); this.apply(l); }
  private apply(l: Lang): void { const h = document.documentElement; h.lang = l; h.dir = l === 'ar' ? 'rtl' : 'ltr'; }
}
